BIOS RAM locations: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 137: Line 137:
|Game
|Game
|0:Allow MESS_OUT, 1:Skip MESS_OUT
|0:Allow MESS_OUT, 1:Skip MESS_OUT
|-
|$10FEE4
|
|byte
|BIOS
|Frame counter (internal)
|}
|}


; Memory card related:
; Memory card related:
BIOS_CRDF      equ $10FDC4 ;byte: function to perform when calling BIOSF_CRDACCESS, see below table
*BIOS_CRDF      equ $10FDC4 ;byte: function to perform when calling BIOSF_CRDACCESS, see below table
BIOS_CRDRESULT  equ $10FDC6 ;byte: 00 on success, else 80+ and encodes the error, see below table
*BIOS_CRDRESULT  equ $10FDC6 ;byte: 00 on success, else 80+ and encodes the error, see below table
BIOS_CRDPTR    equ $10FDC8 ;longword: pointer to read from/write to
*BIOS_CRDPTR    equ $10FDC8 ;longword: pointer to read from/write to
BIOS_CRDSIZE    equ $10FDCC ;word: how much data to read/write from/to card
*BIOS_CRDSIZE    equ $10FDCC ;word: how much data to read/write from/to card
BIOS_CRDNGH    equ $10FDCE ;word: usually game NGH. Unique identifier for the game that 'owns' the save file
*BIOS_CRDNGH    equ $10FDCE ;word: usually game NGH. Unique identifier for the game that 'owns' the save file
BIOS_CRDFILE    equ $10FDD0 ;word: each NGH has up to 16 save 'files' associated with
*BIOS_CRDFILE    equ $10FDD0 ;word: each NGH has up to 16 save 'files' associated with


; Calendar, only on MVS (in BCD)
; Calendar, only on MVS (in BCD)
BIOS_YEAR      equ $10FDD2 ;last 2 digits of year
*BIOS_YEAR      equ $10FDD2 ;last 2 digits of year
BIOS_MONTH      equ $10FDD3
*BIOS_MONTH      equ $10FDD3
BIOS_DAY        equ $10FDD4
*BIOS_DAY        equ $10FDD4
BIOS_WEEKDAY    equ $10FDD5 ;Sunday = 00, Monday = 01 ... Saturday = 06
*BIOS_WEEKDAY    equ $10FDD5 ;Sunday = 00, Monday = 01 ... Saturday = 06
BIOS_HOUR      equ $10FDD6 ;24 hour time
*BIOS_HOUR      equ $10FDD6 ;24 hour time
BIOS_MINUTE    equ $10FDD7
*BIOS_MINUTE    equ $10FDD7
BIOS_SECOND    equ $10FDD8
*BIOS_SECOND    equ $10FDD8


BIOS_SELECT_TIMER equ $10FDDA ;Byte: game start countdown
*BIOS_SELECT_TIMER equ $10FDDA ;Byte: game start countdown
BIOS_DEVMODE      equ $10FE80 ;Byte: non-zero for developer mode
*BIOS_DEVMODE      equ $10FE80 ;Byte: non-zero for developer mode


; Upload to DRAM
; Upload to DRAM
BIOS_UPDEST    equ $10FEF4 ;longword: destination address (!)
*BIOS_UPDEST    equ $10FEF4 ;longword: destination address (!)
BIOS_UPSRC      equ $10FEF8 ;longword: source address
*BIOS_UPSRC      equ $10FEF8 ;longword: source address
BIOS_UPSIZE    equ $10FEFC ;longword: size
*BIOS_UPSIZE    equ $10FEFC ;longword: size
BIOS_UPZONE    equ $10FEDA ;byte: zone (0=PRG, 1=FIX, 2=SPR, 3=Z80, 4=PCM, 5=PAT)
*BIOS_UPZONE    equ $10FEDA ;byte: zone (0=PRG, 1=FIX, 2=SPR, 3=Z80, 4=PCM, 5=PAT)
BIOS_UPBANK    equ $10FEDB ;byte: bank
*BIOS_UPBANK    equ $10FEDB ;byte: bank


[[Category:Base system]]
[[Category:Base system]]

Revision as of 13:49, 8 October 2011

