Backup RAM: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 35: Line 35:
|$D00045
|$D00045
|$C
|$C
|$01010102010101030000303B0000
|
|the init_backupram routine ($C125F4) will copy $C data from $C1F000 there.
|Cab settings:
The init_backupram routine ($C125F4 in SP2) will init this to $01010102010101030000303B0000.
;$D0003A: Coins needed for Player 1
;$D0003B: Credits to add to Player 1 when coin inserted
;$D0003C: Coins needed for Player 2
;$D0003D: Credits to add to Player 2 when coin inserted
;$D0003E: ?
;$D00042: Game select (0=only when credited, 1=free)
;$D00044: Game start compulsion (seconds in BCD)
|-
|-
|$D00046
|$D00046
Line 42: Line 50:
|$1
|$1
|SOUND_STOP
|SOUND_STOP
|No sound at all if non-zero
|No sound at all if non-zero ("Demo sound" in cab setup menu).
|-
|-
|$D00047
|$D00047

Revision as of 16:07, 8 October 2011

The backup RAM is a battery-powered 64KiB RAM space used by MVS systems to store game scores, cab infos and income logs. Access is handled by the BIOSes.

Memory region: $D00000~$D0FFFF (Mirrored up to $DFFFFF ?).

Data structure

All offset are taken from the sp-s2.bin bios.

Start End Size Data Description
$D00000 $D0000F $F $00 Unused, fill with $00
$D00010 $D0001F $F "BACKUP RAM OK!Ç" The routine at $C125C8 will check if this string is present, if not it will test the ram (using the test_ram routine at $C13134) and re-init the backupram
$D00034 $D00035 $2 $00 "Internal" credit counters for player 1 and player 2 (BCD), used by BIOS only.
$D0003A $D00045 $C Cab settings:

The init_backupram routine ($C125F4 in SP2) will init this to $01010102010101030000303B0000.

$D0003A
Coins needed for Player 1
$D0003B
Credits to add to Player 1 when coin inserted
$D0003C
Coins needed for Player 2
$D0003D
Credits to add to Player 2 when coin inserted
$D0003E
?
$D00042
Game select (0=only when credited, 1=free)
$D00044
Game start compulsion (seconds in BCD)
$D00046 $D00046 $1 SOUND_STOP No sound at all if non-zero ("Demo sound" in cab setup menu).
$D00047 $D00047 $1 SLOT NUMBER Number of detected slots (2 for slot1)
$D00048 $D00059 ?
$D0005A $D0005D $4 HHMMSSMM Current time, hour is mult by 4 (???), MM is the milliseconds.
$D0005E $D00103 ?
$D00104 $D00107 $4 YYMMDDdd Current date
$D00108 $D00109 ?
$D0010A $D0010D $4 Detailed game start book address
$D0010E $D00111 $4 Total game start book address
$D00112 $D00115 $4 Detailed cabinet coin book address (sub 0x240 for the start book one)
$D00116 $D00119 $4 Current month cabinet coin book address (sub 0xC for the start book one)
$D0011A $D00121 ?
$D00122 $D00123 $2 $23 The init_backupram routine write $23 there, purpose unknown.
$D00124 $D00127 $4 Slot-1 NGH number and game name ID (see below) If not present $0000 as NGH and $FFFF as game name ID
$D00128 $D0012B $4 Slot-2 NGH number and game name ID (see below) If not present $0000 as NGH and $FFFF as game name ID.

On a slot1 always unset (slot1 are slot2 with the second one empty)

$D0012C $D0012F $4 Slot-3 NGH number and game name ID (see below) If not present $0000 as NGH and $FFFF as game name ID
$D00130 $D00133 $4 Slot-4 NGH number and game name ID (see below) If not present $0000 as NGH and $FFFF as game name ID
$D00134 $D00137 $4 Slot-5 NGH number and game name ID (see below) If not present $0000 as NGH and $FFFF as game name ID
$D00138 $D0013B $4 Slot-6 NGH number and game name ID (see below) If not present $0000 as NGH and $FFFF as game name ID
$D0013C $D0013F $4 Slot-7 NGH number and game name ID (see below) If not present $0000 as NGH and $FFFF as game name ID
$D00140 $D00143 $4 Slot-8 NGH number and game name ID (see below) If not present $0000 as NGH and $FFFF as game name ID
$D00144 $D00147 $4 YYMMDDdd Slot-1 book creation time YEAR-MONTH-DAY-day number
$D00148 $D0014B $4 YYMMDDdd Slot-2 book creation time YEAR-MONTH-DAY-day number
$D0014C $D0014F $4 YYMMDDdd Slot-3 book creation time YEAR-MONTH-DAY-day number
$D00150 $D00153 $4 YYMMDDdd Slot-4 book creation time YEAR-MONTH-DAY-day number
$D00154 $D00157 $4 YYMMDDdd Slot-5 book creation time YEAR-MONTH-DAY-day number
$D00158 $D0015B $4 YYMMDDdd Slot-6 book creation time YEAR-MONTH-DAY-day number
$D0015C $D0015F $4 YYMMDDdd Slot-7 book creation time YEAR-MONTH-DAY-day number
$D00160 $D00163 $4 YYMMDDdd Slot-8 book creation time YEAR-MONTH-DAY-day number
$D001A4 $D002A7 $4 Current month game start book
$D001A8 $D002AB $4 ?
$D002A0 $D002AF $F Game Name 0
$D002B0 $D002BF $F Game Name 1
$D002C0 $D002CF $F Game Name 2
$D002D0 $D002DF $F Game Name 3
$D002E0 $D002EF $F Game Name 4
$D002F0 $D002FF $F Game Name 5
$D00300 $D0030F $F Game Name 6
$D00310 $D0031F $F Game Name 7
$D00320 $D0131F $1000 Game 1 data
$D01320 $D0231F $1000 Game 2 data
$D02320 $D0331F $1000 Game 3 data
$D03320 $D0431F $1000 Game 4 data
$D04320 $D0531F $1000 Game 5 data
$D05320 $D0631F $1000 Game 6 data
$D06320 $D0731F $1000 Game 7 data
$D07320 $D0831F $1000 Game 8 data