c000: *** Basic Restart Vectors
c000: sei                       ; 78
c001: *** Basic Restart Vectors
c001: ???                       ; e3
c002: ???                       ; 67
c003: cpx  $INPVEC              ; e4 43
c005: ???                       ; 42
c006: eor  $4142                ; 4d 42 41
c009: ???                       ; 53
c00a: eor  #$43                 ; 49 43
stmdsp: *** BASIC Command Vectors
c00c: bmi  $bfd6                ; 30 c8
c00e: eor  ($c7,X)              ; 41 c7
c010: ora  $f7cd,X              ; 1d cd f7
c013: iny                       ; c8
c014: ldy  $WHICH_KEY           ; a4 cb
c016: ldx  $80cb,Y              ; be cb 80
c019: bne  $c020                ; d0 05
c01b: cpy  $c9a4                ; cc a4 c9
c01e: ???                       ; 9f
c01f: iny                       ; c8
c020: bvs  $bfea                ; 70 c8
c022: ???                       ; 27
c023: cmp  #$1c                 ; c9 1c
c025: iny                       ; c8
c026: ???                       ; 82
c027: iny                       ; c8
c028: cmp  ($c8),Y              ; d1 c8
c02a: ???                       ; 3a
c02b: cmp  #$2e                 ; c9 2e
c02d: iny                       ; c8
c02e: lsr  a                    ; 4a
c02f: cmp  #$2c                 ; c9 2c
c031: cld                       ; d8
c032: ???                       ; 64
c033: sbc  ($52,X)              ; e1 52
c035: sbc  ($ACC1_EXP,X)        ; e1 61
c037: sbc  ($TBUFFADDR,X)       ; e1 b2
c039: ???                       ; d3
c03a: ???                       ; 23
c03b: cld                       ; d8
c03c: ???                       ; 7f
c03d: dex                       ; ca
c03e: ???                       ; 9f
c03f: dex                       ; ca
c040: lsr  $c8,X                ; 56 c8
c042: ???                       ; 9b
c043: dec  $5d                  ; c6 5d
c045: dec  $85                  ; c6 85
c047: dex                       ; ca
c048: rol  $e1                  ; 26 e1
c04a: tsx                       ; ba
c04b: sbc  ($c3,X)              ; e1 c3
c04d: sbc  ($7a,X)              ; e1 7a
c04f: ???                       ; cb
c050: eor  ($NO_KEYS,X)         ; 41 c6
fundsp: *** BASIC Function Vectors
c052: and  $ccdc,Y              ; 39 dc cc
c055: ???                       ; dc
c056: cli                       ; 58
c057: ???                       ; dc
c058: brk                       ; 00
c059: brk                       ; 00
c05a: adc  $9ed3,X              ; 7d d3 9e
c05d: ???                       ; d3
c05e: adc  ($df),Y              ; 71 df
c060: sty  $e0,X                ; 94 e0
c062: nop                       ; ea
c063: cmp  $exp,Y               ; d9 ed df
c066: adc  ($e2,X)              ; 61 e2
c068: pla                       ; 68
c069: ???                       ; e2
c06a: lda  ($e2),Y              ; b1 e2
c06c: ???                       ; 0b
c06d: ???                       ; e3
c06e: ora  $7cd8                ; 0d d8 7c
c071: ???                       ; d7
c072: adc  $d4                  ; 65 d4
c074: lda  $8bd7                ; ad d7 8b
c077: ???                       ; d7
c078: cpx  $CURSOR_ROW          ; ec d6 00
c07b: ???                       ; d7
c07c: bit  $37d7                ; 2c d7 37
c07f: ???                       ; d7
optab: *** BASIC Operator Vectors
c080: adc  $d869,Y              ; 79 69 d8
c083: adc  $d852,Y              ; 79 52 d8
c086: ???                       ; 7b
c087: rol  a                    ; 2a
c088: ???                       ; da
c089: ???                       ; 7b
c08a: ora  ($db),Y              ; 11 db
c08c: ???                       ; 7f
c08d: ???                       ; 7a
c08e: ???                       ; df
c08f: bvc  $c079                ; 50 e8
c091: ???                       ; cf
c092: lsr  $e5                  ; 46 e5
c094: ???                       ; cf
c095: adc  $dfb3,X              ; 7d b3 df
c098: ???                       ; 5a
c099: ???                       ; d3
c09a: dec  $1564                ; ce 64 15
c09d: bne  $c0e4                ; d0 45
c09f: lsr  $46c4                ; 4e c4 46
c0a2: ???                       ; 4f
c0a3: ???                       ; d2
c0a4: lsr  $5845                ; 4e 45 58
c0a7: ???                       ; d4
c0a8: ???                       ; 44
c0a9: eor  ($54,X)              ; 41 54
c0ab: cmp  ($49,X)              ; c1 49
c0ad: lsr  $5550                ; 4e 50 55
c0b0: ???                       ; 54
c0b1: ???                       ; a3
c0b2: eor  #$4e                 ; 49 4e
c0b4: bvc  $c10b                ; 50 55
c0b6: ???                       ; d4
c0b7: ???                       ; 44
c0b8: eor  #$cd                 ; 49 cd
c0ba: ???                       ; 52
c0bb: eor  $41                  ; 45 41
c0bd: cpy  $4c                  ; c4 4c
c0bf: eor  $d4                  ; 45 d4
c0c1: ???                       ; 47
c0c2: ???                       ; 4f
c0c3: ???                       ; 54
c0c4: ???                       ; cf
c0c5: ???                       ; 52
c0c6: eor  $ce,X                ; 55 ce
c0c8: eor  #$c6                 ; 49 c6
c0ca: ???                       ; 52
c0cb: eor  $53                  ; 45 53
c0cd: ???                       ; 54
c0ce: ???                       ; 4f
c0cf: ???                       ; 52
c0d0: cmp  $47                  ; c5 47
c0d2: ???                       ; 4f
c0d3: ???                       ; 53
c0d4: eor  $c2,X                ; 55 c2
c0d6: ???                       ; 52
c0d7: eor  $54                  ; 45 54
c0d9: eor  $52,X                ; 55 52
c0db: dec  $4552                ; ce 52 45
c0de: cmp  $5453                ; cd 53 54
c0e1: ???                       ; 4f
c0e2: bne  $c133                ; d0 4f
c0e4: dec  $4157                ; ce 57 41
c0e7: eor  #$d4                 ; 49 d4
c0e9: jmp  $414f                ; 4c 4f 41
c0ec: cpy  $53                  ; c4 53
c0ee: eor  ($56,X)              ; 41 56
c0f0: cmp  $56                  ; c5 56
c0f2: eor  $52                  ; 45 52
c0f4: eor  #$46                 ; 49 46
c0f6: cmp  $4544,Y              ; d9 44 45
c0f9: dec  $50                  ; c6 50
c0fb: ???                       ; 4f
c0fc: ???                       ; 4b
c0fd: cmp  $50                  ; c5 50
c0ff: ???                       ; 52
c100: eor  #$4e                 ; 49 4e
c102: ???                       ; 54
c103: ???                       ; a3
c104: bvc  $c158                ; 50 52
c106: eor  #$4e                 ; 49 4e
c108: ???                       ; d4
c109: ???                       ; 43
c10a: ???                       ; 4f
c10b: lsr  $4cd4                ; 4e d4 4c
c10e: eor  #$53                 ; 49 53
c110: ???                       ; d4
c111: ???                       ; 43
c112: jmp  $43d2                ; 4c d2 43
c115: eor  $53c4                ; 4d c4 53
c118: eor  $4fd3,Y              ; 59 d3 4f
c11b: bvc  $c162                ; 50 45
c11d: dec  $4c43                ; ce 43 4c
c120: ???                       ; 4f
c121: ???                       ; 53
c122: cmp  $47                  ; c5 47
c124: eor  $d4                  ; 45 d4
c126: lsr  $d745                ; 4e 45 d7
msclst: *** BASIC Misc. Keyword Table (DATA)
c129: ???                       ; 54
c12a: eor  ($42,X)              ; 41 42
c12c: tay                       ; a8
c12d: ???                       ; 54
c12e: ???                       ; cf
c12f: lsr  $ce                  ; 46 ce
c131: ???                       ; 53
c132: bvc  $c177                ; 50 43
c134: tay                       ; a8
c135: ???                       ; 54
c136: pha                       ; 48
c137: eor  $ce                  ; 45 ce
c139: lsr  $d44f                ; 4e 4f d4
c13c: ???                       ; 53
c13d: ???                       ; 54
c13e: eor  $d0                  ; 45 d0
oplist: *** BASIC Operator Keyword Table (DATA)
c140: ???                       ; ab
c141: lda  $afaa                ; ad aa af
c144: dec  $4e41,X              ; de 41 4e
c147: cpy  $4f                  ; c4 4f
c149: ???                       ; d2
c14a: ldx  $bcbd,Y              ; be bd bc
funlst: *** BASIC Function Keyword Table (DATA)
c14d: ???                       ; 53
c14e: ???                       ; 47
c14f: dec  $4e49                ; ce 49 4e
c152: ???                       ; d4
c153: eor  ($42,X)              ; 41 42
c155: ???                       ; d3
c156: eor  $53,X                ; 55 53
c158: ???                       ; d2
c159: lsr  $52                  ; 46 52
c15b: cmp  $50                  ; c5 50
c15d: ???                       ; 4f
c15e: ???                       ; d3
c15f: ???                       ; 53
c160: eor  ($d2),Y              ; 51 d2
c162: ???                       ; 52
c163: lsr  $4cc4                ; 4e c4 4c
c166: ???                       ; 4f
c167: ???                       ; c7
c168: eor  $58                  ; 45 58
c16a: bne  $c1af                ; d0 43
c16c: ???                       ; 4f
c16d: ???                       ; d3
c16e: ???                       ; 53
c16f: eor  #$ce                 ; 49 ce
c171: ???                       ; 54
c172: eor  ($ce,X)              ; 41 ce
c174: eor  ($54,X)              ; 41 54
c176: dec  $4550                ; ce 50 45
c179: eor  $WHICH_KEY           ; 45 cb
c17b: jmp  $ce45                ; 4c 45 ce
c17e: ???                       ; 53
c17f: ???                       ; 54
c180: ???                       ; 52
c181: ldy  $56                  ; a4 56
c183: eor  ($cc,X)              ; 41 cc
c185: eor  ($53,X)              ; 41 53
c187: ???                       ; c3
c188: ???                       ; 43
c189: pha                       ; 48
c18a: ???                       ; 52
c18b: ldy  $4c                  ; a4 4c
c18d: eor  $46                  ; 45 46
c18f: ???                       ; 54
c190: ldy  $52                  ; a4 52
c192: eor  #$47                 ; 49 47
c194: pha                       ; 48
c195: ???                       ; 54
c196: ldy  $4d                  ; a4 4d
c198: eor  #$44                 ; 49 44
c19a: ldy  $47                  ; a4 47
c19c: ???                       ; cf
c19d: brk                       ; 00
errtab: *** Error Message Table (DATA)
c19e: ???                       ; 54
c19f: ???                       ; 4f
c1a0: ???                       ; 4f
c1a1: jsr  $414d                ; 20 4d 41
c1a4: lsr  $2059                ; 4e 59 20
c1a7: lsr  $49                  ; 46 49
c1a9: jmp  $d345                ; 4c 45 d3
c1ac: lsr  $49                  ; 46 49
c1ae: jmp  $2045                ; 4c 45 20
c1b1: ???                       ; 4f
c1b2: bvc  $c1f9                ; 50 45
c1b4: dec  $4946                ; ce 46 49
c1b7: jmp  $2045                ; 4c 45 20
c1ba: lsr  $544f                ; 4e 4f 54
c1bd: jsr  $504f                ; 20 4f 50
c1c0: eor  $ce                  ; 45 ce
c1c2: lsr  $49                  ; 46 49
c1c4: jmp  $2045                ; 4c 45 20
c1c7: lsr  $544f                ; 4e 4f 54
c1ca: jsr  $4f46                ; 20 46 4f
c1cd: eor  $4e,X                ; 55 4e
c1cf: cpy  $44                  ; c4 44
c1d1: eor  $56                  ; 45 56
c1d3: eor  #$43                 ; 49 43
c1d5: eor  $20                  ; 45 20
c1d7: lsr  $544f                ; 4e 4f 54
c1da: jsr  $5250                ; 20 50 52
c1dd: eor  $53                  ; 45 53
c1df: eor  $4e                  ; 45 4e
c1e1: ???                       ; d4
c1e2: lsr  $544f                ; 4e 4f 54
c1e5: jsr  $4e49                ; 20 49 4e
c1e8: bvc  $c23f                ; 50 55
c1ea: ???                       ; 54
c1eb: jsr  $4946                ; 20 46 49
c1ee: jmp  $4ec5                ; 4c c5 4e
c1f1: ???                       ; 4f
c1f2: ???                       ; 54
c1f3: jsr  $554f                ; 20 4f 55
c1f6: ???                       ; 54
c1f7: bvc  $c24e                ; 50 55
c1f9: ???                       ; 54
c1fa: jsr  $4946                ; 20 46 49
c1fd: jmp  $4dc5                ; 4c c5 4d
c200: eor  #$53                 ; 49 53
c202: ???                       ; 53
c203: eor  #$4e                 ; 49 4e
c205: ???                       ; 47
c206: jsr  $4946                ; 20 46 49
c209: jmp  $2045                ; 4c 45 20
c20c: lsr  $4d41                ; 4e 41 4d
c20f: cmp  $49                  ; c5 49
c211: jmp  $454c                ; 4c 4c 45
c214: ???                       ; 47
c215: eor  ($4c,X)              ; 41 4c
c217: jsr  $4544                ; 20 44 45
c21a: lsr  $49,X                ; 56 49
c21c: ???                       ; 43
c21d: eor  $20                  ; 45 20
c21f: lsr  $4d55                ; 4e 55 4d
c222: ???                       ; 42
c223: eor  $d2                  ; 45 d2
c225: lsr  $5845                ; 4e 45 58
c228: ???                       ; 54
c229: jsr  $4957                ; 20 57 49
c22c: ???                       ; 54
c22d: pha                       ; 48
c22e: ???                       ; 4f
c22f: eor  $54,X                ; 55 54
c231: jsr  $4f46                ; 20 46 4f
c234: ???                       ; d2
c235: ???                       ; 53
c236: eor  $544e,Y              ; 59 4e 54
c239: eor  ($NO_INSERTS,X)      ; 41 d8
c23b: ???                       ; 52
c23c: eor  $54                  ; 45 54
c23e: eor  $52,X                ; 55 52
c240: lsr  $5720                ; 4e 20 57
c243: eor  #$54                 ; 49 54
c245: pha                       ; 48
c246: ???                       ; 4f
c247: eor  $54,X                ; 55 54
c249: jsr  $4f47                ; 20 47 4f
c24c: ???                       ; 53
c24d: eor  $c2,X                ; 55 c2
c24f: ???                       ; 4f
c250: eor  $54,X                ; 55 54
c252: jsr  $464f                ; 20 4f 46
c255: jsr  $4144                ; 20 44 41
c258: ???                       ; 54
c259: cmp  ($49,X)              ; c1 49
c25b: jmp  $454c                ; 4c 4c 45
c25e: ???                       ; 47
c25f: eor  ($4c,X)              ; 41 4c
c261: jsr  $5551                ; 20 51 55
c264: eor  ($4e,X)              ; 41 4e
c266: ???                       ; 54
c267: eor  #$54                 ; 49 54
c269: cmp  $564f,Y              ; d9 4f 56
c26c: eor  $52                  ; 45 52
c26e: lsr  $4c                  ; 46 4c
c270: ???                       ; 4f
c271: ???                       ; d7
c272: ???                       ; 4f
c273: eor  $54,X                ; 55 54
c275: jsr  $464f                ; 20 4f 46
c278: jsr  $454d                ; 20 4d 45
c27b: eor  $524f                ; 4d 4f 52
c27e: cmp  $4e55,Y              ; d9 55 4e
c281: ???                       ; 44
c282: eor  $46                  ; 45 46
c284: ???                       ; 27
c285: ???                       ; 44
c286: jsr  $5453                ; 20 53 54
c289: eor  ($54,X)              ; 41 54
c28b: eor  $4d                  ; 45 4d
c28d: eor  $4e                  ; 45 4e
c28f: ???                       ; d4
c290: ???                       ; 42
c291: eor  ($44,X)              ; 41 44
c293: jsr  $5553                ; 20 53 55
c296: ???                       ; 42
c297: ???                       ; 53
c298: ???                       ; 43
c299: ???                       ; 52
c29a: eor  #$50                 ; 49 50
c29c: ???                       ; d4
c29d: ???                       ; 52
c29e: eor  $44                  ; 45 44
c2a0: eor  #$4d                 ; 49 4d
c2a2: ???                       ; 27
c2a3: ???                       ; 44
c2a4: jsr  $5241                ; 20 41 52
c2a7: ???                       ; 52
c2a8: eor  ($SCRLINK,X)         ; 41 d9
c2aa: ???                       ; 44
c2ab: eor  #$56                 ; 49 56
c2ad: eor  #$53                 ; 49 53
c2af: eor  #$4f                 ; 49 4f
c2b1: lsr  $4220                ; 4e 20 42
c2b4: eor  $5a20,Y              ; 59 20 5a
c2b7: eor  $52                  ; 45 52
c2b9: ???                       ; cf
c2ba: eor  #$4c                 ; 49 4c
c2bc: jmp  $4745                ; 4c 45 47
c2bf: eor  ($4c,X)              ; 41 4c
c2c1: jsr  $4944                ; 20 44 49
c2c4: ???                       ; 52
c2c5: eor  $INPVEC              ; 45 43
c2c7: ???                       ; d4
c2c8: ???                       ; 54
c2c9: eor  $4550,Y              ; 59 50 45
c2cc: jsr  $494d                ; 20 4d 49
c2cf: ???                       ; 53
c2d0: eor  $5441                ; 4d 41 54
c2d3: ???                       ; 43
c2d4: iny                       ; c8
c2d5: ???                       ; 53
c2d6: ???                       ; 54
c2d7: ???                       ; 52
c2d8: eor  #$4e                 ; 49 4e
c2da: ???                       ; 47
c2db: jsr  $4f54                ; 20 54 4f
c2de: ???                       ; 4f
c2df: jsr  $4f4c                ; 20 4c 4f
c2e2: lsr  $46c7                ; 4e c7 46
c2e5: eor  #$4c                 ; 49 4c
c2e7: eor  $20                  ; 45 20
c2e9: ???                       ; 44
c2ea: eor  ($54,X)              ; 41 54
c2ec: cmp  ($46,X)              ; c1 46
c2ee: ???                       ; 4f
c2ef: ???                       ; 52
c2f0: eor  $4c55                ; 4d 55 4c
c2f3: eor  ($20,X)              ; 41 20
c2f5: ???                       ; 54
c2f6: ???                       ; 4f
c2f7: ???                       ; 4f
c2f8: jsr  $4f43                ; 20 43 4f
c2fb: eor  $4c50                ; 4d 50 4c
c2fe: eor  $NO_INSERTS          ; 45 d8
c300: ???                       ; 43
c301: eor  ($4e,X)              ; 41 4e
c303: ???                       ; 27
c304: ???                       ; 54
c305: jsr  $4f43                ; 20 43 4f
c308: lsr  $4954                ; 4e 54 49
c30b: lsr  $c555                ; 4e 55 c5
c30e: eor  $4e,X                ; 55 4e
c310: ???                       ; 44
c311: eor  $46                  ; 45 46
c313: ???                       ; 27
c314: ???                       ; 44
c315: jsr  $5546                ; 20 46 55
c318: lsr  $5443                ; 4e 43 54
c31b: eor  #$4f                 ; 49 4f
c31d: dec  $4556                ; ce 56 45
c320: ???                       ; 52
c321: eor  #$46                 ; 49 46
c323: cmp  $4f4c,Y              ; d9 4c 4f
c326: eor  ($c4,X)              ; 41 c4
errptr: *** Error Message Pointers
c328: ???                       ; 9e
c329: *** Error Message Pointers
c329: cmp  ($ac,X)              ; c1 ac
c32b: cmp  ($b5,X)              ; c1 b5
c32d: cmp  ($c2,X)              ; c1 c2
c32f: cmp  ($d0,X)              ; c1 d0
c331: cmp  ($e2,X)              ; c1 e2
c333: cmp  ($f0,X)              ; c1 f0
c335: cmp  ($ff,X)              ; c1 ff
c337: cmp  ($10,X)              ; c1 10
c339: ???                       ; c2
c33a: and  $c2                  ; 25 c2
c33c: and  $c2,X                ; 35 c2
c33e: ???                       ; 3b
c33f: ???                       ; c2
c340: ???                       ; 4f
c341: ???                       ; c2
c342: ???                       ; 5a
c343: ???                       ; c2
c344: ror  a                    ; 6a
c345: ???                       ; c2
c346: ???                       ; 72
c347: ???                       ; c2
c348: ???                       ; 7f
c349: ???                       ; c2
c34a: bcc  $c30e                ; 90 c2
c34c: sta  $aac2,X              ; 9d c2 aa
c34f: ???                       ; c2
c350: tsx                       ; ba
c351: ???                       ; c2
c352: iny                       ; c8
c353: ???                       ; c2
c354: cmp  $c2,X                ; d5 c2
c356: cpx  $c2                  ; e4 c2
c358: sbc  $00c2                ; ed c2 00
c35b: ???                       ; c3
c35c: asl  $1ec3                ; 0e c3 1e
c35f: ???                       ; c3
c360: bit  $c3                  ; 24 c3
c362: ???                       ; 83
c363: ???                       ; c3
okk: *** Misc. Messages (DATA)
c364: ora  $4b4f                ; 0d 4f 4b
c367: ora  $0d00                ; 0d 00 0d
c36a: jsr  $5245                ; 20 45 52
c36d: ???                       ; 52
c36e: ???                       ; 4f
c36f: ???                       ; 52
c370: brk                       ; 00
c371: jsr  $4e49                ; 20 49 4e
c374: jsr  $0d00                ; 20 00 0d
c377: asl  a                    ; 0a
c378: ???                       ; 52
c379: eor  $41                  ; 45 41
c37b: ???                       ; 44
c37c: eor  $0d2e,Y              ; 59 2e 0d
c37f: asl  a                    ; 0a
c380: brk                       ; 00
c381: ora  $420a                ; 0d 0a 42
c384: ???                       ; 52
c385: eor  $41                  ; 45 41
c387: ???                       ; 4b
c388: brk                       ; 00
c389: *** Unused byte (DATA)
c389: ldy  #$ba                 ; a0 ba
c38b: inx                       ; e8
c38c: inx                       ; e8
c38d: inx                       ; e8
c38e: inx                       ; e8
c38f: lda  $0101,X              ; bd 01 01
c392: cmp  #$81                 ; c9 81
c394: bne  $c3b7                ; d0 21
c396: lda  $4a                  ; a5 4a
c398: bne  $c3a4                ; d0 0a
c39a: lda  $0102,X              ; bd 02 01
c39d: sta  $49                  ; 85 49
c39f: lda  $0103,X              ; bd 03 01
c3a2: sta  $4a                  ; 85 4a
c3a4: cmp  $0103,X              ; dd 03 01
c3a7: bne  $c3b0                ; d0 07
c3a9: lda  $49                  ; a5 49
c3ab: cmp  $0102,X              ; dd 02 01
c3ae: beq  $c3b7                ; f0 07
c3b0: txa                       ; 8a
c3b1: clc                       ; 18
c3b2: adc  #$12                 ; 69 12
c3b4: tax                       ; aa
c3b5: bne  $c38f                ; d0 d8
c3b7: rts                       ; 60
bltu: *** Open Space in Memory
c3b8: jsr  $reason              ; 20 08 c4
c3bb: sta  $ARRAYS_END          ; 85 31
c3bd: sty  $32                  ; 84 32
c3bf: sec                       ; 38
c3c0: lda  $5a                  ; a5 5a
c3c2: sbc  $5f                  ; e5 5f
c3c4: sta  $22                  ; 85 22
c3c6: tay                       ; a8
c3c7: lda  $5b                  ; a5 5b
c3c9: sbc  $60                  ; e5 60
c3cb: tax                       ; aa
c3cc: inx                       ; e8
c3cd: tya                       ; 98
c3ce: beq  $c3f3                ; f0 23
c3d0: lda  $5a                  ; a5 5a
c3d2: sec                       ; 38
c3d3: sbc  $22                  ; e5 22
c3d5: sta  $5a                  ; 85 5a
c3d7: bcs  $c3dc                ; b0 03
c3d9: dec  $5b                  ; c6 5b
c3db: sec                       ; 38
c3dc: lda  $58                  ; a5 58
c3de: sbc  $22                  ; e5 22
c3e0: sta  $58                  ; 85 58
c3e2: bcs  $c3ec                ; b0 08
c3e4: dec  $59                  ; c6 59
c3e6: bcc  $c3ec                ; 90 04
c3e8: lda  ($5a),Y              ; b1 5a
c3ea: sta  ($58),Y              ; 91 58
c3ec: dey                       ; 88
c3ed: bne  $c3e8                ; d0 f9
c3ef: lda  ($5a),Y              ; b1 5a
c3f1: sta  ($58),Y              ; 91 58
c3f3: dec  $5b                  ; c6 5b
c3f5: dec  $59                  ; c6 59
c3f7: dex                       ; ca
c3f8: bne  $c3ec                ; d0 f2
c3fa: rts                       ; 60
getstk: *** Check Stack Depth
c3fb: asl  a                    ; 0a
c3fc: adc  #$3e                 ; 69 3e
c3fe: bcs  $omerr               ; b0 35
c400: sta  $22                  ; 85 22
c402: tsx                       ; ba
c403: cpx  $22                  ; e4 22
c405: bcc  $omerr               ; 90 2e
c407: rts                       ; 60
reason: *** Check Memory Overlap
c408: cpy  $34                  ; c4 34
c40a: bcc  $c434                ; 90 28
c40c: bne  $c412                ; d0 04
c40e: cmp  $STRINGS             ; c5 33
c410: bcc  $c434                ; 90 22
c412: pha                       ; 48
c413: ldx  #$09                 ; a2 09
c415: tya                       ; 98
c416: pha                       ; 48
c417: lda  $57,X                ; b5 57
c419: dex                       ; ca
c41a: bpl  $c416                ; 10 fa
c41c: jsr  $garbag              ; 20 26 d5
c41f: ldx  #$f7                 ; a2 f7
c421: pla                       ; 68
c422: sta  $ACC1_EXP,X          ; 95 61
c424: inx                       ; e8
c425: bmi  $c421                ; 30 fa
c427: pla                       ; 68
c428: tay                       ; a8
c429: pla                       ; 68
c42a: cpy  $34                  ; c4 34
c42c: bcc  $c434                ; 90 06
c42e: bne  $omerr               ; d0 05
c430: cmp  $STRINGS             ; c5 33
c432: bcs  $omerr               ; b0 01
c434: rts                       ; 60
omerr: *** Output ?OUT OF MEMORY Error
c435: ldx  #$10                 ; a2 10
error: *** Error Routine
c437: jmp  ($ERRLNK)            ; 6c 00 03
c43a: txa                       ; 8a
c43b: asl  a                    ; 0a
c43c: tax                       ; aa
c43d: lda  $c326,X              ; bd 26 c3
c440: sta  $22                  ; 85 22
c442: lda  $c327,X              ; bd 27 c3
c445: sta  $23                  ; 85 23
c447: jsr  $(iclrch)            ; 20 cc ff
c44a: lda  #$00                 ; a9 00
c44c: sta  $13                  ; 85 13
c44e: jsr  $crdo                ; 20 d7 ca
c451: jsr  $cb45                ; 20 45 cb
c454: ldy  #$00                 ; a0 00
c456: lda  ($22),Y              ; b1 22
c458: pha                       ; 48
c459: and  #$7f                 ; 29 7f
c45b: jsr  $cb47                ; 20 47 cb
c45e: iny                       ; c8
c45f: pla                       ; 68
c460: bpl  $c456                ; 10 f4
c462: jsr  $c67a                ; 20 7a c6
c465: lda  #$69                 ; a9 69
c467: ldy  #$c3                 ; a0 c3
errfin: *** Break Entry
c469: jsr  $strout              ; 20 1e cb
c46c: ldy  $3a                  ; a4 3a
c46e: iny                       ; c8
c46f: beq  $ready               ; f0 03
c471: jsr  $inprt               ; 20 c2 dd
ready: *** Restart BASIC
c474: lda  #$76                 ; a9 76
c476: ldy  #$c3                 ; a0 c3
c478: jsr  $strout              ; 20 1e cb
c47b: lda  #$80                 ; a9 80
c47d: jsr  $setmsg              ; 20 90 ff
main: *** Input & Identify BASIC Line
c480: jmp  ($0302)              ; 6c 02 03
c483: jsr  $inlin               ; 20 60 c5
c486: stx  $7a                  ; 86 7a
c488: sty  $7b                  ; 84 7b
c48a: jsr  $CHRGET              ; 20 73 00
c48d: tax                       ; aa
c48e: beq  $main                ; f0 f0
c490: ldx  #$ff                 ; a2 ff
c492: stx  $3a                  ; 86 3a
c494: bcc  $main1               ; 90 06
c496: jsr  $crunch              ; 20 79 c5
c499: jmp  $gone                ; 4c e1 c7
main1: *** Get Line Number & Tokenise Text
c49c: jsr  $linget              ; 20 6b c9
c49f: jsr  $crunch              ; 20 79 c5
inslin: *** Insert BASIC Text
c4a2: sty  $0b                  ; 84 0b
c4a4: jsr  $fndlin              ; 20 13 c6
c4a7: bcc  $c4ed                ; 90 44
c4a9: ldy  #$01                 ; a0 01
c4ab: lda  ($5f),Y              ; b1 5f
c4ad: sta  $23                  ; 85 23
c4af: lda  $VARS_START          ; a5 2d
c4b1: sta  $22                  ; 85 22
c4b3: lda  $60                  ; a5 60
c4b5: sta  $25                  ; 85 25
c4b7: lda  $5f                  ; a5 5f
c4b9: dey                       ; 88
c4ba: sbc  ($5f),Y              ; f1 5f
c4bc: clc                       ; 18
c4bd: adc  $VARS_START          ; 65 2d
c4bf: sta  $VARS_START          ; 85 2d
c4c1: sta  $24                  ; 85 24
c4c3: lda  $2e                  ; a5 2e
c4c5: adc  #$ff                 ; 69 ff
c4c7: sta  $2e                  ; 85 2e
c4c9: sbc  $60                  ; e5 60
c4cb: tax                       ; aa
c4cc: sec                       ; 38
c4cd: lda  $5f                  ; a5 5f
c4cf: sbc  $VARS_START          ; e5 2d
c4d1: tay                       ; a8
c4d2: bcs  $c4d7                ; b0 03
c4d4: inx                       ; e8
c4d5: dec  $25                  ; c6 25
c4d7: clc                       ; 18
c4d8: adc  $22                  ; 65 22
c4da: bcc  $c4df                ; 90 03
c4dc: dec  $23                  ; c6 23
c4de: clc                       ; 18
c4df: lda  ($22),Y              ; b1 22
c4e1: sta  ($24),Y              ; 91 24
c4e3: iny                       ; c8
c4e4: bne  $c4df                ; d0 f9
c4e6: inc  $23                  ; e6 23
c4e8: inc  $25                  ; e6 25
c4ea: dex                       ; ca
c4eb: bne  $c4df                ; d0 f2
c4ed: jsr  $c659                ; 20 59 c6
c4f0: jsr  $linkprg             ; 20 33 c5
c4f3: lda  $BASINP_BUFF         ; ad 00 02
c4f6: beq  $main                ; f0 88
c4f8: clc                       ; 18
c4f9: lda  $VARS_START          ; a5 2d
c4fb: sta  $5a                  ; 85 5a
c4fd: adc  $0b                  ; 65 0b
c4ff: sta  $58                  ; 85 58
c501: ldy  $2e                  ; a4 2e
c503: sty  $5b                  ; 84 5b
c505: bcc  $c508                ; 90 01
c507: iny                       ; c8
c508: sty  $59                  ; 84 59
c50a: jsr  $bltu                ; 20 b8 c3
c50d: lda  $14                  ; a5 14
c50f: ldy  $15                  ; a4 15
c511: sta  $01fe                ; 8d fe 01
c514: sty  $01ff                ; 8c ff 01
c517: lda  $ARRAYS_END          ; a5 31
c519: ldy  $32                  ; a4 32
c51b: sta  $VARS_START          ; 85 2d
c51d: sty  $2e                  ; 84 2e
c51f: ldy  $0b                  ; a4 0b
c521: dey                       ; 88
c522: lda  $01fc,Y              ; b9 fc 01
c525: sta  ($5f),Y              ; 91 5f
c527: dey                       ; 88
c528: bpl  $c522                ; 10 f8
c52a: jsr  $c659                ; 20 59 c6
c52d: jsr  $linkprg             ; 20 33 c5
c530: jmp  $main                ; 4c 80 c4
linkprg: *** Rechain Lines
c533: lda  $BASIC_START         ; a5 2b
c535: ldy  $2c                  ; a4 2c
c537: sta  $22                  ; 85 22
c539: sty  $23                  ; 84 23
c53b: clc                       ; 18
c53c: ldy  #$01                 ; a0 01
c53e: lda  ($22),Y              ; b1 22
c540: beq  $c55f                ; f0 1d
c542: ldy  #$04                 ; a0 04
c544: iny                       ; c8
c545: lda  ($22),Y              ; b1 22
c547: bne  $c544                ; d0 fb
c549: iny                       ; c8
c54a: tya                       ; 98
c54b: adc  $22                  ; 65 22
c54d: tax                       ; aa
c54e: ldy  #$00                 ; a0 00
c550: sta  ($22),Y              ; 91 22
c552: lda  $23                  ; a5 23
c554: adc  #$00                 ; 69 00
c556: iny                       ; c8
c557: sta  ($22),Y              ; 91 22
c559: stx  $22                  ; 86 22
c55b: sta  $23                  ; 85 23
c55d: bcc  $c53c                ; 90 dd
c55f: rts                       ; 60
inlin: *** Input Line Into Buffer
c560: ldx  #$00                 ; a2 00
c562: jsr  $bchin               ; 20 0f e1
c565: cmp  #$0d                 ; c9 0d
c567: beq  $c576                ; f0 0d
c569: sta  $BASINP_BUFF,X       ; 9d 00 02
c56c: inx                       ; e8
c56d: cpx  #$59                 ; e0 59
c56f: bcc  $c562                ; 90 f1
c571: ldx  #$17                 ; a2 17
c573: jmp  $error               ; 4c 37 c4
c576: jmp  $caca                ; 4c ca ca
crunch: *** Tokenise Input Buffer
c579: jmp  ($0304)              ; 6c 04 03
c57c: ldx  $7a                  ; a6 7a
c57e: ldy  #$04                 ; a0 04
c580: sty  $0f                  ; 84 0f
c582: lda  $BASINP_BUFF,X       ; bd 00 02
c585: bpl  $c58e                ; 10 07
c587: cmp  #$ff                 ; c9 ff
c589: beq  $c5c9                ; f0 3e
c58b: inx                       ; e8
c58c: bne  $c582                ; d0 f4
c58e: cmp  #$20                 ; c9 20
c590: beq  $c5c9                ; f0 37
c592: sta  $08                  ; 85 08
c594: cmp  #$22                 ; c9 22
c596: beq  $c5ee                ; f0 56
c598: bit  $0f                  ; 24 0f
c59a: bvs  $c5c9                ; 70 2d
c59c: cmp  #$3f                 ; c9 3f
c59e: bne  $c5a4                ; d0 04
c5a0: lda  #$99                 ; a9 99
c5a2: bne  $c5c9                ; d0 25
c5a4: cmp  #$30                 ; c9 30
c5a6: bcc  $c5ac                ; 90 04
c5a8: cmp  #$3c                 ; c9 3c
c5aa: bcc  $c5c9                ; 90 1d
c5ac: sty  $71                  ; 84 71
c5ae: ldy  #$00                 ; a0 00
c5b0: sty  $0b                  ; 84 0b
c5b2: dey                       ; 88
c5b3: stx  $7a                  ; 86 7a
c5b5: dex                       ; ca
c5b6: iny                       ; c8
c5b7: inx                       ; e8
c5b8: lda  $BASINP_BUFF,X       ; bd 00 02
c5bb: sec                       ; 38
c5bc: sbc  $reslst,Y            ; f9 9e c0
c5bf: beq  $c5b6                ; f0 f5
c5c1: cmp  #$80                 ; c9 80
c5c3: bne  $c5f5                ; d0 30
c5c5: ora  $0b                  ; 05 0b
c5c7: ldy  $71                  ; a4 71
c5c9: inx                       ; e8
c5ca: iny                       ; c8
c5cb: sta  $01fb,Y              ; 99 fb 01
c5ce: lda  $01fb,Y              ; b9 fb 01
c5d1: beq  $c609                ; f0 36
c5d3: sec                       ; 38
c5d4: sbc  #$3a                 ; e9 3a
c5d6: beq  $c5dc                ; f0 04
c5d8: cmp  #$49                 ; c9 49
c5da: bne  $c5de                ; d0 02
c5dc: sta  $0f                  ; 85 0f
c5de: sec                       ; 38
c5df: sbc  #$55                 ; e9 55
c5e1: bne  $c582                ; d0 9f
c5e3: sta  $08                  ; 85 08
c5e5: lda  $BASINP_BUFF,X       ; bd 00 02
c5e8: beq  $c5c9                ; f0 df
c5ea: cmp  $08                  ; c5 08
c5ec: beq  $c5c9                ; f0 db
c5ee: iny                       ; c8
c5ef: sta  $01fb,Y              ; 99 fb 01
c5f2: inx                       ; e8
c5f3: bne  $c5e5                ; d0 f0
c5f5: ldx  $7a                  ; a6 7a
c5f7: inc  $0b                  ; e6 0b
c5f9: iny                       ; c8
c5fa: lda  $c09d,Y              ; b9 9d c0
c5fd: bpl  $c5f9                ; 10 fa
c5ff: lda  $reslst,Y            ; b9 9e c0
c602: bne  $c5b8                ; d0 b4
c604: lda  $BASINP_BUFF,X       ; bd 00 02
c607: bpl  $c5c7                ; 10 be
c609: sta  $01fd,Y              ; 99 fd 01
c60c: dec  $7b                  ; c6 7b
c60e: lda  #$ff                 ; a9 ff
c610: sta  $7a                  ; 85 7a
c612: rts                       ; 60
fndlin: *** Search for Line Number
c613: lda  $BASIC_START         ; a5 2b
c615: ldx  $2c                  ; a6 2c
c617: ldy  #$01                 ; a0 01
c619: sta  $5f                  ; 85 5f
c61b: stx  $60                  ; 86 60
c61d: lda  ($5f),Y              ; b1 5f
c61f: beq  $c640                ; f0 1f
c621: iny                       ; c8
c622: iny                       ; c8
c623: lda  $15                  ; a5 15
c625: cmp  ($5f),Y              ; d1 5f
c627: bcc  $c641                ; 90 18
c629: beq  $c62e                ; f0 03
c62b: dey                       ; 88
c62c: bne  $c637                ; d0 09
c62e: lda  $14                  ; a5 14
c630: dey                       ; 88
c631: cmp  ($5f),Y              ; d1 5f
c633: bcc  $c641                ; 90 0c
c635: beq  $c641                ; f0 0a
c637: dey                       ; 88
c638: lda  ($5f),Y              ; b1 5f
c63a: tax                       ; aa
c63b: dey                       ; 88
c63c: lda  ($5f),Y              ; b1 5f
c63e: bcs  $c617                ; b0 d7
c640: clc                       ; 18
c641: rts                       ; 60
scrtch: *** Perform [new]
c642: bne  $c641                ; d0 fd
c644: lda  #$00                 ; a9 00
c646: tay                       ; a8
c647: sta  ($BASIC_START),Y     ; 91 2b
c649: iny                       ; c8
c64a: sta  ($BASIC_START),Y     ; 91 2b
c64c: lda  $BASIC_START         ; a5 2b
c64e: clc                       ; 18
c64f: adc  #$02                 ; 69 02
c651: sta  $VARS_START          ; 85 2d
c653: lda  $2c                  ; a5 2c
c655: adc  #$00                 ; 69 00
c657: sta  $2e                  ; 85 2e
c659: jsr  $stxpt               ; 20 8e c6
c65c: lda  #$00                 ; a9 00
clear: *** Perform [clr]
c65e: bne  $c68d                ; d0 2d
c660: jsr  $(iclall)            ; 20 e7 ff
c663: lda  $MEM_LIMIT           ; a5 37
c665: ldy  $38                  ; a4 38
c667: sta  $STRINGS             ; 85 33
c669: sty  $34                  ; 84 34
c66b: lda  $VARS_START          ; a5 2d
c66d: ldy  $2e                  ; a4 2e
c66f: sta  $ARRAYS_START        ; 85 2f
c671: sty  $30                  ; 84 30
c673: sta  $ARRAYS_END          ; 85 31
c675: sty  $32                  ; 84 32
c677: jsr  $restor              ; 20 1d c8
c67a: ldx  #$19                 ; a2 19
c67c: stx  $16                  ; 86 16
c67e: pla                       ; 68
c67f: tay                       ; a8
c680: pla                       ; 68
c681: ldx  #$fa                 ; a2 fa
c683: txs                       ; 9a
c684: pha                       ; 48
c685: tya                       ; 98
c686: pha                       ; 48
c687: lda  #$00                 ; a9 00
c689: sta  $3e                  ; 85 3e
c68b: sta  $10                  ; 85 10
c68d: rts                       ; 60
stxpt: *** Reset TXTPTR
c68e: clc                       ; 18
c68f: lda  $BASIC_START         ; a5 2b
c691: adc  #$ff                 ; 69 ff
c693: sta  $7a                  ; 85 7a
c695: lda  $2c                  ; a5 2c
c697: adc  #$ff                 ; 69 ff
c699: sta  $7b                  ; 85 7b
c69b: rts                       ; 60
list: *** Perform [list]
c69c: bcc  $c6a4                ; 90 06
c69e: beq  $c6a4                ; f0 04
c6a0: cmp  #$ab                 ; c9 ab
c6a2: bne  $c68d                ; d0 e9
c6a4: jsr  $linget              ; 20 6b c9
c6a7: jsr  $fndlin              ; 20 13 c6
c6aa: jsr  $0079                ; 20 79 00
c6ad: beq  $c6bb                ; f0 0c
c6af: cmp  #$ab                 ; c9 ab
c6b1: bne  $c641                ; d0 8e
c6b3: jsr  $CHRGET              ; 20 73 00
c6b6: jsr  $linget              ; 20 6b c9
c6b9: bne  $c641                ; d0 86
c6bb: pla                       ; 68
c6bc: pla                       ; 68
c6bd: lda  $14                  ; a5 14
c6bf: ora  $15                  ; 05 15
c6c1: bne  $c6c9                ; d0 06
c6c3: lda  #$ff                 ; a9 ff
c6c5: sta  $14                  ; 85 14
c6c7: sta  $15                  ; 85 15
c6c9: ldy  #$01                 ; a0 01
c6cb: sty  $0f                  ; 84 0f
c6cd: lda  ($5f),Y              ; b1 5f
c6cf: beq  $c714                ; f0 43
c6d1: jsr  $stop                ; 20 2c c8
c6d4: jsr  $crdo                ; 20 d7 ca
c6d7: iny                       ; c8
c6d8: lda  ($5f),Y              ; b1 5f
c6da: tax                       ; aa
c6db: iny                       ; c8
c6dc: lda  ($5f),Y              ; b1 5f
c6de: cmp  $15                  ; c5 15
c6e0: bne  $c6e6                ; d0 04
c6e2: cpx  $14                  ; e4 14
c6e4: beq  $c6e8                ; f0 02
c6e6: bcs  $c714                ; b0 2c
c6e8: sty  $49                  ; 84 49
c6ea: jsr  $ddcd                ; 20 cd dd
c6ed: lda  #$20                 ; a9 20
c6ef: ldy  $49                  ; a4 49
c6f1: and  #$7f                 ; 29 7f
c6f3: jsr  $cb47                ; 20 47 cb
c6f6: cmp  #$22                 ; c9 22
c6f8: bne  $c700                ; d0 06
c6fa: lda  $0f                  ; a5 0f
c6fc: eor  #$ff                 ; 49 ff
c6fe: sta  $0f                  ; 85 0f
c700: iny                       ; c8
c701: beq  $c714                ; f0 11
c703: lda  ($5f),Y              ; b1 5f
c705: bne  $qplop               ; d0 10
c707: tay                       ; a8
c708: lda  ($5f),Y              ; b1 5f
c70a: tax                       ; aa
c70b: iny                       ; c8
c70c: lda  ($5f),Y              ; b1 5f
c70e: stx  $5f                  ; 86 5f
c710: sta  $60                  ; 85 60
c712: bne  $c6c9                ; d0 b5
c714: jmp  $ready               ; 4c 74 c4
qplop: *** Handle LIST Character
c717: jmp  ($0306)              ; 6c 06 03
c71a: bpl  $c6f3                ; 10 d7
c71c: cmp  #$ff                 ; c9 ff
c71e: beq  $c6f3                ; f0 d3
c720: bit  $0f                  ; 24 0f
c722: bmi  $c6f3                ; 30 cf
c724: sec                       ; 38
c725: sbc  #$7f                 ; e9 7f
c727: tax                       ; aa
c728: sty  $49                  ; 84 49
c72a: ldy  #$ff                 ; a0 ff
c72c: dex                       ; ca
c72d: beq  $c737                ; f0 08
c72f: iny                       ; c8
c730: lda  $reslst,Y            ; b9 9e c0
c733: bpl  $c72f                ; 10 fa
c735: bmi  $c72c                ; 30 f5
c737: iny                       ; c8
c738: lda  $reslst,Y            ; b9 9e c0
c73b: bmi  $c6ef                ; 30 b2
c73d: jsr  $cb47                ; 20 47 cb
c740: bne  $c737                ; d0 f5
for: *** Perform [for]
c742: lda  #$80                 ; a9 80
c744: sta  $10                  ; 85 10
c746: jsr  $let                 ; 20 a5 c9
c749: jsr  $fndfor              ; 20 8a c3
c74c: bne  $c753                ; d0 05
c74e: txa                       ; 8a
c74f: adc  #$0f                 ; 69 0f
c751: tax                       ; aa
c752: txs                       ; 9a
c753: pla                       ; 68
c754: pla                       ; 68
c755: lda  #$09                 ; a9 09
c757: jsr  $getstk              ; 20 fb c3
c75a: jsr  $datan               ; 20 06 c9
c75d: clc                       ; 18
c75e: tya                       ; 98
c75f: adc  $7a                  ; 65 7a
c761: pha                       ; 48
c762: lda  $7b                  ; a5 7b
c764: adc  #$00                 ; 69 00
c766: pha                       ; 48
c767: lda  $3a                  ; a5 3a
c769: pha                       ; 48
c76a: lda  $39                  ; a5 39
c76c: pha                       ; 48
c76d: lda  #$a4                 ; a9 a4
c76f: jsr  $ceff                ; 20 ff ce
c772: jsr  $cd8d                ; 20 8d cd
c775: jsr  $frmnum              ; 20 8a cd
c778: lda  $ACC1_SGN            ; a5 66
c77a: ora  #$7f                 ; 09 7f
c77c: and  $ACC1_MAN            ; 25 62
c77e: sta  $ACC1_MAN            ; 85 62
c780: lda  #$8b                 ; a9 8b
c782: ldy  #$c7                 ; a0 c7
c784: sta  $22                  ; 85 22
c786: sty  $23                  ; 84 23
c788: jmp  $ce43                ; 4c 43 ce
c78b: lda  #$bc                 ; a9 bc
c78d: ldy  #$d9                 ; a0 d9
c78f: jsr  $movfm               ; 20 a2 db
c792: jsr  $0079                ; 20 79 00
c795: cmp  #$a9                 ; c9 a9
c797: bne  $c79f                ; d0 06
c799: jsr  $CHRGET              ; 20 73 00
c79c: jsr  $frmnum              ; 20 8a cd
c79f: jsr  $sign                ; 20 2b dc
c7a2: jsr  $ce38                ; 20 38 ce
c7a5: lda  $4a                  ; a5 4a
c7a7: pha                       ; 48
c7a8: lda  $49                  ; a5 49
c7aa: pha                       ; 48
c7ab: lda  #$81                 ; a9 81
c7ad: pha                       ; 48
newstt: *** BASIC Warm Start
c7ae: jsr  $stop                ; 20 2c c8
c7b1: lda  $7a                  ; a5 7a
c7b3: ldy  $7b                  ; a4 7b
c7b5: cpy  #$02                 ; c0 02
c7b7: nop                       ; ea
c7b8: beq  $c7be                ; f0 04
c7ba: sta  $3d                  ; 85 3d
c7bc: sty  $3e                  ; 84 3e
c7be: ldy  #$00                 ; a0 00
c7c0: lda  ($7a),Y              ; b1 7a
c7c2: bne  $c807                ; d0 43
ckeol: *** Check End of Program
c7c4: ldy  #$02                 ; a0 02
c7c6: lda  ($7a),Y              ; b1 7a
c7c8: clc                       ; 18
c7c9: bne  $c7ce                ; d0 03
c7cb: jmp  $c84b                ; 4c 4b c8
c7ce: iny                       ; c8
c7cf: lda  ($7a),Y              ; b1 7a
c7d1: sta  $39                  ; 85 39
c7d3: iny                       ; c8
c7d4: lda  ($7a),Y              ; b1 7a
c7d6: sta  $3a                  ; 85 3a
c7d8: tya                       ; 98
c7d9: adc  $7a                  ; 65 7a
c7db: sta  $7a                  ; 85 7a
c7dd: bcc  $gone                ; 90 02
c7df: inc  $7b                  ; e6 7b
gone: *** Prepare to execute statement
c7e1: jmp  ($0308)              ; 6c 08 03
c7e4: jsr  $CHRGET              ; 20 73 00
c7e7: jsr  $gone3               ; 20 ed c7
c7ea: jmp  $newstt              ; 4c ae c7
gone3: *** Perform BASIC Keyword
c7ed: beq  $c82b                ; f0 3c
c7ef: sbc  #$80                 ; e9 80
c7f1: bcc  $c804                ; 90 11
c7f3: cmp  #$23                 ; c9 23
c7f5: bcs  $c80e                ; b0 17
c7f7: asl  a                    ; 0a
c7f8: tay                       ; a8
c7f9: lda  $c00d,Y              ; b9 0d c0
c7fc: pha                       ; 48
c7fd: lda  $stmdsp,Y            ; b9 0c c0
c800: pha                       ; 48
c801: jmp  $CHRGET              ; 4c 73 00
c804: jmp  $let                 ; 4c a5 c9
c807: cmp  #$3a                 ; c9 3a
c809: beq  $gone                ; f0 d6
c80b: jmp  $synerr              ; 4c 08 cf
c80e: cmp  #$4b                 ; c9 4b
c810: bne  $c80b                ; d0 f9
c812: jsr  $CHRGET              ; 20 73 00
c815: lda  #$a4                 ; a9 a4
c817: jsr  $ceff                ; 20 ff ce
c81a: jmp  $goto                ; 4c a0 c8
restor: *** Perform [restore]
c81d: sec                       ; 38
c81e: lda  $BASIC_START         ; a5 2b
c820: sbc  #$01                 ; e9 01
c822: ldy  $2c                  ; a4 2c
c824: bcs  $c827                ; b0 01
c826: dey                       ; 88
c827: sta  $41                  ; 85 41
c829: sty  $42                  ; 84 42
c82b: rts                       ; 60
stop: *** Perform [stop], [end], break
c82c: jsr  $(istop)             ; 20 e1 ff
c82f: bcs  $c832                ; b0 01
c831: clc                       ; 18
c832: bne  $c870                ; d0 3c
c834: lda  $7a                  ; a5 7a
c836: ldy  $7b                  ; a4 7b
c838: ldx  $3a                  ; a6 3a
c83a: inx                       ; e8
c83b: beq  $c849                ; f0 0c
c83d: sta  $3d                  ; 85 3d
c83f: sty  $3e                  ; 84 3e
c841: lda  $39                  ; a5 39
c843: ldy  $3a                  ; a4 3a
c845: sta  $3b                  ; 85 3b
c847: sty  $3c                  ; 84 3c
c849: pla                       ; 68
c84a: pla                       ; 68
c84b: lda  #$81                 ; a9 81
c84d: ldy  #$c3                 ; a0 c3
c84f: bcc  $c854                ; 90 03
c851: jmp  $errfin              ; 4c 69 c4
c854: jmp  $ready               ; 4c 74 c4
cont: *** Perform [cont]
c857: bne  $c870                ; d0 17
c859: ldx  #$1a                 ; a2 1a
c85b: ldy  $3e                  ; a4 3e
c85d: bne  $c862                ; d0 03
c85f: jmp  $error               ; 4c 37 c4
c862: lda  $3d                  ; a5 3d
c864: sta  $7a                  ; 85 7a
c866: sty  $7b                  ; 84 7b
c868: lda  $3b                  ; a5 3b
c86a: ldy  $3c                  ; a4 3c
c86c: sta  $39                  ; 85 39
c86e: sty  $3a                  ; 84 3a
c870: rts                       ; 60
run: *** Perform [run]
c871: php                       ; 08
c872: lda  #$00                 ; a9 00
c874: jsr  $setmsg              ; 20 90 ff
c877: plp                       ; 28
c878: bne  $c87d                ; d0 03
c87a: jmp  $c659                ; 4c 59 c6
c87d: jsr  $c660                ; 20 60 c6
c880: jmp  $c897                ; 4c 97 c8
gosub: *** Perform [gosub]
c883: lda  #$03                 ; a9 03
c885: jsr  $getstk              ; 20 fb c3
c888: lda  $7b                  ; a5 7b
c88a: pha                       ; 48
c88b: lda  $7a                  ; a5 7a
c88d: pha                       ; 48
c88e: lda  $3a                  ; a5 3a
c890: pha                       ; 48
c891: lda  $39                  ; a5 39
c893: pha                       ; 48
c894: lda  #$8d                 ; a9 8d
c896: pha                       ; 48
c897: jsr  $0079                ; 20 79 00
c89a: jsr  $goto                ; 20 a0 c8
c89d: jmp  $newstt              ; 4c ae c7
goto: *** Perform [goto]
c8a0: jsr  $linget              ; 20 6b c9
c8a3: jsr  $c909                ; 20 09 c9
c8a6: sec                       ; 38
c8a7: lda  $39                  ; a5 39
c8a9: sbc  $14                  ; e5 14
c8ab: lda  $3a                  ; a5 3a
c8ad: sbc  $15                  ; e5 15
c8af: bcs  $c8bc                ; b0 0b
c8b1: tya                       ; 98
c8b2: sec                       ; 38
c8b3: adc  $7a                  ; 65 7a
c8b5: ldx  $7b                  ; a6 7b
c8b7: bcc  $c8c0                ; 90 07
c8b9: inx                       ; e8
c8ba: bcs  $c8c0                ; b0 04
c8bc: lda  $BASIC_START         ; a5 2b
c8be: ldx  $2c                  ; a6 2c
c8c0: jsr  $c617                ; 20 17 c6
c8c3: bcc  $c8e3                ; 90 1e
c8c5: lda  $5f                  ; a5 5f
c8c7: sbc  #$01                 ; e9 01
c8c9: sta  $7a                  ; 85 7a
c8cb: lda  $60                  ; a5 60
c8cd: sbc  #$00                 ; e9 00
c8cf: sta  $7b                  ; 85 7b
c8d1: rts                       ; 60
return: *** Perform [return]
c8d2: bne  $c8d1                ; d0 fd
c8d4: lda  #$ff                 ; a9 ff
c8d6: sta  $4a                  ; 85 4a
c8d8: jsr  $fndfor              ; 20 8a c3
c8db: txs                       ; 9a
c8dc: cmp  #$8d                 ; c9 8d
c8de: beq  $c8eb                ; f0 0b
c8e0: ldx  #$0c                 ; a2 0c
c8e2: bit  $11a2                ; 2c a2 11
c8e5: jmp  $error               ; 4c 37 c4
c8e8: jmp  $synerr              ; 4c 08 cf
c8eb: pla                       ; 68
c8ec: pla                       ; 68
c8ed: sta  $39                  ; 85 39
c8ef: pla                       ; 68
c8f0: sta  $3a                  ; 85 3a
c8f2: pla                       ; 68
c8f3: sta  $7a                  ; 85 7a
c8f5: pla                       ; 68
c8f6: sta  $7b                  ; 85 7b
data: *** Perform [data]
c8f8: jsr  $datan               ; 20 06 c9
c8fb: tya                       ; 98
c8fc: clc                       ; 18
c8fd: adc  $7a                  ; 65 7a
c8ff: sta  $7a                  ; 85 7a
c901: bcc  $c905                ; 90 02
c903: inc  $7b                  ; e6 7b
c905: rts                       ; 60
datan: *** Search for Next Statement / Line
c906: ldx  #$3a                 ; a2 3a
c908: bit  $00a2                ; 2c a2 00
c90b: stx  $07                  ; 86 07
c90d: ldy  #$00                 ; a0 00
c90f: sty  $08                  ; 84 08
c911: lda  $08                  ; a5 08
c913: ldx  $07                  ; a6 07
c915: sta  $07                  ; 85 07
c917: stx  $08                  ; 86 08
c919: lda  ($7a),Y              ; b1 7a
c91b: beq  $c905                ; f0 e8
c91d: cmp  $08                  ; c5 08
c91f: beq  $c905                ; f0 e4
c921: iny                       ; c8
c922: cmp  #$22                 ; c9 22
c924: bne  $c919                ; d0 f3
c926: beq  $c911                ; f0 e9
if: *** Perform [if]
c928: jsr  $frmevl              ; 20 9e cd
c92b: jsr  $0079                ; 20 79 00
c92e: cmp  #$89                 ; c9 89
c930: beq  $c937                ; f0 05
c932: lda  #$a7                 ; a9 a7
c934: jsr  $ceff                ; 20 ff ce
c937: lda  $ACC1_EXP            ; a5 61
c939: bne  $c940                ; d0 05
rem: *** Perform [rem]
c93b: jsr  $c909                ; 20 09 c9
c93e: beq  $c8fb                ; f0 bb
c940: jsr  $0079                ; 20 79 00
c943: bcs  $c948                ; b0 03
c945: jmp  $goto                ; 4c a0 c8
c948: jmp  $gone3               ; 4c ed c7
ongoto: *** Perform [on]
c94b: jsr  $d79e                ; 20 9e d7
c94e: pha                       ; 48
c94f: cmp  #$8d                 ; c9 8d
c951: beq  $c957                ; f0 04
c953: cmp  #$89                 ; c9 89
c955: bne  $c8e8                ; d0 91
c957: dec  $65                  ; c6 65
c959: bne  $c95f                ; d0 04
c95b: pla                       ; 68
c95c: jmp  $c7ef                ; 4c ef c7
c95f: jsr  $CHRGET              ; 20 73 00
c962: jsr  $linget              ; 20 6b c9
c965: cmp  #$2c                 ; c9 2c
c967: beq  $c957                ; f0 ee
c969: pla                       ; 68
c96a: rts                       ; 60
linget: *** Fetch linnum From BASIC
c96b: ldx  #$00                 ; a2 00
c96d: stx  $14                  ; 86 14
c96f: stx  $15                  ; 86 15
c971: bcs  $c96a                ; b0 f7
c973: sbc  #$2f                 ; e9 2f
c975: sta  $07                  ; 85 07
c977: lda  $15                  ; a5 15
c979: sta  $22                  ; 85 22
c97b: cmp  #$19                 ; c9 19
c97d: bcs  $c953                ; b0 d4
c97f: lda  $14                  ; a5 14
c981: asl  a                    ; 0a
c982: rol  $22                  ; 26 22
c984: asl  a                    ; 0a
c985: rol  $22                  ; 26 22
c987: adc  $14                  ; 65 14
c989: sta  $14                  ; 85 14
c98b: lda  $22                  ; a5 22
c98d: adc  $15                  ; 65 15
c98f: sta  $15                  ; 85 15
c991: asl  $14                  ; 06 14
c993: rol  $15                  ; 26 15
c995: lda  $14                  ; a5 14
c997: adc  $07                  ; 65 07
c999: sta  $14                  ; 85 14
c99b: bcc  $c99f                ; 90 02
c99d: inc  $15                  ; e6 15
c99f: jsr  $CHRGET              ; 20 73 00
c9a2: jmp  $c971                ; 4c 71 c9
let: *** Perform [let]
c9a5: jsr  $ptrget              ; 20 8b d0
c9a8: sta  $49                  ; 85 49
c9aa: sty  $4a                  ; 84 4a
c9ac: lda  #$b2                 ; a9 b2
c9ae: jsr  $ceff                ; 20 ff ce
c9b1: lda  $0e                  ; a5 0e
c9b3: pha                       ; 48
c9b4: lda  $0d                  ; a5 0d
c9b6: pha                       ; 48
c9b7: jsr  $frmevl              ; 20 9e cd
c9ba: pla                       ; 68
c9bb: rol  a                    ; 2a
c9bc: jsr  $cd90                ; 20 90 cd
c9bf: bne  $putstr              ; d0 18
c9c1: pla                       ; 68
c9c2: bpl  $ptflpt              ; 10 12
putint: *** Assign Integer
c9c4: jsr  $round               ; 20 1b dc
c9c7: jsr  $ayint               ; 20 bf d1
c9ca: ldy  #$00                 ; a0 00
c9cc: lda  $64                  ; a5 64
c9ce: sta  ($49),Y              ; 91 49
c9d0: iny                       ; c8
c9d1: lda  $65                  ; a5 65
c9d3: sta  ($49),Y              ; 91 49
c9d5: rts                       ; 60
ptflpt: *** Assign Floating Point
c9d6: jmp  $dbd0                ; 4c d0 db
putstr: *** Assign String
c9d9: pla                       ; 68
c9da: ldy  $4a                  ; a4 4a
c9dc: cpy  #$df                 ; c0 df
c9de: bne  $getspt              ; d0 4c
c9e0: jsr  $d6a6                ; 20 a6 d6
puttim: *** Assign TI$
c9e3: cmp  #$06                 ; c9 06
c9e5: bne  $ca24                ; d0 3d
c9e7: ldy  #$00                 ; a0 00
c9e9: sty  $ACC1_EXP            ; 84 61
c9eb: sty  $ACC1_SGN            ; 84 66
c9ed: sty  $71                  ; 84 71
c9ef: jsr  $ca1d                ; 20 1d ca
c9f2: jsr  $mul10               ; 20 e2 da
c9f5: inc  $71                  ; e6 71
c9f7: ldy  $71                  ; a4 71
c9f9: jsr  $ca1d                ; 20 1d ca
c9fc: jsr  $movaf               ; 20 0c dc
c9ff: tax                       ; aa
ca00: beq  $ca07                ; f0 05
ca02: inx                       ; e8
ca03: txa                       ; 8a
ca04: jsr  $daed                ; 20 ed da
ca07: ldy  $71                  ; a4 71
ca09: iny                       ; c8
ca0a: cpy  #$06                 ; c0 06
ca0c: bne  $c9ed                ; d0 df
ca0e: jsr  $mul10               ; 20 e2 da
ca11: jsr  $qint                ; 20 9b dc
ca14: ldx  $64                  ; a6 64
ca16: ldy  $63                  ; a4 63
ca18: lda  $65                  ; a5 65
ca1a: jmp  $settim              ; 4c db ff
ca1d: lda  ($22),Y              ; b1 22
ca1f: jsr  $0080                ; 20 80 00
ca22: bcc  $ca27                ; 90 03
ca24: jmp  $d248                ; 4c 48 d2
ca27: sbc  #$2f                 ; e9 2f
ca29: jmp  $dd7e                ; 4c 7e dd
getspt: *** Add Digit to FAC#1
ca2c: ldy  #$02                 ; a0 02
ca2e: lda  ($64),Y              ; b1 64
ca30: cmp  $34                  ; c5 34
ca32: bcc  $ca4b                ; 90 17
ca34: bne  $ca3d                ; d0 07
ca36: dey                       ; 88
ca37: lda  ($64),Y              ; b1 64
ca39: cmp  $STRINGS             ; c5 33
ca3b: bcc  $ca4b                ; 90 0e
ca3d: ldy  $65                  ; a4 65
ca3f: cpy  $2e                  ; c4 2e
ca41: bcc  $ca4b                ; 90 08
ca43: bne  $ca52                ; d0 0d
ca45: lda  $64                  ; a5 64
ca47: cmp  $VARS_START          ; c5 2d
ca49: bcs  $ca52                ; b0 07
ca4b: lda  $64                  ; a5 64
ca4d: ldy  $65                  ; a4 65
ca4f: jmp  $ca68                ; 4c 68 ca
ca52: ldy  #$00                 ; a0 00
ca54: lda  ($64),Y              ; b1 64
ca56: jsr  $d475                ; 20 75 d4
ca59: lda  $50                  ; a5 50
ca5b: ldy  $51                  ; a4 51
ca5d: sta  $6f                  ; 85 6f
ca5f: sty  $70                  ; 84 70
ca61: jsr  $movins              ; 20 7a d6
ca64: lda  #$61                 ; a9 61
ca66: ldy  #$00                 ; a0 00
ca68: sta  $50                  ; 85 50
ca6a: sty  $51                  ; 84 51
ca6c: jsr  $frefac              ; 20 db d6
ca6f: ldy  #$00                 ; a0 00
ca71: lda  ($50),Y              ; b1 50
ca73: sta  ($49),Y              ; 91 49
ca75: iny                       ; c8
ca76: lda  ($50),Y              ; b1 50
ca78: sta  ($49),Y              ; 91 49
ca7a: iny                       ; c8
ca7b: lda  ($50),Y              ; b1 50
ca7d: sta  ($49),Y              ; 91 49
ca7f: rts                       ; 60
printn: *** Perform [print#]
ca80: jsr  $cmd                 ; 20 86 ca
ca83: jmp  $cbb5                ; 4c b5 cb
cmd: *** Perform [cmd]
ca86: jsr  $d79e                ; 20 9e d7
ca89: beq  $ca90                ; f0 05
ca8b: lda  #$2c                 ; a9 2c
ca8d: jsr  $ceff                ; 20 ff ce
ca90: php                       ; 08
ca91: stx  $13                  ; 86 13
ca93: jsr  $bckout              ; 20 15 e1
ca96: plp                       ; 28
ca97: jmp  $print               ; 4c a0 ca
strdon: *** Print String From Memory
ca9a: jsr  $cb21                ; 20 21 cb
ca9d: jsr  $0079                ; 20 79 00
print: *** Perform [print]
caa0: beq  $crdo                ; f0 35
caa2: beq  $cae7                ; f0 43
caa4: cmp  #$a3                 ; c9 a3
caa6: beq  $caf8                ; f0 50
caa8: cmp  #$a6                 ; c9 a6
caaa: clc                       ; 18
caab: beq  $caf8                ; f0 4b
caad: cmp  #$2c                 ; c9 2c
caaf: beq  $comprt              ; f0 37
cab1: cmp  #$3b                 ; c9 3b
cab3: beq  $cb13                ; f0 5e
cab5: jsr  $frmevl              ; 20 9e cd
varop: *** Output Variable
cab8: bit  $0d                  ; 24 0d
caba: bmi  $strdon              ; 30 de
cabc: jsr  $fout                ; 20 dd dd
cabf: jsr  $strlit              ; 20 87 d4
cac2: jsr  $cb21                ; 20 21 cb
cac5: jsr  $outspc              ; 20 3b cb
cac8: bne  $ca9d                ; d0 d3
caca: lda  #$00                 ; a9 00
cacc: sta  $BASINP_BUFF,X       ; 9d 00 02
cacf: ldx  #$ff                 ; a2 ff
cad1: ldy  #$01                 ; a0 01
cad3: lda  $13                  ; a5 13
cad5: bne  $cae7                ; d0 10
crdo: *** Output CR/LF
cad7: lda  #$0d                 ; a9 0d
cad9: jsr  $cb47                ; 20 47 cb
cadc: bit  $13                  ; 24 13
cade: bpl  $cae5                ; 10 05
cae0: lda  #$0a                 ; a9 0a
cae2: jsr  $cb47                ; 20 47 cb
cae5: eor  #$ff                 ; 49 ff
cae7: rts                       ; 60
comprt: *** Handle comma, TAB(, SPC(
cae8: sec                       ; 38
cae9: jsr  $plot                ; 20 f0 ff
caec: tya                       ; 98
caed: sec                       ; 38
caee: sbc  #$0b                 ; e9 0b
caf0: bcs  $caee                ; b0 fc
caf2: eor  #$ff                 ; 49 ff
caf4: adc  #$01                 ; 69 01
caf6: bne  $cb0e                ; d0 16
caf8: php                       ; 08
caf9: sec                       ; 38
cafa: jsr  $plot                ; 20 f0 ff
cafd: sty  $09                  ; 84 09
caff: jsr  $gtbytc              ; 20 9b d7
cb02: cmp  #$29                 ; c9 29
cb04: bne  $cb5f                ; d0 59
cb06: plp                       ; 28
cb07: bcc  $cb0f                ; 90 06
cb09: txa                       ; 8a
cb0a: sbc  $09                  ; e5 09
cb0c: bcc  $cb13                ; 90 05
cb0e: tax                       ; aa
cb0f: inx                       ; e8
cb10: dex                       ; ca
cb11: bne  $cb19                ; d0 06
cb13: jsr  $CHRGET              ; 20 73 00
cb16: jmp  $caa2                ; 4c a2 ca
cb19: jsr  $outspc              ; 20 3b cb
cb1c: bne  $cb10                ; d0 f2
strout: *** Output String
cb1e: jsr  $strlit              ; 20 87 d4
cb21: jsr  $d6a6                ; 20 a6 d6
cb24: tax                       ; aa
cb25: ldy  #$00                 ; a0 00
cb27: inx                       ; e8
cb28: dex                       ; ca
cb29: beq  $cae7                ; f0 bc
cb2b: lda  ($22),Y              ; b1 22
cb2d: jsr  $cb47                ; 20 47 cb
cb30: iny                       ; c8
cb31: cmp  #$0d                 ; c9 0d
cb33: bne  $cb28                ; d0 f3
cb35: jsr  $cae5                ; 20 e5 ca
cb38: jmp  $cb28                ; 4c 28 cb
outspc: *** Output Format Character
cb3b: lda  $13                  ; a5 13
cb3d: beq  $cb42                ; f0 03
cb3f: lda  #$20                 ; a9 20
cb41: bit  $1da9                ; 2c a9 1d
cb44: bit  $3fa9                ; 2c a9 3f
cb47: jsr  $bchout              ; 20 09 e1
cb4a: and  #$ff                 ; 29 ff
cb4c: rts                       ; 60
doagin: *** Handle Bad Data
cb4d: lda  $11                  ; a5 11
cb4f: beq  $cb62                ; f0 11
cb51: bmi  $cb57                ; 30 04
cb53: ldy  #$ff                 ; a0 ff
cb55: bne  $cb5b                ; d0 04
cb57: lda  $3f                  ; a5 3f
cb59: ldy  $40                  ; a4 40
cb5b: sta  $39                  ; 85 39
cb5d: sty  $3a                  ; 84 3a
cb5f: jmp  $synerr              ; 4c 08 cf
cb62: lda  $13                  ; a5 13
cb64: beq  $cb6b                ; f0 05
cb66: ldx  #$18                 ; a2 18
cb68: jmp  $error               ; 4c 37 c4
cb6b: lda  #$0c                 ; a9 0c
cb6d: ldy  #$cd                 ; a0 cd
cb6f: jsr  $strout              ; 20 1e cb
cb72: lda  $3d                  ; a5 3d
cb74: ldy  $3e                  ; a4 3e
cb76: sta  $7a                  ; 85 7a
cb78: sty  $7b                  ; 84 7b
cb7a: rts                       ; 60
get: *** Perform [get]
cb7b: jsr  $errdir              ; 20 a6 d3
cb7e: cmp  #$23                 ; c9 23
cb80: bne  $cb92                ; d0 10
cb82: jsr  $CHRGET              ; 20 73 00
cb85: jsr  $d79e                ; 20 9e d7
cb88: lda  #$2c                 ; a9 2c
cb8a: jsr  $ceff                ; 20 ff ce
cb8d: stx  $13                  ; 86 13
cb8f: jsr  $bckin               ; 20 1b e1
cb92: ldx  #$01                 ; a2 01
cb94: ldy  #$02                 ; a0 02
cb96: lda  #$00                 ; a9 00
cb98: sta  $0201                ; 8d 01 02
cb9b: lda  #$40                 ; a9 40
cb9d: jsr  $cc0f                ; 20 0f cc
cba0: ldx  $13                  ; a6 13
cba2: bne  $cbb7                ; d0 13
cba4: rts                       ; 60
inputn: *** Perform [input#]
cba5: jsr  $d79e                ; 20 9e d7
cba8: lda  #$2c                 ; a9 2c
cbaa: jsr  $ceff                ; 20 ff ce
cbad: stx  $13                  ; 86 13
cbaf: jsr  $bckin               ; 20 1b e1
cbb2: jsr  $cbce                ; 20 ce cb
cbb5: lda  $13                  ; a5 13
cbb7: jsr  $(iclrch)            ; 20 cc ff
cbba: ldx  #$00                 ; a2 00
cbbc: stx  $13                  ; 86 13
cbbe: rts                       ; 60
input: *** Perform [input]
cbbf: cmp  #$22                 ; c9 22
cbc1: bne  $cbce                ; d0 0b
cbc3: jsr  $cebd                ; 20 bd ce
cbc6: lda  #$3b                 ; a9 3b
cbc8: jsr  $ceff                ; 20 ff ce
cbcb: jsr  $cb21                ; 20 21 cb
cbce: jsr  $errdir              ; 20 a6 d3
cbd1: lda  #$2c                 ; a9 2c
cbd3: sta  $01ff                ; 8d ff 01
cbd6: jsr  $qinlin              ; 20 f9 cb
cbd9: lda  $13                  ; a5 13
cbdb: beq  $bufful              ; f0 0d
cbdd: jsr  $readss              ; 20 b7 ff
cbe0: and  #$02                 ; 29 02
cbe2: beq  $bufful              ; f0 06
cbe4: jsr  $cbb5                ; 20 b5 cb
cbe7: jmp  $data                ; 4c f8 c8
bufful: *** Read Input Buffer
cbea: lda  $BASINP_BUFF         ; ad 00 02
cbed: bne  $cc0d                ; d0 1e
cbef: lda  $13                  ; a5 13
cbf1: bne  $cbd6                ; d0 e3
cbf3: jsr  $datan               ; 20 06 c9
cbf6: jmp  $c8fb                ; 4c fb c8
qinlin: *** Do Input Prompt
cbf9: lda  $13                  ; a5 13
cbfb: bne  $cc03                ; d0 06
cbfd: jsr  $cb45                ; 20 45 cb
cc00: jsr  $outspc              ; 20 3b cb
cc03: jmp  $inlin               ; 4c 60 c5
read: *** Perform [read]
cc06: ldx  $41                  ; a6 41
cc08: ldy  $42                  ; a4 42
cc0a: lda  #$98                 ; a9 98
cc0c: bit  $00a9                ; 2c a9 00
cc0f: sta  $11                  ; 85 11
cc11: stx  $INPVEC              ; 86 43
cc13: sty  $44                  ; 84 44
cc15: jsr  $ptrget              ; 20 8b d0
cc18: sta  $49                  ; 85 49
cc1a: sty  $4a                  ; 84 4a
cc1c: lda  $7a                  ; a5 7a
cc1e: ldy  $7b                  ; a4 7b
cc20: sta  $4b                  ; 85 4b
cc22: sty  $4c                  ; 84 4c
cc24: ldx  $INPVEC              ; a6 43
cc26: ldy  $44                  ; a4 44
cc28: stx  $7a                  ; 86 7a
cc2a: sty  $7b                  ; 84 7b
cc2c: jsr  $0079                ; 20 79 00
cc2f: bne  $cc51                ; d0 20
cc31: bit  $11                  ; 24 11
cc33: bvc  $cc41                ; 50 0c
rdget: *** General Purpose Read Routine
cc35: jsr  $bgetin              ; 20 21 e1
cc38: sta  $BASINP_BUFF         ; 8d 00 02
cc3b: ldx  #$ff                 ; a2 ff
cc3d: ldy  #$01                 ; a0 01
cc3f: bne  $cc4d                ; d0 0c
cc41: bmi  $ccb8                ; 30 75
cc43: lda  $13                  ; a5 13
cc45: bne  $cc4a                ; d0 03
cc47: jsr  $cb45                ; 20 45 cb
cc4a: jsr  $qinlin              ; 20 f9 cb
cc4d: stx  $7a                  ; 86 7a
cc4f: sty  $7b                  ; 84 7b
cc51: jsr  $CHRGET              ; 20 73 00
cc54: bit  $0d                  ; 24 0d
cc56: bpl  $cc89                ; 10 31
cc58: bit  $11                  ; 24 11
cc5a: bvc  $cc65                ; 50 09
cc5c: inx                       ; e8
cc5d: stx  $7a                  ; 86 7a
cc5f: lda  #$00                 ; a9 00
cc61: sta  $07                  ; 85 07
cc63: beq  $cc71                ; f0 0c
cc65: sta  $07                  ; 85 07
cc67: cmp  #$22                 ; c9 22
cc69: beq  $cc72                ; f0 07
cc6b: lda  #$3a                 ; a9 3a
cc6d: sta  $07                  ; 85 07
cc6f: lda  #$2c                 ; a9 2c
cc71: clc                       ; 18
cc72: sta  $08                  ; 85 08
cc74: lda  $7a                  ; a5 7a
cc76: ldy  $7b                  ; a4 7b
cc78: adc  #$00                 ; 69 00
cc7a: bcc  $cc7d                ; 90 01
cc7c: iny                       ; c8
cc7d: jsr  $d48d                ; 20 8d d4
cc80: jsr  $d7e2                ; 20 e2 d7
cc83: jsr  $c9da                ; 20 da c9
cc86: jmp  $cc91                ; 4c 91 cc
cc89: jsr  $fin                 ; 20 f3 dc
cc8c: lda  $0e                  ; a5 0e
cc8e: jsr  $c9c2                ; 20 c2 c9
cc91: jsr  $0079                ; 20 79 00
cc94: beq  $cc9d                ; f0 07
cc96: cmp  #$2c                 ; c9 2c
cc98: beq  $cc9d                ; f0 03
cc9a: jmp  $doagin              ; 4c 4d cb
cc9d: lda  $7a                  ; a5 7a
cc9f: ldy  $7b                  ; a4 7b
cca1: sta  $INPVEC              ; 85 43
cca3: sty  $44                  ; 84 44
cca5: lda  $4b                  ; a5 4b
cca7: ldy  $4c                  ; a4 4c
cca9: sta  $7a                  ; 85 7a
ccab: sty  $7b                  ; 84 7b
ccad: jsr  $0079                ; 20 79 00
ccb0: beq  $ccdf                ; f0 2d
ccb2: jsr  $cefd                ; 20 fd ce
ccb5: jmp  $cc15                ; 4c 15 cc
ccb8: jsr  $datan               ; 20 06 c9
ccbb: iny                       ; c8
ccbc: tax                       ; aa
ccbd: bne  $ccd1                ; d0 12
ccbf: ldx  #$0d                 ; a2 0d
ccc1: iny                       ; c8
ccc2: lda  ($7a),Y              ; b1 7a
ccc4: beq  $cd32                ; f0 6c
ccc6: iny                       ; c8
ccc7: lda  ($7a),Y              ; b1 7a
ccc9: sta  $3f                  ; 85 3f
cccb: iny                       ; c8
cccc: lda  ($7a),Y              ; b1 7a
ccce: iny                       ; c8
cccf: sta  $40                  ; 85 40
ccd1: jsr  $c8fb                ; 20 fb c8
ccd4: jsr  $0079                ; 20 79 00
ccd7: tax                       ; aa
ccd8: cpx  #$83                 ; e0 83
ccda: bne  $ccb8                ; d0 dc
ccdc: jmp  $cc51                ; 4c 51 cc
ccdf: lda  $INPVEC              ; a5 43
cce1: ldy  $44                  ; a4 44
cce3: ldx  $11                  ; a6 11
cce5: bpl  $ccea                ; 10 03
cce7: jmp  $c827                ; 4c 27 c8
ccea: ldy  #$00                 ; a0 00
ccec: lda  ($INPVEC),Y          ; b1 43
ccee: beq  $ccfb                ; f0 0b
ccf0: lda  $13                  ; a5 13
ccf2: bne  $ccfb                ; d0 07
ccf4: lda  #$fc                 ; a9 fc
ccf6: ldy  #$cc                 ; a0 cc
ccf8: jmp  $strout              ; 4c 1e cb
ccfb: rts                       ; 60
exint: *** Input Error Messages (DATA)
ccfc: ???                       ; 3f
ccfd: eor  $58                  ; 45 58
ccff: ???                       ; 54
cd00: ???                       ; 52
cd01: eor  ($20,X)              ; 41 20
cd03: eor  #$47                 ; 49 47
cd05: lsr  $524f                ; 4e 4f 52
cd08: eor  $44                  ; 45 44
cd0a: ora  $3f00                ; 0d 00 3f
cd0d: ???                       ; 52
cd0e: eor  $44                  ; 45 44
cd10: ???                       ; 4f
cd11: jsr  $5246                ; 20 46 52
cd14: ???                       ; 4f
cd15: eor  $5320                ; 4d 20 53
cd18: ???                       ; 54
cd19: eor  ($52,X)              ; 41 52
cd1b: ???                       ; 54
cd1c: ora  $d000                ; 0d 00 d0
cd1f: ???                       ; 04
cd20: ldy  #$00                 ; a0 00
cd22: beq  $cd27                ; f0 03
cd24: jsr  $ptrget              ; 20 8b d0
cd27: sta  $49                  ; 85 49
cd29: sty  $4a                  ; 84 4a
cd2b: jsr  $fndfor              ; 20 8a c3
cd2e: beq  $cd35                ; f0 05
cd30: ldx  #$0a                 ; a2 0a
cd32: jmp  $error               ; 4c 37 c4
cd35: txs                       ; 9a
cd36: txa                       ; 8a
cd37: clc                       ; 18
cd38: adc  #$04                 ; 69 04
cd3a: pha                       ; 48
cd3b: adc  #$06                 ; 69 06
cd3d: sta  $24                  ; 85 24
cd3f: pla                       ; 68
cd40: ldy  #$01                 ; a0 01
cd42: jsr  $movfm               ; 20 a2 db
cd45: tsx                       ; ba
cd46: lda  $0109,X              ; bd 09 01
cd49: sta  $ACC1_SGN            ; 85 66
cd4b: lda  $49                  ; a5 49
cd4d: ldy  $4a                  ; a4 4a
cd4f: jsr  $fadd                ; 20 67 d8
cd52: jsr  $dbd0                ; 20 d0 db
cd55: ldy  #$01                 ; a0 01
cd57: jsr  $dc5d                ; 20 5d dc
cd5a: tsx                       ; ba
cd5b: sec                       ; 38
cd5c: sbc  $0109,X              ; fd 09 01
cd5f: beq  $cd78                ; f0 17
donext: *** Check Valid Loop
cd61: lda  $010f,X              ; bd 0f 01
cd64: sta  $39                  ; 85 39
cd66: lda  $0110,X              ; bd 10 01
cd69: sta  $3a                  ; 85 3a
cd6b: lda  $0112,X              ; bd 12 01
cd6e: sta  $7a                  ; 85 7a
cd70: lda  $0111,X              ; bd 11 01
cd73: sta  $7b                  ; 85 7b
cd75: jmp  $newstt              ; 4c ae c7
cd78: txa                       ; 8a
cd79: adc  #$11                 ; 69 11
cd7b: tax                       ; aa
cd7c: txs                       ; 9a
cd7d: jsr  $0079                ; 20 79 00
cd80: cmp  #$2c                 ; c9 2c
cd82: bne  $cd75                ; d0 f1
cd84: jsr  $CHRGET              ; 20 73 00
cd87: jsr  $cd24                ; 20 24 cd
frmnum: *** Confirm Result
cd8a: jsr  $frmevl              ; 20 9e cd
cd8d: clc                       ; 18
cd8e: bit  $38                  ; 24 38
cd90: bit  $0d                  ; 24 0d
cd92: bmi  $cd97                ; 30 03
cd94: bcs  $cd99                ; b0 03
cd96: rts                       ; 60
cd97: bcs  $cd96                ; b0 fd
cd99: ldx  #$16                 ; a2 16
cd9b: jmp  $error               ; 4c 37 c4
frmevl: *** Evaluate Expression in Text
cd9e: ldx  $7a                  ; a6 7a
cda0: bne  $cda4                ; d0 02
cda2: dec  $7b                  ; c6 7b
cda4: dec  $7a                  ; c6 7a
cda6: ldx  #$00                 ; a2 00
cda8: bit  $48                  ; 24 48
cdaa: txa                       ; 8a
cdab: pha                       ; 48
cdac: lda  #$01                 ; a9 01
cdae: jsr  $getstk              ; 20 fb c3
cdb1: jsr  $eval                ; 20 83 ce
cdb4: lda  #$00                 ; a9 00
cdb6: sta  $4d                  ; 85 4d
cdb8: jsr  $0079                ; 20 79 00
cdbb: sec                       ; 38
cdbc: sbc  #$b1                 ; e9 b1
cdbe: bcc  $cdd7                ; 90 17
cdc0: cmp  #$03                 ; c9 03
cdc2: bcs  $cdd7                ; b0 13
cdc4: cmp  #$01                 ; c9 01
cdc6: rol  a                    ; 2a
cdc7: eor  #$01                 ; 49 01
cdc9: eor  $4d                  ; 45 4d
cdcb: cmp  $4d                  ; c5 4d
cdcd: bcc  $ce30                ; 90 61
cdcf: sta  $4d                  ; 85 4d
cdd1: jsr  $CHRGET              ; 20 73 00
cdd4: jmp  $cdbb                ; 4c bb cd
cdd7: ldx  $4d                  ; a6 4d
cdd9: bne  $ce07                ; d0 2c
cddb: bcs  $ce58                ; b0 7b
cddd: adc  #$07                 ; 69 07
cddf: bcc  $ce58                ; 90 77
cde1: adc  $0d                  ; 65 0d
cde3: bne  $cde8                ; d0 03
cde5: jmp  $cat                 ; 4c 3d d6
cde8: adc  #$ff                 ; 69 ff
cdea: sta  $22                  ; 85 22
cdec: asl  a                    ; 0a
cded: adc  $22                  ; 65 22
cdef: tay                       ; a8
cdf0: pla                       ; 68
cdf1: cmp  $optab,Y             ; d9 80 c0
cdf4: bcs  $ce5d                ; b0 67
cdf6: jsr  $cd8d                ; 20 8d cd
cdf9: pha                       ; 48
cdfa: jsr  $ce20                ; 20 20 ce
cdfd: pla                       ; 68
cdfe: ldy  $4b                  ; a4 4b
ce00: bpl  $ce19                ; 10 17
ce02: tax                       ; aa
ce03: beq  $ce5b                ; f0 56
ce05: bne  $ce66                ; d0 5f
ce07: lsr  $0d                  ; 46 0d
ce09: txa                       ; 8a
ce0a: rol  a                    ; 2a
ce0b: ldx  $7a                  ; a6 7a
ce0d: bne  $ce11                ; d0 02
ce0f: dec  $7b                  ; c6 7b
ce11: dec  $7a                  ; c6 7a
ce13: ldy  #$1b                 ; a0 1b
ce15: sta  $4d                  ; 85 4d
ce17: bne  $cdf0                ; d0 d7
ce19: cmp  $optab,Y             ; d9 80 c0
ce1c: bcs  $ce66                ; b0 48
ce1e: bcc  $cdf9                ; 90 d9
ce20: lda  $c082,Y              ; b9 82 c0
ce23: pha                       ; 48
ce24: lda  $c081,Y              ; b9 81 c0
ce27: pha                       ; 48
ce28: jsr  $ce33                ; 20 33 ce
ce2b: lda  $4d                  ; a5 4d
ce2d: jmp  $cda9                ; 4c a9 cd
ce30: jmp  $synerr              ; 4c 08 cf
ce33: lda  $ACC1_SGN            ; a5 66
ce35: ldx  $optab,Y             ; be 80 c0
ce38: tay                       ; a8
ce39: pla                       ; 68
ce3a: sta  $22                  ; 85 22
ce3c: inc  $22                  ; e6 22
ce3e: pla                       ; 68
ce3f: sta  $23                  ; 85 23
ce41: tya                       ; 98
ce42: pha                       ; 48
ce43: jsr  $round               ; 20 1b dc
ce46: lda  $65                  ; a5 65
ce48: pha                       ; 48
ce49: lda  $64                  ; a5 64
ce4b: pha                       ; 48
ce4c: lda  $63                  ; a5 63
ce4e: pha                       ; 48
ce4f: lda  $ACC1_MAN            ; a5 62
ce51: pha                       ; 48
ce52: lda  $ACC1_EXP            ; a5 61
ce54: pha                       ; 48
ce55: jmp  ($0022)              ; 6c 22 00
ce58: ldy  #$ff                 ; a0 ff
ce5a: pla                       ; 68
ce5b: beq  $ce80                ; f0 23
ce5d: cmp  #$64                 ; c9 64
ce5f: beq  $ce64                ; f0 03
ce61: jsr  $cd8d                ; 20 8d cd
ce64: sty  $4b                  ; 84 4b
ce66: pla                       ; 68
ce67: lsr  a                    ; 4a
ce68: sta  $12                  ; 85 12
ce6a: pla                       ; 68
ce6b: sta  $ACC2_EXP            ; 85 69
ce6d: pla                       ; 68
ce6e: sta  $ACC2_MAN            ; 85 6a
ce70: pla                       ; 68
ce71: sta  $6b                  ; 85 6b
ce73: pla                       ; 68
ce74: sta  $6c                  ; 85 6c
ce76: pla                       ; 68
ce77: sta  $6d                  ; 85 6d
ce79: pla                       ; 68
ce7a: sta  $ACC2_SGN            ; 85 6e
ce7c: eor  $ACC1_SGN            ; 45 66
ce7e: sta  $6f                  ; 85 6f
ce80: lda  $ACC1_EXP            ; a5 61
ce82: rts                       ; 60
eval: *** Evaluate Single Term
ce83: jmp  ($030a)              ; 6c 0a 03
ce86: lda  #$00                 ; a9 00
ce88: sta  $0d                  ; 85 0d
ce8a: jsr  $CHRGET              ; 20 73 00
ce8d: bcs  $ce92                ; b0 03
ce8f: jmp  $fin                 ; 4c f3 dc
ce92: jsr  $d113                ; 20 13 d1
ce95: bcc  $ce9a                ; 90 03
ce97: jmp  $isvar               ; 4c 28 cf
ce9a: cmp  #$ff                 ; c9 ff
ce9c: bne  $qdot                ; d0 0f
ce9e: lda  #$a8                 ; a9 a8
cea0: ldy  #$ce                 ; a0 ce
cea2: jsr  $movfm               ; 20 a2 db
cea5: jmp  $CHRGET              ; 4c 73 00
pival: *** Constant - pi (DATA)
cea8: ???                       ; 82
cea9: eor  #$0f                 ; 49 0f
ceab: ???                       ; da
ceac: lda  ($c9,X)              ; a1 c9
ceae: rol  $def0                ; 2e f0 de
ceb1: cmp  #$ab                 ; c9 ab
ceb3: beq  $domin               ; f0 58
ceb5: cmp  #$aa                 ; c9 aa
ceb7: beq  $ce8a                ; f0 d1
ceb9: cmp  #$22                 ; c9 22
cebb: bne  $cecc                ; d0 0f
cebd: lda  $7a                  ; a5 7a
cebf: ldy  $7b                  ; a4 7b
cec1: adc  #$00                 ; 69 00
cec3: bcc  $cec6                ; 90 01
cec5: iny                       ; c8
cec6: jsr  $strlit              ; 20 87 d4
cec9: jmp  $d7e2                ; 4c e2 d7
cecc: cmp  #$a8                 ; c9 a8
cece: bne  $cee3                ; d0 13
ced0: ldy  #$18                 ; a0 18
ced2: bne  $cf0f                ; d0 3b
ced4: jsr  $ayint               ; 20 bf d1
ced7: lda  $65                  ; a5 65
ced9: eor  #$ff                 ; 49 ff
cedb: tay                       ; a8
cedc: lda  $64                  ; a5 64
cede: eor  #$ff                 ; 49 ff
cee0: jmp  $givayf              ; 4c 91 d3
cee3: cmp  #$a5                 ; c9 a5
cee5: bne  $ceea                ; d0 03
cee7: jmp  $fndoer              ; 4c f4 d3
ceea: cmp  #$b4                 ; c9 b4
ceec: bcc  $parchk              ; 90 03
ceee: jmp  $isfun               ; 4c a7 cf
parchk: *** Expression in Brackets
cef1: jsr  $cefa                ; 20 fa ce
cef4: jsr  $frmevl              ; 20 9e cd
chkcls: *** Confirm Character
cef7: lda  #$29                 ; a9 29
cef9: bit  $28a9                ; 2c a9 28
cefc: bit  $2ca9                ; 2c a9 2c
ceff: ldy  #$00                 ; a0 00
cf01: cmp  ($7a),Y              ; d1 7a
cf03: bne  $synerr              ; d0 03
cf05: jmp  $CHRGET              ; 4c 73 00
synerr: *** Output ?SYNTAX Error
cf08: ldx  #$0b                 ; a2 0b
cf0a: jmp  $error               ; 4c 37 c4
domin: *** Set up NOT Function
cf0d: ldy  #$15                 ; a0 15
cf0f: pla                       ; 68
cf10: pla                       ; 68
cf11: jmp  $cdfa                ; 4c fa cd
rsvvar: *** Identify Reserved Variable
cf14: sec                       ; 38
cf15: lda  $64                  ; a5 64
cf17: sbc  #$00                 ; e9 00
cf19: lda  $65                  ; a5 65
cf1b: sbc  #$c0                 ; e9 c0
cf1d: bcc  $cf27                ; 90 08
cf1f: lda  #$87                 ; a9 87
cf21: sbc  $64                  ; e5 64
cf23: lda  #$e3                 ; a9 e3
cf25: sbc  $65                  ; e5 65
cf27: rts                       ; 60
isvar: *** Search for Variable
cf28: jsr  $ptrget              ; 20 8b d0
cf2b: sta  $64                  ; 85 64
cf2d: sty  $65                  ; 84 65
cf2f: ldx  $45                  ; a6 45
cf31: ldy  $46                  ; a4 46
cf33: lda  $0d                  ; a5 0d
cf35: beq  $cf5d                ; f0 26
cf37: lda  #$00                 ; a9 00
cf39: sta  $70                  ; 85 70
cf3b: jsr  $rsvvar              ; 20 14 cf
cf3e: bcc  $cf5c                ; 90 1c
cf40: cpx  #$54                 ; e0 54
cf42: bne  $cf5c                ; d0 18
cf44: cpy  #$c9                 ; c0 c9
cf46: bne  $cf5c                ; d0 14
tisasc: *** Convert TI to ASCII String
cf48: jsr  $cf84                ; 20 84 cf
cf4b: sty  $5e                  ; 84 5e
cf4d: dey                       ; 88
cf4e: sty  $71                  ; 84 71
cf50: ldy  #$06                 ; a0 06
cf52: sty  $5d                  ; 84 5d
cf54: ldy  #$24                 ; a0 24
cf56: jsr  $foutim              ; 20 68 de
cf59: jmp  $d46f                ; 4c 6f d4
cf5c: rts                       ; 60
cf5d: bit  $0e                  ; 24 0e
cf5f: bpl  $cf6e                ; 10 0d
cf61: ldy  #$00                 ; a0 00
cf63: lda  ($64),Y              ; b1 64
cf65: tax                       ; aa
cf66: iny                       ; c8
cf67: lda  ($64),Y              ; b1 64
cf69: tay                       ; a8
cf6a: txa                       ; 8a
cf6b: jmp  $givayf              ; 4c 91 d3
cf6e: jsr  $rsvvar              ; 20 14 cf
cf71: bcc  $cfa0                ; 90 2d
cf73: cpx  #$54                 ; e0 54
cf75: bne  $cf92                ; d0 1b
cf77: cpy  #$49                 ; c0 49
cf79: bne  $cfa0                ; d0 25
cf7b: jsr  $cf84                ; 20 84 cf
cf7e: tya                       ; 98
cf7f: ldx  #$a0                 ; a2 a0
cf81: jmp  $dc4f                ; 4c 4f dc
cf84: jsr  $rdtim               ; 20 de ff
cf87: stx  $64                  ; 86 64
cf89: sty  $63                  ; 84 63
cf8b: sta  $65                  ; 85 65
cf8d: ldy  #$00                 ; a0 00
cf8f: sty  $ACC1_MAN            ; 84 62
cf91: rts                       ; 60
cf92: cpx  #$53                 ; e0 53
cf94: bne  $cfa0                ; d0 0a
cf96: cpy  #$54                 ; c0 54
cf98: bne  $cfa0                ; d0 06
cf9a: jsr  $readss              ; 20 b7 ff
cf9d: jmp  $dc3c                ; 4c 3c dc
cfa0: lda  $64                  ; a5 64
cfa2: ldy  $65                  ; a4 65
cfa4: jmp  $movfm               ; 4c a2 db
isfun: *** Identify Function Type
cfa7: asl  a                    ; 0a
cfa8: pha                       ; 48
cfa9: tax                       ; aa
cfaa: jsr  $CHRGET              ; 20 73 00
cfad: cpx  #$8f                 ; e0 8f
cfaf: bcc  $numfun              ; 90 20
strfun: *** Evaluate String Function
cfb1: jsr  $cefa                ; 20 fa ce
cfb4: jsr  $frmevl              ; 20 9e cd
cfb7: jsr  $cefd                ; 20 fd ce
cfba: jsr  $cd8f                ; 20 8f cd
cfbd: pla                       ; 68
cfbe: tax                       ; aa
cfbf: lda  $65                  ; a5 65
cfc1: pha                       ; 48
cfc2: lda  $64                  ; a5 64
cfc4: pha                       ; 48
cfc5: txa                       ; 8a
cfc6: pha                       ; 48
cfc7: jsr  $d79e                ; 20 9e d7
cfca: pla                       ; 68
cfcb: tay                       ; a8
cfcc: txa                       ; 8a
cfcd: pha                       ; 48
cfce: jmp  $cfd6                ; 4c d6 cf
numfun: *** Evaluate Numeric Function
cfd1: jsr  $parchk              ; 20 f1 ce
cfd4: pla                       ; 68
cfd5: tay                       ; a8
cfd6: lda  $bfea,Y              ; b9 ea bf
cfd9: sta  $55                  ; 85 55
cfdb: lda  $bfeb,Y              ; b9 eb bf
cfde: sta  $56                  ; 85 56
cfe0: jsr  $0054                ; 20 54 00
cfe3: jmp  $cd8d                ; 4c 8d cd
orop: *** Perform [or], [and]
cfe6: ldy  #$ff                 ; a0 ff
cfe8: bit  $JIFFY               ; 2c a0 00
cfeb: sty  $0b                  ; 84 0b
cfed: jsr  $ayint               ; 20 bf d1
cff0: lda  $64                  ; a5 64
cff2: eor  $0b                  ; 45 0b
cff4: sta  $07                  ; 85 07
cff6: lda  $65                  ; a5 65
cff8: eor  $0b                  ; 45 0b
cffa: sta  $08                  ; 85 08
cffc: jsr  $movfa               ; 20 fc db
cfff: jsr  $ayint               ; 20 bf d1
d002: lda  $65                  ; a5 65
d004: eor  $0b                  ; 45 0b
d006: and  $08                  ; 25 08
d008: eor  $0b                  ; 45 0b
d00a: tay                       ; a8
d00b: lda  $64                  ; a5 64
d00d: eor  $0b                  ; 45 0b
d00f: and  $07                  ; 25 07
d011: eor  $0b                  ; 45 0b
d013: jmp  $givayf              ; 4c 91 d3
dorel: *** Perform <, =, >
d016: jsr  $cd90                ; 20 90 cd
d019: bcs  $strrel              ; b0 13
numrel: *** Numeric Comparison
d01b: lda  $ACC2_SGN            ; a5 6e
d01d: ora  #$7f                 ; 09 7f
d01f: and  $ACC2_MAN            ; 25 6a
d021: sta  $ACC2_MAN            ; 85 6a
d023: lda  #$69                 ; a9 69
d025: ldy  #$00                 ; a0 00
d027: jsr  $fcomp               ; 20 5b dc
d02a: tax                       ; aa
d02b: jmp  $d061                ; 4c 61 d0
strrel: *** String Comparison
d02e: lda  #$00                 ; a9 00
d030: sta  $0d                  ; 85 0d
d032: dec  $4d                  ; c6 4d
d034: jsr  $d6a6                ; 20 a6 d6
d037: sta  $ACC1_EXP            ; 85 61
d039: stx  $ACC1_MAN            ; 86 62
d03b: sty  $63                  ; 84 63
d03d: lda  $6c                  ; a5 6c
d03f: ldy  $6d                  ; a4 6d
d041: jsr  $d6aa                ; 20 aa d6
d044: stx  $6c                  ; 86 6c
d046: sty  $6d                  ; 84 6d
d048: tax                       ; aa
d049: sec                       ; 38
d04a: sbc  $ACC1_EXP            ; e5 61
d04c: beq  $d056                ; f0 08
d04e: lda  #$01                 ; a9 01
d050: bcc  $d056                ; 90 04
d052: ldx  $ACC1_EXP            ; a6 61
d054: lda  #$ff                 ; a9 ff
d056: sta  $ACC1_SGN            ; 85 66
d058: ldy  #$ff                 ; a0 ff
d05a: inx                       ; e8
d05b: iny                       ; c8
d05c: dex                       ; ca
d05d: bne  $d066                ; d0 07
d05f: ldx  $ACC1_SGN            ; a6 66
d061: bmi  $d072                ; 30 0f
d063: clc                       ; 18
d064: bcc  $d072                ; 90 0c
d066: lda  ($6c),Y              ; b1 6c
d068: cmp  ($ACC1_MAN),Y        ; d1 62
d06a: beq  $d05b                ; f0 ef
d06c: ldx  #$ff                 ; a2 ff
d06e: bcs  $d072                ; b0 02
d070: ldx  #$01                 ; a2 01
d072: inx                       ; e8
d073: txa                       ; 8a
d074: rol  a                    ; 2a
d075: and  $12                  ; 25 12
d077: beq  $d07b                ; f0 02
d079: lda  #$ff                 ; a9 ff
d07b: jmp  $dc3c                ; 4c 3c dc
dim: *** Perform [dim]
d07e: jsr  $cefd                ; 20 fd ce
d081: tax                       ; aa
d082: jsr  $d090                ; 20 90 d0
d085: jsr  $0079                ; 20 79 00
d088: bne  $dim                 ; d0 f4
d08a: rts                       ; 60
ptrget: *** Identify Variable
d08b: ldx  #$00                 ; a2 00
d08d: jsr  $0079                ; 20 79 00
d090: stx  $0c                  ; 86 0c
d092: sta  $45                  ; 85 45
d094: jsr  $0079                ; 20 79 00
d097: jsr  $d113                ; 20 13 d1
d09a: bcs  $d09f                ; b0 03
d09c: jmp  $synerr              ; 4c 08 cf
d09f: ldx  #$00                 ; a2 00
d0a1: stx  $0d                  ; 86 0d
d0a3: stx  $0e                  ; 86 0e
d0a5: jsr  $CHRGET              ; 20 73 00
d0a8: bcc  $d0af                ; 90 05
d0aa: jsr  $d113                ; 20 13 d1
d0ad: bcc  $d0ba                ; 90 0b
d0af: tax                       ; aa
d0b0: jsr  $CHRGET              ; 20 73 00
d0b3: bcc  $d0b0                ; 90 fb
d0b5: jsr  $d113                ; 20 13 d1
d0b8: bcs  $d0b0                ; b0 f6
d0ba: cmp  #$24                 ; c9 24
d0bc: bne  $d0c4                ; d0 06
d0be: lda  #$ff                 ; a9 ff
d0c0: sta  $0d                  ; 85 0d
d0c2: bne  $d0d4                ; d0 10
d0c4: cmp  #$25                 ; c9 25
d0c6: bne  $d0db                ; d0 13
d0c8: lda  $10                  ; a5 10
d0ca: bne  $d09c                ; d0 d0
d0cc: lda  #$80                 ; a9 80
d0ce: sta  $0e                  ; 85 0e
d0d0: ora  $45                  ; 05 45
d0d2: sta  $45                  ; 85 45
d0d4: txa                       ; 8a
d0d5: ora  #$80                 ; 09 80
d0d7: tax                       ; aa
d0d8: jsr  $CHRGET              ; 20 73 00
d0db: stx  $46                  ; 86 46
d0dd: sec                       ; 38
d0de: ora  $10                  ; 05 10
d0e0: sbc  #$28                 ; e9 28
d0e2: bne  $ordvar              ; d0 03
d0e4: jmp  $isary               ; 4c d1 d1
ordvar: *** Locate Ordinary Variable
d0e7: ldy  #$00                 ; a0 00
d0e9: sty  $10                  ; 84 10
d0eb: lda  $VARS_START          ; a5 2d
d0ed: ldx  $2e                  ; a6 2e
d0ef: stx  $60                  ; 86 60
d0f1: sta  $5f                  ; 85 5f
d0f3: cpx  $30                  ; e4 30
d0f5: bne  $d0fb                ; d0 04
d0f7: cmp  $ARRAYS_START        ; c5 2f
d0f9: beq  $notfns              ; f0 22
d0fb: lda  $45                  ; a5 45
d0fd: cmp  ($5f),Y              ; d1 5f
d0ff: bne  $d109                ; d0 08
d101: lda  $46                  ; a5 46
d103: iny                       ; c8
d104: cmp  ($5f),Y              ; d1 5f
d106: beq  $d185                ; f0 7d
d108: dey                       ; 88
d109: clc                       ; 18
d10a: lda  $5f                  ; a5 5f
d10c: adc  #$07                 ; 69 07
d10e: bcc  $d0f1                ; 90 e1
d110: inx                       ; e8
d111: bne  $d0ef                ; d0 dc
d113: cmp  #$41                 ; c9 41
d115: bcc  $d11c                ; 90 05
d117: sbc  #$5b                 ; e9 5b
d119: sec                       ; 38
d11a: sbc  #$a5                 ; e9 a5
d11c: rts                       ; 60
notfns: *** Create New Variable
d11d: pla                       ; 68
d11e: pha                       ; 48
d11f: cmp  #$2a                 ; c9 2a
d121: bne  $notevl              ; d0 05
d123: lda  #$13                 ; a9 13
d125: ldy  #$df                 ; a0 df
d127: rts                       ; 60
notevl: *** Create Variable
d128: lda  $45                  ; a5 45
d12a: ldy  $46                  ; a4 46
d12c: cmp  #$54                 ; c9 54
d12e: bne  $d13b                ; d0 0b
d130: cpy  #$c9                 ; c0 c9
d132: beq  $d123                ; f0 ef
d134: cpy  #$49                 ; c0 49
d136: bne  $d13b                ; d0 03
d138: jmp  $synerr              ; 4c 08 cf
d13b: cmp  #$53                 ; c9 53
d13d: bne  $d143                ; d0 04
d13f: cpy  #$54                 ; c0 54
d141: beq  $d138                ; f0 f5
d143: lda  $ARRAYS_START        ; a5 2f
d145: ldy  $30                  ; a4 30
d147: sta  $5f                  ; 85 5f
d149: sty  $60                  ; 84 60
d14b: lda  $ARRAYS_END          ; a5 31
d14d: ldy  $32                  ; a4 32
d14f: sta  $5a                  ; 85 5a
d151: sty  $5b                  ; 84 5b
d153: clc                       ; 18
d154: adc  #$07                 ; 69 07
d156: bcc  $d159                ; 90 01
d158: iny                       ; c8
d159: sta  $58                  ; 85 58
d15b: sty  $59                  ; 84 59
d15d: jsr  $bltu                ; 20 b8 c3
d160: lda  $58                  ; a5 58
d162: ldy  $59                  ; a4 59
d164: iny                       ; c8
d165: sta  $ARRAYS_START        ; 85 2f
d167: sty  $30                  ; 84 30
d169: ldy  #$00                 ; a0 00
d16b: lda  $45                  ; a5 45
d16d: sta  ($5f),Y              ; 91 5f
d16f: iny                       ; c8
d170: lda  $46                  ; a5 46
d172: sta  ($5f),Y              ; 91 5f
d174: lda  #$00                 ; a9 00
d176: iny                       ; c8
d177: sta  ($5f),Y              ; 91 5f
d179: iny                       ; c8
d17a: sta  ($5f),Y              ; 91 5f
d17c: iny                       ; c8
d17d: sta  ($5f),Y              ; 91 5f
d17f: iny                       ; c8
d180: sta  ($5f),Y              ; 91 5f
d182: iny                       ; c8
d183: sta  ($5f),Y              ; 91 5f
d185: lda  $5f                  ; a5 5f
d187: clc                       ; 18
d188: adc  #$02                 ; 69 02
d18a: ldy  $60                  ; a4 60
d18c: bcc  $d18f                ; 90 01
d18e: iny                       ; c8
d18f: sta  $47                  ; 85 47
d191: sty  $48                  ; 84 48
d193: rts                       ; 60
aryget: *** Allocate Array Pointer Space
d194: lda  $0b                  ; a5 0b
d196: asl  a                    ; 0a
d197: adc  #$05                 ; 69 05
d199: adc  $5f                  ; 65 5f
d19b: ldy  $60                  ; a4 60
d19d: bcc  $d1a0                ; 90 01
d19f: iny                       ; c8
d1a0: sta  $58                  ; 85 58
d1a2: sty  $59                  ; 84 59
d1a4: rts                       ; 60
n32768: *** Constant 32768 in Flpt (DATA)
d1a5: bcc  $d127                ; 90 80
d1a7: brk                       ; 00
d1a8: brk                       ; 00
d1a9: brk                       ; 00
facinx: *** FAC#1 to Integer in (AC/YR)
d1aa: jsr  $ayint               ; 20 bf d1
d1ad: lda  $64                  ; a5 64
d1af: ldy  $65                  ; a4 65
d1b1: rts                       ; 60
intidx: *** Evaluate Text for Integer
d1b2: jsr  $CHRGET              ; 20 73 00
d1b5: jsr  $frmevl              ; 20 9e cd
d1b8: jsr  $cd8d                ; 20 8d cd
d1bb: lda  $ACC1_SGN            ; a5 66
d1bd: bmi  $d1cc                ; 30 0d
ayint: *** FAC#1 to Positive Integer
d1bf: lda  $ACC1_EXP            ; a5 61
d1c1: cmp  #$90                 ; c9 90
d1c3: bcc  $d1ce                ; 90 09
d1c5: lda  #$a5                 ; a9 a5
d1c7: ldy  #$d1                 ; a0 d1
d1c9: jsr  $fcomp               ; 20 5b dc
d1cc: bne  $d248                ; d0 7a
d1ce: jmp  $qint                ; 4c 9b dc
isary: *** Get Array Parameters
d1d1: lda  $0c                  ; a5 0c
d1d3: ora  $0e                  ; 05 0e
d1d5: pha                       ; 48
d1d6: lda  $0d                  ; a5 0d
d1d8: pha                       ; 48
d1d9: ldy  #$00                 ; a0 00
d1db: tya                       ; 98
d1dc: pha                       ; 48
d1dd: lda  $46                  ; a5 46
d1df: pha                       ; 48
d1e0: lda  $45                  ; a5 45
d1e2: pha                       ; 48
d1e3: jsr  $intidx              ; 20 b2 d1
d1e6: pla                       ; 68
d1e7: sta  $45                  ; 85 45
d1e9: pla                       ; 68
d1ea: sta  $46                  ; 85 46
d1ec: pla                       ; 68
d1ed: tay                       ; a8
d1ee: tsx                       ; ba
d1ef: lda  $0102,X              ; bd 02 01
d1f2: pha                       ; 48
d1f3: lda  $0101,X              ; bd 01 01
d1f6: pha                       ; 48
d1f7: lda  $64                  ; a5 64
d1f9: sta  $0102,X              ; 9d 02 01
d1fc: lda  $65                  ; a5 65
d1fe: sta  $0101,X              ; 9d 01 01
d201: iny                       ; c8
d202: jsr  $0079                ; 20 79 00
d205: cmp  #$2c                 ; c9 2c
d207: beq  $d1db                ; f0 d2
d209: sty  $0b                  ; 84 0b
d20b: jsr  $chkcls              ; 20 f7 ce
d20e: pla                       ; 68
d20f: sta  $0d                  ; 85 0d
d211: pla                       ; 68
d212: sta  $0e                  ; 85 0e
d214: and  #$7f                 ; 29 7f
d216: sta  $0c                  ; 85 0c
fndary: *** Find Array
d218: ldx  $ARRAYS_START        ; a6 2f
d21a: lda  $30                  ; a5 30
d21c: stx  $5f                  ; 86 5f
d21e: sta  $60                  ; 85 60
d220: cmp  $32                  ; c5 32
d222: bne  $d228                ; d0 04
d224: cpx  $ARRAYS_END          ; e4 31
d226: beq  $notfdd              ; f0 39
d228: ldy  #$00                 ; a0 00
d22a: lda  ($5f),Y              ; b1 5f
d22c: iny                       ; c8
d22d: cmp  $45                  ; c5 45
d22f: bne  $d237                ; d0 06
d231: lda  $46                  ; a5 46
d233: cmp  ($5f),Y              ; d1 5f
d235: beq  $d24d                ; f0 16
d237: iny                       ; c8
d238: lda  ($5f),Y              ; b1 5f
d23a: clc                       ; 18
d23b: adc  $5f                  ; 65 5f
d23d: tax                       ; aa
d23e: iny                       ; c8
d23f: lda  ($5f),Y              ; b1 5f
d241: adc  $60                  ; 65 60
d243: bcc  $d21c                ; 90 d7
bserr: *** '?bad subscript error'
d245: ldx  #$12                 ; a2 12
d247: bit  $0ea2                ; 2c a2 0e
d24a: jmp  $error               ; 4c 37 c4
d24d: ldx  #$13                 ; a2 13
d24f: lda  $0c                  ; a5 0c
d251: bne  $d24a                ; d0 f7
d253: jsr  $aryget              ; 20 94 d1
d256: lda  $0b                  ; a5 0b
d258: ldy  #$04                 ; a0 04
d25a: cmp  ($5f),Y              ; d1 5f
d25c: bne  $bserr               ; d0 e7
d25e: jmp  $d2ea                ; 4c ea d2
notfdd: *** Create Array
d261: jsr  $aryget              ; 20 94 d1
d264: jsr  $reason              ; 20 08 c4
d267: ldy  #$00                 ; a0 00
d269: sty  $72                  ; 84 72
d26b: ldx  #$05                 ; a2 05
d26d: lda  $45                  ; a5 45
d26f: sta  ($5f),Y              ; 91 5f
d271: bpl  $d274                ; 10 01
d273: dex                       ; ca
d274: iny                       ; c8
d275: lda  $46                  ; a5 46
d277: sta  ($5f),Y              ; 91 5f
d279: bpl  $d27d                ; 10 02
d27b: dex                       ; ca
d27c: dex                       ; ca
d27d: stx  $71                  ; 86 71
d27f: lda  $0b                  ; a5 0b
d281: iny                       ; c8
d282: iny                       ; c8
d283: iny                       ; c8
d284: sta  ($5f),Y              ; 91 5f
d286: ldx  #$0b                 ; a2 0b
d288: lda  #$00                 ; a9 00
d28a: bit  $0c                  ; 24 0c
d28c: bvc  $d296                ; 50 08
d28e: pla                       ; 68
d28f: clc                       ; 18
d290: adc  #$01                 ; 69 01
d292: tax                       ; aa
d293: pla                       ; 68
d294: adc  #$00                 ; 69 00
d296: iny                       ; c8
d297: sta  ($5f),Y              ; 91 5f
d299: iny                       ; c8
d29a: txa                       ; 8a
d29b: sta  ($5f),Y              ; 91 5f
d29d: jsr  $umult               ; 20 4c d3
d2a0: stx  $71                  ; 86 71
d2a2: sta  $72                  ; 85 72
d2a4: ldy  $22                  ; a4 22
d2a6: dec  $0b                  ; c6 0b
d2a8: bne  $d286                ; d0 dc
d2aa: adc  $59                  ; 65 59
d2ac: bcs  $d30b                ; b0 5d
d2ae: sta  $59                  ; 85 59
d2b0: tay                       ; a8
d2b1: txa                       ; 8a
d2b2: adc  $58                  ; 65 58
d2b4: bcc  $d2b9                ; 90 03
d2b6: iny                       ; c8
d2b7: beq  $d30b                ; f0 52
d2b9: jsr  $reason              ; 20 08 c4
d2bc: sta  $ARRAYS_END          ; 85 31
d2be: sty  $32                  ; 84 32
d2c0: lda  #$00                 ; a9 00
d2c2: inc  $72                  ; e6 72
d2c4: ldy  $71                  ; a4 71
d2c6: beq  $d2cd                ; f0 05
d2c8: dey                       ; 88
d2c9: sta  ($58),Y              ; 91 58
d2cb: bne  $d2c8                ; d0 fb
d2cd: dec  $59                  ; c6 59
d2cf: dec  $72                  ; c6 72
d2d1: bne  $d2c8                ; d0 f5
d2d3: inc  $59                  ; e6 59
d2d5: sec                       ; 38
d2d6: lda  $ARRAYS_END          ; a5 31
d2d8: sbc  $5f                  ; e5 5f
d2da: ldy  #$02                 ; a0 02
d2dc: sta  ($5f),Y              ; 91 5f
d2de: lda  $32                  ; a5 32
d2e0: iny                       ; c8
d2e1: sbc  $60                  ; e5 60
d2e3: sta  ($5f),Y              ; 91 5f
d2e5: lda  $0c                  ; a5 0c
d2e7: bne  $d34b                ; d0 62
d2e9: iny                       ; c8
d2ea: lda  ($5f),Y              ; b1 5f
d2ec: sta  $0b                  ; 85 0b
d2ee: lda  #$00                 ; a9 00
d2f0: sta  $71                  ; 85 71
d2f2: sta  $72                  ; 85 72
d2f4: iny                       ; c8
d2f5: pla                       ; 68
d2f6: tax                       ; aa
d2f7: sta  $64                  ; 85 64
d2f9: pla                       ; 68
d2fa: sta  $65                  ; 85 65
d2fc: cmp  ($5f),Y              ; d1 5f
d2fe: bcc  $inlpn2              ; 90 0e
d300: bne  $d308                ; d0 06
d302: iny                       ; c8
d303: txa                       ; 8a
d304: cmp  ($5f),Y              ; d1 5f
d306: bcc  $d30f                ; 90 07
d308: jmp  $bserr               ; 4c 45 d2
d30b: jmp  $omerr               ; 4c 35 c4
inlpn2: *** Locate Element in Array
d30e: iny                       ; c8
d30f: lda  $72                  ; a5 72
d311: ora  $71                  ; 05 71
d313: clc                       ; 18
d314: beq  $d320                ; f0 0a
d316: jsr  $umult               ; 20 4c d3
d319: txa                       ; 8a
d31a: adc  $64                  ; 65 64
d31c: tax                       ; aa
d31d: tya                       ; 98
d31e: ldy  $22                  ; a4 22
d320: adc  $65                  ; 65 65
d322: stx  $71                  ; 86 71
d324: dec  $0b                  ; c6 0b
d326: bne  $d2f2                ; d0 ca
d328: sta  $72                  ; 85 72
d32a: ldx  #$05                 ; a2 05
d32c: lda  $45                  ; a5 45
d32e: bpl  $d331                ; 10 01
d330: dex                       ; ca
d331: lda  $46                  ; a5 46
d333: bpl  $d337                ; 10 02
d335: dex                       ; ca
d336: dex                       ; ca
d337: stx  $28                  ; 86 28
d339: lda  #$00                 ; a9 00
d33b: jsr  $d355                ; 20 55 d3
d33e: txa                       ; 8a
d33f: adc  $58                  ; 65 58
d341: sta  $47                  ; 85 47
d343: tya                       ; 98
d344: adc  $59                  ; 65 59
d346: sta  $48                  ; 85 48
d348: tay                       ; a8
d349: lda  $47                  ; a5 47
d34b: rts                       ; 60
umult: *** Number of Bytes in Subscript
d34c: sty  $22                  ; 84 22
d34e: lda  ($5f),Y              ; b1 5f
d350: sta  $28                  ; 85 28
d352: dey                       ; 88
d353: lda  ($5f),Y              ; b1 5f
d355: sta  $29                  ; 85 29
d357: lda  #$10                 ; a9 10
d359: sta  $5d                  ; 85 5d
d35b: ldx  #$00                 ; a2 00
d35d: ldy  #$00                 ; a0 00
d35f: txa                       ; 8a
d360: asl  a                    ; 0a
d361: tax                       ; aa
d362: tya                       ; 98
d363: rol  a                    ; 2a
d364: tay                       ; a8
d365: bcs  $d30b                ; b0 a4
d367: asl  $71                  ; 06 71
d369: rol  $72                  ; 26 72
d36b: bcc  $d378                ; 90 0b
d36d: clc                       ; 18
d36e: txa                       ; 8a
d36f: adc  $28                  ; 65 28
d371: tax                       ; aa
d372: tya                       ; 98
d373: adc  $29                  ; 65 29
d375: tay                       ; a8
d376: bcs  $d30b                ; b0 93
d378: dec  $5d                  ; c6 5d
d37a: bne  $d35f                ; d0 e3
d37c: rts                       ; 60
fre: *** Perform [fre]
d37d: lda  $0d                  ; a5 0d
d37f: beq  $d384                ; f0 03
d381: jsr  $d6a6                ; 20 a6 d6
d384: jsr  $garbag              ; 20 26 d5
d387: sec                       ; 38
d388: lda  $STRINGS             ; a5 33
d38a: sbc  $ARRAYS_END          ; e5 31
d38c: tay                       ; a8
d38d: lda  $34                  ; a5 34
d38f: sbc  $32                  ; e5 32
givayf: *** Convert Integer in (AC/YR) to Flpt
d391: ldx  #$00                 ; a2 00
d393: stx  $0d                  ; 86 0d
d395: sta  $ACC1_MAN            ; 85 62
d397: sty  $63                  ; 84 63
d399: ldx  #$90                 ; a2 90
d39b: jmp  $dc44                ; 4c 44 dc
pos: *** Perform [pos]
d39e: sec                       ; 38
d39f: jsr  $plot                ; 20 f0 ff
d3a2: lda  #$00                 ; a9 00
d3a4: beq  $givayf              ; f0 eb
errdir: *** Confirm Program Mode
d3a6: ldx  $3a                  ; a6 3a
d3a8: inx                       ; e8
d3a9: bne  $d34b                ; d0 a0
d3ab: ldx  #$15                 ; a2 15
d3ad: bit  $1ba2                ; 2c a2 1b
d3b0: jmp  $error               ; 4c 37 c4
d3b3: jsr  $getfnm              ; 20 e1 d3
d3b6: jsr  $errdir              ; 20 a6 d3
d3b9: jsr  $cefa                ; 20 fa ce
d3bc: lda  #$80                 ; a9 80
d3be: sta  $10                  ; 85 10
d3c0: jsr  $ptrget              ; 20 8b d0
d3c3: jsr  $cd8d                ; 20 8d cd
d3c6: jsr  $chkcls              ; 20 f7 ce
d3c9: lda  #$b2                 ; a9 b2
d3cb: jsr  $ceff                ; 20 ff ce
d3ce: pha                       ; 48
d3cf: lda  $48                  ; a5 48
d3d1: pha                       ; 48
d3d2: lda  $47                  ; a5 47
d3d4: pha                       ; 48
d3d5: lda  $7b                  ; a5 7b
d3d7: pha                       ; 48
d3d8: lda  $7a                  ; a5 7a
d3da: pha                       ; 48
d3db: jsr  $data                ; 20 f8 c8
d3de: jmp  $d44f                ; 4c 4f d4
getfnm: *** Check Syntax of FN
d3e1: lda  #$a5                 ; a9 a5
d3e3: jsr  $ceff                ; 20 ff ce
d3e6: ora  #$80                 ; 09 80
d3e8: sta  $10                  ; 85 10
d3ea: jsr  $d092                ; 20 92 d0
d3ed: sta  $4e                  ; 85 4e
d3ef: sty  $4f                  ; 84 4f
d3f1: jmp  $cd8d                ; 4c 8d cd
fndoer: *** Perform [fn]
d3f4: jsr  $getfnm              ; 20 e1 d3
d3f7: lda  $4f                  ; a5 4f
d3f9: pha                       ; 48
d3fa: lda  $4e                  ; a5 4e
d3fc: pha                       ; 48
d3fd: jsr  $parchk              ; 20 f1 ce
d400: jsr  $cd8d                ; 20 8d cd
d403: pla                       ; 68
d404: sta  $4e                  ; 85 4e
d406: pla                       ; 68
d407: sta  $4f                  ; 85 4f
d409: ldy  #$02                 ; a0 02
d40b: lda  ($4e),Y              ; b1 4e
d40d: sta  $47                  ; 85 47
d40f: tax                       ; aa
d410: iny                       ; c8
d411: lda  ($4e),Y              ; b1 4e
d413: beq  $d3ae                ; f0 99
d415: sta  $48                  ; 85 48
d417: iny                       ; c8
d418: lda  ($47),Y              ; b1 47
d41a: pha                       ; 48
d41b: dey                       ; 88
d41c: bpl  $d418                ; 10 fa
d41e: ldy  $48                  ; a4 48
d420: jsr  $dbd4                ; 20 d4 db
d423: lda  $7b                  ; a5 7b
d425: pha                       ; 48
d426: lda  $7a                  ; a5 7a
d428: pha                       ; 48
d429: lda  ($4e),Y              ; b1 4e
d42b: sta  $7a                  ; 85 7a
d42d: iny                       ; c8
d42e: lda  ($4e),Y              ; b1 4e
d430: sta  $7b                  ; 85 7b
d432: lda  $48                  ; a5 48
d434: pha                       ; 48
d435: lda  $47                  ; a5 47
d437: pha                       ; 48
d438: jsr  $frmnum              ; 20 8a cd
d43b: pla                       ; 68
d43c: sta  $4e                  ; 85 4e
d43e: pla                       ; 68
d43f: sta  $4f                  ; 85 4f
d441: jsr  $0079                ; 20 79 00
d444: beq  $d449                ; f0 03
d446: jmp  $synerr              ; 4c 08 cf
d449: pla                       ; 68
d44a: sta  $7a                  ; 85 7a
d44c: pla                       ; 68
d44d: sta  $7b                  ; 85 7b
d44f: ldy  #$00                 ; a0 00
d451: pla                       ; 68
d452: sta  ($4e),Y              ; 91 4e
d454: pla                       ; 68
d455: iny                       ; c8
d456: sta  ($4e),Y              ; 91 4e
d458: pla                       ; 68
d459: iny                       ; c8
d45a: sta  ($4e),Y              ; 91 4e
d45c: pla                       ; 68
d45d: iny                       ; c8
d45e: sta  ($4e),Y              ; 91 4e
d460: pla                       ; 68
d461: iny                       ; c8
d462: sta  ($4e),Y              ; 91 4e
d464: rts                       ; 60
strd: *** Perform [str$]
d465: jsr  $cd8d                ; 20 8d cd
d468: ldy  #$00                 ; a0 00
d46a: jsr  $dddf                ; 20 df dd
d46d: pla                       ; 68
d46e: pla                       ; 68
d46f: lda  #$ff                 ; a9 ff
d471: ldy  #$00                 ; a0 00
d473: beq  $strlit              ; f0 12
d475: ldx  $64                  ; a6 64
d477: ldy  $65                  ; a4 65
d479: stx  $50                  ; 86 50
d47b: sty  $51                  ; 84 51
d47d: jsr  $getspa              ; 20 f4 d4
d480: stx  $ACC1_MAN            ; 86 62
d482: sty  $63                  ; 84 63
d484: sta  $ACC1_EXP            ; 85 61
d486: rts                       ; 60
strlit: *** Set Up String
d487: ldx  #$22                 ; a2 22
d489: stx  $07                  ; 86 07
d48b: stx  $08                  ; 86 08
d48d: sta  $6f                  ; 85 6f
d48f: sty  $70                  ; 84 70
d491: sta  $ACC1_MAN            ; 85 62
d493: sty  $63                  ; 84 63
d495: ldy  #$ff                 ; a0 ff
d497: iny                       ; c8
d498: lda  ($6f),Y              ; b1 6f
d49a: beq  $d4a8                ; f0 0c
d49c: cmp  $07                  ; c5 07
d49e: beq  $d4a4                ; f0 04
d4a0: cmp  $08                  ; c5 08
d4a2: bne  $d497                ; d0 f3
d4a4: cmp  #$22                 ; c9 22
d4a6: beq  $d4a9                ; f0 01
d4a8: clc                       ; 18
d4a9: sty  $ACC1_EXP            ; 84 61
d4ab: tya                       ; 98
d4ac: adc  $6f                  ; 65 6f
d4ae: sta  $71                  ; 85 71
d4b0: ldx  $70                  ; a6 70
d4b2: bcc  $d4b5                ; 90 01
d4b4: inx                       ; e8
d4b5: stx  $72                  ; 86 72
d4b7: lda  $70                  ; a5 70
d4b9: beq  $d4bf                ; f0 04
d4bb: cmp  #$02                 ; c9 02
d4bd: bne  $d4ca                ; d0 0b
d4bf: tya                       ; 98
d4c0: jsr  $d475                ; 20 75 d4
d4c3: ldx  $6f                  ; a6 6f
d4c5: ldy  $70                  ; a4 70
d4c7: jsr  $d688                ; 20 88 d6
d4ca: ldx  $16                  ; a6 16
d4cc: cpx  #$22                 ; e0 22
d4ce: bne  $putnw1              ; d0 05
d4d0: ldx  #$19                 ; a2 19
d4d2: jmp  $error               ; 4c 37 c4
putnw1: *** Save String Descriptor
d4d5: lda  $ACC1_EXP            ; a5 61
d4d7: sta  $00,X                ; 95 00
d4d9: lda  $ACC1_MAN            ; a5 62
d4db: sta  $01,X                ; 95 01
d4dd: lda  $63                  ; a5 63
d4df: sta  $02,X                ; 95 02
d4e1: ldy  #$00                 ; a0 00
d4e3: stx  $64                  ; 86 64
d4e5: sty  $65                  ; 84 65
d4e7: sty  $70                  ; 84 70
d4e9: dey                       ; 88
d4ea: sty  $0d                  ; 84 0d
d4ec: stx  $17                  ; 86 17
d4ee: inx                       ; e8
d4ef: inx                       ; e8
d4f0: inx                       ; e8
d4f1: stx  $16                  ; 86 16
d4f3: rts                       ; 60
getspa: *** Allocate Space for String
d4f4: lsr  $0f                  ; 46 0f
d4f6: pha                       ; 48
d4f7: eor  #$ff                 ; 49 ff
d4f9: sec                       ; 38
d4fa: adc  $STRINGS             ; 65 33
d4fc: ldy  $34                  ; a4 34
d4fe: bcs  $d501                ; b0 01
d500: dey                       ; 88
d501: cpy  $32                  ; c4 32
d503: bcc  $d516                ; 90 11
d505: bne  $d50b                ; d0 04
d507: cmp  $ARRAYS_END          ; c5 31
d509: bcc  $d516                ; 90 0b
d50b: sta  $STRINGS             ; 85 33
d50d: sty  $34                  ; 84 34
d50f: sta  $35                  ; 85 35
d511: sty  $36                  ; 84 36
d513: tax                       ; aa
d514: pla                       ; 68
d515: rts                       ; 60
d516: ldx  #$10                 ; a2 10
d518: lda  $0f                  ; a5 0f
d51a: bmi  $d4d2                ; 30 b6
d51c: jsr  $garbag              ; 20 26 d5
d51f: lda  #$80                 ; a9 80
d521: sta  $0f                  ; 85 0f
d523: pla                       ; 68
d524: bne  $d4f6                ; d0 d0
garbag: *** Garbage Collection
d526: ldx  $MEM_LIMIT           ; a6 37
d528: lda  $38                  ; a5 38
d52a: stx  $STRINGS             ; 86 33
d52c: sta  $34                  ; 85 34
d52e: ldy  #$00                 ; a0 00
d530: sty  $4f                  ; 84 4f
d532: sty  $4e                  ; 84 4e
d534: lda  $ARRAYS_END          ; a5 31
d536: ldx  $32                  ; a6 32
d538: sta  $5f                  ; 85 5f
d53a: stx  $60                  ; 86 60
d53c: lda  #$19                 ; a9 19
d53e: ldx  #$00                 ; a2 00
d540: sta  $22                  ; 85 22
d542: stx  $23                  ; 86 23
d544: cmp  $16                  ; c5 16
d546: beq  $d54d                ; f0 05
d548: jsr  $d5c7                ; 20 c7 d5
d54b: beq  $d544                ; f0 f7
d54d: lda  #$07                 ; a9 07
d54f: sta  $53                  ; 85 53
d551: lda  $VARS_START          ; a5 2d
d553: ldx  $2e                  ; a6 2e
d555: sta  $22                  ; 85 22
d557: stx  $23                  ; 86 23
d559: cpx  $30                  ; e4 30
d55b: bne  $d561                ; d0 04
d55d: cmp  $ARRAYS_START        ; c5 2f
d55f: beq  $d566                ; f0 05
d561: jsr  $dvars               ; 20 bd d5
d564: beq  $d559                ; f0 f3
d566: sta  $58                  ; 85 58
d568: stx  $59                  ; 86 59
d56a: lda  #$03                 ; a9 03
d56c: sta  $53                  ; 85 53
d56e: lda  $58                  ; a5 58
d570: ldx  $59                  ; a6 59
d572: cpx  $32                  ; e4 32
d574: bne  $d57d                ; d0 07
d576: cmp  $ARRAYS_END          ; c5 31
d578: bne  $d57d                ; d0 03
d57a: jmp  $grbpas              ; 4c 06 d6
d57d: sta  $22                  ; 85 22
d57f: stx  $23                  ; 86 23
d581: ldy  #$00                 ; a0 00
d583: lda  ($22),Y              ; b1 22
d585: tax                       ; aa
d586: iny                       ; c8
d587: lda  ($22),Y              ; b1 22
d589: php                       ; 08
d58a: iny                       ; c8
d58b: lda  ($22),Y              ; b1 22
d58d: adc  $58                  ; 65 58
d58f: sta  $58                  ; 85 58
d591: iny                       ; c8
d592: lda  ($22),Y              ; b1 22
d594: adc  $59                  ; 65 59
d596: sta  $59                  ; 85 59
d598: plp                       ; 28
d599: bpl  $d56e                ; 10 d3
d59b: txa                       ; 8a
d59c: bmi  $d56e                ; 30 d0
d59e: iny                       ; c8
d59f: lda  ($22),Y              ; b1 22
d5a1: ldy  #$00                 ; a0 00
d5a3: asl  a                    ; 0a
d5a4: adc  #$05                 ; 69 05
d5a6: adc  $22                  ; 65 22
d5a8: sta  $22                  ; 85 22
d5aa: bcc  $d5ae                ; 90 02
d5ac: inc  $23                  ; e6 23
d5ae: ldx  $23                  ; a6 23
d5b0: cpx  $59                  ; e4 59
d5b2: bne  $d5b8                ; d0 04
d5b4: cmp  $58                  ; c5 58
d5b6: beq  $d572                ; f0 ba
d5b8: jsr  $d5c7                ; 20 c7 d5
d5bb: beq  $d5b0                ; f0 f3
dvars: *** Search for Next String
d5bd: lda  ($22),Y              ; b1 22
d5bf: bmi  $d5f6                ; 30 35
d5c1: iny                       ; c8
d5c2: lda  ($22),Y              ; b1 22
d5c4: bpl  $d5f6                ; 10 30
d5c6: iny                       ; c8
d5c7: lda  ($22),Y              ; b1 22
d5c9: beq  $d5f6                ; f0 2b
d5cb: iny                       ; c8
d5cc: lda  ($22),Y              ; b1 22
d5ce: tax                       ; aa
d5cf: iny                       ; c8
d5d0: lda  ($22),Y              ; b1 22
d5d2: cmp  $34                  ; c5 34
d5d4: bcc  $d5dc                ; 90 06
d5d6: bne  $d5f6                ; d0 1e
d5d8: cpx  $STRINGS             ; e4 33
d5da: bcs  $d5f6                ; b0 1a
d5dc: cmp  $60                  ; c5 60
d5de: bcc  $d5f6                ; 90 16
d5e0: bne  $d5e6                ; d0 04
d5e2: cpx  $5f                  ; e4 5f
d5e4: bcc  $d5f6                ; 90 10
d5e6: stx  $5f                  ; 86 5f
d5e8: sta  $60                  ; 85 60
d5ea: lda  $22                  ; a5 22
d5ec: ldx  $23                  ; a6 23
d5ee: sta  $4e                  ; 85 4e
d5f0: stx  $4f                  ; 86 4f
d5f2: lda  $53                  ; a5 53
d5f4: sta  $55                  ; 85 55
d5f6: lda  $53                  ; a5 53
d5f8: clc                       ; 18
d5f9: adc  $22                  ; 65 22
d5fb: sta  $22                  ; 85 22
d5fd: bcc  $d601                ; 90 02
d5ff: inc  $23                  ; e6 23
d601: ldx  $23                  ; a6 23
d603: ldy  #$00                 ; a0 00
d605: rts                       ; 60
grbpas: *** Collect a String
d606: lda  $4f                  ; a5 4f
d608: ora  $4e                  ; 05 4e
d60a: beq  $d601                ; f0 f5
d60c: lda  $55                  ; a5 55
d60e: and  #$04                 ; 29 04
d610: lsr  a                    ; 4a
d611: tay                       ; a8
d612: sta  $55                  ; 85 55
d614: lda  ($4e),Y              ; b1 4e
d616: adc  $5f                  ; 65 5f
d618: sta  $5a                  ; 85 5a
d61a: lda  $60                  ; a5 60
d61c: adc  #$00                 ; 69 00
d61e: sta  $5b                  ; 85 5b
d620: lda  $STRINGS             ; a5 33
d622: ldx  $34                  ; a6 34
d624: sta  $58                  ; 85 58
d626: stx  $59                  ; 86 59
d628: jsr  $c3bf                ; 20 bf c3
d62b: ldy  $55                  ; a4 55
d62d: iny                       ; c8
d62e: lda  $58                  ; a5 58
d630: sta  ($4e),Y              ; 91 4e
d632: tax                       ; aa
d633: inc  $59                  ; e6 59
d635: lda  $59                  ; a5 59
d637: iny                       ; c8
d638: sta  ($4e),Y              ; 91 4e
d63a: jmp  $d52a                ; 4c 2a d5
cat: *** Concatenate Two Strings
d63d: lda  $65                  ; a5 65
d63f: pha                       ; 48
d640: lda  $64                  ; a5 64
d642: pha                       ; 48
d643: jsr  $eval                ; 20 83 ce
d646: jsr  $cd8f                ; 20 8f cd
d649: pla                       ; 68
d64a: sta  $6f                  ; 85 6f
d64c: pla                       ; 68
d64d: sta  $70                  ; 85 70
d64f: ldy  #$00                 ; a0 00
d651: lda  ($6f),Y              ; b1 6f
d653: clc                       ; 18
d654: adc  ($64),Y              ; 71 64
d656: bcc  $d65d                ; 90 05
d658: ldx  #$17                 ; a2 17
d65a: jmp  $error               ; 4c 37 c4
d65d: jsr  $d475                ; 20 75 d4
d660: jsr  $movins              ; 20 7a d6
d663: lda  $50                  ; a5 50
d665: ldy  $51                  ; a4 51
d667: jsr  $d6aa                ; 20 aa d6
d66a: jsr  $d68c                ; 20 8c d6
d66d: lda  $6f                  ; a5 6f
d66f: ldy  $70                  ; a4 70
d671: jsr  $d6aa                ; 20 aa d6
d674: jsr  $d4ca                ; 20 ca d4
d677: jmp  $cdb8                ; 4c b8 cd
movins: *** Store String in High RAM
d67a: ldy  #$00                 ; a0 00
d67c: lda  ($6f),Y              ; b1 6f
d67e: pha                       ; 48
d67f: iny                       ; c8
d680: lda  ($6f),Y              ; b1 6f
d682: tax                       ; aa
d683: iny                       ; c8
d684: lda  ($6f),Y              ; b1 6f
d686: tay                       ; a8
d687: pla                       ; 68
d688: stx  $22                  ; 86 22
d68a: sty  $23                  ; 84 23
d68c: tay                       ; a8
d68d: beq  $d699                ; f0 0a
d68f: pha                       ; 48
d690: dey                       ; 88
d691: lda  ($22),Y              ; b1 22
d693: sta  ($35),Y              ; 91 35
d695: tya                       ; 98
d696: bne  $d690                ; d0 f8
d698: pla                       ; 68
d699: clc                       ; 18
d69a: adc  $35                  ; 65 35
d69c: sta  $35                  ; 85 35
d69e: bcc  $d6a2                ; 90 02
d6a0: inc  $36                  ; e6 36
d6a2: rts                       ; 60
frestr: *** Perform String Housekeeping
d6a3: jsr  $cd8f                ; 20 8f cd
d6a6: lda  $64                  ; a5 64
d6a8: ldy  $65                  ; a4 65
d6aa: sta  $22                  ; 85 22
d6ac: sty  $23                  ; 84 23
d6ae: jsr  $frefac              ; 20 db d6
d6b1: php                       ; 08
d6b2: ldy  #$00                 ; a0 00
d6b4: lda  ($22),Y              ; b1 22
d6b6: pha                       ; 48
d6b7: iny                       ; c8
d6b8: lda  ($22),Y              ; b1 22
d6ba: tax                       ; aa
d6bb: iny                       ; c8
d6bc: lda  ($22),Y              ; b1 22
d6be: tay                       ; a8
d6bf: pla                       ; 68
d6c0: plp                       ; 28
d6c1: bne  $d6d6                ; d0 13
d6c3: cpy  $34                  ; c4 34
d6c5: bne  $d6d6                ; d0 0f
d6c7: cpx  $STRINGS             ; e4 33
d6c9: bne  $d6d6                ; d0 0b
d6cb: pha                       ; 48
d6cc: clc                       ; 18
d6cd: adc  $STRINGS             ; 65 33
d6cf: sta  $STRINGS             ; 85 33
d6d1: bcc  $d6d5                ; 90 02
d6d3: inc  $34                  ; e6 34
d6d5: pla                       ; 68
d6d6: stx  $22                  ; 86 22
d6d8: sty  $23                  ; 84 23
d6da: rts                       ; 60
frefac: *** Clean Descriptor Stack
d6db: cpy  $18                  ; c4 18
d6dd: bne  $d6eb                ; d0 0c
d6df: cmp  $17                  ; c5 17
d6e1: bne  $d6eb                ; d0 08
d6e3: sta  $16                  ; 85 16
d6e5: sbc  #$03                 ; e9 03
d6e7: sta  $17                  ; 85 17
d6e9: ldy  #$00                 ; a0 00
d6eb: rts                       ; 60
chrd: *** Perform [chr$]
d6ec: jsr  $d7a1                ; 20 a1 d7
d6ef: txa                       ; 8a
d6f0: pha                       ; 48
d6f1: lda  #$01                 ; a9 01
d6f3: jsr  $d47d                ; 20 7d d4
d6f6: pla                       ; 68
d6f7: ldy  #$00                 ; a0 00
d6f9: sta  ($ACC1_MAN),Y        ; 91 62
d6fb: pla                       ; 68
d6fc: pla                       ; 68
d6fd: jmp  $d4ca                ; 4c ca d4
leftd: *** Perform [left$]
d700: jsr  $pream               ; 20 61 d7
d703: cmp  ($50),Y              ; d1 50
d705: tya                       ; 98
d706: bcc  $d70c                ; 90 04
d708: lda  ($50),Y              ; b1 50
d70a: tax                       ; aa
d70b: tya                       ; 98
d70c: pha                       ; 48
d70d: txa                       ; 8a
d70e: pha                       ; 48
d70f: jsr  $d47d                ; 20 7d d4
d712: lda  $50                  ; a5 50
d714: ldy  $51                  ; a4 51
d716: jsr  $d6aa                ; 20 aa d6
d719: pla                       ; 68
d71a: tay                       ; a8
d71b: pla                       ; 68
d71c: clc                       ; 18
d71d: adc  $22                  ; 65 22
d71f: sta  $22                  ; 85 22
d721: bcc  $d725                ; 90 02
d723: inc  $23                  ; e6 23
d725: tya                       ; 98
d726: jsr  $d68c                ; 20 8c d6
d729: jmp  $d4ca                ; 4c ca d4
rightd: *** Perform [right$]
d72c: jsr  $pream               ; 20 61 d7
d72f: clc                       ; 18
d730: sbc  ($50),Y              ; f1 50
d732: eor  #$ff                 ; 49 ff
d734: jmp  $d706                ; 4c 06 d7
midd: *** Perform [mid$]
d737: lda  #$ff                 ; a9 ff
d739: sta  $65                  ; 85 65
d73b: jsr  $0079                ; 20 79 00
d73e: cmp  #$29                 ; c9 29
d740: beq  $d748                ; f0 06
d742: jsr  $cefd                ; 20 fd ce
d745: jsr  $d79e                ; 20 9e d7
d748: jsr  $pream               ; 20 61 d7
d74b: beq  $d798                ; f0 4b
d74d: dex                       ; ca
d74e: txa                       ; 8a
d74f: pha                       ; 48
d750: clc                       ; 18
d751: ldx  #$00                 ; a2 00
d753: sbc  ($50),Y              ; f1 50
d755: bcs  $d70d                ; b0 b6
d757: eor  #$ff                 ; 49 ff
d759: cmp  $65                  ; c5 65
d75b: bcc  $d70e                ; 90 b1
d75d: lda  $65                  ; a5 65
d75f: bcs  $d70e                ; b0 ad
pream: *** Pull sTring Parameters
d761: jsr  $chkcls              ; 20 f7 ce
d764: pla                       ; 68
d765: tay                       ; a8
d766: pla                       ; 68
d767: sta  $55                  ; 85 55
d769: pla                       ; 68
d76a: pla                       ; 68
d76b: pla                       ; 68
d76c: tax                       ; aa
d76d: pla                       ; 68
d76e: sta  $50                  ; 85 50
d770: pla                       ; 68
d771: sta  $51                  ; 85 51
d773: lda  $55                  ; a5 55
d775: pha                       ; 48
d776: tya                       ; 98
d777: pha                       ; 48
d778: ldy  #$00                 ; a0 00
d77a: txa                       ; 8a
d77b: rts                       ; 60
len: *** Perform [len]
d77c: jsr  $len1                ; 20 82 d7
d77f: jmp  $d3a2                ; 4c a2 d3
len1: *** Exit String Mode
d782: jsr  $frestr              ; 20 a3 d6
d785: ldx  #$00                 ; a2 00
d787: stx  $0d                  ; 86 0d
d789: tay                       ; a8
d78a: rts                       ; 60
asc: *** Perform [asc]
d78b: jsr  $len1                ; 20 82 d7
d78e: beq  $d798                ; f0 08
d790: ldy  #$00                 ; a0 00
d792: lda  ($22),Y              ; b1 22
d794: tay                       ; a8
d795: jmp  $d3a2                ; 4c a2 d3
d798: jmp  $d248                ; 4c 48 d2
gtbytc: *** Evaluate Text to 1 Byte in XR
d79b: jsr  $CHRGET              ; 20 73 00
d79e: jsr  $frmnum              ; 20 8a cd
d7a1: jsr  $d1b8                ; 20 b8 d1
d7a4: ldx  $64                  ; a6 64
d7a6: bne  $d798                ; d0 f0
d7a8: ldx  $65                  ; a6 65
d7aa: jmp  $0079                ; 4c 79 00
val: *** Perform [val]
d7ad: jsr  $len1                ; 20 82 d7
d7b0: bne  $strval              ; d0 03
d7b2: jmp  $d8f7                ; 4c f7 d8
strval: *** Convert ASCII String to Flpt
d7b5: ldx  $7a                  ; a6 7a
d7b7: ldy  $7b                  ; a4 7b
d7b9: stx  $71                  ; 86 71
d7bb: sty  $72                  ; 84 72
d7bd: ldx  $22                  ; a6 22
d7bf: stx  $7a                  ; 86 7a
d7c1: clc                       ; 18
d7c2: adc  $22                  ; 65 22
d7c4: sta  $24                  ; 85 24
d7c6: ldx  $23                  ; a6 23
d7c8: stx  $7b                  ; 86 7b
d7ca: bcc  $d7cd                ; 90 01
d7cc: inx                       ; e8
d7cd: stx  $25                  ; 86 25
d7cf: ldy  #$00                 ; a0 00
d7d1: lda  ($24),Y              ; b1 24
d7d3: pha                       ; 48
d7d4: tya                       ; 98
d7d5: sta  ($24),Y              ; 91 24
d7d7: jsr  $0079                ; 20 79 00
d7da: jsr  $fin                 ; 20 f3 dc
d7dd: pla                       ; 68
d7de: ldy  #$00                 ; a0 00
d7e0: sta  ($24),Y              ; 91 24
d7e2: ldx  $71                  ; a6 71
d7e4: ldy  $72                  ; a4 72
d7e6: stx  $7a                  ; 86 7a
d7e8: sty  $7b                  ; 84 7b
d7ea: rts                       ; 60
getnum: *** Get parameters for POKE/WAIT
d7eb: jsr  $frmnum              ; 20 8a cd
d7ee: jsr  $getadr              ; 20 f7 d7
d7f1: jsr  $cefd                ; 20 fd ce
d7f4: jmp  $d79e                ; 4c 9e d7
getadr: *** Convert FAC#1 to Integer in LINNUM
d7f7: lda  $ACC1_SGN            ; a5 66
d7f9: bmi  $d798                ; 30 9d
d7fb: lda  $ACC1_EXP            ; a5 61
d7fd: cmp  #$91                 ; c9 91
d7ff: bcs  $d798                ; b0 97
d801: jsr  $qint                ; 20 9b dc
d804: lda  $64                  ; a5 64
d806: ldy  $65                  ; a4 65
d808: sty  $14                  ; 84 14
d80a: sta  $15                  ; 85 15
d80c: rts                       ; 60
peek: *** Perform [peek]
d80d: lda  $15                  ; a5 15
d80f: pha                       ; 48
d810: lda  $14                  ; a5 14
d812: pha                       ; 48
d813: jsr  $getadr              ; 20 f7 d7
d816: ldy  #$00                 ; a0 00
d818: lda  ($14),Y              ; b1 14
d81a: tay                       ; a8
d81b: pla                       ; 68
d81c: sta  $14                  ; 85 14
d81e: pla                       ; 68
d81f: sta  $15                  ; 85 15
d821: jmp  $d3a2                ; 4c a2 d3
poke: *** Perform [poke]
d824: jsr  $getnum              ; 20 eb d7
d827: txa                       ; 8a
d828: ldy  #$00                 ; a0 00
d82a: sta  ($14),Y              ; 91 14
d82c: rts                       ; 60
wait: *** Perform [wait]
d82d: jsr  $getnum              ; 20 eb d7
d830: stx  $49                  ; 86 49
d832: ldx  #$00                 ; a2 00
d834: jsr  $0079                ; 20 79 00
d837: beq  $d83c                ; f0 03
d839: jsr  $d7f1                ; 20 f1 d7
d83c: stx  $4a                  ; 86 4a
d83e: ldy  #$00                 ; a0 00
d840: lda  ($14),Y              ; b1 14
d842: eor  $4a                  ; 45 4a
d844: and  $49                  ; 25 49
d846: beq  $d840                ; f0 f8
d848: rts                       ; 60
faddh: *** Add 0.5 to FAC#1
d849: lda  #$11                 ; a9 11
d84b: ldy  #$df                 ; a0 df
d84d: jmp  $fadd                ; 4c 67 d8
fsub: *** Perform Subtraction
d850: jsr  $conupk              ; 20 8c da
d853: lda  $ACC1_SGN            ; a5 66
d855: eor  #$ff                 ; 49 ff
d857: sta  $ACC1_SGN            ; 85 66
d859: eor  $ACC2_SGN            ; 45 6e
d85b: sta  $6f                  ; 85 6f
d85d: lda  $ACC1_EXP            ; a5 61
d85f: jmp  $d86a                ; 4c 6a d8
fadd5: *** Normalise Addition
d862: jsr  $d999                ; 20 99 d9
d865: bcc  $d8a3                ; 90 3c
fadd: *** Perform Addition
d867: jsr  $conupk              ; 20 8c da
d86a: bne  $d86f                ; d0 03
d86c: jmp  $movfa               ; 4c fc db
d86f: ldx  $70                  ; a6 70
d871: stx  $56                  ; 86 56
d873: ldx  #$69                 ; a2 69
d875: lda  $ACC2_EXP            ; a5 69
d877: tay                       ; a8
d878: beq  $d848                ; f0 ce
d87a: sec                       ; 38
d87b: sbc  $ACC1_EXP            ; e5 61
d87d: beq  $d8a3                ; f0 24
d87f: bcc  $d893                ; 90 12
d881: sty  $ACC1_EXP            ; 84 61
d883: ldy  $ACC2_SGN            ; a4 6e
d885: sty  $ACC1_SGN            ; 84 66
d887: eor  #$ff                 ; 49 ff
d889: adc  #$00                 ; 69 00
d88b: ldy  #$00                 ; a0 00
d88d: sty  $56                  ; 84 56
d88f: ldx  #$61                 ; a2 61
d891: bne  $d897                ; d0 04
d893: ldy  #$00                 ; a0 00
d895: sty  $70                  ; 84 70
d897: cmp  #$f9                 ; c9 f9
d899: bmi  $fadd5               ; 30 c7
d89b: tay                       ; a8
d89c: lda  $70                  ; a5 70
d89e: lsr  $01,X                ; 56 01
d8a0: jsr  $d9b0                ; 20 b0 d9
d8a3: bit  $6f                  ; 24 6f
d8a5: bpl  $d8fe                ; 10 57
d8a7: ldy  #$61                 ; a0 61
d8a9: cpx  #$69                 ; e0 69
d8ab: beq  $d8af                ; f0 02
d8ad: ldy  #$69                 ; a0 69
d8af: sec                       ; 38
d8b0: eor  #$ff                 ; 49 ff
d8b2: adc  $56                  ; 65 56
d8b4: sta  $70                  ; 85 70
d8b6: lda  $0004,Y              ; b9 04 00
d8b9: sbc  $04,X                ; f5 04
d8bb: sta  $65                  ; 85 65
d8bd: lda  $0003,Y              ; b9 03 00
d8c0: sbc  $03,X                ; f5 03
d8c2: sta  $64                  ; 85 64
d8c4: lda  $0002,Y              ; b9 02 00
d8c7: sbc  $02,X                ; f5 02
d8c9: sta  $63                  ; 85 63
d8cb: lda  $0001,Y              ; b9 01 00
d8ce: sbc  $01,X                ; f5 01
d8d0: sta  $ACC1_MAN            ; 85 62
d8d2: bcs  $d8d7                ; b0 03
d8d4: jsr  $negfac              ; 20 47 d9
d8d7: ldy  #$00                 ; a0 00
d8d9: tya                       ; 98
d8da: clc                       ; 18
d8db: ldx  $ACC1_MAN            ; a6 62
d8dd: bne  $d929                ; d0 4a
d8df: ldx  $63                  ; a6 63
d8e1: stx  $ACC1_MAN            ; 86 62
d8e3: ldx  $64                  ; a6 64
d8e5: stx  $63                  ; 86 63
d8e7: ldx  $65                  ; a6 65
d8e9: stx  $64                  ; 86 64
d8eb: ldx  $70                  ; a6 70
d8ed: stx  $65                  ; 86 65
d8ef: sty  $70                  ; 84 70
d8f1: adc  #$08                 ; 69 08
d8f3: cmp  #$20                 ; c9 20
d8f5: bne  $d8db                ; d0 e4
d8f7: lda  #$00                 ; a9 00
d8f9: sta  $ACC1_EXP            ; 85 61
d8fb: sta  $ACC1_SGN            ; 85 66
d8fd: rts                       ; 60
d8fe: adc  $56                  ; 65 56
d900: sta  $70                  ; 85 70
d902: lda  $65                  ; a5 65
d904: adc  $6d                  ; 65 6d
d906: sta  $65                  ; 85 65
d908: lda  $64                  ; a5 64
d90a: adc  $6c                  ; 65 6c
d90c: sta  $64                  ; 85 64
d90e: lda  $63                  ; a5 63
d910: adc  $6b                  ; 65 6b
d912: sta  $63                  ; 85 63
d914: lda  $ACC1_MAN            ; a5 62
d916: adc  $ACC2_MAN            ; 65 6a
d918: sta  $ACC1_MAN            ; 85 62
d91a: jmp  $d936                ; 4c 36 d9
d91d: adc  #$01                 ; 69 01
d91f: asl  $70                  ; 06 70
d921: rol  $65                  ; 26 65
d923: rol  $64                  ; 26 64
d925: rol  $63                  ; 26 63
d927: rol  $ACC1_MAN            ; 26 62
d929: bpl  $d91d                ; 10 f2
d92b: sec                       ; 38
d92c: sbc  $ACC1_EXP            ; e5 61
d92e: bcs  $d8f7                ; b0 c7
d930: eor  #$ff                 ; 49 ff
d932: adc  #$01                 ; 69 01
d934: sta  $ACC1_EXP            ; 85 61
d936: bcc  $d946                ; 90 0e
d938: inc  $ACC1_EXP            ; e6 61
d93a: beq  $overr               ; f0 42
d93c: ror  $ACC1_MAN            ; 66 62
d93e: ror  $63                  ; 66 63
d940: ror  $64                  ; 66 64
d942: ror  $65                  ; 66 65
d944: ror  $70                  ; 66 70
d946: rts                       ; 60
negfac: *** 2's Complement FAC#1
d947: lda  $ACC1_SGN            ; a5 66
d949: eor  #$ff                 ; 49 ff
d94b: sta  $ACC1_SGN            ; 85 66
d94d: lda  $ACC1_MAN            ; a5 62
d94f: eor  #$ff                 ; 49 ff
d951: sta  $ACC1_MAN            ; 85 62
d953: lda  $63                  ; a5 63
d955: eor  #$ff                 ; 49 ff
d957: sta  $63                  ; 85 63
d959: lda  $64                  ; a5 64
d95b: eor  #$ff                 ; 49 ff
d95d: sta  $64                  ; 85 64
d95f: lda  $65                  ; a5 65
d961: eor  #$ff                 ; 49 ff
d963: sta  $65                  ; 85 65
d965: lda  $70                  ; a5 70
d967: eor  #$ff                 ; 49 ff
d969: sta  $70                  ; 85 70
d96b: inc  $70                  ; e6 70
d96d: bne  $d97d                ; d0 0e
d96f: inc  $65                  ; e6 65
d971: bne  $d97d                ; d0 0a
d973: inc  $64                  ; e6 64
d975: bne  $d97d                ; d0 06
d977: inc  $63                  ; e6 63
d979: bne  $d97d                ; d0 02
d97b: inc  $ACC1_MAN            ; e6 62
d97d: rts                       ; 60
overr: *** Output ?OVERFLOW Error
d97e: ldx  #$0f                 ; a2 0f
d980: jmp  $error               ; 4c 37 c4
mulshf: *** Multiply by Zero Byte
d983: ldx  #$25                 ; a2 25
d985: ldy  $04,X                ; b4 04
d987: sty  $70                  ; 84 70
d989: ldy  $03,X                ; b4 03
d98b: sty  $04,X                ; 94 04
d98d: ldy  $02,X                ; b4 02
d98f: sty  $03,X                ; 94 03
d991: ldy  $01,X                ; b4 01
d993: sty  $02,X                ; 94 02
d995: ldy  $68                  ; a4 68
d997: sty  $01,X                ; 94 01
d999: adc  #$08                 ; 69 08
d99b: bmi  $d985                ; 30 e8
d99d: beq  $d985                ; f0 e6
d99f: sbc  #$08                 ; e9 08
d9a1: tay                       ; a8
d9a2: lda  $70                  ; a5 70
d9a4: bcs  $d9ba                ; b0 14
d9a6: asl  $01,X                ; 16 01
d9a8: bcc  $d9ac                ; 90 02
d9aa: inc  $01,X                ; f6 01
d9ac: ror  $01,X                ; 76 01
d9ae: ror  $01,X                ; 76 01
d9b0: ror  $02,X                ; 76 02
d9b2: ror  $03,X                ; 76 03
d9b4: ror  $04,X                ; 76 04
d9b6: ror  a                    ; 6a
d9b7: iny                       ; c8
d9b8: bne  $d9a6                ; d0 ec
d9ba: clc                       ; 18
d9bb: rts                       ; 60
fone: *** Table of Flpt Constants (DATA)
d9bc: sta  ($00,X)              ; 81 00
d9be: brk                       ; 00
d9bf: brk                       ; 00
d9c0: brk                       ; 00
d9c1: ???                       ; 03
d9c2: ???                       ; 7f
d9c3: lsr  $cb56,X              ; 5e 56 cb
d9c6: adc  $1380,Y              ; 79 80 13
d9c9: ???                       ; 9b
d9ca: ???                       ; 0b
d9cb: ???                       ; 64
d9cc: ???                       ; 80
d9cd: ror  $38,X                ; 76 38
d9cf: ???                       ; 93
d9d0: asl  $82,X                ; 16 82
d9d2: sec                       ; 38
d9d3: tax                       ; aa
d9d4: ???                       ; 3b
d9d5: jsr  $3580                ; 20 80 35
d9d8: ???                       ; 04
d9d9: ???                       ; f3
d9da: ???                       ; 34
d9db: sta  ($35,X)              ; 81 35
d9dd: ???                       ; 04
d9de: ???                       ; f3
d9df: ???                       ; 34
d9e0: ???                       ; 80
d9e1: ???                       ; 80
d9e2: brk                       ; 00
d9e3: brk                       ; 00
d9e4: brk                       ; 00
d9e5: ???                       ; 80
d9e6: and  ($72),Y              ; 31 72
d9e8: ???                       ; 17
d9e9: sed                       ; f8
log: *** Perform [log]
d9ea: jsr  $sign                ; 20 2b dc
d9ed: beq  $d9f1                ; f0 02
d9ef: bpl  $d9f4                ; 10 03
d9f1: jmp  $d248                ; 4c 48 d2
d9f4: lda  $ACC1_EXP            ; a5 61
d9f6: sbc  #$7f                 ; e9 7f
d9f8: pha                       ; 48
d9f9: lda  #$80                 ; a9 80
d9fb: sta  $ACC1_EXP            ; 85 61
d9fd: lda  #$d6                 ; a9 d6
d9ff: ldy  #$d9                 ; a0 d9
da01: jsr  $fadd                ; 20 67 d8
da04: lda  #$db                 ; a9 db
da06: ldy  #$d9                 ; a0 d9
da08: jsr  $fdivt               ; 20 0f db
da0b: lda  #$bc                 ; a9 bc
da0d: ldy  #$d9                 ; a0 d9
da0f: jsr  $fsub                ; 20 50 d8
da12: lda  #$c1                 ; a9 c1
da14: ldy  #$d9                 ; a0 d9
da16: jsr  $polyx               ; 20 40 e0
da19: lda  #$e0                 ; a9 e0
da1b: ldy  #$d9                 ; a0 d9
da1d: jsr  $fadd                ; 20 67 d8
da20: pla                       ; 68
da21: jsr  $dd7e                ; 20 7e dd
da24: lda  #$e5                 ; a9 e5
da26: ldy  #$d9                 ; a0 d9
fmult: *** Perform Multiply
da28: jsr  $conupk              ; 20 8c da
da2b: bne  $da30                ; d0 03
da2d: jmp  $da8b                ; 4c 8b da
da30: jsr  $muldiv              ; 20 b7 da
da33: lda  #$00                 ; a9 00
da35: sta  $26                  ; 85 26
da37: sta  $27                  ; 85 27
da39: sta  $28                  ; 85 28
da3b: sta  $29                  ; 85 29
da3d: lda  $70                  ; a5 70
da3f: jsr  $mulply              ; 20 59 da
da42: lda  $65                  ; a5 65
da44: jsr  $mulply              ; 20 59 da
da47: lda  $64                  ; a5 64
da49: jsr  $mulply              ; 20 59 da
da4c: lda  $63                  ; a5 63
da4e: jsr  $mulply              ; 20 59 da
da51: lda  $ACC1_MAN            ; a5 62
da53: jsr  $da5e                ; 20 5e da
da56: jmp  $db8f                ; 4c 8f db
mulply: *** Multiply by a Byte
da59: bne  $da5e                ; d0 03
da5b: jmp  $mulshf              ; 4c 83 d9
da5e: lsr  a                    ; 4a
da5f: ora  #$80                 ; 09 80
da61: tay                       ; a8
da62: bcc  $da7d                ; 90 19
da64: clc                       ; 18
da65: lda  $29                  ; a5 29
da67: adc  $6d                  ; 65 6d
da69: sta  $29                  ; 85 29
da6b: lda  $28                  ; a5 28
da6d: adc  $6c                  ; 65 6c
da6f: sta  $28                  ; 85 28
da71: lda  $27                  ; a5 27
da73: adc  $6b                  ; 65 6b
da75: sta  $27                  ; 85 27
da77: lda  $26                  ; a5 26
da79: adc  $ACC2_MAN            ; 65 6a
da7b: sta  $26                  ; 85 26
da7d: ror  $26                  ; 66 26
da7f: ror  $27                  ; 66 27
da81: ror  $28                  ; 66 28
da83: ror  $29                  ; 66 29
da85: ror  $70                  ; 66 70
da87: tya                       ; 98
da88: lsr  a                    ; 4a
da89: bne  $da61                ; d0 d6
da8b: rts                       ; 60
conupk: *** Load FAC#2 From Memory
da8c: sta  $22                  ; 85 22
da8e: sty  $23                  ; 84 23
da90: ldy  #$04                 ; a0 04
da92: lda  ($22),Y              ; b1 22
da94: sta  $6d                  ; 85 6d
da96: dey                       ; 88
da97: lda  ($22),Y              ; b1 22
da99: sta  $6c                  ; 85 6c
da9b: dey                       ; 88
da9c: lda  ($22),Y              ; b1 22
da9e: sta  $6b                  ; 85 6b
daa0: dey                       ; 88
daa1: lda  ($22),Y              ; b1 22
daa3: sta  $ACC2_SGN            ; 85 6e
daa5: eor  $ACC1_SGN            ; 45 66
daa7: sta  $6f                  ; 85 6f
daa9: lda  $ACC2_SGN            ; a5 6e
daab: ora  #$80                 ; 09 80
daad: sta  $ACC2_MAN            ; 85 6a
daaf: dey                       ; 88
dab0: lda  ($22),Y              ; b1 22
dab2: sta  $ACC2_EXP            ; 85 69
dab4: lda  $ACC1_EXP            ; a5 61
dab6: rts                       ; 60
muldiv: *** Test Both Accumulators
dab7: lda  $ACC2_EXP            ; a5 69
dab9: beq  $dada                ; f0 1f
dabb: clc                       ; 18
dabc: adc  $ACC1_EXP            ; 65 61
dabe: bcc  $dac4                ; 90 04
dac0: bmi  $dadf                ; 30 1d
dac2: clc                       ; 18
dac3: bit  $1410                ; 2c 10 14
dac6: adc  #$80                 ; 69 80
dac8: sta  $ACC1_EXP            ; 85 61
daca: bne  $dacf                ; d0 03
dacc: jmp  $d8fb                ; 4c fb d8
dacf: lda  $6f                  ; a5 6f
dad1: sta  $ACC1_SGN            ; 85 66
dad3: rts                       ; 60
mldvex: *** Overflow / Underflow
dad4: lda  $ACC1_SGN            ; a5 66
dad6: eor  #$ff                 ; 49 ff
dad8: bmi  $dadf                ; 30 05
dada: pla                       ; 68
dadb: pla                       ; 68
dadc: jmp  $d8f7                ; 4c f7 d8
dadf: jmp  $overr               ; 4c 7e d9
mul10: *** Multiply FAC#1 by 10
dae2: jsr  $movaf               ; 20 0c dc
dae5: tax                       ; aa
dae6: beq  $daf8                ; f0 10
dae8: clc                       ; 18
dae9: adc  #$02                 ; 69 02
daeb: bcs  $dadf                ; b0 f2
daed: ldx  #$00                 ; a2 00
daef: stx  $6f                  ; 86 6f
daf1: jsr  $d877                ; 20 77 d8
daf4: inc  $ACC1_EXP            ; e6 61
daf6: beq  $dadf                ; f0 e7
daf8: rts                       ; 60
tenc: *** Constant 10 in Flpt (DATA)
daf9: sty  $20                  ; 84 20
dafb: brk                       ; 00
dafc: brk                       ; 00
dafd: brk                       ; 00
div10: *** Divide FAC#1 by 10
dafe: jsr  $movaf               ; 20 0c dc
db01: lda  #$f9                 ; a9 f9
db03: ldy  #$da                 ; a0 da
db05: ldx  #$00                 ; a2 00
fdiv: *** Divide FAC#2 by Flpt at (AC/YR)
db07: stx  $6f                  ; 86 6f
db09: jsr  $movfm               ; 20 a2 db
db0c: jmp  $db12                ; 4c 12 db
fdivt: *** Divide FAC#2 by FAC#1
db0f: jsr  $conupk              ; 20 8c da
db12: beq  $db8a                ; f0 76
db14: jsr  $round               ; 20 1b dc
db17: lda  #$00                 ; a9 00
db19: sec                       ; 38
db1a: sbc  $ACC1_EXP            ; e5 61
db1c: sta  $ACC1_EXP            ; 85 61
db1e: jsr  $muldiv              ; 20 b7 da
db21: inc  $ACC1_EXP            ; e6 61
db23: beq  $dadf                ; f0 ba
db25: ldx  #$fc                 ; a2 fc
db27: lda  #$01                 ; a9 01
db29: ldy  $ACC2_MAN            ; a4 6a
db2b: cpy  $ACC1_MAN            ; c4 62
db2d: bne  $db3f                ; d0 10
db2f: ldy  $6b                  ; a4 6b
db31: cpy  $63                  ; c4 63
db33: bne  $db3f                ; d0 0a
db35: ldy  $6c                  ; a4 6c
db37: cpy  $64                  ; c4 64
db39: bne  $db3f                ; d0 04
db3b: ldy  $6d                  ; a4 6d
db3d: cpy  $65                  ; c4 65
db3f: php                       ; 08
db40: rol  a                    ; 2a
db41: bcc  $db4c                ; 90 09
db43: inx                       ; e8
db44: sta  $29,X                ; 95 29
db46: beq  $db7a                ; f0 32
db48: bpl  $db7e                ; 10 34
db4a: lda  #$01                 ; a9 01
db4c: plp                       ; 28
db4d: bcs  $db5d                ; b0 0e
db4f: asl  $6d                  ; 06 6d
db51: rol  $6c                  ; 26 6c
db53: rol  $6b                  ; 26 6b
db55: rol  $ACC2_MAN            ; 26 6a
db57: bcs  $db3f                ; b0 e6
db59: bmi  $db29                ; 30 ce
db5b: bpl  $db3f                ; 10 e2
db5d: tay                       ; a8
db5e: lda  $6d                  ; a5 6d
db60: sbc  $65                  ; e5 65
db62: sta  $6d                  ; 85 6d
db64: lda  $6c                  ; a5 6c
db66: sbc  $64                  ; e5 64
db68: sta  $6c                  ; 85 6c
db6a: lda  $6b                  ; a5 6b
db6c: sbc  $63                  ; e5 63
db6e: sta  $6b                  ; 85 6b
db70: lda  $ACC2_MAN            ; a5 6a
db72: sbc  $ACC1_MAN            ; e5 62
db74: sta  $ACC2_MAN            ; 85 6a
db76: tya                       ; 98
db77: jmp  $db4f                ; 4c 4f db
db7a: lda  #$40                 ; a9 40
db7c: bne  $db4c                ; d0 ce
db7e: asl  a                    ; 0a
db7f: asl  a                    ; 0a
db80: asl  a                    ; 0a
db81: asl  a                    ; 0a
db82: asl  a                    ; 0a
db83: asl  a                    ; 0a
db84: sta  $70                  ; 85 70
db86: plp                       ; 28
db87: jmp  $db8f                ; 4c 8f db
db8a: ldx  #$14                 ; a2 14
db8c: jmp  $error               ; 4c 37 c4
db8f: lda  $26                  ; a5 26
db91: sta  $ACC1_MAN            ; 85 62
db93: lda  $27                  ; a5 27
db95: sta  $63                  ; 85 63
db97: lda  $28                  ; a5 28
db99: sta  $64                  ; 85 64
db9b: lda  $29                  ; a5 29
db9d: sta  $65                  ; 85 65
db9f: jmp  $d8d7                ; 4c d7 d8
movfm: *** Load FAC#1 From Memory
dba2: sta  $22                  ; 85 22
dba4: sty  $23                  ; 84 23
dba6: ldy  #$04                 ; a0 04
dba8: lda  ($22),Y              ; b1 22
dbaa: sta  $65                  ; 85 65
dbac: dey                       ; 88
dbad: lda  ($22),Y              ; b1 22
dbaf: sta  $64                  ; 85 64
dbb1: dey                       ; 88
dbb2: lda  ($22),Y              ; b1 22
dbb4: sta  $63                  ; 85 63
dbb6: dey                       ; 88
dbb7: lda  ($22),Y              ; b1 22
dbb9: sta  $ACC1_SGN            ; 85 66
dbbb: ora  #$80                 ; 09 80
dbbd: sta  $ACC1_MAN            ; 85 62
dbbf: dey                       ; 88
dbc0: lda  ($22),Y              ; b1 22
dbc2: sta  $ACC1_EXP            ; 85 61
dbc4: sty  $70                  ; 84 70
dbc6: rts                       ; 60
mov2f: *** Store FAC#1 in Memory
dbc7: ldx  #$5c                 ; a2 5c
dbc9: bit  $57a2                ; 2c a2 57
dbcc: ldy  #$00                 ; a0 00
dbce: beq  $dbd4                ; f0 04
dbd0: ldx  $49                  ; a6 49
dbd2: ldy  $4a                  ; a4 4a
dbd4: jsr  $round               ; 20 1b dc
dbd7: stx  $22                  ; 86 22
dbd9: sty  $23                  ; 84 23
dbdb: ldy  #$04                 ; a0 04
dbdd: lda  $65                  ; a5 65
dbdf: sta  ($22),Y              ; 91 22
dbe1: dey                       ; 88
dbe2: lda  $64                  ; a5 64
dbe4: sta  ($22),Y              ; 91 22
dbe6: dey                       ; 88
dbe7: lda  $63                  ; a5 63
dbe9: sta  ($22),Y              ; 91 22
dbeb: dey                       ; 88
dbec: lda  $ACC1_SGN            ; a5 66
dbee: ora  #$7f                 ; 09 7f
dbf0: and  $ACC1_MAN            ; 25 62
dbf2: sta  ($22),Y              ; 91 22
dbf4: dey                       ; 88
dbf5: lda  $ACC1_EXP            ; a5 61
dbf7: sta  ($22),Y              ; 91 22
dbf9: sty  $70                  ; 84 70
dbfb: rts                       ; 60
movfa: *** Copy FAC#2 into FAC#1
dbfc: lda  $ACC2_SGN            ; a5 6e
dbfe: sta  $ACC1_SGN            ; 85 66
dc00: ldx  #$05                 ; a2 05
dc02: lda  $68,X                ; b5 68
dc04: sta  $60,X                ; 95 60
dc06: dex                       ; ca
dc07: bne  $dc02                ; d0 f9
dc09: stx  $70                  ; 86 70
dc0b: rts                       ; 60
movaf: *** Copy FAC#1 into FAC#2
dc0c: jsr  $round               ; 20 1b dc
dc0f: ldx  #$06                 ; a2 06
dc11: lda  $60,X                ; b5 60
dc13: sta  $68,X                ; 95 68
dc15: dex                       ; ca
dc16: bne  $dc11                ; d0 f9
dc18: stx  $70                  ; 86 70
dc1a: rts                       ; 60
round: *** Round FAC#1
dc1b: lda  $ACC1_EXP            ; a5 61
dc1d: beq  $dc1a                ; f0 fb
dc1f: asl  $70                  ; 06 70
dc21: bcc  $dc1a                ; 90 f7
dc23: jsr  $d96f                ; 20 6f d9
dc26: bne  $dc1a                ; d0 f2
dc28: jmp  $d938                ; 4c 38 d9
sign: *** Check Sign of FAC#1
dc2b: lda  $ACC1_EXP            ; a5 61
dc2d: beq  $dc38                ; f0 09
dc2f: lda  $ACC1_SGN            ; a5 66
dc31: rol  a                    ; 2a
dc32: lda  #$ff                 ; a9 ff
dc34: bcs  $dc38                ; b0 02
dc36: lda  #$01                 ; a9 01
dc38: rts                       ; 60
sgn: *** Perform [sgn]
dc39: jsr  $sign                ; 20 2b dc
dc3c: sta  $ACC1_MAN            ; 85 62
dc3e: lda  #$00                 ; a9 00
dc40: sta  $63                  ; 85 63
dc42: ldx  #$88                 ; a2 88
dc44: lda  $ACC1_MAN            ; a5 62
dc46: eor  #$ff                 ; 49 ff
dc48: rol  a                    ; 2a
dc49: lda  #$00                 ; a9 00
dc4b: sta  $65                  ; 85 65
dc4d: sta  $64                  ; 85 64
dc4f: stx  $ACC1_EXP            ; 86 61
dc51: sta  $70                  ; 85 70
dc53: sta  $ACC1_SGN            ; 85 66
dc55: jmp  $d8d2                ; 4c d2 d8
abs: *** Perform [abs]
dc58: lsr  $ACC1_SGN            ; 46 66
dc5a: rts                       ; 60
fcomp: *** Compare FAC#1 With Memory
dc5b: sta  $24                  ; 85 24
dc5d: sty  $25                  ; 84 25
dc5f: ldy  #$00                 ; a0 00
dc61: lda  ($24),Y              ; b1 24
dc63: iny                       ; c8
dc64: tax                       ; aa
dc65: beq  $sign                ; f0 c4
dc67: lda  ($24),Y              ; b1 24
dc69: eor  $ACC1_SGN            ; 45 66
dc6b: bmi  $dc2f                ; 30 c2
dc6d: cpx  $ACC1_EXP            ; e4 61
dc6f: bne  $dc92                ; d0 21
dc71: lda  ($24),Y              ; b1 24
dc73: ora  #$80                 ; 09 80
dc75: cmp  $ACC1_MAN            ; c5 62
dc77: bne  $dc92                ; d0 19
dc79: iny                       ; c8
dc7a: lda  ($24),Y              ; b1 24
dc7c: cmp  $63                  ; c5 63
dc7e: bne  $dc92                ; d0 12
dc80: iny                       ; c8
dc81: lda  ($24),Y              ; b1 24
dc83: cmp  $64                  ; c5 64
dc85: bne  $dc92                ; d0 0b
dc87: iny                       ; c8
dc88: lda  #$7f                 ; a9 7f
dc8a: cmp  $70                  ; c5 70
dc8c: lda  ($24),Y              ; b1 24
dc8e: sbc  $65                  ; e5 65
dc90: beq  $dcba                ; f0 28
dc92: lda  $ACC1_SGN            ; a5 66
dc94: bcc  $dc98                ; 90 02
dc96: eor  #$ff                 ; 49 ff
dc98: jmp  $dc31                ; 4c 31 dc
qint: *** Convert FAC#1 to Integer
dc9b: lda  $ACC1_EXP            ; a5 61
dc9d: beq  $dce9                ; f0 4a
dc9f: sec                       ; 38
dca0: sbc  #$a0                 ; e9 a0
dca2: bit  $ACC1_SGN            ; 24 66
dca4: bpl  $dcaf                ; 10 09
dca6: tax                       ; aa
dca7: lda  #$ff                 ; a9 ff
dca9: sta  $68                  ; 85 68
dcab: jsr  $d94d                ; 20 4d d9
dcae: txa                       ; 8a
dcaf: ldx  #$61                 ; a2 61
dcb1: cmp  #$f9                 ; c9 f9
dcb3: bpl  $dcbb                ; 10 06
dcb5: jsr  $d999                ; 20 99 d9
dcb8: sty  $68                  ; 84 68
dcba: rts                       ; 60
dcbb: tay                       ; a8
dcbc: lda  $ACC1_SGN            ; a5 66
dcbe: and  #$80                 ; 29 80
dcc0: lsr  $ACC1_MAN            ; 46 62
dcc2: ora  $ACC1_MAN            ; 05 62
dcc4: sta  $ACC1_MAN            ; 85 62
dcc6: jsr  $d9b0                ; 20 b0 d9
dcc9: sty  $68                  ; 84 68
dccb: rts                       ; 60
int: *** Perform [int]
dccc: lda  $ACC1_EXP            ; a5 61
dcce: cmp  #$a0                 ; c9 a0
dcd0: bcs  $dcf2                ; b0 20
dcd2: jsr  $qint                ; 20 9b dc
dcd5: sty  $70                  ; 84 70
dcd7: lda  $ACC1_SGN            ; a5 66
dcd9: sty  $ACC1_SGN            ; 84 66
dcdb: eor  #$80                 ; 49 80
dcdd: rol  a                    ; 2a
dcde: lda  #$a0                 ; a9 a0
dce0: sta  $ACC1_EXP            ; 85 61
dce2: lda  $65                  ; a5 65
dce4: sta  $07                  ; 85 07
dce6: jmp  $d8d2                ; 4c d2 d8
dce9: sta  $ACC1_MAN            ; 85 62
dceb: sta  $63                  ; 85 63
dced: sta  $64                  ; 85 64
dcef: sta  $65                  ; 85 65
dcf1: tay                       ; a8
dcf2: rts                       ; 60
fin: *** Convert ASCII String to a Number in FAC#1
dcf3: ldy  #$00                 ; a0 00
dcf5: ldx  #$0a                 ; a2 0a
dcf7: sty  $5d,X                ; 94 5d
dcf9: dex                       ; ca
dcfa: bpl  $dcf7                ; 10 fb
dcfc: bcc  $dd0d                ; 90 0f
dcfe: cmp  #$2d                 ; c9 2d
dd00: bne  $dd06                ; d0 04
dd02: stx  $67                  ; 86 67
dd04: beq  $dd0a                ; f0 04
dd06: cmp  #$2b                 ; c9 2b
dd08: bne  $dd0f                ; d0 05
dd0a: jsr  $CHRGET              ; 20 73 00
dd0d: bcc  $dd6a                ; 90 5b
dd0f: cmp  #$2e                 ; c9 2e
dd11: beq  $dd41                ; f0 2e
dd13: cmp  #$45                 ; c9 45
dd15: bne  $dd47                ; d0 30
dd17: jsr  $CHRGET              ; 20 73 00
dd1a: bcc  $dd33                ; 90 17
dd1c: cmp  #$ab                 ; c9 ab
dd1e: beq  $dd2e                ; f0 0e
dd20: cmp  #$2d                 ; c9 2d
dd22: beq  $dd2e                ; f0 0a
dd24: cmp  #$aa                 ; c9 aa
dd26: beq  $dd30                ; f0 08
dd28: cmp  #$2b                 ; c9 2b
dd2a: beq  $dd30                ; f0 04
dd2c: bne  $dd35                ; d0 07
dd2e: ror  $60                  ; 66 60
dd30: jsr  $CHRGET              ; 20 73 00
dd33: bcc  $dd91                ; 90 5c
dd35: bit  $60                  ; 24 60
dd37: bpl  $dd47                ; 10 0e
dd39: lda  #$00                 ; a9 00
dd3b: sec                       ; 38
dd3c: sbc  $5e                  ; e5 5e
dd3e: jmp  $dd49                ; 4c 49 dd
dd41: ror  $5f                  ; 66 5f
dd43: bit  $5f                  ; 24 5f
dd45: bvc  $dd0a                ; 50 c3
dd47: lda  $5e                  ; a5 5e
dd49: sec                       ; 38
dd4a: sbc  $5d                  ; e5 5d
dd4c: sta  $5e                  ; 85 5e
dd4e: beq  $dd62                ; f0 12
dd50: bpl  $dd5b                ; 10 09
dd52: jsr  $div10               ; 20 fe da
dd55: inc  $5e                  ; e6 5e
dd57: bne  $dd52                ; d0 f9
dd59: beq  $dd62                ; f0 07
dd5b: jsr  $mul10               ; 20 e2 da
dd5e: dec  $5e                  ; c6 5e
dd60: bne  $dd5b                ; d0 f9
dd62: lda  $67                  ; a5 67
dd64: bmi  $dd67                ; 30 01
dd66: rts                       ; 60
dd67: jmp  $negop               ; 4c b4 df
dd6a: pha                       ; 48
dd6b: bit  $5f                  ; 24 5f
dd6d: bpl  $dd71                ; 10 02
dd6f: inc  $5d                  ; e6 5d
dd71: jsr  $mul10               ; 20 e2 da
dd74: pla                       ; 68
dd75: sec                       ; 38
dd76: sbc  #$30                 ; e9 30
dd78: jsr  $dd7e                ; 20 7e dd
dd7b: jmp  $dd0a                ; 4c 0a dd
dd7e: pha                       ; 48
dd7f: jsr  $movaf               ; 20 0c dc
dd82: pla                       ; 68
dd83: jsr  $dc3c                ; 20 3c dc
dd86: lda  $ACC2_SGN            ; a5 6e
dd88: eor  $ACC1_SGN            ; 45 66
dd8a: sta  $6f                  ; 85 6f
dd8c: ldx  $ACC1_EXP            ; a6 61
dd8e: jmp  $d86a                ; 4c 6a d8
dd91: lda  $5e                  ; a5 5e
dd93: cmp  #$0a                 ; c9 0a
dd95: bcc  $dda0                ; 90 09
dd97: lda  #$64                 ; a9 64
dd99: bit  $60                  ; 24 60
dd9b: bmi  $ddae                ; 30 11
dd9d: jmp  $overr               ; 4c 7e d9
dda0: asl  a                    ; 0a
dda1: asl  a                    ; 0a
dda2: clc                       ; 18
dda3: adc  $5e                  ; 65 5e
dda5: asl  a                    ; 0a
dda6: clc                       ; 18
dda7: ldy  #$00                 ; a0 00
dda9: adc  ($7a),Y              ; 71 7a
ddab: sec                       ; 38
ddac: sbc  #$30                 ; e9 30
ddae: sta  $5e                  ; 85 5e
ddb0: jmp  $dd30                ; 4c 30 dd
n0999: *** String Conversion Constants (DATA)
ddb3: ???                       ; 9b
ddb4: rol  $1fbc,X              ; 3e bc 1f
ddb7: sbc  $6e9e,X              ; fd 9e 6e
ddba: ???                       ; 6b
ddbb: ???                       ; 27
ddbc: sbc  $6e9e,X              ; fd 9e 6e
ddbf: ???                       ; 6b
ddc0: plp                       ; 28
ddc1: brk                       ; 00
inprt: *** Output 'IN' and Line Number
ddc2: lda  #$71                 ; a9 71
ddc4: ldy  #$c3                 ; a0 c3
ddc6: jsr  $ddda                ; 20 da dd
ddc9: lda  $3a                  ; a5 3a
ddcb: ldx  $39                  ; a6 39
ddcd: sta  $ACC1_MAN            ; 85 62
ddcf: stx  $63                  ; 86 63
ddd1: ldx  #$90                 ; a2 90
ddd3: sec                       ; 38
ddd4: jsr  $dc49                ; 20 49 dc
ddd7: jsr  $dddf                ; 20 df dd
ddda: jmp  $strout              ; 4c 1e cb
fout: *** Convert FAC#1 to ASCII String
dddd: ldy  #$01                 ; a0 01
dddf: lda  #$20                 ; a9 20
dde1: bit  $ACC1_SGN            ; 24 66
dde3: bpl  $dde7                ; 10 02
dde5: lda  #$2d                 ; a9 2d
dde7: sta  $00ff,Y              ; 99 ff 00
ddea: sta  $ACC1_SGN            ; 85 66
ddec: sty  $71                  ; 84 71
ddee: iny                       ; c8
ddef: lda  #$30                 ; a9 30
ddf1: ldx  $ACC1_EXP            ; a6 61
ddf3: bne  $ddf8                ; d0 03
ddf5: jmp  $df04                ; 4c 04 df
ddf8: lda  #$00                 ; a9 00
ddfa: cpx  #$80                 ; e0 80
ddfc: beq  $de00                ; f0 02
ddfe: bcs  $de09                ; b0 09
de00: lda  #$bd                 ; a9 bd
de02: ldy  #$dd                 ; a0 dd
de04: jsr  $fmult               ; 20 28 da
de07: lda  #$f7                 ; a9 f7
de09: sta  $5d                  ; 85 5d
de0b: lda  #$b8                 ; a9 b8
de0d: ldy  #$dd                 ; a0 dd
de0f: jsr  $fcomp               ; 20 5b dc
de12: beq  $de32                ; f0 1e
de14: bpl  $de28                ; 10 12
de16: lda  #$b3                 ; a9 b3
de18: ldy  #$dd                 ; a0 dd
de1a: jsr  $fcomp               ; 20 5b dc
de1d: beq  $de21                ; f0 02
de1f: bpl  $de2f                ; 10 0e
de21: jsr  $mul10               ; 20 e2 da
de24: dec  $5d                  ; c6 5d
de26: bne  $de16                ; d0 ee
de28: jsr  $div10               ; 20 fe da
de2b: inc  $5d                  ; e6 5d
de2d: bne  $de0b                ; d0 dc
de2f: jsr  $faddh               ; 20 49 d8
de32: jsr  $qint                ; 20 9b dc
de35: ldx  #$01                 ; a2 01
de37: lda  $5d                  ; a5 5d
de39: clc                       ; 18
de3a: adc  #$0a                 ; 69 0a
de3c: bmi  $de47                ; 30 09
de3e: cmp  #$0b                 ; c9 0b
de40: bcs  $de48                ; b0 06
de42: adc  #$ff                 ; 69 ff
de44: tax                       ; aa
de45: lda  #$02                 ; a9 02
de47: sec                       ; 38
de48: sbc  #$02                 ; e9 02
de4a: sta  $5e                  ; 85 5e
de4c: stx  $5d                  ; 86 5d
de4e: txa                       ; 8a
de4f: beq  $de53                ; f0 02
de51: bpl  $de66                ; 10 13
de53: ldy  $71                  ; a4 71
de55: lda  #$2e                 ; a9 2e
de57: iny                       ; c8
de58: sta  $00ff,Y              ; 99 ff 00
de5b: txa                       ; 8a
de5c: beq  $de64                ; f0 06
de5e: lda  #$30                 ; a9 30
de60: iny                       ; c8
de61: sta  $00ff,Y              ; 99 ff 00
de64: sty  $71                  ; 84 71
de66: ldy  #$00                 ; a0 00
foutim: *** Convert TI to String
de68: ldx  #$80                 ; a2 80
de6a: lda  $65                  ; a5 65
de6c: clc                       ; 18
de6d: adc  $df19,Y              ; 79 19 df
de70: sta  $65                  ; 85 65
de72: lda  $64                  ; a5 64
de74: adc  $df18,Y              ; 79 18 df
de77: sta  $64                  ; 85 64
de79: lda  $63                  ; a5 63
de7b: adc  $df17,Y              ; 79 17 df
de7e: sta  $63                  ; 85 63
de80: lda  $ACC1_MAN            ; a5 62
de82: adc  $df16,Y              ; 79 16 df
de85: sta  $ACC1_MAN            ; 85 62
de87: inx                       ; e8
de88: bcs  $de8e                ; b0 04
de8a: bpl  $de6a                ; 10 de
de8c: bmi  $de90                ; 30 02
de8e: bmi  $de6a                ; 30 da
de90: txa                       ; 8a
de91: bcc  $de97                ; 90 04
de93: eor  #$ff                 ; 49 ff
de95: adc  #$0a                 ; 69 0a
de97: adc  #$2f                 ; 69 2f
de99: iny                       ; c8
de9a: iny                       ; c8
de9b: iny                       ; c8
de9c: iny                       ; c8
de9d: sty  $47                  ; 84 47
de9f: ldy  $71                  ; a4 71
dea1: iny                       ; c8
dea2: tax                       ; aa
dea3: and  #$7f                 ; 29 7f
dea5: sta  $00ff,Y              ; 99 ff 00
dea8: dec  $5d                  ; c6 5d
deaa: bne  $deb2                ; d0 06
deac: lda  #$2e                 ; a9 2e
deae: iny                       ; c8
deaf: sta  $00ff,Y              ; 99 ff 00
deb2: sty  $71                  ; 84 71
deb4: ldy  $47                  ; a4 47
deb6: txa                       ; 8a
deb7: eor  #$ff                 ; 49 ff
deb9: and  #$80                 ; 29 80
debb: tax                       ; aa
debc: cpy  #$24                 ; c0 24
debe: beq  $dec4                ; f0 04
dec0: cpy  #$3c                 ; c0 3c
dec2: bne  $de6a                ; d0 a6
dec4: ldy  $71                  ; a4 71
dec6: lda  $00ff,Y              ; b9 ff 00
dec9: dey                       ; 88
deca: cmp  #$30                 ; c9 30
decc: beq  $dec6                ; f0 f8
dece: cmp  #$2e                 ; c9 2e
ded0: beq  $ded3                ; f0 01
ded2: iny                       ; c8
ded3: lda  #$2b                 ; a9 2b
ded5: ldx  $5e                  ; a6 5e
ded7: beq  $df07                ; f0 2e
ded9: bpl  $dee3                ; 10 08
dedb: lda  #$00                 ; a9 00
dedd: sec                       ; 38
dede: sbc  $5e                  ; e5 5e
dee0: tax                       ; aa
dee1: lda  #$2d                 ; a9 2d
dee3: sta  $0101,Y              ; 99 01 01
dee6: lda  #$45                 ; a9 45
dee8: sta  $0100,Y              ; 99 00 01
deeb: txa                       ; 8a
deec: ldx  #$2f                 ; a2 2f
deee: sec                       ; 38
deef: inx                       ; e8
def0: sbc  #$0a                 ; e9 0a
def2: bcs  $deef                ; b0 fb
def4: adc  #$3a                 ; 69 3a
def6: sta  $0103,Y              ; 99 03 01
def9: txa                       ; 8a
defa: sta  $0102,Y              ; 99 02 01
defd: lda  #$00                 ; a9 00
deff: sta  $0104,Y              ; 99 04 01
df02: beq  $df0c                ; f0 08
df04: sta  $00ff,Y              ; 99 ff 00
df07: lda  #$00                 ; a9 00
df09: sta  $0100,Y              ; 99 00 01
df0c: lda  #$00                 ; a9 00
df0e: ldy  #$01                 ; a0 01
df10: rts                       ; 60
fhalf: *** Table of Constants (DATA)
df11: ???                       ; 80
df12: brk                       ; 00
df13: brk                       ; 00
df14: brk                       ; 00
df15: brk                       ; 00
df16: ???                       ; fa
df17: asl  a                    ; 0a
df18: ???                       ; 1f
df19: brk                       ; 00
df1a: brk                       ; 00
df1b: tya                       ; 98
df1c: stx  $80,Y                ; 96 80
df1e: ???                       ; ff
df1f: beq  $dede                ; f0 bd
df21: cpy  #$00                 ; c0 00
df23: ora  ($86,X)              ; 01 86
df25: ldy  #$ff                 ; a0 ff
df27: ???                       ; ff
df28: cld                       ; d8
df29: beq  $df2b                ; f0 00
df2b: brk                       ; 00
df2c: ???                       ; 03
df2d: inx                       ; e8
df2e: ???                       ; ff
df2f: ???                       ; ff
df30: ???                       ; ff
df31: ???                       ; 9c
df32: brk                       ; 00
df33: brk                       ; 00
df34: brk                       ; 00
df35: asl  a                    ; 0a
df36: ???                       ; ff
df37: ???                       ; ff
df38: ???                       ; ff
df39: ???                       ; ff
df3a: ???                       ; ff
df3b: ???                       ; df
df3c: asl  a                    ; 0a
df3d: ???                       ; 80
df3e: brk                       ; 00
df3f: ???                       ; 03
df40: ???                       ; 4b
df41: cpy  #$ff                 ; c0 ff
df43: ???                       ; ff
df44: ???                       ; 73
df45: rts                       ; 60
df46: brk                       ; 00
df47: brk                       ; 00
df48: asl  $ff10                ; 0e 10 ff
df4b: ???                       ; ff
df4c: sbc  $00a8,X              ; fd a8 00
df4f: brk                       ; 00
df50: brk                       ; 00
df51: ???                       ; 3c
df52: ???                       ; bf
df53: tax                       ; aa
df54: tax                       ; aa
df55: tax                       ; aa
df56: tax                       ; aa
df57: tax                       ; aa
df58: tax                       ; aa
df59: tax                       ; aa
df5a: tax                       ; aa
df5b: tax                       ; aa
df5c: tax                       ; aa
df5d: tax                       ; aa
df5e: tax                       ; aa
df5f: tax                       ; aa
df60: tax                       ; aa
df61: tax                       ; aa
df62: tax                       ; aa
df63: tax                       ; aa
df64: tax                       ; aa
df65: tax                       ; aa
df66: tax                       ; aa
df67: tax                       ; aa
df68: tax                       ; aa
df69: tax                       ; aa
df6a: tax                       ; aa
df6b: tax                       ; aa
df6c: tax                       ; aa
df6d: tax                       ; aa
df6e: tax                       ; aa
df6f: tax                       ; aa
df70: tax                       ; aa
sqr: *** Perform [sqr]
df71: jsr  $movaf               ; 20 0c dc
df74: lda  #$11                 ; a9 11
df76: ldy  #$df                 ; a0 df
df78: jsr  $movfm               ; 20 a2 db
fpwrt: *** Perform power ($)
df7b: beq  $exp                 ; f0 70
df7d: lda  $ACC2_EXP            ; a5 69
df7f: bne  $df84                ; d0 03
df81: jmp  $d8f9                ; 4c f9 d8
df84: ldx  #$4e                 ; a2 4e
df86: ldy  #$00                 ; a0 00
df88: jsr  $dbd4                ; 20 d4 db
df8b: lda  $ACC2_SGN            ; a5 6e
df8d: bpl  $df9e                ; 10 0f
df8f: jsr  $int                 ; 20 cc dc
df92: lda  #$4e                 ; a9 4e
df94: ldy  #$00                 ; a0 00
df96: jsr  $fcomp               ; 20 5b dc
df99: bne  $df9e                ; d0 03
df9b: tya                       ; 98
df9c: ldy  $07                  ; a4 07
df9e: jsr  $dbfe                ; 20 fe db
dfa1: tya                       ; 98
dfa2: pha                       ; 48
dfa3: jsr  $log                 ; 20 ea d9
dfa6: lda  #$4e                 ; a9 4e
dfa8: ldy  #$00                 ; a0 00
dfaa: jsr  $fmult               ; 20 28 da
dfad: jsr  $exp                 ; 20 ed df
dfb0: pla                       ; 68
dfb1: lsr  a                    ; 4a
dfb2: bcc  $dfbe                ; 90 0a
negop: *** Negate FAC#1
dfb4: lda  $ACC1_EXP            ; a5 61
dfb6: beq  $dfbe                ; f0 06
dfb8: lda  $ACC1_SGN            ; a5 66
dfba: eor  #$ff                 ; 49 ff
dfbc: sta  $ACC1_SGN            ; 85 66
dfbe: rts                       ; 60
logeb2: *** Table of Constants (DATA)
dfbf: sta  ($38,X)              ; 81 38
dfc1: tax                       ; aa
dfc2: ???                       ; 3b
dfc3: and  #$07                 ; 29 07
dfc5: adc  ($34),Y              ; 71 34
dfc7: cli                       ; 58
dfc8: rol  $7456,X              ; 3e 56 74
dfcb: asl  $7e,X                ; 16 7e
dfcd: ???                       ; b3
dfce: ???                       ; 1b
dfcf: ???                       ; 77
dfd0: ???                       ; 2f
dfd1: inc  $85e3                ; ee e3 85
dfd4: ???                       ; 7a
dfd5: ora  $1c84,X              ; 1d 84 1c
dfd8: rol  a                    ; 2a
dfd9: ???                       ; 7c
dfda: ???                       ; 63
dfdb: eor  $0a58,Y              ; 59 58 0a
dfde: ror  $fd75,X              ; 7e 75 fd
dfe1: ???                       ; e7
dfe2: dec  $80                  ; c6 80
dfe4: and  ($72),Y              ; 31 72
dfe6: clc                       ; 18
dfe7: bpl  $df6a                ; 10 81
dfe9: brk                       ; 00
dfea: brk                       ; 00
dfeb: brk                       ; 00
dfec: brk                       ; 00
exp: *** Perform [exp]
dfed: lda  #$bf                 ; a9 bf
dfef: ldy  #$df                 ; a0 df
dff1: jsr  $fmult               ; 20 28 da
dff4: lda  $70                  ; a5 70
dff6: adc  #$50                 ; 69 50
dff8: bcc  $dffd                ; 90 03
dffa: jsr  $dc23                ; 20 23 dc
dffd: sta  $56                  ; 85 56
dfff: jsr  $dc0f                ; 20 0f dc
e002: lda  $ACC1_EXP            ; a5 61
e004: cmp  #$88                 ; c9 88
e006: bcc  $e00b                ; 90 03
e008: jsr  $mldvex              ; 20 d4 da
e00b: jsr  $int                 ; 20 cc dc
e00e: lda  $07                  ; a5 07
e010: clc                       ; 18
e011: adc  #$81                 ; 69 81
e013: beq  $e008                ; f0 f3
e015: sec                       ; 38
e016: sbc  #$01                 ; e9 01
e018: pha                       ; 48
e019: ldx  #$05                 ; a2 05
e01b: lda  $ACC2_EXP,X          ; b5 69
e01d: ldy  $ACC1_EXP,X          ; b4 61
e01f: sta  $ACC1_EXP,X          ; 95 61
e021: sty  $ACC2_EXP,X          ; 94 69
e023: dex                       ; ca
e024: bpl  $e01b                ; 10 f5
e026: lda  $56                  ; a5 56
e028: sta  $70                  ; 85 70
e02a: jsr  $d853                ; 20 53 d8
e02d: jsr  $negop               ; 20 b4 df
e030: lda  #$c4                 ; a9 c4
e032: ldy  #$df                 ; a0 df
e034: jsr  $e056                ; 20 56 e0
e037: lda  #$00                 ; a9 00
e039: sta  $6f                  ; 85 6f
e03b: pla                       ; 68
e03c: jsr  $dab9                ; 20 b9 da
e03f: rts                       ; 60
polyx: *** Series Evaluation
e040: sta  $71                  ; 85 71
e042: sty  $72                  ; 84 72
e044: jsr  $dbca                ; 20 ca db
e047: lda  #$57                 ; a9 57
e049: jsr  $fmult               ; 20 28 da
e04c: jsr  $e05a                ; 20 5a e0
e04f: lda  #$57                 ; a9 57
e051: ldy  #$00                 ; a0 00
e053: jmp  $fmult               ; 4c 28 da
e056: sta  $71                  ; 85 71
e058: sty  $72                  ; 84 72
e05a: jsr  $mov2f               ; 20 c7 db
e05d: lda  ($71),Y              ; b1 71
e05f: sta  $67                  ; 85 67
e061: ldy  $71                  ; a4 71
e063: iny                       ; c8
e064: tya                       ; 98
e065: bne  $e069                ; d0 02
e067: inc  $72                  ; e6 72
e069: sta  $71                  ; 85 71
e06b: ldy  $72                  ; a4 72
e06d: jsr  $fmult               ; 20 28 da
e070: lda  $71                  ; a5 71
e072: ldy  $72                  ; a4 72
e074: clc                       ; 18
e075: adc  #$05                 ; 69 05
e077: bcc  $e07a                ; 90 01
e079: iny                       ; c8
e07a: sta  $71                  ; 85 71
e07c: sty  $72                  ; 84 72
e07e: jsr  $fadd                ; 20 67 d8
e081: lda  #$5c                 ; a9 5c
e083: ldy  #$00                 ; a0 00
e085: dec  $67                  ; c6 67
e087: bne  $e06d                ; d0 e4
e089: rts                       ; 60
rmulc: *** Constants for RND (DATA)
e08a: tya                       ; 98
e08b: and  $44,X                ; 35 44
e08d: ???                       ; 7a
e08e: brk                       ; 00
e08f: pla                       ; 68
e090: plp                       ; 28
e091: lda  ($46),Y              ; b1 46
e093: brk                       ; 00
rnd: *** Perform [rnd]
e094: jsr  $sign                ; 20 2b dc
e097: bmi  $e0d0                ; 30 37
e099: bne  $e0bb                ; d0 20
e09b: jsr  $iobase              ; 20 f3 ff
e09e: stx  $22                  ; 86 22
e0a0: sty  $23                  ; 84 23
e0a2: ldy  #$04                 ; a0 04
e0a4: lda  ($22),Y              ; b1 22
e0a6: sta  $ACC1_MAN            ; 85 62
e0a8: iny                       ; c8
e0a9: lda  ($22),Y              ; b1 22
e0ab: sta  $64                  ; 85 64
e0ad: ldy  #$08                 ; a0 08
e0af: lda  ($22),Y              ; b1 22
e0b1: sta  $63                  ; 85 63
e0b3: iny                       ; c8
e0b4: lda  ($22),Y              ; b1 22
e0b6: sta  $65                  ; 85 65
e0b8: jmp  $e0e0                ; 4c e0 e0
e0bb: lda  #$8b                 ; a9 8b
e0bd: ldy  #$00                 ; a0 00
e0bf: jsr  $movfm               ; 20 a2 db
e0c2: lda  #$8a                 ; a9 8a
e0c4: ldy  #$e0                 ; a0 e0
e0c6: jsr  $fmult               ; 20 28 da
e0c9: lda  #$8f                 ; a9 8f
e0cb: ldy  #$e0                 ; a0 e0
e0cd: jsr  $fadd                ; 20 67 d8
e0d0: ldx  $65                  ; a6 65
e0d2: lda  $ACC1_MAN            ; a5 62
e0d4: sta  $65                  ; 85 65
e0d6: stx  $ACC1_MAN            ; 86 62
e0d8: ldx  $63                  ; a6 63
e0da: lda  $64                  ; a5 64
e0dc: sta  $63                  ; 85 63
e0de: stx  $64                  ; 86 64
e0e0: lda  #$00                 ; a9 00
e0e2: sta  $ACC1_SGN            ; 85 66
e0e4: lda  $ACC1_EXP            ; a5 61
e0e6: sta  $70                  ; 85 70
e0e8: lda  #$80                 ; a9 80
e0ea: sta  $ACC1_EXP            ; 85 61
e0ec: jsr  $d8d7                ; 20 d7 d8
e0ef: ldx  #$8b                 ; a2 8b
e0f1: ldy  #$00                 ; a0 00
e0f3: jmp  $dbd4                ; 4c d4 db
bioerr: *** Handle I/O Error in BASIC
e0f6: cmp  #$f0                 ; c9 f0
e0f8: bne  $e101                ; d0 07
e0fa: sty  $38                  ; 84 38
e0fc: stx  $MEM_LIMIT           ; 86 37
e0fe: jmp  $c663                ; 4c 63 c6
e101: tax                       ; aa
e102: bne  $e106                ; d0 02
e104: ldx  #$1e                 ; a2 1e
e106: jmp  $error               ; 4c 37 c4
bchout: *** Output Character
e109: jsr  $(ichrout)           ; 20 d2 ff
e10c: bcs  $bioerr              ; b0 e8
e10e: rts                       ; 60
bchin: *** Input Character
e10f: jsr  $(ichrin)            ; 20 cf ff
e112: bcs  $bioerr              ; b0 e2
e114: rts                       ; 60
bckout: *** Set Up For Output
e115: jsr  $(ichkout)           ; 20 c9 ff
e118: bcs  $bioerr              ; b0 dc
e11a: rts                       ; 60
bckin: *** Set Up For Input
e11b: jsr  $(ichkin)            ; 20 c6 ff
e11e: bcs  $bioerr              ; b0 d6
e120: rts                       ; 60
bgetin: *** Get One Character
e121: jsr  $(igetin)            ; 20 e4 ff
e124: bcs  $bioerr              ; b0 d0
e126: rts                       ; 60
sys: *** Perform [sys]
e127: jsr  $frmnum              ; 20 8a cd
e12a: jsr  $getadr              ; 20 f7 d7
e12d: lda  #$e1                 ; a9 e1
e12f: pha                       ; 48
e130: lda  #$43                 ; a9 43
e132: pha                       ; 48
e133: lda  $030f                ; ad 0f 03
e136: pha                       ; 48
e137: lda  $030c                ; ad 0c 03
e13a: ldx  $030d                ; ae 0d 03
e13d: ldy  $030e                ; ac 0e 03
e140: plp                       ; 28
e141: jmp  ($0014)              ; 6c 14 00
e144: php                       ; 08
e145: sta  $030c                ; 8d 0c 03
e148: stx  $030d                ; 8e 0d 03
e14b: sty  $030e                ; 8c 0e 03
e14e: pla                       ; 68
e14f: sta  $030f                ; 8d 0f 03
e152: rts                       ; 60
savet: *** Perform [save]
e153: jsr  $slpara              ; 20 d1 e1
e156: ldx  $VARS_START          ; a6 2d
e158: ldy  $2e                  ; a4 2e
e15a: lda  #$2b                 ; a9 2b
e15c: jsr  $save                ; 20 d8 ff
e15f: bcs  $bioerr              ; b0 95
e161: rts                       ; 60
verfyt: *** Perform [verify / load]
e162: lda  #$01                 ; a9 01
e164: bit  $00a9                ; 2c a9 00
e167: sta  $0a                  ; 85 0a
e169: jsr  $slpara              ; 20 d1 e1
e16c: lda  $0a                  ; a5 0a
e16e: ldx  $BASIC_START         ; a6 2b
e170: ldy  $2c                  ; a4 2c
e172: jsr  $load                ; 20 d5 ff
e175: bcs  $e1ce                ; b0 57
e177: lda  $0a                  ; a5 0a
e179: beq  $e195                ; f0 1a
e17b: ldx  #$1c                 ; a2 1c
e17d: jsr  $readss              ; 20 b7 ff
e180: and  #$10                 ; 29 10
e182: beq  $e187                ; f0 03
e184: jmp  $error               ; 4c 37 c4
e187: lda  $7a                  ; a5 7a
e189: cmp  #$02                 ; c9 02
e18b: beq  $e194                ; f0 07
e18d: lda  #$64                 ; a9 64
e18f: ldy  #$c3                 ; a0 c3
e191: jmp  $strout              ; 4c 1e cb
e194: rts                       ; 60
e195: jsr  $readss              ; 20 b7 ff
e198: and  #$bf                 ; 29 bf
e19a: beq  $e1a1                ; f0 05
e19c: ldx  #$1d                 ; a2 1d
e19e: jmp  $error               ; 4c 37 c4
e1a1: lda  $7b                  ; a5 7b
e1a3: cmp  #$02                 ; c9 02
e1a5: bne  $e1b5                ; d0 0e
e1a7: stx  $VARS_START          ; 86 2d
e1a9: sty  $2e                  ; 84 2e
e1ab: lda  #$76                 ; a9 76
e1ad: ldy  #$c3                 ; a0 c3
e1af: jsr  $strout              ; 20 1e cb
e1b2: jmp  $c52a                ; 4c 2a c5
e1b5: jsr  $stxpt               ; 20 8e c6
e1b8: jmp  $e476                ; 4c 76 e4
opent: *** Perform [open]
e1bb: jsr  $ocpara              ; 20 16 e2
e1be: jsr  $(iopen)             ; 20 c0 ff
e1c1: bcs  $e1ce                ; b0 0b
e1c3: rts                       ; 60
closet: *** Perform [close]
e1c4: jsr  $ocpara              ; 20 16 e2
e1c7: lda  $49                  ; a5 49
e1c9: jsr  $(iclose)            ; 20 c3 ff
e1cc: bcc  $e194                ; 90 c6
e1ce: jmp  $bioerr              ; 4c f6 e0
slpara: *** Get Parameters For LOAD/SAVE
e1d1: lda  #$00                 ; a9 00
e1d3: jsr  $setnam              ; 20 bd ff
e1d6: ldx  #$01                 ; a2 01
e1d8: ldy  #$00                 ; a0 00
e1da: jsr  $setlfs              ; 20 ba ff
e1dd: jsr  $deflt               ; 20 03 e2
e1e0: jsr  $e254                ; 20 54 e2
e1e3: jsr  $deflt               ; 20 03 e2
e1e6: jsr  $combyt              ; 20 fd e1
e1e9: ldy  #$00                 ; a0 00
e1eb: stx  $49                  ; 86 49
e1ed: jsr  $setlfs              ; 20 ba ff
e1f0: jsr  $deflt               ; 20 03 e2
e1f3: jsr  $combyt              ; 20 fd e1
e1f6: txa                       ; 8a
e1f7: tay                       ; a8
e1f8: ldx  $49                  ; a6 49
e1fa: jmp  $setlfs              ; 4c ba ff
combyt: *** Get Next One Byte Parameter
e1fd: jsr  $cmmerr              ; 20 0b e2
e200: jmp  $d79e                ; 4c 9e d7
deflt: *** Check Default Parameters
e203: jsr  $0079                ; 20 79 00
e206: bne  $e20a                ; d0 02
e208: pla                       ; 68
e209: pla                       ; 68
e20a: rts                       ; 60
cmmerr: *** Check For Comma
e20b: jsr  $cefd                ; 20 fd ce
e20e: jsr  $0079                ; 20 79 00
e211: bne  $e20a                ; d0 f7
e213: jmp  $synerr              ; 4c 08 cf
ocpara: *** Get Parameters For OPEN/CLOSE
e216: lda  #$00                 ; a9 00
e218: jsr  $setnam              ; 20 bd ff
e21b: jsr  $e20e                ; 20 0e e2
e21e: jsr  $d79e                ; 20 9e d7
e221: stx  $49                  ; 86 49
e223: txa                       ; 8a
e224: ldx  #$01                 ; a2 01
e226: ldy  #$00                 ; a0 00
e228: jsr  $setlfs              ; 20 ba ff
e22b: jsr  $deflt               ; 20 03 e2
e22e: jsr  $combyt              ; 20 fd e1
e231: stx  $4a                  ; 86 4a
e233: ldy  #$00                 ; a0 00
e235: lda  $49                  ; a5 49
e237: cpx  #$03                 ; e0 03
e239: bcc  $e23c                ; 90 01
e23b: dey                       ; 88
e23c: jsr  $setlfs              ; 20 ba ff
e23f: jsr  $deflt               ; 20 03 e2
e242: jsr  $combyt              ; 20 fd e1
e245: txa                       ; 8a
e246: tay                       ; a8
e247: ldx  $4a                  ; a6 4a
e249: lda  $49                  ; a5 49
e24b: jsr  $setlfs              ; 20 ba ff
e24e: jsr  $deflt               ; 20 03 e2
e251: jsr  $cmmerr              ; 20 0b e2
e254: jsr  $frmevl              ; 20 9e cd
e257: jsr  $frestr              ; 20 a3 d6
e25a: ldx  $22                  ; a6 22
e25c: ldy  $23                  ; a4 23
e25e: jmp  $setnam              ; 4c bd ff
cos: *** Perform [cos]
e261: lda  #$dd                 ; a9 dd
e263: ldy  #$e2                 ; a0 e2
e265: jsr  $fadd                ; 20 67 d8
sin: *** Perform [sin]
e268: jsr  $movaf               ; 20 0c dc
e26b: lda  #$e2                 ; a9 e2
e26d: ldy  #$e2                 ; a0 e2
e26f: ldx  $ACC2_SGN            ; a6 6e
e271: jsr  $fdiv                ; 20 07 db
e274: jsr  $movaf               ; 20 0c dc
e277: jsr  $int                 ; 20 cc dc
e27a: lda  #$00                 ; a9 00
e27c: sta  $6f                  ; 85 6f
e27e: jsr  $d853                ; 20 53 d8
e281: lda  #$e7                 ; a9 e7
e283: ldy  #$e2                 ; a0 e2
e285: jsr  $fsub                ; 20 50 d8
e288: lda  $ACC1_SGN            ; a5 66
e28a: pha                       ; 48
e28b: bpl  $e29a                ; 10 0d
e28d: jsr  $faddh               ; 20 49 d8
e290: lda  $ACC1_SGN            ; a5 66
e292: bmi  $e29d                ; 30 09
e294: lda  $12                  ; a5 12
e296: eor  #$ff                 ; 49 ff
e298: sta  $12                  ; 85 12
e29a: jsr  $negop               ; 20 b4 df
e29d: lda  #$e7                 ; a9 e7
e29f: ldy  #$e2                 ; a0 e2
e2a1: jsr  $fadd                ; 20 67 d8
e2a4: pla                       ; 68
e2a5: bpl  $e2aa                ; 10 03
e2a7: jsr  $negop               ; 20 b4 df
e2aa: lda  #$ec                 ; a9 ec
e2ac: ldy  #$e2                 ; a0 e2
e2ae: jmp  $polyx               ; 4c 40 e0
tan: *** Perform [tan]
e2b1: jsr  $dbca                ; 20 ca db
e2b4: lda  #$00                 ; a9 00
e2b6: sta  $12                  ; 85 12
e2b8: jsr  $sin                 ; 20 68 e2
e2bb: ldx  #$4e                 ; a2 4e
e2bd: ldy  #$00                 ; a0 00
e2bf: jsr  $e0f3                ; 20 f3 e0
e2c2: lda  #$57                 ; a9 57
e2c4: ldy  #$00                 ; a0 00
e2c6: jsr  $movfm               ; 20 a2 db
e2c9: lda  #$00                 ; a9 00
e2cb: sta  $ACC1_SGN            ; 85 66
e2cd: lda  $12                  ; a5 12
e2cf: jsr  $e2d9                ; 20 d9 e2
e2d2: lda  #$4e                 ; a9 4e
e2d4: ldy  #$00                 ; a0 00
e2d6: jmp  $fdivt               ; 4c 0f db
e2d9: pha                       ; 48
e2da: jmp  $e29a                ; 4c 9a e2
pi2: *** Table of Trig Constants (DATA)
e2dd: sta  ($49,X)              ; 81 49
e2df: ???                       ; 0f
e2e0: ???                       ; da
e2e1: ldx  #$83                 ; a2 83
e2e3: eor  #$0f                 ; 49 0f
e2e5: ???                       ; da
e2e6: ldx  #$7f                 ; a2 7f
e2e8: brk                       ; 00
e2e9: brk                       ; 00
e2ea: brk                       ; 00
e2eb: brk                       ; 00
e2ec: ora  $84                  ; 05 84
e2ee: inc  $1a                  ; e6 1a
e2f0: and  $861b                ; 2d 1b 86
e2f3: plp                       ; 28
e2f4: ???                       ; 07
e2f5: ???                       ; fb
e2f6: sed                       ; f8
e2f7: ???                       ; 87
e2f8: sta  $8968,Y              ; 99 68 89
e2fb: ora  ($87,X)              ; 01 87
e2fd: ???                       ; 23
e2fe: and  $df,X                ; 35 df
e300: sbc  ($86,X)              ; e1 86
e302: lda  $5d                  ; a5 5d
e304: ???                       ; e7
e305: plp                       ; 28
e306: ???                       ; 83
e307: eor  #$0f                 ; 49 0f
e309: ???                       ; da
e30a: ldx  #$a5                 ; a2 a5
e30c: ror  $48                  ; 66 48
e30e: bpl  $e313                ; 10 03
e310: jsr  $negop               ; 20 b4 df
e313: lda  $ACC1_EXP            ; a5 61
e315: pha                       ; 48
e316: cmp  #$81                 ; c9 81
e318: bcc  $e321                ; 90 07
e31a: lda  #$bc                 ; a9 bc
e31c: ldy  #$d9                 ; a0 d9
e31e: jsr  $fdivt               ; 20 0f db
e321: lda  #$3b                 ; a9 3b
e323: ldy  #$e3                 ; a0 e3
e325: jsr  $polyx               ; 20 40 e0
e328: pla                       ; 68
e329: cmp  #$81                 ; c9 81
e32b: bcc  $e334                ; 90 07
e32d: lda  #$dd                 ; a9 dd
e32f: ldy  #$e2                 ; a0 e2
e331: jsr  $fsub                ; 20 50 d8
e334: pla                       ; 68
e335: bpl  $e33a                ; 10 03
e337: jmp  $negop               ; 4c b4 df
e33a: rts                       ; 60
atncon: *** Table of ATN Constants (DATA)
e33b: ???                       ; 0b
e33c: ror  $b3,X                ; 76 b3
e33e: ???                       ; 83
e33f: lda  $79d3,X              ; bd d3 79
e342: asl  $a6f4,X              ; 1e f4 a6
e345: sbc  $7b,X                ; f5 7b
e347: ???                       ; 83
e348: ???                       ; fc
e349: bcs  $e35b                ; b0 10
e34b: ???                       ; 7c
e34c: ???                       ; 0c
e34d: ???                       ; 1f
e34e: ???                       ; 67
e34f: dex                       ; ca
e350: ???                       ; 7c
e351: dec  $cb53,X              ; de 53 cb
e354: cmp  ($7d,X)              ; c1 7d
e356: ???                       ; 14
e357: ???                       ; 64
e358: bvs  $e3a6                ; 70 4c
e35a: adc  $eab7,X              ; 7d b7 ea
e35d: eor  ($7a),Y              ; 51 7a
e35f: adc  $3063,X              ; 7d 63 30
e362: dey                       ; 88
e363: ror  $927e,X              ; 7e 7e 92
e366: ???                       ; 44
e367: sta  $7e3a,Y              ; 99 3a 7e
e36a: jmp  $91cc                ; 4c cc 91
e36d: ???                       ; c7
e36e: ???                       ; 7f
e36f: tax                       ; aa
e370: tax                       ; aa
e371: tax                       ; aa
e372: ???                       ; 13
e373: sta  ($00,X)              ; 81 00
e375: brk                       ; 00
e376: brk                       ; 00
e377: brk                       ; 00
init: *** BASIC Cold Start
e378: jsr  $initv               ; 20 5b e4
e37b: jsr  $initcz              ; 20 a4 e3
e37e: jsr  $initms              ; 20 04 e4
e381: ldx  #$fb                 ; a2 fb
e383: txs                       ; 9a
e384: jmp  $ready               ; 4c 74 c4
initat: *** CHRGET For Zero-page
e387: inc  $7a                  ; e6 7a
e389: bne  $e38d                ; d0 02
e38b: inc  $7b                  ; e6 7b
e38d: lda  $ea60                ; ad 60 ea
e390: cmp  #$3a                 ; c9 3a
e392: bcs  $e39e                ; b0 0a
e394: cmp  #$20                 ; c9 20
e396: beq  $initat              ; f0 ef
e398: sec                       ; 38
e399: sbc  #$30                 ; e9 30
e39b: sec                       ; 38
e39c: sbc  #$d0                 ; e9 d0
e39e: rts                       ; 60
rndsed: *** RND Seed For zero-page (DATA)
e39f: ???                       ; 80
e3a0: ???                       ; 4f
e3a1: ???                       ; c7
e3a2: ???                       ; 52
e3a3: cli                       ; 58
initcz: *** Initialize BASIC RAM
e3a4: lda  #$4c                 ; a9 4c
e3a6: sta  $54                  ; 85 54
e3a8: sta  $00                  ; 85 00
e3aa: lda  #$48                 ; a9 48
e3ac: ldy  #$d2                 ; a0 d2
e3ae: sta  $01                  ; 85 01
e3b0: sty  $02                  ; 84 02
e3b2: lda  #$91                 ; a9 91
e3b4: ldy  #$d3                 ; a0 d3
e3b6: sta  $05                  ; 85 05
e3b8: sty  $06                  ; 84 06
e3ba: lda  #$aa                 ; a9 aa
e3bc: ldy  #$d1                 ; a0 d1
e3be: sta  $03                  ; 85 03
e3c0: sty  $04                  ; 84 04
e3c2: ldx  #$1c                 ; a2 1c
e3c4: lda  $initat,X            ; bd 87 e3
e3c7: sta  $CHRGET,X            ; 95 73
e3c9: dex                       ; ca
e3ca: bpl  $e3c4                ; 10 f8
e3cc: lda  #$03                 ; a9 03
e3ce: sta  $53                  ; 85 53
e3d0: lda  #$00                 ; a9 00
e3d2: sta  $68                  ; 85 68
e3d4: sta  $13                  ; 85 13
e3d6: sta  $18                  ; 85 18
e3d8: ldx  #$01                 ; a2 01
e3da: stx  $01fd                ; 8e fd 01
e3dd: stx  $01fc                ; 8e fc 01
e3e0: ldx  #$19                 ; a2 19
e3e2: stx  $16                  ; 86 16
e3e4: sec                       ; 38
e3e5: jsr  $membot              ; 20 9c ff
e3e8: stx  $BASIC_START         ; 86 2b
e3ea: sty  $2c                  ; 84 2c
e3ec: sec                       ; 38
e3ed: jsr  $memtop              ; 20 99 ff
e3f0: stx  $MEM_LIMIT           ; 86 37
e3f2: sty  $38                  ; 84 38
e3f4: stx  $STRINGS             ; 86 33
e3f6: sty  $34                  ; 84 34
e3f8: ldy  #$00                 ; a0 00
e3fa: tya                       ; 98
e3fb: sta  ($BASIC_START),Y     ; 91 2b
e3fd: inc  $BASIC_START         ; e6 2b
e3ff: bne  $e403                ; d0 02
e401: inc  $2c                  ; e6 2c
e403: rts                       ; 60
initms: *** Output Power-Up Message
e404: lda  $BASIC_START         ; a5 2b
e406: ldy  $2c                  ; a4 2c
e408: jsr  $reason              ; 20 08 c4
e40b: lda  #$36                 ; a9 36
e40d: ldy  #$e4                 ; a0 e4
e40f: jsr  $strout              ; 20 1e cb
e412: lda  $MEM_LIMIT           ; a5 37
e414: sec                       ; 38
e415: sbc  $BASIC_START         ; e5 2b
e417: tax                       ; aa
e418: lda  $38                  ; a5 38
e41a: sbc  $2c                  ; e5 2c
e41c: jsr  $ddcd                ; 20 cd dd
e41f: lda  #$29                 ; a9 29
e421: ldy  #$e4                 ; a0 e4
e423: jsr  $strout              ; 20 1e cb
e426: jmp  $c644                ; 4c 44 c6
words: *** Power-Up Message (DATA)
e429: jsr  $5942                ; 20 42 59
e42c: ???                       ; 54
e42d: eor  $53                  ; 45 53
e42f: jsr  $5246                ; 20 46 52
e432: eor  $45                  ; 45 45
e434: ora  $9300                ; 0d 00 93
e437: rol  a                    ; 2a
e438: rol  a                    ; 2a
e439: rol  a                    ; 2a
e43a: rol  a                    ; 2a
e43b: jsr  $4243                ; 20 43 42
e43e: eor  $4220                ; 4d 20 42
e441: eor  ($53,X)              ; 41 53
e443: eor  #$43                 ; 49 43
e445: jsr  $3256                ; 20 56 32
e448: jsr  $2a2a                ; 20 2a 2a
e44b: rol  a                    ; 2a
e44c: rol  a                    ; 2a
e44d: ora  $3a00                ; 0d 00 3a
e450: cpy  $83                  ; c4 83
e452: cpy  $7c                  ; c4 7c
e454: cmp  $1a                  ; c5 1a
e456: ???                       ; c7
e457: cpx  $c7                  ; e4 c7
e459: stx  $ce                  ; 86 ce
initv: *** Initialize Vectors
e45b: ldx  #$0b                 ; a2 0b
e45d: lda  $bvtrs,X             ; bd 4f e4
e460: sta  $ERRLNK,X            ; 9d 00 03
e463: dex                       ; ca
e464: bpl  $e45d                ; 10 f7
e466: rts                       ; 60
bassft: *** BASIC Warm Restart [RUNSTOP-RESTORE]
e467: jsr  $(iclrch)            ; 20 cc ff
e46a: lda  #$00                 ; a9 00
e46c: sta  $13                  ; 85 13
e46e: jsr  $c67a                ; 20 7a c6
e471: cli                       ; 58
e472: jmp  $ready               ; 4c 74 c4
e475: *** ?
e475: inx                       ; e8
e476: jsr  $linkprg             ; 20 33 c5
e479: jmp  $c677                ; 4c 77 c6
e47c: *** Unused Bytes For Future Patches (EMPTY)
e47c: ???                       ; ff
e47d: ???                       ; ff
e47e: ???                       ; ff
e47f: ???                       ; ff
e480: ???                       ; ff
e481: ???                       ; ff
e482: ???                       ; ff
e483: ???                       ; ff
e484: ???                       ; ff
e485: ???                       ; ff
e486: ???                       ; ff
e487: ???                       ; ff
e488: ???                       ; ff
e489: ???                       ; ff
e48a: ???                       ; ff
e48b: ???                       ; ff
e48c: ???                       ; ff
e48d: ???                       ; ff
e48e: ???                       ; ff
e48f: ???                       ; ff
e490: ???                       ; ff
e491: ???                       ; ff
e492: ???                       ; ff
e493: ???                       ; ff
e494: ???                       ; ff
e495: ???                       ; ff
e496: ???                       ; ff
e497: ???                       ; ff
e498: ???                       ; ff
e499: ???                       ; ff
e49a: ???                       ; ff
e49b: ???                       ; ff
e49c: ???                       ; ff
e49d: ???                       ; ff
e49e: ???                       ; ff
e49f: ???                       ; ff
e4a0: *** Serial Output 1
e4a0: lda  $912c                ; ad 2c 91
e4a3: and  #$df                 ; 29 df
e4a5: sta  $912c                ; 8d 2c 91
e4a8: rts                       ; 60
e4a9: *** Serial Output 0
e4a9: lda  $912c                ; ad 2c 91
e4ac: ora  #$20                 ; 09 20
e4ae: sta  $912c                ; 8d 2c 91
e4b1: rts                       ; 60
e4b2: *** Get Serial Data And Clock In
e4b2: lda  $911f                ; ad 1f 91
e4b5: cmp  $911f                ; cd 1f 91
e4b8: bne  $e4b2                ; d0 f8
e4ba: lsr  a                    ; 4a
e4bb: rts                       ; 60
e4bc: *** Get Secondary Address patch for Serial LOAD/VERIFY
e4bc: ldx  $b9                  ; a6 b9
e4be: jmp  $f647                ; 4c 47 f6
e4c1: *** Relocated Load patch for Serial LOAD/VERIFY
e4c1: txa                       ; 8a
e4c2: bne  $e4cc                ; d0 08
e4c4: lda  $c3                  ; a5 c3
e4c6: sta  $ae                  ; 85 ae
e4c8: lda  $c4                  ; a5 c4
e4ca: sta  $af                  ; 85 af
e4cc: jmp  $f66a                ; 4c 6a f6
e4cf: *** Tape Write patch for CLOSE
e4cf: jsr  $f8e3                ; 20 e3 f8
e4d2: bcc  $e4d7                ; 90 03
e4d4: pla                       ; 68
e4d5: lda  #$00                 ; a9 00
e4d7: jmp  $f39e                ; 4c 9e f3
e4da: *** Unused (EMPTY)
e4da: ???                       ; ff
e4db: ???                       ; ff
e4dc: ???                       ; ff
e4dd: ???                       ; ff
e4de: ???                       ; ff
e4df: ???                       ; ff
e4e0: ???                       ; ff
e4e1: ???                       ; ff
e4e2: ???                       ; ff
e4e3: ???                       ; ff
e4e4: ???                       ; ff
e4e5: ???                       ; ff
e4e6: ???                       ; ff
e4e7: ???                       ; ff
e4e8: ???                       ; ff
e4e9: ???                       ; ff
e4ea: ???                       ; ff
e4eb: ???                       ; ff
e4ec: ???                       ; ff
e4ed: ???                       ; ff
e4ee: ???                       ; ff
e4ef: ???                       ; ff
e4f0: ???                       ; ff
e4f1: ???                       ; ff
e4f2: ???                       ; ff
e4f3: ???                       ; ff
e4f4: ???                       ; ff
e4f5: ???                       ; ff
e4f6: ???                       ; ff
e4f7: ???                       ; ff
e4f8: ???                       ; ff
e4f9: ???                       ; ff
e4fa: ???                       ; ff
e4fb: ???                       ; ff
e4fc: ???                       ; ff
e4fd: ???                       ; ff
e4fe: ???                       ; ff
e4ff: ???                       ; ff
iobase: *** Return I/O Base Address
e500: ldx  #$10                 ; a2 10
e502: ldy  #$91                 ; a0 91
e504: rts                       ; 60
screen: *** Return Screen Organization
e505: ldx  #$16                 ; a2 16
e507: ldy  #$17                 ; a0 17
e509: rts                       ; 60
plot: *** Read / Set Cursor X/Y Position
e50a: bcs  $e513                ; b0 07
e50c: stx  $CURSOR_ROW          ; 86 d6
e50e: sty  $CURSOR_COL          ; 84 d3
e510: jsr  $e587                ; 20 87 e5
e513: ldx  $CURSOR_ROW          ; a6 d6
e515: ldy  $CURSOR_COL          ; a4 d3
e517: rts                       ; 60
cint1: *** Initialize I/O
e518: jsr  $e5bb                ; 20 bb e5
e51b: lda  $SCR_PAGE            ; ad 88 02
e51e: and  #$fd                 ; 29 fd
e520: asl  a                    ; 0a
e521: asl  a                    ; 0a
e522: ora  #$80                 ; 09 80
e524: sta  $9005                ; 8d 05 90
e527: lda  $SCR_PAGE            ; ad 88 02
e52a: and  #$02                 ; 29 02
e52c: beq  $e536                ; f0 08
e52e: lda  #$80                 ; a9 80
e530: ora  $9002                ; 0d 02 90
e533: sta  $9002                ; 8d 02 90
e536: lda  #$00                 ; a9 00
e538: sta  $0291                ; 8d 91 02
e53b: sta  $cf                  ; 85 cf
e53d: lda  #$dc                 ; a9 dc
e53f: sta  $028f                ; 8d 8f 02
e542: lda  #$eb                 ; a9 eb
e544: sta  $0290                ; 8d 90 02
e547: lda  #$0a                 ; a9 0a
e549: sta  $KB_BUFF_SIZE        ; 8d 89 02
e54c: sta  $028c                ; 8d 8c 02
e54f: lda  #$06                 ; a9 06
e551: sta  $0286                ; 8d 86 02
e554: lda  #$04                 ; a9 04
e556: sta  $028b                ; 8d 8b 02
e559: lda  #$0c                 ; a9 0c
e55b: sta  $cd                  ; 85 cd
e55d: sta  $cc                  ; 85 cc
e55f: *** Clear Screen
e55f: lda  $SCR_PAGE            ; ad 88 02
e562: ora  #$80                 ; 09 80
e564: tay                       ; a8
e565: lda  #$00                 ; a9 00
e567: tax                       ; aa
e568: sty  $SCRLINK,X           ; 94 d9
e56a: clc                       ; 18
e56b: adc  #$16                 ; 69 16
e56d: bcc  $e570                ; 90 01
e56f: iny                       ; c8
e570: inx                       ; e8
e571: cpx  #$18                 ; e0 18
e573: bne  $e568                ; d0 f3
e575: lda  #$ff                 ; a9 ff
e577: sta  $SCRLINK,X           ; 95 d9
e579: ldx  #$16                 ; a2 16
e57b: jsr  $ea8d                ; 20 8d ea
e57e: dex                       ; ca
e57f: bpl  $e57b                ; 10 fa
e581: *** Home Cursor
e581: ldy  #$00                 ; a0 00
e583: sty  $CURSOR_COL          ; 84 d3
e585: sty  $CURSOR_ROW          ; 84 d6
e587: *** Set Screen Pointers
e587: ldx  $CURSOR_ROW          ; a6 d6
e589: lda  $CURSOR_COL          ; a5 d3
e58b: ldy  $SCRLINK,X           ; b4 d9
e58d: bmi  $e597                ; 30 08
e58f: clc                       ; 18
e590: adc  #$16                 ; 69 16
e592: sta  $CURSOR_COL          ; 85 d3
e594: dex                       ; ca
e595: bpl  $e58b                ; 10 f4
e597: lda  $SCRLINK,X           ; b5 d9
e599: and  #$03                 ; 29 03
e59b: ora  $SCR_PAGE            ; 0d 88 02
e59e: sta  $d2                  ; 85 d2
e5a0: lda  $edfd,X              ; bd fd ed
e5a3: sta  $SCRLINE_PTR         ; 85 d1
e5a5: lda  #$15                 ; a9 15
e5a7: inx                       ; e8
e5a8: ldy  $SCRLINK,X           ; b4 d9
e5aa: bmi  $e5b2                ; 30 06
e5ac: clc                       ; 18
e5ad: adc  #$16                 ; 69 16
e5af: inx                       ; e8
e5b0: bpl  $e5a8                ; 10 f6
e5b2: sta  $SCRLINE_LEN         ; 85 d5
e5b4: rts                       ; 60
e5b5: *** Set I/O Defaults (Unused Entry)
e5b5: jsr  $e5bb                ; 20 bb e5
e5b8: jmp  $e581                ; 4c 81 e5
e5bb: *** Set I/O Defaults
e5bb: lda  #$03                 ; a9 03
e5bd: sta  $OUTDEV              ; 85 9a
e5bf: lda  #$00                 ; a9 00
e5c1: sta  $INPDEV              ; 85 99
e5c3: ldx  #$10                 ; a2 10
e5c5: lda  $ede3,X              ; bd e3 ed
e5c8: sta  $8fff,X              ; 9d ff 8f
e5cb: dex                       ; ca
e5cc: bne  $e5c5                ; d0 f7
e5ce: rts                       ; 60
lp2: *** Get Character From Keyboard Buffer
e5cf: ldy  $KB_BUFF             ; ac 77 02
e5d2: ldx  #$00                 ; a2 00
e5d4: lda  $0278,X              ; bd 78 02
e5d7: sta  $KB_BUFF,X           ; 9d 77 02
e5da: inx                       ; e8
e5db: cpx  $NO_KEYS             ; e4 c6
e5dd: bne  $e5d4                ; d0 f5
e5df: dec  $NO_KEYS             ; c6 c6
e5e1: tya                       ; 98
e5e2: cli                       ; 58
e5e3: clc                       ; 18
e5e4: rts                       ; 60
e5e5: *** Input From Keyboard
e5e5: jsr  $e742                ; 20 42 e7
e5e8: lda  $NO_KEYS             ; a5 c6
e5ea: sta  $cc                  ; 85 cc
e5ec: sta  $0292                ; 8d 92 02
e5ef: beq  $e5e8                ; f0 f7
e5f1: sei                       ; 78
e5f2: lda  $cf                  ; a5 cf
e5f4: beq  $e602                ; f0 0c
e5f6: lda  $ce                  ; a5 ce
e5f8: ldx  $0287                ; ae 87 02
e5fb: ldy  #$00                 ; a0 00
e5fd: sty  $cf                  ; 84 cf
e5ff: jsr  $eaa1                ; 20 a1 ea
e602: jsr  $lp2                 ; 20 cf e5
e605: cmp  #$83                 ; c9 83
e607: bne  $e619                ; d0 10
e609: ldx  #$09                 ; a2 09
e60b: sei                       ; 78
e60c: stx  $NO_KEYS             ; 86 c6
e60e: lda  $edf3,X              ; bd f3 ed
e611: sta  $0276,X              ; 9d 76 02
e614: dex                       ; ca
e615: bne  $e60e                ; d0 f7
e617: beq  $e5e8                ; f0 cf
e619: cmp  #$0d                 ; c9 0d
e61b: bne  $e5e5                ; d0 c8
e61d: ldy  $SCRLINE_LEN         ; a4 d5
e61f: sty  $d0                  ; 84 d0
e621: lda  ($SCRLINE_PTR),Y     ; b1 d1
e623: cmp  #$20                 ; c9 20
e625: bne  $e62a                ; d0 03
e627: dey                       ; 88
e628: bne  $e621                ; d0 f7
e62a: iny                       ; c8
e62b: sty  $c8                  ; 84 c8
e62d: ldy  #$00                 ; a0 00
e62f: sty  $0292                ; 8c 92 02
e632: sty  $CURSOR_COL          ; 84 d3
e634: sty  $d4                  ; 84 d4
e636: lda  $c9                  ; a5 c9
e638: bmi  $e657                ; 30 1d
e63a: ldx  $CURSOR_ROW          ; a6 d6
e63c: jsr  $e719                ; 20 19 e7
e63f: cpx  $c9                  ; e4 c9
e641: bne  $e657                ; d0 14
e643: bne  $e657                ; d0 12
e645: lda  $ca                  ; a5 ca
e647: sta  $CURSOR_COL          ; 85 d3
e649: cmp  $c8                  ; c5 c8
e64b: bcc  $e657                ; 90 0a
e64d: bcs  $e691                ; b0 42
e64f: *** Input From Screen or Keyboard
e64f: tya                       ; 98
e650: pha                       ; 48
e651: txa                       ; 8a
e652: pha                       ; 48
e653: lda  $d0                  ; a5 d0
e655: beq  $e5e8                ; f0 91
e657: ldy  $CURSOR_COL          ; a4 d3
e659: lda  ($SCRLINE_PTR),Y     ; b1 d1
e65b: nop                       ; ea
e65c: nop                       ; ea
e65d: nop                       ; ea
e65e: nop                       ; ea
e65f: nop                       ; ea
e660: nop                       ; ea
e661: nop                       ; ea
e662: nop                       ; ea
e663: nop                       ; ea
e664: nop                       ; ea
e665: nop                       ; ea
e666: nop                       ; ea
e667: nop                       ; ea
e668: nop                       ; ea
e669: nop                       ; ea
e66a: nop                       ; ea
e66b: nop                       ; ea
e66c: nop                       ; ea
e66d: nop                       ; ea
e66e: nop                       ; ea
e66f: nop                       ; ea
e670: nop                       ; ea
e671: nop                       ; ea
e672: sta  $d7                  ; 85 d7
e674: and  #$3f                 ; 29 3f
e676: asl  $d7                  ; 06 d7
e678: bit  $d7                  ; 24 d7
e67a: bpl  $e67e                ; 10 02
e67c: ora  #$80                 ; 09 80
e67e: bcc  $e684                ; 90 04
e680: ldx  $d4                  ; a6 d4
e682: bne  $e688                ; d0 04
e684: bvs  $e688                ; 70 02
e686: ora  #$40                 ; 09 40
e688: inc  $CURSOR_COL          ; e6 d3
e68a: jsr  $e6b8                ; 20 b8 e6
e68d: cpy  $c8                  ; c4 c8
e68f: bne  $e6a8                ; d0 17
e691: lda  #$00                 ; a9 00
e693: sta  $d0                  ; 85 d0
e695: lda  #$0d                 ; a9 0d
e697: ldx  $INPDEV              ; a6 99
e699: cpx  #$03                 ; e0 03
e69b: beq  $e6a3                ; f0 06
e69d: ldx  $OUTDEV              ; a6 9a
e69f: cpx  #$03                 ; e0 03
e6a1: beq  $e6a6                ; f0 03
e6a3: jsr  $e742                ; 20 42 e7
e6a6: lda  #$0d                 ; a9 0d
e6a8: sta  $d7                  ; 85 d7
e6aa: pla                       ; 68
e6ab: tax                       ; aa
e6ac: pla                       ; 68
e6ad: tay                       ; a8
e6ae: lda  $d7                  ; a5 d7
e6b0: cmp  #$de                 ; c9 de
e6b2: bne  $e6b6                ; d0 02
e6b4: lda  #$ff                 ; a9 ff
e6b6: clc                       ; 18
e6b7: rts                       ; 60
e6b8: *** Quotes Test
e6b8: cmp  #$22                 ; c9 22
e6ba: bne  $e6c4                ; d0 08
e6bc: lda  $d4                  ; a5 d4
e6be: eor  #$01                 ; 49 01
e6c0: sta  $d4                  ; 85 d4
e6c2: lda  #$22                 ; a9 22
e6c4: rts                       ; 60
e6c5: *** Set Up Screen Print
e6c5: ora  #$40                 ; 09 40
e6c7: ldx  $c7                  ; a6 c7
e6c9: beq  $e6cd                ; f0 02
e6cb: ora  #$80                 ; 09 80
e6cd: ldx  $NO_INSERTS          ; a6 d8
e6cf: beq  $e6d3                ; f0 02
e6d1: dec  $NO_INSERTS          ; c6 d8
e6d3: ldx  $0286                ; ae 86 02
e6d6: jsr  $eaa1                ; 20 a1 ea
e6d9: jsr  $e6ea                ; 20 ea e6
e6dc: pla                       ; 68
e6dd: tay                       ; a8
e6de: lda  $NO_INSERTS          ; a5 d8
e6e0: beq  $e6e4                ; f0 02
e6e2: lsr  $d4                  ; 46 d4
e6e4: pla                       ; 68
e6e5: tax                       ; aa
e6e6: pla                       ; 68
e6e7: clc                       ; 18
e6e8: cli                       ; 58
e6e9: rts                       ; 60
e6ea: *** Advance Cursor
e6ea: jsr  $e8fa                ; 20 fa e8
e6ed: inc  $CURSOR_COL          ; e6 d3
e6ef: lda  $SCRLINE_LEN         ; a5 d5
e6f1: cmp  $CURSOR_COL          ; c5 d3
e6f3: bcs  $e72c                ; b0 37
e6f5: cmp  #$57                 ; c9 57
e6f7: beq  $e723                ; f0 2a
e6f9: lda  $0292                ; ad 92 02
e6fc: beq  $e701                ; f0 03
e6fe: jmp  $e9f0                ; 4c f0 e9
e701: ldx  $CURSOR_ROW          ; a6 d6
e703: cpx  #$17                 ; e0 17
e705: bcc  $e70e                ; 90 07
e707: jsr  $e975                ; 20 75 e9
e70a: dec  $CURSOR_ROW          ; c6 d6
e70c: ldx  $CURSOR_ROW          ; a6 d6
e70e: asl  $SCRLINK,X           ; 16 d9
e710: lsr  $SCRLINK,X           ; 56 d9
e712: jmp  $ed5b                ; 4c 5b ed
e715: adc  #$16                 ; 69 16
e717: sta  $SCRLINE_LEN         ; 85 d5
e719: *** Retreat Cursor
e719: lda  $SCRLINK,X           ; b5 d9
e71b: bmi  $e720                ; 30 03
e71d: dex                       ; ca
e71e: bne  $e719                ; d0 f9
e720: jmp  $ea7e                ; 4c 7e ea
e723: dec  $CURSOR_ROW          ; c6 d6
e725: jsr  $e8c3                ; 20 c3 e8
e728: lda  #$00                 ; a9 00
e72a: sta  $CURSOR_COL          ; 85 d3
e72c: rts                       ; 60
e72d: *** Back on to Previous Line
e72d: ldx  $CURSOR_ROW          ; a6 d6
e72f: bne  $e737                ; d0 06
e731: stx  $CURSOR_COL          ; 86 d3
e733: pla                       ; 68
e734: pla                       ; 68
e735: bne  $e6dc                ; d0 a5
e737: dex                       ; ca
e738: stx  $CURSOR_ROW          ; 86 d6
e73a: jsr  $e587                ; 20 87 e5
e73d: ldy  $SCRLINE_LEN         ; a4 d5
e73f: sty  $CURSOR_COL          ; 84 d3
e741: rts                       ; 60
e742: *** Output to Screen
e742: pha                       ; 48
e743: sta  $d7                  ; 85 d7
e745: txa                       ; 8a
e746: pha                       ; 48
e747: tya                       ; 98
e748: pha                       ; 48
e749: lda  #$00                 ; a9 00
e74b: sta  $d0                  ; 85 d0
e74d: ldy  $CURSOR_COL          ; a4 d3
e74f: lda  $d7                  ; a5 d7
e751: bpl  $e756                ; 10 03
e753: jmp  $e800                ; 4c 00 e8
e756: *** -unshifted characters-
e756: cmp  #$0d                 ; c9 0d
e758: bne  $e75d                ; d0 03
e75a: jmp  $e8d8                ; 4c d8 e8
e75d: cmp  #$20                 ; c9 20
e75f: bcc  $e771                ; 90 10
e761: cmp  #$60                 ; c9 60
e763: bcc  $e769                ; 90 04
e765: and  #$df                 ; 29 df
e767: bne  $e76b                ; d0 02
e769: and  #$3f                 ; 29 3f
e76b: jsr  $e6b8                ; 20 b8 e6
e76e: jmp  $e6c7                ; 4c c7 e6
e771: ldx  $NO_INSERTS          ; a6 d8
e773: beq  $e778                ; f0 03
e775: jmp  $e6cb                ; 4c cb e6
e778: cmp  #$14                 ; c9 14
e77a: bne  $e7aa                ; d0 2e
e77c: tya                       ; 98
e77d: bne  $e785                ; d0 06
e77f: jsr  $e72d                ; 20 2d e7
e782: jmp  $e79f                ; 4c 9f e7
e785: jsr  $e8e8                ; 20 e8 e8
e788: dey                       ; 88
e789: sty  $CURSOR_COL          ; 84 d3
e78b: jsr  $eab2                ; 20 b2 ea
e78e: iny                       ; c8
e78f: lda  ($SCRLINE_PTR),Y     ; b1 d1
e791: dey                       ; 88
e792: sta  ($SCRLINE_PTR),Y     ; 91 d1
e794: iny                       ; c8
e795: lda  ($f3),Y              ; b1 f3
e797: dey                       ; 88
e798: sta  ($f3),Y              ; 91 f3
e79a: iny                       ; c8
e79b: cpy  $SCRLINE_LEN         ; c4 d5
e79d: bne  $e78e                ; d0 ef
e79f: lda  #$20                 ; a9 20
e7a1: sta  ($SCRLINE_PTR),Y     ; 91 d1
e7a3: lda  $0286                ; ad 86 02
e7a6: sta  ($f3),Y              ; 91 f3
e7a8: bpl  $e7f7                ; 10 4d
e7aa: ldx  $d4                  ; a6 d4
e7ac: beq  $e7b1                ; f0 03
e7ae: jmp  $e6cb                ; 4c cb e6
e7b1: cmp  #$12                 ; c9 12
e7b3: bne  $e7b7                ; d0 02
e7b5: sta  $c7                  ; 85 c7
e7b7: cmp  #$13                 ; c9 13
e7b9: bne  $e7be                ; d0 03
e7bb: jsr  $e581                ; 20 81 e5
e7be: cmp  #$1d                 ; c9 1d
e7c0: bne  $e7d9                ; d0 17
e7c2: iny                       ; c8
e7c3: jsr  $e8fa                ; 20 fa e8
e7c6: sty  $CURSOR_COL          ; 84 d3
e7c8: dey                       ; 88
e7c9: cpy  $SCRLINE_LEN         ; c4 d5
e7cb: bcc  $e7d6                ; 90 09
e7cd: dec  $CURSOR_ROW          ; c6 d6
e7cf: jsr  $e8c3                ; 20 c3 e8
e7d2: ldy  #$00                 ; a0 00
e7d4: sty  $CURSOR_COL          ; 84 d3
e7d6: jmp  $e6dc                ; 4c dc e6
e7d9: cmp  #$11                 ; c9 11
e7db: bne  $e7fa                ; d0 1d
e7dd: clc                       ; 18
e7de: tya                       ; 98
e7df: adc  #$16                 ; 69 16
e7e1: tay                       ; a8
e7e2: inc  $CURSOR_ROW          ; e6 d6
e7e4: cmp  $SCRLINE_LEN         ; c5 d5
e7e6: bcc  $e7d4                ; 90 ec
e7e8: beq  $e7d4                ; f0 ea
e7ea: dec  $CURSOR_ROW          ; c6 d6
e7ec: sbc  #$16                 ; e9 16
e7ee: bcc  $e7f4                ; 90 04
e7f0: sta  $CURSOR_COL          ; 85 d3
e7f2: bne  $e7ec                ; d0 f8
e7f4: jsr  $e8c3                ; 20 c3 e8
e7f7: jmp  $e6dc                ; 4c dc e6
e7fa: jsr  $e912                ; 20 12 e9
e7fd: jmp  $ed21                ; 4c 21 ed
e800: *** -shifted characters-
e800: nop                       ; ea
e801: nop                       ; ea
e802: nop                       ; ea
e803: nop                       ; ea
e804: nop                       ; ea
e805: nop                       ; ea
e806: nop                       ; ea
e807: nop                       ; ea
e808: nop                       ; ea
e809: nop                       ; ea
e80a: nop                       ; ea
e80b: nop                       ; ea
e80c: nop                       ; ea
e80d: nop                       ; ea
e80e: nop                       ; ea
e80f: nop                       ; ea
e810: nop                       ; ea
e811: nop                       ; ea
e812: nop                       ; ea
e813: nop                       ; ea
e814: nop                       ; ea
e815: and  #$7f                 ; 29 7f
e817: cmp  #$7f                 ; c9 7f
e819: bne  $e81d                ; d0 02
e81b: lda  #$5e                 ; a9 5e
e81d: nop                       ; ea
e81e: nop                       ; ea
e81f: nop                       ; ea
e820: nop                       ; ea
e821: nop                       ; ea
e822: nop                       ; ea
e823: cmp  #$20                 ; c9 20
e825: bcc  $e82a                ; 90 03
e827: jmp  $e6c5                ; 4c c5 e6
e82a: cmp  #$0d                 ; c9 0d
e82c: bne  $e831                ; d0 03
e82e: jmp  $e8d8                ; 4c d8 e8
e831: ldx  $d4                  ; a6 d4
e833: bne  $e874                ; d0 3f
e835: cmp  #$14                 ; c9 14
e837: bne  $e870                ; d0 37
e839: ldy  $SCRLINE_LEN         ; a4 d5
e83b: lda  ($SCRLINE_PTR),Y     ; b1 d1
e83d: cmp  #$20                 ; c9 20
e83f: bne  $e845                ; d0 04
e841: cpy  $CURSOR_COL          ; c4 d3
e843: bne  $e84c                ; d0 07
e845: cpy  #$57                 ; c0 57
e847: beq  $e86d                ; f0 24
e849: jsr  $e9ee                ; 20 ee e9
e84c: ldy  $SCRLINE_LEN         ; a4 d5
e84e: jsr  $eab2                ; 20 b2 ea
e851: dey                       ; 88
e852: lda  ($SCRLINE_PTR),Y     ; b1 d1
e854: iny                       ; c8
e855: sta  ($SCRLINE_PTR),Y     ; 91 d1
e857: dey                       ; 88
e858: lda  ($f3),Y              ; b1 f3
e85a: iny                       ; c8
e85b: sta  ($f3),Y              ; 91 f3
e85d: dey                       ; 88
e85e: cpy  $CURSOR_COL          ; c4 d3
e860: bne  $e851                ; d0 ef
e862: lda  #$20                 ; a9 20
e864: sta  ($SCRLINE_PTR),Y     ; 91 d1
e866: lda  $0286                ; ad 86 02
e869: sta  ($f3),Y              ; 91 f3
e86b: inc  $NO_INSERTS          ; e6 d8
e86d: jmp  $e6dc                ; 4c dc e6
e870: ldx  $NO_INSERTS          ; a6 d8
e872: beq  $e879                ; f0 05
e874: ora  #$40                 ; 09 40
e876: jmp  $e6cb                ; 4c cb e6
e879: cmp  #$11                 ; c9 11
e87b: bne  $e893                ; d0 16
e87d: ldx  $CURSOR_ROW          ; a6 d6
e87f: beq  $e8b8                ; f0 37
e881: dec  $CURSOR_ROW          ; c6 d6
e883: lda  $CURSOR_COL          ; a5 d3
e885: sec                       ; 38
e886: sbc  #$16                 ; e9 16
e888: bcc  $e88e                ; 90 04
e88a: sta  $CURSOR_COL          ; 85 d3
e88c: bpl  $e8b8                ; 10 2a
e88e: jsr  $e587                ; 20 87 e5
e891: bne  $e8b8                ; d0 25
e893: cmp  #$12                 ; c9 12
e895: bne  $e89b                ; d0 04
e897: lda  #$00                 ; a9 00
e899: sta  $c7                  ; 85 c7
e89b: cmp  #$1d                 ; c9 1d
e89d: bne  $e8b1                ; d0 12
e89f: tya                       ; 98
e8a0: beq  $e8ab                ; f0 09
e8a2: jsr  $e8e8                ; 20 e8 e8
e8a5: dey                       ; 88
e8a6: sty  $CURSOR_COL          ; 84 d3
e8a8: jmp  $e6dc                ; 4c dc e6
e8ab: jsr  $e72d                ; 20 2d e7
e8ae: jmp  $e6dc                ; 4c dc e6
e8b1: cmp  #$13                 ; c9 13
e8b3: bne  $e8bb                ; d0 06
e8b5: jsr  $e55f                ; 20 5f e5
e8b8: jmp  $e6dc                ; 4c dc e6
e8bb: ora  #$80                 ; 09 80
e8bd: jsr  $e912                ; 20 12 e9
e8c0: jmp  $ed30                ; 4c 30 ed
e8c3: *** Go to Next Line
e8c3: lsr  $c9                  ; 46 c9
e8c5: ldx  $CURSOR_ROW          ; a6 d6
e8c7: inx                       ; e8
e8c8: cpx  #$17                 ; e0 17
e8ca: bne  $e8cf                ; d0 03
e8cc: jsr  $e975                ; 20 75 e9
e8cf: lda  $SCRLINK,X           ; b5 d9
e8d1: bpl  $e8c7                ; 10 f4
e8d3: stx  $CURSOR_ROW          ; 86 d6
e8d5: jmp  $e587                ; 4c 87 e5
e8d8: *** Output <CR>
e8d8: ldx  #$00                 ; a2 00
e8da: stx  $NO_INSERTS          ; 86 d8
e8dc: stx  $c7                  ; 86 c7
e8de: stx  $d4                  ; 86 d4
e8e0: stx  $CURSOR_COL          ; 86 d3
e8e2: jsr  $e8c3                ; 20 c3 e8
e8e5: jmp  $e6dc                ; 4c dc e6
e8e8: *** Check Line Decrement
e8e8: ldx  #$04                 ; a2 04
e8ea: lda  #$00                 ; a9 00
e8ec: cmp  $CURSOR_COL          ; c5 d3
e8ee: beq  $e8f7                ; f0 07
e8f0: clc                       ; 18
e8f1: adc  #$16                 ; 69 16
e8f3: dex                       ; ca
e8f4: bne  $e8ec                ; d0 f6
e8f6: rts                       ; 60
e8f7: dec  $CURSOR_ROW          ; c6 d6
e8f9: rts                       ; 60
e8fa: *** Check Line Increment
e8fa: ldx  #$04                 ; a2 04
e8fc: lda  #$15                 ; a9 15
e8fe: cmp  $CURSOR_COL          ; c5 d3
e900: beq  $e909                ; f0 07
e902: clc                       ; 18
e903: adc  #$16                 ; 69 16
e905: dex                       ; ca
e906: bne  $e8fe                ; d0 f6
e908: rts                       ; 60
e909: ldx  $CURSOR_ROW          ; a6 d6
e90b: cpx  #$17                 ; e0 17
e90d: beq  $e911                ; f0 02
e90f: inc  $CURSOR_ROW          ; e6 d6
e911: rts                       ; 60
e912: *** Set Colour Code
e912: ldx  #$07                 ; a2 07
e914: cmp  $e921,X              ; dd 21 e9
e917: beq  $e91d                ; f0 04
e919: dex                       ; ca
e91a: bpl  $e914                ; 10 f8
e91c: rts                       ; 60
e91d: stx  $0286                ; 8e 86 02
e920: rts                       ; 60
e921: *** Colour Code Table (DATA)
e921: bcc  $e928                ; 90 05
e923: ???                       ; 1c
e924: ???                       ; 9f
e925: ???                       ; 9c
e926: asl  $9e1f,X              ; 1e 1f 9e
e929: *** ? (DATA)
e929: ???                       ; ef
e92a: lda  ($df,X)              ; a1 df
e92c: ldx  $e1                  ; a6 e1
e92e: lda  ($e2),Y              ; b1 e2
e930: ???                       ; b2
e931: ???                       ; e3
e932: ???                       ; b3
e933: cpx  $b4                  ; e4 b4
e935: sbc  $b5                  ; e5 b5
e937: inc  $b6                  ; e6 b6
e939: ???                       ; e7
e93a: ???                       ; b7
e93b: inx                       ; e8
e93c: clv                       ; b8
e93d: sbc  #$b9                 ; e9 b9
e93f: ???                       ; fa
e940: tsx                       ; ba
e941: ???                       ; fb
e942: ???                       ; bb
e943: ???                       ; fc
e944: ldy  $bdec,X              ; bc ec bd
e947: inc  $84be,X              ; fe be 84
e94a: ???                       ; bf
e94b: ???                       ; f7
e94c: cpy  #$f8                 ; c0 f8
e94e: ???                       ; db
e94f: sbc  $eadd,Y              ; f9 dd ea
e952: dec  $e05e,X              ; de 5e e0
e955: ???                       ; 5b
e956: sbc  ($5d,X)              ; e1 5d
e958: ???                       ; e2
e959: rti                       ; 40
e95a: bcs  $e9bd                ; b0 61
e95c: lda  ($78),Y              ; b1 78
e95e: ???                       ; db
e95f: adc  $66dd,Y              ; 79 dd 66
e962: ldx  $77,Y                ; b6 77
e964: cpy  #$70                 ; c0 70
e966: beq  $e9d9                ; f0 71
e968: sbc  ($72),Y              ; f1 72
e96a: ???                       ; f2
e96b: ???                       ; 73
e96c: ???                       ; f3
e96d: ???                       ; 74
e96e: ???                       ; f4
e96f: adc  $f5,X                ; 75 f5
e971: ror  $f6,X                ; 76 f6
e973: adc  $a5fd,X              ; 7d fd a5
e976: ldy  $a548                ; ac 48 a5
e979: lda  $a548                ; ad 48 a5
e97c: ldx  $a548                ; ae 48 a5
e97f: ???                       ; af
e980: pha                       ; 48
e981: ldx  #$ff                 ; a2 ff
e983: dec  $CURSOR_ROW          ; c6 d6
e985: dec  $c9                  ; c6 c9
e987: dec  $f2                  ; c6 f2
e989: inx                       ; e8
e98a: jsr  $ea7e                ; 20 7e ea
e98d: cpx  #$16                 ; e0 16
e98f: bcs  $e99d                ; b0 0c
e991: lda  $edfe,X              ; bd fe ed
e994: sta  $ac                  ; 85 ac
e996: lda  $da,X                ; b5 da
e998: jsr  $ea56                ; 20 56 ea
e99b: bmi  $e989                ; 30 ec
e99d: jsr  $ea8d                ; 20 8d ea
e9a0: ldx  #$00                 ; a2 00
e9a2: lda  $SCRLINK,X           ; b5 d9
e9a4: and  #$7f                 ; 29 7f
e9a6: ldy  $da,X                ; b4 da
e9a8: bpl  $e9ac                ; 10 02
e9aa: ora  #$80                 ; 09 80
e9ac: sta  $SCRLINK,X           ; 95 d9
e9ae: inx                       ; e8
e9af: cpx  #$16                 ; e0 16
e9b1: bne  $e9a2                ; d0 ef
e9b3: lda  $ef                  ; a5 ef
e9b5: ora  #$80                 ; 09 80
e9b7: sta  $ef                  ; 85 ef
e9b9: lda  $SCRLINK             ; a5 d9
e9bb: bpl  $e981                ; 10 c4
e9bd: inc  $CURSOR_ROW          ; e6 d6
e9bf: inc  $f2                  ; e6 f2
e9c1: lda  #$fb                 ; a9 fb
e9c3: sta  $VIA2                ; 8d 20 91
e9c6: lda  $9121                ; ad 21 91
e9c9: cmp  #$fe                 ; c9 fe
e9cb: php                       ; 08
e9cc: lda  #$f7                 ; a9 f7
e9ce: sta  $VIA2                ; 8d 20 91
e9d1: plp                       ; 28
e9d2: bne  $e9df                ; d0 0b
e9d4: ldy  #$00                 ; a0 00
e9d6: nop                       ; ea
e9d7: dex                       ; ca
e9d8: bne  $e9d6                ; d0 fc
e9da: dey                       ; 88
e9db: bne  $e9d6                ; d0 f9
e9dd: sty  $NO_KEYS             ; 84 c6
e9df: ldx  $CURSOR_ROW          ; a6 d6
e9e1: pla                       ; 68
e9e2: sta  $af                  ; 85 af
e9e4: pla                       ; 68
e9e5: sta  $ae                  ; 85 ae
e9e7: pla                       ; 68
e9e8: sta  $ad                  ; 85 ad
e9ea: pla                       ; 68
e9eb: sta  $ac                  ; 85 ac
e9ed: rts                       ; 60
e9ee: *** Open A Space On The Screen
e9ee: ldx  $CURSOR_ROW          ; a6 d6
e9f0: inx                       ; e8
e9f1: lda  $SCRLINK,X           ; b5 d9
e9f3: bpl  $e9f0                ; 10 fb
e9f5: stx  $f2                  ; 86 f2
e9f7: cpx  #$16                 ; e0 16
e9f9: beq  $ea08                ; f0 0d
e9fb: bcc  $ea08                ; 90 0b
e9fd: jsr  $e975                ; 20 75 e9
ea00: ldx  $f2                  ; a6 f2
ea02: dex                       ; ca
ea03: dec  $CURSOR_ROW          ; c6 d6
ea05: jmp  $e70e                ; 4c 0e e7
ea08: lda  $ac                  ; a5 ac
ea0a: pha                       ; 48
ea0b: lda  $ad                  ; a5 ad
ea0d: pha                       ; 48
ea0e: lda  $ae                  ; a5 ae
ea10: pha                       ; 48
ea11: lda  $af                  ; a5 af
ea13: pha                       ; 48
ea14: ldx  #$17                 ; a2 17
ea16: dex                       ; ca
ea17: jsr  $ea7e                ; 20 7e ea
ea1a: cpx  $f2                  ; e4 f2
ea1c: bcc  $ea2c                ; 90 0e
ea1e: beq  $ea2c                ; f0 0c
ea20: lda  $edfc,X              ; bd fc ed
ea23: sta  $ac                  ; 85 ac
ea25: lda  $NO_INSERTS,X        ; b5 d8
ea27: jsr  $ea56                ; 20 56 ea
ea2a: bmi  $ea16                ; 30 ea
ea2c: jsr  $ea8d                ; 20 8d ea
ea2f: ldx  #$15                 ; a2 15
ea31: cpx  $f2                  ; e4 f2
ea33: bcc  $ea44                ; 90 0f
ea35: lda  $da,X                ; b5 da
ea37: and  #$7f                 ; 29 7f
ea39: ldy  $SCRLINK,X           ; b4 d9
ea3b: bpl  $ea3f                ; 10 02
ea3d: ora  #$80                 ; 09 80
ea3f: sta  $da,X                ; 95 da
ea41: dex                       ; ca
ea42: bne  $ea31                ; d0 ed
ea44: ldx  $f2                  ; a6 f2
ea46: jsr  $e70e                ; 20 0e e7
ea49: pla                       ; 68
ea4a: sta  $af                  ; 85 af
ea4c: pla                       ; 68
ea4d: sta  $ae                  ; 85 ae
ea4f: pla                       ; 68
ea50: sta  $ad                  ; 85 ad
ea52: pla                       ; 68
ea53: sta  $ac                  ; 85 ac
ea55: rts                       ; 60
ea56: *** Move A Screen Line
ea56: and  #$03                 ; 29 03
ea58: ora  $SCR_PAGE            ; 0d 88 02
ea5b: sta  $ad                  ; 85 ad
ea5d: jsr  $ea6e                ; 20 6e ea
ea60: ldy  #$15                 ; a0 15
ea62: lda  ($ac),Y              ; b1 ac
ea64: sta  ($SCRLINE_PTR),Y     ; 91 d1
ea66: lda  ($ae),Y              ; b1 ae
ea68: sta  ($f3),Y              ; 91 f3
ea6a: dey                       ; 88
ea6b: bpl  $ea62                ; 10 f5
ea6d: rts                       ; 60
ea6e: *** Syncronise Colour Transfer
ea6e: jsr  $eab2                ; 20 b2 ea
ea71: lda  $ac                  ; a5 ac
ea73: sta  $ae                  ; 85 ae
ea75: lda  $ad                  ; a5 ad
ea77: and  #$03                 ; 29 03
ea79: ora  #$94                 ; 09 94
ea7b: sta  $af                  ; 85 af
ea7d: rts                       ; 60
ea7e: *** Set Start of Line
ea7e: lda  $edfd,X              ; bd fd ed
ea81: sta  $SCRLINE_PTR         ; 85 d1
ea83: lda  $SCRLINK,X           ; b5 d9
ea85: and  #$03                 ; 29 03
ea87: ora  $SCR_PAGE            ; 0d 88 02
ea8a: sta  $d2                  ; 85 d2
ea8c: rts                       ; 60
ea8d: *** Clear Screen Line
ea8d: ldy  #$15                 ; a0 15
ea8f: jsr  $ea7e                ; 20 7e ea
ea92: jsr  $eab2                ; 20 b2 ea
ea95: lda  #$20                 ; a9 20
ea97: sta  ($SCRLINE_PTR),Y     ; 91 d1
ea99: lda  #$01                 ; a9 01
ea9b: sta  ($f3),Y              ; 91 f3
ea9d: dey                       ; 88
ea9e: bpl  $ea95                ; 10 f5
eaa0: rts                       ; 60
eaa1: *** Print To Screen
eaa1: tay                       ; a8
eaa2: lda  #$02                 ; a9 02
eaa4: sta  $cd                  ; 85 cd
eaa6: jsr  $eab2                ; 20 b2 ea
eaa9: tya                       ; 98
eaaa: ldy  $CURSOR_COL          ; a4 d3
eaac: sta  ($SCRLINE_PTR),Y     ; 91 d1
eaae: txa                       ; 8a
eaaf: sta  ($f3),Y              ; 91 f3
eab1: rts                       ; 60
eab2: *** Syncronise Colour Pointer
eab2: lda  $SCRLINE_PTR         ; a5 d1
eab4: sta  $f3                  ; 85 f3
eab6: lda  $d2                  ; a5 d2
eab8: and  #$03                 ; 29 03
eaba: ora  #$94                 ; 09 94
eabc: sta  $f4                  ; 85 f4
eabe: rts                       ; 60
eabf: *** Main IRQ Entry Point
eabf: jsr  $udtim               ; 20 ea ff
eac2: lda  $cc                  ; a5 cc
eac4: bne  $eaef                ; d0 29
eac6: dec  $cd                  ; c6 cd
eac8: bne  $eaef                ; d0 25
eaca: lda  #$14                 ; a9 14
eacc: sta  $cd                  ; 85 cd
eace: ldy  $CURSOR_COL          ; a4 d3
ead0: lsr  $cf                  ; 46 cf
ead2: ldx  $0287                ; ae 87 02
ead5: lda  ($SCRLINE_PTR),Y     ; b1 d1
ead7: bcs  $eaea                ; b0 11
ead9: inc  $cf                  ; e6 cf
eadb: sta  $ce                  ; 85 ce
eadd: jsr  $eab2                ; 20 b2 ea
eae0: lda  ($f3),Y              ; b1 f3
eae2: sta  $0287                ; 8d 87 02
eae5: ldx  $0286                ; ae 86 02
eae8: lda  $ce                  ; a5 ce
eaea: eor  #$80                 ; 49 80
eaec: jsr  $eaaa                ; 20 aa ea
eaef: lda  $911f                ; ad 1f 91
eaf2: and  #$40                 ; 29 40
eaf4: beq  $eb01                ; f0 0b
eaf6: ldy  #$00                 ; a0 00
eaf8: sty  $c0                  ; 84 c0
eafa: lda  $911c                ; ad 1c 91
eafd: ora  #$02                 ; 09 02
eaff: bne  $eb0a                ; d0 09
eb01: lda  $c0                  ; a5 c0
eb03: bne  $eb12                ; d0 0d
eb05: lda  $911c                ; ad 1c 91
eb08: and  #$fd                 ; 29 fd
eb0a: bit  $911e                ; 2c 1e 91
eb0d: bvs  $eb12                ; 70 03
eb0f: sta  $911c                ; 8d 1c 91
eb12: jsr  $scnkey              ; 20 1e eb
eb15: bit  $9124                ; 2c 24 91
eb18: pla                       ; 68
eb19: tay                       ; a8
eb1a: pla                       ; 68
eb1b: tax                       ; aa
eb1c: pla                       ; 68
eb1d: rti                       ; 40
scnkey: *** Scan Keyboard
eb1e: lda  #$00                 ; a9 00
eb20: sta  $028d                ; 8d 8d 02
eb23: ldy  #$40                 ; a0 40
eb25: sty  $WHICH_KEY           ; 84 cb
eb27: sta  $VIA2                ; 8d 20 91
eb2a: ldx  $9121                ; ae 21 91
eb2d: cpx  #$ff                 ; e0 ff
eb2f: beq  $eb8f                ; f0 5e
eb31: lda  #$fe                 ; a9 fe
eb33: sta  $VIA2                ; 8d 20 91
eb36: ldy  #$00                 ; a0 00
eb38: lda  #$5e                 ; a9 5e
eb3a: sta  $f5                  ; 85 f5
eb3c: lda  #$ec                 ; a9 ec
eb3e: sta  $f6                  ; 85 f6
eb40: ldx  #$08                 ; a2 08
eb42: lda  $9121                ; ad 21 91
eb45: cmp  $9121                ; cd 21 91
eb48: bne  $eb40                ; d0 f6
eb4a: lsr  a                    ; 4a
eb4b: bcs  $eb63                ; b0 16
eb4d: pha                       ; 48
eb4e: lda  ($f5),Y              ; b1 f5
eb50: cmp  #$05                 ; c9 05
eb52: bcs  $eb60                ; b0 0c
eb54: cmp  #$03                 ; c9 03
eb56: beq  $eb60                ; f0 08
eb58: ora  $028d                ; 0d 8d 02
eb5b: sta  $028d                ; 8d 8d 02
eb5e: bpl  $eb62                ; 10 02
eb60: sty  $WHICH_KEY           ; 84 cb
eb62: pla                       ; 68
eb63: iny                       ; c8
eb64: cpy  #$41                 ; c0 41
eb66: bcs  $eb71                ; b0 09
eb68: dex                       ; ca
eb69: bne  $eb4a                ; d0 df
eb6b: sec                       ; 38
eb6c: rol  $VIA2                ; 2e 20 91
eb6f: bne  $eb40                ; d0 cf
eb71: *** Process Key Image
eb71: jmp  ($028f)              ; 6c 8f 02
eb74: ldy  $WHICH_KEY           ; a4 cb
eb76: lda  ($f5),Y              ; b1 f5
eb78: tax                       ; aa
eb79: cpy  $CURRKEY             ; c4 c5
eb7b: beq  $eb84                ; f0 07
eb7d: ldy  #$10                 ; a0 10
eb7f: sty  $028c                ; 8c 8c 02
eb82: bne  $ebba                ; d0 36
eb84: and  #$7f                 ; 29 7f
eb86: bit  $028a                ; 2c 8a 02
eb89: bmi  $eba1                ; 30 16
eb8b: bvs  $ebd6                ; 70 49
eb8d: cmp  #$7f                 ; c9 7f
eb8f: beq  $ebba                ; f0 29
eb91: cmp  #$14                 ; c9 14
eb93: beq  $eba1                ; f0 0c
eb95: cmp  #$20                 ; c9 20
eb97: beq  $eba1                ; f0 08
eb99: cmp  #$1d                 ; c9 1d
eb9b: beq  $eba1                ; f0 04
eb9d: cmp  #$11                 ; c9 11
eb9f: bne  $ebd6                ; d0 35
eba1: ldy  $028c                ; ac 8c 02
eba4: beq  $ebab                ; f0 05
eba6: dec  $028c                ; ce 8c 02
eba9: bne  $ebd6                ; d0 2b
ebab: dec  $028b                ; ce 8b 02
ebae: bne  $ebd6                ; d0 26
ebb0: ldy  #$04                 ; a0 04
ebb2: sty  $028b                ; 8c 8b 02
ebb5: ldy  $NO_KEYS             ; a4 c6
ebb7: dey                       ; 88
ebb8: bpl  $ebd6                ; 10 1c
ebba: ldy  $WHICH_KEY           ; a4 cb
ebbc: sty  $CURRKEY             ; 84 c5
ebbe: ldy  $028d                ; ac 8d 02
ebc1: sty  $028e                ; 8c 8e 02
ebc4: cpx  #$ff                 ; e0 ff
ebc6: beq  $ebd6                ; f0 0e
ebc8: txa                       ; 8a
ebc9: ldx  $NO_KEYS             ; a6 c6
ebcb: cpx  $KB_BUFF_SIZE        ; ec 89 02
ebce: bcs  $ebd6                ; b0 06
ebd0: sta  $KB_BUFF,X           ; 9d 77 02
ebd3: inx                       ; e8
ebd4: stx  $NO_KEYS             ; 86 c6
ebd6: lda  #$f7                 ; a9 f7
ebd8: sta  $VIA2                ; 8d 20 91
ebdb: rts                       ; 60
ebdc: lda  $028d                ; ad 8d 02
ebdf: cmp  #$03                 ; c9 03
ebe1: bne  $ec0f                ; d0 2c
ebe3: cmp  $028e                ; cd 8e 02
ebe6: beq  $ebd6                ; f0 ee
ebe8: lda  $0291                ; ad 91 02
ebeb: bmi  $ec43                ; 30 56
ebed: nop                       ; ea
ebee: nop                       ; ea
ebef: nop                       ; ea
ebf0: nop                       ; ea
ebf1: nop                       ; ea
ebf2: nop                       ; ea
ebf3: nop                       ; ea
ebf4: nop                       ; ea
ebf5: nop                       ; ea
ebf6: nop                       ; ea
ebf7: nop                       ; ea
ebf8: nop                       ; ea
ebf9: nop                       ; ea
ebfa: nop                       ; ea
ebfb: nop                       ; ea
ebfc: nop                       ; ea
ebfd: nop                       ; ea
ebfe: nop                       ; ea
ebff: nop                       ; ea
ec00: lda  $9005                ; ad 05 90
ec03: eor  #$02                 ; 49 02
ec05: sta  $9005                ; 8d 05 90
ec08: nop                       ; ea
ec09: nop                       ; ea
ec0a: nop                       ; ea
ec0b: nop                       ; ea
ec0c: jmp  $ec43                ; 4c 43 ec
ec0f: asl  a                    ; 0a
ec10: cmp  #$08                 ; c9 08
ec12: bcc  $ec18                ; 90 04
ec14: lda  #$06                 ; a9 06
ec16: nop                       ; ea
ec17: nop                       ; ea
ec18: nop                       ; ea
ec19: nop                       ; ea
ec1a: nop                       ; ea
ec1b: nop                       ; ea
ec1c: nop                       ; ea
ec1d: nop                       ; ea
ec1e: nop                       ; ea
ec1f: nop                       ; ea
ec20: nop                       ; ea
ec21: nop                       ; ea
ec22: nop                       ; ea
ec23: nop                       ; ea
ec24: nop                       ; ea
ec25: nop                       ; ea
ec26: nop                       ; ea
ec27: nop                       ; ea
ec28: nop                       ; ea
ec29: nop                       ; ea
ec2a: nop                       ; ea
ec2b: nop                       ; ea
ec2c: nop                       ; ea
ec2d: nop                       ; ea
ec2e: nop                       ; ea
ec2f: nop                       ; ea
ec30: nop                       ; ea
ec31: nop                       ; ea
ec32: nop                       ; ea
ec33: nop                       ; ea
ec34: nop                       ; ea
ec35: nop                       ; ea
ec36: nop                       ; ea
ec37: nop                       ; ea
ec38: tax                       ; aa
ec39: lda  $ec46,X              ; bd 46 ec
ec3c: sta  $f5                  ; 85 f5
ec3e: lda  $ec47,X              ; bd 47 ec
ec41: sta  $f6                  ; 85 f6
ec43: jmp  $eb74                ; 4c 74 eb
ec46: *** Pointers to Keyboard decoding tables
ec46: lsr  $9fec,X              ; 5e ec 9f
ec49: cpx  $ece0                ; ec e0 ec
ec4c: ???                       ; a3
ec4d: sbc  $ec5e                ; ed 5e ec
ec50: ???                       ; 9f
ec51: cpx  $ed69                ; ec 69 ed
ec54: ???                       ; a3
ec55: sbc  $ed21                ; ed 21 ed
ec58: adc  #$ed                 ; 69 ed
ec5a: adc  #$ed                 ; 69 ed
ec5c: ???                       ; a3
ec5d: sbc  $3331                ; ed 31 33
ec60: and  $MEM_LIMIT,X         ; 35 37
ec62: and  $5c2b,Y              ; 39 2b 5c
ec65: ???                       ; 14
ec66: ???                       ; 5f
ec67: ???                       ; 57
ec68: ???                       ; 52
ec69: eor  $5049,Y              ; 59 49 50
ec6c: rol  a                    ; 2a
ec6d: ora  $4104                ; 0d 04 41
ec70: ???                       ; 44
ec71: ???                       ; 47
ec72: lsr  a                    ; 4a
ec73: jmp  $1d3b                ; 4c 3b 1d
ec76: ???                       ; 03
ec77: ora  ($58,X)              ; 01 58
ec79: lsr  $4e,X                ; 56 4e
ec7b: bit  $112f                ; 2c 2f 11
ec7e: jsr  $435a                ; 20 5a 43
ec81: ???                       ; 42
ec82: eor  $012e                ; 4d 2e 01
ec85: sta  $02                  ; 85 02
ec87: ???                       ; 53
ec88: lsr  $48                  ; 46 48
ec8a: ???                       ; 4b
ec8b: ???                       ; 3a
ec8c: and  $5186,X              ; 3d 86 51
ec8f: eor  $54                  ; 45 54
ec91: eor  $4f,X                ; 55 4f
ec93: rti                       ; 40
ec94: lsr  $3287,X              ; 5e 87 32
ec97: ???                       ; 34
ec98: rol  $38,X                ; 36 38
ec9a: bmi  $ecc9                ; 30 2d
ec9c: ???                       ; 13
ec9d: dey                       ; 88
ec9e: ???                       ; ff
ec9f: *** Keyboard Decoding Table - Shifted (DATA)
ec9f: and  ($23,X)              ; 21 23
eca1: and  $27                  ; 25 27
eca3: and  #$db                 ; 29 db
eca5: lda  #$94                 ; a9 94
eca7: ???                       ; 5f
eca8: ???                       ; d7
eca9: ???                       ; d2
ecaa: cmp  $d0c9,Y              ; d9 c9 d0
ecad: cpy  #$8d                 ; c0 8d
ecaf: ???                       ; 04
ecb0: cmp  ($c4,X)              ; c1 c4
ecb2: ???                       ; c7
ecb3: dex                       ; ca
ecb4: cpy  $9d5d                ; cc 5d 9d
ecb7: ???                       ; 83
ecb8: ora  ($NO_INSERTS,X)      ; 01 d8
ecba: dec  $ce,X                ; d6 ce
ecbc: ???                       ; 3c
ecbd: ???                       ; 3f
ecbe: sta  ($JIFFY),Y           ; 91 a0
ecc0: ???                       ; da
ecc1: ???                       ; c3
ecc2: ???                       ; c2
ecc3: cmp  $013e                ; cd 3e 01
ecc6: ???                       ; 89
ecc7: ???                       ; 02
ecc8: ???                       ; d3
ecc9: dec  $c8                  ; c6 c8
eccb: ???                       ; cb
eccc: ???                       ; 5b
eccd: and  $d18a,X              ; 3d 8a d1
ecd0: cmp  $d4                  ; c5 d4
ecd2: cmp  $cf,X                ; d5 cf
ecd4: tsx                       ; ba
ecd5: dec  $228b,X              ; de 8b 22
ecd8: bit  $26                  ; 24 26
ecda: plp                       ; 28
ecdb: bmi  $ecba                ; 30 dd
ecdd: ???                       ; 93
ecde: sty  $21ff                ; 8c ff 21
ece1: ???                       ; 23
ece2: and  $27                  ; 25 27
ece4: and  #$a6                 ; 29 a6
ece6: tay                       ; a8
ece7: sty  $5f,X                ; 94 5f
ece9: ???                       ; b3
ecea: ???                       ; b2
eceb: ???                       ; b7
ecec: ldx  #$af                 ; a2 af
ecee: ???                       ; df
ecef: sta  $b004                ; 8d 04 b0
ecf2: ldy  $b5a5                ; ac a5 b5
ecf5: ldx  $5d,Y                ; b6 5d
ecf7: sta  $0183,X              ; 9d 83 01
ecfa: lda  $aabe,X              ; bd be aa
ecfd: ???                       ; 3c
ecfe: ???                       ; 3f
ecff: sta  ($JIFFY),Y           ; 91 a0
ed01: lda  $bfbc                ; ad bc bf
ed04: ???                       ; a7
ed05: rol  $8901,X              ; 3e 01 89
ed08: ???                       ; 02
ed09: ldx  $b4bb                ; ae bb b4
ed0c: lda  ($5b,X)              ; a1 5b
ed0e: and  $ab8a,X              ; 3d 8a ab
ed11: lda  ($a3),Y              ; b1 a3
ed13: clv                       ; b8
ed14: lda  $dea4,Y              ; b9 a4 de
ed17: ???                       ; 8b
ed18: ???                       ; 22
ed19: bit  $26                  ; 24 26
ed1b: plp                       ; 28
ed1c: bmi  $ecfa                ; 30 dc
ed1e: ???                       ; 93
ed1f: sty  $c9ff                ; 8c ff c9
ed22: asl  $0bd0                ; 0e d0 0b
ed25: lda  #$02                 ; a9 02
ed27: ora  $9005                ; 0d 05 90
ed2a: sta  $9005                ; 8d 05 90
ed2d: jmp  $e6dc                ; 4c dc e6
ed30: cmp  #$8e                 ; c9 8e
ed32: bne  $ed3f                ; d0 0b
ed34: lda  #$fd                 ; a9 fd
ed36: and  $9005                ; 2d 05 90
ed39: sta  $9005                ; 8d 05 90
ed3c: jmp  $e6dc                ; 4c dc e6
ed3f: cmp  #$08                 ; c9 08
ed41: bne  $ed4d                ; d0 0a
ed43: lda  #$80                 ; a9 80
ed45: ora  $0291                ; 0d 91 02
ed48: sta  $0291                ; 8d 91 02
ed4b: bmi  $ed3c                ; 30 ef
ed4d: cmp  #$09                 ; c9 09
ed4f: bne  $ed3c                ; d0 eb
ed51: lda  #$7f                 ; a9 7f
ed53: and  $0291                ; 2d 91 02
ed56: sta  $0291                ; 8d 91 02
ed59: bpl  $ed3c                ; 10 e1
ed5b: inx                       ; e8
ed5c: lda  $SCRLINK,X           ; b5 d9
ed5e: ora  #$80                 ; 09 80
ed60: sta  $SCRLINK,X           ; 95 d9
ed62: dex                       ; ca
ed63: lda  $SCRLINE_LEN         ; a5 d5
ed65: clc                       ; 18
ed66: jmp  $e715                ; 4c 15 e7
ed69: *** Keyboard Decoding Table (DATA)
ed69: ???                       ; ff
ed6a: ???                       ; ff
ed6b: ???                       ; ff
ed6c: ???                       ; ff
ed6d: ???                       ; ff
ed6e: ???                       ; ff
ed6f: ???                       ; ff
ed70: ???                       ; ff
ed71: ???                       ; ff
ed72: ???                       ; 04
ed73: ???                       ; ff
ed74: ???                       ; ff
ed75: ???                       ; ff
ed76: ???                       ; ff
ed77: ???                       ; ff
ed78: ???                       ; e2
ed79: sta  $0183,X              ; 9d 83 01
ed7c: ???                       ; ff
ed7d: ???                       ; ff
ed7e: ???                       ; ff
ed7f: ???                       ; ff
ed80: ???                       ; ff
ed81: sta  ($JIFFY),Y           ; 91 a0
ed83: ???                       ; ff
ed84: ???                       ; ff
ed85: ???                       ; ff
ed86: ???                       ; ff
ed87: inc  $8901                ; ee 01 89
ed8a: ???                       ; 02
ed8b: ???                       ; ff
ed8c: ???                       ; ff
ed8d: ???                       ; ff
ed8e: ???                       ; ff
ed8f: sbc  ($fd,X)              ; e1 fd
ed91: txa                       ; 8a
ed92: ???                       ; ff
ed93: ???                       ; ff
ed94: ???                       ; ff
ed95: ???                       ; ff
ed96: ???                       ; ff
ed97: bcs  $ed79                ; b0 e0
ed99: ???                       ; 8b
ed9a: ???                       ; f2
ed9b: ???                       ; f4
ed9c: inc  $ff,X                ; f6 ff
ed9e: beq  $ed8d                ; f0 ed
eda0: ???                       ; 93
eda1: sty  $90ff                ; 8c ff 90
eda4: ???                       ; 1c
eda5: ???                       ; 9c
eda6: ???                       ; 1f
eda7: ???                       ; 12
eda8: ???                       ; ff
eda9: ???                       ; ff
edaa: ???                       ; ff
edab: asl  $ff                  ; 06 ff
edad: ???                       ; 12
edae: ???                       ; ff
edaf: ???                       ; ff
edb0: ???                       ; ff
edb1: ???                       ; ff
edb2: ???                       ; ff
edb3: ???                       ; ff
edb4: ???                       ; ff
edb5: ???                       ; ff
edb6: ???                       ; ff
edb7: ???                       ; ff
edb8: ???                       ; ff
edb9: ???                       ; ff
edba: ???                       ; ff
edbb: ???                       ; ff
edbc: ???                       ; ff
edbd: ???                       ; ff
edbe: ???                       ; ff
edbf: ???                       ; ff
edc0: ???                       ; ff
edc1: ???                       ; ff
edc2: ???                       ; ff
edc3: ???                       ; ff
edc4: ???                       ; ff
edc5: ???                       ; ff
edc6: ???                       ; ff
edc7: ???                       ; ff
edc8: ???                       ; ff
edc9: ???                       ; ff
edca: ???                       ; ff
edcb: ???                       ; ff
edcc: ???                       ; ff
edcd: ???                       ; ff
edce: ???                       ; ff
edcf: ???                       ; ff
edd0: ???                       ; ff
edd1: ???                       ; ff
edd2: ???                       ; ff
edd3: ???                       ; ff
edd4: ???                       ; ff
edd5: ???                       ; ff
edd6: ???                       ; ff
edd7: ???                       ; ff
edd8: ???                       ; ff
edd9: ???                       ; ff
edda: ???                       ; ff
eddb: ora  $9f                  ; 05 9f
eddd: asl  $929e,X              ; 1e 9e 92
ede0: ???                       ; ff
ede1: ???                       ; ff
ede2: ???                       ; ff
ede3: ???                       ; ff
ede4: *** Video Chip Set Up Table (DATA)
ede4: ???                       ; 0c
ede5: rol  $16                  ; 26 16
ede7: rol  $c000                ; 2e 00 c0
edea: brk                       ; 00
edeb: brk                       ; 00
edec: brk                       ; 00
eded: brk                       ; 00
edee: brk                       ; 00
edef: brk                       ; 00
edf0: brk                       ; 00
edf1: brk                       ; 00
edf2: brk                       ; 00
edf3: ???                       ; 1b
edf4: *** Shift-Run Equivalent (DATA)
edf4: jmp  $414f                ; 4c 4f 41
edf7: ???                       ; 44
edf8: ora  $5552                ; 0d 52 55
edfb: lsr  $000d                ; 4e 0d 00
edfe: asl  $2c,X                ; 16 2c
ee00: ???                       ; 42
ee01: cli                       ; 58
ee02: ror  $9a84                ; 6e 84 9a
ee05: bcs  $edcd                ; b0 c6
ee07: ???                       ; dc
ee08: ???                       ; f2
ee09: php                       ; 08
ee0a: asl  $4a34,X              ; 1e 34 4a
ee0d: rts                       ; 60
ee0e: ror  $8c,X                ; 76 8c
ee10: ldx  #$b8                 ; a2 b8
ee12: dec  $09e4                ; ce e4 09
ee15: rti                       ; 40
ee16: bit  $2009                ; 2c 09 20
ee19: jsr  $f160                ; 20 60 f1
ee1c: pha                       ; 48
ee1d: bit  $94                  ; 24 94
ee1f: bpl  $ee2b                ; 10 0a
ee21: sec                       ; 38
ee22: ror  $a3                  ; 66 a3
ee24: jsr  $ee49                ; 20 49 ee
ee27: lsr  $94                  ; 46 94
ee29: lsr  $a3                  ; 46 a3
ee2b: pla                       ; 68
ee2c: sta  $95                  ; 85 95
ee2e: jsr  $e4a0                ; 20 a0 e4
ee31: cmp  #$3f                 ; c9 3f
ee33: bne  $ee38                ; d0 03
ee35: jsr  $ef84                ; 20 84 ef
ee38: lda  $911f                ; ad 1f 91
ee3b: ora  #$80                 ; 09 80
ee3d: sta  $911f                ; 8d 1f 91
ee40: jsr  $ef8d                ; 20 8d ef
ee43: jsr  $e4a0                ; 20 a0 e4
ee46: jsr  $ef96                ; 20 96 ef
ee49: *** Send Data On Serial Bus
ee49: sei                       ; 78
ee4a: jsr  $e4a0                ; 20 a0 e4
ee4d: jsr  $e4b2                ; 20 b2 e4
ee50: lsr  a                    ; 4a
ee51: bcs  $eeb4                ; b0 61
ee53: jsr  $ef84                ; 20 84 ef
ee56: bit  $a3                  ; 24 a3
ee58: bpl  $ee66                ; 10 0c
ee5a: jsr  $e4b2                ; 20 b2 e4
ee5d: lsr  a                    ; 4a
ee5e: bcc  $ee5a                ; 90 fa
ee60: jsr  $e4b2                ; 20 b2 e4
ee63: lsr  a                    ; 4a
ee64: bcs  $ee60                ; b0 fa
ee66: jsr  $e4b2                ; 20 b2 e4
ee69: lsr  a                    ; 4a
ee6a: bcc  $ee66                ; 90 fa
ee6c: jsr  $ef8d                ; 20 8d ef
ee6f: lda  #$08                 ; a9 08
ee71: sta  $a5                  ; 85 a5
ee73: lda  $911f                ; ad 1f 91
ee76: cmp  $911f                ; cd 1f 91
ee79: bne  $ee73                ; d0 f8
ee7b: lsr  a                    ; 4a
ee7c: lsr  a                    ; 4a
ee7d: bcc  $eeb7                ; 90 38
ee7f: ror  $95                  ; 66 95
ee81: bcs  $ee88                ; b0 05
ee83: jsr  $e4a9                ; 20 a9 e4
ee86: bne  $ee8b                ; d0 03
ee88: jsr  $e4a0                ; 20 a0 e4
ee8b: jsr  $ef84                ; 20 84 ef
ee8e: nop                       ; ea
ee8f: nop                       ; ea
ee90: nop                       ; ea
ee91: nop                       ; ea
ee92: lda  $912c                ; ad 2c 91
ee95: and  #$df                 ; 29 df
ee97: ora  #$02                 ; 09 02
ee99: sta  $912c                ; 8d 2c 91
ee9c: dec  $a5                  ; c6 a5
ee9e: bne  $ee73                ; d0 d3
eea0: lda  #$04                 ; a9 04
eea2: sta  $9129                ; 8d 29 91
eea5: lda  $912d                ; ad 2d 91
eea8: and  #$20                 ; 29 20
eeaa: bne  $eeb7                ; d0 0b
eeac: jsr  $e4b2                ; 20 b2 e4
eeaf: lsr  a                    ; 4a
eeb0: bcs  $eea5                ; b0 f3
eeb2: cli                       ; 58
eeb3: rts                       ; 60
eeb4: *** Flag Errors
eeb4: lda  #$80                 ; a9 80
eeb6: bit  $03a9                ; 2c a9 03
eeb9: jsr  $fe6a                ; 20 6a fe
eebc: cli                       ; 58
eebd: clc                       ; 18
eebe: bcc  $ef09                ; 90 49
second: *** Send LISTEN Secondary Address
eec0: sta  $95                  ; 85 95
eec2: jsr  $ee40                ; 20 40 ee
eec5: *** Clear ATN
eec5: lda  $911f                ; ad 1f 91
eec8: and  #$7f                 ; 29 7f
eeca: sta  $911f                ; 8d 1f 91
eecd: rts                       ; 60
tksa: *** Send TALK Secondary Address
eece: sta  $95                  ; 85 95
eed0: jsr  $ee40                ; 20 40 ee
eed3: *** Wait For Clock
eed3: sei                       ; 78
eed4: jsr  $e4a9                ; 20 a9 e4
eed7: jsr  $eec5                ; 20 c5 ee
eeda: jsr  $ef84                ; 20 84 ef
eedd: jsr  $e4b2                ; 20 b2 e4
eee0: bcs  $eedd                ; b0 fb
eee2: cli                       ; 58
eee3: rts                       ; 60
ciout: *** Send Serial Deferred
eee4: bit  $94                  ; 24 94
eee6: bmi  $eeed                ; 30 05
eee8: sec                       ; 38
eee9: ror  $94                  ; 66 94
eeeb: bne  $eef2                ; d0 05
eeed: pha                       ; 48
eeee: jsr  $ee49                ; 20 49 ee
eef1: pla                       ; 68
eef2: sta  $95                  ; 85 95
eef4: clc                       ; 18
eef5: rts                       ; 60
untlk: *** Send UNTALK on Serial Bus
eef6: jsr  $ef8d                ; 20 8d ef
eef9: lda  $911f                ; ad 1f 91
eefc: ora  #$80                 ; 09 80
eefe: sta  $911f                ; 8d 1f 91
ef01: lda  #$5f                 ; a9 5f
ef03: bit  $3fa9                ; 2c a9 3f
ef06: jsr  $ee1c                ; 20 1c ee
ef09: jsr  $eec5                ; 20 c5 ee
ef0c: txa                       ; 8a
ef0d: ldx  #$0b                 ; a2 0b
ef0f: dex                       ; ca
ef10: bne  $ef0f                ; d0 fd
ef12: tax                       ; aa
ef13: jsr  $ef84                ; 20 84 ef
ef16: jmp  $e4a0                ; 4c a0 e4
acptr: *** Receive From Serial Bus
ef19: sei                       ; 78
ef1a: lda  #$00                 ; a9 00
ef1c: sta  $a5                  ; 85 a5
ef1e: jsr  $ef84                ; 20 84 ef
ef21: jsr  $e4b2                ; 20 b2 e4
ef24: bcc  $ef21                ; 90 fb
ef26: jsr  $e4a0                ; 20 a0 e4
ef29: lda  #$01                 ; a9 01
ef2b: sta  $9129                ; 8d 29 91
ef2e: lda  $912d                ; ad 2d 91
ef31: and  #$20                 ; 29 20
ef33: bne  $ef3c                ; d0 07
ef35: jsr  $e4b2                ; 20 b2 e4
ef38: bcs  $ef2e                ; b0 f4
ef3a: bcc  $ef54                ; 90 18
ef3c: lda  $a5                  ; a5 a5
ef3e: beq  $ef45                ; f0 05
ef40: lda  #$02                 ; a9 02
ef42: jmp  $eeb9                ; 4c b9 ee
ef45: jsr  $e4a9                ; 20 a9 e4
ef48: jsr  $ef0c                ; 20 0c ef
ef4b: lda  #$40                 ; a9 40
ef4d: jsr  $fe6a                ; 20 6a fe
ef50: inc  $a5                  ; e6 a5
ef52: bne  $ef29                ; d0 d5
ef54: lda  #$08                 ; a9 08
ef56: sta  $a5                  ; 85 a5
ef58: lda  $911f                ; ad 1f 91
ef5b: cmp  $911f                ; cd 1f 91
ef5e: bne  $ef58                ; d0 f8
ef60: lsr  a                    ; 4a
ef61: bcc  $ef58                ; 90 f5
ef63: lsr  a                    ; 4a
ef64: ror  $a4                  ; 66 a4
ef66: lda  $911f                ; ad 1f 91
ef69: cmp  $911f                ; cd 1f 91
ef6c: bne  $ef66                ; d0 f8
ef6e: lsr  a                    ; 4a
ef6f: bcs  $ef66                ; b0 f5
ef71: dec  $a5                  ; c6 a5
ef73: bne  $ef58                ; d0 e3
ef75: jsr  $e4a9                ; 20 a9 e4
ef78: lda  $STATUS              ; a5 90
ef7a: beq  $ef7f                ; f0 03
ef7c: jsr  $ef0c                ; 20 0c ef
ef7f: lda  $a4                  ; a5 a4
ef81: cli                       ; 58
ef82: clc                       ; 18
ef83: rts                       ; 60
ef84: *** Serial Clock On
ef84: lda  $912c                ; ad 2c 91
ef87: and  #$fd                 ; 29 fd
ef89: sta  $912c                ; 8d 2c 91
ef8c: rts                       ; 60
ef8d: *** Serial Clock Off
ef8d: lda  $912c                ; ad 2c 91
ef90: ora  #$02                 ; 09 02
ef92: sta  $912c                ; 8d 2c 91
ef95: rts                       ; 60
ef96: *** Delay 1 ms
ef96: lda  #$04                 ; a9 04
ef98: sta  $9129                ; 8d 29 91
ef9b: lda  $912d                ; ad 2d 91
ef9e: and  #$20                 ; 29 20
efa0: beq  $ef9b                ; f0 f9
efa2: rts                       ; 60
efa3: *** RS-232 Send
efa3: lda  $b4                  ; a5 b4
efa5: beq  $efee                ; f0 47
efa7: bmi  $efe8                ; 30 3f
efa9: lsr  $b6                  ; 46 b6
efab: ldx  #$00                 ; a2 00
efad: bcc  $efb0                ; 90 01
efaf: dex                       ; ca
efb0: txa                       ; 8a
efb1: eor  $bd                  ; 45 bd
efb3: sta  $bd                  ; 85 bd
efb5: dec  $b4                  ; c6 b4
efb7: beq  $efbf                ; f0 06
efb9: txa                       ; 8a
efba: and  #$20                 ; 29 20
efbc: sta  $b5                  ; 85 b5
efbe: rts                       ; 60
efbf: lda  #$20                 ; a9 20
efc1: bit  $0294                ; 2c 94 02
efc4: beq  $efda                ; f0 14
efc6: bmi  $efe4                ; 30 1c
efc8: bvs  $efde                ; 70 14
efca: lda  $bd                  ; a5 bd
efcc: bne  $efcf                ; d0 01
efce: dex                       ; ca
efcf: dec  $b4                  ; c6 b4
efd1: lda  $0293                ; ad 93 02
efd4: bpl  $efb9                ; 10 e3
efd6: dec  $b4                  ; c6 b4
efd8: bne  $efb9                ; d0 df
efda: inc  $b4                  ; e6 b4
efdc: bne  $efce                ; d0 f0
efde: lda  $bd                  ; a5 bd
efe0: beq  $efcf                ; f0 ed
efe2: bne  $efce                ; d0 ea
efe4: bvs  $efcf                ; 70 e9
efe6: bvc  $efce                ; 50 e6
efe8: inc  $b4                  ; e6 b4
efea: ldx  #$ff                 ; a2 ff
efec: bne  $efb9                ; d0 cb
efee: *** Send New RS-232 Byte
efee: lda  $0294                ; ad 94 02
eff1: lsr  a                    ; 4a
eff2: bcc  $effb                ; 90 07
eff4: bit  $VIA2                ; 2c 20 91
eff7: bpl  $f016                ; 10 1d
eff9: bvc  $f019                ; 50 1e
effb: lda  #$00                 ; a9 00
effd: sta  $bd                  ; 85 bd
efff: sta  $b5                  ; 85 b5
f001: ldx  $0298                ; ae 98 02
f004: stx  $b4                  ; 86 b4
f006: ldy  $029d                ; ac 9d 02
f009: cpy  $029e                ; cc 9e 02
f00c: beq  $f021                ; f0 13
f00e: lda  ($f9),Y              ; b1 f9
f010: sta  $b6                  ; 85 b6
f012: inc  $029d                ; ee 9d 02
f015: rts                       ; 60
f016: *** 'No DSR' Error
f016: lda  #$40                 ; a9 40
f018: bit  $10a9                ; 2c a9 10
f01b: ora  $0297                ; 0d 97 02
f01e: sta  $0297                ; 8d 97 02
f021: *** Disable Timer
f021: lda  #$40                 ; a9 40
f023: sta  $911e                ; 8d 1e 91
f026: rts                       ; 60
f027: *** Compute Bit Count
f027: ldx  #$09                 ; a2 09
f029: lda  #$20                 ; a9 20
f02b: bit  $0293                ; 2c 93 02
f02e: beq  $f031                ; f0 01
f030: dex                       ; ca
f031: bvc  $f035                ; 50 02
f033: dex                       ; ca
f034: dex                       ; ca
f035: rts                       ; 60
f036: *** RS-232 Receive
f036: ldx  $a9                  ; a6 a9
f038: bne  $f068                ; d0 2e
f03a: dec  $a8                  ; c6 a8
f03c: beq  $f06f                ; f0 31
f03e: bmi  $f04d                ; 30 0d
f040: lda  $a7                  ; a5 a7
f042: eor  $ab                  ; 45 ab
f044: sta  $ab                  ; 85 ab
f046: lsr  $a7                  ; 46 a7
f048: ror  $aa                  ; 66 aa
f04a: rts                       ; 60
f04b: dec  $a8                  ; c6 a8
f04d: lda  $a7                  ; a5 a7
f04f: beq  $f0b3                ; f0 62
f051: lda  $0293                ; ad 93 02
f054: asl  a                    ; 0a
f055: lda  #$01                 ; a9 01
f057: adc  $a8                  ; 65 a8
f059: bne  $f04a                ; d0 ef
f05b: *** Set Up To Receive
f05b: lda  #$90                 ; a9 90
f05d: sta  $911e                ; 8d 1e 91
f060: sta  $a9                  ; 85 a9
f062: lda  #$20                 ; a9 20
f064: sta  $911e                ; 8d 1e 91
f067: rts                       ; 60
f068: *** Process RS-232 Byte
f068: lda  $a7                  ; a5 a7
f06a: bne  $f05b                ; d0 ef
f06c: sta  $a9                  ; 85 a9
f06e: rts                       ; 60
f06f: ldy  $029b                ; ac 9b 02
f072: iny                       ; c8
f073: cpy  $029c                ; cc 9c 02
f076: beq  $f0a2                ; f0 2a
f078: sty  $029b                ; 8c 9b 02
f07b: dey                       ; 88
f07c: lda  $aa                  ; a5 aa
f07e: ldx  $0298                ; ae 98 02
f081: cpx  #$09                 ; e0 09
f083: beq  $f089                ; f0 04
f085: lsr  a                    ; 4a
f086: inx                       ; e8
f087: bne  $f081                ; d0 f8
f089: sta  ($f7),Y              ; 91 f7
f08b: lda  #$20                 ; a9 20
f08d: bit  $0294                ; 2c 94 02
f090: beq  $f04b                ; f0 b9
f092: bmi  $f04a                ; 30 b6
f094: lda  $a7                  ; a5 a7
f096: eor  $ab                  ; 45 ab
f098: beq  $f09d                ; f0 03
f09a: bvs  $f04a                ; 70 ae
f09c: bit  $ab50                ; 2c 50 ab
f09f: lda  #$01                 ; a9 01
f0a1: bit  $04a9                ; 2c a9 04
f0a4: bit  $80a9                ; 2c a9 80
f0a7: bit  $02a9                ; 2c a9 02
f0aa: ora  $0297                ; 0d 97 02
f0ad: sta  $0297                ; 8d 97 02
f0b0: jmp  $f05b                ; 4c 5b f0
f0b3: lda  $aa                  ; a5 aa
f0b5: bne  $f0a8                ; d0 f1
f0b7: beq  $f0a5                ; f0 ec
f0b9: jmp  $f796                ; 4c 96 f7
f0bc: *** Submit to RS-232
f0bc: sta  $OUTDEV              ; 85 9a
f0be: lda  $0294                ; ad 94 02
f0c1: lsr  a                    ; 4a
f0c2: bcc  $f0eb                ; 90 27
f0c4: lda  #$02                 ; a9 02
f0c6: bit  $VIA1                ; 2c 10 91
f0c9: bpl  $f0e8                ; 10 1d
f0cb: bne  $f0eb                ; d0 1e
f0cd: lda  $911e                ; ad 1e 91
f0d0: and  #$30                 ; 29 30
f0d2: bne  $f0cd                ; d0 f9
f0d4: bit  $VIA1                ; 2c 10 91
f0d7: bvs  $f0d4                ; 70 fb
f0d9: lda  $VIA1                ; ad 10 91
f0dc: ora  #$02                 ; 09 02
f0de: sta  $VIA1                ; 8d 10 91
f0e1: bit  $VIA1                ; 2c 10 91
f0e4: bvs  $f0eb                ; 70 05
f0e6: bmi  $f0e1                ; 30 f9
f0e8: jsr  $f016                ; 20 16 f0
f0eb: clc                       ; 18
f0ec: rts                       ; 60
f0ed: *** Send to RS-232 Buffer
f0ed: ldy  $029e                ; ac 9e 02
f0f0: iny                       ; c8
f0f1: cpy  $029d                ; cc 9d 02
f0f4: beq  $f0ed                ; f0 f7
f0f6: sty  $029e                ; 8c 9e 02
f0f9: dey                       ; 88
f0fa: sta  ($f9),Y              ; 91 f9
f0fc: bit  $911e                ; 2c 1e 91
f0ff: bvc  $f102                ; 50 01
f101: rts                       ; 60
f102: lda  $0299                ; ad 99 02
f105: sta  $9114                ; 8d 14 91
f108: lda  $029a                ; ad 9a 02
f10b: sta  $9115                ; 8d 15 91
f10e: lda  #$c0                 ; a9 c0
f110: sta  $911e                ; 8d 1e 91
f113: jmp  $efee                ; 4c ee ef
f116: *** Input From RS-232
f116: sta  $INPDEV              ; 85 99
f118: lda  $0294                ; ad 94 02
f11b: lsr  a                    ; 4a
f11c: bcc  $f146                ; 90 28
f11e: and  #$08                 ; 29 08
f120: beq  $f146                ; f0 24
f122: lda  #$02                 ; a9 02
f124: bit  $VIA1                ; 2c 10 91
f127: bpl  $f0e8                ; 10 bf
f129: beq  $f144                ; f0 19
f12b: bit  $911e                ; 2c 1e 91
f12e: bvs  $f12b                ; 70 fb
f130: lda  $VIA1                ; ad 10 91
f133: and  #$fd                 ; 29 fd
f135: sta  $VIA1                ; 8d 10 91
f138: lda  $VIA1                ; ad 10 91
f13b: and  #$04                 ; 29 04
f13d: beq  $f138                ; f0 f9
f13f: lda  #$90                 ; a9 90
f141: sta  $911e                ; 8d 1e 91
f144: clc                       ; 18
f145: rts                       ; 60
f146: lda  $911e                ; ad 1e 91
f149: and  #$30                 ; 29 30
f14b: beq  $f13f                ; f0 f2
f14d: clc                       ; 18
f14e: rts                       ; 60
f14f: *** Get From RS-232
f14f: ldy  $029c                ; ac 9c 02
f152: cpy  $029b                ; cc 9b 02
f155: beq  $f15d                ; f0 06
f157: lda  ($f7),Y              ; b1 f7
f159: inc  $029c                ; ee 9c 02
f15c: rts                       ; 60
f15d: lda  #$00                 ; a9 00
f15f: rts                       ; 60
f160: *** Serial Bus Idle
f160: pha                       ; 48
f161: lda  $911e                ; ad 1e 91
f164: beq  $f172                ; f0 0c
f166: lda  $911e                ; ad 1e 91
f169: and  #$60                 ; 29 60
f16b: bne  $f166                ; d0 f9
f16d: lda  #$10                 ; a9 10
f16f: sta  $911e                ; 8d 1e 91
f172: pla                       ; 68
f173: rts                       ; 60
f174: *** Table of Kernal I/O Messages (DATA)
f174: ora  $2f49                ; 0d 49 2f
f177: ???                       ; 4f
f178: jsr  $5245                ; 20 45 52
f17b: ???                       ; 52
f17c: ???                       ; 4f
f17d: ???                       ; 52
f17e: jsr  $0da3                ; 20 a3 0d
f181: ???                       ; 53
f182: eor  $41                  ; 45 41
f184: ???                       ; 52
f185: ???                       ; 43
f186: pha                       ; 48
f187: eor  #$4e                 ; 49 4e
f189: ???                       ; 47
f18a: ldy  #$46                 ; a0 46
f18c: ???                       ; 4f
f18d: ???                       ; 52
f18e: ldy  #$0d                 ; a0 0d
f190: bvc  $f1e4                ; 50 52
f192: eor  $53                  ; 45 53
f194: ???                       ; 53
f195: jsr  $4c50                ; 20 50 4c
f198: eor  ($59,X)              ; 41 59
f19a: jsr  $4e4f                ; 20 4f 4e
f19d: jsr  $4154                ; 20 54 41
f1a0: bvc  $f167                ; 50 c5
f1a2: bvc  $f1f6                ; 50 52
f1a4: eor  $53                  ; 45 53
f1a6: ???                       ; 53
f1a7: jsr  $4552                ; 20 52 45
f1aa: ???                       ; 43
f1ab: ???                       ; 4f
f1ac: ???                       ; 52
f1ad: ???                       ; 44
f1ae: jsr  $2026                ; 20 26 20
f1b1: bvc  $f1ff                ; 50 4c
f1b3: eor  ($59,X)              ; 41 59
f1b5: jsr  $4e4f                ; 20 4f 4e
f1b8: jsr  $4154                ; 20 54 41
f1bb: bvc  $f182                ; 50 c5
f1bd: ora  $4f4c                ; 0d 4c 4f
f1c0: eor  ($44,X)              ; 41 44
f1c2: eor  #$4e                 ; 49 4e
f1c4: ???                       ; c7
f1c5: ora  $4153                ; 0d 53 41
f1c8: lsr  $49,X                ; 56 49
f1ca: lsr  $a047                ; 4e 47 a0
f1cd: ora  $4556                ; 0d 56 45
f1d0: ???                       ; 52
f1d1: eor  #$46                 ; 49 46
f1d3: eor  $4e49,Y              ; 59 49 4e
f1d6: ???                       ; c7
f1d7: ora  $4f46                ; 0d 46 4f
f1da: eor  $4e,X                ; 55 4e
f1dc: ???                       ; 44
f1dd: ldy  #$0d                 ; a0 0d
f1df: ???                       ; 4f
f1e0: ???                       ; 4b
f1e1: sta  $9d24                ; 8d 24 9d
f1e4: bpl  $f1f3                ; 10 0d
f1e6: *** Print Message
f1e6: lda  $f174,Y              ; b9 74 f1
f1e9: php                       ; 08
f1ea: and  #$7f                 ; 29 7f
f1ec: jsr  $(ichrout)           ; 20 d2 ff
f1ef: iny                       ; c8
f1f0: plp                       ; 28
f1f1: bpl  $f1e6                ; 10 f3
f1f3: clc                       ; 18
f1f4: rts                       ; 60
getin: *** Get a byte
f1f5: lda  $INPDEV              ; a5 99
f1f7: bne  $f201                ; d0 08
f1f9: lda  $NO_KEYS             ; a5 c6
f1fb: beq  $f26a                ; f0 6d
f1fd: sei                       ; 78
f1fe: jmp  $lp2                 ; 4c cf e5
f201: cmp  #$02                 ; c9 02
f203: bne  $f21d                ; d0 18
f205: sty  $97                  ; 84 97
f207: jsr  $f14f                ; 20 4f f1
f20a: ldy  $97                  ; a4 97
f20c: clc                       ; 18
f20d: rts                       ; 60
chrin: *** Input a byte
f20e: lda  $INPDEV              ; a5 99
f210: bne  $f21d                ; d0 0b
f212: lda  $CURSOR_COL          ; a5 d3
f214: sta  $ca                  ; 85 ca
f216: lda  $CURSOR_ROW          ; a5 d6
f218: sta  $c9                  ; 85 c9
f21a: jmp  $e64f                ; 4c 4f e6
f21d: cmp  #$03                 ; c9 03
f21f: bne  $f22a                ; d0 09
f221: sta  $d0                  ; 85 d0
f223: lda  $SCRLINE_LEN         ; a5 d5
f225: sta  $c8                  ; 85 c8
f227: jmp  $e64f                ; 4c 4f e6
f22a: bcs  $f264                ; b0 38
f22c: cmp  #$02                 ; c9 02
f22e: beq  $f26f                ; f0 3f
f230: stx  $97                  ; 86 97
f232: jsr  $f250                ; 20 50 f2
f235: bcs  $f24d                ; b0 16
f237: pha                       ; 48
f238: jsr  $f250                ; 20 50 f2
f23b: bcs  $f24a                ; b0 0d
f23d: bne  $f244                ; d0 05
f23f: lda  #$40                 ; a9 40
f241: jsr  $fe6a                ; 20 6a fe
f244: dec  $a6                  ; c6 a6
f246: ldx  $97                  ; a6 97
f248: pla                       ; 68
f249: rts                       ; 60
f24a: tax                       ; aa
f24b: pla                       ; 68
f24c: txa                       ; 8a
f24d: ldx  $97                  ; a6 97
f24f: rts                       ; 60
f250: *** Get From Tape / Serial / RS-232
f250: jsr  $f88a                ; 20 8a f8
f253: bne  $f260                ; d0 0b
f255: jsr  $f8c0                ; 20 c0 f8
f258: bcs  $f26b                ; b0 11
f25a: lda  #$00                 ; a9 00
f25c: sta  $a6                  ; 85 a6
f25e: beq  $f250                ; f0 f0
f260: lda  ($TBUFFADDR),Y       ; b1 b2
f262: clc                       ; 18
f263: rts                       ; 60
f264: lda  $STATUS              ; a5 90
f266: beq  $f26c                ; f0 04
f268: lda  #$0d                 ; a9 0d
f26a: clc                       ; 18
f26b: rts                       ; 60
f26c: jmp  $acptr               ; 4c 19 ef
f26f: jsr  $f205                ; 20 05 f2
f272: bcs  $f279                ; b0 05
f274: cmp  #$00                 ; c9 00
f276: beq  $f26f                ; f0 f7
f278: clc                       ; 18
f279: rts                       ; 60
chrout: *** Output One Character
f27a: pha                       ; 48
f27b: lda  $OUTDEV              ; a5 9a
f27d: cmp  #$03                 ; c9 03
f27f: bne  $f285                ; d0 04
f281: pla                       ; 68
f282: jmp  $e742                ; 4c 42 e7
f285: bcc  $f28b                ; 90 04
f287: pla                       ; 68
f288: jmp  $ciout               ; 4c e4 ee
f28b: cmp  #$02                 ; c9 02
f28d: beq  $f2b9                ; f0 2a
f28f: pla                       ; 68
f290: sta  $9e                  ; 85 9e
f292: pha                       ; 48
f293: txa                       ; 8a
f294: pha                       ; 48
f295: tya                       ; 98
f296: pha                       ; 48
f297: jsr  $f88a                ; 20 8a f8
f29a: bne  $f2aa                ; d0 0e
f29c: jsr  $f8e3                ; 20 e3 f8
f29f: bcs  $f2af                ; b0 0e
f2a1: lda  #$02                 ; a9 02
f2a3: ldy  #$00                 ; a0 00
f2a5: sta  ($TBUFFADDR),Y       ; 91 b2
f2a7: iny                       ; c8
f2a8: sty  $a6                  ; 84 a6
f2aa: lda  $9e                  ; a5 9e
f2ac: sta  ($TBUFFADDR),Y       ; 91 b2
f2ae: clc                       ; 18
f2af: pla                       ; 68
f2b0: tay                       ; a8
f2b1: pla                       ; 68
f2b2: tax                       ; aa
f2b3: pla                       ; 68
f2b4: bcc  $f2b8                ; 90 02
f2b6: lda  #$00                 ; a9 00
f2b8: rts                       ; 60
f2b9: pla                       ; 68
f2ba: stx  $97                  ; 86 97
f2bc: sty  $9e                  ; 84 9e
f2be: jsr  $f0ed                ; 20 ed f0
f2c1: ldx  $97                  ; a6 97
f2c3: ldy  $9e                  ; a4 9e
f2c5: clc                       ; 18
f2c6: rts                       ; 60
chkin: *** Set Input Device
f2c7: jsr  $f3cf                ; 20 cf f3
f2ca: beq  $f2cf                ; f0 03
f2cc: jmp  $f784                ; 4c 84 f7
f2cf: jsr  $f3df                ; 20 df f3
f2d2: lda  $ba                  ; a5 ba
f2d4: beq  $f2ec                ; f0 16
f2d6: cmp  #$03                 ; c9 03
f2d8: beq  $f2ec                ; f0 12
f2da: bcs  $f2f0                ; b0 14
f2dc: cmp  #$02                 ; c9 02
f2de: bne  $f2e3                ; d0 03
f2e0: jmp  $f116                ; 4c 16 f1
f2e3: ldx  $b9                  ; a6 b9
f2e5: cpx  #$60                 ; e0 60
f2e7: beq  $f2ec                ; f0 03
f2e9: jmp  $f78d                ; 4c 8d f7
f2ec: sta  $INPDEV              ; 85 99
f2ee: clc                       ; 18
f2ef: rts                       ; 60
f2f0: tax                       ; aa
f2f1: jsr  $talk                ; 20 14 ee
f2f4: lda  $b9                  ; a5 b9
f2f6: bpl  $f2fe                ; 10 06
f2f8: jsr  $eed3                ; 20 d3 ee
f2fb: jmp  $f301                ; 4c 01 f3
f2fe: jsr  $tksa                ; 20 ce ee
f301: txa                       ; 8a
f302: bit  $STATUS              ; 24 90
f304: bpl  $f2ec                ; 10 e6
f306: jmp  $f78a                ; 4c 8a f7
chkout: *** Set Output Devic
f309: jsr  $f3cf                ; 20 cf f3
f30c: beq  $f311                ; f0 03
f30e: jmp  $f784                ; 4c 84 f7
f311: jsr  $f3df                ; 20 df f3
f314: lda  $ba                  ; a5 ba
f316: bne  $f31b                ; d0 03
f318: jmp  $f790                ; 4c 90 f7
f31b: cmp  #$03                 ; c9 03
f31d: beq  $f32e                ; f0 0f
f31f: bcs  $f332                ; b0 11
f321: cmp  #$02                 ; c9 02
f323: bne  $f328                ; d0 03
f325: jmp  $f0bc                ; 4c bc f0
f328: ldx  $b9                  ; a6 b9
f32a: cpx  #$60                 ; e0 60
f32c: beq  $f318                ; f0 ea
f32e: sta  $OUTDEV              ; 85 9a
f330: clc                       ; 18
f331: rts                       ; 60
f332: tax                       ; aa
f333: jsr  $listn               ; 20 17 ee
f336: lda  $b9                  ; a5 b9
f338: bpl  $f33f                ; 10 05
f33a: jsr  $eec5                ; 20 c5 ee
f33d: bne  $f342                ; d0 03
f33f: jsr  $second              ; 20 c0 ee
f342: txa                       ; 8a
f343: bit  $STATUS              ; 24 90
f345: bpl  $f32e                ; 10 e7
f347: jmp  $f78a                ; 4c 8a f7
close: *** Close File
f34a: jsr  $f3d4                ; 20 d4 f3
f34d: beq  $f351                ; f0 02
f34f: clc                       ; 18
f350: rts                       ; 60
f351: jsr  $f3df                ; 20 df f3
f354: txa                       ; 8a
f355: pha                       ; 48
f356: lda  $ba                  ; a5 ba
f358: beq  $f3b1                ; f0 57
f35a: cmp  #$03                 ; c9 03
f35c: beq  $f3b1                ; f0 53
f35e: bcs  $f3ae                ; b0 4e
f360: cmp  #$02                 ; c9 02
f362: bne  $f38d                ; d0 29
f364: pla                       ; 68
f365: jsr  $f3b2                ; 20 b2 f3
f368: lda  #$7d                 ; a9 7d
f36a: sta  $911e                ; 8d 1e 91
f36d: lda  #$06                 ; a9 06
f36f: sta  $VIA1                ; 8d 10 91
f372: lda  #$ee                 ; a9 ee
f374: sta  $911c                ; 8d 1c 91
f377: jsr  $fe75                ; 20 75 fe
f37a: lda  $f8                  ; a5 f8
f37c: beq  $f37f                ; f0 01
f37e: iny                       ; c8
f37f: lda  $fa                  ; a5 fa
f381: beq  $f384                ; f0 01
f383: iny                       ; c8
f384: lda  #$00                 ; a9 00
f386: sta  $f8                  ; 85 f8
f388: sta  $fa                  ; 85 fa
f38a: jmp  $f53c                ; 4c 3c f5
f38d: lda  $b9                  ; a5 b9
f38f: and  #$0f                 ; 29 0f
f391: beq  $f3b1                ; f0 1e
f393: jsr  $f84d                ; 20 4d f8
f396: lda  #$00                 ; a9 00
f398: jsr  $f290                ; 20 90 f2
f39b: jmp  $e4cf                ; 4c cf e4
f39e: bcs  $f3ce                ; b0 2e
f3a0: lda  $b9                  ; a5 b9
f3a2: cmp  #$62                 ; c9 62
f3a4: bne  $f3b1                ; d0 0b
f3a6: lda  #$05                 ; a9 05
f3a8: jsr  $f7e7                ; 20 e7 f7
f3ab: jmp  $f3b1                ; 4c b1 f3
f3ae: jsr  $f6da                ; 20 da f6
f3b1: pla                       ; 68
f3b2: tax                       ; aa
f3b3: dec  $OPENFILES           ; c6 98
f3b5: cpx  $OPENFILES           ; e4 98
f3b7: beq  $f3cd                ; f0 14
f3b9: ldy  $OPENFILES           ; a4 98
f3bb: lda  $FILE_TABLE,Y        ; b9 59 02
f3be: sta  $FILE_TABLE,X        ; 9d 59 02
f3c1: lda  $DEV_TABLE,Y         ; b9 63 02
f3c4: sta  $DEV_TABLE,X         ; 9d 63 02
f3c7: lda  $SECADDR_TABLE,Y     ; b9 6d 02
f3ca: sta  $SECADDR_TABLE,X     ; 9d 6d 02
f3cd: clc                       ; 18
f3ce: rts                       ; 60
f3cf: *** Find File
f3cf: lda  #$00                 ; a9 00
f3d1: sta  $STATUS              ; 85 90
f3d3: txa                       ; 8a
f3d4: ldx  $OPENFILES           ; a6 98
f3d6: dex                       ; ca
f3d7: bmi  $f3ee                ; 30 15
f3d9: cmp  $FILE_TABLE,X        ; dd 59 02
f3dc: bne  $f3d6                ; d0 f8
f3de: rts                       ; 60
f3df: *** Set File values
f3df: lda  $FILE_TABLE,X        ; bd 59 02
f3e2: sta  $b8                  ; 85 b8
f3e4: lda  $DEV_TABLE,X         ; bd 63 02
f3e7: sta  $ba                  ; 85 ba
f3e9: lda  $SECADDR_TABLE,X     ; bd 6d 02
f3ec: sta  $b9                  ; 85 b9
f3ee: rts                       ; 60
clall: *** Abort All Files
f3ef: lda  #$00                 ; a9 00
f3f1: sta  $OPENFILES           ; 85 98
clrchn: *** Restore Default I/O
f3f3: ldx  #$03                 ; a2 03
f3f5: cpx  $OUTDEV              ; e4 9a
f3f7: bcs  $f3fc                ; b0 03
f3f9: jsr  $unlsn               ; 20 04 ef
f3fc: cpx  $INPDEV              ; e4 99
f3fe: bcs  $f403                ; b0 03
f400: jsr  $untlk               ; 20 f6 ee
f403: stx  $OUTDEV              ; 86 9a
f405: lda  #$00                 ; a9 00
f407: sta  $INPDEV              ; 85 99
f409: rts                       ; 60
open: *** Open File
f40a: ldx  $b8                  ; a6 b8
f40c: bne  $f411                ; d0 03
f40e: jmp  $f78d                ; 4c 8d f7
f411: jsr  $f3cf                ; 20 cf f3
f414: bne  $f419                ; d0 03
f416: jmp  $f781                ; 4c 81 f7
f419: ldx  $OPENFILES           ; a6 98
f41b: cpx  #$0a                 ; e0 0a
f41d: bcc  $f422                ; 90 03
f41f: jmp  $f77e                ; 4c 7e f7
f422: inc  $OPENFILES           ; e6 98
f424: lda  $b8                  ; a5 b8
f426: sta  $FILE_TABLE,X        ; 9d 59 02
f429: lda  $b9                  ; a5 b9
f42b: ora  #$60                 ; 09 60
f42d: sta  $b9                  ; 85 b9
f42f: sta  $SECADDR_TABLE,X     ; 9d 6d 02
f432: lda  $ba                  ; a5 ba
f434: sta  $DEV_TABLE,X         ; 9d 63 02
f437: beq  $f493                ; f0 5a
f439: cmp  #$03                 ; c9 03
f43b: beq  $f493                ; f0 56
f43d: bcc  $f444                ; 90 05
f43f: jsr  $f495                ; 20 95 f4
f442: bcc  $f493                ; 90 4f
f444: cmp  #$02                 ; c9 02
f446: bne  $f44b                ; d0 03
f448: jmp  $f4c7                ; 4c c7 f4
f44b: jsr  $f84d                ; 20 4d f8
f44e: bcs  $f453                ; b0 03
f450: jmp  $f796                ; 4c 96 f7
f453: lda  $b9                  ; a5 b9
f455: and  #$0f                 ; 29 0f
f457: bne  $f478                ; d0 1f
f459: jsr  $f894                ; 20 94 f8
f45c: bcs  $f494                ; b0 36
f45e: jsr  $f647                ; 20 47 f6
f461: lda  $b7                  ; a5 b7
f463: beq  $f46f                ; f0 0a
f465: jsr  $f867                ; 20 67 f8
f468: bcc  $f482                ; 90 18
f46a: beq  $f494                ; f0 28
f46c: jmp  $f787                ; 4c 87 f7
f46f: jsr  $f7af                ; 20 af f7
f472: beq  $f494                ; f0 20
f474: bcc  $f482                ; 90 0c
f476: bcs  $f46c                ; b0 f4
f478: jsr  $f8b7                ; 20 b7 f8
f47b: bcs  $f494                ; b0 17
f47d: lda  #$04                 ; a9 04
f47f: jsr  $f7e7                ; 20 e7 f7
f482: lda  #$bf                 ; a9 bf
f484: ldy  $b9                  ; a4 b9
f486: cpy  #$60                 ; c0 60
f488: beq  $f491                ; f0 07
f48a: ldy  #$00                 ; a0 00
f48c: lda  #$02                 ; a9 02
f48e: sta  ($TBUFFADDR),Y       ; 91 b2
f490: tya                       ; 98
f491: sta  $a6                  ; 85 a6
f493: clc                       ; 18
f494: rts                       ; 60
f495: *** Send Secondary Address
f495: lda  $b9                  ; a5 b9
f497: bmi  $f4c5                ; 30 2c
f499: ldy  $b7                  ; a4 b7
f49b: beq  $f4c5                ; f0 28
f49d: lda  $ba                  ; a5 ba
f49f: jsr  $listn               ; 20 17 ee
f4a2: lda  $b9                  ; a5 b9
f4a4: ora  #$f0                 ; 09 f0
f4a6: jsr  $second              ; 20 c0 ee
f4a9: lda  $STATUS              ; a5 90
f4ab: bpl  $f4b2                ; 10 05
f4ad: pla                       ; 68
f4ae: pla                       ; 68
f4af: jmp  $f78a                ; 4c 8a f7
f4b2: lda  $b7                  ; a5 b7
f4b4: beq  $f4c2                ; f0 0c
f4b6: ldy  #$00                 ; a0 00
f4b8: lda  ($bb),Y              ; b1 bb
f4ba: jsr  $ciout               ; 20 e4 ee
f4bd: iny                       ; c8
f4be: cpy  $b7                  ; c4 b7
f4c0: bne  $f4b8                ; d0 f6
f4c2: jsr  $unlsn               ; 20 04 ef
f4c5: clc                       ; 18
f4c6: rts                       ; 60
f4c7: *** Open RS-232
f4c7: lda  #$06                 ; a9 06
f4c9: sta  $9112                ; 8d 12 91
f4cc: sta  $VIA1                ; 8d 10 91
f4cf: lda  #$ee                 ; a9 ee
f4d1: sta  $911c                ; 8d 1c 91
f4d4: ldy  #$00                 ; a0 00
f4d6: sty  $0297                ; 8c 97 02
f4d9: cpy  $b7                  ; c4 b7
f4db: beq  $f4e7                ; f0 0a
f4dd: lda  ($bb),Y              ; b1 bb
f4df: sta  $0293,Y              ; 99 93 02
f4e2: iny                       ; c8
f4e3: cpy  #$04                 ; c0 04
f4e5: bne  $f4d9                ; d0 f2
f4e7: jsr  $f027                ; 20 27 f0
f4ea: stx  $0298                ; 8e 98 02
f4ed: lda  $0293                ; ad 93 02
f4f0: and  #$0f                 ; 29 0f
f4f2: bne  $f4f4                ; d0 00
f4f4: asl  a                    ; 0a
f4f5: tax                       ; aa
f4f6: lda  $ff5a,X              ; bd 5a ff
f4f9: asl  a                    ; 0a
f4fa: tay                       ; a8
f4fb: lda  $ff5b,X              ; bd 5b ff
f4fe: rol  a                    ; 2a
f4ff: pha                       ; 48
f500: tya                       ; 98
f501: adc  #$c8                 ; 69 c8
f503: sta  $0299                ; 8d 99 02
f506: pla                       ; 68
f507: adc  #$00                 ; 69 00
f509: sta  $029a                ; 8d 9a 02
f50c: lda  $0294                ; ad 94 02
f50f: lsr  a                    ; 4a
f510: bcc  $f51b                ; 90 09
f512: lda  $VIA2                ; ad 20 91
f515: asl  a                    ; 0a
f516: bcs  $f51b                ; b0 03
f518: jmp  $f016                ; 4c 16 f0
f51b: lda  $029b                ; ad 9b 02
f51e: sta  $029c                ; 8d 9c 02
f521: lda  $029e                ; ad 9e 02
f524: sta  $029d                ; 8d 9d 02
f527: jsr  $fe75                ; 20 75 fe
f52a: lda  $f8                  ; a5 f8
f52c: bne  $f533                ; d0 05
f52e: dey                       ; 88
f52f: sty  $f8                  ; 84 f8
f531: stx  $f7                  ; 86 f7
f533: lda  $fa                  ; a5 fa
f535: bne  $f53c                ; d0 05
f537: dey                       ; 88
f538: sty  $fa                  ; 84 fa
f53a: stx  $f9                  ; 86 f9
f53c: sec                       ; 38
f53d: lda  #$f0                 ; a9 f0
f53f: jmp  $fe7b                ; 4c 7b fe
load: *** Load RAM From Device
f542: stx  $c3                  ; 86 c3
f544: sty  $c4                  ; 84 c4
f546: jmp  ($0330)              ; 6c 30 03
LOAD: *** -load-
f549: sta  $93                  ; 85 93
f54b: lda  #$00                 ; a9 00
f54d: sta  $STATUS              ; 85 90
f54f: lda  $ba                  ; a5 ba
f551: bne  $f556                ; d0 03
f553: jmp  $f796                ; 4c 96 f7
f556: cmp  #$03                 ; c9 03
f558: beq  $f553                ; f0 f9
f55a: bcc  $f5ca                ; 90 6e
f55c: *** Load File From Serial Bus
f55c: ldy  $b7                  ; a4 b7
f55e: bne  $f563                ; d0 03
f560: jmp  $f793                ; 4c 93 f7
f563: jsr  $e4bc                ; 20 bc e4
f566: lda  #$60                 ; a9 60
f568: sta  $b9                  ; 85 b9
f56a: jsr  $f495                ; 20 95 f4
f56d: lda  $ba                  ; a5 ba
f56f: jsr  $talk                ; 20 14 ee
f572: lda  $b9                  ; a5 b9
f574: jsr  $tksa                ; 20 ce ee
f577: jsr  $acptr               ; 20 19 ef
f57a: sta  $ae                  ; 85 ae
f57c: lda  $STATUS              ; a5 90
f57e: lsr  a                    ; 4a
f57f: lsr  a                    ; 4a
f580: bcs  $f5c7                ; b0 45
f582: jsr  $acptr               ; 20 19 ef
f585: sta  $af                  ; 85 af
f587: jsr  $e4c1                ; 20 c1 e4
f58a: lda  #$fd                 ; a9 fd
f58c: and  $STATUS              ; 25 90
f58e: sta  $STATUS              ; 85 90
f590: jsr  $(istop)             ; 20 e1 ff
f593: bne  $f598                ; d0 03
f595: jmp  $f6cb                ; 4c cb f6
f598: jsr  $acptr               ; 20 19 ef
f59b: tax                       ; aa
f59c: lda  $STATUS              ; a5 90
f59e: lsr  a                    ; 4a
f59f: lsr  a                    ; 4a
f5a0: bcs  $f58a                ; b0 e8
f5a2: txa                       ; 8a
f5a3: ldy  $93                  ; a4 93
f5a5: beq  $f5b3                ; f0 0c
f5a7: ldy  #$00                 ; a0 00
f5a9: cmp  ($ae),Y              ; d1 ae
f5ab: beq  $f5b5                ; f0 08
f5ad: lda  #$10                 ; a9 10
f5af: jsr  $fe6a                ; 20 6a fe
f5b2: bit  $ae91                ; 2c 91 ae
f5b5: inc  $ae                  ; e6 ae
f5b7: bne  $f5bb                ; d0 02
f5b9: inc  $af                  ; e6 af
f5bb: bit  $STATUS              ; 24 90
f5bd: bvc  $f58a                ; 50 cb
f5bf: jsr  $untlk               ; 20 f6 ee
f5c2: jsr  $f6da                ; 20 da f6
f5c5: bcc  $f641                ; 90 7a
f5c7: jmp  $f787                ; 4c 87 f7
f5ca: *** Load File From Tape
f5ca: cmp  #$02                 ; c9 02
f5cc: bne  $f5d1                ; d0 03
f5ce: jmp  $f0b9                ; 4c b9 f0
f5d1: jsr  $f84d                ; 20 4d f8
f5d4: bcs  $f5d9                ; b0 03
f5d6: jmp  $f796                ; 4c 96 f7
f5d9: jsr  $f894                ; 20 94 f8
f5dc: bcs  $f646                ; b0 68
f5de: jsr  $f647                ; 20 47 f6
f5e1: lda  $b7                  ; a5 b7
f5e3: beq  $f5ee                ; f0 09
f5e5: jsr  $f867                ; 20 67 f8
f5e8: bcc  $f5f5                ; 90 0b
f5ea: beq  $f646                ; f0 5a
f5ec: bcs  $f5c7                ; b0 d9
f5ee: jsr  $f7af                ; 20 af f7
f5f1: beq  $f646                ; f0 53
f5f3: bcs  $f5c7                ; b0 d2
f5f5: lda  $STATUS              ; a5 90
f5f7: and  #$10                 ; 29 10
f5f9: sec                       ; 38
f5fa: bne  $f646                ; d0 4a
f5fc: cpx  #$01                 ; e0 01
f5fe: beq  $f611                ; f0 11
f600: cpx  #$03                 ; e0 03
f602: bne  $f5e1                ; d0 dd
f604: ldy  #$01                 ; a0 01
f606: lda  ($TBUFFADDR),Y       ; b1 b2
f608: sta  $c3                  ; 85 c3
f60a: iny                       ; c8
f60b: lda  ($TBUFFADDR),Y       ; b1 b2
f60d: sta  $c4                  ; 85 c4
f60f: bcs  $f615                ; b0 04
f611: lda  $b9                  ; a5 b9
f613: bne  $f604                ; d0 ef
f615: ldy  #$03                 ; a0 03
f617: lda  ($TBUFFADDR),Y       ; b1 b2
f619: ldy  #$01                 ; a0 01
f61b: sbc  ($TBUFFADDR),Y       ; f1 b2
f61d: tax                       ; aa
f61e: ldy  #$04                 ; a0 04
f620: lda  ($TBUFFADDR),Y       ; b1 b2
f622: ldy  #$02                 ; a0 02
f624: sbc  ($TBUFFADDR),Y       ; f1 b2
f626: tay                       ; a8
f627: clc                       ; 18
f628: txa                       ; 8a
f629: adc  $c3                  ; 65 c3
f62b: sta  $ae                  ; 85 ae
f62d: tya                       ; 98
f62e: adc  $c4                  ; 65 c4
f630: sta  $af                  ; 85 af
f632: lda  $c3                  ; a5 c3
f634: sta  $c1                  ; 85 c1
f636: lda  $c4                  ; a5 c4
f638: sta  $c2                  ; 85 c2
f63a: jsr  $f66a                ; 20 6a f6
f63d: jsr  $f8c9                ; 20 c9 f8
f640: bit  $18                  ; 24 18
f642: ldx  $ae                  ; a6 ae
f644: ldy  $af                  ; a4 af
f646: rts                       ; 60
f647: *** Print "SEARCHING"
f647: lda  $9d                  ; a5 9d
f649: bpl  $f669                ; 10 1e
f64b: ldy  #$0c                 ; a0 0c
f64d: jsr  $f1e6                ; 20 e6 f1
f650: lda  $b7                  ; a5 b7
f652: beq  $f669                ; f0 15
f654: ldy  #$17                 ; a0 17
f656: jsr  $f1e6                ; 20 e6 f1
f659: *** Print Filename
f659: ldy  $b7                  ; a4 b7
f65b: beq  $f669                ; f0 0c
f65d: ldy  #$00                 ; a0 00
f65f: lda  ($bb),Y              ; b1 bb
f661: jsr  $(ichrout)           ; 20 d2 ff
f664: iny                       ; c8
f665: cpy  $b7                  ; c4 b7
f667: bne  $f65f                ; d0 f6
f669: rts                       ; 60
f66a: *** Print "LOADING / VERIFYING"
f66a: ldy  #$49                 ; a0 49
f66c: lda  $93                  ; a5 93
f66e: beq  $f672                ; f0 02
f670: ldy  #$59                 ; a0 59
f672: jmp  $f1e2                ; 4c e2 f1
save: *** Save RAM To Device
f675: stx  $ae                  ; 86 ae
f677: sty  $af                  ; 84 af
f679: tax                       ; aa
f67a: lda  $00,X                ; b5 00
f67c: sta  $c1                  ; 85 c1
f67e: lda  $01,X                ; b5 01
f680: sta  $c2                  ; 85 c2
f682: jmp  ($0332)              ; 6c 32 03
SAVE: *** -save-
f685: lda  $ba                  ; a5 ba
f687: bne  $f68c                ; d0 03
f689: jmp  $f796                ; 4c 96 f7
f68c: cmp  #$03                 ; c9 03
f68e: beq  $f689                ; f0 f9
f690: bcc  $f6f1                ; 90 5f
f692: *** Save to Serial Bus
f692: lda  #$61                 ; a9 61
f694: sta  $b9                  ; 85 b9
f696: ldy  $b7                  ; a4 b7
f698: bne  $f69d                ; d0 03
f69a: jmp  $f793                ; 4c 93 f7
f69d: jsr  $f495                ; 20 95 f4
f6a0: jsr  $f728                ; 20 28 f7
f6a3: lda  $ba                  ; a5 ba
f6a5: jsr  $listn               ; 20 17 ee
f6a8: lda  $b9                  ; a5 b9
f6aa: jsr  $second              ; 20 c0 ee
f6ad: ldy  #$00                 ; a0 00
f6af: jsr  $fbd2                ; 20 d2 fb
f6b2: lda  $ac                  ; a5 ac
f6b4: jsr  $ciout               ; 20 e4 ee
f6b7: lda  $ad                  ; a5 ad
f6b9: jsr  $ciout               ; 20 e4 ee
f6bc: jsr  $fd11                ; 20 11 fd
f6bf: bcs  $f6d7                ; b0 16
f6c1: lda  ($ac),Y              ; b1 ac
f6c3: jsr  $ciout               ; 20 e4 ee
f6c6: jsr  $(istop)             ; 20 e1 ff
f6c9: bne  $f6d2                ; d0 07
f6cb: jsr  $f6da                ; 20 da f6
f6ce: lda  #$00                 ; a9 00
f6d0: sec                       ; 38
f6d1: rts                       ; 60
f6d2: jsr  $fd1b                ; 20 1b fd
f6d5: bne  $f6bc                ; d0 e5
f6d7: jsr  $unlsn               ; 20 04 ef
f6da: bit  $b9                  ; 24 b9
f6dc: bmi  $f6ef                ; 30 11
f6de: lda  $ba                  ; a5 ba
f6e0: jsr  $listn               ; 20 17 ee
f6e3: lda  $b9                  ; a5 b9
f6e5: and  #$ef                 ; 29 ef
f6e7: ora  #$e0                 ; 09 e0
f6e9: jsr  $second              ; 20 c0 ee
f6ec: jsr  $unlsn               ; 20 04 ef
f6ef: clc                       ; 18
f6f0: rts                       ; 60
f6f1: *** Save to Tape
f6f1: cmp  #$02                 ; c9 02
f6f3: bne  $f6f8                ; d0 03
f6f5: jmp  $f0b9                ; 4c b9 f0
f6f8: jsr  $f84d                ; 20 4d f8
f6fb: bcc  $f689                ; 90 8c
f6fd: jsr  $f8b7                ; 20 b7 f8
f700: bcs  $f727                ; b0 25
f702: jsr  $f728                ; 20 28 f7
f705: ldx  #$03                 ; a2 03
f707: lda  $b9                  ; a5 b9
f709: and  #$01                 ; 29 01
f70b: bne  $f70f                ; d0 02
f70d: ldx  #$01                 ; a2 01
f70f: txa                       ; 8a
f710: jsr  $f7e7                ; 20 e7 f7
f713: bcs  $f727                ; b0 12
f715: jsr  $f8e6                ; 20 e6 f8
f718: bcs  $f727                ; b0 0d
f71a: lda  $b9                  ; a5 b9
f71c: and  #$02                 ; 29 02
f71e: beq  $f726                ; f0 06
f720: lda  #$05                 ; a9 05
f722: jsr  $f7e7                ; 20 e7 f7
f725: bit  $18                  ; 24 18
f727: rts                       ; 60
f728: *** Print "SAVING"
f728: lda  $9d                  ; a5 9d
f72a: bpl  $f727                ; 10 fb
f72c: ldy  #$51                 ; a0 51
f72e: jsr  $f1e6                ; 20 e6 f1
f731: jmp  $f659                ; 4c 59 f6
udtim: *** Increment Real-Time Clock
f734: ldx  #$00                 ; a2 00
f736: inc  $a2                  ; e6 a2
f738: bne  $f740                ; d0 06
f73a: inc  $a1                  ; e6 a1
f73c: bne  $f740                ; d0 02
f73e: inc  $JIFFY               ; e6 a0
f740: sec                       ; 38
f741: lda  $a2                  ; a5 a2
f743: sbc  #$01                 ; e9 01
f745: lda  $a1                  ; a5 a1
f747: sbc  #$1a                 ; e9 1a
f749: lda  $JIFFY               ; a5 a0
f74b: sbc  #$4f                 ; e9 4f
f74d: bcc  $f755                ; 90 06
f74f: stx  $JIFFY               ; 86 a0
f751: stx  $a1                  ; 86 a1
f753: stx  $a2                  ; 86 a2
f755: lda  $912f                ; ad 2f 91
f758: cmp  $912f                ; cd 2f 91
f75b: bne  $f755                ; d0 f8
f75d: sta  $91                  ; 85 91
f75f: rts                       ; 60
rdtim: *** Read Real-Time Clock
f760: sei                       ; 78
f761: lda  $a2                  ; a5 a2
f763: ldx  $a1                  ; a6 a1
f765: ldy  $JIFFY               ; a4 a0
settim: *** Set Real-Time Clock
f767: sei                       ; 78
f768: sta  $a2                  ; 85 a2
f76a: stx  $a1                  ; 86 a1
f76c: sty  $JIFFY               ; 84 a0
f76e: cli                       ; 58
f76f: rts                       ; 60
STOP: *** Check STOP Key
f770: lda  $91                  ; a5 91
f772: cmp  #$fe                 ; c9 fe
f774: bne  $f77d                ; d0 07
f776: php                       ; 08
f777: jsr  $(iclrch)            ; 20 cc ff
f77a: sta  $NO_KEYS             ; 85 c6
f77c: plp                       ; 28
f77d: rts                       ; 60
f77e: *** Output 'too many files'
f77e: lda  #$01                 ; a9 01
f780: bit  $02a9                ; 2c a9 02
f783: bit  $03a9                ; 2c a9 03
f786: bit  $04a9                ; 2c a9 04
f789: bit  $05a9                ; 2c a9 05
f78c: bit  $06a9                ; 2c a9 06
f78f: bit  $07a9                ; 2c a9 07
f792: bit  $08a9                ; 2c a9 08
f795: bit  $09a9                ; 2c a9 09
f798: pha                       ; 48
f799: jsr  $(iclrch)            ; 20 cc ff
f79c: ldy  #$00                 ; a0 00
f79e: bit  $9d                  ; 24 9d
f7a0: bvc  $f7ac                ; 50 0a
f7a2: jsr  $f1e6                ; 20 e6 f1
f7a5: pla                       ; 68
f7a6: pha                       ; 48
f7a7: ora  #$30                 ; 09 30
f7a9: jsr  $(ichrout)           ; 20 d2 ff
f7ac: pla                       ; 68
f7ad: sec                       ; 38
f7ae: rts                       ; 60
f7af: *** Find Any Tape Header
f7af: lda  $93                  ; a5 93
f7b1: pha                       ; 48
f7b2: jsr  $f8c0                ; 20 c0 f8
f7b5: pla                       ; 68
f7b6: sta  $93                  ; 85 93
f7b8: bcs  $f7e6                ; b0 2c
f7ba: ldy  #$00                 ; a0 00
f7bc: lda  ($TBUFFADDR),Y       ; b1 b2
f7be: cmp  #$05                 ; c9 05
f7c0: beq  $f7e6                ; f0 24
f7c2: cmp  #$01                 ; c9 01
f7c4: beq  $f7ce                ; f0 08
f7c6: cmp  #$03                 ; c9 03
f7c8: beq  $f7ce                ; f0 04
f7ca: cmp  #$04                 ; c9 04
f7cc: bne  $f7af                ; d0 e1
f7ce: tax                       ; aa
f7cf: bit  $9d                  ; 24 9d
f7d1: bpl  $f7e4                ; 10 11
f7d3: ldy  #$63                 ; a0 63
f7d5: jsr  $f1e6                ; 20 e6 f1
f7d8: ldy  #$05                 ; a0 05
f7da: lda  ($TBUFFADDR),Y       ; b1 b2
f7dc: jsr  $(ichrout)           ; 20 d2 ff
f7df: iny                       ; c8
f7e0: cpy  #$15                 ; c0 15
f7e2: bne  $f7da                ; d0 f6
f7e4: clc                       ; 18
f7e5: dey                       ; 88
f7e6: rts                       ; 60
f7e7: *** Write Tape Header
f7e7: sta  $9e                  ; 85 9e
f7e9: jsr  $f84d                ; 20 4d f8
f7ec: bcc  $f84c                ; 90 5e
f7ee: lda  $c2                  ; a5 c2
f7f0: pha                       ; 48
f7f1: lda  $c1                  ; a5 c1
f7f3: pha                       ; 48
f7f4: lda  $af                  ; a5 af
f7f6: pha                       ; 48
f7f7: lda  $ae                  ; a5 ae
f7f9: pha                       ; 48
f7fa: ldy  #$bf                 ; a0 bf
f7fc: lda  #$20                 ; a9 20
f7fe: sta  ($TBUFFADDR),Y       ; 91 b2
f800: dey                       ; 88
f801: bne  $f7fe                ; d0 fb
f803: lda  $9e                  ; a5 9e
f805: sta  ($TBUFFADDR),Y       ; 91 b2
f807: iny                       ; c8
f808: lda  $c1                  ; a5 c1
f80a: sta  ($TBUFFADDR),Y       ; 91 b2
f80c: iny                       ; c8
f80d: lda  $c2                  ; a5 c2
f80f: sta  ($TBUFFADDR),Y       ; 91 b2
f811: iny                       ; c8
f812: lda  $ae                  ; a5 ae
f814: sta  ($TBUFFADDR),Y       ; 91 b2
f816: iny                       ; c8
f817: lda  $af                  ; a5 af
f819: sta  ($TBUFFADDR),Y       ; 91 b2
f81b: iny                       ; c8
f81c: sty  $9f                  ; 84 9f
f81e: ldy  #$00                 ; a0 00
f820: sty  $9e                  ; 84 9e
f822: ldy  $9e                  ; a4 9e
f824: cpy  $b7                  ; c4 b7
f826: beq  $f834                ; f0 0c
f828: lda  ($bb),Y              ; b1 bb
f82a: ldy  $9f                  ; a4 9f
f82c: sta  ($TBUFFADDR),Y       ; 91 b2
f82e: inc  $9e                  ; e6 9e
f830: inc  $9f                  ; e6 9f
f832: bne  $f822                ; d0 ee
f834: jsr  $f854                ; 20 54 f8
f837: lda  #$69                 ; a9 69
f839: sta  $ab                  ; 85 ab
f83b: jsr  $f8ea                ; 20 ea f8
f83e: tay                       ; a8
f83f: pla                       ; 68
f840: sta  $ae                  ; 85 ae
f842: pla                       ; 68
f843: sta  $af                  ; 85 af
f845: pla                       ; 68
f846: sta  $c1                  ; 85 c1
f848: pla                       ; 68
f849: sta  $c2                  ; 85 c2
f84b: tya                       ; 98
f84c: rts                       ; 60
f84d: *** Get Buffer Address
f84d: ldx  $TBUFFADDR           ; a6 b2
f84f: ldy  $b3                  ; a4 b3
f851: cpy  #$02                 ; c0 02
f853: rts                       ; 60
f854: *** Set Buffer Stat / End Pointers
f854: jsr  $f84d                ; 20 4d f8
f857: txa                       ; 8a
f858: sta  $c1                  ; 85 c1
f85a: clc                       ; 18
f85b: adc  #$c0                 ; 69 c0
f85d: sta  $ae                  ; 85 ae
f85f: tya                       ; 98
f860: sta  $c2                  ; 85 c2
f862: adc  #$00                 ; 69 00
f864: sta  $af                  ; 85 af
f866: rts                       ; 60
f867: *** Find Specific Tape Header
f867: jsr  $f7af                ; 20 af f7
f86a: bcs  $f889                ; b0 1d
f86c: ldy  #$05                 ; a0 05
f86e: sty  $9f                  ; 84 9f
f870: ldy  #$00                 ; a0 00
f872: sty  $9e                  ; 84 9e
f874: cpy  $b7                  ; c4 b7
f876: beq  $f888                ; f0 10
f878: lda  ($bb),Y              ; b1 bb
f87a: ldy  $9f                  ; a4 9f
f87c: cmp  ($TBUFFADDR),Y       ; d1 b2
f87e: bne  $f867                ; d0 e7
f880: inc  $9e                  ; e6 9e
f882: inc  $9f                  ; e6 9f
f884: ldy  $9e                  ; a4 9e
f886: bne  $f874                ; d0 ec
f888: clc                       ; 18
f889: rts                       ; 60
f88a: *** Bump Tape Pointer
f88a: jsr  $f84d                ; 20 4d f8
f88d: inc  $a6                  ; e6 a6
f88f: ldy  $a6                  ; a4 a6
f891: cpy  #$c0                 ; c0 c0
f893: rts                       ; 60
f894: *** Print "PRESS PLAY ON TAPE"
f894: jsr  $f8ab                ; 20 ab f8
f897: beq  $f8b5                ; f0 1c
f899: ldy  #$1b                 ; a0 1b
f89b: jsr  $f1e6                ; 20 e6 f1
f89e: jsr  $f94b                ; 20 4b f9
f8a1: jsr  $f8ab                ; 20 ab f8
f8a4: bne  $f89e                ; d0 f8
f8a6: ldy  #$6a                 ; a0 6a
f8a8: jmp  $f1e6                ; 4c e6 f1
f8ab: *** Check Tape Status
f8ab: lda  #$40                 ; a9 40
f8ad: bit  $911f                ; 2c 1f 91
f8b0: bne  $f8b5                ; d0 03
f8b2: bit  $911f                ; 2c 1f 91
f8b5: clc                       ; 18
f8b6: rts                       ; 60
f8b7: *** Print "PRESS RECORD..."
f8b7: jsr  $f8ab                ; 20 ab f8
f8ba: beq  $f8b5                ; f0 f9
f8bc: ldy  #$2e                 ; a0 2e
f8be: bne  $f89b                ; d0 db
f8c0: *** Initiate Tape Read
f8c0: lda  #$00                 ; a9 00
f8c2: sta  $STATUS              ; 85 90
f8c4: sta  $93                  ; 85 93
f8c6: jsr  $f854                ; 20 54 f8
f8c9: jsr  $f894                ; 20 94 f8
f8cc: bcs  $f8ed                ; b0 1f
f8ce: sei                       ; 78
f8cf: lda  #$00                 ; a9 00
f8d1: sta  $aa                  ; 85 aa
f8d3: sta  $b4                  ; 85 b4
f8d5: sta  $b0                  ; 85 b0
f8d7: sta  $9e                  ; 85 9e
f8d9: sta  $9f                  ; 85 9f
f8db: sta  $9c                  ; 85 9c
f8dd: lda  #$82                 ; a9 82
f8df: ldx  #$0e                 ; a2 0e
f8e1: bne  $f8f4                ; d0 11
f8e3: *** Initiate Tape Write
f8e3: jsr  $f854                ; 20 54 f8
f8e6: lda  #$14                 ; a9 14
f8e8: sta  $ab                  ; 85 ab
f8ea: jsr  $f8b7                ; 20 b7 f8
f8ed: bcs  $f957                ; b0 68
f8ef: sei                       ; 78
f8f0: lda  #$a0                 ; a9 a0
f8f2: ldx  #$08                 ; a2 08
f8f4: *** Common Tape Code
f8f4: ldy  #$7f                 ; a0 7f
f8f6: sty  $912e                ; 8c 2e 91
f8f9: sta  $912e                ; 8d 2e 91
f8fc: jsr  $f160                ; 20 60 f1
f8ff: lda  $0314                ; ad 14 03
f902: sta  $029f                ; 8d 9f 02
f905: lda  $0315                ; ad 15 03
f908: sta  $02a0                ; 8d a0 02
f90b: jsr  $fcfb                ; 20 fb fc
f90e: lda  #$02                 ; a9 02
f910: sta  $be                  ; 85 be
f912: jsr  $fbdb                ; 20 db fb
f915: lda  $911c                ; ad 1c 91
f918: and  #$fd                 ; 29 fd
f91a: ora  #$0c                 ; 09 0c
f91c: sta  $911c                ; 8d 1c 91
f91f: sta  $c0                  ; 85 c0
f921: ldx  #$ff                 ; a2 ff
f923: ldy  #$ff                 ; a0 ff
f925: dey                       ; 88
f926: bne  $f925                ; d0 fd
f928: dex                       ; ca
f929: bne  $f923                ; d0 f8
f92b: sta  $9129                ; 8d 29 91
f92e: cli                       ; 58
f92f: lda  $02a0                ; ad a0 02
f932: cmp  $0315                ; cd 15 03
f935: clc                       ; 18
f936: beq  $f957                ; f0 1f
f938: jsr  $f94b                ; 20 4b f9
f93b: lda  $912d                ; ad 2d 91
f93e: and  #$40                 ; 29 40
f940: beq  $f92f                ; f0 ed
f942: lda  $9114                ; ad 14 91
f945: jsr  $udtim               ; 20 34 f7
f948: jmp  $f92f                ; 4c 2f f9
f94b: *** Check Tape Stop
f94b: jsr  $(istop)             ; 20 e1 ff
f94e: clc                       ; 18
f94f: bne  $f95c                ; d0 0b
f951: jsr  $fccf                ; 20 cf fc
f954: sec                       ; 38
f955: pla                       ; 68
f956: pla                       ; 68
f957: lda  #$00                 ; a9 00
f959: sta  $02a0                ; 8d a0 02
f95c: rts                       ; 60
f95d: *** Set Read Timing
f95d: stx  $b1                  ; 86 b1
f95f: lda  $b0                  ; a5 b0
f961: asl  a                    ; 0a
f962: asl  a                    ; 0a
f963: clc                       ; 18
f964: adc  $b0                  ; 65 b0
f966: clc                       ; 18
f967: adc  $b1                  ; 65 b1
f969: sta  $b1                  ; 85 b1
f96b: lda  #$00                 ; a9 00
f96d: bit  $b0                  ; 24 b0
f96f: bmi  $f972                ; 30 01
f971: rol  a                    ; 2a
f972: asl  $b1                  ; 06 b1
f974: rol  a                    ; 2a
f975: asl  $b1                  ; 06 b1
f977: rol  a                    ; 2a
f978: tax                       ; aa
f979: lda  $9128                ; ad 28 91
f97c: cmp  #$15                 ; c9 15
f97e: bcc  $f979                ; 90 f9
f980: adc  $b1                  ; 65 b1
f982: sta  $9124                ; 8d 24 91
f985: txa                       ; 8a
f986: adc  $9129                ; 6d 29 91
f989: sta  $9125                ; 8d 25 91
f98c: cli                       ; 58
f98d: rts                       ; 60
f98e: *** Read Tape Bits
f98e: ldx  $9129                ; ae 29 91
f991: ldy  #$ff                 ; a0 ff
f993: tya                       ; 98
f994: sbc  $9128                ; ed 28 91
f997: cpx  $9129                ; ec 29 91
f99a: bne  $f98e                ; d0 f2
f99c: stx  $b1                  ; 86 b1
f99e: tax                       ; aa
f99f: sty  $9128                ; 8c 28 91
f9a2: sty  $9129                ; 8c 29 91
f9a5: tya                       ; 98
f9a6: sbc  $b1                  ; e5 b1
f9a8: stx  $b1                  ; 86 b1
f9aa: lsr  a                    ; 4a
f9ab: ror  $b1                  ; 66 b1
f9ad: lsr  a                    ; 4a
f9ae: ror  $b1                  ; 66 b1
f9b0: lda  $b0                  ; a5 b0
f9b2: clc                       ; 18
f9b3: adc  #$3c                 ; 69 3c
f9b5: bit  $9121                ; 2c 21 91
f9b8: cmp  $b1                  ; c5 b1
f9ba: bcs  $fa06                ; b0 4a
f9bc: ldx  $9c                  ; a6 9c
f9be: beq  $f9c3                ; f0 03
f9c0: jmp  $faad                ; 4c ad fa
f9c3: ldx  $a3                  ; a6 a3
f9c5: bmi  $f9e2                ; 30 1b
f9c7: ldx  #$00                 ; a2 00
f9c9: adc  #$30                 ; 69 30
f9cb: adc  $b0                  ; 65 b0
f9cd: cmp  $b1                  ; c5 b1
f9cf: bcs  $f9ed                ; b0 1c
f9d1: inx                       ; e8
f9d2: adc  #$26                 ; 69 26
f9d4: adc  $b0                  ; 65 b0
f9d6: cmp  $b1                  ; c5 b1
f9d8: bcs  $f9f1                ; b0 17
f9da: adc  #$2c                 ; 69 2c
f9dc: adc  $b0                  ; 65 b0
f9de: cmp  $b1                  ; c5 b1
f9e0: bcc  $f9e5                ; 90 03
f9e2: jmp  $fa60                ; 4c 60 fa
f9e5: lda  $b4                  ; a5 b4
f9e7: beq  $fa06                ; f0 1d
f9e9: sta  $a8                  ; 85 a8
f9eb: bne  $fa06                ; d0 19
f9ed: inc  $a9                  ; e6 a9
f9ef: bcs  $f9f3                ; b0 02
f9f1: dec  $a9                  ; c6 a9
f9f3: sec                       ; 38
f9f4: sbc  #$13                 ; e9 13
f9f6: sbc  $b1                  ; e5 b1
f9f8: adc  $92                  ; 65 92
f9fa: sta  $92                  ; 85 92
f9fc: lda  $a4                  ; a5 a4
f9fe: eor  #$01                 ; 49 01
fa00: sta  $a4                  ; 85 a4
fa02: beq  $fa25                ; f0 21
fa04: stx  $d7                  ; 86 d7
fa06: lda  $b4                  ; a5 b4
fa08: beq  $fa22                ; f0 18
fa0a: bit  $912d                ; 2c 2d 91
fa0d: bvc  $fa22                ; 50 13
fa0f: lda  #$00                 ; a9 00
fa11: sta  $a4                  ; 85 a4
fa13: lda  $a3                  ; a5 a3
fa15: bpl  $fa47                ; 10 30
fa17: bmi  $f9e2                ; 30 c9
fa19: ldx  #$a6                 ; a2 a6
fa1b: jsr  $f95d                ; 20 5d f9
fa1e: lda  $9b                  ; a5 9b
fa20: bne  $f9e5                ; d0 c3
fa22: jmp  $ff56                ; 4c 56 ff
fa25: lda  $92                  ; a5 92
fa27: beq  $fa30                ; f0 07
fa29: bmi  $fa2e                ; 30 03
fa2b: dec  $b0                  ; c6 b0
fa2d: bit  $b0e6                ; 2c e6 b0
fa30: lda  #$00                 ; a9 00
fa32: sta  $92                  ; 85 92
fa34: cpx  $d7                  ; e4 d7
fa36: bne  $fa47                ; d0 0f
fa38: txa                       ; 8a
fa39: bne  $f9e5                ; d0 aa
fa3b: lda  $a9                  ; a5 a9
fa3d: bmi  $fa06                ; 30 c7
fa3f: cmp  #$10                 ; c9 10
fa41: bcc  $fa06                ; 90 c3
fa43: sta  $96                  ; 85 96
fa45: bcs  $fa06                ; b0 bf
fa47: txa                       ; 8a
fa48: eor  $9b                  ; 45 9b
fa4a: sta  $9b                  ; 85 9b
fa4c: lda  $b4                  ; a5 b4
fa4e: beq  $fa22                ; f0 d2
fa50: dec  $a3                  ; c6 a3
fa52: bmi  $fa19                ; 30 c5
fa54: lsr  $d7                  ; 46 d7
fa56: ror  $bf                  ; 66 bf
fa58: ldx  #$da                 ; a2 da
fa5a: jsr  $f95d                ; 20 5d f9
fa5d: jmp  $ff56                ; 4c 56 ff
fa60: lda  $96                  ; a5 96
fa62: beq  $fa68                ; f0 04
fa64: lda  $b4                  ; a5 b4
fa66: beq  $fa6c                ; f0 04
fa68: lda  $a3                  ; a5 a3
fa6a: bpl  $f9f1                ; 10 85
fa6c: lsr  $b1                  ; 46 b1
fa6e: lda  #$93                 ; a9 93
fa70: sec                       ; 38
fa71: sbc  $b1                  ; e5 b1
fa73: adc  $b0                  ; 65 b0
fa75: asl  a                    ; 0a
fa76: tax                       ; aa
fa77: jsr  $f95d                ; 20 5d f9
fa7a: inc  $9c                  ; e6 9c
fa7c: lda  $b4                  ; a5 b4
fa7e: bne  $fa91                ; d0 11
fa80: lda  $96                  ; a5 96
fa82: beq  $faaa                ; f0 26
fa84: sta  $a8                  ; 85 a8
fa86: lda  #$00                 ; a9 00
fa88: sta  $96                  ; 85 96
fa8a: lda  #$c0                 ; a9 c0
fa8c: sta  $912e                ; 8d 2e 91
fa8f: sta  $b4                  ; 85 b4
fa91: lda  $96                  ; a5 96
fa93: sta  $b5                  ; 85 b5
fa95: beq  $faa0                ; f0 09
fa97: lda  #$00                 ; a9 00
fa99: sta  $b4                  ; 85 b4
fa9b: lda  #$40                 ; a9 40
fa9d: sta  $912e                ; 8d 2e 91
faa0: lda  $bf                  ; a5 bf
faa2: sta  $bd                  ; 85 bd
faa4: lda  $a8                  ; a5 a8
faa6: ora  $a9                  ; 05 a9
faa8: sta  $b6                  ; 85 b6
faaa: jmp  $ff56                ; 4c 56 ff
faad: *** Store Tape Characters
faad: jsr  $fbdb                ; 20 db fb
fab0: sta  $9c                  ; 85 9c
fab2: ldx  #$da                 ; a2 da
fab4: jsr  $f95d                ; 20 5d f9
fab7: lda  $be                  ; a5 be
fab9: beq  $fabd                ; f0 02
fabb: sta  $a7                  ; 85 a7
fabd: lda  #$0f                 ; a9 0f
fabf: bit  $aa                  ; 24 aa
fac1: bpl  $fada                ; 10 17
fac3: lda  $b5                  ; a5 b5
fac5: bne  $fad3                ; d0 0c
fac7: ldx  $be                  ; a6 be
fac9: dex                       ; ca
faca: bne  $fad7                ; d0 0b
facc: lda  #$08                 ; a9 08
face: jsr  $fe6a                ; 20 6a fe
fad1: bne  $fad7                ; d0 04
fad3: lda  #$00                 ; a9 00
fad5: sta  $aa                  ; 85 aa
fad7: jmp  $ff56                ; 4c 56 ff
fada: bvs  $fb0d                ; 70 31
fadc: bne  $faf6                ; d0 18
fade: lda  $b5                  ; a5 b5
fae0: bne  $fad7                ; d0 f5
fae2: lda  $b6                  ; a5 b6
fae4: bne  $fad7                ; d0 f1
fae6: lda  $a7                  ; a5 a7
fae8: lsr  a                    ; 4a
fae9: lda  $bd                  ; a5 bd
faeb: bmi  $faf0                ; 30 03
faed: bcc  $fb07                ; 90 18
faef: clc                       ; 18
faf0: bcs  $fb07                ; b0 15
faf2: and  #$0f                 ; 29 0f
faf4: sta  $aa                  ; 85 aa
faf6: dec  $aa                  ; c6 aa
faf8: bne  $fad7                ; d0 dd
fafa: lda  #$40                 ; a9 40
fafc: sta  $aa                  ; 85 aa
fafe: jsr  $fbd2                ; 20 d2 fb
fb01: lda  #$00                 ; a9 00
fb03: sta  $ab                  ; 85 ab
fb05: beq  $fad7                ; f0 d0
fb07: lda  #$80                 ; a9 80
fb09: sta  $aa                  ; 85 aa
fb0b: bne  $fad7                ; d0 ca
fb0d: lda  $b5                  ; a5 b5
fb0f: beq  $fb1b                ; f0 0a
fb11: lda  #$04                 ; a9 04
fb13: jsr  $fe6a                ; 20 6a fe
fb16: lda  #$00                 ; a9 00
fb18: jmp  $fb97                ; 4c 97 fb
fb1b: jsr  $fd11                ; 20 11 fd
fb1e: bcc  $fb23                ; 90 03
fb20: jmp  $fb95                ; 4c 95 fb
fb23: ldx  $a7                  ; a6 a7
fb25: dex                       ; ca
fb26: beq  $fb55                ; f0 2d
fb28: lda  $93                  ; a5 93
fb2a: beq  $fb38                ; f0 0c
fb2c: ldy  #$00                 ; a0 00
fb2e: lda  $bd                  ; a5 bd
fb30: cmp  ($ac),Y              ; d1 ac
fb32: beq  $fb38                ; f0 04
fb34: lda  #$01                 ; a9 01
fb36: sta  $b6                  ; 85 b6
fb38: lda  $b6                  ; a5 b6
fb3a: beq  $fb87                ; f0 4b
fb3c: ldx  #$3d                 ; a2 3d
fb3e: cpx  $9e                  ; e4 9e
fb40: bcc  $fb80                ; 90 3e
fb42: ldx  $9e                  ; a6 9e
fb44: lda  $ad                  ; a5 ad
fb46: sta  $0101,X              ; 9d 01 01
fb49: lda  $ac                  ; a5 ac
fb4b: sta  $0100,X              ; 9d 00 01
fb4e: inx                       ; e8
fb4f: inx                       ; e8
fb50: stx  $9e                  ; 86 9e
fb52: jmp  $fb87                ; 4c 87 fb
fb55: ldx  $9f                  ; a6 9f
fb57: cpx  $9e                  ; e4 9e
fb59: beq  $fb90                ; f0 35
fb5b: lda  $ac                  ; a5 ac
fb5d: cmp  $0100,X              ; dd 00 01
fb60: bne  $fb90                ; d0 2e
fb62: lda  $ad                  ; a5 ad
fb64: cmp  $0101,X              ; dd 01 01
fb67: bne  $fb90                ; d0 27
fb69: inc  $9f                  ; e6 9f
fb6b: inc  $9f                  ; e6 9f
fb6d: lda  $93                  ; a5 93
fb6f: beq  $fb7c                ; f0 0b
fb71: lda  $bd                  ; a5 bd
fb73: ldy  #$00                 ; a0 00
fb75: cmp  ($ac),Y              ; d1 ac
fb77: beq  $fb90                ; f0 17
fb79: iny                       ; c8
fb7a: sty  $b6                  ; 84 b6
fb7c: lda  $b6                  ; a5 b6
fb7e: beq  $fb87                ; f0 07
fb80: lda  #$10                 ; a9 10
fb82: jsr  $fe6a                ; 20 6a fe
fb85: bne  $fb90                ; d0 09
fb87: lda  $93                  ; a5 93
fb89: bne  $fb90                ; d0 05
fb8b: tay                       ; a8
fb8c: lda  $bd                  ; a5 bd
fb8e: sta  ($ac),Y              ; 91 ac
fb90: jsr  $fd1b                ; 20 1b fd
fb93: bne  $fbcf                ; d0 3a
fb95: lda  #$80                 ; a9 80
fb97: sta  $aa                  ; 85 aa
fb99: ldx  $be                  ; a6 be
fb9b: dex                       ; ca
fb9c: bmi  $fba0                ; 30 02
fb9e: stx  $be                  ; 86 be
fba0: dec  $a7                  ; c6 a7
fba2: beq  $fbac                ; f0 08
fba4: lda  $9e                  ; a5 9e
fba6: bne  $fbcf                ; d0 27
fba8: sta  $be                  ; 85 be
fbaa: beq  $fbcf                ; f0 23
fbac: jsr  $fccf                ; 20 cf fc
fbaf: jsr  $fbd2                ; 20 d2 fb
fbb2: ldy  #$00                 ; a0 00
fbb4: sty  $ab                  ; 84 ab
fbb6: lda  ($ac),Y              ; b1 ac
fbb8: eor  $ab                  ; 45 ab
fbba: sta  $ab                  ; 85 ab
fbbc: jsr  $fd1b                ; 20 1b fd
fbbf: jsr  $fd11                ; 20 11 fd
fbc2: bcc  $fbb6                ; 90 f2
fbc4: lda  $ab                  ; a5 ab
fbc6: eor  $bd                  ; 45 bd
fbc8: beq  $fbcf                ; f0 05
fbca: lda  #$20                 ; a9 20
fbcc: jsr  $fe6a                ; 20 6a fe
fbcf: jmp  $ff56                ; 4c 56 ff
fbd2: *** Reset Tape Pointer
fbd2: lda  $c2                  ; a5 c2
fbd4: sta  $ad                  ; 85 ad
fbd6: lda  $c1                  ; a5 c1
fbd8: sta  $ac                  ; 85 ac
fbda: rts                       ; 60
fbdb: *** New Character Setup
fbdb: lda  #$08                 ; a9 08
fbdd: sta  $a3                  ; 85 a3
fbdf: lda  #$00                 ; a9 00
fbe1: sta  $a4                  ; 85 a4
fbe3: sta  $a8                  ; 85 a8
fbe5: sta  $9b                  ; 85 9b
fbe7: sta  $a9                  ; 85 a9
fbe9: rts                       ; 60
fbea: *** Send Tone to Tape
fbea: lda  $bd                  ; a5 bd
fbec: lsr  a                    ; 4a
fbed: lda  #$60                 ; a9 60
fbef: bcc  $fbf3                ; 90 02
fbf1: lda  #$b0                 ; a9 b0
fbf3: ldx  #$00                 ; a2 00
fbf5: sta  $9128                ; 8d 28 91
fbf8: stx  $9129                ; 8e 29 91
fbfb: lda  $VIA2                ; ad 20 91
fbfe: eor  #$08                 ; 49 08
fc00: sta  $VIA2                ; 8d 20 91
fc03: and  #$08                 ; 29 08
fc05: rts                       ; 60
fc06: *** Write Data to Tape
fc06: sec                       ; 38
fc07: ror  $ad                  ; 66 ad
fc09: bmi  $fc47                ; 30 3c
fc0b: lda  $a8                  ; a5 a8
fc0d: bne  $fc21                ; d0 12
fc0f: lda  #$10                 ; a9 10
fc11: ldx  #$01                 ; a2 01
fc13: jsr  $fbf5                ; 20 f5 fb
fc16: bne  $fc47                ; d0 2f
fc18: inc  $a8                  ; e6 a8
fc1a: lda  $ad                  ; a5 ad
fc1c: bpl  $fc47                ; 10 29
fc1e: jmp  $fc95                ; 4c 95 fc
fc21: lda  $a9                  ; a5 a9
fc23: bne  $fc2e                ; d0 09
fc25: jsr  $fbf1                ; 20 f1 fb
fc28: bne  $fc47                ; d0 1d
fc2a: inc  $a9                  ; e6 a9
fc2c: bne  $fc47                ; d0 19
fc2e: jsr  $fbea                ; 20 ea fb
fc31: bne  $fc47                ; d0 14
fc33: lda  $a4                  ; a5 a4
fc35: eor  #$01                 ; 49 01
fc37: sta  $a4                  ; 85 a4
fc39: beq  $fc4a                ; f0 0f
fc3b: lda  $bd                  ; a5 bd
fc3d: eor  #$01                 ; 49 01
fc3f: sta  $bd                  ; 85 bd
fc41: and  #$01                 ; 29 01
fc43: eor  $9b                  ; 45 9b
fc45: sta  $9b                  ; 85 9b
fc47: jmp  $ff56                ; 4c 56 ff
fc4a: lsr  $bd                  ; 46 bd
fc4c: dec  $a3                  ; c6 a3
fc4e: lda  $a3                  ; a5 a3
fc50: beq  $fc8c                ; f0 3a
fc52: bpl  $fc47                ; 10 f3
fc54: jsr  $fbdb                ; 20 db fb
fc57: cli                       ; 58
fc58: lda  $a5                  ; a5 a5
fc5a: beq  $fc6e                ; f0 12
fc5c: ldx  #$00                 ; a2 00
fc5e: stx  $d7                  ; 86 d7
fc60: dec  $a5                  ; c6 a5
fc62: ldx  $be                  ; a6 be
fc64: cpx  #$02                 ; e0 02
fc66: bne  $fc6a                ; d0 02
fc68: ora  #$80                 ; 09 80
fc6a: sta  $bd                  ; 85 bd
fc6c: bne  $fc47                ; d0 d9
fc6e: jsr  $fd11                ; 20 11 fd
fc71: bcc  $fc7d                ; 90 0a
fc73: bne  $fc06                ; d0 91
fc75: inc  $ad                  ; e6 ad
fc77: lda  $d7                  ; a5 d7
fc79: sta  $bd                  ; 85 bd
fc7b: bcs  $fc47                ; b0 ca
fc7d: ldy  #$00                 ; a0 00
fc7f: lda  ($ac),Y              ; b1 ac
fc81: sta  $bd                  ; 85 bd
fc83: eor  $d7                  ; 45 d7
fc85: sta  $d7                  ; 85 d7
fc87: jsr  $fd1b                ; 20 1b fd
fc8a: bne  $fc47                ; d0 bb
fc8c: lda  $9b                  ; a5 9b
fc8e: eor  #$01                 ; 49 01
fc90: sta  $bd                  ; 85 bd
fc92: jmp  $ff56                ; 4c 56 ff
fc95: *** Write Tape Leader
fc95: dec  $be                  ; c6 be
fc97: bne  $fc9c                ; d0 03
fc99: jsr  $fd08                ; 20 08 fd
fc9c: lda  #$50                 ; a9 50
fc9e: sta  $a7                  ; 85 a7
fca0: ldx  #$08                 ; a2 08
fca2: sei                       ; 78
fca3: jsr  $fcfb                ; 20 fb fc
fca6: bne  $fc92                ; d0 ea
fca8: lda  #$78                 ; a9 78
fcaa: jsr  $fbf3                ; 20 f3 fb
fcad: bne  $fc92                ; d0 e3
fcaf: dec  $a7                  ; c6 a7
fcb1: bne  $fc92                ; d0 df
fcb3: jsr  $fbdb                ; 20 db fb
fcb6: dec  $ab                  ; c6 ab
fcb8: bpl  $fc92                ; 10 d8
fcba: ldx  #$0a                 ; a2 0a
fcbc: jsr  $fcfb                ; 20 fb fc
fcbf: cli                       ; 58
fcc0: inc  $ab                  ; e6 ab
fcc2: lda  $be                  ; a5 be
fcc4: beq  $fcf6                ; f0 30
fcc6: jsr  $fbd2                ; 20 d2 fb
fcc9: ldx  #$09                 ; a2 09
fccb: stx  $a5                  ; 86 a5
fccd: bne  $fc54                ; d0 85
fccf: *** Restore Normal IRQ
fccf: php                       ; 08
fcd0: sei                       ; 78
fcd1: jsr  $fd08                ; 20 08 fd
fcd4: lda  #$7f                 ; a9 7f
fcd6: sta  $912e                ; 8d 2e 91
fcd9: lda  #$f7                 ; a9 f7
fcdb: sta  $VIA2                ; 8d 20 91
fcde: lda  #$40                 ; a9 40
fce0: sta  $912b                ; 8d 2b 91
fce3: jsr  $fe39                ; 20 39 fe
fce6: lda  $02a0                ; ad a0 02
fce9: beq  $fcf4                ; f0 09
fceb: sta  $0315                ; 8d 15 03
fcee: lda  $029f                ; ad 9f 02
fcf1: sta  $0314                ; 8d 14 03
fcf4: plp                       ; 28
fcf5: rts                       ; 60
fcf6: *** Set IRQ Vector
fcf6: jsr  $fccf                ; 20 cf fc
fcf9: beq  $fc92                ; f0 97
fcfb: lda  $fde9,X              ; bd e9 fd
fcfe: sta  $0314                ; 8d 14 03
fd01: lda  $fdea,X              ; bd ea fd
fd04: sta  $0315                ; 8d 15 03
fd07: rts                       ; 60
fd08: *** Kill Tape Motor
fd08: lda  $911c                ; ad 1c 91
fd0b: ora  #$0e                 ; 09 0e
fd0d: sta  $911c                ; 8d 1c 91
fd10: rts                       ; 60
fd11: *** Check Read / Write Pointer
fd11: sec                       ; 38
fd12: lda  $ac                  ; a5 ac
fd14: sbc  $ae                  ; e5 ae
fd16: lda  $ad                  ; a5 ad
fd18: sbc  $af                  ; e5 af
fd1a: rts                       ; 60
fd1b: *** Bump Read / Write Pointer
fd1b: inc  $ac                  ; e6 ac
fd1d: bne  $fd21                ; d0 02
fd1f: inc  $ad                  ; e6 ad
fd21: rts                       ; 60
fd22: *** Power-Up RESET Entry
fd22: ldx  #$ff                 ; a2 ff
fd24: sei                       ; 78
fd25: txs                       ; 9a
fd26: cld                       ; d8
fd27: jsr  $fd3f                ; 20 3f fd
fd2a: bne  $fd2f                ; d0 03
fd2c: jmp  ($a000)              ; 6c 00 a0
fd2f: jsr  $ramtas              ; 20 8d fd
fd32: jsr  $restor              ; 20 52 fd
fd35: jsr  $ioinit              ; 20 f9 fd
fd38: jsr  $cint1               ; 20 18 e5
fd3b: cli                       ; 58
fd3c: jmp  ($c000)              ; 6c 00 c0
fd3f: *** Check For A-ROM
fd3f: ldx  #$05                 ; a2 05
fd41: lda  $fd4c,X              ; bd 4c fd
fd44: cmp  $a003,X              ; dd 03 a0
fd47: bne  $fd4c                ; d0 03
fd49: dex                       ; ca
fd4a: bne  $fd41                ; d0 f5
fd4c: rts                       ; 60
fd4d: *** ROM Mask 'a0CBM' (DATA)
fd4d: eor  ($30,X)              ; 41 30
fd4f: ???                       ; c3
fd50: ???                       ; c2
fd51: cmp  $6da2                ; cd a2 6d
fd54: ldy  #$fd                 ; a0 fd
fd56: clc                       ; 18
vector: *** Change Vectors For User
fd57: stx  $c3                  ; 86 c3
fd59: sty  $c4                  ; 84 c4
fd5b: ldy  #$1f                 ; a0 1f
fd5d: lda  $0314,Y              ; b9 14 03
fd60: bcs  $fd64                ; b0 02
fd62: lda  ($c3),Y              ; b1 c3
fd64: sta  ($c3),Y              ; 91 c3
fd66: sta  $0314,Y              ; 99 14 03
fd69: dey                       ; 88
fd6a: bpl  $fd5d                ; 10 f1
fd6c: rts                       ; 60
fd6d: *** Kernal Reset Vectors
fd6d: ???                       ; bf
fd6e: *** Kernal Reset Vectors
fd6e: nop                       ; ea
fd6f: ???                       ; d2
fd70: inc  $fead,X              ; fe ad fe
fd73: asl  a                    ; 0a
fd74: ???                       ; f4
fd75: lsr  a                    ; 4a
fd76: ???                       ; f3
fd77: ???                       ; c7
fd78: ???                       ; f2
fd79: ora  #$f3                 ; 09 f3
fd7b: ???                       ; f3
fd7c: ???                       ; f3
fd7d: asl  $7af2                ; 0e f2 7a
fd80: ???                       ; f2
fd81: bvs  $fd7a                ; 70 f7
fd83: sbc  $f1,X                ; f5 f1
fd85: ???                       ; ef
fd86: ???                       ; f3
fd87: ???                       ; d2
fd88: inc  $LOAD,X              ; fe 49 f5
fd8b: sta  $f6                  ; 85 f6
ramtas: *** Initialise System Constants
fd8d: lda  #$00                 ; a9 00
fd8f: tax                       ; aa
fd90: sta  $00,X                ; 95 00
fd92: sta  $BASINP_BUFF,X       ; 9d 00 02
fd95: sta  $ERRLNK,X            ; 9d 00 03
fd98: inx                       ; e8
fd99: bne  $fd90                ; d0 f5
fd9b: ldx  #$3c                 ; a2 3c
fd9d: ldy  #$03                 ; a0 03
fd9f: stx  $TBUFFADDR           ; 86 b2
fda1: sty  $b3                  ; 84 b3
fda3: sta  $c1                  ; 85 c1
fda5: sta  $97                  ; 85 97
fda7: sta  $STARTMEM            ; 8d 81 02
fdaa: tay                       ; a8
fdab: lda  #$04                 ; a9 04
fdad: sta  $c2                  ; 85 c2
fdaf: inc  $c1                  ; e6 c1
fdb1: bne  $fdb5                ; d0 02
fdb3: inc  $c2                  ; e6 c2
fdb5: jsr  $fe91                ; 20 91 fe
fdb8: lda  $97                  ; a5 97
fdba: beq  $fdde                ; f0 22
fdbc: bcs  $fdaf                ; b0 f1
fdbe: ldy  $c2                  ; a4 c2
fdc0: ldx  $c1                  ; a6 c1
fdc2: cpy  #$20                 ; c0 20
fdc4: bcc  $fdeb                ; 90 25
fdc6: cpy  #$21                 ; c0 21
fdc8: bcs  $fdd2                ; b0 08
fdca: ldy  #$1e                 ; a0 1e
fdcc: sty  $SCR_PAGE            ; 8c 88 02
fdcf: jmp  $fe7b                ; 4c 7b fe
fdd2: lda  #$12                 ; a9 12
fdd4: sta  $0282                ; 8d 82 02
fdd7: lda  #$10                 ; a9 10
fdd9: sta  $SCR_PAGE            ; 8d 88 02
fddc: bne  $fdcf                ; d0 f1
fdde: bcc  $fdaf                ; 90 cf
fde0: lda  $c2                  ; a5 c2
fde2: sta  $0282                ; 8d 82 02
fde5: sta  $97                  ; 85 97
fde7: cmp  #$11                 ; c9 11
fde9: bcc  $fdaf                ; 90 c4
fdeb: jsr  $e5c3                ; 20 c3 e5
fdee: jmp  $fdeb                ; 4c eb fd
fdf1: *** IRQ Vectors For Tape I/O
fdf1: tay                       ; a8
fdf2: *** IRQ Vectors For Tape I/O
fdf2: ???                       ; fc
fdf3: ???                       ; 0b
fdf4: ???                       ; fc
fdf5: ???                       ; bf
fdf6: nop                       ; ea
fdf7: stx  $a9f9                ; 8e f9 a9
fdfa: ???                       ; 7f
fdfb: sta  $911e                ; 8d 1e 91
fdfe: sta  $912e                ; 8d 2e 91
fe01: lda  #$40                 ; a9 40
fe03: sta  $912b                ; 8d 2b 91
fe06: lda  #$40                 ; a9 40
fe08: sta  $911b                ; 8d 1b 91
fe0b: lda  #$fe                 ; a9 fe
fe0d: sta  $911c                ; 8d 1c 91
fe10: lda  #$de                 ; a9 de
fe12: sta  $912c                ; 8d 2c 91
fe15: ldx  #$00                 ; a2 00
fe17: stx  $9112                ; 8e 12 91
fe1a: ldx  #$ff                 ; a2 ff
fe1c: stx  $9122                ; 8e 22 91
fe1f: ldx  #$00                 ; a2 00
fe21: stx  $9123                ; 8e 23 91
fe24: ldx  #$80                 ; a2 80
fe26: stx  $9113                ; 8e 13 91
fe29: ldx  #$00                 ; a2 00
fe2b: stx  $911f                ; 8e 1f 91
fe2e: jsr  $ef84                ; 20 84 ef
fe31: lda  #$82                 ; a9 82
fe33: sta  $911e                ; 8d 1e 91
fe36: jsr  $ef8d                ; 20 8d ef
fe39: *** Enable Timer
fe39: lda  #$c0                 ; a9 c0
fe3b: sta  $912e                ; 8d 2e 91
fe3e: lda  #$26                 ; a9 26
fe40: sta  $9124                ; 8d 24 91
fe43: lda  #$48                 ; a9 48
fe45: sta  $9125                ; 8d 25 91
fe48: rts                       ; 60
setnam: *** Set Filename
fe49: sta  $b7                  ; 85 b7
fe4b: stx  $bb                  ; 86 bb
fe4d: sty  $bc                  ; 84 bc
fe4f: rts                       ; 60
setlfs: *** Set Logical File Parameters
fe50: sta  $b8                  ; 85 b8
fe52: stx  $ba                  ; 86 ba
fe54: sty  $b9                  ; 84 b9
fe56: rts                       ; 60
readss: *** Get I/O Status Word
fe57: lda  $ba                  ; a5 ba
fe59: cmp  #$02                 ; c9 02
fe5b: bne  $fe68                ; d0 0b
fe5d: lda  $0297                ; ad 97 02
fe60: lda  #$00                 ; a9 00
fe62: sta  $0297                ; 8d 97 02
fe65: rts                       ; 60
setmsg: *** Control OS Messages
fe66: sta  $9d                  ; 85 9d
fe68: lda  $STATUS              ; a5 90
fe6a: ora  $STATUS              ; 05 90
fe6c: sta  $STATUS              ; 85 90
fe6e: rts                       ; 60
settmo: *** Set IEEE Timeout
fe6f: sta  $0285                ; 8d 85 02
fe72: rts                       ; 60
memtop: *** Set / Read Top of Memory
fe73: bcc  $fe7b                ; 90 06
fe75: ldx  $ENDMEM              ; ae 83 02
fe78: ldy  $0284                ; ac 84 02
fe7b: stx  $ENDMEM              ; 8e 83 02
fe7e: sty  $0284                ; 8c 84 02
fe81: rts                       ; 60
membot: *** Set / Read Bottom of Memory
fe82: bcc  $fe8a                ; 90 06
fe84: ldx  $STARTMEM            ; ae 81 02
fe87: ldy  $0282                ; ac 82 02
fe8a: stx  $STARTMEM            ; 8e 81 02
fe8d: sty  $0282                ; 8c 82 02
fe90: rts                       ; 60
fe91: lda  ($c1),Y              ; b1 c1
fe93: tax                       ; aa
fe94: lda  #$55                 ; a9 55
fe96: sta  ($c1),Y              ; 91 c1
fe98: cmp  ($c1),Y              ; d1 c1
fe9a: bne  $fea4                ; d0 08
fe9c: ror  a                    ; 6a
fe9d: sta  ($c1),Y              ; 91 c1
fe9f: cmp  ($c1),Y              ; d1 c1
fea1: bne  $fea4                ; d0 01
fea3: lda  #$18                 ; a9 18
fea5: txa                       ; 8a
fea6: sta  ($c1),Y              ; 91 c1
fea8: rts                       ; 60
fea9: *** NMI Transfer Entry
fea9: sei                       ; 78
feaa: jmp  ($0318)              ; 6c 18 03
fead: pha                       ; 48
feae: txa                       ; 8a
feaf: pha                       ; 48
feb0: tya                       ; 98
feb1: pha                       ; 48
feb2: lda  $911d                ; ad 1d 91
feb5: bpl  $feff                ; 10 48
feb7: and  $911e                ; 2d 1e 91
feba: tax                       ; aa
febb: and  #$02                 ; 29 02
febd: beq  $fede                ; f0 1f
febf: jsr  $fd3f                ; 20 3f fd
fec2: bne  $fec7                ; d0 03
fec4: jmp  ($a002)              ; 6c 02 a0
fec7: bit  $9111                ; 2c 11 91
feca: jsr  $udtim               ; 20 34 f7
fecd: jsr  $(istop)             ; 20 e1 ff
fed0: bne  $feff                ; d0 2d
fed2: *** Warm Start Basic [BRK]
fed2: jsr  $restor              ; 20 52 fd
fed5: jsr  $ioinit              ; 20 f9 fd
fed8: jsr  $cint1               ; 20 18 e5
fedb: jmp  ($c002)              ; 6c 02 c0
fede: lda  $911e                ; ad 1e 91
fee1: ora  #$80                 ; 09 80
fee3: pha                       ; 48
fee4: lda  #$7f                 ; a9 7f
fee6: sta  $911e                ; 8d 1e 91
fee9: txa                       ; 8a
feea: and  #$40                 ; 29 40
feec: beq  $ff02                ; f0 14
feee: lda  #$ce                 ; a9 ce
fef0: ora  $b5                  ; 05 b5
fef2: sta  $911c                ; 8d 1c 91
fef5: lda  $9114                ; ad 14 91
fef8: pla                       ; 68
fef9: sta  $911e                ; 8d 1e 91
fefc: jsr  $efa3                ; 20 a3 ef
feff: jmp  $ff56                ; 4c 56 ff
ff02: txa                       ; 8a
ff03: and  #$20                 ; 29 20
ff05: beq  $ff2c                ; f0 25
ff07: lda  $VIA1                ; ad 10 91
ff0a: and  #$01                 ; 29 01
ff0c: sta  $a7                  ; 85 a7
ff0e: lda  $9118                ; ad 18 91
ff11: sbc  #$16                 ; e9 16
ff13: adc  $0299                ; 6d 99 02
ff16: sta  $9118                ; 8d 18 91
ff19: lda  $9119                ; ad 19 91
ff1c: adc  $029a                ; 6d 9a 02
ff1f: sta  $9119                ; 8d 19 91
ff22: pla                       ; 68
ff23: sta  $911e                ; 8d 1e 91
ff26: jsr  $f036                ; 20 36 f0
ff29: jmp  $ff56                ; 4c 56 ff
ff2c: txa                       ; 8a
ff2d: and  #$10                 ; 29 10
ff2f: beq  $ff56                ; f0 25
ff31: lda  $0293                ; ad 93 02
ff34: and  #$0f                 ; 29 0f
ff36: bne  $ff38                ; d0 00
ff38: asl  a                    ; 0a
ff39: tax                       ; aa
ff3a: lda  $ff5a,X              ; bd 5a ff
ff3d: sta  $9118                ; 8d 18 91
ff40: lda  $ff5b,X              ; bd 5b ff
ff43: sta  $9119                ; 8d 19 91
ff46: lda  $VIA1                ; ad 10 91
ff49: pla                       ; 68
ff4a: ora  #$20                 ; 09 20
ff4c: and  #$ef                 ; 29 ef
ff4e: sta  $911e                ; 8d 1e 91
ff51: ldx  $0298                ; ae 98 02
ff54: stx  $a8                  ; 86 a8
ff56: *** Exit Interrupt
ff56: pla                       ; 68
ff57: tay                       ; a8
ff58: pla                       ; 68
ff59: tax                       ; aa
ff5a: pla                       ; 68
ff5b: *** RS-232 Timing Table (DATA)
ff5b: rti                       ; 40
ff5c: inc  $2a                  ; e6 2a
ff5e: sei                       ; 78
ff5f: ???                       ; 1c
ff60: eor  #$13                 ; 49 13
ff62: lda  ($0f),Y              ; b1 0f
ff64: asl  a                    ; 0a
ff65: asl  $06d3                ; 0e d3 06
ff68: sec                       ; 38
ff69: ???                       ; 03
ff6a: ror  a                    ; 6a
ff6b: ora  ($d0,X)              ; 01 d0
ff6d: brk                       ; 00
ff6e: ???                       ; 83
ff6f: brk                       ; 00
ff70: rol  $00,X                ; 36 00
ff72: *** IRQ Transfer Entry
ff72: pha                       ; 48
ff73: txa                       ; 8a
ff74: pha                       ; 48
ff75: tya                       ; 98
ff76: pha                       ; 48
ff77: tsx                       ; ba
ff78: lda  $0104,X              ; bd 04 01
ff7b: and  #$10                 ; 29 10
ff7d: beq  $ff82                ; f0 03
ff7f: *** BRK called ($0316)
ff7f: jmp  ($0316)              ; 6c 16 03
ff82: *** IRQ called ($0314)
ff82: jmp  ($0314)              ; 6c 14 03
ff85: ???                       ; ff
ff86: ???                       ; ff
ff87: ???                       ; ff
ff88: ???                       ; ff
ff89: ???                       ; ff
restor: *** Restore Vectors
ff8a: jmp  $restor              ; 4c 52 fd
vector: *** Change Vectors For User
ff8d: jmp  $vector              ; 4c 57 fd
setmsg: *** Control OS Messages
ff90: jmp  $setmsg              ; 4c 66 fe
secnd: *** Send SA After Listen
ff93: jmp  $second              ; 4c c0 ee
tksa: *** Send SA After Talk
ff96: jmp  $tksa                ; 4c ce ee
memtop: *** Set/Read System RAM Top
ff99: jmp  $memtop              ; 4c 73 fe
membot: *** Set/Read System RAM Bottom
ff9c: jmp  $membot              ; 4c 82 fe
scnkey: *** Scan Keyboard
ff9f: jmp  $scnkey              ; 4c 1e eb
settmo: *** Set Timeout In IEEE
ffa2: jmp  $settmo              ; 4c 6f fe
acptr: *** Handshake Serial Byte In
ffa5: jmp  $acptr               ; 4c 19 ef
ciout: *** Handshake Serial Byte Out
ffa8: jmp  $ciout               ; 4c e4 ee
untalk: *** Command Serial Bus UNTALK
ffab: jmp  $untlk               ; 4c f6 ee
unlsn: *** Command Serial Bus UNLISTEN
ffae: jmp  $unlsn               ; 4c 04 ef
listn: *** Command Serial Bus LISTEN
ffb1: jmp  $listn               ; 4c 17 ee
talk: *** Command Serial Bus TALK
ffb4: jmp  $talk                ; 4c 14 ee
readss: *** Read I/O Status Word
ffb7: jmp  $readss              ; 4c 57 fe
setlfs: *** Set Logical File Parameters
ffba: jmp  $setlfs              ; 4c 50 fe
setnam: *** Set Filename
ffbd: jmp  $setnam              ; 4c 49 fe
(iopen): *** Open Vector [F40A]
ffc0: jmp  ($031a)              ; 6c 1a 03
(iclose): *** Close Vector [F34A]
ffc3: jmp  ($031c)              ; 6c 1c 03
(ichkin): *** Set Input [F2C7]
ffc6: jmp  ($031e)              ; 6c 1e 03
(ichkout): *** Set Output [F309]
ffc9: jmp  ($0320)              ; 6c 20 03
(iclrch): *** Restore I/O Vector [F353]
ffcc: jmp  ($0322)              ; 6c 22 03
(ichrin): *** Input Vector, chrin [F20E]
ffcf: jmp  ($0324)              ; 6c 24 03
(ichrout): *** Output Vector, chrout [F27A]
ffd2: jmp  ($0326)              ; 6c 26 03
load: *** Load RAM From Device
ffd5: jmp  $load                ; 4c 42 f5
save: *** Save RAM To Device
ffd8: jmp  $save                ; 4c 75 f6
settim: *** Set Real-Time Clock
ffdb: jmp  $settim              ; 4c 67 f7
rdtim: *** Read Real-Time Clock
ffde: jmp  $rdtim               ; 4c 60 f7
(istop): *** Test-Stop Vector [F770]
ffe1: jmp  ($0328)              ; 6c 28 03
(igetin): *** Get From Keyboad [F1F5]
ffe4: jmp  ($032a)              ; 6c 2a 03
(iclall): *** Close All Channels And Files [F3EF]
ffe7: jmp  ($032c)              ; 6c 2c 03
udtim: *** Increment Real-Time Clock
ffea: jmp  $udtim               ; 4c 34 f7
screen: *** Return Screen Organization
ffed: jmp  $screen              ; 4c 05 e5
plot: *** Read / Set Cursor X/Y Position
fff0: jmp  $plot                ; 4c 0a e5
iobase: *** Return I/O Base Address
fff3: jmp  $iobase              ; 4c 00 e5
fff6: ???                       ; ff
fff7: ???                       ; ff
fff8: ???                       ; ff
fff9: ???                       ; ff
NMIVEC: *** NMI VECTOR ($fea9)
fffa: lda  #$fe                 ; a9 fe
RESVEC: *** RESET VECTOR ($fd22)
fffc: ???                       ; 22
fffd: *** RESET VECTOR ($fd22)
fffd: sbc  $ff72,X              ; fd 72 ff
