diff CoCoOS9/level2v3/CMDS/grfdrv.asm @ 31:bd2b07db8917 cocoos9lv2v3

CoCoOS9 version
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 14 Jul 2018 15:16:13 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CoCoOS9/level2v3/CMDS/grfdrv.asm	Sat Jul 14 15:16:13 2018 +0900
@@ -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