PLAYER START subroutine

From NeoGeo Development Wiki
Jump to navigation Jump to search

The PLAYER_START subroutine is called by the System ROM if one of the start buttons are pressed while the corresponding player has enough credits or when the time runs out while the game's title screen is being displayed.

BIOS_START_FLAG ($10FDB4.b) indicates which player(s) pushed start (active high):

Bit 7 6 5 4 3 2 1 0
Def - P4P3P2P1

This subroutine needs to leave these bits to "1" if the game can be started, or clear them if not. When the game is started, it has to set to "1" (playing status) the corresponding PLAYER_MODE byte for each player:

  • 10FDB6.b for P1
  • 10FDB7.b for P2
  • 10FDB8.b for P3
  • 10FDB9.b for P4

After returning, the System ROM deducts credits according to BIOS_START_FLAG.