Software DIPs: Difference between revisions
(Created page with "thumb|right|A Soft DIPs setup screen. Software DIPs are a list of game-specific parameters, which are only acessible from the MVS BIOS menu. Th…") |
No edit summary |
||
Line 3: | Line 3: | ||
Software DIPs are a list of game-specific parameters, which are only acessible from the MVS [[BIOSes|BIOS]] menu. | Software DIPs are a list of game-specific parameters, which are only acessible from the MVS [[BIOSes|BIOS]] menu. | ||
The parameters 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]], they're then stored in the [[battery-backed RAM]]. Location ? BIOS call ? | |||
The AES and CD games have fixed values ? | The AES and CD games have fixed values ? | ||
== Config data description == | |||
{| class="regdef" style="text-align:center;" | |||
| '''0x00''' | |||
| Game Name | |||
|- | |||
| '''0x10''' | |||
| Special entry list, see description below | |||
|- | |||
| '''0x16''' | |||
| Simple options list, up to 10 entry. 1 byte per entry. Padded with 0x00 for unused options. | |||
|- | |||
| '''0x20''' | |||
| 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 "timer options". You can set minutes and seconds. Upper byte defines the amount of minutes and the lower byte the seconds. | |||
The next byte can be used for a counter, from 00 to 99. The value written is the default one. (value above 0x63 will show some garbage data). | |||
The last byte can be used for a counter plus two special values : "WITHOUT" and "INFINITE" (0x00 is without and 0x64 is infinite). The counter will go from 00 to 99 with the text "times" after. | |||
They all take one string in the strings table for the description. | |||
All those options can be disable by entering 0xFF. | |||
===Simple options list description=== | |||
Each options consists of 1 byte. | |||
The upper 4 bits specify the default value and the lower 4 bits the number of choices. | |||
The only "special" entry list seems to be 0x64. When specified the title is still fetch from the string table but not the choice. | |||
[[NAM 1975]] uses it for the CONTINUE configuration. | |||
TODO: See where the bios puts the data (and in which form) in the RAM. Bytes from $10FD84 to $10FD93 ? | |||
===Config examples=== | |||
<pre> | |||
dc.b "TEST ROM " ; Game name | |||
dc.b $FF,$FF,$FF,$FF,$FF,$FF ; Special list | |||
dc.b $24,$02,$00,$00,$00,$00,$00,$00,$00,$00 ; Option list | |||
dc.b "LIVES " | |||
dc.b "1 " | |||
dc.b "2 " | |||
dc.b "3 " | |||
dc.b "4 " | |||
dc.b "HOW TO PLAY " | |||
dc.b "WITH " | |||
dc.b "WITHOUT " | |||
</pre> | |||
{| | |||
|[[File:Config_1.png]] | |||
|[[File:Config_2.png]] | |||
|} | |||
<pre> | |||
dc.b "TEST ROM " ; Game name | |||
dc.b $42,$20,$20,$42,$42,$64 ; Special list | |||
dc.b $24,$02,$00,$00,$00,$00,$00,$00,$00,$00 ; Option list | |||
dc.b "TIMER 1 " | |||
dc.b "TIMER 2 " | |||
dc.b "COUNTER " | |||
dc.b "COUNTER SPE " | |||
dc.b "LIVES " | |||
dc.b "1 " | |||
dc.b "2 " | |||
dc.b "3 " | |||
dc.b "4 " | |||
dc.b "HOW TO PLAY " | |||
dc.b "WITH " | |||
dc.b "WITHOUT " | |||
</pre> | |||
[[File:Config_3.png]] | |||
[[Category:CPUs]] | [[Category:CPUs]] |
Revision as of 12:42, 9 May 2011
Software DIPs are a list of game-specific parameters, which are only acessible from the MVS BIOS menu.
The parameters names and their possible values are stored in the game's 68k program header.
In MVS systems, they're then stored in the battery-backed RAM. Location ? BIOS call ?
The AES and CD games have fixed values ?
Config data description
0x00 | Game Name |
0x10 | Special entry list, see description below |
0x16 | Simple options list, up to 10 entry. 1 byte per entry. Padded with 0x00 for unused options. |
0x20 | 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 "timer options". You can set minutes and seconds. Upper byte defines the amount of minutes and the lower byte the seconds.
The next byte can be used for a counter, from 00 to 99. The value written is the default one. (value above 0x63 will show some garbage data).
The last byte can be used for a counter plus two special values : "WITHOUT" and "INFINITE" (0x00 is without and 0x64 is infinite). The counter will go from 00 to 99 with the text "times" after.
They all take one string in the strings table for the description.
All those options can be disable by entering 0xFF.
Simple options list description
Each options consists of 1 byte.
The upper 4 bits specify the default value and the lower 4 bits the number of choices.
The only "special" entry list seems to be 0x64. When specified the title is still fetch from the string table but not the choice. NAM 1975 uses it for the CONTINUE configuration.
TODO: See where the bios puts the data (and in which form) in the RAM. Bytes from $10FD84 to $10FD93 ?
Config examples
dc.b "TEST ROM " ; Game name dc.b $FF,$FF,$FF,$FF,$FF,$FF ; Special list dc.b $24,$02,$00,$00,$00,$00,$00,$00,$00,$00 ; Option list dc.b "LIVES " dc.b "1 " dc.b "2 " dc.b "3 " dc.b "4 " dc.b "HOW TO PLAY " dc.b "WITH " dc.b "WITHOUT "
File:Config 1.png | File:Config 2.png |
dc.b "TEST ROM " ; Game name dc.b $42,$20,$20,$42,$42,$64 ; Special list dc.b $24,$02,$00,$00,$00,$00,$00,$00,$00,$00 ; Option list dc.b "TIMER 1 " dc.b "TIMER 2 " dc.b "COUNTER " dc.b "COUNTER SPE " dc.b "LIVES " dc.b "1 " dc.b "2 " dc.b "3 " dc.b "4 " dc.b "HOW TO PLAY " dc.b "WITH " dc.b "WITHOUT "