Advertisement
Guest User

skyjaguar konami

a guest
Dec 6th, 2016
1,150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.         ;;
  2.         ;; BIOS
  3.         ;;
  4. hook_isr0 equ 0xfd9a
  5. hook_isr1 equ 0xfd9b
  6.  
  7. VDP_RD equ 0x0006
  8. VDP_WR equ 0x0007
  9.  
  10.           ; Function : write data in the VDP-register
  11.           ; Input    : B  - data to write
  12.           ;      C  - number of the register
  13.           ; Registers: AF, BC
  14. WRTVDP equ 0x0047
  15.  
  16.           ; load_game_pat_nam+52p ...
  17.           ; Function : Writes data in VRAM
  18.           ; Input    : HL - address write
  19.           ;      A  - value write
  20.           ; Registers: AF
  21. WRTVRM equ 0x004d
  22.  
  23.           ; CODE XREF: vdp_set_readp
  24.           ; Function : Enable VDP to read
  25.           ; Input    : HL - for VRAM-address
  26.           ; Registers: AF
  27. SETRD equ 0x0050
  28.  
  29.           ; Function : Enable VDP to write
  30.           ; Input    : HL - Address
  31.           ; Registers: AF
  32. SETWRT equ 0x0053
  33.  
  34.           ; Function : fill VRAM with value
  35.           ; Input    : A  - data byte
  36.           ;      BC - length of the area to be written
  37.           ;      HL - start address
  38.           ; Registers: AF, BC
  39. FILVRM equ 0x0056
  40.  
  41.           ; Function : Block transfer to VRAM from memory
  42.           ; Input    : BC - blocklength
  43.           ;      DE - Start address of VRAM
  44.           ;      HL - Start address of memory
  45. LDIRVM equ 0x005c
  46.  
  47.           ; Function : Writes data to PSG-register
  48.           ; Input    : A  - PSG register number
  49.           ;      E  - data write
  50. WRTPSG equ 0x0093
  51.  
  52.           ; Function : Reads value from PSG-register
  53.           ; Input    : A  - PSG-register read
  54.           ; Output   : A  - value read
  55. RDPSG equ 0x0096
  56.  
  57.           ; Function : Alternates the CAP lamp status
  58.           ; Input    : A  - #00 is lamp on
  59.           ;       not #00 is lamp off
  60.           ; Registers: AF
  61. CHGCAP equ 0x0132
  62.  
  63.           ; Function : Reads VDP status register
  64.           ; Output   : A  - Value which was read
  65.           ; Registers: A
  66. RDVDP equ 0x13e
  67.  
  68.           ; Function : Returns the value of the specified line from the keyboard matrix
  69.           ; Input    : A  - for the specified line
  70.           ; Output   : A  - for data (the bit corresponding to the pressed key will be 0)
  71.           ; Registers: AF
  72. SNSMAT equ 0x141
  73.  
  74.         ;;
  75.         ;; RAM
  76.         ;;
  77.         map 0xe000
  78.  
  79. state # (0xe001-0xe000)
  80. substate # (0xe002-0xe001)
  81. state_flags # (0xe003-0xe002)
  82. frame_count # (0xe004-0xe003)
  83. state_pause # (0xe005-0xe004)
  84. frame_count7 # (0xe006-0xe005)
  85. skip_update # (0xe009-0xe006)
  86. input_key_pressed # (0xe00A-0xe009)
  87. input_key_down # (0xe00c-0xe00A)
  88. unk_E00C # (0xe00d-0xe00c)
  89. konami_count # (0xe00E-0xe00d)
  90. konami_pos # (0xe018-0xe00E)
  91. music_channels # (0xe01A-0xe018)
  92. music_channel0 # (0xe026-0xe01A)
  93. music_channel1 # (0xe032-0xe026)
  94. music_channel2 # (0xe03C-0xe032)
  95. psg_reg7 # (0xe040-0xe03C)
  96. demo_counter # (0xe042-0xe040)
  97. input_unk_E042 # (0xe043-0xe042)
  98. game_word_E043 # (0xe045-0xe043)
  99. game_byte_E045 # (0xe049-0xe045)
  100. unk_E049 # (0xe04B-0xe049)
  101. game_unk_E04B # (0xe050-0xe04B)
  102. byte_E050 # (0xe051-0xe050)
  103. game_unk_E051 # (0xe052-0xe051)
  104. game_byte_E052 # (0xe053-0xe052)
  105. game_ended # (0xe0B0-0xe053)
  106. sprs_attribute # (0xe0B2-0xe0B0)
  107. player_unk_E0B2 # (0xe0B8-0xe0B2)
  108. game_unk_E0B8 # (0xe0C4-0xe0B8)
  109. game_unk_E0C4 # (0xe0D4-0xe0C4)
  110. game_unk_E0D4 # (0xe0D8-0xe0D4)
  111. game_unk_E0D8 # (0xe10C-0xe0D8)
  112. game_unk_E10C # (0xe114-0xe10C)
  113. game_unk_E114 # (0xe140-0xe114)
  114. game_byte_E140 # (0xe141-0xe140)
  115. game_byte_E141 # (0xe143-0xe141)
  116. game_byte_E143 # (0xe144-0xe143)
  117. game_byte_E144 # (0xe145-0xe144)
  118. game_unk_E145 # (0xe146-0xe145)
  119. game_unk_E146 # (0xe150-0xe146)
  120. game_unk_E150 # (0xe154-0xe150)
  121. game_unk_E154 # (0xe180-0xe154)
  122. game_unk_E180 # (0xe181-0xe180)
  123. player_spr_attr # (0xe191-0xe181)
  124. game_byte_E191 # (0xe194-0xe191)
  125. game_byte_E194 # (0xe196-0xe194)
  126. game_byte_E196 # (0xe197-0xe196)
  127. game_byte_E197 # (0xe198-0xe197)
  128. game_byte_E198 # (0xe199-0xe198)
  129. game_byte_E199 # (0xe19A-0xe199)
  130. game_byte_E19A # (0xe1B0-0xe19A)
  131. game_byte_E1B0 # (0xe1B1-0xe1B0)
  132. game_byte_E1B1 # (0xe1B7-0xe1B1)
  133. game_byte_E1B7 # (0xe1B8-0xe1B7)
  134. game_word_E1B8 # (0xe1BA-0xe1B8)
  135. game_byte_E1BA # (0xe1BE-0xe1BA)
  136. game_word_E1BE # (0xe1C1-0xe1BE)
  137. game_byte_E1C1 # (0xe1C2-0xe1C1)
  138. game_word_E1C2 # (0xe1C4-0xe1C2)
  139. game_word_E1C4 # (0xe1C6-0xe1C4)
  140. game_unk_E1C6 # (0xe1CD-0xe1C6)
  141. game_byte_E1CD # (0xe1CE-0xe1CD)
  142. game_byte_E1CE # (0xe1CF-0xe1CE)
  143. game_byte_E1CF # (0xe1D1-0xe1CF)
  144. game_byte_E1D1 # (0xe1D2-0xe1D1)
  145. game_byte_E1D2 # (0xe1D3-0xe1D2)
  146. game_byte_E1D3 # (0xe1D4-0xe1D3)
  147. game_byte_E1D4 # (0xe1D5-0xe1D4)
  148. game_byte_E1D5 # (0xe1D6-0xe1D5)
  149. game_byte_E1D6 # (0xe1D7-0xe1D6)
  150. game_word_E1D7 # (0xe1D9-0xe1D7)
  151. game_byte_E1D9 # (0xe1DA-0xe1D9)
  152. game_byte_E1DA # (0xe1DB-0xe1DA)
  153. game_byte_E1DB # (0xe1DC-0xe1DB)
  154. game_byte_E1DC # (0xe1DD-0xe1DC)
  155. game_byte_E1DD # (0xe1DE-0xe1DD)
  156. game_byte_E1DE # (0xe200-0xe1DE)
  157. game_unk_E200 # (0xe201-0xe200)
  158. game_unk_E201 # (0xe260-0xe201)
  159. game_unk_E260 # (0xe270-0xe260)
  160. game_unk_E270 # (0xe290-0xe270)
  161. game_unk_E290 # (0xe310-0xe290)
  162. game_word_E310 # (0xe312-0xe310)
  163. game_word_E312 # (0xe314-0xe312)
  164. game_word_E314 # (0xe316-0xe314)
  165. game_word_E316 # (0xe318-0xe316)
  166. game_byte_E318 # (0xe320-0xe318)
  167. game_byte_E320 # (0xe321-0xe320)
  168. game_byte_E321 # (0xe400-0xe321)
  169. stack_base # 1
  170.  
  171.         ;;
  172.         ;; ROM
  173.         ;;
  174.         defpage 0,0x4000,0x4000
  175.     db 41h
  176.     db 42h
  177.     dw start
  178. ; ---------------------------------------------------------------------------
  179.     nop
  180.     nop
  181.     nop
  182.     nop
  183.     nop
  184.     nop
  185.     nop
  186.     nop
  187.     nop
  188.     nop
  189.     nop
  190.     nop
  191.  
  192. ; =============== S U B R O U T I N E =======================================
  193.  
  194.  
  195. start:          ; DATA XREF: ROM:4002o
  196.     di
  197.     im  1
  198.     ld  a, 0C3h ; ''
  199.     ld  (hook_isr0), a
  200.     ld  hl, isr
  201.     ld  (hook_isr1), hl
  202.     ld  sp, stack_base
  203.     ld  hl, 0E000h  ; clear RAM
  204.     ld  de, 0E001h
  205.     ld  bc, 3FFh
  206.     ld  (hl), 0
  207.     ldir
  208.     ld  a, 1
  209.     ld  (skip_update), a
  210.     call  CHGCAP    ; Function : Alternates the CAP lamp status
  211.           ; Input    : A  - #00 is lamp on
  212.           ;       not #00 is lamp off
  213.           ; Registers: AF
  214.     call  init
  215.     xor a
  216.     ld  (skip_update), a
  217.     call  RDVDP   ; Function : Reads VDP status register
  218.           ; Output   : A  - Value which was read
  219.           ; Registers: A
  220.     ei
  221.  
  222. loc_4041:       ; CODE XREF: start:loc_4041j
  223.     jr  $
  224. ; End of function start
  225.  
  226.  
  227. ; =============== S U B R O U T I N E =======================================
  228.  
  229.  
  230. isr:          ; DATA XREF: start+8o
  231.     call  RDVDP   ; Function : Reads VDP status register
  232.           ; Output   : A  - Value which was read
  233.           ; Registers: A
  234.     di
  235.     call  update_music
  236.     ld  hl, skip_update
  237.     bit 0, (hl)
  238.     jr  nz, skip
  239.     inc (hl)
  240.     ei
  241.     call  read_input
  242.     call  update_state
  243.     xor a
  244.     ld  (skip_update), a
  245.  
  246. skip:         ; CODE XREF: isr+Cj
  247.     call  RDVDP   ; Function : Reads VDP status register
  248.           ; Output   : A  - Value which was read
  249.           ; Registers: A
  250.     or  a
  251.     di
  252.     call  m, update_music
  253.     ei
  254.     ret
  255. ; End of function isr
  256.  
  257.  
  258. ; =============== S U B R O U T I N E =======================================
  259.  
  260. ; HL=HL+A
  261.  
  262. add_a_to_hl:        ; CODE XREF: switch_jump+2p
  263.           ; sub_430A+15p  ...
  264.     add a, l
  265.     ld  l, a
  266.     ret nc
  267.     inc h
  268.     ret
  269. ; End of function add_a_to_hl
  270.  
  271.  
  272. ; =============== S U B R O U T I N E =======================================
  273.  
  274. ; DE=DE+A
  275.  
  276. add_a_to_de:        ; CODE XREF: game_sub_4773+2Fp
  277.           ; game_sub_4773+3Dp ...
  278.     add a, e
  279.     ld  e, a
  280.     ret nc
  281.     inc d
  282.     ret
  283. ; End of function add_a_to_de
  284.  
  285.  
  286. ; =============== S U B R O U T I N E =======================================
  287.  
  288. ; JP (HL+A*2)
  289.  
  290. switch_jump:        ; CODE XREF: update_state:loc_40C6p
  291.     pop hl
  292.     add a, a
  293.     call  add_a_to_hl ; HL=HL+A
  294.     ld  e, (hl)
  295.     inc hl
  296.     ld  d, (hl)
  297.     ex  de, hl
  298.     jp  (hl)
  299. ; End of function switch_jump
  300.  
  301.  
  302. ; =============== S U B R O U T I N E =======================================
  303.  
  304.  
  305. swap_mem:       ; CODE XREF: swap_mem+7j
  306.     ld  c, (hl)
  307.     ld  a, (de)
  308.     ld  (hl), a
  309.     ld  a, c
  310.     ld  (de), a
  311.     inc hl
  312.     inc de
  313.     djnz  swap_mem
  314.     ret
  315. ; End of function swap_mem
  316.  
  317.  
  318. ; =============== S U B R O U T I N E =======================================
  319.  
  320.  
  321. unused_sub_4085:
  322.     ld  a, l
  323.     rra
  324.     rra
  325.     rra
  326.     rra
  327.     rr  h
  328.     rra
  329.     rr  h
  330.     rra
  331.     rr  h
  332.     ld  l, h
  333.     and 3
  334.     add a, 38h ; '8'
  335.     ld  h, a
  336.     ret
  337. ; End of function unused_sub_4085
  338.  
  339.  
  340. ; =============== S U B R O U T I N E =======================================
  341.  
  342.  
  343. unused_sub_4099:
  344.     add hl, hl
  345.     add hl, hl
  346.     add hl, hl
  347.     ld  a, h
  348.     rla
  349.     rla
  350.     rla
  351.     and 0F8h ; ''
  352.     ld  h, l
  353.     ld  l, a
  354.     ret
  355. ; End of function unused_sub_4099
  356.  
  357.  
  358. ; =============== S U B R O U T I N E =======================================
  359.  
  360.  
  361. update_state:       ; CODE XREF: isr+13p
  362.     ld  hl, frame_count
  363.     inc (hl)
  364.     ld  a, (hl)
  365.     and 7
  366.     inc hl
  367.     inc hl
  368.     ld  (hl), a
  369.     ld  a, (state_flags)
  370.     and 1000000b
  371.     ld  hl, state_ret
  372.     jr  nz, loc_40BC
  373.     ld  hl, read_input_state ; read the joystick and keyboard input
  374.           ; and do something else
  375.  
  376. loc_40BC:       ; CODE XREF: update_state+12j
  377.     ld  bc, (state)
  378.     ld  a, c
  379.     cp  3
  380.     jr  z, loc_40C6
  381.     push  hl
  382.  
  383. loc_40C6:       ; CODE XREF: update_state+1Ej
  384.     call  switch_jump ; JP (HL+A*2)
  385. ; ---------------------------------------------------------------------------
  386.     dw update_state0  ; konami logo
  387.     dw update_state1  ; jaguar logo
  388.     dw update_state2  ; play demo
  389.     dw update_state3
  390.     dw update_state4
  391.     dw update_state5  ; game state
  392.     dw update_state6
  393.     dw update_state7  ; maybe game end state
  394. ; End of function update_state
  395.  
  396.  
  397. ; =============== S U B R O U T I N E =======================================
  398.  
  399. ; konami logo
  400.  
  401. update_state0:        ; DATA XREF: update_state+24o
  402.     djnz  state0substate1
  403.     ld  a, (frame_count)
  404.     rra
  405.     ret nc
  406.     call  move_konami_up
  407.     ret nz
  408.     ld  de, konami_pat_nam
  409.     call  vpokes
  410.     xor a
  411.     jr  next_substate
  412. ; ---------------------------------------------------------------------------
  413.  
  414. state0substate1:      ; CODE XREF: update_state0j
  415.     djnz  state0substate2
  416.     ld  hl, state_pause
  417.     dec (hl)
  418.     ret nz
  419.     ld  de, konami_pat_nam
  420.     call  clear_vpokes
  421.     call  load_jaguar_pat_gen
  422.     jr  next_substate_
  423. ; ---------------------------------------------------------------------------
  424.  
  425. state0substate2:      ; CODE XREF: update_state0:state0substate1j
  426.     djnz  state0substate3
  427.     call  load_jaguar_pat_nam
  428.     xor a
  429.     jp  next_state_
  430. ; ---------------------------------------------------------------------------
  431.  
  432. state0substate3:      ; CODE XREF: update_state0:state0substate2j
  433.     call  clear
  434.     call  vdp_init
  435.     call  load_konami_logo
  436.     call  setup_konami_vars
  437.     jr  next_substate_
  438. ; End of function update_state0
  439.  
  440.  
  441. ; =============== S U B R O U T I N E =======================================
  442.  
  443. ; jaguar logo
  444.  
  445. update_state1:        ; DATA XREF: update_state+26o
  446.     ld  hl, state_pause
  447.     dec (hl)
  448.     ret nz
  449.     jr  next_state
  450. ; End of function update_state1
  451.  
  452.  
  453. ; =============== S U B R O U T I N E =======================================
  454.  
  455. ; play demo
  456.  
  457. update_state2:        ; DATA XREF: update_state+28o
  458.     djnz  state2substate1
  459.     call  update_game
  460.     ld  a, (game_ended)
  461.     or  a
  462.     ret nz
  463.  
  464. loc_4127:       ; CODE XREF: update_state7+27j
  465.     xor a
  466.     jp  loc_4197
  467. ; ---------------------------------------------------------------------------
  468.  
  469. state2substate1:      ; CODE XREF: update_state2j
  470.     call  clear
  471.     call  init_demo
  472.     ld  a, 18h
  473. ; End of function update_state2
  474.  
  475.  
  476. ; =============== S U B R O U T I N E =======================================
  477.  
  478.  
  479. next_substate:        ; CODE XREF: update_state0+12j
  480.           ; update_state4+29j
  481.     ld  (state_pause), a
  482.  
  483. next_substate_:       ; CODE XREF: update_state0+24j
  484.           ; update_state0+3Bj ...
  485.     ld  hl, substate
  486.     inc (hl)
  487.  
  488. state_ret:        ; DATA XREF: update_state+Fo
  489.     ret
  490. ; End of function next_substate
  491.  
  492.  
  493. ; =============== S U B R O U T I N E =======================================
  494.  
  495.  
  496. update_state3:        ; DATA XREF: update_state+2Ao
  497.     ld  a, 93h ; ''
  498.     call  music_sub_79E5
  499.     call  state3_sub_41E5 ; setup something about state 3
  500.     jp  next_state
  501. ; End of function update_state3
  502.  
  503.  
  504. ; =============== S U B R O U T I N E =======================================
  505.  
  506.  
  507. show_jaguar_logo:     ; CODE XREF: update_state7+Ep
  508.           ; read_input_state+2Ej
  509.     call  clear
  510.     call  load_jaguar_logo
  511.     jp  next_substate_
  512. ; End of function show_jaguar_logo
  513.  
  514.  
  515. ; =============== S U B R O U T I N E =======================================
  516.  
  517.  
  518. update_state4:        ; DATA XREF: update_state+2Co
  519.     djnz  substate1
  520.     ld  hl, state_pause
  521.     dec (hl)
  522.     ret nz
  523.     call  game_sub_45A6
  524.     ld  hl, game_ended
  525.     ld  (hl), 1
  526.  
  527. next_state:       ; CODE XREF: update_state1+5j
  528.           ; update_state3+8j ...
  529.     ld  a, 18h
  530.  
  531. next_state_:        ; CODE XREF: update_state0+2Cj
  532.           ; update_state6+29j
  533.     ld  (state_pause), a
  534.  
  535. next_state__:       ; CODE XREF: unused_state+5j
  536.     ld  hl, state
  537.     inc (hl)
  538.  
  539. reset_substate:       ; CODE XREF: update_state6+10j
  540.     xor a
  541.     ld  (substate), a
  542.     ret
  543. ; ---------------------------------------------------------------------------
  544.  
  545. substate1:        ; CODE XREF: update_state4j
  546.     call  clear
  547.     ld  hl, byte_E050
  548.     dec (hl)
  549.     call  load_game_pat_nam
  550.     ld  a, 1
  551.     jp  next_substate
  552. ; End of function update_state4
  553.  
  554.  
  555. ; =============== S U B R O U T I N E =======================================
  556.  
  557. ; game state
  558.  
  559. update_state5:        ; DATA XREF: update_state+2Eo
  560.     call  update_game
  561.     ld  a, (game_ended)
  562.     or  a
  563.     ret nz
  564.     ld  (game_byte_E1DD), a
  565.     jr  next_state
  566. ; End of function update_state5
  567.  
  568.  
  569. ; =============== S U B R O U T I N E =======================================
  570.  
  571.  
  572. unused_state:
  573.     ld  a, 7
  574.     ld  (state), a
  575.     jr  next_state__
  576. ; End of function unused_state
  577.  
  578.  
  579. ; =============== S U B R O U T I N E =======================================
  580.  
  581.  
  582. update_state6:        ; DATA XREF: update_state+30o
  583.     ld  a, (byte_E050)
  584.     or  a
  585.     jr  z, loc_41A1
  586.     ld  a, 4
  587.  
  588. loc_4197:       ; CODE XREF: update_state2+Bj
  589.     ld  (state), a
  590.     ld  a, 18h
  591.     ld  (state_pause), a
  592.     jr  reset_substate
  593. ; ---------------------------------------------------------------------------
  594.  
  595. loc_41A1:       ; CODE XREF: update_state6+4j
  596.     call  clear_sprites2
  597.     call  update_music
  598.     ld  de, word_4B3C ; pattern name data
  599.     call  vpokes
  600.     ld  a, 6
  601.     ld  (state), a
  602.     ld  a, 99h ; ''
  603.     call  music_sub_79E5
  604.     xor a
  605.     jp  next_state_
  606. ; End of function update_state6
  607.  
  608.  
  609. ; =============== S U B R O U T I N E =======================================
  610.  
  611. ; maybe game end state
  612.  
  613. update_state7:        ; DATA XREF: update_state+32o
  614.     ld  de, state_flags
  615.     ld  a, (input_key_pressed) ; BIT
  616.           ; 0   up
  617.           ; 1   down
  618.           ; 2   left
  619.           ; 3   right
  620.           ; 4   trigger A
  621.           ; 5   trigger B
  622.     and 10000b
  623.     jr  z, loc_41D8
  624.     ld  a, (de)
  625.     and 10111111b
  626.     ld  (de), a
  627.     call  show_jaguar_logo
  628.     pop de
  629.     ld  hl, 1
  630.     ld  (state), hl
  631.     ld  a, 9Dh ; ''
  632.     jp  music_sub_79E5
  633. ; ---------------------------------------------------------------------------
  634.  
  635. loc_41D8:       ; CODE XREF: update_state7+8j
  636.     ld  a, (music_channel0)
  637.     cp  99h ; ''
  638.     ret z
  639.     ld  a, (de)
  640.     and 0BFh ; ''
  641.     ld  (de), a
  642.     jp  loc_4127
  643. ; End of function update_state7
  644.  
  645.  
  646. ; =============== S U B R O U T I N E =======================================
  647.  
  648. ; setup something about state 3
  649.  
  650. state3_sub_41E5:      ; CODE XREF: update_state3+5p
  651.     ld  hl, unk_E049
  652.     ld  bc, 2F7h
  653.     ld  d, h
  654.     ld  e, l
  655.     inc e
  656.     ld  (hl), 0
  657.     ldir
  658.     ld  hl, byte_4200
  659.     ld  de, byte_E050
  660.     ld  bc, 4
  661.     ldir
  662.     jp  load_game_pat_gen_col
  663. ; ---------------------------------------------------------------------------
  664. byte_4200:  db 3      ; DATA XREF: state3_sub_41E5+Do
  665.     db 1
  666.     db 0
  667.     db 2
  668. ; End of function state3_sub_41E5
  669.  
  670.  
  671. ; =============== S U B R O U T I N E =======================================
  672.  
  673.  
  674. init_demo:        ; CODE XREF: update_state2+11p
  675.     call  load_game_pat_nam
  676.     call  load_game_pat_gen_col
  677.     xor a
  678.     ld  (game_byte_E140), a
  679.     ld  (unk_E00C), a
  680.     inc a
  681.     ld  (game_ended), a
  682.     ld  hl, demo_counter ; maybe to select the demo stage
  683.     ld  a, (hl)
  684.     inc (hl)
  685.     cp  1
  686.     jr  nz, loc_421F
  687.     inc (hl)
  688.  
  689. loc_421F:       ; CODE XREF: init_demo+18j
  690.     cp  6
  691.     jr  nz, loc_4225
  692.     ld  (hl), 0
  693.  
  694. loc_4225:       ; CODE XREF: init_demo+1Dj
  695.     ld  h, a
  696.     ld  l, 0
  697.     ld  (game_word_E1B8), hl
  698.     jp  game_sub_45A6
  699. ; End of function init_demo
  700.  
  701. ; ---------------------------------------------------------------------------
  702. ; START OF FUNCTION CHUNK FOR clear
  703.  
  704. clear_sprites:        ; CODE XREF: clear+Aj
  705.     ld  hl, 3B00h
  706.     ld  bc, 128
  707.  
  708. loc_4234:       ; CODE XREF: clear-137j
  709.     ld  a, 227
  710.     call  FILVRM
  711.     ld  a, (music_channel0)
  712.     cp  147
  713.     ld  a, 157
  714.     jp  nz, music_sub_79E5
  715.     ret
  716. ; ---------------------------------------------------------------------------
  717.  
  718. clear_sprites2:       ; CODE XREF: update_state6:loc_41A1p
  719.     ld  hl, 3B24h
  720.     ld  bc, 92
  721.     jr  loc_4234
  722. ; END OF FUNCTION CHUNK FOR clear
  723.  
  724. ; =============== S U B R O U T I N E =======================================
  725.  
  726.  
  727. game_sub_424C:        ; CODE XREF: game_sub_69C9-19p
  728.           ; game_sub_69C9-Ep ...
  729.     ld  a, (state_flags)
  730.     add a, a
  731.     ret p
  732.     ld  hl, unk_E049
  733.     ld  a, (hl)
  734.     add a, e
  735.     daa
  736.     ld  (hl), a
  737.     ld  e, a
  738.     inc l
  739.     ld  a, (hl)
  740.     adc a, d
  741.     daa
  742.     ld  (hl), a
  743.     ld  d, a
  744.     inc hl
  745.     jr  nc, loc_4296
  746.     ld  a, (hl)
  747.     add a, 1
  748.     daa
  749.     ld  (hl), a
  750.     jr  nc, loc_4276
  751.     ld  bc, 9999h
  752.     ld  (game_word_E043), bc
  753.     ld  (game_word_E043+1), bc
  754.     jr  loc_42D0
  755. ; ---------------------------------------------------------------------------
  756.  
  757. loc_4276:       ; CODE XREF: game_sub_424C+1Bj
  758.     ld  a, (game_byte_E052)
  759.     cp  (hl)
  760.     jr  nc, loc_4296
  761.     push  de
  762.     push  hl
  763.     add a, 4
  764.     daa
  765.     jr  nc, loc_4285
  766.     ld  a, 0FFh
  767.  
  768. loc_4285:       ; CODE XREF: game_sub_424C+35j
  769.     ld  (game_byte_E052), a
  770.     ld  hl, byte_E050
  771.     inc (hl)
  772.     call  sub_430A
  773.     ld  a, 0Bh
  774.     call  game_sub_79D8
  775.     pop hl
  776.     pop de
  777.  
  778. loc_4296:       ; CODE XREF: game_sub_424C+14j
  779.           ; game_sub_424C+2Ej
  780.     ld  a, (game_byte_E045)
  781.     ld  b, (hl)
  782.     sub b
  783.     jr  c, loc_42A6
  784.     jr  nz, loc_42D9
  785.     ld  hl, (game_word_E043)
  786.     sbc hl, de
  787.     jr  nc, loc_42D9
  788.  
  789. loc_42A6:       ; CODE XREF: game_sub_424C+4Fj
  790.     ld  (game_word_E043), de
  791.     ld  a, b
  792.     ld  (game_byte_E045), a
  793.     jr  loc_42D0
  794. ; End of function game_sub_424C
  795.  
  796.  
  797. ; =============== S U B R O U T I N E =======================================
  798.  
  799.  
  800. load_game_pat_nam:      ; CODE XREF: update_state4+24p
  801.           ; init_demop
  802.     ld  de, word_4B00 ; game pattern name data
  803.     call  vpokes
  804.     call  sub_430A
  805.     call  loc_42E3
  806.     ld  de, unk_4B2F
  807.     ld  hl, 3AD8h
  808.     ld  bc, 7
  809.     call  LDIRVM_swaped
  810.     ld  hl, 3AFAh
  811.     ld  c, 5
  812.     call  LDIRVM_swaped
  813.  
  814. loc_42D0:       ; CODE XREF: game_sub_424C+28j
  815.           ; game_sub_424C+62j
  816.     ld  de, game_byte_E045
  817.     ld  hl, 38B9h
  818.     call  loc_42DF
  819.  
  820. loc_42D9:       ; CODE XREF: game_sub_424C+51j
  821.           ; game_sub_424C+58j
  822.     ld  hl, 3859h
  823.     ld  de, game_unk_E04B
  824.  
  825. loc_42DF:       ; CODE XREF: load_game_pat_nam+26p
  826.     ld  b, 3
  827.     jr  loc_42F0
  828. ; ---------------------------------------------------------------------------
  829.  
  830. loc_42E3:       ; CODE XREF: load_game_pat_nam+9p
  831.           ; game_sub_5820+Ap
  832.     ld  hl, 3A3Ch
  833.     ld  a, (state_flags)
  834.     and 40h ; '@'
  835.     ld  de, game_unk_E051
  836.     ld  b, 1
  837.  
  838. loc_42F0:       ; CODE XREF: load_game_pat_nam+31j
  839.           ; load_game_pat_nam+57j
  840.     ld  a, (de)
  841.     rra
  842.     rra
  843.     rra
  844.     rra
  845.     and 0Fh
  846.     add a, 10h
  847.     call  WRTVRM
  848.     inc hl
  849.     ld  a, (de)
  850.     and 0Fh
  851.     add a, 10h
  852.     call  WRTVRM
  853.     dec de
  854.     inc hl
  855.     djnz  loc_42F0
  856.     ret
  857. ; End of function load_game_pat_nam
  858.  
  859.  
  860. ; =============== S U B R O U T I N E =======================================
  861.  
  862.  
  863. sub_430A:       ; CODE XREF: game_sub_424C+40p
  864.           ; load_game_pat_nam+6p
  865.     ld  a, (byte_E050)
  866.     ld  b, 6
  867.     ld  c, a
  868.  
  869. loc_4310:       ; CODE XREF: sub_430A+25j
  870.     ld  a, 6
  871.     sub b
  872.     ld  hl, 3939h
  873.     cp  3
  874.     jr  c, loc_431E
  875.     ld  l, 79h ; 'y'
  876.     sub 3
  877.  
  878. loc_431E:       ; CODE XREF: sub_430A+Ej
  879.     add a, a
  880.     call  add_a_to_hl ; HL=HL+A
  881.     ld  e, 0
  882.     dec c
  883.     inc c
  884.     jr  z, loc_432A
  885.     dec c
  886.     dec e
  887.  
  888. loc_432A:       ; CODE XREF: sub_430A+1Cj
  889.     ld  a, 0A4h ; ''
  890.     call  loc_4332
  891.     djnz  loc_4310
  892.     ret
  893. ; ---------------------------------------------------------------------------
  894.  
  895. loc_4332:       ; CODE XREF: sub_430A+22p
  896.     call  loc_4341
  897.     call  loc_4341
  898.     ex  af, af'
  899.    ld  a, 1Eh
  900.    add a, l
  901.    ld  l, a
  902.    ex  af, af'
  903.     call  loc_4341
  904.  
  905. loc_4341:       ; CODE XREF: sub_430A:loc_4332p
  906.           ; sub_430A+2Bp  ...
  907.     and e
  908.     call  WRTVRM
  909.     inc a
  910.     inc hl
  911.     ret
  912. ; End of function sub_430A
  913.  
  914.  
  915. ; =============== S U B R O U T I N E =======================================
  916.  
  917.  
  918. load_jaguar_logo:     ; CODE XREF: show_jaguar_logo+3p
  919.     call  load_jaguar_pat_gen
  920.     jr  load_jaguar_pat_nam
  921. ; End of function load_jaguar_logo
  922.  
  923.  
  924. ; =============== S U B R O U T I N E =======================================
  925.  
  926.  
  927. load_jaguar_pat_gen:      ; CODE XREF: update_state0+21p
  928.           ; load_jaguar_logop
  929.     ld  b, 0E0h ; ''
  930.     call  write_vdp_reg7
  931.     call  clear
  932.     ld  de, byte_4D61 ; pattern generator data
  933.     ld  hl, 2600h
  934.     call  uncompress2vram3blocks
  935.     ld  bc, 0E0h ; ''
  936.     ld  hl, 600h
  937.     ld  a, 0F0h ; ''
  938.     call  FILVRM_3banks
  939.     ld  hl, 6E0h
  940.     ld  bc, 60h ; '`'
  941.     ld  a, 80h ; ''
  942.     jp  FILVRM_3banks
  943. ; End of function load_jaguar_pat_gen
  944.  
  945.  
  946. ; =============== S U B R O U T I N E =======================================
  947.  
  948.  
  949. load_jaguar_pat_nam:      ; CODE XREF: update_state0+28p
  950.           ; load_jaguar_logo+3j
  951.     ld  de, byte_4E82 ; pattern name data
  952.     call  uncompress_vram
  953.     ld  de, word_4B1C ; pattern name data
  954.     call  vpokes
  955.     ret
  956. ; End of function load_jaguar_pat_nam
  957.  
  958.  
  959. ; =============== S U B R O U T I N E =======================================
  960.  
  961.  
  962. clear:          ; CODE XREF: update_state0:state0substate3p
  963.           ; update_state2:state2substate1p ...
  964.  
  965. ; FUNCTION CHUNK AT 422E SIZE 0000001E BYTES
  966.  
  967.     ld  bc, 300h  ; clear pattern generation name
  968.     ld  hl, 3800h
  969.     xor a
  970.     call  FILVRM
  971.     jp  clear_sprites
  972. ; End of function clear
  973.  
  974.  
  975. ; =============== S U B R O U T I N E =======================================
  976.  
  977.  
  978. LDIRVM_swaped:        ; CODE XREF: load_game_pat_nam+15p
  979.           ; load_game_pat_nam+1Dp ...
  980.     ex  de, hl
  981.     jp  LDIRVM
  982. ; End of function LDIRVM_swaped
  983.  
  984. ; ---------------------------------------------------------------------------
  985.     db 0Eh
  986.     db 0
  987.     db 18h
  988.     db 0F8h ;
  989.  
  990. ; =============== S U B R O U T I N E =======================================
  991.  
  992.  
  993. uncompress_vram:      ; CODE XREF: load_jaguar_pat_nam+3p
  994.           ; uncompress_vram+18j ...
  995.     ex  de, hl
  996.     ld  e, (hl)
  997.     inc hl
  998.     ld  d, (hl)
  999.     ex  de, hl
  1000.     inc de
  1001.  
  1002. uncompress_vram_:     ; CODE XREF: uncompress2vram3blocks+4p
  1003.     call  vdp_set_write
  1004.     exx
  1005.     ld  a, c
  1006.     exx
  1007.     ld  c, a
  1008.  
  1009. loc_43A3:       ; CODE XREF: uncompress_vram+21j
  1010.           ; uncompress_vram+2Aj
  1011.     ld  a, (de)
  1012.     inc de
  1013.     ld  b, a
  1014.     and a
  1015.     ret z
  1016.     and 7Fh ; ''
  1017.     cp  b
  1018.     jr  z, loc_43B9
  1019.     and a
  1020.     jr  z, uncompress_vram
  1021.     ld  b, a
  1022.  
  1023. loc_43B1:       ; CODE XREF: uncompress_vram+1Fj
  1024.     ld  a, (de)
  1025.     inc de
  1026.     out (c), a
  1027.     djnz  loc_43B1
  1028.     jr  loc_43A3
  1029. ; ---------------------------------------------------------------------------
  1030.  
  1031. loc_43B9:       ; CODE XREF: uncompress_vram+15j
  1032.     ld  a, (de)
  1033.     inc de
  1034.  
  1035. loc_43BB:       ; CODE XREF: uncompress_vram+28j
  1036.     out (c), a
  1037.     nop
  1038.     djnz  loc_43BB
  1039.     jr  loc_43A3
  1040. ; End of function uncompress_vram
  1041.  
  1042.  
  1043. ; =============== S U B R O U T I N E =======================================
  1044.  
  1045.  
  1046. vdp_set_write:        ; CODE XREF: uncompress_vram:uncompress_vram_p
  1047.           ; vpokes+8p ...
  1048.     ex  af, af'
  1049.    call  SETWRT
  1050.    exx
  1051.    ld  a, (VDP_RD)
  1052.    ld  c, a
  1053.    exx
  1054.    ex  af, af'
  1055.     ret
  1056. ; End of function vdp_set_write
  1057.  
  1058.  
  1059. ; =============== S U B R O U T I N E =======================================
  1060.  
  1061.  
  1062. vdp_set_read:
  1063.     call  SETRD
  1064.     exx
  1065.     ld  a, (VDP_WR)
  1066.     ld  c, a
  1067.     exx
  1068.     ret
  1069. ; End of function vdp_set_read
  1070.  
  1071.  
  1072. ; =============== S U B R O U T I N E =======================================
  1073.  
  1074.  
  1075. vpokes:         ; CODE XREF: update_state0+Ep
  1076.           ; update_state6+1Bp ...
  1077.     ld  c, 0FFh
  1078.  
  1079. loc_43DA:       ; CODE XREF: vpokes+11j
  1080.           ; clear_vpokes+2j
  1081.     ex  de, hl
  1082.     ld  e, (hl)
  1083.     inc hl
  1084.     ld  d, (hl)
  1085.     ex  de, hl
  1086.     inc de
  1087.     call  vdp_set_write
  1088.  
  1089. loc_43E3:       ; CODE XREF: vpokes+19j
  1090.     ld  a, (de)
  1091.     inc de
  1092.     ld  b, a
  1093.     inc b
  1094.     ret z   ; at 0xff exit
  1095.     inc b
  1096.     jr  z, loc_43DA ; at 0xfe another address
  1097.     and c
  1098.     exx
  1099.     out (c), a
  1100.     exx
  1101.     inc hl
  1102.     jr  loc_43E3
  1103. ; End of function vpokes
  1104.  
  1105.  
  1106. ; =============== S U B R O U T I N E =======================================
  1107.  
  1108.  
  1109. clear_vpokes:       ; CODE XREF: update_state0+1Ep
  1110.     ld  c, 0
  1111.     jr  loc_43DA
  1112. ; End of function clear_vpokes
  1113.  
  1114.  
  1115. ; =============== S U B R O U T I N E =======================================
  1116.  
  1117.  
  1118. FILVRM_3banks:        ; CODE XREF: load_jaguar_pat_gen+19p
  1119.           ; load_jaguar_pat_gen+24j ...
  1120.     ld  d, 3
  1121.  
  1122. loc_43F9:       ; CODE XREF: FILVRM_3banks+Ej
  1123.     push  bc
  1124.     push  de
  1125.     call  FILVRM
  1126.     ld  de, 800h
  1127.     add hl, de
  1128.     pop de
  1129.     pop bc
  1130.     dec d
  1131.     jr  nz, loc_43F9
  1132.     ret
  1133. ; End of function FILVRM_3banks
  1134.  
  1135.  
  1136. ; =============== S U B R O U T I N E =======================================
  1137.  
  1138.  
  1139. uncompress2vram3blocks:     ; CODE XREF: load_jaguar_pat_gen+Ep
  1140.           ; load_konami_logo+2Cp  ...
  1141.     ld  b, 3
  1142.  
  1143. loc_440A:       ; CODE XREF: uncompress2vram3blocks+Dj
  1144.     push  bc
  1145.     push  de
  1146.     call  uncompress_vram_
  1147.     ld  de, 800h
  1148.     add hl, de
  1149.     pop de
  1150.     pop bc
  1151.     djnz  loc_440A
  1152.     ret
  1153. ; End of function uncompress2vram3blocks
  1154.  
  1155.  
  1156. ; =============== S U B R O U T I N E =======================================
  1157.  
  1158.  
  1159. init:         ; CODE XREF: start+26p
  1160.     ld  a, 10111000b  ; initialize psg channels
  1161.     call  write_psg_reg7
  1162.     ld  a, 9Dh ; ''
  1163.     call  music_sub_79E5
  1164.     ld  de, 0   ; clear VRAM
  1165.     ld  bc, 4000h
  1166.     xor a
  1167.     call  FILVRM
  1168. ; End of function init
  1169.  
  1170.  
  1171. ; =============== S U B R O U T I N E =======================================
  1172.  
  1173.  
  1174. vdp_init:       ; CODE XREF: update_state0+32p
  1175.     ld  hl, vdp_init_data
  1176.     ld  d, 8
  1177.     ld  c, 0
  1178.  
  1179. loc_4433:       ; CODE XREF: vdp_init+Ej
  1180.     ld  b, (hl)
  1181.     call  WRTVDP
  1182.     inc hl
  1183.     inc c
  1184.     dec d
  1185.     jr  nz, loc_4433
  1186.     ret
  1187. ; ---------------------------------------------------------------------------
  1188. vdp_init_data:  dw 0E202h   ; DATA XREF: vdp_inito
  1189.     dw 7F0Eh
  1190.     dw 7607h
  1191.     dw 0E003h
  1192. ; End of function vdp_init
  1193.  
  1194.  
  1195. ; =============== S U B R O U T I N E =======================================
  1196.  
  1197.  
  1198. write_vdp_reg7:       ; CODE XREF: load_jaguar_pat_gen+2p
  1199.           ; setup_konami_vars+Dj  ...
  1200.     ld  c, 7
  1201.     jp  WRTVDP
  1202. ; End of function write_vdp_reg7
  1203.  
  1204.  
  1205. ; =============== S U B R O U T I N E =======================================
  1206.  
  1207.  
  1208. read_joystick:        ; CODE XREF: read_inputp
  1209.     ld  e, 10001111b
  1210.  
  1211. read_joystick_:       ; CODE XREF: read_input_state+2p
  1212.     ld  a, 15
  1213.     call  WRTPSG
  1214.     ld  a, 14
  1215.     di
  1216.     call  RDPSG
  1217.     ei
  1218.     cpl
  1219.     and 111111b
  1220.     ret
  1221. ; End of function read_joystick
  1222.  
  1223.  
  1224. ; =============== S U B R O U T I N E =======================================
  1225.  
  1226.  
  1227. read_input:       ; CODE XREF: isr+10p
  1228.     call  read_joystick
  1229.     push  af
  1230.     call  read_keyboard
  1231.     pop hl
  1232.     or  h
  1233.     ld  hl, state_flags
  1234.     bit 6, (hl)
  1235.     call  z, input_sub_449E
  1236.     ld  hl, input_key_down ; BIT
  1237.           ; 0   up
  1238.           ; 1   down
  1239.           ; 2   left
  1240.           ; 3   right
  1241.           ; 4   trigger A
  1242.           ; 5   trigger B
  1243.     ld  c, (hl)
  1244.     ld  (hl), a
  1245.     xor c
  1246.     and (hl)
  1247.     dec hl
  1248.     ld  (hl), a
  1249.     inc hl
  1250.     ld  a, (hl)
  1251.     ret
  1252. ; End of function read_input
  1253.  
  1254.  
  1255. ; =============== S U B R O U T I N E =======================================
  1256.  
  1257.  
  1258. read_keyboard:        ; CODE XREF: read_input+4p
  1259.           ; read_input_state+6p
  1260.     ld  a, 7
  1261.     call  SNSMAT
  1262.     cpl
  1263.     rrca
  1264.     and 100000b
  1265.     ld  e, a
  1266.     ld  a, 8
  1267.     call  SNSMAT
  1268.     cpl
  1269.     rrca
  1270.     rrca
  1271.     ld  b, a
  1272.     and 4
  1273.     or  e
  1274.     ld  c, a
  1275.     ld  a, b
  1276.     rrca
  1277.     rrca
  1278.     ld  b, a
  1279.     and 18h
  1280.     or  c
  1281.     ld  c, a
  1282.     ld  a, b
  1283.     rrca
  1284.     and 3
  1285.     or  c
  1286.     ret
  1287. ; End of function read_keyboard
  1288.  
  1289.  
  1290. ; =============== S U B R O U T I N E =======================================
  1291.  
  1292.  
  1293. input_sub_449E:       ; CODE XREF: read_input+Ep
  1294.     ld  hl, unk_E00C
  1295.     ld  a, (frame_count)
  1296.     and 1Fh
  1297.     ld  a, (hl)
  1298.     jr  nz, loc_44AA
  1299.     inc (hl)
  1300.  
  1301. loc_44AA:       ; CODE XREF: input_sub_449E+9j
  1302.     ld  hl, byte_4B5F
  1303.     call  add_a_to_hl ; HL=HL+A
  1304.     ld  a, (hl)
  1305.     ld  l, a
  1306.     ld  a, (frame_count)
  1307.     and 7
  1308.     jr  nz, loc_44BB
  1309.     set 4, l
  1310.  
  1311. loc_44BB:       ; CODE XREF: input_sub_449E+19j
  1312.     ld  a, l
  1313.     cp  0FFh
  1314.     ret nz
  1315.     xor a
  1316.     ld  (unk_E00C), a
  1317.     ret
  1318. ; End of function input_sub_449E
  1319.  
  1320.  
  1321. ; =============== S U B R O U T I N E =======================================
  1322.  
  1323. ; read the joystick and keyboard input
  1324. ; and do something else
  1325.  
  1326. read_input_state:     ; DATA XREF: update_state+14o
  1327.     ld  e, 10001111b
  1328.     call  read_joystick_
  1329.     ld  d, a
  1330.     call  read_keyboard
  1331.     or  d
  1332.     ld  hl, input_unk_E042
  1333.     ld  b, (hl)
  1334.     ld  (hl), a
  1335.     xor b
  1336.     and (hl)
  1337.     and 11111b
  1338.     ret z
  1339.     ld  hl, state
  1340.     ld  b, (hl)
  1341.     djnz  loc_44EC
  1342.     and 10000b
  1343.     ret z
  1344.     ld  a, 40h ; '@'
  1345.     ld  (state_flags), a
  1346.     ld  (hl), 3
  1347.     inc hl
  1348.     ld  (hl), 0
  1349.     ret
  1350. ; ---------------------------------------------------------------------------
  1351.  
  1352. loc_44EC:       ; CODE XREF: read_input_state+18j
  1353.     xor a
  1354.     ld  (state_pause), a
  1355.     ld  (hl), 1
  1356.     jp  show_jaguar_logo
  1357. ; End of function read_input_state
  1358.  
  1359.  
  1360. ; =============== S U B R O U T I N E =======================================
  1361.  
  1362.  
  1363. setup_konami_vars:      ; CODE XREF: update_state0+38p
  1364.     ld  a, 11h
  1365.     ld  (konami_count), a
  1366.     ld  hl, 3AAAh
  1367.     ld  (konami_pos), hl
  1368.     ld  b, 0E4h ; ''
  1369.     jp  write_vdp_reg7
  1370. ; End of function setup_konami_vars
  1371.  
  1372.  
  1373. ; =============== S U B R O U T I N E =======================================
  1374.  
  1375.  
  1376. move_konami_up:       ; CODE XREF: update_state0+7p
  1377.     ld  hl, (konami_pos)
  1378.     ld  de, -32
  1379.     add hl, de
  1380.     ld  (konami_pos), hl
  1381.     ld  a, 40h ; '@'
  1382.     ld  b, 3
  1383.     call  loc_4529
  1384.     ld  bc, 0B0Ch
  1385.     call  loc_4529
  1386.     ld  b, c
  1387.     call  loc_4529
  1388.     xor a
  1389.     call  FILVRM
  1390.     ld  hl, konami_count
  1391.     dec (hl)
  1392.     ret
  1393. ; ---------------------------------------------------------------------------
  1394.  
  1395. loc_4529:       ; CODE XREF: move_konami_up+Ep
  1396.           ; move_konami_up+14p ...
  1397.     push  hl
  1398.  
  1399. loc_452A:       ; CODE XREF: move_konami_up+2Aj
  1400.     call  WRTVRM
  1401.     inc hl
  1402.     inc a
  1403.     djnz  loc_452A
  1404.     pop de
  1405.     ld  hl, 20h ; ' '
  1406.     add hl, de
  1407.     ret
  1408. ; End of function move_konami_up
  1409.  
  1410.  
  1411. ; =============== S U B R O U T I N E =======================================
  1412.  
  1413.  
  1414. update_game:        ; CODE XREF: update_state2+2p
  1415.           ; update_state5p
  1416.     ld  hl, game_byte_E1DC
  1417.     ld  a, (hl)
  1418.     and a
  1419.     jr  z, loc_4540
  1420.     dec (hl)
  1421.     ret nz
  1422.  
  1423. loc_4540:       ; CODE XREF: update_game+5j
  1424.     ld  a, (music_channel0)
  1425.     cp  93h ; ''
  1426.     ret z
  1427.     call  load_sprs_attribute
  1428.     call  game_sub_5837
  1429.     call  move_player_spr
  1430.     call  game_sub_4773
  1431.     call  loc_5334
  1432.     call  game_sub_499C
  1433.     ld  a, (game_byte_E1B0)
  1434.     cp  7
  1435.     call  z, game_sub_6670
  1436.     call  game_sub_6745
  1437.     call  game_sub_65E0
  1438.     call  game_sub_6641
  1439.     call  game_sub_46B4
  1440.     call  game_sub_46F3
  1441.     call  game_sub_6A9C
  1442.     call  game_sub_6A34
  1443.     call  game_sub_6AFC
  1444.     call  game_sub_7766
  1445.     ld  a, (game_byte_E140)
  1446.     and 3
  1447.     jr  z, loc_45A0
  1448.     cp  2
  1449.     call  z, game_sub_474E
  1450.     call  game_sub_6733
  1451.     call  game_sub_7834
  1452.     ld  a, (game_byte_E140)
  1453.     cp  2
  1454.     jr  nz, loc_459A
  1455.     call  game_sub_7928
  1456.     call  game_sub_7942
  1457.  
  1458. loc_459A:       ; CODE XREF: update_game+5Bj
  1459.     call  game_sub_7870
  1460.     call  game_sub_69CE
  1461.  
  1462. loc_45A0:       ; CODE XREF: update_game+49j
  1463.     call  update_game_pat_gen
  1464.     jp  loc_7527
  1465. ; End of function update_game
  1466.  
  1467.  
  1468. ; =============== S U B R O U T I N E =======================================
  1469.  
  1470.  
  1471. game_sub_45A6:        ; CODE XREF: update_state4+7p
  1472.           ; init_demo+27j
  1473.  
  1474. ; FUNCTION CHUNK AT 5830 SIZE 00000007 BYTES
  1475.  
  1476.     ld  b, 0E0h ; ''
  1477.     call  write_vdp_reg7
  1478.     call  clear_sprs_attribute
  1479.     ld  hl, game_unk_E200
  1480.     ld  de, game_unk_E201
  1481.     ld  bc, 13Fh
  1482.     ld  (hl), 0
  1483.     ldir
  1484.     ld  de, game_unk_E180
  1485.     ld  hl, game_byte_4625
  1486.     ld  bc, 7
  1487.     ldir
  1488.     ld  hl, game_word_E1B8
  1489.     ld  a, 0C0h ; ''
  1490.     and (hl)
  1491.     ld  (hl), a
  1492.     inc hl
  1493.     inc hl
  1494.     ld  (hl), 0
  1495.     xor a
  1496.     ld  (game_byte_E1D9), a
  1497.     ld  (game_byte_E196), a
  1498.     ld  (game_byte_E1CF), a
  1499.     ld  (game_byte_E194), a
  1500.     ld  (game_byte_E1D4), a
  1501.     ld  (game_byte_E1D5), a
  1502.     ld  (game_byte_E198), a
  1503.     ld  (game_byte_E1DD), a
  1504.     call  game_sub_7522
  1505.     ld  hl, game_byte_E140
  1506.     ld  a, (hl)
  1507.     ld  c, (hl)
  1508.     and 3
  1509.     jr  z, loc_4607
  1510.     inc hl
  1511.     dec a
  1512.     ld  a, 8
  1513.     jr  nz, loc_45FE
  1514.     xor a
  1515.     ld  c, a
  1516.  
  1517. loc_45FE:       ; CODE XREF: game_sub_45A6+54j
  1518.     ld  (hl), a
  1519.     dec hl
  1520.     ld  (hl), c
  1521.     call  game_sub_7834
  1522.     call  game_sub_7870
  1523.  
  1524. loc_4607:       ; CODE XREF: game_sub_45A6+4Ej
  1525.     ld  hl, game_unk_E145
  1526.     ld  de, game_unk_E146
  1527.     ld  bc, 5
  1528.     ld  (hl), 0
  1529.     ldir
  1530.     ld  a, 60h ; '`'
  1531.     ld  (game_byte_E1DC), a
  1532.     call  setup_spr_pat_gen
  1533.     call  update_player_spr_attr
  1534.     call  load_sprs_attribute
  1535.     jp  loc_5830
  1536. ; End of function game_sub_45A6
  1537.  
  1538. ; ---------------------------------------------------------------------------
  1539. game_byte_4625: db 0      ; DATA XREF: game_sub_45A6+18o
  1540.     db 0A0h
  1541.     db 5Ch
  1542.     db 0
  1543.     db 4
  1544.     db 4
  1545.     db 0Fh
  1546. ; ---------------------------------------------------------------------------
  1547. ; START OF FUNCTION CHUNK FOR move_player_spr
  1548.  
  1549. loc_462C:       ; CODE XREF: move_player_spr+5j
  1550.     inc hl
  1551.     dec (hl)
  1552.     jr  z, loc_4651
  1553.     ld  a, (hl)
  1554.     cp  60h ; '`'
  1555.     ld  c, 94h ; ''
  1556.     jr  nc, loc_4639
  1557.     ld  c, 9Ch ; ''
  1558.  
  1559. loc_4639:       ; CODE XREF: move_player_spr-2Ej
  1560.     cp  40h ; '@'
  1561.     jr  nc, loc_463F
  1562.     ld  c, 0F8h ; ''
  1563.  
  1564. loc_463F:       ; CODE XREF: move_player_spr-28j
  1565.     ld  hl, player_unk_E0B2
  1566.     ld  (hl), c
  1567.     inc hl
  1568.     ld  (hl), 6
  1569.     inc hl
  1570.     inc hl
  1571.     inc hl
  1572.     ld  a, c
  1573.     add a, 4
  1574.     ld  (hl), a
  1575.     inc hl
  1576.     ld  (hl), 0Fh
  1577.     ret
  1578. ; ---------------------------------------------------------------------------
  1579.  
  1580. loc_4651:       ; CODE XREF: move_player_spr-35j
  1581.     inc (hl)
  1582.     ex  de, hl
  1583.     ld  hl, game_unk_E145
  1584.     xor a
  1585.     ld  b, 6
  1586.  
  1587. loc_4659:       ; CODE XREF: move_player_spr-8j
  1588.     or  (hl)
  1589.     inc hl
  1590.     djnz  loc_4659
  1591.     ret nz
  1592.     ex  de, hl
  1593.     ld  (game_ended), a
  1594.     ret
  1595. ; END OF FUNCTION CHUNK FOR move_player_spr
  1596.  
  1597. ; =============== S U B R O U T I N E =======================================
  1598.  
  1599.  
  1600. move_player_spr:      ; CODE XREF: update_game+15p
  1601.  
  1602. ; FUNCTION CHUNK AT 462C SIZE 00000037 BYTES
  1603.  
  1604.     ld  hl, game_byte_E1CF
  1605.     ld  a, (hl)
  1606.     and a
  1607.     jr  nz, loc_462C
  1608.     ld  a, (input_key_down) ; BIT
  1609.           ; 0   up
  1610.           ; 1   down
  1611.           ; 2   left
  1612.           ; 3   right
  1613.           ; 4   trigger A
  1614.           ; 5   trigger B
  1615.     ld  hl, (player_spr_attr)
  1616.     ld  e, l
  1617.     ld  d, h
  1618.     ld  bc, 0
  1619.     rra
  1620.     jr  nc, loc_4679
  1621.     dec c
  1622.  
  1623. loc_4679:       ; CODE XREF: move_player_spr+13j
  1624.     rra
  1625.     jr  nc, loc_467D
  1626.     inc c
  1627.  
  1628. loc_467D:       ; CODE XREF: move_player_spr+17j
  1629.     rra
  1630.     jr  nc, loc_4681
  1631.     dec b
  1632.  
  1633. loc_4681:       ; CODE XREF: move_player_spr+1Bj
  1634.     rra
  1635.     jr  nc, loc_4685
  1636.     inc b
  1637.  
  1638. loc_4685:       ; CODE XREF: move_player_spr+1Fj
  1639.     ld  a, h
  1640.     add a, b
  1641.     ld  h, a
  1642.     sub 0Ah
  1643.     cp  0A4h ; ''
  1644.     jr  c, loc_468F
  1645.     ld  h, d
  1646.  
  1647. loc_468F:       ; CODE XREF: move_player_spr+29j
  1648.     ld  a, l
  1649.     add a, c
  1650.     ld  l, a
  1651.     sub 40h ; '@'
  1652.     cp  70h ; 'p'
  1653.     jr  c, loc_4699
  1654.     ld  l, e
  1655.  
  1656. loc_4699:       ; CODE XREF: move_player_spr+33j
  1657.     ld  (player_spr_attr), hl
  1658. ; End of function move_player_spr
  1659.  
  1660.  
  1661. ; =============== S U B R O U T I N E =======================================
  1662.  
  1663.  
  1664. update_player_spr_attr:     ; CODE XREF: game_sub_45A6+76p
  1665.     ld  de, sprs_attribute
  1666.     ld  hl, player_spr_attr
  1667.     push  hl
  1668.     ld  bc, 4
  1669.     ldir
  1670.     pop hl
  1671.     ld  c, 2
  1672.     ldir
  1673.     inc hl
  1674.     inc hl
  1675.     ld  c, 2
  1676.     ldir
  1677.     ret
  1678. ; End of function update_player_spr_attr
  1679.  
  1680.  
  1681. ; =============== S U B R O U T I N E =======================================
  1682.  
  1683.  
  1684. game_sub_46B4:        ; CODE XREF: update_game+32p
  1685.     ld  a, (game_byte_E1CF)
  1686.     and a
  1687.     ret nz
  1688.     ld  a, (input_key_pressed) ; BIT
  1689.           ; 0   up
  1690.           ; 1   down
  1691.           ; 2   left
  1692.           ; 3   right
  1693.           ; 4   trigger A
  1694.           ; 5   trigger B
  1695.     and 10h
  1696.     ret z
  1697.     ld  b, 2
  1698.     ld  a, (game_byte_E1D5)
  1699.     cp  2
  1700.     jr  c, loc_46C9
  1701.     inc b
  1702.  
  1703. loc_46C9:       ; CODE XREF: game_sub_46B4+12j
  1704.     ld  hl, game_unk_E0B8
  1705.  
  1706. loc_46CC:       ; CODE XREF: game_sub_46B4+21j
  1707.     ld  a, (hl)
  1708.     cp  0E0h ; ''
  1709.     jr  z, loc_46D8
  1710.     ld  a, 4
  1711.     add a, l
  1712.     ld  l, a
  1713.     djnz  loc_46CC
  1714.     ret
  1715. ; ---------------------------------------------------------------------------
  1716.  
  1717. loc_46D8:       ; CODE XREF: game_sub_46B4+1Bj
  1718.     ld  de, (player_spr_attr)
  1719.     ld  (hl), e
  1720.     inc hl
  1721.     ld  (hl), d
  1722.     inc hl
  1723.     ld  a, (game_byte_E1D5)
  1724.     and a
  1725.     ld  a, 8
  1726.     jr  z, loc_46EA
  1727.     ld  a, 0Ch
  1728.  
  1729. loc_46EA:       ; CODE XREF: game_sub_46B4+32j
  1730.     ld  (hl), a
  1731.     inc hl
  1732.     ld  (hl), 0Fh
  1733.     ld  a, 0Ch
  1734.     jp  game_sub_79D8
  1735. ; End of function game_sub_46B4
  1736.  
  1737.  
  1738. ; =============== S U B R O U T I N E =======================================
  1739.  
  1740.  
  1741. game_sub_46F3:        ; CODE XREF: update_game+35p
  1742.     ld  b, 3
  1743.     ld  hl, game_unk_E0B8
  1744.  
  1745. loc_46F8:       ; CODE XREF: game_sub_46F3+15j
  1746.     ld  a, (hl)
  1747.     cp  0E0h ; ''
  1748.     jr  z, loc_4704
  1749.     sub 6
  1750.     jr  nc, loc_4703
  1751.     ld  a, 0E0h ; ''
  1752.  
  1753. loc_4703:       ; CODE XREF: game_sub_46F3+Cj
  1754.     ld  (hl), a
  1755.  
  1756. loc_4704:       ; CODE XREF: game_sub_46F3+8j
  1757.     inc hl
  1758.     inc hl
  1759.     inc hl
  1760.     inc hl
  1761.     djnz  loc_46F8
  1762.     ret
  1763. ; End of function game_sub_46F3
  1764.  
  1765. ; ---------------------------------------------------------------------------
  1766. ; START OF FUNCTION CHUNK FOR game_sub_4773
  1767.  
  1768. loc_470B:       ; CODE XREF: game_sub_4773+Aj
  1769.     dec hl
  1770.     dec hl
  1771.     dec hl
  1772.     dec (hl)
  1773.     ret nz
  1774.     ld  a, (game_byte_E1DB)
  1775.     ld  (game_byte_E1B0), a
  1776.     ld  a, 8
  1777.     ld  (hl), a
  1778.     dec hl
  1779.     ld  a, (hl)
  1780.     ld  (game_byte_E198), a
  1781.     dec hl
  1782.     dec (hl)
  1783.     jr  nz, loc_4792
  1784.     ld  l, 95h ; ''
  1785.     xor a
  1786.     ld  (hl), a
  1787.     inc hl
  1788.     ld  (hl), a
  1789.     ld  a, (game_byte_E1B1)
  1790.     ld  (game_byte_E197), a
  1791.     jr  loc_4792
  1792. ; ---------------------------------------------------------------------------
  1793.  
  1794. loc_4730:       ; CODE XREF: game_sub_4773+18j
  1795.     ld  (game_byte_E1DB), a
  1796.     ld  hl, game_byte_E194
  1797.     ld  c, 5
  1798.     ld  a, (hl)
  1799.     and a
  1800.     ret nz
  1801.     ld  (game_byte_E1DA), a
  1802.     dec hl
  1803.     ld  (hl), 8
  1804.     dec hl
  1805.     inc (hl)
  1806.     dec hl
  1807.     ld  (hl), c
  1808.     ld  l, 95h ; ''
  1809.     inc (hl)
  1810.     ld  a, 1
  1811.     ld  (game_byte_E196), a
  1812.     ret
  1813. ; END OF FUNCTION CHUNK FOR game_sub_4773
  1814.  
  1815. ; =============== S U B R O U T I N E =======================================
  1816.  
  1817.  
  1818. game_sub_474E:        ; CODE XREF: update_game+4Dp
  1819.     ld  a, (frame_count)
  1820.     and 7Fh ; ''
  1821.     jr  nz, loc_4759
  1822.     ld  a, 5
  1823.     jr  loc_476E
  1824. ; ---------------------------------------------------------------------------
  1825.  
  1826. loc_4759:       ; CODE XREF: game_sub_474E+5j
  1827.     ld  a, (game_word_E1D7)
  1828.     cp  2
  1829.     ret nz
  1830.     ld  hl, game_byte_E144
  1831.     dec (hl)
  1832.     ret nz
  1833.     ld  a, (game_byte_E1B1)
  1834.     ld  (hl), a
  1835.     ld  hl, game_byte_E198
  1836.     inc (hl)
  1837.     ld  a, 4
  1838.  
  1839. loc_476E:       ; CODE XREF: game_sub_474E+9j
  1840.     ld  (game_byte_E1B0), a
  1841.     jr  loc_4792
  1842. ; End of function game_sub_474E
  1843.  
  1844.  
  1845. ; =============== S U B R O U T I N E =======================================
  1846.  
  1847.  
  1848. game_sub_4773:        ; CODE XREF: update_game+18p
  1849.  
  1850. ; FUNCTION CHUNK AT 470B SIZE 00000043 BYTES
  1851.  
  1852.     ld  a, (game_byte_E140)
  1853.     and a
  1854.     ret nz
  1855.     ld  hl, game_byte_E196
  1856.     ld  a, (hl)
  1857.     and a
  1858.     jr  nz, loc_470B
  1859.     call  game_sub_7632
  1860.     ret c
  1861.     ld  a, (game_byte_E1B0)
  1862.     cp  10h
  1863.     ret nc
  1864.     cp  0Dh
  1865.     jp  nc, loc_4730
  1866.     ld  hl, game_byte_E198
  1867.     inc (hl)
  1868.  
  1869. loc_4792:       ; CODE XREF: game_sub_4773-53j
  1870.           ; game_sub_4773-45j ...
  1871.     ld  hl, game_byte_E198
  1872.     ld  a, (game_byte_E1B0)
  1873.     add a, a
  1874.     ret z
  1875.     bit 0, (hl)
  1876.     jr  z, loc_479F
  1877.     inc a
  1878.  
  1879. loc_479F:       ; CODE XREF: game_sub_4773+29j
  1880.     ld  de, loc_48C8
  1881.     call  add_a_to_de ; DE=DE+A
  1882.     ld  a, (de)
  1883.     ld  (game_byte_E199), a
  1884.     ld  c, a
  1885.     inc hl
  1886.     ld  (hl), c
  1887.     inc hl
  1888.     ld  de, unk_48E8
  1889.     call  add_a_to_de ; DE=DE+A
  1890.     ld  a, (de)
  1891.     ld  (hl), a
  1892.     ld  de, -16
  1893.     ld  hl, game_unk_E260
  1894.     ld  a, (game_byte_E321)
  1895.     ld  b, 7
  1896.     cp  0Ah
  1897.     jr  nz, loc_47C6
  1898.     ld  b, 4
  1899.  
  1900. loc_47C6:       ; CODE XREF: game_sub_4773+4Fj
  1901.           ; game_sub_4773+58j
  1902.     ld  a, (hl)
  1903.     and a
  1904.     jr  z, loc_47CE
  1905.     add hl, de
  1906.     djnz  loc_47C6
  1907.     ret
  1908. ; ---------------------------------------------------------------------------
  1909.  
  1910. loc_47CE:       ; CODE XREF: game_sub_4773+55j
  1911.     ld  (game_word_E310), hl
  1912.     ld  a, (game_byte_E1B0)
  1913.     ld  (hl), a
  1914.     inc hl
  1915.     ld  (hl), c
  1916.     inc hl
  1917.     ld  a, 3
  1918.     ld  (hl), a
  1919.     ld  a, (game_byte_E1B0)
  1920.     cp  9
  1921.     jr  nz, loc_47F1
  1922.     ex  af, af'
  1923.    ld  a, (game_byte_E198)
  1924.    and 3
  1925.    ld  de, byte_4975
  1926.    call  add_a_to_de ; DE=DE+A
  1927.    ld  a, (de)
  1928.    ld  (hl), a
  1929.    ex  af, af'
  1930.  
  1931. loc_47F1:       ; CODE XREF: game_sub_4773+6Dj
  1932.     cp  5
  1933.     jr  nz, loc_4817
  1934.     ex  de, hl
  1935.     ld  hl, game_byte_E1D4
  1936.     inc (hl)
  1937.     ld  a, (hl)
  1938.     and 1Fh
  1939.     ld  b, 0
  1940.     cp  18h
  1941.     jr  nz, loc_4804
  1942.     inc b
  1943.  
  1944. loc_4804:       ; CODE XREF: game_sub_4773+8Ej
  1945.     and 0Fh
  1946.     cp  6
  1947.     jr  nz, loc_4815
  1948.     ld  b, 2
  1949.     ld  a, (game_byte_E1D5)
  1950.     cp  2
  1951.     jr  c, loc_4815
  1952.     ld  b, 0
  1953.  
  1954. loc_4815:       ; CODE XREF: game_sub_4773+95j
  1955.           ; game_sub_4773+9Ej
  1956.     ex  de, hl
  1957.     ld  (hl), b
  1958.  
  1959. loc_4817:       ; CODE XREF: game_sub_4773+80j
  1960.     inc hl
  1961.     ld  a, (game_byte_E1B7)
  1962.     ld  (hl), a
  1963.     inc hl
  1964.     ld  a, (game_byte_E199)
  1965.     ld  c, a
  1966.     ex  de, hl
  1967.     ld  hl, byte_48FB
  1968.     call  add_a_to_hl ; HL=HL+A
  1969.     ld  l, (hl)
  1970.     ld  h, 0
  1971.     add hl, hl
  1972.     add hl, hl
  1973.     ex  de, hl
  1974.     ld  (hl), e
  1975.     inc hl
  1976.     ld  (hl), d
  1977.     inc hl
  1978.     ld  a, c
  1979.     add a, a
  1980.     ld  de, byte_490D
  1981.     push  hl
  1982.     ex  de, hl
  1983.     call  get_hl_a_ptr  ; DE=(HL+A)
  1984.     ld  a, (game_byte_E1B0)
  1985.     cp  8
  1986.     jr  nz, loc_4855
  1987.     ld  a, (game_byte_E198)
  1988.     and 7
  1989.     add a, a
  1990.     ld  hl, byte_4979
  1991.     call  add_a_to_hl ; HL=HL+A
  1992.     ld  c, (hl)
  1993.     inc hl
  1994.     ld  h, (hl)
  1995.     ld  l, c
  1996.     add hl, de
  1997.     ex  de, hl
  1998.  
  1999. loc_4855:       ; CODE XREF: game_sub_4773+CEj
  2000.     pop hl
  2001.     ld  (hl), e
  2002.     inc hl
  2003.     ld  (hl), d
  2004.     inc hl
  2005.     inc hl
  2006.     ld  a, (game_byte_E1B0)
  2007.     cp  5
  2008.     jr  z, loc_4869
  2009.     ld  a, (game_byte_E140)
  2010.     cp  2
  2011.     jr  z, loc_48C2
  2012.  
  2013. loc_4869:       ; CODE XREF: game_sub_4773+EDj
  2014.     ld  a, (game_byte_E1B0)
  2015.     cp  0Ch
  2016.     ld  a, 0E0h ; ''
  2017.     jr  z, loc_4874
  2018.     ld  a, 0F0h ; ''
  2019.  
  2020. loc_4874:       ; CODE XREF: game_sub_4773+FDj
  2021.     ld  (hl), a
  2022.     inc hl
  2023.     inc hl
  2024.     ld  a, (game_byte_E19A)
  2025.     ld  c, a
  2026.     ld  a, (game_byte_E198)
  2027.     and 7
  2028.     add a, c
  2029.     ld  de, byte_4931
  2030.     call  add_a_to_de ; DE=DE+A
  2031.     ld  a, (de)
  2032.     ld  (hl), a
  2033.  
  2034. loc_4889:       ; CODE XREF: ROM:loc_48C8j
  2035.     inc hl
  2036.     ld  a, (game_byte_E1B0)
  2037.     ld  de, byte_4945
  2038.     cp  0Dh
  2039.     jr  c, loc_4896
  2040.     sub 0Ch
  2041.  
  2042. loc_4896:       ; CODE XREF: game_sub_4773+11Fj
  2043.     add a, a
  2044.     add a, a
  2045.     call  add_a_to_de ; DE=DE+A
  2046.     ex  de, hl
  2047.     ld  bc, 4
  2048.     ldir
  2049.     ld  hl, game_byte_E194
  2050.     inc (hl)
  2051.     ld  a, (game_byte_E199)
  2052.     cp  5
  2053.     ret nc
  2054.     cp  2
  2055.     ret z
  2056.     ld  a, 2
  2057.     call  game_sub_79D8
  2058.     ld  a, (game_byte_E140)
  2059.     cp  2
  2060.     ret nz
  2061.     ld  hl, (game_word_E310)
  2062.     inc l
  2063.     ld  a, (hl)
  2064.     xor 3
  2065.     ld  (hl), a
  2066.     ret
  2067. ; ---------------------------------------------------------------------------
  2068.  
  2069. loc_48C2:       ; CODE XREF: game_sub_4773+F4j
  2070.     ld  (hl), 1Ch
  2071.     inc l
  2072.     inc l
  2073.     ld  (hl), 5Ch ; '\'
  2074. ; End of function game_sub_4773
  2075.  
  2076.  
  2077. loc_48C8:       ; DATA XREF: game_sub_4773:loc_479Fo
  2078.     jr  loc_4889
  2079. ; ---------------------------------------------------------------------------
  2080.     db    0
  2081.     db    1
  2082.     db    2
  2083.     db    2
  2084.     db    3
  2085.     db    4
  2086.     db    5
  2087.     db    6
  2088.     db    7
  2089.     db    7
  2090.     db    8
  2091.     db    9
  2092.     db  0Ah
  2093.     db  0Bh
  2094.     db  0Ch
  2095.     db  0Dh
  2096.     db  0Eh
  2097.     db  0Fh
  2098.     db  10h
  2099.     db  10h
  2100.     db  11h
  2101.     db  11h
  2102.     db  12h
  2103.     db  12h
  2104.     db    0
  2105.     db    1
  2106.     db    2
  2107.     db    2
  2108.     db    3
  2109.     db    4
  2110. unk_48E8: db    0     ; DATA XREF: game_sub_4773+3Ao
  2111.     db    0
  2112.     db    0
  2113.     db    0
  2114.     db    0
  2115.     db    8
  2116.     db    8
  2117.     db    0
  2118.     db    8
  2119.     db    8
  2120.     db    8
  2121.     db    8
  2122.     db    0
  2123.     db    0
  2124.     db    0
  2125.     db    0
  2126.     db  10h
  2127.     db    0
  2128.     db  10h
  2129. byte_48FB:  db 60h      ; DATA XREF: game_sub_4773+AFo
  2130.     db 60h
  2131.     db 40h
  2132.     db 60h
  2133.     db 60h
  2134.     db 3Bh
  2135.     db 3Bh
  2136.     db 1Ch
  2137.     db 28h
  2138.     db 28h
  2139.     db 28h
  2140.     db 28h
  2141.     db 38h
  2142.     db 38h
  2143.     db 1Ch
  2144.     db 1Ch
  2145.     db 40h
  2146.     db 40h
  2147. byte_490D:  db 0      ; DATA XREF: game_sub_4773+C1o
  2148.     db 0
  2149.     db 0
  2150.     db 0
  2151.     db 0
  2152.     db 0
  2153.     db 60h
  2154.     db 0
  2155.     db 0A0h
  2156.     db 0FFh
  2157.     db 61h
  2158.     db 0
  2159.     db 0A0h
  2160.     db 0FFh
  2161.     db 0
  2162.     db 0
  2163.     db 90h
  2164.     db 0
  2165.     db 70h
  2166.     db 0FFh
  2167.     db 0
  2168.     db 0
  2169.     db 0
  2170.     db 0
  2171.     db 0
  2172.     db 0
  2173.     db 0
  2174.     db 0
  2175.     db 0
  2176.     db 0
  2177.     db 0
  2178.     db 0
  2179.     db 0
  2180.     db 0
  2181.     db 0
  2182.     db 0
  2183. byte_4931:  db 10h      ; DATA XREF: game_sub_4773+10Eo
  2184.     db 0AAh
  2185.     db 3Ch
  2186.     db 68h
  2187.     db 26h
  2188.     db 7Eh
  2189.     db 52h
  2190.     db 94h
  2191.     db 10h
  2192.     db 0AAh
  2193.     db 10h
  2194.     db 0AAh
  2195.     db 10h
  2196.     db 0AAh
  2197.     db 10h
  2198.     db 0AAh
  2199.     db 10h
  2200.     db 52h
  2201.     db 3Ch
  2202.     db 68h
  2203. byte_4945:  db 10h      ; DATA XREF: game_sub_4773+11Ao
  2204.     db 26h
  2205.     db 58h
  2206.     db 68h
  2207.     db 10h
  2208.     db 1
  2209.     db 14h
  2210.     db 0Fh
  2211.     db 10h
  2212.     db 1
  2213.     db 14h
  2214.     db 0Fh
  2215.     db 10h
  2216.     db 1
  2217.     db 14h
  2218.     db 0Fh
  2219.     db 30h
  2220.     db 0Fh
  2221.     db 34h
  2222.     db 1
  2223.     db 50h
  2224.     db 0Fh
  2225.     db 54h
  2226.     db 1
  2227.     db 58h
  2228.     db 0Fh
  2229.     db 5Ch
  2230.     db 0Fh
  2231.     db 68h
  2232.     db 1
  2233.     db 0
  2234.     db 0
  2235.     db 6Ch
  2236.     db 3
  2237.     db 70h
  2238.     db 0Fh
  2239.     db 7Ch
  2240.     db 1
  2241.     db 80h
  2242.     db 0Fh
  2243.     db 84h
  2244.     db 0Fh
  2245.     db 0B8h
  2246.     db 0Fh
  2247.     db 8Ch
  2248.     db 0Bh
  2249.     db 90h
  2250.     db 0Bh
  2251. byte_4975:  db 20h      ; DATA XREF: game_sub_4773+75o
  2252.     db 18h
  2253.     db 28h
  2254.     db 10h
  2255. byte_4979:  db 0C0h     ; DATA XREF: game_sub_4773+D6o
  2256.     db 0
  2257.     db 40h
  2258.     db 0FFh
  2259.     db 60h
  2260.     db 0
  2261.     db 0
  2262.     db 0
  2263.     db 90h
  2264.     db 0
  2265.     db 0A0h
  2266.     db 0FFh
  2267.     db 0
  2268.     db 0
  2269.     db 70h
  2270.     db 0FFh
  2271.  
  2272. ; =============== S U B R O U T I N E =======================================
  2273.  
  2274.  
  2275. game_sub_4989:        ; CODE XREF: game_sub_6D36+7p
  2276.     push  hl
  2277.     ld  a, l
  2278.     and 0F0h ; ''
  2279.     add a, 90h ; ''
  2280.     ld  l, a
  2281.     ld  a, (hl)
  2282.     inc a
  2283.     jr  nz, loc_4995
  2284.     ld  (hl), a
  2285.  
  2286. loc_4995:       ; CODE XREF: game_sub_4989+9j
  2287.     pop hl
  2288.     ret
  2289. ; End of function game_sub_4989
  2290.  
  2291. ; ---------------------------------------------------------------------------
  2292. ; START OF FUNCTION CHUNK FOR game_sub_499C
  2293.  
  2294. loc_4997:       ; CODE XREF: game_sub_499C+29j
  2295.           ; game_sub_499C+37j
  2296.     call  game_sub_6D36
  2297.     jr  loc_49D6
  2298. ; END OF FUNCTION CHUNK FOR game_sub_499C
  2299.  
  2300. ; =============== S U B R O U T I N E =======================================
  2301.  
  2302.  
  2303. game_sub_499C:        ; CODE XREF: update_game+1Ep
  2304.  
  2305. ; FUNCTION CHUNK AT 4997 SIZE 00000005 BYTES
  2306.  
  2307.     ld  hl, game_unk_E200
  2308.     ld  b, 7
  2309.  
  2310. loc_49A1:       ; CODE XREF: game_sub_499C+42j
  2311.     push  bc
  2312.     ld  a, (hl)
  2313.     and a
  2314.     ld  (game_word_E310), hl
  2315.     jr  z, loc_49D6
  2316.     inc hl
  2317.     ld  a, (hl)
  2318.     cp  13h
  2319.     jr  z, loc_49D6
  2320.     inc hl
  2321.     inc hl
  2322.     inc hl
  2323.     ld  e, l
  2324.     ld  d, h
  2325.     inc de
  2326.     inc de
  2327.     inc de
  2328.     inc de
  2329.     ld  a, (de)
  2330.     add a, (hl)
  2331.     ld  (de), a
  2332.     inc hl
  2333.     inc de
  2334.     ld  a, (de)
  2335.     adc a, (hl)
  2336.     cp  0C0h ; ''
  2337.     jr  c, loc_49C7
  2338.     cp  0D0h ; ''
  2339.     jr  c, loc_4997
  2340.  
  2341. loc_49C7:       ; CODE XREF: game_sub_499C+25j
  2342.     ld  (de), a
  2343.     inc hl
  2344.     inc de
  2345.     ld  a, (de)
  2346.     add a, (hl)
  2347.     ld  (de), a
  2348.     inc hl
  2349.     inc de
  2350.     ld  a, (de)
  2351.     adc a, (hl)
  2352.     cp  0B0h ; ''
  2353.     jr  nc, loc_4997
  2354.     ld  (de), a
  2355.  
  2356. loc_49D6:       ; CODE XREF: game_sub_499C-2j
  2357.           ; game_sub_499C+Bj ...
  2358.     ld  hl, (game_word_E310)
  2359.     ld  de, 10h
  2360.     add hl, de
  2361.     pop bc
  2362.     djnz  loc_49A1
  2363.     ld  b, 7
  2364.     exx
  2365.     ld  de, game_unk_E0D4
  2366.     ld  hl, game_unk_E200
  2367.     exx
  2368.  
  2369. loc_49EA:       ; CODE XREF: game_sub_499C+A2j
  2370.     exx
  2371.     ld  (game_word_E310), hl
  2372.     ld  (game_word_E312), de
  2373.     ld  a, (hl)
  2374.     and a
  2375.     jp  z, loc_4A2D
  2376.     cp  6
  2377.     jp  z, loc_4AD8
  2378.     inc hl
  2379.     ld  a, (hl)
  2380.     cp  13h
  2381.     jp  z, loc_4A4B
  2382.     cp  10h
  2383.     jp  z, loc_4A7C
  2384.     ld  a, 8
  2385.     add a, l
  2386.     ld  l, a
  2387.     ld  a, (hl)
  2388.     ld  (de), a
  2389.     ex  af, af'
  2390.    inc hl
  2391.    inc hl
  2392.    inc de
  2393.    ld  c, (hl)
  2394.    ex  de, hl
  2395.    ld  (hl), c
  2396.    ex  de, hl
  2397.    inc de
  2398.    inc hl
  2399.    ld  a, (hl)
  2400.    ld  (de), a
  2401.    inc hl
  2402.    inc de
  2403.    ld  a, (hl)
  2404.    ld  (de), a
  2405.    inc de
  2406.    ex  af, af'
  2407.     ld  (de), a
  2408.     inc de
  2409.     ex  de, hl
  2410.     ld  (hl), c
  2411.     ex  de, hl
  2412.     inc de
  2413.     inc hl
  2414.     ld  a, (hl)
  2415.     ld  (de), a
  2416.     inc hl
  2417.     inc de
  2418.     ld  a, (hl)
  2419.     ld  (de), a
  2420.  
  2421. loc_4A2D:       ; CODE XREF: game_sub_499C+58j
  2422.           ; game_sub_499C+CBj ...
  2423.     ld  hl, (game_word_E310)
  2424.     ld  de, (game_word_E312)
  2425.     ld  a, 10h
  2426.     add a, l
  2427.     ld  l, a
  2428.     ld  a, 8
  2429.     call  add_a_to_de ; DE=DE+A
  2430.     exx
  2431.     djnz  loc_49EA
  2432.     ret
  2433. ; ---------------------------------------------------------------------------
  2434.  
  2435. loc_4A41:       ; CODE XREF: game_sub_499C+B2j
  2436.     inc de
  2437.     inc de
  2438.     inc de
  2439.     inc de
  2440.     ld  a, 9
  2441.     add a, l
  2442.     ld  l, a
  2443.     jr  loc_4A65
  2444. ; ---------------------------------------------------------------------------
  2445.  
  2446. loc_4A4B:       ; CODE XREF: game_sub_499C+64j
  2447.     inc l
  2448.     ld  a, (hl)
  2449.     and a
  2450.     jr  z, loc_4A41
  2451.     inc l
  2452.     ld  a, (hl)
  2453.     ld  (de), a
  2454.     inc l
  2455.     inc l
  2456.     inc l
  2457.     inc l
  2458.     inc de
  2459.     ld  a, (hl)
  2460.     ld  (de), a
  2461.     inc l
  2462.     inc de
  2463.     ld  a, (hl)
  2464.     ld  (de), a
  2465.     inc l
  2466.     inc de
  2467.     ld  a, (hl)
  2468.     ld  (de), a
  2469.     inc l
  2470.     inc l
  2471.     inc de
  2472.  
  2473. loc_4A65:       ; CODE XREF: game_sub_499C+ADj
  2474.     ld  a, (hl)
  2475.     and a
  2476.     jp  z, loc_4A2D
  2477.     inc l
  2478.     ld  a, (hl)
  2479.     ld  (de), a
  2480.     inc l
  2481.     inc de
  2482.     ld  a, (hl)
  2483.     ld  (de), a
  2484.     inc l
  2485.     inc de
  2486.     ld  a, (hl)
  2487.     ld  (de), a
  2488.     inc l
  2489.     inc de
  2490.     ld  a, (hl)
  2491.     ld  (de), a
  2492.     jp  loc_4A2D
  2493. ; ---------------------------------------------------------------------------
  2494.  
  2495. loc_4A7C:       ; CODE XREF: game_sub_499C+69j
  2496.     inc l
  2497.     ld  a, (hl)
  2498.     push  af
  2499.     ld  a, 7
  2500.     add a, l
  2501.     ld  l, a
  2502.     ld  c, (hl)
  2503.     inc hl
  2504.     inc hl
  2505.     ld  b, (hl)
  2506.     inc hl
  2507.     ex  de, hl
  2508.     ld  (hl), c
  2509.     inc hl
  2510.     ld  (hl), b
  2511.     inc hl
  2512.     ld  a, (de)
  2513.     ld  (hl), a
  2514.     inc de
  2515.     inc hl
  2516.     ld  a, (de)
  2517.     ld  (hl), a
  2518.     inc de
  2519.     inc hl
  2520.     ld  (hl), c
  2521.     inc hl
  2522.     ld  a, b
  2523.     add a, 40h ; '@'
  2524.     ld  (hl), a
  2525.     inc hl
  2526.     ld  a, (de)
  2527.     ld  (hl), a
  2528.     inc de
  2529.     inc hl
  2530.     ld  a, (de)
  2531.     ld  (hl), a
  2532.     pop af
  2533.     and 3
  2534.     cp  3
  2535.     jp  nz, loc_4A2D
  2536.     ld  a, (game_word_E310)
  2537.     and 0F0h ; ''
  2538.     ld  hl, game_unk_E290
  2539.     add a, l
  2540.     ld  l, a
  2541.     ld  (hl), 0FFh
  2542.     ld  de, 6
  2543.     add hl, de
  2544.     ld  (hl), c
  2545.     inc hl
  2546.     inc hl
  2547.     ld  a, (frame_count)
  2548.     and 0Fh
  2549.     add a, a
  2550.     add a, a
  2551.     add a, a
  2552.     cp  40h ; '@'
  2553.     jr  c, loc_4ACD
  2554.     sub 80h ; ''
  2555.     neg
  2556.  
  2557. loc_4ACD:       ; CODE XREF: game_sub_499C+12Bj
  2558.     add a, b
  2559.     ld  (hl), a
  2560.     inc hl
  2561.     ld  (hl), 88h ; ''
  2562.     inc hl
  2563.     ld  (hl), 0Fh
  2564.     jp  loc_4A2D
  2565. ; ---------------------------------------------------------------------------
  2566.  
  2567. loc_4AD8:       ; CODE XREF: game_sub_499C+5Dj
  2568.     ld  a, 9
  2569.     add a, l
  2570.     ld  l, a
  2571.     ld  a, (hl)
  2572.     ld  c, a
  2573.     ld  (de), a
  2574.     inc hl
  2575.     inc hl
  2576.     inc de
  2577.     ld  a, (hl)
  2578.     ld  b, a
  2579.     ld  (de), a
  2580.     inc hl
  2581.     inc de
  2582.     ld  a, (hl)
  2583.     ld  (de), a
  2584.     inc hl
  2585.     inc de
  2586.     ld  a, (hl)
  2587.     ld  (de), a
  2588.     inc hl
  2589.     inc de
  2590.     ex  de, hl
  2591.     ld  (hl), c
  2592.     inc hl
  2593.     ld  a, 10h
  2594.     add a, b
  2595.     ld  (hl), a
  2596.     inc hl
  2597.     ld  a, (de)
  2598.     ld  (hl), a
  2599.     inc de
  2600.     inc hl
  2601.     ld  a, (de)
  2602.     ld  (hl), a
  2603.     jp  loc_4A2D
  2604. ; End of function game_sub_499C
  2605.  
  2606. ; ---------------------------------------------------------------------------
  2607. word_4B00:  dw 3899h    ; DATA XREF: load_game_pat_namo
  2608.           ; game pattern name data
  2609.     db  28h ; (
  2610.     db  29h ; )
  2611.     db 0FEh ;
  2612.     dw 3A19h
  2613.     db  33h ; 3
  2614.     db  23h ; #
  2615.     db  25h ; %
  2616.     db  2Eh ; .
  2617.     db  25h ; %
  2618.     db 0FEh ;
  2619.     dw 3839h
  2620.     db  33h ; 3
  2621.     db  23h ; #
  2622.     db  2Fh ; /
  2623.     db  32h ; 2
  2624.     db  25h ; %
  2625.     db 0FEh ;
  2626.     dw 3919h
  2627.     db  32h ; 2
  2628.     db  25h ; %
  2629.     db  33h ; 3
  2630.     db  34h ; 4
  2631.     db 0FFh
  2632. word_4B1C:  dw 3A29h    ; DATA XREF: load_jaguar_pat_nam+6o
  2633.           ; pattern name data
  2634.     db  30h ; 0
  2635.     db  35h ; 5
  2636.     db  33h ; 3
  2637.     db  28h ; (
  2638.     db    0
  2639.     db  33h ; 3
  2640.     db  30h ; 0
  2641.     db  21h ; !
  2642.     db  23h ; #
  2643.     db  25h ; %
  2644.     db    0
  2645.     db  2Bh ; +
  2646.     db  25h ; %
  2647.     db  39h ; 9
  2648.     db 0FEh ;
  2649.     dw 394Ah
  2650. unk_4B2F: db  1Ah     ; DATA XREF: load_game_pat_nam+Co
  2651.     db  2Bh ; +
  2652.     db  2Fh ; /
  2653.     db  2Eh ; .
  2654.     db  21h ; !
  2655.     db  2Dh ; -
  2656.     db  29h ; )
  2657.     db    0
  2658.     db  11h
  2659.     db  19h
  2660.     db  18h
  2661.     db  14h
  2662.     db 0FFh
  2663. word_4B3C:  dw 3968h    ; DATA XREF: update_state6+18o
  2664.           ; pattern name data
  2665.     db 27h
  2666.     db 21h
  2667.     db 2Dh
  2668.     db 25h
  2669.     db 0
  2670.     db 0
  2671.     db 2Fh
  2672.     db 36h
  2673.     db 25h
  2674.     db 32h
  2675.     db 0FFh
  2676. konami_pat_nam: dw 3966h    ; DATA XREF: update_state0+Bo
  2677.           ; update_state0+1Bo
  2678.     db 20h
  2679.     db 0
  2680.     db 36h
  2681.     db 29h
  2682.     db 24h
  2683.     db 25h
  2684.     db 2Fh
  2685.     db 0
  2686.     db 23h
  2687.     db 21h
  2688.     db 32h
  2689.     db 34h
  2690.     db 32h
  2691.     db 29h
  2692.     db 24h
  2693.     db 27h
  2694.     db 25h
  2695.     db 0
  2696.     db 20h
  2697.     db 0FFh
  2698. byte_4B5F:  db 4      ; DATA XREF: input_sub_449E:loc_44AAo
  2699.     db 5
  2700.     db 8
  2701.     db 8
  2702.     db 0Ah
  2703.     db 8
  2704.     db 1
  2705.     db 4
  2706.     db 6
  2707.     db 6
  2708.     db 5
  2709.     db 9
  2710.     db 8
  2711.     db 0Ah
  2712.     db 2
  2713.     db 4
  2714.     db 0FFh
  2715.     db 0FFh
  2716.  
  2717. ; =============== S U B R O U T I N E =======================================
  2718.  
  2719.  
  2720. load_konami_logo:     ; CODE XREF: update_state0+35p
  2721.     ld  hl, 0
  2722.     call  load_konami_pat_nam
  2723.     ld  hl, 800h
  2724.     call  load_konami_pat_nam
  2725.     ld  hl, 1000h
  2726.     call  load_konami_pat_nam
  2727.     jp  load_konami_pat_gen
  2728. ; ---------------------------------------------------------------------------
  2729.  
  2730. load_konami_pat_nam:      ; CODE XREF: load_konami_logo+3p
  2731.           ; load_konami_logo+9p ...
  2732.     xor a
  2733.     ld  c, 16
  2734.  
  2735. loc_4B89:       ; CODE XREF: load_konami_logo+23j
  2736.     ld  b, 8
  2737.  
  2738. loc_4B8B:       ; CODE XREF: load_konami_logo+1Ej
  2739.     call  WRTVRM
  2740.     inc hl
  2741.     djnz  loc_4B8B
  2742.     add a, 17
  2743.     dec c
  2744.     jr  nz, loc_4B89
  2745.     ret
  2746. ; ---------------------------------------------------------------------------
  2747.  
  2748. load_konami_pat_gen:      ; CODE XREF: load_konami_logo+12j
  2749.     ld  de, byte_4BAB ; konami pattern generator data
  2750.     ld  hl, 2080h
  2751.     call  uncompress2vram3blocks
  2752.     ld  hl, 80h ; ''
  2753.     ld  a, 0F0h ; ''
  2754.     ld  bc, 250h
  2755.     jp  FILVRM_3banks
  2756. ; End of function load_konami_logo
  2757.  
  2758. ; ---------------------------------------------------------------------------
  2759. byte_4BAB:  db 8Bh, 0, 1Ch, 22h, 63h, 63h, 63h, 22h, 1Ch, 0, 18h, 38h
  2760.           ; DATA XREF: load_konami_logo:load_konami_pat_geno
  2761.     db 4, 18h, 0C9h, 7Eh, 0, 3Eh, 63h, 3, 0Eh, 3Ch, 70h, 7Fh ; konami pattern generator data
  2762.     db 0, 3Eh, 63h, 3, 0Eh, 3, 63h, 3Eh, 0, 0Eh, 1Eh, 36h
  2763.     db 66h, 66h, 7Fh, 6, 0, 7Fh, 60h, 7Eh, 63h, 3, 63h, 3Eh
  2764.     db 0, 3Eh, 63h, 60h, 7Eh, 63h, 63h, 3Eh, 0, 7Fh, 63h, 6
  2765.     db 0Ch, 18h, 18h, 18h, 0, 3Eh, 63h, 63h, 3Eh, 63h, 63h
  2766.     db 3Eh, 0, 3Eh, 63h, 63h, 3Fh, 3, 63h, 3Eh, 3Ch, 42h, 99h
  2767.     db 0A1h, 0A1h, 99h, 42h, 3Ch, 2Bh, 0, 1, 7Eh, 4, 0, 0C2h
  2768.     db 0, 1Ch, 36h, 63h, 63h, 7Fh, 63h, 63h, 0, 7Eh, 63h, 63h
  2769.     db 7Eh, 63h, 63h, 7Eh, 0, 3Eh, 63h, 60h, 60h, 60h, 63h
  2770.     db 3Eh, 0, 7Ch, 66h, 63h, 63h, 63h, 66h, 7Ch, 0, 7Fh, 60h
  2771.     db 60h, 7Eh, 60h, 60h, 7Fh, 0, 7Fh, 60h, 60h, 7Eh, 60h
  2772.     db 60h, 60h, 0, 3Eh, 63h, 60h, 67h, 63h, 63h, 3Fh, 0, 63h
  2773.     db 63h, 63h, 7Fh, 63h, 63h, 63h, 0, 3Ch, 5, 18h, 83h, 3Ch
  2774.     db 0, 1Fh, 4, 6, 8Bh, 66h, 3Ch, 0, 63h, 66h, 6Ch, 78h
  2775.     db 7Ch, 6Eh, 67h, 0, 6, 60h, 93h, 7Fh, 0, 63h, 77h, 7Fh
  2776.     db 7Fh, 6Bh, 63h, 63h, 0, 63h, 73h, 7Bh, 7Fh, 6Fh, 67h
  2777.     db 63h, 0, 3Eh, 5, 63h, 0A3h, 3Eh, 0, 7Eh, 63h, 63h, 63h
  2778.     db 7Eh, 60h, 60h, 0, 3Eh, 63h, 63h, 63h, 6Fh, 66h, 3Dh
  2779.     db 0, 7Eh, 63h, 63h, 62h, 7Ch, 66h, 63h, 0, 3Eh, 63h, 60h
  2780.     db 3Eh, 3, 63h, 3Eh, 0, 7Eh, 6, 18h, 1, 0, 6, 63h, 82h
  2781.     db 3Eh, 0, 4, 63h, 93h, 36h, 1Ch, 8, 0, 63h, 63h, 6Bh
  2782.     db 6Bh, 7Fh, 77h, 22h, 0, 63h, 76h, 3Ch, 1Ch, 1Eh, 37h
  2783.     db 63h, 90h, 0, 66h, 66h, 7Eh, 3Ch, 18h, 18h, 18h, 0, 7Fh
  2784.     db 7, 0Eh, 1Ch, 38h, 70h, 7Fh, 28h, 0, 0Eh, 0, 82h, 7
  2785.     db 0Fh, 6, 0, 82h, 0F8h, 0F0h, 4, 3Eh, 4, 3Fh, 8Bh, 1Fh
  2786.     db 3Fh, 7Fh, 0FFh, 0FEh, 0FCh, 0F8h, 0F0h, 0E0h, 0C0h
  2787.     db 80h, 3, 0, 2, 3Eh, 5, 0, 83h, 1Fh, 7Fh, 0FBh, 5, 0
  2788.     db 83h, 0Fh, 0CFh, 0EFh, 5, 0, 83h, 78h, 0FCh, 0BCh, 5
  2789.     db 0, 83h, 3Fh, 7Fh, 0F3h, 5, 0, 83h, 87h, 0C7h, 0C7h
  2790.     db 5, 0, 83h, 0BCh, 0FEh, 0DFh, 5, 0, 88h, 78h, 0FCh, 0BCh
  2791.     db 60h, 0F0h, 0F0h, 60h, 0, 3, 0F0h, 2, 3Fh, 6, 3Eh, 88h
  2792.     db 0F8h, 0FCh, 0FEh, 7Fh, 3Fh, 1Fh, 0Fh, 7, 3, 3Eh, 85h
  2793.     db 7Eh, 0FCh, 0FCh, 0F8h, 0E0h, 5, 0F1h, 83h, 0FBh, 7Fh
  2794.     db 1Fh, 6, 0EFh, 82h, 0CFh, 0Fh, 8, 1Eh, 88h, 0E1h, 3
  2795.     db 3Fh, 0F1h, 0E1h, 0F3h, 7Fh, 1Eh, 7, 0E7h, 81h, 0F7h
  2796.     db 8, 8Fh, 8, 1Eh, 82h, 0F1h, 0F2h, 4, 0F5h, 8Ah, 0F2h
  2797.     db 0F1h, 0E0h, 10h, 0C8h, 68h, 0C8h, 28h, 10h, 0E0h, 0
  2798. byte_4D61:  db 0A9h, 0Fh, 10h, 20h, 60h, 61h, 61h, 60h, 70h, 0E7h
  2799.           ; DATA XREF: load_jaguar_pat_gen+8o
  2800.     db 14h, 4, 4, 86h, 0FEh, 3Eh, 6, 0F7h, 18h, 18h, 10h, 0 ; pattern generator data
  2801.     db 0, 1, 0, 0BFh, 20h, 20h, 20h, 0F0h, 0B0h, 0B0h, 98h
  2802.     db 7Fh, 0C1h, 0C1h, 0C1h, 0C2h, 2, 2, 4, 3Fh, 3, 30h, 4
  2803.     db 18h, 8Bh, 87h, 58h, 70h, 60h, 61h, 61h, 60h, 60h, 0E0h
  2804.     db 11h, 0Bh, 5, 6, 94h, 0FFh, 80h, 0, 0, 18h, 1Fh, 10h
  2805.     db 10h, 0BEh, 41h, 41h, 41h, 61h, 0E1h, 61h, 61h, 0FEh
  2806.     db 82h, 83h, 82h, 4, 86h, 8Ch, 7Eh, 81h, 0, 0, 18h, 18h
  2807.     db 0, 0, 3Fh, 20h, 0A0h, 60h, 4, 70h, 8Bh, 0F8h, 4, 2
  2808.     db 2, 0C2h, 0C2h, 4, 8, 1Eh, 21h, 61h, 4, 60h, 8Ah, 7Fh
  2809.     db 6, 86h, 86h, 6, 0Ch, 1Ch, 2Ch, 0EFh, 0, 6, 18h, 84h
  2810.     db 0FFh, 4Ch, 46h, 46h, 4, 2Ch, 84h, 0EFh, 0Fh, 16h, 16h
  2811.     db 4, 0Eh, 0B2h, 0FFh, 0F8h, 18h, 18h, 0, 0, 0, 1, 0FEh
  2812.     db 60h, 61h, 61h, 41h, 41h, 0C1h, 0C1h, 0FFh, 6, 86h, 86h
  2813.     db 86h, 87h, 83h, 81h, 0FCh, 10h, 18h, 18h, 0, 0, 80h
  2814.     db 0C0h, 0FFh, 61h, 61h, 61h, 60h, 60h, 70h, 38h, 1Fh
  2815.     db 86h, 86h, 86h, 4, 4, 0Ch, 14h, 0E7h, 0, 6, 18h, 81h
  2816.     db 0EFh, 3, 70h, 4, 20h, 8Ch, 0BFh, 4, 0C2h, 0C2h, 0C3h
  2817.     db 0C1h, 0C1h, 0C1h, 0FEh, 0, 3Fh, 7, 6, 0, 83h, 0FFh
  2818.     db 0FFh, 0, 0A7h, 3Fh, 7, 0, 0, 0, 0FFh, 0FFh, 0, 0FFh
  2819.     db 0FFh, 0, 3Fh, 0, 0FFh, 0FFh, 0, 0FFh, 0FFh, 0, 0FFh
  2820.     db 0, 0FFh, 0FFh, 0, 0FFh, 0FFh, 0, 0FCh, 0, 0FFh, 0FFh
  2821.     db 0, 0FCh, 0E0h, 0, 0, 0, 0FCh, 0E0h, 5, 0, 81h, 7, 7
  2822.     db 0, 84h, 0FFh, 0, 1Fh, 3, 4, 0, 84h, 0FFh, 0, 0FFh, 0FFh
  2823.     db 4, 0, 84h, 0FFh, 0, 0F8h, 0C0h, 4, 0, 81h, 0E0h, 7
  2824.     db 0, 0
  2825. byte_4E82:  db 0C9h, 38h, 8Eh, 0C0h, 0C1h, 0C2h, 0C3h, 0C4h, 0C5h
  2826.           ; DATA XREF: load_jaguar_pat_namo
  2827.     db 0C6h, 0C7h, 0C8h, 0C9h, 0CAh, 0CBh, 0CCh, 0CDh, 80h ; pattern name data
  2828.     db 0E9h, 38h, 8Eh, 0CEh, 0CFh, 0D0h, 0D1h, 0D2h, 0D3h
  2829.     db 0D4h, 0D5h, 0D6h, 0D7h, 0D8h, 0D9h, 0DAh, 0DBh, 80h
  2830.     db 9, 39h, 83h, 0DCh, 0DDh, 0DEh, 8, 0DFh, 83h, 0E0h, 0E1h
  2831.     db 0E2h, 80h, 2Bh, 39h, 82h, 0E3h, 0E4h, 6, 0E5h, 82h
  2832.     db 0E6h, 0E7h, 0
  2833.  
  2834. ; =============== S U B R O U T I N E =======================================
  2835.  
  2836.  
  2837. clear_sprs_attribute:     ; CODE XREF: game_sub_45A6+5p
  2838.     ld  hl, sprs_attribute
  2839.     ld  b, 128
  2840.  
  2841. loc_4EC3:       ; CODE XREF: clear_sprs_attribute+8j
  2842.     ld  (hl), 224
  2843.     inc hl
  2844.     djnz  loc_4EC3
  2845.     ret
  2846. ; End of function clear_sprs_attribute
  2847.  
  2848.  
  2849. ; =============== S U B R O U T I N E =======================================
  2850.  
  2851.  
  2852. load_sprs_attribute:      ; CODE XREF: update_game+Fp
  2853.           ; game_sub_45A6+79p
  2854.     ld  hl, 3B00h
  2855.     ld  de, sprs_attribute
  2856.     ld  bc, 24h ; '$'
  2857.     call  LDIRVM_swaped
  2858.     ld  hl, 3B24h
  2859.     call  vdp_set_write
  2860.     ld  a, (frame_count)
  2861.     and 3
  2862.     ld  b, a
  2863.     add a, a
  2864.     add a, b
  2865.     ld  c, 4
  2866.     ld  hl, byte_4EFD
  2867.     call  add_a_to_hl ; HL=HL+A
  2868.  
  2869. loc_4EEB:       ; CODE XREF: load_sprs_attribute+31j
  2870.     ld  b, (hl)
  2871.     inc hl
  2872.     ld  e, (hl)
  2873.     inc hl
  2874.     ld  d, (hl)
  2875.     inc hl
  2876.  
  2877. loc_4EF1:       ; CODE XREF: load_sprs_attribute+2Ej
  2878.     ld  a, (de)
  2879.     inc de
  2880.     exx
  2881.     out (c), a
  2882.     exx
  2883.     djnz  loc_4EF1
  2884.     dec c
  2885.     jr  nz, loc_4EEB
  2886.     ret
  2887. ; ---------------------------------------------------------------------------
  2888. byte_4EFD:  db 18h, 0D4h, 0E0h, 18h, 0ECh, 0E0h, 18h, 4, 0E1h, 14h
  2889.           ; DATA XREF: load_sprs_attribute+1Co
  2890.     db 1Ch, 0E1h, 18h, 0D4h, 0E0h, 18h, 0ECh, 0E0h, 18h, 4
  2891.     db 0E1h
  2892. ; End of function load_sprs_attribute
  2893.  
  2894.  
  2895. ; =============== S U B R O U T I N E =======================================
  2896.  
  2897.  
  2898. setup_spr_pat_gen:      ; CODE XREF: game_sub_45A6+73p
  2899.     ld  hl, 1800h
  2900.     ld  de, spr_pat_gen ; sprite pattern generation
  2901.     jp  uncompress_vram
  2902. ; End of function setup_spr_pat_gen
  2903.  
  2904. ; ---------------------------------------------------------------------------
  2905. spr_pat_gen:  db 0, 18h, 2, 1, 3, 0, 2, 1, 8Bh, 4, 0Ch, 1Ch, 3Ch, 7Dh
  2906.           ; DATA XREF: setup_spr_pat_gen+3o
  2907.     db 7Dh, 6Dh, 1, 1, 80h, 80h, 3, 0, 2, 80h, 89h, 20h, 30h ; sprite pattern generation
  2908.     db 38h, 3Ch, 0BEh, 0BEh, 0B6h, 80h, 80h, 3, 1, 3, 3, 84h
  2909.     db 17h, 1Fh, 0DFh, 0BFh, 4, 0FFh, 82h, 3, 1, 3, 80h, 3
  2910.     db 0C0h, 84h, 0E8h, 0F8h, 0F9h, 0FDh, 4, 0FFh, 84h, 0C0h
  2911.     db 80h, 1, 1, 0Eh, 0, 2, 80h, 0Eh, 0, 2, 0Ch, 0Eh, 0, 2
  2912.     db 30h, 0Eh, 0, 2, 1, 81h, 5, 4, 65h, 2, 44h, 84h, 4, 6
  2913.     db 2, 2, 5, 0, 81h, 40h, 4, 4Ch, 2, 44h, 84h, 40h, 0C0h
  2914.     db 80h, 80h, 3, 0, 83h, 1, 3, 3, 5, 1Fh, 3, 0Fh, 81h, 7
  2915.     db 4, 1, 83h, 0, 80h, 80h, 5, 0F0h, 3, 0E0h, 81h, 0C0h
  2916.     db 6, 0, 8Dh, 1Fh, 1Eh, 0, 0, 3Fh, 0, 0FEh, 0, 3Fh, 0
  2917.     db 0, 1Eh, 1Fh, 3, 0, 81h, 80h, 3, 0, 85h, 0E0h, 38h, 0
  2918.     db 38h, 0E0h, 3, 0, 81h, 80h, 5, 0, 3, 1Fh, 3, 7Fh, 3
  2919.     db 1Fh, 8, 0, 87h, 0E0h, 0F0h, 0F0h, 0FFh, 0F0h, 0F0h
  2920.     db 0E0h, 7, 0, 2, 1, 84h, 3, 2, 22h, 22h, 4, 32h, 81h
  2921.     db 2, 5, 0, 2, 40h, 84h, 50h, 20h, 22h, 22h, 4, 0A5h, 83h
  2922.     db 0A0h, 80h, 80h, 4, 0, 81h, 2, 3, 7, 5, 0Fh, 2, 1, 81h
  2923.     db 0, 4, 80h, 81h, 0A0h, 3, 0F0h, 5, 0F8h, 2, 0C0h, 2
  2924.     db 0, 81h, 1, 3, 0, 85h, 7, 1Ch, 0, 1Ch, 7, 3, 0, 81h
  2925.     db 1, 3, 0, 8Dh, 0F8h, 78h, 0, 0, 0FCh, 0, 7Fh, 0, 0FCh
  2926.     db 0, 0, 78h, 0F8h, 6, 0, 87h, 7, 0Fh, 0Fh, 0FFh, 0Fh
  2927.     db 0Fh, 7, 8, 0, 3, 0F8h, 3, 0FEh, 3, 0F8h, 5, 0, 2, 1
  2928.     db 0Ah, 0, 2, 1, 2, 0, 2, 80h, 0Ah, 0, 2, 80h, 86h, 0
  2929.     db 3, 6, 6, 7, 3, 6, 1, 8Ah, 3, 7, 6, 6, 3, 0C0h, 60h
  2930.     db 60h, 0E0h, 0C0h, 6, 80h, 85h, 0C0h, 0E0h, 60h, 60h
  2931.     db 0C0h, 3, 0, 82h, 18h, 10h, 17h, 0, 82h, 4, 0Ch, 4, 0
  2932.     db 87h, 1Ch, 26h, 2Eh, 3Eh, 1Dh, 3, 8, 0Eh, 0, 88h, 80h
  2933.     db 0C0h, 0E0h, 5Ch, 3Eh, 3Ah, 32h, 1Ch, 8, 0, 2, 60h, 0Eh
  2934.     db 0, 2, 6, 0Ch, 0, 86h, 70h, 0F8h, 9Fh, 9Fh, 0F8h, 70h
  2935.     db 0Ah, 0, 86h, 0Eh, 1Fh, 0F9h, 0F9h, 1Fh, 0Eh, 11h, 0
  2936.     db 82h, 20h, 30h, 5, 0, 82h, 18h, 8, 12h, 0, 88h, 1, 3
  2937.     db 7, 3Ah, 7Ch, 5Ch, 4Ch, 38h, 3, 0, 87h, 38h, 64h, 74h
  2938.     db 7Ch, 0B8h, 0C0h, 80h, 0Dh, 0, 84h, 2, 1, 1, 2, 0Ch
  2939.     db 0, 84h, 40h, 80h, 80h, 40h, 0Ah, 0, 88h, 9, 7, 5, 0Eh
  2940.     db 0Eh, 5, 7, 9, 8, 0, 88h, 90h, 0E0h, 0A0h, 70h, 70h
  2941.     db 0A0h, 0E0h, 90h, 4, 0, 88h, 80h, 0BCh, 0B7h, 0B6h, 0B6h
  2942.     db 0F2h, 1Ch, 3, 9, 0, 83h, 3, 0C3h, 0FBh, 3, 0DBh, 86h
  2943.     db 1Bh, 0C3h, 7Bh, 0Bh, 3, 3, 3, 1, 84h, 0, 0C0h, 0C3h
  2944.     db 0DFh, 3, 0DBh, 86h, 0D8h, 0C3h, 0DEh, 0D0h, 0C0h, 0C0h
  2945.     db 3, 80h, 89h, 1, 3Dh, 0EDh, 6Dh, 6Dh, 61h, 4Fh, 38h
  2946.     db 0C0h, 0Ch, 0, 82h, 3, 1Eh, 3, 0B6h, 84h, 0B0h, 87h
  2947.     db 0FCh, 0C0h, 3, 0, 2, 3, 82h, 0Bh, 7Bh, 3, 0DBh, 85h
  2948.     db 0C3h, 1Bh, 0FBh, 0C3h, 3, 3, 1, 85h, 0, 0C0h, 0C0h
  2949.     db 0D0h, 0DEh, 3, 0DBh, 85h, 0C3h, 0D8h, 0DFh, 0C3h, 0C0h
  2950.     db 3, 80h, 5, 0, 82h, 0C0h, 78h, 3, 6Dh, 0B1h, 0Dh, 0E1h
  2951.     db 3Fh, 3, 0, 0, 46h, 67h, 78h, 5Eh, 5Eh, 62h, 62h, 5Eh
  2952.     db 5Eh, 62h, 62h, 36h, 1Ah, 0Fh, 6, 3, 0C4h, 0CCh, 3Ch
  2953.     db 0F4h, 0F4h, 8Ch, 8Ch, 0D8h, 0F4h, 8Ch, 8Ch, 0D8h, 0B0h
  2954.     db 0E0h, 0C0h, 80h, 0, 0, 20h, 33h, 3Dh, 21h, 1, 0Dh, 1Dh
  2955.     db 0Dh, 5, 4, 1, 3, 0, 89h, 4, 0CCh, 9Ch, 84h, 80h, 0B0h
  2956.     db 0B8h, 0B0h, 0A0h, 4, 80h, 4, 0, 2, 7, 5, 3Fh, 2, 1Fh
  2957.     db 82h, 0Fh, 3, 5, 0, 81h, 20h, 6, 0FCh, 2, 0F8h, 82h
  2958.     db 0F0h, 0C0h, 8, 0, 4, 3, 81h, 1, 0Ah, 0, 81h, 80h, 4
  2959.     db 0C0h, 81h, 80h, 6, 0, 9Eh, 0Ch, 1Ch, 34h, 64h, 4Ch
  2960.     db 0FCh, 0ECh, 0ECh, 0FCh, 4Ch, 64h, 34h, 1Ch, 0Ch, 0
  2961.     db 0, 30h, 38h, 2Ch, 26h, 32h, 3Fh, 37h, 37h, 3Fh, 32h
  2962.     db 26h, 2Ch, 38h, 30h, 6, 0, 6, 1, 16h, 0, 9Eh, 6, 0Eh
  2963.     db 1Ah, 32h, 26h, 6Eh, 7Ah, 7Ah, 6Eh, 26h, 32h, 1Ah, 0Eh
  2964.     db 6, 0, 0, 0C0h, 0E0h, 0B0h, 98h, 0C8h, 0ECh, 0BCh, 0BCh
  2965.     db 0ECh, 0C8h, 98h, 0B0h, 0E0h, 0C0h, 7, 0, 84h, 3, 0Fh
  2966.     db 0Fh, 3, 0Ah, 0, 88h, 10h, 0F0h, 0D0h, 50h, 50h, 0D0h
  2967.     db 0F0h, 10h, 0Ah, 0, 84h, 1, 3, 3, 1, 0Ch, 0, 84h, 80h
  2968.     db 0C0h, 0C0h, 80h, 6, 0, 85h, 82h, 0D6h, 0BAh, 0BAh, 7Ch
  2969.     db 9, 38h, 81h, 10h, 21h, 0, 85h, 82h, 0D5h, 0BAh, 0BAh
  2970.     db 7Ch, 9, 38h, 0C4h, 10h, 0, 0, 40h, 31h, 18h, 0Fh, 16h
  2971.     db 0Bh, 7, 3, 0Dh, 33h, 6, 8, 14h, 8, 0, 0, 42h, 4, 9Ch
  2972.     db 0B0h, 0F4h, 0B8h, 0F0h, 58h, 0E5h, 60h, 30h, 18h, 88h
  2973.     db 4, 42h, 80h, 44h, 32h, 3Fh, 1Eh, 0Bh, 13h, 24h, 1Eh
  2974.     db 22h, 44h, 9, 6, 18h, 30h, 40h, 82h, 84h, 0C8h, 5Ch
  2975.     db 58h, 30h, 9Ch, 0Fh, 7Ch, 30h, 0DCh, 0C8h, 0D4h, 45h
  2976.     db 42h, 1, 0, 80h, 3, 0, 87h, 1, 4, 11h, 2, 0, 1, 8, 8
  2977.     db 0, 0ABh, 80h, 4, 0, 40h, 68h, 0C0h, 0, 4, 0, 80h, 0
  2978.     db 0, 1, 18h, 30h, 0, 46h, 4, 0C0h, 80h, 4, 0Eh, 6, 42h
  2979.     db 0C8h, 60h, 3, 87h, 1, 18h, 0Ch, 44h, 0, 60h, 31h, 3
  2980.     db 0, 18h, 30h, 0, 4, 0Ch, 18h, 6, 0, 81h, 0C4h, 5, 4Ah
  2981.     db 81h, 44h, 9, 0, 81h, 44h, 5, 0AAh, 81h, 44h, 4, 0, 9Eh
  2982.     db 3, 0Fh, 1Fh, 34h, 12h, 0Ah, 5, 0, 0, 2, 5, 6, 0, 1
  2983.     db 0, 0, 0C0h, 0F0h, 0F8h, 2Ch, 48h, 50h, 0A0h, 0, 0, 40h
  2984.     db 0A0h, 60h, 0, 80h, 9, 0, 82h, 1Bh, 7, 5, 0Fh, 82h, 7
  2985.     db 1Eh, 7, 0, 82h, 0D8h, 0E0h, 5, 0F0h, 82h, 0E0h, 78h
  2986.     db 3, 0, 8Bh, 4, 1Ah, 12h, 12h, 6, 1Ch, 11h, 15h, 15h
  2987.     db 11h, 3Fh, 0Bh, 0, 3, 54h, 82h, 24h, 0DCh, 5, 0, 81h
  2988.     db 3Ch, 3, 36h, 2, 3Ch, 5, 3Fh, 0Bh, 0, 5, 0FCh, 6, 0
  2989.     db 88h, 8, 0Fh, 0Bh, 0Ah, 0Ah, 0Bh, 0Fh, 8, 0Ah, 0, 84h
  2990.     db 0C0h, 0F0h, 0F0h, 0C0h, 0Ah, 0, 88h, 3, 7, 0Dh, 0Bh
  2991.     db 0Fh, 0Fh, 7, 3, 8, 0, 82h, 0C0h, 60h, 4, 0F0h, 82h
  2992.     db 0E0h, 0C0h, 4, 0, 0
  2993. ; ---------------------------------------------------------------------------
  2994.  
  2995. loc_5334:       ; CODE XREF: update_game+1Bp
  2996.     ld  b, 7
  2997.     ld  hl, game_unk_E200
  2998.  
  2999. loc_5339:       ; CODE XREF: ROM:534Cj
  3000.     ld  (game_word_E310), hl
  3001.     ld  a, (hl)
  3002.     and a
  3003.     jr  z, loc_5345
  3004.     push  bc
  3005.     call  loc_534F
  3006.     pop bc
  3007.  
  3008. loc_5345:       ; CODE XREF: ROM:533Ej
  3009.     ld  hl, (game_word_E310)
  3010.     ld  de, 10h
  3011.     add hl, de
  3012.     djnz  loc_5339
  3013.     ret
  3014. ; ---------------------------------------------------------------------------
  3015.  
  3016. loc_534F:       ; CODE XREF: ROM:5341p
  3017.     inc l
  3018.     ld  a, (hl)
  3019.     ld  de, off_535F
  3020.     add a, a
  3021.     call  add_a_to_de ; DE=DE+A
  3022.     ex  de, hl
  3023.     ld  c, (hl)
  3024.     inc hl
  3025.     ld  b, (hl)
  3026.     ex  de, hl
  3027.     push  bc
  3028.     ret
  3029. ; ---------------------------------------------------------------------------
  3030. off_535F: dw loc_5389   ; DATA XREF: ROM:5351o
  3031.     dw loc_5390
  3032.     dw loc_53E2
  3033.     dw loc_5441
  3034.     dw loc_5423
  3035.     dw loc_5461
  3036.     dw loc_5465
  3037.     dw locret_5504
  3038.     dw loc_5505
  3039.     dw loc_5505
  3040.     dw loc_5594
  3041.     dw loc_5594
  3042.     dw loc_5599
  3043.     dw loc_5599
  3044.     dw loc_55C7
  3045.     dw loc_55C7
  3046.     dw loc_5612
  3047.     dw loc_5669
  3048.     dw locret_5504
  3049.     dw loc_56B1
  3050.     dw loc_57E1
  3051. ; ---------------------------------------------------------------------------
  3052.  
  3053. loc_5389:       ; DATA XREF: ROM:off_535Fo
  3054.     ld  b, 0
  3055.     ld  de, byte_53CA
  3056.     jr  loc_5395
  3057. ; ---------------------------------------------------------------------------
  3058.  
  3059. loc_5390:       ; DATA XREF: ROM:5361o
  3060.     ld  b, 0FFh
  3061.     ld  de, byte_53D6
  3062.  
  3063. loc_5395:       ; CODE XREF: ROM:538Ej
  3064.     inc l
  3065.     inc (hl)
  3066.     ld  a, (hl)
  3067.     cp  10h
  3068.     ret c
  3069.     dec l
  3070.  
  3071. loc_539C:       ; CODE XREF: ROM:5434j
  3072.     ld  a, 0Ah
  3073.     add a, l
  3074.     ld  l, a
  3075.     ld  a, (player_spr_attr+1)
  3076.     sub (hl)
  3077.     jr  nc, loc_53A8
  3078.     neg
  3079.  
  3080. loc_53A8:       ; CODE XREF: ROM:53A4j
  3081.     rra
  3082.     rra
  3083.     rra
  3084.     rra
  3085.     and 0Fh
  3086.     call  add_a_to_de ; DE=DE+A
  3087.     ex  de, hl
  3088.     ld  c, (hl)
  3089.     ex  de, hl
  3090.     ld  a, 0FBh ; ''
  3091.     add a, l
  3092.     ld  l, a
  3093.  
  3094. loc_53B8:       ; CODE XREF: ROM:543Ej
  3095.     ld  a, (hl)
  3096.     add a, c
  3097.     ld  (hl), a
  3098.     ld  c, a
  3099.     inc l
  3100.     ld  a, (hl)
  3101.     adc a, b
  3102.     ld  b, a
  3103.     rl  c
  3104.     adc a, a
  3105.     add a, 5
  3106.     cp  0Ah
  3107.     ret nc
  3108.     ld  (hl), b
  3109.     ret
  3110. ; ---------------------------------------------------------------------------
  3111. byte_53CA:  db 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6 ; DATA XREF: ROM:538Bo
  3112. byte_53D6:  db 0FFh, 0FFh, 0FEh, 0FEh, 0FDh, 0FDh, 0FCh, 0FCh, 0FBh
  3113.           ; DATA XREF: ROM:5392o
  3114.     db 0FBh, 0FAh, 0FAh
  3115. ; ---------------------------------------------------------------------------
  3116.  
  3117. loc_53E2:       ; DATA XREF: ROM:5363o
  3118.     ld  a, 0Ah
  3119.     add a, l
  3120.     ld  l, a
  3121.     ld  a, (player_spr_attr+1)
  3122.     sub (hl)
  3123.     ld  bc, 80h ; ''
  3124.     jr  nc, loc_53F2
  3125.     ld  bc, -128
  3126.  
  3127. loc_53F2:       ; CODE XREF: ROM:53EDj
  3128.     dec l
  3129.     dec l
  3130.     dec l
  3131.     dec l
  3132.     add a, 0Ah
  3133.     cp  14h
  3134.     jr  c, loc_540A
  3135.     ld  (hl), b
  3136.     dec l
  3137.     ld  (hl), c
  3138.     ld  a, 6
  3139.     add a, l
  3140.     ld  l, a
  3141.     ld  c, 10h
  3142.     ld  b, 84h ; ''
  3143.     jp  loc_54B2
  3144. ; ---------------------------------------------------------------------------
  3145.  
  3146. loc_540A:       ; CODE XREF: ROM:53FAj
  3147.     xor a
  3148.     ld  (hl), a
  3149.     dec l
  3150.     ld  (hl), a
  3151.     dec l
  3152.     ld  (hl), 3
  3153.     dec l
  3154.     ld  (hl), a
  3155.     dec l
  3156.     dec l
  3157.     dec l
  3158.     ld  (hl), 12h
  3159.     ld  a, 0Bh
  3160.     add a, l
  3161.     ld  l, a
  3162.     ld  (hl), 10h
  3163.     inc hl
  3164.     inc hl
  3165.     ld  (hl), 14h
  3166.     ret
  3167. ; ---------------------------------------------------------------------------
  3168.  
  3169. loc_5423:       ; DATA XREF: ROM:5367o
  3170.     ld  bc, -244
  3171.     ld  de, byte_5449
  3172.  
  3173. loc_5429:       ; CODE XREF: ROM:5447j
  3174.     inc l
  3175.     inc (hl)
  3176.     ld  a, (hl)
  3177.     cp  8
  3178.     ret c
  3179.     cp  40h ; '@'
  3180.     jr  nc, loc_5437
  3181.     dec l
  3182.     jp  loc_539C
  3183. ; ---------------------------------------------------------------------------
  3184.  
  3185. loc_5437:       ; CODE XREF: ROM:5431j
  3186.     ld  a, b
  3187.     cpl
  3188.     ld  b, a
  3189.     inc l
  3190.     inc l
  3191.     inc l
  3192.     inc l
  3193.     jp  loc_53B8
  3194. ; ---------------------------------------------------------------------------
  3195.  
  3196. loc_5441:       ; DATA XREF: ROM:5365o
  3197.     ld  de, byte_5455
  3198.     ld  bc, 0F4h ; ''
  3199.     jr  loc_5429
  3200. ; ---------------------------------------------------------------------------
  3201. byte_5449:  db 0FEh, 0FCh, 0FAh, 0F8h, 0F6h, 0F4h, 0F2h, 0F0h, 0EEh
  3202.           ; DATA XREF: ROM:5426o
  3203.     db 0EEh, 0EEh, 0EEh
  3204. byte_5455:  db 2, 4, 6, 8, 0Ah, 0Ch, 0Eh, 10h, 12h, 12h, 12h, 12h
  3205.           ; DATA XREF: ROM:loc_5441o
  3206. ; ---------------------------------------------------------------------------
  3207.  
  3208. loc_5461:       ; DATA XREF: ROM:5369o
  3209.     ld  c, 0
  3210.     jr  loc_5467
  3211. ; ---------------------------------------------------------------------------
  3212.  
  3213. loc_5465:       ; DATA XREF: ROM:536Bo
  3214.     ld  c, 6
  3215.  
  3216. loc_5467:       ; CODE XREF: ROM:5463j
  3217.     ld  b, 8
  3218.     ld  a, (game_byte_E140)
  3219.     cp  2
  3220.     jr  nz, loc_5474
  3221.     ld  b, 6
  3222.     set 3, c
  3223.  
  3224. loc_5474:       ; CODE XREF: ROM:546Ej
  3225.     inc l
  3226.     ld  a, (frame_count)
  3227.     and 0Fh
  3228.     jr  nz, loc_547D
  3229.     inc (hl)
  3230.  
  3231. loc_547D:       ; CODE XREF: ROM:547Aj
  3232.     ld  a, (hl)
  3233.     sub b
  3234.     cp  0Eh
  3235.     jr  nc, loc_54A7
  3236.     ld  b, a
  3237.     ld  a, c
  3238.     dec a
  3239.     cp  0Dh
  3240.     ld  a, b
  3241.     jr  nc, loc_548D
  3242.     neg
  3243.  
  3244. loc_548D:       ; CODE XREF: ROM:5489j
  3245.     add a, c
  3246.     and 0Fh
  3247.     add a, a
  3248.     add a, a
  3249.     ld  de, byte_54C4
  3250.     call  add_a_to_de ; DE=DE+A
  3251.     ld  b, 2
  3252.     inc l
  3253.  
  3254. loc_549B:       ; CODE XREF: ROM:54A5j
  3255.     inc l
  3256.     ld  a, (de)
  3257.     add a, (hl)
  3258.     ld  (hl), a
  3259.     inc l
  3260.     inc de
  3261.     ld  a, (de)
  3262.     adc a, (hl)
  3263.     ld  (hl), a
  3264.     inc de
  3265.     djnz  loc_549B
  3266.  
  3267. loc_54A7:       ; CODE XREF: ROM:5481j
  3268.     ld  hl, (game_word_E310)
  3269.     ld  de, 0Ch
  3270.     add hl, de
  3271.     ld  c, 30h ; '0'
  3272.     ld  b, 3
  3273.  
  3274. loc_54B2:       ; CODE XREF: ROM:5407j
  3275.     ld  a, (frame_count)
  3276.     and 6
  3277.     add a, a
  3278.     add a, a
  3279.     add a, c
  3280.     ld  (hl), a
  3281.     inc l
  3282.     inc l
  3283.     add a, 4
  3284.     ld  (hl), a
  3285.     ld  a, b
  3286.     jp  loc_560A
  3287. ; ---------------------------------------------------------------------------
  3288. byte_54C4:  db 0FEh, 0FFh, 5, 0, 0FCh, 0FFh, 4, 0, 0FBh, 0FFh, 2, 0
  3289.           ; DATA XREF: ROM:5492o
  3290.     db 0FAh, 0FFh, 0, 0, 0FBh, 0FFh, 0FEh, 0FFh, 0FCh, 0FFh
  3291.     db 0FCh, 0FFh, 0FEh, 0FFh, 0FBh, 0FFh, 0, 0, 0FAh, 0FFh
  3292.     db 2, 0, 0FBh, 0FFh, 4, 0, 0FCh, 0FFh, 5, 0, 0FEh, 0FFh
  3293.     db 6, 0, 0, 0, 5, 0, 2, 0, 4, 0, 4, 0, 2, 0, 5, 0, 0, 0
  3294.     db 6, 0
  3295. ; ---------------------------------------------------------------------------
  3296.  
  3297. locret_5504:        ; DATA XREF: ROM:536Do  ROM:5383o
  3298.     ret
  3299. ; ---------------------------------------------------------------------------
  3300.  
  3301. loc_5505:       ; DATA XREF: ROM:536Fo  ROM:5371o
  3302.     ld  a, 5
  3303.     call  get_hl_a_ptr  ; DE=(HL+A)
  3304.     inc l
  3305.     inc l
  3306.     inc l
  3307.     inc l
  3308.     ld  a, (hl)
  3309.     cp  10h
  3310.     jr  nc, loc_5516
  3311.     ld  de, 0A0h ; ''
  3312.  
  3313. loc_5516:       ; CODE XREF: ROM:5511j
  3314.     cp  0A0h ; ''
  3315.     jr  c, loc_551D
  3316.     ld  de, 0FF60h
  3317.  
  3318. loc_551D:       ; CODE XREF: ROM:5518j
  3319.     dec l
  3320.     dec l
  3321.     dec l
  3322.     dec l
  3323.     ld  (hl), d
  3324.     dec l
  3325.     ld  (hl), e
  3326.     ld  de, 6
  3327.     add hl, de
  3328.     ld  a, (frame_count)
  3329.     bit 3, a
  3330.     ld  de, byte_5C58
  3331.     jr  nz, loc_5535
  3332.     ld  de, byte_6460
  3333.  
  3334. loc_5535:       ; CODE XREF: ROM:5530j
  3335.     ld  (hl), e
  3336.     inc l
  3337.     inc l
  3338.     ld  (hl), d
  3339.     ld  de, -12
  3340.     add hl, de
  3341.     ld  a, (hl)
  3342.     ld  c, a
  3343.     and 0Ch
  3344.     ld  a, 47h ; 'G'
  3345.     jp  z, loc_560A
  3346.     ld  a, l
  3347.     rra
  3348.     rra
  3349.     rra
  3350.     rra
  3351.     and 0Fh
  3352.     exx
  3353.     ld  hl, game_unk_E1C6
  3354.     call  add_a_to_hl ; HL=HL+A
  3355.     dec (hl)
  3356.     ld  a, (hl)
  3357.     exx
  3358.     ld  de, 0Ah
  3359.     add hl, de
  3360.     cp  8
  3361.     ld  de, 694h
  3362.     jr  nc, loc_5565
  3363.     ld  de, 0FA0h
  3364.  
  3365. loc_5565:       ; CODE XREF: ROM:5560j
  3366.     bit 2, c
  3367.     jr  z, loc_556D
  3368.     ld  (hl), e
  3369.     inc l
  3370.     ld  (hl), d
  3371.     dec l
  3372.  
  3373. loc_556D:       ; CODE XREF: ROM:5567j
  3374.     inc l
  3375.     inc l
  3376.     bit 3, c
  3377.     jr  z, loc_5577
  3378.     ld  (hl), e
  3379.     inc l
  3380.     ld  (hl), d
  3381.     dec l
  3382.  
  3383. loc_5577:       ; CODE XREF: ROM:5571j
  3384.     inc l
  3385.     and a
  3386.     ret nz
  3387.     bit 3, c
  3388.     jr  z, loc_5580
  3389.     ld  (hl), 0
  3390.  
  3391. loc_5580:       ; CODE XREF: ROM:557Cj
  3392.     dec l
  3393.     dec l
  3394.     bit 2, c
  3395.     jr  z, loc_5588
  3396.     ld  (hl), 0
  3397.  
  3398. loc_5588:       ; CODE XREF: ROM:5584j
  3399.     ld  a, 3
  3400.     and c
  3401.     jp  z, game_sub_6D36
  3402.     ld  de, -11
  3403.     add hl, de
  3404.     ld  (hl), a
  3405.     ret
  3406. ; ---------------------------------------------------------------------------
  3407.  
  3408. loc_5594:       ; DATA XREF: ROM:5373o  ROM:5375o
  3409.     ld  a, 81h ; ''
  3410.     jp  loc_560A
  3411. ; ---------------------------------------------------------------------------
  3412.  
  3413. loc_5599:       ; DATA XREF: ROM:5377o  ROM:5379o
  3414.     ld  a, (frame_count)
  3415.     bit 0, a
  3416.     ld  c, 0
  3417.     jr  nz, loc_55A3
  3418.     dec c
  3419.  
  3420. loc_55A3:       ; CODE XREF: ROM:55A0j
  3421.     ld  a, 8
  3422.     add a, l
  3423.     ld  l, a
  3424.     ld  a, (hl)
  3425.     sub 28h ; '('
  3426.     sub 38h ; '8'
  3427.     jr  nc, loc_55B0
  3428.     ld  c, 0
  3429.  
  3430. loc_55B0:       ; CODE XREF: ROM:55ACj
  3431.     sub 18h
  3432.     sub 88h ; ''
  3433.     jr  nc, loc_55B8
  3434.     ld  c, 0FFh
  3435.  
  3436. loc_55B8:       ; CODE XREF: ROM:55B4j
  3437.     ld  a, 4
  3438.     add a, l
  3439.     ld  l, a
  3440.     ld  a, 1
  3441.     and c
  3442.     ld  (hl), a
  3443.     inc l
  3444.     inc l
  3445.     ld  a, 0Fh
  3446.     and c
  3447.     ld  (hl), a
  3448.     ret
  3449. ; ---------------------------------------------------------------------------
  3450.  
  3451. loc_55C7:       ; DATA XREF: ROM:537Bo  ROM:537Do
  3452.     ld  a, (frame_count)
  3453.     and 3
  3454.     ret nz
  3455.     ld  e, a
  3456.     inc l
  3457.     ld  a, (hl)
  3458.     inc (hl)
  3459.     ex  de, hl
  3460.     rra
  3461.     rra
  3462.     rra
  3463.     rra
  3464.     rra
  3465.     and 0Eh
  3466.     ld  hl, off_55FC
  3467.     call  add_a_to_hl ; HL=HL+A
  3468.     ld  c, (hl)
  3469.     inc hl
  3470.     ld  b, (hl)
  3471.     ld  a, (game_byte_E321)
  3472.     cp  9
  3473.     jr  z, loc_55EC
  3474.     ld  bc, byte_7C80
  3475.  
  3476. loc_55EC:       ; CODE XREF: ROM:55E7j
  3477.     ex  de, hl
  3478.     inc l
  3479.     inc l
  3480.     ld  (hl), c
  3481.     ld  a, 8
  3482.     add a, l
  3483.     ld  l, a
  3484.     ld  (hl), b
  3485.     inc l
  3486.     inc l
  3487.     ld  a, b
  3488.     add a, 4
  3489.     ld  (hl), a
  3490.     ret
  3491. ; ---------------------------------------------------------------------------
  3492. off_55FC: dw byte_7C80    ; DATA XREF: ROM:55D9o
  3493.     dw byte_7400
  3494.     dw byte_7C80
  3495.     dw byte_7400
  3496. ; ---------------------------------------------------------------------------
  3497.  
  3498. loc_5604:       ; CODE XREF: ROM:5617j
  3499.     ld  a, b
  3500.     cp  3
  3501.     ret nz
  3502.     ld  a, 85h ; ''
  3503.  
  3504. loc_560A:       ; CODE XREF: ROM:54C1j  ROM:5543j ...
  3505.     ld  hl, music_channel2
  3506.     cp  (hl)
  3507.     ret z
  3508.     jp  game_sub_79D8
  3509. ; ---------------------------------------------------------------------------
  3510.  
  3511. loc_5612:       ; DATA XREF: ROM:537Fo
  3512.     inc l
  3513.     ld  a, (hl)
  3514.     ld  b, a
  3515.     and 0Ch
  3516.     jr  z, loc_5604
  3517.     ld  de, 0Ah
  3518.     add hl, de
  3519.     ex  de, hl
  3520.     ld  a, e
  3521.     rra
  3522.     rra
  3523.     rra
  3524.     rra
  3525.     and 0Fh
  3526.     ld  hl, game_unk_E1C6
  3527.     call  add_a_to_hl ; HL=HL+A
  3528.     dec (hl)
  3529.     ld  a, (hl)
  3530.     ex  de, hl
  3531.     push  af
  3532.     cp  8
  3533.     ld  c, 98h ; ''
  3534.     jr  nc, loc_5637
  3535.     ld  c, 0A0h ; ''
  3536.  
  3537. loc_5637:       ; CODE XREF: ROM:5633j
  3538.     bit 2, b
  3539.     jr  z, loc_5640
  3540.     ld  (hl), c
  3541.     inc hl
  3542.     ld  (hl), 0Fh
  3543.     dec hl
  3544.  
  3545. loc_5640:       ; CODE XREF: ROM:5639j
  3546.     inc hl
  3547.     inc hl
  3548.     bit 3, b
  3549.     jr  z, loc_564B
  3550.     ld  (hl), c
  3551.     inc hl
  3552.     ld  (hl), 0Fh
  3553.     dec hl
  3554.  
  3555. loc_564B:       ; CODE XREF: ROM:5644j
  3556.     pop af
  3557.     and a
  3558.     ret nz
  3559.     inc hl
  3560.     bit 3, b
  3561.     jr  z, loc_5655
  3562.     ld  (hl), 0
  3563.  
  3564. loc_5655:       ; CODE XREF: ROM:5651j
  3565.     dec hl
  3566.     dec hl
  3567.     bit 2, b
  3568.     jr  z, loc_565D
  3569.     ld  (hl), 0
  3570.  
  3571. loc_565D:       ; CODE XREF: ROM:5659j
  3572.     ld  a, b
  3573.     and 3
  3574.     jp  z, game_sub_6D36
  3575.     ld  de, -11
  3576.     add hl, de
  3577.     ld  (hl), a
  3578.     ret
  3579. ; ---------------------------------------------------------------------------
  3580.  
  3581. loc_5669:       ; DATA XREF: ROM:5381o
  3582.     dec hl
  3583.     push  hl
  3584.     pop ix
  3585.     inc l
  3586.     inc l
  3587.     inc (hl)
  3588.     ld  a, (hl)
  3589.     cp  40h ; '@'
  3590.     ret nz
  3591.     dec l
  3592.     ld  (hl), 13h
  3593.     ld  a, (player_spr_attr+1)
  3594.     sub (ix+0Bh)
  3595.     ld  bc, 140h
  3596.     jr  nc, loc_5685
  3597.     ld  bc, 0FEC0h
  3598.  
  3599. loc_5685:       ; CODE XREF: ROM:5680j
  3600.     inc l
  3601.     ld  (hl), 1
  3602.     inc l
  3603.     ld  e, (ix+9)
  3604.     ld  (hl), e
  3605.     inc l
  3606.     ld  (hl), c
  3607.     inc l
  3608.     ld  (hl), b
  3609.     inc l
  3610.     inc l
  3611.     ld  d, (ix+0Bh)
  3612.     ld  a, 8
  3613.     add a, d
  3614.     ld  (hl), a
  3615.     inc l
  3616.     ld  (hl), 8Ch ; ''
  3617.     inc l
  3618.     ld  (hl), 0Bh
  3619.     inc l
  3620.     ld  a, (game_byte_E1B7)
  3621.     ld  (hl), a
  3622.     inc l
  3623.     ld  (hl), 0Bh
  3624.     inc l
  3625.     ld  (hl), e
  3626.     inc l
  3627.     ld  (hl), d
  3628.     ld  a, 6
  3629.     jp  game_sub_79D8
  3630. ; ---------------------------------------------------------------------------
  3631.  
  3632. loc_56B1:       ; DATA XREF: ROM:5385o
  3633.     ld  de,  player_spr_attr+1
  3634.     push  de
  3635.     call  game_sub_56D4
  3636.     pop de
  3637.     call  game_sub_576E
  3638.     ld  hl, (game_word_E310)
  3639.     xor a
  3640.     inc l
  3641.     inc l
  3642.     or  (hl)
  3643.     ld  de, 9
  3644.     add hl, de
  3645.     or  (hl)
  3646.     ret nz
  3647.     ld  de, -11
  3648.     add hl, de
  3649.     ld  (hl), 0
  3650.     ld  hl, game_byte_E194
  3651.     dec (hl)
  3652.     ret
  3653.  
  3654. ; =============== S U B R O U T I N E =======================================
  3655.  
  3656.  
  3657. game_sub_56D4:        ; CODE XREF: ROM:56B5p
  3658.     inc l
  3659.     ld  a, (hl)
  3660.     and a
  3661.     ret z
  3662.     exx
  3663.     ld  b, a
  3664.     exx
  3665.     inc l
  3666.     inc (hl)
  3667.     inc (hl)
  3668.     ld  a, (hl)
  3669.     cp  0C0h ; ''
  3670.     exx
  3671.     ld  c, 0
  3672.     jr  c, loc_56E8
  3673.     ld  c, 1
  3674.  
  3675. loc_56E8:       ; CODE XREF: game_sub_56D4+10j
  3676.     exx
  3677.     inc l
  3678.     inc l
  3679.     inc l
  3680.     inc l
  3681.     ld  a, (de)
  3682.     ld  bc, 0Ah
  3683.     sub (hl)
  3684.     jr  nc, loc_56F7
  3685.     ld  bc, -10
  3686.  
  3687. loc_56F7:       ; CODE XREF: game_sub_56D4+1Ej
  3688.     dec l
  3689.     dec l
  3690.     dec l
  3691.     ld  a, c
  3692.     add a, (hl)
  3693.     ld  (hl), a
  3694.     ld  c, a
  3695.     inc l
  3696.     ld  a, b
  3697.     adc a, (hl)
  3698.     ld  b, (hl)
  3699.     add a, 4
  3700.     cp  8
  3701.     jr  nc, loc_570C
  3702.     sub 4
  3703.     ld  b, a
  3704.     ld  (hl), a
  3705.  
  3706. loc_570C:       ; CODE XREF: game_sub_56D4+32j
  3707.     inc l
  3708.     ld  a, c
  3709.     add a, (hl)
  3710.     ld  (hl), a
  3711.     inc l
  3712.     ld  a, b
  3713.     adc a, (hl)
  3714.     ld  (hl), a
  3715.     sub 8
  3716.     inc l
  3717.     inc l
  3718.     cp  0A8h ; ''
  3719.     ld  a, 0Bh
  3720.     jr  c, loc_571F
  3721.     xor a
  3722.  
  3723. loc_571F:       ; CODE XREF: game_sub_56D4+48j
  3724.     ld  (hl), a
  3725.     ex  af, af'
  3726.    dec l
  3727.    dec l
  3728.    exx
  3729.    ld  a, b
  3730.    exx
  3731.    cp  2
  3732.    jr  nz, loc_5755
  3733.    ld  a, l
  3734.    ex  de, hl
  3735.    rra
  3736.    rra
  3737.    rra
  3738.    rra
  3739.    and 0Fh
  3740.    ld  hl, game_unk_E1C6
  3741.    call  add_a_to_hl ; HL=HL+A
  3742.    dec (hl)
  3743.    jr  nz, loc_5741
  3744.    exx
  3745.    ld  c, 1
  3746.    exx
  3747.    ld  (hl), 1
  3748.  
  3749. loc_5741:       ; CODE XREF: game_sub_56D4+65j
  3750.    ld  a, (hl)
  3751.    cp  8
  3752.    ld  c, 98h ; ''
  3753.    jr  nc, loc_574A
  3754.    ld  c, 0A0h ; ''
  3755.  
  3756. loc_574A:       ; CODE XREF: game_sub_56D4+72j
  3757.    ex  de, hl
  3758.    inc l
  3759.    ld  (hl), c
  3760.    inc l
  3761.    ex  af, af'
  3762.     and a
  3763.     jr  z, loc_5754
  3764.     ld  a, 0Fh
  3765.  
  3766. loc_5754:       ; CODE XREF: game_sub_56D4+7Cj
  3767.     ld  (hl), a
  3768.  
  3769. loc_5755:       ; CODE XREF: game_sub_56D4+54j
  3770.     exx
  3771.     ld  a, c
  3772.     exx
  3773.     and a
  3774.     ret z
  3775.     ld  hl, (game_word_E310)
  3776.     inc l
  3777.     inc l
  3778.     ld  (hl), 0
  3779.     ld  a, l
  3780.     and 0F0h ; ''
  3781.     rra
  3782.     ld  hl, game_unk_E0D4
  3783.     call  add_a_to_hl ; HL=HL+A
  3784.     ld  (hl), 0C3h ; ''
  3785.     ret
  3786. ; End of function game_sub_56D4
  3787.  
  3788.  
  3789. ; =============== S U B R O U T I N E =======================================
  3790.  
  3791.  
  3792. game_sub_576E:        ; CODE XREF: ROM:56B9p
  3793.     ld  hl, (game_word_E310)
  3794.     ld  a, 0Bh
  3795.     add a, l
  3796.     ld  l, a
  3797.     ld  a, (hl)
  3798.     and a
  3799.     ret z
  3800.     exx
  3801.     ld  c, 0
  3802.     ld  b, a
  3803.     exx
  3804.     inc l
  3805.     inc (hl)
  3806.     inc (hl)
  3807.     ld  a, (hl)
  3808.     cp  0C0h ; ''
  3809.     jr  c, loc_5789
  3810.     exx
  3811.     ld  c, 1
  3812.     exx
  3813.  
  3814. loc_5789:       ; CODE XREF: game_sub_576E+15j
  3815.     inc l
  3816.     ld  a, (frame_count)
  3817.     rra
  3818.     jr  c, loc_579A
  3819.     ld  a, (de)
  3820.     sub (hl)
  3821.     ld  a, 1
  3822.     jr  nc, loc_5798
  3823.     ld  a, 0FFh
  3824.  
  3825. loc_5798:       ; CODE XREF: game_sub_576E+26j
  3826.     add a, (hl)
  3827.     ld  (hl), a
  3828.  
  3829. loc_579A:       ; CODE XREF: game_sub_576E+20j
  3830.     exx
  3831.     ld  a, b
  3832.     cp  2
  3833.     exx
  3834.     jr  nz, loc_57C7
  3835.     inc l
  3836.     ld  a, l
  3837.     ex  de, hl
  3838.     rra
  3839.     rra
  3840.     rra
  3841.     rra
  3842.     and 0Fh
  3843.     ld  hl, game_unk_E1C6
  3844.     call  add_a_to_hl ; HL=HL+A
  3845.     dec (hl)
  3846.     jr  nz, loc_57B9
  3847.     exx
  3848.     ld  c, 1
  3849.     exx
  3850.     ld  (hl), 1
  3851.  
  3852. loc_57B9:       ; CODE XREF: game_sub_576E+43j
  3853.     ld  a, (hl)
  3854.     cp  8
  3855.     ld  c, 98h ; ''
  3856.     jr  nc, loc_57C2
  3857.     ld  c, 0A0h ; ''
  3858.  
  3859. loc_57C2:       ; CODE XREF: game_sub_576E+50j
  3860.     ex  de, hl
  3861.     ld  (hl), c
  3862.     inc l
  3863.     ld  (hl), 0Fh
  3864.  
  3865. loc_57C7:       ; CODE XREF: game_sub_576E+31j
  3866.     exx
  3867.     ld  a, c
  3868.     and a
  3869.     ret z
  3870.     ld  hl, (game_word_E310)
  3871.     ld  de, 0Bh
  3872.     add hl, de
  3873.     ld  (hl), 0
  3874.     ld  a, l
  3875.     and 0F0h ; ''
  3876.     rra
  3877.     ld  hl, game_unk_E0D8
  3878.     call  add_a_to_hl ; HL=HL+A
  3879.     ld  (hl), 0C3h ; ''
  3880.     ret
  3881. ; ---------------------------------------------------------------------------
  3882.  
  3883. loc_57E1:       ; DATA XREF: ROM:5387o
  3884.     ld  a, l
  3885.     exx
  3886.     rra
  3887.     rra
  3888.     rra
  3889.     rra
  3890.     and 0Fh
  3891.     ld  hl, game_unk_E1C6
  3892.     call  add_a_to_hl ; HL=HL+A
  3893.     dec (hl)
  3894.     jp  z, game_sub_6D36
  3895.     ld  a, (hl)
  3896.     exx
  3897.     dec l
  3898.     ld  c, (hl)
  3899.     ld  de, 9
  3900.     add hl, de
  3901.     cp  8
  3902.     ld  de, 9894h
  3903.     jr  nc, loc_5805
  3904.     ld  de, 0A09Ch
  3905.  
  3906. loc_5805:       ; CODE XREF: game_sub_576E+92j
  3907.     ld  a, c
  3908.     sub 10h
  3909.     jr  c, loc_5812
  3910.     ld  de, 0FCFCh
  3911.     jr  nz, loc_5812
  3912.     ld  de, 0A4FCh
  3913.  
  3914. loc_5812:       ; CODE XREF: game_sub_576E+9Aj
  3915.           ; game_sub_576E+9Fj
  3916.     ld  a, 3
  3917.     add a, l
  3918.     ld  l, a
  3919.     ld  (hl), e
  3920.     inc hl
  3921.     ld  (hl), 6
  3922.     inc hl
  3923.     ld  (hl), d
  3924.     inc hl
  3925.     ld  (hl), 0Fh
  3926.     ret
  3927. ; End of function game_sub_576E
  3928.  
  3929.  
  3930. ; =============== S U B R O U T I N E =======================================
  3931.  
  3932.  
  3933. game_sub_5820:        ; CODE XREF: game_sub_5837+16p
  3934.           ; game_sub_5837+35p
  3935.     push  hl
  3936.     push  de
  3937.     ld  hl, game_unk_E051
  3938.     ld  a, (hl)
  3939.     add a, 1
  3940.     daa
  3941.     ld  (hl), a
  3942.     call  loc_42E3
  3943.     pop de
  3944.     pop hl
  3945.     ret
  3946. ; End of function game_sub_5820
  3947.  
  3948. ; ---------------------------------------------------------------------------
  3949. ; START OF FUNCTION CHUNK FOR game_sub_45A6
  3950.  
  3951. loc_5830:       ; CODE XREF: game_sub_45A6+7Cj
  3952.     ld  de, (game_word_E1B8)
  3953.     ld  a, e
  3954.     jr  loc_5881
  3955. ; END OF FUNCTION CHUNK FOR game_sub_45A6
  3956.  
  3957. ; =============== S U B R O U T I N E =======================================
  3958.  
  3959.  
  3960. game_sub_5837:        ; CODE XREF: update_game+12p
  3961.     ld  a, (game_byte_E140)
  3962.     and 3
  3963.     cp  2
  3964.     ret z
  3965.     ld  a, (frame_count)
  3966.     and 0Fh
  3967.     ret nz
  3968.     ld  hl,  game_word_E1B8+1
  3969.     ld  d, (hl)
  3970.     dec hl
  3971.     ld  e, (hl)
  3972.     ld  a, e
  3973.     inc a
  3974.     call  z, game_sub_5820
  3975.     inc de
  3976.     ex  de, hl
  3977.     ld  bc, 780h
  3978.     and a
  3979.     push  hl
  3980.     sbc hl, bc
  3981.     pop hl
  3982.     jr  c, loc_586F
  3983.     ld  hl, 0
  3984.     ld  a, (game_byte_E1D3)
  3985.     inc a
  3986.     cp  2
  3987.     jr  c, loc_5869
  3988.     ld  a, 2
  3989.  
  3990. loc_5869:       ; CODE XREF: game_sub_5837+2Ej
  3991.     ld  (game_byte_E1D3), a
  3992.     call  game_sub_5820
  3993.  
  3994. loc_586F:       ; CODE XREF: game_sub_5837+23j
  3995.     ex  de, hl
  3996.     ld  (hl), e
  3997.     inc hl
  3998.     ld  (hl), d
  3999.     inc hl
  4000.     ld  a, (hl)
  4001.     add a, 2
  4002.     cp  10h
  4003.     jr  c, loc_587C
  4004.     xor a
  4005.  
  4006. loc_587C:       ; CODE XREF: game_sub_5837+42j
  4007.     ld  (hl), a
  4008.     dec hl
  4009.     ld  d, (hl)
  4010.     dec hl
  4011.     ld  a, (hl)
  4012.  
  4013. loc_5881:       ; CODE XREF: game_sub_45A6+128Fj
  4014.     srl d
  4015.     rra
  4016.     srl d
  4017.     rra
  4018.     srl d
  4019.     rra
  4020.     ld  (game_byte_E1D1), a
  4021.     ld  e, a
  4022.     ld  hl, byte_58FF
  4023.     add hl, de
  4024.     ld  de, game_word_E1BE
  4025.     ld  (game_word_E310), de
  4026.     ld  b, 4
  4027.  
  4028. loc_589B:       ; CODE XREF: game_sub_5837+68j
  4029.     ld  a, (hl)
  4030.     ld  (de), a
  4031.     inc hl
  4032.     dec de
  4033.     djnz  loc_589B
  4034.     call  game_sub_58EE
  4035.     exx
  4036.     ld  b, 18h
  4037.     exx
  4038.     ld  a, (game_byte_E1BA)
  4039.     call  get_hl_a_ptr  ; DE=(HL+A)
  4040.     ld  hl, 3AE1h
  4041.     ld  a, (VDP_RD)
  4042.     ld  c, a
  4043.  
  4044. loc_58B5:       ; CODE XREF: game_sub_5837+A8j
  4045.           ; game_sub_5837+ABj
  4046.     call  vdp_set_write
  4047.  
  4048. loc_58B8:       ; CODE XREF: game_sub_5837+93j
  4049.           ; game_sub_5837+9Ej
  4050.     ld  a, (de)
  4051.     inc de
  4052.     ld  b, a
  4053.     and a
  4054.     jp  p, loc_58CC
  4055.     inc a
  4056.     jr  z, loc_58E4
  4057.     res 7, b
  4058.  
  4059. loc_58C4:       ; CODE XREF: game_sub_5837+91j
  4060.     ld  a, (de)
  4061.     out (c), a
  4062.     inc de
  4063.     djnz  loc_58C4
  4064.     jr  loc_58B8
  4065. ; ---------------------------------------------------------------------------
  4066.  
  4067. loc_58CC:       ; CODE XREF: game_sub_5837+85j
  4068.     jr  z, loc_58D7
  4069.     ld  a, (de)
  4070.     inc de
  4071.  
  4072. loc_58D0:       ; CODE XREF: game_sub_5837+9Cj
  4073.     out (c), a
  4074.     nop
  4075.     djnz  loc_58D0
  4076.     jr  loc_58B8
  4077. ; ---------------------------------------------------------------------------
  4078.  
  4079. loc_58D7:       ; CODE XREF: game_sub_5837:loc_58CCj
  4080.           ; game_sub_5837+B5j
  4081.     exx
  4082.     dec b
  4083.     ret z
  4084.     exx
  4085.     ld  a, l
  4086.     sub 20h ; ' '
  4087.     ld  l, a
  4088.     jr  nc, loc_58B5
  4089.     dec h
  4090.     jr  loc_58B5
  4091. ; ---------------------------------------------------------------------------
  4092.  
  4093. loc_58E4:       ; CODE XREF: game_sub_5837+89j
  4094.     push  hl
  4095.     call  game_sub_58EE
  4096.     ld  e, (hl)
  4097.     inc hl
  4098.     ld  d, (hl)
  4099.     pop hl
  4100.     jr  loc_58D7
  4101. ; End of function game_sub_5837
  4102.  
  4103.  
  4104. ; =============== S U B R O U T I N E =======================================
  4105.  
  4106.  
  4107. game_sub_58EE:        ; CODE XREF: game_sub_5837+6Ap
  4108.           ; game_sub_5837+AEp
  4109.     ld  hl, (game_word_E310)
  4110.     ld  a, (hl)
  4111.     dec hl
  4112.     ld  (game_word_E310), hl
  4113.     add a, a
  4114.     ld  hl, byte_59F3
  4115.     call  get_hl_a_ptr  ; DE=(HL+A)
  4116.     ex  de, hl
  4117.     ret
  4118. ; End of function game_sub_58EE
  4119.  
  4120. ; ---------------------------------------------------------------------------
  4121. byte_58FF:  db 11h, 0Dh, 0Ch, 9, 9, 0Ah, 9, 9, 0Ah, 9, 0Ah, 9, 0Ah
  4122.           ; DATA XREF: game_sub_5837+57o
  4123.     db 9, 9, 0Ah, 9, 0Ah, 9, 9, 0Ah, 9, 0Ah, 9, 9, 0Ah, 9
  4124.     db 0Ah, 9, 9, 0Bh, 3, 5, 4, 3, 5, 4, 3, 4, 5, 4, 3, 5
  4125.     db 4, 3, 5, 4, 3, 4, 3, 5, 4, 3, 5, 4, 3, 4, 3, 5, 4, 3
  4126.     db 4, 5, 0Eh, 11h, 11h, 11h, 11h, 11h, 11h, 11h, 11h, 11h
  4127.     db 11h, 12h, 11h, 11h, 11h, 11h, 11h, 0Dh, 0Ch, 9, 0Ah
  4128.     db 9, 9, 0Ah, 9, 0Ah, 9, 9, 0Ah, 9, 0Ah, 9, 9, 0Ah, 9
  4129.     db 0Ah, 9, 9, 0Ah, 9, 9, 0Ah, 9, 0Ah, 9, 9, 0Ah, 9, 0Ah
  4130.     db 9, 9, 0Ah, 9, 0Ah, 9, 0Bh, 0Fh, 11h, 11h, 11h, 11h
  4131.     db 11h, 11h, 11h, 11h, 11h, 11h, 11h, 11h, 11h, 11h, 11h
  4132.     db 11h, 11h, 6, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7
  4133.     db 8, 7, 8, 7, 8, 7, 8, 10h, 11h, 11h, 11h
  4134. byte_59A1:  db 11h, 11h, 11h, 11h, 11h, 11h, 11h, 11h, 11h, 11h, 11h
  4135.     db 11h, 11h, 11h, 11h, 11h, 11h, 11h, 11h, 11h, 11h, 11h
  4136.     db 11h, 11h, 11h, 11h, 11h, 11h, 11h, 11h, 0, 1, 1, 1
  4137.     db 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
  4138.     db 1, 1, 1, 1, 1, 1, 1, 2, 11h, 11h, 11h, 11h, 11h, 11h
  4139.     db 11h, 11h, 11h, 11h, 11h, 11h, 13h, 11h, 11h, 11h, 11h
  4140.     db 11h, 11h, 0Dh, 0Ch, 9
  4141. byte_59F3:  db 1Bh, 5Ah, 2Bh, 5Ah, 3Bh, 5Ah, 4Bh, 5Ah, 5Bh, 5Ah, 6Bh
  4142.           ; DATA XREF: game_sub_58EE+9o
  4143.     db 5Ah, 7Bh, 5Ah, 8Bh, 5Ah, 9Bh, 5Ah, 0ABh, 5Ah, 0BBh
  4144.     db 5Ah, 0CBh, 5Ah, 0DBh, 5Ah, 0EBh, 5Ah, 0FBh, 5Ah, 0Bh
  4145.     db 5Bh, 1Bh, 5Bh, 2Bh, 5Bh, 3Bh, 5Bh, 4Bh, 5Bh, 5Bh, 5Bh
  4146.     db 69h, 5Bh, 74h, 5Bh, 87h, 5Bh, 98h, 5Bh, 0B0h, 5Bh, 0C6h
  4147.     db 5Bh, 0DFh, 5Bh, 0F8h, 5Bh, 11h, 5Ch, 2Ah, 5Ch, 43h
  4148.     db 5Ch, 5Ch, 5Ch, 75h, 5Ch, 8Eh, 5Ch, 0A7h, 5Ch, 0C0h
  4149.     db 5Ch, 0D9h, 5Ch, 0F2h, 5Ch, 0Bh, 5Dh, 24h, 5Dh, 3Dh
  4150.     db 5Dh, 4Ah, 5Dh, 54h, 5Dh, 57h, 5Dh, 65h, 5Dh, 73h, 5Dh
  4151.     db 87h, 5Dh, 96h, 5Dh, 0A3h, 5Dh, 0B0h, 5Dh, 0C1h, 5Dh
  4152.     db 0D2h, 5Dh, 0DFh, 5Dh, 0EDh, 5Dh, 0FCh, 5Dh, 9, 5Eh
  4153.     db 1Bh, 5Eh, 2Ch, 5Eh, 39h, 5Eh, 49h, 5Eh, 57h, 5Eh, 67h
  4154.     db 5Eh, 77h, 5Eh, 8Ch, 5Eh, 9Dh, 5Eh, 0B0h, 5Eh, 0C0h
  4155.     db 5Eh, 0CFh, 5Eh, 0D6h, 5Eh, 0DDh, 5Eh, 0ECh, 5Eh, 0FFh
  4156.     db 5Eh, 0Ch, 5Fh, 21h, 5Fh, 30h, 5Fh, 45h, 5Fh, 57h, 5Fh
  4157.     db 6Ch, 5Fh, 78h, 5Fh, 89h, 5Fh, 99h, 5Fh, 0A5h, 5Fh, 0AFh
  4158.     db 5Fh, 0BAh, 5Fh, 0C5h, 5Fh, 0DEh, 5Fh, 0EFh, 5Fh, 6
  4159.     db 60h, 1Ah, 60h, 31h, 60h, 3Fh, 60h, 42h, 60h, 50h, 60h
  4160.     db 69h, 60h, 82h, 60h, 9Bh, 60h, 0B4h, 60h, 0CDh, 60h
  4161.     db 0E6h, 60h, 0FFh, 60h, 0Fh, 61h, 28h, 61h, 41h, 61h
  4162.     db 5Ah, 61h, 73h, 61h, 8Ch, 61h, 0A5h, 61h, 0BAh, 61h
  4163.     db 0C5h, 61h, 0DEh, 61h, 0F7h, 61h, 0Dh, 62h, 24h, 62h
  4164.     db 3Dh, 62h, 52h, 62h, 5Dh, 62h, 64h, 62h, 6Bh, 62h, 73h
  4165.     db 62h, 80h, 62h, 94h, 62h, 0A9h, 62h, 0BFh, 62h, 0D8h
  4166.     db 62h, 0E1h, 62h, 0ECh, 62h, 0F6h, 62h, 1, 63h, 0Fh, 63h
  4167.     db 1Ch, 63h, 28h, 63h, 2Dh, 63h, 3Fh, 63h, 4Fh, 63h, 63h
  4168.     db 63h, 75h, 63h, 8Ah, 63h, 9Dh, 63h, 0A7h, 63h, 0AFh
  4169.     db 63h, 0B2h, 63h, 0B5h, 63h, 0B8h, 63h, 0C3h, 63h, 0CCh
  4170.     db 63h, 0D9h, 63h, 0DCh, 63h, 0DFh, 63h, 0E6h, 63h, 0F5h
  4171.     db 63h, 0FCh, 63h, 0Bh, 64h, 14h, 64h, 21h, 64h, 24h, 64h
  4172.     db 27h, 64h, 32h, 64h, 40h, 64h, 4Bh, 64h, 57h, 64h, 64h
  4173.     db 64h, 6Eh, 64h, 79h, 64h, 89h, 64h, 96h, 64h, 0AFh, 64h
  4174.     db 0C2h, 64h, 0D8h, 64h, 0F0h, 64h, 3, 65h, 14h, 65h, 27h
  4175.     db 65h, 3Bh, 65h, 54h, 65h, 6Dh, 65h, 86h, 65h, 9Fh, 65h
  4176.     db 0B8h, 65h, 0D1h, 65h, 82h, 0Bh, 4Ch, 4, 5, 83h, 4Ah
  4177.     db 0Bh, 4Ch, 0Dh, 5, 1, 4Ah, 0, 0Ch, 0Bh, 81h, 4Ch, 5
  4178.     db 5, 81h, 4Ah, 4, 0Bh, 0, 5, 0Bh, 83h, 46h, 0Ch, 48h
  4179.     db 5, 0Bh, 84h, 4Ch, 5, 5, 4Ah, 4, 0Bh, 82h, 46h, 0Ch
  4180.     db 0, 4, 0Bh, 86h, 46h, 0Ch, 43h, 45h, 0Ch, 48h, 9, 0Bh
  4181.     db 84h, 46h, 0Ch, 44h, 45h, 0, 8Eh, 0Bh, 0Bh, 46h, 0Ch
  4182.     db 42h, 41h, 45h, 40h, 0Ch, 42h, 41h, 43h, 0Ch, 48h, 4
  4183.     db 0Bh, 85h, 46h, 0Ch, 45h, 41h, 42h, 0, 8Dh, 0Bh, 0Bh
  4184.     db 0Ch, 44h, 45h, 43h, 40h, 44h, 45h, 41h, 44h, 45h, 41h
  4185.     db 6, 0Ch, 84h, 43h, 41h, 45h, 41h, 0, 97h, 0Bh, 46h, 0Ch
  4186.     db 45h, 0Ch, 45h, 42h, 44h, 45h, 41h, 45h, 40h, 0Ch, 40h
  4187.     db 0Ch, 44h, 43h, 41h, 0Ch, 40h, 0Ch, 40h, 42h, 0, 97h
  4188.     db 46h, 0Ch, 42h, 43h, 44h, 0Ch, 41h, 40h, 40h, 45h, 41h
  4189.     db 44h, 45h, 41h, 41h, 43h, 40h, 45h, 41h, 45h, 41h, 45h
  4190.     db 41h, 0FFh, 97h, 41h, 43h, 41h, 43h, 45h, 40h, 43h, 40h
  4191.     db 45h, 40h, 0Ch, 40h, 40h, 45h, 40h, 42h, 45h, 40h, 40h
  4192.     db 45h, 40h, 42h, 41h, 0, 97h, 0Ch, 44h, 43h, 40h, 40h
  4193.     db 41h, 44h, 43h, 41h, 41h, 45h, 41h, 41h, 44h, 43h, 44h
  4194.     db 42h, 44h, 41h, 43h, 41h, 44h, 45h, 0
  4195. byte_5C2A:  db 97h, 40h, 45h, 40h, 41h, 41h, 44h, 43h, 45h, 40h, 41h
  4196.     db 40h, 42h, 44h, 43h, 45h, 44h, 0Ch, 42h, 45h, 41h, 44h
  4197.     db 45h, 41h, 0, 97h, 41h, 41h, 40h, 43h, 42h, 41h, 45h
  4198.     db 0Ch, 41h, 45h, 41h, 44h, 43h, 45h, 42h, 44h, 45h, 41h
  4199.     db 43h, 45h
  4200. byte_5C58:  db 41h, 45h, 42h, 0, 97h, 40h, 0Ch, 43h, 41h, 44h, 45h
  4201.           ; DATA XREF: ROM:552Do
  4202.     db 41h, 45h, 40h, 41h, 44h, 45h, 40h, 41h, 45h, 41h, 45h
  4203.     db 40h, 45h, 41h, 45h, 41h, 44h, 0, 97h, 45h, 40h, 45h
  4204.     db 43h, 44h, 0Ch, 42h, 45h, 41h, 44h, 41h, 45h, 40h, 42h
  4205.     db 0Ch, 45h, 41h, 44h, 41h, 40h, 40h, 42h, 42h, 0, 97h
  4206.     db 41h, 45h, 0Ch, 42h, 44h, 45h, 41h, 43h, 45h, 41h, 45h
  4207.     db 41h, 45h, 40h, 0Ch, 40h, 42h, 41h, 0Ch, 43h, 41h, 41h
  4208.     db 40h, 0, 97h, 0Ch, 40h, 41h, 45h, 41h, 45h, 40h, 45h
  4209.     db 41h, 45h, 40h, 42h, 41h, 45h, 45h, 41h, 41h, 44h, 45h
  4210.     db 44h, 45h, 41h, 45h, 0FFh, 97h, 0Bh, 47h, 40h, 41h, 45h
  4211.     db 41h, 44h, 41h, 40h, 40h, 45h, 42h, 44h, 0Ch, 42h, 45h
  4212.     db 41h, 42h, 45h, 44h, 0Ch, 42h, 45h, 0, 97h, 4Bh, 0Bh
  4213.     db 0Ch, 40h, 40h, 42h, 41h, 0Ch, 43h, 41h, 45h, 41h, 44h
  4214.     db 45h, 41h, 43h, 40h, 45h, 41h, 44h, 45h, 41h, 43h, 0
  4215.     db 97h, 5, 0Bh, 47h, 0Ch, 40h, 41h, 44h, 45h, 44h, 0Ch
  4216.     db 0Ch, 0Ch, 40h, 45h, 40h, 45h, 41h, 41h, 45h, 41h, 45h
  4217.     db 40h, 44h, 0, 97h, 5, 4Bh, 0Bh, 0Bh, 47h, 0Ch, 0Ch, 0Ch
  4218.     db 49h, 0Bh, 0Bh, 0Bh, 47h, 0Ch, 44h, 41h, 40h, 42h, 44h
  4219.     db 45h, 41h, 43h, 0Ch, 0, 97h, 5, 5, 5, 4Bh, 0Bh, 0Bh
  4220.     db 0Bh, 0Bh, 0Bh, 4Dh, 5, 5, 4Bh, 0Bh, 0Bh, 47h, 0Ch, 0Ch
  4221.     db 40h, 45h, 43h, 0Ch, 49h, 0, 0Eh, 5, 89h, 4Bh, 0Bh, 0Bh
  4222.     db 47h, 0Ch, 0Ch, 49h, 0Bh, 0Bh, 0, 0Fh, 5, 81h, 4Bh, 5
  4223.     db 0Bh, 82h, 4Dh, 5, 0, 17h, 5, 0FFh, 5, 9, 88h, 4Fh, 8
  4224.     db 6, 60h, 6, 6, 57h, 8, 0Ah, 9, 0, 5, 9, 88h, 8, 53h
  4225.     db 6, 56h, 6, 57h, 8, 51h, 0Ah, 9, 0, 8Ch, 9, 9, 52h, 9
  4226.     db 4Fh, 8, 6, 56h, 6, 57h, 8, 51h, 5, 9, 81h, 52h, 5, 9
  4227.     db 0, 4, 9, 87h, 8, 53h, 5Dh, 5Ah, 6, 55h, 51h, 0Bh, 9
  4228.     db 81h, 52h, 0, 4, 9, 87h, 8, 6, 5Eh, 5Ah, 6, 55h, 50h
  4229.     db 0Ch, 9, 0, 4, 9, 87h, 4Eh, 54h, 5Eh, 59h, 6, 61h, 8
  4230.     db 0Ch, 9, 0, 5, 9, 87h, 8, 6, 5Eh, 5Ah, 6, 61h, 50h, 4
  4231.     db 9, 81h, 52h, 6, 9, 0, 8Dh, 9, 9, 52h, 9, 9, 4Eh, 54h
  4232.     db 5Ch, 5Ah, 6, 6, 61h, 50h, 0Ah, 9, 0FFh, 6, 9, 87h, 8
  4233.     db 6, 5Eh, 59h, 6, 57h, 8, 0Ah, 9, 0, 6, 9, 88h, 4Eh, 54h
  4234.     db 6, 5Fh, 59h, 61h, 8, 50h, 9, 9, 0, 5, 9, 89h, 52h, 9
  4235.     db 8, 54h, 5Eh, 5Eh, 5Ah, 61h, 8, 9, 9, 0, 7, 9, 87h, 4Eh
  4236.     db 8, 6, 5Eh, 5Ah, 6, 55h, 9, 9, 0, 7, 9, 87h, 4Fh, 53h
  4237.     db 6, 60h, 5Ah, 57h, 51h, 5, 9, 84h, 52h, 9, 9, 9, 0, 8Dh
  4238.     db 9, 9, 9, 52h, 9, 9, 4Fh, 8, 6, 56h, 6, 57h, 8, 0Ah
  4239.     db 9, 0, 6, 9, 87h, 8, 53h, 6, 56h, 6, 55h, 51h, 0Ah, 9
  4240.     db 0, 6, 9, 8Ah, 8, 6, 56h, 6, 6, 61h, 50h, 9, 9, 52h
  4241.     db 7, 9, 0FFh, 5, 9, 88h, 4Fh, 53h, 60h, 5Ah, 6, 6, 57h
  4242.     db 51h, 0Ah, 9, 0, 8Ch, 9, 9, 9, 4Fh, 8, 53h, 60h, 6, 6
  4243.     db 6, 57h, 51h, 0Bh, 9, 0, 8Ch, 9, 9, 4Fh, 53h, 6, 5Dh
  4244.     db 6, 6, 6, 6, 61h, 50h, 0Bh, 9, 0, 8Ch, 9, 9, 4Eh, 54h
  4245.     db 5Eh, 59h, 6, 6, 6, 6, 6, 55h, 7, 9, 84h, 52h, 9, 9
  4246.     db 9, 0, 8Dh, 9, 9, 9, 4Eh, 54h, 5Ch, 59h, 5Bh, 6, 6, 6
  4247.     db 61h, 50h, 0Ah, 9, 0, 4, 9, 8Dh, 8, 54h, 5Fh, 5Eh, 5Ah
  4248.     db 6, 6, 6, 55h, 9, 9, 9, 52h, 6, 9, 0, 4, 9, 8Ah, 4Eh
  4249.     db 8, 54h, 5Dh, 59h, 6, 6, 6, 61h, 50h, 9, 9, 0, 5, 9
  4250.     db 89h, 4Eh, 8, 6, 5Ch, 58h, 6, 6, 57h, 51h, 9, 9, 0FFh
  4251.     db 12h, 5, 81h, 0A1h, 4, 0Ah, 0, 0Eh, 5, 81h, 0A1h, 8
  4252.     db 0Ah, 0, 4, 0Ah, 81h, 0A2h, 7, 5, 81h, 0A1h, 4, 0Ah
  4253.     db 4, 6Dh, 2, 0Ah, 0, 6, 0Ah, 85h, 0A2h, 5, 5, 5, 0A1h
  4254.     db 5, 0Ah, 87h, 62h, 71h, 69h, 69h, 70h, 6Eh, 0Ah, 0, 81h
  4255.     db 6Fh, 0Fh, 0Ah, 87h, 62h, 66h, 71h, 70h, 65h, 6Eh, 0Ah
  4256.     db 0, 89h, 0Ah, 0Ah, 6Bh, 0Ah, 0Ah, 6Fh, 0Ah, 0Ah, 6Bh
  4257.     db 7, 0Ah, 87h, 62h, 66h, 64h, 67h, 65h, 6Eh, 0Ah, 0, 0Ah
  4258.     db 0Ah, 81h, 6Fh, 5, 0Ah, 87h, 62h, 64h, 68h, 68h, 67h
  4259.     db 6Eh, 0Ah, 0, 8Ch, 6Fh, 0Ah, 6Fh, 0Ah, 0Ah, 6Fh, 0Ah
  4260.     db 6Bh, 0Ah, 0Ah, 0Ah, 6Bh, 5, 0Ah, 4, 63h, 82h, 0Ah, 0Ah
  4261.     db 0FFh, 8Ah, 0Ah, 0Ah, 0Ah, 6Fh, 0Ah, 0Ah, 0Ah, 6Fh, 0Ah
  4262.     db 6Fh, 4, 0Ah, 2, 6Fh, 7, 0Ah, 0, 5, 0Ah, 85h, 6Fh, 0Ah
  4263.     db 0Ah, 0Ah, 6Fh, 4, 0Ah, 89h, 6Fh, 0Ah, 0Ah, 0Ah, 6Fh
  4264.     db 0Ah, 0Ah, 0Ah, 6Fh, 0, 83h, 0Ah, 0Ah, 6Fh, 5, 0Ah, 82h
  4265.     db 6Dh, 6Dh, 0Dh, 0Ah, 0, 7, 0Ah, 84h, 62h, 71h, 70h, 6Eh
  4266.     db 5, 0Ah, 81h, 6Ch, 4, 0Ah, 82h, 6Fh, 0Ah, 0, 4, 0Ah
  4267.     db 8Ah, 6Fh, 0Ah, 0Ah, 62h, 64h, 67h, 6Eh, 0Ah, 0Ah, 6Ch
  4268.     db 9, 0Ah, 0, 8, 0Ah, 82h, 63h, 63h, 7, 0Ah, 81h, 6Ch
  4269.     db 5, 0Ah, 0, 86h, 0Ah, 6Fh, 0Ah, 0Ah, 0Ah, 6Fh, 11h, 0Ah
  4270.     db 0, 10h, 0Ah, 87h, 6Ch, 0Ah, 0Ah, 0Ah, 6Fh, 0Ah, 0Ah
  4271.     db 0FFh, 2, 0Ah, 4, 6Dh, 6, 0Ah, 81h, 6Fh, 0Ah, 0Ah, 0
  4272.     db 97h, 0Ah, 62h, 71h, 69h, 69h, 70h, 6Eh, 0Ah, 0Ah, 0Ah
  4273.     db 0Ah, 6Fh, 0Ah, 0Ah, 6Ch, 0Ah, 6Fh, 0Ah, 6Fh, 0Ah, 0Ah
  4274.     db 6Fh, 0Ah, 0, 87h, 0Ah, 62h, 66h, 71h, 70h, 65h, 6Eh
  4275.     db 0Bh, 0Ah, 85h, 6Fh, 0Ah, 0Ah, 0Ah, 6Fh, 0, 87h, 0Ah
  4276.     db 62h, 66h, 64h, 67h, 65h, 6Eh, 5, 0Ah, 8Bh, 6Dh, 6Dh
  4277.     db 0Ah, 0Ah, 6Ch, 0Ah, 6Ch, 0Ah, 6Fh, 0Ah, 6Fh, 0, 90h
  4278.     db 0Ah, 62h, 64h, 68h, 68h, 67h, 6Eh, 0Ah, 0Ah, 6Fh, 0Ah
  4279.     db 62h, 71h, 70h, 6Eh, 6Fh, 7, 0Ah, 0, 2, 0Ah, 4, 63h
  4280.     db 91h, 0Ah, 0Ah, 6Fh, 0Ah, 0Ah, 62h, 64h, 67h, 6Eh, 0Ah
  4281.     db 6Fh, 0Ah, 0Ah, 6Fh, 0Ah, 6Fh, 0Ah, 0
  4282. byte_6031:  db 0Ch, 0Ah, 2, 63h, 3, 0Ah, 86h, 6Fh, 0Ah, 0Ah, 6Fh, 0Ah
  4283.     db 6Fh, 0, 17h, 0Ah, 0FFh, 85h, 5, 7, 88h, 89h, 86h, 0Eh
  4284.     db 7, 84h, 8Eh, 7, 7, 7, 0, 97h, 86h, 7, 88h, 89h, 86h
  4285.     db 7, 87h, 88h, 89h, 8Ch, 89h, 5, 89h, 86h, 89h, 5, 7
  4286.     db 8Dh, 5, 88h, 88h, 89h, 5, 0, 97h, 7, 7, 8Eh, 7, 7, 7
  4287.     db 87h, 88h, 89h, 8Ah, 87h, 87h, 89h, 5, 89h, 86h, 8Fh
  4288.     db 8Dh, 8Ch, 8Ch, 8Ch, 87h, 87h, 0, 97h, 89h, 7, 86h, 86h
  4289.     db 87h, 7, 5, 88h, 89h, 86h, 8Dh, 86h, 5, 86h, 89h, 5
  4290.     db 7, 86h, 8Ah, 8Ah, 8Ah, 87h, 86h, 0, 97h, 8Dh, 7, 86h
  4291.     db 8Ch, 86h, 7, 86h, 87h, 87h, 87h, 8Dh, 8Dh, 86h, 8Dh
  4292.     db 8Dh, 5, 7, 86h, 89h, 86h, 89h, 5, 89h, 0, 97h, 5, 7
  4293.     db 8Dh, 8Ah, 86h, 7, 88h, 89h, 86h, 86h, 5, 8Dh, 87h, 87h
  4294.     db 89h, 86h, 7, 5, 88h, 88h, 89h, 5, 86h, 0, 97h, 87h
  4295.     db 7, 88h, 89h, 86h, 8Fh, 5, 88h, 88h, 89h, 86h, 87h, 87h
  4296.     db 87h, 89h, 5, 7, 86h, 88h, 88h, 89h, 86h, 5, 0, 97h
  4297.     db 8Dh, 7, 8Dh, 88h, 89h, 7, 86h, 5, 88h, 88h, 89h, 5
  4298.     db 86h, 5, 86h, 86h, 7, 86h, 89h, 86h, 86h, 89h, 86h, 0FFh
  4299.     db 85h, 8Dh, 7, 8Dh, 88h, 89h, 7, 7, 81h, 8Eh, 8, 7, 82h
  4300.     db 8Eh, 7, 0, 97h, 87h, 7, 8Ch, 8Ch, 8Ch, 7, 82h, 83h
  4301.     db 89h, 87h, 8Ch, 86h, 88h, 89h, 86h, 7, 86h, 87h, 87h
  4302.     db 87h, 5, 87h, 87h, 0, 97h, 87h, 8Fh, 8Bh, 8Bh, 8Bh, 7
  4303.     db 86h, 82h, 83h, 89h, 8Ah, 5, 88h, 89h, 86h, 7, 86h, 89h
  4304.     db 86h, 8Dh, 8Dh, 5, 89h, 0, 97h, 5, 7, 8Bh, 8Bh, 8Bh
  4305.     db 7, 89h, 86h, 82h, 83h, 89h, 87h, 87h, 8Dh, 86h, 7, 86h
  4306.     db 86h, 86h, 5, 8Dh, 86h, 89h, 0, 97h, 86h, 7, 8Ah, 8Ah
  4307.     db 8Ah, 7, 89h, 5, 89h, 82h, 83h, 86h, 86h, 8Dh, 86h, 7
  4308.     db 7, 7, 83h, 86h, 5, 8Dh, 5, 0, 97h, 5, 7, 86h, 8Dh, 86h
  4309.     db 7, 86h, 89h, 8Dh, 8Dh, 82h, 7, 7, 83h, 86h, 7, 86h
  4310.     db 89h, 82h, 83h, 86h, 88h, 89h, 0, 97h, 86h, 7, 5, 8Dh
  4311.     db 86h, 8Fh, 86h, 89h, 8Dh, 87h, 87h, 87h, 86h, 82h, 83h
  4312.     db 8Fh, 86h, 89h, 8Dh, 7, 86h, 88h, 89h, 0, 6, 7, 91h
  4313.     db 5, 86h, 86h, 87h, 87h, 8Dh, 8Dh, 86h, 82h, 7, 86h, 87h
  4314.     db 8Dh, 7, 8Dh, 87h, 87h, 0FFh, 5, 7, 81h, 8Eh, 0Ah, 7
  4315.     db 81h, 8Eh, 6, 7, 0, 97h, 88h, 89h, 86h, 86h, 86h, 8Dh
  4316.     db 87h, 7, 5, 86h, 8Dh, 87h, 89h, 86h, 7, 8Dh, 5, 89h
  4317.     db 86h, 8Dh, 84h, 85h, 8Dh, 0, 97h, 88h, 88h, 89h, 87h
  4318.     db 87h, 8Dh, 8Dh, 7, 87h, 87h, 87h, 86h, 86h, 86h, 7, 86h
  4319.     db 87h, 8Dh, 86h, 84h, 85h, 8Dh, 8Dh, 0, 8Ch, 88h, 88h
  4320.     db 89h, 86h, 8Dh, 86h, 7, 7, 8Dh, 7, 7, 8Eh, 6, 7, 85h
  4321.     db 84h, 85h, 8Dh, 87h, 87h, 0, 82h, 7, 8Eh, 5, 7, 90h
  4322.     db 82h, 83h, 7, 8Dh, 89h, 86h, 7, 86h, 92h, 5, 7, 8Eh
  4323.     db 7, 7, 7, 86h, 0, 97h, 7, 5, 92h, 92h, 92h, 5, 7, 8Dh
  4324.     db 82h, 7, 86h, 89h, 87h, 7, 94h, 9, 90h, 92h, 92h, 92h
  4325.     db 5, 7, 7, 0, 88h, 92h, 93h, 9, 9, 9, 91h, 7, 8Eh, 6
  4326.     db 7, 82h, 94h, 9, 4, 9, 83h, 90h, 92h, 92h, 0, 5, 9, 81h
  4327.     db 90h, 8, 92h, 81h, 93h, 8, 9, 0FFh, 0Eh, 0Bh, 81h, 98h
  4328.     db 8, 0Bh, 0, 0Bh, 0Bh, 81h, 99h, 0Bh, 0Bh, 0, 13h, 0Bh
  4329.     db 84h, 98h, 0Bh, 0Bh, 0Bh, 0, 85h, 95h, 95h, 96h, 0Bh
  4330.     db 97h, 9, 95h, 81h, 96h, 8, 0Bh, 0, 88h, 7, 7, 5, 95h
  4331.     db 5, 7, 7, 8Eh, 6, 7, 81h, 94h, 5, 0Bh, 83h, 97h, 95h
  4332.     db 95h, 0, 81h, 8Dh, 5, 7, 89h, 86h, 89h, 8Dh, 8Dh, 5
  4333.     db 86h, 86h, 7, 5, 5, 95h, 83h, 86h, 7, 7, 0, 90h, 86h
  4334.     db 7, 8Dh, 8Dh, 86h, 8Fh, 86h, 89h, 8Dh, 87h, 87h, 87h
  4335.     db 86h, 7, 7, 8Eh, 6, 7, 81h, 89h, 0, 97h, 8Dh, 7, 87h
  4336.     db 87h, 87h, 7, 5, 86h, 86h, 87h, 87h, 8Dh, 8Dh, 7, 87h
  4337.     db 87h, 86h, 8Dh, 8Dh, 86h, 86h, 87h, 87h, 0FFh, 85h, 5
  4338.     db 5, 4Ah, 0Bh, 4Ch, 12h, 5, 0, 87h, 5, 4Ah, 0Bh, 0Bh
  4339.     db 0Bh, 0Bh, 4Ch, 10h, 5, 0, 0Ah, 0Bh, 81h, 4Ch, 0Ah, 5
  4340.     db 82h, 4Ah, 0Bh, 0, 0Ch, 0Bh, 81h, 4Ch, 7, 5, 83h, 4Ah
  4341.     db 0Bh, 0Bh, 0, 83h, 0Bh, 97h, 96h, 0Bh, 0Bh, 84h, 4Ch
  4342.     db 5, 5, 4Ah, 5, 0Bh, 0, 89h, 0Bh, 91h, 8Dh, 96h, 0Bh
  4343.     db 0Bh, 98h, 0Bh, 99h, 0Eh, 0Bh, 0, 88h, 99h, 90h, 92h
  4344.     db 93h, 0Bh, 98h, 0Bh, 99h, 0Fh, 0Bh, 0, 4, 99h, 13h, 0Bh
  4345.     db 0FFh, 6, 9, 88h, 8, 53h, 6, 60h, 6, 60h, 59h, 9Ch, 4
  4346.     db 9, 81h, 52h, 4, 9, 0, 6, 9, 8Ah, 8, 6, 5Eh, 58h, 57h
  4347.     db 54h, 60h, 59h, 9Ch, 9, 7, 9, 0, 6, 9, 8Bh, 8, 6, 5Ch
  4348.     db 58h, 55h, 8, 54h, 5Ch, 5Eh, 59h, 9Ch, 4, 9, 82h, 52h
  4349.     db 9, 0, 6, 9, 8Ch
  4350. byte_6366:  db 4Eh, 54h, 6, 5Eh, 61h, 50h, 4Eh, 8, 54h, 5Eh, 59h, 9Ch
  4351.     db 5, 9, 0, 4, 9, 8Fh, 52h, 9, 9, 4Eh, 54h, 5Dh, 59h, 51h
  4352.     db 9, 9, 4Eh, 54h, 60h, 5, 9Ah, 4, 9, 0, 8, 9, 8Fh, 4Eh
  4353.     db 54h, 60h, 9Ah, 9, 52h, 9, 9Bh, 5, 5, 5, 9Ah, 9, 9, 9
  4354.     db 0, 6, 9, 81h, 9Bh, 0Eh, 5, 82h, 9Ah, 9, 0, 82h, 9, 9Bh
  4355.     db 14h, 5, 81h, 9Ah, 0FFh, 17h, 9, 0, 17h, 9, 0, 17h, 9
  4356.     db 0, 83h, 9, 9, 9Eh, 4, 5, 81h, 9Dh, 0Fh, 9, 0, 81h, 9Eh
  4357.     db 8, 5, 81h, 9Dh, 0Dh, 9, 0, 0Ch, 5, 81h, 9Dh, 5, 9, 85h
  4358.     db 9Eh, 5, 5, 9Dh, 9, 0, 17h, 5, 0, 17h, 5, 0FFh, 0Eh
  4359.     db 0Ah, 81h, 6Fh, 8, 0Ah, 0, 82h, 0Ah, 6Fh, 6, 0Ah, 81h
  4360.     db 6Fh, 0Ah, 0Ah, 84h, 6Fh, 0Ah, 0Ah, 0Ah, 0, 11h, 0Ah
  4361.     db 81h, 6Fh, 5, 0Ah, 0, 83h, 0Ah, 0Ah, 0A0h, 4, 5, 81h
  4362.     db 9Fh, 4, 0Ah, 81h, 6Fh, 0Ah, 0Ah, 0, 81h, 0A0h, 8, 5
  4363.     db 81h, 9Fh, 0Dh, 0Ah, 0, 0Ch, 5, 81h, 9Fh, 5, 0Ah, 85h
  4364.     db 0A0h, 5, 5, 9Fh, 0Ah, 0, 17h, 5, 0, 17h, 5, 0FFh, 6
  4365.     db 5, 81h, 0A3h, 7, 5, 81h, 0A3h, 8, 5, 0, 9, 5, 81h, 0A3h
  4366.     db 7, 5, 86h, 0A3h, 5, 5, 5, 0A3h, 5, 0, 81h, 0A3h, 0Bh
  4367.     db 5, 81h, 0A3h, 9, 5, 81h, 0A3h, 0, 9, 5, 81h, 0A3h, 9
  4368.     db 5, 84h, 0A3h, 5, 5, 5, 0, 85h, 0A3h, 5, 5, 5, 0A3h
  4369.     db 9, 5, 81h
  4370. byte_6460:  db 0A3h, 8, 5, 0, 0Dh, 5, 81h, 0A3h, 7, 5, 82h, 0A3h, 5
  4371.           ; DATA XREF: ROM:5532o
  4372.     db 0, 6, 5, 81h, 0A3h, 0Bh, 5, 81h, 0A3h, 4, 5, 0, 84h
  4373.     db 5, 5, 5, 0A3h, 7, 5, 85h, 0A3h, 5, 5, 5, 0A3h, 7, 5
  4374.     db 0FFh, 8, 5, 87h, 0B1h, 0D9h, 0D5h, 0D6h, 0D9h, 0ECh
  4375.     db 0B4h, 8, 5, 0, 97h, 5, 5, 0A3h, 5, 5, 5, 5, 0B1h, 0B6h
  4376.     db 0C1h, 0DDh, 0DEh, 0C2h, 0BDh, 0ECh, 0B4h, 5, 0A3h, 5
  4377.     db 5, 0A3h, 5, 5, 0, 5, 5, 8Bh, 0A3h, 5, 0Fh, 0B9h, 0B2h
  4378.     db 0E5h, 0E6h, 0B2h, 0C0h, 0DAh, 4, 6, 5, 81h, 0A3h, 0
  4379.     db 81h, 0A3h, 6, 5, 90h, 0D3h, 0E0h, 0BBh, 0C7h, 0C8h
  4380.     db 0E4h, 0E1h, 0D7h, 4, 5, 5, 5, 0A3h, 5, 5, 5, 0, 90h
  4381.     db 5, 5, 5, 0A3h, 5, 5, 5, 0D4h, 0DFh, 0E3h, 0C5h, 0C6h
  4382.     db 0C3h, 0C4h, 0D8h, 4, 4, 5, 83h, 0A3h, 5, 5, 0, 7, 5
  4383.     db 89h, 0Fh, 0B8h, 0B2h, 0E2h, 0BAh, 0B2h, 0BFh, 0DAh
  4384.     db 4, 4, 5, 83h, 0A3h, 5, 5, 0, 5, 5, 8Bh, 0A3h, 5, 0B0h
  4385.     db 0B5h, 0BEh, 0DBh, 0DCh, 0B7h, 0BCh, 0EBh, 0B3h, 7, 5
  4386.     db 0, 8Fh, 5, 5, 0A3h, 5, 5, 5, 5, 5, 0B0h, 0Fh, 0D1h
  4387.     db 0D2h, 0Fh, 0EBh, 0B3h, 8, 5, 0FFh, 88h, 5, 5, 0B6h
  4388.     db 0B7h, 1, 0BFh, 0C1h, 0DAh, 8, 5, 87h, 0B6h, 0B7h, 1
  4389.     db 0BFh, 0C1h, 0DAh, 5, 0, 97h, 5, 0B5h, 0D1h, 0D3h, 1
  4390.     db 0D4h, 0D2h, 0C0h, 0DCh, 5, 5, 0A3h, 5, 0A3h, 5, 0B5h
  4391.     db 0D1h, 0D3h, 1, 0D4h, 0D2h, 0C0h, 0DCh, 0, 97h, 5, 0B3h
  4392.     db 0CFh, 0C6h, 0B9h, 0C7h, 0D0h, 0B4h, 0D9h, 0EAh, 0EBh
  4393.     db 0EBh, 0EBh, 0EAh, 0E6h, 0B3h, 0CFh, 0C6h, 0B9h, 0C7h
  4394.     db 0D0h, 0B4h, 0E8h, 0, 97h, 5, 1, 1, 0BAh, 0DEh, 0BBh
  4395.     db 1, 1, 1, 0DFh, 0E2h, 0E9h, 0E2h, 0E0h, 1, 1, 1, 0BAh
  4396.     db 0DEh, 0BBh, 1, 1, 4, 0, 97h, 5, 0B2h, 0CDh, 0C4h, 0B8h
  4397.     db 0C5h, 0CEh, 0BEh, 0D7h, 0D6h, 0D6h, 0D6h, 0D6h, 0D6h
  4398.     db 0D8h, 0B2h, 0CDh, 0C4h, 0B8h, 0C5h, 0CEh, 0BEh, 0E7h
  4399.     db 0, 97h, 5, 0B1h, 0C9h, 0CAh, 1, 0CBh, 0CCh, 0BDh, 0DDh
  4400.     db 0A3h, 5, 5, 5, 5, 5, 0B1h, 0C9h, 0CAh, 1, 0CBh, 0CCh
  4401.     db 0BDh, 0DDh, 0, 97h, 5, 5, 0B0h, 0C2h, 0C8h, 0C3h, 0BCh
  4402.     db 0DBh, 5, 5, 5, 5, 5, 5, 5, 5, 0B0h, 0C2h, 0C8h, 0C3h
  4403.     db 0BCh, 0DBh, 5, 0, 83h, 5, 5, 0A3h, 7, 5, 85h, 0A3h
  4404.     db 5, 5, 5, 0A3h, 8, 5, 0FFh
  4405.  
  4406. ; =============== S U B R O U T I N E =======================================
  4407.  
  4408.  
  4409. game_sub_65E0:        ; CODE XREF: update_game+2Cp
  4410.     ld  hl, game_unk_E270
  4411.     ld  b, 9
  4412.  
  4413. loc_65E5:       ; CODE XREF: game_sub_65E0+47j
  4414.     ld  (game_word_E310), hl
  4415.     ld  a, (hl)
  4416.     and a
  4417.     jr  z, loc_6620
  4418.     exx
  4419.     ld  bc, 8A8h
  4420.     cp  2
  4421.     jr  nz, loc_65F7
  4422.     ld  bc, 1490h
  4423.  
  4424. loc_65F7:       ; CODE XREF: game_sub_65E0+12j
  4425.     exx
  4426.     inc a
  4427.     jr  z, loc_6620
  4428.     inc l
  4429.     ld  e, l
  4430.     ld  d, h
  4431.     inc e
  4432.     inc e
  4433.     inc e
  4434.     inc e
  4435.     ld  a, (de)
  4436.     add a, (hl)
  4437.     ld  (de), a
  4438.     inc l
  4439.     inc e
  4440.     ld  a, (de)
  4441.     adc a, (hl)
  4442.     ld  (de), a
  4443.     cp  0C0h ; ''
  4444.     call  nc, game_sub_662A
  4445.     inc l
  4446.     inc e
  4447.     ld  a, (de)
  4448.     add a, (hl)
  4449.     ld  (de), a
  4450.     inc l
  4451.     inc de
  4452.     ld  a, (de)
  4453.     adc a, (hl)
  4454.     ld  (de), a
  4455.     exx
  4456.     sub b
  4457.     cp  c
  4458.     exx
  4459.     call  nc, game_sub_662A
  4460.  
  4461. loc_6620:       ; CODE XREF: game_sub_65E0+Aj
  4462.           ; game_sub_65E0+19j
  4463.     ld  hl, (game_word_E310)
  4464.     ld  de, 10h
  4465.     add hl, de
  4466.     djnz  loc_65E5
  4467.     ret
  4468. ; End of function game_sub_65E0
  4469.  
  4470.  
  4471. ; =============== S U B R O U T I N E =======================================
  4472.  
  4473.  
  4474. game_sub_662A:        ; CODE XREF: game_sub_65E0+2Cp
  4475.           ; game_sub_65E0+3Dp ...
  4476.     exx
  4477.     ld  hl, (game_word_E310)
  4478.     ld  (hl), 0
  4479.     ld  a, l
  4480.     sub 70h ; 'p'
  4481.     rra
  4482.     rra
  4483.     and 3Ch ; '<'
  4484.     ld  hl, game_unk_E10C
  4485.     call  add_a_to_hl ; HL=HL+A
  4486.     ld  (hl), 0C3h ; ''
  4487.     exx
  4488.     ret
  4489. ; End of function game_sub_662A
  4490.  
  4491.  
  4492. ; =============== S U B R O U T I N E =======================================
  4493.  
  4494.  
  4495. game_sub_6641:        ; CODE XREF: update_game+2Fp
  4496.     ld  hl, game_unk_E270
  4497.     ld  de, game_unk_E10C
  4498.     ld  b, 9
  4499.  
  4500. loc_6649:       ; CODE XREF: game_sub_6641+24j
  4501.     ld  a, (hl)
  4502.     and a
  4503.     jr  z, loc_6668
  4504.     ld  a, 6
  4505.     add a, l
  4506.     ld  l, a
  4507.     ld  a, (hl)
  4508.     ld  (de), a
  4509.     inc l
  4510.     inc l
  4511.     inc de
  4512.     ld  a, (hl)
  4513.     ld  (de), a
  4514.     inc l
  4515.     inc de
  4516.     ld  a, (hl)
  4517.     ld  (de), a
  4518.     inc l
  4519.     inc de
  4520.     ld  a, (hl)
  4521.     ld  (de), a
  4522.     inc de
  4523.     ld  a, 6
  4524.  
  4525. loc_6663:       ; CODE XREF: game_sub_6641+2Dj
  4526.     add a, l
  4527.     ld  l, a
  4528.     djnz  loc_6649
  4529.     ret
  4530. ; ---------------------------------------------------------------------------
  4531.  
  4532. loc_6668:       ; CODE XREF: game_sub_6641+Aj
  4533.     inc de
  4534.     inc de
  4535.     inc de
  4536.     inc de
  4537.     ld  a, 10h
  4538.     jr  loc_6663
  4539. ; End of function game_sub_6641
  4540.  
  4541.  
  4542. ; =============== S U B R O U T I N E =======================================
  4543.  
  4544.  
  4545. game_sub_6670:        ; CODE XREF: update_game+26p
  4546.     ld  hl, game_byte_E1C1
  4547.     dec (hl)
  4548.     ret nz
  4549.     ld  (hl), 3Ch ; '<'
  4550.     exx
  4551.     ld  hl, game_byte_E1D2
  4552.     inc (hl)
  4553.     ld  a, (hl)
  4554.     cp  13h
  4555.     ret nc
  4556.     rra
  4557.     ld  bc, -512
  4558.     jr  c, loc_6686+2
  4559.  
  4560. loc_6686:       ; CODE XREF: game_sub_6670+14j
  4561.     ld  bc, 300h
  4562.     exx
  4563.     ld  hl, game_unk_E200
  4564.     ld  b, 7
  4565.  
  4566. loc_668F:       ; CODE XREF: game_sub_6670+30j
  4567.     push  bc
  4568.     ld  a, (hl)
  4569.     and a
  4570.     ld  (game_word_E310), hl
  4571.     call  nz, game_sub_66A3
  4572.     ld  hl, (game_word_E310)
  4573.     ld  de, 10h
  4574.     add hl, de
  4575.     pop bc
  4576.     djnz  loc_668F
  4577.     ret
  4578. ; End of function game_sub_6670
  4579.  
  4580.  
  4581. ; =============== S U B R O U T I N E =======================================
  4582.  
  4583.  
  4584. game_sub_66A3:        ; CODE XREF: game_sub_6670+25p
  4585.     inc hl
  4586.     ld  de, 800h
  4587.     ld  a, (hl)
  4588.     cp  0Bh
  4589.     jr  nz, loc_66AF
  4590.     ld  de, 0F800h
  4591.  
  4592. loc_66AF:       ; CODE XREF: game_sub_66A3+7j
  4593.     ld  a, 8
  4594.     add a, l
  4595.     ld  l, a
  4596.     ld  c, (hl)
  4597.     inc hl
  4598.     inc hl
  4599.     ld  b, (hl)
  4600.     ld  a, l
  4601.     and 0F0h ; ''
  4602.     ld  hl, game_unk_E270
  4603.     add a, l
  4604.     ld  l, a
  4605.     ld  (hl), 2
  4606.     inc hl
  4607.     exx
  4608.     ld  a, c
  4609.     exx
  4610.     ld  (hl), a
  4611.     inc hl
  4612.     exx
  4613.     ld  a, b
  4614.     exx
  4615.     ld  (hl), a
  4616.     inc hl
  4617.     ld  (hl), e
  4618.     inc hl
  4619.     ld  (hl), d
  4620.     inc hl
  4621.     inc hl
  4622.     ld  (hl), c
  4623.     inc hl
  4624.     inc hl
  4625.     ld  (hl), b
  4626.     inc hl
  4627.     ld  (hl), 88h ; ''
  4628.     inc hl
  4629.     ld  (hl), 0Fh
  4630.     ret
  4631. ; End of function game_sub_66A3
  4632.  
  4633.  
  4634. ; =============== S U B R O U T I N E =======================================
  4635.  
  4636.  
  4637. game_sub_66DC:        ; CODE XREF: game_sub_6745:loc_677Ep
  4638.     ld  de, (game_word_E310)
  4639.     ld  a, (de)
  4640.     cp  12h
  4641.     jr  c, game_sub_66F8
  4642.     ld  a, (game_byte_E1D6)
  4643.     dec a
  4644.     ld  b, 20h ; ' '
  4645.     jr  z, loc_66EF
  4646.     ld  b, 18h
  4647.  
  4648. loc_66EF:       ; CODE XREF: game_sub_66DC+Fj
  4649.     ld  a, (game_byte_E1D3)
  4650.     add a, a
  4651.     sub b
  4652.     neg
  4653.     ld  (hl), a
  4654.     ret
  4655. ; End of function game_sub_66DC
  4656.  
  4657.  
  4658. ; =============== S U B R O U T I N E =======================================
  4659.  
  4660.  
  4661. game_sub_66F8:        ; CODE XREF: game_sub_66DC+7j
  4662.           ; game_sub_7632+43p
  4663.     ex  de, hl
  4664.     ld  hl, game_byte_E321
  4665.     ld  b, 2
  4666.  
  4667. loc_66FE:       ; CODE XREF: game_sub_66F8+Fj
  4668.     cp  (hl)
  4669.     jr  z, loc_670D
  4670.     ex  af, af'
  4671.    ld  a, 6
  4672.    add a, l
  4673.    ld  l, a
  4674.    ex  af, af'
  4675.     djnz  loc_66FE
  4676.     xor a
  4677.     ex  de, hl
  4678.     ld  (hl), a
  4679.     ret
  4680. ; ---------------------------------------------------------------------------
  4681.  
  4682. loc_670D:       ; CODE XREF: game_sub_66F8+7j
  4683.     push  de
  4684.     ld  a, 4
  4685.     add a, l
  4686.     ld  l, a
  4687.     ld  a, (game_byte_E1D3)
  4688.     add a, (hl)
  4689.     add a, a
  4690.     ld  de, byte_770F
  4691.     push  hl
  4692.     ex  de, hl
  4693.     call  get_hl_a_ptr  ; DE=(HL+A)
  4694.     pop hl
  4695.     inc l
  4696.     ld  a, (hl)
  4697.     ex  de, hl
  4698.     ld  c, (hl)
  4699.     call  add_a_to_hl ; HL=HL+A
  4700.     ld  a, (hl)
  4701.     ex  de, hl
  4702.     cp  0FFh
  4703.     jr  nz, loc_6730
  4704.     ld  a, c
  4705.     ld  (hl), 0
  4706.  
  4707. loc_6730:       ; CODE XREF: game_sub_66F8+33j
  4708.     pop hl
  4709.     ld  (hl), a
  4710.     ret
  4711. ; End of function game_sub_66F8
  4712.  
  4713.  
  4714. ; =============== S U B R O U T I N E =======================================
  4715.  
  4716.  
  4717. game_sub_6733:        ; CODE XREF: update_game+50p
  4718.     ld  b, 4
  4719.     ld  a, (game_byte_E1D6)
  4720.     dec a
  4721.     jr  z, loc_673D
  4722.     ld  b, 2
  4723.  
  4724. loc_673D:       ; CODE XREF: game_sub_6733+6j
  4725.     ld  hl, game_unk_E150
  4726.     ld  de, 8
  4727.     jr  loc_674D
  4728. ; End of function game_sub_6733
  4729.  
  4730.  
  4731. ; =============== S U B R O U T I N E =======================================
  4732.  
  4733.  
  4734. game_sub_6745:        ; CODE XREF: update_game+29p
  4735.     ld  b, 7
  4736.     ld  de, 10h
  4737.     ld  hl, game_unk_E200
  4738.  
  4739. loc_674D:       ; CODE XREF: game_sub_6733+10j
  4740.           ; game_sub_6745+36j
  4741.     ld  (game_word_E310), hl
  4742.     ld  a, (hl)
  4743.     ld  (game_byte_E318), a
  4744.     and a
  4745.     jr  z, loc_6777
  4746.     cp  10h
  4747.     jr  z, loc_6777
  4748.     cp  11h
  4749.     jr  z, loc_6777
  4750.     cp  0Bh
  4751.     ld  c, 3
  4752.     jr  nz, loc_6767
  4753.     ld  c, 0Ah
  4754.  
  4755. loc_6767:       ; CODE XREF: game_sub_6745+1Ej
  4756.     cp  12h
  4757.     jr  c, loc_676D
  4758.     ld  c, 1
  4759.  
  4760. loc_676D:       ; CODE XREF: game_sub_6745+24j
  4761.     ld  a, c
  4762.     add a, l
  4763.     ld  l, a
  4764.     ld  a, (hl)
  4765.     and a
  4766.     jr  z, loc_6777
  4767.     dec (hl)
  4768.     jr  z, loc_677E
  4769.  
  4770. loc_6777:       ; CODE XREF: game_sub_6745+10j
  4771.           ; game_sub_6745+14j ...
  4772.     ld  hl, (game_word_E310)
  4773.     add hl, de
  4774.     djnz  loc_674D
  4775.     ret
  4776. ; ---------------------------------------------------------------------------
  4777.  
  4778. loc_677E:       ; CODE XREF: game_sub_6745+30j
  4779.     call  game_sub_66DC
  4780.     call  game_sub_6866
  4781.     ld  a, e
  4782.     sub 9
  4783.     cp  9Fh ; ''
  4784.     ret nc
  4785.     ld  hl, 0
  4786.     ld  (game_word_E316), hl
  4787.     ld  hl, (player_spr_attr)
  4788.     ld  a, l
  4789.     sub e
  4790.     jr  nc, loc_67A0
  4791.     neg
  4792.     ld  c, a
  4793.     ld  a, 1
  4794.     ld  (game_word_E316), a
  4795.     ld  a, c
  4796.  
  4797. loc_67A0:       ; CODE XREF: game_sub_6745+50j
  4798.     rra
  4799.     rra
  4800.     rra
  4801.     rra
  4802.     rra
  4803.     and 7
  4804.     ld  b, a
  4805.     ld  a, h
  4806.     sub d
  4807.     jr  nc, loc_67B5
  4808.     neg
  4809.     ld  e, a
  4810.     ld  a, 1
  4811.     ld  (game_word_E316+1), a
  4812.     ld  a, e
  4813.  
  4814. loc_67B5:       ; CODE XREF: game_sub_6745+65j
  4815.     rra
  4816.     rra
  4817.     rra
  4818.     rra
  4819.     rra
  4820.     and 7
  4821.     ld  c, a
  4822.     ld  hl, game_unk_E270
  4823.     ld  e, 9
  4824.     ld  a, (game_byte_E321)
  4825.     ld  hl, game_unk_E270
  4826.     cp  0Ah
  4827.     jr  nz, loc_67CE
  4828.     ld  e, 5
  4829.  
  4830. loc_67CE:       ; CODE XREF: game_sub_6745+85j
  4831.           ; game_sub_6745+92j
  4832.     ld  a, (hl)
  4833.     and a
  4834.     jr  z, loc_67DA
  4835.     ld  a, 10h
  4836.     add a, l
  4837.     ld  l, a
  4838.     dec e
  4839.     jr  nz, loc_67CE
  4840.     ret
  4841. ; ---------------------------------------------------------------------------
  4842.  
  4843. loc_67DA:       ; CODE XREF: game_sub_6745+8Bj
  4844.     ld  (game_word_E314), hl
  4845.     ld  a, b
  4846.     add a, a
  4847.     add a, a
  4848.     add a, b
  4849.     add a, b
  4850.     add a, c
  4851.     ld  de, byte_68F3
  4852.     call  add_a_to_de ; DE=DE+A
  4853.     ld  a, (de)
  4854.     cp  9
  4855.     ret nc
  4856.     ld  c, a
  4857.     ld  a, r
  4858.     and 3
  4859.     rra
  4860.     jr  nc, loc_67FC
  4861.     ld  a, 1
  4862.     rra
  4863.     jr  nc, loc_67FA+1
  4864.  
  4865. loc_67FA:       ; CODE XREF: game_sub_6745+B3j
  4866.     ld  a, 0FFh
  4867.  
  4868. loc_67FC:       ; CODE XREF: game_sub_6745+AEj
  4869.     add a, c
  4870.     cp  9
  4871.     jr  c, loc_6802
  4872.     ld  a, c
  4873.  
  4874. loc_6802:       ; CODE XREF: game_sub_6745+BAj
  4875.     ld  hl, byte_6917
  4876.     add a, a
  4877.     add a, a
  4878.     call  get_hl_a_ptr  ; DE=(HL+A)
  4879.     inc hl
  4880.     ld  c, (hl)
  4881.     inc hl
  4882.     ld  b, (hl)
  4883.     ld  a, (game_word_E316)
  4884.     and a
  4885.     call  nz, game_sub_6857
  4886.     ld  a, (game_byte_E318)
  4887.     cp  12h
  4888.     jr  c, loc_6821
  4889.     ld  hl, 80h ; ''
  4890.     add hl, de
  4891.     ex  de, hl
  4892.  
  4893. loc_6821:       ; CODE XREF: game_sub_6745+D5j
  4894.     ld  hl, (game_word_E314)
  4895.     ld  (hl), 1
  4896.     inc hl
  4897.     ld  (hl), e
  4898.     inc hl
  4899.     ld  (hl), d
  4900.     inc hl
  4901.     ld  e, c
  4902.     ld  d, b
  4903.     ld  a, (game_word_E316+1)
  4904.     and a
  4905.     call  nz, game_sub_6857
  4906.     ld  (hl), e
  4907.     inc hl
  4908.     ld  (hl), d
  4909.     inc hl
  4910.     inc hl
  4911.     ld  de, (game_word_E312)
  4912.     ld  a, e
  4913.     ld  (hl), a
  4914.     inc hl
  4915.     inc hl
  4916.     ld  (hl), d
  4917.     inc hl
  4918.     ld  (hl), 88h ; ''
  4919.     inc hl
  4920.     ld  (hl), 0Fh
  4921.     ld  a, (game_byte_E318)
  4922.     cp  5
  4923.     jr  z, loc_6852
  4924.     cp  9
  4925.     ret nz
  4926.  
  4927. loc_6852:       ; CODE XREF: game_sub_6745+108j
  4928.     ld  a, 89h ; ''
  4929.     jp  game_sub_79D8
  4930. ; End of function game_sub_6745
  4931.  
  4932.  
  4933. ; =============== S U B R O U T I N E =======================================
  4934.  
  4935.  
  4936. game_sub_6857:        ; CODE XREF: game_sub_6745+CDp
  4937.           ; game_sub_6745+ECp
  4938.     ld  a, e
  4939.     cpl
  4940.     ld  e, a
  4941.     ld  a, d
  4942.     cpl
  4943.     ld  d, a
  4944.     inc de
  4945.     ret
  4946. ; End of function game_sub_6857
  4947.  
  4948. ; ---------------------------------------------------------------------------
  4949. ; START OF FUNCTION CHUNK FOR game_sub_6866
  4950.  
  4951. loc_685F:       ; CODE XREF: game_sub_6866+14j
  4952.     ld  a, 4
  4953.     call  get_hl_a_ptr  ; DE=(HL+A)
  4954.     jr  loc_688C
  4955. ; END OF FUNCTION CHUNK FOR game_sub_6866
  4956.  
  4957. ; =============== S U B R O U T I N E =======================================
  4958.  
  4959.  
  4960. game_sub_6866:        ; CODE XREF: game_sub_6745+3Cp
  4961.  
  4962. ; FUNCTION CHUNK AT 685F SIZE 00000007 BYTES
  4963. ; FUNCTION CHUNK AT 6891 SIZE 0000005B BYTES
  4964.  
  4965.     ld  hl, (game_word_E310)
  4966.     ld  a, (hl)
  4967.     ld  c, 0
  4968.     cp  9
  4969.     jr  z, loc_6891
  4970.     cp  0Ah
  4971.     jr  z, loc_689B
  4972.     cp  0Bh
  4973.     jr  z, loc_68BE
  4974.     cp  12h
  4975.     jr  nc, loc_685F
  4976.     cp  6
  4977.     jr  nz, game_sub_6882
  4978.     ld  c, 8
  4979. ; End of function game_sub_6866
  4980.  
  4981.  
  4982. ; =============== S U B R O U T I N E =======================================
  4983.  
  4984.  
  4985. game_sub_6882:        ; CODE XREF: game_sub_6866+18j
  4986.           ; game_sub_6866:loc_6891p ...
  4987.     ld  de, 9
  4988.     add hl, de
  4989.     ld  e, (hl)
  4990.     inc hl
  4991.     inc hl
  4992.     ld  a, (hl)
  4993.     add a, c
  4994.     ld  d, a
  4995.  
  4996. loc_688C:       ; CODE XREF: game_sub_6866-2j
  4997.           ; game_sub_6866+4Fj ...
  4998.     ld  (game_word_E312), de
  4999.     ret
  5000. ; End of function game_sub_6882
  5001.  
  5002. ; ---------------------------------------------------------------------------
  5003. ; START OF FUNCTION CHUNK FOR game_sub_6866
  5004.  
  5005. loc_6891:       ; CODE XREF: game_sub_6866+8j
  5006.     call  game_sub_6882
  5007.     inc hl
  5008.     ld  a, (hl)
  5009.     cp  74h ; 't'
  5010.     ret z
  5011.     pop hl
  5012.     ret
  5013. ; ---------------------------------------------------------------------------
  5014.  
  5015. loc_689B:       ; CODE XREF: game_sub_6866+Cj
  5016.     inc l
  5017.     inc l
  5018.     ld  a, (hl)
  5019.     dec l
  5020.     dec l
  5021.     and 3
  5022.     cp  3
  5023.     jr  z, loc_68B7
  5024.     rra
  5025.     jr  c, game_sub_6882
  5026.     rra
  5027.     jr  c, loc_68AE
  5028.     pop hl
  5029.     ret
  5030. ; ---------------------------------------------------------------------------
  5031.  
  5032. loc_68AE:       ; CODE XREF: game_sub_6866+44j
  5033.           ; game_sub_6866+54j
  5034.     call  game_sub_6882
  5035.     ld  a, 40h ; '@'
  5036.     add a, d
  5037.     ld  d, a
  5038.     jr  loc_688C
  5039. ; ---------------------------------------------------------------------------
  5040.  
  5041. loc_68B7:       ; CODE XREF: game_sub_6866+3Ej
  5042.     ld  a, r
  5043.     rra
  5044.     jr  c, loc_68AE
  5045.     jr  game_sub_6882
  5046. ; ---------------------------------------------------------------------------
  5047.  
  5048. loc_68BE:       ; CODE XREF: game_sub_6866+10j
  5049.     ld  hl, (game_word_E310)
  5050.     inc l
  5051.     ld  a, (hl)
  5052.     dec l
  5053.     cp  13h
  5054.     jr  nz, game_sub_6882
  5055.     ld  a, r
  5056.     rra
  5057.     jr  c, loc_68DC
  5058.     ld  de, 0Bh
  5059.     add hl, de
  5060.     ld  a, (hl)
  5061.     inc l
  5062.     ld  e, (hl)
  5063.     inc l
  5064.     ld  d, (hl)
  5065.     cp  1
  5066.     jr  z, loc_688C
  5067.     pop de
  5068.     ret
  5069. ; ---------------------------------------------------------------------------
  5070.  
  5071. loc_68DC:       ; CODE XREF: game_sub_6866+65j
  5072.     inc l
  5073.     inc l
  5074.     ld  a, (hl)
  5075.     inc l
  5076.     ld  e, (hl)
  5077.     inc l
  5078.     inc l
  5079.     inc l
  5080.     inc l
  5081.     ld  d, (hl)
  5082.     cp  1
  5083.     jr  z, loc_688C
  5084.     pop de
  5085.     ret
  5086. ; END OF FUNCTION CHUNK FOR game_sub_6866
  5087.  
  5088. ; =============== S U B R O U T I N E =======================================
  5089.  
  5090. ; DE=(HL+A)
  5091.  
  5092. get_hl_a_ptr:       ; CODE XREF: game_sub_4773+C6p
  5093.           ; ROM:5507p ...
  5094.     call  add_a_to_hl ; HL=HL+A
  5095.     ld  e, (hl)
  5096.     inc hl
  5097.     ld  d, (hl)
  5098.     ret
  5099. ; End of function get_hl_a_ptr
  5100.  
  5101. ; ---------------------------------------------------------------------------
  5102. byte_68F3:  db 0FFh, 0FFh, 0, 0, 0, 0, 0FFh, 4, 3, 2, 2, 1, 8, 5, 4
  5103.           ; DATA XREF: game_sub_6745+9Eo
  5104.     db 4, 3, 3, 8, 6, 5, 4, 3, 3, 8, 6, 5, 5, 4, 4, 8, 7, 7
  5105.     db 5, 4, 4
  5106. byte_6917:  db 0, 0, 40h, 1, 3Eh, 0, 39h, 1, 7Ah, 0, 27h, 1, 0Ah, 1
  5107.           ; DATA XREF: game_sub_6745:loc_6802o
  5108.     db 0B1h, 0, 0E2h, 0, 0E2h, 0, 0B1h, 0, 0Ah, 1, 27h, 1
  5109.     db 7Ah, 0, 39h, 1, 3Eh, 0, 40h, 1, 0, 0
  5110.  
  5111. ; =============== S U B R O U T I N E =======================================
  5112.  
  5113.  
  5114. game_sub_693B:        ; CODE XREF: game_sub_6A00+22p
  5115.           ; game_sub_6A34+1Ap ...
  5116.     exx
  5117.     ld  hl, game_word_E1C2
  5118.     xor a
  5119.     sub (hl)
  5120.     sub (hl)
  5121.     inc hl
  5122.     add a, (hl)
  5123.     inc hl
  5124.     sub (hl)
  5125.     sub (hl)
  5126.     inc hl
  5127.     add a, (hl)
  5128.     exx
  5129.     ld  i, a
  5130.     ld  a, d
  5131.     sub b
  5132.     exx
  5133.     ld  d, a
  5134.     xor a
  5135.     add a, (hl)
  5136.     dec hl
  5137.     sub (hl)
  5138.     dec hl
  5139.     dec hl
  5140.     sub (hl)
  5141.     ld  c, a
  5142.     add a, d
  5143.     ld  d, a
  5144.     ld  a, i
  5145.     cp  d
  5146.     exx
  5147.     ccf
  5148.     ret nc
  5149.     exx
  5150.     ld  d, a
  5151.     exx
  5152.     ld  a, e
  5153.     sub c
  5154.     exx
  5155.     add a, c
  5156.     cp  d
  5157.     exx
  5158.     ret
  5159. ; End of function game_sub_693B
  5160.  
  5161.  
  5162. ; =============== S U B R O U T I N E =======================================
  5163.  
  5164.  
  5165. game_sub_696A:        ; CODE XREF: game_sub_6A34p
  5166.           ; game_sub_6A9Cp
  5167.     ld  a, (game_byte_E1CF)
  5168.     and a
  5169.     ret nz
  5170.     ld  hl, 1003h
  5171.     ld  (game_word_E1C2), hl
  5172.     ld  hl, 1006h
  5173.     ld  (game_word_E1C4), hl
  5174.     ld  hl, player_spr_attr
  5175.     ld  c, (hl)
  5176.     inc hl
  5177.     ld  b, (hl)
  5178.     xor a
  5179.     ret
  5180. ; End of function game_sub_696A
  5181.  
  5182. ; ---------------------------------------------------------------------------
  5183. ; START OF FUNCTION CHUNK FOR game_sub_69C9
  5184.  
  5185. loc_6983:       ; CODE XREF: game_sub_69C9+3j
  5186.     ld  hl, (game_word_E310)
  5187.     inc (hl)
  5188.     ld  a, (hl)
  5189.     push  af
  5190.     call  game_sub_788F
  5191.     ld  a, (game_byte_E1D6)
  5192.     ld  c, 14h
  5193.     dec a
  5194.     jr  z, loc_6996
  5195.     ld  c, 17h
  5196.  
  5197. loc_6996:       ; CODE XREF: game_sub_69C9-37j
  5198.     pop af
  5199.     cp  c
  5200.     ld  a, 0Ah
  5201.     jp  nz, game_sub_79D8
  5202.     ld  hl, game_byte_E143
  5203.     dec (hl)
  5204.     jr  nz, loc_69A6+1
  5205.     dec l
  5206.     dec l
  5207.     dec l
  5208.  
  5209. loc_69A6:       ; CODE XREF: game_sub_69C9-28j
  5210.     ld  (hl), 3
  5211.     ld  a, 50h ; 'P'
  5212.     call  game_sub_79D8
  5213.     ld  de, 1000h
  5214.     call  game_sub_424C
  5215.     ld  a, (game_byte_E143)
  5216.     and a
  5217.     ret nz
  5218.     ld  de, 5000h
  5219.     call  game_sub_424C
  5220.     ld  a, (game_byte_E1D6)
  5221.     dec a
  5222.     ret z
  5223.     ld  de, 5000h
  5224.     jp  game_sub_424C
  5225. ; END OF FUNCTION CHUNK FOR game_sub_69C9
  5226.  
  5227. ; =============== S U B R O U T I N E =======================================
  5228.  
  5229.  
  5230. game_sub_69C9:        ; CODE XREF: game_sub_6A00+25p
  5231.  
  5232. ; FUNCTION CHUNK AT 6983 SIZE 00000046 BYTES
  5233.  
  5234.     call  game_sub_6C45
  5235.     jr  loc_6983
  5236. ; End of function game_sub_69C9
  5237.  
  5238.  
  5239. ; =============== S U B R O U T I N E =======================================
  5240.  
  5241.  
  5242. game_sub_69CE:        ; CODE XREF: update_game+66p
  5243.     ld  b, 3
  5244.     ld  hl, game_unk_E0B8
  5245.     xor a
  5246.     ld  (game_byte_E1CD), a
  5247.  
  5248. loc_69D7:       ; CODE XREF: game_sub_69CE+2Fj
  5249.     push  bc
  5250.     push  hl
  5251.     ld  c, (hl)
  5252.     ld  a, c
  5253.     cp  0C3h ; ''
  5254.     jr  nc, loc_69F3
  5255.     inc l
  5256.     ld  b, (hl)
  5257.     inc l
  5258.     ld  a, (hl)
  5259.     ld  de, 1007h
  5260.     cp  8
  5261.     jr  z, loc_69EC
  5262.     ld  e, 2
  5263.  
  5264. loc_69EC:       ; CODE XREF: game_sub_69CE+1Aj
  5265.     ld  (game_word_E1C2), de
  5266.     call  game_sub_6A00
  5267.  
  5268. loc_69F3:       ; CODE XREF: game_sub_69CE+Fj
  5269.     ld  hl, game_byte_E1CD
  5270.     inc (hl)
  5271.     pop hl
  5272.     pop bc
  5273.     inc l
  5274.     inc l
  5275.     inc l
  5276.     inc l
  5277.     djnz  loc_69D7
  5278.     ret
  5279. ; End of function game_sub_69CE
  5280.  
  5281.  
  5282. ; =============== S U B R O U T I N E =======================================
  5283.  
  5284.  
  5285. game_sub_6A00:        ; CODE XREF: game_sub_69CE+22p
  5286.     ld  hl, game_unk_E150
  5287.     exx
  5288.     ld  a, (game_byte_E1D6)
  5289.     ld  b, 4
  5290.     dec a
  5291.     jr  z, loc_6A0E
  5292.     ld  b, 2
  5293.  
  5294. loc_6A0E:       ; CODE XREF: game_sub_6A00+Aj
  5295.           ; game_sub_6A00+31j
  5296.     push  bc
  5297.     exx
  5298.     ld  (game_word_E310), hl
  5299.     ld  a, (hl)
  5300.     and a
  5301.     jr  z, loc_6A28
  5302.     cp  17h
  5303.     jr  z, loc_6A28
  5304.     inc l
  5305.     inc l
  5306.     inc l
  5307.     inc l
  5308.     ld  e, (hl)
  5309.     inc l
  5310.     ld  d, (hl)
  5311.     call  game_sub_693B
  5312.     call  c, game_sub_69C9
  5313.  
  5314. loc_6A28:       ; CODE XREF: game_sub_6A00+15j
  5315.           ; game_sub_6A00+19j
  5316.     ld  hl, (game_word_E310)
  5317.     ld  de, 8
  5318.     add hl, de
  5319.     exx
  5320.     pop bc
  5321.     djnz  loc_6A0E
  5322.     ret
  5323. ; End of function game_sub_6A00
  5324.  
  5325.  
  5326. ; =============== S U B R O U T I N E =======================================
  5327.  
  5328.  
  5329. game_sub_6A34:        ; CODE XREF: update_game+3Bp
  5330.     call  game_sub_696A
  5331.     ret nz
  5332.     ld  hl, game_unk_E270
  5333.     exx
  5334.     ld  b, 9
  5335.  
  5336. loc_6A3E:       ; CODE XREF: game_sub_6A34+27j
  5337.     exx
  5338.     ld  (game_word_E310), hl
  5339.     ld  a, (hl)
  5340.     and a
  5341.     jr  z, loc_6A53
  5342.     ld  a, 6
  5343.     add a, l
  5344.     ld  l, a
  5345.     ld  e, (hl)
  5346.     inc l
  5347.     inc l
  5348.     ld  d, (hl)
  5349.     call  game_sub_693B
  5350.     jr  c, loc_6A5E
  5351.  
  5352. loc_6A53:       ; CODE XREF: game_sub_6A34+10j
  5353.           ; game_sub_6A34+37j
  5354.     ld  hl, (game_word_E310)
  5355.     ld  de, 10h
  5356.     add hl, de
  5357.     exx
  5358.     djnz  loc_6A3E
  5359.     ret
  5360. ; ---------------------------------------------------------------------------
  5361.  
  5362. loc_6A5E:       ; CODE XREF: game_sub_6A34+1Dj
  5363.     ld  hl, (game_word_E310)
  5364.     ld  a, (hl)
  5365.     inc a
  5366.     jr  nz, loc_6A6D
  5367.     ld  de, 0Ah
  5368.     add hl, de
  5369.     ld  a, (hl)
  5370.     and a
  5371.     jr  z, loc_6A53
  5372.  
  5373. loc_6A6D:       ; CODE XREF: game_sub_6A34+2Fj
  5374.     call  game_sub_662A
  5375. ; End of function game_sub_6A34
  5376.  
  5377.  
  5378. ; =============== S U B R O U T I N E =======================================
  5379.  
  5380.  
  5381. game_sub_6A70:        ; CODE XREF: game_sub_6A9C+5Bp
  5382.     ld  hl, (game_word_E310)
  5383.     ld  a, (hl)
  5384.     cp  10h
  5385.     ret z
  5386.     cp  11h
  5387.     jr  z, loc_6A8E
  5388.     ld  hl, game_byte_E1CF
  5389.     ld  (hl), 1
  5390.     inc hl
  5391.     ld  (hl), 80h ; ''
  5392.     ld  a, 5Ch ; '\'
  5393.     call  game_sub_79D8
  5394.     ld  a, 1
  5395.     ld  (game_byte_E1DD), a
  5396.     ret
  5397. ; ---------------------------------------------------------------------------
  5398.  
  5399. loc_6A8E:       ; CODE XREF: game_sub_6A70+9j
  5400.     ld  hl, game_byte_E1D5
  5401.     ld  a, (hl)
  5402.     inc a
  5403.     cp  3
  5404.     ret nc
  5405.     ld  (hl), a
  5406.     ld  a, 8Fh ; ''
  5407.     jp  game_sub_79D8
  5408. ; End of function game_sub_6A70
  5409.  
  5410.  
  5411. ; =============== S U B R O U T I N E =======================================
  5412.  
  5413.  
  5414. game_sub_6A9C:        ; CODE XREF: update_game+38p
  5415.     call  game_sub_696A
  5416.     ret nz
  5417.     ld  hl, game_unk_E200
  5418.     exx
  5419.     ld  b, 7
  5420.  
  5421. loc_6AA6:       ; CODE XREF: game_sub_6A9C+46j
  5422.     push  bc
  5423.     exx
  5424.     push  bc
  5425.     ld  (game_word_E310), hl
  5426.     ld  a, (hl)
  5427.     add a, a
  5428.     ld  e, a
  5429.     jr  z, loc_6AD8
  5430.     inc hl
  5431.     ld  a, (hl)
  5432.     cp  13h
  5433.     jr  z, loc_6AE5
  5434.     cp  14h
  5435.     jr  z, loc_6AD8
  5436.     ld  a, e
  5437.     ld  de, 8
  5438.     add hl, de
  5439.     ld  e, (hl)
  5440.     inc l
  5441.     inc l
  5442.     ld  d, (hl)
  5443.     ld  hl,  loc_6BAF+2
  5444.     call  add_a_to_hl ; HL=HL+A
  5445.     ld  a, (hl)
  5446.     ld  (game_word_E1C4), a
  5447.     inc hl
  5448.     ld  a, (hl)
  5449.     ld  (game_word_E1C4+1), a
  5450.     call  game_sub_693B
  5451.     jr  c, loc_6AEE
  5452.  
  5453. loc_6AD8:       ; CODE XREF: game_sub_6A9C+13j
  5454.           ; game_sub_6A9C+1Dj ...
  5455.     ld  hl, (game_word_E310)
  5456.     ld  de, 10h
  5457.     add hl, de
  5458.     pop bc
  5459.     exx
  5460.     pop bc
  5461.     djnz  loc_6AA6
  5462.     ret
  5463. ; ---------------------------------------------------------------------------
  5464.  
  5465. loc_6AE5:       ; CODE XREF: game_sub_6A9C+19j
  5466.     xor a
  5467.     ld  (game_byte_E1CE), a
  5468.     call  game_sub_6B85
  5469.     jr  loc_6AF1
  5470. ; ---------------------------------------------------------------------------
  5471.  
  5472. loc_6AEE:       ; CODE XREF: game_sub_6A9C+3Aj
  5473.     call  game_sub_6BD5
  5474.  
  5475. loc_6AF1:       ; CODE XREF: game_sub_6A9C+50j
  5476.     ld  a, (game_byte_E1CE)
  5477.     and a
  5478.     jr  z, loc_6AD8
  5479.     call  game_sub_6A70
  5480.     jr  loc_6AD8
  5481. ; End of function game_sub_6A9C
  5482.  
  5483.  
  5484. ; =============== S U B R O U T I N E =======================================
  5485.  
  5486.  
  5487. game_sub_6AFC:        ; CODE XREF: update_game+3Ep
  5488.     ld  b, 3
  5489.     ld  hl, game_unk_E0B8
  5490.     xor a
  5491.     ld  (game_byte_E1CD), a
  5492.  
  5493. loc_6B05:       ; CODE XREF: game_sub_6AFC+2Fj
  5494.     push  bc
  5495.     push  hl
  5496.     ld  c, (hl)
  5497.     ld  a, c
  5498.     cp  0C3h ; ''
  5499.     jr  nc, loc_6B21
  5500.     inc l
  5501.     ld  b, (hl)
  5502.     inc l
  5503.     ld  a, (hl)
  5504.     ld  de, 1007h
  5505.     cp  8
  5506.     jr  z, loc_6B1A
  5507.     ld  e, 2
  5508.  
  5509. loc_6B1A:       ; CODE XREF: game_sub_6AFC+1Aj
  5510.     ld  (game_word_E1C2), de
  5511.     call  game_sub_6B2E
  5512.  
  5513. loc_6B21:       ; CODE XREF: game_sub_6AFC+Fj
  5514.     ld  hl, game_byte_E1CD
  5515.     inc (hl)
  5516.     pop hl
  5517.     pop bc
  5518.     inc l
  5519.     inc l
  5520.     inc l
  5521.     inc l
  5522.     djnz  loc_6B05
  5523.     ret
  5524. ; End of function game_sub_6AFC
  5525.  
  5526.  
  5527. ; =============== S U B R O U T I N E =======================================
  5528.  
  5529.  
  5530. game_sub_6B2E:        ; CODE XREF: game_sub_6AFC+22p
  5531.     ld  a, c
  5532.     cp  0E0h ; ''
  5533.     ret z
  5534.     ld  hl, game_unk_E200
  5535.     exx
  5536.     ld  b, 7
  5537.  
  5538. loc_6B38:       ; CODE XREF: game_sub_6B2E+4Fj
  5539.     push  bc
  5540.     exx
  5541.     push  bc
  5542.     ld  (game_word_E310), hl
  5543.     ld  a, (hl)
  5544.     sub 10h
  5545.     cp  2
  5546.     jr  c, loc_6B73
  5547.     inc hl
  5548.     ld  a, (hl)
  5549.     cp  13h
  5550.     jr  z, loc_6B80
  5551.     dec hl
  5552.     ld  a, (hl)
  5553.     add a, a
  5554.     jr  z, loc_6B73
  5555.     ld  de,  loc_6BAF+2
  5556.     call  add_a_to_de ; DE=DE+A
  5557.     ld  a, (de)
  5558.     inc de
  5559.     ld  (game_word_E1C4), a
  5560.     ld  a, (de)
  5561.     ld  (game_word_E1C4+1), a
  5562.     inc hl
  5563.     ld  a, (hl)
  5564.     cp  14h
  5565.     jr  z, loc_6B73
  5566.     ld  a, 8
  5567.     add a, l
  5568.     ld  l, a
  5569.     ld  e, (hl)
  5570.     inc hl
  5571.     inc hl
  5572.     ld  d, (hl)
  5573.     call  game_sub_693B
  5574.     call  c, game_sub_6BD5
  5575.  
  5576. loc_6B73:       ; CODE XREF: game_sub_6B2E+15j
  5577.           ; game_sub_6B2E+20j ...
  5578.     ld  hl, (game_word_E310)
  5579.     ld  a, 10h
  5580.     add a, l
  5581.     ld  l, a
  5582.     pop bc
  5583.     exx
  5584.     pop bc
  5585.     djnz  loc_6B38
  5586.     ret
  5587. ; ---------------------------------------------------------------------------
  5588.  
  5589. loc_6B80:       ; CODE XREF: game_sub_6B2E+1Bj
  5590.     call  game_sub_6B85
  5591.     jr  loc_6B73
  5592. ; End of function game_sub_6B2E
  5593.  
  5594.  
  5595. ; =============== S U B R O U T I N E =======================================
  5596.  
  5597.  
  5598. game_sub_6B85:        ; CODE XREF: game_sub_6A9C+4Dp
  5599.           ; game_sub_6B2E:loc_6B80p
  5600.  
  5601. ; FUNCTION CHUNK AT 6CD6 SIZE 00000016 BYTES
  5602.  
  5603.     ld  de, 0A00h
  5604.     ld  (game_word_E1C4), de
  5605.     inc l
  5606.     ld  a, (hl)
  5607.     rra
  5608.     jr  nc, loc_6B9E
  5609.     inc l
  5610.     ld  e, (hl)
  5611.     inc l
  5612.     inc l
  5613.     inc l
  5614.     inc l
  5615.     ld  d, (hl)
  5616.     call  game_sub_693B
  5617.     jp  c, loc_6CD6
  5618.  
  5619. loc_6B9E:       ; CODE XREF: game_sub_6B85+Aj
  5620.     ld  hl, (game_word_E310)
  5621.     ld  de, 0Bh
  5622.     add hl, de
  5623.     ld  a, (hl)
  5624.     rra
  5625.     ret nc
  5626.     inc l
  5627.     ld  e, (hl)
  5628.     inc l
  5629.     ld  d, (hl)
  5630.     call  game_sub_693B
  5631.  
  5632. loc_6BAF:       ; DATA XREF: game_sub_6A9C+28o
  5633.           ; game_sub_6B2E+22o
  5634.     jp  c, loc_6CE0
  5635.     ret
  5636. ; End of function game_sub_6B85
  5637.  
  5638. ; ---------------------------------------------------------------------------
  5639.     db 2, 10h, 2, 10h, 2, 10h, 1, 10h, 4, 10h, 1, 20h, 1, 10h
  5640.     db 1, 10h, 1, 10h, 1, 50h, 1, 10h, 1, 20h, 1, 10h, 1, 10h
  5641.     db 1, 10h, 1, 10h, 1, 10h
  5642.  
  5643. ; =============== S U B R O U T I N E =======================================
  5644.  
  5645.  
  5646. game_sub_6BD5:        ; CODE XREF: game_sub_6A9C:loc_6AEEp
  5647.           ; game_sub_6B2E+42p
  5648.  
  5649. ; FUNCTION CHUNK AT 6C52 SIZE 0000001C BYTES
  5650. ; FUNCTION CHUNK AT 6CAF SIZE 00000027 BYTES
  5651. ; FUNCTION CHUNK AT 6CEC SIZE 0000001C BYTES
  5652.  
  5653.     xor a
  5654.     ld  (game_byte_E1CE), a
  5655.     ld  hl, (game_word_E310)
  5656.     ld  a, (hl)
  5657.     cp  6
  5658.     jp  z, loc_6C68
  5659.     cp  0Ah
  5660.     jp  z, loc_6CAF
  5661.     cp  7
  5662.     jr  z, loc_6C52
  5663.     cp  9
  5664.     jr  z, loc_6C59
  5665.     inc hl
  5666.     cp  10h
  5667.     jr  nc, game_sub_6BF9
  5668.     cp  0Dh
  5669.     jp  nc, loc_6CEC
  5670. ; End of function game_sub_6BD5
  5671.  
  5672.  
  5673. ; =============== S U B R O U T I N E =======================================
  5674.  
  5675.  
  5676. game_sub_6BF9:        ; CODE XREF: game_sub_6BD5+1Dj
  5677.           ; game_sub_6BD5+91j ...
  5678.     ld  (hl), 14h
  5679.  
  5680. loc_6BFB:       ; CODE XREF: game_sub_6C6E+2Ej
  5681.           ; game_sub_6CA3+9j ...
  5682.     ld  a, l
  5683.     rra
  5684.     rra
  5685.     rra
  5686.     rra
  5687.     and 0Fh
  5688.     ld  hl, game_unk_E1C6
  5689.     call  add_a_to_hl ; HL=HL+A
  5690.     ld  (hl), 10h
  5691.     ld  hl, (game_word_E310)
  5692.     ld  a, (hl)
  5693.     cp  11h
  5694.     jr  z, loc_6C1D
  5695.     cp  10h
  5696.     ld  a, 0Ah
  5697.     jr  nz, loc_6C1A
  5698.     ld  a, 8Eh ; ''
  5699.  
  5700. loc_6C1A:       ; CODE XREF: game_sub_6BF9+1Dj
  5701.     call  game_sub_79D8
  5702.  
  5703. loc_6C1D:       ; CODE XREF: game_sub_6BF9+17j
  5704.     ld  hl, (game_word_E310)
  5705.     ld  a, (hl)
  5706.     inc l
  5707.     inc l
  5708.     ld  b, (hl)
  5709.     ld  c, 0
  5710.     cp  5
  5711.     jr  nz, loc_6C32
  5712.     djnz  loc_6C2D
  5713.     inc c
  5714.  
  5715. loc_6C2D:       ; CODE XREF: game_sub_6BF9+31j
  5716.     djnz  loc_6C31
  5717.     ld  c, 2
  5718.  
  5719. loc_6C31:       ; CODE XREF: game_sub_6BF9:loc_6C2Dj
  5720.     ld  (hl), c
  5721.  
  5722. loc_6C32:       ; CODE XREF: game_sub_6BF9+2Fj
  5723.     cp  12h
  5724.     jr  nc, loc_6C40
  5725.     add a, a
  5726.     ld  hl,  loc_6D5F+1
  5727.     call  get_hl_a_ptr  ; DE=(HL+A)
  5728.     call  game_sub_424C
  5729.  
  5730. loc_6C40:       ; CODE XREF: game_sub_6BF9+3Bj
  5731.           ; game_sub_6BD5+82j
  5732.     ld  a, 1
  5733.     ld  (game_byte_E1CE), a
  5734. ; End of function game_sub_6BF9
  5735.  
  5736.  
  5737. ; =============== S U B R O U T I N E =======================================
  5738.  
  5739.  
  5740. game_sub_6C45:        ; CODE XREF: game_sub_69C9p
  5741.     ld  hl, game_unk_E0B8
  5742.     ld  a, (game_byte_E1CD)
  5743.     add a, a
  5744.     add a, a
  5745.     add a, l
  5746.     ld  l, a
  5747.     ld  (hl), 0E0h ; ''
  5748.     ret
  5749. ; End of function game_sub_6C45
  5750.  
  5751. ; ---------------------------------------------------------------------------
  5752. ; START OF FUNCTION CHUNK FOR game_sub_6BD5
  5753.  
  5754. loc_6C52:       ; CODE XREF: game_sub_6BD5+14j
  5755.           ; game_sub_6BD5+8Bj
  5756.     ld  a, 0Dh
  5757.     call  game_sub_79D8
  5758.     jr  loc_6C40
  5759. ; ---------------------------------------------------------------------------
  5760.  
  5761. loc_6C59:       ; CODE XREF: game_sub_6BD5+18j
  5762.     ld  a, 0Ch
  5763.     add a, l
  5764.     ld  l, a
  5765.     ld  a, (hl)
  5766.     cp  74h ; 't'
  5767.     jr  nz, loc_6C52
  5768.     ld  hl, (game_word_E310)
  5769.     inc hl
  5770.     jr  game_sub_6BF9
  5771. ; ---------------------------------------------------------------------------
  5772.  
  5773. loc_6C68:       ; CODE XREF: game_sub_6BD5+Aj
  5774.     exx
  5775.     ld  b, 10h
  5776.     ld  hl, 1000h
  5777. ; END OF FUNCTION CHUNK FOR game_sub_6BD5
  5778.  
  5779. ; =============== S U B R O U T I N E =======================================
  5780.  
  5781.  
  5782. game_sub_6C6E:        ; CODE XREF: game_sub_6BD5+E0p
  5783.     exx
  5784.     inc l
  5785.     inc l
  5786.     ld  a, (hl)
  5787.     exx
  5788.     ld  (game_word_E1C4), hl
  5789.     exx
  5790.     and 3
  5791.     ret z
  5792.     dec a
  5793.     jr  z, loc_6C9F
  5794.     dec a
  5795.     jr  z, loc_6C8A
  5796.     push  bc
  5797.     push  de
  5798.     call  game_sub_693B
  5799.     call  c, game_sub_6CA3
  5800.     pop de
  5801.     pop bc
  5802.  
  5803. loc_6C8A:       ; CODE XREF: game_sub_6C6E+10j
  5804.     exx
  5805.     ld  a, b
  5806.     exx
  5807.     add a, d
  5808.     ld  d, a
  5809.     call  game_sub_693B
  5810.     ret nc
  5811.     ld  hl, (game_word_E310)
  5812.     inc l
  5813.     inc l
  5814.     res 1, (hl)
  5815.     set 3, (hl)
  5816.     jp  loc_6BFB
  5817. ; ---------------------------------------------------------------------------
  5818.  
  5819. loc_6C9F:       ; CODE XREF: game_sub_6C6E+Dj
  5820.     call  game_sub_693B
  5821.     ret nc
  5822. ; End of function game_sub_6C6E
  5823.  
  5824.  
  5825. ; =============== S U B R O U T I N E =======================================
  5826.  
  5827.  
  5828. game_sub_6CA3:        ; CODE XREF: game_sub_6C6E+17p
  5829.     ld  hl, (game_word_E310)
  5830.     inc l
  5831.     inc l
  5832.     res 0, (hl)
  5833.     set 2, (hl)
  5834.     jp  loc_6BFB
  5835. ; End of function game_sub_6CA3
  5836.  
  5837. ; ---------------------------------------------------------------------------
  5838. ; START OF FUNCTION CHUNK FOR game_sub_6BD5
  5839.  
  5840. loc_6CAF:       ; CODE XREF: game_sub_6BD5+Fj
  5841.     exx
  5842.     ld  b, 40h ; '@'
  5843.     ld  hl, 1004h
  5844.     call  game_sub_6C6E
  5845.     ld  a, (game_byte_E1CE)
  5846.     and a
  5847.     ret z
  5848.     ld  a, (game_word_E310)
  5849.     and 0F0h ; ''
  5850.     push  af
  5851.     ld  hl, game_unk_E290
  5852.     add a, l
  5853.     ld  l, a
  5854.     ld  (hl), 0
  5855.     pop af
  5856.     ld  hl, game_unk_E114
  5857.     rra
  5858.     rra
  5859.     call  add_a_to_hl ; HL=HL+A
  5860.     ld  (hl), 0C3h ; ''
  5861.     ret
  5862. ; END OF FUNCTION CHUNK FOR game_sub_6BD5
  5863. ; ---------------------------------------------------------------------------
  5864. ; START OF FUNCTION CHUNK FOR game_sub_6B85
  5865.  
  5866. loc_6CD6:       ; CODE XREF: game_sub_6B85+16j
  5867.     ld  hl, (game_word_E310)
  5868.     inc l
  5869.     inc l
  5870.     ld  (hl), 2
  5871.     jp  loc_6BFB
  5872. ; ---------------------------------------------------------------------------
  5873.  
  5874. loc_6CE0:       ; CODE XREF: game_sub_6B85:loc_6BAFj
  5875.     ld  hl, (game_word_E310)
  5876.     ld  de, 0Bh
  5877.     add hl, de
  5878.     ld  (hl), 2
  5879.     jp  loc_6BFB
  5880. ; END OF FUNCTION CHUNK FOR game_sub_6B85
  5881. ; ---------------------------------------------------------------------------
  5882. ; START OF FUNCTION CHUNK FOR game_sub_6BD5
  5883.  
  5884. loc_6CEC:       ; CODE XREF: game_sub_6BD5+21j
  5885.     call  game_sub_6BF9
  5886.     ld  hl, game_byte_E1DA
  5887.     inc (hl)
  5888.     ld  a, (game_byte_E191)
  5889.     and a
  5890.     ret nz
  5891.     ld  a, (hl)
  5892.     cp  5
  5893.     ret nz
  5894.     ld  de, 1000h
  5895.     call  game_sub_424C
  5896.     ld  hl, (game_word_E310)
  5897.     ld  (hl), 10h
  5898.     ret
  5899. ; END OF FUNCTION CHUNK FOR game_sub_6BD5
  5900. ; ---------------------------------------------------------------------------
  5901. ; START OF FUNCTION CHUNK FOR game_sub_6D36
  5902.  
  5903. loc_6D08:       ; CODE XREF: game_sub_6D36+Dj
  5904.     inc l
  5905.     inc l
  5906.     ld  a, (hl)
  5907.     dec l
  5908.     dec l
  5909.     dec a
  5910.     jp  m, loc_6D45
  5911.     ld  b, a
  5912.     add a, a
  5913.     add a, a
  5914.     add a, b
  5915.     ld  de, byte_6D2C
  5916.     call  add_a_to_de ; DE=DE+A
  5917.     ld  a, (de)
  5918.     ld  (hl), a
  5919.     inc l
  5920.     inc de
  5921.     ld  (hl), 7
  5922.     ld  a, 0Bh
  5923.     add a, l
  5924.     ld  l, a
  5925.     ex  de, hl
  5926.     ld  bc, 4
  5927.     ldir
  5928.     ret
  5929. ; ---------------------------------------------------------------------------
  5930. byte_6D2C:  db 10h      ; DATA XREF: game_sub_6D36-21o
  5931.     db 0A8h
  5932.     db 0Fh
  5933.     db 0ACh
  5934.     db 1
  5935.     db 11h
  5936.     db 0B0h
  5937.     db 1
  5938.     db 0B4h
  5939.     db 0Fh
  5940. ; END OF FUNCTION CHUNK FOR game_sub_6D36
  5941.  
  5942. ; =============== S U B R O U T I N E =======================================
  5943.  
  5944.  
  5945. game_sub_6D36:        ; CODE XREF: game_sub_499C:loc_4997p
  5946.           ; ROM:558Bj ...
  5947.  
  5948. ; FUNCTION CHUNK AT 6D08 SIZE 0000002E BYTES
  5949.  
  5950.     ld  hl, (game_word_E310)
  5951.     ld  a, (hl)
  5952.     cp  0Ah
  5953.     push  af
  5954.     call  z, game_sub_4989
  5955.     pop af
  5956.     cp  5
  5957.     jr  z, loc_6D08
  5958.  
  5959. loc_6D45:       ; CODE XREF: game_sub_6D36-28j
  5960.     ld  (hl), 0
  5961.     ld  de, game_byte_E194
  5962.     ld  a, (de)
  5963.     dec a
  5964.     ld  (de), a
  5965.     ld  a, l
  5966.     rra
  5967.     and 78h ; 'x'
  5968.     ld  hl, game_unk_E0D4
  5969.     add a, l
  5970.     ld  l, a
  5971.     jr  nc, loc_6D59
  5972.     inc h
  5973.  
  5974. loc_6D59:       ; CODE XREF: game_sub_6D36+20j
  5975.     ld  (hl), 0C3h ; ''
  5976.     inc hl
  5977.     inc hl
  5978.     inc hl
  5979.     inc hl
  5980.  
  5981. loc_6D5F:       ; DATA XREF: game_sub_6BF9+3Eo
  5982.     ld  (hl), 0C3h ; ''
  5983.     ret
  5984. ; ---------------------------------------------------------------------------
  5985.     db 50h
  5986.     db 0
  5987.     db 80h
  5988.     db 0
  5989.     db 80h
  5990.     db 0
  5991.     db 50h
  5992.     db 0
  5993.     db 20h
  5994.     db 0
  5995.     db 70h
  5996.     db 0
  5997.     db 0
  5998.     db 0
  5999.     db 0
  6000.     db 1
  6001.     db 0
  6002.     db 1
  6003.     db 50h
  6004.     db 0
  6005.     db 0
  6006.     db 1
  6007.     db 0
  6008.     db 0
  6009.     db 50h
  6010.     db 0
  6011.     db 80h
  6012.     db 0
  6013.     db 80h
  6014.     db 0
  6015.     db 0
  6016.     db 10h
  6017.     db 0
  6018.     db 0
  6019. ; End of function game_sub_6D36
  6020.  
  6021.  
  6022. ; =============== S U B R O U T I N E =======================================
  6023.  
  6024.  
  6025. load_game_pat_gen_col:      ; CODE XREF: state3_sub_41E5+18j
  6026.           ; init_demo+3p
  6027.     ld  de, byte_6DCA ; game pattern generator data
  6028.     ld  hl, 2200h
  6029.     call  uncompress2vram3blocks
  6030.     ld  de, byte_702B ; game color data
  6031.     ld  hl, 200h
  6032.     jp  uncompress2vram3blocks
  6033. ; End of function load_game_pat_gen_col
  6034.  
  6035.  
  6036. ; =============== S U B R O U T I N E =======================================
  6037.  
  6038.  
  6039. update_game_pat_gen:      ; CODE XREF: update_game:loc_45A0p
  6040.     ld  hl, game_byte_E1D9
  6041.     ld  a, (hl)
  6042.     and a
  6043.     jr  nz, loc_6DA5
  6044.     ld  a, (game_byte_E140)
  6045.     dec a
  6046.     ret nz
  6047.     ld  (hl), 1
  6048.     ret
  6049. ; ---------------------------------------------------------------------------
  6050.  
  6051. loc_6DA5:       ; CODE XREF: update_game_pat_gen+5j
  6052.     dec a
  6053.     ret nz
  6054.     inc (hl)
  6055.     ld  de, byte_70DE ; pattern generator data
  6056.     ld  a, (game_byte_E1D6)
  6057.     dec a
  6058.     jr  z, loc_6DB4
  6059.     ld  de, byte_7323 ; pattern generator data
  6060.  
  6061. loc_6DB4:       ; CODE XREF: update_game_pat_gen+19j
  6062.     ld  hl, 2580h
  6063.     push  af
  6064.     call  uncompress2vram3blocks
  6065.     pop af
  6066.     ld  de, byte_7285 ; color data
  6067.     jr  z, loc_6DC4
  6068.     ld  de, byte_74A7 ; color data
  6069.  
  6070. loc_6DC4:       ; CODE XREF: update_game_pat_gen+29j
  6071.     ld  hl, 580h
  6072.     jp  uncompress2vram3blocks
  6073. ; End of function update_game_pat_gen
  6074.  
  6075. ; ---------------------------------------------------------------------------
  6076. byte_6DCA:  db 0FDh, 0, 0, 19h, 0Eh, 20h, 0C0h, 8, 4, 12h, 2, 4, 44h
  6077.           ; DATA XREF: load_game_pat_gen_colo
  6078.     db 0Ch, 8, 20h, 0, 8, 4Ch, 82h, 80h, 40h, 10h, 8, 0, 0 ; game pattern generator data
  6079.     db 42h, 0, 10h, 0, 2, 0, 8, 0, 0, 80h, 4, 4Bh, 3Eh, 0
  6080.     db 6, 0, 41h, 26h, 1Ch, 0, 20h, 90h, 10h, 0, 80h, 0E0h
  6081.     db 0E0h, 0F8h, 0FCh, 0FCh, 0FEh, 0FEh, 0FCh, 0FCh, 0F8h
  6082.     db 0E0h, 0E0h, 80h, 0, 0, 1, 7, 7, 1Fh, 3Fh, 3Fh, 7Fh
  6083.     db 7Fh, 3Fh, 3Fh, 1Fh, 7, 7, 1, 0, 0FFh, 7Fh, 7Fh, 3Fh
  6084.     db 3Fh, 0Fh, 1, 0, 0, 1, 1, 3, 1Fh, 3Fh, 7Fh, 7Fh, 0FFh
  6085.     db 0FEh, 0FCh, 0F0h, 0F0h, 0F0h, 0E0h, 0C0h, 0, 80h, 80h
  6086.     db 0C0h, 0F8h, 0FCh, 0FEh, 0FEh, 3, 7, 7, 0Fh, 0Fh, 3Fh
  6087.     db 7Fh, 0FFh, 3Fh, 1Fh, 7, 3, 1, 3, 0, 0D4h, 0FCh, 0F8h
  6088.     db 0E0h, 0C0h, 80h, 0, 0, 0, 80h, 0C0h, 0C0h, 0E0h, 0F8h
  6089.     db 0FCh, 0FEh, 0FFh, 0, 0, 18h, 4, 4Eh, 8Bh, 5, 0, 7Fh
  6090.     db 7Fh, 3Fh, 3Fh, 1Fh, 0Fh, 3, 3, 3, 7, 7, 0Fh, 0Fh, 3Fh
  6091.     db 7Fh, 0FFh, 80h, 80h, 0A8h, 40h, 80h, 80h, 80h, 40h
  6092.     db 0C0h, 0F8h, 1Ch, 36h, 2, 6, 2, 15h, 80h, 60h, 84h, 73h
  6093.     db 2Ch, 7, 2, 1, 0F0h, 0E0h, 0E0h, 0C0h, 0C0h, 80h, 80h
  6094.     db 0, 0FFh, 0FCh, 0E8h, 0C0h, 80h, 0C0h, 0C0h, 80h, 0
  6095.     db 80h, 0, 0, 4, 80h, 83h, 0FFh, 0F8h, 0C0h, 5, 0, 0B0h
  6096.     db 4, 2, 1, 0, 84h, 42h, 42h, 63h, 20h, 30h, 8, 0Ch, 6
  6097.     db 2, 1, 1, 4, 0Ah, 0Bh, 94h, 64h, 8Ah, 72h, 63h, 40h
  6098.     db 3Eh, 90h, 4Fh, 28h, 0AFh, 84h, 0D6h, 0F8h, 3, 1, 1
  6099.     db 1, 7, 1Dh, 2Ah, 3, 0Fh, 1Fh, 3Fh, 3Fh, 7Fh, 7Fh, 3Fh
  6100.     db 8, 1, 7, 0, 0B1h, 0FFh, 4Eh, 2Ah, 99h, 0Ah, 5, 2, 1
  6101.     db 40h, 2, 28h, 8, 40h, 0, 8, 2, 0, 40h, 44h, 10h, 10h
  6102.     db 2, 50h, 44h, 0, 0F6h, 0BCh, 78h, 0F1h, 0A0h, 0C4h, 80h
  6103.     db 0, 31h, 18h, 66h, 91h, 43h, 6Dh, 82h, 31h, 0, 0Ch, 40h
  6104.     db 3, 30h, 0, 66h, 0, 8, 0, 81h, 0E7h, 6, 21h, 2, 0E7h
  6105.     db 3, 21h, 1, 0E7h, 3, 0, 81h, 0FFh, 7, 0, 8, 80h, 98h
  6106.     db 0C0h, 0, 0, 6, 0, 0, 30h, 0, 80h, 0C0h, 60h, 0F0h, 98h
  6107.     db 0FCh, 66h, 0D9h, 1, 3, 6, 0Fh, 19h, 3Fh, 66h, 0BFh
  6108.     db 40h, 0, 40h, 0, 0A9h, 0FEh, 0FCh, 0F8h, 0F0h, 0E0h
  6109.     db 0C0h, 80h, 0, 0, 1, 3, 7, 0Fh, 1Fh, 3Fh, 7Fh, 0, 80h
  6110.     db 0C0h, 0E0h, 0F0h, 0F8h, 0FCh, 0FEh, 7Fh, 3Fh, 1Fh, 0Fh
  6111.     db 7, 3, 1, 0, 0, 18h, 3Ch, 16h, 3Eh, 1Ch, 0, 0, 78h, 6
  6112.     db 8, 92h, 78h, 0, 0FFh, 0, 0, 0, 0FFh, 0, 0, 0, 0FFh
  6113.     db 1, 1, 1, 0FFh, 0, 0, 1Eh, 16h, 2, 86h, 4Eh, 0, 0EEh
  6114.     db 22h, 22h, 0EEh, 4, 0, 81h, 6, 4, 0, 8Bh, 0C0h, 0, 0
  6115.     db 2, 2, 0, 0, 0, 40h, 40h, 0FFh, 0Fh, 80h, 81h, 0FFh
  6116.     db 7, 0, 81h, 0FFh, 0Fh, 1, 7, 0, 81h, 0FFh, 7, 1, 81h
  6117.     db 0FFh, 7, 80h, 0D8h, 7Fh, 0FFh, 0EEh, 22h, 22h, 0EEh
  6118.     db 0FFh, 0FFh, 0FFh, 0, 58h, 7Ch, 0D7h, 1, 0Ah, 45h, 3Eh
  6119.     db 0, 1, 1, 3, 1Fh, 3Fh, 7Fh, 7Fh, 0, 80h, 80h, 0C0h, 0F8h
  6120.     db 0FCh, 0FEh, 0F7h, 1, 3, 1Fh, 3Fh, 3Fh, 7Fh, 0FFh, 0FFh
  6121.     db 0, 1, 1, 3, 1Fh, 3Fh, 7Fh, 7Fh, 0, 80h, 80h, 0C0h, 0F8h
  6122.     db 0FCh, 0FEh, 0FEh, 0, 1, 1, 3, 1Fh, 3Fh, 7Fh, 7Fh, 0
  6123.     db 80h, 80h, 0C0h, 0F8h, 0FCh, 0FEh, 0FEh, 7Fh, 7Fh, 3Fh
  6124.     db 1Fh, 3, 1, 1, 0, 0FEh, 0FEh, 0FCh, 0F8h, 0C0h, 80h
  6125.     db 80h, 7, 0, 82h, 0Ch, 13h, 3, 1, 2, 3, 83h, 2, 16h, 1Bh
  6126.     db 3, 0, 3, 80h, 92h, 0D0h, 0B0h, 93h, 0A3h, 0C3h, 82h
  6127.     db 82h, 8Ah, 2, 1, 92h
  6128. byte_7023:  db 8Ah, 86h, 82h, 82h, 0A2h, 80h, 0, 0
  6129. byte_702B:  db 24h, 1Ch, 81h, 13h, 6, 1Ch, 81h, 13h, 4, 1Ch, 20h, 0BCh
  6130.           ; DATA XREF: load_game_pat_gen_col+9o
  6131.     db 20h, 0B5h, 28h, 89h, 10h, 68h, 88h, 98h, 0F8h, 98h ; game color data
  6132.     db 0F8h, 18h, 0F8h, 98h, 18h, 8, 96h, 5, 18h, 43h, 16h
  6133.     db 3, 96h, 5, 16h, 82h, 0F6h, 96h, 5, 86h, 81h, 8Fh, 10h
  6134.     db 0FAh, 88h, 0F9h, 0E9h, 0F9h, 0E9h, 0F9h, 0E9h, 0F9h
  6135.     db 0E9h, 8, 98h, 8, 0E9h, 90h, 98h, 0E8h, 98h, 98h, 0E8h
  6136.     db 98h, 0F8h, 0F8h, 0F9h, 0E9h, 0F9h, 0E9h, 0F9h, 0E9h
  6137.     db 0F9h, 0E9h, 10h, 96h, 81h, 0FBh, 6, 19h, 82h, 1Ah, 0FAh
  6138.     db 3, 19h, 4, 1Ah, 81h, 11h, 0Fh, 1Ah, 8, 0BAh, 8, 68h
  6139.     db 8, 69h, 30h, 0, 70h, 57h, 8, 0C5h, 81h, 75h, 7, 45h
  6140.     db 5, 75h, 3, 45h, 2, 75h, 6, 45h, 81h, 75h, 17h, 45h
  6141.     db 2, 75h, 6, 45h, 6, 67h, 3, 47h, 5, 0C7h, 2, 67h, 19h
  6142.     db 0F5h, 1Fh, 15h, 7, 0F5h, 83h, 1Fh, 0BEh, 0F5h, 3, 15h
  6143.     db 3, 0B5h, 4, 0CBh, 3, 1Ch, 81h, 1Bh, 10h, 95h, 8, 96h
  6144.     db 10h, 95h, 20h, 0A5h, 7, 0F5h, 83h, 75h, 40h, 40h, 0Eh
  6145.     db 0F0h, 6, 0F4h, 82h, 0F0h, 40h, 6, 0F4h, 2, 0F0h, 0
  6146. byte_70DE:  db 0D1h, 1, 3, 7, 0Fh, 1Fh, 3Fh, 7Fh, 0FFh, 0FFh, 7Fh
  6147.           ; DATA XREF: update_game_pat_gen+12o
  6148.     db 3Fh, 1Fh, 0Fh, 7, 3, 1, 3Ch, 76h, 0DFh, 0BDh, 2Bh, 0F5h ; pattern generator data
  6149.     db 5Ah, 3Ch, 80h, 0C0h, 0E0h, 0F0h, 0F8h, 0FCh, 0FEh, 0FFh
  6150.     db 0FFh, 0FEh, 0FCh, 0F8h, 0F0h, 0E0h, 0C0h, 80h, 0F5h
  6151.     db 0EAh, 0D4h, 0A8h, 50h, 0A0h, 40h, 80h, 80h, 40h, 0A0h
  6152.     db 50h, 0A8h, 0D4h, 0EAh, 0F5h, 1, 6, 0Ch, 18h, 30h, 60h
  6153.     db 0C0h, 80h, 80h, 40h, 60h, 30h, 38h, 1Ch, 0Eh, 7, 7
  6154.     db 0Eh, 1Ch, 38h, 30h, 60h, 40h, 80h, 0FFh, 7, 2, 6, 0E0h
  6155.     db 0BDh, 0FFh, 80h, 0AFh, 57h, 2Bh, 15h, 0Ah, 5, 2, 1
  6156.     db 1, 2, 5, 0Ah, 15h, 2Bh, 57h, 0AFh, 80h, 60h, 30h, 1Ch
  6157.     db 0Eh, 7, 3, 1, 1, 2, 6, 0Ch, 1Ch, 38h, 70h, 0E0h, 0E0h
  6158.     db 70h, 38h, 1Ch, 0Ch, 6, 2, 1, 1, 3, 7, 0Eh, 1Ch, 38h
  6159.     db 60h, 80h, 80h, 0C0h, 0E0h, 70h, 38h, 1Ch, 6, 1, 1, 3
  6160.     db 0FFh, 5, 83h, 4, 0C0h, 0E7h, 0, 0FFh, 0FBh, 0D5h, 3Fh
  6161.     db 68h, 0C8h, 0C4h, 0C4h, 0A2h, 0B1h, 8Fh, 0FCh, 26h, 83h
  6162.     db 81h, 87h, 0B8h, 0C0h, 0E0h, 81h, 82h, 84h, 98h, 0E1h
  6163.     db 0C2h, 64h, 3Fh, 0D8h, 0E4h, 0A3h, 0B1h, 11h, 11h, 12h
  6164.     db 0FCh, 3Fh, 64h, 0C2h, 81h, 0C1h, 0BFh, 87h, 86h, 0FCh
  6165.     db 12h, 21h, 21h, 0E1h, 0E6h, 0F4h, 0F8h, 8Fh, 97h, 0A7h
  6166.     db 0C3h, 82h, 84h, 44h, 3Fh, 0B0h, 50h, 0BCh, 0E3h, 41h
  6167.     db 21h, 12h, 0FCh, 3Fh, 64h, 83h, 8Fh, 0FFh, 9Dh, 9Fh
  6168.     db 0BEh, 0FCh, 12h, 0E1h, 0F1h, 0F9h, 0EBh, 0BEh, 0D4h
  6169.     db 0BFh, 0BDh, 0DFh, 9Dh, 8Fh, 8Bh, 48h, 3Fh, 0ACh, 48h
  6170.     db 0BCh, 6Fh, 0F9h, 0E1h, 42h, 0FCh, 7, 7, 0, 5, 7, 2
  6171.     db 0E0h, 81h, 0, 5, 0E0h, 3, 38h, 0Ah, 0FFh, 3, 38h, 5
  6172.     db 7, 83h, 0, 7, 7, 5, 0E0h, 83h, 0, 0E0h, 0E0h, 3, 1Ch
  6173.     db 0Ah, 80h, 3, 1Ch, 81h, 0FFh, 7, 0, 8, 80h, 0B4h, 7
  6174.     db 6, 5, 7, 6, 7, 87h, 0C0h, 0E0h, 0A0h, 40h, 0A0h, 0C0h
  6175.     db 0A0h, 0E0h, 0FFh, 0F7h, 0F7h, 5, 2, 5, 6, 3, 7, 0DFh
  6176.     db 0DFh, 40h, 0C0h, 40h, 0C0h, 40h, 0C0h, 3, 1, 0, 0, 0FFh
  6177.     db 0FFh, 5Fh, 37h, 57h, 3Bh, 57h, 0FFh, 0, 0, 1, 3, 0EBh
  6178.     db 0D5h, 0EBh, 3Fh, 4, 0C0h, 82h, 0E0h, 60h
  6179. byte_723E:  db 6, 20h, 82h, 80h, 0C0h, 6, 0E0h, 5, 83h, 2, 3, 81h
  6180.     db 1, 5, 20h, 83h, 1Fh, 7Fh, 0FFh, 5, 2, 2, 0FEh, 85h
  6181.     db 0FFh, 3Fh, 7Fh, 0F0h, 0E0h, 4, 0C0h, 88h, 0FCh, 0FEh
  6182.     db 7, 3, 1, 0, 7Eh, 0FCh, 5, 0C0h, 85h, 0E0h, 70h, 3Fh
  6183.     db 0E3h, 80h, 3, 0, 93h, 1, 2, 0FCh, 80h, 0C0h, 0E0h, 0F0h
  6184.     db 0F8h, 0FCh, 0FEh, 0FFh, 0FFh, 0FEh, 0FCh, 0F8h, 0F0h
  6185.     db 0E0h, 0C0h, 80h, 0
  6186. byte_7285:  db 10h, 0F5h, 4, 1Eh, 84h, 16h, 19h, 1Eh, 1Eh, 10h, 45h
  6187.           ; DATA XREF: update_game_pat_gen+26o
  6188.     db 38h, 0FEh, 7Fh, 1Eh, 10h, 1Eh, 81h, 19h, 5, 1Eh, 2 ; color data
  6189.     db 19h, 2, 1Eh, 81h, 19h, 6, 1Eh, 84h, 19h, 1Eh, 19h, 16h
  6190.     db 4, 1Eh, 3, 4Fh, 2, 0EFh, 81h, 1Fh, 5, 4Fh, 2, 0EFh
  6191.     db 83h, 1Fh, 4Fh, 4Fh, 3, 0E4h, 5, 0F1h, 5, 0F4h, 3, 0E4h
  6192.     db 83h, 4Fh, 41h, 0F1h, 3, 0E1h, 2, 41h, 83h, 4Fh, 41h
  6193.     db 0F1h, 3, 0E1h, 2, 41h, 3, 0E4h, 0Ah, 0F1h, 3, 0E4h
  6194.     db 10h, 0F1h, 81h, 0FEh, 6, 1Eh, 82h, 1Fh, 0FEh, 6, 1Eh
  6195.     db 81h, 0FEh, 10h, 1Eh, 5, 0FEh, 6, 1Eh, 5, 0FEh, 3, 1Eh
  6196.     db 81h, 0FEh, 4, 1Eh, 81h, 1Fh, 7, 1Eh, 2, 0FEh, 81h, 0F1h
  6197.     db 5, 0FEh, 6, 1Eh, 81h, 1Fh, 6, 1Eh, 83h, 0FEh, 1Eh, 1Eh
  6198.     db 6, 0FEh, 2, 1Fh, 2, 1Eh, 6, 16h, 2, 1Eh, 4, 16h, 2
  6199.     db 86h, 83h, 16h, 18h, 18h, 4, 19h, 81h, 1Eh, 5, 89h, 2
  6200.     db 19h, 81h, 1Eh, 10h, 14h, 0
  6201. byte_7323:  db 3, 0, 8Dh, 3, 0Fh, 1Fh, 3Fh, 7Fh, 0, 1, 3, 7, 0Fh, 0Fh
  6202.           ; DATA XREF: update_game_pat_gen+1Bo
  6203.     db 1Fh, 1Fh, 3, 3Fh, 4, 7Fh, 2, 0FFh, 4, 7Fh, 3, 3Fh, 81h ; pattern generator data
  6204.     db 0FFh, 4, 0FEh, 3, 0FCh, 2, 1Fh, 2, 0Fh, 89h, 7, 3, 1
  6205.     db 0, 7Fh, 3Fh, 1Fh, 0Fh, 3, 3, 0, 6, 0FFh, 0B2h, 1Fh
  6206.     db 1, 0, 3Ch, 18h, 81h, 99h, 81h, 5Ah, 42h, 42h, 5Ah, 81h
  6207.     db 99h, 81h, 18h, 3Ch, 0, 1Ch, 3, 40h, 6Ah, 6Ah, 40h, 3
  6208.     db 1Ch, 38h, 0C0h, 2, 56h, 56h, 2, 0C0h, 38h, 0, 0F0h
  6209.     db 0FEh, 0C0h, 0F0h, 0F8h, 0FCh, 0FEh, 0FEh, 80h, 0C0h
  6210.     db 0E0h, 0F0h, 0F0h, 0F8h, 0F8h, 3, 0FCh, 4, 0FEh, 7, 0FFh
  6211.     db 0C5h, 0F8h, 80h, 0F8h, 0F8h, 0F0h, 0F0h, 0E0h, 0C0h
  6212.     db 80h, 0FEh, 0FEh, 0FCh, 0F8h, 0F0h, 0C0h, 0FEh, 0F0h
  6213.     db 0, 1, 1Fh, 0FFh, 0F8h, 0C3h, 1Fh, 7Fh, 0FFh, 80h, 0F8h
  6214.     db 0FFh, 3Fh, 0EFh, 0FBh, 0FFh, 0FFh, 0FEh, 0FDh, 0F8h
  6215.     db 0F0h, 0E0h, 0C6h, 86h, 0E0h, 7Fh, 0BFh, 1Fh, 0Fh, 7
  6216.     db 63h, 61h, 7, 0E0h, 86h, 0C6h, 0E0h, 0F0h, 0F8h, 0FDh
  6217.     db 0FEh, 7, 61h, 63h, 7, 0Fh, 1Fh, 0BFh, 7Fh, 0FFh, 0FFh
  6218.     db 4Fh, 5, 0FFh, 98h, 0F7h, 0EFh, 0DFh, 0FFh, 1, 3, 7
  6219.     db 0Fh, 10h, 30h, 70h, 0F0h, 0F0h, 0E0h, 0C0h, 80h, 8
  6220.     db 0Ch, 0Eh, 0Fh, 0Fh, 7, 3, 1, 4, 0, 88h, 80h, 0C0h, 0E0h
  6221.     db 0F0h, 1Fh, 3Eh, 7Ch, 0F8h, 4, 0, 84h, 0F8h, 7Ch, 3Eh
  6222. byte_7400:  db 1Fh, 8, 0, 84h, 0F8h, 7Ch, 3Eh, 1Fh, 4, 0, 88h, 1Fh
  6223.           ; DATA XREF: ROM:55FEo  ROM:5602o
  6224.     db 3Eh, 7Ch, 0F8h, 0Fh, 7, 3, 1, 4, 0, 84h, 0F0h, 0E0h
  6225.     db 0C0h, 80h, 4, 0, 90h, 80h, 0C0h, 0E0h, 0F0h, 0F0h, 70h
  6226.     db 30h, 10h, 1, 3, 7, 0Fh, 0Fh, 0Eh, 0Ch, 8, 6, 0, 4, 0FFh
  6227.     db 81h, 0, 5, 0FFh, 2, 0F8h, 3, 0FFh, 85h, 0, 0FFh, 0FFh
  6228.     db 0, 0, 3, 0FFh, 81h, 0, 5, 0FFh, 2, 0FCh, 3, 0F8h, 85h
  6229.     db 0FCh, 0F8h, 0F0h, 0E0h, 80h, 6, 0, 8Bh, 80h, 0E0h, 0F0h
  6230.     db 0F8h, 0FCh, 0F0h
  6231. byte_7458:  db 0E0h, 0E0h, 0C0h, 0C0h, 80h, 4, 0, 8Eh, 80h, 0C0h, 0C0h
  6232.     db 0E0h, 0E0h, 0F0h, 3Ch, 76h, 0DFh, 0BDh, 0D3h, 0E9h
  6233.     db 52h, 3Ch, 8, 0FEh, 8, 7Fh, 81h, 0, 5, 0FFh, 3, 0, 7
  6234.     db 0FFh, 81h, 0, 7, 0FEh, 81h, 0C0h, 7, 1Fh, 81h, 3, 7
  6235.     db 0F8h, 3, 0FFh, 5, 0, 3, 0F8h, 4, 0FCh, 2, 0FEh, 4, 0FCh
  6236.     db 3, 0F8h, 81h, 0FFh, 7, 10h, 6, 0FFh, 2, 0, 81h, 0FFh
  6237.     db 5, 0, 4, 0FFh, 2, 0, 4, 0FFh, 0
  6238. byte_74A7:  db 20h, 15h, 8, 14h, 18h, 15h, 20h, 0EFh, 3, 45h, 5, 14h
  6239.           ; DATA XREF: update_game_pat_gen+2Bo
  6240.     db 81h, 45h, 1Eh, 14h, 81h, 45h, 5, 14h, 3, 45h, 3, 15h ; color data
  6241.     db 5, 1Fh, 3, 14h, 0Ch, 1Fh, 81h, 0EFh, 7, 1Fh, 2, 0EFh
  6242.     db 7, 1Fh, 81h, 0EFh, 13h, 1Fh, 5Ch, 61h, 81h, 59h, 7
  6243.     db 51h, 2, 41h, 6, 1Fh, 5, 45h, 3, 1Fh, 5, 45h, 6, 1Fh
  6244.     db 25h, 45h, 4, 1Fh, 84h, 16h, 18h, 1Fh, 1Fh, 10h, 19h
  6245.     db 6, 1Fh, 2, 15h, 8, 16h, 2, 8Fh, 2, 6Fh, 3, 8Fh, 85h
  6246.     db 9Fh, 0F6h, 18h, 16h, 16h, 3, 18h, 85h, 19h, 0F6h, 18h
  6247.     db 16h, 16h, 3, 18h, 81h, 19h, 8, 15h, 10h, 45h, 8, 61h
  6248.     db 8, 15h, 6, 91h, 2, 51h, 81h, 0F8h, 3, 86h, 84h, 68h
  6249.     db 86h, 86h, 9Fh, 0
  6250.  
  6251. ; =============== S U B R O U T I N E =======================================
  6252.  
  6253.  
  6254. game_sub_7522:        ; CODE XREF: game_sub_45A6+44p
  6255.     ld  hl, (game_word_E1B8)
  6256.     jr  loc_752E
  6257. ; ---------------------------------------------------------------------------
  6258.  
  6259. loc_7527:       ; CODE XREF: update_game+6Cj
  6260.     ld  hl, (game_word_E1B8)
  6261.     ld  a, l
  6262.     and 3Fh ; '?'
  6263.     ret nz
  6264.  
  6265. loc_752E:       ; CODE XREF: game_sub_7522+3j
  6266.     xor a
  6267.     ld  (game_byte_E1B0), a
  6268.     ld  (game_byte_E1C1), a
  6269.     ld  (game_byte_E1D2), a
  6270.     ld  a, l
  6271.     rr  h
  6272.     rra
  6273.     rr  h
  6274.     rra
  6275.     rr  h
  6276.     rra
  6277.     rr  h
  6278.     rra
  6279.     rr  h
  6280.     rra
  6281.     rr  h
  6282.     rra
  6283.     ld  hl, byte_757C
  6284.     call  add_a_to_hl ; HL=HL+A
  6285.     ld  a, (hl)
  6286.     ld  (game_byte_E320), a
  6287.     add a, a
  6288.     ld  b, a
  6289.     add a, a
  6290.     add a, b
  6291.     ld  de, byte_759C
  6292.     call  add_a_to_de ; DE=DE+A
  6293.     ld  b, 2
  6294.     ld  hl, game_byte_E321
  6295.  
  6296. loc_7564:       ; CODE XREF: game_sub_7522+57j
  6297.     ld  a, (de)
  6298.     ld  (hl), a
  6299.     inc l
  6300.     inc de
  6301.     ld  (hl), 0
  6302.     inc l
  6303.     ld  a, (de)
  6304.     ld  (hl), a
  6305.     inc l
  6306.     inc de
  6307.     ld  (hl), 0
  6308.     inc l
  6309.     ld  a, (de)
  6310.     ld  (hl), a
  6311.     inc l
  6312.     inc de
  6313.     ld  (hl), 0
  6314.     inc l
  6315.     djnz  loc_7564
  6316.     ret
  6317. ; End of function game_sub_7522
  6318.  
  6319. ; ---------------------------------------------------------------------------
  6320. byte_757C:  db 0, 2, 1, 5, 9, 6, 2, 16h, 7, 14h, 1, 0Bh, 4, 7, 8, 17h
  6321.           ; DATA XREF: game_sub_7522+29o
  6322.     db 0Ch, 0Ah, 15h, 12h, 0Eh, 0Dh, 9, 18h, 10h, 0Fh, 11h
  6323.     db 13h, 15h, 14h, 18h, 18h
  6324. byte_759C:  db 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 5, 6, 6, 0, 0, 0
  6325.           ; DATA XREF: game_sub_7522+37o
  6326.     db 3, 0, 0, 0, 0, 0, 9, 18h, 10h, 0, 0, 0, 4, 0Ah, 5, 0
  6327.     db 0, 0, 0Ah, 1Bh, 0Dh, 1, 0, 0, 3, 0, 1, 5, 6, 6, 4, 0Bh
  6328.     db 7, 0, 0, 0, 2, 2, 2, 0, 0, 0, 6, 0Fh, 7, 0, 0, 0, 2
  6329.     db 0, 0, 5, 6, 6, 3, 1, 2, 0, 0, 0, 7, 12h, 0Ah, 0, 0
  6330.     db 0, 1, 1, 1, 0, 0, 0, 2, 1, 1, 4, 7, 7, 0Bh, 1Eh, 2
  6331.     db 0, 0, 0, 8, 15h, 0Dh, 0, 0, 0, 4, 0Ah, 5, 5, 5, 5, 3
  6332.     db 2, 2, 5, 7, 7, 5, 5, 5, 0, 0, 0, 2, 1, 1, 5, 6, 6, 0Dh
  6333.     db 13h, 0Ch, 0, 0, 0, 0Eh, 13h, 0Ch, 0, 0, 0, 0Fh, 13h
  6334.     db 0Ch, 0, 0, 0
  6335.  
  6336. ; =============== S U B R O U T I N E =======================================
  6337.  
  6338.  
  6339. game_sub_7632:        ; CODE XREF: game_sub_4773+Cp
  6340.     ld  b, 2
  6341.     ld  hl, game_byte_E321
  6342.  
  6343. loc_7637:       ; CODE XREF: game_sub_7632+11j
  6344.     ld  a, (hl)
  6345.     inc l
  6346.     and a
  6347.     jr  z, loc_763F
  6348.     dec (hl)
  6349.     jr  z, loc_7647
  6350.  
  6351. loc_763F:       ; CODE XREF: game_sub_7632+8j
  6352.     ld  de, 5
  6353.     add hl, de
  6354.     djnz  loc_7637
  6355.     scf
  6356.     ret
  6357. ; ---------------------------------------------------------------------------
  6358.  
  6359. loc_7647:       ; CODE XREF: game_sub_7632+Bj
  6360.     ld  (game_byte_E1B0), a
  6361.     inc l
  6362.     ld  a, (game_byte_E1D3)
  6363.     add a, (hl)
  6364.     add a, a
  6365.     ld  de, off_767A
  6366.     call  add_a_to_de ; DE=DE+A
  6367.     inc l
  6368.     ld  a, (hl)
  6369.     inc (hl)
  6370.     push  hl
  6371.     ex  de, hl
  6372.     ld  e, (hl)
  6373.     inc hl
  6374.     ld  d, (hl)
  6375.     ex  de, hl
  6376.     ld  c, (hl)
  6377.     call  add_a_to_hl ; HL=HL+A
  6378.     ld  a, (hl)
  6379.     pop hl
  6380.     cp  0FFh
  6381.     jr  nz, loc_766C
  6382.     ld  a, c
  6383.     ld  (hl), 0
  6384.  
  6385. loc_766C:       ; CODE XREF: game_sub_7632+35j
  6386.     dec l
  6387.     dec l
  6388.     ld  (hl), a
  6389.     ld  hl, game_byte_E1B7
  6390.     ld  a, (game_byte_E1B0)
  6391.     call  game_sub_66F8
  6392.     xor a
  6393.     ret
  6394. ; End of function game_sub_7632
  6395.  
  6396. ; ---------------------------------------------------------------------------
  6397. off_767A: dw byte_76BC    ; DATA XREF: game_sub_7632+1Eo
  6398.     dw byte_76C1
  6399.     dw byte_76C7
  6400.     dw byte_76CD
  6401.     dw byte_76D3
  6402.     dw byte_76D9
  6403.     dw byte_76DB
  6404.     dw byte_76DD
  6405.     dw byte_76DF
  6406.     dw byte_76E1
  6407.     dw byte_76BC
  6408.     dw byte_76C1
  6409.     dw byte_76C7
  6410.     dw byte_76CD
  6411.     dw byte_76D3
  6412.     dw byte_76E3
  6413.     dw byte_76E8
  6414.     dw byte_76EE
  6415.     dw byte_76F4
  6416.     dw byte_76F4
  6417.     dw byte_76F4
  6418.     dw byte_76C7
  6419.     dw byte_76CD
  6420.     dw byte_76D3
  6421.     dw byte_76DD
  6422.     dw byte_76DF
  6423.     dw byte_76E1
  6424.     dw byte_76F6
  6425.     dw byte_76F9
  6426.     dw byte_76FC
  6427.     dw byte_76FF
  6428.     dw byte_7704
  6429.     dw byte_7709
  6430. byte_76BC:  db 18h, 18h, 18h, 60h, 0FFh ; DATA XREF: ROM:off_767Ao
  6431.           ; ROM:768Eo
  6432. byte_76C1:  db 14h, 14h, 14h, 14h, 58h, 0FFh ; DATA XREF: ROM:767Co
  6433.           ; ROM:7690o
  6434. byte_76C7:  db 10h, 10h, 10h, 10h, 50h, 0FFh ; DATA XREF: ROM:767Eo
  6435.           ; ROM:7692o ...
  6436. byte_76CD:  db 0Ch, 0Ch, 0Ch, 0Ch, 48h, 0FFh ; DATA XREF: ROM:7680o
  6437.           ; ROM:7694o ...
  6438. byte_76D3:  db 0Ah, 0Ah, 0Ah, 0Ah, 40h, 0FFh ; DATA XREF: ROM:7682o
  6439.           ; ROM:7696o ...
  6440. byte_76D9:  db 60h, 0FFh    ; DATA XREF: ROM:7684o
  6441. byte_76DB:  db 50h, 0FFh    ; DATA XREF: ROM:7686o
  6442. byte_76DD:  db 40h, 0FFh    ; DATA XREF: ROM:7688o  ROM:76AAo
  6443. byte_76DF:  db 38h, 0FFh    ; DATA XREF: ROM:768Ao  ROM:76ACo
  6444. byte_76E1:  db 30h, 0FFh    ; DATA XREF: ROM:768Co  ROM:76AEo
  6445. byte_76E3:  db 1Ch, 18h, 20h, 60h, 0FFh ; DATA XREF: ROM:7698o
  6446. byte_76E8:  db 18h, 18h, 18h, 18h, 50h, 0FFh ; DATA XREF: ROM:769Ao
  6447. byte_76EE:  db 16h, 16h, 16h, 16h, 30h, 0FFh ; DATA XREF: ROM:769Co
  6448. byte_76F4:  db 58h, 0FFh    ; DATA XREF: ROM:769Eo  ROM:76A0o ...
  6449. byte_76F6:  db 40h, 0C0h, 0FFh  ; DATA XREF: ROM:76B0o
  6450. byte_76F9:  db 38h, 80h, 0FFh ; DATA XREF: ROM:76B2o
  6451. byte_76FC:  db 30h, 60h, 0FFh ; DATA XREF: ROM:76B4o
  6452. byte_76FF:  db 18h, 20h, 20h, 60h, 0FFh ; DATA XREF: ROM:76B6o
  6453. byte_7704:  db 20h, 20h, 18h, 50h, 0FFh ; DATA XREF: ROM:76B8o
  6454. byte_7709:  db 18h, 20h, 28h, 20h, 40h, 0FFh ; DATA XREF: ROM:76BAo
  6455. byte_770F:  db 55, 119, 57, 119, 60, 119, 64, 119, 68, 119, 73, 119
  6456.           ; DATA XREF: game_sub_66F8+1Fo
  6457.     db 75, 119, 77, 119, 79, 119, 81, 119, 55, 119, 55, 119
  6458.     db 55, 119, 83, 119, 87, 119, 91, 119, 94, 119, 96, 119
  6459.     db 98, 119, 100, 119, 0, 255, 64, 72, 255, 56, 48, 44
  6460.     db 255, 32, 40, 48, 255, 32, 16, 24, 32, 255, 96, 255
  6461.     db 80, 255, 48, 255, 40, 255, 32, 255, 48, 40, 56, 255
  6462.     db 40, 32, 48, 255, 32, 24, 255, 26, 255, 22, 255, 16
  6463.     db 255, 254, 255
  6464.  
  6465. ; =============== S U B R O U T I N E =======================================
  6466.  
  6467.  
  6468. game_sub_7766:        ; CODE XREF: update_game+41p
  6469.     ld  a, (frame_count)
  6470.     and 0Fh
  6471.     ret nz
  6472.     ld  hl, game_byte_E140
  6473.     ld  a, (hl)
  6474.     and 3
  6475.     dec a
  6476.     jp  z, loc_77F3
  6477.     dec a
  6478.     jp  z, loc_77FD
  6479.     dec a
  6480.     jp  z, loc_780B
  6481.     ld  a, (game_byte_E1D1)
  6482.     ld  c, 0
  6483.     cp  47h ; 'G'
  6484.     jr  nz, loc_7788
  6485.     inc c
  6486.  
  6487. loc_7788:       ; CODE XREF: game_sub_7766+1Fj
  6488.     cp  0E7h ; ''
  6489.     jr  nz, loc_778E
  6490.     ld  c, 2
  6491.  
  6492. loc_778E:       ; CODE XREF: game_sub_7766+24j
  6493.     ld  a, c
  6494.     and a
  6495.     ret z
  6496.     ld  (hl), 1
  6497.     ld  (game_byte_E1D6), a
  6498.     inc hl
  6499.     ld  (hl), 0
  6500.     inc hl
  6501.     ld  (hl), 0
  6502.     inc hl
  6503.     dec a
  6504.     ld  a, 4
  6505.     jr  z, loc_77A4
  6506.     ld  a, 2
  6507.  
  6508. loc_77A4:       ; CODE XREF: game_sub_7766+3Aj
  6509.     ld  (hl), a
  6510.     ld  hl, 2000h
  6511.     ld  (game_word_E1D7), hl
  6512.     ld  hl, game_unk_E150
  6513.     ld  a, c
  6514.     dec a
  6515.     ld  b, 4
  6516.     ld  de, byte_7828
  6517.     jr  z, loc_77BC
  6518.     ld  de, byte_7830
  6519.     ld  b, 2
  6520.  
  6521. loc_77BC:       ; CODE XREF: game_sub_7766+4Fj
  6522.     ld  a, c
  6523.     dec a
  6524.     ld  c, 20h ; ' '
  6525.     jr  z, loc_77C4
  6526.     ld  c, 14h
  6527.  
  6528. loc_77C4:       ; CODE XREF: game_sub_7766+5Aj
  6529.     ld  a, (game_byte_E1D3)
  6530.     add a, a
  6531.     add a, a
  6532.     sub c
  6533.     neg
  6534.     ld  (game_byte_E144), a
  6535.     ld  (game_byte_E1B1), a
  6536.     xor a
  6537.     ld  (game_byte_E1DE), a
  6538.  
  6539. loc_77D6:       ; CODE XREF: game_sub_7766+86j
  6540.     ld  (hl), 12h
  6541.     inc hl
  6542.     ld  (hl), 1
  6543.     inc hl
  6544.     ld  a, (de)
  6545.     ld  (hl), a
  6546.     inc de
  6547.     inc hl
  6548.     ld  a, (de)
  6549.     ld  (hl), a
  6550.     inc de
  6551.     inc hl
  6552.     inc hl
  6553.     inc hl
  6554.     ld  (hl), 0BCh ; ''
  6555.     inc hl
  6556.     ld  (hl), 6
  6557.     inc hl
  6558.     djnz  loc_77D6
  6559.     ld  a, 91h ; ''
  6560.     jp  game_sub_79D8
  6561. ; ---------------------------------------------------------------------------
  6562.  
  6563. loc_77F3:       ; CODE XREF: game_sub_7766+Dj
  6564.     inc hl
  6565.     inc (hl)
  6566.     ld  a, (hl)
  6567.     cp  8
  6568.     ret c
  6569.     dec hl
  6570.     ld  (hl), 2
  6571.     ret
  6572. ; ---------------------------------------------------------------------------
  6573.  
  6574. loc_77FD:       ; CODE XREF: game_sub_7766+11j
  6575.     ld  hl, music_channel2
  6576.     ld  a, (hl)
  6577.     cp  91h ; ''
  6578.     ret z
  6579.     ld  a, 88h ; ''
  6580.     cp  (hl)
  6581.     call  nz, game_sub_79D8
  6582.     ret
  6583. ; ---------------------------------------------------------------------------
  6584.  
  6585. loc_780B:       ; CODE XREF: game_sub_7766+15j
  6586.     inc hl
  6587.     inc (hl)
  6588.     ld  a, (hl)
  6589.     cp  3Fh ; '?'
  6590.     jr  c, loc_7819
  6591.     dec hl
  6592.     xor a
  6593.     ld  (hl), a
  6594.     ld  (game_byte_E1D9), a
  6595.     ret
  6596. ; ---------------------------------------------------------------------------
  6597.  
  6598. loc_7819:       ; CODE XREF: game_sub_7766+AAj
  6599.     cp  14h
  6600.     ret nz
  6601.     ld  hl, game_byte_E1DE
  6602.     ld  a, (hl)
  6603.     and a
  6604.     ret nz
  6605.     inc (hl)
  6606.     ld  a, 96h ; ''
  6607.     jp  game_sub_79D8
  6608. ; End of function game_sub_7766
  6609.  
  6610. ; ---------------------------------------------------------------------------
  6611. byte_7828:  db 0Bh, 4Ch, 0Bh, 64h, 23h, 4Ch, 23h, 64h ; DATA XREF: game_sub_7766+4Co
  6612. byte_7830:  db 1Bh, 24h, 1Bh, 94h ; DATA XREF: game_sub_7766+51o
  6613.  
  6614. ; =============== S U B R O U T I N E =======================================
  6615.  
  6616.  
  6617. game_sub_7834:        ; CODE XREF: update_game+53p
  6618.           ; game_sub_45A6+5Bp
  6619.     call  game_sub_7909
  6620.     call  game_sub_78A0
  6621.     ld  hl, game_unk_E150
  6622.     ld  b, 4
  6623.     ld  a, (game_byte_E1D6)
  6624.     dec a
  6625.     jr  z, loc_7847
  6626.     ld  b, 2
  6627.  
  6628. loc_7847:       ; CODE XREF: game_sub_7834+Fj
  6629.     ld  a, (game_byte_E141)
  6630.     cp  20h ; ' '
  6631.     ret nc
  6632.     add a, a
  6633.     add a, a
  6634.     add a, a
  6635.     ld  c, a
  6636.  
  6637. loc_7851:       ; CODE XREF: game_sub_7834+39j
  6638.     ld  a, (hl)
  6639.     inc l
  6640.     inc l
  6641.     and a
  6642.     jr  z, loc_7862
  6643.     ld  a, (hl)
  6644.     add a, c
  6645.     sub 40h ; '@'
  6646.     ld  e, a
  6647.     sub 0C0h ; ''
  6648.     cp  20h ; ' '
  6649.     jr  nc, loc_7864
  6650.  
  6651. loc_7862:       ; CODE XREF: game_sub_7834+21j
  6652.     ld  e, 0C3h ; ''
  6653.  
  6654. loc_7864:       ; CODE XREF: game_sub_7834+2Cj
  6655.     inc l
  6656.     ld  a, (hl)
  6657.     inc l
  6658.     ld  (hl), e
  6659.     inc l
  6660.     ld  (hl), a
  6661.     inc l
  6662.     inc l
  6663.     inc l
  6664.     djnz  loc_7851
  6665.     ret
  6666. ; End of function game_sub_7834
  6667.  
  6668.  
  6669. ; =============== S U B R O U T I N E =======================================
  6670.  
  6671.  
  6672. game_sub_7870:        ; CODE XREF: update_game:loc_459Ap
  6673.           ; game_sub_45A6+5Ep
  6674.     ld  hl, game_unk_E154
  6675.     ld  de, game_unk_E0C4
  6676.     ld  b, 4
  6677.     ld  a, (game_byte_E1D6)
  6678.     dec a
  6679.     jr  z, loc_7880
  6680.     ld  b, 2
  6681.  
  6682. loc_7880:       ; CODE XREF: game_sub_7870+Cj
  6683.           ; game_sub_7870+1Cj
  6684.     push  bc
  6685.     ld  bc, 4
  6686.     ldir
  6687.     ld  a, 4
  6688.     call  add_a_to_hl ; HL=HL+A
  6689.     pop bc
  6690.     djnz  loc_7880
  6691.     ret
  6692. ; End of function game_sub_7870
  6693.  
  6694.  
  6695. ; =============== S U B R O U T I N E =======================================
  6696.  
  6697.  
  6698. game_sub_788F:        ; CODE XREF: game_sub_69C9-40p
  6699.     ld  a, l
  6700.     sub 50h ; 'P'
  6701.     and 0F8h ; ''
  6702.     rra
  6703.     rra
  6704.     rra
  6705.     ld  hl, game_unk_E145
  6706.     call  add_a_to_hl ; HL=HL+A
  6707.     ld  (hl), 10h
  6708.     ret
  6709. ; End of function game_sub_788F
  6710.  
  6711.  
  6712. ; =============== S U B R O U T I N E =======================================
  6713.  
  6714.  
  6715. game_sub_78A0:        ; CODE XREF: game_sub_7834+3p
  6716.  
  6717. ; FUNCTION CHUNK AT 78ED SIZE 00000016 BYTES
  6718.  
  6719.     ld  hl, game_unk_E145
  6720.     ld  ix, game_unk_E150
  6721.     ld  de, 8
  6722.     ld  b, 4
  6723.  
  6724. loc_78AC:       ; CODE XREF: game_sub_78A0+26j
  6725.     ld  a, (hl)
  6726.     and a
  6727.     jr  z, loc_78C3
  6728.     dec a
  6729.     ld  (hl), a
  6730.     jr  z, loc_78ED
  6731.     cp  4
  6732.     ld  a, 94h ; ''
  6733.     jr  nc, loc_78BC
  6734.     ld  a, 9Ch ; ''
  6735.  
  6736. loc_78BC:       ; CODE XREF: game_sub_78A0+18j
  6737.     ld  (ix+6), a
  6738.     ld  (ix+7), 0Bh
  6739.  
  6740. loc_78C3:       ; CODE XREF: game_sub_78A0+Ej
  6741.           ; game_sub_78A0+2Cj ...
  6742.     inc hl
  6743.     add ix, de
  6744.     djnz  loc_78AC
  6745.     ret
  6746. ; ---------------------------------------------------------------------------
  6747.  
  6748. loc_78C9:       ; CODE XREF: game_sub_78A0+5Bj
  6749.     call  game_sub_78CE
  6750.     jr  loc_78C3
  6751. ; End of function game_sub_78A0
  6752.  
  6753.  
  6754. ; =============== S U B R O U T I N E =======================================
  6755.  
  6756.  
  6757. game_sub_78CE:        ; CODE XREF: game_sub_78A0:loc_78C9p
  6758.           ; game_sub_7909+14p
  6759.     ld  a, (ix+0)
  6760.     sub 12h
  6761.     exx
  6762.     ld  hl, byte_7903
  6763.     call  add_a_to_hl ; HL=HL+A
  6764.     ld  a, (frame_count)
  6765.     bit 4, a
  6766.     ld  a, (hl)
  6767.     jr  z, loc_78E4
  6768.     ld  a, 1
  6769.  
  6770. loc_78E4:       ; CODE XREF: game_sub_78CE+12j
  6771.     exx
  6772.     ld  (ix+7), a
  6773.     ld  (ix+6), 0BCh ; ''
  6774.     ret
  6775. ; End of function game_sub_78CE
  6776.  
  6777. ; ---------------------------------------------------------------------------
  6778. ; START OF FUNCTION CHUNK FOR game_sub_78A0
  6779.  
  6780. loc_78ED:       ; CODE XREF: game_sub_78A0+12j
  6781.     ld  a, (game_byte_E1D6)
  6782.     dec a
  6783.     ld  c, 14h
  6784.     jr  z, loc_78F7
  6785.     ld  c, 17h
  6786.  
  6787. loc_78F7:       ; CODE XREF: game_sub_78A0+53j
  6788.     ld  a, (ix+0)
  6789.     cp  c
  6790.     jr  c, loc_78C9
  6791.     ld  (ix+0), 0
  6792.     jr  loc_78C3
  6793. ; END OF FUNCTION CHUNK FOR game_sub_78A0
  6794. ; ---------------------------------------------------------------------------
  6795. byte_7903:  db 6, 0Ah, 0Bh, 7, 4, 0 ; DATA XREF: game_sub_78CE+6o
  6796.  
  6797. ; =============== S U B R O U T I N E =======================================
  6798.  
  6799.  
  6800. game_sub_7909:        ; CODE XREF: game_sub_7834p
  6801.     ld  a, (game_byte_E1D6)
  6802.     ld  b, 4
  6803.     dec a
  6804.     jr  z, loc_7913
  6805.     ld  b, 2
  6806.  
  6807. loc_7913:       ; CODE XREF: game_sub_7909+6j
  6808.     ld  ix, game_unk_E150
  6809.  
  6810. loc_7917:       ; CODE XREF: game_sub_7909+1Cj
  6811.     ld  a, (ix+0)
  6812.     and a
  6813.     jr  z, loc_7920
  6814.     call  game_sub_78CE
  6815.  
  6816. loc_7920:       ; CODE XREF: game_sub_7909+12j
  6817.     ld  de, 8
  6818.     add ix, de
  6819.     djnz  loc_7917
  6820.     ret
  6821. ; End of function game_sub_7909
  6822.  
  6823.  
  6824. ; =============== S U B R O U T I N E =======================================
  6825.  
  6826.  
  6827. game_sub_7928:        ; CODE XREF: update_game+5Dp
  6828.     ld  hl, game_word_E1D7
  6829.     ld  a, (hl)
  6830.     inc hl
  6831.     dec (hl)
  6832.     ret nz
  6833.     ld  de, byte_793E
  6834.     call  add_a_to_de ; DE=DE+A
  6835.     ld  a, (de)
  6836.     ld  (hl), a
  6837.     dec hl
  6838.     ld  a, (hl)
  6839.     inc a
  6840.     and 3
  6841.     ld  (hl), a
  6842.     ret
  6843. ; End of function game_sub_7928
  6844.  
  6845. ; ---------------------------------------------------------------------------
  6846. byte_793E:  db 1Fh, 5Fh, 1Fh, 7Fh ; DATA XREF: game_sub_7928+7o
  6847.  
  6848. ; =============== S U B R O U T I N E =======================================
  6849.  
  6850.  
  6851. game_sub_7942:        ; CODE XREF: update_game+60p
  6852.     ld  a, (game_byte_E1D6)
  6853.     ld  c, a
  6854.     ld  hl, game_word_E1D7
  6855.     ld  a, (hl)
  6856.     inc hl
  6857.     dec a
  6858.     jr  z, loc_7958
  6859.     cp  2
  6860.     ret nz
  6861.     ld  a, (hl)
  6862.     rra
  6863.     rra
  6864.     and 6
  6865.     jr  loc_7961
  6866. ; ---------------------------------------------------------------------------
  6867.  
  6868. loc_7958:       ; CODE XREF: game_sub_7942+Aj
  6869.     ld  a, (hl)
  6870.     rra
  6871.     rra
  6872.     and 6
  6873.     sub 6
  6874.     neg
  6875.  
  6876. loc_7961:       ; CODE XREF: game_sub_7942+14j
  6877.     ld  hl, byte_7970
  6878.     dec c
  6879.     jr  z, loc_796A
  6880.     ld  hl, byte_79A0
  6881.  
  6882. loc_796A:       ; CODE XREF: game_sub_7942+23j
  6883.     call  get_hl_a_ptr  ; DE=(HL+A)
  6884.     jp  vpokes
  6885. ; End of function game_sub_7942
  6886.  
  6887. ; ---------------------------------------------------------------------------
  6888. byte_7970:  db 78h, 79h, 82h, 79h, 8Ch, 79h, 96h, 79h, 6Bh, 38h, 0C5h
  6889.           ; DATA XREF: game_sub_7942:loc_7961o
  6890.     db 0C6h, 0FEh, 8Bh, 38h, 0C7h, 0C8h, 0FFh, 6Bh, 38h, 0C9h
  6891.     db 0CAh, 0FEh, 8Bh, 38h, 0CBh, 0CCh, 0FFh, 6Bh, 38h, 0CDh
  6892.     db 0CEh, 0FEh, 8Bh, 38h, 0CFh, 0D0h, 0FFh, 6Bh, 38h, 0E7h
  6893.     db 0E8h, 0FEh, 8Bh, 38h, 0E9h, 0EAh, 0FFh
  6894. byte_79A0:  db 0A8h, 79h, 0B4h, 79h, 0C0h, 79h, 0CCh, 79h, 8Bh, 38h
  6895.           ; DATA XREF: game_sub_7942+25o
  6896.     db 0E2h, 0E9h, 0E2h, 0FEh, 0ABh, 38h, 0EBh, 0EBh, 0EBh
  6897.     db 0FFh, 8Bh, 38h, 0E2h, 0E3h, 0E2h, 0FEh, 0ABh, 38h, 0EBh
  6898.     db 0E1h, 0EBh, 0FFh, 8Bh, 38h, 0E5h, 0ECh, 0E4h, 0FEh
  6899.     db 0ABh, 38h, 0EBh, 0E1h, 0EBh, 0FFh, 8Bh, 38h, 0ECh, 0ECh
  6900.     db 0ECh, 0FEh, 0ABh, 38h, 0E1h, 0E1h, 0E1h, 0FFh
  6901.  
  6902. ; =============== S U B R O U T I N E =======================================
  6903.  
  6904.  
  6905. game_sub_79D8:        ; CODE XREF: game_sub_424C+45p
  6906.           ; game_sub_46B4+3Cj ...
  6907.     ex  af, af'
  6908.    ld  a, (state_flags)
  6909.    and 40h ; '@'
  6910.    ret z
  6911.    ld  a, (game_byte_E1DD)
  6912.    and a
  6913.    ret nz
  6914.    ex  af, af'
  6915. ; End of function game_sub_79D8
  6916.  
  6917.  
  6918. ; =============== S U B R O U T I N E =======================================
  6919.  
  6920.  
  6921. music_sub_79E5:       ; CODE XREF: update_state3+2p
  6922.           ; update_state6+25p ...
  6923.     ld  c, a
  6924.     and 111111b
  6925.     ld  b, 2
  6926.     ld  hl, music_channel2
  6927.     cp  9
  6928.     jr  c, loc_7A06
  6929.     ld  hl, music_channel1
  6930.     cp  0Ch
  6931.     jr  c, loc_7A06
  6932.     cp  11h
  6933.     jr  z, loc_7A07
  6934.     ld  hl, music_channel0
  6935.     cp  13h
  6936.     jr  c, loc_7A06
  6937.     inc b
  6938.     jr  loc_7A07
  6939. ; ---------------------------------------------------------------------------
  6940.  
  6941. loc_7A06:       ; CODE XREF: music_sub_79E5+Aj
  6942.           ; music_sub_79E5+11j ...
  6943.     dec b
  6944.  
  6945. loc_7A07:       ; CODE XREF: music_sub_79E5+15j
  6946.           ; music_sub_79E5+1Fj
  6947.     ld  a, (hl)
  6948.     and 3Fh ; '?'
  6949.     ld  e, a
  6950.     ld  a, c
  6951.     and 3Fh ; '?'
  6952.     cp  e
  6953.     ret c
  6954.     add a, a
  6955.     ld  de, word_7BED
  6956.     call  add_a_to_de ; DE=DE+A
  6957.     dec hl
  6958.     dec hl
  6959.  
  6960. loc_7A19:       ; CODE XREF: music_sub_79E5+47j
  6961.     ld  (hl), 1
  6962.     inc hl
  6963.     ld  (hl), 1
  6964.     inc hl
  6965.     ld  (hl), c
  6966.     inc hl
  6967.     ld  a, (de)
  6968.     ld  (hl), a
  6969.     inc hl
  6970.     inc de
  6971.     ld  a, (de)
  6972.     ld  (hl), a
  6973.     ld  a, 8
  6974.     add a, l
  6975.     ld  l, a
  6976.     inc de
  6977.     djnz  loc_7A19
  6978.     ret
  6979. ; End of function music_sub_79E5
  6980.  
  6981.  
  6982. ; =============== S U B R O U T I N E =======================================
  6983.  
  6984.  
  6985. music_sub_7A2F:       ; CODE XREF: music_sub_7A9C+1Bj
  6986.     inc hl
  6987.     ld  a, (ix+9)
  6988.     inc a
  6989.     cp  (hl)
  6990.     jp  z, loc_7B30
  6991.     jp  m, loc_7A3C
  6992.     dec a
  6993.  
  6994. loc_7A3C:       ; CODE XREF: music_sub_7A2F+9j
  6995.     ex  af, af'
  6996.    ld  a, (ix+2)
  6997.    push  bc
  6998.    ld  d, 1
  6999.    call  music_sub_79E5
  7000.    pop bc
  7001.    ex  af, af'
  7002.     ld  (ix+9), a
  7003.     ret
  7004. ; End of function music_sub_7A2F
  7005.  
  7006.  
  7007. ; =============== S U B R O U T I N E =======================================
  7008.  
  7009.  
  7010. music_sub_7A4C:       ; CODE XREF: music_sub_7A9C+4p
  7011.           ; music_sub_7A9C+5Ep ...
  7012.     ld  a, (psg_reg7)
  7013.     ld  e, a
  7014.     ld  a, c
  7015.     cp  1
  7016.     jr  z, loc_7A56
  7017.     dec a
  7018.  
  7019. loc_7A56:       ; CODE XREF: music_sub_7A4C+7j
  7020.     rlca
  7021.     rlca
  7022.     rlca
  7023.     dec d
  7024.     jr  z, loc_7A60
  7025.     cpl
  7026.     and e
  7027.     jr  loc_7A61
  7028. ; ---------------------------------------------------------------------------
  7029.  
  7030. loc_7A60:       ; CODE XREF: music_sub_7A4C+Ej
  7031.     or  e
  7032.  
  7033. loc_7A61:       ; CODE XREF: music_sub_7A4C+12j
  7034.     set 2, a
  7035.     bit 5, a
  7036.     jr  z, write_psg_reg7
  7037.     res 2, a
  7038.     set 0, a
  7039.     bit 3, a
  7040.     jr  z, write_psg_reg7
  7041.     res 0, a
  7042. ; End of function music_sub_7A4C
  7043.  
  7044.  
  7045. ; =============== S U B R O U T I N E =======================================
  7046.  
  7047.  
  7048. write_psg_reg7:       ; CODE XREF: init+2p
  7049.           ; music_sub_7A4C+19j ...
  7050.     ld  (psg_reg7), a
  7051.     ld  e, a
  7052.     ld  a, 7
  7053.     jp  WRTPSG
  7054. ; End of function write_psg_reg7
  7055.  
  7056.  
  7057. ; =============== S U B R O U T I N E =======================================
  7058.  
  7059.  
  7060. update_music:       ; CODE XREF: isr+4p isr+1Fp ...
  7061.     ld  a, (psg_reg7)
  7062.     call  write_psg_reg7
  7063.     ld  c, 1
  7064.     ld  ix, music_channels
  7065.     exx
  7066.     ld  b, 3
  7067.     ld  de, 12
  7068.  
  7069. loc_7A8C:       ; CODE XREF: update_music+1Fj
  7070.     exx
  7071.     ld  a, (ix+2)
  7072.     or  a
  7073.     call  nz, music_sub_7A9C
  7074.     inc c
  7075.     inc c
  7076.     exx
  7077.     add ix, de
  7078.     djnz  loc_7A8C
  7079.     ret
  7080. ; End of function update_music
  7081.  
  7082.  
  7083. ; =============== S U B R O U T I N E =======================================
  7084.  
  7085.  
  7086. music_sub_7A9C:       ; CODE XREF: update_music+17p
  7087.     bit 6, a
  7088.     ld  d, 1
  7089.     call  z, music_sub_7A4C
  7090.     ld  a, (ix+2)
  7091.     or  a
  7092.     jp  m, loc_7B43
  7093.     dec (ix+0)
  7094.     ret nz
  7095.  
  7096. loc_7AAE:       ; CODE XREF: music_sub_7B23+23j
  7097.     ld  l, (ix+3)
  7098.     ld  h, (ix+4)
  7099.     ld  a, (hl)
  7100.     cp  0FEh ; ''
  7101.     jp  z, music_sub_7A2F
  7102.     jr  nc, loc_7B30
  7103.     bit 7, (ix+2)
  7104.     jp  nz, loc_7B5E
  7105.     and 0F0h ; ''
  7106.     cp  20h ; ' '
  7107.     ld  a, (hl)
  7108.     jr  nz, loc_7AD1
  7109.     and 0Fh
  7110.     ld  (ix+1), a
  7111.     inc hl
  7112.     ld  a, (hl)
  7113.  
  7114. loc_7AD1:       ; CODE XREF: music_sub_7A9C+2Cj
  7115.     ld  b, a
  7116.     and 0F0h ; ''
  7117.     cp  10h
  7118.     jr  nz, loc_7AFE
  7119.     ld  a, (hl)
  7120.     and 1Fh
  7121.     ld  e, a
  7122.     ld  a, c
  7123.     cp  3
  7124.     jr  z, loc_7AEC
  7125.     inc hl
  7126.     bit 4, (hl)
  7127.     ld  b, (hl)
  7128.     jr  nz, loc_7AEB
  7129.     ld  a, e
  7130.     sub 10h
  7131.     ld  e, a
  7132.  
  7133. loc_7AEB:       ; CODE XREF: music_sub_7A9C+49j
  7134.     dec hl
  7135.  
  7136. loc_7AEC:       ; CODE XREF: music_sub_7A9C+43j
  7137.     ld  a, 6
  7138.     call  WRTPSG
  7139.     ld  a, 0Dh
  7140.     ld  e, 0Fh
  7141.     call  WRTPSG
  7142.     ld  d, 0
  7143.     call  music_sub_7A4C
  7144.     inc hl
  7145.  
  7146. loc_7AFE:       ; CODE XREF: music_sub_7A9C+3Aj
  7147.     bit 6, (ix+2)
  7148.     jr  z, loc_7B10
  7149.     ld  a, c
  7150.     cp  3
  7151.     ld  a, (hl)
  7152.     jr  z, loc_7B10
  7153.     call  music_sub_7BDB
  7154.     ld  a, b
  7155.     jr  music_sub_7B23
  7156. ; ---------------------------------------------------------------------------
  7157.  
  7158. loc_7B10:       ; CODE XREF: music_sub_7A9C+66j
  7159.           ; music_sub_7A9C+6Cj
  7160.     and 0F0h ; ''
  7161.     ld  b, a
  7162.     xor (hl)
  7163.     ld  d, a
  7164.     inc hl
  7165.     ld  e, (hl)
  7166.     call  music_sub_7BDB
  7167.     ex  de, hl
  7168.     call  music_sub_7BD0
  7169.     ld  a, b
  7170.     rrca
  7171.     rrca
  7172.     rrca
  7173.     rrca
  7174. ; End of function music_sub_7A9C
  7175.  
  7176.  
  7177. ; =============== S U B R O U T I N E =======================================
  7178.  
  7179.  
  7180. music_sub_7B23:       ; CODE XREF: music_sub_7A9C+72j
  7181.           ; music_sub_7B23+8Fp
  7182.     ld  h, a
  7183.     ld  a, (ix+1)
  7184.     ld  (ix+0), a
  7185.     ld  (ix+8), 2
  7186.     jr  loc_7B56
  7187. ; ---------------------------------------------------------------------------
  7188.  
  7189. loc_7B30:       ; CODE XREF: music_sub_7A2F+6j
  7190.           ; music_sub_7A9C+1Ej
  7191.     xor a
  7192.     ld  (ix+9), a
  7193.     ld  (ix+0Bh), a
  7194.     ld  d, 1
  7195.     call  music_sub_7A4C
  7196.     xor a
  7197.     ld  (ix+2), a
  7198.     ld  h, a
  7199.     jr  loc_7B56
  7200. ; ---------------------------------------------------------------------------
  7201.  
  7202. loc_7B43:       ; CODE XREF: music_sub_7A9C+Bj
  7203.     dec (ix+0)
  7204.     jp  z, loc_7AAE
  7205.     dec (ix+8)
  7206.     ret nz
  7207.     ld  a, (ix+7)
  7208.     dec a
  7209.     ret m
  7210.     ld  (ix+7), a
  7211.     ld  h, a
  7212.  
  7213. loc_7B56:       ; CODE XREF: music_sub_7B23+Bj
  7214.           ; music_sub_7B23+1Ej
  7215.     ld  a, c
  7216.     rrca
  7217.     add a, 88h ; ''
  7218.     ld  e, h
  7219.     jp  WRTPSG    ; Function : Writes data to PSG-register
  7220.           ; Input    : A  - PSG register number
  7221.           ;      E  - data write
  7222. ; ---------------------------------------------------------------------------
  7223.  
  7224. loc_7B5E:       ; CODE XREF: music_sub_7A9C+24j
  7225.           ; music_sub_7B23+63j
  7226.     ld  a, (hl)
  7227.     and 0F0h ; ''
  7228.     cp  0D0h ; ''
  7229.     ld  a, (hl)
  7230.     jr  nz, loc_7B6D
  7231.     and 0Fh
  7232.     ld  (ix+0Ah), a
  7233.     inc hl
  7234.     ld  a, (hl)
  7235.  
  7236. loc_7B6D:       ; CODE XREF: music_sub_7B23+41j
  7237.     cp  0F0h ; ''
  7238.     jr  c, loc_7B78
  7239.     and 0Fh
  7240.     ld  (ix+6), a
  7241.     inc hl
  7242.     ld  a, (hl)
  7243.  
  7244. loc_7B78:       ; CODE XREF: music_sub_7B23+4Cj
  7245.     cp  0E0h ; ''
  7246.     jr  c, loc_7B8D
  7247.     and 0Fh
  7248.     bit 3, a
  7249.     jr  z, loc_7B88
  7250.     ld  (ix+0Bh), a
  7251.     inc hl
  7252.     jr  loc_7B5E
  7253. ; ---------------------------------------------------------------------------
  7254.  
  7255. loc_7B88:       ; CODE XREF: music_sub_7B23+5Dj
  7256.     ld  (ix+5), a
  7257.     inc hl
  7258.     ld  a, (hl)
  7259.  
  7260. loc_7B8D:       ; CODE XREF: music_sub_7B23+57j
  7261.     and 0Fh
  7262.     ld  b, a
  7263.     ld  a, (ix+0Ah)
  7264.     jr  z, loc_7B9A
  7265.  
  7266. loc_7B95:       ; CODE XREF: music_sub_7B23+75j
  7267.     add a, (ix+0Ah)
  7268.     djnz  loc_7B95
  7269.  
  7270. loc_7B9A:       ; CODE XREF: music_sub_7B23+70j
  7271.     ld  (ix+1), a
  7272.     ld  a, (hl)
  7273.     call  music_sub_7BDB
  7274.     and 0F0h ; ''
  7275.     rrca
  7276.     rrca
  7277.     rrca
  7278.     rrca
  7279.     ld  b, a
  7280.     sub 0Ch
  7281.     jr  z, loc_7BAF
  7282.     ld  a, (ix+6)
  7283.  
  7284. loc_7BAF:       ; CODE XREF: music_sub_7B23+87j
  7285.     ld  (ix+7), a
  7286.     call  music_sub_7B23
  7287.     ld  a, b
  7288.     ld  hl, byte_7BE3
  7289.     call  add_a_to_hl ; HL=HL+A
  7290.     ld  l, (hl)
  7291.     ld  h, 0
  7292.     ld  a, (ix+5)
  7293.     or  a
  7294.     jr  z, music_sub_7BD0
  7295.     ld  b, a
  7296.  
  7297. loc_7BC6:       ; CODE XREF: music_sub_7B23+A4j
  7298.     add hl, hl
  7299.     djnz  loc_7BC6
  7300.     ld  a, (ix+0Bh)
  7301.     or  a
  7302.     jr  z, music_sub_7BD0
  7303.     inc hl
  7304. ; End of function music_sub_7B23
  7305.  
  7306.  
  7307. ; =============== S U B R O U T I N E =======================================
  7308.  
  7309.  
  7310. music_sub_7BD0:       ; CODE XREF: music_sub_7A9C+7Fp
  7311.           ; music_sub_7B23+A0j ...
  7312.     ld  a, c
  7313.     ld  e, h
  7314.     call  WRTPSG
  7315.     ld  a, c
  7316.     dec a
  7317.     ld  e, l
  7318.     jp  WRTPSG
  7319. ; End of function music_sub_7BD0
  7320.  
  7321.  
  7322. ; =============== S U B R O U T I N E =======================================
  7323.  
  7324.  
  7325. music_sub_7BDB:       ; CODE XREF: music_sub_7A9C+6Ep
  7326.           ; music_sub_7A9C+7Bp ...
  7327.     inc hl
  7328.     ld  (ix+3), l
  7329.     ld  (ix+4), h
  7330.     ret
  7331. ; End of function music_sub_7BDB
  7332.  
  7333. ; ---------------------------------------------------------------------------
  7334. byte_7BE3:  db 6Ah      ; DATA XREF: music_sub_7B23+93o
  7335. byte_7BE4:  db 64h, 5Fh, 59h, 54h, 50h, 4Bh, 47h, 43h, 3Fh
  7336. word_7BED:  dw 383Ch    ; DATA XREF: music_sub_79E5+2Co
  7337.     dw byte_7C4F
  7338.     dw byte_7CA8
  7339.     dw byte_7C6D
  7340.     dw byte_7C8B
  7341.     dw byte_7D85
  7342.     dw byte_7C57
  7343.     dw byte_7D6B
  7344.     dw byte_7FC0
  7345.     dw byte_7C30
  7346.     dw byte_7E1D
  7347.     dw byte_7D96
  7348.     dw byte_7C3D
  7349.     dw byte_7CE6
  7350.     dw byte_7CCE
  7351.     dw byte_7CF8
  7352.     dw byte_7DE6
  7353.     dw byte_7F74
  7354.     dw byte_7FB9
  7355.     dw byte_7E31
  7356.     dw byte_7E34
  7357.     dw byte_7E78
  7358.     dw unk_7EDC
  7359.     dw byte_7EDD
  7360.     dw byte_7EF1
  7361.     dw byte_7F0A
  7362.     dw byte_7F2D
  7363.     dw byte_7F50
  7364.     dw byte_7DB0
  7365.     dw byte_7C2D
  7366.     dw byte_7C2D
  7367.     dw byte_7C2D
  7368. byte_7C2D:  db 0FFh, 0FEh, 0FFh ; DATA XREF: ROM:7C27o  ROM:7C29o ...
  7369. byte_7C30:  db 0D1h, 0FDh, 0E2h, 50h, 0E1h, 90h, 0E2h, 20h, 0E1h, 90h
  7370.           ; DATA XREF: ROM:7BFFo
  7371.     db 0C0h, 0FEh, 2
  7372. byte_7C3D:  db 21h, 0D0h, 0C0h, 0C0h, 0D0h, 0C0h, 0E0h, 0C0h, 0F0h
  7373.           ; DATA XREF: ROM:7C05o
  7374.     db 0B1h, 0, 0B1h, 10h, 0B1h, 20h, 0B1h, 30h, 0FFh
  7375. byte_7C4F:  db 0D2h, 0FDh, 0E3h, 40h, 50h, 60h, 50h, 0FFh ; DATA XREF: ROM:7BEFo
  7376. byte_7C57:  db 22h, 0D0h, 70h, 21h, 0C0h, 72h, 0B0h, 70h, 0C0h, 50h
  7377.           ; DATA XREF: ROM:7BF9o
  7378.     db 22h, 0B0h, 52h, 0A0h, 50h, 0B0h, 50h, 0A0h, 52h, 90h
  7379.     db 50h, 0FFh
  7380. byte_7C6D:  db 21h, 80h, 0A0h, 90h, 98h, 0A0h, 90h, 0B0h, 88h, 22h
  7381.           ; DATA XREF: ROM:7BF3o
  7382.     db 0B0h, 88h, 0B0h, 78h, 0B0h, 70h, 0B0h, 78h, 0B0h
  7383. byte_7C80:  db 80h, 21h, 0B0h, 88h, 0A0h, 90h, 90h, 98h, 80h, 0A0h
  7384.           ; DATA XREF: ROM:55E9o  ROM:off_55FCo ...
  7385.     db 0FFh
  7386. byte_7C8B:  db 0D1h, 0FBh, 0E3h, 10h, 30h, 60h, 80h, 0A0h, 0FCh, 0E2h
  7387.           ; DATA XREF: ROM:7BF5o
  7388.     db 0, 20h, 40h, 60h, 80h, 90h, 0B0h, 70h, 50h, 30h, 10h
  7389.     db 0FBh, 0E3h, 0A0h, 80h, 60h, 30h, 10h, 0FFh
  7390. byte_7CA8:  db 23h, 0A0h, 40h, 0A0h, 44h, 0A0h, 48h, 0A0h, 4Bh, 0A0h
  7391.           ; DATA XREF: ROM:7BF1o
  7392.     db 50h, 0B0h, 55h, 0B0h, 5Ah, 0B0h, 60h, 0B0h, 68h, 0B0h
  7393.     db 70h, 0B0h, 78h, 0B0h, 80h, 0B0h, 88h, 0B0h, 90h, 0B0h
  7394.     db 98h, 0B0h, 0A0h, 0B0h, 0A8h, 0B0h, 0B0h, 0FFh
  7395. byte_7CCE:  db 0D1h, 0FDh, 0E1h, 0, 30h, 60h, 30h, 60h, 80h, 0A0h ; DATA XREF: ROM:7C09o
  7396.     db 0E0h, 0, 20h, 40h, 0C2h, 0E1h, 0B0h, 80h, 60h, 30h
  7397.     db 60h, 30h, 0, 0FFh
  7398. byte_7CE6:  db 21h, 0F0h, 1Ch, 80h, 1Ch, 80h, 1Ch, 0E0h, 1Ch, 0C0h
  7399.           ; DATA XREF: ROM:7C07o
  7400.     db 1Ch, 0B0h, 1Ch, 0A0h, 1Ch, 90h, 1Ch, 0FFh
  7401. byte_7CF8:  db 0D1h, 0FBh, 0E3h, 20h, 0, 30h, 10h, 40h, 20h, 50h, 30h
  7402.           ; DATA XREF: ROM:7C0Bo
  7403.     db 60h, 40h, 70h, 50h, 80h, 60h, 90h, 70h, 0A0h, 80h, 0B0h
  7404.     db 90h, 0FCh, 0E2h, 0, 0E3h, 0, 0E3h, 0A0h, 0E2h, 10h
  7405.     db 0E3h, 0B0h, 0E2h, 20h, 0, 30h, 10h, 40h, 20h, 50h, 30h
  7406.     db 60h, 40h, 70h, 50h, 80h, 60h, 90h, 70h, 0A0h, 80h, 0B0h
  7407.     db 90h, 0FDh, 0E1h, 0, 0E2h, 0A0h, 0E1h, 10h, 0E2h, 0B0h
  7408.     db 0E1h, 20h, 0, 30h, 10h, 40h, 20h, 50h, 30h, 60h, 40h
  7409.     db 70h, 50h, 80h, 60h, 90h, 70h, 0A0h, 80h, 0B0h, 90h
  7410.     db 0E0h, 0, 0E1h, 0A0h, 0E0h, 10h, 0E1h, 0B0h, 0E0h, 20h
  7411.     db 0, 30h, 10h, 40h, 20h, 50h, 30h, 60h, 40h, 70h, 50h
  7412.     db 80h, 60h, 90h, 70h, 0A0h, 80h, 0B0h, 90h, 0FFh
  7413. byte_7D6B:  db 21h, 1Fh, 0Ah, 1Bh, 1Ch, 17h, 0Eh, 13h, 1Ah, 22h, 0
  7414.           ; DATA XREF: ROM:7BFBo
  7415.     db 21h, 11h, 0Ah, 14h, 1Ch, 16h, 0Eh, 1Ah, 1Bh, 1Eh, 0Ah
  7416.     db 22h, 0, 0FEh, 2
  7417. byte_7D85:  db 0D1h, 0FDh, 0E2h, 70h, 0FCh, 40h, 0FBh, 0, 0FDh, 70h
  7418.           ; DATA XREF: ROM:7BF7o
  7419.     db 0FCh, 40h, 0FBh, 0, 0C0h, 0FEh, 6
  7420. byte_7D96:  db 22h, 0D0h, 5Fh, 0C0h, 61h, 0B0h, 5Fh, 0D0h, 4Bh, 0C0h
  7421.           ; DATA XREF: ROM:7C03o
  7422.     db 4Dh, 0B0h, 4Bh, 0D0h, 5Fh, 0C0h, 61h, 0B0h, 5Fh, 0D0h
  7423.     db 3Fh, 0C0h, 41h, 0B0h, 3Fh, 0FFh
  7424. byte_7DB0:  db 22h, 1Dh, 1Fh, 0Eh, 0Fh, 1Ch, 1Fh, 0Eh, 0Fh, 1Bh, 1Eh
  7425.           ; DATA XREF: ROM:7C25o
  7426.     db 0Dh, 0Eh, 1Ah, 1Eh, 0Dh, 0Eh, 19h, 1Dh, 0Ch, 0Dh, 18h
  7427.     db 1Ch, 0Bh, 0Ch, 19h, 1Bh, 0Ah, 0Bh, 1Ah, 1Ah, 9, 0Ah
  7428.     db 1Bh, 19h, 8, 9, 1Ch, 18h, 7, 8, 1Dh, 17h, 6, 5, 1Eh
  7429.     db 16h, 5, 6, 1Fh, 15h, 4, 5, 0FFh
  7430. byte_7DE6:  db 22h, 1Dh   ; DATA XREF: ROM:7C0Do
  7431. word_7DE8:  dw 0Fh, 1C0Eh, 0Fh, 1B0Eh, 0Eh, 1A0Dh, 0Eh, 190Dh, 0Dh
  7432.     dw 180Ch, 0Ch, 190Bh, 0Bh, 1A0Ah, 0Ah, 1B09h, 9, 1C08h
  7433.     dw 8, 1D07h, 7, 1E06h, 6, 1F05h, 5, 0FF04h
  7434.     db 0FFh
  7435. byte_7E1D:  db 22h, 0D0h, 0CAh, 0D0h, 0C8h, 0, 0, 0D0h, 0CAh, 0C0h
  7436.           ; DATA XREF: ROM:7C01o
  7437.     db 0C8h, 0, 0, 0B0h, 0CBh, 0B0h, 0CAh, 0A0h, 0C8h, 0FFh
  7438. byte_7E31:  db 0D3h, 0C0h, 0E8h ; DATA XREF: ROM:7C13o
  7439. byte_7E34:  db 0D6h, 0FCh, 0E2h, 0, 50h, 70h, 0E1h, 0, 0E2h, 70h, 50h
  7440.           ; DATA XREF: ROM:7C15o
  7441.     db 0, 50h, 70h, 0E1h, 0, 0E2h, 70h, 50h, 40h, 90h, 0B0h
  7442.     db 0E1h, 40h, 0E2h, 0B0h, 90h, 40h, 90h, 0B0h, 0E1h, 40h
  7443.     db 0E2h, 0B0h, 90h, 0, 50h, 70h, 0E1h, 0, 0E2h, 70h, 50h
  7444.     db 0, 50h, 70h, 0E1h, 0, 0E2h, 70h, 50h, 40h, 90h, 0B0h
  7445.     db 0E1h, 40h, 0E2h, 0B0h, 90h, 40h, 90h, 0B0h, 0E1h, 40h
  7446.     db 0E2h, 0B0h, 90h, 0FFh
  7447. byte_7E78:  db 0D3h, 0FCh, 0E3h, 0, 0C0h, 0, 0C0h, 0, 0C0h, 0, 0C0h
  7448.           ; DATA XREF: ROM:7C17o
  7449.     db 0, 0C0h, 0, 0C0h, 0, 0C0h, 0, 0C0h, 0, 0C0h, 0, 0C0h
  7450.     db 0, 0C0h, 0, 0C0h, 40h, 0C0h, 40h, 0C0h, 40h, 0C0h, 40h
  7451.     db 0C0h, 40h, 0C0h, 40h, 0C0h, 40h, 0C0h, 40h, 0C0h, 40h
  7452.     db 0C0h, 40h, 0C0h, 40h, 0C0h, 40h, 0C0h, 0, 0C0h, 0, 0C0h
  7453.     db 0, 0C0h, 0, 0C0h, 0, 0C0h, 0, 0C0h, 0, 0C0h, 0, 0C0h
  7454.     db 0, 0C0h, 0, 0C0h, 0, 0C0h, 0, 0C0h, 40h, 0C0h, 40h
  7455.     db 0C0h, 40h, 0C0h, 40h, 0C0h, 40h, 0C0h, 40h, 0C0h, 40h
  7456.     db 0C0h, 40h, 0C0h, 40h, 0C0h, 40h, 0C0h, 40h, 0C0h, 40h
  7457.     db 0C0h, 0FFh
  7458. unk_7EDC: db 0E8h ;     ; DATA XREF: ROM:7C19o
  7459. byte_7EDD:  db 0D4h, 0C2h, 0FCh, 0E1h, 26h, 0C0h, 46h, 0C0h, 56h, 0C0h
  7460.           ; DATA XREF: ROM:7C1Bo
  7461.     db 42h, 0C0h, 52h, 0C0h, 76h, 0C0h, 46h, 0C0h, 5Fh, 0FFh
  7462. byte_7EF1:  db 0D4h, 0C2h, 0FDh, 0E2h, 96h, 0C0h, 0B6h, 0C0h, 0E1h
  7463.           ; DATA XREF: ROM:7C1Do
  7464.     db 6, 0C0h, 0E2h, 0B2h, 0C0h, 0E1h, 2, 0C0h, 26h, 0C0h
  7465.     db 0E2h, 0B6h, 0C0h, 0E1h, 0Fh, 0FFh
  7466. byte_7F0A:  db 0D7h, 0C3h, 0FCh, 0E1h, 20h, 10h, 20h, 40h, 50h, 40h
  7467.           ; DATA XREF: ROM:7C1Fo
  7468.     db 20h, 10h, 20h, 50h, 40h, 70h, 50h, 40h, 20h, 10h, 0D8h
  7469.     db 21h, 0DAh, 0E2h, 91h, 0DBh, 71h, 0DCh, 0A1h, 0D6h, 20h
  7470.     db 90h, 0E1h, 25h, 0FFh
  7471. byte_7F2D:  db 0D7h, 0C3h, 0FCh, 0E3h, 21h, 91h, 90h, 70h, 50h, 40h
  7472.           ; DATA XREF: ROM:7C21o
  7473.     db 50h, 70h, 0A0h, 90h, 70h, 50h, 40h, 0E2h, 20h, 0D8h
  7474.     db 0E3h, 90h, 0E2h, 50h, 0DAh, 20h, 40h, 0DBh, 0E3h, 0A0h
  7475.     db 70h, 0DCh, 41h, 24h, 0FFh
  7476. byte_7F50:  db 0D7h, 0C3h, 0FBh, 0E2h, 90h, 70h, 90h, 0A0h, 0E1h, 0
  7477.           ; DATA XREF: ROM:7C23o
  7478.     db 0E2h, 0A0h, 90h, 70h, 90h, 0E1h, 0, 0E2h, 0A0h, 0E1h
  7479.     db 20h, 0, 0E2h, 0A0h, 90h, 70h, 0D8h, 91h, 0DAh, 51h
  7480.     db 0DBh, 41h, 0DCh, 71h, 54h, 0FFh
  7481. byte_7F74:  db 0D1h, 0FDh, 0E1h, 70h, 0C3h, 70h, 0C3h, 70h, 0C3h, 70h
  7482.           ; DATA XREF: ROM:7C0Fo
  7483.     db 0C3h, 70h, 0C3h, 70h, 0C3h, 70h, 0C3h, 70h, 0C3h, 0A0h
  7484.     db 0C3h, 0A0h, 0C3h, 0A0h, 0C3h, 0A0h, 0C3h, 0A0h, 0C3h
  7485.     db 0A0h, 0C3h, 0A0h, 0C3h, 0A0h, 0C3h, 60h, 0C3h, 60h
  7486.     db 0C3h, 60h, 0C3h, 60h, 0C3h, 60h, 0C3h, 60h, 0C3h, 60h
  7487.     db 0C3h, 60h, 0C3h, 60h, 0C3h, 60h, 0C3h, 60h, 0C3h, 60h
  7488.     db 0C3h, 60h, 0C3h, 60h, 0C3h, 60h, 0C3h, 60h, 0C3h, 0FEh
  7489.     db 2
  7490. byte_7FB9:  db 0D8h, 0FDh, 0E3h, 74h, 0A4h, 69h, 0FFh ; DATA XREF: ROM:7C11o
  7491. byte_7FC0:  db 0D4h, 0FDh, 0E3h, 52h, 72h, 82h, 0A2h, 0B2h, 0A2h, 82h
  7492.           ; DATA XREF: ROM:7BFDo
  7493.     db 72h, 0D2h, 0E2h, 50h, 0C0h, 50h, 0C0h, 50h, 0C0h, 70h
  7494.     db 0C0h, 70h, 0C0h, 70h, 0C0h, 80h, 0C0h, 80h, 0C0h, 80h
  7495.     db 0C0h, 0A0h, 0C0h, 0A0h, 0C0h, 0A0h, 0C0h, 0B0h, 0C0h
  7496.     db 0B0h, 0C0h, 0B0h, 0C0h, 0A0h, 0C0h, 0A0h, 0C0h, 0A0h
  7497.     db 0C0h, 80h, 0C0h, 80h, 0C0h, 80h, 0C0h, 70h, 0C0h, 70h
  7498.     db 0C0h, 70h, 0FFh, 0FFh, 0FFh, 0FFh
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement