BIOS calls: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
|||
(19 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
Please see [[ASM | Please see [[68k ASM defines]] or [[C Defines]] for the hex addresses. | ||
= Jump tables = | = Jump tables = | ||
{| class="regdef" | {| class="regdef" style="text-align:center;" | ||
|Call address | |'''Call address''' | ||
|SP-E | |'''[[NEO-EP0]] AES BIOS''' | ||
|TOP-SP1-1 | |'''"SP-E" MVS BIOS''' | ||
| | |'''"TOP-SP1-1" CDM3-2 BIOS''' & '''"FRONT-SP1" BIOS''' | ||
|'''"NEOCD.BIN" CDZ BIOS''' | |||
|- | |- | ||
|$C00402 to $C00432 | |$C00402 to $C00432 | ||
|colspan=" | |colspan="4"|Entry point | ||
|- | |- | ||
|$C00438 | |$C00438 | ||
|colspan=" | |colspan="4"|[[SYSTEM_INT1]] | ||
|- | |- | ||
|$C0043E | |$C0043E | ||
|colspan="2"| | |colspan="2"|[[SYSTEM_INT2]] | ||
|RTS | |colspan="2"|RTS | ||
|- | |- | ||
|$C00444 | |$C00444 | ||
|colspan=" | |colspan="4"|[[SYSTEM_RETURN]] | ||
|- | |- | ||
|$C0044A | |$C0044A | ||
|colspan=" | |colspan="4"|[[SYSTEM_IO]] | ||
|- | |||
|$C00450 | |||
|colspan="4"|[[CREDIT_CHECK]] | |||
|- | |- | ||
|$ | |$C00456 | ||
|colspan=" | |colspan="4"|[[CREDIT_DOWN]] | ||
|- | |||
|$C0045C | |||
|RTS | |||
|[[READ_CALENDAR]] | |||
|colspan="2"|RTS | |||
|- | |- | ||
|$C00462 | |$C00462 | ||
|RTS | |RTS | ||
|[[SETUP_CALENDAR]] | |||
|colspan="2"|RTS | |||
|- | |- | ||
|$C00468 | |$C00468 | ||
|colspan="4"|[[CARD]] | |||
|colspan=" | |||
|- | |- | ||
|$C0046E | |$C0046E | ||
| | |colspan="4"|[[CARD_ERROR]] | ||
|colspan="2"| | |- | ||
|$C00474 | |||
|colspan="2"|[[HOW_TO_PLAY]] | |||
|colspan="2"|RTS | |||
|- | |- | ||
| | |$C0047A | ||
| | |colspan="2"|Calc a checksum and loop forever | ||
|colspan="2"|RTS | |colspan="2"|RTS | ||
|- | |- | ||
|$C00480 to $C004BC | |$C00480 to $C004BC | ||
|colspan=" | |colspan="4"|RTS | ||
|- | |- | ||
|$C004C2 | |$C004C2 | ||
|colspan=" | |colspan="4"|[[FIX_CLEAR]] | ||
|- | |- | ||
|$C004C8 | |$C004C8 | ||
|colspan=" | |colspan="4"|[[LSP_1st]] | ||
|- | |||
|$C004CE | |||
|colspan="4"|[[MESS_OUT]] | |||
|- | |- | ||
| | |$C004D4 | ||
|colspan=" | |colspan="4"|[[CONTROLLER_SETUP]] | ||
|- | |- | ||
|$C004DA | |$C004DA | ||
| | |colspan="2"|RTS | ||
|HBlank handler | |colspan="2"|HBlank handler | ||
|- | |- | ||
|$C004E0 to $C004F2 | |$C004E0 to $C004F2 | ||
|Invalid | |colspan="2"|Invalid | ||
|$FF0000 range register operations and RTEs | |colspan="2"|$FF0000 range register operations and RTEs | ||
|- | |- | ||
|$C004F8 to $C0051C | |$C004F8 to $C0051C | ||
|Invalid | |colspan="2"|Invalid | ||
|colspan="2"|RTS | |colspan="2"|RTS | ||
|- | |- | ||
|$C00522 to $C00540 | |$C00522 to $C00540 | ||
|Invalid | |colspan="2"|Invalid | ||
|colspan="2"|? | |colspan="2"|? | ||
|- | |- | ||
|$C00546 | |$C00546 | ||
|Invalid | |colspan="2"|Invalid | ||
|colspan="2"| | |colspan="2"|[[BIOSF_UPLOAD]] | ||
|- | |- | ||
|$C0054C | |$C0054C | ||
|Invalid | |colspan="2"|Invalid | ||
|colspan="2"|? | |colspan="2"|? | ||
|- | |- | ||
|$ | |$C00552 | ||
|Invalid | |colspan="2"|Invalid | ||
|colspan="2"| | |colspan="2"|[[BIOSF_LOADFILE]] | ||
|- | |- | ||
|$C00558 | |$C00558 | ||
|Invalid | |colspan="2"|Invalid | ||
|colspan="2"|? | |colspan="2"|? | ||
|- | |||
|$C0055E | |||
|colspan="2"|Invalid | |||
|colspan="2"|BIOSF_CDPLAYER | |||
|- | |- | ||
|$C00564 | |$C00564 | ||
|Invalid | |colspan="2"|Invalid | ||
|colspan="2"| | |colspan="2"|BIOSF_LOADFILEX (?) | ||
|- | |- | ||
|$C0056A | |$C0056A | ||
|Invalid | |colspan="2"|Invalid | ||
|colspan="2"| | |colspan="2"|[[BIOSF_CDDACMD]] | ||
|- | |- | ||
|$C00570 | |$C00570 | ||
|Invalid | |colspan="2"|Invalid | ||
|colspan="2"| | |colspan="2"|[[BIOSF_VIDEOEN]] | ||
|- | |- | ||
|$C00576 | |$C00576 | ||
|Invalid | |colspan="2"|Invalid | ||
|colspan="2"| | |colspan="2"|[[BIOSF_PUSHCDOP]] | ||
|- | |||
|$C0057C | |||
|colspan="2"|Invalid | |||
|colspan="2"|[[BIOSF_SETCDDMODE]] | |||
|- | |||
|$C00582 | |||
|colspan="2"|Invalid | |||
|colspan="2"|[[BIOSF_RESETGAME]] | |||
|- | |- | ||
|$C00588 | |$C00588 to $C00594 | ||
|Invalid | |colspan="2"|Invalid | ||
|RTS | |RTS | ||
|? | |? | ||
|- | |- | ||
|$ | |$C0059A to $C006FC | ||
|Invalid | |colspan="2"|Invalid | ||
|colspan="2"|RTS | |colspan="2"|RTS | ||
|} | |} | ||
Line 119: | Line 144: | ||
BIOS calls common to every system. | BIOS calls common to every system. | ||
*[[ | *[[FIX_CLEAR]]: Clear fix layer | ||
*[[ | *[[LSP_1st]]: Clear sprites | ||
*[[ | *[[SYSTEM_INT1]]: Multiple purpose VBL routine | ||
*[[CARD]]: Perform memory card operation | |||
*[[ | = MVS only BIOS calls = | ||
* [[READ_CALENDAR]]: Read the current calendar values and update the relevant BIOS RAM locations | |||
* [[SETUP_CALENDAR]]: Set the calendar values to the data from the relevant BIOS RAM locations | |||
= CD only BIOS calls = | = CD only BIOS calls = | ||
Line 140: | Line 166: | ||
Check track 0 ? [[Copy protection]] | Check track 0 ? [[Copy protection]] | ||
[[Category: | [[Category:BIOS calls]] | ||
Latest revision as of 07:55, 18 January 2021
Please see 68k ASM defines or C Defines for the hex addresses.
Jump tables
Call address | NEO-EP0 AES BIOS | "SP-E" MVS BIOS | "TOP-SP1-1" CDM3-2 BIOS & "FRONT-SP1" BIOS | "NEOCD.BIN" CDZ BIOS |
$C00402 to $C00432 | Entry point | |||
$C00438 | SYSTEM_INT1 | |||
$C0043E | SYSTEM_INT2 | RTS | ||
$C00444 | SYSTEM_RETURN | |||
$C0044A | SYSTEM_IO | |||
$C00450 | CREDIT_CHECK | |||
$C00456 | CREDIT_DOWN | |||
$C0045C | RTS | READ_CALENDAR | RTS | |
$C00462 | RTS | SETUP_CALENDAR | RTS | |
$C00468 | CARD | |||
$C0046E | CARD_ERROR | |||
$C00474 | HOW_TO_PLAY | RTS | ||
$C0047A | Calc a checksum and loop forever | RTS | ||
$C00480 to $C004BC | RTS | |||
$C004C2 | FIX_CLEAR | |||
$C004C8 | LSP_1st | |||
$C004CE | MESS_OUT | |||
$C004D4 | CONTROLLER_SETUP | |||
$C004DA | RTS | HBlank handler | ||
$C004E0 to $C004F2 | Invalid | $FF0000 range register operations and RTEs | ||
$C004F8 to $C0051C | Invalid | RTS | ||
$C00522 to $C00540 | Invalid | ? | ||
$C00546 | Invalid | BIOSF_UPLOAD | ||
$C0054C | Invalid | ? | ||
$C00552 | Invalid | BIOSF_LOADFILE | ||
$C00558 | Invalid | ? | ||
$C0055E | Invalid | BIOSF_CDPLAYER | ||
$C00564 | Invalid | BIOSF_LOADFILEX (?) | ||
$C0056A | Invalid | BIOSF_CDDACMD | ||
$C00570 | Invalid | BIOSF_VIDEOEN | ||
$C00576 | Invalid | BIOSF_PUSHCDOP | ||
$C0057C | Invalid | BIOSF_SETCDDMODE | ||
$C00582 | Invalid | BIOSF_RESETGAME | ||
$C00588 to $C00594 | Invalid | RTS | ? | |
$C0059A to $C006FC | Invalid | RTS |
Generic BIOS calls
BIOS calls common to every system.
- FIX_CLEAR: Clear fix layer
- LSP_1st: Clear sprites
- SYSTEM_INT1: Multiple purpose VBL routine
- CARD: Perform memory card operation
MVS only BIOS calls
- READ_CALENDAR: Read the current calendar values and update the relevant BIOS RAM locations
- SETUP_CALENDAR: Set the calendar values to the data from the relevant BIOS RAM locations
CD only BIOS calls
- BIOSF_VIDEOEN: Enable/disable video layers
- BIOSF_UPLOAD: Upload data to DRAM
- BIOSF_LOADFILE: Load file from CD (with animation)
- BIOSF_CDPLAYER ($C0055E): Reset to CD player
- BIOSF_LOADFILEX (?) ($C00564): Load file from CD (no animation)
- BIOSF_CDDACMD: Issue CDDA command
CDZ only BIOS calls
Check track 0 ? Copy protection