Mercurial > hg > Members > kono > nitros9-code
diff level2/cmds/grfdrv.asm @ 0:6641a883d6b0
Initial revision
author | boisy |
---|---|
date | Thu, 04 Apr 2002 16:34:12 +0000 |
parents | |
children | 9edb1a203a78 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/level2/cmds/grfdrv.asm Thu Apr 04 16:34:12 2002 +0000 @@ -0,0 +1,3977 @@ + nam GrfDrv + ttl os9 system module + +* Disassembled 98/09/22 22:15:01 by Disasm v1.6 (C) 1988 by RML + + ifp1 + use defsfile + endc + +tylg set Systm+Objct +atrv set ReEnt+rev +rev set $01 +edition set 18 + + mod eom,name,tylg,atrv,start,size + +u0000 rmb 0 +size equ . + fcb $07 + +name fcs /GrfDrv/ + fcb edition + +start ldx #FlipSys+MemPos get return vector address + pshs x,b,a save it and call # + tfr u,d set up my DP + tfr a,dp + leax <L002B,pcr point to call vector table + ldb $01,s get call # + ldd b,x get offset + leax d,x point to routine + puls b,a purge stack + jmp ,x execute routine + +****************************** +* +* GrfDrv funtcion vector table +* + +L002B fdb $0060 + fdb $00b9 + fdb $0143 + fdb $0331 + fdb $0335 + fdb $03cf + fdb $0485 + fdb $04b2 + fdb $06ce + fdb $054e + fdb $0629 + fdb $0604 + fdb $0575 + fdb $05bd + fdb $0613 + fdb $05d4 + fdb $0631 + fdb $0653 + fdb $05f7 + fdb $06c1 + fdb $06c6 + fdb $06ca + fdb $07d6 + fdb $091f + fdb $0a15 + fdb $0a4d + fdb $0a7f + fdb $0b9b + fdb $0dfa + fdb $0e3b + fdb $102a + fdb $1031 + fdb $1361 + fdb $103d + fdb $13df + fdb $13c6 + fdb $1544 + fdb $1550 + fdb $1674 + fdb $1779 + fdb $17c1 + fdb $1831 + fdb $17D0 + fdb $1bf1 + fdb $167a + fdb $17bc + fdb $182c + fdb $150b + +Init tst >g0038 am I initalized already? + bmi L00E2 yes, return + lda #$FF get init code + sta <$0038 save it + +* Initialize window tables + + leax >$0180,u point to window table start position + ldb #$FF get init code + ldy #32 get max # windows +L009D std ,x initalize window +L009F leax <Wt.Siz,x point to next one + leay -$01,y done? + bne L009D no, keep going + +* Initialize screen tables + + leay <16,y get # of screen tables +L00A9 clr St.SBlk,x initialize table entry block # + leax <St.Siz,x move to next one + leay -$01,y done? + bne L00A9 no keep going + leax <$18,x get end of var pointer + stx <$003B save it + clra + clrb + std <$0030 init current screen table pointer + std <$002E init current window table pointer + stb <$0032 init next GP buffer block start # + stb <$0035 + std <$0039 + std <$003D + std <$003F + incb + std <$00B3 + ldb #$20 + std <$00B5 + exg a,b + std <$00B7 + lda #$7E get opcode for JMP instruction + ldx #$414F get address of window switch vector + sta <$00B9 save it for easier access + stx <$00BA + ldx #$4154 get address of GP buffer MMU load + sta <$00BC + stx <$00BD +L00E2 clrb clear errors + rts return + +****************************** +* +* Terminatione routine +* + +L00E4 clr <$0038 clear init flag + clr <$007D clear any buffer block # + ldb <$0032 any GP buffers used? + beq L00F3 no, exit + ldx <$0033 get GP buffer offset + lbsr L0963 delete them + bcc L00E4 keep going till done +L00F3 rts + +****************************** +* +* Swap back to System +* + +L00F4 pshs cc save IRQ status + orcc #IntMasks disable IRQ's + ldx >$1007 get my stack pointer + clr >$1002 clear map side + clra reset DP + tfr a,dp + puls a purge stack + jmp [>D.Flip0] return to system + +****************************** +* +* Setup MMU for a window change +* + +L0107 pshs y,x,b,a preserve regs + ldx -$10,y get screen table pointer + stx 2,s save it in X on stack +L010D leay Wt.POff,y move to PSet offset + ldd $07,y get LSet vector + std <$0064 save LSet vector for this window + ldd $05,y get LSet table pointer + std <$0068 save it for this window + ldd -$09,y get fore/back colors + std <$0061 save 'em for this window + ldd $0C,y get max X coordinate + std <$006A save it for this window + ldd $0E,y get max Y coordinate + std <$006C save it for this window + ldb St.Sty,x get screen type + andb #$8F keep only what we need + stb <$0060 save it for this window + ldb St.BRow,x get # bytes per row + stb <$0063 save it for this window + ldb St.SBlk,x get 1st block # +L012F leax >$008F,u point to my DAT images' 4th entry + ldy #$FFAC get MMU start + clra get block type +L0138 std ,x++ save it to my image + stb ,y+ save it to MMU + incb get next block # + cmpy #$FFAF done? + bls L0138 no, keep going + puls pc,y,x,b,a restore & return + +****************************** +* +* Setup MMU +* + +L0145 pshs y,x,b,a + bra L012F + +L0149 pshs y,x,b,a + ldx -$10,y + bra L010D + bsr L0107 + lbra L13FB + clr <$0089 + stb <$008A + stb >$FFA9 + rts +L015C pshs a + os9 F$AllRAM + puls pc,a +L0163 pshs a + os9 F$AlHRAM + puls pc,a +L016A os9 F$DelRAM + rts + bsr L0198 + bcs L0197 + lda <$0060 + cmpa #$FF + bne L0182 + lda [<-$10,y] + sta <$0060 + lbsr L13FB + bra L0187 +L0182 lbsr L01D5 + bcs L0197 +L0187 lbsr L0107 + lbsr L02EE + lda #$FF + sta -$0E,y + ldb $08,y + lbsr L129C + clrb +L0197 rts +L0198 lda <$0060 + cmpa #$FF + bne L01A1 + lda [<-$10,y] +L01A1 leax <L01CF,pcr + anda #$01 + ldb -$0B,y + cmpb a,x + bhi L01CB + addb -$09,y + cmpb a,x + bhi L01CB + lda [<-$10,y] + anda #$30 + ldb #$10 + mul + ldb -$0A,y + leax <L01D1,pcr + cmpb a,x + bhi L01CB + addb -$08,y + cmpb a,x + bhi L01CB + clrb + rts +L01CB comb + ldb #$BD + rts +L01CF bvc L0221 +L01D1 fcb $18 + daa + rora + rora +L01D5 bsr L01F4 + bcs L01F3 + stx -$10,y + ldb <$0060 + stb ,x + bsr L0208 + bcs L01F3 + ldb <$005A + stb $05,x + lbsr L06D2 + stb $06,x + lbsr L02A0 + lbsr L0640 +L01F2 clrb +L01F3 rts +L01F4 leax >$0980,u + ldb #$10 +L01FA tst $01,x + beq L01F2 + leax <$20,x + decb + bne L01FA + comb + ldb #$C1 + rts +L0208 pshs y + ldb <$0060 + bpl L0228 + leay >$0980,u + lda #$10 +L0214 tst ,y + bpl L0220 + ldb $01,y + beq L0220 + bsr L026F + bcc L0247 +L0220 leay <$20,y + deca + bne L0214 + ldb <$0060 +L0228 leay <L0262,pcr + andb #$0F + ldb b,y + lbsr L0163 + bcs L0258 + ldy #$8000 + pshs y,b + lbsr L0145 + ldb #$FF +L023F stb ,y + bsr L025A + bcs L023F + puls y,b +L0247 stb $01,x + sty $02,x + lda <$0060 + anda #$0F + leay <L0268,pcr + lda a,y + sta $04,x + clrb +L0258 puls pc,y +L025A leay >$0800,y + cmpy #$A000 +L0262 rts + aim #$02,<$0004 + lsr <$0001 +L0268 oim #$50,<$0050 + suba ,y+ + suba -$10,u +L026F pshs y,x,b,a + lbsr L0145 + ldy #$8000 + ldb #$FF +L027A cmpb ,y + beq L0285 +L027E bsr L025A + bcs L027A +L0282 comb + puls pc,y,x,b,a +L0285 lda <$0060 + anda #$8F + cmpa #$86 + beq L029A + leax >$0800,y + cmpx #$A000 + bcc L0282 + cmpb ,x + bne L027E +L029A clrb + puls x,b,a + leas $02,s + rts +L02A0 pshs y,x + stb <$0097 + stb <$0098 + lda ,x + bpl L02AE + ldb #$20 + stb <$0097 +L02AE pshs x + ldd -$0B,y + bne L02C9 + ldb ,x + leax >L01CF,pcr + andb #$01 + abx + ldd -$09,y + cmpa ,x + bne L02C9 + cmpb #$18 + bne L02C9 + puls pc,y,x,b,a +L02C9 puls x + ldy $02,x + lda ,x + anda #$0F + lsla + leax <L02E0,pcr + ldx a,x + ldd <$0097 +L02DA std ,y++ + leax -$01,x + bne L02DA +L02E0 puls pc,y,x + tfr s,d + tfr s,d + fcb $3E > + suba #$3E + suba #$07 + subb <$0003 + eorb -$0C,y + clrd + sta <$18,y + sta $0A,y + sta $0E,y + ldx #$5F9A + stx <$14,y + ldx #$5F83 + stx <$16,y + lda #$89 + sta $09,y + bsr L0325 + stb <$0061 + bsr L032F + stb <$0062 + lbsr L06DC + puls x + ldd $02,x + bsr L0337 + clr $0B,y + ldd #$C801 + std <$0057 + lbsr L05A2 + clrb + rts +L0325 ldb $06,y + lbsr L0698 + stb $06,y + rts +L032D bsr L0325 +L032F ldb $07,y + lbsr L0698 + stb $07,y + rts +L0337 lbsr L04ED + ldd -$0D,y + std <$24,y + ldd -$0B,y + std <$26,y + clr -$0B,y + clr -$0A,y + ldd -$09,y + std <$28,y + rts +L034E tsta + beq L0355 + orb $09,y + bra L0358 +L0355 comb + andb $09,y +L0358 stb $09,y + bra L038E + ldb #$01 + bra L034E + jsr <$00B9 + ldd #$FFFE + std -$10,y + bsr L0390 + bcs L0387 + bsr L03A8 + cmpy <$002E + bne L038E + clra + clrb + std <$002E + std <$0030 + ldx #$FFB0 + ldd #$1008 + stb >$FF9A +L0381 stb ,x+ + deca + bhi L0381 + rts +L0387 ldb $06,x + stb <$0062 + lbsr L129C +L038E clrb + rts +L0390 pshs y + leay >$0190,u + ldb #$20 +L0398 cmpx -$10,y + beq L03A5 + leay <$40,y + decb + bne L0398 + clrb + bra L03A6 +L03A5 comb +L03A6 puls pc,y +L03A8 pshs y + lda ,x + bpl L03D0 + ldy $02,x + ldb #$FF + stb ,y + anda #$CF + cmpa #$85 + bne L03BF + stb >$0800,y +L03BF ldy #$8000 +L03C3 cmpb ,y + bne L03E6 + lbsr L025A + bcs L03C3 + ldb #$01 + bra L03D8 +L03D0 anda #$0F + leay >L0262,pcr + ldb a,y +L03D8 pshs x,b + clra + ldb $01,x + tfr d,x + puls b + lbsr L016A + puls x +L03E6 clr $01,x + puls pc,y +L03EA puls b,a + pshs y,b,a + ldb -$0E,y + lda #$40 + mul + leay >$0190,u + leay d,y + rts + bsr L03EA + jsr <$00B9 + tfr y,d + ldy ,s + std ,s + bsr L042D + bcs L042B + ldd -$10,x + std -$10,y + lbsr L0149 + bsr L045C + tst <$0059 + beq L0421 + bsr L048E + bcs L042B + ldb $07,y + stb <$0062 + lbsr L129C +L0421 ldx ,s + cmpx <$002E + bne L042A + sty <$002E +L042A clrb +L042B puls pc,x +L042D bsr L044A +L042F ldb -$0B,y + bmi L0447 + addb -$09,y + cmpb <$28,x + bhi L0447 + ldb -$0A,y + bmi L0447 + addb -$08,y + cmpb <$29,x + bhi L0447 + clrb + rts +L0447 lbra L01CB +L044A tfr y,x +L044C ldb -$0E,x + bmi L045B + leax >$0190,u + lda #$40 + mul + leax d,x + bra L044C +L045B rts +L045C clr <$11,y + lda $09,x + sta $09,y + lbsr L06DC + lda $08,x + anda #$C0 + ora $08,y + sta $08,y + ldd #$050A + bsr L0481 + ldd #$0714 + bsr L0481 + lbsr L032D + ldd -$0D,x + lbsr L0337 + rts +L0481 pshs a +L0483 lda b,x + sta b,y + incb + dec ,s + bne L0483 + puls pc,a +L048E pshs x + clra + ldb -$09,y + tst <$0060 + bmi L049A + lda #$08 + mul +L049A std <$004F + clra + ldb -$08,y + tst <$0060 + bmi L04A6 + lslb + lslb + lslb +L04A6 std <$0051 + clrb + std <$0047 + lbsr L0AF5 + puls pc,x + jsr <$00B9 + cmpy <$002E + bne L04BF + lbsr L03EA + sty <$002E + puls y +L04BF ldb <$11,y + beq L04D6 + jsr <$00BC + stb <$007D + ldd <$12,y + std <$007E + lbsr L0C01 + lbsr L084C + lbsr L0963 +L04D6 ldd #$FFFF + std -$10,y + bra L04EB + jsr <$00B9 + tfr y,x + lbsr L042F + bcs L04EC + ldd <$24,y + bsr L04ED +L04EB clrb +L04EC rts +L04ED pshs x,b,a + ldb <$0060 + andb #$0F + leax >L0548,pcr + ldb b,x + stb $03,y + lda -$09,y + mul + stb $02,y + clra + ldb <$0063 + tst <$0060 + bmi L050A + lda #$08 + mul +L050A std $04,y + ldb -$0A,y + ldx $04,y + lbsr L1E21 + std <$0097 + lda -$0B,y + ldb $03,y + mul + addd ,s++ + addd <$0097 + std -$0D,y + lbsr L10A7 + ldb <$0060 + bmi L0529 + bsr L054F +L0529 clra + ldb -$09,y + tst <$0060 + bmi L0533 + lda #$08 + mul +L0533 subd <$00B3 + std <$1B,y + clra + ldb -$08,y + tst <$0060 + bmi L0542 + lda #$08 + mul +L0542 subb #$01 + std <$1D,y + puls pc,x + oim #$02,<$0002 + lsr <$0002 + aim #$34,<$0010 + clra + ldb -$09,y + tfr d,x + lda #$03 + mul + pshs b + ldb #$33 + lbsr L1E00 + addb ,s+ + stb -$07,y + clra + ldb -$08,y + tfr d,x + lda #$0A + mul + pshs b + ldb #$AB + lbsr L1E00 + addb ,s+ + stb -$06,y + puls pc,x + ldb <$0057 + bne L0584 + stb $0E,y + ldx #$5F83 + bra L059B +L0584 lbsr L0851 + bcs L059F + stb $0E,y + leax <$20,x + stx $0F,y + ldx -$10,y + ldb ,x + ldx #$5F0A + ldb b,x + leax b,x +L059B stx <$16,y +L059E clrb +L059F rts + jsr <$00B9 +L05A2 ldb <$0057 + bne L05A9 + stb $0B,y + rts +L05A9 lbsr L0F31 + lbsr L0851 + bcs L05E2 + pshs x,b + ldd $07,x + tsta + bne L05E3 + cmpb #$06 + beq L05C0 + cmpb #$08 + bne L05E3 +L05C0 ldd $09,x + cmpd #$0008 + bne L05E3 + stb $0B,x + ldd $07,x + cmpd <$006E + beq L05DB + tst $0B,y + beq L05DB + lbsr L112D + lbsr L1119 +L05DB puls x,b + stb $0B,y + stx $0C,y + clrb +L05E2 rts +L05E3 ldb #$C2 + coma + puls pc,x,a + jsr <$00B9 + ldb <$0057 + bne L05F2 + stb <$18,y + rts +L05F2 lbsr L0851 + bcs L059F + stb <$18,y + stx <$19,y + bra L059E + leax <L0616,pcr + ldb $0A,y + cmpb #$05 + bhi L0612 + lslb + ldd b,x + leax d,x + stx <$14,y + bra L062D +L0612 comb + ldb #$BB + rts +L0616 daa + anda #$19 + sbca #$19 + adca #$19 + jmp >$1972 + daa + ror >$E629 + orb #$80 + tsta + beq L062B + andb #$7F +L062B stb $09,y +L062D clrb + rts + ldb <$0086 + ldx -$10,y + leax <$10,x + lda <$005A + anda #$0F + stb a,x + bra L062D + ldx -$10,y +L0640 pshs y,x + leay <$10,x + ldx >$1019 + clra +L0649 ldb ,x+ + stb a,y + inca + cmpa #$0F + ble L0649 + puls pc,y,x + ldb <$005A + ldx -$10,y + stb $05,x + bra L0696 + bsr L0673 + stb $06,y + ldb $09,y + bitb #$04 + bne L0688 +L0666 ldb <$005A + lslb + lslb + lslb + andb #$38 + lda $08,y + anda #$C7 + bra L0690 +L0673 ldx -$10,y + ldb ,x + stb <$0060 + ldb <$005A + bsr L0698 + rts + bsr L0673 + stb $07,y + ldb $09,y + bitb #$04 + bne L0666 +L0688 ldb <$005A + andb #$07 + lda $08,y + anda #$F8 +L0690 stb <$0097 + ora <$0097 + sta $08,y +L0696 clrb + rts +L0698 pshs x,a + lda <$0060 + bmi L06A2 + tfr b,a + bsr L06AC +L06A2 puls pc,x,a +L06A4 leax <L06B4,pcr + ldb <$0060 + ldb b,x + rts +L06AC bsr L06A4 + leax b,x + anda ,x+ + ldb a,x +L06B4 rts + eim #$08,<$0008 + tst <$0001 + neg <$00FF + com <$0000 + fcb $55 U + ora [>$0F00] + fcb $11 + bhi L06F9 + lsra + fcb $55 U + ror -$09,s + eora #$99 + ora [d,y] + ldd #$DDEE + stu >$6D84 + bpl L06D9 + andb #$07 + rts +L06D9 bsr L0698 + rts +L06DC ldd $06,y + anda #$07 + lsla + lsla + lsla + andb #$07 + stb <$0097 + ora <$0097 + sta $08,y + rts + ldb #$10 +L06EE lbra L034E + ldb #$08 + bra L06EE + ldb #$20 + bra L06EE +L06F9 ldx <$002E + pshs y,x + ldy -$10,y + lda $01,y + ldx $02,y + lbsr L07E9 + ldx #$FF90 + ldb >$0090 + andb #$7F + stb >$0090 + stb ,x + leax <L078D,pcr + ldb ,y + andb #$0F + lslb + abx + lda >$0098 + anda #$78 + ora ,x+ + ldb ,y + andb #$10 + lslb + orb ,x + ldx #$FF90 + std >$0098 + std $08,x + ldd <$0082 + lsra + rorb + ror <$0084 + lsra + rorb + ror <$0084 + lsra + rorb + ror <$0084 + clra + std >$009C + std $0C,x + lda <$0084 + clrb + std >$009E + std $0E,x + ldb $05,y + leay <$10,y + ldb b,y + stb >$009A + bsr L079B + stb $0A,x + ldx #$FFB0 + lda #$10 +L0762 ldb ,y+ + bsr L079B + stb ,x+ + deca + bhi L0762 + ldy ,s++ + beq L0772 + jsr <$00B9 +L0772 puls y + lbsr L0107 + sty <$002E + stx <$0030 + ldb >$1000 + stb >$1001 + ldd <$003D + std <$005B + ldd <$003F + std <$005D + lbsr L142A +L078D clrb + rts + suba #$14 + suba #$15 + suba #$1D + suba #$1E + com <$0015 + com <$0005 +L079B pshs x + tst >$1009 + bne L07A7 + leax <L07A9,pcr + ldb b,x +L07A7 puls pc,x +L07A9 + + fcb $03 + fdb $0534,$107d,$1009 + fdb $2605,$308c,$04e6,$8535,$9000,$0c02,$0e07,$0905 + fdb $101c,$2c0d,$1d0b,$1b0a,$2b22,$1112,$2103,$0113 + fdb $321e,$2d1f,$2e0f,$3c2f,$3d17,$0815,$0627,$1626 + fdb $3619,$2a1a,$3a18,$2928,$3814 + fdb $0423,$3325,$3524 + fdb $3420,$3b31,$3e37,$393f + fcb $30 + +L07E9 clrb + lsra + rorb + lsra + rorb +L07EE lsra + rorb + std <$0082 + clr <$0084 + tfr x,d + suba #$80 + addd <$0083 + std <$0083 + bcc L0800 + inc <$0082 +L0800 rts +L0801 ldd <$0080 + addd #$001F +L0806 andb #$E0 + std <$0080 + ldb <$0057 + cmpb #$FF + beq L0818 + tst <$0032 + beq L0818 + bsr L0851 + bcc L0848 +L0818 ldd <$0080 + cmpd <$00B7 + bhi L0829 + bsr L0891 + bcs L0829 + lda #$01 + sta $0F,x + bra L082E +L0829 lbsr L08C1 + bcs L0847 +L082E stb <$007D + stx <$007E + lbsr L090D + ldd <$0057 + std $03,x + ldd <$0080 + std $05,x + clra + clrb + std $07,x + std $09,x + std $0C,x + stb $0E,x +L0847 rts +L0848 comb + ldb #$C2 + rts +L084C leax <L0860,pcr + bra L0854 +L0851 leax <L086A,pcr +L0854 stx <$00A1 + bsr L088A + ldb <$0032 + beq L0848 + ldx <$0033 + bra L0882 +L0860 cmpb <$11,y + bne L0878 + cmpx <$12,y + bra L0876 +L086A lda <$0057 + cmpa $03,x + bne L0878 + lda <$0058 + beq L0888 + cmpa $04,x +L0876 beq L0888 +L0878 stb <$007D + stx <$007E + ldb ,x + beq L0848 + ldx $01,x +L0882 jsr <$00BC + jmp [>$00A1,u] +L0888 clra + rts +L088A clra + clrb + stb <$007D + std <$007E + rts +L0891 pshs y,b + ldy <$0080 + ldx #$49E2 + stx <$00A1 + lbsr L09D5 + bcs L08BF + stb ,s + ldd $05,x + subd <$0080 + bne L08B5 + pshs x + lbsr L092D + puls x + ldb ,s + jsr <$00BC + bra L08BE +L08B5 subd <$00B5 + std $05,x + leax <$20,x + leax d,x +L08BE clra +L08BF puls pc,y,b +L08C1 ldd <$0080 + addd <$00B5 + std <$0097 + addd #$1FFF + lsra + lsra + lsra + lsra + lsra + tfr a,b + stb <$0099 + lbsr L015C + bcs L090C + pshs b + ldb <$0099 + cmpb #$01 + bhi L0901 + ldd <$00B7 + subd <$0097 + anda #$1F + std <$009B + beq L0901 + ldd <$00B7 + subd <$009B + addd <$00B7 + tfr d,x + ldb ,s + addb <$0099 + decb + jsr <$00BC + bsr L091D + ldd <$009B + subd <$00B5 + std $05,x +L0901 ldx <$00B7 + puls b + jsr <$00BC + lda <$0099 + sta $0F,x + clra +L090C rts +L090D pshs b,a + lda <$0032 + sta ,x + stb <$0032 + ldd <$0033 + std $01,x + stx <$0033 + puls pc,b,a +L091D pshs b,a + lda <$0035 + sta ,x + stb <$0035 + ldd <$0036 + std $01,x + stx <$0036 + puls pc,b,a +L092D pshs y,a + lda ,x + ldy $01,x + ldx <$007E + ldb <$007D + bne L0941 + sta <$0035 + sty <$0036 + bra L0948 +L0941 jsr <$00BC + sta ,x + sty $01,x +L0948 puls pc,y,a + ldb #$01 + stb <$0097 +L094E lbsr L0851 + bcs L095D + clr <$0097 + bsr L0963 + bcs L0962 + ldb <$0058 + beq L094E +L095D lda <$0097 + bne L0962 + clrb +L0962 rts +L0963 pshs y,x,b + lda $0F,x + sta <$009F + lda ,x + ldy $01,x + ldb <$007D + bne L0979 + sta <$0032 + sty <$0033 + bra L0982 +L0979 jsr <$00BC + ldx <$007E + sta ,x + sty $01,x +L0982 ldb ,s + lda <$009F + cmpa #$01 + bgt L09A9 + tfr b,a + bsr L09B3 + bcc L09A0 + leax <L09FA,pcr + stx <$00A1 + ldx $01,s + bsr L09D5 + jsr <$00BC + lbsr L091D + bra L09B1 +L09A0 ldx #$4A23 + stx <$00A1 + ldx $01,s + bsr L09D5 +L09A9 clra + tfr d,x + ldb <$009F + lbsr L016A +L09B1 puls pc,y,x,b +L09B3 pshs x,b + ldb <$0032 + beq L09CF + cmpa <$0032 + beq L09D2 + ldx <$0033 +L09BF jsr <$00BC + cmpa ,x + beq L09D2 + tst ,x + beq L09CF + ldb ,x + ldx $01,x + bra L09BF +L09CF clrb + puls pc,x,b +L09D2 comb + puls pc,x,b +L09D5 pshs u,x,b,a +L09D7 lbsr L088A + ldb <$0035 + beq L0A3D + ldx <$0036 + bra L0A33 + cmpy $05,x + bhi L0A27 + stb $01,s + stx $02,s + clrb + puls pc,u,x,b,a +L09EE tfr u,d + addd $05,u + addd <$00B5 + stx ,--s + cmpd ,s++ + rts +L09FA cmpb $01,s + bne L0A27 + ldu $02,s + ldb ,x + stb ,u + ldd $01,x + std $01,u + exg x,u + bsr L09EE + beq L0A14 + exg x,u + bsr L09EE + bne L0A27 +L0A14 stu $02,s + ldd $05,u + addd $05,x + addd <$00B5 + std $05,u +L0A1E lbsr L092D + bra L09D7 + cmpb ,s + beq L0A1E +L0A27 ldb <$008A + stb <$007D + stx <$007E + ldb ,x + beq L0A3D + ldx $01,x +L0A33 ldu $04,s + jsr <$00BC + ldu $04,s + jmp [>$00A1,u] +L0A3D comb + puls pc,u,x,b,a + lbsr L0851 + bcs L0A54 + pshs b + ldd <$1F,y + cmpd $05,x + puls b + bls L0A61 + lbra L0AF1 +L0A54 ldd <$1F,y + std <$0080 + lbsr L0801 + bcc L0A5F + rts +L0A5F ldb <$007D +L0A61 stb <$21,y + clra + clrb + std <$0047 + ldb <$0060 + lbsr L0B36 + lbsr L0B74 + leax <$20,x + stx <$22,y + bra L0AEF + pshs y + ldb <$21,y + stb <$0097 + jsr <$00BC + ldx <$22,y + leay >$0100,u +L0A88 ldb ,y+ + stb ,x+ + deca + beq L0A9E + cmpx #$4000 + bcs L0A88 + inc <$0097 + ldb <$0097 + jsr <$00BC + ldx <$00B7 + bra L0A88 +L0A9E puls y + ldb <$0097 + stb <$21,y + stx <$22,y + bra L0AEF + lbsr L1DA2 + bcs L0AF4 + lbsr L1DAD + ldd ,x + subd <$00B3 + cmpd <$1B,y +L0ABA lbhi L1E44 + ldd $02,x + subd <$00B3 + cmpd <$1D,y + bhi L0ABA + jsr <$00B9 + bsr L0B16 + lbsr L0851 + bcc L0AD7 + lbsr L0801 + bcc L0AE2 + rts +L0AD7 stb <$007D + stx <$007E + ldd <$0080 + cmpd $05,x + bhi L0AF1 +L0AE2 lbsr L0B74 + lbsr L1E48 + stx <$0072 + ldx <$007E + lbsr L0B98 +L0AEF clrb + rts +L0AF1 comb + ldb #$BF +L0AF4 rts +L0AF5 ldd -$0D,y + std <$0072 + bsr L0B16 + ldd #$FFFF + std <$0057 + lbsr L0801 + bcs L0B15 + ldb <$007D + stb <$11,y + ldd <$007E + std <$12,y + bsr L0B74 + lbsr L0B98 + clrb +L0B15 rts +L0B16 pshs x + ldb <$0060 + bpl L0B23 + ldd <$004F + lslb + stb <$0009 + bra L0B25 +L0B23 bsr L0B36 +L0B25 ldb <$0009 + ldx <$0051 + lbsr L1E21 + std <$0080 + ldb <$0063 + subb <$0009 + stb <$000A + puls pc,x +L0B36 lda #$07 + decb + beq L0B43 + lda #$01 + cmpb #$03 + beq L0B43 + lda #$03 +L0B43 sta <$0097 + ldb <$0048 + comb + andb <$0097 + incb + stb <$0006 + clra + cmpd <$004F + bge L0B5E + ldb <$0050 + subb <$0006 + andb <$0097 + bne L0B5E + ldb <$0097 + incb +L0B5E stb <$0007 + clra + ldb <$0048 + andb <$0097 + addd <$004F + addb <$0097 + adca #$00 +L0B6B lsra + rorb + lsr <$0097 + bne L0B6B + stb <$0009 + rts +L0B74 ldd <$004F + std $07,x + ldd <$0051 + std $09,x + ldb <$0060 + stb $0E,x + ldd <$0006 + std $0C,x + ldb <$0009 + stb $0B,x + clra + std <$004F + rts +L0B8C tfr y,x + lda <$0097 + sta <$000A + lda #$01 + sta <$0099 + bra L0B9A +L0B98 clr <$0099 +L0B9A pshs y + leay <$20,x + ldx <$0072 +L0BA1 lda <$0050 +L0BA3 tst <$0099 + bne L0BAD + ldb ,x+ + stb ,y+ + bra L0BB1 +L0BAD ldb ,y+ + stb ,x+ +L0BB1 cmpy #$4000 + bcs L0BBA + lbsr L0D63 +L0BBA deca + bne L0BA3 + ldb <$000A + abx + dec <$0052 + bne L0BA1 + puls pc,y + jsr <$00B9 + lbsr L1F65 + lbsr L0851 + bcs L0C00 + stb <$007D + stx <$007E + ldd $07,x + std <$004F + ldd $09,x + std <$0051 + lbsr L1DA2 + bcs L0C00 + lbsr L1DAD + lbsr L1E48 + stx <$0072 + stb <$0074 + ldy <$007E + lda #$01 + bsr L0C1D + bcs L0BF9 + lbsr L0CAE + bra L0BFF +L0BF9 lbsr L0D00 + lbsr L0D88 +L0BFF clrb +L0C00 rts +L0C01 pshs y + ldd -$0D,y + std <$0072 + clra + clrb + std <$0047 + ldy <$007E + bsr L0C1D + bcs L0C18 + lbsr L0B8C + clrb + puls pc,y +L0C18 comb + ldb #$BE + puls pc,y +L0C1D pshs x + ldb <$0060 + cmpb $0E,y + bne L0C6C + tstb + bpl L0C30 + ldb #$FF + stb <$0000 + stb <$0001 + bra L0C61 +L0C30 tsta + beq L0C4A + ldd <$0047 + addd $07,y + subd #$0001 + cmpd <$006A + bhi L0C6C + ldb $0A,y + addb <$004A + decb + cmpb <$006D + bhi L0C6C + ldb <$0060 +L0C4A leax <L0C78,pcr + lda <$0048 + coma + anda b,x + inca + cmpa $0C,y + bne L0C6C + bsr L0C6F + sta <$0000 + ldd $0D,y + bsr L0C6F + stb <$0001 +L0C61 bsr L0C9D + ldb <$0063 + subb <$0050 + stb <$0097 + clrb + puls pc,x +L0C6C comb + puls pc,x +L0C6F leax <L0C7C,pcr + ldb b,x + abx + lsla + ldd a,x +L0C78 rts + asr <$0003 + com <$0001 + com <$0013 + sync + fcb $1B + oim #$80,<$0003 + subb #$07 + subb $0F,x + subb >$1FF8 + swi + fcb $FC + clr >$FEFF + stu >$03C0 + clr <$00F0 + swi + fcb $FC + stu >$FF0F + subb >$FFFF +L0C9D ldd $0A,y + stb <$0050 + sta <$0052 + rts +L0CA4 ldd <$0047 + std <$00AB + ldx <$0072 + leay <$20,y + rts +L0CAE lbsr L0E3F + pshs y + bsr L0CA4 + inc <$0097 + dec <$0050 +L0CB9 ldd <$00AB + std <$0047 + ldb <$0000 + lda <$0050 + beq L0CE8 + sta <$0099 + bra L0CC9 +L0CC7 ldb #$FF +L0CC9 lda ,y+ + lbsr L1F06 + ldd <$0047 + addb <$0005 + bcc L0CD5 + inca +L0CD5 std <$0047 + leax $01,x + cmpy #$4000 + bcs L0CE2 + lbsr L0D63 +L0CE2 dec <$0099 + bne L0CC7 + ldb <$0001 +L0CE8 lda ,y+ + lbsr L1F06 + cmpy #$4000 + bcs L0CF5 + bsr L0D63 +L0CF5 ldb <$0097 + abx + inc <$004A + dec <$0052 + bne L0CB9 + puls pc,y +L0D00 pshs y + ldd <$006A + subd <$0047 + addd <$00B3 + std <$009B + ldb <$006D + subb <$004A + bra L0D27 +L0D10 pshs y + lda <$0060 + lsra + ldd #$027F + bcs L0D1D + ldd #$013F +L0D1D subd <$003D + addd <$00B3 + std <$009B + ldb #$BF + subb <$0040 +L0D27 incb + stb <$00A0 + lbsr L1E9C + lbsr L0C9D + ldd $0C,y + std <$0006 + lbsr L06A4 + abx + lda ,x+ + stx <$0002 + leax <L0D6C,pcr + ldb $0E,y + ldb b,x + abx + ldb ,x + leay b,x + sty <$00A3 + anda $01,x + sta <$0008 + ldb $02,x + stb <$0005 + ldb <$0006 + addb #$02 + ldb b,x + leay b,x + sty <$00A1 + sty <$00A5 + puls pc,y +L0D63 inc <$007D + ldb <$007D + jsr <$00BC + ldy <$00B7 +L0D6C rts + fcb $05 + fdb $1010,$635c,$5d5e,$5f60,$6162,$5603,$0458 + fdb $5254,$564d,$0f02,$514d +L0D88 lbsr L0CA4 + pshs y +L0D8D stx <$0072 + ldd <$00AB + std <$0047 + ldd <$009B + std <$009D + lda <$0050 + sta <$0004 + ldb <$0006 + stb <$0097 + ldd <$00A5 + std <$00A1 + ldb <$0074 +L0DA5 ldy ,s + cmpy #$4000 + bcs L0DB4 + stb <$0099 + bsr L0D63 + ldb <$0099 +L0DB4 lda ,y+ + sty ,s + ldy <$0002 + pshs y + leay <L0DD4,pcr + cmpy <$00A1 + puls y + beq L0DD4 + lsla + jmp [>$00A1,u] + rola + rola + rola + rola + rola + rola + rola +L0DD4 pshs b,a,cc + ldd <$009D + beq L0DEC + subd <$00B3 + std <$009D + ldd $01,s + anda <$0008 + lda a,y + lbsr L1F06 + lbsr L1EB3 + stb $02,s +L0DEC dec <$0097 + beq L0DF6 + puls b,a,cc + jmp [>$00A3,u] +L0DF6 leas $03,s + dec <$0004 + beq L0E12 + lda <$0004 + cmpa #$01 + beq L0E06 + lda <$0005 + bra L0E08 +L0E06 lda <$0007 +L0E08 sta <$0097 + ldy <$00A3 + sty <$00A1 + bra L0DA5 +L0E12 ldx <$0072 + ldb <$0063 + abx + dec <$00A0 + beq L0E23 + inc <$004A + dec <$0052 + lbne L0D8D +L0E23 puls pc,y + lbsr L0851 + bcs L0E9F + stb <$0097 + ldb $0F,x + stb <$0099 + ldd $05,x + std <$009B + leax <$20,x + tfr x,d + anda #$1F + std <$009D + bra L0E9E +L0E3F ldb <$0060 + leax >L15C3,pcr + lda b,x + tfr a,b + cmpd $0C,y + bne L0E63 + leax >L1F83,pcr + cmpx <$0064 + bne L0E63 + leax >L1F9A,pcr + cmpx <$0068 + bne L0E63 + leas $02,s + lbra L0B8C +L0E63 sta <$0005 + rts + ldb <$2A,y + rorb + bcc L0E6E + clrb + rts +L0E6E lbsr L0107 + tsta + bpl L0E8E + cmpa #$BF + bhi L0E84 + anda #$EF + suba #$90 + cmpa #$1A + bcc L0E8E +L0E80 lda #$2E + bra L0E8E +L0E84 anda #$DF + suba #$C1 + bmi L0E80 + cmpa #$19 + bhi L0E80 +L0E8E ldb <$0060 + bpl L0E96 + bsr L0EA0 + bra L0E9B +L0E96 lbsr L13FB + bsr L0EDE +L0E9B lbsr L10D0 +L0E9E clrb +L0E9F rts +L0EA0 cmpa #$60 + bne L0EA6 + lda #$27 +L0EA6 cmpa #$5F + bne L0EAC + lda #$7F +L0EAC cmpa #$5E + bne L0EB2 + lda #$60 +L0EB2 ldx -$05,y + tst $09,y + bmi L0EC6 + ldb $01,x + andb #$07 + stb $01,x + ldb $08,y + andb #$F8 + orb $01,x + bra L0EC8 +L0EC6 ldb $08,y +L0EC8 std ,x + ldd <$00B3 + std <$006E + std <$0070 + cmpy <$002E + bne L0EDD + sta <$0039 + ldb >$1000 + stb >$1001 +L0EDD rts +L0EDE pshs y,a + ldb $09,y + stb <$000E + bitb #$04 + beq L0EEE + ldd <$0061 + exg a,b + std <$0061 +L0EEE bsr L0F31 + bcs L0EFC + lda ,s + ldb $0B,x + mul + cmpd $05,x + bcs L0F01 +L0EFC leax <L0F29,pcr + bra L0F05 +L0F01 addd <$00B5 + leax d,x +L0F05 ldb <$0060 + cmpb #$01 + bne L0F1B + ldb <$006F + cmpb #$08 + bne L0F1B + ldb <$000E + bitb #$10 + bne L0F1B + bsr L0F5C + bra L0F27 +L0F1B leay >L100B,pcr + sty <$00A9 + ldy $01,s + bsr L0F9A +L0F27 puls pc,y,a +L0F29 neg <$0000 + neg <$0000 + neg <$0000 + fcb $10 + neg <$0034 + aim #$D6,<$0060 + bpl L0F3F + ldd <$00B3 + std <$006E + std <$0070 + bra L0F5A +L0F3F ldb $0B,y + bne L0F4D + ldd #$0008 + std <$006E + std <$0070 + comb + bra L0F5A +L0F4D jsr <$00BC + ldx $0C,y + ldd $07,x + std <$006E + ldd $09,x + std <$0070 + clrb +L0F5A puls pc,a +L0F5C ldy -$05,y + exg x,y + lda <$0071 + deca + sta <$0097 +L0F66 lda ,y+ + ldb <$000E + bitb #$20 + beq L0F71 + lsra + ora -$01,y +L0F71 tfr a,b + coma + tst <$000E + bmi L0F7C + anda ,x + bra L0F7E +L0F7C anda <$0062 +L0F7E sta ,x + andb <$0061 + orb ,x + stb ,x + ldb <$0063 + abx + dec <$0097 + bmi L0F99 + bne L0F66 + ldb <$000E + bitb #$40 + beq L0F66 + lda #$FF + bra L0F71 +L0F99 rts +L0F9A pshs x + leax <L0FFB,pcr + stx <$0010 + ldx ,s + ldb <$000E + bitb #$10 + beq L0FD0 + ldb <$0071 + decb + clra +L0FAD ora b,x + decb + bpl L0FAD + tsta + bne L0FB9 + lsr <$006F + bra L0FD0 +L0FB9 ldb #$FF +L0FBB incb + lsla + bcc L0FBB + ldx #$504C + ldb b,x + leax b,x + stx <$0010 + ldb #$01 +L0FCA incb + lsla + bcs L0FCA + stb <$006F +L0FD0 puls x + ldb -$03,y + stb <$000F + ldy -$05,y + exg x,y + lda <$0071 + deca + sta <$0099 + stx <$000C + lbsr L1E9C + ldx <$000C +L0FE7 lda ,y+ + ldb <$000E + bitb #$20 + beq L0FF2 + lsra + ora -$01,y +L0FF2 jmp [<$10,u] + lsla + lsla + lsla + lsla + lsla + lsla +L0FFB sta <$000B +L0FFD lda <$006F + sta <$0097 + ldb <$000F + stx <$000C +L1005 pshs b + jmp [>$00A9,u] +L100B lsl <$000B + bcs L1017 + lda <$000E + bpl L102A + lda <$0062 + bra L1019 +L1017 lda <$0061 +L1019 comb + andb ,x + stb ,x + anda ,s + ora ,x + sta ,x + bra L102A + eorb ,x + stb ,x +L102A dec <$0097 + beq L1035 + puls b + lbsr L1EB9 + bra L1005 +L1035 puls b + ldx <$000C + ldb <$0063 + abx + dec <$0099 + bmi L104C + bne L0FE7 + lda <$000E + bita #$40 + beq L0FE7 + lda #$FF + bra L0FFB +L104C rts + stx w,y + jsr <L0FFD,pcr + ora >-$5473,y + inc <$0017 + neg <$00A5 + bra L10A5 + bsr L1063 + lbsr L1485 + bra L10A5 +L1063 jsr <$00B9 + lbra L0F31 + bsr L1063 + clra + ldb <$0047 + subd <$00B5 + tfr d,x + ldb <$006F + lbsr L1E21 + std <$0047 + addd <$006E + subd <$00B3 + cmpd <$1B,y + bhi L10A5 + clra + ldb <$0049 + subd <$00B5 + tfr d,x + ldb <$0071 + lbsr L1E21 + std <$0049 + addd <$0070 + subd <$00B3 + cmpd <$1D,y + bhi L10A5 + ldd <$0047 +L109C std -$02,y + ldd <$0049 + std ,y + lbsr L1131 +L10A5 clrb + rts +L10A7 clra + clrb + std ,y + lbra L112D +L10AE ldd -$02,y + subd <$006E + std -$02,y + lbpl L1139 + ldd <$1B,y + subd <$006E + addd <$00B3 + std -$02,y + ldd ,y + subd <$0070 + std ,y + bpl L1139 + clra + clrb + std -$02,y + std ,y + rts +L10D0 ldd -$02,y + tfr d,x + addd <$006E + std -$02,y + addd <$006E + subd <$00B3 + cmpd <$1B,y + bls L1139 + lda <$2A,y + bpl L10F0 + stx -$02,y + ora #$01 + sta <$2A,y + bra L1139 +L10F0 bsr L112D + bra L1119 +L10F4 ldd ,y + subd <$0070 + bmi L10FE + std ,y + bsr L1139 +L10FE rts + cmpa #$0D + beq L112D + cmpa #$01 + beq L10A7 + cmpa #$08 + beq L10AE + cmpa #$06 + beq L10D0 + cmpa #$09 + beq L10F4 + cmpa #$0A + lbne L1267 +L1119 ldd ,y + addd <$0070 + tfr d,x + addd <$0070 + subd <$00B3 + cmpd <$1D,y + bhi L1149 + stx ,y + bra L1139 +L112D clra + clrb + std -$02,y +L1131 lda <$2A,y + anda #$FE + sta <$2A,y +L1139 ldd -$02,y + std <$0047 + ldd ,y + std <$0049 + lbsr L1E48 + stx -$05,y + stb -$03,y + rts +L1149 pshs y + ldb $02,y + lbsr L1252 + std <$0097 + clra + ldb <$0063 + std <$0099 + ldd ,y + std <$009D + lda -$08,y + deca + sta <$009B + beq L1184 + ldx -$0D,y + ldd $04,y + tfr x,y + leax d,x + tst <$0060 + bmi L1175 + lda <$009B + lsla + lsla + lsla + sta <$009B +L1175 ldd <$0097 + lbsr L121F + ldd <$0099 + leax d,x + leay d,y + dec <$009B + bne L1175 +L1184 puls y + ldd <$009D +L1188 lbra L127A +L118B lda #$80 + ora <$2A,y + bra L1197 +L1192 lda #$7E + anda <$2A,y +L1197 sta <$2A,y + clrb + rts +L119C cmpa #$26 + beq L118B + cmpa #$27 + beq L1192 + cmpa #$30 + beq L11AD + cmpa #$31 + beq L11E1 + rts +L11AD pshs y + ldd ,y + std <$009D + ldb $02,y + lbsr L1252 + std <$0097 + clra + ldb <$0063 + nega + negb + sbca #$00 + std <$0099 + ldb -$08,y + decb + lda <$0071 + mul + tfr b,a + deca + subb $01,y + cmpb <$0071 + bcs L1184 + stb <$009B + ldb <$0063 + mul + addd -$0D,y + tfr d,x + addd $04,y + tfr d,y + bra L1175 +L11E1 pshs y + ldb $02,y + bsr L1252 + std <$0097 + clra + ldb <$0063 + std <$0099 + lda -$08,y + deca + tst <$0060 + bmi L11F8 + lsla + lsla + lsla +L11F8 suba $01,y + bhi L1202 + puls y + ldd ,y + bra L1188 +L1202 sta <$009B + ldd <$1D,y + subd <$0070 + addd <$00B3 + std <$009D + lda <$0063 + ldb $01,y + mul + addd -$0D,y + tfr d,x + ldd $04,y + tfr x,y + leax d,x + lbra L1175 +L121F pshs u,y,x,dp,cc + pshs a + tstb + beq L122D +L1226 lda ,x+ + sta ,y+ + decb + bne L1226 +L122D puls b + tstb + beq L1250 + orcc #$50 + stb >$1006 + sts >$1003 + tfr x,u + tfr y,s + leas $07,s +L1241 pulu y,x,dp,b,a + pshs y,x,dp,b,a + leas $0E,s + dec >$1006 + bne L1241 + lds >$1003 +L1250 puls pc,u,y,x,dp,cc +L1252 tfr b,a + lsra + lsra + lsra + andb #$07 + pshs a + addb ,s+ +L125D cmpb #$07 + blt L1266 + subb #$07 + inca + bra L125D +L1266 rts +L1267 cmpa #$03 + beq L1278 + cmpa #$04 + beq L1285 + cmpa #$0B + beq L12B4 + cmpa #$0C + beq L129C + rts +L1278 ldd ,y +L127A std <$0049 + clra + clrb + std <$0047 + ldd <$1B,y + bra L1292 +L1285 ldd -$02,y + std <$0047 + ldd ,y + std <$0049 + ldd <$1B,y + subd -$02,y +L1292 addd <$00B3 + std <$004F + ldd <$0070 + std <$0051 + bra L12C8 +L129C lbsr L10A7 + clra + clrb + std <$0047 + bsr L12A7 + bra L12C4 +L12A7 std <$0049 + ldd <$1B,y + addd <$00B3 + std <$004F + ldd <$1D,y + rts +L12B4 bsr L1285 + clra + clrb + std <$0047 + ldd ,y + addd <$0070 + bsr L12A7 + subd <$0049 + bmi L12CE +L12C4 addd <$00B3 + std <$0051 +L12C8 ldb <$0060 + bmi L12CF + bsr L12FA +L12CE rts +L12CF pshs y + lbsr L1E48 + lda #$20 + ldb $08,y + andb #$38 + orb <$0062 + std <$0097 + ldb <$0063 + subb <$0050 + subb <$0050 + stb <$0099 +L12E6 ldy <$004F + ldd <$0097 +L12EB std ,x++ + leay -$01,y + bne L12EB + ldb <$0099 + abx + dec <$0052 + bne L12E6 + puls pc,y +L12FA ldb <$0060 + ldx #$4C78 + lda <$0048 + coma + anda b,x + inca + sta <$0097 + ldx #$4C7C + ldb b,x + abx + lsla + lda a,x + sta <$0012 + clra + ldb <$0060 + tfr d,x + ldd <$004F + subb <$0097 + sbca #$00 + lsra + rorb + cmpx #$0004 + beq L132C + lsra + rorb + cmpx <$00B3 + bne L132C + lsra + rorb +L132C stb <$0097 + ldb <$0063 + subb <$0097 + subb #$01 + stb <$0099 + lbsr L1E48 + lda <$0012 + inca + beq L1360 +L133E lda <$0012 + tfr a,b + coma + anda ,x + sta ,x + andb <$0062 + orb ,x + stb ,x+ + lda <$0097 + beq L1358 + ldb <$0062 +L1353 stb ,x+ + deca + bne L1353 +L1358 ldb <$0099 + abx + dec <$0052 + bne L133E + rts +L1360 pshs u + lda <$0062 + tfr a,b + tfr d,u + ldb <$0097 + incb + clr <$0097 + lsrb + stb <$0012 + bcc L1374 + inc <$0097 +L1374 ldb <$0097 + beq L137A + sta ,x+ +L137A ldb <$0012 + beq L1383 +L137E stu ,x++ + decb + bne L137E +L1383 ldb <$0099 + abx + dec <$0052 + bne L1374 + puls pc,u + lbsr L1063 + bsr L1393 + clrb + rts +L1393 cmpa #$21 + beq L13C9 + cmpa #$22 + beq L13D3 + cmpa #$23 + beq L13DB + cmpa #$24 + beq L13E4 + cmpa #$25 + beq L13EA + cmpa #$20 + lbne L119C + ldb $09,y + bitb #$04 + bne L13C8 + orb #$04 +L13B5 stb $09,y + lda $08,y + lbsr L14B4 + pshs b,a + ldb $08,y + andb #$C0 + orb ,s+ + orb ,s+ + stb $08,y +L13C8 rts +L13C9 ldb $09,y + bitb #$04 + beq L13C8 + andb #$FB + bra L13B5 +L13D3 ldd $08,y + ora #$40 + orb #$40 + bra L13E1 +L13DB ldd $08,y + anda #$BF + andb #$BF +L13E1 std $08,y + rts +L13E4 ldb $08,y + orb #$80 + bra L13EE +L13EA ldb $08,y + andb #$7F +L13EE stb $08,y + rts + lbsr L0107 + bsr L1454 + lbsr L14C1 +L13F9 clrb + rts +L13FB pshs y,x,b,a + bsr L146D + lbsr L14E3 + ldb >$1000 + stb >$1001 + puls pc,y,x,b,a + lbsr L0107 + cmpy <$002E + bne L1428 + ldd <$005B + cmpd <$003D + bne L1420 + ldd <$005D + cmpd <$003F + beq L1428 +L1420 lbsr L14E3 + bsr L142A + lbsr L14C1 +L1428 bra L13F9 +L142A ldd <$0047 + pshs b,a + ldd <$0049 + pshs b,a + ldd <$005B + std <$0047 + std <$003D + ldd <$005D + std <$0049 + std <$003F + ldx -$10,y + ldd $02,x + lbsr L1E4A + stx <$0041 + stb <$0043 + puls b,a + std <$0049 + puls b,a + std <$0047 + rts +L1452 bsr L147E +L1454 lbsr L0F31 + cmpy <$002E + bne L146A + ldb $09,y + bitb #$02 + bne L146A + ldb <$0039 + bne L146A + bsr L148E + inc <$0039 +L146A rts +L146B bsr L147E +L146D lbsr L0F31 + cmpy <$002E + bne L147D + ldb <$0039 + beq L147D + bsr L148E + clr <$0039 +L147D rts +L147E eora #$21 + ldb #$02 + lbra L034E +L1485 cmpa #$20 + beq L146B + cmpa #$21 + beq L1452 + rts +L148E pshs y + ldx -$05,y + ldb <$0060 + bpl L14A8 + lda $01,x + bsr L14B4 + pshs b,a + ldb $01,x + andb #$C0 + orb ,s+ + orb ,s+ + stb $01,x + bra L14B2 +L14A8 ldx #$5026 + stx <$00A9 + clr <$000E + lbsr L0F9A +L14B2 puls pc,y +L14B4 tfr a,b + anda #$38 + lsra + lsra + lsra + andb #$07 + lslb + lslb + lslb + rts +L14C1 pshs y,x + ldx -$10,y + cmpx <$0030 + bne L14E1 + ldb <$003A + bne L14E1 + ldb <$18,y + stb <$0044 + beq L14E1 + jsr <$00BC + ldy <$19,y + sty <$0045 + bsr L14FE + inc <$003A +L14E1 puls pc,y,x +L14E3 pshs y,x + ldx -$10,y + cmpx <$0030 + bne L14FC + ldb <$003A + beq L14FC + ldb <$0044 + beq L14E1 + jsr <$00BC + ldy <$0045 + bsr L14FE + clr <$003A +L14FC puls pc,y,x +L14FE ldb <$0060 + bmi L1535 + lda <$004A + ldx <$0047 + pshs x,a + ldd <$004F + ldx <$0051 + pshs x,b,a + ldd <$0064 + pshs b,a + ldd <$0041 + std <$0072 + ldb <$0043 + stb <$0074 + ldx #$5FA5 + stx <$0064 + lbsr L0D10 + lbsr L0D88 + puls b,a + std <$0064 + puls x,b,a + std <$004F + stx <$0051 + puls x,a + sta <$004A + stx <$0047 +L1535 rts + clr <$0047 + clr <$0049 + ldd -$05,y + subd -$0D,y +L153E cmpd $04,y + bcs L1549 + subd $04,y + inc <$0049 + bra L153E +L1549 lda [<-$10,y] + cmpa #$01 + beq L1556 + lsrb + cmpa #$04 + bne L1556 + lsrb +L1556 stb <$0048 + rts +L1559 tst ,y + bpl L1562 +L155D comb + ldb #$C0 + puls pc,x +L1562 lbsr L1DA2 + bcc L1569 + puls pc,x +L1569 jsr <$00B9 + lbra L1F65 + rts + bsr L1559 + lbsr L1E48 + lda <$0061 + lbsr L1F06 + bra L159B + bsr L1559 + lbsr L1DA9 + bcs L159C + ldd <$0049 + cmpd <$004D + bne L158D + bsr L159D + bra L159B +L158D ldd <$0047 + cmpd <$004B + bne L1598 + bsr L1607 + bra L159B +L1598 lbsr L1637 +L159B clrb +L159C rts +L159D bsr L15B6 +L159F ldd <$004B + subd <$0047 + addd <$00B3 + std <$0099 + bsr L15B0 + lda <$0061 + ldy <$0099 + bra L15C8 +L15B0 lbsr L1E9C + lbra L1E48 +L15B6 ldd <$004B + cmpd <$0047 + bge L15C3 +L15BD ldx <$0047 + std <$0047 + stx <$004B +L15C3 rts + lsl <$0004 + lsr <$0002 +L15C8 pshs u,y,x,b,a + sta $06,s + leax <L15C3,pcr + ldb <$0060 + clra + ldb b,x + std $04,s + puls x,b,a + bra L15DC +L15DA ldb <$0079 +L15DC lbsr L1F06 + leay -$01,y + beq L1605 + lbsr L1EB3 + bpl L15DC +L15E8 cmpy ,s + bcs L15DA + ldb #$FF + lbsr L1F06 + ldb $01,s + negb + leay b,y + beq L1605 + leax $01,x + ldd ,s + addd <$0047 + std <$0047 + lda $02,s + bra L15E8 +L1605 puls pc,x,b,a +L1607 bsr L1629 +L1609 ldd <$004D + subb <$004A + incb + std <$0099 + lbsr L1E48 + stb <$0097 + lda <$0061 + ldy <$0099 +L161A ldb <$0097 + lbsr L1F06 + ldb <$0063 + abx + inc <$004A + leay -$01,y + bne L161A + rts +L1629 ldd <$004D + cmpd <$0049 + bge L1636 +L1630 ldx <$0049 + std <$0049 + stx <$004D +L1636 rts +L1637 ldd <$004B + cmpd <$0047 + bge L1647 + lbsr L15BD + ldd <$004D + bsr L1630 + ldd <$004B +L1647 subd <$0047 + std <$0013 + ldb <$0063 + clra + std <$0017 + ldd <$004D + subd <$0049 + std <$0015 + bpl L1666 + nega + negb + sbca #$00 + std <$0015 + ldd <$0017 + nega + negb + sbca #$00 + std <$0017 +L1666 clra + clrb + std <$0075 + lbsr L15B0 + stb <$0074 +L166F ldb <$0074 + lda <$0061 + lbsr L1F06 + ldd <$0075 + bpl L168C + addd <$0013 + std <$0075 + ldd <$0017 + leax d,x + bmi L1688 + inc <$004A + bra L1697 +L1688 dec <$004A + bra L1697 +L168C subd <$0015 + std <$0075 + ldb <$0074 + lbsr L1EB3 + stb <$0074 +L1697 ldd <$0047 + cmpd <$004B + ble L166F + rts + clra + clrb + std <$0053 + std <$0055 + lbsr L1559 + lbsr L1DA9 + bcc L16AE + rts +L16AE lbsr L15B6 + lbsr L1629 + lbsr L1DD4 + leas <-$1A,s + sty ,s + ldd <$0053 + std $0A,s + ldd <$0055 + std $0C,s + ldd <$0047 + std $02,s + addd <$0053 + std $0E,s + std <$0047 + ldd <$0049 + std $04,s + addd <$0055 + std <$12,s + ldd <$004B + std $06,s + subd <$0053 + std <$10,s + std <$004B + ldd <$004D + std $08,s + subd <$0055 + std <$14,s + lbsr L159F + ldd $0E,s + std <$0047 + ldd $08,s + std <$0049 + ldy ,s + lbsr L159F + ldd $02,s + std <$0047 + ldd <$12,s + std <$0049 + ldd <$14,s + std <$004D + ldy ,s + lbsr L1609 + ldd <$12,s + std <$0049 + ldd $06,s + std <$0047 + ldy ,s + lbsr L1609 + ldb <$0054 + beq L1786 + lda #$FF + sta <$00AD + negb + std <$16,s + ldb <$0056 + negb + std <$18,s + bsr L1791 + ldd $0E,s + std <$0047 + ldd <$12,s + std <$0049 + ldd <$16,s + std <$0020 + ldd <$18,s + std <$0026 + bsr L178C + ldd <$10,s + std <$0047 + ldd <$12,s + std <$0049 + ldd <$18,s + std <$0022 + ldd <$0053 + std <$0024 + bsr L178C + ldd $0E,s + std <$0047 + ldd <$14,s + std <$0049 + ldd <$0055 + std <$0022 + ldd <$16,s + std <$0024 + bsr L178C + ldd <$10,s + std <$0047 + ldd <$14,s + std <$0049 + ldd <$0053 + std <$0020 + ldd <$0055 + std <$0026 + bsr L178C +L1786 leas <$1A,s + clr <$00AD + rts +L178C ldy $02,s + bsr L1807 +L1791 clra + clrb + std <$0020 + std <$0022 + std <$0024 + std <$0026 + ldd $0C,s + std <$0053 + ldd $0E,s + std <$0055 + rts + lbsr L1559 + lbsr L1DA9 + bcs L17E6 + lbsr L15B6 + lbsr L1629 + ldd <$0047 + std <$0099 + ldd <$004B + subd <$0047 + addd <$00B3 + std <$009B + lbsr L15B0 + lda <$0061 + std <$009D + ldd <$004D + subb <$004A + incb + tfr d,y +L17CC pshs y,x + ldy <$009B + ldd <$009D + lbsr L15C8 + puls y,x + ldb <$0063 + abx + inc <$004A + ldd <$0099 + std <$0047 + leay -$01,y + bne L17CC + clrb +L17E6 rts + ldx #$5BDB + bra L17EF + ldx #$5A13 +L17EF stx <$002C + bsr L1822 + ldd <$0053 + lsra + rorb + std <$0055 + bra L1863 + bsr L1822 + lbsr L1DB1 + bcs L17E6 + lbsr L1DD0 + bcs L17E6 +L1807 ldx #$5A13 + stx <$002C + ldd <$0020 + cmpd <$0024 + bne L182B + ldx #$5A34 + ldd <$0022 + cmpd <$0026 + blt L184D + ldx #$5A39 + bra L184D +L1822 jsr <$00B9 + ldb <$0060 + lbmi L155D +L182A rts +L182B ldx <$0022 + cmpx <$0026 + bne L183E + ldx #$5A3E + cmpd <$0024 + blt L184D + ldx #$5A44 + bra L184D +L183E ldx #$5A4A + ldd <$0020 + subd <$0024 + std <$0097 + ldd <$0022 + subd <$0026 + std <$0099 +L184D stx <$00A1 + bra L1868 +L1851 lbsr L1ACE + lbra L1B69 + ldx #$5BDB + bra L185F + ldx #$5A13 +L185F stx <$002C + bsr L1822 +L1863 ldx #$5A4E + stx <$00A1 +L1868 lbsr L1F65 + tst <$00AD + bne L1879 + lbsr L1DA2 + bcs L182A + lbsr L1DD4 + bcs L182A +L1879 ldd <$0047 + std <$0018 + ldd <$0049 + std <$001A + clra + clrb + std <$001C + ldd <$0055 + std <$001E + leas <-$3E,s + sty <$3C,s + leax $05,s + ldd <$0053 + lbsr L1AC5 + lbsr L1B2E + tfr x,y + leax <$14,s + ldd <$0055 + lbsr L1B3E + leax $0A,s + bsr L1851 + tfr x,y + leax $0F,s + bsr L1851 + leax <$19,s + ldd <$0055 + lbsr L1AC5 + lbsr L1B2E + tfr x,y + leax <$1E,s + bsr L1851 + tfr x,y + leax <$23,s + bsr L1851 + leax <$28,s + clra + clrb + lbsr L1AC5 + leax <$2D,s + ldd <$001E + lbsr L1AC5 + subd <$00B3 + lbsr L1B2E + leay $0A,s + lbsr L1B40 + leay $05,s + bsr L1960 + leax ,s + bsr L1963 + ldd <$00B3 + lbsr L1AF0 + leay <$1E,s + lbsr L1B40 + tfr x,y + leax <$2D,s + bsr L1960 + leax <$32,s + leay $0F,s + bsr L1963 + ldd <$001E + bsr L195D + leax <$37,s + leay <$1E,s + lbsr L1ACE +L190F leax <$14,s + leay <$28,s + lbsr L1BBA + ble L1969 + lbsr L1A0C + tst <$2D,s + bmi L193E + leax <$32,s + leay $0F,s + bsr L1960 + tfr x,y + leax <$2D,s + bsr L1960 + leax <$14,s + leay $05,s + lbsr L1B1F + ldd <$001E + subd <$00B3 + std <$001E +L193E leax <$37,s + leay <$23,s + bsr L1960 + tfr x,y + leax <$2D,s + bsr L1960 + leax <$28,s + leay <$19,s + bsr L1960 + ldd <$001C + addd <$00B3 + std <$001C + bra L190F +L195D lbra L1B2E +L1960 lbra L1B07 +L1963 lbsr L1ACE + lbra L1B9D +L1969 leax <$2D,s + ldd <$001C + lbsr L1AC5 + addd <$00B3 + bsr L195D + leay <$1E,s + lbsr L1B40 + leax ,s + ldd <$001E + lbsr L1AC5 + subd #$0002 + bsr L195D + ldd <$00B3 + lbsr L1AF0 + leay $0A,s + lbsr L1B40 + tfr x,y + leax <$2D,s + bsr L1960 + leax ,s + leay $0A,s + bsr L1963 + ldd <$00B3 + lbsr L1AF0 + leay <$19,s + lbsr L1B40 + tfr x,y + leax <$2D,s + bsr L1960 + leax <$32,s + leay <$23,s + lbsr L1ACE + ldd <$001C + bsr L195D + leax <$37,s + leay $0F,s + bsr L1963 + ldd <$001E + bsr L195D + leay $0A,s + bsr L1960 +L19CC ldd <$001E + addd <$00B3 + beq L1A07 + bsr L1A0C + tst <$2D,s + bpl L19EE + leax <$32,s + leay <$23,s + bsr L1A04 + tfr x,y + leax <$2D,s + bsr L1A04 + ldd <$001C + addd <$00B3 + std <$001C +L19EE leax <$37,s + leay $0F,s + bsr L1A04 + tfr x,y + leax <$2D,s + bsr L1A04 + ldd <$001E + subd <$00B3 + std <$001E + bra L19CC +L1A04 lbra L1B07 +L1A07 leas <$3E,s + clrb + rts +L1A0C ldy <$3E,s + jmp [<$2C,u] + ldd <$001C + ldx <$001E + bsr L1A2E + nega + negb + sbca #$00 + bsr L1A2E + exg d,x + nega + negb + sbca #$00 + exg d,x + bsr L1A2E + ldd <$001C + bsr L1A2E + rts +L1A2E pshs x,b,a + jmp [>$00A1,u] + cmpd <$0020 + bra L1A46 + cmpd <$0020 + bra L1A40 + cmpx <$0022 +L1A40 ble L1A4E + bra L1A70 + cmpx <$0022 +L1A46 bge L1A4E + bra L1A70 + bsr L1A72 + bgt L1A70 +L1A4E addd <$0018 + bmi L1A70 + cmpd <$1B,y + bhi L1A70 + std <$0047 + tfr x,d + addd <$001A + bmi L1A70 + cmpd <$1D,y + bhi L1A70 + std <$0049 + lbsr L1E48 + lda <$0061 + lbsr L1F06 +L1A70 puls pc,x,b,a +L1A72 pshs x,b,a + tfr x,d + subd <$0026 + ldx <$0097 + bsr L1A90 + pshs x,b + ldd $03,s + subd <$0024 + ldx <$0099 + bsr L1A90 + cmpb ,s + bne L1A8C + cmpx $01,s +L1A8C leas $03,s + puls pc,x,b,a +L1A90 pshs x,b,a + lda $03,s + mul + pshs b,a + lda $05,s + ldb $02,s + mul + addb ,s+ + adca #$00 + pshs b,a + ldd $04,s + mul + addd ,s + std ,s + lda $05,s + ldb $03,s + mul + addb ,s + ldx $01,s + tst $03,s + bpl L1ABA + neg $06,s + addb $06,s +L1ABA tst $05,s + bpl L1AC2 + neg $04,s + addb $04,s +L1AC2 leas $07,s + rts +L1AC5 clr ,x + clr $01,x + clr $02,x + std $03,x + rts +L1ACE pshs b,a + ldd ,y + std ,x + ldd $02,y + std $02,x + ldb $04,y + stb $04,x + puls pc,b,a +L1ADE exg y,u + exg x,y + bsr L1ACE + exg x,y + exg y,u + rts +L1AE9 exg x,u + bsr L1ACE + exg x,u + rts +L1AF0 pshs b,a + addd $03,x + std $03,x + ldd #$0000 + adcb $02,x + adca $01,x + std $01,x + ldb #$00 + adcb ,x + stb ,x + puls pc,b,a +L1B07 pshs b,a + ldd $03,x + addd $03,y + std $03,x + ldd $01,x + adcb $02,y + adca $01,y + std $01,x + ldb ,x + adcb ,y + stb ,x + puls pc,b,a +L1B1F exg x,y + bsr L1B9D + exg x,y + bsr L1B07 + exg x,y + bsr L1B9D + exg x,y + rts +L1B2E pshs y,b,a + clra + clrb + pshs b,a + pshs b + tfr s,y + bsr L1B40 + leas $03,s + puls pc,y,b,a +L1B3E bsr L1AC5 +L1B40 pshs u,y,b,a + leas -$0A,s + tfr s,u + bsr L1AE9 + tfr u,y + leau $05,u + bsr L1ADE + clra + clrb + lbsr L1AC5 + bra L1B57 +L1B55 bsr L1B74 +L1B57 bsr L1B7F + beq L1B61 + bcc L1B55 + bsr L1B07 + bra L1B55 +L1B61 bcc L1B65 + bsr L1B07 +L1B65 leas $0A,s + puls pc,u,y,b,a +L1B69 lsl $04,x + rol $03,x + rol $02,x + rol $01,x + rol ,x + rts +L1B74 lsl $04,y + rol $03,y + rol $02,y + rol $01,y + rol ,y + rts +L1B7F lsr ,u + bne L1B92 + ror $01,u + bne L1B94 + ror $02,u + bne L1B96 + ror $03,u + bne L1B98 + ror $04,u + rts +L1B92 ror $01,u +L1B94 ror $02,u +L1B96 ror $03,u +L1B98 ror $04,u + andcc #$FB + rts +L1B9D com ,x + com $01,x + com $02,x + com $03,x + com $04,x + inc $04,x + bne L1BB9 + inc $03,x + bne L1BB9 + inc $02,x + bne L1BB9 + inc $01,x + bne L1BB9 + inc ,x +L1BB9 rts +L1BBA pshs b,a + ldd ,x + cmpd ,y + bne L1BD9 + ldd $02,x + cmpd $02,y + bne L1BD0 + ldb $04,x + cmpb $04,y + beq L1BD9 +L1BD0 bhi L1BD6 + lda #$08 + bra L1BD7 +L1BD6 clra +L1BD7 tfr a,cc +L1BD9 puls pc,b,a + ldd <$0018 + addd <$001C + cmpd <$1B,y + bls L1BE8 + ldd <$1B,y +L1BE8 pshs y,b,a + std <$004B + ldd <$0018 + subd <$001C + bpl L1BF4 + clra + clrb +L1BF4 pshs b,a + std <$0047 + ldd <$001A + subd <$001E + bpl L1C00 + clra + clrb +L1C00 bsr L1C15 + puls y,x,b,a + std <$0047 + stx <$004B + ldd <$001A + addd <$001E + cmpd <$1D,y + bls L1C15 + ldd <$1D,y +L1C15 std <$0049 + std <$004D + lbra L159F + lbsr L1559 + ldb #$01 + stb <$002A + lbsr L1E48 + stx <$0072 + stb <$0074 + lbsr L1EF6 + sta <$0028 + lbsr L06AC + cmpb $06,y + beq L1C67 + clrb + pshs b + lbsr L1E9C + lbsr L1EC8 + ldx <$0072 + bra L1C76 +L1C43 tst >$101B + beq L1C6C + ldb ,s+ + beq L1C67 + stb <$002B + addb ,s+ + cmpb <$1E,y + bhi L1C72 + stb <$004A + puls b,a + std <$0047 + puls b,a + std <$004B + lbsr L1E48 + stb <$0074 + lbra L1CEE +L1C67 clrb + ldb <$002A + bne L1C6F +L1C6C ldb #$BA + coma +L1C6F lbra L00F4 +L1C72 leas $04,s + bra L1C43 +L1C76 ldb <$0074 +L1C78 lbsr L1EDF + bsr L1CC4 + beq L1C84 + lbsr L1EF6 + beq L1C78 +L1C84 lbsr L1EB3 + pshs b + ldd <$0047 + std <$009B + puls b +L1C8F bsr L1CD6 + bsr L1CCC + bhi L1C9A + lbsr L1EF6 + beq L1C8F +L1C9A lbsr L1EDF + lbsr L1D9A + beq L1CA8 + bsr L1CB5 + lda #$FF + pshs b,a +L1CA8 lbsr L1D9A + beq L1C43 + bsr L1CB5 + lda #$01 + pshs b,a +L1CB3 bra L1C43 +L1CB5 puls b,a + pshs y,x,b,a + ldd <$0047 + std $04,s + ldd <$009B + std $02,s + ldb <$004A + rts +L1CC4 pshs b,a + ldd <$0047 + addd <$00B3 + puls pc,b,a +L1CCC pshs b,a + ldd <$0047 + cmpd <$1B,y + puls pc,b,a +L1CD6 lda ,x + sta ,-s + lda <$0061 + lbsr L1F06 + lda ,x + cmpa ,s+ + beq L1CEA + lda #$FF + sta >$101B +L1CEA lbsr L1EB3 + rts +L1CEE ldd <$0047 + subd #$0002 + std <$009B + ldb <$0074 +L1CF7 lbsr L1EF6 + bne L1D03 + lbsr L1EDF + bsr L1CC4 + bne L1CF7 +L1D03 lbsr L1EB3 + stb <$0074 + ldd <$0047 + cmpd <$004B + bhi L1CB3 + ldb <$0074 + lbsr L1EF6 + bne L1D03 + ldd <$0047 + cmpd <$009B + bgt L1D34 + bsr L1D9A + beq L1D34 + ldd <$009B + pshs b,a + ldd <$0047 + bpl L1D2B + clra + clrb +L1D2B pshs b,a + ldb <$004A + lda <$002B + nega + pshs b,a +L1D34 ldd <$0047 + std <$009B + ldb <$0074 +L1D3A lbsr L1EF6 + bne L1D45 + bsr L1CD6 + bsr L1CCC + bls L1D3A +L1D45 lbsr L1EDF + stb <$0074 + bsr L1D9A + beq L1D57 + lbsr L1CB5 + lda <$002B + pshs b,a + ldb <$0074 +L1D57 lbsr L1EB3 + stb <$0074 + lbsr L1CCC + bgt L1D71 + ldd <$0047 + cmpd <$004B + bgt L1D71 + ldb <$0074 + lbsr L1EF6 + bne L1D57 + bra L1D34 +L1D71 cmps <$003B + bhi L1D78 + clr <$002A +L1D78 ldd <$0047 + subd <$00B3 + std <$0047 + ldd <$004B + addd #$0002 + cmpd <$0047 + bhi L1D97 + leas -$02,s + pshs b,a + ldd <$0047 + std $02,s + ldb <$004A + lda <$002B + nega + pshs b,a +L1D97 lbra L1C43 +L1D9A cmps <$003B + bhi L1DA1 + clr <$002A +L1DA1 rts +L1DA2 ldb #$47 +L1DA4 bsr L1DD8 + lbra L1E31 +L1DA9 ldb #$4B + bra L1DA4 +L1DAD ldb #$4F + bra L1DA4 +L1DB1 ldb #$20 +L1DB3 bsr L1DD8 + ldd #$027F + bsr L1DBF + bcs L1DCF + ldd #$00BF +L1DBF pshs b,a + ldd ,x++ + bpl L1DC9 + nega + negb + sbca #$00 +L1DC9 cmpd ,s++ + bgt L1E44 + clrb +L1DCF rts +L1DD0 ldb #$24 + bra L1DB3 +L1DD4 ldb #$53 + bra L1DB3 +L1DD8 tfr u,x + abx + lda $09,y + bita #$08 + beq L1DE5 + ldd -$07,y + bne L1DE6 +L1DE5 rts +L1DE6 pshs y,x,b,a + tfr x,y + ldx ,y + ldb ,s + beq L1DF4 + bsr L1E00 + std ,y +L1DF4 ldx $02,y + ldb $01,s + beq L1DFE + bsr L1E00 + std $02,y +L1DFE puls pc,y,x,b,a +L1E00 pshs x,b + leas -$02,s + lda $04,s + mul + cmpb #$CD + pshs cc + exg a,b + clra + puls cc + bcs L1E14 + addd <$00B3 +L1E14 std ,s + lda $03,s + ldb $02,s + mul + addd ,s + leas $03,s + puls pc,x +L1E21 pshs x + lda ,s + stb ,s + mul + stb ,-s + ldd $01,s + mul + adda ,s+ + puls pc,x +L1E31 ldd ,x + cmpd <$1B,y + bhi L1E44 + ldd $02,x + cmpd <$1D,y + bhi L1E44 + andcc #$FE + rts +L1E44 comb + ldb #$BD + rts +L1E48 ldd -$0D,y +L1E4A pshs y,b,a + lda <$004A + ldb <$0063 + mul + addd ,s++ + tfr d,x + ldb <$0060 + bpl L1E60 + ldd <$0047 + lslb + leax d,x + puls pc,y +L1E60 cmpb #$04 + bne L1E6B + ldd <$0047 + leay <L1E99,pcr + bra L1E7F +L1E6B cmpb #$01 + beq L1E76 + ldd <$0047 + leay <L1E94,pcr + bra L1E7D +L1E76 ldd <$0047 + leay <L1E8B,pcr + lsra + rorb +L1E7D lsra + rorb +L1E7F lsra + rorb + leax d,x + ldb <$0048 + andb ,y+ + ldb b,y + puls pc,y +L1E8B asr <$0080 + nega + bra L1EA0 + lsl <$0004 + aim #$01,<$0003 + subb #$30 + inc <$0003 +L1E99 oim #$F0,<$000F +L1E9C lda <$0060 + leax <L1EA9,pcr + lsla + ldd a,x + sta <$0079 + leax b,x + stx <$0077 + rts + suba #$19 + subb #$18 + subb #$18 + subb >$160C + lsla + bne L1EB9 + inc <$0047 +L1EB9 lsrb + bcs L1EC3 + jmp [<$77,u] + lsrb + lsrb + lsrb + rts +L1EC3 ldb <$0079 + leax $01,x + rts +L1EC8 lda <$0060 + leax <L1ED5,pcr + lsla + ldd a,x + sta <$007C + leax b,x + stx <$007A + rts + oim #$1B,<$0003 + orcc #$03 + orcc #$0F + fcb $18 +L1EDF tst <$0048 + bne L1EE5 + dec <$0047 +L1EE5 dec <$0048 + lslb + bcs L1EF1 + jmp [<$7A,u] + lslb + lslb + lslb + rts +L1EF1 ldb <$007C + leax -$01,x + rts +L1EF6 pshs b + tfr b,a + anda ,x +L1EFC lsrb + bcs L1F02 + lsra + bra L1EFC +L1F02 cmpa <$0028 + puls pc,b +L1F06 pshs b,a + jmp [<$64,u] + eim #$0F,<$000F + lbsr L5325 + bsr L1F55 + lsra + rorb + lsra + rorb + bra L1F25 + pshs x,b + bsr L1F55 + lsra + rorb + bra L1F25 + pshs x,b + bsr L1F55 +L1F25 andb <$00B0 + abx + lda <$008A + pshs a + lda <$00B1 +L1F2E cmpx #$4000 + bcs L1F3A + inca + leax >-$2000,x + bra L1F2E +L1F3A sta <$008A + sta >$FFA9 + ldb ,x + puls a + sta <$008A + sta >$FFA9 + andb ,s+ + ldx ,s++ + lda ,s + pshs b + anda ,s+ + jmp [<$68,u] +L1F55 ldx <$0066 + lda <$00AF + ldb <$00B2 + anda <$004A + mul + leax d,x + ldd <$0047 + lsra + rorb + rts +L1F65 ldb $0E,y + beq L1F82 + stb <$00B1 + jsr <$00BC + ldx $0F,y + stx <$0066 + ldd <-$16,x + deca + bpl L1F79 + lda #$FF +L1F79 stb <$00B2 + decb + bpl L1F80 + ldb #$FF +L1F80 std <$00AF +L1F82 rts +L1F83 anda $01,s + jmp [<$68,u] + ldb $01,s + bra L1F9A + anda <$0061 + ldb ,s + andb $01,s + bra L1F9A + eora ,x + bra L1FA1 + anda ,x +L1F9A comb + andb ,x + stb ,x + ora ,x +L1FA1 sta ,x + puls pc,b,a + anda $01,s + eora ,x + sta ,x + puls pc,b,a + + emod +eom equ * + endc