• Contact
  • Journal
  • Home
  • Arcade
  • Galaga 5%
  • CPU2 (Secondary)
  • Site
  • Page
  • Amiga
    • Rainbow Islands
      • 1loader-dec
      • 1loader
      • boot
      • orig-boot
      • Journal
  • Arcade
    • Asteroids 80%
      • Hardware
      • RAMUse
      • Code

      • DVG
      • VectorROM

      • Journal
    • Crazy Climber 1%
      • BigSpriteGraphics.pdf
      • Buildings.pdf
      • cclimber.asm
      • CharEnc.inc
      • CrazyClimberMemoryMapInfo.pdf
      • GraphicsAndCharacterAssetInfo.pdf
      • MemoryMap.inc
    • Defender 75%
      • RAMUse
      • Hardware
      • Bank1
      • Bank2
      • Bank3
      • Bank7
      • BankFixed
      • Mapping.txt
      • SoundHardware
      • SoundRAMUse
      • SoundCode
      • Defender-Theory-Early.pdf
      • Defender-Theory-Later.pdf
      • Defender.CPU.jpg
      • Defender.ROM.B&W.jpg
      • Defender.Vid.B&W.jpg
      • SoundROM.txt
    • Frogger (Sound)
      • SoundHardware
      • SoundRAMUse
      • SoundCode

      • Hardware
      • RAMUse
      • Code

      • GFX

      • Journal
    • Galaga 5%
      • CPU1 (Main)
      • CPU2 (Secondary)
      • CPU3 (Sound)
      • GFX1 (Characters)
      • GFX2 (Sprites)
      • PROMcolors
      • PROMpaletteChar
      • PROMpaletteSprite

      • CPU1Fix

      • Journal
    • Moon Patrol 75%
      • Hardware
      • RAMUse
      • Code

      • GFX1 (Text)
      • GFX2 (Sprites)
      • GFX3 (Mountains)
      • GFX4 (Hills)
      • GFX5 (City)
      • ImageBackgroundColors
      • SpriteColors
      • SpriteColorSets
      • TextColors

      • MoonPatrolSound
      • SoundHardware
      • SoundRAMUse
      • SoundCode

      • Journal
    • Omega Race 10%
      • Hardware
      • RAMUse
      • MainBoard

      • SoundHardware
      • SoundRAMUse
      • SoundBoard

      • DVGPROM
      • VectorROM

      • Journal
    • Phoenix 35%
      • Hardware
      • RAMUse
      • Code

      • Background
      • Foreground

      • Journal

      • Scramble HHi
        • phoenixj-func-main2.pdf
        • phoenixj-func-main2.scap
        • phoenixj.asm-may2025.txt
        • phoenixj.asm-may2025.txt.pdf
    • Space Invaders
      • Hardware
      • RAMUse
      • Code

      • Journal
    • Time Pilot (Sound)
      • SoundHardware
      • SoundRAMUse
      • SoundCode

      • Hardware
      • RAMUse
      • Code

      • Journal
    • Sea Wolf 1%
      • Hardware
      • RAMUse
      • Code

      • Journal
    • Scramble 1%
      • SoundHardware
      • SoundRAMUse
      • SoundCode

      • Journal
  • Atari2600
    • Stella (Hardware Info)
    • Asteroids 5%
      • RAMUse
      • Code

      • Journal
    • Battle Zone 1%
      • RAMUse
      • Code

      • Journal
    • Chess 1%
      • RAMUse
      • Code

      • Journal
    • Combat 10%
      • RAMUse
      • Code
      • CodePAL

      • Journal
    • Double Gap
      • Code
      • DoubleGap.asm

      • Journal
    • Entombed 1%
      • RAMUse
      • Code

      • Journal
    • ET 1%
      • RAMUse
      • Code

      • Journal
    • Burger Time 1%
      • RAMUse
      • CodeBank0
      • CodeBank1
      • CodeBank2
      • CodeBank3
      • CodeBank4
      • CodeBank5
      • CodeBank6
      • CodeBank7

      • Journal
    • Missile Command 1%
      • RAMUse
      • Code

      • Journal
    • Space Invaders 1%
      • RAMUse
      • Code

      • Journal
  • CoCo
    • Hardware
    • Early Work
    • Pyramid
      • RAMUse
      • Code

      • Journal
    • Raaka Tu
      • RAMUse
      • Code

      • Journal
    • Bedlam
      • RAMUse
      • Code

      • Journal
    • Madness & Minotaur
      • Walk Through
        • after_start.txt
        • after_start.cas
        • after_1.txt
        • after_1.cas
        • after_2.txt
        • after_2.cas
        • after_3.txt
        • after_3.cas
        • after_4.txt
        • after_4.cas
        • after_5.txt
        • after_5.cas
        • after_6.txt
        • after_6.cas
        • after_7.txt
        • after_7.cas
        • after_8.txt
        • after_8.cas
        • after_9.txt
        • after_9.cas
        • after_10.txt
        • after_10.cas
        • after_11.txt
        • after_11.cas
        • after_12.txt
        • after_12.cas
        • after_13.txt
        • after_13.cas
        • after_14.txt
        • after_14.cas
        • after_15.txt
        • after_15.cas
        • after_16.txt
        • after_16.cas
        • after_17.txt
        • after_17.cas
        • after_18.txt
        • after_18.cas
        • after_19.txt
        • after_19.cas
        • after_20.txt
        • after_20.cas
        • after_21.txt
        • after_21.cas
        • after_22.txt
        • after_22.cas
        • after_23.txt
        • after_23.cas
        • after_24.txt
        • after_24.cas
        • after_25.txt
        • after_25.cas
      • RAMUse
      • Code

      • SaveGameViewer

      • Journal
    • Mega-Bug
      • RAMUse
      • Code

      • Journal
    • Daggorath
      • RAMUse
      • Code

      • Level Maps

      • Journal
    • Downland 5%
      • RAMUse
      • Code

      • Journal
    • Audio Analyzer 5%
      • RAMUse
      • Code

      • Journal
    • Doubleback
      • RAMUse
      • Code

      • Journal
  • NES
    • Zelda 5%
      • Hardware
      • RAMUse
      • Bank0
      • Bank1
      • Bank2
      • Bank3
      • Bank4
      • Bank5
      • Bank6
      • Bank7

      • Journal
    • Kid Icarus 1%
      • Hardware
      • RAMUse
      • Bank0
      • Bank1
      • Bank2
      • Bank3
      • Bank4
      • Bank5
      • Bank6
      • Bank7

      • Journal
  • Gameboy
    • Hardware
    • Link's Awakening 1%
      • RAMUse
      • Bank00
      • Bank01
      • Bank02
      • Bank03
      • Bank04
      • Bank05
      • Bank06
      • Bank07
      • Bank08
      • Bank09
      • Bank0A
      • Bank0B
      • Bank0C
      • Bank0D
      • Bank0E
      • Bank0F
      • Bank10
      • Bank11
      • Bank12
      • Bank13
      • Bank14
      • Bank15
      • Bank16
      • Bank17
      • Bank18
      • Bank19
      • Bank1A
      • Bank1B
      • Bank1C
      • Bank1D
      • Bank1E
      • Bank1F

      • Journal
    • Tetris 1%
      • RAMUse
      • Code

      • Journal
  • TRS80
    • Hardware
    • HauntedHouse
      • RAMUse1
      • Code1
      • RAMUse2
      • Code2

      • Journal
    • Pyramid
      • RAMUse
      • Code

      • RAMUse1
      • Code1

      • Journal
    • RaakaTu
      • RAMUse
      • Code

      • Journal
    • Bedlam
      • RAMUse
      • Code

      • Journal
  • Virus
    • Morris Worm 1%
      • Journal
    • Stoned
      • Journal

  • Tools
    • Blend
      • blend.zip

      • Journal
  • CPU2

CPU2

;================================================================
; Startup comes here
0000: 31 00 91        LD      SP,$9100            ; Initialize stack
0003: C3 7C 05        JP      $057C               ; Continue processing
0006: FF              RST     0X38                ; Filler for RST
0007: FF              RST     0X38                ; Filler for RST
;
;================================================================
; Add A*2 to HL. (If A is zero, add 0x100 to HL)
0008: 87              ADD     A,A                 ; A*2
0009: 30 05           JR      NC,$10              ; Overflow?
000B: 24              INC     H                   ; Yes ... bump HL
000C: C3 10 00        JP      $0010               ; Continue with add routine
000F: FF              RST     0X38                ; Filler
;
;================================================================
; Add A to HL
0010: 85              ADD     A,L                 ; Offset L by A
0011: 6F              LD      L,A                 ; Overflow?
0012: D0              RET     NC                  ; No - HL is fine
0013: 24              INC     H                   ; Yes - Add carry to H
0014: C9              RET                         ; Done
0015: FF              RST     0X38                ; Filler
0016: FF              RST     0X38                ; Filler
0017: FF              RST     0X38                ; Filler
;
;================================================================
; Fill buffer pointed to by HL (length in B)
; with byte value in A.
0018: 77              LD      (HL),A              ; Store value to buffer
0019: 23              INC     HL                  ; Next in buffer
001A: 10 FC           DJNZ    $18                 ; Do B times
001C: C9              RET                         ; Done

; Looks like data from here to 34

001D: 23              INC     HL                  ; #
001E: 06 16           LD      B,$16               ; #
0020: 23              INC     HL                  ; #
0021: 00              NOP                         ; #
0022: 19              ADD     HL,DE               ; #
0023: F7              RST     0X30                ; #
0024: 4B              LD      C,E                 ; #
0025: 00              NOP                         ; #
0026: 23              INC     HL                  ; #
0027: F0              RET     P                   ; #
0028: 02              LD      (BC),A              ; #
0029: F0              RET     P                   ; #
002A: 5E              LD      E,(HL)              ; #
002B: 00              NOP                         ; #
002C: 23              INC     HL                  ; #
002D: F0              RET     P                   ; #
002E: 24              INC     H                   ; #
002F: FB              EI                          ; #
0030: 23              INC     HL                  ; #
0031: 00              NOP                         ; #
0032: FF              RST     0X38                ; #
0033: FF              RST     0X38                ; #

0034: E9              JP      (HL)                ; Jump to routine pointed to by HL
;
0035: FF              RST     0X38                ; (Routine RETs to caller)
0036: FF              RST     0X38                ;
0037: FF              RST     0X38                ;

0038: C3 13 05        JP      $0513               ; IRQ Routine

; Jump table for commands
003B: BE 05       ;RET
003D: BF 05       ;     Commenting this disables the drawing of the Blue bees and the Big Bees
003F: D3 08       ;     Commenting this disables all enemies. They don't appear on the screen and the levels progress automatically upwards.
0041: BE 05       ; RET
0043: F5 06       ;     Commenting this disables player fire. The bullet appears but stays in place at the bottom. Collisions with it do not explode.
0045: EE 05       ;     Commenting this disables player collision detection. Bullets and bees pass under the player undetected.
0047: BE 05       ; RET
0049: CA 0E       ; ??Expansion check? Commenting seemed to have no effect.

; Looks like data from here to 516

004B: 23                              ; #
004C: F0              RET     P                   ; #
004D: 26 23           LD      H,$23               ; #
004F: 14              INC     D                   ; #
0050: 13              INC     DE                  ; #
0051: FE 0D           CP      $0D                 ; #
0053: 0B              DEC     BC                  ; #
0054: 0A              LD      A,(BC)              ; #
0055: 08              EX      AF,AF'              ; #
0056: 06 04           LD      B,$04               ; #
0058: 03              INC     BC                  ; #
0059: 01 23 FF        LD      BC,$FF23            ; #
005C: FF              RST     0X38                ; #
005D: FF              RST     0X38                ; #
005E: 44              LD      B,H                 ; #
005F: E4 18 FB        CALL    PO,$FB18            ; #
0062: 44              LD      B,H                 ; #
0063: 00              NOP                         ; #
0064: FF              RST     0X38                ; #
0065: FF              RST     0X38                ; #
0066: C9              RET                         ; # hardware interrupt
0067: 23              INC     HL                  ; #
0068: 08              EX      AF,AF'              ; #
0069: 08              EX      AF,AF'              ; #
006A: 23              INC     HL                  ; #
006B: 03              INC     BC                  ; #
006C: 1B              DEC     DE                  ; #
006D: 23              INC     HL                  ; #
006E: 08              EX      AF,AF'              ; #
006F: 0F              RRCA                        ; #
0070: 23              INC     HL                  ; #
0071: 16 15           LD      D,$15               ; #
0073: F7              RST     0X30                ; #
0074: 84              ADD     A,H                 ; #
0075: 00              NOP                         ; #
0076: 23              INC     HL                  ; #
0077: 16 03           LD      D,$03               ; #
0079: F0              RET     P                   ; #
007A: 97              SUB     A                   ; #
007B: 00              NOP                         ; #
007C: 23              INC     HL                  ; #
007D: 16 19           LD      D,$19               ; #
007F: FB              EI                          ; #
0080: 23              INC     HL                  ; #
0081: 00              NOP                         ; #
0082: FF              RST     0X38                ; #
0083: FF              RST     0X38                ; #
0084: 23              INC     HL                  ; #
0085: 16 01           LD      D,$01               ; #
0087: FE 0D           CP      $0D                 ; #
0089: 0C              INC     C                   ; #
008A: 0A              LD      A,(BC)              ; #
008B: 08              EX      AF,AF'              ; #
008C: 06 04           LD      B,$04               ; #
008E: 03              INC     BC                  ; #
008F: 01 23 FC        LD      BC,$FC23            ; #
0092: 30 23           JR      NC,$B7              ; #
0094: 00              NOP                         ; #
0095: FF              RST     0X38                ; #
0096: FF              RST     0X38                ; #
0097: 44              LD      B,H                 ; #
0098: 27              DAA                         ; #
0099: 0E FB           LD      C,$FB               ; #
009B: 44              LD      B,H                 ; #
009C: 00              NOP                         ; #
009D: FF              RST     0X38                ; #
009E: FF              RST     0X38                ; #
009F: 33              INC     SP                  ; #
00A0: 06 18           LD      B,$18               ; #
00A2: 23              INC     HL                  ; #
00A3: 00              NOP                         ; #
00A4: 18 F7           JR      $9D                 ; #
00A6: B6              OR      (HL)                ; #
00A7: 00              NOP                         ; #
00A8: 23              INC     HL                  ; #
00A9: F0              RET     P                   ; #
00AA: 08              EX      AF,AF'              ; #
00AB: F0              RET     P                   ; #
00AC: CC 00 23        CALL    Z,$2300             ; #
00AF: F0              RET     P                   ; #
00B0: 20 FB           JR      NZ,$AD              ; #
00B2: 23              INC     HL                  ; #
00B3: 00              NOP                         ; #
00B4: FF              RST     0X38                ; #
00B5: FF              RST     0X38                ; #
00B6: 23              INC     HL                  ; #
00B7: F0              RET     P                   ; #
00B8: 20 23           JR      NZ,$DD              ; #
00BA: 10 0D           DJNZ    $C9                 ; #
00BC: FE 1A           CP      $1A                 ; #
00BE: 18 15           JR      $D5                 ; #
00C0: 10 0C           DJNZ    $CE                 ; #
00C2: 08              EX      AF,AF'              ; #
00C3: 05              DEC     B                   ; #
00C4: 03              INC     BC                  ; #
00C5: 23              INC     HL                  ; #
00C6: FE 30           CP      $30                 ; #
00C8: 23              INC     HL                  ; #
00C9: 00              NOP                         ; #
00CA: FF              RST     0X38                ; #
00CB: FF              RST     0X38                ; #
00CC: 33              INC     SP                  ; #
00CD: E0              RET     PO                  ; #
00CE: 10 FB           DJNZ    $CB                 ; #
00D0: 44              LD      B,H                 ; #
00D1: 00              NOP                         ; #
00D2: FF              RST     0X38                ; #
00D3: FF              RST     0X38                ; #
00D4: 23              INC     HL                  ; #
00D5: 03              INC     BC                  ; #
00D6: 18 33           JR      $10B                ; #
00D8: 04              INC     B                   ; #
00D9: 10 23           DJNZ    $FE                 ; #
00DB: 08              EX      AF,AF'              ; #
00DC: 0A              LD      A,(BC)              ; #
00DD: 44              LD      B,H                 ; #
00DE: 16 12           LD      D,$12               ; #
00E0: F7              RST     0X30                ; #
00E1: 60              LD      H,B                 ; #
00E2: 01 44 16        LD      BC,$1644            ; #
00E5: 03              INC     BC                  ; #
00E6: F0              RET     P                   ; #
00E7: 73              LD      (HL),E              ; #
00E8: 01 44 16        LD      BC,$1644            ; #
00EB: 1D              DEC     E                   ; #
00EC: FB              EI                          ; #
00ED: 23              INC     HL                  ; #
00EE: 00              NOP                         ; #
00EF: FF              RST     0X38                ; #
00F0: FF              RST     0X38                ; #
00F1: 12              LD      (DE),A              ; #
00F2: 18 17           JR      $10B                ; #
00F4: 12              LD      (DE),A              ; #
00F5: 00              NOP                         ; #
00F6: 80              ADD     A,B                 ; #
00F7: FF              RST     0X38                ; #
00F8: FF              RST     0X38                ; #
00F9: FF              RST     0X38                ; #
00FA: FF              RST     0X38                ; #
00FB: FF              RST     0X38                ; #
00FC: FF              RST     0X38                ; #
00FD: FF              RST     0X38                ; #
00FE: FF              RST     0X38                ; #
00FF: FF              RST     0X38                ; #

