Software DIPs: Difference between revisions
m (7 revisions: Import from wikkii) |
m (Added a bit of details) |
||
Line 1: | Line 1: | ||
[[File:Softdips.png|thumb|right|A Soft DIPs setup screen.]] | [[File:Softdips.png|thumb|right|A Soft DIPs setup screen.]] | ||
Software DIPs are a list of game-specific parameters, which are only | Software DIPs are a list of 16 game-specific parameters, which are only modifiable from the MVS [[BIOSes|BIOS]] menu. | ||
The parameters names and their possible values are stored in the game's [[68k program header]]. | The parameters names and their possible values are stored in the game's [[68k program header]]. | ||
In [[MVS systems]], | 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 AES and CD games have fixed values | The setting values are copied from backup RAM to [[68k user RAM|user RAM]] at '''BIOS_GAME_DIP''' ($10FD84) when USER (0x122) is called. | ||
The AES and CD games have fixed values. | |||
== Config data description == | == Config data description == | ||
Line 15: | Line 17: | ||
{| class="regdef" style="text-align:center;" | {| class="regdef" style="text-align:center;" | ||
| '''0x00''' | | '''0x00''' | ||
| Game | | 16 bytes | ||
| Game name | |||
|- | |- | ||
| '''0x10''' | | '''0x10''' | ||
| Special entry list, | | 6 bytes | ||
| Special entry list, 4 entries. See description below. | |||
|- | |- | ||
| '''0x16''' | | '''0x16''' | ||
| Simple options list, up to 10 | | 10 bytes | ||
| Simple options list, up to 10 entries. 1 byte per entry. Padded with 0x00 for unused options. | |||
|- | |- | ||
| '''0x20''' | | '''0x20''' | ||
| 16*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). | ||
|} | |} | ||
Line 31: | Line 37: | ||
You can define up to 4 special options. | You can define up to 4 special options. | ||
The first two words can be used to define two | 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 | The next byte can be used for a selection between 00 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 | All these options take one string in the strings table for the description. | ||
===Simple options list description=== | ===Simple options list description=== | ||
Line 45: | Line 49: | ||
Each options consists of 1 byte. | Each options consists of 1 byte. | ||
The upper 4 bits specify the default value and the lower 4 bits the number of choices. | The upper 4 bits specify the default value (starts from 0) and the lower 4 bits the number of choices. | ||
==Config examples== | |||
<pre> | <pre> | ||
dc.b "TEST ROM | dc.b "TEST ROM " ; Game name | ||
dc.b $FF,$FF,$FF,$FF,$FF,$FF | dc.b $FF,$FF,$FF,$FF,$FF,$FF ; Special options list (none used) | ||
dc.b $24,$02,$00,$00,$00,$00,$00,$00,$00,$00 | dc.b $24 ; Option 1: 4 choices, default is #2 | ||
dc.b "LIVES " | dc.b $02 ; Option 2: 2 choices, default is #0 | ||
dc.b "1 " | 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 "2 " | ||
dc.b "3 " | dc.b "3 " | ||
dc.b "4 " | dc.b "4 " | ||
dc.b "HOW TO PLAY " | dc.b "HOW TO PLAY " ; Option 2 description | ||
dc.b "WITH " | dc.b "WITH " ; Option 2 choices | ||
dc.b "WITHOUT " | dc.b "WITHOUT " | ||
</pre> | </pre> | ||
Line 69: | Line 75: | ||
<pre> | <pre> | ||
dc.b "TEST ROM " | dc.b "TEST ROM " ; Game name | ||
dc.b $42,$20 | dc.b $42,$20 ; Special option 1: 42 minutes 20 seconds | ||
dc.b $24,$02,$00,$00,$00,$00,$00,$00,$00,$00 | dc.b $20,$42 ; Special option 2: 20 minutes 42 seconds | ||
dc.b "TIMER 1 " | dc.b $42 ; Special option 3: 66 | ||
dc.b "TIMER 2 " | dc.b $64 ; Special option 4: 100 ("infinite") | ||
dc.b "COUNTER " | dc.b $24 ; Option 1: 4 choices, default is #2 | ||
dc.b "COUNTER SPE " | dc.b $02 ; Option 2: 2 choices, default is #0 | ||
dc.b "LIVES " | dc.b $00,$00,$00,$00,$00,$00,$00,$00 | ||
dc.b "1 " | 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 "2 " | ||
dc.b "3 " | dc.b "3 " | ||
dc.b "4 " | dc.b "4 " | ||
dc.b "HOW TO PLAY " | dc.b "HOW TO PLAY " ; Option 2 description | ||
dc.b "WITH " | dc.b "WITH " ; Option 2 choices | ||
dc.b "WITHOUT " | dc.b "WITHOUT " | ||
</pre> | </pre> |
Revision as of 12:49, 12 July 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 | 16*12 bytes | Options string table. Strings are 12 bytes long and padded with 0x20 (space). |
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 00 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 "