214 lines
7.6 KiB
INI
214 lines
7.6 KiB
INI
|
|
## Standard Stuff
|
|
label { addr $2000; name "PPU_CTRL"; };
|
|
label { addr $2001; name "PPU_MASK"; };
|
|
label { addr $2002; name "PPU_STATUS"; };
|
|
label { addr $2003; name "PPU_OAMADDR"; };
|
|
label { addr $2004; name "PPU_OAMDATA"; };
|
|
label { addr $2005; name "PPU_SCROLL"; };
|
|
label { addr $2006; name "PPU_ADDR"; };
|
|
label { addr $2007; name "PPU_DATA"; };
|
|
|
|
label { addr $4000; name "APU_PULSE1"; size 4; };
|
|
label { addr $4004; name "APU_PULSE2"; size 4; };
|
|
label { addr $4008; name "APU_TRI"; size 4; };
|
|
label { addr $400C; name "APU_NOISE"; size 4; };
|
|
|
|
label { addr $4010; name "DMC_FREQ"; };
|
|
label { addr $4011; name "DMC_RAW"; };
|
|
label { addr $4012; name "DMC_START"; };
|
|
label { addr $4013; name "DMC_LEN"; };
|
|
|
|
label { addr $4014; name "OAM_DMA"; };
|
|
|
|
label { addr $4015; name "APU_STATUS"; };
|
|
|
|
label { addr $4016; name "JOY1"; };
|
|
label { addr $4017; name "JOY2"; };
|
|
|
|
## FDS
|
|
label { addr $4020; name "FDS_IRQ_TIMER"; size 2; };
|
|
label { addr $4022; name "FDS_IRQ_TIMER_CTRL"; };
|
|
label { addr $4023; name "FDS_IO_ENABLE"; };
|
|
label { addr $4024; name "FDS_WRITE_DATA"; };
|
|
label { addr $4025; name "FDS_CTRL"; };
|
|
label { addr $4026; name "FDS_EXT_OUT"; };
|
|
label { addr $4030; name "FDS_STATUS"; };
|
|
label { addr $4031; name "FDS_READ_DATA"; };
|
|
label { addr $4032; name "FDS_DRIVE_STATUS"; };
|
|
label { addr $4033; name "FDS_EXT_IN"; };
|
|
|
|
# Zero-page variables
|
|
label { addr $00; name "FDS_tempzp"; size 16; };
|
|
label { addr $f1; name "FDS_joypad"; size 8; };
|
|
|
|
## Register mirrors
|
|
label { addr $f9; name "FDS_EXT_Mirror"; };
|
|
label { addr $fa; name "FDS_CTRL_Mirror"; };
|
|
label { addr $fb; name "FDS_JOY1_Mirror"; };
|
|
label { addr $fc; name "FDS_Y_SCROLL_Mirror"; };
|
|
label { addr $fd; name "FDS_X_SCROLL_Mirror"; };
|
|
label { addr $fe; name "FDS_PPU_MASK_Mirror"; };
|
|
label { addr $ff; name "FDS_PPU_CTRL_Mirror"; };
|
|
|
|
# Stack
|
|
label { addr $0100; name "FDS_NMI_FLAG"; };
|
|
label { addr $0101; name "FDS_IRQ_FLAG"; };
|
|
label { addr $0102; name "FDS_RESET_FLAG"; };
|
|
label { addr $0103; name "FDS_RESET_TYPE"; };
|
|
|
|
# RAM
|
|
label { addr $0300; name "FDS_VRAMBuffer_Size"; };
|
|
label { addr $0301; name "FDS_VRAMBuffer_End"; };
|
|
label { addr $0302; name "FDS_VRAMBuffer"; size 253; };
|
|
|
|
# Data
|
|
range { start $e000; end $e000; type ByteTable; };
|
|
range { name "FDS_CHRData"; start $e001; end $e148; type ByteTable; };
|
|
range { name "FDS_FDSStr"; start $e6d5; end $e6e2; type TextTable; };
|
|
range { name "FDS_Kyodaku"; start $ed37; end $ee16; type ByteTable; };
|
|
|
|
range { name "FDS_FileList"; start $eff5; end $effe; type ByteTable; };
|
|
range { name "FDS_Unk_Data"; start $efff; end $f0b3; type ByteTable; };
|
|
|
|
range { start $f175; end $f178; type ByteTable; };
|
|
range { start $f2e8; end $f2eb; type ByteTable; };
|
|
range { start $f36e; end $f375; type ByteTable; };
|
|
range { start $f484; end $f48b; type ByteTable; };
|
|
range { start $f56b; end $f5b7; type ByteTable; };
|
|
range { start $f635; end $fe35; type ByteTable; };
|
|
range { start $ff00; end $ff5b; type ByteTable; };
|
|
range { start $ff6f; end $ff7a; type ByteTable; };
|
|
range { start $fff6; end $fff9; type ByteTable; };
|
|
|
|
# Routines
|
|
|
|
## Disk I/O
|
|
label { addr $e1f8; name "FDS_LoadFiles"; paramsize 4; };
|
|
label { addr $e237; name "FDS_AppendFile"; paramsize 4; };
|
|
label { addr $e239; name "FDS_WriteFile"; paramsize 4; };
|
|
label { addr $e2b7; name "FDS_CheckFileCount"; paramsize 2; };
|
|
label { addr $e2bb; name "FDS_AdjustFileCount"; paramsize 2; };
|
|
label { addr $e301; name "FDS_SetFileCount1"; paramsize 2; };
|
|
label { addr $e305; name "FDS_SetFileCount"; paramsize 2; };
|
|
label { addr $e32a; name "FDS_GetDiskInfo"; paramsize 2; };
|
|
|
|
## Low-level disk I/O
|
|
label { addr $e26b; name "FDS_WriteLastFile"; };
|
|
label { addr $e290; name "FDS_CheckLastFile"; };
|
|
|
|
label { addr $e2ab; name "FDS_SetFileCnt"; };
|
|
label { addr $e2f7; name "FDS_GetFileCount"; };
|
|
|
|
label { addr $e3e7; name "FDS_FetchDiskPtrs"; };
|
|
label { addr $e3ea; name "FDS_FetchDiskPtrs_WriteProtectCheck"; };
|
|
|
|
label { addr $e445; name "FDS_CheckDiskHeader"; };
|
|
label { addr $e484; name "FDS_GetNumFiles"; };
|
|
label { addr $e492; name "FDS_SetNumFiles"; };
|
|
label { addr $e4a0; name "FDS_FileMatchTest"; };
|
|
label { addr $e4da; name "FDS_SkipFiles"; };
|
|
|
|
label { addr $e4f9; name "FDS_LoadData"; };
|
|
label { addr $e506; name "FDS_ReadData"; };
|
|
label { addr $e5b5; name "FDS_SaveData"; };
|
|
|
|
label { addr $e64d; name "FDS_WaitForReady"; };
|
|
|
|
label { addr $e685; name "FDS_StopMotor"; };
|
|
label { addr $ee17; name "FDS_StartMotor"; };
|
|
|
|
label { addr $e68f; name "FDS_CheckBlockType"; };
|
|
label { addr $e6b0; name "FDS_WriteBlockType"; };
|
|
|
|
label { addr $e6e3; name "FDS_StartXfer"; };
|
|
|
|
label { addr $e706; name "FDS_EndOfBlockRead"; };
|
|
label { addr $e729; name "FDS_EndOfBlockWrite"; };
|
|
|
|
label { addr $e74c; name "FDS_CheckDiskSet"; };
|
|
|
|
label { addr $e761; name "FDS_ReadCRC_Unused"; };
|
|
|
|
label { addr $e794; name "FDS_Xfer1stByte"; };
|
|
label { addr $e7a3; name "FDS_XferByte"; };
|
|
|
|
### Disk transfer return states
|
|
label { addr $e778; name "FDS_XferDone"; };
|
|
label { addr $e77c; name "FDS_XferFailOnCarry"; };
|
|
label { addr $e77f; name "FDS_XferFailOnNEQ"; };
|
|
label { addr $e781; name "FDS_XferFail"; };
|
|
|
|
### Low-level helpers
|
|
label { addr $e3da; name "FDS_AddYtoPtrA"; };
|
|
label { addr $e583; name "FDS_LoadSizeAndSrc"; };
|
|
label { addr $e7a7; name "FDS_Inc0ADec0C"; };
|
|
label { addr $e7ad; name "FDS_Dec0C"; };
|
|
|
|
## General purpose
|
|
label { addr $e149; name "FDS_Delay131"; };
|
|
label { addr $e153; name "FDS_Delayms"; };
|
|
|
|
label { addr $e161; name "FDS_DisPFObj"; };
|
|
label { addr $e16b; name "FDS_EnPFObj"; };
|
|
label { addr $e171; name "FDS_DisObj"; };
|
|
label { addr $e178; name "FDS_EnObj"; };
|
|
label { addr $e17e; name "FDS_DisPF"; };
|
|
label { addr $e185; name "FDS_EnPF"; };
|
|
|
|
label { addr $e1b2; name "FDS_VINTWait"; };
|
|
label { addr $e7bb; name "FDS_VRAMStructWrite"; paramsize 2; };
|
|
label { addr $e844; name "FDS_FetchDirectPtr"; };
|
|
label { addr $e86a; name "FDS_WriteVRAMBuffer"; };
|
|
label { addr $e8b3; name "FDS_ReadVRAMBuffer"; };
|
|
label { addr $e8d2; name "FDS_PrepareVRAMString"; paramsize 2; };
|
|
label { addr $e8e1; name "FDS_PrepareVRAMStrings"; paramsize 2; };
|
|
label { addr $e94f; name "FDS_GetVRAMBufferByte"; };
|
|
label { addr $e97d; name "FDS_Pixel2NamConv"; };
|
|
label { addr $e997; name "FDS_PNam2PixelConv"; };
|
|
|
|
label { addr $e9b1; name "FDS_Random"; };
|
|
label { addr $e9c8; name "FDS_SpriteDMA"; };
|
|
label { addr $e9d3; name "FDS_CounterLogic"; };
|
|
|
|
label { addr $e9eb; name "FDS_ReadPads"; };
|
|
label { addr $ea0d; name "FDS_OrPads"; };
|
|
label { addr $ea1a; name "FDS_ReadDownPads"; };
|
|
label { addr $ea1f; name "FDS_ReadOrDownPads"; };
|
|
label { addr $ea36; name "FDS_ReadDownVerifyPads"; };
|
|
label { addr $ea4c; name "FDS_ReadOrDownVerifyPads"; };
|
|
label { addr $ea68; name "FDS_ReadDownExpPads"; };
|
|
|
|
label { addr $ea84; name "FDS_VRAMFill"; };
|
|
label { addr $ead2; name "FDS_MemFill"; };
|
|
|
|
label { addr $eaea; name "FDS_SetScroll"; };
|
|
|
|
### Jump table implementation uses an inline pointer table of an arbitrary size,
|
|
### which can't be represented here...
|
|
label { addr $eafd; name "FDS_JumpEngine"; };
|
|
label { addr $eb13; name "FDS_ReadKeyboard"; };
|
|
label { addr $ebaf; name "FDS_LoadTileset"; paramsize 2; };
|
|
label { addr $ec22; name "FDS_UploadObject"; };
|
|
|
|
# Hardware vectors
|
|
label { addr $e18b; name "NMI"; };
|
|
|
|
label { addr $ee24; name "Reset"; };
|
|
|
|
label { addr $e1c7; name "IRQ"; };
|
|
|
|
range { start $DFF6; end $DFFF; type addrtable; };
|
|
label { addr $DFF6; name "FDS_Vector_DiskNMI1"; size 2; };
|
|
label { addr $DFF8; name "FDS_Vector_DiskNMI2"; size 2; };
|
|
label { addr $DFFA; name "FDS_Vector_DiskNMI3"; size 2; };
|
|
label { addr $DFFC; name "FDS_Vector_DiskReset"; size 2; };
|
|
label { addr $DFFE; name "FDS_Vector_DiskIRQ"; size 2; };
|
|
|
|
label { addr $4C00; name "SF_4C00"; };
|
|
|
|
label { addr $FFFA; name "CPU_Vector_NMI"; };
|
|
label { addr $FFFC; name "CPU_Vector_Reset"; };
|
|
label { addr $FFFE; name "CPU_Vector_IRQ"; };
|
|
|