; Table used in Movement E
0100: 14              INC     D                   ; #
0101: 06 14           LD      B,$14               ; #
0103: 0C              INC     C                   ; #
0104: 14              INC     D                   ; #
0105: 08              EX      AF,AF'              ; #
0106: 14              INC     D                   ; #
0107: 0A              LD      A,(BC)              ; #
0108: 1C              INC     E                   ; #
0109: 00              NOP                         ; #
010A: 1C              INC     E                   ; #
010B: 12              LD      (DE),A              ; #
010C: 1E 00           LD      E,$00               ; #
010E: 1E 12           LD      E,$12               ; #
0110: 1C              INC     E                   ; #
0111: 02              LD      (BC),A              ; #
0112: 1C              INC     E                   ; #
0113: 10 1E           DJNZ    $133                ; #
0115: 02              LD      (BC),A              ; #
0116: 1E 10           LD      E,$10               ; #
0118: 1C              INC     E                   ; #
0119: 04              INC     B                   ; #
011A: 1C              INC     E                   ; #
011B: 0E 1E           LD      C,$1E               ; #
011D: 04              INC     B                   ; #
011E: 1E 0E           LD      E,$0E               ; #
0120: 1C              INC     E                   ; #
0121: 06 1C           LD      B,$1C               ; #
0123: 0C              INC     C                   ; #
0124: 1E 06           LD      E,$06               ; #
0126: 1E 0C           LD      E,$0C               ; #
0128: 1C              INC     E                   ; #
0129: 08              EX      AF,AF'              ; #
012A: 1C              INC     E                   ; #
012B: 0A              LD      A,(BC)              ; #
012C: 1E 08           LD      E,$08               ; #
012E: 1E 0A           LD      E,$0A               ; #
0130: 16 06           LD      D,$06               ; #
0132: 16 0C           LD      D,$0C               ; #
0134: 16 08           LD      D,$08               ; #
0136: 16 0A           LD      D,$0A               ; #
0138: 18 00           JR      $13A                ; #
013A: 18 12           JR      $14E                ; #
013C: 1A              LD      A,(DE)              ; #
013D: 00              NOP                         ; #
013E: 1A              LD      A,(DE)              ; #
013F: 12              LD      (DE),A              ; #
0140: 18 02           JR      $144                ; #
0142: 18 10           JR      $154                ; #
0144: 1A              LD      A,(DE)              ; #
0145: 02              LD      (BC),A              ; #
0146: 1A              LD      A,(DE)              ; #
0147: 10 18           DJNZ    $161                ; #
0149: 04              INC     B                   ; #
014A: 18 0E           JR      $15A                ; #
014C: 1A              LD      A,(DE)              ; #
014D: 04              INC     B                   ; #
014E: 1A              LD      A,(DE)              ; #
014F: 0E 18           LD      C,$18               ; #
0151: 06 18           LD      B,$18               ; #
0153: 0C              INC     C                   ; #
0154: 1A              LD      A,(DE)              ; #
0155: 06 1A           LD      B,$1A               ; #
0157: 0C              INC     C                   ; #
0158: 18 08           JR      $162                ; #
015A: 18 0A           JR      $166                ; #
015C: 1A              LD      A,(DE)              ; #
015D: 08              EX      AF,AF'              ; #
015E: 1A              LD      A,(DE)              ; #
015F: 0A              LD      A,(BC)              ; #
0160: 44              LD      B,H                 ; #
0161: 16 06           LD      D,$06               ; #
0163: FE 0C           CP      $0C                 ; #
0165: 0B              DEC     BC                  ; #
0166: 0A              LD      A,(BC)              ; #
0167: 08              EX      AF,AF'              ; #
0168: 06 04           LD      B,$04               ; #
016A: 02              LD      (BC),A              ; #
016B: 01 23 FE        LD      BC,$FE23            ; #
016E: 30 23           JR      NC,$193             ; #
0170: 00              NOP                         ; #
0171: FF              RST     0X38                ; #
0172: FF              RST     0X38                ; #
0173: 66              LD      H,(HL)              ; #
0174: 20 14           JR      NZ,$18A             ; #
0176: FB              EI                          ; #
0177: 44              LD      B,H                 ; #
0178: 00              NOP                         ; #
0179: FF              RST     0X38                ; #
017A: FF              RST     0X38                ; #
017B: 23              INC     HL                  ; #
017C: 06 18           LD      B,$18               ; #
017E: 23              INC     HL                  ; #
017F: 00              NOP                         ; #
0180: 18 F7           JR      $179                ; #
0182: 92              SUB     D                   ; #
0183: 01 44 F0        LD      BC,$F044            ; #
0186: 08              EX      AF,AF'              ; #
0187: F0              RET     P                   ; #
0188: A8              XOR     B                   ; #
0189: 01 44 F0        LD      BC,$F044            ; #
018C: 20 FB           JR      NZ,$189             ; #
018E: 23              INC     HL                  ; #
018F: 00              NOP                         ; #
0190: FF              RST     0X38                ; #
0191: FF              RST     0X38                ; #
0192: 44              LD      B,H                 ; #
0193: F0              RET     P                   ; #
0194: 26 23           LD      H,$23               ; #
0196: 10 0B           DJNZ    $1A3                ; #
0198: FE 22           CP      $22                 ; #
019A: 20 1E           JR      NZ,$1BA             ; #
019C: 1B              DEC     DE                  ; #
019D: 18 15           JR      $1B4                ; #
019F: 12              LD      (DE),A              ; #
01A0: 10 23           DJNZ    $1C5                ; #
01A2: FE 30           CP      $30                 ; #
01A4: 23              INC     HL                  ; #
01A5: 00              NOP                         ; #
01A6: FF              RST     0X38                ; #
01A7: FF              RST     0X38                ; #
01A8: 66              LD      H,(HL)              ; #
01A9: E0              RET     PO                  ; #
01AA: 10 FB           DJNZ    $1A7                ; #
01AC: 44              LD      B,H                 ; #
01AD: 00              NOP                         ; #
01AE: FF              RST     0X38                ; #
01AF: FF              RST     0X38                ; #
01B0: 23              INC     HL                  ; #
01B1: 03              INC     BC                  ; #
01B2: 20 23           JR      NZ,$1D7             ; #
01B4: 08              EX      AF,AF'              ; #
01B5: 0F              RRCA                        ; #
01B6: 23              INC     HL                  ; #
01B7: 16 12           LD      D,$12               ; #
01B9: F7              RST     0X30                ; #
01BA: CA 01 23        JP      Z,$2301             ; #
01BD: 16 03           LD      D,$03               ; #
01BF: F0              RET     P                   ; #
01C0: E0              RET     PO                  ; #
01C1: 01 23 16        LD      BC,$1623            ; #
01C4: 1D              DEC     E                   ; #
01C5: FB              EI                          ; #
01C6: 23              INC     HL                  ; #
01C7: 00              NOP                         ; #
01C8: FF              RST     0X38                ; #
01C9: FF              RST     0X38                ; #
01CA: 23              INC     HL                  ; #
01CB: 16 01           LD      D,$01               ; #
01CD: FE 0D           CP      $0D                 ; #
01CF: 0C              INC     C                   ; #
01D0: 0B              DEC     BC                  ; #
01D1: 09              ADD     HL,BC               ; #
01D2: 07              RLCA                        ; #
01D3: 05              DEC     B                   ; #
01D4: 03              INC     BC                  ; #
01D5: 02              LD      (BC),A              ; #
01D6: 23              INC     HL                  ; #
01D7: 02              LD      (BC),A              ; #
01D8: 20 23           JR      NZ,$1FD             ; #
01DA: FC 12 23        CALL    M,$2312             ; #
01DD: 00              NOP                         ; #
01DE: FF              RST     0X38                ; #
01DF: FF              RST     0X38                ; #
01E0: 44              LD      B,H                 ; #
01E1: 20 14           JR      NZ,$1F7             ; #
01E3: FB              EI                          ; #
01E4: 44              LD      B,H                 ; #
01E5: 00              NOP                         ; #
01E6: FF              RST     0X38                ; #
01E7: FF              RST     0X38                ; #
01E8: 23              INC     HL                  ; #
01E9: 00              NOP                         ; #
01EA: 10 23           DJNZ    $20F                ; #
01EC: 01 40 22        LD      BC,$2240            ; #
01EF: 0C              INC     C                   ; #
01F0: 37              SCF                         ; #
01F1: 23              INC     HL                  ; #
01F2: 00              NOP                         ; #
01F3: FF              RST     0X38                ; #
01F4: FF              RST     0X38                ; #
01F5: 23              INC     HL                  ; #
01F6: 02              LD      (BC),A              ; #
01F7: 3A 23 10        LD      A,($1023)           ; #
01FA: 09              ADD     HL,BC               ; #
01FB: 23              INC     HL                  ; #
01FC: 00              NOP                         ; #
01FD: 18 23           JR      $222                ; #
01FF: 20 10           JR      NZ,$211             ; #
0201: 23              INC     HL                  ; #
0202: 00              NOP                         ; #
0203: 18 23           JR      $228                ; #
0205: 20 0D           JR      NZ,$214             ; #
0207: 23              INC     HL                  ; #
0208: 00              NOP                         ; #
0209: FF              RST     0X38                ; #
020A: FF              RST     0X38                ; #
020B: 23              INC     HL                  ; #
020C: 00              NOP                         ; #
020D: 10 23           DJNZ    $232                ; #
020F: 01 30 00        LD      BC,$0030            ; #
0212: 40              LD      B,B                 ; #
0213: 08              EX      AF,AF'              ; #
0214: 23              INC     HL                  ; #
0215: FF              RST     0X38                ; #
0216: 30 23           JR      NC,$23B             ; #
0218: 00              NOP                         ; #
0219: FF              RST     0X38                ; #
021A: FF              RST     0X38                ; #
021B: 23              INC     HL                  ; #
021C: 00              NOP                         ; #
021D: 30 23           JR      NC,$242             ; #
021F: 05              DEC     B                   ; #
0220: 80              ADD     A,B                 ; #
0221: 23              INC     HL                  ; #
0222: 05              DEC     B                   ; #
0223: 4C              LD      C,H                 ; #
0224: 23              INC     HL                  ; #
0225: 04              INC     B                   ; #
0226: 01 23 00        LD      BC,$0023            ; #
0229: 50              LD      D,B                 ; #
022A: FF              RST     0X38                ; #
022B: 23              INC     HL                  ; #
022C: 00              NOP                         ; #
022D: 28 23           JR      Z,$252              ; #
022F: 06 1D           LD      B,$1D               ; #
0231: 23              INC     HL                  ; #
0232: 00              NOP                         ; #
0233: 11 00 40        LD      DE,$4000            ; #
0236: 08              EX      AF,AF'              ; #
0237: 23              INC     HL                  ; #
0238: 00              NOP                         ; #
0239: 11 23 FA        LD      DE,$FA23            ; #
023C: 1D              DEC     E                   ; #
023D: 23              INC     HL                  ; #
023E: 00              NOP                         ; #
023F: 50              LD      D,B                 ; #
0240: FF              RST     0X38                ; #
0241: 23              INC     HL                  ; #
0242: 00              NOP                         ; #
0243: 21 00 20        LD      HL,$2000            ; #
0246: 10 23           DJNZ    $26B                ; #
0248: F8              RET     M                   ; #
0249: 20 23           JR      NZ,$26E             ; #
024B: FF              RST     0X38                ; #
024C: 20 23           JR      NZ,$271             ; #
024E: F8              RET     M                   ; #
024F: 1B              DEC     DE                  ; #
0250: 23              INC     HL                  ; #
0251: E8              RET     PE                  ; #
0252: 0B              DEC     BC                  ; #
0253: 23              INC     HL                  ; #
0254: 00              NOP                         ; #
0255: 21 00 20        LD      HL,$2000            ; #
0258: 08              EX      AF,AF'              ; #
0259: 23              INC     HL                  ; #
025A: 00              NOP                         ; #
025B: 42              LD      B,D                 ; #
025C: FF              RST     0X38                ; #
025D: 23              INC     HL                  ; #
025E: 00              NOP                         ; #
025F: 08              EX      AF,AF'              ; #
0260: 00              NOP                         ; #
0261: 20 08           JR      NZ,$26B             ; #
0263: 23              INC     HL                  ; #
0264: F0              RET     P                   ; #
0265: 20 23           JR      NZ,$28A             ; #
0267: 10 20           DJNZ    $289                ; #
0269: 23              INC     HL                  ; #
026A: F0              RET     P                   ; #
026B: 40              LD      B,B                 ; #
026C: 23              INC     HL                  ; #
026D: 10 20           DJNZ    $28F                ; #
026F: 23              INC     HL                  ; #
0270: F0              RET     P                   ; #
0271: 20 00           JR      NZ,$273             ; #
0273: 20 08           JR      NZ,$27D             ; #
0275: 23              INC     HL                  ; #
0276: 00              NOP                         ; #
0277: 30 FF           JR      NC,$278             ; #
0279: 23              INC     HL                  ; #
027A: 10 0C           DJNZ    $288                ; #
027C: 23              INC     HL                  ; #
027D: 00              NOP                         ; #
027E: 20 23           JR      NZ,$2A3             ; #
0280: E8              RET     PE                  ; #
0281: 10 23           DJNZ    $2A6                ; #
0283: F4 10 23        CALL    P,$2310             ; #
0286: E8              RET     PE                  ; #
0287: 10 23           DJNZ    $2AC                ; #
0289: F4 32 23        CALL    P,$2332             ; #
028C: E8              RET     PE                  ; #
028D: 10 23           DJNZ    $2B2                ; #
028F: F4 32 23        CALL    P,$2332             ; #
0292: E8              RET     PE                  ; #
0293: 10 23           DJNZ    $2B8                ; #
0295: F4 10 23        CALL    P,$2310             ; #
0298: E8              RET     PE                  ; #
0299: 0E 23           LD      C,$23               ; #
029B: 02              LD      (BC),A              ; #
029C: 30 FF           JR      NC,$29D             ; #
029E: 23              INC     HL                  ; #
029F: F1              POP     AF                  ; #
02A0: 08              EX      AF,AF'              ; #
02A1: 23              INC     HL                  ; #
02A2: 00              NOP                         ; #
02A3: 10 23           DJNZ    $2C8                ; #
02A5: 05              DEC     B                   ; #
02A6: 3C              INC     A                   ; #
02A7: 23              INC     HL                  ; #
02A8: 07              RLCA                        ; #
02A9: 42              LD      B,D                 ; #
02AA: 23              INC     HL                  ; #
02AB: 0A              LD      A,(BC)              ; #
02AC: 40              LD      B,B                 ; #
02AD: 23              INC     HL                  ; #
02AE: 10 2D           DJNZ    $2DD                ; #
02B0: 23              INC     HL                  ; #
02B1: 20 19           JR      NZ,$2CC             ; #
02B3: 00              NOP                         ; #
02B4: FC 14 23        CALL    M,$2314             ; #
02B7: 02              LD      (BC),A              ; #
02B8: 4A              LD      C,D                 ; #
02B9: FF              RST     0X38                ; #
02BA: 23              INC     HL                  ; #
02BB: 04              INC     B                   ; #
02BC: 20 23           JR      NZ,$2E1             ; #
02BE: 00              NOP                         ; #
02BF: 16 23           LD      D,$23               ; #
02C1: F0              RET     P                   ; #
02C2: 30 23           JR      NC,$2E7             ; #
02C4: 00              NOP                         ; #
02C5: 12              LD      (DE),A              ; #
02C6: 23              INC     HL                  ; #
02C7: 10 30           DJNZ    $2F9                ; #
02C9: 23              INC     HL                  ; #
02CA: 00              NOP                         ; #
02CB: 12              LD      (DE),A              ; #
02CC: 23              INC     HL                  ; #
02CD: 10 30           DJNZ    $2FF                ; #
02CF: 23              INC     HL                  ; #
02D0: 00              NOP                         ; #
02D1: 16 23           LD      D,$23               ; #
02D3: 04              INC     B                   ; #
02D4: 20 23           JR      NZ,$2F9             ; #
02D6: 00              NOP                         ; #
02D7: 10 FF           DJNZ    $2D8                ; #
02D9: 23              INC     HL                  ; #
02DA: 00              NOP                         ; #
02DB: 15              DEC     D                   ; #
02DC: 00              NOP                         ; #
02DD: 20 08           JR      NZ,$2E7             ; #
02DF: 23              INC     HL                  ; #
02E0: 00              NOP                         ; #
02E1: 11 00 E0        LD      DE,$E000            ; #
02E4: 08              EX      AF,AF'              ; #
02E5: 23              INC     HL                  ; #
02E6: 00              NOP                         ; #
02E7: 18 00           JR      $2E9                ; #
02E9: 20 08           JR      NZ,$2F3             ; #
02EB: 23              INC     HL                  ; #
02EC: 00              NOP                         ; #
02ED: 13              INC     DE                  ; #
02EE: 00              NOP                         ; #
02EF: E0              RET     PO                  ; #
02F0: 08              EX      AF,AF'              ; #
02F1: 23              INC     HL                  ; #
02F2: 00              NOP                         ; #
02F3: 1F              RRA                         ; #
02F4: 00              NOP                         ; #
02F5: 20 08           JR      NZ,$2FF             ; #
02F7: 23              INC     HL                  ; #
02F8: 00              NOP                         ; #
02F9: 30 FF           JR      NC,$2FA             ; #
02FB: 23              INC     HL                  ; #
02FC: 02              LD      (BC),A              ; #
02FD: 0E 23           LD      C,$23               ; #
02FF: 00              NOP                         ; #
0300: 34              INC     (HL)                ; #
0301: 23              INC     HL                  ; #
0302: 12              LD      (DE),A              ; #
0303: 19              ADD     HL,DE               ; #
0304: 23              INC     HL                  ; #
0305: 00              NOP                         ; #
0306: 20 23           JR      NZ,$32B             ; #
0308: E0              RET     PO                  ; #
0309: 0E 23           LD      C,$23               ; #
030B: 00              NOP                         ; #
030C: 12              LD      (DE),A              ; #
030D: 23              INC     HL                  ; #
030E: 20 0E           JR      NZ,$31E             ; #
0310: 23              INC     HL                  ; #
0311: 00              NOP                         ; #
0312: 0C              INC     C                   ; #
0313: 23              INC     HL                  ; #
0314: E0              RET     PO                  ; #
0315: 0E 23           LD      C,$23               ; #
0317: 1B              DEC     DE                  ; #
0318: 08              EX      AF,AF'              ; #
0319: 23              INC     HL                  ; #
031A: 00              NOP                         ; #
031B: 10 FF           DJNZ    $31C                ; #
031D: 23              INC     HL                  ; #
031E: 00              NOP                         ; #
031F: 0D              DEC     C                   ; #
0320: 00              NOP                         ; #
0321: C0              RET     NZ                  ; #
0322: 04              INC     B                   ; #
0323: 23              INC     HL                  ; #
0324: 00              NOP                         ; #
0325: 21 00 40        LD      HL,$4000            ; #
0328: 06 23           LD      B,$23               ; #
032A: 00              NOP                         ; #
032B: 51              LD      D,C                 ; #
032C: 00              NOP                         ; #
032D: C0              RET     NZ                  ; #
032E: 06 23           LD      B,$23               ; #
0330: 00              NOP                         ; #
0331: 73              LD      (HL),E              ; #
0332: FF              RST     0X38                ; #
0333: 23              INC     HL                  ; #
0334: 08              EX      AF,AF'              ; #
0335: 20 23           JR      NZ,$35A             ; #
0337: 00              NOP                         ; #
0338: 16 23           LD      D,$23               ; #
033A: E0              RET     PO                  ; #
033B: 0C              INC     C                   ; #
033C: 23              INC     HL                  ; #
033D: 02              LD      (BC),A              ; #
033E: 0B              DEC     BC                  ; #
033F: 23              INC     HL                  ; #
0340: 11 0C 23        LD      DE,$230C            ; #
0343: 02              LD      (BC),A              ; #
0344: 0B              DEC     BC                  ; #
0345: 23              INC     HL                  ; #
0346: E0              RET     PO                  ; #
0347: 0C              INC     C                   ; #
0348: 23              INC     HL                  ; #
0349: 00              NOP                         ; #
034A: 16 23           LD      D,$23               ; #
034C: 08              EX      AF,AF'              ; #
034D: 20 FF           JR      NZ,$34E             ; #
034F: 12              LD      (DE),A              ; #
0350: 18 1E           JR      $370                ; #
0352: 12              LD      (DE),A              ; #
0353: 00              NOP                         ; #
0354: 34              INC     (HL)                ; #
0355: 12              LD      (DE),A              ; #
0356: FB              EI                          ; #
0357: 26 12           LD      H,$12               ; #
0359: 00              NOP                         ; #
035A: 02              LD      (BC),A              ; #
035B: FC 2E 12        CALL    M,$122E             ; #
035E: FA 3C FA        JP      M,$FA3C             ; #
0361: 9E              SBC     (HL)                ; #
0362: 03              INC     BC                  ; #
0363: 12              LD      (DE),A              ; #
0364: F8              RET     M                   ; #
0365: 10 12           DJNZ    $379                ; #
0367: FA 5C 12        JP      M,$125C             ; #
036A: 00              NOP                         ; #
036B: 23              INC     HL                  ; #
036C: F8              RET     M                   ; #
036D: F9              LD      SP,HL               ; #
036E: EF              RST     0X28                ; #
036F: 7C              LD      A,H                 ; #
0370: 03              INC     BC                  ; #
0371: F6 AB           OR      $AB                 ; #
0373: 12              LD      (DE),A              ; #
0374: 01 28 12        LD      BC,$1228            ; #
0377: 0A              LD      A,(BC)              ; #
0378: 18 FD           JR      $377                ; #
037A: 52              LD      D,D                 ; #
037B: 03              INC     BC                  ; #
037C: F6 B0           OR      $B0                 ; #
037E: 23              INC     HL                  ; #
037F: 08              EX      AF,AF'              ; #
0380: 1E 23           LD      E,$23               ; #
0382: 00              NOP                         ; #
0383: 19              ADD     HL,DE               ; #
0384: 23              INC     HL                  ; #
0385: F8              RET     M                   ; #
0386: 16 23           LD      D,$23               ; #
0388: 00              NOP                         ; #
0389: 02              LD      (BC),A              ; #
038A: FC 30 23        CALL    M,$2330             ; #
038D: F7              RST     0X30                ; #
038E: 26 FA           LD      H,$FA               ; #
0390: 9E              SBC     (HL)                ; #
0391: 03              INC     BC                  ; #
0392: 23              INC     HL                  ; #
0393: F0              RET     P                   ; #
0394: 0A              LD      A,(BC)              ; #
0395: 23              INC     HL                  ; #
0396: F5              PUSH    AF                  ; #
0397: 31 23 00        LD      SP,$0023            ; #
039A: 10 FD           DJNZ    $399                ; #
039C: 6C              LD      L,H                 ; #
039D: 03              INC     BC                  ; #
039E: 12              LD      (DE),A              ; #
039F: F8              RET     M                   ; #
03A0: 10 12           DJNZ    $3B4                ; #
03A2: 00              NOP                         ; #
03A3: 40              LD      B,B                 ; #
03A4: FB              EI                          ; #
03A5: 12              LD      (DE),A              ; #
03A6: 00              NOP                         ; #
03A7: FF              RST     0X38                ; #
03A8: FF              RST     0X38                ; #
03A9: 12              LD      (DE),A              ; #
03AA: 18 1D           JR      $3C9                ; #
03AC: 12              LD      (DE),A              ; #
03AD: 00              NOP                         ; #
03AE: 28 12           JR      Z,$3C2              ; #
03B0: FA 02 F3        JP      M,$F302             ; #
03B3: 3F              CCF                         ; #
03B4: 3B              DEC     SP                  ; #
03B5: 36 32           LD      (HL),$32            ; #
03B7: 28 26           JR      Z,$3DF              ; #
03B9: 24              INC     H                   ; #
03BA: 22 12 04        LD      ($0412),HL          ; #
03BD: 30 12           JR      NC,$3D1             ; #
03BF: FC 30 12        CALL    M,$1230             ; #
03C2: 00              NOP                         ; #
03C3: 18 F8           JR      $3BD                ; #
03C5: F9              LD      SP,HL               ; #
03C6: FA 0C 04        JP      M,$040C             ; #
03C9: EF              RST     0X28                ; #
03CA: D7              RST     0X10                ; #
03CB: 03              INC     BC                  ; #
03CC: F6 B0           OR      $B0                 ; #
03CE: 12              LD      (DE),A              ; #
03CF: 01 28 12        LD      BC,$1228            ; #
03D2: 0A              LD      A,(BC)              ; #
03D3: 15              DEC     D                   ; #
03D4: FD AC           XOR     IYH                 ; #
03D6: 03              INC     BC                  ; #
03D7: F6 C0           OR      $C0                 ; #
03D9: 23              INC     HL                  ; #
03DA: 08              EX      AF,AF'              ; #
03DB: 10 23           DJNZ    $400                ; #
03DD: 00              NOP                         ; #
03DE: 23              INC     HL                  ; #
03DF: 23              INC     HL                  ; #
03E0: F8              RET     M                   ; #
03E1: 0F              RRCA                        ; #
03E2: 23              INC     HL                  ; #
03E3: 00              NOP                         ; #
03E4: 48              LD      C,B                 ; #
03E5: F8              RET     M                   ; #
03E6: F9              LD      SP,HL               ; #
03E7: FA 0C 04        JP      M,$040C             ; #
03EA: F6 B0           OR      $B0                 ; #
03EC: 23              INC     HL                  ; #
03ED: 08              EX      AF,AF'              ; #
03EE: 20 23           JR      NZ,$413             ; #
03F0: 00              NOP                         ; #
03F1: 08              EX      AF,AF'              ; #
03F2: 23              INC     HL                  ; #
03F3: F8              RET     M                   ; #
03F4: 02              LD      (BC),A              ; #
03F5: F3              DI                          ; #
03F6: 34              INC     (HL)                ; #
03F7: 31 2D 29        LD      SP,$292D            ; #
03FA: 22 26 1F        LD      ($1F26),HL          ; #
03FD: 18 23           JR      $422                ; #
03FF: 08              EX      AF,AF'              ; #
0400: 18 23           JR      $425                ; #
0402: F8              RET     M                   ; #
0403: 18 23           JR      $428                ; #
0405: 00              NOP                         ; #
0406: 10 F8           DJNZ    $400                ; #
0408: F9              LD      SP,HL               ; #
0409: FD CC 03 FB     CALL    Z,$FB03             ; #
040D: 12              LD      (DE),A              ; #
040E: 00              NOP                         ; #
040F: FF              RST     0X38                ; #
0410: FF              RST     0X38                ; #
0411: 12              LD      (DE),A              ; #
0412: 18 14           JR      $428                ; #
0414: 12              LD      (DE),A              ; #
0415: 03              INC     BC                  ; #
0416: 2A 12 10        LD      HL,($1012)          ; #
0419: 40              LD      B,B                 ; #
041A: 12              LD      (DE),A              ; #
041B: 01 20 12        LD      BC,$1220            ; #
041E: FE 71           CP      $71                 ; #
0420: F9              LD      SP,HL               ; #
0421: F1              POP     AF                  ; #
0422: FA 0C 04        JP      M,$040C             ; #
0425: EF              RST     0X28                ; #
0426: 30 04           JR      NC,$42C             ; #
0428: F6 AB           OR      $AB                 ; #
042A: 12              LD      (DE),A              ; #
042B: 02              LD      (BC),A              ; #
042C: 20 FD           JR      NZ,$42B             ; #
042E: 14              INC     D                   ; #
042F: 04              INC     B                   ; #
0430: F6 B0           OR      $B0                 ; #
0432: 23              INC     HL                  ; #
0433: 04              INC     B                   ; #
0434: 1A              LD      A,(DE)              ; #
0435: 23              INC     HL                  ; #
0436: 03              INC     BC                  ; #
0437: 1D              DEC     E                   ; #
0438: 23              INC     HL                  ; #
0439: 1A              LD      A,(DE)              ; #
043A: 25              DEC     H                   ; #
043B: 23              INC     HL                  ; #
043C: 03              INC     BC                  ; #
043D: 10 23           DJNZ    $462                ; #
043F: FD 48           LD      C,B                 ; #
0441: FD 20 04        JR      NZ,$448             ; #
0444: 12              LD      (DE),A              ; #
0445: 18 14           JR      $45B                ; #
0447: 12              LD      (DE),A              ; #
0448: 03              INC     BC                  ; #
0449: 2A 12 10        LD      HL,($1012)          ; #
044C: 40              LD      B,B                 ; #
044D: 12              LD      (DE),A              ; #
044E: 01 20 12        LD      BC,$1220            ; #
0451: FE 78           CP      $78                 ; #
0453: FF              RST     0X38                ; #
0454: 12              LD      (DE),A              ; #
0455: 18 14           JR      $46B                ; #
0457: F4 12 00        CALL    P,$0012             ; #
045A: 04              INC     B                   ; #
045B: FC 48 00        CALL    M,$0048             ; #
045E: FC FF 23        CALL    M,$23FF             ; #
0461: 00              NOP                         ; #
0462: 30 F8           JR      NC,$45C             ; #
0464: F9              LD      SP,HL               ; #
0465: FA 0C 04        JP      M,$040C             ; #
0468: FD 25           DEC     IYH                 ; #
046A: 04              INC     B                   ; #
046B: 12              LD      (DE),A              ; #
046C: 18 14           JR      $482                ; #
046E: FB              EI                          ; #
046F: 12              LD      (DE),A              ; #
0470: 00              NOP                         ; #
0471: FF              RST     0X38                ; #
0472: FF              RST     0X38                ; #
0473: 12              LD      (DE),A              ; #
0474: 18 1E           JR      $494                ; #
0476: 12              LD      (DE),A              ; #
0477: 00              NOP                         ; #
0478: 08              EX      AF,AF'              ; #
0479: F2 99 04        JP      P,$0499             ; #
047C: 00              NOP                         ; #
047D: 00              NOP                         ; #
047E: 0A              LD      A,(BC)              ; #
047F: F2 99 04        JP      P,$0499             ; #
0482: 00              NOP                         ; #
0483: 00              NOP                         ; #
0484: 0A              LD      A,(BC)              ; #
0485: 12              LD      (DE),A              ; #
0486: 00              NOP                         ; #
0487: 2C              INC     L                   ; #
0488: 12              LD      (DE),A              ; #
0489: FB              EI                          ; #
048A: 26 12           LD      H,$12               ; #
048C: 00              NOP                         ; #
048D: 02              LD      (BC),A              ; #
048E: FC 2E 12        CALL    M,$122E             ; #
0491: FA 3C FA        JP      M,$FA3C             ; #
0494: 9E              SBC     (HL)                ; #
0495: 03              INC     BC                  ; #
0496: FD 63           LD      IYH,E               ; #
0498: 03              INC     BC                  ; #
0499: 12              LD      (DE),A              ; #
049A: 00              NOP                         ; #
049B: 2C              INC     L                   ; #
049C: 12              LD      (DE),A              ; #
049D: FB              EI                          ; #
049E: 26 12           LD      H,$12               ; #
04A0: 00              NOP                         ; #
04A1: 02              LD      (BC),A              ; #
04A2: FC 2E 12        CALL    M,$122E             ; #
04A5: FA 18 12        JP      M,$1218             ; #
04A8: 00              NOP                         ; #
04A9: 10 FF           DJNZ    $4AA                ; #
04AB: 12              LD      (DE),A              ; #
04AC: 18 13           JR      $4C1                ; #
04AE: F2 C6 04        JP      P,$04C6             ; #
04B1: 00              NOP                         ; #
04B2: 00              NOP                         ; #
04B3: 08              EX      AF,AF'              ; #
04B4: F2 CF 04        JP      P,$04CF             ; #
04B7: 00              NOP                         ; #
04B8: 00              NOP                         ; #
04B9: 08              EX      AF,AF'              ; #
04BA: 12              LD      (DE),A              ; #
04BB: 18 0B           JR      $4C8                ; #
04BD: 12              LD      (DE),A              ; #
04BE: 00              NOP                         ; #
04BF: 34              INC     (HL)                ; #
04C0: 12              LD      (DE),A              ; #
04C1: FB              EI                          ; #
04C2: 26 FD           LD      H,$FD               ; #
04C4: 58              LD      E,B                 ; #
04C5: 03              INC     BC                  ; #
04C6: 12              LD      (DE),A              ; #
04C7: 00              NOP                         ; #
04C8: 10 12           DJNZ    $4DC                ; #
04CA: 18 0B           JR      $4D7                ; #
04CC: FD D8           RET     C                   ; #
04CE: 04              INC     B                   ; #
04CF: 12              LD      (DE),A              ; #
04D0: 00              NOP                         ; #
04D1: 08              EX      AF,AF'              ; #
04D2: 12              LD      (DE),A              ; #
04D3: 18 0B           JR      $4E0                ; #
04D5: 12              LD      (DE),A              ; #
04D6: 00              NOP                         ; #
04D7: 06 12           LD      B,$12               ; #
04D9: 00              NOP                         ; #
04DA: 22 12 FB    ; LD    ($FB12),HL         ; #
04DD: 26 12           LD      H,$12               ; #
04DF: 00              NOP                         ; #
04E0: 02              LD      (BC),A              ; #
04E1: FC 2E 12        CALL    M,$122E             ; #
04E4: FA 18 12        JP      M,$1218             ; #
04E7: 00              NOP                         ; #
04E8: 20 FF           JR      NZ,$4E9             ; #
04EA: 12              LD      (DE),A              ; #
04EB: 18 1E           JR      $50B                ; #
04ED: 12              LD      (DE),A              ; #
04EE: 00              NOP                         ; #
04EF: 14              INC     D                   ; #
04F0: F2 02 05        JP      P,$0502             ; #
04F3: 12              LD      (DE),A              ; #
04F4: 00              NOP                         ; #
04F5: 08              EX      AF,AF'              ; #
04F6: F2 02 05        JP      P,$0502             ; #
04F9: 12              LD      (DE),A              ; #
04FA: 00              NOP                         ; #
04FB: 18 12           JR      $50F                ; #
04FD: FB              EI                          ; #
04FE: 26 FD           LD      H,$FD               ; #
0500: 58              LD      E,B                 ; #
0501: 03              INC     BC                  ; #
0502: 12              LD      (DE),A              ; #
0503: E2 01 F3        JP      PO,$F301            ; #
0506: 08              EX      AF,AF'              ; #
0507: 07              RLCA                        ; #
0508: 06 05           LD      B,$05               ; #
050A: 04              INC     B                   ; #
050B: 03              INC     BC                  ; #
050C: 02              LD      (BC),A              ; #
050D: 01 F5 23        LD      BC,$23F5            ; #
0510: 00              NOP                         ; #
0511: 48              LD      C,B                 ; #
0512: FF              RST     0X38                ; #

