; ; This bank contains math related stuff ; as well as GRP (Graphic Plotter ?) related stuff ; ; data for some function here ; notice it's value with only 1 bit set in decreasing position ... c000: 80 .db $80 c001: 40 .db $40 c002: 20 .db $20 c003: 10 .db $10 c004: 08 .db $08 c005: 04 .db $04 c006: 02 .db $02 c007: 01 .db $01 ; data for some func, it's just a table to double the offset ... c008: 00 .db $00 c009: 02 .db $02 c00a: 04 .db $04 c00b: 06 .db $06 c00c: 08 .db $08 c00d: 0a .db $0a c00e: 0c .db $0c c00f: 0e .db $0e c010: 10 .db $10 c011: 12 .db $12 c012: 14 .db $14 c013: 16 .db $16 c014: 18 .db $18 c015: 1a .db $1a c016: 1c .db $1c c017: 1e .db $1e c018: 20 .db $20 c019: 22 .db $22 c01a: 24 .db $24 c01b: 26 .db $26 c01c: 28 .db $28 c01d: 2a .db $28 c01e: 2c .db $2c c01f: 2e .db $2e c020: 30 .db $30 c021: 32 .db $32 c022: 34 .db $34 c023: 36 .db $36 c024: 38 .db $38 c025: 3a .db $3a c026: 3c .db $3c c027: 3e .db $3e c028: 20 .db $20 c029: 40 .db $40 c02a: 80 80 BRA $bfac c02c: ff 7f 3f BBS7 $7f, $c06e c02f: 1f 0f 07 BBR1 $0f, $c039 c032: 03 01 ST0 #$01 c034: 80 c0 BRA $bff6 c036: e0 f0 CPX #$f0 c038: f8 SED c039: fc ??? c03a: fe ff ??? ; ; VI_BOX ; ; draw an empty box ? ; c03c: 20 JSR $cc00 ; func7, order (_ah) and (_bh) c03f: 20 0e cc JSR $cc0e ; func8, order (_al) and (_bl) c042: a5 f9 LDA $f9 ; A = (_ah) c044: a4 fb LDY $fb ; Y = (_bh) c046: 20 51 c5 JSR $c551 ; draw vertical line ? c049: a5 f8 LDA $f8 c04b: 48 PHA ; store (_al) value on stack c04c: a5 fa LDA $fa c04e: 85 f8 STA $f8 ; (_al) = (_bl) c050: a5 f9 LDA $f9 ; A = (_ah) c052: a4 fb LDY $fb ; Y = (_bh) c054: 20 51 c5 JSR $c551 ; draw vertical line ? c057: 68 PLA c058: 85 f8 STA $f8 ; restore (_al) value c05a: 48 PHA c05b: 20 9e c0 JSR $c09e ; draw horizontal line ? c05e: a5 fb LDA $fb c060: 85 f9 STA $f9 c062: 68 PLA c063: 85 f8 STA $f8 c065: 80 37 BRA $c09e ; draw horizontal line ? ; ; VI_BOXF ; draw a filled box ? ; use a succession of vertical lines ... ; c067: 20 00 cc JSR $cc00 ; func7, order _ah and _bh c06a: 20 0e cc JSR $cc0e ; func8, order _al and _bl c06d: a5 f8 LDA $f8 c06f: 48 PHA c070: a5 f9 LDA $f9 c072: a4 fb LDY $fb c074: 20 51 c5 JSR $c551 ; draw vertical line ? c077: a5 f8 LDA $f8 c079: c5 fa CMP $fa c07b: f0 04 BEQ $c081 c07d: e6 f8 INC $f8 c07f: 80 ef BRA $c070 ; while ($f8) < ($fa), repeat the vline drawing c081: 68 PLA c082: 85 f8 STA $f8 ; restore old value for _al c084: 60 RTS ; ; VI_LINE ; ; args : _al -> first X coordinate ; _ah -> first Y coordinate ; _bl -> second X coordinate ; _bh -> second Y coordinate ; _dl -> color (0-15) ; returns nothing c085: a5 f8 LDA $f8 c087: c5 fa CMP $fa c089: d0 0a BNE $c095 ; here, (_al) == (_bl) so we must draw a vertical line c08b: 20 00 cc JSR $cc00 ; func7, order (_ah) and (_bh) c08e: a5 f9 LDA $f9 c090: a4 fb LDY $fb c092: 4c 51 c5 JMP $c551 ; draw vertical line ? c095: a5 f9 LDA $f9 ; we're here if (_al) != (_bl) ; it is when we don't want a vertical line ? c097: c5 fb CMP $fb c099: d0 11 BNE $c0ac ; if (_ah) != (_bh), we don't want an ; horizontal line neither c09b: 20 0e cc JSR $cc0e ; func8, order _al and _bl ; ; draw horizontal line ? ; c09e: a5 fa LDA $fa c0a0: c5 f8 CMP $f8 c0a2: d0 01 BNE $c0a5 ; we want a 'one point' horizontal line, return c0a4: 60 RTS c0a5: 20 b9 c1 JSR $c1b9 c0a8: e6 f8 INC $f8 c0aa: 80 f2 BRA $c09e c0ac: a5 fb LDA $fb ; we're here if (_ah) == (_bh) c0ae: 38 SEC c0af: e5 f9 SBC $f9 c0b1: b0 05 BCS $c0b8 c0b3: a5 f9 LDA $f9 c0b5: 38 SEC c0b6: e5 fb SBC $fb c0b8: 8d 41 26 STA $2641 c0bb: a5 fa LDA $fa c0bd: 38 SEC c0be: e5 f8 SBC $f8 c0c0: b0 05 BCS $c0c7 c0c2: a5 f8 LDA $f8 c0c4: 38 SEC c0c5: e5 fa SBC $fa c0c7: 8d 42 26 STA $2642 c0ca: 9c 3f 26 STZ $263f c0cd: a5 fb LDA $fb c0cf: c5 f9 CMP $f9 c0d1: f0 0a BEQ $c0dd c0d3: b0 05 BCS $c0da c0d5: ce 3f 26 DEC $263f c0d8: 80 03 BRA $c0dd c0da: ee 3f 26 INC $263f c0dd: 9c 40 26 STZ $2640 c0e0: a5 fa LDA $fa c0e2: c5 f8 CMP $f8 c0e4: f0 0a BEQ $c0f0 c0e6: b0 05 BCS $c0ed c0e8: ce 40 26 DEC $2640 c0eb: 80 03 BRA $c0f0 c0ed: ee 40 26 INC $2640 c0f0: 9c 43 26 STZ $2643 c0f3: ad 42 26 LDA $2642 c0f6: cd 41 26 CMP $2641 c0f9: 90 0e BCC $c109 c0fb: aa TAX c0fc: ad 41 26 LDA $2641 c0ff: 8d 42 26 STA $2642 c102: 8a TXA c103: 8d 41 26 STA $2641 c106: ee 43 26 INC $2643 c109: 9c 3d 26 STZ $263d c10c: 9c 3e 26 STZ $263e c10f: ad 42 26 LDA $2642 c112: 0a ASL a c113: 2e 3e 26 ROL $263e c116: 38 SEC c117: ed 41 26 SBC $2641 c11a: 8d 3d 26 STA $263d c11d: ad 3e 26 LDA $263e c120: e9 00 SBC #$00 c122: 8d 3e 26 STA $263e c125: 9c 3c 26 STZ $263c c128: ad 3c 26 LDA $263c c12b: cd 41 26 CMP $2641 c12e: d0 03 BNE $c133 c130: 4c a8 c1 JMP $c1a8 c133: ee 3c 26 INC $263c c136: 20 a8 c1 JSR $c1a8 c139: ad 3e 26 LDA $263e c13c: 30 3a BMI $c178 c13e: 0d 3d 26 ORA $263d c141: f0 35 BEQ $c178 c143: ad 43 26 LDA $2643 c146: f0 0a BEQ $c152 c148: ad 3f 26 LDA $263f c14b: 18 CLC c14c: 65 f9 ADC $f9 c14e: 85 f9 STA $f9 c150: 80 08 BRA $c15a c152: ad 40 26 LDA $2640 c155: 18 CLC c156: 65 f8 ADC $f8 c158: 85 f8 STA $f8 c15a: 64 ef STZ $ef c15c: ad 41 26 LDA $2641 c15f: 0a ASL a c160: 26 ef ROL $ef c162: 85 ee STA $ee c164: ad 3d 26 LDA $263d c167: 38 SEC c168: e5 ee SBC $ee c16a: 8d 3d 26 STA $263d c16d: ad 3e 26 LDA $263e c170: e5 ef SBC $ef c172: 8d 3e 26 STA $263e c175: 4c 39 c1 JMP $c139 c178: ad 43 26 LDA $2643 c17b: 18 CLC c17c: f0 09 BEQ $c187 c17e: ad 40 26 LDA $2640 c181: 65 f8 ADC $f8 c183: 85 f8 STA $f8 c185: 80 07 BRA $c18e c187: ad 3f 26 LDA $263f c18a: 65 f9 ADC $f9 c18c: 85 f9 STA $f9 c18e: ad 42 26 LDA $2642 c191: 64 ef STZ $ef c193: 0a ASL a c194: 26 ef ROL $ef c196: 18 CLC c197: 6d 3d 26 ADC $263d c19a: 8d 3d 26 STA $263d c19d: a5 ef LDA $ef c19f: 6d 3e 26 ADC $263e c1a2: 8d 3e 26 STA $263e c1a5: 4c 28 c1 JMP $c128 ; ; VI_PSET ; args : _ah -> X coordinate ; _al -> Y coordinate ; _dl -> color (0-15) ; returns nothing c1a8: a5 f8 LDA $f8 c1aa: c5 df CMP $df c1ac: d0 0b BNE $c1b9 c1ae: a5 f9 LDA $f9 c1b0: 29 f8 AND #$f8 c1b2: c5 de CMP $de c1b4: d0 03 BNE $c1b9 c1b6: 4c fc c1 JMP $c1fc c1b9: a5 f9 LDA $f9 c1bb: 29 f8 AND #$f8 c1bd: 85 de STA $de c1bf: a5 f8 LDA $f8 c1c1: 85 df STA $df c1c3: a5 f8 LDA $f8 c1c5: 4a LSR a c1c6: 4a LSR a c1c7: 4a LSR a c1c8: aa TAX c1c9: a5 f8 LDA $f8 c1cb: 29 07 AND #$07 c1cd: 18 CLC c1ce: 6d 16 26 ADC $2616 c1d1: 85 f0 STA $f0 c1d3: bd 08 c0 LDA $c008, X c1d6: 6d 17 26 ADC $2617 c1d9: 85 f1 STA $f1 c1db: a5 f9 LDA $f9 c1dd: 29 f8 AND #$f8 c1df: 0a ASL a c1e0: 64 ec STZ $ec c1e2: 26 ec ROL $ec c1e4: 65 f0 ADC $f0 c1e6: 85 f0 STA $f0 c1e8: a5 f1 LDA $f1 c1ea: 65 ec ADC $ec c1ec: 85 f1 STA $f1 c1ee: a5 f9 LDA $f9 c1f0: 29 07 AND #$07 c1f2: 8d 39 26 STA $2639 c1f5: aa TAX c1f6: bd 00 c0 LDA $c000, X ; A = 2 ** (7-X) c1f9: 4c 4f c6 JMP $c64f c1fc: a5 f8 LDA $f8 c1fe: 4a LSR a c1ff: 4a LSR a c200: 4a LSR a c201: aa TAX c202: a5 f8 LDA $f8 c204: 29 07 AND #$07 c206: 18 CLC c207: 6d 16 26 ADC $2616 c20a: 85 f0 STA $f0 c20c: bd 08 c0 LDA $c008, X c20f: 6d 17 26 ADC $2617 c212: 85 f1 STA $f1 c214: a5 f9 LDA $f9 c216: 29 f8 AND #$f8 c218: 0a ASL a c219: 64 ec STZ $ec c21b: 26 ec ROL $ec c21d: 65 f0 ADC $f0 c21f: 85 f0 STA $f0 c221: a5 f1 LDA $f1 c223: 65 ec ADC $ec c225: 85 f1 STA $f1 c227: a5 f9 LDA $f9 c229: 29 07 AND #$07 c22b: 8d 39 26 STA $2639 c22e: aa TAX c22f: bd 00 c0 LDA $c000, X ; A = 2 ** (7-X) c232: 85 dc STA $dc c234: 49 ff EOR #$ff c236: 85 dd STA $dd ; ($dd) contains the mask to obtain a pix ? c238: a9 00 LDA #$00 c23a: 85 f7 STA $f7 c23c: 03 00 ST0 #$00 c23e: a4 f0 LDY $f0 c240: 8c 02 00 STY $0002 c243: a6 f1 LDX $f1 c245: 8e 03 00 STX $0003 c248: a9 02 LDA #$02 c24a: 85 f7 STA $f7 c24c: 03 02 ST0 #$02 c24e: a5 e0 LDA $e0 c250: 25 dd AND $dd c252: 0f fe 02 BBR0 $fe, $c257 c255: 05 dc ORA $dc c257: 85 e0 STA $e0 c259: 8d 02 00 STA $0002 c25c: a5 e1 LDA $e1 c25e: 25 dd AND $dd c260: 1f fe 02 BBR1 $fe, $c265 c263: 05 dc ORA $dc c265: 85 e1 STA $e1 c267: 8d 03 00 STA $0003 c26a: 18 CLC c26b: 42 SAY c26c: 69 08 ADC #$08 c26e: 42 SAY c26f: 22 SAX c270: 69 00 ADC #$00 c272: 22 SAX ; ; This piece of code seems to draw a point at address X:Y ; also use (_dl), ($e2), ($e3), ($dd) c273: a9 00 LDA #$00 c275: 85 f7 STA $f7 c277: 03 00 ST0 #$00 ; vreg = #$00 (set vram r/w address) c279: 8c 02 00 STY $0002 c27c: 8e 03 00 STX $0003 ; set X:Y as the r/w address c27f: a9 02 LDA #$02 c281: 85 f7 STA $f7 c283: 03 02 ST0 #$02 ; vreg = #$02 (r/w) c285: a5 e2 LDA $e2 c287: 25 dd AND $dd c289: 2f fe 02 BBR2 $fe, $c28e c28c: 05 dc ORA $dc c28e: 85 e2 STA $e2 c290: 8d 02 00 STA $0002 c293: a5 e3 LDA $e3 c295: 25 dd AND $dd c297: 3f fe 02 BBR3 $fe, $c29c c29a: 05 dc ORA $dc c29c: 85 e3 STA $e3 c29e: 8d 03 00 STA $0003 c2a1: 60 RTS ; ; VI_POINT ; args : _al -> Y coordinate ; _ah -> X coordinate ; returns : ; RegA -> Color of this pixel ? (0-15) c2a2: a5 ed LDA $ed c2a4: 29 80 AND #$80 c2a6: 85 ed STA $ed c2a8: a5 f8 LDA $f8 c2aa: c5 df CMP $df c2ac: d0 37 BNE $c2e5 c2ae: a5 f9 LDA $f9 c2b0: 29 f8 AND #$f8 c2b2: c5 de CMP $de c2b4: d0 2f BNE $c2e5 c2b6: a5 f9 LDA $f9 c2b8: 29 07 AND #$07 c2ba: aa TAX c2bb: bd 00 c0 LDA $c000, X ; A = 2 ** (7-X) c2be: 85 dc STA $dc c2c0: a5 e0 LDA $e0 c2c2: 25 dc AND $dc c2c4: f0 02 BEQ $c2c8 c2c6: 87 ed SMB0 $ed c2c8: a5 e1 LDA $e1 c2ca: 25 dc AND $dc c2cc: f0 02 BEQ $c2d0 c2ce: 97 ed SMB1 $ed c2d0: a5 e2 LDA $e2 c2d2: 25 dc AND $dc c2d4: f0 02 BEQ $c2d8 c2d6: a7 ed SMB2 $ed c2d8: a5 e3 LDA $e3 c2da: 25 dc AND $dc c2dc: f0 02 BEQ $c2e0 c2de: b7 ed SMB3 $ed c2e0: a5 ed LDA $ed c2e2: 29 0f AND #$0f ; return A = ($ed) & 0xf c2e4: 60 RTS c2e5: a5 f9 LDA $f9 c2e7: 29 f8 AND #$f8 c2e9: 85 de STA $de c2eb: a5 f8 LDA $f8 c2ed: 85 df STA $df c2ef: a5 f8 LDA $f8 c2f1: 4a LSR a c2f2: 4a LSR a c2f3: 4a LSR a c2f4: aa TAX c2f5: a5 f8 LDA $f8 c2f7: 29 07 AND #$07 c2f9: 18 CLC c2fa: 6d 16 26 ADC $2616 c2fd: 85 f0 STA $f0 c2ff: bd 08 c0 LDA $c008, X c302: 6d 17 26 ADC $2617 c305: 85 f1 STA $f1 c307: a5 f9 LDA $f9 c309: 29 f8 AND #$f8 c30b: 0a ASL a c30c: 64 ec STZ $ec c30e: 26 ec ROL $ec c310: 65 f0 ADC $f0 c312: 85 f0 STA $f0 c314: a5 f1 LDA $f1 c316: 65 ec ADC $ec c318: 85 f1 STA $f1 c31a: a5 f9 LDA $f9 c31c: 29 07 AND #$07 c31e: 8d 39 26 STA $2639 c321: aa TAX c322: bd 00 c0 LDA $c000, X ; A = 2 ** (7-X) c325: 85 dc STA $dc c327: a9 01 LDA #$01 c329: 85 f7 STA $f7 c32b: 03 01 ST0 #$01 c32d: a5 f0 LDA $f0 c32f: 8d 02 00 STA $0002 c332: a5 f1 LDA $f1 c334: 8d 03 00 STA $0003 c337: a9 02 LDA #$02 c339: 85 f7 STA $f7 c33b: 03 02 ST0 #$02 c33d: ad 02 00 LDA $0002 c340: 85 e0 STA $e0 c342: 25 dc AND $dc c344: f0 02 BEQ $c348 c346: 87 ed SMB0 $ed c348: ad 03 00 LDA $0003 c34b: 85 e1 STA $e1 c34d: 25 dc AND $dc c34f: f0 02 BEQ $c353 c351: 97 ed SMB1 $ed c353: 18 CLC c354: a9 08 LDA #$08 c356: 65 f0 ADC $f0 c358: 85 f0 STA $f0 c35a: 62 CLA c35b: 65 f1 ADC $f1 c35d: 85 f1 STA $f1 c35f: a9 01 LDA #$01 c361: 85 f7 STA $f7 c363: 03 01 ST0 #$01 c365: a5 f0 LDA $f0 c367: 8d 02 00 STA $0002 c36a: a5 f1 LDA $f1 c36c: 8d 03 00 STA $0003 c36f: a9 02 LDA #$02 c371: 85 f7 STA $f7 c373: 03 02 ST0 #$02 c375: ad 02 00 LDA $0002 c378: 85 e2 STA $e2 c37a: 25 dc AND $dc c37c: f0 02 BEQ $c380 c37e: a7 ed SMB2 $ed c380: ad 03 00 LDA $0003 c383: 85 e3 STA $e3 c385: 25 dc AND $dc c387: f0 02 BEQ $c38b c389: b7 ed SMB3 $ed c38b: a5 ed LDA $ed c38d: 29 0f AND #$0f c38f: 60 RTS ; ; VI_FLOOD ; args : _al -> Y coordinate ; _ah -> X coordinate ; _dh -> color (0-15) ; c390: 20 a2 c2 JSR $c2a2 c393: 8d 3a 26 STA $263a c396: c5 fe CMP $fe c398: d0 01 BNE $c39b c39a: 60 RTS c39b: 9c 45 26 STZ $2645 c39e: a5 f9 LDA $f9 c3a0: ac 45 26 LDY $2645 c3a3: 91 e4 STA ($e4), Y c3a5: c8 INY c3a6: a5 f8 LDA $f8 c3a8: 91 e4 STA ($e4), Y c3aa: c8 INY c3ab: 8c 45 26 STY $2645 c3ae: ac 45 26 LDY $2645 c3b1: 88 DEY c3b2: b1 e4 LDA ($e4), Y c3b4: 8d 3b 26 STA $263b c3b7: 85 f8 STA $f8 c3b9: 88 DEY c3ba: b1 e4 LDA ($e4), Y c3bc: 85 f9 STA $f9 c3be: 48 PHA c3bf: 8c 45 26 STY $2645 c3c2: 20 a2 c2 JSR $c2a2 c3c5: cd 3a 26 CMP $263a c3c8: d0 08 BNE $c3d2 c3ca: c6 f9 DEC $f9 c3cc: a5 f9 LDA $f9 c3ce: c9 ff CMP $ff c3d0: d0 f0 BNE $c3c2 c3d2: a5 f9 LDA $f9 c3d4: 1a INC a c3d5: a8 TAY c3d6: 68 PLA c3d7: 85 f9 STA $f9 c3d9: 5a PHY c3da: e6 f9 INC $f9 c3dc: 20 a2 c2 JSR $c2a2 c3df: cd 3a 26 CMP $263a c3e2: d0 04 BNE $c3e8 c3e4: a5 f9 LDA $f9 c3e6: d0 f2 BNE $c3da c3e8: a5 f9 LDA $f9 c3ea: 3a DEC a c3eb: a8 TAY c3ec: 68 PLA c3ed: 85 ec STA $ec c3ef: c4 ec CPY $ec c3f1: 90 1f BCC $c412 c3f3: 5a PHY c3f4: 48 PHA c3f5: 20 51 c5 JSR $c551 c3f8: ad 3b 26 LDA $263b c3fb: f0 08 BEQ $c405 c3fd: 3a DEC a c3fe: 85 f8 STA $f8 c400: 68 PLA c401: 7a PLY c402: 20 18 c4 JSR $c418 c405: ad 3b 26 LDA $263b c408: c9 ff CMP $ff c40a: f0 06 BEQ $c412 c40c: 1a INC a c40d: 85 f8 STA $f8 c40f: 20 18 c4 JSR $c418 c412: ad 45 26 LDA $2645 c415: d0 97 BNE $c3ae c417: 60 RTS c418: 85 f9 STA $f9 c41a: f7 ed SMB7 $ed c41c: 20 a2 c2 JSR $c2a2 c41f: cd 3a 26 CMP $263a c422: f0 04 BEQ $c428 c424: f7 ed SMB7 $ed c426: 80 17 BRA $c43f c428: 7f ed 14 BBR7 $ed, $c43f c42b: 02 SXY c42c: a5 f9 LDA $f9 c42e: ac 45 26 LDY $2645 c431: 91 e4 STA ($e4), Y c433: c8 INY c434: a5 f8 LDA $f8 c436: 91 e4 STA ($e4), Y c438: c8 INY c439: 8c 45 26 STY $2645 c43c: 02 SXY c43d: 77 ed RMB7 $ed c43f: c4 f9 CPY $f9 c441: f0 04 BEQ $c447 c443: e6 f9 INC $f9 c445: 80 d5 BRA $c41c c447: 60 RTS ; ; VI_PAINT ; c448: 20 a2 c2 JSR $c2a2 ; VI_POINT c44b: c5 fe CMP $fe c44d: d0 01 BNE $c450 ; if color of pixel at (_al, _ah) == $fe, quits ; else continues c44f: 60 RTS ; ; sequel of VI_PAINT ; c450: 20 0c c5 JSR $c50c ; translate (_BX) value into $2619-$2628 c453: 9c 45 26 STZ $2645 c456: a5 f9 LDA $f9 c458: ac 45 26 LDY $2645 c45b: 91 e4 STA ($e4), Y c45d: c8 INY c45e: a5 f8 LDA $f8 c460: 91 e4 STA ($e4), Y c462: c8 INY c463: 8c 45 26 STY $2645 c466: ac 45 26 LDY $2645 c469: 88 DEY c46a: b1 e4 LDA ($e4), Y c46c: 8d 3b 26 STA $263b c46f: 85 f8 STA $f8 c471: 88 DEY c472: b1 e4 LDA ($e4), Y c474: 85 f9 STA $f9 c476: 48 PHA c477: 8c 45 26 STY $2645 c47a: 20 a2 c2 JSR $c2a2 c47d: aa TAX c47e: bd 19 26 LDA $2619, X c481: d0 08 BNE $c48b c483: c6 f9 DEC $f9 c485: a5 f9 LDA $f9 c487: c9 ff CMP $ff c489: d0 ef BNE $c47a c48b: a5 f9 LDA $f9 c48d: 1a INC a c48e: a8 TAY c48f: 68 PLA c490: 85 f9 STA $f9 c492: 5a PHY c493: e6 f9 INC $f9 c495: 20 a2 c2 JSR $c2a2 c498: aa TAX c499: bd 19 26 LDA $2619, X c49c: d0 04 BNE $c4a2 c49e: a5 f9 LDA $f9 c4a0: d0 f1 BNE $c493 c4a2: a5 f9 LDA $f9 c4a4: 3a DEC a c4a5: a8 TAY c4a6: 68 PLA c4a7: 85 ec STA $ec c4a9: 48 PHA c4aa: 5a PHY c4ab: c4 ec CPY $ec c4ad: 90 23 BCC $c4d2 c4af: 20 51 c5 JSR $c551 c4b2: ad 3b 26 LDA $263b c4b5: f0 0a BEQ $c4c1 c4b7: 3a DEC a c4b8: 85 f8 STA $f8 c4ba: 7a PLY c4bb: 68 PLA c4bc: 48 PHA c4bd: 5a PHY c4be: 20 da c4 JSR $c4da c4c1: ad 3b 26 LDA $263b c4c4: c9 ff CMP $ff c4c6: f0 0a BEQ $c4d2 c4c8: 1a INC a c4c9: 85 f8 STA $f8 c4cb: 7a PLY c4cc: 68 PLA c4cd: 20 da c4 JSR $c4da c4d0: 48 PHA c4d1: 5a PHY c4d2: 7a PLY c4d3: 68 PLA c4d4: ad 45 26 LDA $2645 c4d7: d0 8d BNE $c466 c4d9: 60 RTS c4da: 85 f9 STA $f9 c4dc: f7 ed SMB7 $ed c4de: 20 a2 c2 JSR $c2a2 c4e1: aa TAX c4e2: bd 19 26 LDA $2619, X c4e5: f0 04 BEQ $c4eb c4e7: f7 ed SMB7 $ed c4e9: 80 17 BRA $c502 c4eb: 7f ed 14 BBR7 $ed, $c502 c4ee: 02 SXY c4ef: a5 f9 LDA $f9 c4f1: ac 45 26 LDY $2645 c4f4: 91 e4 STA ($e4), Y c4f6: c8 INY c4f7: a5 f8 LDA $f8 c4f9: 91 e4 STA ($e4), Y c4fb: c8 INY c4fc: 8c 45 26 STY $2645 c4ff: 77 ed RMB7 $ed c501: 02 SXY c502: c4 f9 CPY $f9 c504: f0 05 BEQ $c50b c506: e6 f9 INC $f9 c508: 4c de c4 JMP $c4de c50b: 60 RTS ; ; ??? ; ; seems to translate the bit field in (_BX) into byte coded boolean in ; ($2619-$2628) ; c50c: a2 1f LDX #$1f c50e: 9e 19 26 STZ $2619, X ; this loop clears ($2619 - $2638) c511: ca DEX c512: 10 fa BPL $c50e c514: 82 CLX c515: 46 fb LSR $fb c517: 66 fa ROR $fa ; ($fa-$fb) >>= 1 c519: 90 03 BCC $c51e ; if older value of ($fa) & 1 == 0, ; skip the INC $2619, X c51b: fe 19 26 INC $2619, X ; ($2619 + X) = ( older ($fa) & 1 ) c51e: e8 INX c51f: e0 10 CPX #$10 c521: d0 f2 BNE $c515 ; while X != 0x10 c523: a6 fe LDX $fe c525: fe 19 26 INC $2619, X c528: 60 RTS ; ; VI_CLS ; said to clear the bg ; c529: a9 00 LDA #$00 c52b: 85 f7 STA $f7 c52d: 03 00 ST0 #$00 ; vreg = 0 (vram address set) c52f: ad 16 26 LDA $2616 c532: 8d 02 00 STA $0002 c535: ad 17 26 LDA $2617 c538: 8d 03 00 STA $0003 ; ($0002) = ($2616-$2617) ; which indicates that ($2616-$2617) is the ; Vram pointer to the tiles mapping c53b: a9 02 LDA #$02 c53d: 85 f7 STA $f7 c53f: 03 02 ST0 #$02 ; vreg = 2 (write to mem) c541: a0 40 LDY #$40 c543: 82 CLX c544: 9c 02 00 STZ $0002 c547: 9c 03 00 STZ $0003 ; send 0 to ($0002-$0003) 256*40 times c54a: ca DEX c54b: d0 f7 BNE $c544 c54d: 88 DEY c54e: d0 f3 BNE $c543 c550: 60 RTS ; ; VI_VLINE ; ; args : _al -> X coordinate ; A -> lower Y coordinate ; Y -> higher Y coordinate ; returns : ; ??? certainly nothing ; ; Draw a vertical segment ; c551: 85 f9 STA $f9 c553: 29 f8 AND #$f8 c555: 8d 44 26 STA $2644 c558: a5 f8 LDA $f8 c55a: 4a LSR a c55b: 4a LSR a c55c: 4a LSR a c55d: aa TAX ; X = (_al) / 8 c55e: a5 f8 LDA $f8 c560: 29 07 AND #$07 ; A = (_al) % 8 c562: 18 CLC c563: 6d 16 26 ADC $2616 c566: 85 f0 STA $f0 c568: bd 08 c0 LDA $c008, X c56b: 6d 17 26 ADC $2617 c56e: 85 f1 STA $f1 c570: a5 f9 LDA $f9 c572: 29 f8 AND #$f8 c574: 0a ASL a c575: 64 ec STZ $ec c577: 26 ec ROL $ec c579: 65 f0 ADC $f0 c57b: 85 f0 STA $f0 c57d: a5 f1 LDA $f1 c57f: 65 ec ADC $ec c581: 85 f1 STA $f1 c583: a5 f9 LDA $f9 c585: 29 07 AND #$07 c587: 8d 39 26 STA $2639 c58a: aa TAX c58b: bd 00 c0 LDA $c000, X ; A = 2 ** (7-X) c58e: 98 TYA c58f: 29 f8 AND #$f8 c591: 38 SEC c592: ed 44 26 SBC $2644 c595: 4a LSR a c596: 4a LSR a c597: 4a LSR a c598: 8d 44 26 STA $2644 c59b: d0 14 BNE $c5b1 c59d: ae 39 26 LDX $2639 c5a0: bd 2c c0 LDA $c02c, X c5a3: 85 dc STA $dc c5a5: 98 TYA c5a6: 29 07 AND #$07 c5a8: aa TAX c5a9: bd 34 c0 LDA $c034, X c5ac: 25 dc AND $dc c5ae: 4c 4f c6 JMP $c64f c5b1: ae 39 26 LDX $2639 c5b4: bd 2c c0 LDA $c02c, X c5b7: 5a PHY c5b8: 20 4f c6 JSR $c64f c5bb: a0 ff LDY #$ff c5bd: 18 CLC c5be: a9 08 LDA #$08 c5c0: 65 f0 ADC $f0 c5c2: 85 f0 STA $f0 c5c4: 62 CLA c5c5: 65 f1 ADC $f1 c5c7: 85 f1 STA $f1 c5c9: ae 44 26 LDX $2644 c5cc: 20 d9 c5 JSR $c5d9 c5cf: 68 PLA c5d0: 29 07 AND #$07 c5d2: aa TAX c5d3: bd 34 c0 LDA $c034, X c5d6: 4c 4f c6 JMP $c64f c5d9: ca DEX c5da: d0 01 BNE $c5dd c5dc: 60 RTS c5dd: a9 00 LDA #$00 c5df: 85 f7 STA $f7 c5e1: 03 00 ST0 #$00 c5e3: a5 f0 LDA $f0 c5e5: 8d 02 00 STA $0002 c5e8: a5 f1 LDA $f1 c5ea: 8d 03 00 STA $0003 c5ed: 18 CLC c5ee: a9 08 LDA #$08 c5f0: 65 f0 ADC $f0 c5f2: 85 f0 STA $f0 c5f4: 62 CLA c5f5: 65 f1 ADC $f1 c5f7: 85 f1 STA $f1 c5f9: a9 02 LDA #$02 c5fb: 85 f7 STA $f7 c5fd: 03 02 ST0 #$02 c5ff: 0f fe 05 BBR0 $fe, $c607 c602: 8c 02 00 STY $0002 c605: 80 03 BRA $c60a c607: 9c 02 00 STZ $0002 c60a: 1f fe 05 BBR1 $fe, $c612 c60d: 8c 03 00 STY $0003 c610: 80 03 BRA $c615 c612: 9c 03 00 STZ $0003 c615: a9 00 LDA #$00 c617: 85 f7 STA $f7 c619: 03 00 ST0 #$00 c61b: a5 f0 LDA $f0 c61d: 8d 02 00 STA $0002 c620: a5 f1 LDA $f1 c622: 8d 03 00 STA $0003 c625: 18 CLC c626: a9 08 LDA #$08 c628: 65 f0 ADC $f0 c62a: 85 f0 STA $f0 c62c: 62 CLA c62d: 65 f1 ADC $f1 c62f: 85 f1 STA $f1 c631: a9 02 LDA #$02 c633: 85 f7 STA $f7 c635: 03 02 ST0 #$02 c637: 2f fe 05 BBR2 $fe, $c63f c63a: 8c 02 00 STY $0002 c63d: 80 03 BRA $c642 c63f: 9c 02 00 STZ $0002 c642: 3f fe 05 BBR3 $fe, $c64a c645: 8c 03 00 STY $0003 c648: 80 8f BRA $c5d9 c64a: 9c 03 00 STZ $0003 c64d: 80 8a BRA $c5d9 c64f: 85 dc STA $dc c651: 49 ff EOR #$ff c653: 85 dd STA $dd c655: a9 00 LDA #$00 c657: 85 f7 STA $f7 c659: 03 00 ST0 #$00 c65b: a6 f0 LDX $f0 c65d: 8e 02 00 STX $0002 c660: a4 f1 LDY $f1 c662: 8c 03 00 STY $0003 c665: a9 01 LDA #$01 c667: 85 f7 STA $f7 c669: 03 01 ST0 #$01 c66b: 8e 02 00 STX $0002 c66e: 8c 03 00 STY $0003 c671: a9 02 LDA #$02 c673: 85 f7 STA $f7 c675: 03 02 ST0 #$02 c677: ad 02 00 LDA $0002 c67a: 25 dd AND $dd c67c: 0f fe 02 BBR0 $fe, $c681 c67f: 05 dc ORA $dc c681: aa TAX c682: ad 03 00 LDA $0003 c685: 25 dd AND $dd c687: 1f fe 02 BBR1 $fe, $c68c c68a: 05 dc ORA $dc c68c: a0 02 LDY #$02 c68e: 84 f7 STY $f7 c690: 03 02 ST0 #$02 c692: 8e 02 00 STX $0002 c695: 86 e0 STX $e0 c697: 8d 03 00 STA $0003 c69a: 85 e1 STA $e1 c69c: 18 CLC c69d: a9 08 LDA #$08 c69f: 65 f0 ADC $f0 c6a1: 85 f0 STA $f0 c6a3: 62 CLA c6a4: 65 f1 ADC $f1 c6a6: 85 f1 STA $f1 c6a8: a9 00 LDA #$00 c6aa: 85 f7 STA $f7 c6ac: 03 00 ST0 #$00 c6ae: a6 f0 LDX $f0 c6b0: 8e 02 00 STX $0002 c6b3: a4 f1 LDY $f1 c6b5: 8c 03 00 STY $0003 c6b8: a9 01 LDA #$01 c6ba: 85 f7 STA $f7 c6bc: 03 01 ST0 #$01 c6be: 8e 02 00 STX $0002 c6c1: 8c 03 00 STY $0003 c6c4: a9 02 LDA #$02 c6c6: 85 f7 STA $f7 c6c8: 03 02 ST0 #$02 c6ca: ad 02 00 LDA $0002 c6cd: 25 dd AND $dd c6cf: 2f fe 02 BBR2 $fe, $c6d4 c6d2: 05 dc ORA $dc c6d4: aa TAX c6d5: ad 03 00 LDA $0003 c6d8: 25 dd AND $dd c6da: 3f fe 02 BBR3 $fe, $c6df c6dd: 05 dc ORA $dc c6df: a0 02 LDY #$02 c6e1: 84 f7 STY $f7 c6e3: 03 02 ST0 #$02 c6e5: 8e 02 00 STX $0002 c6e8: 86 e2 STX $e2 c6ea: 8d 03 00 STA $0003 c6ed: 85 e3 STA $e3 c6ef: 60 RTS c6f0: 20 1c cc JSR $cc1c c6f3: 09 00 ORA #$00 c6f5: f0 01 BEQ $c6f8 c6f7: 60 RTS c6f8: a5 fd LDA $fd c6fa: 29 0f AND #$0f c6fc: 8d 3f 26 STA $263f c6ff: a5 fd LDA $fd c701: 29 f0 AND #$f0 c703: 4a LSR a c704: 4a LSR a c705: 4a LSR a c706: 4a LSR a c707: 8d 40 26 STA $2640 c70a: a5 fe LDA $fe c70c: 8d 43 26 STA $2643 c70f: 82 CLX c710: ad 18 26 LDA $2618 c713: 29 03 AND #$03 c715: f0 03 BEQ $c71a c717: 4c 87 c7 JMP $c787 c71a: a5 f9 LDA $f9 c71c: 48 PHA c71d: bd 19 26 LDA $2619, X c720: 8d 42 26 STA $2642 c723: bd 1a 26 LDA $261a, X c726: 8d 41 26 STA $2641 c729: a0 10 LDY #$10 c72b: a5 f8 LDA $f8 c72d: 18 CLC c72e: 6d 40 26 ADC $2640 c731: 90 02 BCC $c735 c733: a9 ff LDA #$ff c735: 85 fa STA $fa c737: a5 f9 LDA $f9 c739: 18 CLC c73a: 6d 3f 26 ADC $263f c73d: 90 02 BCC $c741 c73f: a9 ff LDA #$ff c741: 85 fb STA $fb c743: 0e 41 26 ASL $2641 c746: 2e 42 26 ROL $2642 c749: b0 0b BCS $c756 c74b: ef fc 17 BBS6 $fc, $c765 c74e: a5 fc LDA $fc c750: 29 0f AND #$0f c752: 85 fe STA $fe c754: 80 08 BRA $c75e c756: ff fc 0c BBS7 $fc, $c765 c759: ad 43 26 LDA $2643 c75c: 85 fe STA $fe c75e: da PHX c75f: 5a PHY c760: 20 6d c0 JSR $c06d c763: 7a PLY c764: fa PLX c765: a5 fb LDA $fb c767: c9 ff CMP $ff c769: f0 06 BEQ $c771 c76b: 1a INC a c76c: 85 f9 STA $f9 c76e: 88 DEY c76f: d0 c6 BNE $c737 c771: 68 PLA c772: 85 f9 STA $f9 c774: a5 fa LDA $fa c776: c9 ff CMP $ff c778: f0 0c BEQ $c786 c77a: 1a INC a c77b: 85 f8 STA $f8 c77d: e8 INX c77e: e8 INX c77f: e0 20 CPX #$20 c781: f0 03 BEQ $c786 c783: 4c 1a c7 JMP $c71a c786: 60 RTS c787: a5 f9 LDA $f9 c789: 48 PHA c78a: bd 19 26 LDA $2619, X c78d: 8d 42 26 STA $2642 c790: bd 1a 26 LDA $261a, X c793: 8d 41 26 STA $2641 c796: a0 0c LDY #$0c c798: a5 f8 LDA $f8 c79a: 18 CLC c79b: 6d 40 26 ADC $2640 c79e: 90 02 BCC $c7a2 c7a0: a9 ff LDA #$ff c7a2: 85 fa STA $fa c7a4: a5 f9 LDA $f9 c7a6: 18 CLC c7a7: 6d 3f 26 ADC $263f c7aa: 90 02 BCC $c7ae c7ac: a9 ff LDA #$ff c7ae: 85 fb STA $fb c7b0: 0e 41 26 ASL $2641 c7b3: 2e 42 26 ROL $2642 c7b6: b0 0b BCS $c7c3 c7b8: ef fc 17 BBS6 $fc, $c7d2 c7bb: a5 fc LDA $fc c7bd: 29 0f AND #$0f c7bf: 85 fe STA $fe c7c1: 80 08 BRA $c7cb c7c3: ff fc 0c BBS7 $fc, $c7d2 c7c6: ad 43 26 LDA $2643 c7c9: 85 fe STA $fe c7cb: da PHX c7cc: 5a PHY c7cd: 20 6d c0 JSR $c06d c7d0: 7a PLY c7d1: fa PLX c7d2: a5 fb LDA $fb c7d4: c9 ff CMP $ff c7d6: f0 06 BEQ $c7de c7d8: 1a INC a c7d9: 85 f9 STA $f9 c7db: 88 DEY c7dc: d0 c6 BNE $c7a4 c7de: 68 PLA c7df: 85 f9 STA $f9 c7e1: a5 fa LDA $fa c7e3: c9 ff CMP $ff c7e5: f0 0c BEQ $c7f3 c7e7: 1a INC a c7e8: 85 f8 STA $f8 c7ea: e8 INX c7eb: e8 INX c7ec: e0 18 CPX #$18 c7ee: f0 03 BEQ $c7f3 c7f0: 4c 87 c7 JMP $c787 c7f3: 60 RTS c7f4: 20 1c cc JSR $cc1c c7f7: 09 00 ORA #$00 c7f9: f0 01 BEQ $c7fc c7fb: 60 RTS c7fc: a5 f8 LDA $f8 c7fe: 4a LSR a c7ff: 4a LSR a c800: 4a LSR a c801: aa TAX c802: a5 f8 LDA $f8 c804: 29 07 AND #$07 c806: 18 CLC c807: 6d 16 26 ADC $2616 c80a: 85 f0 STA $f0 c80c: bd 08 c0 LDA $c008, X c80f: 6d 17 26 ADC $2617 c812: 85 f1 STA $f1 c814: a5 f9 LDA $f9 c816: 29 f8 AND #$f8 c818: 0a ASL a c819: 64 ec STZ $ec c81b: 26 ec ROL $ec c81d: 65 f0 ADC $f0 c81f: 85 f0 STA $f0 c821: a5 f1 LDA $f1 c823: 65 ec ADC $ec c825: 85 f1 STA $f1 c827: a5 f9 LDA $f9 c829: 29 07 AND #$07 c82b: 8d 39 26 STA $2639 c82e: aa TAX c82f: bd 00 c0 LDA $c000, X ; A = 2 ** (7-X) c832: 82 CLX c833: a5 f8 LDA $f8 c835: 8d 40 26 STA $2640 c838: ad 18 26 LDA $2618 c83b: 29 03 AND #$03 c83d: f0 03 BEQ $c842 c83f: 4c 26 c9 JMP $c926 c842: bd 19 26 LDA $2619, X c845: 85 de STA $de c847: 49 ff EOR #$ff c849: 85 e1 STA $e1 c84b: bd 1a 26 LDA $261a, X c84e: 85 df STA $df c850: 49 ff EOR #$ff c852: 85 e2 STA $e2 c854: 64 e0 STZ $e0 c856: 64 e3 STZ $e3 c858: ad 39 26 LDA $2639 c85b: f0 0f BEQ $c86c c85d: 46 de LSR $de c85f: 66 df ROR $df c861: 66 e0 ROR $e0 c863: 46 e1 LSR $e1 c865: 66 e2 ROR $e2 c867: 66 e3 ROR $e3 c869: 3a DEC a c86a: 80 ef BRA $c85b c86c: da PHX c86d: a5 f0 LDA $f0 c86f: 48 PHA c870: a5 f1 LDA $f1 c872: 48 PHA c873: ff fc 38 BBS7 $fc, $c8ae c876: a5 f9 LDA $f9 c878: 8d 3f 26 STA $263f c87b: a5 de LDA $de c87d: 20 0e ca JSR $ca0e c880: f0 24 BEQ $c8a6 c882: 18 CLC c883: a9 08 LDA #$08 c885: 65 f0 ADC $f0 c887: 85 f0 STA $f0 c889: 62 CLA c88a: 65 f1 ADC $f1 c88c: 85 f1 STA $f1 c88e: a5 df LDA $df c890: 20 0e ca JSR $ca0e c893: f0 11 BEQ $c8a6 c895: 18 CLC c896: a9 08 LDA #$08 c898: 65 f0 ADC $f0 c89a: 85 f0 STA $f0 c89c: 62 CLA c89d: 65 f1 ADC $f1 c89f: 85 f1 STA $f1 c8a1: a5 e0 LDA $e0 c8a3: 20 0e ca JSR $ca0e c8a6: 68 PLA c8a7: 85 f1 STA $f1 c8a9: fa PLX c8aa: 86 f0 STX $f0 c8ac: da PHX c8ad: 48 PHA c8ae: ef fc 3c BBS6 $fc, $c8ed c8b1: a5 f9 LDA $f9 c8b3: 8d 3f 26 STA $263f c8b6: a5 fe LDA $fe c8b8: 48 PHA c8b9: a5 fc LDA $fc c8bb: 29 0f AND #$0f c8bd: 85 fe STA $fe c8bf: a5 e1 LDA $e1 c8c1: 20 0e ca JSR $ca0e c8c4: f0 24 BEQ $c8ea c8c6: 18 CLC c8c7: a9 08 LDA #$08 c8c9: 65 f0 ADC $f0 c8cb: 85 f0 STA $f0 c8cd: 62 CLA c8ce: 65 f1 ADC $f1 c8d0: 85 f1 STA $f1 c8d2: a5 e2 LDA $e2 c8d4: 20 0e ca JSR $ca0e c8d7: f0 11 BEQ $c8ea c8d9: 18 CLC c8da: a9 08 LDA #$08 c8dc: 65 f0 ADC $f0 c8de: 85 f0 STA $f0 c8e0: 62 CLA c8e1: 65 f1 ADC $f1 c8e3: 85 f1 STA $f1 c8e5: a5 e3 LDA $e3 c8e7: 20 0e ca JSR $ca0e c8ea: 68 PLA c8eb: 85 fe STA $fe c8ed: 68 PLA c8ee: 85 f1 STA $f1 c8f0: 68 PLA c8f1: 85 f0 STA $f0 c8f3: fa PLX c8f4: e8 INX c8f5: e8 INX c8f6: e0 20 CPX #$20 c8f8: f0 25 BEQ $c91f c8fa: ee 40 26 INC $2640 c8fd: f0 20 BEQ $c91f c8ff: ad 40 26 LDA $2640 c902: 29 07 AND #$07 c904: d0 10 BNE $c916 c906: 18 CLC c907: a9 f9 LDA #$f9 c909: 65 f0 ADC $f0 c90b: 85 f0 STA $f0 c90d: a9 01 LDA #$01 c90f: 65 f1 ADC $f1 c911: 85 f1 STA $f1 c913: 4c 42 c8 JMP $c842 c916: e6 f0 INC $f0 c918: d0 02 BNE $c91c c91a: e6 f1 INC $f1 c91c: 4c 42 c8 JMP $c842 c91f: a9 ff LDA #$ff c921: 85 de STA $de c923: 85 df STA $df c925: 60 RTS c926: bd 19 26 LDA $2619, X c929: 85 de STA $de c92b: 49 ff EOR #$ff c92d: 85 e1 STA $e1 c92f: bd 1a 26 LDA $261a, X c932: 29 f0 AND #$f0 c934: 85 df STA $df c936: 49 ff EOR #$ff c938: 29 f0 AND #$f0 c93a: 85 e2 STA $e2 c93c: 64 e0 STZ $e0 c93e: 64 e3 STZ $e3 c940: ad 39 26 LDA $2639 c943: f0 0f BEQ $c954 c945: 46 de LSR $de c947: 66 df ROR $df c949: 66 e0 ROR $e0 c94b: 46 e1 LSR $e1 c94d: 66 e2 ROR $e2 c94f: 66 e3 ROR $e3 c951: 3a DEC a c952: 80 ef BRA $c943 c954: da PHX c955: a5 f0 LDA $f0 c957: 48 PHA c958: a5 f1 LDA $f1 c95a: 48 PHA c95b: ff fc 38 BBS7 $fc, $c996 c95e: a5 f9 LDA $f9 c960: 8d 3f 26 STA $263f c963: a5 de LDA $de c965: 20 0e ca JSR $ca0e c968: f0 24 BEQ $c98e c96a: 18 CLC c96b: a9 08 LDA #$08 c96d: 65 f0 ADC $f0 c96f: 85 f0 STA $f0 c971: 62 CLA c972: 65 f1 ADC $f1 c974: 85 f1 STA $f1 c976: a5 df LDA $df c978: 20 0e ca JSR $ca0e c97b: f0 11 BEQ $c98e c97d: 18 CLC c97e: a9 08 LDA #$08 c980: 65 f0 ADC $f0 c982: 85 f0 STA $f0 c984: 62 CLA c985: 65 f1 ADC $f1 c987: 85 f1 STA $f1 c989: a5 e0 LDA $e0 c98b: 20 0e ca JSR $ca0e c98e: 68 PLA c98f: 85 f1 STA $f1 c991: fa PLX c992: 86 f0 STX $f0 c994: da PHX c995: 48 PHA c996: ef fc 3c BBS6 $fc, $c9d5 c999: a5 f9 LDA $f9 c99b: 8d 3f 26 STA $263f c99e: a5 fe LDA $fe c9a0: 48 PHA c9a1: a5 fc LDA $fc c9a3: 29 0f AND #$0f c9a5: 85 fe STA $fe c9a7: a5 e1 LDA $e1 c9a9: 20 0e ca JSR $ca0e c9ac: f0 24 BEQ $c9d2 c9ae: 18 CLC c9af: a9 08 LDA #$08 c9b1: 65 f0 ADC $f0 c9b3: 85 f0 STA $f0 c9b5: 62 CLA c9b6: 65 f1 ADC $f1 c9b8: 85 f1 STA $f1 c9ba: a5 e2 LDA $e2 c9bc: 20 0e ca JSR $ca0e c9bf: f0 11 BEQ $c9d2 c9c1: 18 CLC c9c2: a9 08 LDA #$08 c9c4: 65 f0 ADC $f0 c9c6: 85 f0 STA $f0 c9c8: 62 CLA c9c9: 65 f1 ADC $f1 c9cb: 85 f1 STA $f1 c9cd: a5 e3 LDA $e3 c9cf: 20 0e ca JSR $ca0e c9d2: 68 PLA c9d3: 85 fe STA $fe c9d5: 68 PLA c9d6: 85 f1 STA $f1 c9d8: 68 PLA c9d9: 85 f0 STA $f0 c9db: fa PLX c9dc: e8 INX c9dd: e8 INX c9de: e0 18 CPX #$18 c9e0: f0 25 BEQ $ca07 c9e2: ee 40 26 INC $2640 c9e5: f0 20 BEQ $ca07 c9e7: ad 40 26 LDA $2640 c9ea: 29 07 AND #$07 c9ec: d0 10 BNE $c9fe c9ee: 18 CLC c9ef: a9 f9 LDA #$f9 c9f1: 65 f0 ADC $f0 c9f3: 85 f0 STA $f0 c9f5: a9 01 LDA #$01 c9f7: 65 f1 ADC $f1 c9f9: 85 f1 STA $f1 c9fb: 4c 26 c9 JMP $c926 c9fe: e6 f0 INC $f0 ca00: d0 02 BNE $ca04 ca02: e6 f1 INC $f1 ca04: 4c 26 c9 JMP $c926 ca07: a9 ff LDA #$ff ca09: 85 de STA $de ca0b: 85 df STA $df ca0d: 60 RTS ca0e: 85 dc STA $dc ca10: 49 ff EOR #$ff ca12: 85 dd STA $dd ca14: a9 00 LDA #$00 ca16: 85 f7 STA $f7 ca18: 03 00 ST0 #$00 ca1a: a6 f0 LDX $f0 ca1c: 8e 02 00 STX $0002 ca1f: a4 f1 LDY $f1 ca21: 8c 03 00 STY $0003 ca24: a9 01 LDA #$01 ca26: 85 f7 STA $f7 ca28: 03 01 ST0 #$01 ca2a: 8e 02 00 STX $0002 ca2d: 8c 03 00 STY $0003 ca30: a9 02 LDA #$02 ca32: 85 f7 STA $f7 ca34: 03 02 ST0 #$02 ca36: ad 02 00 LDA $0002 ca39: 25 dd AND $dd ca3b: 0f fe 02 BBR0 $fe, $ca40 ca3e: 05 dc ORA $dc ca40: aa TAX ca41: ad 03 00 LDA $0003 ca44: 25 dd AND $dd ca46: 1f fe 02 BBR1 $fe, $ca4b ca49: 05 dc ORA $dc ca4b: a0 02 LDY #$02 ca4d: 84 f7 STY $f7 ca4f: 03 02 ST0 #$02 ca51: 8e 02 00 STX $0002 ca54: 8d 03 00 STA $0003 ca57: 18 CLC ca58: a9 08 LDA #$08 ca5a: 65 f0 ADC $f0 ca5c: 85 f0 STA $f0 ca5e: 62 CLA ca5f: 65 f1 ADC $f1 ca61: 85 f1 STA $f1 ca63: a9 00 LDA #$00 ca65: 85 f7 STA $f7 ca67: 03 00 ST0 #$00 ca69: a6 f0 LDX $f0 ca6b: 8e 02 00 STX $0002 ca6e: a4 f1 LDY $f1 ca70: 8c 03 00 STY $0003 ca73: a9 01 LDA #$01 ca75: 85 f7 STA $f7 ca77: 03 01 ST0 #$01 ca79: 8e 02 00 STX $0002 ca7c: 8c 03 00 STY $0003 ca7f: a9 02 LDA #$02 ca81: 85 f7 STA $f7 ca83: 03 02 ST0 #$02 ca85: ad 02 00 LDA $0002 ca88: 25 dd AND $dd ca8a: 2f fe 02 BBR2 $fe, $ca8f ca8d: 05 dc ORA $dc ca8f: aa TAX ca90: ad 03 00 LDA $0003 ca93: 25 dd AND $dd ca95: 3f fe 02 BBR3 $fe, $ca9a ca98: 05 dc ORA $dc ca9a: a0 02 LDY #$02 ca9c: 84 f7 STY $f7 ca9e: 03 02 ST0 #$02 caa0: 8e 02 00 STX $0002 caa3: 8d 03 00 STA $0003 caa6: 18 CLC caa7: ad 3f 26 LDA $263f caaa: 69 08 ADC #$08 caac: 8d 3f 26 STA $263f caaf: 29 f8 AND #$f8 cab1: 60 RTS ; ; VI_GETADRS ; args : _al -> Y coordinnate ; _ah -> X coordinnate ; returns : ; _ax -> a certain adress ; _bh -> a certain bit ; ; could it return the address and bit of a given pixel ? ; cab2: a5 f8 LDA $f8 cab4: 4a LSR a cab5: 4a LSR a cab6: 4a LSR a cab7: aa TAX ; X = (_al) / 8 cab8: a5 f8 LDA $f8 caba: 29 07 AND #$07 cabc: 18 CLC cabd: 6d 16 26 ADC $2616 cac0: 85 f0 STA $f0 ; ($f0) = ($2616) + (_al) % 8 cac2: bd 08 c0 LDA $c008, X cac5: 6d 17 26 ADC $2617 cac8: 85 f1 STA $f1 ; ($f1) = ($2617) + (_al) * 16 (to check) caca: a5 f9 LDA $f9 cacc: 29 f8 AND #$f8 cace: 0a ASL a ; A = ((_ah) & 0xf8) * 2 cacf: 64 ec STZ $ec cad1: 26 ec ROL $ec cad3: 65 f0 ADC $f0 cad5: 85 f0 STA $f0 cad7: a5 f1 LDA $f1 cad9: 65 ec ADC $ec cadb: 85 f1 STA $f1 cadd: a5 f9 LDA $f9 cadf: 29 07 AND #$07 cae1: 8d 39 26 STA $2639 ; ($2639) = (_ah) % 8 cae4: aa TAX cae5: bd 00 c0 LDA $c000, X ; A = 2 ** (7-X) cae8: 86 fb STX $fb ; (_bl) = 2 ** (7 - (_al % 8)) caea: a5 f0 LDA $f0 caec: 85 f8 STA $f8 ; (_al) = ($f0) caee: a5 f1 LDA $f1 caf0: 85 f9 STA $f9 ; (_ah) = ($f1) caf2: 60 RTS ; ; VI_INIT ; seems to backup (_AX) and (_BX) values to be restored in GRP_FUNC2 ; also backup (_dh)... ; caf3: a5 f8 LDA $f8 caf5: 29 e0 AND #$e0 caf7: 8d 16 26 STA $2616 ; ($2616) = (_al) & 0xe0 cafa: a5 f9 LDA $f9 cafc: 8d 17 26 STA $2617 ; ($2617) = (_ah) caff: a5 fa LDA $fa cb01: 85 e4 STA $e4 ; ($e4) = (_bl) cb03: a5 fb LDA $fb cb05: 85 e5 STA $e5 ; ($e5) = (_bh) ; notice that VI_INIT continue with VI_CASHINIT code ... ; ; VI_CASHINIT ; cb07: a9 ff LDA #$ff cb09: 85 de STA $de ; ($de) = (_dh) cb0b: 85 df STA $df ; ($df) = (_dh) cb0d: 60 RTS ; ; GRP_FUNCD ; cb0e: a5 f8 LDA $f8 cb10: 8d 18 26 STA $2618 ; ($2618) = (_al) cb13: 60 RTS ; ; GRP_FUNCC ; cb14: a5 f8 LDA $f8 cb16: 4a LSR a cb17: 4a LSR a cb18: 4a LSR a cb19: aa TAX ; X = (_al) / 8 cb1a: a5 f8 LDA $f8 cb1c: 29 07 AND #$07 cb1e: 18 CLC cb1f: 6d 16 26 ADC $2616 cb22: 85 f0 STA $f0 ; ($f0) = ($2616) + ((_al) % 8) cb24: bd 08 c0 LDA $c008, X cb27: 6d 17 26 ADC $2617 cb2a: 85 f1 STA $f1 cb2c: a5 f9 LDA $f9 cb2e: 29 f8 AND #$f8 cb30: 0a ASL a cb31: 64 ec STZ $ec cb33: 26 ec ROL $ec cb35: 65 f0 ADC $f0 cb37: 85 f0 STA $f0 cb39: a5 f1 LDA $f1 cb3b: 65 ec ADC $ec cb3d: 85 f1 STA $f1 cb3f: a5 f9 LDA $f9 cb41: 29 07 AND #$07 cb43: 8d 39 26 STA $2639 cb46: aa TAX cb47: bd 00 c0 LDA $c000, X ; A = 2 ** (7-X) cb4a: 62 CLA cb4b: 20 72 e0 JSR $e072 ; EX_IMODE cb4e: ad 42 22 LDA $2242 cb51: 29 30 AND #$30 cb53: 4a LSR a cb54: 4a LSR a cb55: 4a LSR a cb56: 4a LSR a cb57: aa TAX cb58: bd 28 c0 LDA $c028, X cb5b: 8d 3f 26 STA $263f cb5e: 8e 40 26 STX $2640 cb61: 46 f1 LSR $f1 cb63: 66 f0 ROR $f0 cb65: 46 f1 LSR $f1 cb67: 66 f0 ROR $f0 cb69: 46 f1 LSR $f1 cb6b: 66 f0 ROR $f0 cb6d: 46 f1 LSR $f1 cb6f: 66 f0 ROR $f0 cb71: a5 fe LDA $fe cb73: 0a ASL a cb74: 0a ASL a cb75: 0a ASL a cb76: 0a ASL a cb77: 05 f1 ORA $f1 cb79: 85 f1 STA $f1 cb7b: a5 fa LDA $fa cb7d: 29 7f AND #$7f cb7f: 64 ec STZ $ec cb81: ae 40 26 LDX $2640 cb84: e0 03 CPX #$03 cb86: f0 01 BEQ $cb89 cb88: e8 INX cb89: 4a LSR a cb8a: 66 ec ROR $ec cb8c: ca DEX cb8d: d0 fa BNE $cb89 cb8f: 85 ed STA $ed cb91: a5 fb LDA $fb cb93: 29 3f AND #$3f cb95: 05 ec ORA $ec cb97: 85 ec STA $ec cb99: a6 fd LDX $fd cb9b: a4 fc LDY $fc cb9d: a5 f0 LDA $f0 cb9f: 85 ee STA $ee cba1: a5 f1 LDA $f1 cba3: 85 ef STA $ef cba5: a9 00 LDA #$00 cba7: 85 f7 STA $f7 cba9: 03 00 ST0 #$00 cbab: a5 ec LDA $ec cbad: 8d 02 00 STA $0002 cbb0: a5 ed LDA $ed cbb2: 8d 03 00 STA $0003 cbb5: a9 02 LDA #$02 cbb7: 85 f7 STA $f7 cbb9: 03 02 ST0 #$02 cbbb: da PHX cbbc: a5 ee LDA $ee cbbe: 8d 02 00 STA $0002 cbc1: a5 ef LDA $ef cbc3: 8d 03 00 STA $0003 cbc6: e6 ee INC $ee cbc8: d0 02 BNE $cbcc cbca: e6 ef INC $ef cbcc: ca DEX cbcd: d0 ed BNE $cbbc cbcf: fa PLX cbd0: 18 CLC cbd1: a9 20 LDA #$20 cbd3: 65 f0 ADC $f0 cbd5: 85 f0 STA $f0 cbd7: 62 CLA cbd8: 65 f1 ADC $f1 cbda: 85 f1 STA $f1 cbdc: 18 CLC cbdd: ad 3f 26 LDA $263f cbe0: 65 ec ADC $ec cbe2: 85 ec STA $ec cbe4: 62 CLA cbe5: 65 ed ADC $ed cbe7: 85 ed STA $ed cbe9: 88 DEY cbea: d0 b1 BNE $cb9d cbec: 60 RTS ; ; VI_STRTADR ; seems to restore value for (_AX) and (_BX) that were previously backuped in GRP_FUNC0 ; could in fact return the current value for the paint stack and graphic ; start address ; args : nothing ; return : ; _ax -> graphic start address ; _bx -> paint stack cbed: ad 16 26 LDA $2616 cbf0: 85 f8 STA $f8 ; (_al) = ($2616) cbf2: ad 17 26 LDA $2617 cbf5: 85 f9 STA $f9 ; (_ah) = ($2617) cbf7: a5 e4 LDA $e4 cbf9: 85 fa STA $fa ; (_bl) = ($e4) cbfb: a5 e5 LDA $e5 cbfd: 85 fb STA $fb ; (_bh) = ($e5) cbff: 60 RTS ; ; func7, seems to swap if necessary _ah and _bh so that _ah < _bh (or the contrary) ; cc00: a5 f9 LDA $f9 cc02: c5 fb CMP $fb cc04: 90 07 BCC $cc0d cc06: aa TAX cc07: a5 fb LDA $fb cc09: 85 f9 STA $f9 cc0b: 86 fb STX $fb cc0d: 60 RTS ; ; func8, seems to swap if necessay _al and _bl so that _al < _bl (or the contrary) ; cc0e: a5 f8 LDA $f8 cc10: c5 fa CMP $fa cc12: 90 07 BCC $cc1b cc14: aa TAX cc15: a5 fa LDA $fa cc17: 85 f8 STA $f8 cc19: 86 fa STX $fa cc1b: 60 RTS cc1c: a5 f9 LDA $f9 cc1e: 48 PHA cc1f: a5 f8 LDA $f8 cc21: 48 PHA cc22: a5 fe LDA $fe cc24: 48 PHA cc25: a5 fd LDA $fd cc27: 48 PHA cc28: a5 fc LDA $fc cc2a: 48 PHA cc2b: 64 ff STZ $ff cc2d: ad 18 26 LDA $2618 cc30: 29 04 AND #$04 cc32: d0 1f BNE $cc53 cc34: ad 18 26 LDA $2618 cc37: 29 03 AND #$03 cc39: f0 02 BEQ $cc3d cc3b: e6 ff INC $ff cc3d: a5 fb LDA $fb cc3f: 85 f9 STA $f9 cc41: a5 fa LDA $fa cc43: 85 f8 STA $f8 cc45: a9 19 LDA #$19 cc47: 85 fa STA $fa cc49: a9 26 LDA #$26 cc4b: 85 fb STA $fb cc4d: 20 60 e0 JSR $e060 cc50: aa TAX cc51: 80 0d BRA $cc60 cc53: a2 20 LDX #$20 cc55: c2 CLY cc56: b1 fa LDA ($fa), Y cc58: 99 19 26 STA $2619, Y cc5b: c8 INY cc5c: ca DEX cc5d: d0 f7 BNE $cc56 cc5f: 82 CLX cc60: 68 PLA cc61: 85 fc STA $fc cc63: 68 PLA cc64: 85 fd STA $fd cc66: 68 PLA cc67: 85 fe STA $fe cc69: 68 PLA cc6a: 85 f8 STA $f8 cc6c: 68 PLA cc6d: 85 f9 STA $f9 cc6f: 8a TXA cc70: 60 RTS cc71: a9 00 LDA #$00 cc73: 85 f8 STA $f8 cc75: a9 10 LDA #$10 cc77: 85 f9 STA $f9 cc79: a9 00 LDA #$00 cc7b: 85 fa STA $fa cc7d: a9 3f LDA #$3f cc7f: 85 fb STA $fb cc81: 20 f3 ca JSR $caf3 cc84: 62 CLA cc85: 20 72 e0 JSR $e072 cc88: a9 00 LDA #$00 cc8a: 85 f9 STA $f9 cc8c: a9 00 LDA #$00 cc8e: 85 f8 STA $f8 cc90: a9 00 LDA #$00 cc92: 85 fb STA $fb cc94: a9 00 LDA #$00 cc96: 85 fa STA $fa cc98: a9 00 LDA #$00 cc9a: 85 fe STA $fe cc9c: a9 20 LDA #$20 cc9e: 85 fd STA $fd cca0: a9 20 LDA #$20 cca2: 85 fc STA $fc cca4: a9 07 LDA #$07 cca6: 20 14 cb JSR $cb14 cca9: 20 29 c5 JSR $c529 ccac: 43 20 TMA #$20 ccae: 48 PHA ccaf: a9 1f LDA #$1f ccb1: 53 20 TAM #$20 ccb3: a9 00 LDA #$00 ccb5: 85 f8 STA $f8 ccb7: 20 0e cb JSR $cb0e ccba: a9 20 LDA #$20 ccbc: 8d be 22 STA $22be ccbf: c2 CLY ccc0: 9c bd 22 STZ $22bd ccc3: a9 e1 LDA #$e1 ccc5: 85 ec STA $ec ccc7: a9 da LDA #$da ccc9: 38 SEC ccca: e9 20 SBC #$20 cccc: 85 ed STA $ed ccce: ad bd 22 LDA $22bd ccd1: 85 f9 STA $f9 ccd3: ad be 22 LDA $22be ccd6: 85 f8 STA $f8 ccd8: a9 0f LDA #$0f ccda: 85 fe STA $fe ccdc: a9 00 LDA #$00 ccde: 85 fc STA $fc cce0: b1 ec LDA ($ec), Y cce2: f0 1c BEQ $cd00 cce4: c9 ff CMP $ff cce6: f0 24 BEQ $cd0c cce8: c8 INY cce9: 85 fb STA $fb cceb: b1 ec LDA ($ec), Y cced: 85 fa STA $fa ccef: c8 INY ccf0: 5a PHY ccf1: 20 f4 c7 JSR $c7f4 ccf4: 7a PLY ccf5: ad bd 22 LDA $22bd ccf8: 18 CLC ccf9: 69 10 ADC #$10 ccfb: 8d bd 22 STA $22bd ccfe: 80 c3 BRA $ccc3 cd00: c8 INY cd01: ad be 22 LDA $22be cd04: 18 CLC cd05: 69 20 ADC #$20 cd07: 8d be 22 STA $22be cd0a: 80 b4 BRA $ccc0 cd0c: 68 PLA cd0d: 53 20 TAM #$20 cd0f: 60 RTS ; ; MA_MUL8S main routine ; cd10: a5 f8 LDA $f8 ; A = (_al) cd12: c2 CLY cd13: 89 80 BIT #$80 cd15: f0 04 BEQ $cd1b ; if A >= 0, A = -A; Y = 1 cd17: 49 ff EOR #$ff cd19: 1a INC a cd1a: c8 INY cd1b: aa TAX ; X = abs( (_al) ) cd1c: a5 fa LDA $fa ; A = (_ah) cd1e: 89 80 BIT #$80 cd20: f0 04 BEQ $cd26 ; if A >= 0, A = -A; Y ++ cd22: 49 ff EOR #$ff cd24: 1a INC a cd25: c8 INY cd26: 22 SAX cd27: 5a PHY cd28: 44 14 BSR $cd3e ; call MA_MUL8U_without_arg_loading ; A and X are the two arg ; Y parity explain the need for negating the result ; odd = need to negate, even = no need cd2a: 68 PLA ; get the old value of Y cd2b: 6a ROR a cd2c: 90 0b BCC $cd39 ; if need to negate, subtract one to the result in (_CX) cd2e: 62 CLA cd2f: 38 SEC cd30: e5 fc SBC $fc cd32: 85 fc STA $fc cd34: 62 CLA cd35: e5 fd SBC $fd cd37: 85 fd STA $fd cd39: 60 RTS ; ; MA_MUL8U main routine ; cd3a: a5 f8 LDA $f8 cd3c: a6 fa LDX $fa MA_MUL8U_without_arg_loading: ; used in MA_MUL8S once cd3e: 85 fc STA $fc cd40: 62 CLA cd41: a0 08 LDY #$08 cd43: 0a ASL a cd44: 22 SAX cd45: 2a ROL a cd46: 22 SAX cd47: 90 06 BCC $cd4f cd49: 18 CLC cd4a: 65 fc ADC $fc cd4c: 90 01 BCC $cd4f cd4e: e8 INX cd4f: 88 DEY cd50: d0 f1 BNE $cd43 cd52: 86 fd STX $fd cd54: 85 fc STA $fc cd56: 60 RTS ; ; Unknown entry point ; Very certainly MA_MUL16S cd57: c2 CLY cd58: 7f f9 0c BBR7 $f9, $cd67 ; check sign of (_AX) cd5b: 62 CLA cd5c: 38 SEC cd5d: e5 f8 SBC $f8 cd5f: 85 f8 STA $f8 cd61: 62 CLA cd62: e5 f9 SBC $f9 cd64: 85 f9 STA $f9 cd66: c8 INY cd67: 7f fb 0c BBR7 $fb, $cd76 ; check sign of (_BX) cd6a: 62 CLA cd6b: 38 SEC cd6c: e5 fa SBC $fa cd6e: 85 fa STA $fa cd70: 62 CLA cd71: e5 fb SBC $fb cd73: 85 fb STA $fb cd75: c8 INY cd76: 44 1a BSR $cd92 ; call MA_MUL16U ; parity of Y indicating if we must negate the result cd78: 98 TYA cd79: 6a ROR a cd7a: 90 15 BCC $cd91 cd7c: 62 CLA cd7d: 38 SEC cd7e: e5 fc SBC $fc cd80: 85 fc STA $fc cd82: 62 CLA cd83: e5 fd SBC $fd cd85: 85 fd STA $fd ; subtracting one to the result cd87: 62 CLA cd88: e5 fe SBC $fe cd8a: 85 fe STA $fe cd8c: 62 CLA cd8d: e5 ff SBC $ff cd8f: 85 ff STA $ff cd91: 60 RTS ; ; MA_MUL16U main routine ; cd92: 64 fc STZ $fc cd94: 64 fd STZ $fd cd96: 64 fe STZ $fe cd98: 64 ff STZ $ff cd9a: a5 f8 LDA $f8 cd9c: 85 ec STA $ec cd9e: a5 f9 LDA $f9 cda0: 85 ed STA $ed cda2: a2 10 LDX #$10 cda4: 66 ed ROR $ed cda6: 66 ec ROR $ec cda8: 90 0d BCC $cdb7 cdaa: 18 CLC cdab: a5 fe LDA $fe cdad: 65 fa ADC $fa ; (_bl) += (_dl) cdaf: 85 fe STA $fe cdb1: a5 ff LDA $ff cdb3: 65 fb ADC $fb cdb5: 85 ff STA $ff cdb7: 66 ff ROR $ff cdb9: 66 fe ROR $fe cdbb: 66 fd ROR $fd cdbd: 66 fc ROR $fc cdbf: ca DEX cdc0: d0 e2 BNE $cda4 cdc2: 60 RTS ; ; MA_CBASIS (not real name) ; ; in fact, convert the value in (_al) in base coded by (_bl) ; resulting in lower digit set in (_cl) and higher in (_dl) ; in case 2 digits are not enough for the convertion, (_dl) is wrong ; but the result remains : (_al) = (_cl) + (_dl) * (_bl) ; ; args : _al -> value to convert ; _bl -> new basis ; returns lower digit of the new representation of the value of (_al) in (_cl) ; higher digit (which may be false in case of overflow) in (_dl) cdc3: 82 CLX ; X = 0 cdc4: a0 08 LDY #$08 ; Y = 8 cdc6: a5 f8 LDA $f8 ; A = (_al) cdc8: 0a ASL a ; A <<= 1 cdc9: 22 SAX ; A <-> X cdca: 2a ROL a ; A <<= 1 cdcb: c5 fa CMP $fa cdcd: 90 03 BCC $cdd2 ; if A < (_bl), (_bl) -= A and X++ cdcf: e5 fa SBC $fa cdd1: e8 INX cdd2: 22 SAX ; A <-> X cdd3: 88 DEY cdd4: d0 f2 BNE $cdc8 ; while (Y) ; which make it happen 8 times cdd6: 85 fc STA $fc ; (_cl) = A cdd8: 86 fe STX $fe ; (_dl) = X cdda: 60 RTS ; ; MA_DIV16U ; cddb: a5 f9 LDA $f9 cddd: 08 PHP cdde: 85 fd STA $fd cde0: 45 fb EOR $fb cde2: 08 PHP cde3: a5 f8 LDA $f8 cde5: 85 fc STA $fc cde7: a5 f9 LDA $f9 cde9: 10 0b BPL $cdf6 cdeb: 38 SEC cdec: 62 CLA cded: e5 f8 SBC $f8 cdef: 85 fc STA $fc cdf1: 62 CLA cdf2: e5 f9 SBC $f9 cdf4: 85 fd STA $fd cdf6: a5 fa LDA $fa cdf8: 85 ec STA $ec cdfa: a5 fb LDA $fb cdfc: 85 ed STA $ed cdfe: 10 0b BPL $ce0b ce00: 38 SEC ce01: 62 CLA ce02: e5 fa SBC $fa ce04: 85 ec STA $ec ce06: 62 CLA ce07: e5 fb SBC $fb ce09: 85 ed STA $ed ce0b: 06 fc ASL $fc ce0d: 26 fd ROL $fd ce0f: 44 3a BSR $ce4b ce11: 28 PLP ce12: 10 0b BPL $ce1f ce14: 38 SEC ce15: 62 CLA ce16: e5 fc SBC $fc ce18: 85 fc STA $fc ce1a: 62 CLA ce1b: e5 fd SBC $fd ce1d: 85 fd STA $fd ce1f: 28 PLP ce20: 10 0b BPL $ce2d ce22: 38 SEC ce23: 62 CLA ce24: e5 fe SBC $fe ce26: 85 fe STA $fe ce28: 62 CLA ce29: e5 ff SBC $ff ce2b: 85 ff STA $ff ce2d: 60 RTS ; ; MA_DIV16S ; ce2e: a5 fa LDA $fa ce30: 05 fb ORA $fb ce32: d0 05 BNE $ce39 ; if !(_AX), exits with 0 as return value ce34: 64 fc STZ $fc ce36: 64 fd STZ $fd ce38: 60 RTS ; from here, (_AX) != 0 ce39: a5 fa LDA $fa ce3b: 85 ec STA $ec ; ($ec-$ed) = (_BX) ce3d: a5 fb LDA $fb ce3f: 85 ed STA $ed ce41: a5 f8 LDA $f8 ce43: 0a ASL a ce44: 85 fc STA $fc ; (_CX) = (_AX) * 2 ce46: a5 f9 LDA $f9 ce48: 2a ROL a ce49: 85 fd STA $fd ce4b: 64 fe STZ $fe ce4d: 64 ff STZ $ff ce4f: a2 10 LDX #$10 ce51: 26 fe ROL $fe ce53: 26 ff ROL $ff ce55: a5 ff LDA $ff ce57: c5 ed CMP $ed ce59: d0 04 BNE $ce5f ce5b: a5 fe LDA $fe ce5d: c5 ec CMP $ec ce5f: 90 0c BCC $ce6d ce61: a5 fe LDA $fe ce63: e5 ec SBC $ec ce65: 85 fe STA $fe ce67: a5 ff LDA $ff ce69: e5 ed SBC $ed ce6b: 85 ff STA $ff ce6d: 26 fc ROL $fc ce6f: 26 fd ROL $fd ce71: ca DEX ce72: d0 dd BNE $ce51 ce74: 60 RTS ; ; MA_SQRT ; ce75: 64 ed STZ $ed ce77: 64 ee STZ $ee ce79: 64 ef STZ $ef ce7b: 64 f0 STZ $f0 ce7d: 64 fc STZ $fc ce7f: a5 f9 LDA $f9 ce81: 85 ec STA $ec ; ($ec) = (_ah) ce83: 44 04 BSR $ce89 ; make computations ... ce85: a5 f8 LDA $f8 ce87: 85 ec STA $ec ; ($ec) = (_al) ; and make the same computations ce89: a0 04 LDY #$04 ; loop 4 times ce8b: 06 fc ASL $fc ce8d: 06 ef ASL $ef ce8f: 26 f0 ROL $f0 ce91: 06 ec ASL $ec ce93: 26 ed ROL $ed ce95: 26 ee ROL $ee ce97: 06 ec ASL $ec ce99: 26 ed ROL $ed ce9b: 26 ee ROL $ee ce9d: e6 ef INC $ef ce9f: a5 ed LDA $ed cea1: 38 SEC cea2: e5 ef SBC $ef cea4: a5 ee LDA $ee cea6: e5 f0 SBC $f0 cea8: b0 04 BCS $ceae ceaa: c6 ef DEC $ef ceac: 80 11 BRA $cebf ceae: a5 ed LDA $ed ceb0: 38 SEC ceb1: e5 ef SBC $ef ceb3: 85 ed STA $ed ceb5: a5 ee LDA $ee ceb7: e5 f0 SBC $f0 ceb9: 85 ee STA $ee cebb: e6 ef INC $ef cebd: e6 fc INC $fc cebf: 88 DEY cec0: d0 c9 BNE $ce8b ; result could be in (_CX) cec2: 60 RTS ; ; MA_COS ; args : A -> argument (in 0-86) ; returns the cos of the arg (in 0-255) ; ; This function simply convert the arg then "call" MA_SIN ; COS(A) = SIN(pi/2 - A) ; cec3: 49 ff EOR #$ff cec5: 38 SEC cec6: 69 5a ADC #$5a cec8: c9 57 CMP $57 ceca: b0 05 BCS $ced1 ; ; MA_SIN ; args : A -> argument (in 0-86) ; returns the sine of the arg (in 0-255) cecc: aa TAX cecd: bd dd ce LDA $cedd, X ; A = sin(X) [result is in 0-255 and arg is in 0-86 or such] ced0: 18 CLC ced1: 60 RTS ; ; MA_ATNI ; ced2: 66 f9 ROR $f9 ced4: 66 f8 ROR $f8 ced6: 66 f8 ROR $f8 ced8: 8a TXA ced9: bd 37 cf LDA $cf37, X cedc: 60 RTS ; ; after extraction, convertion and plotting, this seems to be a classic sine ; value array ; cedd: 00 .db $00 cede: 04 .db $04 cedf: 09 .db $09 cde0: 0d .db $0d cee1: 12 .db $12 cee2: 16 .db $16 cee3: 1b .db $1b cee4: 1f .db $1f cee5: 24 .db $24 cee6: 28 .db $28 cee7: 2c .db $2c cee8: 31 .db $31 cee9: 35 .db $35 ceea: 3a .db $3a ceeb: 3e .db $3e ceec: 42 .db $42 ceed: 47 .db $47 ceee: 4b .db $4b ceef: 4f .db $4f cef0: 53 .db $53 ced1: 58 .db $58 cef2: 5c .db $5c cef3: 60 .db $60 cef4: 64 .db $64 cef5: 68 .db $68 cef6: 6c .db $6c cef7: 70 .db $70 cef8: 74 .db $74 cef9: 78 .db $78 cefa: 7c .db $7c cefb: 80 .db $80 cefc: 84 .db $84 cefd: 88 .db $88 cefe: 8b .db $8b ceff: 8f .db $8f cf00: 93 .db $93 cf01: 96 .db $96 cf02: 9a .db $9a cf03: 9e .db $9e cf04: a1 .db $a1 cd05: a5 .db $a5 cf06: a8 .db $a8 cf07: ab .db $ab cf08: af .db $af cf09: b2 .db $b2 cf0a: b5 .db $b5 cf0b: b8 .db $b8 cf0c: bb .db $bb cf0d: be .db $be cf0e: c1 .db $c1 cf0f: c4 .db $c4 cf10: c7 .db $c7 cf11: ca .db $ca cf12: cc .db $cc cf13: cf .db $cf cf14: d2 .db $d2 cf15: d4 .db $d4 cf16: d7 .db $d7 cf17: d9 .db $d9 cf18: db .db $db cf19: de .db $de cf1a: e0 .db $e0 cf1b: e2 .db $e2 cf1c: e4 .db $e4 cf1d: e6 .db $e6 cf1e: e8 .db $e8 cf1f: ea .db $ea cf20: ec .db $ec cf21: ed .db $ed cf22: ef .db $ef cf23: f1 .db $f1 cf24: f2 .db $f2 cf25: f3 .db $f3 cf26: f5 .db $f5 cf27: f6 .db $f6 cf28: f7 .db $f7 cf29: f8 .db $f8 cf2a: f9 .db $f9 cf2b: fa .db $fa cf2c: fb .db $fb cf2d: fc .db $fc cf2e: fd .db $fd cf2f: fe .db $fe cf30: fe .db $fe cf31: ff .db $ff cf32: ff .db $ff cf32: ff .db $ff cf34: 00 00 BRK #$00 cf36: 00 .db $00 ; ; certainly a ATAN array value ; cf37: 00 .db $00 cf38: 01 02 ORA ($02, X) cf3a: 03 04 ST0 #$04 cf3c: 04 05 TSB $05 cf3e: 06 07 ASL $07 cf40: 08 PHP cf41: 09 0a ORA #$0a cf43: 0b ??? cf44: 0b ??? cf45: 0c 0d 0e TSB $0e0d cf48: 0f 10 11 BBR0 $10, $cf5c cf4b: 11 12 ORA ($12), Y cf4d: 13 14 ST1 #$14 cf4f: 15 15 ORA $15, X cf51: 16 17 ASL $17, X cf53: 18 CLC cf54: 18 CLC cf55: 19 1a 1b ORA $1b1a, Y cf58: 1b ??? cf59: 1c 1d 1d TRB $1d1d cf5c: 1e 1f 1f ASL $1f1f, X cf5f: 20 21 21 JSR $2121 cf62: 22 SAX cf63: 23 23 ST2 #$23 cf65: 24 24 BIT $24 cf67: 25 25 AND $25 cf69: 26 27 ROL $27 cf6b: 27 28 RMB2 $28 cf6d: 28 PLP cf6e: 29 29 AND #$29 cf70: 2a ROL a cf71: 2a ROL a cf72: 2b ??? cf73: 2b ??? cf74: 2c 2c 2d BIT $2d2c cf77: 2d 20 5b AND $5b20 cf7a: d3 20 7b e0 20 9a cf TIN $7b20, $20e0, $cf9a cf81: 20 c9 d6 JSR $d6c9 cf84: 20 ae d8 JSR $d8ae cf87: 20 a2 e0 JSR $e0a2 cf8a: 20 e2 d7 JSR $d7e2 cf8d: 20 9f e0 JSR $e09f cf90: ad 2f 28 LDA $282f cf93: c9 ff CMP $ff cf95: d0 e4 BNE $cf7b cf97: 4c 00 e0 JMP $e000 cf9a: 82 CLX cf9b: bd 28 22 LDA $2228, X cf9e: 9d 38 28 STA $2838, X cfa1: d0 05 BNE $cfa8 cfa3: 9e 3d 28 STZ $283d, X cfa6: 80 11 BRA $cfb9 cfa8: bd 3d 28 LDA $283d, X cfab: d0 07 BNE $cfb4 cfad: a9 1c LDA #$1c cfaf: 9d 3d 28 STA $283d, X cfb2: 80 0f BRA $cfc3 cfb4: de 3d 28 DEC $283d, X cfb7: f0 05 BEQ $cfbe cfb9: 9e 38 28 STZ $2838, X cfbc: 80 05 BRA $cfc3 cfbe: a9 04 LDA #$04 cfc0: 9d 3d 28 STA $283d, X cfc3: e8 INX cfc4: e0 05 CPX #$05 cfc6: 90 d3 BCC $cf9b cfc8: 60 RTS cfc9: 85 f8 STA $f8 cfcb: 20 49 d3 JSR $d349 cfce: ad 2e 28 LDA $282e cfd1: c9 ff CMP $ff cfd3: f0 06 BEQ $cfdb cfd5: c5 f8 CMP $f8 cfd7: f0 02 BEQ $cfdb cfd9: b0 05 BCS $cfe0 cfdb: a5 f8 LDA $f8 cfdd: 4c 47 d0 JMP $d047 cfe0: a5 f8 LDA $f8 cfe2: 48 PHA cfe3: 1a INC a cfe4: 85 f8 STA $f8 cfe6: a9 20 LDA #$20 cfe8: 85 fa STA $fa cfea: a9 28 LDA #$28 cfec: 85 fb STA $fb cfee: 20 57 e0 JSR $e057 cff1: 73 fa 20 f8 20 02 00 TII $20fa, $20f8, $0002 cff8: a9 ec LDA #$ec cffa: 85 fa STA $fa cffc: a9 20 LDA #$20 cffe: 85 fb STA $fb d000: a9 01 LDA #$01 d002: 85 fc STA $fc d004: 64 fd STZ $fd d006: 64 fe STZ $fe d008: 64 ff STZ $ff d00a: 20 4e e0 JSR $e04e d00d: c9 00 CMP $00 d00f: f0 0a BEQ $d01b d011: a9 7f LDA #$7f d013: 8d 06 28 STA $2806 d016: a9 02 LDA #$02 d018: 8d 07 28 STA $2807 d01b: 82 CLX d01c: c2 CLY d01d: bd 22 28 LDA $2822, X d020: 99 08 28 STA $2808, Y d023: c8 INY d024: c8 INY d025: e8 INX d026: e0 0a CPX #$0a d028: 90 f3 BCC $d01d d02a: 68 PLA d02b: 85 f8 STA $f8 d02d: 1a INC a d02e: 20 26 d3 JSR $d326 d031: c2 CLY d032: a2 02 LDX #$02 d034: bd 20 28 LDA $2820, X d037: 18 CLC d038: 69 30 ADC #$30 d03a: 99 00 28 STA $2800, Y d03d: c8 INY d03e: c8 INY d03f: ca DEX d040: 10 f2 BPL $d034 d042: a5 f8 LDA $f8 d044: 4c 47 d0 JMP $d047 d047: 20 26 d3 JSR $d326 d04a: ad 21 28 LDA $2821 d04d: 29 01 AND #$01 d04f: a8 TAY d050: b9 6c d0 LDA $d06c, Y d053: 85 f8 STA $f8 d055: ac 20 28 LDY $2820 d058: b9 6e d0 LDA $d06e, Y d05b: 85 f9 STA $f9 d05d: a9 00 LDA #$00 d05f: 85 fa STA $fa d061: a9 28 LDA #$28 d063: 85 fb STA $fb d065: a9 0e LDA #$0e d067: 85 fc STA $fc d069: 4c e7 d2 JMP $d2e7 d06c: 01 11 ORA ($11, X) d06e: 08 PHP d06f: 0a ASL a d070: 0c 0e 10 TSB $100e d073: 12 14 ORA ($14) d075: 16 18 ASL $18, X d077: 1a INC a d078: 0a ASL a d079: a8 TAY d07a: b9 c2 d0 LDA $d0c2, Y d07d: 85 fe STA $fe d07f: b9 c3 d0 LDA $d0c3, Y d082: 85 ff STA $ff d084: c2 CLY d085: b1 fe LDA ($fe), Y d087: c9 ff CMP $ff d089: f0 36 BEQ $d0c1 d08b: 85 f8 STA $f8 d08d: c8 INY d08e: b1 fe LDA ($fe), Y d090: 85 f9 STA $f9 d092: c8 INY d093: b1 fe LDA ($fe), Y d095: 0a ASL a d096: 85 fc STA $fc d098: c8 INY d099: b1 fe LDA ($fe), Y d09b: 85 fd STA $fd d09d: c8 INY d09e: 82 CLX d09f: b1 fe LDA ($fe), Y d0a1: 9d 00 28 STA $2800, X d0a4: c8 INY d0a5: e8 INX d0a6: a5 fd LDA $fd d0a8: 9d 00 28 STA $2800, X d0ab: e8 INX d0ac: e4 fc CPX $fc d0ae: 90 ef BCC $d09f d0b0: 46 fc LSR $fc d0b2: a9 00 LDA #$00 d0b4: 85 fa STA $fa d0b6: a9 28 LDA #$28 d0b8: 85 fb STA $fb d0ba: 5a PHY d0bb: 20 e7 d2 JSR $d2e7 d0be: 7a PLY d0bf: 80 c4 BRA $d085 d0c1: 60 RTS d0c2: e2 ??? d0c3: d0 f1 BNE $d0b6 d0c5: d0 02 BNE $d0c9 d0c7: d1 23 CMP ($23), Y d0c9: d1 34 CMP ($34), Y d0cb: d1 43 CMP ($43), Y d0cd: d1 4e CMP ($4e), Y d0cf: d1 fe CMP ($fe), Y d0d1: d1 0d CMP ($0d), Y d0d3: d2 18 CMP ($18) d0d5: d2 48 CMP ($48) d0d7: d2 7e CMP ($7e) d0d9: d2 8a CMP ($8a) d0db: d2 96 CMP ($96) d0dd: d2 a2 CMP ($a2) d0df: d2 ae CMP ($ae) d0e1: d2 0b CMP ($0b) d0e3: 03 0a ST0 #$0a d0e5: 02 SXY d0e6: 42 SAY d0e7: 41 43 EOR ($43, X) d0e9: 4b ??? d0ea: 55 50 EOR $50, X d0ec: 20 52 41 JSR $4152 d0ef: 4d ff 0e EOR $0eff d0f2: 0a ASL a d0f3: 04 03 TSB $03 d0f5: 08 PHP d0f6: 09 0c ORA #$0c d0f8: 0d 0e 0b ORA $0b0e d0fb: 04 03 TSB $03 d0fd: 0a ASL a d0fe: 0b ??? d0ff: 0e 0f ff ASL $ff0f d102: 0a ASL a d103: 0d 0c 03 ORA $030c d106: 10 11 BPL $d119 d108: 14 15 TRB $15 d10a: 18 CLC d10b: 19 1c 1d ORA $1d1c, Y d10e: 20 21 24 JSR $2421 d111: 25 0a AND $0a d113: 0e 0c 03 ASL $030c d116: 12 13 ORA ($13) d118: 16 17 ASL $17, X d11a: 1a INC a d11b: 1b ??? d11c: 1e 1f 22 ASL $221f, X d11f: 23 26 ST2 #$26 d121: 27 ff RMB2 $ff d123: 0e 10 04 ASL $0410 d126: 03 28 ST0 #$28 d128: 29 2c AND #$2c d12a: 2d 0e 11 AND $110e d12d: 04 03 TSB $03 d12f: 2a ROL a d130: 2b ??? d131: 2e 2f ff ROL $ff2f d134: 08 PHP d135: 03 0a ST0 #$0a d137: 02 SXY d138: 42 SAY d139: 41 43 EOR ($43, X) d13b: 4b ??? d13c: 55 50 EOR $50, X d13e: 20 52 41 JSR $4152 d141: 4d ff 13 EOR $13ff d144: 03 06 ST0 #$06 d146: 02 SXY d147: 46 4f LSR $4f d149: 52 4d EOR ($4d) d14b: 41 54 EOR ($54, X) d14d: ff 04 0a BBS7 $04, $d15a d150: 10 03 BPL $d155 d152: 30 31 BMI $d185 d154: 34 35 BIT $35, X d156: 38 SEC d157: 39 3c 3d AND $3d3c, Y d15a: 40 RTI d15b: 41 44 EOR ($44, X) d15d: 45 48 EOR $48 d15f: 49 4c EOR #$4c d161: 4d 04 0b EOR $0b04 d164: 10 03 BPL $d169 d166: 32 33 AND ($33) d168: 36 37 ROL $37, X d16a: 3a DEC a d16b: 3b ??? d16c: 3e 3f 42 ROL $423f, X d16f: 43 46 TMA #$46 d171: 47 4a RMB4 $4a d173: 4b ??? d174: 4e 4f 14 LSR $144f d177: 0a ASL a d178: 08 PHP d179: 03 34 ST0 #$34 d17b: 35 50 AND $50, X d17d: 51 48 EOR ($48), Y d17f: 49 18 EOR #$18 d181: 19 14 0b ORA $0b14, Y d184: 08 PHP d185: 03 36 ST0 #$36 d187: 37 52 RMB3 $52 d189: 53 4a TAM #$4a d18b: 4b ??? d18c: 1a INC a d18d: 1b ??? d18e: 04 0d TSB $0d d190: 10 03 BPL $d195 d192: 54 CSL d193: 55 58 EOR $58, X d195: 59 5c 5d EOR $5d5c, Y d198: 48 PHA d199: 49 60 EOR #$60 d19b: 61 64 ADC ($64, X) d19d: 65 68 ADC $68 d19f: 69 6c ADC #$6c d1a1: 6d 04 0e ADC $0e04 d1a4: 10 03 BPL $d1a9 d1a6: 56 57 LSR $57, X d1a8: 5a PHY d1a9: 5b ??? d1aa: 5e 5f 4a LSR $4a5f, X d1ad: 4b ??? d1ae: 62 CLA d1af: 63 ??? d1b0: 66 67 ROR $67 d1b2: 6a ROR a d1b3: 6b ??? d1b4: 6e 6f 14 ROR $146f d1b7: 0d 08 03 ORA $0308 d1ba: 70 71 BVS $d22d d1bc: 74 75 STZ $75, X d1be: 60 RTS d1bf: 61 5c ADC ($5c, X) d1c1: 5d 14 0e EOR $0e14, X d1c4: 08 PHP d1c5: 03 72 ST0 #$72 d1c7: 73 76 77 62 63 5e 5f TII $7776, $6362, $5f5e d1ce: 04 10 TSB $10 d1d0: 0e 03 78 ASL $7803 d1d3: 79 7c 7d ADC $7d7c, Y d1d6: 80 81 BRA $d159 d1d8: 84 85 STY $85 d1da: 88 DEY d1db: 89 60 BIT #$60 d1dd: 61 8c ADC ($8c, X) d1df: 8d 04 11 STA $1104 d1e2: 0e 03 7a ASL $7a03 d1e5: 7b ??? d1e6: 7e 7f 82 ROR $827f, X d1e9: 83 86 87 TST #$86, $87 d1ec: 8a TXA d1ed: 8b ??? d1ee: 62 CLA d1ef: 63 ??? d1f0: 8e 8f 0c STX $0c8f d1f3: 13 07 ST1 #$07 d1f5: 02 SXY d1f6: 59 45 53 EOR $5345, Y d1f9: 20 20 4e JSR $4e20 d1fc: 4f ff 08 BBR4 $ff, $d207 d1ff: 03 0a ST0 #$0a d201: 02 SXY d202: 42 SAY d203: 41 43 EOR ($43, X) d205: 4b ??? d206: 55 50 EOR $50, X d208: 20 52 41 JSR $4152 d20b: 4d ff 13 EOR $13ff d20e: 03 06 ST0 #$06 d210: 02 SXY d211: 44 45 BSR $d258 d213: 4c 45 54 JMP $5445 d216: 45 ff EOR $ff d218: 08 PHP d219: 05 0e ORA $0e d21b: 03 90 ST0 #$90 d21d: 91 94 STA ($94), Y d21f: 95 88 STA $88, X d221: 89 98 BIT #$98 d223: 99 9c 9d STA $9d9c, Y d226: a0 a1 LDY #$a1 d228: 84 85 STY $85 d22a: 08 PHP d22b: 06 0e ASL $0e d22d: 03 92 ST0 #$92 d22f: 93 96 97 8a TST #$96, $8a97 d233: 8b ??? d234: 9a TXS d235: 9b ??? d236: 9e 9f a2 STZ $a29f, X d239: a3 86 87 TST #$86, $87, X d23c: 16 06 ASL $06, X d23e: 07 02 RMB0 $02 d240: 20 20 20 JSR $2020 d243: 20 20 20 JSR $2020 d246: 20 ff 08 JSR $08ff d249: 05 0c ORA $0c d24b: 03 08 ST0 #$08 d24d: 09 0c ORA #$0c d24f: 0d 80 81 ORA $8180 d252: 74 75 STZ $75, X d254: 60 RTS d255: 61 8c ADC ($8c, X) d257: 8d 08 06 STA $0608 d25a: 0c 03 0a TSB $0a03 d25d: 0b ??? d25e: 0e 0f 82 ASL $820f d261: 83 76 77 TST #$76, $77 d264: 62 CLA d265: 63 ??? d266: 8e 8f 14 STX $148f d269: 05 04 ORA $04 d26b: 02 SXY d26c: 20 20 20 JSR $2020 d26f: 20 14 06 JSR $0614 d272: 09 02 ORA #$02 d274: 20 20 59 JSR $5920 d277: 45 53 EOR $53 d279: 20 20 4e JSR $4e20 d27c: 4f ff 0c BBR4 $ff, $d28b d27f: 13 07 ST1 #$07 d281: 02 SXY d282: 20 20 4f JSR $4f20 d285: 4b ??? d286: 20 20 20 JSR $2020 d289: ff 0c 13 BBS7 $0c, $d29f d28c: 07 02 RMB0 $02 d28e: 20 45 52 JSR $5245 d291: 52 4f EOR ($4f) d293: 52 20 EOR ($20) d295: ff 16 06 BBS7 $16, $d29e d298: 07 02 RMB0 $02 d29a: 20 20 4f JSR $4f20 d29d: 4b ??? d29e: 20 20 20 JSR $2020 d2a1: ff 16 06 BBS7 $16, $d2aa d2a4: 07 02 RMB0 $02 d2a6: 20 45 52 JSR $5245 d2a9: 52 4f EOR ($4f) d2ab: 52 20 EOR ($20) d2ad: ff 06 05 BBS7 $06, $d2b5 d2b0: 10 03 BPL $d2b5 d2b2: a4 a5 LDY $a5 d2b4: a8 TAY d2b5: a9 ac LDA #$ac d2b7: ad b0 b1 LDA $b1b0 d2ba: 5c ??? d2bb: 5d b4 b5 EOR $b5b4, X d2be: b8 CLV d2bf: b9 74 75 LDA $7574, Y d2c2: 06 06 ASL $06 d2c4: 10 03 BPL $d2c9 d2c6: a6 a7 LDX $a7 d2c8: aa TAX d2c9: ab ??? d2ca: ae af b2 LDX $b2af d2cd: b3 5e 5f b6 TST #$5e, $b65f, X d2d1: b7 ba SMB3 $ba d2d3: bb ??? d2d4: 76 77 ROR $77, X d2d6: 16 05 ASL $05, X d2d8: 04 03 TSB $03 d2da: bc bd 94 LDY $94bd, X d2dd: 95 16 STA $16, X d2df: 06 04 ASL $04 d2e1: 03 be ST0 #$be d2e3: bf 96 97 BBS3 $96, $d27d d2e6: ff 62 46 BBS7 $62, $d32f d2e9: f9 6a 46 SBC $466a, Y d2ec: f9 6a 46 SBC $466a, Y d2ef: f9 6a 18 SBC $186a, Y d2f2: 65 f8 ADC $f8 d2f4: 85 f8 STA $f8 d2f6: a5 f9 LDA $f9 d2f8: 69 00 ADC #$00 d2fa: 85 f9 STA $f9 d2fc: a9 00 LDA #$00 d2fe: 85 f7 STA $f7 d300: 8d 00 00 STA $0000 d303: a5 f8 LDA $f8 d305: 8d 02 00 STA $0002 d308: a5 f9 LDA $f9 d30a: 8d 03 00 STA $0003 d30d: a9 02 LDA #$02 d30f: 85 f7 STA $f7 d311: 8d 00 00 STA $0000 d314: c2 CLY d315: b1 fa LDA ($fa), Y d317: 8d 02 00 STA $0002 d31a: c8 INY d31b: b1 fa LDA ($fa), Y d31d: 8d 03 00 STA $0003 d320: c8 INY d321: c6 fc DEC $fc d323: d0 f0 BNE $d315 d325: 60 RTS d326: 9c 20 28 STZ $2820 d329: 9c 21 28 STZ $2821 d32c: 9c 22 28 STZ $2822 d32f: c9 64 CMP $64 d331: 90 07 BCC $d33a d333: e9 64 SBC #$64 d335: ee 22 28 INC $2822 d338: 80 f5 BRA $d32f d33a: c9 0a CMP $0a d33c: 90 07 BCC $d345 d33e: e9 0a SBC #$0a d340: ee 21 28 INC $2821 d343: 80 f5 BRA $d33a d345: 8d 20 28 STA $2820 d348: 60 RTS d349: c2 CLY d34a: a9 20 LDA #$20 d34c: 99 00 28 STA $2800, Y d34f: c8 INY d350: a9 02 LDA #$02 d352: 99 00 28 STA $2800, Y d355: c8 INY d356: c0 20 CPY #$20 d358: 90 f0 BCC $d34a d35a: 60 RTS d35b: 20 99 e0 JSR $e099 d35e: 20 7b e0 JSR $e07b d361: a9 89 LDA #$89 d363: 8d 23 22 STA $2223 d366: a9 d6 LDA #$d6 d368: 8d 24 22 STA $2224 d36b: 9c 22 22 STZ $2222 d36e: a9 02 LDA #$02 d370: 8d 25 22 STA $2225 d373: 8d 1f 22 STA $221f d376: 20 7b e0 JSR $e07b d379: 62 CLA d37a: 20 69 e0 JSR $e069 d37d: 20 8c d3 JSR $d38c d380: 20 af d5 JSR $d5af d383: 20 8e d5 JSR $d58e d386: 20 c6 d5 JSR $d5c6 d389: 4c 96 e0 JMP $e096 d38c: a9 00 LDA #$00 d38e: 85 f7 STA $f7 d390: 8d 00 00 STA $0000 d393: 9c 02 00 STZ $0002 d396: a9 30 LDA #$30 d398: 8d 03 00 STA $0003 d39b: a9 02 LDA #$02 d39d: 85 f7 STA $f7 d39f: 8d 00 00 STA $0000 d3a2: e3 d9 d3 02 00 00 01 TIA $d3d9, $0002, $0100 d3a9: a9 80 LDA #$80 d3ab: 8d 36 28 STA $2836 d3ae: a9 30 LDA #$30 d3b0: 8d 37 28 STA $2837 d3b3: c2 CLY d3b4: b9 d9 d4 LDA $d4d9, Y d3b7: c9 ff CMP $ff d3b9: f0 1d BEQ $d3d8 d3bb: 85 f8 STA $f8 d3bd: c8 INY d3be: b9 d9 d4 LDA $d4d9, Y d3c1: 85 f9 STA $f9 d3c3: c8 INY d3c4: 64 ff STZ $ff d3c6: a9 00 LDA #$00 d3c8: 85 fa STA $fa d3ca: a9 40 LDA #$40 d3cc: 85 fb STA $fb d3ce: 5a PHY d3cf: 20 60 e0 JSR $e060 d3d2: 20 36 d5 JSR $d536 d3d5: 7a PLY d3d6: 80 dc BRA $d3b4 d3d8: 60 RTS d3d9: 00 c0 BRK #$c0 d3db: 00 f0 BRK #$f0 d3dd: 00 fc BRK #$fc d3df: 00 ff BRK #$ff d3e1: 00 ff BRK #$ff d3e3: 00 fc BRK #$fc d3e5: 00 f0 BRK #$f0 d3e7: 00 c0 BRK #$c0 d3e9: 00 00 BRK #$00 d3eb: 00 00 BRK #$00 d3ed: 00 00 BRK #$00 d3ef: 00 00 BRK #$00 d3f1: 00 00 BRK #$00 d3f3: 00 00 BRK #$00 d3f5: 00 00 BRK #$00 d3f7: 00 00 BRK #$00 d3f9: 00 c0 BRK #$c0 d3fb: 00 f0 BRK #$f0 d3fd: 00 fc BRK #$fc d3ff: 00 ff BRK #$ff d401: 00 ff BRK #$ff d403: 00 fc BRK #$fc d405: 00 f0 BRK #$f0 d407: 00 c0 BRK #$c0 d409: 00 00 BRK #$00 d40b: 00 00 BRK #$00 d40d: 00 00 BRK #$00 d40f: 00 00 BRK #$00 d411: 00 00 BRK #$00 d413: 00 00 BRK #$00 d415: 00 00 BRK #$00 d417: 00 00 BRK #$00 d419: 00 c0 BRK #$c0 d41b: 00 f0 BRK #$f0 d41d: 00 fc BRK #$fc d41f: 00 ff BRK #$ff d421: 00 ff BRK #$ff d423: 00 fc BRK #$fc d425: 00 f0 BRK #$f0 d427: 00 c0 BRK #$c0 d429: 00 00 BRK #$00 d42b: 00 00 BRK #$00 d42d: 00 00 BRK #$00 d42f: 00 00 BRK #$00 d431: 00 00 BRK #$00 d433: 00 00 BRK #$00 d435: 00 00 BRK #$00 d437: 00 00 BRK #$00 d439: 00 c0 BRK #$c0 d43b: 00 f0 BRK #$f0 d43d: 00 fc BRK #$fc d43f: 00 ff BRK #$ff d441: 00 ff BRK #$ff d443: 00 fc BRK #$fc d445: 00 f0 BRK #$f0 d447: 00 c0 BRK #$c0 d449: 00 00 BRK #$00 d44b: 00 00 BRK #$00 d44d: 00 00 BRK #$00 d44f: 00 00 BRK #$00 d451: 00 00 BRK #$00 d453: 00 00 BRK #$00 d455: 00 00 BRK #$00 d457: 00 00 BRK #$00 d459: ff ff ff BBS7 $ff, $d45b d45c: ff ff ff BBS7 $ff, $d45e d45f: ff ff ff BBS7 $ff, $d461 d462: ff ff ff BBS7 $ff, $d464 d465: ff ff ff BBS7 $ff, $d467 d468: ff 00 00 BBS7 $00, $d46b d46b: 00 00 BRK #$00 d46d: 00 00 BRK #$00 d46f: 00 00 BRK #$00 d471: 00 00 BRK #$00 d473: 00 00 BRK #$00 d475: 00 00 BRK #$00 d477: 00 00 BRK #$00 d479: ff ff ff BBS7 $ff, $d47b d47c: ff ff ff BBS7 $ff, $d47e d47f: ff ff ff BBS7 $ff, $d481 d482: ff ff ff BBS7 $ff, $d484 d485: ff ff ff BBS7 $ff, $d487 d488: ff 00 00 BBS7 $00, $d48b d48b: 00 00 BRK #$00 d48d: 00 00 BRK #$00 d48f: 00 00 BRK #$00 d491: 00 00 BRK #$00 d493: 00 00 BRK #$00 d495: 00 00 BRK #$00 d497: 00 00 BRK #$00 d499: ff ff ff BBS7 $ff, $d49b d49c: ff ff ff BBS7 $ff, $d49e d49f: ff ff ff BBS7 $ff, $d4a1 d4a2: ff ff ff BBS7 $ff, $d4a4 d4a5: ff ff ff BBS7 $ff, $d4a7 d4a8: ff 00 00 BBS7 $00, $d4ab d4ab: 00 00 BRK #$00 d4ad: 00 00 BRK #$00 d4af: 00 00 BRK #$00 d4b1: 00 00 BRK #$00 d4b3: 00 00 BRK #$00 d4b5: 00 00 BRK #$00 d4b7: 00 00 BRK #$00 d4b9: ff ff ff BBS7 $ff, $d4bb d4bc: ff ff ff BBS7 $ff, $d4be d4bf: ff ff ff BBS7 $ff, $d4c1 d4c2: ff ff ff BBS7 $ff, $d4c4 d4c5: ff ff ff BBS7 $ff, $d4c7 d4c8: ff 00 00 BBS7 $00, $d4cb d4cb: 00 00 BRK #$00 d4cd: 00 00 BRK #$00 d4cf: 00 00 BRK #$00 d4d1: 00 00 BRK #$00 d4d3: 00 00 BRK #$00 d4d5: 00 00 BRK #$00 d4d7: 00 00 BRK #$00 d4d9: ed 8d 9c SBC $9c8d d4dc: 8f 53 91 BBS0 $53, $d470 d4df: cc 91 cc CPY $cc91 d4e2: 82 CLX d4e3: 89 8f BIT #$8f d4e5: fa PLX d4e6: 8a TXA d4e7: bb ??? d4e8: 89 49 BIT #$49 d4ea: 8f b9 97 BBS0 $b9, $d484 d4ed: 61 82 ADC ($82, X) d4ef: 60 RTS d4f0: 82 CLX d4f1: 62 CLA d4f2: 82 CLX d4f3: 6a ROR a d4f4: 82 CLX d4f5: 74 82 STZ $82, X d4f7: 6f 82 40 BBR6 $82, $d53a d4fa: 81 71 STA ($71, X) d4fc: 82 CLX d4fd: 6c 82 e0 JMP ($e082) d500: 93 65 97 aa TST #$65, $aa97 d504: 82 CLX d505: b7 82 SMB3 $82 d507: d7 82 SMB5 $82 d509: c4 82 CPY $82 d50b: c1 8f CMP ($8f, X) d50d: a6 82 LDX $82 d50f: dc ??? d510: 82 CLX d511: e6 82 INC $82 d513: eb ??? d514: 82 CLX d515: b5 82 LDA $82, X d517: a2 82 LDX #$82 d519: c5 82 CMP $82 d51b: a9 82 LDA #$82 d51d: 49 91 EOR #$91 d51f: f1 82 SBC ($82), Y d521: ad 82 be LDA $be82 d524: 82 CLX d525: b3 82 74 83 TST #$82, $8374, X d529: 40 RTI d52a: 83 43 83 TST #$43, $83 d52d: 8b ??? d52e: 83 a0 82 TST #$a0, $82 d531: e8 INX d532: 82 CLX d533: b9 82 ff LDA $ff82, Y d536: a9 00 LDA #$00 d538: 85 f7 STA $f7 d53a: 8d 00 00 STA $0000 d53d: ad 36 28 LDA $2836 d540: 8d 02 00 STA $0002 d543: 18 CLC d544: 69 40 ADC #$40 d546: 8d 36 28 STA $2836 d549: ad 37 28 LDA $2837 d54c: 8d 03 00 STA $0003 d54f: 69 00 ADC #$00 d551: 8d 37 28 STA $2837 d554: a9 02 LDA #$02 d556: 85 f7 STA $f7 d558: 8d 00 00 STA $0000 d55b: 82 CLX d55c: 8a TXA d55d: 0a ASL a d55e: a8 TAY d55f: b9 86 d5 LDA $d586, Y d562: 85 f8 STA $f8 d564: b9 87 d5 LDA $d587, Y d567: 85 f9 STA $f9 d569: a9 01 LDA #$01 d56b: 85 fa STA $fa d56d: c2 CLY d56e: b1 f8 LDA ($f8), Y d570: 8d 02 00 STA $0002 d573: 8d 03 00 STA $0003 d576: c8 INY d577: c8 INY d578: c0 10 CPY #$10 d57a: 90 f2 BCC $d56e d57c: c6 fa DEC $fa d57e: 10 ed BPL $d56d d580: e8 INX d581: e0 04 CPX #$04 d583: 90 d7 BCC $d55c d585: 60 RTS d586: 00 40 BRK #$40 d588: 01 40 ORA ($40, X) d58a: 10 40 BPL $d5cc d58c: 11 40 ORA ($40), Y d58e: a9 ff LDA #$ff d590: 85 f8 STA $f8 d592: a9 20 LDA #$20 d594: 85 fa STA $fa d596: a9 28 LDA #$28 d598: 85 fb STA $fb d59a: 20 57 e0 JSR $e057 d59d: c9 01 CMP $01 d59f: d0 08 BNE $d5a9 d5a1: a5 f8 LDA $f8 d5a3: f0 04 BEQ $d5a9 d5a5: 8d 2e 28 STA $282e d5a8: 60 RTS d5a9: a9 ff LDA #$ff d5ab: 8d 2e 28 STA $282e d5ae: 60 RTS d5af: 9c 2f 28 STZ $282f d5b2: a2 07 LDX #$07 d5b4: bd be d5 LDA $d5be, X d5b7: 9d 30 28 STA $2830, X d5ba: ca DEX d5bb: 10 f7 BPL $d5b4 d5bd: 60 RTS d5be: 01 00 ORA ($00, X) d5c0: 00 01 BRK #$01 d5c2: 00 00 BRK #$00 d5c4: 00 00 BRK #$00 d5c6: 62 CLA d5c7: 20 2e d6 JSR $d62e d5ca: 82 CLX d5cb: bd db d5 LDA $d5db, X d5ce: c9 ff CMP $ff d5d0: f0 08 BEQ $d5da d5d2: da PHX d5d3: 20 78 d0 JSR $d078 d5d6: fa PLX d5d7: e8 INX d5d8: 80 f1 BRA $d5cb d5da: 60 RTS d5db: 00 01 BRK #$01 d5dd: 02 SXY d5de: 03 ff ST0 #$ff d5e0: 62 CLA d5e1: 20 2e d6 JSR $d62e d5e4: 82 CLX d5e5: bd f5 d5 LDA $d5f5, X d5e8: c9 ff CMP $ff d5ea: f0 08 BEQ $d5f4 d5ec: da PHX d5ed: 20 78 d0 JSR $d078 d5f0: fa PLX d5f1: e8 INX d5f2: 80 f1 BRA $d5e5 d5f4: 60 RTS d5f5: 04 05 TSB $05 d5f7: 06 ff ASL $ff d5f9: 62 CLA d5fa: 20 2e d6 JSR $d62e d5fd: 82 CLX d5fe: bd 2a d6 LDA $d62a, X d601: c9 ff CMP $ff d603: f0 08 BEQ $d60d d605: da PHX d606: 20 78 d0 JSR $d078 d609: fa PLX d60a: e8 INX d60b: 80 f1 BRA $d5fe d60d: ad 2e 28 LDA $282e d610: c9 ff CMP $ff d612: d0 05 BNE $d619 d614: a9 0f LDA #$0f d616: 20 78 d0 JSR $d078 d619: 82 CLX d61a: da PHX d61b: 8a TXA d61c: 18 CLC d61d: 6d 34 28 ADC $2834 d620: 20 c9 cf JSR $cfc9 d623: fa PLX d624: e8 INX d625: e0 14 CPX #$14 d627: 90 f1 BCC $d61a d629: 60 RTS d62a: 07 08 RMB0 $08 d62c: 09 ff ORA #$ff d62e: 0a ASL a d62f: a8 TAY d630: b9 81 d6 LDA $d681, Y d633: 85 f8 STA $f8 d635: b9 82 d6 LDA $d682, Y d638: 85 f9 STA $f9 d63a: c2 CLY d63b: b1 f8 LDA ($f8), Y d63d: 85 fa STA $fa d63f: c8 INY d640: b1 f8 LDA ($f8), Y d642: 85 fb STA $fb d644: c8 INY d645: b1 f8 LDA ($f8), Y d647: 85 fc STA $fc d649: c8 INY d64a: b1 f8 LDA ($f8), Y d64c: 85 fd STA $fd d64e: c8 INY d64f: a9 00 LDA #$00 d651: 85 f7 STA $f7 d653: 8d 00 00 STA $0000 d656: b1 f8 LDA ($f8), Y d658: 8d 02 00 STA $0002 d65b: c8 INY d65c: b1 f8 LDA ($f8), Y d65e: 8d 03 00 STA $0003 d661: a9 02 LDA #$02 d663: 85 f7 STA $f7 d665: 8d 00 00 STA $0000 d668: a5 fa LDA $fa d66a: 8d 02 00 STA $0002 d66d: a5 fb LDA $fb d66f: 8d 03 00 STA $0003 d672: a5 fc LDA $fc d674: d0 02 BNE $d678 d676: c6 fd DEC $fd d678: c6 fc DEC $fc d67a: a5 fc LDA $fc d67c: 05 fd ORA $fd d67e: d0 e8 BNE $d668 d680: 60 RTS d681: 83 d6 20 TST #$d6, $20 d684: 02 SXY d685: 00 04 BRK #$04 d687: 00 00 BRK #$00 d689: 00 00 BRK #$00 d68b: 38 SEC d68c: 00 f8 BRK #$f8 d68e: 00 f8 BRK #$f8 d690: 01 d8 ORA ($d8, X) d692: 01 c0 ORA ($c0, X) d694: 01 c3 ORA ($c3, X) d696: 01 c7 ORA ($c7, X) d698: 01 c7 ORA ($c7, X) d69a: 00 07 BRK #$07 d69c: 00 1f BRK #$1f d69e: 00 3f BRK #$3f d6a0: 00 3b BRK #$3b d6a2: 00 92 BRK #$92 d6a4: 00 24 BRK #$24 d6a6: 01 f8 ORA ($f8, X) d6a8: 01 00 ORA ($00, X) d6aa: 00 38 BRK #$38 d6ac: 00 f8 BRK #$f8 d6ae: 00 f8 BRK #$f8 d6b0: 01 d8 ORA ($d8, X) d6b2: 01 c0 ORA ($c0, X) d6b4: 01 c3 ORA ($c3, X) d6b6: 01 c7 ORA ($c7, X) d6b8: 01 c7 ORA ($c7, X) d6ba: 00 07 BRK #$07 d6bc: 00 1f BRK #$1f d6be: 00 3f BRK #$3f d6c0: 00 3b BRK #$3b d6c2: 00 92 BRK #$92 d6c4: 00 24 BRK #$24 d6c6: 01 07 ORA ($07, X) d6c8: 00 ad BRK #$ad d6ca: 2f 28 0a BBR2 $28, $d6d7 d6cd: aa TAX d6ce: 7c d1 JMP ($d1, X) d6d0: d6 dd DEC $dd, X d6d2: d6 fd DEC $fd, X d6d4: d6 13 DEC $13, X d6d6: d7 fd SMB5 $fd d6d8: d6 e1 DEC $e1, X d6da: d7 e1 SMB5 $e1 d6dc: d7 ad SMB5 $ad d6de: 38 SEC d6df: 28 PLP d6e0: a8 TAY d6e1: 29 10 AND #$10 d6e3: f0 08 BEQ $d6ed d6e5: ad 36 28 LDA $2836 d6e8: f0 03 BEQ $d6ed d6ea: ce 36 28 DEC $2836 d6ed: 98 TYA d6ee: 29 40 AND #$40 d6f0: f0 0a BEQ $d6fc d6f2: ad 36 28 LDA $2836 d6f5: c9 02 CMP $02 d6f7: b0 03 BCS $d6fc d6f9: ee 36 28 INC $2836 d6fc: 60 RTS d6fd: ad 38 28 LDA $2838 d700: a8 TAY d701: 29 80 AND #$80 d703: f0 03 BEQ $d708 d705: 9c 37 28 STZ $2837 d708: 98 TYA d709: 29 20 AND #$20 d70b: f0 05 BEQ $d712 d70d: a9 01 LDA #$01 d70f: 8d 37 28 STA $2837 d712: 60 RTS d713: ad 2e 28 LDA $282e d716: c9 ff CMP $ff d718: d0 01 BNE $d71b d71a: 60 RTS d71b: ad 38 28 LDA $2838 d71e: a8 TAY d71f: 29 10 AND #$10 d721: f0 24 BEQ $d747 d723: ad 36 28 LDA $2836 d726: d0 1c BNE $d744 d728: ad 34 28 LDA $2834 d72b: f0 1a BEQ $d747 d72d: a9 13 LDA #$13 d72f: 8d 36 28 STA $2836 d732: ad 34 28 LDA $2834 d735: 38 SEC d736: e9 14 SBC #$14 d738: 8d 34 28 STA $2834 d73b: 20 a2 e0 JSR $e0a2 d73e: 20 9f e0 JSR $e09f d741: 4c 19 d6 JMP $d619 d744: ce 36 28 DEC $2836 d747: 98 TYA d748: 29 40 AND #$40 d74a: f0 2c BEQ $d778 d74c: ad 36 28 LDA $2836 d74f: 18 CLC d750: 6d 34 28 ADC $2834 d753: 1a INC a d754: cd 2e 28 CMP $282e d757: b0 1f BCS $d778 d759: ad 36 28 LDA $2836 d75c: c9 13 CMP $13 d75e: 90 15 BCC $d775 d760: 9c 36 28 STZ $2836 d763: ad 34 28 LDA $2834 d766: 18 CLC d767: 69 14 ADC #$14 d769: 8d 34 28 STA $2834 d76c: 20 a2 e0 JSR $e0a2 d76f: 20 9f e0 JSR $e09f d772: 4c 19 d6 JMP $d619 d775: ee 36 28 INC $2836 d778: 98 TYA d779: 29 80 AND #$80 d77b: f0 2c BEQ $d7a9 d77d: ad 36 28 LDA $2836 d780: c9 0a CMP $0a d782: b0 20 BCS $d7a4 d784: ad 34 28 LDA $2834 d787: f0 20 BEQ $d7a9 d789: ad 36 28 LDA $2836 d78c: 18 CLC d78d: 69 0a ADC #$0a d78f: 8d 36 28 STA $2836 d792: ad 34 28 LDA $2834 d795: 38 SEC d796: e9 14 SBC #$14 d798: 8d 34 28 STA $2834 d79b: 20 a2 e0 JSR $e0a2 d79e: 20 9f e0 JSR $e09f d7a1: 4c 19 d6 JMP $d619 d7a4: e9 0a SBC #$0a d7a6: 8d 36 28 STA $2836 d7a9: 98 TYA d7aa: 29 20 AND #$20 d7ac: f0 32 BEQ $d7e0 d7ae: ad 2e 28 LDA $282e d7b1: 38 SEC d7b2: ed 36 28 SBC $2836 d7b5: 38 SEC d7b6: ed 34 28 SBC $2834 d7b9: c9 0b CMP $0b d7bb: 90 23 BCC $d7e0 d7bd: ad 36 28 LDA $2836 d7c0: c9 0a CMP $0a d7c2: 90 17 BCC $d7db d7c4: e9 0a SBC #$0a d7c6: 8d 36 28 STA $2836 d7c9: ad 34 28 LDA $2834 d7cc: 18 CLC d7cd: 69 14 ADC #$14 d7cf: 8d 34 28 STA $2834 d7d2: 20 a2 e0 JSR $e0a2 d7d5: 20 9f e0 JSR $e09f d7d8: 4c 19 d6 JMP $d619 d7db: 69 0a ADC #$0a d7dd: 8d 36 28 STA $2836 d7e0: 60 RTS d7e1: 60 RTS d7e2: a2 01 LDX #$01 d7e4: bd 30 28 LDA $2830, X d7e7: f0 03 BEQ $d7ec d7e9: 20 f0 d7 JSR $d7f0 d7ec: ca DEX d7ed: 10 f5 BPL $d7e4 d7ef: 60 RTS d7f0: a9 80 LDA #$80 d7f2: 8d 1b 22 STA $221b d7f5: bd 32 28 LDA $2832, X d7f8: c9 02 CMP $02 d7fa: d0 0d BNE $d809 d7fc: a9 82 LDA #$82 d7fe: 8d 1b 22 STA $221b d801: ad 2e 28 LDA $282e d804: c9 ff CMP $ff d806: d0 01 BNE $d809 d808: 60 RTS d809: bd 32 28 LDA $2832, X d80c: 0a ASL a d80d: a8 TAY d80e: b9 70 d8 LDA $d870, Y d811: 85 f8 STA $f8 d813: b9 71 d8 LDA $d871, Y d816: 85 f9 STA $f9 d818: bd 36 28 LDA $2836, X d81b: 0a ASL a d81c: a8 TAY d81d: b1 f8 LDA ($f8), Y d81f: 18 CLC d820: 69 20 ADC #$20 d822: 8d 19 22 STA $2219 d825: 62 CLA d826: 69 00 ADC #$00 d828: 8d 1a 22 STA $221a d82b: c8 INY d82c: b1 f8 LDA ($f8), Y d82e: 18 CLC d82f: 69 40 ADC #$40 d831: 8d 17 22 STA $2217 d834: 62 CLA d835: 69 00 ADC #$00 d837: 8d 18 22 STA $2218 d83a: a9 01 LDA #$01 d83c: 8d 1c 22 STA $221c d83f: ad 1b 22 LDA $221b d842: 4a LSR a d843: 29 01 AND #$01 d845: a8 TAY d846: b9 6c d8 LDA $d86c, Y d849: 8d 1d 22 STA $221d d84c: 62 CLA d84d: 8d 1e 22 STA $221e d850: b9 6e d8 LDA $d86e, Y d853: a8 TAY d854: 20 a5 e0 JSR $e0a5 d857: ad 19 22 LDA $2219 d85a: 18 CLC d85b: 69 10 ADC #$10 d85d: 8d 19 22 STA $2219 d860: ad 1a 22 LDA $221a d863: 69 00 ADC #$00 d865: 8d 1a 22 STA $221a d868: 88 DEY d869: 10 e9 BPL $d854 d86b: 60 RTS d86c: 00 01 BRK #$01 d86e: 00 06 BRK #$06 d870: 78 SEI d871: d8 CLD d872: 7e d8 82 ROR $82d8, X d875: d8 CLD d876: aa TAX d877: d8 CLD d878: 46 54 LSR $54 d87a: 46 6c LSR $6c d87c: 46 84 LSR $84 d87e: 56 98 LSR $98, X d880: 7d 98 08 ADC $0898, X d883: 40 RTI d884: 08 PHP d885: 50 08 BVC $d88f d887: 60 RTS d888: 08 PHP d889: 70 08 BVS $d893 d88b: 80 08 BRA $d895 d88d: 90 08 BCC $d897 d88f: a0 08 LDY #$08 d891: b0 08 BCS $d89b d893: c0 08 CPY #$08 d895: d0 88 BNE $d81f d897: 40 RTI d898: 88 DEY d899: 50 88 BVC $d823 d89b: 60 RTS d89c: 88 DEY d89d: 70 88 BVS $d827 d89f: 80 88 BRA $d829 d8a1: 90 88 BCC $d82b d8a3: a0 88 LDY #$88 d8a5: b0 88 BCS $d82f d8a7: c0 88 CPY #$88 d8a9: d0 a6 BNE $d851 d8ab: 30 cd BMI $d87a d8ad: 30 ad BMI $d85c d8af: 2f 28 0a BBR2 $28, $d8bc d8b2: aa TAX d8b3: 7c b6 JMP ($b6, X) d8b5: d8 CLD d8b6: c2 CLY d8b7: d8 CLD d8b8: 08 PHP d8b9: d9 5c d9 CMP $d95c, Y d8bc: 9a TXS d8bd: d9 2b da CMP $da2b, Y d8c0: 42 SAY d8c1: da PHX d8c2: ad 2d 22 LDA $222d d8c5: 29 09 AND #$09 d8c7: d0 01 BNE $d8ca d8c9: 60 RTS d8ca: ad 36 28 LDA $2836 d8cd: 0a ASL a d8ce: aa TAX d8cf: 7c d2 JMP ($d2, X) d8d1: d8 CLD d8d2: d8 CLD d8d3: d8 CLD d8d4: ee d8 02 INC $02d8 d8d7: d9 a9 02 CMP $02a9, Y d8da: 8d 2f 28 STA $282f d8dd: a9 02 LDA #$02 d8df: 8d 32 28 STA $2832 d8e2: 9c 36 28 STZ $2836 d8e5: 20 a2 e0 JSR $e0a2 d8e8: 20 9f e0 JSR $e09f d8eb: 4c f9 d5 JMP $d5f9 d8ee: a9 01 LDA #$01 d8f0: 8d 2f 28 STA $282f d8f3: 8d 31 28 STA $2831 d8f6: 8d 33 28 STA $2833 d8f9: 8d 37 28 STA $2837 d8fc: 9c 30 28 STZ $2830 d8ff: 4c e0 d5 JMP $d5e0 d902: a9 ff LDA #$ff d904: 8d 2f 28 STA $282f d907: 60 RTS d908: ad 2d 22 LDA $222d d90b: a8 TAY d90c: 29 01 AND #$01 d90e: f0 25 BEQ $d935 d910: ad 37 28 LDA $2837 d913: d0 25 BNE $d93a d915: a9 4f LDA #$4f d917: 85 f8 STA $f8 d919: a9 d9 LDA #$d9 d91b: 85 f9 STA $f9 d91d: 20 48 e0 JSR $e048 d920: 48 PHA d921: 20 8e d5 JSR $d58e d924: 68 PLA d925: aa TAX d926: bd 5a d9 LDA $d95a, X d929: 20 78 d0 JSR $d078 d92c: a9 04 LDA #$04 d92e: 8d 2f 28 STA $282f d931: 9c 31 28 STZ $2831 d934: 60 RTS d935: 98 TYA d936: 29 02 AND #$02 d938: f0 14 BEQ $d94e d93a: 9c 2f 28 STZ $282f d93d: 9c 31 28 STZ $2831 d940: a9 01 LDA #$01 d942: 8d 30 28 STA $2830 d945: 9c 32 28 STZ $2832 d948: 9c 36 28 STZ $2836 d94b: 20 c6 d5 JSR $d5c6 d94e: 60 RTS d94f: 21 42 AND ($42, X) d951: 4d 20 46 EOR $4620 d954: 4f 52 4d BBR4 $52, $d9a4 d957: 41 54 EOR ($54, X) d959: 21 0b AND ($0b, X) d95b: 0c ad 2d TSB $2dad d95e: 22 SAX d95f: a8 TAY d960: 29 02 AND #$02 d962: f0 14 BEQ $d978 d964: 9c 2f 28 STZ $282f d967: a9 01 LDA #$01 d969: 8d 30 28 STA $2830 d96c: 9c 32 28 STZ $2832 d96f: 9c 34 28 STZ $2834 d972: 9c 36 28 STZ $2836 d975: 4c c6 d5 JMP $d5c6 d978: 98 TYA d979: 29 01 AND #$01 d97b: f0 1c BEQ $d999 d97d: ad 2e 28 LDA $282e d980: c9 ff CMP $ff d982: f0 15 BEQ $d999 d984: a9 03 LDA #$03 d986: 8d 2f 28 STA $282f d989: 8d 33 28 STA $2833 d98c: a9 01 LDA #$01 d98e: 8d 31 28 STA $2831 d991: 8d 37 28 STA $2837 d994: a9 0a LDA #$0a d996: 4c 78 d0 JMP $d078 d999: 60 RTS d99a: ad 2d 22 LDA $222d d99d: a8 TAY d99e: 29 01 AND #$01 d9a0: f0 74 BEQ $da16 d9a2: ad 37 28 LDA $2837 d9a5: d0 74 BNE $da1b d9a7: ad 34 28 LDA $2834 d9aa: 18 CLC d9ab: 6d 36 28 ADC $2836 d9ae: 1a INC a d9af: 85 f8 STA $f8 d9b1: a9 20 LDA #$20 d9b3: 85 fa STA $fa d9b5: a9 28 LDA #$28 d9b7: 85 fb STA $fb d9b9: 20 57 e0 JSR $e057 d9bc: c9 00 CMP $00 d9be: d0 49 BNE $da09 d9c0: a9 20 LDA #$20 d9c2: 85 f8 STA $f8 d9c4: a9 28 LDA #$28 d9c6: 85 f9 STA $f9 d9c8: 20 54 e0 JSR $e054 d9cb: c9 01 CMP $01 d9cd: b0 3a BCS $da09 d9cf: 20 8e d5 JSR $d58e d9d2: ad 34 28 LDA $2834 d9d5: 18 CLC d9d6: 6d 36 28 ADC $2836 d9d9: cd 2e 28 CMP $282e d9dc: 90 15 BCC $d9f3 d9de: ad 36 28 LDA $2836 d9e1: f0 05 BEQ $d9e8 d9e3: ce 36 28 DEC $2836 d9e6: 80 0b BRA $d9f3 d9e8: ad 34 28 LDA $2834 d9eb: f0 06 BEQ $d9f3 d9ed: 38 SEC d9ee: e9 14 SBC #$14 d9f0: 8d 34 28 STA $2834 d9f3: a9 0d LDA #$0d d9f5: 20 78 d0 JSR $d078 d9f8: a9 05 LDA #$05 d9fa: 8d 2f 28 STA $282f d9fd: 9c 31 28 STZ $2831 da00: 20 a2 e0 JSR $e0a2 da03: 20 9f e0 JSR $e09f da06: 4c 19 d6 JMP $d619 da09: a9 05 LDA #$05 da0b: 8d 2f 28 STA $282f da0e: 9c 31 28 STZ $2831 da11: a9 0e LDA #$0e da13: 4c 78 d0 JMP $d078 da16: 98 TYA da17: 29 02 AND #$02 da19: f0 0d BEQ $da28 da1b: a9 02 LDA #$02 da1d: 8d 2f 28 STA $282f da20: 9c 31 28 STZ $2831 da23: a9 09 LDA #$09 da25: 20 78 d0 JSR $d078 da28: 60 RTS da29: 0d 0e ad ORA $ad0e da2c: 2d 22 f0 AND $f022 da2f: 11 9c ORA ($9c), Y da31: 2f 28 a9 BBR2 $28, $d9dd da34: 01 8d ORA ($8d, X) da36: 30 28 BMI $da60 da38: 9c 36 28 STZ $2836 da3b: 9c 32 28 STZ $2832 da3e: 20 c6 d5 JSR $d5c6 da41: 60 RTS da42: ad 2d 22 LDA $222d da45: f0 08 BEQ $da4f da47: a9 02 LDA #$02 da49: 8d 2f 28 STA $282f da4c: 20 fd d5 JSR $d5fd da4f: 60 RTS da50: ff ff ff BBS7 $ff, $da52 da53: ff ff ff BBS7 $ff, $da55 da56: ff ff ff BBS7 $ff, $da58 da59: ff ff ff BBS7 $ff, $da5b da5c: ff ff ff BBS7 $ff, $da5e da5f: ff ff ff BBS7 $ff, $da61 da62: ff ff ff BBS7 $ff, $da64 da65: ff ff ff BBS7 $ff, $da67 da68: ff ff ff BBS7 $ff, $da6a da6b: ff ff ff BBS7 $ff, $da6d da6e: ff ff ff BBS7 $ff, $da70 da71: ff ff ff BBS7 $ff, $da73 da74: ff ff ff BBS7 $ff, $da76 da77: ff ff ff BBS7 $ff, $da79 da7a: ff ff ff BBS7 $ff, $da7c da7d: ff ff ff BBS7 $ff, $da7f da80: ff ff ff BBS7 $ff, $da82 da83: ff ff ff BBS7 $ff, $da85 da86: ff ff ff BBS7 $ff, $da88 da89: ff ff ff BBS7 $ff, $da8b da8c: ff ff ff BBS7 $ff, $da8e da8f: ff ff ff BBS7 $ff, $da91 da92: ff ff ff BBS7 $ff, $da94 da95: ff ff ff BBS7 $ff, $da97 da98: ff ff ff BBS7 $ff, $da9a da9b: ff ff ff BBS7 $ff, $da9d da9e: ff ff ff BBS7 $ff, $daa0 daa1: ff ff ff BBS7 $ff, $daa3 daa4: ff ff ff BBS7 $ff, $daa6 daa7: ff ff ff BBS7 $ff, $daa9 daaa: ff ff ff BBS7 $ff, $daac daad: ff ff ff BBS7 $ff, $daaf dab0: ff ff ff BBS7 $ff, $dab2 dab3: ff ff ff BBS7 $ff, $dab5 dab6: ff ff ff BBS7 $ff, $dab8 dab9: ff ff ff BBS7 $ff, $dabb dabc: ff ff ff BBS7 $ff, $dabe dabf: ff ff ff BBS7 $ff, $dac1 dac2: ff ff ff BBS7 $ff, $dac4 dac5: ff ff ff BBS7 $ff, $dac7 dac8: ff ff ff BBS7 $ff, $daca dacb: ff ff ff BBS7 $ff, $dacd dace: ff ff ff BBS7 $ff, $dad0 dad1: ff ff ff BBS7 $ff, $dad3 dad4: ff ff ff BBS7 $ff, $dad6 dad7: ff ff ff BBS7 $ff, $dad9 dada: ff ff ff BBS7 $ff, $dadc dadd: ff ff ff BBS7 $ff, $dadf dae0: ff ff ff BBS7 $ff, $dae2 dae3: ff ff ff BBS7 $ff, $dae5 dae6: ff ff ff BBS7 $ff, $dae8 dae9: ff ff ff BBS7 $ff, $daeb daec: ff ff ff BBS7 $ff, $daee daef: ff ff ff BBS7 $ff, $daf1 daf2: ff ff ff BBS7 $ff, $daf4 daf5: ff ff ff BBS7 $ff, $daf7 daf8: ff ff ff BBS7 $ff, $dafa dafb: ff ff ff BBS7 $ff, $dafd dafe: ff ff ff BBS7 $ff, $db00 db01: ff ff ff BBS7 $ff, $db03 db04: ff ff ff BBS7 $ff, $db06 db07: ff ff ff BBS7 $ff, $db09 db0a: ff ff ff BBS7 $ff, $db0c db0d: ff ff ff BBS7 $ff, $db0f db10: ff ff ff BBS7 $ff, $db12 db13: ff ff ff BBS7 $ff, $db15 db16: ff ff ff BBS7 $ff, $db18 db19: ff ff ff BBS7 $ff, $db1b db1c: ff ff ff BBS7 $ff, $db1e db1f: ff ff ff BBS7 $ff, $db21 db22: ff ff ff BBS7 $ff, $db24 db25: ff ff ff BBS7 $ff, $db27 db28: ff ff ff BBS7 $ff, $db2a db2b: ff ff ff BBS7 $ff, $db2d db2e: ff ff ff BBS7 $ff, $db30 db31: ff ff ff BBS7 $ff, $db33 db34: ff ff ff BBS7 $ff, $db36 db37: ff ff ff BBS7 $ff, $db39 db3a: ff ff ff BBS7 $ff, $db3c db3d: ff ff ff BBS7 $ff, $db3f db40: ff ff ff BBS7 $ff, $db42 db43: ff ff ff BBS7 $ff, $db45 db46: ff ff ff BBS7 $ff, $db48 db49: ff ff ff BBS7 $ff, $db4b db4c: ff ff ff BBS7 $ff, $db4e db4f: ff ff ff BBS7 $ff, $db51 db52: ff ff ff BBS7 $ff, $db54 db55: ff ff ff BBS7 $ff, $db57 db58: ff ff ff BBS7 $ff, $db5a db5b: ff ff ff BBS7 $ff, $db5d db5e: ff ff ff BBS7 $ff, $db60 db61: ff ff ff BBS7 $ff, $db63 db64: ff ff ff BBS7 $ff, $db66 db67: ff ff ff BBS7 $ff, $db69 db6a: ff ff ff BBS7 $ff, $db6c db6d: ff ff ff BBS7 $ff, $db6f db70: ff ff ff BBS7 $ff, $db72 db73: ff ff ff BBS7 $ff, $db75 db76: ff ff ff BBS7 $ff, $db78 db79: ff ff ff BBS7 $ff, $db7b db7c: ff ff ff BBS7 $ff, $db7e db7f: ff ff ff BBS7 $ff, $db81 db82: ff ff ff BBS7 $ff, $db84 db85: ff ff ff BBS7 $ff, $db87 db88: ff ff ff BBS7 $ff, $db8a db8b: ff ff ff BBS7 $ff, $db8d db8e: ff ff ff BBS7 $ff, $db90 db91: ff ff ff BBS7 $ff, $db93 db94: ff ff ff BBS7 $ff, $db96 db97: ff ff ff BBS7 $ff, $db99 db9a: ff ff ff BBS7 $ff, $db9c db9d: ff ff ff BBS7 $ff, $db9f dba0: ff ff ff BBS7 $ff, $dba2 dba3: ff ff ff BBS7 $ff, $dba5 dba6: ff ff ff BBS7 $ff, $dba8 dba9: ff ff ff BBS7 $ff, $dbab dbac: ff ff ff BBS7 $ff, $dbae dbaf: ff ff ff BBS7 $ff, $dbb1 dbb2: ff ff ff BBS7 $ff, $dbb4 dbb5: ff ff ff BBS7 $ff, $dbb7 dbb8: ff ff ff BBS7 $ff, $dbba dbbb: ff ff ff BBS7 $ff, $dbbd dbbe: ff ff ff BBS7 $ff, $dbc0 dbc1: ff ff ff BBS7 $ff, $dbc3 dbc4: ff ff ff BBS7 $ff, $dbc6 dbc7: ff ff ff BBS7 $ff, $dbc9 dbca: ff ff ff BBS7 $ff, $dbcc dbcd: ff ff ff BBS7 $ff, $dbcf dbd0: ff ff ff BBS7 $ff, $dbd2 dbd3: ff ff ff BBS7 $ff, $dbd5 dbd6: ff ff ff BBS7 $ff, $dbd8 dbd9: ff ff ff BBS7 $ff, $dbdb dbdc: ff ff ff BBS7 $ff, $dbde dbdf: ff ff ff BBS7 $ff, $dbe1 dbe2: ff ff ff BBS7 $ff, $dbe4 dbe5: ff ff ff BBS7 $ff, $dbe7 dbe8: ff ff ff BBS7 $ff, $dbea dbeb: ff ff ff BBS7 $ff, $dbed dbee: ff ff ff BBS7 $ff, $dbf0 dbf1: ff ff ff BBS7 $ff, $dbf3 dbf4: ff ff ff BBS7 $ff, $dbf6 dbf7: ff ff ff BBS7 $ff, $dbf9 dbfa: ff ff ff BBS7 $ff, $dbfc dbfd: ff ff ff BBS7 $ff, $dbff dc00: ff ff ff BBS7 $ff, $dc02 dc03: ff ff ff BBS7 $ff, $dc05 dc06: ff ff ff BBS7 $ff, $dc08 dc09: ff ff ff BBS7 $ff, $dc0b dc0c: ff ff ff BBS7 $ff, $dc0e dc0f: ff ff ff BBS7 $ff, $dc11 dc12: ff ff ff BBS7 $ff, $dc14 dc15: ff ff ff BBS7 $ff, $dc17 dc18: ff ff ff BBS7 $ff, $dc1a dc1b: ff ff ff BBS7 $ff, $dc1d dc1e: ff ff ff BBS7 $ff, $dc20 dc21: ff ff ff BBS7 $ff, $dc23 dc24: ff ff ff BBS7 $ff, $dc26 dc27: ff ff ff BBS7 $ff, $dc29 dc2a: ff ff ff BBS7 $ff, $dc2c dc2d: ff ff ff BBS7 $ff, $dc2f dc30: ff ff ff BBS7 $ff, $dc32 dc33: ff ff ff BBS7 $ff, $dc35 dc36: ff ff ff BBS7 $ff, $dc38 dc39: ff ff ff BBS7 $ff, $dc3b dc3c: ff ff ff BBS7 $ff, $dc3e dc3f: ff ff ff BBS7 $ff, $dc41 dc42: ff ff ff BBS7 $ff, $dc44 dc45: ff ff ff BBS7 $ff, $dc47 dc48: ff ff ff BBS7 $ff, $dc4a dc4b: ff ff ff BBS7 $ff, $dc4d dc4e: ff ff ff BBS7 $ff, $dc50 dc51: ff ff ff BBS7 $ff, $dc53 dc54: ff ff ff BBS7 $ff, $dc56 dc57: ff ff ff BBS7 $ff, $dc59 dc5a: ff ff ff BBS7 $ff, $dc5c dc5d: ff ff ff BBS7 $ff, $dc5f dc60: ff ff ff BBS7 $ff, $dc62 dc63: ff ff ff BBS7 $ff, $dc65 dc66: ff ff ff BBS7 $ff, $dc68 dc69: ff ff ff BBS7 $ff, $dc6b dc6c: ff ff ff BBS7 $ff, $dc6e dc6f: ff ff ff BBS7 $ff, $dc71 dc72: ff ff ff BBS7 $ff, $dc74 dc75: ff ff ff BBS7 $ff, $dc77 dc78: ff ff ff BBS7 $ff, $dc7a dc7b: ff ff ff BBS7 $ff, $dc7d dc7e: ff ff ff BBS7 $ff, $dc80 dc81: ff ff ff BBS7 $ff, $dc83 dc84: ff ff ff BBS7 $ff, $dc86 dc87: ff ff ff BBS7 $ff, $dc89 dc8a: ff ff ff BBS7 $ff, $dc8c dc8d: ff ff ff BBS7 $ff, $dc8f dc90: ff ff ff BBS7 $ff, $dc92 dc93: ff ff ff BBS7 $ff, $dc95 dc96: ff ff ff BBS7 $ff, $dc98 dc99: ff ff ff BBS7 $ff, $dc9b dc9c: ff ff ff BBS7 $ff, $dc9e dc9f: ff ff ff BBS7 $ff, $dca1 dca2: ff ff ff BBS7 $ff, $dca4 dca5: ff ff ff BBS7 $ff, $dca7 dca8: ff ff ff BBS7 $ff, $dcaa dcab: ff ff ff BBS7 $ff, $dcad dcae: ff ff ff BBS7 $ff, $dcb0 dcb1: ff ff ff BBS7 $ff, $dcb3 dcb4: ff ff ff BBS7 $ff, $dcb6 dcb7: ff ff ff BBS7 $ff, $dcb9 dcba: ff ff ff BBS7 $ff, $dcbc dcbd: ff ff ff BBS7 $ff, $dcbf dcc0: ff ff ff BBS7 $ff, $dcc2 dcc3: ff ff ff BBS7 $ff, $dcc5 dcc6: ff ff ff BBS7 $ff, $dcc8 dcc9: ff ff ff BBS7 $ff, $dccb dccc: ff ff ff BBS7 $ff, $dcce dccf: ff ff ff BBS7 $ff, $dcd1 dcd2: ff ff ff BBS7 $ff, $dcd4 dcd5: ff ff ff BBS7 $ff, $dcd7 dcd8: ff ff ff BBS7 $ff, $dcda dcdb: ff ff ff BBS7 $ff, $dcdd dcde: ff ff ff BBS7 $ff, $dce0 dce1: ff ff ff BBS7 $ff, $dce3 dce4: ff ff ff BBS7 $ff, $dce6 dce7: ff ff ff BBS7 $ff, $dce9 dcea: ff ff ff BBS7 $ff, $dcec dced: ff ff ff BBS7 $ff, $dcef dcf0: ff ff ff BBS7 $ff, $dcf2 dcf3: ff ff ff BBS7 $ff, $dcf5 dcf6: ff ff ff BBS7 $ff, $dcf8 dcf9: ff ff ff BBS7 $ff, $dcfb dcfc: ff ff ff BBS7 $ff, $dcfe dcff: ff ff ff BBS7 $ff, $dd01 dd02: ff ff ff BBS7 $ff, $dd04 dd05: ff ff ff BBS7 $ff, $dd07 dd08: ff ff ff BBS7 $ff, $dd0a dd0b: ff ff ff BBS7 $ff, $dd0d dd0e: ff ff ff BBS7 $ff, $dd10 dd11: ff ff ff BBS7 $ff, $dd13 dd14: ff ff ff BBS7 $ff, $dd16 dd17: ff ff ff BBS7 $ff, $dd19 dd1a: ff ff ff BBS7 $ff, $dd1c dd1d: ff ff ff BBS7 $ff, $dd1f dd20: ff ff ff BBS7 $ff, $dd22 dd23: ff ff ff BBS7 $ff, $dd25 dd26: ff ff ff BBS7 $ff, $dd28 dd29: ff ff ff BBS7 $ff, $dd2b dd2c: ff ff ff BBS7 $ff, $dd2e dd2f: ff ff ff BBS7 $ff, $dd31 dd32: ff ff ff BBS7 $ff, $dd34 dd35: ff ff ff BBS7 $ff, $dd37 dd38: ff ff ff BBS7 $ff, $dd3a dd3b: ff ff ff BBS7 $ff, $dd3d dd3e: ff ff ff BBS7 $ff, $dd40 dd41: ff ff ff BBS7 $ff, $dd43 dd44: ff ff ff BBS7 $ff, $dd46 dd47: ff ff ff BBS7 $ff, $dd49 dd4a: ff ff ff BBS7 $ff, $dd4c dd4d: ff ff ff BBS7 $ff, $dd4f dd50: ff ff ff BBS7 $ff, $dd52 dd53: ff ff ff BBS7 $ff, $dd55 dd56: ff ff ff BBS7 $ff, $dd58 dd59: ff ff ff BBS7 $ff, $dd5b dd5c: ff ff ff BBS7 $ff, $dd5e dd5f: ff ff ff BBS7 $ff, $dd61 dd62: ff ff ff BBS7 $ff, $dd64 dd65: ff ff ff BBS7 $ff, $dd67 dd68: ff ff ff BBS7 $ff, $dd6a dd6b: ff ff ff BBS7 $ff, $dd6d dd6e: ff ff ff BBS7 $ff, $dd70 dd71: ff ff ff BBS7 $ff, $dd73 dd74: ff ff ff BBS7 $ff, $dd76 dd77: ff ff ff BBS7 $ff, $dd79 dd7a: ff ff ff BBS7 $ff, $dd7c dd7d: ff ff ff BBS7 $ff, $dd7f dd80: ff ff ff BBS7 $ff, $dd82 dd83: ff ff ff BBS7 $ff, $dd85 dd86: ff ff ff BBS7 $ff, $dd88 dd89: ff ff ff BBS7 $ff, $dd8b dd8c: ff ff ff BBS7 $ff, $dd8e dd8f: ff ff ff BBS7 $ff, $dd91 dd92: ff ff ff BBS7 $ff, $dd94 dd95: ff ff ff BBS7 $ff, $dd97 dd98: ff ff ff BBS7 $ff, $dd9a dd9b: ff ff ff BBS7 $ff, $dd9d dd9e: ff ff ff BBS7 $ff, $dda0 dda1: ff ff ff BBS7 $ff, $dda3 dda4: ff ff ff BBS7 $ff, $dda6 dda7: ff ff ff BBS7 $ff, $dda9 ddaa: ff ff ff BBS7 $ff, $ddac ddad: ff ff ff BBS7 $ff, $ddaf ddb0: ff ff ff BBS7 $ff, $ddb2 ddb3: ff ff ff BBS7 $ff, $ddb5 ddb6: ff ff ff BBS7 $ff, $ddb8 ddb9: ff ff ff BBS7 $ff, $ddbb ddbc: ff ff ff BBS7 $ff, $ddbe ddbf: ff ff ff BBS7 $ff, $ddc1 ddc2: ff ff ff BBS7 $ff, $ddc4 ddc5: ff ff ff BBS7 $ff, $ddc7 ddc8: ff ff ff BBS7 $ff, $ddca ddcb: ff ff ff BBS7 $ff, $ddcd ddce: ff ff ff BBS7 $ff, $ddd0 ddd1: ff ff ff BBS7 $ff, $ddd3 ddd4: ff ff ff BBS7 $ff, $ddd6 ddd7: ff ff ff BBS7 $ff, $ddd9 ddda: ff ff ff BBS7 $ff, $dddc dddd: ff ff ff BBS7 $ff, $dddf dde0: ff ff ff BBS7 $ff, $dde2 dde3: ff ff ff BBS7 $ff, $dde5 dde6: ff ff ff BBS7 $ff, $dde8 dde9: ff ff ff BBS7 $ff, $ddeb ddec: ff ff ff BBS7 $ff, $ddee ddef: ff ff ff BBS7 $ff, $ddf1 ddf2: ff ff ff BBS7 $ff, $ddf4 ddf5: ff ff ff BBS7 $ff, $ddf7 ddf8: ff ff ff BBS7 $ff, $ddfa ddfb: ff ff ff BBS7 $ff, $ddfd ddfe: ff ff ff BBS7 $ff, $de00 de01: ff ff ff BBS7 $ff, $de03 de04: ff ff ff BBS7 $ff, $de06 de07: ff ff ff BBS7 $ff, $de09 de0a: ff ff ff BBS7 $ff, $de0c de0d: ff ff ff BBS7 $ff, $de0f de10: ff ff ff BBS7 $ff, $de12 de13: ff ff ff BBS7 $ff, $de15 de16: ff ff ff BBS7 $ff, $de18 de19: ff ff ff BBS7 $ff, $de1b de1c: ff ff ff BBS7 $ff, $de1e de1f: ff ff ff BBS7 $ff, $de21 de22: ff ff ff BBS7 $ff, $de24 de25: ff ff ff BBS7 $ff, $de27 de28: ff ff ff BBS7 $ff, $de2a de2b: ff ff ff BBS7 $ff, $de2d de2e: ff ff ff BBS7 $ff, $de30 de31: ff ff ff BBS7 $ff, $de33 de34: ff ff ff BBS7 $ff, $de36 de37: ff ff ff BBS7 $ff, $de39 de3a: ff ff ff BBS7 $ff, $de3c de3d: ff ff ff BBS7 $ff, $de3f de40: ff ff ff BBS7 $ff, $de42 de43: ff ff ff BBS7 $ff, $de45 de46: ff ff ff BBS7 $ff, $de48 de49: ff ff ff BBS7 $ff, $de4b de4c: ff ff ff BBS7 $ff, $de4e de4f: ff ff ff BBS7 $ff, $de51 de52: ff ff ff BBS7 $ff, $de54 de55: ff ff ff BBS7 $ff, $de57 de58: ff ff ff BBS7 $ff, $de5a de5b: ff ff ff BBS7 $ff, $de5d de5e: ff ff ff BBS7 $ff, $de60 de61: ff ff ff BBS7 $ff, $de63 de64: ff ff ff BBS7 $ff, $de66 de67: ff ff ff BBS7 $ff, $de69 de6a: ff ff ff BBS7 $ff, $de6c de6d: ff ff ff BBS7 $ff, $de6f de70: ff ff ff BBS7 $ff, $de72 de73: ff ff ff BBS7 $ff, $de75 de76: ff ff ff BBS7 $ff, $de78 de79: ff ff ff BBS7 $ff, $de7b de7c: ff ff ff BBS7 $ff, $de7e de7f: ff ff ff BBS7 $ff, $de81 de82: ff ff ff BBS7 $ff, $de84 de85: ff ff ff BBS7 $ff, $de87 de88: ff ff ff BBS7 $ff, $de8a de8b: ff ff ff BBS7 $ff, $de8d de8e: ff ff ff BBS7 $ff, $de90 de91: ff ff ff BBS7 $ff, $de93 de94: ff ff ff BBS7 $ff, $de96 de97: ff ff ff BBS7 $ff, $de99 de9a: ff ff ff BBS7 $ff, $de9c de9d: ff ff ff BBS7 $ff, $de9f dea0: ff ff ff BBS7 $ff, $dea2 dea3: ff ff ff BBS7 $ff, $dea5 dea6: ff ff ff BBS7 $ff, $dea8 dea9: ff ff ff BBS7 $ff, $deab deac: ff ff ff BBS7 $ff, $deae deaf: ff ff ff BBS7 $ff, $deb1 deb2: ff ff ff BBS7 $ff, $deb4 deb5: ff ff ff BBS7 $ff, $deb7 deb8: ff ff ff BBS7 $ff, $deba debb: ff ff ff BBS7 $ff, $debd debe: ff ff ff BBS7 $ff, $dec0 dec1: ff ff ff BBS7 $ff, $dec3 dec4: ff ff ff BBS7 $ff, $dec6 dec7: ff ff ff BBS7 $ff, $dec9 deca: ff ff ff BBS7 $ff, $decc decd: ff ff ff BBS7 $ff, $decf ded0: ff ff ff BBS7 $ff, $ded2 ded3: ff ff ff BBS7 $ff, $ded5 ded6: ff ff ff BBS7 $ff, $ded8 ded9: ff ff ff BBS7 $ff, $dedb dedc: ff ff ff BBS7 $ff, $dede dedf: ff ff ff BBS7 $ff, $dee1 dee2: ff ff ff BBS7 $ff, $dee4 dee5: ff ff ff BBS7 $ff, $dee7 dee8: ff ff ff BBS7 $ff, $deea deeb: ff ff ff BBS7 $ff, $deed deee: ff ff ff BBS7 $ff, $def0 def1: ff ff ff BBS7 $ff, $def3 def4: ff ff ff BBS7 $ff, $def6 def7: ff ff ff BBS7 $ff, $def9 defa: ff ff ff BBS7 $ff, $defc defd: ff ff ff BBS7 $ff, $deff df00: ff ff ff BBS7 $ff, $df02 df03: ff ff ff BBS7 $ff, $df05 df06: ff ff ff BBS7 $ff, $df08 df09: ff ff ff BBS7 $ff, $df0b df0c: ff ff ff BBS7 $ff, $df0e df0f: ff ff ff BBS7 $ff, $df11 df12: ff ff ff BBS7 $ff, $df14 df15: ff ff ff BBS7 $ff, $df17 df18: ff ff ff BBS7 $ff, $df1a df1b: ff ff ff BBS7 $ff, $df1d df1e: ff ff ff BBS7 $ff, $df20 df21: ff ff ff BBS7 $ff, $df23 df24: ff ff ff BBS7 $ff, $df26 df27: ff ff ff BBS7 $ff, $df29 df2a: ff ff ff BBS7 $ff, $df2c df2d: ff ff ff BBS7 $ff, $df2f df30: ff ff ff BBS7 $ff, $df32 df33: ff ff ff BBS7 $ff, $df35 df36: ff ff ff BBS7 $ff, $df38 df39: ff ff ff BBS7 $ff, $df3b df3c: ff ff ff BBS7 $ff, $df3e df3f: ff ff ff BBS7 $ff, $df41 df42: ff ff ff BBS7 $ff, $df44 df45: ff ff ff BBS7 $ff, $df47 df48: ff ff ff BBS7 $ff, $df4a df4b: ff ff ff BBS7 $ff, $df4d df4e: ff ff ff BBS7 $ff, $df50 df51: ff ff ff BBS7 $ff, $df53 df54: ff ff ff BBS7 $ff, $df56 df57: ff ff ff BBS7 $ff, $df59 df5a: ff ff ff BBS7 $ff, $df5c df5d: ff ff ff BBS7 $ff, $df5f df60: ff ff ff BBS7 $ff, $df62 df63: ff ff ff BBS7 $ff, $df65 df66: ff ff ff BBS7 $ff, $df68 df69: ff ff ff BBS7 $ff, $df6b df6c: ff ff ff BBS7 $ff, $df6e df6f: ff ff ff BBS7 $ff, $df71 df72: ff ff ff BBS7 $ff, $df74 df75: ff ff ff BBS7 $ff, $df77 df78: ff ff ff BBS7 $ff, $df7a df7b: ff ff ff BBS7 $ff, $df7d df7e: ff ff ff BBS7 $ff, $df80 df81: ff ff ff BBS7 $ff, $df83 df84: ff ff ff BBS7 $ff, $df86 df87: ff ff ff BBS7 $ff, $df89 df8a: ff ff ff BBS7 $ff, $df8c df8d: ff ff ff BBS7 $ff, $df8f df90: ff ff ff BBS7 $ff, $df92 df93: ff ff ff BBS7 $ff, $df95 df96: ff ff ff BBS7 $ff, $df98 df99: ff ff ff BBS7 $ff, $df9b df9c: ff ff ff BBS7 $ff, $df9e df9f: ff ff ff BBS7 $ff, $dfa1 dfa2: ff ff ff BBS7 $ff, $dfa4 dfa5: ff ff ff BBS7 $ff, $dfa7 dfa8: ff ff ff BBS7 $ff, $dfaa dfab: ff ff ff BBS7 $ff, $dfad dfae: ff ff ff BBS7 $ff, $dfb0 dfb1: ff ff ff BBS7 $ff, $dfb3 dfb4: ff ff ff BBS7 $ff, $dfb6 dfb7: ff ff ff BBS7 $ff, $dfb9 dfba: ff ff ff BBS7 $ff, $dfbc dfbd: ff ff ff BBS7 $ff, $dfbf dfc0: ff ff ff BBS7 $ff, $dfc2 dfc3: ff ff ff BBS7 $ff, $dfc5 dfc6: ff ff ff BBS7 $ff, $dfc8 dfc9: ff ff ff BBS7 $ff, $dfcb dfcc: ff ff ff BBS7 $ff, $dfce dfcf: ff ff ff BBS7 $ff, $dfd1 dfd2: ff ff ff BBS7 $ff, $dfd4 dfd5: ff ff ff BBS7 $ff, $dfd7 dfd8: ff ff ff BBS7 $ff, $dfda dfdb: ff ff ff BBS7 $ff, $dfdd dfde: ff ff ff BBS7 $ff, $dfe0 dfe1: ff ff ff BBS7 $ff, $dfe3 dfe4: ff ff ff BBS7 $ff, $dfe6 dfe7: ff ff ff BBS7 $ff, $dfe9 dfea: ff ff ff BBS7 $ff, $dfec dfed: ff ff ff BBS7 $ff, $dfef dff0: ff ff ff BBS7 $ff, $dff2 dff3: ff ff ff BBS7 $ff, $dff5 dff6: ff ff ff BBS7 $ff, $dff8 dff9: ff ff ff BBS7 $ff, $dffb dffc: ff ff ff BBS7 $ff, $dffe dfff: ff 80 40 BBS7 $80, $e042