asm64: 6510 source code assembler
asm64: Reading source file...
asm64: Number of lines: 801
asm64: Determining label addresses...
new address: 8500
final address: 8b64
asm64: Building output file...
   22: ffffffff                          .lst  "novaterm.src.lab"
   24: ffffffff          crsr            =     $cf
   25: ffffffff          rvs             =     $c7
   27: ffffffff          ROWLEN          =     $140
new address: 8500
   29: 8500              *               =     column
   30: 8500  4c bc 85                    jmp   enter80
   31: 8503  4c 9e 87                    jmp   outchr
   32: 8506  4c 4a 87                    jmp   blcrsr
   33: 8509  4c 3b 86                    jmp   exit80
   34: 850c  4c 15 86                    jmp   calcloc
   35: 850f  4c 69 87                    jmp   scroll
   36: 8512  4c 93 86                    jmp   insert
   37: 8515  4c d7 8a                    jmp   erase
   38: 8518  4c a8 89                    jmp   putchar
   40: 851b  00          nopros          .byt  0
   41: 851c  00          under           .byt  0
   42: 851d  07          color80         .byt  7
   43: 851e  00          border80        .byt  0
   44: 851f  01          sctop           .byt  1
   45: 8520  18          scbot           .byt  24
   46: 8521  00          blink           .byt  0
   47: 8522  19          lines           .byt  25
   48: 8523  ff          scrlahd         .byt  255
   49: 8524  00          fstyle          .byt  0
   50: 8525  00          initialized     .byt  0
   52: 8526  4c 08 8a                    jmp   clrtoeol
   53: 8529  4c 3a 8a                    jmp   clrfrombol
   54: 852c  4c fe 8a                    jmp   setattr
   55: 852f  4c 1c 8b                    jmp   specattr
   56: 8532  60                          rts   
   56: 8533  00 00                       .byt  0,0
   57: 8535  4c 21 8b                    jmp   saveattr
   58: 8538  4c 40 8b                    jmp   restattr
   60: 853b  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                         lastpos         .z    25
   62: 8554  00 40 80 c0 00 40 80 c0 00
                         rowlo           .byt  <$a000,<$a140,<$a280,<$a3c0,<$a500,<$a640,<$a780,<$a8c0,<$aa00
   63: 855d  40 80 c0 00 40 80 c0 00 40
                                         .byt  <$ab40,<$ac80,<$adc0,<$af00,<$b040,<$b180,<$b2c0,<$b400,<$b540
   64: 8566  80 c0 00 40 80 c0 00 40
                                         .byt  <$b680,<$b7c0,<$b900,<$ba40,<$bb80,<$bcc0,<$be00,<$bf40
   65: 856e  a0 a1 a2 a3 a5 a6 a7 a8 aa
                         rowhi           .byt  >$a000,>$a140,>$a280,>$a3c0,>$a500,>$a640,>$a780,>$a8c0,>$aa00
   66: 8577  ab ac ad af b0 b1 b2 b4 b5
                                         .byt  >$ab40,>$ac80,>$adc0,>$af00,>$b040,>$b180,>$b2c0,>$b400,>$b540
   67: 8580  b6 b7 b9 ba bb bc be bf
                                         .byt  >$b680,>$b7c0,>$b900,>$ba40,>$bb80,>$bcc0,>$be00,>$bf40
   69: 8588  00          tborder         .byt  0
   70: 8589  00          trow            .byt  0
   71: 858a  00          tcol            .byt  0
   72: 858b  f0          cattr           .byt  240
   75: 858c  00 02 05 09 06 04 03 0f 0c 0a 0d 07 0e 04 0e 01
                         coltbl          .byt  0,2,5,9,6,4,3,15,12,10,13,7,14,4,14,1
   78: 859c  00 0f 01 06 05 02 04 0b 08 03 09 0e 0d 0a 0c 07
                         invctbl         .byt  0,15,1,6,5,2,4,11,8,3,9,14,13,10,12,7
   81: 85ac  0b 0f 0a 09 07 0d 0e 08 07 07 02 0c 0f 05 06 01
                         bolds           .byt  11,15,10,9,7,13,14,8,7,7,2,12,15,5,6,1
   83: 85bc  20 07 99    enter80         jsr   blankscr
   84: 85bf  ad 20 d0                    lda   53280
   85: 85c2  8d 88 85                    sta   tborder
   86: 85c5  ad cd 02                    lda   cborder80
   87: 85c8  8d 20 d0                    sta   53280
   88: 85cb  a9 3c                       lda   #$3c
   89: 85cd  8d 18 d0                    sta   53272
   90: 85d0  20 69 86                    jsr   savefont
   91: 85d3  ad 11 d0                    lda   53265
   92: 85d6  09 20                       ora   #32
   93: 85d8  8d 11 d0                    sta   53265
   94: 85db  2c 25 85                    bit   initialized
   95: 85de  30 26                       bmi   +
   96: 85e0  ad cc 02                    lda   ctext80
   97: 85e3  29 0f                       and   #$0f
   98: 85e5  8d 8c 85                    sta   coltbl
   99: 85e8  ad cc 02                    lda   ctext80
  100: 85eb  4a                          lsr   
  101: 85ec  4a                          lsr   
  102: 85ed  4a                          lsr   
  103: 85ee  4a                          lsr   
  104: 85ef  8d 93 85                    sta   coltbl+7
  105: 85f2  aa                          tax   
  106: 85f3  bd ac 85                    lda   bolds,x
  107: 85f6  8d 9b 85                    sta   coltbl+15
  108: 85f9  20 fe 8a                    jsr   setattr
  109: 85fc  20 5b 87                    jsr   clear
  110: 85ff  a9 ff                       lda   #$ff
  111: 8601  8d 25 85                    sta   initialized
  112: 8604  30 0a                       bmi   ++
  113: 8606  ae 89 85    +               ldx   trow
  114: 8609  ac 8a 85                    ldy   tcol
  115: 860c  86 d6                       stx   214
  116: 860e  84 d3                       sty   211
  117: 8610  20 07 99    ++              jsr   blankscr
  120: 8613  a6 d6       calcrsr         ldx   214
  121: 8615  a4 d3       calcloc         ldy   211
  122: 8617  20 36 87    calcreg         jsr   getloc
  123: 861a  98                          tya   
  124: 861b  f0 11                       beq   calc1
  125: 861d  29 fe                       and   #$fe
  126: 861f  0a                          asl   
  127: 8620  0a                          asl   
  128: 8621  90 03                       bcc   calc0
  129: 8623  e6 d2                       inc   loc+1
  130: 8625  18                          clc   
  131: 8626  65 d1       calc0           adc   loc
  132: 8628  85 d1                       sta   loc
  133: 862a  90 02                       bcc   calc1
  134: 862c  e6 d2                       inc   loc+1
  135: 862e  98          calc1           tya   
  136: 862f  4a                          lsr   
  137: 8630  b0 03                       bcs   calc2
  138: 8632  a9 f0                       lda   #$f0
  139: 8634  2c                          .byt  $2c
  140: 8635  a9 0f       calc2           lda   #$0f
  141: 8637  85 cf                       sta   crsr
  142: 8639  18                          clc   
  143: 863a  60                          rts   
  145: 863b  a6 d6       exit80          ldx   214
  146: 863d  a4 d3                       ldy   211
  147: 863f  8e 89 85                    stx   trow
  148: 8642  8c 8a 85                    sty   tcol
  149: 8645  20 07 99                    jsr   blankscr
  150: 8648  20 69 86                    jsr   restfont
  151: 864b  20 33 9b                    jsr   clrscrn
  153: 864e  ad 88 85                    lda   tborder
  154: 8651  8d 20 d0                    sta   53280
  155: 8654  ad 11 d0                    lda   53265
  156: 8657  29 df                       and   #$df
  157: 8659  8d 11 d0                    sta   53265
  158: 865c  2c 40 03                    bit   stat+4
  159: 865f  30 05                       bmi   +
  160: 8661  a9 36                       lda   #$36
  161: 8663  8d 18 d0                    sta   53272
  162: 8666  4c 07 99    +               jmp   blankscr
  164: 8669              restfont              
  165: 8669  20 b2 98    savefont        jsr   offio
  166: 866c  a9 d8                       lda   #>$d800
  167: 866e  a0 8c                       ldy   #>scrn
  168: 8670  a2 04                       ldx   #4
  169: 8672  20 76 98                    jsr   swapmem
  170: 8675  a9 b0                       lda   #>$b000
  171: 8677  a0 d0                       ldy   #>$d000
  172: 8679  a2 08                       ldx   #8
  173: 867b  20 76 98                    jsr   swapmem
  174: 867e  a9 e0                       lda   #>font80
  175: 8680  a0 c4                       ldy   #>altfont80
  176: 8682  a2 08                       ldx   #8
  177: 8684  20 76 98                    jsr   swapmem
  178: 8687  4c a2 98                    jmp   restrom
  180: 868a  a5 d1       transf          lda   loc
  181: 868c  85 ac                       sta   next
  182: 868e  a5 d2                       lda   loc+1
  183: 8690  85 ad                       sta   next+1
  184: 8692  60          -               rts   
  186: 8693  ec 1f 85    insert          cpx   sctop
  187: 8696  90 fa                       bcc   -
  188: 8698  ec 20 85                    cpx   scbot
  189: 869b  f0 02                       beq   insert00
  190: 869d  b0 f3                       bcs   -
  191: 869f  85 5e       insert00        sta   $5e
  192: 86a1  a9 36                       lda   #$36
  193: 86a3  85 01                       sta   $01
  194: 86a5  86 5c                       stx   $5c
  195: 86a7  20 bd 86                    jsr   delall
  196: 86aa  ae 20 85                    ldx   scbot
  197: 86ad  8a          insert0         txa   
  198: 86ae  38                          sec   
  199: 86af  e5 5e                       sbc   $5e
  200: 86b1  20 6f 8a                    jsr   adv
  201: 86b4  ca                          dex   
  202: 86b5  c5 5c                       cmp   $5c
  203: 86b7  d0 f4                       bne   insert0
  204: 86b9  aa          insert3         tax   
  205: 86ba  4c 8f 87                    jmp   scroll3
  207: 86bd  8a          delall          txa   
  208: 86be  18                          clc   
  209: 86bf  65 5e                       adc   $5e
  210: 86c1  cd 20 85                    cmp   scbot
  211: 86c4  90 0f                       bcc   delall2
  212: 86c6  f0 0d                       beq   delall2
  213: 86c8  20 d7 8a    delall1         jsr   erase
  214: 86cb  e8                          inx   
  215: 86cc  ec 20 85                    cpx   scbot
  216: 86cf  90 f7                       bcc   delall1
  217: 86d1  f0 f5                       beq   delall1
  218: 86d3  68                          pla   
  219: 86d4  68                          pla   
  220: 86d5  60          delall2         rts   
  222: 86d6  a4 d6       down            ldy   214
  223: 86d8  cc 20 85                    cpy   scbot
  224: 86db  f0 06                       beq   down1
  225: 86dd  c0 18                       cpy   #24
  226: 86df  90 51                       bcc   down2
  227: 86e1  f0 51                       beq   down2b
  228: 86e3  a9 01       down1           lda   #1
  229: 86e5  2c 23 85                    bit   scrlahd
  230: 86e8  10 3c                       bpl   down10
  231: 86ea  85 5d                       sta   $5d
  233: 86ec  38                          sec   
  234: 86ed  ad 20 85                    lda   scbot
  235: 86f0  ed 1f 85                    sbc   sctop
  236: 86f3  cd e1 02                    cmp   minscroll
  237: 86f6  90 1b                       bcc   ++
  239: 86f8  ac 9c 02                    ldy   rhead
  240: 86fb  cc 9b 02                    cpy   rtail
  241: 86fe  f0 13                       beq   ++
  242: 8700  b9 00 7c    -               lda   recbuf,y
  243: 8703  aa                          tax   
  244: 8704  bd 00 05                    lda   rectab,x
  245: 8707  c9 0a                       cmp   #10
  246: 8709  d0 02                       bne   +
  247: 870b  e6 5d                       inc   $5d
  248: 870d  c8          +               iny   
  249: 870e  cc 9b 02                    cpy   rtail
  250: 8711  d0 ed                       bne   -
  251: 8713  a5 5d       ++              lda   $5d
  252: 8715  c9 01                       cmp   #1
  253: 8717  f0 0d                       beq   down10
  254: 8719  c9 0c                       cmp   #12
  255: 871b  90 02                       bcc   +
  256: 871d  a9 0c                       lda   #12
  257: 871f  a8          +               tay   
  258: 8720  88                          dey   
  259: 8721  c6 d6       -               dec   214
  260: 8723  88                          dey   
  261: 8724  d0 fb                       bne   -
  262: 8726  ae 1f 85    down10          ldx   sctop
  263: 8729  20 69 87                    jsr   scroll
  264: 872c  a9 36                       lda   #$36
  265: 872e  85 01                       sta   $01
  266: 8730  38                          sec   
  267: 8731  60                          rts   
  268: 8732  e6 d6       down2           inc   214
  269: 8734  38          down2b          sec   
  270: 8735  60                          rts   
  272: 8736  bd 54 85    getloc          lda   rowlo,x
  273: 8739  85 d1                       sta   loc
  274: 873b  bd 6e 85                    lda   rowhi,x
  275: 873e  85 d2                       sta   loc+1
  276: 8740  bd f0 ec    getcol          lda   collo,x
  277: 8743  85 f3                       sta   coloc
  278: 8745  b5 d9                       lda   colhi,x
  279: 8747  85 f4                       sta   coloc+1
  280: 8749  60                          rts   
  282: 874a  48          blcrsr          pha   
  283: 874b  a9 36                       lda   #$36
  284: 874d  85 01                       sta   $01
  285: 874f  a0 07                       ldy   #7
  286: 8751  b1 d1                       lda   (loc),y
  287: 8753  45 cf                       eor   crsr
  288: 8755  91 d1                       sta   (loc),y
  289: 8757  e6 01                       inc   $01
  290: 8759  68                          pla   
  291: 875a  60                          rts   
  293: 875b  ee c0 02    clear           inc   update80
  294: 875e  a2 18                       ldx   #24
  295: 8760  20 d7 8a    clear1          jsr   erase
  296: 8763  ca                          dex   
  297: 8764  10 fa                       bpl   clear1
  298: 8766  4c 1c 89                    jmp   chr6a
  300: 8769  ec 1f 85    scroll          cpx   sctop
  301: 876c  90 4e                       bcc   scroll4
  302: 876e  ec 20 85                    cpx   scbot
  303: 8771  f0 02                       beq   +
  304: 8773  b0 47                       bcs   scroll4
  305: 8775  85 5e       +               sta   $5e
  306: 8777  a9 36                       lda   #$36
  307: 8779  85 01                       sta   $01
  308: 877b  20 bd 86                    jsr   delall
  309: 877e  8a          scroll0         txa   
  310: 877f  18                          clc   
  311: 8780  65 5e                       adc   $5e
  312: 8782  20 6f 8a                    jsr   adv
  313: 8785  e8                          inx   
  314: 8786  cd 20 85                    cmp   scbot
  315: 8789  f0 04                       beq   scroll3
  316: 878b  c9 18                       cmp   #24
  317: 878d  90 ef                       bcc   scroll0
  320: 878f  20 d7 8a    scroll3         jsr   erase
  321: 8792  e8                          inx   
  322: 8793  c6 5e                       dec   $5e
  323: 8795  d0 f8                       bne   scroll3
  324: 8797  a9 37                       lda   #$37
  325: 8799  85 01                       sta   $01
  326: 879b  4c 13 86                    jmp   calcrsr
  328: 879e  85 d7       outchr          sta   $d7
  329: 87a0  48                          pha   
  330: 87a1  8a                          txa   
  331: 87a2  48                          pha   
  332: 87a3  98                          tya   
  333: 87a4  48                          pha   
  334: 87a5  a9 36                       lda   #$36
  335: 87a7  85 01                       sta   $01
  336: 87a9  a5 d7                       lda   $d7
  337: 87ab  20 bd 87                    jsr   proschr
  338: 87ae  90 03                       bcc   outchr1
  339: 87b0  20 13 86                    jsr   calcrsr
  340: 87b3  a9 37       outchr1         lda   #$37
  341: 87b5  85 01                       sta   $01
  342: 87b7  68                          pla   
  343: 87b8  a8                          tay   
  344: 87b9  68                          pla   
  345: 87ba  aa                          tax   
  346: 87bb  68                          pla   
  347: 87bc  60          scroll4         rts   
  349: 87bd  48          proschr         pha   
  350: 87be  29 7f                       and   #$7f
  351: 87c0  c9 20                       cmp   #" "
  352: 87c2  68                          pla   
  353: 87c3  f0 2d                       beq   clcrts
  354: 87c5  90 06                       bcc   outchr3
  355: 87c7  20 a5 89    nproschr        jsr   putch0
  356: 87ca  4c 37 88                    jmp   rtcrsr
  358: 87cd  c9 0a       outchr3         cmp   #10
  359: 87cf  d0 03                       bne   chr0
  360: 87d1  4c d6 86                    jmp   down
  362: 87d4  c9 0d       chr0            cmp   #13
  363: 87d6  f0 09                       beq   return
  364: 87d8  2c 1b 85                    bit   nopros
  365: 87db  30 0a                       bmi   chr1
  366: 87dd  c9 8d                       cmp   #141
  367: 87df  d0 06                       bne   chr1
  368: 87e1  a9 00       return          lda   #0
  369: 87e3  85 d3                       sta   211
  370: 87e5              -                     
  371: 87e5  38          +               sec   
  372: 87e6  60                          rts   
  374: 87e7  c9 09       chr1            cmp   #9
  375: 87e9  d0 12                       bne   chr1g
  376: 87eb  a6 d3                       ldx   211
  377: 87ed  e8          -               inx   
  378: 87ee  e0 50                       cpx   #80
  379: 87f0  d0 02                       bne   +
  380: 87f2  18          clcrts          clc   
  381: 87f3  60                          rts   
  382: 87f4  bd b0 84    +               lda   tabs,x
  383: 87f7  f0 f4                       beq   -
  384: 87f9  86 d3                       stx   211
  385: 87fb  38          secrts          sec   
  386: 87fc  60                          rts   
  388: 87fd  c9 07       chr1g           cmp   #7
  389: 87ff  d0 05                       bne   chr1d
  390: 8801  20 0c 96                    jsr   ml+12
  391: 8804  18                          clc   
  392: 8805  60                          rts   
  394: 8806  c9 08       chr1d           cmp   #8
  395: 8808  d0 03                       bne   chr2
  396: 880a  4c 6c 88                    jmp   cleft
  398: 880d  c9 0c       chr2            cmp   #12
  399: 880f  f0 09                       beq   chr2a
  400: 8811  2c 1b 85                    bit   nopros
  401: 8814  30 b1                       bmi   nproschr
  402: 8816  c9 93                       cmp   #147
  403: 8818  d0 03                       bne   chr3
  404: 881a  4c 5b 87    chr2a           jmp   clear
  406: 881d  c9 11       chr3            cmp   #17
  407: 881f  d0 0f                       bne   chr4
  408: 8821  a6 d6                       ldx   214
  409: 8823  ec 20 85                    cpx   scbot
  410: 8826  f0 d3                       beq   secrts
  411: 8828  e0 18                       cpx   #24
  412: 882a  f0 cf                       beq   secrts
  413: 882c  e6 d6                       inc   214
  414: 882e  d0 cb                       bne   secrts
  416: 8830  c9 1d       chr4            cmp   #29
  417: 8832  d0 26                       bne   chr5
  418: 8834  20 92 89                    jsr   advdown
  419: 8837  e6 d3       rtcrsr          inc   211
  420: 8839  a5 d3                       lda   211
  421: 883b  c9 50                       cmp   #80
  422: 883d  f0 08                       beq   rtcrsr0
  423: 883f  24 cf                       bit   crsr
  424: 8841  10 06                       bpl   rtcrsr1
  425: 8843  a9 0f                       lda   #$0f
  426: 8845  85 cf                       sta   crsr
  427: 8847  18          rtcrsr0         clc   
  428: 8848  60                          rts   
  429: 8849  a9 f0       rtcrsr1         lda   #$f0
  430: 884b  85 cf                       sta   crsr
  431: 884d  18                          clc   
  432: 884e  a5 d1                       lda   loc
  433: 8850  69 08                       adc   #8
  434: 8852  85 d1                       sta   loc
  435: 8854  90 03                       bcc   +
  436: 8856  e6 d2                       inc   loc+1
  437: 8858  18                          clc   
  438: 8859  60          +               rts   
  440: 885a  c9 91       chr5            cmp   #145
  441: 885c  d0 0a                       bne   chr6
  442: 885e  a5 d6                       lda   214
  443: 8860  c9 01                       cmp   #1
  444: 8862  f0 10                       beq   ++
  445: 8864  c6 d6                       dec   214
  446: 8866  38          +               sec   
  447: 8867  60                          rts   
  449: 8868  c9 9d       chr6            cmp   #157
  450: 886a  d0 0a                       bne   chr7
  451: 886c  a5 d3       cleft           lda   211
  452: 886e  f0 04                       beq   ++
  453: 8870  c6 d3                       dec   211
  454: 8872  38                          sec   
  455: 8873  60                          rts   
  456: 8874  18          ++              clc   
  457: 8875  60                          rts   
  459: 8876  20 cb e8    chr7            jsr   59595
  460: 8879  30 11                       bmi   chr8
  461: 887b  ae 86 02                    ldx   646
  462: 887e  ad 1d 85                    lda   color80
  463: 8881  29 f0                       and   #$f0
  464: 8883  1d 9c 85                    ora   invctbl,x
  465: 8886  8d 1d 85                    sta   color80
  466: 8889  4c fe 8a                    jmp   setattr
  468: 888c  c9 12       chr8            cmp   #18
  469: 888e  d0 06                       bne   chr9
  470: 8890  a9 ff                       lda   #$ff
  471: 8892  85 c7                       sta   rvs
  472: 8894  18                          clc   
  473: 8895  60                          rts   
  475: 8896  c9 92       chr9            cmp   #146
  476: 8898  d0 06                       bne   chr10
  477: 889a  a9 00                       lda   #0
  478: 889c  85 c7                       sta   rvs
  479: 889e  18                          clc   
  480: 889f  60                          rts   
  482: 88a0  c9 94       chr10           cmp   #148
  483: 88a2  f0 03                       beq   +
  484: 88a4  4c 09 89                    jmp   chk80
  485: 88a7  a5 d3       +               lda   211
  486: 88a9  c9 4f                       cmp   #79
  487: 88ab  b0 55                       bcs   chr3i
  488: 88ad  85 5d                       sta   $5d
  489: 88af  a9 4f                       lda   #79
  490: 88b1  85 d3                       sta   211
  491: 88b3  20 13 86                    jsr   calcrsr
  492: 88b6  20 8a 86                    jsr   transf
  493: 88b9  c6 d3                       dec   211
  494: 88bb  20 13 86                    jsr   calcrsr
  495: 88be  a6 d3                       ldx   211
  496: 88c0  a0 07       chr3b           ldy   #7
  497: 88c2  b1 d1       -               lda   (loc),y
  498: 88c4  4a                          lsr   
  499: 88c5  4a                          lsr   
  500: 88c6  4a                          lsr   
  501: 88c7  4a                          lsr   
  502: 88c8  91 d1                       sta   (loc),y
  503: 88ca  88                          dey   
  504: 88cb  10 f5                       bpl   -
  505: 88cd  38                          sec   
  506: 88ce  a5 d1                       lda   loc
  507: 88d0  e9 08                       sbc   #8
  508: 88d2  85 d1                       sta   loc
  509: 88d4  b0 02                       bcs   +
  510: 88d6  c6 d2                       dec   loc+1
  511: 88d8  e4 5d       +               cpx   $5d
  512: 88da  f0 21                       beq   chr3h
  526: 88dc  ca          ++              dex   
  527: 88dd  a0 07                       ldy   #7
  528: 88df  b1 d1       -               lda   (loc),y
  529: 88e1  0a                          asl   
  530: 88e2  0a                          asl   
  531: 88e3  0a                          asl   
  532: 88e4  0a                          asl   
  533: 88e5  85 ff                       sta   $ff
  534: 88e7  b1 ac                       lda   (next),y
  535: 88e9  29 0f                       and   #$0f
  536: 88eb  05 ff                       ora   $ff
  537: 88ed  91 ac                       sta   (next),y
  538: 88ef  88                          dey   
  539: 88f0  10 ed                       bpl   -
  540: 88f2  20 8a 86                    jsr   transf
  541: 88f5  e4 5d                       cpx   $5d
  542: 88f7  f0 04                       beq   chr3h
  543: 88f9  ca                          dex   
  544: 88fa  4c c0 88                    jmp   chr3b
  545: 88fd  86 d3       chr3h           stx   211
  546: 88ff  20 13 86                    jsr   calcrsr
  547: 8902  a9 20       chr3i           lda   #" "
  548: 8904  20 a8 89                    jsr   putchar
  549: 8907  38                          sec   
  550: 8908  60                          rts   
  552: 8909  a6 d3       chk80           ldx   211
  553: 890b  e0 50                       cpx   #80
  554: 890d  90 02                       bcc   chr14
  555: 890f  c6 d3                       dec   211
  557: 8911  c9 0b       chr14           cmp   #11
  558: 8913  d0 03                       bne   chr11
  559: 8915  4c 08 8a                    jmp   clrtoeol
  561: 8918  c9 13       chr11           cmp   #19
  562: 891a  d0 0a                       bne   chr12
  563: 891c  a9 00       chr6a           lda   #0
  564: 891e  85 d3                       sta   211
  565: 8920  85 d6                       sta   214
  566: 8922  e6 d6                       inc   214
  567: 8924  38                          sec   
  568: 8925  60                          rts   
  570: 8926  c9 14       chr12           cmp   #20
  571: 8928  f0 02                       beq   +
  572: 892a  18          -               clc   
  573: 892b  60                          rts   
  574: 892c              chr12a                
  575: 892c  a5 d3       +               lda   211
  576: 892e  f0 fa                       beq   -
  577: 8930  20 13 86                    jsr   calcrsr
  578: 8933  20 8a 86                    jsr   transf
  579: 8936  c6 d3                       dec   211
  580: 8938  20 13 86                    jsr   calcrsr
  581: 893b  a6 d3                       ldx   211
  582: 893d  8a                          txa   
  583: 893e  4a                          lsr   
  584: 893f  90 21                       bcc   chr7e
  585: 8941  a0 07       chr7a           ldy   #07
  586: 8943  b1 ac       -               lda   (next),y
  587: 8945  4a                          lsr   
  588: 8946  4a                          lsr   
  589: 8947  4a                          lsr   
  590: 8948  4a                          lsr   
  591: 8949  85 5e                       sta   $5e
  592: 894b  b1 d1                       lda   (loc),y
  593: 894d  29 f0                       and   #$f0
  594: 894f  05 5e                       ora   $5e
  595: 8951  91 d1                       sta   (loc),y
  596: 8953  88                          dey   
  597: 8954  10 ed                       bpl   -
  599: 8956  18                          clc   
  600: 8957  a5 d1                       lda   loc
  601: 8959  69 00                       adc   #08
  602: 895b  85 d1                       sta   loc
  603: 895d  90 02                       bcc   +
  604: 895f  e6 d2                       inc   loc+1
  605: 8961  e8          +               inx   
  607: 8962  a5 d3       chr7e           lda   211
  608: 8964  4a                          lsr   
  609: 8965  b0 0c                       bcs   chr7h
  610: 8967  8a                          txa   
  611: 8968  4a                          lsr   
  612: 8969  a8                          tay   
  613: 896a  c0 28                       cpy   #40
  614: 896c  b0 05                       bcs   +
  615: 896e  b1 f3                       lda   (coloc),y
  616: 8970  88                          dey   
  617: 8971  91 f3                       sta   (coloc),y
  618: 8973              +                     
  619: 8973  a0 07       chr7h           ldy   #07
  620: 8975  b1 ac       -               lda   (next),y
  621: 8977  0a                          asl   
  622: 8978  0a                          asl   
  623: 8979  0a                          asl   
  624: 897a  0a                          asl   
  625: 897b  91 ac                       sta   (next),y
  626: 897d  88                          dey   
  627: 897e  10 f5                       bpl   -
  628: 8980  18                          clc   
  629: 8981  a5 ac                       lda   next
  630: 8983  69 00                       adc   #08
  631: 8985  85 ac                       sta   next
  632: 8987  90 02                       bcc   +
  633: 8989  e6 ad                       inc   next+1
  634: 898b  e8          +               inx   
  635: 898c  e0 4f                       cpx   #79
  636: 898e  90 b1                       bcc   chr7a
  637: 8990  38                          sec   
  638: 8991  60          chr7f           rts   
  639: 8992  a6 d3       advdown         ldx   211
  640: 8994  e0 50                       cpx   #80
  641: 8996  90 0c                       bcc   adv1
  642: 8998  48                          pha   
  643: 8999  a9 00                       lda   #0
  644: 899b  85 d3                       sta   211
  645: 899d  20 d6 86                    jsr   down
  646: 89a0  20 13 86                    jsr   calcrsr
  647: 89a3  68                          pla   
  648: 89a4  60          adv1            rts   
  650: 89a5  20 92 89    putch0          jsr   advdown
  651: 89a8  85 d7       putchar         sta   $d7
  652: 89aa  a5 cf                       lda   crsr
  653: 89ac  49 ff                       eor   #$ff
  654: 89ae  85 5e                       sta   $5e
  656: 89b0  a9 18                       lda   #$18
  657: 89b2  85 ad                       sta   next+1
  658: 89b4  a5 d7                       lda   $d7
  659: 89b6  0a                          asl   
  660: 89b7  26 ad                       rol   next+1
  661: 89b9  e6 ad                       inc   next+1
  662: 89bb  0a                          asl   
  663: 89bc  26 ad                       rol   next+1
  664: 89be  0a                          asl   
  665: 89bf  26 ad                       rol   next+1
  666: 89c1  85 ac                       sta   next
  668: 89c3  a0 07                       ldy   #7
  669: 89c5  ae 1c 85                    ldx   under
  670: 89c8  f0 03                       beq   +
  671: 89ca  a9 ff                       lda   #$ff
  672: 89cc  2c                          .byt  $2c
  673: 89cd              -                     
  674: 89cd  b1 ac       +               lda   (next),y
  675: 89cf  45 c7                       eor   rvs
  676: 89d1  25 cf                       and   crsr
  677: 89d3  85 5d                       sta   $5d
  678: 89d5  b1 d1                       lda   (loc),y
  679: 89d7  25 5e                       and   $5e
  680: 89d9  05 5d                       ora   $5d
  681: 89db  91 d1                       sta   (loc),y
  682: 89dd  88                          dey   
  683: 89de  10 ed                       bpl   -
  685: 89e0  a5 d3       putch5          lda   211
  686: 89e2  4a                          lsr   
  687: 89e3  a8                          tay   
  688: 89e4  a5 c7                       lda   rvs
  689: 89e6  0d 1c 85                    ora   under
  690: 89e9  d0 06                       bne   ++
  691: 89eb  a5 d7                       lda   $d7
  692: 89ed  29 df                       and   #$df
  693: 89ef  f0 0d                       beq   +
  694: 89f1  a6 d6       ++              ldx   214
  695: 89f3  98                          tya   
  696: 89f4  dd 3b 85                    cmp   lastpos,x
  697: 89f7  90 09                       bcc   putch5a
  698: 89f9  9d 3b 85                    sta   lastpos,x
  699: 89fc  b0 04                       bcs   putch5a
  700: 89fe  24 cf       +               bit   crsr
  701: 8a00  30 05                       bmi   putch3h
  702: 8a02  ad 8b 85    putch5a         lda   cattr
  703: 8a05  91 f3                       sta   (coloc),y
  704: 8a07  60          putch3h         rts   
  706: 8a08              clrtoeol        =     *
  707: 8a08  a6 d6                       ldx   214
  708: 8a0a  a5 d3                       lda   211
  709: 8a0c  d0 03                       bne   +
  710: 8a0e  4c d7 8a    clrerase        jmp   erase
  711: 8a11  c9 50       +               cmp   #80
  712: 8a13  90 04                       bcc   +
  713: 8a15  a9 4f                       lda   #79
  714: 8a17  85 d3                       sta   211
  715: 8a19  48          +               pha   
  716: 8a1a  4a                          lsr   
  717: 8a1b  9d 3b 85                    sta   lastpos,x
  718: 8a1e  a5 c7                       lda   rvs
  719: 8a20  48                          pha   
  720: 8a21  ae 1c 85                    ldx   under
  721: 8a24  a9 00                       lda   #0
  722: 8a26  8d 1c 85                    sta   under
  723: 8a29  85 c7                       sta   rvs
  724: 8a2b  a4 d3                       ldy   211
  725: 8a2d  a9 20                       lda   #" "
  726: 8a2f  20 9e 87    -               jsr   outchr
  727: 8a32  c8                          iny   
  728: 8a33  c0 50                       cpy   #80
  729: 8a35  90 f8                       bcc   -
  730: 8a37  4c 63 8a                    jmp   clrret
  732: 8a3a              clrfrombol      =     *
  733: 8a3a  a5 d3                       lda   211
  734: 8a3c  c9 4f                       cmp   #79
  735: 8a3e  b0 ce                       bcs   clrerase
  736: 8a40  48                          pha   
  737: 8a41  a8                          tay   
  738: 8a42  c8                          iny   
  739: 8a43  84 59                       sty   $59
  740: 8a45  a0 00                       ldy   #0
  741: 8a47  84 d3                       sty   211
  742: 8a49  20 13 86                    jsr   calcrsr
  743: 8a4c  a5 c7                       lda   rvs
  744: 8a4e  48                          pha   
  745: 8a4f  ae 1c 85                    ldx   under
  746: 8a52  a9 00                       lda   #0
  747: 8a54  8d 1c 85                    sta   under
  748: 8a57  85 c7                       sta   rvs
  749: 8a59  a9 20                       lda   #" "
  750: 8a5b  20 9e 87    -               jsr   outchr
  751: 8a5e  c8                          iny   
  752: 8a5f  c4 59                       cpy   $59
  753: 8a61  d0 f8                       bne   -
  754: 8a63  8e 1c 85    clrret          stx   under
  755: 8a66  68                          pla   
  756: 8a67  85 c7                       sta   rvs
  757: 8a69  68                          pla   
  758: 8a6a  85 d3                       sta   211
  759: 8a6c  4c 13 86                    jmp   calcrsr
  761: 8a6f  86 5d       adv             stx   $5d
  762: 8a71  85 5f                       sta   $5f
  763: 8a73  bd 54 85                    lda   rowlo,x
  764: 8a76  85 d1                       sta   loc
  765: 8a78  bd 6e 85                    lda   rowhi,x
  766: 8a7b  85 d2                       sta   loc+1
  767: 8a7d  bd 3b 85                    lda   lastpos,x
  768: 8a80  a8                          tay   
  769: 8a81  a6 5f                       ldx   $5f
  770: 8a83  bd 54 85                    lda   rowlo,x
  771: 8a86  85 ac                       sta   next
  772: 8a88  bd 6e 85                    lda   rowhi,x
  773: 8a8b  85 ad                       sta   next+1
  774: 8a8d  98                          tya   
  775: 8a8e  dd 3b 85                    cmp   lastpos,x
  776: 8a91  b0 03                       bcs   +
  777: 8a93  bd 3b 85                    lda   lastpos,x
  779: 8a96  18          +               clc   
  780: 8a97  fb                          xce   
  781: 8a98  c2 30                       clp   #%00110000
  783: 8a9a  0a                          asl   
  784: 8a9b  0a                          asl   
  785: 8a9c  3a                          dec   
  786: 8a9d  a6 ac                       ldx   next
  787: 8a9f  a4 d1                       ldy   loc
  789: 8aa1  54                          mvn   
  789: 8aa2  00 00                       .byte 0,0
  790: 8aa4  38                          sec   
  791: 8aa5  fb                          xce   
  793: 8aa6  a6 5f                       ldx   $5f
  794: 8aa8  bd f0 ec                    lda   collo,x
  795: 8aab  85 ac                       sta   next
  796: 8aad  b5 d9                       lda   colhi,x
  797: 8aaf  85 ad                       sta   next+1
  798: 8ab1  bd 3b 85                    lda   lastpos,x
  799: 8ab4  a6 5d                       ldx   $5d
  800: 8ab6  9d 3b 85                    sta   lastpos,x
  801: 8ab9  bd f0 ec                    lda   collo,x
  802: 8abc  85 f3                       sta   coloc
  803: 8abe  b5 d9                       lda   colhi,x
  804: 8ac0  85 f4                       sta   coloc+1
  806: 8ac2  18                          clc   
  807: 8ac3  fb                          xce   
  808: 8ac4  c2 30                       clp   #%00110000
  809: 8ac6  a6 ac                       ldx   next
  810: 8ac8  a4 f3                       ldy   coloc
  811: 8aca  a9 27 00                    lda   ##39
  812: 8acd  54                          mvn   
  812: 8ace  00 00                       .byte 0,0
  813: 8ad0  38                          sec   
  814: 8ad1  fb                          xce   
  816: 8ad2  a6 5d                       ldx   $5d
  817: 8ad4  a5 5f                       lda   $5f
  818: 8ad6  60                          rts   
  820: 8ad7  e0 19       erase           cpx   #25
  821: 8ad9  b0 1d                       bcs   erase6
  822: 8adb  20 36 87                    jsr   getloc
  823: 8ade  a0 27       erase1          ldy   #39
  824: 8ae0  ad 8b 85                    lda   cattr
  825: 8ae3  91 f3       erase2          sta   (coloc),y
  826: 8ae5  88                          dey   
  827: 8ae6  10 fb                       bpl   erase2
  828: 8ae8  c8                          iny   
  829: 8ae9  98                          tya   
  830: 8aea  91 d1       erase3          sta   (loc),y
  831: 8aec  c8                          iny   
  832: 8aed  d0 fb                       bne   erase3
  833: 8aef  e6 d2                       inc   loc+1
  834: 8af1  a0 3f                       ldy   #$3f
  835: 8af3  91 d1       erase4          sta   (loc),y
  836: 8af5  88                          dey   
  837: 8af6  10 fb                       bpl   erase4
  838: 8af8  a9 00       erase6          lda   #0
  839: 8afa  9d 3b 85                    sta   lastpos,x
  840: 8afd  60                          rts   
  842: 8afe              setattr         =     *
  843: 8afe  ad 1d 85                    lda   color80
  844: 8b01  4a                          lsr   
  845: 8b02  4a                          lsr   
  846: 8b03  4a                          lsr   
  847: 8b04  4a                          lsr   
  848: 8b05  aa                          tax   
  849: 8b06  bd 8c 85                    lda   coltbl,x
  850: 8b09  8d 8b 85                    sta   cattr
  851: 8b0c  ad 1d 85                    lda   color80
  852: 8b0f  29 0f                       and   #$0f
  853: 8b11  aa                          tax   
  854: 8b12  bd 8c 85                    lda   coltbl,x
  855: 8b15  0a                          asl   
  856: 8b16  0a                          asl   
  857: 8b17  0a                          asl   
  858: 8b18  0a                          asl   
  859: 8b19  0d 8b 85                    ora   cattr
  860: 8b1c              specattr        =     *
  861: 8b1c  8d 8b 85                    sta   cattr
  862: 8b1f  18                          clc   
  863: 8b20  60                          rts   
  865: 8b21              saveattr        =     *
  866: 8b21  86 57                       stx   $57
  867: 8b23  84 58                       sty   $58
  868: 8b25  a0 00                       ldy   #0
  869: 8b27  b9 1c 85    -               lda   under,y
  870: 8b2a  91 57                       sta   ($57),y
  871: 8b2c  c8                          iny   
  872: 8b2d  c0 06                       cpy   #6
  873: 8b2f  d0 f6                       bne   -
  874: 8b31  a5 c7                       lda   rvs
  875: 8b33  91 57                       sta   ($57),y
  876: 8b35  c8                          iny   
  877: 8b36  a5 d6                       lda   214
  878: 8b38  91 57                       sta   ($57),y
  879: 8b3a  c8                          iny   
  880: 8b3b  a5 d3                       lda   211
  881: 8b3d  91 57                       sta   ($57),y
  882: 8b3f  60                          rts   
  884: 8b40              restattr        =     *
  885: 8b40  86 57                       stx   $57
  886: 8b42  84 58                       sty   $58
  887: 8b44  a0 00                       ldy   #0
  888: 8b46  b1 57       -               lda   ($57),y
  889: 8b48  99 1c 85                    sta   under,y
  890: 8b4b  c8                          iny   
  891: 8b4c  c0 06                       cpy   #6
  892: 8b4e  d0 f6                       bne   -
  893: 8b50  b1 57                       lda   ($57),y
  894: 8b52  85 c7                       sta   rvs
  895: 8b54  c8                          iny   
  896: 8b55  b1 57                       lda   ($57),y
  897: 8b57  85 d6                       sta   214
  898: 8b59  c8                          iny   
  899: 8b5a  b1 57                       lda   ($57),y
  900: 8b5c  85 d3                       sta   211
  901: 8b5e  20 13 86                    jsr   calcrsr
  902: 8b61  4c fe 8a                    jmp   setattr
  904: 8b64                              .tst  "labels"
asm64: Writing file scpu80.ml:
asm64:  Block 1: $8500 - $8b64 (last: $8b64)