;================================================================
; Interrupt comes here
; Interrupt is ignored if DSW2:5 is clear [FREEZE].
0513: AF              XOR     A                   ; Disable ...
0514: 32 21 68        LD      ($6821),A           ; ... interrupt delivery
0517: 3A 04 68        LD      A,($6804)           ; Read DSW bit 5
051A: E6 02           AND     $02                 ; FREEZE DIP switch set to 0?
051C: CA 75 05        JP      Z,$0575             ; Yes - skip processing
051F: 3A A0 92        LD      A,($92A0)           ; Bump counter ...
0522: 3C              INC     A                   ; ...
0523: 32 A0 92        LD      ($92A0),A           ; ... in 92A0
0526: 2A A1 92        LD      HL,($92A1)          ; Pair of special counters
0529: E6 1F           AND     $1F                 ; Mask off upper three bits of count
052B: 3D              DEC     A                   ; Is the current count 1?
052C: 28 08           JR      Z,$536              ; Yes, add 1 to H
052E: 3C              INC     A                   ; Was it 0?
052F: 20 06           JR      NZ,$537             ; No, leave 92A1 alone
0531: 7C              LD      A,H                 ; Set ...
0532: F6 01           OR      $01                 ; ... bit 0 ...
0534: 67              LD      H,A                 ; ... of H
0535: 2C              INC     L                   ; Add 1 to L
0536: 24              INC     H                   ; Add 1 to H
0537: 22 A1 92        LD      ($92A1),HL          ; TOPHER ?
053A: 3A C7 99        LD      A,($99C7)           ;
053D: 5F              LD      E,A                 ;
053E: 3A A7 92        LD      A,($92A7)           ;
0541: BB              CP      E                   ;
0542: CB 10           RL      B                   ;
0544: 3A 15 90        LD      A,($9015)           ;
0547: A0              AND     B                   ;
0548: E6 01           AND     $01                 ;
054A: 32 AA 92        LD      ($92AA),A           ;
;
054D: 0E 00           LD      C,$00               ; First command
054F: 21 20 90        LD      HL,$9020            ; Command flags
0552: 79              LD      A,C                 ; Command to A
0553: 85              ADD     A,L                 ; Bump HL ...
0554: 6F              LD      L,A                 ; ... by command number
0555: 7E              LD      A,(HL)              ; Get flag
0556: A7              AND     A                   ; Do command ...
0557: 20 03           JR      NZ,$55C             ; ... if flag is not 0
0559: 0C              INC     C                   ; Else ...
055A: 18 F3           JR      $54F                ; ... continue with next command.
;
; Do commands
055C: 47              LD      B,A                 ; Hold flag byte
055D: 21 3B 00        LD      HL,$003B            ; Jump table
0560: 79              LD      A,C                 ; Command
0561: CB 27           SLA     A                   ; *2
0563: 85              ADD     A,L                 ; Offset into table
0564: 6F              LD      L,A                 ; Set HL to table point
0565: 5E              LD      E,(HL)              ; Get LSB
0566: 23              INC     HL                  ; Bump
0567: 56              LD      D,(HL)              ; Get MSB
0568: EB              EX      DE,HL               ; HL to DE
0569: C5              PUSH    BC                  ; Preserve BC (B=flag,C=command)
056A: CD 34 00        CALL    $0034               ; Vector to command
056D: C1              POP     BC                  ; Restore BC
056E: 78              LD      A,B                 ; Flag byte
056F: 81              ADD     A,C                 ; Add to command number
0570: 4F              LD      C,A                 ; Back to command number
0571: E6 F8           AND     $F8                 ; Only 8 commands
0573: 28 DA           JR      Z,$54F              ; Reload flag table
;
0575: 3E 01           LD      A,$01               ; Enable ...
0577: 32 21 68        LD      ($6821),A           ; ... interrupt delivery
057A: FB              EI                          ; Enable interrupt receiver
057B: C9              RET                         ; Done

