BIOS calls: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
mNo edit summary
 
(19 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Please see [[ASM Defines]] or [[C Defines]] for the hex addresses.
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 (CDM3-2)
|'''"SP-E" MVS BIOS'''
|Common CDZ BIOS
|'''"TOP-SP1-1" CDM3-2 BIOS''' & '''"FRONT-SP1" BIOS'''
|'''"NEOCD.BIN" CDZ BIOS'''
|-
|-
|$C00402 to $C00432
|$C00402 to $C00432
|colspan="3"|Entry point
|colspan="4"|Entry point
|-
|-
|$C00438
|$C00438
|colspan="3"|Vblank handler for boot process (?)
|colspan="4"|[[SYSTEM_INT1]]
|-
|-
|$C0043E
|$C0043E
|colspan="2"|?
|colspan="2"|[[SYSTEM_INT2]]
|RTS
|colspan="2"|RTS
|-
|-
|$C00444
|$C00444
|colspan="3"|Some games JMP here
|colspan="4"|[[SYSTEM_RETURN]]
|-
|-
|$C0044A
|$C0044A
|colspan="3"|BIOSF_VBL
|colspan="4"|[[SYSTEM_IO]]
|-
|$C00450
|colspan="4"|[[CREDIT_CHECK]]
|-
|-
|$C00450 to $C0045C
|$C00456
|colspan="3"|?
|colspan="4"|[[CREDIT_DOWN]]
|-
|$C0045C
|RTS
|[[READ_CALENDAR]]
|colspan="2"|RTS
|-
|-
|$C00462
|$C00462
|colspan="2"|?
|RTS
|RTS
|[[SETUP_CALENDAR]]
|colspan="2"|RTS
|-
|-
|$C00468
|$C00468
|BIOSF_CRDACCESS
|colspan="4"|[[CARD]]
|colspan="2"|?
|-
|-
|$C0046E
|$C0046E
|BIOSF_CRDREPORT
|colspan="4"|[[CARD_ERROR]]
|colspan="2"|?
|-
|$C00474
|colspan="2"|[[HOW_TO_PLAY]]
|colspan="2"|RTS
|-
|-
|$C00474,$C0047A
|$C0047A
|?
|colspan="2"|Calc a checksum and loop forever
|colspan="2"|RTS
|colspan="2"|RTS
|-
|-
|$C00480 to $C004BC
|$C00480 to $C004BC
|colspan="3"|RTS
|colspan="4"|RTS
|-
|-
|$C004C2
|$C004C2
|colspan="3"|BIOSF_CLEARFIX
|colspan="4"|[[FIX_CLEAR]]
|-
|-
|$C004C8
|$C004C8
|colspan="3"|BIOSF_CLEARSPR
|colspan="4"|[[LSP_1st]]
|-
|$C004CE
|colspan="4"|[[MESS_OUT]]
|-
|-
|$C004CE, $C004D4
|$C004D4
|colspan="3"|?
|colspan="4"|[[CONTROLLER_SETUP]]
|-
|-
|$C004DA
|$C004DA
|Invalid
|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"|Upload to DRAM
|colspan="2"|[[BIOSF_UPLOAD]]
|-
|-
|$C0054C
|$C0054C
|Invalid
|colspan="2"|Invalid
|colspan="2"|?
|colspan="2"|?
|-
|-
|$C00522
|$C00552
|Invalid
|colspan="2"|Invalid
|colspan="2"|Load file with animation
|colspan="2"|[[BIOSF_LOADFILE]]
|-
|-
|$C00558,$C005EE
|$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"|Load file without animation
|colspan="2"|BIOSF_LOADFILEX (?)
|-
|-
|$C0056A
|$C0056A
|Invalid
|colspan="2"|Invalid
|colspan="2"|CDDA
|colspan="2"|[[BIOSF_CDDACMD]]
|-
|-
|$C00570
|$C00570
|Invalid
|colspan="2"|Invalid
|colspan="2"|Videolayers
|colspan="2"|[[BIOSF_VIDEOEN]]
|-
|-
|$C00576 to $C00582
|$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,$C00592
|$C00588 to $C00594
|Invalid
|colspan="2"|Invalid
|RTS
|RTS
|?
|?
|-
|-
|$C00598 to $C006FC
|$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.


*[[BIOSF_CLEARFIX]]: Clear fix layer
*[[FIX_CLEAR]]: Clear fix layer
*[[BIOSF_CLEARSPR]]: Clear sprites
*[[LSP_1st]]: Clear sprites
*[[BIOSF_VBL]]: Multiple purpose VBL routine
*[[SYSTEM_INT1]]: Multiple purpose VBL routine
 
*[[CARD]]: Perform memory card operation
= AES/MVS only BIOS calls =


*[[BIOSF_CRDACCESS]]: 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:Code]]
[[Category:BIOS calls]]
[[Category:CPUs]]

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.

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

CDZ only BIOS calls

Check track 0 ? Copy protection