68k ASM defines: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
Line 19: | Line 19: | ||
REG_P2CNT equ $340000 ; Joystick port 2 | REG_P2CNT equ $340000 ; Joystick port 2 | ||
REG_STATUS_B equ $380000 | REG_STATUS_B equ $380000 | ||
REG_SLOT equ $380021 ; Slot selection | |||
REG_DISPENABL equ $3A0001 ; Video output ON | REG_DISPENABL equ $3A0001 ; Video output ON |
Revision as of 08:01, 23 February 2011
Here are preliminary ASM defines for memory locations and constants. For detailed descriptions, see Memory mapped registers.
This can be made into a file and included in your ASM source code to use register names instead of their (meaningless) addresses in RAM.
SCB1 equ $0000 ; VRAM, Sprite tilemaps FIXMAP equ $7000 ; VRAM, Fix map SCB2 equ $8000 ; VRAM, Sprite shrink SCB3 equ $8200 ; VRAM, Sprite Y positions and sizes SCB4 equ $8400 ; VRAM, Sprite X positions RAMSTART equ $100000 ; User RAM start PALETTES equ $400000 ; Palette RAM start REG_P1CNT equ $300000 ; Joystick port 1 REG_DIPSW equ $300001 ; Dipswitches/Watchdog REG_SOUND equ $320000 ; In/Out Z80 REG_STATUS_A equ $320001 REG_P2CNT equ $340000 ; Joystick port 2 REG_STATUS_B equ $380000 REG_SLOT equ $380021 ; Slot selection REG_DISPENABL equ $3A0001 ; Video output ON REG_DISPDSABL equ $3A0011 ; Video output OFF REG_SWPROM equ $3A0013 ; Use ROM vector table REG_CRDUNLOCK1 equ $3A0005 ; Allow /WE to pass through to memory card when low REG_CRDLOCK1 equ $3A0015 ; Don't allow /WE to pass through to memory card REG_CRDLOCK2 equ $3A0007 ; Don't allow /WE to pass through to memory card REG_CRDUNLOCK1 equ $3A0017 ; Allow /WE to pass through to memory card when high REG_BRDFIX equ $3A000B ; Use board fix tileset REG_CRTFIX equ $3A001B ; Use ROM fix tileset REG_SRAMLOCK equ $3A000D ; Write-protect SRAM REG_SRAMUNLOCK equ $3A001D ; Write-unprotect SRAM REG_PALBANK1 equ $3A000F ; Use palette bank 1 REG_PALBANK0 equ $3A001F ; Use palette bank 0 (default) VRAM_ADDR equ $3C0000 VRAM_RW equ $3C0002 VRAM_MOD equ $3C0004 REG_HBLANKCNT equ $3C0006 REG_HBLANKPOS equ $3C0008 REG_IRQACK equ $3C000C ; BIOS calls BIOSF_BOOTSCR equ $C00438 ; Show bootscreen (and other things) BIOSF_CRDACCESS equ $C00468 ; Access memory card with specified function (check CRDF) BIOSF_CRDREPORT equ $C0046E ; In case an error occurred ("CARD FULL" etc.), prompt user for action BIOSF_CLEARFIX equ $C004C2 ; Clear fix layer BIOSF_CLEARSPR equ $C004C8 ; Clear sprites BIOSF_UPLOAD equ $C00546 ; Upload data to DRAM BIOSF_CDDACMD equ $C0056A ; Issue CDDA command BIOS_SYSSTAT equ $10FD80 ; Word: ? ; Set by BIOSF_? (read player controls) BIOS_P1CURRENT equ $10FD95 ; joystick 1 state BIOS_P1PREVIOUS equ $10FD96 ; previous joystick 1 state BIOS_P1CHANGE equ $10FD97 ; joystick 1 state change BIOS_P1REPEAT equ $10FD98 ; joystick 1 repeat BIOS_STATCURNT equ $10FDAC ; joystick 1/2 start/select BIOS_STATCHANGE equ $10FDAD ; previous joystick 1/2 start/select ; Memory card related: BIOS_CRDF equ $10FDC4 ;8bit: function to perform when calling BIOSF_CRDACCESS, see below table BIOS_CRDRESULT equ $10FDC6 ;8bit: 00 on success, else 80+ and encodes the error, see below table BIOS_CRDPTR equ $10FDC8 ;32bit: pointer to read from/write to BIOS_CRDSIZE equ $10FDCC ;16bit: how much data to read/write from/to card BIOS_CRDNGH equ $10FDCE ;16bit: usually game NGH. Unique identifier for the game that 'owns' the save file BIOS_CRDFILE equ $10FDD0 ;16bit: each NGH has up to 16 save 'files' associated with