;================================================================
; Initialization
; Wait for CLEAR, send checksum results, and wait for CLEAR.
; Enable IRQ
; Initialize 7 bytes of memory at 89E0
; Infinite loop processing IRQ and resetting stack to 9100.
057C: 11 00 91        LD      DE,$9100            ; Semaphore
057F: 1A              LD      A,(DE)              ; Wait for ...
0580: A7              AND     A                   ; ... CPU1 to ...
0581: 20 FC           JR      NZ,$57F             ; ... initialize
0583: 67              LD      H,A                 ; Zero H
0584: 6F              LD      L,A                 ; Zero L
0585: 01 10 00        LD      BC,$0010            ; Checksum ...
0588: 86              ADD     A,(HL)              ; ... first ...
0589: 23              INC     HL                  ; ... 1000 ...
058A: 10 FC           DJNZ    $588                ; ... bytes
058C: 0D              DEC     C                   ; ...
058D: 20 F9           JR      NZ,$588             ; ... of ROM
058F: FE FF           CP      $FF                 ; ROM checksum looks good?
0591: 28 02           JR      Z,$595              ; Yes - move on
0593: 3E 11           LD      A,$11               ; Bad checksum value
0595: 12              LD      (DE),A              ; Tell CPU2
0596: 1A              LD      A,(DE)              ; Wait ...
0597: A7              AND     A                   ; ... for ...
0598: 20 FC           JR      NZ,$596             ; ... acknowledgement
059A: ED 56           IM      1                   ; Set interrupt mode
059C: AF              XOR     A                   ; Zero
059D: 32 E0 89        LD      ($89E0),A           ; Clear byte
05A0: 21 B7 05        LD      HL,$05B7            ; Copy ...
05A3: 11 21 90        LD      DE,$9021            ; ... bytes ...
05A6: 01 07 00        LD      BC,$0007            ; ... from ...
05A9: ED B0           LDIR                        ; ... ROM
05AB: 3E 01           LD      A,$01               ; Enable ...
05AD: 32 21 68        LD      ($6821),A           ; ... IRQ delivery
05B0: FB              EI                          ; Enable IRQ handling
05B1: 31 00 91        LD      SP,$9100            ; Infinte loop ...
05B4: C3 B1 05        JP      $05B1               ; ... resets stack after each

;================================================================
; TOPHER Moved to 89E0
05B7: 01 01 00        LD      BC,$0001            ;
05BA: 01 01 00        LD      BC,$0001            ;
05BD: 0A              LD      A,(BC)              ;

; Commands 0,3,6
05BE: C9              RET                         ;

;================================================================
; Command 1 : Looks like drawing of the blue bees and the big bees
; TOPHER What exactly is going on here?
; Linked to CPU1 0863
05BF: 3E 01           LD      A,$01               ; Flag move ...
05C1: 32 D7 92        LD      ($92D7),A           ; ... in progress
05C4: 21 00 8B        LD      HL,$8B00            ; Move 0x40 bytes ...
05C7: 11 80 8B        LD      DE,$8B80            ; ... from ...
05CA: 01 40 00        LD      BC,$0040            ; ... 8B80 to 8B00 ...
05CD: ED B0           LDIR                        ; .
05CF: 21 00 93        LD      HL,$9300            ; Move 0x40 bytes ...
05D2: 11 80 93        LD      DE,$9380            ; ... from ...
05D5: 0E 40           LD      C,$40               ; ...
05D7: ED B0           LDIR                        ; .
05D9: 21 00 9B        LD      HL,$9B00            ; Move 0x40 bytes ...
05DC: 11 80 9B        LD      DE,$9B80            ; ... from ...
05DF: 0E 40           LD      C,$40               ; ...
05E1: ED B0           LDIR                        ; .
05E3: AF              XOR     A                   ; Flag move ...
05E4: 32 D7 92        LD      ($92D7),A           ; ... is complete
05E7: 3A D6 92        LD      A,($92D6)           ; Wait for 92D6 ...
05EA: 3D              DEC     A                   ; ... to got to ...
05EB: 28 FA           JR      Z,$5E7              ; ... 01
05ED: C9              RET                         ; Done

;================================================================
; Command 5: Player Collision Detection
05EE: 3A 14 90        LD      A,($9014)           ; Do detection?
05F1: A7              AND     A                   ; No ...
05F2: C8              RET     Z                   ; ... return
05F3: 32 17 92        LD      ($9217),A           ;
05F6: 3A 27 98        LD      A,($9827)           ;
05F9: A7              AND     A                   ;
05FA: 28 17           JR      Z,$613              ; 
05FC: 21 60 93        LD      HL,$9360            ;
05FF: 7E              LD      A,(HL)              ;
0600: A7              AND     A                   ;
0601: 28 10           JR      Z,$613              ; 
0603: CD 81 06        CALL    $0681               ; 
0606: 3A BF 99        LD      A,($99BF)           ;
0609: A7              AND     A                   ;
060A: 28 07           JR      Z,$613              ; 
060C: CD 49 06        CALL    $0649               ; 
060F: AF              XOR     A                   ;
0610: 32 2B 98        LD      ($982B),A           ;
0613: 21 62 93        LD      HL,$9362            ;
0616: 7E              LD      A,(HL)              ;
0617: A7              AND     A                   ;
0618: C8              RET     Z                   ;
0619: CD 81 06        CALL    $0681               ; 
061C: 3A BF 99        LD      A,($99BF)           ;
061F: A7              AND     A                   ;
0620: C8              RET     Z                   ;
0621: 3A 27 98        LD      A,($9827)           ;
0624: A7              AND     A                   ;
0625: 28 12           JR      Z,$639              ; 
0627: AF              XOR     A                   ;
0628: 32 2B 98        LD      ($982B),A           ;
062B: 3A 60 93        LD      A,($9360)           ;
062E: 32 62 93        LD      ($9362),A           ;
0631: 3A E2 93        LD      A,($93E2)           ;
0634: 21 E0 93        LD      HL,$93E0            ;
0637: 18 16           JR      $64F                ; 
0639: AF              XOR     A                   ;
063A: 32 14 90        LD      ($9014),A           ;
063D: 32 15 90        LD      ($9015),A           ;
0640: 32 25 90        LD      ($9025),A           ;
0643: 32 B9 99        LD      ($99B9),A           ;
0646: 32 17 92        LD      ($9217),A           ;
0649: EB              EX      DE,HL               ;
064A: 26 93           LD      H,$93               ;
064C: CB FD           SET     7,L                 ;
064E: 7E              LD      A,(HL)              ;
064F: D6 08           SUB     $08                 ;
0651: CB BD           RES     7,L                 ;
0653: 77              LD      (HL),A              ;
0654: 2C              INC     L                   ;
0655: 7E              LD      A,(HL)              ;
0656: D6 08           SUB     $08                 ;
0658: 77              LD      (HL),A              ;
0659: 26 8B           LD      H,$8B               ;
065B: 36 0B           LD      (HL),$0B            ;
065D: 2D              DEC     L                   ;
065E: 36 20           LD      (HL),$20            ;
0660: 26 88           LD      H,$88               ;
0662: 36 08           LD      (HL),$08            ;
0664: 2C              INC     L                   ;
0665: 36 0F           LD      (HL),$0F            ;
0667: 2D              DEC     L                   ;
0668: 26 9B           LD      H,$9B               ;
066A: 36 0C           LD      (HL),$0C            ;
066C: AF              XOR     A                   ;
066D: 32 27 98        LD      ($9827),A           ;
0670: 3A 01 92        LD      A,($9201)           ;
0673: 3D              DEC     A                   ;
0674: 32 B9 9A        LD      ($9AB9),A           ;
0677: 3A 17 92        LD      A,($9217)           ;
067A: A7              AND     A                   ;
067B: C0              RET     NZ                  ;
067C: 3C              INC     A                   ;
067D: 32 13 92        LD      ($9213),A           ;
0680: C9              RET                         ;
;
0681: AF              XOR     A                   ;
0682: 32 BF 99        LD      ($99BF),A           ;
0685: 26 88           LD      H,$88               ;
0687: 7E              LD      A,(HL)              ;
0688: 26 93           LD      H,$93               ;
068A: FE 08           CP      $08                 ;
068C: C8              RET     Z                   ;
068D: 7E              LD      A,(HL)              ;
068E: DD 6F           LD      IXL,A               ;
0690: 2C              INC     L                   ;
0691: 46              LD      B,(HL)              ;
0692: 26 9B           LD      H,$9B               ;
0694: 7E              LD      A,(HL)              ;
0695: 0F              RRCA                        ;
0696: CB 18           RR      B                   ;
0698: DD 60           LD      IXH,B               ;
069A: 2D              DEC     L                   ;
069B: 5D              LD      E,L                 ;
069C: 3A 08 90        LD      A,($9008)           ;
069F: A7              AND     A                   ;
06A0: 28 06           JR      Z,$6A8              ; 
06A2: 2E 38           LD      L,$38               ;
06A4: 06 04           LD      B,$04               ;
06A6: 18 04           JR      $6AC                ; 
06A8: 2E 00           LD      L,$00               ;
06AA: 06 30           LD      B,$30               ; 48 Bees to check
06AC: CD B7 06        CALL    $06B7               ; Check collision with bees
06AF: 2E 68           LD      L,$68               ; Shot space
06B1: 06 08           LD      B,$08               ; Eight shots to check
06B3: CD B7 06        CALL    $06B7               ; Check collision with fire
06B6: C9              RET                         ;
;
06B7: 26 92           LD      H,$92               ;
06B9: 7E              LD      A,(HL)              ;
06BA: 26 88           LD      H,$88               ;
06BC: B6              OR      (HL)                ;
06BD: 07              RLCA                        ; Upper bit set?
06BE: 38 30           JR      C,$6F0              ; Yes ... next entity
06C0: 7E              LD      A,(HL)              ;
06C1: E6 FE           AND     $FE                 ;
06C3: FE 04           CP      $04                 ;
06C5: 28 29           JR      Z,$6F0              ; Next entity
06C7: 26 93           LD      H,$93               ;
06C9: 7E              LD      A,(HL)              ;
06CA: A7              AND     A                   ;
06CB: 28 23           JR      Z,$6F0              ; Next entity
06CD: DD 95           SUB     IXL                 ;
06CF: D6 07           SUB     $07                 ;
06D1: C6 0D           ADD     $0D                 ;
06D3: 30 1B           JR      NC,$6F0             ; Next entity
06D5: 2C              INC     L                   ;
06D6: 7E              LD      A,(HL)              ;
06D7: 26 9B           LD      H,$9B               ;
06D9: 4E              LD      C,(HL)              ;
06DA: 2D              DEC     L                   ;
06DB: CB 09           RRC     C                   ;
06DD: 1F              RRA                         ;
06DE: DD 94           SUB     IXH                 ;
06E0: D6 04           SUB     $04                 ;
06E2: C6 07           ADD     $07                 ;
06E4: 30 0A           JR      NC,$6F0             ; Next entity
06E6: 3E 01           LD      A,$01               ;
06E8: 32 BF 99        LD      ($99BF),A           ;
06EB: B7              OR      A                   ;
06EC: 08              EX      AF,AF'              ;
06ED: C3 C2 07        JP      $07C2               ; User hit?
;
06F0: 2C              INC     L                   ; Next ...
06F1: 2C              INC     L                   ; ... pointer
06F2: 10 C3           DJNZ    $6B7                ; Do until all checked.
06F4: C9              RET                         ; Then return

