Software DIPs: Difference between revisions
m (Added a bit of details) |
mNo edit summary |
||
Line 29: | Line 29: | ||
|- | |- | ||
| '''0x20''' | | '''0x20''' | ||
| | | x*12 bytes | ||
| Options string table. Strings are 12 bytes long and padded with 0x20 (space). | | Options string table. Strings are 12 bytes long and padded with 0x20 (space). Max number ? | ||
|} | |} | ||
Line 39: | Line 39: | ||
The first two words can be used to define two timed options. The upper byte defines the minutes and the lower byte the seconds (in BCD), up to 29 minutes and 59 seconds. If not used, specify 0xFFFF. | The first two words can be used to define two timed options. The upper byte defines the minutes and the lower byte the seconds (in BCD), up to 29 minutes and 59 seconds. If not used, specify 0xFFFF. | ||
The next byte can be used for a selection between | The next byte can be used for a selection between 1 and 99. The value written is the default one. (values above 99 will show some garbage data). If not used, specify 0xFF. | ||
The last byte can be used for the same purpose plus two special values : "WITHOUT" and "INFINITE" (0x00 is without and 0x64 is infinite). The value displayed will go from 00 to 99 with the text "times" after it. If not used, specify 0xFF. | The last byte can be used for the same purpose plus two special values : "WITHOUT" and "INFINITE" (0x00 is without and 0x64 is infinite). The value displayed will go from 00 to 99 with the text "times" after it. If not used, specify 0xFF. |
Revision as of 17:54, 21 October 2011
Software DIPs are a list of 16 game-specific parameters, which are only modifiable from the MVS BIOS menu.
The parameters names and their possible values are stored in the game's 68k program header.
In MVS systems, the settings are saved for each game in the backup RAM (starting at 0x220) by the BIOS. How is this handled in multislot board ?
The setting values are copied from backup RAM to user RAM at BIOS_GAME_DIP ($10FD84) when USER (0x122) is called.
The AES and CD games have fixed values.
Config data description
All the following informations by ElBarto:
0x00 | 16 bytes | Game name |
0x10 | 6 bytes | Special entry list, 4 entries. See description below. |
0x16 | 10 bytes | Simple options list, up to 10 entries. 1 byte per entry. Padded with 0x00 for unused options. |
0x20 | x*12 bytes | Options string table. Strings are 12 bytes long and padded with 0x20 (space). Max number ? |
Special options list description
You can define up to 4 special options.
The first two words can be used to define two timed options. The upper byte defines the minutes and the lower byte the seconds (in BCD), up to 29 minutes and 59 seconds. If not used, specify 0xFFFF.
The next byte can be used for a selection between 1 and 99. The value written is the default one. (values above 99 will show some garbage data). If not used, specify 0xFF.
The last byte can be used for the same purpose plus two special values : "WITHOUT" and "INFINITE" (0x00 is without and 0x64 is infinite). The value displayed will go from 00 to 99 with the text "times" after it. If not used, specify 0xFF.
All these options take one string in the strings table for the description.
Simple options list description
Each options consists of 1 byte.
The upper 4 bits specify the default value (starts from 0) and the lower 4 bits the number of choices.
Config examples
dc.b "TEST ROM " ; Game name dc.b $FF,$FF,$FF,$FF,$FF,$FF ; Special options list (none used) dc.b $24 ; Option 1: 4 choices, default is #2 dc.b $02 ; Option 2: 2 choices, default is #0 dc.b $00,$00,$00,$00,$00,$00,$00,$00 dc.b "LIVES " ; Option 1 description dc.b "1 " ; Option 1 choices dc.b "2 " dc.b "3 " dc.b "4 " dc.b "HOW TO PLAY " ; Option 2 description dc.b "WITH " ; Option 2 choices dc.b "WITHOUT "
File:Config 1.png | File:Config 2.png |
dc.b "TEST ROM " ; Game name dc.b $42,$20 ; Special option 1: 42 minutes 20 seconds dc.b $20,$42 ; Special option 2: 20 minutes 42 seconds dc.b $42 ; Special option 3: 66 dc.b $64 ; Special option 4: 100 ("infinite") dc.b $24 ; Option 1: 4 choices, default is #2 dc.b $02 ; Option 2: 2 choices, default is #0 dc.b $00,$00,$00,$00,$00,$00,$00,$00 dc.b "TIMER 1 " ; Special option 1 description dc.b "TIMER 2 " ; Special option 2 description dc.b "COUNTER " ; Special option 3 description dc.b "COUNTER SPE " ; Special option 4 description dc.b "LIVES " ; Option 1 description dc.b "1 " ; Option 1 choices dc.b "2 " dc.b "3 " dc.b "4 " dc.b "HOW TO PLAY " ; Option 2 description dc.b "WITH " ; Option 2 choices dc.b "WITHOUT "