Address DEF name Size Set by Description
$10FD80 BIOS_SYSTEM_MODE byte BIOS 0:system mode, 1:game mode
$10FD82 BIOS_MVS_FLAG byte BIOS 0:AES, 1:MVS
$10FD83 BIOS_COUNTRY_CODE byte BIOS 0:Japan, 1:USA, 2:Europe
$10FD84~$10FD93 BIOS_GAME_DIP 16 bytes BIOS Software DIPs values
$10FD94 BIOS_P1STATUS byte BIOS 0:no connection, 1:normal joypad, 2:expanded joypad, 3:Mahjong controller, 4:Keyboard
$10FD95 BIOS_P1PREVIOUS byte BIOS DCBA Right Left Bottom Top (positive logic)
$10FD96 BIOS_P1CURRENT byte BIOS DCBA Right Left Bottom Top (positive logic)
$10FD97 BIOS_P1CHANGE byte BIOS Active edge DCBA Right Left Bottom Top (positive logic)
$10FD98 BIOS_P1REPEAT byte BIOS Active edge + repeat every 8 frames after 16 frames. DCBA Right Left Bottom Top (positive logic)
$10FD99 BIOS_P1TIMER byte BIOS Countdown ?
$10FD9A~$10FD9F Same for P2 5 bytes BIOS See above
$10FDA0~$10FDA6 Same for P3 5 bytes BIOS See above
$10FDA7~$10FDAB Same for P4 5 bytes BIOS See above
$10FDAC BIOS_STATCURNT byte BIOS Select P4, Start P4, Select P3, Start P3, Select P2, Start P2, Select P1, Start P1 (positive logic)
$10FDAD BIOS_STATCHANGE byte BIOS Select P4, Start P4, Select P3, Start P3, Select P2, Start P2, Select P1, Start P1 (positive logic)
$10FDAE BIOS_USER_REQUEST byte BIOS Set by the USER subroutine. 0:Init, 1:Boot animation, 2:Demo, 3:Title
$10FDAF BIOS_USER_MODE byte Game 0:Init/Boot animation, 1:Title/Demo, 3:Game
$10FDB0 BIOS_CREDIT_DEC 4 bytes Game Credit decrement value for each player when calling CREDIT DOWN.
$10FDB4 BIOS_START_FLAG byte BIOS Used when calling the PLAYER START subroutine. Last 4 bits correspond to the player who pushed start.
$10FDB6 BIOS_PLAYER_MOD 4 bytes Game Sets player status. 0:Never played, 1:Playing, 2:Continue option being displayed, 3:Game over
$10FDBE BIOS_MESS_POINT longword Game MESS_OUT buffer pointer
$10FDC2 BIOS_MESS_BUSY byte Game 0:Allow MESS_OUT, 1:Skip MESS_OUT
$10FEE4 byte BIOS Frame counter (internal)
Memory card related
  • BIOS_CRDF equ $10FDC4 ;byte: function to perform when calling BIOSF_CRDACCESS, see below table
  • BIOS_CRDRESULT equ $10FDC6 ;byte: 00 on success, else 80+ and encodes the error, see below table
  • BIOS_CRDPTR equ $10FDC8 ;longword: pointer to read from/write to
  • BIOS_CRDSIZE equ $10FDCC ;word: how much data to read/write from/to card
  • BIOS_CRDNGH equ $10FDCE ;word: usually game NGH. Unique identifier for the game that 'owns' the save file
  • BIOS_CRDFILE equ $10FDD0 ;word: each NGH has up to 16 save 'files' associated with
Calendar, only on MVS (in BCD)
  • BIOS_YEAR equ $10FDD2 ;last 2 digits of year
  • BIOS_MONTH equ $10FDD3
  • BIOS_DAY equ $10FDD4
  • BIOS_WEEKDAY equ $10FDD5 ;Sunday = 00, Monday = 01 ... Saturday = 06
  • BIOS_HOUR equ $10FDD6 ;24 hour time
  • BIOS_MINUTE equ $10FDD7
  • BIOS_SECOND equ $10FDD8
  • BIOS_SELECT_TIMER equ $10FDDA ;Byte: game start countdown
  • BIOS_DEVMODE equ $10FE80 ;Byte: non-zero for developer mode
Upload to DRAM
  • BIOS_UPDEST equ $10FEF4 ;longword: destination address (!)
  • BIOS_UPSRC equ $10FEF8 ;longword: source address
  • BIOS_UPSIZE equ $10FEFC ;longword: size
  • BIOS_UPZONE equ $10FEDA ;byte: zone (0=PRG, 1=FIX, 2=SPR, 3=Z80, 4=PCM, 5=PAT)
  • BIOS_UPBANK equ $10FEDB ;byte: bank