PLAYER START subroutine: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
m (BIOS -> system ROM)
mNo edit summary
 
Line 1: Line 1:
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 is being displayed (?).
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 pushed start (active high):
BIOS_START_FLAG ($10FDB4.b) indicates which player(s) pushed start (active high):
 
{{8BitRegister|-|4|P4|1|P3|1|P2|1|P1|1|}}


{|8BitRegister|.|4|P4|1|P3|1|P2|1|P1|1|}


This subroutine needs to leave these bits to "1" if the game can be started, or clear them if not.
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" the corresponding bytes for each player:
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
*10FDB6.b for P1

Latest revision as of 19:04, 14 May 2017

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.