;================================================================
; Command 4 : Move the player's fire
06F5: 11 A4 92        LD      DE,$92A4            ;
06F8: 21 64 93        LD      HL,$9364            ;
06FB: CD 04 07        CALL    $0704               ; 
06FE: 11 A5 92        LD      DE,$92A5            ;
0701: 21 66 93        LD      HL,$9366            ;
0704: 7E              LD      A,(HL)              ;
0705: A7              AND     A                   ;
0706: C8              RET     Z                   ;
0707: 1A              LD      A,(DE)              ;
0708: 47              LD      B,A                 ;
0709: E6 07           AND     $07                 ;
070B: 08              EX      AF,AF'              ;
070C: 3E 06           LD      A,$06               ;
070E: CB 78           BIT     7,B                 ;
0710: 28 01           JR      Z,$713              ; 
0712: 08              EX      AF,AF'              ;
0713: CB 70           BIT     6,B                 ;
0715: 28 02           JR      Z,$719              ; 
0717: ED 44           NEG                         ;
0719: 86              ADD     A,(HL)              ;
071A: 77              LD      (HL),A              ;
071B: FE F0           CP      $F0                 ;
071D: 30 44           JR      NC,$763             ; 
071F: DD 6F           LD      IXL,A               ;
0721: 2C              INC     L                   ;
0722: 08              EX      AF,AF'              ;
0723: CB 68           BIT     5,B                 ;
0725: 28 02           JR      Z,$729              ; 
0727: ED 44           NEG                         ;
0729: 4F              LD      C,A                 ;
072A: 86              ADD     A,(HL)              ;
072B: 77              LD      (HL),A              ;
072C: 1F              RRA                         ;
072D: A9              XOR     C                   ;
072E: 26 9B           LD      H,$9B               ;
0730: 07              RLCA                        ;
0731: 30 05           JR      NC,$738             ; 
0733: CB 0E           RRC     (HL)                ;
0735: 3F              CCF                         ;
0736: CB 16           RL      (HL)                ;
0738: 4E              LD      C,(HL)              ;
0739: 26 93           LD      H,$93               ;
073B: 7E              LD      A,(HL)              ;
073C: CB 09           RRC     C                   ;
073E: 1F              RRA                         ;
073F: DD 67           LD      IXH,A               ;
0741: FE 14           CP      $14                 ;
0743: 38 1B           JR      C,$760              ; 
0745: FE 9C           CP      $9C                 ;
0747: 30 17           JR      NC,$760             ; 
0749: 5D              LD      E,L                 ;
074A: 3A 1D 90        LD      A,($901D)           ;
074D: A7              AND     A                   ;
074E: 28 07           JR      Z,$757              ; 
0750: 21 08 93        LD      HL,$9308            ;
0753: 06 2C           LD      B,$2C               ;
0755: 18 05           JR      $75C                ; 
0757: 21 00 93        LD      HL,$9300            ;
075A: 06 30           LD      B,$30               ; 48 descriptors to check
075C: CD 6A 07        CALL    $076A               ; Check them ...
075F: C9              RET                         ; ... and out
;
0760: 2D              DEC     L                   ;
0761: 26 93           LD      H,$93               ;
0763: 36 00           LD      (HL),$00            ;
0765: 26 9B           LD      H,$9B               ;
0767: 36 00           LD      (HL),$00            ;
0769: C9              RET                         ;
;
076A: 26 92           LD      H,$92               ; ** Loop starts here **
076C: 7E              LD      A,(HL)              ;
076D: 26 88           LD      H,$88               ;
076F: B6              OR      (HL)                ;
0770: 07              RLCA                        ;
0771: 38 41           JR      C,$7B4              ; Cary set if #80 --
0773: 7E              LD      A,(HL)              ;
0774: 4F              LD      C,A                 ;
0775: E6 FE           AND     $FE                 ;
0777: FE 04           CP      $04                 ;
0779: 28 39           JR      Z,$7B4              ; 
077B: 2C              INC     L                   ;
077C: 26 9B           LD      H,$9B               ;
077E: 56              LD      D,(HL)              ;
077F: 26 93           LD      H,$93               ;
0781: 7E              LD      A,(HL)              ;
0782: CB 0A           RRC     D                   ;
0784: 1F              RRA                         ;
0785: 2D              DEC     L                   ;
0786: DD 94           SUB     IXH                 ;
0788: D6 03           SUB     $03                 ;
078A: C6 06           ADD     $06                 ;
078C: 30 26           JR      NC,$7B4             ; Move on to next
078E: 79              LD      A,C                 ;
078F: 3D              DEC     A                   ;
0790: E6 FE           AND     $FE                 ;
0792: 08              EX      AF,AF'              ;
0793: 3A 27 98        LD      A,($9827)           ;
0796: A7              AND     A                   ;
0797: 7E              LD      A,(HL)              ;
0798: 20 0A           JR      NZ,$7A4             ; 
079A: DD 95           SUB     IXL                 ;
079C: D6 06           SUB     $06                 ;
079E: C6 0B           ADD     $0B                 ;
07A0: 38 17           JR      C,$7B9              ; 
07A2: 18 10           JR      $7B4                ; Move on to next
07A4: DD 95           SUB     IXL                 ;
07A6: D6 14           SUB     $14                 ;
07A8: C6 0B           ADD     $0B                 ;
07AA: 38 0D           JR      C,$7B9              ; 
07AC: C6 04           ADD     $04                 ;
07AE: 38 04           JR      C,$7B4              ; 
07B0: C6 0B           ADD     $0B                 ;
07B2: 38 05           JR      C,$7B9              ; 
07B4: 2C              INC     L                   ; Next ...
07B5: 2C              INC     L                   ; ... descriptor
07B6: 10 B2           DJNZ    $76A                ; Do all
07B8: C9              RET                         ; Return after all descriptors are processed
07B9: 7D              LD      A,L                 ;
07BA: 2A 44 98        LD      HL,($9844)          ;
07BD: 23              INC     HL                  ;
07BE: 22 44 98        LD      ($9844),HL          ;
07C1: 6F              LD      L,A                 ;
;
07C2: 16 93           LD      D,$93               ;
07C4: AF              XOR     A                   ;
07C5: 12              LD      (DE),A              ;
07C6: 16 9B           LD      D,$9B               ;
07C8: 12              LD      (DE),A              ;
07C9: 2C              INC     L                   ;
07CA: 26 8B           LD      H,$8B               ;
07CC: 7E              LD      A,(HL)              ;
07CD: 4F              LD      C,A                 ;
07CE: A7              AND     A                   ;
07CF: CA CA 08        JP      Z,$08CA             ; 
07D2: 2D              DEC     L                   ;
07D3: FE 0B           CP      $0B                 ;
07D5: 28 3E           JR      Z,$815              ; 
07D7: 08              EX      AF,AF'              ;
07D8: 20 44           JR      NZ,$81E             ; 
07DA: 08              EX      AF,AF'              ;
07DB: 26 92           LD      H,$92               ;
07DD: 36 81           LD      (HL),$81            ;
07DF: 3A 28 98        LD      A,($9828)           ;
07E2: 95              SUB     L                   ;
07E3: 20 07           JR      NZ,$7EC             ; 
07E5: 32 2B 98        LD      ($982B),A           ;
07E8: 3C              INC     A                   ;
07E9: 32 28 98        LD      ($9828),A           ;
07EC: E5              PUSH    HL                  ;
07ED: 79              LD      A,C                 ;
07EE: FE 07           CP      $07                 ;
07F0: 20 03           JR      NZ,$7F5             ; 
07F2: 3D              DEC     A                   ;
07F3: 18 03           JR      $7F8                ; 
07F5: 3D              DEC     A                   ;
07F6: E6 03           AND     $03                 ;
07F8: 21 A1 9A        LD      HL,$9AA1            ;
07FB: D7              RST     0X10                ;
07FC: 36 01           LD      (HL),$01            ;
07FE: 79              LD      A,C                 ;
07FF: FE 07           CP      $07                 ;
0801: 20 05           JR      NZ,$808             ; 
0803: 21 2B 98        LD      HL,$982B            ;
0806: 36 00           LD      (HL),$00            ;
0808: 21 90 92        LD      HL,$9290            ;
080B: D7              RST     0X10                ;
080C: 34              INC     (HL)                ;
080D: 08              EX      AF,AF'              ;
080E: 28 01           JR      Z,$811              ; 
0810: 34              INC     (HL)                ;
0811: E1              POP     HL                  ;
0812: C3 B4 07        JP      $07B4               ; 
;
0815: 26 93           LD      H,$93               ; Putting a return here crashes the game at lev 3
0817: 36 00           LD      (HL),$00            ;
0819: 26 88           LD      H,$88               ;
081B: 36 80           LD      (HL),$80            ; Doesn't seem to be called anywhere
081D: C9              RET                         ;
;
081E: 26 88           LD      H,$88               ;
0820: E5              PUSH    HL                  ;
0821: 08              EX      AF,AF'              ;
0822: 2C              INC     L                   ;
0823: 7E              LD      A,(HL)              ;
0824: 26 91           LD      H,$91               ;
0826: C6 13           ADD     $13                 ;
0828: 6F              LD      L,A                 ;
0829: 36 00           LD      (HL),$00            ;
082B: 21 88 92        LD      HL,$9288            ;
082E: 34              INC     (HL)                ;
082F: 21 A8 92        LD      HL,$92A8            ;
0832: 35              DEC     (HL)                ;
0833: E1              POP     HL                  ;
0834: 20 13           JR      NZ,$849             ; 
0836: 26 92           LD      H,$92               ;
0838: 3A 85 92        LD      A,($9285)           ;
083B: 77              LD      (HL),A              ;
083C: 3A 84 92        LD      A,($9284)           ;
083F: 67              LD      H,A                 ;
0840: 3A 9F 92        LD      A,($929F)           ;
0843: 84              ADD     A,H                 ;
0844: 32 9F 92        LD      ($929F),A           ;
0847: 18 96           JR      $7DF                ; 
0849: 79              LD      A,C                 ;
084A: FE 07           CP      $07                 ;
084C: 20 04           JR      NZ,$852             ; 
084E: 16 B8           LD      D,$B8               ;
0850: 18 5E           JR      $8B0                ; 
0852: 3A 2D 98        LD      A,($982D)           ;
0855: BD              CP      L                   ;
0856: CA B6 08        JP      Z,$08B6             ; 
0859: 7D              LD      A,L                 ;
085A: E6 38           AND     $38                 ;
085C: FE 38           CP      $38                 ;
085E: CA B6 08        JP      Z,$08B6             ; 
0861: 79              LD      A,C                 ;
0862: FE 01           CP      $01                 ;
0864: C2 DB 07        JP      NZ,$07DB            ; 
0867: D5              PUSH    DE                  ;
0868: 7D              LD      A,L                 ;
0869: E6 07           AND     $07                 ;
086B: 5F              LD      E,A                 ;
086C: 16 88           LD      D,$88               ;
086E: 1A              LD      A,(DE)              ;
086F: FE 09           CP      $09                 ;
0871: 20 26           JR      NZ,$899             ; 
0873: E5              PUSH    HL                  ;
0874: EB              EX      DE,HL               ;
0875: 2C              INC     L                   ;
0876: 7E              LD      A,(HL)              ;
0877: C6 13           ADD     $13                 ;
0879: 5F              LD      E,A                 ;
087A: 16 91           LD      D,$91               ;
087C: AF              XOR     A                   ;
087D: 12              LD      (DE),A              ;
087E: 26 8B           LD      H,$8B               ;
0880: 36 09           LD      (HL),$09            ;
0882: 2D              DEC     L                   ;
0883: 7D              LD      A,L                 ;
0884: 32 28 98        LD      ($9828),A           ;
0887: 26 88           LD      H,$88               ;
0889: AF              XOR     A                   ;
088A: 77              LD      (HL),A              ;
088B: 32 8B 92        LD      ($928B),A           ;
088E: 3C              INC     A                   ;
088F: 32 1D 90        LD      ($901D),A           ;
0892: 32 8D 92        LD      ($928D),A           ;
0895: 32 B1 9A        LD      ($9AB1),A           ;
0898: E1              POP     HL                  ;
0899: D1              POP     DE                  ;
089A: E5              PUSH    HL                  ;
089B: 3E 06           LD      A,$06               ;
089D: 32 AD 92        LD      ($92AD),A           ;
08A0: 7D              LD      A,L                 ;
08A1: E6 07           AND     $07                 ;
08A3: 21 30 98        LD      HL,$9830            ;
08A6: D7              RST     0X10                ;
08A7: 7E              LD      A,(HL)              ;
08A8: 2C              INC     L                   ;
08A9: 56              LD      D,(HL)              ;
08AA: 21 9F 92        LD      HL,$929F            ;
08AD: 86              ADD     A,(HL)              ;
08AE: 77              LD      (HL),A              ;
08AF: E1              POP     HL                  ;
08B0: 26 92           LD      H,$92               ;
08B2: 72              LD      (HL),D              ;
08B3: C3 DF 07        JP      $07DF               ; 
08B6: E5              PUSH    HL                  ;
08B7: 21 B0 99        LD      HL,$99B0            ;
08BA: 35              DEC     (HL)                ;
08BB: E1              POP     HL                  ;
08BC: C2 DB 07        JP      NZ,$07DB            ; 
08BF: 3A B2 99        LD      A,($99B2)           ;
08C2: 57              LD      D,A                 ;
08C3: 3A B1 99        LD      A,($99B1)           ;
08C6: E5              PUSH    HL                  ;
08C7: C3 AA 08        JP      $08AA               ; 
08CA: 3C              INC     A                   ;
08CB: 77              LD      (HL),A              ;
08CC: 32 A4 9A        LD      ($9AA4),A           ;
08CF: 2D              DEC     L                   ;
08D0: C3 B4 07        JP      $07B4               ; 

;================================================================
; Command 2: Process All Enemies
08D3: DD 21 00 91     LD      IX,$9100            ; Bee space
08D7: 3E 0C           LD      A,$0C               ; 12 to do
08D9: 32 89 92        LD      ($9289),A           ; Set counter
08DC: 21 86 92        LD      HL,$9286            ; Move (9286) ...
08DF: 7E              LD      A,(HL)              ; ... to (9287) ...
08E0: 36 00           LD      (HL),$00            ; ... and ...
08E2: 23              INC     HL                  ; ... clear ...
08E3: 77              LD      (HL),A              ; ... 9286.
;
08E4: DD CB 13 46     BIT     0,(IX+$13)          ; This bee active?
08E8: CA FA 0D        JP      Z,$0DFA             ; No ... next bee
08EB: 21 86 92        LD      HL,$9286            ;
08EE: 34              INC     (HL)                ;
08EF: DD 6E 10        LD      L,(IX+$10)          ;
08F2: 26 88           LD      H,$88               ;
08F4: 7E              LD      A,(HL)              ;
08F5: FE 03           CP      $03                 ;
08F7: 28 09           JR      Z,$902              ; 
08F9: FE 09           CP      $09                 ;
08FB: 28 05           JR      Z,$902              ; 
08FD: FE 07           CP      $07                 ;
08FF: C2 48 0E        JP      NZ,$0E48            ; Movement Routine 0: Not 7

0902: DD 35 0D        DEC     (IX+$0D)            ;
0905: C2 00 0C        JP      NZ,$0C00            ; 
0908: DD 6E 08        LD      L,(IX+$08)          ; Get movement ...
090B: DD 66 09        LD      H,(IX+$09)          ; ... command byte
090E: 7E              LD      A,(HL)              ; Movement routine
090F: FE EF           CP      $EF                 ; CPL(EF) = 00010000
0911: DA D7 0B        JP      C,$0BD7             ; Not in table - jump into routine 5
0914: E5              PUSH    HL                  ; Save descriptor on stack
0915: 2F              CPL                         ; Complement
0916: 21 20 09        LD      HL,$0920            ; Movement routines
0919: CF              RST     0X08                ; Get offset
091A: 7E              LD      A,(HL)              ; Put ...
091B: 23              INC     HL                  ; ... routine ...
091C: 66              LD      H,(HL)              ; ... pointer ...
091D: 6F              LD      L,A                 ; ... in HL.
091E: E3              EX      (SP),HL             ; Put routine on the stack
091F: C9              RET                         ; Continue with movement routine

; Movement routines
0920: 48 0E       ; 0: (Code does little.) ?
0922: 11 0B       ; 1: Blue Bees Attack Pattern
0924: 41 0B       ; 2:
0926: 49 0B       ; 3:
0928: 9B 0A       ; 4: Keeps ships from leaving initial circle to formation
092A: CC 0B       ; 5: Keeps attack pattern from returning to formation
092C: 5A 0B       ; 6: "
092E: 82 0B       ; 7: Keeps pick-up bee from returning to formation
0930: 93 0B       ; 8: Something strange in the very first fly-on
0932: A3 0B       ; 9: Something strange late in a wave
0934: 42 09       ; A: CHECK THIS OUT -- freezes blue bees after "cheat bee's" first dive
0936: 50 0A       ; B: Pickers caught in circle at top
0938: FE 09       ; C: Red bee caught in large circle
093A: 7B 09       ; D: Split bee into specail bees
093C: 68 09       ; E: ?
093E: 55 09       ; F: Initial wave caught in initial circle
0940: 4E 09       ; 10: ?

; Move command A
0942: DD 5E 10        LD      E,(IX+$10)          ;
0945: 16 88           LD      D,$88               ;
0947: 3E 03           LD      A,$03               ;
0949: 12              LD      (DE),A              ;
094A: 23              INC     HL                  ;
094B: C3 0E 09        JP      $090E               ; 

; Movement Routine 10
094E: 3A C9 99        LD      A,($99C9)           ;
0951: A7              AND     A                   ;
0952: C3 59 09        JP      $0959               ; 

; Movement Routine F
0955: 3A C8 99        LD      A,($99C8)           ;
0958: A7              AND     A                   ;
0959: 28 08           JR      Z,$963              ; 
095B: 23              INC     HL                  ;
095C: 7E              LD      A,(HL)              ;
095D: 23              INC     HL                  ;
095E: 66              LD      H,(HL)              ;
095F: 6F              LD      L,A                 ;
0960: C3 87 0B        JP      $0B87               ; 
0963: 23              INC     HL                  ;
0964: 23              INC     HL                  ;
0965: C3 86 0B        JP      $0B86               ; 

; Movement Routine E
0968: DD 5E 10        LD      E,(IX+$10)          ;
096B: 16 01           LD      D,$01               ;
096D: 1A              LD      A,(DE)              ;
096E: 5F              LD      E,A                 ;
096F: 16 99           LD      D,$99               ;
0971: 1C              INC     E                   ;
0972: 1A              LD      A,(DE)              ;
0973: C6 20           ADD     $20                 ; Add 20
0975: DD 77 01        LD      (IX+$01),A          ; Y coordinate
0978: C3 86 0B        JP      $0B86               ; 

