Difference between revisions of "Disassembly:Videocart 4"
From veswiki
| Line 1: | Line 1: | ||
| − | |||
| − | This is the disassembly | + | This is the disassembly (made with help from Peter Trauner's [[f8tool]]) of the [[Channel F]] [[Videocart 4]]. Original code is copyright © 1977 Fairchild Semiconductor. |
| − | <pre> | + | <pre> processor f8 |
| + | org $0800 | ||
| − | + | delay equ $008F | |
| + | prompt equ $0099 | ||
| + | clrscrn equ $00D0 | ||
| + | drawchar equ $0679 | ||
| − | CartridgeStart: | + | CartridgeStart: |
| − | + | .byte $55,$2B | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | ; | + | L0802: |
| − | + | clr ; 0802 70 Set ports to 0 | |
| − | + | outs 0 ; 0803 B0 | |
| − | + | outs 1 ; 0804 B1 | |
| − | + | outs 4 ; 0805 B4 | |
| − | + | outs 5 ; 0806 B5 | |
| − | + | lisu 7 ; 0807 67 Set ISAR tp 'O'73 | |
| + | lisl 3 ; 0808 6B | ||
| + | li $3C ; 0809 20 3C | ||
| + | lr S,A ; 080B 5C register 'O'73 = $3C | ||
| + | li $D0 ; 080C 20 D0 | ||
| + | lr 3,A ; 080E 53 | ||
| + | pi clrscrn ; 080F 28 00 D0 Calls BIOS clear screen routine, clear to grey background | ||
| + | L0812: | ||
| + | li $8A ; 0812 20 8A Loads character $8A in r0 | ||
| + | lr 0,A ; 0814 50 | ||
| + | pi prompt ; 0815 28 00 99 Calls BIOS prompt, draws character and waits for keypress | ||
| + | lr A,4 ; 0818 44 Button result returned in r4 | ||
| + | ci 4 ; 0819 25 04 Compare to %00000100 - Button 3 | ||
| + | bnz L0820 ; 081B 94 04 | ||
| + | jmp L0E99 ; 081D 29 0E 99 Button 3 makes a jump to A0e99 | ||
| − | + | L0820: | |
| − | + | lr A,4 ; 0820 44 Not button 3... | |
| − | + | ci 1 ; 0821 25 01 Button 1? | |
| − | + | bz L082D ; 0823 84 09 If it is, jump | |
| − | + | ci 2 ; 0825 25 02 Button 2? | |
| + | bnz L0812 ; 0827 94 EA If not, go back to wait for button press A0812 | ||
| + | lr A,HL ; 0829 4B Game 2 selected | ||
| + | oi $20 ; 082A 22 20 | ||
| + | lr HL,A ; 082C 5B Change bit 5 in r11 to 1 | ||
| + | L082D: | ||
| + | li $93 ; 082D 20 93 | ||
| + | lr 3,A ; 082F 53 | ||
| + | pi clrscrn ; 0830 28 00 D0 Clear screen to lt.blue using BIOS routine. | ||
| + | br L0861 ; 0833 90 2D | ||
| + | L0835: | ||
| + | lr K,P ; 0835 08 | ||
| + | lis 3 ; 0836 73 | ||
| + | lr 9,A ; 0837 59 | ||
| + | dci L0DD7 ; 0838 2A 0D D7 | ||
| + | br L083E ; 083B 90 02 | ||
| + | L083D: | ||
| + | lr DC,Q ; 083D 0F | ||
| + | L083E: | ||
| + | li 8 ; 083E 20 08 | ||
| + | lr 3,A ; 0840 53 | ||
| + | lr 6,A ; 0841 56 | ||
| + | lr 5,A ; 0842 55 | ||
| + | lm ; 0843 16 | ||
| + | lr 0,A ; 0844 50 | ||
| + | lm ; 0845 16 | ||
| + | lr 1,A ; 0846 51 | ||
| + | lm ; 0847 16 | ||
| + | lr 2,A ; 0848 52 | ||
| + | lr Q,DC ; 0849 0E | ||
| + | li $C0 ; 084A 20 C0 | ||
| + | lr 4,A ; 084C 54 | ||
| + | dci L0E60 ; 084D 2A 0E 60 | ||
| + | lr A,HL ; 0850 4B | ||
| + | sl 1 ; 0851 13 | ||
| + | bp L0859 ; 0852 81 06 | ||
| + | clr ; 0854 70 | ||
| + | lr 0,A ; 0855 50 | ||
| + | dci L0E88 ; 0856 2A 0E 88 | ||
| + | L0859: | ||
| + | pi L0CA8 ; 0859 28 0C A8 | ||
| + | ds 9 ; 085C 39 | ||
| + | bnz L083D ; 085D 94 DF | ||
| + | lr P,K ; 085F 09 | ||
| + | pop ; 0860 1C | ||
| − | + | L0861: | |
| − | + | lisu 2 ; 0861 62 | |
| − | + | lisl 0 ; 0862 68 | |
| − | + | li $18 ; 0863 20 18 | |
| − | + | lr I,A ; 0865 5D | |
| + | li $5A ; 0866 20 5A | ||
| + | lr I,A ; 0868 5D | ||
| + | li $34 ; 0869 20 34 | ||
| + | lr I,A ; 086B 5D | ||
| + | lisu 3 ; 086C 63 | ||
| + | clr ; 086D 70 | ||
| + | lr I,A ; 086E 5D | ||
| + | li 9 ; 086F 20 09 | ||
| + | lr I,A ; 0871 5D | ||
| + | li $34 ; 0872 20 34 | ||
| + | lr I,A ; 0874 5D | ||
| + | pi L0835 ; 0875 28 08 35 | ||
| + | dci L0DE0 ; 0878 2A 0D E0 | ||
| + | pi L0C8E ; 087B 28 0C 8E | ||
| + | pi L0CA8 ; 087E 28 0C A8 | ||
| + | lis 8 ; 0881 78 | ||
| + | sl 4 ; 0882 15 | ||
| + | pi L0C9F ; 0883 28 0C 9F | ||
| + | dci L0DE0 ; 0886 2A 0D E0 | ||
| + | pi L0CA8 ; 0889 28 0C A8 | ||
| + | lr A,HL ; 088C 4B | ||
| + | ni $F7 ; 088D 21 F7 | ||
| + | lr HL,A ; 088F 5B | ||
| + | lisu 6 ; 0890 66 | ||
| + | lisl 0 ; 0891 68 | ||
| + | li $FF ; 0892 20 FF | ||
| + | lr S,A ; 0894 5C | ||
| + | lisl 3 ; 0895 6B | ||
| + | lr S,A ; 0896 5C | ||
| + | lr A,HL ; 0897 4B | ||
| + | sl 4 ; 0898 15 | ||
| + | sr 1 ; 0899 12 | ||
| + | sl 4 ; 089A 15 | ||
| + | bp L08A0 ; 089B 81 04 | ||
| + | jmp L0BDE ; 089D 29 0B DE | ||
| − | + | L08A0: | |
| − | + | lisu 7 ; 08A0 67 | |
| − | + | lisl 0 ; 08A1 68 | |
| − | + | lis $F ; 08A2 7F | |
| − | + | lr S,A ; 08A3 5C | |
| + | lr A,HL ; 08A4 4B | ||
| + | sl 1 ; 08A5 13 | ||
| + | sl 1 ; 08A6 13 | ||
| + | bm L08D1 ; 08A7 91 29 | ||
| + | L08A9: | ||
| + | li $85 ; 08A9 20 85 | ||
| + | lr 0,A ; 08AB 50 | ||
| + | pi prompt ; 08AC 28 00 99 | ||
| + | lr A,4 ; 08AF 44 | ||
| + | ci 8 ; 08B0 25 08 | ||
| + | bnz L08B6 ; 08B2 94 03 | ||
| + | br L08D1 ; 08B4 90 1C | ||
| + | L08B6: | ||
| + | ci 2 ; 08B6 25 02 | ||
| + | bnz L08A9 ; 08B8 94 F0 | ||
| + | li $8E ; 08BA 20 8E | ||
| + | lr 0,A ; 08BC 50 | ||
| + | pi prompt ; 08BD 28 00 99 | ||
| + | lisu 7 ; 08C0 67 | ||
| + | lisl 0 ; 08C1 68 | ||
| + | dci L0E90 ; 08C2 2A 0E 90 | ||
| + | lr A,4 ; 08C5 44 | ||
| + | sr 1 ; 08C6 12 | ||
| + | adc ; 08C7 8E | ||
| + | lm ; 08C8 16 | ||
| + | lr S,A ; 08C9 5C | ||
| + | br L08A9 ; 08CA 90 DE | ||
| + | .byte $4B,$13,$13,$91,$01 ; 08CC | ||
| + | L08D1: | ||
| + | li $83 ; 08D1 20 83 | ||
| + | lisu 7 ; 08D3 67 | ||
| + | lisl 2 ; 08D4 6A | ||
| + | lr S,A ; 08D5 5C | ||
| + | L08D6: | ||
| + | lr A,S ; 08D6 4C | ||
| + | lr 0,A ; 08D7 50 | ||
| + | li $33 ; 08D8 20 33 | ||
| + | lr 1,A ; 08DA 51 | ||
| + | li $13 ; 08DB 20 13 | ||
| + | lr 2,A ; 08DD 52 | ||
| + | pi drawchar ; 08DE 28 06 79 | ||
| + | clr ; 08E1 70 | ||
| + | lr 6,A ; 08E2 56 | ||
| + | pi delay ; 08E3 28 00 8F | ||
| + | ds S ; 08E6 3C | ||
| + | lr A,S ; 08E7 4C | ||
| + | sl 1 ; 08E8 13 | ||
| + | bnz L08D6 ; 08E9 94 EC | ||
| + | li $D ; 08EB 20 0D | ||
| + | lr 0,A ; 08ED 50 | ||
| + | li $33 ; 08EE 20 33 | ||
| + | lr 1,A ; 08F0 51 | ||
| + | li $13 ; 08F1 20 13 | ||
| + | lr 2,A ; 08F3 52 | ||
| + | pi drawchar ; 08F4 28 06 79 | ||
| + | L08F7: | ||
| + | lr A,HL ; 08F7 4B | ||
| + | sl 4 ; 08F8 15 | ||
| + | lisu 2 ; 08F9 62 | ||
| + | lisl 0 ; 08FA 68 | ||
| + | bp L08FF ; 08FB 81 03 | ||
| + | lisu 3 ; 08FD 63 | ||
| + | lisl 3 ; 08FE 6B | ||
| + | L08FF: | ||
| + | pi L0C56 ; 08FF 28 0C 56 | ||
| + | lr A,S ; 0902 4C | ||
| + | ci $7F ; 0903 25 7F | ||
| + | bnz L090B ; 0905 94 05 | ||
| + | li $68 ; 0907 20 68 | ||
| + | br L091B ; 0909 90 11 | ||
| + | L090B: | ||
| + | ci $69 ; 090B 25 69 | ||
| + | bnz L0913 ; 090D 94 05 | ||
| + | li 0 ; 090F 20 00 | ||
| + | br L091B ; 0911 90 09 | ||
| + | L0913: | ||
| + | dci L0DE0 ; 0913 2A 0D E0 | ||
| + | lr A,S ; 0916 4C | ||
| + | lr 9,A ; 0917 59 | ||
| + | lis 1 ; 0918 71 | ||
| + | br L0920 ; 0919 90 06 | ||
| + | L091B: | ||
| + | lr 9,A ; 091B 59 | ||
| + | dci L0E88 ; 091C 2A 0E 88 | ||
| + | clr ; 091F 70 | ||
| + | L0920: | ||
| + | lr 7,A ; 0920 57 | ||
| + | lr A,HL ; 0921 4B | ||
| + | sl 4 ; 0922 15 | ||
| + | pi L0C9F ; 0923 28 0C 9F | ||
| + | lr A,9 ; 0926 49 | ||
| + | lr S,A ; 0927 5C | ||
| + | clr ; 0928 70 | ||
| + | as 7 ; 0929 C7 | ||
| + | bnz L092D ; 092A 94 02 | ||
| + | lr 0,A ; 092C 50 | ||
| + | L092D: | ||
| + | pi L0CA8 ; 092D 28 0C A8 | ||
| + | lr A,HL ; 0930 4B | ||
| + | xi 8 ; 0931 23 08 | ||
| + | lr HL,A ; 0933 5B | ||
| + | sl 4 ; 0934 15 | ||
| + | bm L08F7 ; 0935 91 C1 | ||
| + | lr A,HL ; 0937 4B | ||
| + | sl 1 ; 0938 13 | ||
| + | bm L0954 ; 0939 91 1A | ||
| + | lisu 2 ; 093B 62 | ||
| + | lisl 2 ; 093C 6A | ||
| + | lr A,S ; 093D 4C | ||
| + | com ; 093E 18 | ||
| + | inc ; 093F 1F | ||
| + | ai $2E ; 0940 24 2E | ||
| + | bp L094D ; 0942 81 0A | ||
| + | lisu 3 ; 0944 63 | ||
| + | lisl 5 ; 0945 6D | ||
| + | lr A,S ; 0946 4C | ||
| + | com ; 0947 18 | ||
| + | inc ; 0948 1F | ||
| + | ai $2E ; 0949 24 2E | ||
| + | bm L0954 ; 094B 91 08 | ||
| + | L094D: | ||
| + | lr A,HL ; 094D 4B | ||
| + | oi $40 ; 094E 22 40 | ||
| + | lr HL,A ; 0950 5B | ||
| + | pi L0835 ; 0951 28 08 35 | ||
| + | L0954: | ||
| + | lisu 7 ; 0954 67 | ||
| + | lisl 0 ; 0955 68 | ||
| + | lr A,S ; 0956 4C | ||
| + | ni $F ; 0957 21 0F | ||
| + | lr 5,A ; 0959 55 | ||
| + | pi delay ; 095A 28 00 8F | ||
| + | ins 0 ; 095D A0 | ||
| + | ci $B ; 095E 25 0B | ||
| + | bnz L0965 ; 0960 94 04 | ||
| + | jmp L08A9 ; 0962 29 08 A9 | ||
| − | + | L0965: | |
| − | + | lr A,HL ; 0965 4B | |
| − | + | xi $80 ; 0966 23 80 | |
| − | + | lr HL,A ; 0968 5B | |
| − | + | lisu 7 ; 0969 67 | |
| + | lisl 1 ; 096A 69 | ||
| + | lr A,S ; 096B 4C | ||
| + | inc ; 096C 1F | ||
| + | ci 3 ; 096D 25 03 | ||
| + | bz L0974 ; 096F 84 04 | ||
| + | lr S,A ; 0971 5C | ||
| + | br L09BF ; 0972 90 4C | ||
| + | L0974: | ||
| + | clr ; 0974 70 | ||
| + | lr S,A ; 0975 5C | ||
| + | lr A,HL ; 0976 4B | ||
| + | sl 1 ; 0977 13 | ||
| + | sl 1 ; 0978 13 | ||
| + | bp L097E ; 0979 81 04 | ||
| + | jmp L0D02 ; 097B 29 0D 02 | ||
| − | + | L097E: | |
| − | + | clr ; 097E 70 | |
| − | + | outs 0 ; 097F B0 | |
| − | + | outs 1 ; 0980 B1 | |
| − | + | outs 4 ; 0981 B4 | |
| + | outs 5 ; 0982 B5 | ||
| + | ins 1 ; 0983 A1 | ||
| + | lisu 6 ; 0984 66 | ||
| + | lisl 0 ; 0985 68 | ||
| + | lr S,A ; 0986 5C | ||
| + | lisl 3 ; 0987 6B | ||
| + | lr A,HL ; 0988 4B | ||
| + | sl 1 ; 0989 13 | ||
| + | sl 1 ; 098A 13 | ||
| + | bm L098F ; 098B 91 03 | ||
| + | ins 4 ; 098D A4 | ||
| + | lr S,A ; 098E 5C | ||
| + | L098F: | ||
| + | lr A,S ; 098F 4C | ||
| + | sl 4 ; 0990 15 | ||
| + | bm L099B ; 0991 91 09 | ||
| + | lisu 3 ; 0993 63 | ||
| + | ds S ; 0994 3C | ||
| + | lr A,S ; 0995 4C | ||
| + | ni $F ; 0996 21 0F | ||
| + | lr S,A ; 0998 5C | ||
| + | br L09A4 ; 0999 90 0A | ||
| + | L099B: | ||
| + | sl 1 ; 099B 13 | ||
| + | bm L09A4 ; 099C 91 07 | ||
| + | lisu 3 ; 099E 63 | ||
| + | lr A,S ; 099F 4C | ||
| + | inc ; 09A0 1F | ||
| + | ni $F ; 09A1 21 0F | ||
| + | lr S,A ; 09A3 5C | ||
| + | L09A4: | ||
| + | lisu 6 ; 09A4 66 | ||
| + | lisl 0 ; 09A5 68 | ||
| + | lr A,S ; 09A6 4C | ||
| + | sl 4 ; 09A7 15 | ||
| + | bm L09B4 ; 09A8 91 0B | ||
| + | lisu 2 ; 09AA 62 | ||
| + | ds S ; 09AB 3C | ||
| + | lr A,S ; 09AC 4C | ||
| + | ni $F ; 09AD 21 0F | ||
| + | oi $10 ; 09AF 22 10 | ||
| + | lr S,A ; 09B1 5C | ||
| + | L09B2: | ||
| + | br L09BF ; 09B2 90 0C | ||
| + | L09B4: | ||
| + | sl 1 ; 09B4 13 | ||
| + | bm L09B2 ; 09B5 91 FC | ||
| + | lisu 2 ; 09B7 62 | ||
| + | lr A,S ; 09B8 4C | ||
| + | inc ; 09B9 1F | ||
| + | ni $F ; 09BA 21 0F | ||
| + | oi $10 ; 09BC 22 10 | ||
| + | lr S,A ; 09BE 5C | ||
| + | L09BF: | ||
| + | lr A,HL ; 09BF 4B | ||
| + | sl 1 ; 09C0 13 | ||
| + | bm L09C6 ; 09C1 91 04 | ||
| + | jmp L08F7 ; 09C3 29 08 F7 | ||
| − | + | L09C6: | |
| − | + | lisu 6 ; 09C6 66 | |
| − | + | lisl 1 ; 09C7 69 | |
| − | + | clr ; 09C8 70 | |
| − | + | as D ; 09C9 CE | |
| + | bm L0A0C ; 09CA 91 41 | ||
| + | clr ; 09CC 70 | ||
| + | as I ; 09CD CD | ||
| + | bp L09D5 ; 09CE 81 06 | ||
| + | clr ; 09D0 70 | ||
| + | lr I,A ; 09D1 5D | ||
| + | L09D2: | ||
| + | jmp L0B6B ; 09D2 29 0B 6B | ||
| − | + | L09D5: | |
| − | + | lr A,S ; 09D5 4C | |
| − | + | sl 1 ; 09D6 13 | |
| − | + | bm L09D2 ; 09D7 91 FA | |
| − | + | li $80 ; 09D9 20 80 | |
| + | as S ; 09DB CC | ||
| + | lr D,A ; 09DC 5E | ||
| + | lisu 2 ; 09DD 62 | ||
| + | L09DE: | ||
| + | pi L0C98 ; 09DE 28 0C 98 | ||
| + | lr A,HL ; 09E1 4B | ||
| + | sl 4 ; 09E2 15 | ||
| + | lisl 0 ; 09E3 68 | ||
| + | bm L09E7 ; 09E4 91 02 | ||
| + | lisl 3 ; 09E6 6B | ||
| + | L09E7: | ||
| + | lr A,0 ; 09E7 40 | ||
| + | lr I,A ; 09E8 5D | ||
| + | lr A,1 ; 09E9 41 | ||
| + | lr I,A ; 09EA 5D | ||
| + | lr A,2 ; 09EB 42 | ||
| + | lr I,A ; 09EC 5D | ||
| + | lr A,HL ; 09ED 4B | ||
| + | sl 4 ; 09EE 15 | ||
| + | lisl 0 ; 09EF 68 | ||
| + | bm L09F3 ; 09F0 91 02 | ||
| + | lisl 3 ; 09F2 6B | ||
| + | L09F3: | ||
| + | dci L0E95 ; 09F3 2A 0E 95 | ||
| + | lr A,S ; 09F6 4C | ||
| + | ni $10 ; 09F7 21 10 | ||
| + | lr A,I ; 09F9 4D | ||
| + | bz L09FD ; 09FA 84 02 | ||
| + | com ; 09FC 18 | ||
| + | L09FD: | ||
| + | ni $F ; 09FD 21 0F | ||
| + | sr 1 ; 09FF 12 | ||
| + | sr 1 ; 0A00 12 | ||
| + | adc ; 0A01 8E | ||
| + | lm ; 0A02 16 | ||
| + | lr 8,A ; 0A03 58 | ||
| + | ni $F ; 0A04 21 0F | ||
| + | as S ; 0A06 CC | ||
| + | lr I,A ; 0A07 5D | ||
| + | lr A,8 ; 0A08 48 | ||
| + | sr 4 ; 0A09 14 | ||
| + | as S ; 0A0A CC | ||
| + | lr I,A ; 0A0B 5D | ||
| + | L0A0C: | ||
| + | clr ; 0A0C 70 | ||
| + | br L0A54 ; 0A0D 90 46 | ||
| + | L0A0F: | ||
| + | lr A,HL ; 0A0F 4B | ||
| + | sl 4 ; 0A10 15 | ||
| + | lisu 6 ; 0A11 66 | ||
| + | lisl 1 ; 0A12 69 | ||
| + | bp L0A16 ; 0A13 81 02 | ||
| + | lisl 2 ; 0A15 6A | ||
| + | L0A16: | ||
| + | clr ; 0A16 70 | ||
| + | as S ; 0A17 CC | ||
| + | bp L0A7C ; 0A18 81 63 | ||
| + | lis $A ; 0A1A 7A | ||
| + | lr 5,A ; 0A1B 55 | ||
| + | L0A1C: | ||
| + | lr A,HL ; 0A1C 4B | ||
| + | sl 4 ; 0A1D 15 | ||
| + | lisu 2 ; 0A1E 62 | ||
| + | lisl 3 ; 0A1F 6B | ||
| + | bp L0A24 ; 0A20 81 03 | ||
| + | lisu 3 ; 0A22 63 | ||
| + | lisl 0 ; 0A23 68 | ||
| + | L0A24: | ||
| + | pi L0A8A ; 0A24 28 0A 8A | ||
| + | pi L0C56 ; 0A27 28 0C 56 | ||
| + | lr A,I ; 0A2A 4D | ||
| + | ni $70 ; 0A2B 21 70 | ||
| + | ci $70 ; 0A2D 25 70 | ||
| + | bz L0A36 ; 0A2F 84 06 | ||
| + | lr A,I ; 0A31 4D | ||
| + | ni $3F ; 0A32 21 3F | ||
| + | bnz L0A4B ; 0A34 94 16 | ||
| + | L0A36: | ||
| + | lisu 6 ; 0A36 66 | ||
| + | lr A,HL ; 0A37 4B | ||
| + | sl 4 ; 0A38 15 | ||
| + | lisl 0 ; 0A39 68 | ||
| + | clr ; 0A3A 70 | ||
| + | bp L0A41 ; 0A3B 81 05 | ||
| + | lisl 3 ; 0A3D 6B | ||
| + | as D ; 0A3E CE | ||
| + | br L0A42 ; 0A3F 90 02 | ||
| + | L0A41: | ||
| + | as I ; 0A41 CD | ||
| + | L0A42: | ||
| + | clr ; 0A42 70 | ||
| + | bm L0A47 ; 0A43 91 03 | ||
| + | li $40 ; 0A45 20 40 | ||
| + | L0A47: | ||
| + | lr S,A ; 0A47 5C | ||
| + | clr ; 0A48 70 | ||
| + | br L0A54 ; 0A49 90 0A | ||
| + | L0A4B: | ||
| + | lr A,HL ; 0A4B 4B | ||
| + | xi $80 ; 0A4C 23 80 | ||
| + | lr HL,A ; 0A4E 5B | ||
| + | ds 5 ; 0A4F 35 | ||
| + | bnz L0A1C ; 0A50 94 CB | ||
| + | li $80 ; 0A52 20 80 | ||
| + | L0A54: | ||
| + | lr K,P ; 0A54 08 | ||
| + | lr 0,A ; 0A55 50 | ||
| + | lis 1 ; 0A56 71 | ||
| + | lr 5,A ; 0A57 55 | ||
| + | lr 6,A ; 0A58 56 | ||
| + | lr 3,A ; 0A59 53 | ||
| + | lr A,HL ; 0A5A 4B | ||
| + | sl 4 ; 0A5B 15 | ||
| + | lisu 3 ; 0A5C 63 | ||
| + | lisl 1 ; 0A5D 69 | ||
| + | bm L0A62 ; 0A5E 91 03 | ||
| + | lisu 2 ; 0A60 62 | ||
| + | lisl 4 ; 0A61 6C | ||
| + | L0A62: | ||
| + | lr A,I ; 0A62 4D | ||
| + | lr 1,A ; 0A63 51 | ||
| + | lr A,D ; 0A64 4E | ||
| + | lr 2,A ; 0A65 52 | ||
| + | li $C0 ; 0A66 20 C0 | ||
| + | lr 4,A ; 0A68 54 | ||
| + | lisu 0 ; 0A69 60 | ||
| + | lisl 0 ; 0A6A 68 | ||
| + | pi L0CC4 ; 0A6B 28 0C C4 | ||
| + | lr A,HL ; 0A6E 4B | ||
| + | sl 4 ; 0A6F 15 | ||
| + | sr 1 ; 0A70 12 | ||
| + | sl 4 ; 0A71 15 | ||
| + | bp L0A76 ; 0A72 81 03 | ||
| + | lr P,K ; 0A74 09 | ||
| + | pop ; 0A75 1C | ||
| − | + | L0A76: | |
| − | + | clr ; 0A76 70 | |
| − | + | as 0 ; 0A77 C0 | |
| − | + | bm L0A7C ; 0A78 91 03 | |
| − | + | br L0A0F ; 0A7A 90 94 | |
| + | L0A7C: | ||
| + | lr A,HL ; 0A7C 4B | ||
| + | sl 4 ; 0A7D 15 | ||
| + | bm L0A83 ; 0A7E 91 04 | ||
| + | jmp L0B6B ; 0A80 29 0B 6B | ||
| − | + | L0A83: | |
| − | + | lr A,HL ; 0A83 4B | |
| − | + | ni $F7 ; 0A84 21 F7 | |
| − | + | lr HL,A ; 0A86 5B | |
| − | + | jmp L08F7 ; 0A87 29 08 F7 | |
| − | + | L0A8A: | |
| − | + | lr K,P ; 0A8A 08 | |
| − | + | lr A,5 ; 0A8B 45 | |
| − | + | lr 8,A ; 0A8C 58 | |
| − | + | lr A,I ; 0A8D 4D | |
| + | lr A,I ; 0A8E 4D | ||
| + | lr 0,A ; 0A8F 50 | ||
| + | lr A,D ; 0A90 4E | ||
| + | lr 1,A ; 0A91 51 | ||
| + | lr A,IS ; 0A92 0A | ||
| + | xi 8 ; 0A93 23 08 | ||
| + | lr IS,A ; 0A95 0B | ||
| + | lr A,I ; 0A96 4D | ||
| + | com ; 0A97 18 | ||
| + | inc ; 0A98 1F | ||
| + | as 0 ; 0A99 C0 | ||
| + | bm L0ACE ; 0A9A 91 33 | ||
| + | lr 9,A ; 0A9C 59 | ||
| + | sl 1 ; 0A9D 13 | ||
| + | sr 4 ; 0A9E 14 | ||
| + | bnz L0ACE ; 0A9F 94 2E | ||
| + | lr A,D ; 0AA1 4E | ||
| + | com ; 0AA2 18 | ||
| + | inc ; 0AA3 1F | ||
| + | as 1 ; 0AA4 C1 | ||
| + | bm L0ACE ; 0AA5 91 28 | ||
| + | lr HU,A ; 0AA7 5A | ||
| + | sl 1 ; 0AA8 13 | ||
| + | sr 4 ; 0AA9 14 | ||
| + | bnz L0ACE ; 0AAA 94 23 | ||
| + | lis 8 ; 0AAC 78 | ||
| + | xs HL ; 0AAD EB | ||
| + | sl 4 ; 0AAE 15 | ||
| + | pi L0C9F ; 0AAF 28 0C 9F | ||
| + | lr A,D ; 0AB2 4E | ||
| + | lr A,S ; 0AB3 4C | ||
| + | sl 4 ; 0AB4 15 | ||
| + | sr 1 ; 0AB5 12 | ||
| + | dci L0DE0 ; 0AB6 2A 0D E0 | ||
| + | adc ; 0AB9 8E | ||
| + | lr A,S ; 0ABA 4C | ||
| + | ni $10 ; 0ABB 21 10 | ||
| + | lr A,HU ; 0ABD 4A | ||
| + | bz L0AC2 ; 0ABE 84 03 | ||
| + | xi 7 ; 0AC0 23 07 | ||
| + | L0AC2: | ||
| + | adc ; 0AC2 8E | ||
| + | li $80 ; 0AC3 20 80 | ||
| + | L0AC5: | ||
| + | ds 9 ; 0AC5 39 | ||
| + | bm L0ACB ; 0AC6 91 04 | ||
| + | sr 1 ; 0AC8 12 | ||
| + | br L0AC5 ; 0AC9 90 FB | ||
| + | L0ACB: | ||
| + | nm ; 0ACB 8A | ||
| + | bnz L0ADA ; 0ACC 94 0D | ||
| + | L0ACE: | ||
| + | lr A,HL ; 0ACE 4B | ||
| + | sl 4 ; 0ACF 15 | ||
| + | lisu 2 ; 0AD0 62 | ||
| + | lisl 3 ; 0AD1 6B | ||
| + | bp L0AD6 ; 0AD2 81 03 | ||
| + | lisu 3 ; 0AD4 63 | ||
| + | lisl 0 ; 0AD5 68 | ||
| + | L0AD6: | ||
| + | lr A,8 ; 0AD6 48 | ||
| + | lr 5,A ; 0AD7 55 | ||
| + | lr P,K ; 0AD8 09 | ||
| + | pop ; 0AD9 1C | ||
| − | + | L0ADA: | |
| − | + | lr A,HL ; 0ADA 4B | |
| − | + | ni $BF ; 0ADB 21 BF | |
| − | + | lr HL,A ; 0ADD 5B | |
| − | + | pi L0835 ; 0ADE 28 08 35 | |
| + | lisu 3 ; 0AE1 63 | ||
| + | lisl 0 ; 0AE2 68 | ||
| + | pi L0C93 ; 0AE3 28 0C 93 | ||
| + | lis 9 ; 0AE6 79 | ||
| + | xs HL ; 0AE7 EB | ||
| + | lr HL,A ; 0AE8 5B | ||
| + | pi L0A54 ; 0AE9 28 0A 54 | ||
| + | lisu 2 ; 0AEC 62 | ||
| + | lisl 3 ; 0AED 6B | ||
| + | pi L0C93 ; 0AEE 28 0C 93 | ||
| + | lis 8 ; 0AF1 78 | ||
| + | xs HL ; 0AF2 EB | ||
| + | lr HL,A ; 0AF3 5B | ||
| + | pi L0A54 ; 0AF4 28 0A 54 | ||
| + | lis 1 ; 0AF7 71 | ||
| + | xs HL ; 0AF8 EB | ||
| + | lr HL,A ; 0AF9 5B | ||
| + | L0AFA: | ||
| + | lr A,HL ; 0AFA 4B | ||
| + | sl 4 ; 0AFB 15 | ||
| + | com ; 0AFC 18 | ||
| + | li $80 ; 0AFD 20 80 | ||
| + | bp L0B03 ; 0AFF 81 03 | ||
| + | li $40 ; 0B01 20 40 | ||
| + | L0B03: | ||
| + | outs 5 ; 0B03 B5 | ||
| + | pi L0C9F ; 0B04 28 0C 9F | ||
| + | dci L0DE0 ; 0B07 2A 0D E0 | ||
| + | pi L0CA8 ; 0B0A 28 0C A8 | ||
| + | lr A,HL ; 0B0D 4B | ||
| + | sl 4 ; 0B0E 15 | ||
| + | lisu 2 ; 0B0F 62 | ||
| + | lisl 0 ; 0B10 68 | ||
| + | bm L0B15 ; 0B11 91 03 | ||
| + | lisu 3 ; 0B13 63 | ||
| + | lisl 3 ; 0B14 6B | ||
| + | L0B15: | ||
| + | lr A,S ; 0B15 4C | ||
| + | inc ; 0B16 1F | ||
| + | ni $F ; 0B17 21 0F | ||
| + | lr 0,A ; 0B19 50 | ||
| + | li $10 ; 0B1A 20 10 | ||
| + | ns S ; 0B1C FC | ||
| + | as 0 ; 0B1D C0 | ||
| + | lr S,A ; 0B1E 5C | ||
| + | lis 4 ; 0B1F 74 | ||
| + | lr 5,A ; 0B20 55 | ||
| + | pi delay ; 0B21 28 00 8F | ||
| + | lr A,HL ; 0B24 4B | ||
| + | sl 4 ; 0B25 15 | ||
| + | com ; 0B26 18 | ||
| + | dci L0E88 ; 0B27 2A 0E 88 | ||
| + | pi L0C9F ; 0B2A 28 0C 9F | ||
| + | clr ; 0B2D 70 | ||
| + | lr 0,A ; 0B2E 50 | ||
| + | outs 5 ; 0B2F B5 | ||
| + | pi L0CA8 ; 0B30 28 0C A8 | ||
| + | lr A,HL ; 0B33 4B | ||
| + | sl 4 ; 0B34 15 | ||
| + | lisu 2 ; 0B35 62 | ||
| + | lisl 2 ; 0B36 6A | ||
| + | bm L0B3B ; 0B37 91 03 | ||
| + | lisu 3 ; 0B39 63 | ||
| + | lisl 5 ; 0B3A 6D | ||
| + | L0B3B: | ||
| + | lr A,S ; 0B3B 4C | ||
| + | ci $33 ; 0B3C 25 33 | ||
| + | bz L0B46 ; 0B3E 84 07 | ||
| + | inc ; 0B40 1F | ||
| + | ni $3F ; 0B41 21 3F | ||
| + | lr S,A ; 0B43 5C | ||
| + | br L0AFA ; 0B44 90 B5 | ||
| + | L0B46: | ||
| + | lr A,D ; 0B46 4E | ||
| + | lr A,S ; 0B47 4C | ||
| + | ci $33 ; 0B48 25 33 | ||
| + | bz L0B55 ; 0B4A 84 0A | ||
| + | lis 1 ; 0B4C 71 | ||
| + | bp L0B51 ; 0B4D 81 03 | ||
| + | com ; 0B4F 18 | ||
| + | inc ; 0B50 1F | ||
| + | L0B51: | ||
| + | as S ; 0B51 CC | ||
| + | lr S,A ; 0B52 5C | ||
| + | br L0AFA ; 0B53 90 A6 | ||
| + | L0B55: | ||
| + | ins 5 ; 0B55 A5 | ||
| + | ni $3F ; 0B56 21 3F | ||
| + | outs 5 ; 0B58 B5 | ||
| + | lisu 6 ; 0B59 66 | ||
| + | lisl 1 ; 0B5A 69 | ||
| + | lr A,S ; 0B5B 4C | ||
| + | sl 1 ; 0B5C 13 | ||
| + | sr 1 ; 0B5D 12 | ||
| + | lr I,A ; 0B5E 5D | ||
| + | lr A,S ; 0B5F 4C | ||
| + | sl 1 ; 0B60 13 | ||
| + | sr 1 ; 0B61 12 | ||
| + | lr S,A ; 0B62 5C | ||
| + | lr A,HL ; 0B63 4B | ||
| + | sl 4 ; 0B64 15 | ||
| + | lisu 2 ; 0B65 62 | ||
| + | bp L0B69 ; 0B66 81 02 | ||
| + | lisu 3 ; 0B68 63 | ||
| + | L0B69: | ||
| + | br L0B91 ; 0B69 90 27 | ||
| + | L0B6B: | ||
| + | lr A,HL ; 0B6B 4B | ||
| + | oi 8 ; 0B6C 22 08 | ||
| + | lr HL,A ; 0B6E 5B | ||
| + | lisu 6 ; 0B6F 66 | ||
| + | lisl 2 ; 0B70 6A | ||
| + | clr ; 0B71 70 | ||
| + | as I ; 0B72 CD | ||
| + | bp L0B78 ; 0B73 81 04 | ||
| + | jmp L0A0C ; 0B75 29 0A 0C | ||
| − | + | L0B78: | |
| − | + | clr ; 0B78 70 | |
| − | + | as D ; 0B79 CE | |
| − | + | bp L0B85 ; 0B7A 81 0A | |
| − | + | clr ; 0B7C 70 | |
| + | lr S,A ; 0B7D 5C | ||
| + | L0B7E: | ||
| + | lr A,HL ; 0B7E 4B | ||
| + | ni $F7 ; 0B7F 21 F7 | ||
| + | lr HL,A ; 0B81 5B | ||
| + | jmp L08F7 ; 0B82 29 08 F7 | ||
| − | + | L0B85: | |
| − | + | lr A,S ; 0B85 4C | |
| − | + | sl 1 ; 0B86 13 | |
| − | + | bm L0B7E ; 0B87 91 F6 | |
| − | + | li $80 ; 0B89 20 80 | |
| + | as S ; 0B8B CC | ||
| + | lr I,A ; 0B8C 5D | ||
| + | lisu 3 ; 0B8D 63 | ||
| + | jmp L09DE ; 0B8E 29 09 DE | ||
| − | + | L0B91: | |
| − | + | lr A,IS ; 0B91 0A | |
| − | + | lr 0,A ; 0B92 50 | |
| − | + | lr A,HL ; 0B93 4B | |
| − | + | sl 1 ; 0B94 13 | |
| + | sl 1 ; 0B95 13 | ||
| + | bp L0BAF ; 0B96 81 18 | ||
| + | lr A,IS ; 0B98 0A | ||
| + | sl 1 ; 0B99 13 | ||
| + | sr 4 ; 0B9A 14 | ||
| + | ci 2 ; 0B9B 25 02 | ||
| + | lisu 7 ; 0B9D 67 | ||
| + | lisl 0 ; 0B9E 68 | ||
| + | bnz L0BA8 ; 0B9F 94 08 | ||
| + | ds S ; 0BA1 3C | ||
| + | bnz L0BAF ; 0BA2 94 0C | ||
| + | lis 1 ; 0BA4 71 | ||
| + | lr S,A ; 0BA5 5C | ||
| + | br L0BAF ; 0BA6 90 08 | ||
| + | L0BA8: | ||
| + | lr A,S ; 0BA8 4C | ||
| + | inc ; 0BA9 1F | ||
| + | ci $10 ; 0BAA 25 10 | ||
| + | bz L0BAF ; 0BAC 84 02 | ||
| + | lr S,A ; 0BAE 5C | ||
| + | L0BAF: | ||
| + | lr A,0 ; 0BAF 40 | ||
| + | lr IS,A ; 0BB0 0B | ||
| + | lisl 6 ; 0BB1 6E | ||
| + | li $67 ; 0BB2 20 67 | ||
| + | asd S ; 0BB4 DC | ||
| + | lr S,A ; 0BB5 5C | ||
| + | ci 0 ; 0BB6 25 00 | ||
| + | bnz L0BBF ; 0BB8 94 06 | ||
| + | lr I,A ; 0BBA 5D | ||
| + | li $67 ; 0BBB 20 67 | ||
| + | asd S ; 0BBD DC | ||
| + | lr S,A ; 0BBE 5C | ||
| + | L0BBF: | ||
| + | lr A,HL ; 0BBF 4B | ||
| + | oi 1 ; 0BC0 22 01 | ||
| + | lr HL,A ; 0BC2 5B | ||
| + | dci L0E88 ; 0BC3 2A 0E 88 | ||
| + | pi L0C8E ; 0BC6 28 0C 8E | ||
| + | clr ; 0BC9 70 | ||
| + | lr 0,A ; 0BCA 50 | ||
| + | pi L0CA8 ; 0BCB 28 0C A8 | ||
| + | dci L0E88 ; 0BCE 2A 0E 88 | ||
| + | lis 8 ; 0BD1 78 | ||
| + | sl 4 ; 0BD2 15 | ||
| + | pi L0C9F ; 0BD3 28 0C 9F | ||
| + | clr ; 0BD6 70 | ||
| + | lr 0,A ; 0BD7 50 | ||
| + | pi L0CA8 ; 0BD8 28 0C A8 | ||
| + | pi L0861 ; 0BDB 28 08 61 | ||
| + | L0BDE: | ||
| + | lr A,HL ; 0BDE 4B | ||
| + | ni $20 ; 0BDF 21 20 | ||
| + | lr HL,A ; 0BE1 5B | ||
| + | L0BE2: | ||
| + | lr A,HL ; 0BE2 4B | ||
| + | sl 4 ; 0BE3 15 | ||
| + | lisu 7 ; 0BE4 67 | ||
| + | bm L0BE8 ; 0BE5 91 02 | ||
| + | lisu 3 ; 0BE7 63 | ||
| + | L0BE8: | ||
| + | lisl 7 ; 0BE8 6F | ||
| + | li $1B ; 0BE9 20 1B | ||
| + | lr 1,A ; 0BEB 51 | ||
| + | li $33 ; 0BEC 20 33 | ||
| + | lr 2,A ; 0BEE 52 | ||
| + | lr A,D ; 0BEF 4E | ||
| + | ni $F ; 0BF0 21 0F | ||
| + | ai $80 ; 0BF2 24 80 | ||
| + | lr 0,A ; 0BF4 50 | ||
| + | pi drawchar ; 0BF5 28 06 79 | ||
| + | lr A,S ; 0BF8 4C | ||
| + | sr 4 ; 0BF9 14 | ||
| + | ai $80 ; 0BFA 24 80 | ||
| + | lr 0,A ; 0BFC 50 | ||
| + | pi drawchar ; 0BFD 28 06 79 | ||
| + | lr A,S ; 0C00 4C | ||
| + | ni $F ; 0C01 21 0F | ||
| + | ai $80 ; 0C03 24 80 | ||
| + | lr 0,A ; 0C05 50 | ||
| + | pi drawchar ; 0C06 28 06 79 | ||
| + | lr A,HL ; 0C09 4B | ||
| + | sl 4 ; 0C0A 15 | ||
| + | lisu 7 ; 0C0B 67 | ||
| + | bm L0C0F ; 0C0C 91 02 | ||
| + | lisu 2 ; 0C0E 62 | ||
| + | L0C0F: | ||
| + | lisl 7 ; 0C0F 6F | ||
| + | li $47 ; 0C10 20 47 | ||
| + | lr 1,A ; 0C12 51 | ||
| + | li $33 ; 0C13 20 33 | ||
| + | lr 2,A ; 0C15 52 | ||
| + | lr A,D ; 0C16 4E | ||
| + | ni $F ; 0C17 21 0F | ||
| + | ai $40 ; 0C19 24 40 | ||
| + | lr 0,A ; 0C1B 50 | ||
| + | pi drawchar ; 0C1C 28 06 79 | ||
| + | lr A,S ; 0C1F 4C | ||
| + | sr 4 ; 0C20 14 | ||
| + | ai $40 ; 0C21 24 40 | ||
| + | lr 0,A ; 0C23 50 | ||
| + | pi drawchar ; 0C24 28 06 79 | ||
| + | lr A,S ; 0C27 4C | ||
| + | ni $F ; 0C28 21 0F | ||
| + | ai $40 ; 0C2A 24 40 | ||
| + | lr 0,A ; 0C2C 50 | ||
| + | pi drawchar ; 0C2D 28 06 79 | ||
| + | lr A,HL ; 0C30 4B | ||
| + | sl 4 ; 0C31 15 | ||
| + | bm L0C4F ; 0C32 91 1C | ||
| + | clr ; 0C34 70 | ||
| + | lr 6,A ; 0C35 56 | ||
| + | pi delay ; 0C36 28 00 8F | ||
| + | clr ; 0C39 70 | ||
| + | lr 6,A ; 0C3A 56 | ||
| + | pi delay ; 0C3B 28 00 8F | ||
| + | clr ; 0C3E 70 | ||
| + | lr 6,A ; 0C3F 56 | ||
| + | pi delay ; 0C40 28 00 8F | ||
| + | lisu 7 ; 0C43 67 | ||
| + | lisl 7 ; 0C44 6F | ||
| + | li $DD ; 0C45 20 DD | ||
| + | lr D,A ; 0C47 5E | ||
| + | lr S,A ; 0C48 5C | ||
| + | lr A,HL ; 0C49 4B | ||
| + | oi 8 ; 0C4A 22 08 | ||
| + | lr HL,A ; 0C4C 5B | ||
| + | br L0BE2 ; 0C4D 90 94 | ||
| + | L0C4F: | ||
| + | lr A,HL ; 0C4F 4B | ||
| + | ni $20 ; 0C50 21 20 | ||
| + | lr HL,A ; 0C52 5B | ||
| + | jmp L08D1 ; 0C53 29 08 D1 | ||
| − | + | L0C56: | |
| − | + | dci L0E78 ; 0C56 2A 0E 78 | |
| − | + | lr A,S ; 0C59 4C | |
| − | + | ni $F ; 0C5A 21 0F | |
| − | + | adc ; 0C5C 8E | |
| + | lr A,I ; 0C5D 4D | ||
| + | ni $10 ; 0C5E 21 10 | ||
| + | sr 1 ; 0C60 12 | ||
| + | sl 4 ; 0C61 15 | ||
| + | am ; 0C62 88 | ||
| + | lr 0,A ; 0C63 50 | ||
| + | lr A,I ; 0C64 4D | ||
| + | lr J,W ; 0C65 1E | ||
| + | clr ; 0C66 70 | ||
| + | as HL ; 0C67 CB | ||
| + | lr A,0 ; 0C68 40 | ||
| + | bp L0C6C ; 0C69 81 02 | ||
| + | sr 1 ; 0C6B 12 | ||
| + | L0C6C: | ||
| + | sr 4 ; 0C6C 14 | ||
| + | ni 1 ; 0C6D 21 01 | ||
| + | lr W,J ; 0C6F 1D | ||
| + | bp L0C74 ; 0C70 81 03 | ||
| + | com ; 0C72 18 | ||
| + | inc ; 0C73 1F | ||
| + | L0C74: | ||
| + | as S ; 0C74 CC | ||
| + | ni $3F ; 0C75 21 3F | ||
| + | lr D,A ; 0C77 5E | ||
| + | lr A,0 ; 0C78 40 | ||
| + | sl 4 ; 0C79 15 | ||
| + | lr J,W ; 0C7A 1E | ||
| + | sr 4 ; 0C7B 14 | ||
| + | clr ; 0C7C 70 | ||
| + | as HL ; 0C7D CB | ||
| + | lr A,0 ; 0C7E 40 | ||
| + | bp L0C82 ; 0C7F 81 02 | ||
| + | sr 1 ; 0C81 12 | ||
| + | L0C82: | ||
| + | ni 1 ; 0C82 21 01 | ||
| + | lr W,J ; 0C84 1D | ||
| + | bp L0C89 ; 0C85 81 03 | ||
| + | com ; 0C87 18 | ||
| + | inc ; 0C88 1F | ||
| + | L0C89: | ||
| + | as S ; 0C89 CC | ||
| + | ni $7F ; 0C8A 21 7F | ||
| + | lr S,A ; 0C8C 5C | ||
| + | pop ; 0C8D 1C | ||
| − | + | L0C8E: | |
| − | + | li $40 ; 0C8E 20 40 | |
| − | + | lr 4,A ; 0C90 54 | |
| − | + | lisu 2 ; 0C91 62 | |
| − | + | lisl 0 ; 0C92 68 | |
| + | L0C93: | ||
| + | li 8 ; 0C93 20 08 | ||
| + | lr 5,A ; 0C95 55 | ||
| + | lr 6,A ; 0C96 56 | ||
| + | lr 3,A ; 0C97 53 | ||
| + | L0C98: | ||
| + | lr A,I ; 0C98 4D | ||
| + | lr 0,A ; 0C99 50 | ||
| + | lr A,I ; 0C9A 4D | ||
| + | lr 1,A ; 0C9B 51 | ||
| + | lr A,D ; 0C9C 4E | ||
| + | lr 2,A ; 0C9D 52 | ||
| + | pop ; 0C9E 1C | ||
| − | + | L0C9F: | |
| − | + | bp L0C8E ; 0C9F 81 EE | |
| − | + | li $80 ; 0CA1 20 80 | |
| − | + | lr 4,A ; 0CA3 54 | |
| − | + | lisu 3 ; 0CA4 63 | |
| + | lisl 3 ; 0CA5 6B | ||
| + | br L0C93 ; 0CA6 90 EC | ||
| + | L0CA8: | ||
| + | lisu 4 ; 0CA8 64 | ||
| + | lisl 0 ; 0CA9 68 | ||
| + | lr A,0 ; 0CAA 40 | ||
| + | sl 4 ; 0CAB 15 | ||
| + | sr 1 ; 0CAC 12 | ||
| + | adc ; 0CAD 8E | ||
| + | lr A,0 ; 0CAE 40 | ||
| + | ni $10 ; 0CAF 21 10 | ||
| + | bnz L0CBB ; 0CB1 94 09 | ||
| + | L0CB3: | ||
| + | lm ; 0CB3 16 | ||
| + | lr I,A ; 0CB4 5D | ||
| + | br7 L0CB3 ; 0CB5 8F FD | ||
| + | lm ; 0CB7 16 | ||
| + | lr I,A ; 0CB8 5D | ||
| + | br L0CC4 ; 0CB9 90 0A | ||
| + | L0CBB: | ||
| + | lisl 7 ; 0CBB 6F | ||
| + | L0CBC: | ||
| + | lm ; 0CBC 16 | ||
| + | lr D,A ; 0CBD 5E | ||
| + | br7 L0CBC ; 0CBE 8F FD | ||
| + | lisl 0 ; 0CC0 68 | ||
| + | br L0CC4 ; 0CC1 90 02 | ||
| + | L0CC3: | ||
| + | lr 5,A ; 0CC3 55 | ||
| + | L0CC4: | ||
| + | lr A,2 ; 0CC4 42 | ||
| + | com ; 0CC5 18 | ||
| + | ni $3F ; 0CC6 21 3F | ||
| + | lr 8,A ; 0CC8 58 | ||
| + | ins 5 ; 0CC9 A5 | ||
| + | ni $C0 ; 0CCA 21 C0 | ||
| + | as 8 ; 0CCC C8 | ||
| + | outs 5 ; 0CCD B5 | ||
| + | lr A,I ; 0CCE 4D | ||
| + | lr 7,A ; 0CCF 57 | ||
| + | L0CD0: | ||
| + | lr A,1 ; 0CD0 41 | ||
| + | com ; 0CD1 18 | ||
| + | outs 4 ; 0CD2 B4 | ||
| + | lr A,7 ; 0CD3 47 | ||
| + | oi 0 ; 0CD4 22 00 | ||
| + | lr A,4 ; 0CD6 44 | ||
| + | bm L0CDA ; 0CD7 91 02 | ||
| + | clr ; 0CD9 70 | ||
| + | L0CDA: | ||
| + | com ; 0CDA 18 | ||
| + | outs 1 ; 0CDB B1 | ||
| + | lr A,7 ; 0CDC 47 | ||
| + | sl 1 ; 0CDD 13 | ||
| + | lr 7,A ; 0CDE 57 | ||
| + | li $60 ; 0CDF 20 60 | ||
| + | outs 0 ; 0CE1 B0 | ||
| + | li $50 ; 0CE2 20 50 | ||
| + | outs 0 ; 0CE4 B0 | ||
| + | lr A,1 ; 0CE5 41 | ||
| + | inc ; 0CE6 1F | ||
| + | lr 1,A ; 0CE7 51 | ||
| + | lis 4 ; 0CE8 74 | ||
| + | lr 8,A ; 0CE9 58 | ||
| + | L0CEA: | ||
| + | ds 8 ; 0CEA 38 | ||
| + | bnz L0CEA ; 0CEB 94 FE | ||
| + | ds 5 ; 0CED 35 | ||
| + | bnz L0CD0 ; 0CEE 94 E1 | ||
| + | lr A,2 ; 0CF0 42 | ||
| + | inc ; 0CF1 1F | ||
| + | lr 2,A ; 0CF2 52 | ||
| + | lr A,3 ; 0CF3 43 | ||
| + | ni $F ; 0CF4 21 0F | ||
| + | com ; 0CF6 18 | ||
| + | inc ; 0CF7 1F | ||
| + | as 1 ; 0CF8 C1 | ||
| + | lr 1,A ; 0CF9 51 | ||
| + | lr A,3 ; 0CFA 43 | ||
| + | ds 6 ; 0CFB 36 | ||
| + | bnz L0CC3 ; 0CFC 94 C6 | ||
| + | clr ; 0CFE 70 | ||
| + | outs 1 ; 0CFF B1 | ||
| + | outs 0 ; 0D00 B0 | ||
| + | pop ; 0D01 1C | ||
| − | + | L0D02: | |
| − | + | lr A,HL ; 0D02 4B | |
| − | + | sl 1 ; 0D03 13 | |
| − | + | bp L0D73 ; 0D04 81 6E | |
| − | + | sl 4 ; 0D06 15 | |
| + | bm L0D73 ; 0D07 91 6B | ||
| + | lisu 6 ; 0D09 66 | ||
| + | lisl 2 ; 0D0A 6A | ||
| + | clr ; 0D0B 70 | ||
| + | as I ; 0D0C CD | ||
| + | bp L0D15 ; 0D0D 81 07 | ||
| + | li $FF ; 0D0F 20 FF | ||
| + | lr S,A ; 0D11 5C | ||
| + | jmp L0DA8 ; 0D12 29 0D A8 | ||
| − | + | L0D15: | |
| − | + | lr A,HL ; 0D15 4B | |
| − | + | sl 1 ; 0D16 13 | |
| − | + | sl 1 ; 0D17 13 | |
| − | + | sl 4 ; 0D18 15 | |
| + | bp L0D1E ; 0D19 81 04 | ||
| + | jmp L0DBE ; 0D1B 29 0D BE | ||
| − | + | L0D1E: | |
| − | + | lisu 3 ; 0D1E 63 | |
| − | + | lisl 5 ; 0D1F 6D | |
| − | + | lr A,D ; 0D20 4E | |
| − | + | com ; 0D21 18 | |
| + | inc ; 0D22 1F | ||
| + | lr 0,A ; 0D23 50 | ||
| + | lr A,I ; 0D24 4D | ||
| + | com ; 0D25 18 | ||
| + | inc ; 0D26 1F | ||
| + | lr 1,A ; 0D27 51 | ||
| + | lisu 2 ; 0D28 62 | ||
| + | lisl 2 ; 0D29 6A | ||
| + | lr A,D ; 0D2A 4E | ||
| + | as 0 ; 0D2B C0 | ||
| + | lr 0,A ; 0D2C 50 | ||
| + | lr A,D ; 0D2D 4E | ||
| + | as 1 ; 0D2E C1 | ||
| + | lr 1,A ; 0D2F 51 | ||
| + | clr ; 0D30 70 | ||
| + | as 0 ; 0D31 C0 | ||
| + | bm L0D36 ; 0D32 91 03 | ||
| + | com ; 0D34 18 | ||
| + | inc ; 0D35 1F | ||
| + | L0D36: | ||
| + | ai 2 ; 0D36 24 02 | ||
| + | bm L0D40 ; 0D38 91 07 | ||
| + | lisu 3 ; 0D3A 63 | ||
| + | lisl 3 ; 0D3B 6B | ||
| + | lis 7 ; 0D3C 77 | ||
| + | ns S ; 0D3D FC | ||
| + | bz L0DAB ; 0D3E 84 6C | ||
| + | L0D40: | ||
| + | clr ; 0D40 70 | ||
| + | as 1 ; 0D41 C1 | ||
| + | bm L0D46 ; 0D42 91 03 | ||
| + | com ; 0D44 18 | ||
| + | inc ; 0D45 1F | ||
| + | L0D46: | ||
| + | ai 2 ; 0D46 24 02 | ||
| + | bm L0D54 ; 0D48 91 0B | ||
| + | lisu 3 ; 0D4A 63 | ||
| + | lisl 3 ; 0D4B 6B | ||
| + | lis 4 ; 0D4C 74 | ||
| + | xs S ; 0D4D EC | ||
| + | lis $C ; 0D4E 7C | ||
| + | bz L0DAB ; 0D4F 84 5B | ||
| + | xs S ; 0D51 EC | ||
| + | bz L0DAB ; 0D52 84 58 | ||
| + | L0D54: | ||
| + | lisl 0 ; 0D54 68 | ||
| + | lisu 5 ; 0D55 65 | ||
| + | lr A,0 ; 0D56 40 | ||
| + | lr I,A ; 0D57 5D | ||
| + | lr A,1 ; 0D58 41 | ||
| + | lr D,A ; 0D59 5E | ||
| + | clr ; 0D5A 70 | ||
| + | as I ; 0D5B CD | ||
| + | lis 4 ; 0D5C 74 | ||
| + | bp L0D84 ; 0D5D 81 26 | ||
| + | lr 0,A ; 0D5F 50 | ||
| + | clr ; 0D60 70 | ||
| + | as S ; 0D61 CC | ||
| + | lr J,W ; 0D62 1E | ||
| + | com ; 0D63 18 | ||
| + | inc ; 0D64 1F | ||
| + | lr D,A ; 0D65 5E | ||
| + | lr W,J ; 0D66 1D | ||
| + | lis 2 ; 0D67 72 | ||
| + | bm L0D95 ; 0D68 91 2C | ||
| + | lr A,S ; 0D6A 4C | ||
| + | com ; 0D6B 18 | ||
| + | inc ; 0D6C 1F | ||
| + | lr S,A ; 0D6D 5C | ||
| + | lis 2 ; 0D6E 72 | ||
| + | com ; 0D6F 18 | ||
| + | inc ; 0D70 1F | ||
| + | br L0D95 ; 0D71 90 23 | ||
| + | L0D73: | ||
| + | lr A,HL ; 0D73 4B | ||
| + | oi 4 ; 0D74 22 04 | ||
| + | lr HL,A ; 0D76 5B | ||
| + | clr ; 0D77 70 | ||
| + | lr 0,A ; 0D78 50 | ||
| + | lisu 3 ; 0D79 63 | ||
| + | lisl 1 ; 0D7A 69 | ||
| + | lr A,S ; 0D7B 4C | ||
| + | asd I ; 0D7C DD | ||
| + | as S ; 0D7D CC | ||
| + | lisu 1 ; 0D7E 61 | ||
| + | as S ; 0D7F CC | ||
| + | ni $F ; 0D80 21 0F | ||
| + | br L0D95 ; 0D82 90 12 | ||
| + | L0D84: | ||
| + | lis $C ; 0D84 7C | ||
| + | lr 0,A ; 0D85 50 | ||
| + | clr ; 0D86 70 | ||
| + | as D ; 0D87 CE | ||
| + | lr J,W ; 0D88 1E | ||
| + | lr A,S ; 0D89 4C | ||
| + | com ; 0D8A 18 | ||
| + | inc ; 0D8B 1F | ||
| + | lr W,J ; 0D8C 1D | ||
| + | bm L0D90 ; 0D8D 91 02 | ||
| + | lr S,A ; 0D8F 5C | ||
| + | L0D90: | ||
| + | lis 2 ; 0D90 72 | ||
| + | bp L0D95 ; 0D91 81 03 | ||
| + | com ; 0D93 18 | ||
| + | inc ; 0D94 1F | ||
| + | L0D95: | ||
| + | as 0 ; 0D95 C0 | ||
| + | lisu 5 ; 0D96 65 | ||
| + | lisl 3 ; 0D97 6B | ||
| + | lr S,A ; 0D98 5C | ||
| + | com ; 0D99 18 | ||
| + | inc ; 0D9A 1F | ||
| + | lisu 3 ; 0D9B 63 | ||
| + | as S ; 0D9C CC | ||
| + | bz L0DAB ; 0D9D 84 0D | ||
| + | sl 4 ; 0D9F 15 | ||
| + | li $F7 ; 0DA0 20 F7 | ||
| + | bp L0DA6 ; 0DA2 81 03 | ||
| + | xi $C ; 0DA4 23 0C | ||
| + | L0DA6: | ||
| + | lisu 6 ; 0DA6 66 | ||
| + | lr S,A ; 0DA7 5C | ||
| + | L0DA8: | ||
| + | jmp L097E ; 0DA8 29 09 7E | ||
| − | + | L0DAB: | |
| − | + | lr A,HL ; 0DAB 4B | |
| − | + | sl 1 ; 0DAC 13 | |
| − | + | sl 4 ; 0DAD 15 | |
| − | + | lr A,HL ; 0DAE 4B | |
| + | bm L0DB9 ; 0DAF 91 09 | ||
| + | lisu 6 ; 0DB1 66 | ||
| + | lisl 3 ; 0DB2 6B | ||
| + | li $7F ; 0DB3 20 7F | ||
| + | lr S,A ; 0DB5 5C | ||
| + | lr A,HL ; 0DB6 4B | ||
| + | oi 2 ; 0DB7 22 02 | ||
| + | L0DB9: | ||
| + | ni $FB ; 0DB9 21 FB | ||
| + | lr HL,A ; 0DBB 5B | ||
| + | br L0DA8 ; 0DBC 90 EB | ||
| + | L0DBE: | ||
| + | lisu 5 ; 0DBE 65 | ||
| + | lisl 0 ; 0DBF 68 | ||
| + | lr A,I ; 0DC0 4D | ||
| + | as S ; 0DC1 CC | ||
| + | lis 1 ; 0DC2 71 | ||
| + | bp L0DC7 ; 0DC3 81 03 | ||
| + | com ; 0DC5 18 | ||
| + | inc ; 0DC6 1F | ||
| + | L0DC7: | ||
| + | lisu 3 ; 0DC7 63 | ||
| + | lisl 3 ; 0DC8 6B | ||
| + | as S ; 0DC9 CC | ||
| + | ni $F ; 0DCA 21 0F | ||
| + | lr S,A ; 0DCC 5C | ||
| + | lisu 6 ; 0DCD 66 | ||
| + | li $7F ; 0DCE 20 7F | ||
| + | lr S,A ; 0DD0 5C | ||
| + | lr A,HL ; 0DD1 4B | ||
| + | ni $FD ; 0DD2 21 FD | ||
| + | lr HL,A ; 0DD4 5B | ||
| + | br L0DA8 ; 0DD5 90 D2 | ||
| − | + | L0DD7: | |
| − | + | .byte $00, $30, $2E, $01, $33, $2E, $02, $31, $33 ; 0DD7 object/parameter triples | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | ; aeroplane sprites 8x8, full loop | |
| − | |||
| − | |||
| − | |||
| − | ; Decodes to sequence: 343 242 124 133 231 432 142 314 322 132 342 334 111 223 324 443 (after first pressing button 3) | + | L0DE0: |
| + | .byte %00000000 ; 0DE0 00 right | ||
| + | .byte %01000000 | ||
| + | .byte %01100000 | ||
| + | .byte %01111101 | ||
| + | .byte %01111111 | ||
| + | .byte %01111101 | ||
| + | .byte %00000000 | ||
| + | .byte %00000000 | ||
| + | |||
| + | .byte %00000000 ; 0DE8 00 first angle up | ||
| + | .byte %00000010 | ||
| + | .byte %00001111 | ||
| + | .byte %01011101 | ||
| + | .byte %01111000 | ||
| + | .byte %01110000 | ||
| + | .byte %00000000 | ||
| + | .byte %00000000 | ||
| + | |||
| + | .byte %00000100 ; 0DF0 04 second angle up | ||
| + | .byte %00000010 | ||
| + | .byte %00001101 | ||
| + | .byte %01011100 | ||
| + | .byte %01111000 | ||
| + | .byte %01110000 | ||
| + | .byte %00100000 | ||
| + | .byte %00000000 | ||
| + | |||
| + | .byte %00001100 ; 0DF8 0C third angle up | ||
| + | .byte %00000110 | ||
| + | .byte %00001100 | ||
| + | .byte %00011100 | ||
| + | .byte %01011000 | ||
| + | .byte %01111000 | ||
| + | .byte %00110000 | ||
| + | .byte %00000000 | ||
| + | |||
| + | .byte %00011100 ; 0E00 1C up | ||
| + | .byte %00001000 | ||
| + | .byte %00011100 | ||
| + | .byte %00011100 | ||
| + | .byte %00011100 | ||
| + | .byte %00111100 | ||
| + | .byte %01111100 | ||
| + | .byte %00000000 | ||
| + | |||
| + | .byte %00110000 ; 0E08 30 loop 3 | ||
| + | .byte %01100000 | ||
| + | .byte %00110000 | ||
| + | .byte %00111000 | ||
| + | .byte %00011100 | ||
| + | .byte %00001100 | ||
| + | .byte %00011100 | ||
| + | .byte %00000000 | ||
| + | |||
| + | .byte %00100000 ; 0E10 20 loop 3 | ||
| + | .byte %01000000 | ||
| + | .byte %10110000 | ||
| + | .byte %00111000 | ||
| + | .byte %00011100 | ||
| + | .byte %00001110 | ||
| + | .byte %00011100 | ||
| + | .byte %00000000 | ||
| + | |||
| + | .byte %00000000 ; 0E18 00 loop 3 | ||
| + | .byte %01000000 | ||
| + | .byte %11110000 | ||
| + | .byte %10111100 | ||
| + | .byte %00011110 | ||
| + | .byte %00001110 | ||
| + | .byte %00011100 | ||
| + | .byte %00000000 | ||
| + | |||
| + | .byte %00000000 ; 0E20 00 left up-side-down | ||
| + | .byte %00000000 | ||
| + | .byte %10111110 | ||
| + | .byte %11111110 | ||
| + | .byte %10111110 | ||
| + | .byte %00000110 | ||
| + | .byte %00000010 | ||
| + | .byte %00000000 | ||
| + | |||
| + | .byte %00000000 ; 0E28 00 loop down 1 | ||
| + | .byte %00000000 | ||
| + | .byte %00001110 | ||
| + | .byte %00011110 | ||
| + | .byte %10111010 | ||
| + | .byte %11110000 | ||
| + | .byte %01000000 | ||
| + | .byte %00000000 | ||
| + | |||
| + | .byte %00000000 ; 0E30 00 loop down 2 | ||
| + | .byte %00000100 | ||
| + | .byte %00001110 | ||
| + | .byte %00011110 | ||
| + | .byte %00111010 | ||
| + | .byte %10110000 | ||
| + | .byte %01000000 | ||
| + | .byte %00100000 | ||
| + | |||
| + | .byte %00000000 ; 0E38 00 loop down 3 | ||
| + | .byte %00001100 | ||
| + | .byte %00011110 | ||
| + | .byte %00011010 | ||
| + | .byte %00111000 | ||
| + | .byte %00110000 | ||
| + | .byte %01100000 | ||
| + | .byte %00110000 | ||
| + | |||
| + | .byte %00000000 ; 0E40 00 straight down | ||
| + | .byte %00111110 | ||
| + | .byte %00111100 | ||
| + | .byte %00111000 | ||
| + | .byte %00111000 | ||
| + | .byte %00111000 | ||
| + | .byte %00010000 | ||
| + | .byte %00111000 | ||
| + | |||
| + | .byte %00000000 ; 0E48 00 loop up 1 | ||
| + | .byte %00111000 | ||
| + | .byte %00110000 | ||
| + | .byte %00111000 | ||
| + | .byte %00011100 | ||
| + | .byte %00001100 | ||
| + | .byte %00000110 | ||
| + | .byte %00001100 | ||
| + | |||
| + | .byte %00000000 ; 0E50 00 loop up 2 | ||
| + | .byte %00111000 | ||
| + | .byte %01110000 | ||
| + | .byte %00111000 | ||
| + | .byte %00011100 | ||
| + | .byte %00001101 | ||
| + | .byte %00000010 | ||
| + | .byte %00000100 | ||
| + | |||
| + | .byte %00000000 ; 0E58 00 loop up 3 | ||
| + | .byte %00110000 | ||
| + | .byte %01100000 | ||
| + | .byte %01111000 | ||
| + | .byte %00111101 | ||
| + | .byte %00001111 | ||
| + | .byte %00000010 | ||
| + | .byte %00000000 | ||
| + | |||
| + | |||
| + | |||
| + | ; flight tower image 8x8 parts | ||
| + | |||
| + | L0E60: | ||
| + | L0E60: | ||
| + | .byte %00001110 ; 0E60 0E | ||
| + | .byte %11111111 | ||
| + | .byte %11111111 | ||
| + | .byte %00111111 | ||
| + | .byte %00101010 | ||
| + | .byte %00101110 | ||
| + | .byte %00101010 | ||
| + | .byte %00101110 | ||
| + | |||
| + | .byte %01110000 ; 0E68 70 | ||
| + | .byte %11111111 | ||
| + | .byte %11111111 | ||
| + | .byte %11111100 | ||
| + | .byte %01010100 | ||
| + | .byte %01110100 | ||
| + | .byte %01010100 | ||
| + | .byte %01110100 | ||
| + | |||
| + | .byte %01011101 ; 0E70 5D | ||
| + | .byte %01010101 | ||
| + | .byte %01011101 | ||
| + | .byte %01010101 | ||
| + | .byte %01011101 | ||
| + | .byte %01010101 | ||
| + | .byte %01011101 | ||
| + | .byte %01010101 | ||
| + | |||
| + | L0E78: | ||
| + | .byte $03, $A3, $B3, $B2, $B0, $BA, $BB, $AB, $0B, $2B, $3B, $3A, $30, $32, $33, $23 ; 0E78 16 byte look-up | ||
| + | |||
| + | L0E88: | ||
| + | .byte $00, $00, $00, $00, $00, $00, $00, $00 ; 0E88 clear sprite | ||
| + | |||
| + | L0E90: | ||
| + | .byte $0C, $09, $06, $2B, $03 ; 0E90 parameter table | ||
| + | |||
| + | L0E95: | ||
| + | .byte $43, $33, $34, $44 ; 0E95 lookup table | ||
| + | |||
| + | L0E99: | ||
| + | dci L0FD0 ; 0E99 2A 0F D0 Jumps here after button 3 is pressed at prompt, set keypress data pointer | ||
| + | L0E9C: | ||
| + | li $8A ; 0E9C 20 8A | ||
| + | lr 0,A ; 0E9E 50 $8A in r0 (RED G) | ||
| + | lr Q,DC ; 0E9F 0E Load DC0 address in Q,backup address | ||
| + | pi prompt ; 0EA0 28 00 99 Jump to BIOS subroutine prompt + read buttons | ||
| + | lr DC,Q ; 0EA3 0F Restore address to DC again | ||
| + | lr A,4 ; 0EA4 44 Fetch collected button press | ||
| + | cm ; 0EA5 8D Compare memory and A by doing ((DC0))-A but only set flags, A is untouched. DC0 is increased | ||
| + | bnz L0ED3 ; 0EA6 94 2C If they're not the same, reboot the cartridge | ||
| + | lr H,DC ; 0EA8 11 Store current DC0 address in H this time (r10 and r11) | ||
| + | lr A,HU ; 0EA9 4A Load upper part of H in A | ||
| + | ci $10 ; 0EAA 25 10 Check if DC0 address rolled over from $0F to $10 | ||
| + | bnz L0E9C ; 0EAC 94 EF If it didn't, repeat the above (press the button same as the data) until you do. | ||
| + | li $10 ; 0EAE 20 10 ***** DRAW SECRET MESSAGE ***** | ||
| + | lr 1,A ; 0EB0 51 X coordinate $10 in r1 | ||
| + | li $13 ; 0EB1 20 13 | ||
| + | lr 2,A ; 0EB3 52 Y coordinate $13 in r2 | ||
| + | dci L0ED6 ; 0EB4 2A 0E D6 Point data counter to graphics | ||
| + | lis 7 ; 0EB7 77 | ||
| + | lr 4,A ; 0EB8 54 8 letters, amount in r4 (DONE BY ) | ||
| + | L0EB9: | ||
| + | li $80 ; 0EB9 20 80 | ||
| + | lr 0,A ; 0EBB 50 $80 in 0 - RED color | ||
| + | pi $067C ; 0EBC 28 06 7C Subroutine jump to BIOS drawchar... | ||
| + | ds 4 ; 0EBF 34 | ||
| + | bnz L0EB9 ; 0EC0 94 F8 Loop if there's letters left | ||
| + | li $10 ; 0EC2 20 10 | ||
| + | lr 1,A ; 0EC4 51 X coordinate $10 | ||
| + | li $1A ; 0EC5 20 1A | ||
| + | lr 2,A ; 0EC7 52 Y coordinate $1A | ||
| + | lis $F ; 0EC8 7F | ||
| + | lr 4,A ; 0EC9 54 16 letters to write, loaded in r4 (MICHAEL K GLASS) | ||
| + | L0ECA: | ||
| + | li $40 ; 0ECA 20 40 | ||
| + | lr 0,A ; 0ECC 50 Blue color set in r0 | ||
| + | pi $067C ; 0ECD 28 06 7C Subroutine jump to BIOS drawchar... | ||
| + | ds 4 ; 0ED0 34 Decrease r4 | ||
| + | bnz L0ECA ; 0ED1 94 F8 Repeat if not yet 0 | ||
| + | L0ED3: | ||
| + | jmp L0802 ; 0ED3 29 08 02 Reboot cartridge | ||
| + | |||
| + | ; Graphics data starts here 5x5 pixels, one row per byte. | ||
| + | L0ED6: | ||
| + | .byte %11100000 ; 0ED6 E0 ; D | ||
| + | .byte %10010000 | ||
| + | .byte %10001000 | ||
| + | .byte %10010000 | ||
| + | .byte %11100000 | ||
| + | |||
| + | .byte %11111000 ; 0EDB F8 ; O | ||
| + | .byte %10001000 | ||
| + | .byte %10001000 | ||
| + | .byte %10001000 | ||
| + | .byte %11111000 | ||
| + | |||
| + | .byte %10001000 ; 0EE0 88 ; N | ||
| + | .byte %11001000 | ||
| + | .byte %10101000 | ||
| + | .byte %10011000 | ||
| + | .byte %10001000 | ||
| + | |||
| + | .byte %11111000 ; 0EE5 F8 ; E | ||
| + | .byte %10000000 | ||
| + | .byte %11100000 | ||
| + | .byte %10000000 | ||
| + | .byte %11111000 | ||
| + | |||
| + | .byte %00000000 ; 0EEA 00 ; space | ||
| + | .byte %00000000 | ||
| + | .byte %00000000 | ||
| + | .byte %00000000 | ||
| + | .byte %00000000 | ||
| + | |||
| + | .byte %11110000 ; 0EEF F0 ; B | ||
| + | .byte %10001000 | ||
| + | .byte %11110000 | ||
| + | .byte %10001000 | ||
| + | .byte %11110000 | ||
| + | |||
| + | .byte %10001000 ; 0EF4 88 ; Y | ||
| + | .byte %01010000 | ||
| + | .byte %00100000 | ||
| + | .byte %00100000 | ||
| + | .byte %00100000 | ||
| + | |||
| + | .byte %10001000 ; 0EF9 88 ; M | ||
| + | .byte %11011000 | ||
| + | .byte %10101000 | ||
| + | .byte %10001000 | ||
| + | .byte %10001000 | ||
| + | |||
| + | .byte %11111000 ; 0EFE F8 ; I | ||
| + | .byte %00100000 | ||
| + | .byte %00100000 | ||
| + | .byte %00100000 | ||
| + | .byte %11111000 | ||
| + | |||
| + | .byte %11111000 ; 0F03 F8 ; C | ||
| + | .byte %10000000 | ||
| + | .byte %10000000 | ||
| + | .byte %10000000 | ||
| + | .byte %11111000 | ||
| + | |||
| + | .byte %10001000 ; 0F08 88 ; H | ||
| + | .byte %10001000 | ||
| + | .byte %11111000 | ||
| + | .byte %10001000 | ||
| + | .byte %10001000 | ||
| + | |||
| + | .byte %11111000 ; 0F0D F8 ; A | ||
| + | .byte %10001000 | ||
| + | .byte %11111000 | ||
| + | .byte %10001000 | ||
| + | .byte %10001000 | ||
| + | |||
| + | .byte %11111000 ; 0F12 F8 ; E | ||
| + | .byte %10000000 | ||
| + | .byte %11100000 | ||
| + | .byte %10000000 | ||
| + | .byte %11111000 | ||
| + | |||
| + | .byte %10000000 ; 0F17 80 ; L | ||
| + | .byte %10000000 | ||
| + | .byte %10000000 | ||
| + | .byte %10000000 | ||
| + | .byte %11111000 | ||
| + | |||
| + | .byte %00000000 ; 0F1C 00 ; space | ||
| + | .byte %00000000 | ||
| + | .byte %00000000 | ||
| + | .byte %00000000 | ||
| + | .byte %00000000 | ||
| + | |||
| + | .byte %10010000 ; 0F21 90 ; K | ||
| + | .byte %10100000 | ||
| + | .byte %11000000 | ||
| + | .byte %10100000 | ||
| + | .byte %10010000 | ||
| + | |||
| + | .byte %00000000 ; 0F26 00 ; space | ||
| + | .byte %00000000 | ||
| + | .byte %00000000 | ||
| + | .byte %00000000 | ||
| + | .byte %00000000 | ||
| + | |||
| + | .byte %11111000 ; 0F2B F8 ; G | ||
| + | .byte %10000000 | ||
| + | .byte %10111000 | ||
| + | .byte %10001000 | ||
| + | .byte %11111000 | ||
| + | |||
| + | .byte %10000000 ; 0F30 80 ; L | ||
| + | .byte %10000000 | ||
| + | .byte %10000000 | ||
| + | .byte %10000000 | ||
| + | .byte %11110000 | ||
| + | |||
| + | .byte %11111000 ; 0F35 F8 ; A | ||
| + | .byte %10001000 | ||
| + | .byte %11111000 | ||
| + | .byte %10001000 | ||
| + | .byte %10001000 | ||
| + | |||
| + | .byte %11111000 ; 0F3A F8 ; S | ||
| + | .byte %10000000 | ||
| + | .byte %11111000 | ||
| + | .byte %00001000 | ||
| + | .byte %11111000 | ||
| + | |||
| + | .byte %11111000 ; 0F3F F8 ; S | ||
| + | .byte %10000000 | ||
| + | .byte %11111000 | ||
| + | .byte %00001000 | ||
| + | .byte %11111000 | ||
| + | |||
| + | .byte %11111111 ; 0F44 FF ; filler | ||
| + | .byte %11111111 | ||
| + | .byte %11111111 | ||
| + | .byte %11111111 | ||
| + | .byte %11111111 | ||
| + | |||
| + | .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; 0F49 | ||
| + | .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; 0F59 | ||
| + | .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; 0F69 | ||
| + | .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; 0F79 | ||
| + | .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; 0F89 | ||
| + | .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; 0F99 | ||
| + | .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; 0FA9 | ||
| + | .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; 0FB9 | ||
| + | .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF ; 0FC9 | ||
| + | |||
| + | ; Easter Egg keypresses needed after selecting the backdoor option with button 3 | ||
| + | ; $01 means button 1, $02 means button 2, $04 means button 3, $08 means button 4 | ||
| + | |||
| + | L0FD0: .byte $04, $08, $04, $02, $08, $02, $01, $02, $08, $01, $04, $04, $02, $04, $01, $08 ; 0FD0 | ||
| + | .byte $04, $02, $01, $08, $02, $04, $01, $08, $04, $02, $02, $01, $04, $02, $04, $08 ; 0FE0 | ||
| + | .byte $02, $04, $04, $08, $01, $01, $01, $02, $02, $04, $04, $02, $08, $08, $08, $04 ; 0FF0 | ||
| + | |||
| + | ; Decodes to sequence: 343 242 124 133 231 432 142 314 322 132 342 334 111 223 324 443 (after first pressing button 3) | ||
| + | |||
| + | |||
| + | IF 0 | ||
| + | |||
| + | Smart data report | ||
| + | ================= | ||
| + | Mode: | ||
| + | enabled by -s or /s | ||
| + | Memory range: $0800-$0FFF | ||
| + | Code bytes: 1551 | ||
| + | Data bytes: 497 | ||
| + | |||
| + | DCI data roots from reachable code: | ||
| + | $0FD0 from $0E99 | ||
| + | $0ED6 from $0EB4 | ||
| + | $0DE0 from $0878 | ||
| + | $0DE0 from $0886 | ||
| + | $0DD7 from $0838 | ||
| + | $0E60 from $084D | ||
| + | $0E88 from $0856 | ||
| + | $0E90 from $08C2 | ||
| + | $0E78 from $0C56 | ||
| + | $0E88 from $091C | ||
| + | $0DE0 from $0913 | ||
| + | $0E95 from $09F3 | ||
| + | $0DE0 from $0AB6 | ||
| + | $0DE0 from $0B07 | ||
| + | $0E88 from $0B27 | ||
| + | $0E88 from $0BC3 | ||
| + | $0E88 from $0BCE | ||
| + | |||
| + | Data intervals emitted as .byte: | ||
| + | $08CC-$08D0 (5 bytes) | ||
| + | $0DD7-$0E98 (194 bytes) | ||
| + | $0ED6-$0FFF (298 bytes) | ||
| + | |||
| + | ENDIF | ||
</pre> | </pre> | ||
| + | |||
| + | Here's how the plane sprites at $0DE0 looks as well as the following tower parts:<br> | ||
| + | <div style="display: flex; align-items: flex-start; gap: 10px;"> | ||
| + | <div>[[File:L0DE0_bitmap_8x128_scale16.png|100px]]</div> | ||
| + | <div>[[File:L0E60_bitmap_8x24_scale24.png|100px]]</div> | ||
| + | </div> | ||
Latest revision as of 20:20, 5 August 2026
This is the disassembly (made with help from Peter Trauner's f8tool) of the Channel F Videocart 4. Original code is copyright © 1977 Fairchild Semiconductor.
processor f8 org $0800 delay equ $008F prompt equ $0099 clrscrn equ $00D0 drawchar equ $0679 CartridgeStart: .byte $55,$2B L0802: clr ; 0802 70 Set ports to 0 outs 0 ; 0803 B0 outs 1 ; 0804 B1 outs 4 ; 0805 B4 outs 5 ; 0806 B5 lisu 7 ; 0807 67 Set ISAR tp 'O'73 lisl 3 ; 0808 6B li $3C ; 0809 20 3C lr S,A ; 080B 5C register 'O'73 = $3C li $D0 ; 080C 20 D0 lr 3,A ; 080E 53 pi clrscrn ; 080F 28 00 D0 Calls BIOS clear screen routine, clear to grey background L0812: li $8A ; 0812 20 8A Loads character $8A in r0 lr 0,A ; 0814 50 pi prompt ; 0815 28 00 99 Calls BIOS prompt, draws character and waits for keypress lr A,4 ; 0818 44 Button result returned in r4 ci 4 ; 0819 25 04 Compare to %00000100 - Button 3 bnz L0820 ; 081B 94 04 jmp L0E99 ; 081D 29 0E 99 Button 3 makes a jump to A0e99 L0820: lr A,4 ; 0820 44 Not button 3... ci 1 ; 0821 25 01 Button 1? bz L082D ; 0823 84 09 If it is, jump ci 2 ; 0825 25 02 Button 2? bnz L0812 ; 0827 94 EA If not, go back to wait for button press A0812 lr A,HL ; 0829 4B Game 2 selected oi $20 ; 082A 22 20 lr HL,A ; 082C 5B Change bit 5 in r11 to 1 L082D: li $93 ; 082D 20 93 lr 3,A ; 082F 53 pi clrscrn ; 0830 28 00 D0 Clear screen to lt.blue using BIOS routine. br L0861 ; 0833 90 2D L0835: lr K,P ; 0835 08 lis 3 ; 0836 73 lr 9,A ; 0837 59 dci L0DD7 ; 0838 2A 0D D7 br L083E ; 083B 90 02 L083D: lr DC,Q ; 083D 0F L083E: li 8 ; 083E 20 08 lr 3,A ; 0840 53 lr 6,A ; 0841 56 lr 5,A ; 0842 55 lm ; 0843 16 lr 0,A ; 0844 50 lm ; 0845 16 lr 1,A ; 0846 51 lm ; 0847 16 lr 2,A ; 0848 52 lr Q,DC ; 0849 0E li $C0 ; 084A 20 C0 lr 4,A ; 084C 54 dci L0E60 ; 084D 2A 0E 60 lr A,HL ; 0850 4B sl 1 ; 0851 13 bp L0859 ; 0852 81 06 clr ; 0854 70 lr 0,A ; 0855 50 dci L0E88 ; 0856 2A 0E 88 L0859: pi L0CA8 ; 0859 28 0C A8 ds 9 ; 085C 39 bnz L083D ; 085D 94 DF lr P,K ; 085F 09 pop ; 0860 1C L0861: lisu 2 ; 0861 62 lisl 0 ; 0862 68 li $18 ; 0863 20 18 lr I,A ; 0865 5D li $5A ; 0866 20 5A lr I,A ; 0868 5D li $34 ; 0869 20 34 lr I,A ; 086B 5D lisu 3 ; 086C 63 clr ; 086D 70 lr I,A ; 086E 5D li 9 ; 086F 20 09 lr I,A ; 0871 5D li $34 ; 0872 20 34 lr I,A ; 0874 5D pi L0835 ; 0875 28 08 35 dci L0DE0 ; 0878 2A 0D E0 pi L0C8E ; 087B 28 0C 8E pi L0CA8 ; 087E 28 0C A8 lis 8 ; 0881 78 sl 4 ; 0882 15 pi L0C9F ; 0883 28 0C 9F dci L0DE0 ; 0886 2A 0D E0 pi L0CA8 ; 0889 28 0C A8 lr A,HL ; 088C 4B ni $F7 ; 088D 21 F7 lr HL,A ; 088F 5B lisu 6 ; 0890 66 lisl 0 ; 0891 68 li $FF ; 0892 20 FF lr S,A ; 0894 5C lisl 3 ; 0895 6B lr S,A ; 0896 5C lr A,HL ; 0897 4B sl 4 ; 0898 15 sr 1 ; 0899 12 sl 4 ; 089A 15 bp L08A0 ; 089B 81 04 jmp L0BDE ; 089D 29 0B DE L08A0: lisu 7 ; 08A0 67 lisl 0 ; 08A1 68 lis $F ; 08A2 7F lr S,A ; 08A3 5C lr A,HL ; 08A4 4B sl 1 ; 08A5 13 sl 1 ; 08A6 13 bm L08D1 ; 08A7 91 29 L08A9: li $85 ; 08A9 20 85 lr 0,A ; 08AB 50 pi prompt ; 08AC 28 00 99 lr A,4 ; 08AF 44 ci 8 ; 08B0 25 08 bnz L08B6 ; 08B2 94 03 br L08D1 ; 08B4 90 1C L08B6: ci 2 ; 08B6 25 02 bnz L08A9 ; 08B8 94 F0 li $8E ; 08BA 20 8E lr 0,A ; 08BC 50 pi prompt ; 08BD 28 00 99 lisu 7 ; 08C0 67 lisl 0 ; 08C1 68 dci L0E90 ; 08C2 2A 0E 90 lr A,4 ; 08C5 44 sr 1 ; 08C6 12 adc ; 08C7 8E lm ; 08C8 16 lr S,A ; 08C9 5C br L08A9 ; 08CA 90 DE .byte $4B,$13,$13,$91,$01 ; 08CC L08D1: li $83 ; 08D1 20 83 lisu 7 ; 08D3 67 lisl 2 ; 08D4 6A lr S,A ; 08D5 5C L08D6: lr A,S ; 08D6 4C lr 0,A ; 08D7 50 li $33 ; 08D8 20 33 lr 1,A ; 08DA 51 li $13 ; 08DB 20 13 lr 2,A ; 08DD 52 pi drawchar ; 08DE 28 06 79 clr ; 08E1 70 lr 6,A ; 08E2 56 pi delay ; 08E3 28 00 8F ds S ; 08E6 3C lr A,S ; 08E7 4C sl 1 ; 08E8 13 bnz L08D6 ; 08E9 94 EC li $D ; 08EB 20 0D lr 0,A ; 08ED 50 li $33 ; 08EE 20 33 lr 1,A ; 08F0 51 li $13 ; 08F1 20 13 lr 2,A ; 08F3 52 pi drawchar ; 08F4 28 06 79 L08F7: lr A,HL ; 08F7 4B sl 4 ; 08F8 15 lisu 2 ; 08F9 62 lisl 0 ; 08FA 68 bp L08FF ; 08FB 81 03 lisu 3 ; 08FD 63 lisl 3 ; 08FE 6B L08FF: pi L0C56 ; 08FF 28 0C 56 lr A,S ; 0902 4C ci $7F ; 0903 25 7F bnz L090B ; 0905 94 05 li $68 ; 0907 20 68 br L091B ; 0909 90 11 L090B: ci $69 ; 090B 25 69 bnz L0913 ; 090D 94 05 li 0 ; 090F 20 00 br L091B ; 0911 90 09 L0913: dci L0DE0 ; 0913 2A 0D E0 lr A,S ; 0916 4C lr 9,A ; 0917 59 lis 1 ; 0918 71 br L0920 ; 0919 90 06 L091B: lr 9,A ; 091B 59 dci L0E88 ; 091C 2A 0E 88 clr ; 091F 70 L0920: lr 7,A ; 0920 57 lr A,HL ; 0921 4B sl 4 ; 0922 15 pi L0C9F ; 0923 28 0C 9F lr A,9 ; 0926 49 lr S,A ; 0927 5C clr ; 0928 70 as 7 ; 0929 C7 bnz L092D ; 092A 94 02 lr 0,A ; 092C 50 L092D: pi L0CA8 ; 092D 28 0C A8 lr A,HL ; 0930 4B xi 8 ; 0931 23 08 lr HL,A ; 0933 5B sl 4 ; 0934 15 bm L08F7 ; 0935 91 C1 lr A,HL ; 0937 4B sl 1 ; 0938 13 bm L0954 ; 0939 91 1A lisu 2 ; 093B 62 lisl 2 ; 093C 6A lr A,S ; 093D 4C com ; 093E 18 inc ; 093F 1F ai $2E ; 0940 24 2E bp L094D ; 0942 81 0A lisu 3 ; 0944 63 lisl 5 ; 0945 6D lr A,S ; 0946 4C com ; 0947 18 inc ; 0948 1F ai $2E ; 0949 24 2E bm L0954 ; 094B 91 08 L094D: lr A,HL ; 094D 4B oi $40 ; 094E 22 40 lr HL,A ; 0950 5B pi L0835 ; 0951 28 08 35 L0954: lisu 7 ; 0954 67 lisl 0 ; 0955 68 lr A,S ; 0956 4C ni $F ; 0957 21 0F lr 5,A ; 0959 55 pi delay ; 095A 28 00 8F ins 0 ; 095D A0 ci $B ; 095E 25 0B bnz L0965 ; 0960 94 04 jmp L08A9 ; 0962 29 08 A9 L0965: lr A,HL ; 0965 4B xi $80 ; 0966 23 80 lr HL,A ; 0968 5B lisu 7 ; 0969 67 lisl 1 ; 096A 69 lr A,S ; 096B 4C inc ; 096C 1F ci 3 ; 096D 25 03 bz L0974 ; 096F 84 04 lr S,A ; 0971 5C br L09BF ; 0972 90 4C L0974: clr ; 0974 70 lr S,A ; 0975 5C lr A,HL ; 0976 4B sl 1 ; 0977 13 sl 1 ; 0978 13 bp L097E ; 0979 81 04 jmp L0D02 ; 097B 29 0D 02 L097E: clr ; 097E 70 outs 0 ; 097F B0 outs 1 ; 0980 B1 outs 4 ; 0981 B4 outs 5 ; 0982 B5 ins 1 ; 0983 A1 lisu 6 ; 0984 66 lisl 0 ; 0985 68 lr S,A ; 0986 5C lisl 3 ; 0987 6B lr A,HL ; 0988 4B sl 1 ; 0989 13 sl 1 ; 098A 13 bm L098F ; 098B 91 03 ins 4 ; 098D A4 lr S,A ; 098E 5C L098F: lr A,S ; 098F 4C sl 4 ; 0990 15 bm L099B ; 0991 91 09 lisu 3 ; 0993 63 ds S ; 0994 3C lr A,S ; 0995 4C ni $F ; 0996 21 0F lr S,A ; 0998 5C br L09A4 ; 0999 90 0A L099B: sl 1 ; 099B 13 bm L09A4 ; 099C 91 07 lisu 3 ; 099E 63 lr A,S ; 099F 4C inc ; 09A0 1F ni $F ; 09A1 21 0F lr S,A ; 09A3 5C L09A4: lisu 6 ; 09A4 66 lisl 0 ; 09A5 68 lr A,S ; 09A6 4C sl 4 ; 09A7 15 bm L09B4 ; 09A8 91 0B lisu 2 ; 09AA 62 ds S ; 09AB 3C lr A,S ; 09AC 4C ni $F ; 09AD 21 0F oi $10 ; 09AF 22 10 lr S,A ; 09B1 5C L09B2: br L09BF ; 09B2 90 0C L09B4: sl 1 ; 09B4 13 bm L09B2 ; 09B5 91 FC lisu 2 ; 09B7 62 lr A,S ; 09B8 4C inc ; 09B9 1F ni $F ; 09BA 21 0F oi $10 ; 09BC 22 10 lr S,A ; 09BE 5C L09BF: lr A,HL ; 09BF 4B sl 1 ; 09C0 13 bm L09C6 ; 09C1 91 04 jmp L08F7 ; 09C3 29 08 F7 L09C6: lisu 6 ; 09C6 66 lisl 1 ; 09C7 69 clr ; 09C8 70 as D ; 09C9 CE bm L0A0C ; 09CA 91 41 clr ; 09CC 70 as I ; 09CD CD bp L09D5 ; 09CE 81 06 clr ; 09D0 70 lr I,A ; 09D1 5D L09D2: jmp L0B6B ; 09D2 29 0B 6B L09D5: lr A,S ; 09D5 4C sl 1 ; 09D6 13 bm L09D2 ; 09D7 91 FA li $80 ; 09D9 20 80 as S ; 09DB CC lr D,A ; 09DC 5E lisu 2 ; 09DD 62 L09DE: pi L0C98 ; 09DE 28 0C 98 lr A,HL ; 09E1 4B sl 4 ; 09E2 15 lisl 0 ; 09E3 68 bm L09E7 ; 09E4 91 02 lisl 3 ; 09E6 6B L09E7: lr A,0 ; 09E7 40 lr I,A ; 09E8 5D lr A,1 ; 09E9 41 lr I,A ; 09EA 5D lr A,2 ; 09EB 42 lr I,A ; 09EC 5D lr A,HL ; 09ED 4B sl 4 ; 09EE 15 lisl 0 ; 09EF 68 bm L09F3 ; 09F0 91 02 lisl 3 ; 09F2 6B L09F3: dci L0E95 ; 09F3 2A 0E 95 lr A,S ; 09F6 4C ni $10 ; 09F7 21 10 lr A,I ; 09F9 4D bz L09FD ; 09FA 84 02 com ; 09FC 18 L09FD: ni $F ; 09FD 21 0F sr 1 ; 09FF 12 sr 1 ; 0A00 12 adc ; 0A01 8E lm ; 0A02 16 lr 8,A ; 0A03 58 ni $F ; 0A04 21 0F as S ; 0A06 CC lr I,A ; 0A07 5D lr A,8 ; 0A08 48 sr 4 ; 0A09 14 as S ; 0A0A CC lr I,A ; 0A0B 5D L0A0C: clr ; 0A0C 70 br L0A54 ; 0A0D 90 46 L0A0F: lr A,HL ; 0A0F 4B sl 4 ; 0A10 15 lisu 6 ; 0A11 66 lisl 1 ; 0A12 69 bp L0A16 ; 0A13 81 02 lisl 2 ; 0A15 6A L0A16: clr ; 0A16 70 as S ; 0A17 CC bp L0A7C ; 0A18 81 63 lis $A ; 0A1A 7A lr 5,A ; 0A1B 55 L0A1C: lr A,HL ; 0A1C 4B sl 4 ; 0A1D 15 lisu 2 ; 0A1E 62 lisl 3 ; 0A1F 6B bp L0A24 ; 0A20 81 03 lisu 3 ; 0A22 63 lisl 0 ; 0A23 68 L0A24: pi L0A8A ; 0A24 28 0A 8A pi L0C56 ; 0A27 28 0C 56 lr A,I ; 0A2A 4D ni $70 ; 0A2B 21 70 ci $70 ; 0A2D 25 70 bz L0A36 ; 0A2F 84 06 lr A,I ; 0A31 4D ni $3F ; 0A32 21 3F bnz L0A4B ; 0A34 94 16 L0A36: lisu 6 ; 0A36 66 lr A,HL ; 0A37 4B sl 4 ; 0A38 15 lisl 0 ; 0A39 68 clr ; 0A3A 70 bp L0A41 ; 0A3B 81 05 lisl 3 ; 0A3D 6B as D ; 0A3E CE br L0A42 ; 0A3F 90 02 L0A41: as I ; 0A41 CD L0A42: clr ; 0A42 70 bm L0A47 ; 0A43 91 03 li $40 ; 0A45 20 40 L0A47: lr S,A ; 0A47 5C clr ; 0A48 70 br L0A54 ; 0A49 90 0A L0A4B: lr A,HL ; 0A4B 4B xi $80 ; 0A4C 23 80 lr HL,A ; 0A4E 5B ds 5 ; 0A4F 35 bnz L0A1C ; 0A50 94 CB li $80 ; 0A52 20 80 L0A54: lr K,P ; 0A54 08 lr 0,A ; 0A55 50 lis 1 ; 0A56 71 lr 5,A ; 0A57 55 lr 6,A ; 0A58 56 lr 3,A ; 0A59 53 lr A,HL ; 0A5A 4B sl 4 ; 0A5B 15 lisu 3 ; 0A5C 63 lisl 1 ; 0A5D 69 bm L0A62 ; 0A5E 91 03 lisu 2 ; 0A60 62 lisl 4 ; 0A61 6C L0A62: lr A,I ; 0A62 4D lr 1,A ; 0A63 51 lr A,D ; 0A64 4E lr 2,A ; 0A65 52 li $C0 ; 0A66 20 C0 lr 4,A ; 0A68 54 lisu 0 ; 0A69 60 lisl 0 ; 0A6A 68 pi L0CC4 ; 0A6B 28 0C C4 lr A,HL ; 0A6E 4B sl 4 ; 0A6F 15 sr 1 ; 0A70 12 sl 4 ; 0A71 15 bp L0A76 ; 0A72 81 03 lr P,K ; 0A74 09 pop ; 0A75 1C L0A76: clr ; 0A76 70 as 0 ; 0A77 C0 bm L0A7C ; 0A78 91 03 br L0A0F ; 0A7A 90 94 L0A7C: lr A,HL ; 0A7C 4B sl 4 ; 0A7D 15 bm L0A83 ; 0A7E 91 04 jmp L0B6B ; 0A80 29 0B 6B L0A83: lr A,HL ; 0A83 4B ni $F7 ; 0A84 21 F7 lr HL,A ; 0A86 5B jmp L08F7 ; 0A87 29 08 F7 L0A8A: lr K,P ; 0A8A 08 lr A,5 ; 0A8B 45 lr 8,A ; 0A8C 58 lr A,I ; 0A8D 4D lr A,I ; 0A8E 4D lr 0,A ; 0A8F 50 lr A,D ; 0A90 4E lr 1,A ; 0A91 51 lr A,IS ; 0A92 0A xi 8 ; 0A93 23 08 lr IS,A ; 0A95 0B lr A,I ; 0A96 4D com ; 0A97 18 inc ; 0A98 1F as 0 ; 0A99 C0 bm L0ACE ; 0A9A 91 33 lr 9,A ; 0A9C 59 sl 1 ; 0A9D 13 sr 4 ; 0A9E 14 bnz L0ACE ; 0A9F 94 2E lr A,D ; 0AA1 4E com ; 0AA2 18 inc ; 0AA3 1F as 1 ; 0AA4 C1 bm L0ACE ; 0AA5 91 28 lr HU,A ; 0AA7 5A sl 1 ; 0AA8 13 sr 4 ; 0AA9 14 bnz L0ACE ; 0AAA 94 23 lis 8 ; 0AAC 78 xs HL ; 0AAD EB sl 4 ; 0AAE 15 pi L0C9F ; 0AAF 28 0C 9F lr A,D ; 0AB2 4E lr A,S ; 0AB3 4C sl 4 ; 0AB4 15 sr 1 ; 0AB5 12 dci L0DE0 ; 0AB6 2A 0D E0 adc ; 0AB9 8E lr A,S ; 0ABA 4C ni $10 ; 0ABB 21 10 lr A,HU ; 0ABD 4A bz L0AC2 ; 0ABE 84 03 xi 7 ; 0AC0 23 07 L0AC2: adc ; 0AC2 8E li $80 ; 0AC3 20 80 L0AC5: ds 9 ; 0AC5 39 bm L0ACB ; 0AC6 91 04 sr 1 ; 0AC8 12 br L0AC5 ; 0AC9 90 FB L0ACB: nm ; 0ACB 8A bnz L0ADA ; 0ACC 94 0D L0ACE: lr A,HL ; 0ACE 4B sl 4 ; 0ACF 15 lisu 2 ; 0AD0 62 lisl 3 ; 0AD1 6B bp L0AD6 ; 0AD2 81 03 lisu 3 ; 0AD4 63 lisl 0 ; 0AD5 68 L0AD6: lr A,8 ; 0AD6 48 lr 5,A ; 0AD7 55 lr P,K ; 0AD8 09 pop ; 0AD9 1C L0ADA: lr A,HL ; 0ADA 4B ni $BF ; 0ADB 21 BF lr HL,A ; 0ADD 5B pi L0835 ; 0ADE 28 08 35 lisu 3 ; 0AE1 63 lisl 0 ; 0AE2 68 pi L0C93 ; 0AE3 28 0C 93 lis 9 ; 0AE6 79 xs HL ; 0AE7 EB lr HL,A ; 0AE8 5B pi L0A54 ; 0AE9 28 0A 54 lisu 2 ; 0AEC 62 lisl 3 ; 0AED 6B pi L0C93 ; 0AEE 28 0C 93 lis 8 ; 0AF1 78 xs HL ; 0AF2 EB lr HL,A ; 0AF3 5B pi L0A54 ; 0AF4 28 0A 54 lis 1 ; 0AF7 71 xs HL ; 0AF8 EB lr HL,A ; 0AF9 5B L0AFA: lr A,HL ; 0AFA 4B sl 4 ; 0AFB 15 com ; 0AFC 18 li $80 ; 0AFD 20 80 bp L0B03 ; 0AFF 81 03 li $40 ; 0B01 20 40 L0B03: outs 5 ; 0B03 B5 pi L0C9F ; 0B04 28 0C 9F dci L0DE0 ; 0B07 2A 0D E0 pi L0CA8 ; 0B0A 28 0C A8 lr A,HL ; 0B0D 4B sl 4 ; 0B0E 15 lisu 2 ; 0B0F 62 lisl 0 ; 0B10 68 bm L0B15 ; 0B11 91 03 lisu 3 ; 0B13 63 lisl 3 ; 0B14 6B L0B15: lr A,S ; 0B15 4C inc ; 0B16 1F ni $F ; 0B17 21 0F lr 0,A ; 0B19 50 li $10 ; 0B1A 20 10 ns S ; 0B1C FC as 0 ; 0B1D C0 lr S,A ; 0B1E 5C lis 4 ; 0B1F 74 lr 5,A ; 0B20 55 pi delay ; 0B21 28 00 8F lr A,HL ; 0B24 4B sl 4 ; 0B25 15 com ; 0B26 18 dci L0E88 ; 0B27 2A 0E 88 pi L0C9F ; 0B2A 28 0C 9F clr ; 0B2D 70 lr 0,A ; 0B2E 50 outs 5 ; 0B2F B5 pi L0CA8 ; 0B30 28 0C A8 lr A,HL ; 0B33 4B sl 4 ; 0B34 15 lisu 2 ; 0B35 62 lisl 2 ; 0B36 6A bm L0B3B ; 0B37 91 03 lisu 3 ; 0B39 63 lisl 5 ; 0B3A 6D L0B3B: lr A,S ; 0B3B 4C ci $33 ; 0B3C 25 33 bz L0B46 ; 0B3E 84 07 inc ; 0B40 1F ni $3F ; 0B41 21 3F lr S,A ; 0B43 5C br L0AFA ; 0B44 90 B5 L0B46: lr A,D ; 0B46 4E lr A,S ; 0B47 4C ci $33 ; 0B48 25 33 bz L0B55 ; 0B4A 84 0A lis 1 ; 0B4C 71 bp L0B51 ; 0B4D 81 03 com ; 0B4F 18 inc ; 0B50 1F L0B51: as S ; 0B51 CC lr S,A ; 0B52 5C br L0AFA ; 0B53 90 A6 L0B55: ins 5 ; 0B55 A5 ni $3F ; 0B56 21 3F outs 5 ; 0B58 B5 lisu 6 ; 0B59 66 lisl 1 ; 0B5A 69 lr A,S ; 0B5B 4C sl 1 ; 0B5C 13 sr 1 ; 0B5D 12 lr I,A ; 0B5E 5D lr A,S ; 0B5F 4C sl 1 ; 0B60 13 sr 1 ; 0B61 12 lr S,A ; 0B62 5C lr A,HL ; 0B63 4B sl 4 ; 0B64 15 lisu 2 ; 0B65 62 bp L0B69 ; 0B66 81 02 lisu 3 ; 0B68 63 L0B69: br L0B91 ; 0B69 90 27 L0B6B: lr A,HL ; 0B6B 4B oi 8 ; 0B6C 22 08 lr HL,A ; 0B6E 5B lisu 6 ; 0B6F 66 lisl 2 ; 0B70 6A clr ; 0B71 70 as I ; 0B72 CD bp L0B78 ; 0B73 81 04 jmp L0A0C ; 0B75 29 0A 0C L0B78: clr ; 0B78 70 as D ; 0B79 CE bp L0B85 ; 0B7A 81 0A clr ; 0B7C 70 lr S,A ; 0B7D 5C L0B7E: lr A,HL ; 0B7E 4B ni $F7 ; 0B7F 21 F7 lr HL,A ; 0B81 5B jmp L08F7 ; 0B82 29 08 F7 L0B85: lr A,S ; 0B85 4C sl 1 ; 0B86 13 bm L0B7E ; 0B87 91 F6 li $80 ; 0B89 20 80 as S ; 0B8B CC lr I,A ; 0B8C 5D lisu 3 ; 0B8D 63 jmp L09DE ; 0B8E 29 09 DE L0B91: lr A,IS ; 0B91 0A lr 0,A ; 0B92 50 lr A,HL ; 0B93 4B sl 1 ; 0B94 13 sl 1 ; 0B95 13 bp L0BAF ; 0B96 81 18 lr A,IS ; 0B98 0A sl 1 ; 0B99 13 sr 4 ; 0B9A 14 ci 2 ; 0B9B 25 02 lisu 7 ; 0B9D 67 lisl 0 ; 0B9E 68 bnz L0BA8 ; 0B9F 94 08 ds S ; 0BA1 3C bnz L0BAF ; 0BA2 94 0C lis 1 ; 0BA4 71 lr S,A ; 0BA5 5C br L0BAF ; 0BA6 90 08 L0BA8: lr A,S ; 0BA8 4C inc ; 0BA9 1F ci $10 ; 0BAA 25 10 bz L0BAF ; 0BAC 84 02 lr S,A ; 0BAE 5C L0BAF: lr A,0 ; 0BAF 40 lr IS,A ; 0BB0 0B lisl 6 ; 0BB1 6E li $67 ; 0BB2 20 67 asd S ; 0BB4 DC lr S,A ; 0BB5 5C ci 0 ; 0BB6 25 00 bnz L0BBF ; 0BB8 94 06 lr I,A ; 0BBA 5D li $67 ; 0BBB 20 67 asd S ; 0BBD DC lr S,A ; 0BBE 5C L0BBF: lr A,HL ; 0BBF 4B oi 1 ; 0BC0 22 01 lr HL,A ; 0BC2 5B dci L0E88 ; 0BC3 2A 0E 88 pi L0C8E ; 0BC6 28 0C 8E clr ; 0BC9 70 lr 0,A ; 0BCA 50 pi L0CA8 ; 0BCB 28 0C A8 dci L0E88 ; 0BCE 2A 0E 88 lis 8 ; 0BD1 78 sl 4 ; 0BD2 15 pi L0C9F ; 0BD3 28 0C 9F clr ; 0BD6 70 lr 0,A ; 0BD7 50 pi L0CA8 ; 0BD8 28 0C A8 pi L0861 ; 0BDB 28 08 61 L0BDE: lr A,HL ; 0BDE 4B ni $20 ; 0BDF 21 20 lr HL,A ; 0BE1 5B L0BE2: lr A,HL ; 0BE2 4B sl 4 ; 0BE3 15 lisu 7 ; 0BE4 67 bm L0BE8 ; 0BE5 91 02 lisu 3 ; 0BE7 63 L0BE8: lisl 7 ; 0BE8 6F li $1B ; 0BE9 20 1B lr 1,A ; 0BEB 51 li $33 ; 0BEC 20 33 lr 2,A ; 0BEE 52 lr A,D ; 0BEF 4E ni $F ; 0BF0 21 0F ai $80 ; 0BF2 24 80 lr 0,A ; 0BF4 50 pi drawchar ; 0BF5 28 06 79 lr A,S ; 0BF8 4C sr 4 ; 0BF9 14 ai $80 ; 0BFA 24 80 lr 0,A ; 0BFC 50 pi drawchar ; 0BFD 28 06 79 lr A,S ; 0C00 4C ni $F ; 0C01 21 0F ai $80 ; 0C03 24 80 lr 0,A ; 0C05 50 pi drawchar ; 0C06 28 06 79 lr A,HL ; 0C09 4B sl 4 ; 0C0A 15 lisu 7 ; 0C0B 67 bm L0C0F ; 0C0C 91 02 lisu 2 ; 0C0E 62 L0C0F: lisl 7 ; 0C0F 6F li $47 ; 0C10 20 47 lr 1,A ; 0C12 51 li $33 ; 0C13 20 33 lr 2,A ; 0C15 52 lr A,D ; 0C16 4E ni $F ; 0C17 21 0F ai $40 ; 0C19 24 40 lr 0,A ; 0C1B 50 pi drawchar ; 0C1C 28 06 79 lr A,S ; 0C1F 4C sr 4 ; 0C20 14 ai $40 ; 0C21 24 40 lr 0,A ; 0C23 50 pi drawchar ; 0C24 28 06 79 lr A,S ; 0C27 4C ni $F ; 0C28 21 0F ai $40 ; 0C2A 24 40 lr 0,A ; 0C2C 50 pi drawchar ; 0C2D 28 06 79 lr A,HL ; 0C30 4B sl 4 ; 0C31 15 bm L0C4F ; 0C32 91 1C clr ; 0C34 70 lr 6,A ; 0C35 56 pi delay ; 0C36 28 00 8F clr ; 0C39 70 lr 6,A ; 0C3A 56 pi delay ; 0C3B 28 00 8F clr ; 0C3E 70 lr 6,A ; 0C3F 56 pi delay ; 0C40 28 00 8F lisu 7 ; 0C43 67 lisl 7 ; 0C44 6F li $DD ; 0C45 20 DD lr D,A ; 0C47 5E lr S,A ; 0C48 5C lr A,HL ; 0C49 4B oi 8 ; 0C4A 22 08 lr HL,A ; 0C4C 5B br L0BE2 ; 0C4D 90 94 L0C4F: lr A,HL ; 0C4F 4B ni $20 ; 0C50 21 20 lr HL,A ; 0C52 5B jmp L08D1 ; 0C53 29 08 D1 L0C56: dci L0E78 ; 0C56 2A 0E 78 lr A,S ; 0C59 4C ni $F ; 0C5A 21 0F adc ; 0C5C 8E lr A,I ; 0C5D 4D ni $10 ; 0C5E 21 10 sr 1 ; 0C60 12 sl 4 ; 0C61 15 am ; 0C62 88 lr 0,A ; 0C63 50 lr A,I ; 0C64 4D lr J,W ; 0C65 1E clr ; 0C66 70 as HL ; 0C67 CB lr A,0 ; 0C68 40 bp L0C6C ; 0C69 81 02 sr 1 ; 0C6B 12 L0C6C: sr 4 ; 0C6C 14 ni 1 ; 0C6D 21 01 lr W,J ; 0C6F 1D bp L0C74 ; 0C70 81 03 com ; 0C72 18 inc ; 0C73 1F L0C74: as S ; 0C74 CC ni $3F ; 0C75 21 3F lr D,A ; 0C77 5E lr A,0 ; 0C78 40 sl 4 ; 0C79 15 lr J,W ; 0C7A 1E sr 4 ; 0C7B 14 clr ; 0C7C 70 as HL ; 0C7D CB lr A,0 ; 0C7E 40 bp L0C82 ; 0C7F 81 02 sr 1 ; 0C81 12 L0C82: ni 1 ; 0C82 21 01 lr W,J ; 0C84 1D bp L0C89 ; 0C85 81 03 com ; 0C87 18 inc ; 0C88 1F L0C89: as S ; 0C89 CC ni $7F ; 0C8A 21 7F lr S,A ; 0C8C 5C pop ; 0C8D 1C L0C8E: li $40 ; 0C8E 20 40 lr 4,A ; 0C90 54 lisu 2 ; 0C91 62 lisl 0 ; 0C92 68 L0C93: li 8 ; 0C93 20 08 lr 5,A ; 0C95 55 lr 6,A ; 0C96 56 lr 3,A ; 0C97 53 L0C98: lr A,I ; 0C98 4D lr 0,A ; 0C99 50 lr A,I ; 0C9A 4D lr 1,A ; 0C9B 51 lr A,D ; 0C9C 4E lr 2,A ; 0C9D 52 pop ; 0C9E 1C L0C9F: bp L0C8E ; 0C9F 81 EE li $80 ; 0CA1 20 80 lr 4,A ; 0CA3 54 lisu 3 ; 0CA4 63 lisl 3 ; 0CA5 6B br L0C93 ; 0CA6 90 EC L0CA8: lisu 4 ; 0CA8 64 lisl 0 ; 0CA9 68 lr A,0 ; 0CAA 40 sl 4 ; 0CAB 15 sr 1 ; 0CAC 12 adc ; 0CAD 8E lr A,0 ; 0CAE 40 ni $10 ; 0CAF 21 10 bnz L0CBB ; 0CB1 94 09 L0CB3: lm ; 0CB3 16 lr I,A ; 0CB4 5D br7 L0CB3 ; 0CB5 8F FD lm ; 0CB7 16 lr I,A ; 0CB8 5D br L0CC4 ; 0CB9 90 0A L0CBB: lisl 7 ; 0CBB 6F L0CBC: lm ; 0CBC 16 lr D,A ; 0CBD 5E br7 L0CBC ; 0CBE 8F FD lisl 0 ; 0CC0 68 br L0CC4 ; 0CC1 90 02 L0CC3: lr 5,A ; 0CC3 55 L0CC4: lr A,2 ; 0CC4 42 com ; 0CC5 18 ni $3F ; 0CC6 21 3F lr 8,A ; 0CC8 58 ins 5 ; 0CC9 A5 ni $C0 ; 0CCA 21 C0 as 8 ; 0CCC C8 outs 5 ; 0CCD B5 lr A,I ; 0CCE 4D lr 7,A ; 0CCF 57 L0CD0: lr A,1 ; 0CD0 41 com ; 0CD1 18 outs 4 ; 0CD2 B4 lr A,7 ; 0CD3 47 oi 0 ; 0CD4 22 00 lr A,4 ; 0CD6 44 bm L0CDA ; 0CD7 91 02 clr ; 0CD9 70 L0CDA: com ; 0CDA 18 outs 1 ; 0CDB B1 lr A,7 ; 0CDC 47 sl 1 ; 0CDD 13 lr 7,A ; 0CDE 57 li $60 ; 0CDF 20 60 outs 0 ; 0CE1 B0 li $50 ; 0CE2 20 50 outs 0 ; 0CE4 B0 lr A,1 ; 0CE5 41 inc ; 0CE6 1F lr 1,A ; 0CE7 51 lis 4 ; 0CE8 74 lr 8,A ; 0CE9 58 L0CEA: ds 8 ; 0CEA 38 bnz L0CEA ; 0CEB 94 FE ds 5 ; 0CED 35 bnz L0CD0 ; 0CEE 94 E1 lr A,2 ; 0CF0 42 inc ; 0CF1 1F lr 2,A ; 0CF2 52 lr A,3 ; 0CF3 43 ni $F ; 0CF4 21 0F com ; 0CF6 18 inc ; 0CF7 1F as 1 ; 0CF8 C1 lr 1,A ; 0CF9 51 lr A,3 ; 0CFA 43 ds 6 ; 0CFB 36 bnz L0CC3 ; 0CFC 94 C6 clr ; 0CFE 70 outs 1 ; 0CFF B1 outs 0 ; 0D00 B0 pop ; 0D01 1C L0D02: lr A,HL ; 0D02 4B sl 1 ; 0D03 13 bp L0D73 ; 0D04 81 6E sl 4 ; 0D06 15 bm L0D73 ; 0D07 91 6B lisu 6 ; 0D09 66 lisl 2 ; 0D0A 6A clr ; 0D0B 70 as I ; 0D0C CD bp L0D15 ; 0D0D 81 07 li $FF ; 0D0F 20 FF lr S,A ; 0D11 5C jmp L0DA8 ; 0D12 29 0D A8 L0D15: lr A,HL ; 0D15 4B sl 1 ; 0D16 13 sl 1 ; 0D17 13 sl 4 ; 0D18 15 bp L0D1E ; 0D19 81 04 jmp L0DBE ; 0D1B 29 0D BE L0D1E: lisu 3 ; 0D1E 63 lisl 5 ; 0D1F 6D lr A,D ; 0D20 4E com ; 0D21 18 inc ; 0D22 1F lr 0,A ; 0D23 50 lr A,I ; 0D24 4D com ; 0D25 18 inc ; 0D26 1F lr 1,A ; 0D27 51 lisu 2 ; 0D28 62 lisl 2 ; 0D29 6A lr A,D ; 0D2A 4E as 0 ; 0D2B C0 lr 0,A ; 0D2C 50 lr A,D ; 0D2D 4E as 1 ; 0D2E C1 lr 1,A ; 0D2F 51 clr ; 0D30 70 as 0 ; 0D31 C0 bm L0D36 ; 0D32 91 03 com ; 0D34 18 inc ; 0D35 1F L0D36: ai 2 ; 0D36 24 02 bm L0D40 ; 0D38 91 07 lisu 3 ; 0D3A 63 lisl 3 ; 0D3B 6B lis 7 ; 0D3C 77 ns S ; 0D3D FC bz L0DAB ; 0D3E 84 6C L0D40: clr ; 0D40 70 as 1 ; 0D41 C1 bm L0D46 ; 0D42 91 03 com ; 0D44 18 inc ; 0D45 1F L0D46: ai 2 ; 0D46 24 02 bm L0D54 ; 0D48 91 0B lisu 3 ; 0D4A 63 lisl 3 ; 0D4B 6B lis 4 ; 0D4C 74 xs S ; 0D4D EC lis $C ; 0D4E 7C bz L0DAB ; 0D4F 84 5B xs S ; 0D51 EC bz L0DAB ; 0D52 84 58 L0D54: lisl 0 ; 0D54 68 lisu 5 ; 0D55 65 lr A,0 ; 0D56 40 lr I,A ; 0D57 5D lr A,1 ; 0D58 41 lr D,A ; 0D59 5E clr ; 0D5A 70 as I ; 0D5B CD lis 4 ; 0D5C 74 bp L0D84 ; 0D5D 81 26 lr 0,A ; 0D5F 50 clr ; 0D60 70 as S ; 0D61 CC lr J,W ; 0D62 1E com ; 0D63 18 inc ; 0D64 1F lr D,A ; 0D65 5E lr W,J ; 0D66 1D lis 2 ; 0D67 72 bm L0D95 ; 0D68 91 2C lr A,S ; 0D6A 4C com ; 0D6B 18 inc ; 0D6C 1F lr S,A ; 0D6D 5C lis 2 ; 0D6E 72 com ; 0D6F 18 inc ; 0D70 1F br L0D95 ; 0D71 90 23 L0D73: lr A,HL ; 0D73 4B oi 4 ; 0D74 22 04 lr HL,A ; 0D76 5B clr ; 0D77 70 lr 0,A ; 0D78 50 lisu 3 ; 0D79 63 lisl 1 ; 0D7A 69 lr A,S ; 0D7B 4C asd I ; 0D7C DD as S ; 0D7D CC lisu 1 ; 0D7E 61 as S ; 0D7F CC ni $F ; 0D80 21 0F br L0D95 ; 0D82 90 12 L0D84: lis $C ; 0D84 7C lr 0,A ; 0D85 50 clr ; 0D86 70 as D ; 0D87 CE lr J,W ; 0D88 1E lr A,S ; 0D89 4C com ; 0D8A 18 inc ; 0D8B 1F lr W,J ; 0D8C 1D bm L0D90 ; 0D8D 91 02 lr S,A ; 0D8F 5C L0D90: lis 2 ; 0D90 72 bp L0D95 ; 0D91 81 03 com ; 0D93 18 inc ; 0D94 1F L0D95: as 0 ; 0D95 C0 lisu 5 ; 0D96 65 lisl 3 ; 0D97 6B lr S,A ; 0D98 5C com ; 0D99 18 inc ; 0D9A 1F lisu 3 ; 0D9B 63 as S ; 0D9C CC bz L0DAB ; 0D9D 84 0D sl 4 ; 0D9F 15 li $F7 ; 0DA0 20 F7 bp L0DA6 ; 0DA2 81 03 xi $C ; 0DA4 23 0C L0DA6: lisu 6 ; 0DA6 66 lr S,A ; 0DA7 5C L0DA8: jmp L097E ; 0DA8 29 09 7E L0DAB: lr A,HL ; 0DAB 4B sl 1 ; 0DAC 13 sl 4 ; 0DAD 15 lr A,HL ; 0DAE 4B bm L0DB9 ; 0DAF 91 09 lisu 6 ; 0DB1 66 lisl 3 ; 0DB2 6B li $7F ; 0DB3 20 7F lr S,A ; 0DB5 5C lr A,HL ; 0DB6 4B oi 2 ; 0DB7 22 02 L0DB9: ni $FB ; 0DB9 21 FB lr HL,A ; 0DBB 5B br L0DA8 ; 0DBC 90 EB L0DBE: lisu 5 ; 0DBE 65 lisl 0 ; 0DBF 68 lr A,I ; 0DC0 4D as S ; 0DC1 CC lis 1 ; 0DC2 71 bp L0DC7 ; 0DC3 81 03 com ; 0DC5 18 inc ; 0DC6 1F L0DC7: lisu 3 ; 0DC7 63 lisl 3 ; 0DC8 6B as S ; 0DC9 CC ni $F ; 0DCA 21 0F lr S,A ; 0DCC 5C lisu 6 ; 0DCD 66 li $7F ; 0DCE 20 7F lr S,A ; 0DD0 5C lr A,HL ; 0DD1 4B ni $FD ; 0DD2 21 FD lr HL,A ; 0DD4 5B br L0DA8 ; 0DD5 90 D2 L0DD7: .byte $00, $30, $2E, $01, $33, $2E, $02, $31, $33 ; 0DD7 object/parameter triples ; aeroplane sprites 8x8, full loop L0DE0: .byte %00000000 ; 0DE0 00 right .byte %01000000 .byte %01100000 .byte %01111101 .byte %01111111 .byte %01111101 .byte %00000000 .byte %00000000 .byte %00000000 ; 0DE8 00 first angle up .byte %00000010 .byte %00001111 .byte %01011101 .byte %01111000 .byte %01110000 .byte %00000000 .byte %00000000 .byte %00000100 ; 0DF0 04 second angle up .byte %00000010 .byte %00001101 .byte %01011100 .byte %01111000 .byte %01110000 .byte %00100000 .byte %00000000 .byte %00001100 ; 0DF8 0C third angle up .byte %00000110 .byte %00001100 .byte %00011100 .byte %01011000 .byte %01111000 .byte %00110000 .byte %00000000 .byte %00011100 ; 0E00 1C up .byte %00001000 .byte %00011100 .byte %00011100 .byte %00011100 .byte %00111100 .byte %01111100 .byte %00000000 .byte %00110000 ; 0E08 30 loop 3 .byte %01100000 .byte %00110000 .byte %00111000 .byte %00011100 .byte %00001100 .byte %00011100 .byte %00000000 .byte %00100000 ; 0E10 20 loop 3 .byte %01000000 .byte %10110000 .byte %00111000 .byte %00011100 .byte %00001110 .byte %00011100 .byte %00000000 .byte %00000000 ; 0E18 00 loop 3 .byte %01000000 .byte %11110000 .byte %10111100 .byte %00011110 .byte %00001110 .byte %00011100 .byte %00000000 .byte %00000000 ; 0E20 00 left up-side-down .byte %00000000 .byte %10111110 .byte %11111110 .byte %10111110 .byte %00000110 .byte %00000010 .byte %00000000 .byte %00000000 ; 0E28 00 loop down 1 .byte %00000000 .byte %00001110 .byte %00011110 .byte %10111010 .byte %11110000 .byte %01000000 .byte %00000000 .byte %00000000 ; 0E30 00 loop down 2 .byte %00000100 .byte %00001110 .byte %00011110 .byte %00111010 .byte %10110000 .byte %01000000 .byte %00100000 .byte %00000000 ; 0E38 00 loop down 3 .byte %00001100 .byte %00011110 .byte %00011010 .byte %00111000 .byte %00110000 .byte %01100000 .byte %00110000 .byte %00000000 ; 0E40 00 straight down .byte %00111110 .byte %00111100 .byte %00111000 .byte %00111000 .byte %00111000 .byte %00010000 .byte %00111000 .byte %00000000 ; 0E48 00 loop up 1 .byte %00111000 .byte %00110000 .byte %00111000 .byte %00011100 .byte %00001100 .byte %00000110 .byte %00001100 .byte %00000000 ; 0E50 00 loop up 2 .byte %00111000 .byte %01110000 .byte %00111000 .byte %00011100 .byte %00001101 .byte %00000010 .byte %00000100 .byte %00000000 ; 0E58 00 loop up 3 .byte %00110000 .byte %01100000 .byte %01111000 .byte %00111101 .byte %00001111 .byte %00000010 .byte %00000000 ; flight tower image 8x8 parts L0E60: L0E60: .byte %00001110 ; 0E60 0E .byte %11111111 .byte %11111111 .byte %00111111 .byte %00101010 .byte %00101110 .byte %00101010 .byte %00101110 .byte %01110000 ; 0E68 70 .byte %11111111 .byte %11111111 .byte %11111100 .byte %01010100 .byte %01110100 .byte %01010100 .byte %01110100 .byte %01011101 ; 0E70 5D .byte %01010101 .byte %01011101 .byte %01010101 .byte %01011101 .byte %01010101 .byte %01011101 .byte %01010101 L0E78: .byte $03, $A3, $B3, $B2, $B0, $BA, $BB, $AB, $0B, $2B, $3B, $3A, $30, $32, $33, $23 ; 0E78 16 byte look-up L0E88: .byte $00, $00, $00, $00, $00, $00, $00, $00 ; 0E88 clear sprite L0E90: .byte $0C, $09, $06, $2B, $03 ; 0E90 parameter table L0E95: .byte $43, $33, $34, $44 ; 0E95 lookup table L0E99: dci L0FD0 ; 0E99 2A 0F D0 Jumps here after button 3 is pressed at prompt, set keypress data pointer L0E9C: li $8A ; 0E9C 20 8A lr 0,A ; 0E9E 50 $8A in r0 (RED G) lr Q,DC ; 0E9F 0E Load DC0 address in Q,backup address pi prompt ; 0EA0 28 00 99 Jump to BIOS subroutine prompt + read buttons lr DC,Q ; 0EA3 0F Restore address to DC again lr A,4 ; 0EA4 44 Fetch collected button press cm ; 0EA5 8D Compare memory and A by doing ((DC0))-A but only set flags, A is untouched. DC0 is increased bnz L0ED3 ; 0EA6 94 2C If they're not the same, reboot the cartridge lr H,DC ; 0EA8 11 Store current DC0 address in H this time (r10 and r11) lr A,HU ; 0EA9 4A Load upper part of H in A ci $10 ; 0EAA 25 10 Check if DC0 address rolled over from $0F to $10 bnz L0E9C ; 0EAC 94 EF If it didn't, repeat the above (press the button same as the data) until you do. li $10 ; 0EAE 20 10 ***** DRAW SECRET MESSAGE ***** lr 1,A ; 0EB0 51 X coordinate $10 in r1 li $13 ; 0EB1 20 13 lr 2,A ; 0EB3 52 Y coordinate $13 in r2 dci L0ED6 ; 0EB4 2A 0E D6 Point data counter to graphics lis 7 ; 0EB7 77 lr 4,A ; 0EB8 54 8 letters, amount in r4 (DONE BY ) L0EB9: li $80 ; 0EB9 20 80 lr 0,A ; 0EBB 50 $80 in 0 - RED color pi $067C ; 0EBC 28 06 7C Subroutine jump to BIOS drawchar... ds 4 ; 0EBF 34 bnz L0EB9 ; 0EC0 94 F8 Loop if there's letters left li $10 ; 0EC2 20 10 lr 1,A ; 0EC4 51 X coordinate $10 li $1A ; 0EC5 20 1A lr 2,A ; 0EC7 52 Y coordinate $1A lis $F ; 0EC8 7F lr 4,A ; 0EC9 54 16 letters to write, loaded in r4 (MICHAEL K GLASS) L0ECA: li $40 ; 0ECA 20 40 lr 0,A ; 0ECC 50 Blue color set in r0 pi $067C ; 0ECD 28 06 7C Subroutine jump to BIOS drawchar... ds 4 ; 0ED0 34 Decrease r4 bnz L0ECA ; 0ED1 94 F8 Repeat if not yet 0 L0ED3: jmp L0802 ; 0ED3 29 08 02 Reboot cartridge ; Graphics data starts here 5x5 pixels, one row per byte. L0ED6: .byte %11100000 ; 0ED6 E0 ; D .byte %10010000 .byte %10001000 .byte %10010000 .byte %11100000 .byte %11111000 ; 0EDB F8 ; O .byte %10001000 .byte %10001000 .byte %10001000 .byte %11111000 .byte %10001000 ; 0EE0 88 ; N .byte %11001000 .byte %10101000 .byte %10011000 .byte %10001000 .byte %11111000 ; 0EE5 F8 ; E .byte %10000000 .byte %11100000 .byte %10000000 .byte %11111000 .byte %00000000 ; 0EEA 00 ; space .byte %00000000 .byte %00000000 .byte %00000000 .byte %00000000 .byte %11110000 ; 0EEF F0 ; B .byte %10001000 .byte %11110000 .byte %10001000 .byte %11110000 .byte %10001000 ; 0EF4 88 ; Y .byte %01010000 .byte %00100000 .byte %00100000 .byte %00100000 .byte %10001000 ; 0EF9 88 ; M .byte %11011000 .byte %10101000 .byte %10001000 .byte %10001000 .byte %11111000 ; 0EFE F8 ; I .byte %00100000 .byte %00100000 .byte %00100000 .byte %11111000 .byte %11111000 ; 0F03 F8 ; C .byte %10000000 .byte %10000000 .byte %10000000 .byte %11111000 .byte %10001000 ; 0F08 88 ; H .byte %10001000 .byte %11111000 .byte %10001000 .byte %10001000 .byte %11111000 ; 0F0D F8 ; A .byte %10001000 .byte %11111000 .byte %10001000 .byte %10001000 .byte %11111000 ; 0F12 F8 ; E .byte %10000000 .byte %11100000 .byte %10000000 .byte %11111000 .byte %10000000 ; 0F17 80 ; L .byte %10000000 .byte %10000000 .byte %10000000 .byte %11111000 .byte %00000000 ; 0F1C 00 ; space .byte %00000000 .byte %00000000 .byte %00000000 .byte %00000000 .byte %10010000 ; 0F21 90 ; K .byte %10100000 .byte %11000000 .byte %10100000 .byte %10010000 .byte %00000000 ; 0F26 00 ; space .byte %00000000 .byte %00000000 .byte %00000000 .byte %00000000 .byte %11111000 ; 0F2B F8 ; G .byte %10000000 .byte %10111000 .byte %10001000 .byte %11111000 .byte %10000000 ; 0F30 80 ; L .byte %10000000 .byte %10000000 .byte %10000000 .byte %11110000 .byte %11111000 ; 0F35 F8 ; A .byte %10001000 .byte %11111000 .byte %10001000 .byte %10001000 .byte %11111000 ; 0F3A F8 ; S .byte %10000000 .byte %11111000 .byte %00001000 .byte %11111000 .byte %11111000 ; 0F3F F8 ; S .byte %10000000 .byte %11111000 .byte %00001000 .byte %11111000 .byte %11111111 ; 0F44 FF ; filler .byte %11111111 .byte %11111111 .byte %11111111 .byte %11111111 .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; 0F49 .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; 0F59 .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; 0F69 .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; 0F79 .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; 0F89 .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; 0F99 .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; 0FA9 .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; 0FB9 .byte $FF, $FF, $FF, $FF, $FF, $FF, $FF ; 0FC9 ; Easter Egg keypresses needed after selecting the backdoor option with button 3 ; $01 means button 1, $02 means button 2, $04 means button 3, $08 means button 4 L0FD0: .byte $04, $08, $04, $02, $08, $02, $01, $02, $08, $01, $04, $04, $02, $04, $01, $08 ; 0FD0 .byte $04, $02, $01, $08, $02, $04, $01, $08, $04, $02, $02, $01, $04, $02, $04, $08 ; 0FE0 .byte $02, $04, $04, $08, $01, $01, $01, $02, $02, $04, $04, $02, $08, $08, $08, $04 ; 0FF0 ; Decodes to sequence: 343 242 124 133 231 432 142 314 322 132 342 334 111 223 324 443 (after first pressing button 3) IF 0 Smart data report ================= Mode: enabled by -s or /s Memory range: $0800-$0FFF Code bytes: 1551 Data bytes: 497 DCI data roots from reachable code: $0FD0 from $0E99 $0ED6 from $0EB4 $0DE0 from $0878 $0DE0 from $0886 $0DD7 from $0838 $0E60 from $084D $0E88 from $0856 $0E90 from $08C2 $0E78 from $0C56 $0E88 from $091C $0DE0 from $0913 $0E95 from $09F3 $0DE0 from $0AB6 $0DE0 from $0B07 $0E88 from $0B27 $0E88 from $0BC3 $0E88 from $0BCE Data intervals emitted as .byte: $08CC-$08D0 (5 bytes) $0DD7-$0E98 (194 bytes) $0ED6-$0FFF (298 bytes) ENDIF
Here's how the plane sprites at $0DE0 looks as well as the following tower parts: