www.pudn.com > sn068s.zip > PPU.NI


%ifndef SNEeSe_PPU_ni 
%define SNEeSe_PPU_ni 
 
%ifndef SNEeSe_PPU_asm 
 
extern _PPU_text_start,_PPU_data_start,_PPU_bss_start 
extern _Read_Map_20_5F,_Write_Map_20_5F 
extern _Read_Map_21,_Write_Map_21 
extern _Read_Map_40,_Write_Map_40 
extern _Read_Map_42,_Write_Map_42 
extern _Read_Map_43,_Write_Map_43 
extern _WRAM,_VRAM,_VRAM_DI,_SRAM,_SPCRAM,_Blank;,_PortRAM 
 
extern Tile_Recache_Set_Begin,Tile_Recache_Set_End 
extern Mosaic_Size_Select,Mosaic_Size,MOSAIC 
extern _INIDISP,_BGMODE,_Base_BGMODE 
extern _BG12NBA,_BG34NBA 
extern _VMAIN 
extern _W12SEL,_W34SEL,_WOBJSEL,_WBGLOG,_WOBJLOG,_CGWSEL,_CGADSUB 
extern _Win1_Count_In,_Win1_Count_Out,_Win1_Bands_In,_Win1_Bands_Out 
extern _Win2_Count_In,_Win2_Count_Out,_Win2_Bands_In,_Win2_Bands_Out 
extern _WH0,_WH1,_WH2,_WH3 
extern _TM,_TS,_TMW,_TSW 
 
extern _COLDATA 
extern _Current_Line_Timing 
extern _SETINI,STAT78 
extern Redo_BGs,Redo_Offset_Change 
extern SCR_TM,SCR_TS,_Layer_Disable_Mask,_Layering_Mode 
extern BGMODE_Allowed_Layer_Mask,BGMODE_Tile_Layer_Mask 
extern BGMODE_Allowed_Offset_Change 
 
%macro EXTERN_BG_DATA 1 
extern TableBG%1 
extern TileCount1BG%1 
extern TileCount2BG%1 
extern _BGSC%1      ; SC size 
extern DepthBG%1 
extern Redo_BG%1 
extern FirstPixelBG%1 
extern FirstTileBG%1 
 
extern VScroll_%1 
extern HScroll_%1 
extern VLMapAddressBG%1 
extern VRMapAddressBG%1 
 
extern LineRenderBG%1 
extern SetAddressBG%1   ; Address of BG tileset 
extern LMapAddressBG%1 
extern RMapAddressBG%1 
 
extern MapAddressBG%1       ; Screen address of BG 
extern TLMapAddressBG%1 
extern TRMapAddressBG%1 
extern BLMapAddressBG%1 
extern BRMapAddressBG%1 
 
extern TileHeightBG%1 
extern TileWidthBG%1 
extern MosaicBG%1 
extern NBABG%1      ; Unused in BG3/4 
extern NBATableBG%1 ; Unused in BG3/4 
extern M0_Color_BG%1 
extern Priority_Used_BG%1 
extern Priority_Unused_BG%1 
extern OC_Flag_BG%1 ; Unused in BG3/4 
%endmacro 
 
EXTERN_BG_DATA 1 
EXTERN_BG_DATA 2 
EXTERN_BG_DATA 3 
EXTERN_BG_DATA 4 
 
extern _BG1SC,_BG2SC,_BG3SC,_BG4SC 
extern _BG1HOFS,_BG2HOFS,_BG3HOFS,_BG4HOFS 
extern _BG1VOFS,_BG2VOFS,_BG3VOFS,_BG4VOFS 
 
extern Reset_Ports 
extern UPDATE_CONTROLLERS 
extern _Toggle_Offset_Change 
extern _Update_Layering 
extern Redo_8 
%endif 
 
%define Read_21_Address(reg) (_Read_Map_21+(reg)*4) 
%define Write_21_Address(reg) (_Write_Map_21+(reg)*4) 
 
;%1 = address, %2 = handler 
%macro Set_21_Read 2 
 mov dword [Read_21_Address(%1)],(%2) 
%endmacro 
 
%macro Set_21_Write 2 
  mov dword [Write_21_Address(%1)],(%2) 
%endmacro 
 
; Offsets from TableBG# 
%define TileCount1 0 
%define TileCount2 1 
%define BGSC 2 
%define Depth 3 
%define BG_Redo 4 
%define FirstPixel 8 
%define FirstTile 0x0C 
%define VScroll 0x10 
%define HScroll 0x14 
%define VLMapAddress 0x18 
%define VRMapAddress 0x1C 
%define LineRender 0x20 
%define SetAddress 0x24 
;%define LMapAddress 0x28 
;%define RMapAddress 0x2C 
%define MapAddress 0x30 
%define TLMapAddress 0x30 
%define TRMapAddress 0x34 
%define BLMapAddress 0x38 
%define BRMapAddress 0x3C 
%define TileHeight 0x40 
%define TileWidth 0x41 
%define Mosaic 0x42 
%define NBA 0x43 
%define NBATable 0x44 
%define M0_Color 0x48 
%define Priority_Used 0x4C 
%define Priority_Unused 0x4D 
%define OC_Flag 0x4E 
 
%endif ; SNEeSe_PPU_ni