; Movement Routine D (Split blue bee into special bees)
097B: E5              PUSH    HL                  ;
097C: DD 5E 10        LD      E,(IX+$10)          ;
097F: 21 38 88        LD      HL,$8838            ;
0982: 06 04           LD      B,$04               ; 4 to do
0984: 7E              LD      A,(HL)              ; Get flag
0985: 07              RLCA                        ; Left bit into C
0986: 38 07           JR      C,$98F              ; Slot is empty - so something
0988: 2C              INC     L                   ; Find ...
0989: 2C              INC     L                   ; ... next slot
098A: 10 F8           DJNZ    $984                ; Look at all
098C: C3 FA 09        JP      $09FA               ; No slots found. Can't do this.
098F: 26 8B           LD      H,$8B               ;
0991: 54              LD      D,H                 ;
0992: 1A              LD      A,(DE)              ;
0993: 77              LD      (HL),A              ;
0994: 2C              INC     L                   ;
0995: 1C              INC     E                   ;
0996: 1A              LD      A,(DE)              ;
0997: 77              LD      (HL),A              ;
0998: 2D              DEC     L                   ;
0999: 7D              LD      A,L                 ;
099A: 08              EX      AF,AF'              ;
099B: 21 EF 91        LD      HL,$91EF            ;
099E: 11 EC FF        LD      DE,$FFEC            ; -0x14?
09A1: 06 0C           LD      B,$0C               ; 12 bees
09A3: 7E              LD      A,(HL)              ; Check the bee
09A4: E6 01           AND     $01                 ; Good one ...
09A6: 28 06           JR      Z,$9AE              ; ... use it
09A8: 19              ADD     HL,DE               ; Back up a bee
09A9: 10 F8           DJNZ    $9A3                ; Do all bees
09AB: C3 FA 09        JP      $09FA               ; Next bee
09AE: 19              ADD     HL,DE               ; Back up a bee
09AF: 23              INC     HL                  ;
09B0: DD 7E 00        LD      A,(IX+$00)          ; X Coordinate
09B3: DD 5D           LD      E,IXL               ;
09B5: DD 54           LD      D,IXH               ;
09B7: EB              EX      DE,HL               ;
09B8: FD 6B           LD      IYL,E               ;
09BA: FD 62           LD      IYH,D               ;
09BC: 01 06 00        LD      BC,$0006            ;
09BF: ED B0           LDIR                        ;
09C1: 0E 06           LD      C,$06               ;
09C3: 09              ADD     HL,BC               ;
09C4: EB              EX      DE,HL               ;
09C5: 19              ADD     HL,DE               ;
09C6: EB              EX      DE,HL               ;
09C7: 0E 04           LD      C,$04               ;
09C9: ED B0           LDIR                        ;
09CB: DD 7E 13        LD      A,(IX+$13)          ;
09CE: FD 77 13        LD      (IY+$13),A          ;
09D1: E1              POP     HL                  ;
09D2: 23              INC     HL                  ;
09D3: 7E              LD      A,(HL)              ;
09D4: FD 77 08        LD      (IY+$08),A          ;
09D7: 23              INC     HL                  ;
09D8: 7E              LD      A,(HL)              ;
09D9: FD 77 09        LD      (IY+$09),A          ;
09DC: FD 36 0A 01     LD      (IY+$0A),$01        ;
09E0: FD 36 0B 02     LD      (IY+$0B),$02        ;
09E4: FD 36 0D 01     LD      (IY+$0D),$01        ;
09E8: 08              EX      AF,AF'              ;
09E9: FD 77 10        LD      (IY+$10),A          ;
09EC: 5F              LD      E,A                 ;
09ED: 16 88           LD      D,$88               ;
09EF: 3E 09           LD      A,$09               ;
09F1: 12              LD      (DE),A              ;
09F2: 1C              INC     E                   ;
09F3: FD 7D           LD      A,IYL               ;
09F5: 12              LD      (DE),A              ;
09F6: 23              INC     HL                  ;
09F7: C3 0E 09        JP      $090E               ; 
09FA: E1              POP     HL                  ;
09FB: C3 9D 0B        JP      $0B9D               ; 

; Movement Routine C
09FE: E5              PUSH    HL                  ;
09FF: EB              EX      DE,HL               ;
0A00: 3A 15 92        LD      A,($9215)           ;
0A03: 4F              LD      C,A                 ;
0A04: 3A 62 93        LD      A,($9362)           ;
0A07: FE 1E           CP      $1E                 ;
0A09: 30 02           JR      NC,$A0D             ; 
0A0B: 3E 1E           LD      A,$1E               ;
0A0D: FE D1           CP      $D1                 ;
0A0F: 38 02           JR      C,$A13              ; 
0A11: 3E D1           LD      A,$D1               ;
0A13: CB 41           BIT     0,C                 ;
0A15: 28 04           JR      Z,$A1B              ; 
0A17: C6 0E           ADD     $0E                 ;
0A19: ED 44           NEG                         ;
0A1B: CB 3F           SRL     A                   ;
0A1D: DD 96 03        SUB     (IX+$03)            ;
0A20: 1F              RRA                         ;
0A21: DD CB 13 7E     BIT     7,(IX+$13)          ;
0A25: 28 02           JR      Z,$A29              ; 
0A27: ED 44           NEG                         ;
0A29: C6 18           ADD     $18                 ;
0A2B: F2 2F 0A        JP      P,$0A2F             ; 
0A2E: AF              XOR     A                   ;
0A2F: FE 30           CP      $30                 ;
0A31: 38 02           JR      C,$A35              ; 
0A33: 3E 2F           LD      A,$2F               ;
0A35: 67              LD      H,A                 ;
0A36: 3E 06           LD      A,$06               ;
0A38: CD A9 0E        CALL    $0EA9               ; 
0A3B: 7C              LD      A,H                 ;
0A3C: 3C              INC     A                   ;
0A3D: EB              EX      DE,HL               ;
0A3E: D7              RST     0X10                ;
0A3F: 7E              LD      A,(HL)              ;
0A40: DD 77 0D        LD      (IX+$0D),A          ;
0A43: E1              POP     HL                  ;
0A44: 3E 09           LD      A,$09               ;
0A46: D7              RST     0X10                ;
0A47: DD 75 08        LD      (IX+$08),L          ;
0A4A: DD 74 09        LD      (IX+$09),H          ;
0A4D: C3 FA 0B        JP      $0BFA               ; 

; Movement Routine B
0A50: E5              PUSH    HL                  ;
0A51: 3A 15 92        LD      A,($9215)           ;
0A54: 4F              LD      C,A                 ;
0A55: 3A 62 93        LD      A,($9362)           ;
0A58: C6 03           ADD     $03                 ;
0A5A: E6 F8           AND     $F8                 ;
0A5C: 3C              INC     A                   ;
0A5D: FE 29           CP      $29                 ;
0A5F: 30 02           JR      NC,$A63             ; 
0A61: 3E 29           LD      A,$29               ;
0A63: FE CA           CP      $CA                 ;
0A65: 38 02           JR      C,$A69              ; 
0A67: 3E C9           LD      A,$C9               ;
0A69: CB 41           BIT     0,C                 ;
0A6B: 28 03           JR      Z,$A70              ; 
0A6D: C6 0D           ADD     $0D                 ;
0A6F: 2F              CPL                         ;
0A70: 32 8A 92        LD      ($928A),A           ;
0A73: CB 3F           SRL     A                   ;
0A75: 5F              LD      E,A                 ;
0A76: 16 48           LD      D,$48               ;
0A78: DD 66 01        LD      H,(IX+$01)          ; Y coordinate
0A7B: DD 6E 03        LD      L,(IX+$03)          ;
0A7E: CD 5A 0E        CALL    $0E5A               ; 
0A81: CB 3C           SRL     H                   ;
0A83: CB 1D           RR      L                   ;
0A85: DD 75 04        LD      (IX+$04),L          ;
0A88: DD 74 05        LD      (IX+$05),H          ;
0A8B: AF              XOR     A                   ;
0A8C: 32 8B 92        LD      ($928B),A           ;
0A8F: 3C              INC     A                   ;
0A90: 32 19 90        LD      ($9019),A           ;
0A93: DD 7D           LD      A,IXL               ;
0A95: 32 29 98        LD      ($9829),A           ;
0A98: C3 0C 0B        JP      $0B0C               ; 

; Movement Routine 4
0A9B: E5              PUSH    HL                  ;
0A9C: DD 6E 10        LD      L,(IX+$10)          ;
0A9F: 26 88           LD      H,$88               ;
0AA1: 36 09           LD      (HL),$09            ;
0AA3: 26 01           LD      H,$01               ;
0AA5: 4E              LD      C,(HL)              ;
0AA6: 2C              INC     L                   ;
0AA7: 6E              LD      L,(HL)              ;
0AA8: 26 99           LD      H,$99               ;
0AAA: 46              LD      B,(HL)              ;
0AAB: 2C              INC     L                   ;
0AAC: 5E              LD      E,(HL)              ;
0AAD: 69              LD      L,C                 ;
0AAE: 4E              LD      C,(HL)              ;
0AAF: 2C              INC     L                   ;
0AB0: 56              LD      D,(HL)              ;
0AB1: CB 3B           SRL     E                   ;
0AB3: D5              PUSH    DE                  ;
0AB4: DD 70 11        LD      (IX+$11),B          ;
0AB7: DD 71 12        LD      (IX+$12),C          ;
0ABA: 3A 15 92        LD      A,($9215)           ;
0ABD: A7              AND     A                   ;
0ABE: 28 08           JR      Z,$AC8              ; 
0AC0: 78              LD      A,B                 ;
0AC1: ED 44           NEG                         ;
0AC3: 47              LD      B,A                 ;
0AC4: 79              LD      A,C                 ;
0AC5: ED 44           NEG                         ;
0AC7: 4F              LD      C,A                 ;
0AC8: DD 6E 00        LD      L,(IX+$00)          ; X Coordinate
0ACB: DD 66 01        LD      H,(IX+$01)          ; Y Coordinate
0ACE: 51              LD      D,C                 ;
0ACF: 1E 00           LD      E,$00               ;
0AD1: CB 2A           SRA     D                   ;
0AD3: CB 1B           RR      E                   ;
0AD5: 19              ADD     HL,DE               ;
0AD6: DD 75 00        LD      (IX+$00),L          ; New X coordinate
0AD9: DD 74 01        LD      (IX+$01),H          ; New Y coordiante
0ADC: 5C              LD      E,H                 ;
0ADD: DD 6E 02        LD      L,(IX+$02)          ;
0AE0: DD 66 03        LD      H,(IX+$03)          ;
0AE3: 0E 00           LD      C,$00               ;
0AE5: CB 28           SRA     B                   ;
0AE7: CB 19           RR      C                   ;
0AE9: ED 42           SBC     HL,BC               ;
0AEB: DD 75 02        LD      (IX+$02),L          ;
0AEE: DD 74 03        LD      (IX+$03),H          ;
0AF1: 6C              LD      L,H                 ;
0AF2: 63              LD      H,E                 ;
0AF3: 4A              LD      C,D                 ;
0AF4: D1              POP     DE                  ;
0AF5: CD 5A 0E        CALL    $0E5A               ; 
0AF8: CB 3C           SRL     H                   ;
0AFA: CB 1D           RR      L                   ;
0AFC: DD 75 04        LD      (IX+$04),L          ;
0AFF: DD 74 05        LD      (IX+$05),H          ;
0B02: DD 72 06        LD      (IX+$06),D          ;
0B05: DD 73 07        LD      (IX+$07),E          ;
0B08: DD CB 13 F6     SET     6,(IX+$13)          ;
0B0C: E1              POP     HL                  ;
0B0D: 23              INC     HL                  ;
0B0E: C3 0E 09        JP      $090E               ; 

; Movement Routine 1
0B11: E5              PUSH    HL                  ;
0B12: EB              EX      DE,HL               ;
0B13: 3A 15 92        LD      A,($9215)           ;
0B16: 0F              RRCA                        ;
0B17: DD 46 13        LD      B,(IX+$13)          ;
0B1A: A8              XOR     B                   ;
0B1B: 07              RLCA                        ;
0B1C: 3A E2 93        LD      A,($93E2)           ;
0B1F: 3C              INC     A                   ;
0B20: 3D              DEC     A                   ;
0B21: 20 02           JR      NZ,$B25             ; 
0B23: 3E 80           LD      A,$80               ;
0B25: 38 04           JR      C,$B2B              ; 
0B27: ED 44           NEG                         ;
0B29: C6 F2           ADD     $F2                 ;
0B2B: C6 0E           ADD     $0E                 ;
0B2D: 67              LD      H,A                 ;
0B2E: 3E 1E           LD      A,$1E               ;
0B30: CD A9 0E        CALL    $0EA9               ; 
0B33: 7C              LD      A,H                 ;
0B34: EB              EX      DE,HL               ;
0B35: D7              RST     0X10                ; HL+=A
0B36: 7E              LD      A,(HL)              ;
0B37: DD 77 0D        LD      (IX+$0D),A          ;
0B3A: E1              POP     HL                  ;
0B3B: 3E 09           LD      A,$09               ; Add ...
0B3D: D7              RST     0X10                ; ... 9 to HL
0B3E: C3 FA 0B        JP      $0BFA               ; 

; Movement Routine 2
0B41: 23              INC     HL                  ;
0B42: 5E              LD      E,(HL)              ;
0B43: 23              INC     HL                  ;
0B44: 56              LD      D,(HL)              ;
0B45: EB              EX      DE,HL               ;
0B46: C3 0E 09        JP      $090E               ; 

; Movement Routine 3
0B49: 23              INC     HL                  ;
0B4A: 5E              LD      E,(HL)              ;
0B4B: 23              INC     HL                  ;
0B4C: DD 73 06        LD      (IX+$06),E          ;
0B4F: DD 36 07 00     LD      (IX+$07),$00        ;
0B53: DD CB 13 EE     SET     5,(IX+$13)          ;
0B57: C3 FA 0B        JP      $0BFA               ; 

; Movement Routine 6
0B5A: 3A 15 92        LD      A,($9215)           ;
0B5D: 4F              LD      C,A                 ;
0B5E: DD 5E 10        LD      E,(IX+$10)          ;
0B61: 1C              INC     E                   ;
0B62: 16 01           LD      D,$01               ;
0B64: 1A              LD      A,(DE)              ;
0B65: 5F              LD      E,A                 ;
0B66: 16 98           LD      D,$98               ;
0B68: 1A              LD      A,(DE)              ;
0B69: CB 41           BIT     0,C                 ;
0B6B: 28 04           JR      Z,$B71              ; 
0B6D: C6 0E           ADD     $0E                 ;
0B6F: ED 44           NEG                         ;
0B71: CB 3F           SRL     A                   ;
0B73: DD 77 03        LD      (IX+$03),A          ;
0B76: 3A AA 92        LD      A,($92AA)           ;
0B79: A7              AND     A                   ;
0B7A: CA 86 0B        JP      Z,$0B86             ; 

0B7D: 32 B3 9A        LD      ($9AB3),A           ;
0B80: 18 04           JR      $B86                ; 

; Movement Routine 7
0B82: DD 36 01 9C     LD      (IX+$01),$9C        ; Set Y coorinate to top of screen

0B86: 23              INC     HL                  ;
0B87: DD 75 08        LD      (IX+$08),L          ;
0B8A: DD 74 09        LD      (IX+$09),H          ;
0B8D: DD 34 0D        INC     (IX+$0D)            ;
0B90: C3 FA 0D        JP      $0DFA               ; Next Bee

; Movement Routine 8
0B93: DD 7E 10        LD      A,(IX+$10)          ;
0B96: E6 38           AND     $38                 ;
0B98: FE 38           CP      $38                 ;
0B9A: CA 41 0B        JP      Z,$0B41             ; 
0B9D: 23              INC     HL                  ;
0B9E: 23              INC     HL                  ;
0B9F: 23              INC     HL                  ;
0BA0: C3 0E 09        JP      $090E               ; 

; Starts getting called when there are less than 6 bees alive.
; Cheat happens when this is called 255 times in a row.
; Movement Routine 9
0BA3: 23              INC     HL                  ;
0BA4: 7E              LD      A,(HL)              ;
0BA5: DD CB 13 7E     BIT     7,(IX+$13)          ;
0BA9: 28 04           JR      Z,$BAF              ; 
0BAB: C6 80           ADD     $80                 ;
0BAD: ED 44           NEG                         ;
0BAF: 0E 00           LD      C,$00               ;
0BB1: CB 27           SLA     A                   ;
0BB3: CB 11           RL      C                   ;
0BB5: CB 27           SLA     A                   ;
0BB7: CB 11           RL      C                   ;
0BB9: DD 77 04        LD      (IX+$04),A          ;
0BBC: DD 71 05        LD      (IX+$05),C          ;
0BBF: DD 36 0E 1E     LD      (IX+$0E),$1E        ; Hard set delay between shots.
0BC3: 3A C8 92        LD      A,($92C8)           ; Reload shot ...
0BC6: DD 77 0F        LD      (IX+$0F),A          ; ... delay shift from CPU1.
0BC9: C3 86 0B        JP      $0B86               ; Continue

