Prev: 8204 Up: Map Next: 837C
8258: Attract mode
Sets up the attract stage and then drives the game as a demonstration. Each frame it scans for fire (returning at once if pressed), runs a demo tick via drive_attract_demo and prints the attract_messages messages. "PRESS GEAR TO PLAY" blinks: a pattern is rotated through RRCA each frame and the message is included in the print count only when the bit rotated out is clear. Once the transition has stopped it alternates between credits_messages and copyright_messages each frame.
Used by the routine at start_siren_hook.
attract_mode_48k 8258 LD HL,$5D2B HL -> attract_data
825B CALL set_up_stage Call set_up_stage
825E XOR A Reset credits/copyright message blinker to show credits
825F LD ($828C),A
8262 LD HL,$0190 Set speed to 400
8265 LD ($A24A),HL
attract_mode_48k_0 8268 CALL keyscan Call keyscan
826B AND $10 Return if fire was pressed
826D RET NZ
826E CALL drive_attract_demo Call drive_attract_demo
This entry point is used by the routine at load_stage_128k.
attract_mode_48k_1 8271 LD HL,$82A6 HL -> attract mode messages "CHASE HQ" "PRESS GEAR TO PLAY" ...
8274 LD B,$01 Number of messages?
Blink "PRESS GEAR TO PLAY".
8276 LD A,$F0 A = <initially $F0, self modified>
8278 RRCA Rotate
8279 LD ($8277),A Self modify above
827C JR C,attract_mode_48k_2 If carry set the hide the final message
827E INC B Otherwise include it
Display 'B' messages.
attract_mode_48k_2 827F LD A,(HL) Load flags
8280 CALL print_message Call print_message
8283 DJNZ attract_mode_48k_2 Loop while B > 0
8285 LD A,($A231) Jump if transition_control > 0
8288 AND A
8289 JR NZ,attract_mode_48k_4
Alternate between credits and copyright messages.
828B LD A,$00 Blinking on/off self modified pattern
828D XOR $01
828F LD ($828C),A
8292 LD HL,$82CC HL -> credits_messages
8295 JR NZ,attract_mode_48k_3 Skip next LD HL based on blink above
8297 LD HL,$8320 HL -> copyright_messages
attract_mode_48k_3 829A CALL setup_overlay_messages Call setup_overlay_messages
attract_mode_48k_4 829D CALL transition Call transition
82A0 CALL send_playfield Call send_playfield
82A3 JP attract_mode_48k_0 Loop
attract_messages 82A6 DEFB $03 Flags (double height)
82A7 DEFB $00 Attribute (black)
82A8 DEFW $F02C Back buffer address
82AA DEFW $594C Attribute address
82AC DEFM "CHASE H",$D1 "CHASE HQ"
82B4 DEFB $02 Flags (single height)
82B5 DEFB $00 Attribute (black)
82B6 DEFW $F847 Back buffer address
82B8 DEFW $59A7 Attribute address
82BA DEFM "PRESS GEAR TO PLA",$D9 "PRESS GEAR TO PLAY" (this blinks)
credits_messages 82CC DEFB $0A Frame delay until the following messages start being shown (0 = 256)
82CD DEFB $08 Frame delay until next message?
82CE DEFB $02 Flags (single)
82CF DEFB $02 Attribute (red)
82D0 DEFW $F086 Back buffer address
82D2 DEFW $5A06 Attribute address
82D4 DEFM "PROGRAM JOBBEE",$C5 "PROGRAM JOBBEEE"
82E8 DEFB $08 Frame delay?
82E9 DEFB $02 Flags (single)
82EA DEFB $02 Attribute (red)
82EB DEFW $F0A6 Back buffer address
82ED DEFW $5A46 Attribute address
82EF DEFM "GRAPHICS BIL",$CC "GRAPHICS BILL"
8303 DEFB $28 Delay + stop flags? $28
8304 DEFB $02 Flags (single)
8305 DEFB $02 Attribute (red)
8306 DEFW play_noise Back buffer address
8308 DEFW $5A86 Attribute address
830A DEFM "MUSIC JON DUN",$CE "MUSIC JON DUNN"
831E DEFB $03
831F DEFB $00
copyright_messages 8320 DEFB $0A,$08 (Frame delays as credits_messages)
8322 DEFB $02 Flags (single)
8323 DEFB $02 Attribute (red)
8324 DEFW $F084 Back buffer address
8326 DEFW $5A04 Attribute address
8328 DEFM "(C) 1989 OCEAN SOFTWAR",$C5 "(C) 1989 OCEAN SOFTWARE"
833F DEFB $08 Frame delay?
8340 DEFB $02 Flags (single)
8341 DEFB $02 Attribute (red)
8342 DEFW $F0A3 Back buffer address
8344 DEFW $5A43 Attribute address
8346 DEFM "(C) 1988 TAITO CORPORATIO",$CE "(C) 1988 TAITO CORPORATION"
8360 DEFB $28 Delay + stop flags? $28
8361 DEFB $02 Flags (single)
8362 DEFB $02 Attribute (red)
8363 DEFW play_noise Back buffer address
8365 DEFW $5A86 Attribute address
8367 DEFM "ALL RIGHTS RESERVE",$C4 "ALL RIGHTS RESERVED"
837A DEFB $03
837B DEFB $00
Prev: 8204 Up: Map Next: 837C