; Movement Routine 5
0BCC: 3A AA 92        LD      A,($92AA)           ;
0BCF: 4F              LD      C,A                 ;
0BD0: 3A 1D 90        LD      A,($901D)           ;
0BD3: 3D              DEC     A                   ;
0BD4: A1              AND     C                   ;
0BD5: 18 C3           JR      $B9A                ; 
0BD7: 4F              LD      C,A                 ;
0BD8: E6 0F           AND     $0F                 ;
0BDA: DD 77 0A        LD      (IX+$0A),A          ;
0BDD: 79              LD      A,C                 ;
0BDE: 07              RLCA                        ;
0BDF: 07              RLCA                        ;
0BE0: 07              RLCA                        ;
0BE1: 07              RLCA                        ;
0BE2: E6 0F           AND     $0F                 ;
0BE4: 23              INC     HL                  ;
0BE5: DD 77 0B        LD      (IX+$0B),A          ;
0BE8: 7E              LD      A,(HL)              ;
0BE9: 23              INC     HL                  ;
0BEA: DD CB 13 7E     BIT     7,(IX+$13)          ;
0BEE: 28 02           JR      Z,$BF2              ; 
0BF0: ED 44           NEG                         ;
0BF2: DD 77 0C        LD      (IX+$0C),A          ;
0BF5: 7E              LD      A,(HL)              ;
0BF6: 23              INC     HL                  ;
0BF7: DD 77 0D        LD      (IX+$0D),A          ;
0BFA: DD 75 08        LD      (IX+$08),L          ;
0BFD: DD 74 09        LD      (IX+$09),H          ;
0C00: DD CB 13 76     BIT     6,(IX+$13)          ;
0C04: 28 22           JR      Z,$C28              ; 
0C06: DD 7E 01        LD      A,(IX+$01)          ; Y coordinate
0C09: DD 96 06        SUB     (IX+$06)            ;
0C0C: 28 08           JR      Z,$C16              ; 
0C0E: F2 13 0C        JP      P,$0C13             ; 
0C11: ED 44           NEG                         ;
0C13: 3D              DEC     A                   ;
0C14: 20 12           JR      NZ,$C28             ; 
0C16: DD 7E 03        LD      A,(IX+$03)          ;
0C19: DD 96 07        SUB     (IX+$07)            ;
0C1C: CA 07 0E        JP      Z,$0E07             ; 
0C1F: F2 24 0C        JP      P,$0C24             ; 
0C22: ED 44           NEG                         ;
0C24: 3D              DEC     A                   ;
0C25: CA 07 0E        JP      Z,$0E07             ; 
0C28: DD CB 13 6E     BIT     5,(IX+$13)          ;
0C2C: 28 13           JR      Z,$C41              ; 
0C2E: DD 7E 01        LD      A,(IX+$01)          ; Y coordiante
0C31: DD 96 06        SUB     (IX+$06)            ;
0C34: 28 03           JR      Z,$C39              ; 
0C36: 3C              INC     A                   ;
0C37: 20 08           JR      NZ,$C41             ; 
0C39: DD 36 0D 01     LD      (IX+$0D),$01        ;
0C3D: DD CB 13 AE     RES     5,(IX+$13)          ;
0C41: DD 46 0C        LD      B,(IX+$0C)          ;
0C44: DD 7E 04        LD      A,(IX+$04)          ;
0C47: 5F              LD      E,A                 ;
0C48: 80              ADD     A,B                 ;
0C49: DD 77 04        LD      (IX+$04),A          ;
0C4C: DD 56 05        LD      D,(IX+$05)          ;
0C4F: 2E 01           LD      L,$01               ;
0C51: CB 78           BIT     7,B                 ;
0C53: 28 02           JR      Z,$C57              ; 
0C55: 2E FF           LD      L,$FF               ;
0C57: 1F              RRA                         ;
0C58: A8              XOR     B                   ;
0C59: 7A              LD      A,D                 ;
0C5A: F2 5E 0C        JP      P,$0C5E             ; 
0C5D: 85              ADD     A,L                 ;
0C5E: DD 77 05        LD      (IX+$05),A          ;
0C61: 7B              LD      A,E                 ;
0C62: 4A              LD      C,D                 ;
0C63: CB 41           BIT     0,C                 ;
0C65: 28 01           JR      Z,$C68              ; 
0C67: 2F              CPL                         ;
0C68: C6 15           ADD     $15                 ;
0C6A: 30 04           JR      NC,$C70             ; 
0C6C: 06 06           LD      B,$06               ;
0C6E: 18 0C           JR      $C7C                ; 
0C70: CB 3F           SRL     A                   ;
0C72: 47              LD      B,A                 ;
0C73: CB 38           SRL     B                   ;
0C75: 80              ADD     A,B                 ;
0C76: 07              RLCA                        ;
0C77: 07              RLCA                        ;
0C78: 07              RLCA                        ;
0C79: E6 07           AND     $07                 ;
0C7B: 47              LD      B,A                 ;
0C7C: 26 8B           LD      H,$8B               ;
0C7E: DD 6E 10        LD      L,(IX+$10)          ;
0C81: 7E              LD      A,(HL)              ;
0C82: E6 F8           AND     $F8                 ;
0C84: B0              OR      B                   ;
0C85: 77              LD      (HL),A              ;
0C86: 26 9B           LD      H,$9B               ;
0C88: 79              LD      A,C                 ;
0C89: CB 09           RRC     C                   ;
0C8B: A9              XOR     C                   ;
0C8C: 3C              INC     A                   ;
0C8D: CB 09           RRC     C                   ;
0C8F: 17              RLA                         ;
0C90: E6 03           AND     $03                 ;
0C92: 77              LD      (HL),A              ;
0C93: 3A A0 92        LD      A,($92A0)           ;
0C96: E6 01           AND     $01                 ;
0C98: 28 05           JR      Z,$C9F              ; 
0C9A: DD 7E 0A        LD      A,(IX+$0A)          ;
0C9D: 18 03           JR      $CA2                ; 
0C9F: DD 7E 0B        LD      A,(IX+$0B)          ;
0CA2: A7              AND     A                   ;
0CA3: CA FE 0C        JP      Z,$0CFE             ; 
0CA6: E5              PUSH    HL                  ;
0CA7: DD E5           PUSH    IX                  ;
0CA9: E1              POP     HL                  ;
0CAA: 47              LD      B,A                 ;
0CAB: 7A              LD      A,D                 ;
0CAC: E6 03           AND     $03                 ;
0CAE: 57              LD      D,A                 ;
0CAF: CB 03           RLC     E                   ;
0CB1: CB 12           RL      D                   ;
0CB3: D5              PUSH    DE                  ;
0CB4: AA              XOR     D                   ;
0CB5: 0F              RRCA                        ;
0CB6: 38 02           JR      C,$CBA              ; 
0CB8: 2C              INC     L                   ;
0CB9: 2C              INC     L                   ;
0CBA: 14              INC     D                   ;
0CBB: CB 52           BIT     2,D                 ;
0CBD: 78              LD      A,B                 ;
0CBE: 28 02           JR      Z,$CC2              ; 
0CC0: ED 44           NEG                         ;
0CC2: 4F              LD      C,A                 ;
0CC3: CB 29           SRA     C                   ;
0CC5: 30 04           JR      NC,$CCB             ; 
0CC7: 7E              LD      A,(HL)              ;
0CC8: C6 80           ADD     $80                 ;
0CCA: 77              LD      (HL),A              ;
0CCB: 2C              INC     L                   ;
0CCC: 7E              LD      A,(HL)              ;
0CCD: 89              ADC     A,C                 ;
0CCE: 77              LD      (HL),A              ;
0CCF: 2D              DEC     L                   ;
0CD0: EB              EX      DE,HL               ;
0CD1: 7B              LD      A,E                 ;
0CD2: EE 02           XOR     $02                 ;
0CD4: 5F              LD      E,A                 ;
0CD5: E1              POP     HL                  ;
0CD6: CB 3D           SRL     L                   ;
0CD8: 30 04           JR      NC,$CDE             ; 
0CDA: 7D              LD      A,L                 ;
0CDB: EE 7F           XOR     $7F                 ;
0CDD: 6F              LD      L,A                 ;
0CDE: 78              LD      A,B                 ;
0CDF: 44              LD      B,H                 ;
0CE0: 26 00           LD      H,$00               ;
0CE2: CD 96 0E        CALL    $0E96               ; HL = HL * A
0CE5: 78              LD      A,B                 ;
0CE6: EE 02           XOR     $02                 ;
0CE8: 3D              DEC     A                   ;
0CE9: CB 57           BIT     2,A                 ;
0CEB: 28 08           JR      Z,$CF5              ; 
0CED: 44              LD      B,H                 ;
0CEE: 4D              LD      C,L                 ;
0CEF: 21 00 00        LD      HL,$0000            ;
0CF2: A7              AND     A                   ;
0CF3: ED 42           SBC     HL,BC               ;
0CF5: EB              EX      DE,HL               ;
0CF6: 7B              LD      A,E                 ;
0CF7: 86              ADD     A,(HL)              ;
0CF8: 77              LD      (HL),A              ;
0CF9: 2C              INC     L                   ;
0CFA: 7A              LD      A,D                 ;
0CFB: 8E              ADC     A,(HL)              ;
0CFC: 77              LD      (HL),A              ;
0CFD: E1              POP     HL                  ;
0CFE: 3A 15 92        LD      A,($9215)           ;
0D01: 4F              LD      C,A                 ;
0D02: 26 93           LD      H,$93               ;
0D04: DD 56 03        LD      D,(IX+$03)          ;
0D07: 3E 7F           LD      A,$7F               ;
0D09: DD BE 02        CP      (IX+$02)            ;
0D0C: 7A              LD      A,D                 ;
0D0D: 17              RLA                         ;
0D0E: CB 41           BIT     0,C                 ;
0D10: 28 03           JR      Z,$D15              ; 
0D12: C6 0D           ADD     $0D                 ;
0D14: 2F              CPL                         ;
0D15: DD CB 13 76     BIT     6,(IX+$13)          ;
0D19: 28 03           JR      Z,$D1E              ; 
0D1B: DD 86 11        ADD     A,(IX+$11)          ;
0D1E: 77              LD      (HL),A              ;
0D1F: 2C              INC     L                   ;
0D20: DD 46 01        LD      B,(IX+$01)          ; Y coordinate
0D23: 3E 7F           LD      A,$7F               ;
0D25: DD BE 00        CP      (IX+$00)            ; X coordinate
0D28: CB 13           RL      E                   ;
0D2A: 78              LD      A,B                 ;
0D2B: CB 41           BIT     0,C                 ;
0D2D: 20 04           JR      NZ,$D33             ; 
0D2F: C6 4F           ADD     $4F                 ;
0D31: 2F              CPL                         ;
0D32: 1D              DEC     E                   ;
0D33: CB 1B           RR      E                   ;
0D35: 17              RLA                         ;
0D36: CB 13           RL      E                   ;
0D38: DD CB 13 76     BIT     6,(IX+$13)          ;
0D3C: 28 0D           JR      Z,$D4B              ; 
0D3E: DD 86 12        ADD     A,(IX+$12)          ;
0D41: 57              LD      D,A                 ;
0D42: 1F              RRA                         ;
0D43: DD AE 12        XOR     (IX+$12)            ;
0D46: 07              RLCA                        ;
0D47: 7A              LD      A,D                 ;
0D48: 30 01           JR      NC,$D4B             ; 
0D4A: 1C              INC     E                   ;
0D4B: 77              LD      (HL),A              ;
0D4C: 26 9B           LD      H,$9B               ;
0D4E: CB 0E           RRC     (HL)                ;
0D50: CB 0B           RRC     E                   ;
0D52: CB 16           RL      (HL)                ;
; Initiate bee shot
0D54: DD 35 0E        DEC     (IX+$0E)            ; Enough time ellapsed between shots?
0D57: C2 FA 0D        JP      NZ,$0DFA            ; No ... skip shooting.
0D5A: DD CB 0F 3E     SRL     (IX+$0F)            ; Another delay component ...
0D5E: D2 F4 0D        JP      NC,$0DF4            ; Too soon to drop another.
0D61: DD 7E 01        LD      A,(IX+$01)          ; Y coordinate
0D64: FE 4C           CP      $4C                 ; Don't fire if ...
0D66: DA F4 0D        JP      C,$0DF4             ; ... too close to the bottom.
0D69: 3A 15 90        LD      A,($9015)           ; Fighter ...
0D6C: A7              AND     A                   ; ... capture sequence?
0D6D: CA F4 0D        JP      Z,$0DF4             ; Yes ... no shooting
0D70: 3A AD 92        LD      A,($92AD)           ; After user ...
0D73: A7              AND     A                   ; ... explosion?
0D74: C2 F4 0D        JP      NZ,$0DF4            ; Yes ... skip shooting
0D77: EB              EX      DE,HL               ; Hold HL
0D78: 21 68 88        LD      HL,$8868            ; Shot pointers
0D7B: 06 08           LD      B,$08               ; 8 shots
0D7D: 7E              LD      A,(HL)              ; Get shot info
0D7E: FE 80           CP      $80                 ; Shot active?
0D80: 28 06           JR      Z,$D88              ; No -- use it
0D82: 2C              INC     L                   ; Try ...
0D83: 2C              INC     L                   ; ... next slot.
0D84: 10 F7           DJNZ    $D7D                ; Try all slots
0D86: 18 6C           JR      $DF4                ; None available ... reload 0E for this bee and do next bee
;
; While the cheat is in effect, all shots end up not
; finding a slot. All slots are taken. The question is ...
; ... why and what does it have to do with Movement9?
;
; Initialize shot
0D88: 36 06           LD      (HL),$06            ; First byte no longer 0x80
0D8A: 26 9B           LD      H,$9B               ;
0D8C: 36 01           LD      (HL),$01            ;
0D8E: E5              PUSH    HL                  ; Hold the 88xx pointer
0D8F: 26 93           LD      H,$93               ; Shot coordinates
0D91: 54              LD      D,H                 ; Hold onto it
0D92: 1D              DEC     E                   ;
0D93: 1A              LD      A,(DE)              ; Get bee coordinate
0D94: 4F              LD      C,A                 ;
0D95: 77              LD      (HL),A              ; Set X
0D96: 1C              INC     E                   ;
0D97: 2C              INC     L                   ; Point to Y
0D98: 1A              LD      A,(DE)              ;
0D99: 47              LD      B,A                 ;
0D9A: 77              LD      (HL),A              ; Set Y
0D9B: 26 9B           LD      H,$9B               ;
0D9D: 54              LD      D,H                 ;
0D9E: 1A              LD      A,(DE)              ;
0D9F: CB 0E           RRC     (HL)                ;
0DA1: 0F              RRCA                        ;
0DA2: CB 16           RL      (HL)                ;
0DA4: 07              RLCA                        ;
0DA5: CB 18           RR      B                   ;
0DA7: 3A 62 93        LD      A,($9362)           ;
0DAA: 91              SUB     C                   ;
0DAB: F5              PUSH    AF                  ;
0DAC: 30 02           JR      NC,$DB0             ; 
0DAE: ED 44           NEG                         ;
0DB0: 67              LD      H,A                 ;
0DB1: 3A 15 92        LD      A,($9215)           ;
0DB4: A7              AND     A                   ;
0DB5: 3E 95           LD      A,$95               ;
0DB7: 28 02           JR      Z,$DBB              ; 
0DB9: 3E 1C           LD      A,$1C               ;
0DBB: 90              SUB     B                   ;
0DBC: 30 02           JR      NC,$DC0             ; 
0DBE: ED 44           NEG                         ;
0DC0: CD A9 0E        CALL    $0EA9               ; 
0DC3: 44              LD      B,H                 ;
0DC4: 4D              LD      C,L                 ;
0DC5: CB 3C           SRL     H                   ;
0DC7: CB 1D           RR      L                   ;
0DC9: CB 3C           SRL     H                   ;
0DCB: CB 1D           RR      L                   ;
0DCD: 09              ADD     HL,BC               ;
0DCE: CB 3C           SRL     H                   ;
0DD0: CB 1D           RR      L                   ;
0DD2: CB 3C           SRL     H                   ;
0DD4: CB 1D           RR      L                   ;
0DD6: 7C              LD      A,H                 ;
0DD7: A7              AND     A                   ;
0DD8: 20 05           JR      NZ,$DDF             ; Yes ... use max X velocity
0DDA: 7D              LD      A,L                 ; Get calculated X velocity
0DDB: FE 60           CP      $60                 ; X velocity too great?
0DDD: 38 02           JR      C,$DE1              ; No -- keep it
0DDF: 3E 60           LD      A,$60               ; Set max X velocity
0DE1: 47              LD      B,A                 ; Hold in B
0DE2: F1              POP     AF                  ;
0DE3: CB 18           RR      B                   ; X velocity divided by 2
0DE5: E1              POP     HL                  ; Restore 88xx pointer
0DE6: 7D              LD      A,L                 ; Add 8 bytes ...
0DE7: C6 08           ADD     $08                 ; ... to LSB ...
0DE9: E6 0F           AND     $0F                 ; ... and Make it 0-15
0DEB: 21 B0 92        LD      HL,$92B0            ; Read by CPU1 while moving shots
0DEE: 85              ADD     A,L                 ; Add in new ...
0DEF: 6F              LD      L,A                 ; ... LSB offset.
0DF0: 70              LD      (HL),B              ; Set X velocity
0DF1: 23              INC     HL                  ; Point to Y velocity
0DF2: 36 00           LD      (HL),$00            ; Set Y velocity to 0 (not used by CPU1)
0DF4: 3A E2 92        LD      A,($92E2)           ; Reload ....
0DF7: DD 77 0E        LD      (IX+$0E),A          ; ... shot delay counter.
; Next bee
0DFA: 21 89 92        LD      HL,$9289            ; Counter
0DFD: 35              DEC     (HL)                ; All done?
0DFE: C8              RET     Z                   ; Yes ... out
0DFF: 11 14 00        LD      DE,$0014            ; Point to next ...
0E02: DD 19           ADD     IX,DE               ; ... structure
0E04: C3 E4 08        JP      $08E4               ; Continue with next bee.

0E07: AF              XOR     A                   ; 0
0E08: DD CB 13 86     RES     0,(IX+$13)          ;
0E0C: DD 77 00        LD      (IX+$00),A          ; 0 out X coordinate
0E0F: DD 77 02        LD      (IX+$02),A          ;
0E12: 26 88           LD      H,$88               ;
0E14: DD 6E 10        LD      L,(IX+$10)          ;
0E17: 36 02           LD      (HL),$02            ;
0E19: 26 8B           LD      H,$8B               ;
0E1B: 2C              INC     L                   ;
0E1C: 7E              LD      A,(HL)              ;
0E1D: 2D              DEC     L                   ;
0E1E: 3C              INC     A                   ;
0E1F: E6 07           AND     $07                 ;
0E21: FE 05           CP      $05                 ;
0E23: 38 14           JR      C,$E39              ; 
0E25: 3A 2E 98        LD      A,($982E)           ;
0E28: 4F              LD      C,A                 ;
0E29: E6 F8           AND     $F8                 ;
0E2B: C6 06           ADD     $06                 ;
0E2D: 77              LD      (HL),A              ;
0E2E: 2C              INC     L                   ;
0E2F: 79              LD      A,C                 ;
0E30: E6 07           AND     $07                 ;
0E32: 77              LD      (HL),A              ;
0E33: 2D              DEC     L                   ;
0E34: 3E 01           LD      A,$01               ;
0E36: 32 2D 98        LD      ($982D),A           ;
0E39: DD 7E 06        LD      A,(IX+$06)          ;
0E3C: DD 77 01        LD      (IX+$01),A          ; Y coordinate
0E3F: DD 7E 07        LD      A,(IX+$07)          ;
0E42: DD 77 03        LD      (IX+$03),A          ;
0E45: C3 FE 0C        JP      $0CFE               ; 

; Movement Routine 0 : Remove bee from active processing
0E48: 26 88           LD      H,$88               ;
0E4A: DD 6E 10        LD      L,(IX+$10)          ;
0E4D: 36 80           LD      (HL),$80            ; ? Make sprite available ?
0E4F: 26 93           LD      H,$93               ;
0E51: 36 00           LD      (HL),$00            ;
0E53: DD 36 13 00     LD      (IX+$13),$00        ; Flag bee as inactive
0E57: C3 FA 0D        JP      $0DFA               ; Continue with next bee

; Math routines
0E5A: C5              PUSH    BC                  ;
0E5B: D5              PUSH    DE                  ;
0E5C: 7B              LD      A,E                 ;
0E5D: 95              SUB     L                   ;
0E5E: 06 00           LD      B,$00               ;
0E60: 30 04           JR      NC,$E66             ; 
0E62: CB C0           SET     0,B                 ;
0E64: ED 44           NEG                         ;
0E66: 4F              LD      C,A                 ;
0E67: 7A              LD      A,D                 ;
0E68: 94              SUB     H                   ;
0E69: 30 0A           JR      NC,$E75             ; 
0E6B: 57              LD      D,A                 ;
0E6C: 78              LD      A,B                 ;
0E6D: EE 01           XOR     $01                 ;
0E6F: F6 02           OR      $02                 ;
0E71: 47              LD      B,A                 ;
0E72: 7A              LD      A,D                 ;
0E73: ED 44           NEG                         ;
0E75: B9              CP      C                   ;
0E76: F5              PUSH    AF                  ;
0E77: 17              RLA                         ;
0E78: A8              XOR     B                   ;
0E79: 1F              RRA                         ;
0E7A: 3F              CCF                         ;
0E7B: CB 10           RL      B                   ;
0E7D: F1              POP     AF                  ;
0E7E: 30 03           JR      NC,$E83             ; 
0E80: 51              LD      D,C                 ;
0E81: 4F              LD      C,A                 ;
0E82: 7A              LD      A,D                 ;
0E83: 61              LD      H,C                 ;
0E84: 2E 00           LD      L,$00               ;
0E86: CD A9 0E        CALL    $0EA9               ; 
0E89: 7C              LD      A,H                 ;
0E8A: A8              XOR     B                   ;
0E8B: E6 01           AND     $01                 ;
0E8D: 28 03           JR      Z,$E92              ; 
0E8F: 7D              LD      A,L                 ;
0E90: 2F              CPL                         ;
0E91: 6F              LD      L,A                 ;
0E92: 60              LD      H,B                 ;
0E93: D1              POP     DE                  ;
0E94: C1              POP     BC                  ;
0E95: C9              RET                         ;

; HL = HL * A
0E96: D5              PUSH    DE                  ; Hold DE
0E97: EB              EX      DE,HL               ; HL -> DE
0E98: 21 00 00        LD      HL,$0000            ; Accumulator
0E9B: CB 3F           SRL     A                   ; Is bit set
0E9D: 30 01           JR      NC,$EA0             ; No ... skip adding
0E9F: 19              ADD     HL,DE               ; Add the target
0EA0: CB 23           SLA     E                   ; Slide target to
0EA2: CB 12           RL      D                   ; ... the left
0EA4: A7              AND     A                   ; All bits in A done?
0EA5: 20 F4           JR      NZ,$E9B             ; No ... keep looping
0EA7: D1              POP     DE                  ; Restore DE
0EA8: C9              RET                         ; Done

; HL=HL/A (remainder in A)
0EA9: C5              PUSH    BC                  ; Preserve B and C
0EAA: 4F              LD      C,A                 ; Hold original divisor
0EAB: AF              XOR     A                   ; Clear remainder (and carry)
0EAC: 06 11           LD      B,$11               ; Loop 17 times
0EAE: 8F              ADC     A,A                 ; Remainder left and add in cary
0EAF: 38 0B           JR      C,$EBC              ; Overflow ...
0EB1: B9              CP      C                   ; Remainder still less than divisor?
0EB2: 38 01           JR      C,$EB5              ; Yes
0EB4: 91              SUB     C                   ; Reset remainder, set bit in result
0EB5: 3F              CCF                         ; Set bit for result
0EB6: ED 6A           ADC     HL,HL               ; Shift result and add in new bit
0EB8: 10 F4           DJNZ    $EAE                ; Do all bits
0EBA: C1              POP     BC                  ; Restore B and C
0EBB: C9              RET                         ; Done
0EBC: 91              SUB     C                   ; Back down remainder
0EBD: 37              SCF                         ; Set C flag (fill result with 1's)
0EBE: C3 B6 0E        JP      $0EB6               ; Continue

0EC1: FF              RST     0X38                ; Room for growth
0EC2: FF              RST     0X38                ;
0EC3: FF              RST     0X38                ;
0EC4: FF              RST     0X38                ;
0EC5: FF              RST     0X38                ;
0EC6: FF              RST     0X38                ;
0EC7: FF              RST     0X38                ;
0EC8: FF              RST     0X38                ;
0EC9: FF              RST     0X38                ;

; Command 7 :
; Automatic Rack Advance (cheat mode) WHATEVER THAT MEANS
0ECA: 3A 06 68        LD      A,($6806)           ; 2nd DSW Bit 6
0ECD: E6 02           AND     $02                 ; Bit clear?
0ECF: C0              RET     NZ                  ; Normal operation
0ED0: 21 FF 10        LD      HL,$10FF            ; Address beyond this ROM
0ED3: 7E              LD      A,(HL)              ; Get byte
0ED4: 2E DF           LD      L,$DF               ; From 10DF
0ED6: 4E              LD      C,(HL)              ; Check for ...
0ED7: 7E              LD      A,(HL)              ; ...
0ED8: A9              XOR     C                   ; ...
0ED9: CB 67           BIT     4,A                 ; ... valid data
0EDB: 20 01           JR      NZ,$EDE             ; Yes ... use it
0EDD: C7              RST     0X00                ; Restart this CPU
0EDE: 11 F7 89        LD      DE,$89F7            ;
0EE1: 21 F6 89        LD      HL,$89F6            ;
0EE4: 01 13 00        LD      BC,$0013            ;
0EE7: ED B8           LDDR                        ;
0EE9: DD 21 D5 0F     LD      IX,$0FD5            ; Data at the end of ROM
0EED: 1E E0           LD      E,$E0               ;
0EEF: 01 04 05        LD      BC,$0504            ;
;
0EF2: DD 7E 00        LD      A,(IX+$00)          ;
0EF5: DD 23           INC     IX                  ;
0EF7: 6F              LD      L,A                 ;
0EF8: 26 10           LD      H,$10               ;
0EFA: 7E              LD      A,(HL)              ;
0EFB: 7B              LD      A,E                 ;
0EFC: 81              ADD     A,C                 ;
0EFD: 5F              LD      E,A                 ;
0EFE: 7E              LD      A,(HL)              ;
0EFF: 12              LD      (DE),A              ;
0F00: 10 F0           DJNZ    $EF2                ; 
;
0F02: 06 05           LD      B,$05               ;
0F04: 21 E4 89        LD      HL,$89E4            ;
0F07: 7E              LD      A,(HL)              ;
0F08: 2C              INC     L                   ;
0F09: B6              OR      (HL)                ;
0F0A: 2C              INC     L                   ;
0F0B: 2F              CPL                         ;
0F0C: A6              AND     (HL)                ;
0F0D: 2C              INC     L                   ;
0F0E: A6              AND     (HL)                ;
0F0F: 2C              INC     L                   ;
0F10: E6 0F           AND     $0F                 ;
0F12: 20 04           JR      NZ,$F18             ; 
0F14: 10 F1           DJNZ    $F07                ; 
0F16: 18 40           JR      $F58                ; 
0F18: 05              DEC     B                   ;
0F19: 28 4F           JR      Z,$F6A              ; 
0F1B: 05              DEC     B                   ;
0F1C: CB 20           SLA     B                   ;
0F1E: CB 20           SLA     B                   ;
0F20: 0F              RRCA                        ;
0F21: 38 03           JR      C,$F26              ; 
0F23: 04              INC     B                   ;
0F24: 18 FA           JR      $F20                ; 
0F26: 3A E0 89        LD      A,($89E0)           ;
0F29: CB 3F           SRL     A                   ;
0F2B: 5F              LD      E,A                 ;
0F2C: CB 11           RL      C                   ;
0F2E: C6 E1           ADD     $E1                 ;
0F30: 6F              LD      L,A                 ;
0F31: 26 89           LD      H,$89               ;
0F33: 7E              LD      A,(HL)              ;
0F34: CB 41           BIT     0,C                 ;
0F36: 28 04           JR      Z,$F3C              ; 
0F38: 07              RLCA                        ;
0F39: 07              RLCA                        ;
0F3A: 07              RLCA                        ;
0F3B: 07              RLCA                        ;
0F3C: E6 F0           AND     $F0                 ;
0F3E: B0              OR      B                   ;
0F3F: CB 41           BIT     0,C                 ;
0F41: 28 04           JR      Z,$F47              ; 
0F43: 07              RLCA                        ;
0F44: 07              RLCA                        ;
0F45: 07              RLCA                        ;
0F46: 07              RLCA                        ;
0F47: 77              LD      (HL),A              ;
0F48: 3A E0 89        LD      A,($89E0)           ;
0F4B: A7              AND     A                   ;
0F4C: 20 02           JR      NZ,$F50             ; 
0F4E: 3E 02           LD      A,$02               ;
0F50: 3D              DEC     A                   ;
0F51: 32 E0 89        LD      ($89E0),A           ;
0F54: 7B              LD      A,E                 ;
0F55: A7              AND     A                   ;
0F56: 28 09           JR      Z,$F61              ; 
0F58: 2A E2 89        LD      HL,($89E2)          ;
0F5B: 7E              LD      A,(HL)              ;
0F5C: 32 E1 89        LD      ($89E1),A           ;
0F5F: 18 42           JR      $FA3                ; 
0F61: 2A E2 89        LD      HL,($89E2)          ;
0F64: 3A E1 89        LD      A,($89E1)           ;
0F67: 77              LD      (HL),A              ;
0F68: 18 39           JR      $FA3                ; 
0F6A: 4F              LD      C,A                 ;
0F6B: 21 E0 89        LD      HL,$89E0            ;
0F6E: CB 41           BIT     0,C                 ;
0F70: 20 2D           JR      NZ,$F9F             ; 
0F72: 7E              LD      A,(HL)              ;
0F73: CB 3F           SRL     A                   ;
0F75: 28 13           JR      Z,$F8A              ; 
0F77: CB 59           BIT     3,C                 ;
0F79: 20 0C           JR      NZ,$F87             ; 
0F7B: 7E              LD      A,(HL)              ;
0F7C: FE 05           CP      $05                 ;
0F7E: 30 03           JR      NC,$F83             ; 
0F80: 34              INC     (HL)                ;
0F81: 18 D5           JR      $F58                ; 
0F83: 36 05           LD      (HL),$05            ;
0F85: 18 D1           JR      $F58                ; 
0F87: 35              DEC     (HL)                ;
0F88: 18 CE           JR      $F58                ; 
0F8A: 2A E2 89        LD      HL,($89E2)          ;
0F8D: CB 59           BIT     3,C                 ;
0F8F: 20 03           JR      NZ,$F94             ; 
0F91: 2B              DEC     HL                  ;
0F92: 18 01           JR      $F95                ; 
0F94: 23              INC     HL                  ;
0F95: 22 E2 89        LD      ($89E2),HL          ;
0F98: 3E 01           LD      A,$01               ;
0F9A: 32 E0 89        LD      ($89E0),A           ;
0F9D: 18 B9           JR      $F58                ; 
0F9F: 36 05           LD      (HL),$05            ;
0FA1: 18 B5           JR      $F58                ; 
0FA3: 21 CA 83        LD      HL,$83CA            ;
0FA6: 11 E1 89        LD      DE,$89E1            ;
0FA9: 06 03           LD      B,$03               ; 3 bytes (6 nibbles)
0FAB: 1A              LD      A,(DE)              ; Get nibble
0FAC: 1C              INC     E                   ; Next nibble
0FAD: CD C6 0F        CALL    $0FC6               ; Separate nibbles
0FB0: 10 F9           DJNZ    $FAB                ; Do all bytes
0FB2: 21 CA 87        LD      HL,$87CA            ;
0FB5: 3A E0 89        LD      A,($89E0)           ;
0FB8: 06 06           LD      B,$06               ;
0FBA: A7              AND     A                   ;
0FBB: 4F              LD      C,A                 ;
0FBC: 28 02           JR      Z,$FC0              ; 
0FBE: 0E 01           LD      C,$01               ;
0FC0: 71              LD      (HL),C              ;
0FC1: 2C              INC     L                   ;
0FC2: 3D              DEC     A                   ;
0FC3: 10 F5           DJNZ    $FBA                ; 
0FC5: C9              RET                         ;

; Store LSNibble to (HL) and MSNibble to (HL+1).
; HL=HL+2
0FC6: 4F              LD      C,A                 ;
0FC7: E6 0F           AND     $0F                 ; Mask off upper 4 bits
0FC9: 77              LD      (HL),A              ; Set byte
0FCA: 2C              INC     L                   ; Next pointer
0FCB: 79              LD      A,C                 ; Original
0FCC: 07              RLCA                        ; Move upper 4 bits ...
0FCD: 07              RLCA                        ; ...
0FCE: 07              RLCA                        ; ...
0FCF: 07              RLCA                        ; ... to lower 4 bits.
0FD0: E6 0F           AND     $0F                 ; Mask off the upper
0FD2: 77              LD      (HL),A              ; Store byte
0FD3: 2C              INC     L                   ; Next pointer
0FD4: C9              RET                         ; Out

; Looks like data from here down
0FD5: FD FB           EI                          ;
0FD7: F7              RST     0X30                ;
0FD8: EF              RST     0X28                ;
0FD9: FE 23           CP      $23                 ;
0FDB: 00              NOP                         ;
0FDC: 1B              DEC     DE                  ;
0FDD: 23              INC     HL                  ;
0FDE: F0              RET     P                   ;
0FDF: 40              LD      B,B                 ;
0FE0: 23              INC     HL                  ;
0FE1: 00              NOP                         ;
0FE2: 09              ADD     HL,BC               ;
0FE3: 23              INC     HL                  ;
0FE4: 05              DEC     B                   ;
0FE5: 11 23 00        LD      DE,$0023            ;
0FE8: 10 23           DJNZ    $100D               ;
0FEA: 10 40           DJNZ    $102C               ;
0FEC: 23              INC     HL                  ;
0FED: 04              INC     B                   ;
0FEE: 30 FF           JR      NC,$FEF             ; 
0FF0: 23              INC     HL                  ;
0FF1: 02              LD      (BC),A              ;
0FF2: 35              DEC     (HL)                ;
0FF3: 23              INC     HL                  ;
0FF4: 08              EX      AF,AF'              ;
0FF5: 10 23           DJNZ    $101A               ;
0FF7: 10 3C           DJNZ    $1035               ;
0FF9: 23              INC     HL                  ;
0FFA: 00              NOP                         ;
0FFB: FF              RST     0X38                ;
0FFC: FF              RST     0X38                ;
0FFD: AC              XOR     H                   ;
0FFE: FF              RST     0X38                ;
0FFF: FF              RST     0X38                ;