asm64: 6510 source code assembler
asm64: Reading source file...
asm64: Number of lines: 1513
asm64: Determining label addresses...
final address: 300002c
asm64: Building output file...
    3: ffffffff                          .lst  nova10.hdr
    4: ffffffff                          .lib  api
    5: ffffffff                          .lib  mem
    6: ffffffff                          .lib  prg
    7: ffffffff                          .lib  dev
    8: ffffffff                          .lib  ip
    9: ffffffff                          .lib  ipm
   10: ffffffff                          .lib  ipu
asm64: Module name: ftp
    5: 1000000           ipbuf           =     ip_zp
    6: 1000000           ips0            =     ip_zp+2
    7: 1000000           ips1            =     ip_zp+4
    8: 1000000           ipc             =     ip_zp+6
    9: 1000000           ipr0            =     ip_zp+8
   10: 1000000           ipr1            =     ip_zp+10
   12: 1000000           iprd            =     ipm_zp
   13: 1000000           ipe1            =     ipm_zp+2
   14: 1000000           iprc            =     ipm_zp+4
   15: 1000000           ipsh            =     ipm_zp+6
   16: 1000000           ipsd            =     ipm_zp+8
   17: 1000000           tcptr           =     ipm_zp+10
   18: 1000000           ipm0            =     ipm_zp+12
   19: 1000000           ipm1            =     ipm_zp+14
   20: 1000000           ipmw0           =     ipm_zp+16
   21: 1000000           ipmw1           =     ipm_zp+18
   22: 1000000           ipmtx           =     ipm_zp+20
   23: 1000000           ipmty           =     ipm_zp+21
   25: 1000000           rtt             =     ipmw0
   26: 1000000           err             =     ipmw1
   30: 1000000           ICMP            =     1
   31: 1000000           IGMP            =     2
   32: 1000000           TCP             =     6
   33: 1000000           UDP             =     17
   34: 1000000           MSS             =     512
   35: 1000000           IPLEN           =     MSS+64
   36: 1000000           UDP_MAX         =     512
   38: 1000000           ICMP_UNREACH    =     3
   39: 1000000           ICMP_ECHO       =     8
   40: 1000000           ICMP_EXCEED     =     11
   42: 1000000           TCP_BUF_SMALL   =     MSS
   43: 1000000           TCP_BUF_LARGE   =     2048
   45: 1000000           NSBUF           =     64
   46: 1000000           NRBUF           =     64
   50: 1000000           TOS_MINDELAY    =     $10
   51: 1000000           TOS_MAXTHRU     =     $08
   52: 1000000           TOS_MAXREL      =     $04
   53: 1000000           TOS_MINCOST     =     $02
   57: 1000000                           .enum 
   58: 1000000           IP_VERLEN       =     1
   59: 1000000           IP_TOS          =     1
   60: 1000000           IP_LEN          =     2
   61: 1000000           IP_ID           =     2
   62: 1000000           IP_FRAG         =     2
   63: 1000000           IP_TTL          =     1
   64: 1000000           IP_PROT         =     1
   65: 1000000           IP_CKSUM        =     2
   66: 1000000           IP_SRCADDR      =     4
   67: 1000000           IP_DSTADDR      =     4
   68: 1000000           IP_HDATA        =     0
   69: 1000000                           .enden 
   73: 1000000                           .enum 
   74: 1000000           UDP_HDR_SRCPORT =     2
   75: 1000000           UDP_HDR_DSTPORT =     2
   76: 1000000           UDP_HDR_LEN     =     2
   77: 1000000           UDP_HDR_CKSUM   =     2
   78: 1000000                           .enden 
   82: 1000000                           .enum 
   83: 1000000           TCP_HDR_SRCPORT =     2
   84: 1000000           TCP_HDR_DSTPORT =     2
   85: 1000000           TCP_HDR_SEQ     =     4
   86: 1000000           TCP_HDR_ACK     =     4
   87: 1000000           TCP_HDR_LEN     =     1
   88: 1000000           TCP_HDR_FLAG    =     1
   89: 1000000           TCP_HDR_WIN     =     2
   90: 1000000           TCP_HDR_CKSUM   =     2
   91: 1000000           TCP_HDR_URG     =     2
   92: 1000000                           .enden 
   96: 1000000           FIN             =     $01
   97: 1000000           SYN             =     $02
   98: 1000000           RST             =     $04
   99: 1000000           PSH             =     $08
  100: 1000000           ACK             =     $10
  101: 1000000           URG             =     $20
  105: 1000000           TCP_ST_CLOSED   =     0
  106: 1000000           TCP_ST_LISTEN   =     $01
  107: 1000000           TCP_ST_CONNECTING =     $02
  108: 1000000           TCP_ST_SENDING  =     $04
  109: 1000000           TCP_ST_RECVING  =     $08
  110: 1000000           TCP_ST_ERROR    =     $80
  112: 1000000           TCP_RTO         =     12
  116: 1000000           ETIMEOUT        =     32
  117: 1000000           ERESET          =     33
  118: 1000000           EBADSOCK        =     34
  119: 1000000           EFULL           =     35
  120: 1000000           EISCONN         =     36
  121: 1000000           ENODATA         =     37
  122: 1000000           EEOS            =     38
  126: 1000000           DNS_A           =     1
  127: 1000000           DNS_CNAME       =     5
  131: 1000000           FTP             =     21
  132: 1000000           TELNET          =     23
  133: 1000000           DNS             =     53
  134: 1000000           NEWS            =     119
   19: 1000000           iptr            =     list_zp
   20: 1000000           sdptr           =     list_zp+2
   23: 1000000           strptr          =     app_zp+3
   24: 1000000           strbuf          =     app_zp+6
   26: 1000000           UPPERLINE       =     3
   27: 1000000           FTP_TIMEOUT     =     60
   29: 1000000           OFF_SIZE        =     30
   30: 1000000           OFF_DATE        =     42
   31: 1000000           OFF_NAME        =     55
   32: 1000000           DATE_LEN        =     12
   33: 1000000           SIZE_LEN        =     11
   35: 1000000           SHOW_FILE_LEN   =     16
   36: 1000000           SHOW_SIZE_LEN   =     9
   37: 1000000           SHOW_DATE_LEN   =     12
   39: 1000000  4c a7 01                 jmp   start
   41: 1000003  ff       showdirs        .byte $ff
   42: 1000004  00       nfiles          .byte 0
   43: 1000005  00       ndirs           .byte 0
   45: 1000006           d_list          =     *
   46: 1000006  00 00 00 d_hdr           .long 0
   47: 1000009  00 00 00 d_cur           .long 0
   48: 100000c  00 00 00 d_next          .long 0
   49: 100000f  00 00 00 d_prev          .long 0
   50: 1000012  12       d_dsize         .byte di_info_end-di_info
   51: 1000013  1d 00    d_data          .word di_info
   52: 1000015  4c 63 0c d_fnfree        jmp   list_free
   53: 1000018  4c a1 0c d_fncmp         jmp   list_cmp
   54: 100001b  7b 00    d_cmpdata       .word cmpbuf
   56: 100001d           di_info         =     *
   57: 100001d  00 00 00 di_name         .long 0
   58: 1000020  00       di_nlen         .byte 0
   59: 1000021  00       di_type         .byte 0
   60: 1000022  00 00 00 00 00 00 00 00 00 00 00 00 00
                         di_date         .zero DATE_LEN+1
   61: 100002f           di_ref          =     di_date
   62: 100002f           di_rlen         =     di_date+3
   63: 100002f           di_info_end     =     *
   65: 100002f           f_list          =     *
   66: 100002f  00 00 00 f_hdr           .long 0
   67: 1000032  00 00 00 f_cur           .long 0
   68: 1000035  00 00 00 f_next          .long 0
   69: 1000038  00 00 00 f_prev          .long 0
   70: 100003b  15       f_dsize         .byte fi_info_end-fi_info
   71: 100003c  46 00    f_data          .word fi_info
   72: 100003e  4c 63 0c f_fnfree        jmp   list_free
   73: 1000041  4c a1 0c f_fncmp         jmp   list_cmp
   74: 1000044  7b 00    f_cmpdata       .word cmpbuf
   76: 1000046           fi_info         =     *
   77: 1000046  00 00 00 fi_name         .long 0
   78: 1000049  00       fi_nlen         .byte 0
   79: 100004a  00       fi_type         .byte 0
   80: 100004b  00 00 00 00 00 00 00 00 00 00 00 00 00
                         fi_date         .zero DATE_LEN+1
   81: 1000058  00 00 00 fi_size         .long 0
   82: 100005b           fi_ref          =     fi_date
   83: 100005b           fi_rlen         =     fi_date+3
   84: 100005b           fi_info_end     =     *
   86: 100005b           l_list          =     *
   87: 100005b  00 00 00 l_hdr           .long 0
   88: 100005e  00 00 00 l_cur           .long 0
   89: 1000061  00 00 00 l_next          .long 0
   90: 1000064  00 00 00 l_prev          .long 0
   91: 1000067  09       l_dsize         .byte li_info_end-li_info
   92: 1000068  72 00    l_data          .word li_info
   93: 100006a  4c 63 0c l_fnfree        jmp   list_free
   94: 100006d  4c a1 0c l_fncmp         jmp   list_cmp
   95: 1000070  7b 00    l_cmpdata       .word cmpbuf
   97: 1000072           li_info         =     *
   98: 1000072  00 00 00 li_name         .long 0
   99: 1000075  00       li_nlen         .byte 0
  100: 1000076  00       li_type         .byte 0
  101: 1000077  00 00 00 li_ref          .long 0
  102: 100007a  00       li_rlen         .byte 0
  103: 100007b           li_info_end     =     *
  105: 100007b  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                         cmpbuf          .zero fi_info_end-fi_info
  107: 1000090                           .enum 
  108: 1000090           I_HDR           =     3
  109: 1000090           I_CUR           =     3
  110: 1000090           I_NEXT          =     3
  111: 1000090           I_PREV          =     3
  112: 1000090           I_DSIZE         =     1
  113: 1000090           I_DATA          =     2
  114: 1000090           I_FNFREE        =     3
  115: 1000090           I_FNCMP         =     3
  116: 1000090           I_CMPDATA       =     2
  117: 1000090                           .enden 
  119: 1000090                           .enum 
  120: 1000090           SI_NAME         =     3
  121: 1000090           SI_NLEN         =     1
  122: 1000090           SI_TYPE         =     1
  123: 1000090           SI_REF          =     3
  124: 1000090           SI_RLEN         =     1
  125: 1000090                           .enden 
  127: 1000090  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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                         server          .zero HOST_LEN+1
  128: 10000b9  ff       sockctrl        .byte $ff
  129: 10000ba  ff       sockdata        .byte $ff
  130: 10000bb  00 00    dataport        .word 0
  131: 10000bd  00       stackpos        .byte 0
  133: 10000be  43 4f 4e 46 49 47 00
                         pconfig         .text "config\0"
  134: 10000c5  46 49 4c 45 00
                         pfile           .text "file\0"
  135: 10000ca  53 42 00 psb             .text "sb\0"
  136: 10000cd  46 54 50 48 00
                         phelp           .text "ftph\0"
  138: 10000d2  c3 4f 55 4c 44 4e 27 54 20 4f 50 45 4e 20 53 4f 43 4b 45 54 00
                         erropen         .text "Couldn\'t open socket\0"
  139: 10000e7  c3 4f 55 4c 44 4e 27 54 20 52 45 53 4f 4c 56 45 20 48 4f 53 54 20 4e 41 4d 45 00
                         errname         .text "Couldn\'t resolve host name\0"
  140: 1000102  c3 4f 55 4c 44 4e 27 54 20 43 4f 4e 4e 45 43 54 20 54 4f 20 53 45 52 56 45 52 00
                         errconn         .text "Couldn\'t connect to server\0"
  141: 100011d  c3 4f 55 4c 44 4e 27 54 20 4c 4f 47 20 49 4e 20 54 4f 20 53 45 52 56 45 52 00
                         errlog          .text "Couldn\'t log in to server\0"
  142: 1000137  d4 49 4d 45 4f 55 54 20 2d 20 c3 4f 4e 4e 45 43 54 49 4f 4e 20 43 4c 4f 53 45 44 00
                         errtime         .text "Timeout - Connection closed\0"
  143: 1000153  d7 52 49 54 45 20 45 52 52 4f 52 20 2d 20 c3 4f 4e 4e 45 43 54 49 4f 4e 20 43 4c 4f 53 45 44 00
                         errwrite        .text "Write error - Connection closed\0"
  144: 1000173  c3 4f 4e 4e 45 43 54 49 4f 4e 20 43 4c 4f 53 45 44 20 42 59 20 52 45 4d 4f 54 45 20 48 4f 53 54 00
                         errclose        .text "Connection closed by remote host\0"
  145: 1000194  c5 52 52 4f 52 20 4f 4e 20 44 41 54 41 20 50 4f 52 54 00
                         errdata         .text "Error on data port\0"
  147: 10001a7  ba       start           tsx   
  148: 10001a8  8e bd 00                 stx   stackpos
  150: 10001ab  ae bd 00 uloop           ldx   stackpos
  151: 10001ae  9a                       txs   
  152: 10001af  20 36 06                 jsr   updstat
  153: 10001b2  20 08 01 loop            jsr   api.keyWait
  157: 10001b5  c9 1b                    cmp   #ESC
  158: 10001b7  f0 04                    beq   +
  159: 10001b9  c9 ad                    cmp   #CoZ
  160: 10001bb  d0 09                    bne   +cmd
  161: 10001bd  ae b9 00 +               ldx   sockctrl
  162: 10001c0  30 03                    bmi   +
  163: 10001c2  20 03 00                 jsr   ipm.close
  164: 10001c5  60       +               rts   
  168: 10001c6  c9 b0    +cmd            cmp   #CoA
  169: 10001c8  f0 03                    beq   +
  170: 10001ca  4c 19 03                 jmp   +cmd
  172: 10001cd  2c b9 00 +               bit   sockctrl
  173: 10001d0  30 03                    bmi   +
  174: 10001d2  4c b2 01                 jmp   loop
  176: 10001d5  38       +               sec   
  177: 10001d6  20 71 01                 jsr   api.statBegin
  178: 10001d9  20 50 01                 jsr   api.outFormat
  179: 10001dc  c8 4f 53 54 3a 20
                                         .text "Host: "
  180: 10001e2  00                       .byte 0
  181: 10001e3  a9 00                    lda   #0
  182: 10001e5  8d 80 03                 sta   input
  183: 10001e8  20 7a 01                 jsr   api.statField
  184: 10001eb  e9 06                    sbc   #6
  185: 10001ed  aa                       tax   
  186: 10001ee  a9 28                    lda   #HOST_LEN
  187: 10001f0  20 1a 01                 jsr   api.lineRead
  188: 10001f3  d0 03                    bne   +
  189: 10001f5  4c ab 01                 jmp   uloop
  191: 10001f8  a9 10    +               lda   #TOS_MINDELAY
  192: 10001fa  85 60                    sta   arg
  193: 10001fc  a2 06                    ldx   #TCP
  194: 10001fe  a9 00                    lda   #0
  195: 1000200  a0 00                    ldy   #0
  196: 1000202  20 00 00                 jsr   ipm.open
  197: 1000205  90 07                    bcc   +
  198: 1000207  a2 d2                    ldx   #<erropen
  199: 1000209  a0 00                    ldy   #>erropen
  200: 100020b  4c ed 05                 jmp   error
  202: 100020e  8e b9 00 +               stx   sockctrl
  203: 1000211  a2 90                    ldx   #<server
  203: 1000213  a0 00                    ldy   #>server
  203: 1000215  20 86 01                 jsr   api.strCopyFromInput
  205: 1000218  a2 80                    ldx   #<input
  205: 100021a  a0 03                    ldy   #>input
  205: 100021c  20 00 00                 jsr   ipu.resolve
  206: 100021f  90 07                    bcc   +
  207: 1000221  a2 e7                    ldx   #<errname
  208: 1000223  a0 00                    ldy   #>errname
  209: 1000225  4c e2 05                 jmp   fatal
  211: 1000228  20 74 01 +               jsr   api.statClear
  212: 100022b  20 50 01                 jsr   api.outFormat
  213: 100022e  c3 4f 4e 4e 45 43 54 49 4e 47 20 54 4f 20 25 53 90 00 2e 2e 2e
                                         .text "Connecting to %s'server'..."
  214: 1000243  00                       .byte 0
  215: 1000244  20 77 01                 jsr   api.statEnd
  217: 1000247  a9 15                    lda   #FTP
  218: 1000249  85 64                    sta   arg+4
  219: 100024b  a9 00                    lda   #0
  220: 100024d  85 65                    sta   arg+5
  221: 100024f  ae b9 00                 ldx   sockctrl
  222: 1000252  20 09 00                 jsr   ipm.connect
  223: 1000255  90 03                    bcc   +
  224: 1000257  4c c6 05 -ec             jmp   econn
  226: 100025a  20 59 01 +               jsr   api.outBell
  227: 100025d  38                       sec   
  228: 100025e  20 71 01                 jsr   api.statBegin
  229: 1000261  20 50 01                 jsr   api.outFormat
  230: 1000264  c3 4f 4e 4e 45 43 54 49 4f 4e 20 45 53 54 41 42 4c 49 53 48 45 44
                                         .text "Connection established"
  231: 100027a  00                       .byte 0
  232: 100027b  20 77 01                 jsr   api.statEnd
  233: 100027e  20 82 06                 jsr   getmessage
  234: 1000281  ad 00 05                 lda   genbuf
  235: 1000284  c9 32                    cmp   #"2"
  236: 1000286  f0 03                    beq   +
  237: 1000288  4c cc 05 -el             jmp   elogin
  239: 100028b  38       +               sec   
  240: 100028c  20 71 01                 jsr   api.statBegin
  241: 100028f  20 50 01                 jsr   api.outFormat
  242: 1000292  cc 4f 47 47 49 4e 47 20 49 4e 2e 2e 2e
                                         .text "Logging in..."
  243: 100029f  00                       .byte 0
  244: 10002a0  20 77 01                 jsr   api.statEnd
  246: 10002a3  20 53 01                 jsr   api.strFormat
  247: 10002a6  00 05                    .word genbuf
  248: 10002a8  d5 d3 c5 d2 20 41 4e 4f 4e 59 4d 4f 55 53
                                         .text "USER anonymous"
  250: 10002b6  00                       .byte 0
  251: 10002b7  ae b9 00                 ldx   sockctrl
  252: 10002ba  20 09 00                 jsr   ipu.writeline
  253: 10002bd  90 03                    bcc   +
  254: 10002bf  4c d2 05                 jmp   ewrite
  256: 10002c2  20 82 06 +               jsr   getmessage
  257: 10002c5  ad 00 05                 lda   genbuf
  258: 10002c8  c9 33                    cmp   #"3"
  259: 10002ca  f0 03                    beq   +
  260: 10002cc  4c cc 05                 jmp   elogin
  262: 10002cf  20 53 01 +               jsr   api.strFormat
  263: 10002d2  00 05                    .word genbuf
  264: 10002d4  d0 c1 d3 d3 20 25 53 50 08
                                         .text "PASS %s'nt_mailaddr'"
  266: 10002dd  00                       .byte 0
  267: 10002de  ae b9 00                 ldx   sockctrl
  268: 10002e1  20 09 00                 jsr   ipu.writeline
  269: 10002e4  90 03                    bcc   +
  270: 10002e6  4c c6 05                 jmp   econn
  272: 10002e9  20 82 06 +               jsr   getmessage
  273: 10002ec  ad 00 05                 lda   genbuf
  274: 10002ef  c9 32                    cmp   #"2"
  275: 10002f1  f0 03                    beq   +
  276: 10002f3  4c cc 05                 jmp   elogin
  278: 10002f6  20 53 01 +               jsr   api.strFormat
  279: 10002f9  00 05                    .word genbuf
  280: 10002fb  d4 d9 d0 c5 20 c9
                                         .text "TYPE I"
  281: 1000301  00                       .byte 0
  282: 1000302  ae b9 00                 ldx   sockctrl
  283: 1000305  20 09 00                 jsr   ipu.writeline
  284: 1000308  b0 03                    bcs   +n
  286: 100030a  20 82 06                 jsr   getmessage
  288: 100030d  ae 60 00 +n              ldx   dev.sc_scrollbot
  289: 1000310  ca                       dex   
  290: 1000311  ca                       dex   
  291: 1000312  ca                       dex   
  292: 1000313  8e 5f 00                 stx   dev.sc_scrolltop
  293: 1000316  4c ab 01                 jmp   uloop
  297: 1000319  c9 bc    +cmd            cmp   #CoC
  298: 100031b  d0 08                    bne   +cmd
  300: 100031d  a2 be                    ldx   #<pconfig
  301: 100031f  a0 00                    ldy   #>pconfig
  302: 1000321  4c ce 06                 jmp   domodule
  306: 1000324  00       nstr            .byte 0
  308: 1000325  c9 bb    +cmd            cmp   #CoF
  309: 1000327  d0 45                    bne   +cmd
  310: 1000329  ad 09 08                 lda   nt_device
  311: 100032c  c9 07                    cmp   #BUFDEV
  312: 100032e  d0 03                    bne   +
  313: 1000330  4c 92 03                 jmp   buffree
  314: 1000333  a2 24    +               ldx   #<nstr
  314: 1000335  a0 03                    ldy   #>nstr
  314: 1000337  20 a2 00                 jsr   api.dirOpen
  315: 100033a  90 06                    bcc   +
  316: 100033c  20 3f 00                 jsr   api.rsEnableFlow
  317: 100033f  4c b2 01                 jmp   loop
  318: 1000342  20 a8 00 +               jsr   api.dirRead
  319: 1000345  20 a8 00                 jsr   api.dirRead
  320: 1000348  a9 01                    lda   #1
  321: 100034a  20 c3 ff                 jsr   kernClose
  322: 100034d  20 3f 00                 jsr   api.rsEnableFlow
  323: 1000350  20 53 01                 jsr   api.strFormat
  324: 1000353  00 05                    .word genbuf
  325: 1000355  c4 45 56 49 43 45 20 25 c4 09 08 3a 20 25 53 fb 03
                                         .text "Device %D'nt_device': %s'api.strdir'"
  326: 1000366  00                       .byte 0
  327: 1000367  a2 00                    ldx   #<genbuf
  328: 1000369  a0 05                    ldy   #>genbuf
  329: 100036b  4c ed 05                 jmp   error
  333: 100036e  c9 a1    +cmd            cmp   #CoK
  334: 1000370  d0 07                    bne   +cmd
  336: 1000372  a2 c5                    ldx   #<pfile
  337: 1000374  a0 00                    ldy   #>pfile
  338: 1000376  4c ce 06                 jmp   domodule
  340: 1000379  c9 b6    +cmd            cmp   #CoL
  341: 100037b  d0 06                    bne   +cmd
  343: 100037d  20 8f 07                 jsr   getdir
  344: 1000380  4c ab 01                 jmp   uloop
  348: 1000383  c9 a7    +cmd            cmp   #CoM
  349: 1000385  d0 07                    bne   +cmd
  351: 1000387  a2 cd                    ldx   #<phelp
  352: 1000389  a0 00                    ldy   #>phelp
  353: 100038b  4c ce 06                 jmp   domodule
  357: 100038e  c9 aa    +cmd            cmp   #CoN
  358: 1000390  d0 10                    bne   +cmd
  359: 1000392  ad 05 01 buffree         lda   dev.b_maxbuf
  360: 1000395  8d d0 03                 sta   api.bufdircount
  361: 1000398  20 e7 00                 jsr   api.bufDirRead
  362: 100039b  a2 fb                    ldx   #<api.strdir
  363: 100039d  a0 03                    ldy   #>api.strdir
  364: 100039f  4c ed 05                 jmp   error
  366: 10003a2  c9 b9    +cmd            cmp   #CoO
  367: 10003a4  d0 5b                    bne   +cmd
  369: 10003a6  20 50 01                 jsr   api.outFormat
  370: 10003a9  0d 44 49 52 45 43 54 4f 52 49 45 53 3a 00
                                         .text "\mdirectories:\0"
  371: 10003b7  a2 06                    ldx   #<d_list
  371: 10003b9  a0 00                    ldy   #>d_list
  371: 10003bb  20 cb 01                 jsr   api.listRegister
  372: 10003be  20 d1 01                 jsr   api.listStart
  373: 10003c1  20 d4 01 -loop           jsr   api.listNext
  374: 10003c4  b0 38                    bcs   +done
  375: 10003c6  20 20 0c                 jsr   list_getname
  376: 10003c9  20 50 01                 jsr   api.outFormat
  377: 10003cc  0d 25 53 00 05 20 00
                                         .text "\m%s'genbuf' \0"
  378: 10003d3  2c 21 00                 bit   di_type
  379: 10003d6  30 12                    bmi   +
  380: 10003d8  20 50 01                 jsr   api.outFormat
  381: 10003db  20 20 44 41 54 45 3a 25 53 22 00 00
                                         .text "  date:%s'di_date'\0"
  382: 10003e7  4c c1 03                 jmp   -loop
  383: 10003ea  20 3d 0c +               jsr   list_getref
  384: 10003ed  20 50 01                 jsr   api.outFormat
  385: 10003f0  20 20 52 45 46 3a 5e 53 08 00 00
                                         .text "  ref:^s'strbuf'\0"
  386: 10003fb  4c c1 03                 jmp   -loop
  387: 10003fe  4c ab 01 +done           jmp   uloop
  389: 1000401  c9 af    +cmd            cmp   #CoP
  390: 1000403  d0 60                    bne   +cmd
  392: 1000405  20 50 01                 jsr   api.outFormat
  393: 1000408  0d 46 49 4c 45 53 3a 00
                                         .text "\mfiles:\0"
  395: 1000410  a2 2f                    ldx   #<f_list
  395: 1000412  a0 00                    ldy   #>f_list
  395: 1000414  20 cb 01                 jsr   api.listRegister
  396: 1000417  20 d1 01                 jsr   api.listStart
  397: 100041a  20 d4 01 -loop           jsr   api.listNext
  398: 100041d  b0 43                    bcs   +done
  399: 100041f  20 20 0c                 jsr   list_getname
  400: 1000422  20 50 01                 jsr   api.outFormat
  401: 1000425  0d 25 53 00 05 20 00
                                         .text "\m%s'genbuf' \0"
  402: 100042c  2c 4a 00                 bit   fi_type
  403: 100042f  30 1d                    bmi   +
  404: 1000431  20 50 01                 jsr   api.outFormat
  405: 1000434  20 20 44 41 54 45 3a 25 53 4b 00 20 20 53 49 5a 45 3a 25 4c 58 00 00
                                         .text "  date:%s'fi_date'  size:%l'fi_size'\0"
  406: 100044b  4c 1a 04                 jmp   -loop
  407: 100044e  20 3d 0c +               jsr   list_getref
  408: 1000451  20 50 01                 jsr   api.outFormat
  409: 1000454  20 20 52 45 46 3a 5e 53 08 00 00
                                         .text "  ref:^s'strbuf'\0"
  410: 100045f  4c 1a 04                 jmp   -loop
  411: 1000462  4c ab 01 +done           jmp   uloop
  413: 1000465  c9 ab    +cmd            cmp   #CoQ
  414: 1000467  f0 03                    beq   +
  415: 1000469  4c eb 04                 jmp   +cmd
  417: 100046c  20 50 01 +               jsr   api.outFormat
  418: 100046f  0d 4c 49 4e 4b 53 3a 00
                                         .text "\mlinks:\0"
  420: 1000477  a2 5b                    ldx   #<l_list
  420: 1000479  a0 00                    ldy   #>l_list
  420: 100047b  20 cb 01                 jsr   api.listRegister
  421: 100047e  20 d1 01                 jsr   api.listStart
  422: 1000481  20 d4 01 -loop           jsr   api.listNext
  423: 1000484  b0 1c                    bcs   +done
  424: 1000486  20 20 0c                 jsr   list_getname
  425: 1000489  20 3d 0c                 jsr   list_getref
  426: 100048c  20 50 01                 jsr   api.outFormat
  427: 100048f  0d 25 53 00 05 20 20 52 45 46 3a 5e 53 08 00 00
                                         .text "\m%s'genbuf'  ref:^s'strbuf'\0"
  428: 100049f  4c 81 04                 jmp   -loop
  429: 10004a2  4c ab 01 +done           jmp   uloop
  432: 10004a5  a9 fe                    lda   #$fe
  433: 10004a7  8d 6b 07                 sta   fitoplast
  434: 10004aa  a9 01                    lda   #1
  435: 10004ac  20 70 07                 jsr   filecb
  437: 10004af  a9 fe                    lda   #$fe
  438: 10004b1  8d 72 07                 sta   ditoplast
  439: 10004b4  a9 01                    lda   #1
  440: 10004b6  20 76 07                 jsr   dircb
  442: 10004b9  ad 55 00                 lda   dev.sc_rows
  443: 10004bc  38                       sec   
  444: 10004bd  e9 05                    sbc   #5
  445: 10004bf  85 60                    sta   arg
  446: 10004c1  a9 03                    lda   #3
  447: 10004c3  85 61                    sta   arg+1
  448: 10004c5  a9 00                    lda   #0
  449: 10004c7  85 62                    sta   arg+2
  450: 10004c9  ad 57 00                 lda   dev.sc_columns
  451: 10004cc  4a                       lsr   
  452: 10004cd  85 63                    sta   arg+3
  453: 10004cf  a9 a0                    lda   #MENU_LRKEY|MENU_SPACE
  454: 10004d1  85 64                    sta   arg+4
  455: 10004d3  a9 70                    lda   #<filecb
  456: 10004d5  85 65                    sta   arg+5
  457: 10004d7  a9 07                    lda   #>filecb
  458: 10004d9  85 66                    sta   arg+6
  460: 10004db  a9 01                    lda   #1
  461: 10004dd  a2 01                    ldx   #1
  462: 10004df  ac 04 00                 ldy   nfiles
  463: 10004e2  20 2f 01                 jsr   api.menuInit
  464: 10004e5  20 32 01 -l              jsr   api.menuEnter
  466: 10004e8  4c ab 01                 jmp   uloop
  470: 10004eb  c9 ae    +cmd            cmp   #CoS
  471: 10004ed  d0 07                    bne   +cmd
  473: 10004ef  a2 ca                    ldx   #<psb
  474: 10004f1  a0 00                    ldy   #>psb
  475: 10004f3  4c ce 06                 jmp   domodule
  479: 10004f6  c9 be    +cmd            cmp   #CoV
  480: 10004f8  d0 0e                    bne   +cmd
  481: 10004fa  20 9f 00                 jsr   api.dirOpenAll
  482: 10004fd  b0 03                    bcs   +
  483: 10004ff  20 b4 00                 jsr   api.dirShowWin
  484: 1000502  20 3f 00 +               jsr   api.rsEnableFlow
  485: 1000505  4c b2 01                 jmp   loop
  489: 1000508  c9 bd    +cmd            cmp   #CoX
  490: 100050a  f0 03                    beq   +
  491: 100050c  4c 76 05                 jmp   +cmd
  493: 100050f  2c b9 00 +               bit   sockctrl
  494: 1000512  10 03                    bpl   +
  495: 1000514  4c b2 01                 jmp   loop
  497: 1000517  38       +               sec   
  498: 1000518  20 71 01                 jsr   api.statBegin
  499: 100051b  20 50 01                 jsr   api.outFormat
  500: 100051e  c4 49 53 43 4f 4e 4e 45 43 54 3a 20 41 52 45 20 59 4f 55 20 53 55 52 45 3f 20
                                         .text "Disconnect: are you sure? "
  501: 1000538  00                       .byte 0
  502: 1000539  20 0e 01                 jsr   api.keyYesNo
  503: 100053c  f0 35                    beq   +n
  505: 100053e  20 74 01                 jsr   api.statClear
  506: 1000541  20 50 01                 jsr   api.outFormat
  507: 1000544  c4 49 53 43 4f 4e 4e 45 43 54 49 4e 47 2e 2e 2e
                                         .text "Disconnecting..."
  508: 1000554  00                       .byte 0
  509: 1000555  20 77 01                 jsr   api.statEnd
  511: 1000558  20 53 01                 jsr   api.strFormat
  512: 100055b  00 05                    .word genbuf
  513: 100055d  d1 d5 c9 d4
                                         .text "QUIT"
  514: 1000561  00                       .byte 0
  515: 1000562  ae b9 00                 ldx   sockctrl
  516: 1000565  20 09 00                 jsr   ipu.writeline
  517: 1000568  90 03                    bcc   +
  518: 100056a  4c d2 05                 jmp   ewrite
  520: 100056d  20 82 06 +               jsr   getmessage
  521: 1000570  20 15 06                 jsr   close_ctrl
  522: 1000573  4c ab 01 +n              jmp   uloop
  524: 1000576  c9 a4    +cmd            cmp   #CoAt
  525: 1000578  d0 3a                    bne   +cmd
  526: 100057a  38                       sec   
  527: 100057b  20 71 01                 jsr   api.statBegin
  528: 100057e  20 50 01                 jsr   api.outFormat
  529: 1000581  c4 cf d3 3a 25 c4 09 08 3e
                                         .text "DOS:%D'nt_device'>"
  530: 100058a  00                       .byte 0
  531: 100058b  a9 00                    lda   #0
  532: 100058d  8d 80 03                 sta   input
  533: 1000590  20 7a 01                 jsr   api.statField
  534: 1000593  e9 0a                    sbc   #10
  535: 1000595  aa                       tax   
  536: 1000596  a9 28                    lda   #40
  537: 1000598  20 1a 01                 jsr   api.lineRead
  538: 100059b  ad 80 03                 lda   input
  539: 100059e  d0 03                    bne   +
  540: 10005a0  4c ab 01                 jmp   uloop
  542: 10005a3  a2 80    +               ldx   #<input
  542: 10005a5  a0 03                    ldy   #>input
  542: 10005a7  20 81 00                 jsr   api.diskCmd
  543: 10005aa  20 3f 00                 jsr   api.rsEnableFlow
  544: 10005ad  a2 d2                    ldx   #<api.derrstr
  545: 10005af  a0 03                    ldy   #>api.derrstr
  546: 10005b1  4c ed 05                 jmp   error
  548: 10005b4  c9 a6    +cmd            cmp   #CoPlus
  549: 10005b6  d0 0b                    bne   +cmd
  551: 10005b8  a9 0d                    lda   #CR
  552: 10005ba  20 d2 ff                 jsr   kernChrout
  553: 10005bd  20 80 01                 jsr   api.memList
  554: 10005c0  4c ab 01                 jmp   uloop
  556: 10005c3  4c b2 01 +cmd            jmp   loop
  559: 10005c6  a2 02    econn           ldx   #<errconn
  560: 10005c8  a0 01                    ldy   #>errconn
  561: 10005ca  d0 16                    bne   fatal
  563: 10005cc  a2 1d    elogin          ldx   #<errlog
  564: 10005ce  a0 01                    ldy   #>errlog
  565: 10005d0  d0 10                    bne   fatal
  567: 10005d2  a2 53    ewrite          ldx   #<errwrite
  568: 10005d4  a0 01                    ldy   #>errwrite
  569: 10005d6  d0 0a                    bne   fatal
  571: 10005d8  a2 37    etimeout        ldx   #<errtime
  572: 10005da  a0 01                    ldy   #>errtime
  573: 10005dc  d0 04                    bne   fatal
  575: 10005de  a2 73    eclose          ldx   #<errclose
  576: 10005e0  a0 01                    ldy   #>errclose
  578: 10005e2  8a       fatal           txa   
  579: 10005e3  48                       pha   
  580: 10005e4  98                       tya   
  581: 10005e5  48                       pha   
  582: 10005e6  20 15 06                 jsr   close_ctrl
  583: 10005e9  68                       pla   
  584: 10005ea  a8                       tay   
  585: 10005eb  68                       pla   
  586: 10005ec  aa                       tax   
  588: 10005ed  86 60    error           stx   arg
  589: 10005ef  84 61                    sty   arg+1
  590: 10005f1  20 5c 01                 jsr   api.outLobell
  591: 10005f4  20 28 06                 jsr   close_data
  592: 10005f7  38                       sec   
  593: 10005f8  20 71 01                 jsr   api.statBegin
  594: 10005fb  20 50 01                 jsr   api.outFormat
  595: 10005fe  5e 53 60 00
                                         .text "^s'arg'"
  596: 1000602  00                       .byte 0
  597: 1000603  20 77 01                 jsr   api.statEnd
  598: 1000606  ad 40 08 -               lda   nt_shflag
  599: 1000609  c9 01                    cmp   #1
  600: 100060b  f0 05                    beq   +
  601: 100060d  ad f3 03                 lda   nkeys
  602: 1000610  f0 f4                    beq   -
  603: 1000612  4c ab 01 +               jmp   uloop
  605: 1000615  ae b9 00 close_ctrl      ldx   sockctrl
  606: 1000618  30 08                    bmi   +
  607: 100061a  20 03 00                 jsr   ipm.close
  608: 100061d  a2 ff                    ldx   #$ff
  609: 100061f  8e b9 00                 stx   sockctrl
  610: 1000622  a2 03    +               ldx   #UPPERLINE
  611: 1000624  8e 5f 00                 stx   dev.sc_scrolltop
  612: 1000627  60                       rts   
  614: 1000628  ae ba 00 close_data      ldx   sockdata
  615: 100062b  30 08                    bmi   +
  616: 100062d  20 03 00                 jsr   ipm.close
  617: 1000630  a2 ff                    ldx   #$ff
  618: 1000632  8e ba 00                 stx   sockdata
  619: 1000635  60       +               rts   
  621: 1000636  38       updstat         sec   
  622: 1000637  20 71 01                 jsr   api.statBegin
  623: 100063a  2c b9 00                 bit   sockctrl
  624: 100063d  30 18                    bmi   +
  625: 100063f  20 50 01                 jsr   api.outFormat
  626: 1000642  c3 4f 4e 4e 45 43 54 45 44 20 54 4f 20 25 53 90 00
                                         .text "Connected to %s'server'"
  627: 1000653  00                       .byte 0
  628: 1000654  4c 68 06                 jmp   ++
  629: 1000657  20 50 01 +               jsr   api.outFormat
  630: 100065a  ce 4f 20 43 4f 4e 4e 45 43 54 49 4f 4e
                                         .text "No connection"
  631: 1000667  00                       .byte 0
  632: 1000668  ad 57 00 ++              lda   dev.sc_columns
  633: 100066b  c9 3c                    cmp   #60
  634: 100066d  b0 10                    bcs   +
  635: 100066f  20 50 01                 jsr   api.outFormat
  636: 1000672  5e c3 0d 25 d4 08 dc 20 25 54 08 dd
                                         .text "^C\13%T'clock1' %t'clock2'"
  637: 100067e  00                       .byte 0
  638: 100067f  4c 77 01 +               jmp   api.statEnd
  640: 1000682  ae b9 00 getmessage      ldx   sockctrl
  641: 1000685  a9 3c                    lda   #FTP_TIMEOUT
  642: 1000687  20 06 00                 jsr   ipu.readline
  643: 100068a  90 0d                    bcc   ++
  644: 100068c  ad 0f 08                 lda   nt_errno
  645: 100068f  c9 20                    cmp   #ETIMEOUT
  646: 1000691  d0 03                    bne   +
  647: 1000693  4c d8 05                 jmp   etimeout
  648: 1000696  4c de 05 +               jmp   eclose
  649: 1000699           ++                    
  652: 1000699  ae 5e 00                 ldx   dev.sc_botline
  653: 100069c  a0 00                    ldy   #0
  654: 100069e  20 2a 00                 jsr   dev.sc_crsrplot
  655: 10006a1  20 50 01                 jsr   api.outFormat
  656: 10006a4  0d 03 01 25 53 00 05 0f
                                         .text "\m\c\1%s'genbuf'\o"
  657: 10006ac  00                       .byte 0
  658: 10006ad  a2 00                    ldx   #<genbuf
  659: 10006af  a0 05                    ldy   #>genbuf
  660: 10006b1  20 6e 01                 jsr   api.sbAddLine
  661: 10006b4  ad 03 05 +               lda   genbuf+3
  662: 10006b7  c9 2d                    cmp   #"-"
  663: 10006b9  f0 c7                    beq   getmessage
  664: 10006bb  18                       clc   
  665: 10006bc  60                       rts   
  668: 10006bd  50 52 47 2e
                         fname           .text "prg."
  669: 10006c1  00 00 00 00 00 00 00 00 00 00 00 00 00
                         pname           .zero 13
  671: 10006ce  86 6e    domodule        stx   sptr
  672: 10006d0  84 6f                    sty   sptr+1
  673: 10006d2  a2 c1                    ldx   #<pname
  674: 10006d4  a0 06                    ldy   #>pname
  675: 10006d6  20 9b 01                 jsr   api.strCopy
  677: 10006d9  a9 00                    lda   #0
  678: 10006db  8d 42 08                 sta   nt_savewin
  680: 10006de  a9 00                    lda   #DPROGRAM
  681: 10006e0  20 75 00                 jsr   api.devChangeSet
  682: 10006e3  a2 bd                    ldx   #<fname
  683: 10006e5  a0 06                    ldy   #>fname
  684: 10006e7  20 ba 00                 jsr   api.modLoadInit
  685: 10006ea  b0 16                    bcs   +e
  686: 10006ec  20 bd 00                 jsr   api.modLoad
  687: 10006ef  b0 11                    bcs   +e
  689: 10006f1  a2 c1    +               ldx   #<pname
  690: 10006f3  a0 06                    ldy   #>pname
  691: 10006f5  20 06 00                 jsr   prg.exec
  693: 10006f8  a2 c1                    ldx   #<pname
  694: 10006fa  a0 06                    ldy   #>pname
  695: 10006fc  20 c6 00                 jsr   api.modRemove
  696: 10006ff  4c b2 01                 jmp   loop
  698: 1000702  20 5c 01 +e              jsr   api.outLobell
  699: 1000705  4c b2 01                 jmp   loop
  704: 1000708  a9 08    setport         lda   #TOS_MAXTHRU
  705: 100070a  85 60                    sta   arg
  706: 100070c  a2 06                    ldx   #TCP
  707: 100070e  a9 00                    lda   #0
  708: 1000710  a0 00                    ldy   #0
  709: 1000712  20 00 00                 jsr   ipm.open
  710: 1000715  b0 0e                    bcs   +eopen
  712: 1000717  8e ba 00                 stx   sockdata
  713: 100071a  8d bb 00                 sta   dataport
  714: 100071d  8c bc 00                 sty   dataport+1
  715: 1000720  20 0c 00                 jsr   ipm.listen
  716: 1000723  90 07                    bcc   +
  717: 1000725           -eopen                
  718: 1000725  a2 d2    +eopen          ldx   #<erropen
  719: 1000727  a0 00                    ldy   #>erropen
  720: 1000729  4c ed 05                 jmp   error
  722: 100072c  20 53 01 +               jsr   api.strFormat
  723: 100072f  00 05                    .word genbuf
  724: 1000731  d0 cf d2 d4 20 25 42 48 08 2c 25 42 49 08 2c 25 42 4a 08 2c 25 42 4b 08 2c 25 42 bc 00 2c 25 42 bb 00
                                         .text "PORT %b'nt_ipaddr',%b'nt_ipaddr+1',%b'nt_ipaddr+2',%b'nt_ipaddr+3',%b'dataport+1',%b'dataport'"
  725: 1000753  00                       .byte 0
  726: 1000754  ae b9 00                 ldx   sockctrl
  727: 1000757  20 09 00                 jsr   ipu.writeline
  728: 100075a  90 03                    bcc   +
  729: 100075c  4c d2 05                 jmp   ewrite
  731: 100075f  20 82 06 +               jsr   getmessage
  732: 1000762  ad 00 05                 lda   genbuf
  733: 1000765  c9 32                    cmp   #"2"
  734: 1000767  d0 bc                    bne   -eopen
  735: 1000769  60                       rts   
  739: 100076a  00       fitop           .byte 0
  740: 100076b  00       fitoplast       .byte 0
  741: 100076c  00       ficnt           .byte 0
  742: 100076d  00       rowcnt          .byte 0
  743: 100076e  00       ffshow          .byte 0
  744: 100076f  00       fnwidth         .byte 0
  746: 1000770           SH_SIZE         =     $40
  747: 1000770           SH_DATE         =     $80
  749: 1000770  60       filecb          rts   
  751: 1000771                                 
  752: 1000771                                 
  754: 1000771                                 
  755: 1000771                                 
  756: 1000771                                 
  757: 1000771                                 
  758: 1000771                                 
  759: 1000771                                 
  760: 1000771                                 
  761: 1000771                                 
  762: 1000771                                 
  763: 1000771                                 
  764: 1000771                                 
  765: 1000771                                 
  766: 1000771                                 
  767: 1000771                                 
  768: 1000771                                 
  770: 1000771                                 
  771: 1000771                                 
  772: 1000771                                 
  773: 1000771                                 
  774: 1000771                                 
  775: 1000771                                 
  776: 1000771                                 
  777: 1000771                                 
  778: 1000771                                 
  779: 1000771                                 
  780: 1000771                                 
  781: 1000771                                 
  782: 1000771                                 
  783: 1000771                                 
  784: 1000771                                 
  785: 1000771                                 
  786: 1000771                                 
  787: 1000771                                 
  789: 1000771                                 
  790: 1000771                                 
  791: 1000771                                 
  791: 1000771                                 
  791: 1000771                                 
  792: 1000771                                 
  793: 1000771                                 
  794: 1000771                                 
  795: 1000771                                 
  796: 1000771                                 
  797: 1000771                                 
  799: 1000771                                 
  800: 1000771                                 
  801: 1000771                                 
  802: 1000771                                 
  803: 1000771                                 
  804: 1000771                                 
  805: 1000771                                 
  806: 1000771                                 
  807: 1000771                                 
  808: 1000771                                 
  809: 1000771                                 
  811: 1000771                                 
  812: 1000771                                 
  813: 1000771                                 
  814: 1000771                                 
  815: 1000771                                 
  816: 1000771                                 
  817: 1000771                                 
  818: 1000771                                 
  819: 1000771                                 
  820: 1000771                                 
  821: 1000771                                 
  822: 1000771                                 
  823: 1000771                                 
  824: 1000771                                 
  825: 1000771                                 
  826: 1000771                                 
  827: 1000771                                 
  828: 1000771                                 
  830: 1000771                                 
  831: 1000771                                 
  832: 1000771                                 
  833: 1000771                                 
  834: 1000771                                 
  835: 1000771                                 
  836: 1000771                                 
  837: 1000771                                 
  839: 1000771                                 
  840: 1000771                                 
  841: 1000771                                 
  842: 1000771                                 
  843: 1000771                                 
  844: 1000771                                 
  845: 1000771                                 
  846: 1000771                                 
  847: 1000771                                 
  848: 1000771                                 
  849: 1000771                                 
  850: 1000771                                 
  851: 1000771                                 
  852: 1000771                                 
  853: 1000771                                 
  855: 1000771                                 
  856: 1000771                                 
  857: 1000771                                 
  858: 1000771                                 
  859: 1000771                                 
  860: 1000771                                 
  861: 1000771                                 
  862: 1000771                                 
  864: 1000771                                 
  865: 1000771                                 
  867: 1000771                                 
  868: 1000771                                 
  869: 1000771                                 
  870: 1000771                                 
  871: 1000771                                 
  872: 1000771                                 
  874: 1000771                                 
  875: 1000771                                 
  876: 1000771                                 
  877: 1000771                                 
  878: 1000771                                 
  879: 1000771                                 
  880: 1000771                                 
  881: 1000771                                 
  882: 1000771                                 
  883: 1000771                                 
  884: 1000771                                 
  884: 1000771                                 
  884: 1000771                                 
  885: 1000771                                 
  886: 1000771                                 
  887: 1000771                                 
  888: 1000771                                 
  889: 1000771                                 
  890: 1000771                                 
  891: 1000771                                 
  892: 1000771                                 
  893: 1000771                                 
  894: 1000771                                 
  895: 1000771                                 
  896: 1000771                                 
  897: 1000771                                 
  898: 1000771                                 
  899: 1000771                                 
  900: 1000771                                 
  901: 1000771                                 
  902: 1000771                                 
  903: 1000771                                 
  904: 1000771                                 
  905: 1000771                                 
  906: 1000771                                 
  910: 1000771  00       ditop           .byte 0
  911: 1000772  00       ditoplast       .byte 0
  912: 1000773  00       dicnt           .byte 0
  913: 1000774  00       dfshow          .byte 0
  914: 1000775  00       dnwidth         .byte 0
  916: 1000776  60       dircb           rts   
  918: 1000777                                 
  919: 1000777                                 
  921: 1000777                                 
  922: 1000777                                 
  923: 1000777                                 
  924: 1000777                                 
  925: 1000777                                 
  926: 1000777                                 
  927: 1000777                                 
  928: 1000777                                 
  929: 1000777                                 
  930: 1000777                                 
  931: 1000777                                 
  932: 1000777                                 
  933: 1000777                                 
  935: 1000777                                 
  936: 1000777                                 
  937: 1000777                                 
  938: 1000777                                 
  939: 1000777                                 
  940: 1000777                                 
  941: 1000777                                 
  942: 1000777                                 
  943: 1000777                                 
  944: 1000777                                 
  945: 1000777                                 
  946: 1000777                                 
  948: 1000777                                 
  949: 1000777                                 
  950: 1000777                                 
  950: 1000777                                 
  950: 1000777                                 
  951: 1000777                                 
  952: 1000777                                 
  953: 1000777                                 
  954: 1000777                                 
  955: 1000777                                 
  956: 1000777                                 
  958: 1000777                                 
  959: 1000777                                 
  960: 1000777                                 
  961: 1000777                                 
  962: 1000777                                 
  963: 1000777                                 
  964: 1000777                                 
  965: 1000777                                 
  966: 1000777                                 
  967: 1000777                                 
  968: 1000777                                 
  970: 1000777                                 
  971: 1000777                                 
  972: 1000777                                 
  973: 1000777                                 
  974: 1000777                                 
  975: 1000777                                 
  976: 1000777                                 
  977: 1000777                                 
  978: 1000777                                 
  979: 1000777                                 
  980: 1000777                                 
  981: 1000777                                 
  982: 1000777                                 
  983: 1000777                                 
  984: 1000777                                 
  985: 1000777                                 
  986: 1000777                                 
  987: 1000777                                 
  989: 1000777                                 
  990: 1000777                                 
  991: 1000777                                 
  992: 1000777                                 
  993: 1000777                                 
  994: 1000777                                 
  995: 1000777                                 
  996: 1000777                                 
  998: 1000777                                 
  999: 1000777                                 
 1000: 1000777                                 
 1001: 1000777                                 
 1002: 1000777                                 
 1003: 1000777                                 
 1004: 1000777                                 
 1005: 1000777                                 
 1006: 1000777                                 
 1007: 1000777                                 
 1008: 1000777                                 
 1009: 1000777                                 
 1010: 1000777                                 
 1011: 1000777                                 
 1012: 1000777                                 
 1014: 1000777                                 
 1015: 1000777                                 
 1016: 1000777                                 
 1017: 1000777                                 
 1018: 1000777                                 
 1019: 1000777                                 
 1020: 1000777                                 
 1021: 1000777                                 
 1023: 1000777                                 
 1024: 1000777                                 
 1026: 1000777                                 
 1027: 1000777                                 
 1028: 1000777                                 
 1029: 1000777                                 
 1030: 1000777                                 
 1032: 1000777                                 
 1033: 1000777                                 
 1034: 1000777                                 
 1035: 1000777                                 
 1036: 1000777                                 
 1037: 1000777                                 
 1038: 1000777                                 
 1039: 1000777                                 
 1040: 1000777                                 
 1041: 1000777                                 
 1042: 1000777                                 
 1043: 1000777                                 
 1048: 1000777  c5 52 52 4f 52 20 47 45 54 54 49 4e 47 20 44 49 52 45 43 54 4f 52 59 00
                         elist           .text "Error getting directory\0"
 1050: 100078f  38       getdir          sec   
 1051: 1000790  20 71 01                 jsr   api.statBegin
 1052: 1000793  20 50 01                 jsr   api.outFormat
 1053: 1000796  d2 45 41 44 49 4e 47 20 44 49 52 45 43 54 4f 52 59 2e 2e 2e
                                         .text "Reading directory..."
 1054: 10007aa  00                       .byte 0
 1055: 10007ab  20 77 01                 jsr   api.statEnd
 1057: 10007ae  20 08 07                 jsr   setport
 1059: 10007b1  20 53 01                 jsr   api.strFormat
 1060: 10007b4  00 05                    .word genbuf
 1061: 10007b6  cc c9 d3 d4
                                         .text "LIST"
 1062: 10007ba  00                       .byte 0
 1063: 10007bb  ae b9 00                 ldx   sockctrl
 1064: 10007be  20 09 00                 jsr   ipu.writeline
 1065: 10007c1  90 03                    bcc   +
 1066: 10007c3  4c d2 05                 jmp   ewrite
 1068: 10007c6  20 82 06 +               jsr   getmessage
 1069: 10007c9  ad 00 05                 lda   genbuf
 1070: 10007cc  c9 31                    cmp   #"1"
 1071: 10007ce  f0 07                    beq   +d
 1072: 10007d0  a2 77                    ldx   #<elist
 1073: 10007d2  a0 07                    ldy   #>elist
 1074: 10007d4  4c ed 05                 jmp   error
 1076: 10007d7  ae ba 00 +d              ldx   sockdata
 1077: 10007da  20 0f 00                 jsr   ipm.accept
 1078: 10007dd  90 07                    bcc   +
 1079: 10007df  a2 94    -edata          ldx   #<errdata
 1080: 10007e1  a0 01                    ldy   #>errdata
 1081: 10007e3  4c ed 05                 jmp   error
 1082: 10007e6  a2 03    +               ldx   #UPPERLINE
 1083: 10007e8  8e 5f 00                 stx   dev.sc_scrolltop
 1085: 10007eb  20 02 0c                 jsr   initlists
 1086: 10007ee  a9 00                    lda   #0
 1087: 10007f0  8d 04 00                 sta   nfiles
 1088: 10007f3  8d 05 00                 sta   ndirs
 1090: 10007f6  ae ba 00                 ldx   sockdata
 1091: 10007f9  a9 3c                    lda   #FTP_TIMEOUT
 1092: 10007fb  20 06 00                 jsr   ipu.readline
 1093: 10007fe  b0 1e                    bcs   +q
 1094: 1000800  ae 5e 00                 ldx   dev.sc_botline
 1095: 1000803  a0 00                    ldy   #0
 1096: 1000805  20 2a 00                 jsr   dev.sc_crsrplot
 1097: 1000808  20 50 01                 jsr   api.outFormat
 1098: 100080b  0d 03 01 25 53 00 05 0f
                                         .text "\m\c\1%s'genbuf'\o"
 1099: 1000813  00                       .byte 0
 1101: 1000814  ae ba 00 -dir            ldx   sockdata
 1102: 1000817  a9 3c                    lda   #FTP_TIMEOUT
 1103: 1000819  20 06 00                 jsr   ipu.readline
 1104: 100081c  90 0a                    bcc   +
 1105: 100081e  ad 0f 08 +q              lda   nt_errno
 1106: 1000821  c9 26                    cmp   #EEOS
 1107: 1000823  d0 ba                    bne   -edata
 1108: 1000825  4c 42 08                 jmp   +done
 1109: 1000828           +                     
 1110: 1000828  ae 5e 00                 ldx   dev.sc_botline
 1111: 100082b  a0 00                    ldy   #0
 1112: 100082d  20 2a 00                 jsr   dev.sc_crsrplot
 1113: 1000830  20 50 01                 jsr   api.outFormat
 1114: 1000833  0d 03 01 25 53 00 05 0f
                                         .text "\m\c\1%s'genbuf'\o"
 1115: 100083b  00                       .byte 0
 1117: 100083c  20 a4 0a                 jsr   procdirent
 1118: 100083f  4c 14 08                 jmp   -dir
 1120: 1000842  20 28 06 +done           jsr   close_data
 1121: 1000845  20 82 06                 jsr   getmessage
 1123: 1000848  20 50 01                 jsr   api.outFormat
 1124: 100084b  0d 2d 31 29 20 4c 5f 48 44 52 3a 5e 4c 5b 00 20 4c 5f 43 55 52 3a 5e 4c 5e 00 20 4c 5f 4e 45 58 54 3a 5e 4c 61 00 20 4c 5f 50 52 45 56 3a 5e 4c 64 00 00
                                         .text "\m-1) l_hdr:^l'l_hdr' l_cur:^l'l_cur' l_next:^l'l_next' l_prev:^l'l_prev'\0"
 1126: 100087e  a2 5b                    ldx   #<l_list
 1126: 1000880  a0 00                    ldy   #>l_list
 1126: 1000882  20 cb 01                 jsr   api.listRegister
 1127: 1000885  20 d1 01                 jsr   api.listStart
 1128: 1000888  20 50 01                 jsr   api.outFormat
 1129: 100088b  0d 30 29 20 4c 5f 48 44 52 3a 5e 4c 5b 00 20 4c 5f 43 55 52 3a 5e 4c 5e 00 20 4c 5f 4e 45 58 54 3a 5e 4c 61 00 20 4c 5f 50 52 45 56 3a 5e 4c 64 00 00
                                         .text "\m0) l_hdr:^l'l_hdr' l_cur:^l'l_cur' l_next:^l'l_next' l_prev:^l'l_prev'\0"
 1130: 10008bd           -loop                 
 1131: 10008bd  20 08 01                 jsr   api.keyWait
 1132: 10008c0  a2 5b                    ldx   #<l_list
 1132: 10008c2  a0 00                    ldy   #>l_list
 1132: 10008c4  20 cb 01                 jsr   api.listRegister
 1134: 10008c7  20 50 01                 jsr   api.outFormat
 1135: 10008ca  0d 31 29 20 4c 5f 48 44 52 3a 5e 4c 5b 00 20 4c 5f 43 55 52 3a 5e 4c 5e 00 20 4c 5f 4e 45 58 54 3a 5e 4c 61 00 20 4c 5f 50 52 45 56 3a 5e 4c 64 00 00
                                         .text "\m1) l_hdr:^l'l_hdr' l_cur:^l'l_cur' l_next:^l'l_next' l_prev:^l'l_prev'\0"
 1136: 10008fc  20 d4 01                 jsr   api.listNext
 1137: 10008ff  90 03                    bcc   +
 1138: 1000901  4c 85 0a                 jmp   getdirfin
 1140: 1000904  20 3d 0c +               jsr   list_getref
 1141: 1000907  20 50 01                 jsr   api.outFormat
 1142: 100090a  0d 52 45 46 3a 20 5e 53 08 00 00
                                         .text "\mref: ^s'strbuf'\0"
 1144: 1000915  a5 08                    lda   strbuf
 1145: 1000917  85 6e                    sta   sptr
 1146: 1000919  a5 09                    lda   strbuf+1
 1147: 100091b  85 6f                    sta   sptr+1
 1148: 100091d  a9 00                    lda   #<genbuf
 1149: 100091f  85 70                    sta   sptr2
 1150: 1000921  a9 05                    lda   #>genbuf
 1151: 1000923  85 71                    sta   sptr2+1
 1153: 1000925  a2 2f                    ldx   #<f_list
 1153: 1000927  a0 00                    ldy   #>f_list
 1153: 1000929  20 cb 01                 jsr   api.listRegister
 1154: 100092c  20 d1 01                 jsr   api.listStart
 1155: 100092f  20 50 01                 jsr   api.outFormat
 1156: 1000932  0d 32 29 20 4c 5f 48 44 52 3a 5e 4c 5b 00 20 4c 5f 43 55 52 3a 5e 4c 5e 00 20 4c 5f 4e 45 58 54 3a 5e 4c 61 00 20 4c 5f 50 52 45 56 3a 5e 4c 64 00 00
                                         .text "\m2) l_hdr:^l'l_hdr' l_cur:^l'l_cur' l_next:^l'l_next' l_prev:^l'l_prev'\0"
 1157: 1000964  20 d4 01 -               jsr   api.listNext
 1158: 1000967  08                       php   
 1159: 1000968  20 50 01                 jsr   api.outFormat
 1160: 100096b  0d 46 30 29 20 4c 5f 48 44 52 3a 5e 4c 5b 00 20 4c 5f 43 55 52 3a 5e 4c 5e 00 20 4c 5f 4e 45 58 54 3a 5e 4c 61 00 20 4c 5f 50 52 45 56 3a 5e 4c 64 00 00
                                         .text "\mf0) l_hdr:^l'l_hdr' l_cur:^l'l_cur' l_next:^l'l_next' l_prev:^l'l_prev'\0"
 1161: 100099e  28                       plp   
 1162: 100099f  b0 25                    bcs   +dir
 1163: 10009a1  20 20 0c                 jsr   list_getname
 1164: 10009a4  a5 08                    lda   strbuf
 1165: 10009a6  85 6e                    sta   sptr
 1166: 10009a8  a5 09                    lda   strbuf+1
 1167: 10009aa  85 6f                    sta   sptr+1
 1168: 10009ac  a9 00                    lda   #<genbuf
 1169: 10009ae  85 70                    sta   sptr2
 1170: 10009b0  a9 05                    lda   #>genbuf
 1171: 10009b2  85 71                    sta   sptr2+1
 1172: 10009b4  20 aa 01                 jsr   api.strCompareX
 1173: 10009b7  b0 ab                    bcs   -
 1175: 10009b9  20 59 01                 jsr   api.outBell
 1176: 10009bc  ee 04 00                 inc   nfiles
 1177: 10009bf  a2 2f                    ldx   #<f_list
 1178: 10009c1  a0 00                    ldy   #>f_list
 1179: 10009c3  4c f9 09                 jmp   getcommon
 1182: 10009c6  a2 06    +dir            ldx   #<d_list
 1182: 10009c8  a0 00                    ldy   #>d_list
 1182: 10009ca  20 cb 01                 jsr   api.listRegister
 1183: 10009cd  20 d1 01                 jsr   api.listStart
 1184: 10009d0  20 d4 01 -               jsr   api.listNext
 1185: 10009d3  90 05                    bcc   +
 1186: 10009d5  4c bd 08                 jmp   -loop
 1187: 10009d8  b0 e3                    bcs   -loop
ERROR: Branch out of range at ftp.src(1187)
                bcs   -loop
 1188: 10009da  20 20 0c +               jsr   list_getname
 1189: 10009dd  a5 08                    lda   strbuf
 1190: 10009df  85 6e                    sta   sptr
 1191: 10009e1  a5 09                    lda   strbuf+1
 1192: 10009e3  85 6f                    sta   sptr+1
 1193: 10009e5  a9 00                    lda   #<genbuf
 1194: 10009e7  85 70                    sta   sptr2
 1195: 10009e9  a9 05                    lda   #>genbuf
 1196: 10009eb  85 71                    sta   sptr2+1
 1197: 10009ed  20 aa 01                 jsr   api.strCompareX
 1198: 10009f0  b0 de                    bcs   -
 1200: 10009f2  ee 05 00                 inc   ndirs
 1201: 10009f5  a2 06                    ldx   #<d_list
 1202: 10009f7  a0 00                    ldy   #>d_list
 1203: 10009f9  20 cb 01 getcommon       jsr   api.listRegister
 1204: 10009fc  20 50 01                 jsr   api.outFormat
 1205: 10009ff  0d 34 29 20 4c 5f 48 44 52 3a 5e 4c 5b 00 20 4c 5f 43 55 52 3a 5e 4c 5e 00 20 4c 5f 4e 45 58 54 3a 5e 4c 61 00 20 4c 5f 50 52 45 56 3a 5e 4c 64 00 00
                                         .text "\m4) l_hdr:^l'l_hdr' l_cur:^l'l_cur' l_next:^l'l_next' l_prev:^l'l_prev'\0"
 1207: 1000a31  a0 08                    ldy   #SI_RLEN
 1208: 1000a33  b9 72 00 -               lda   li_info,y
 1209: 1000a36  91 1a                    sta   (sdptr),y
 1210: 1000a38  a9 00                    lda   #0
 1211: 1000a3a  99 72 00                 sta   li_info,y
 1212: 1000a3d  88                       dey   
 1213: 1000a3e  10 f3                    bpl   -
 1215: 1000a40  20 e0 01                 jsr   api.listAdd
 1216: 1000a43  20 50 01                 jsr   api.outFormat
 1217: 1000a46  0d 35 29 20 4c 5f 48 44 52 3a 5e 4c 5b 00 20 4c 5f 43 55 52 3a 5e 4c 5e 00 20 4c 5f 4e 45 58 54 3a 5e 4c 61 00 20 4c 5f 50 52 45 56 3a 5e 4c 64 00 00
                                         .text "\m5) l_hdr:^l'l_hdr' l_cur:^l'l_cur' l_next:^l'l_next' l_prev:^l'l_prev'\0"
 1219: 1000a78  a2 5b                    ldx   #<l_list
 1219: 1000a7a  a0 00                    ldy   #>l_list
 1219: 1000a7c  20 cb 01                 jsr   api.listRegister
 1220: 1000a7f  20 e3 01                 jsr   api.listStash
 1221: 1000a82  4c bd 08                 jmp   -loop
 1223: 1000a85  60       getdirfin       rts   
 1224: 1000a86  a2 2f                    ldx   #<f_list
 1224: 1000a88  a0 00                    ldy   #>f_list
 1224: 1000a8a  20 cb 01                 jsr   api.listRegister
 1225: 1000a8d  20 e6 01                 jsr   api.listSort
 1226: 1000a90  a2 06                    ldx   #<d_list
 1226: 1000a92  a0 00                    ldy   #>d_list
 1226: 1000a94  20 cb 01                 jsr   api.listRegister
 1227: 1000a97  20 e6 01                 jsr   api.listSort
 1228: 1000a9a  a2 5b                    ldx   #<l_list
 1228: 1000a9c  a0 00                    ldy   #>l_list
 1228: 1000a9e  20 cb 01                 jsr   api.listRegister
 1229: 1000aa1  4c e9 01                 jmp   api.listClear
 1233: 1000aa4  ad 00 05 procdirent      lda   genbuf
 1234: 1000aa7  c9 44                    cmp   #"d"
 1235: 1000aa9  d0 03                    bne   +
 1236: 1000aab  4c 80 0b                 jmp   +dir
 1237: 1000aae  c9 4c    +               cmp   #"l"
 1238: 1000ab0  d0 03                    bne   +
 1239: 1000ab2  4c 04 0b                 jmp   +sym
 1241: 1000ab5  a0 2a    +               ldy   #OFF_DATE
 1242: 1000ab7  a2 00                    ldx   #0
 1243: 1000ab9  b9 00 05 -               lda   genbuf,y
 1244: 1000abc  9d 4b 00                 sta   fi_date,x
 1245: 1000abf  c8                       iny   
 1246: 1000ac0  e8                       inx   
 1247: 1000ac1  e0 0c                    cpx   #DATE_LEN
 1248: 1000ac3  90 f4                    bcc   -
 1250: 1000ac5  a9 00                    lda   #0
 1251: 1000ac7  8d 4a 00                 sta   fi_type
 1252: 1000aca  8d 58 00                 sta   fi_size
 1253: 1000acd  8d 59 00                 sta   fi_size+1
 1254: 1000ad0  8d 5a 00                 sta   fi_size+2
 1256: 1000ad3  a0 1e                    ldy   #OFF_SIZE
 1257: 1000ad5  a2 0b                    ldx   #SIZE_LEN
 1258: 1000ad7  b9 00 05 -               lda   genbuf,y
 1259: 1000ada  c9 20                    cmp   #" "
 1260: 1000adc  d0 06                    bne   +
 1261: 1000ade  c8                       iny   
 1262: 1000adf  ca                       dex   
 1263: 1000ae0  d0 f5                    bne   -
 1264: 1000ae2  f0 16                    beq   +n
 1266: 1000ae4  18       +               clc   
 1267: 1000ae5  98                       tya   
 1268: 1000ae6  69 00                    adc   #<genbuf
 1269: 1000ae8  aa                       tax   
 1270: 1000ae9  a0 05                    ldy   #>genbuf
 1271: 1000aeb  90 01                    bcc   +
 1272: 1000aed  c8                       iny   
 1273: 1000aee  20 b3 01 +               jsr   api.strToInt
 1274: 1000af1  8d 58 00                 sta   fi_size
 1275: 1000af4  8c 59 00                 sty   fi_size+1
 1276: 1000af7  8e 5a 00                 stx   fi_size+2
 1277: 1000afa  ee 04 00 +n              inc   nfiles
 1278: 1000afd  a2 2f                    ldx   #<f_list
 1279: 1000aff  a0 00                    ldy   #>f_list
 1280: 1000b01  4c b1 0b                 jmp   proccommon
 1282: 1000b04  a9 ff    +sym            lda   #$ff
 1283: 1000b06  8d 76 00                 sta   li_type
 1285: 1000b09  a0 37                    ldy   #OFF_NAME
 1286: 1000b0b  a2 00                    ldx   #0
 1287: 1000b0d  b9 00 05 -               lda   genbuf,y
 1288: 1000b10  f0 11                    beq   +q
 1289: 1000b12  dd fe 0b                 cmp   ltag,x
 1290: 1000b15  f0 04                    beq   +
 1291: 1000b17  a2 00                    ldx   #0
 1292: 1000b19  f0 05                    beq   ++
 1293: 1000b1b  e8       +               inx   
 1294: 1000b1c  e0 04                    cpx   #4
 1295: 1000b1e  f0 04                    beq   +r
 1296: 1000b20  c8       ++              iny   
 1297: 1000b21  d0 ea                    bne   -
 1298: 1000b23  60       +q              rts   
 1300: 1000b24  c8       +r              iny   
 1301: 1000b25  98                       tya   
 1303: 1000b26  38                       sec   
 1304: 1000b27  e9 04                    sbc   #4
 1305: 1000b29  aa                       tax   
 1306: 1000b2a  a9 00                    lda   #0
 1307: 1000b2c  9d 00 05                 sta   genbuf,x
 1308: 1000b2f  98                       tya   
 1310: 1000b30  18                       clc   
 1311: 1000b31  69 00                    adc   #<genbuf
 1312: 1000b33  aa                       tax   
 1313: 1000b34  a0 05                    ldy   #>genbuf
 1314: 1000b36  90 01                    bcc   +
 1315: 1000b38  c8                       iny   
 1316: 1000b39  20 ad 01 +               jsr   api.strLength
 1317: 1000b3c  18                       clc   
 1318: 1000b3d  69 01                    adc   #1
 1319: 1000b3f  8d 7a 00                 sta   li_rlen
 1320: 1000b42  a0 00                    ldy   #0
 1321: 1000b44  20 18 00                 jsr   mem.malloc
 1322: 1000b47  90 15                    bcc   +
 1323: 1000b49  20 50 01                 jsr   api.outFormat
 1324: 1000b4c  0d 41 4c 4c 4f 43 20 45 52 52 4f 52 20 31 00
                                         .text "\malloc error 1\0"
 1325: 1000b5b  4c 5c 01                 jmp   api.outLobell
 1327: 1000b5e  a2 02    +               ldx   #2
 1328: 1000b60  b5 20    -               lda   zp0,x
 1329: 1000b62  9d 77 00                 sta   li_ref,x
 1330: 1000b65  ca                       dex   
 1331: 1000b66  10 f8                    bpl   -
 1332: 1000b68  a5 6e                    lda   sptr
 1333: 1000b6a  85 23                    sta   zw0
 1334: 1000b6c  a5 6f                    lda   sptr+1
 1335: 1000b6e  85 24                    sta   zw0+1
 1336: 1000b70  ad 7a 00                 lda   li_rlen
 1337: 1000b73  a0 00                    ldy   #0
 1338: 1000b75  20 15 00                 jsr   mem.stash
 1339: 1000b78  a2 5b                    ldx   #<l_list
 1340: 1000b7a  a0 00                    ldy   #>l_list
 1341: 1000b7c  4c b1 0b                 jmp   proccommon
 1343: 1000b7f  60       -no             rts   
 1344: 1000b80  ad 37 05 +dir            lda   genbuf+OFF_NAME
 1345: 1000b83  c9 2e                    cmp   #"."
 1346: 1000b85  d0 0e                    bne   +
 1347: 1000b87  ad 38 05                 lda   genbuf+OFF_NAME+1
 1348: 1000b8a  f0 f3                    beq   -no
 1349: 1000b8c  c9 2e                    cmp   #"."
 1350: 1000b8e  d0 05                    bne   +
 1351: 1000b90  ad 39 05                 lda   genbuf+OFF_NAME+2
 1352: 1000b93  f0 ea                    beq   -no
 1354: 1000b95  a9 00    +               lda   #0
 1355: 1000b97  8d 21 00                 sta   di_type
 1357: 1000b9a  a0 2a                    ldy   #OFF_DATE
 1358: 1000b9c  a2 00                    ldx   #0
 1359: 1000b9e  b9 00 05 -               lda   genbuf,y
 1360: 1000ba1  9d 22 00                 sta   di_date,x
 1361: 1000ba4  c8                       iny   
 1362: 1000ba5  e8                       inx   
 1363: 1000ba6  e0 0c                    cpx   #DATE_LEN
 1364: 1000ba8  90 f4                    bcc   -
 1365: 1000baa  ee 05 00                 inc   ndirs
 1366: 1000bad  a2 06                    ldx   #<d_list
 1367: 1000baf  a0 00                    ldy   #>d_list
 1371: 1000bb1  20 cb 01 proccommon      jsr   api.listRegister
 1372: 1000bb4  a2 37                    ldx   #<(genbuf+OFF_NAME)
 1373: 1000bb6  a0 05                    ldy   #>(genbuf+OFF_NAME)
 1374: 1000bb8  20 ad 01                 jsr   api.strLength
 1375: 1000bbb  18                       clc   
 1376: 1000bbc  69 01                    adc   #1
 1377: 1000bbe  a0 03                    ldy   #SI_NLEN
 1378: 1000bc0  91 1a                    sta   (sdptr),y
 1379: 1000bc2  a0 00                    ldy   #0
 1380: 1000bc4  20 18 00                 jsr   mem.malloc
 1381: 1000bc7  90 15                    bcc   +
 1382: 1000bc9  20 50 01                 jsr   api.outFormat
 1383: 1000bcc  0d 41 4c 4c 4f 43 20 45 52 52 4f 52 20 32 00
                                         .text "\malloc error 2\0"
 1384: 1000bdb  4c 5c 01                 jmp   api.outLobell
 1386: 1000bde  a0 02    +               ldy   #SI_NAME+2
 1387: 1000be0  a2 02                    ldx   #2
 1388: 1000be2  b5 20    -               lda   zp0,x
 1389: 1000be4  91 1a                    sta   (sdptr),y
 1390: 1000be6  88                       dey   
 1391: 1000be7  ca                       dex   
 1392: 1000be8  10 f8                    bpl   -
 1393: 1000bea  a9 37                    lda   #<(genbuf+OFF_NAME)
 1394: 1000bec  85 23                    sta   zw0
 1395: 1000bee  a9 05                    lda   #>(genbuf+OFF_NAME)
 1396: 1000bf0  85 24                    sta   zw0+1
 1397: 1000bf2  a0 03                    ldy   #SI_NLEN
 1398: 1000bf4  b1 1a                    lda   (sdptr),y
 1399: 1000bf6  a0 00                    ldy   #0
 1400: 1000bf8  20 15 00                 jsr   mem.stash
 1401: 1000bfb  4c e0 01                 jmp   api.listAdd
 1403: 1000bfe  20 2d 3e 20
                         ltag            .text " -> "
 1410: 1000c02  a2 2f    initlists       ldx   #<f_list
 1410: 1000c04  a0 00                    ldy   #>f_list
 1410: 1000c06  20 cb 01                 jsr   api.listRegister
 1411: 1000c09  20 e9 01                 jsr   api.listClear
 1412: 1000c0c  a2 06                    ldx   #<d_list
 1412: 1000c0e  a0 00                    ldy   #>d_list
 1412: 1000c10  20 cb 01                 jsr   api.listRegister
 1413: 1000c13  20 e9 01                 jsr   api.listClear
 1414: 1000c16  a2 5b                    ldx   #<l_list
 1414: 1000c18  a0 00                    ldy   #>l_list
 1414: 1000c1a  20 cb 01                 jsr   api.listRegister
 1415: 1000c1d  4c e9 01                 jmp   api.listClear
 1419: 1000c20  a0 02    list_getname    ldy   #SI_NAME+2
 1420: 1000c22  a2 02                    ldx   #2
 1421: 1000c24  b1 1a    -               lda   (sdptr),y
 1422: 1000c26  95 20                    sta   zp0,x
 1423: 1000c28  88                       dey   
 1424: 1000c29  ca                       dex   
 1425: 1000c2a  10 f8                    bpl   -
 1426: 1000c2c  a9 00                    lda   #<genbuf
 1427: 1000c2e  85 23                    sta   zw0
 1428: 1000c30  a9 05                    lda   #>genbuf
 1429: 1000c32  85 24                    sta   zw0+1
 1430: 1000c34  a0 03                    ldy   #SI_NLEN
 1431: 1000c36  b1 1a                    lda   (sdptr),y
 1432: 1000c38  a0 00                    ldy   #0
 1433: 1000c3a  4c 12 00                 jmp   mem.fetch
 1437: 1000c3d  a0 04    list_getref     ldy   #SI_TYPE
 1438: 1000c3f  b1 1a                    lda   (sdptr),y
 1439: 1000c41  30 01                    bmi   +
 1440: 1000c43  60                       rts   
 1441: 1000c44  a0 07    +               ldy   #SI_REF+2
 1442: 1000c46  a2 02                    ldx   #2
 1443: 1000c48  b1 1a    -               lda   (sdptr),y
 1444: 1000c4a  95 05                    sta   strptr,x
 1445: 1000c4c  95 20                    sta   zp0,x
 1446: 1000c4e  88                       dey   
 1447: 1000c4f  ca                       dex   
 1448: 1000c50  10 f6                    bpl   -
 1449: 1000c52  a5 08                    lda   strbuf
 1450: 1000c54  85 23                    sta   zw0
 1451: 1000c56  a5 09                    lda   strbuf+1
 1452: 1000c58  85 24                    sta   zw0+1
 1453: 1000c5a  a0 08                    ldy   #SI_RLEN
 1454: 1000c5c  b1 1a                    lda   (sdptr),y
 1455: 1000c5e  a0 00                    ldy   #0
 1456: 1000c60  4c 12 00                 jmp   mem.fetch
 1460: 1000c63  a0 02    list_free       ldy   #SI_NAME+2
 1461: 1000c65  a2 02                    ldx   #2
 1462: 1000c67  b1 1a    -               lda   (sdptr),y
 1463: 1000c69  95 20                    sta   zp0,x
 1464: 1000c6b  88                       dey   
 1465: 1000c6c  ca                       dex   
 1466: 1000c6d  10 f8                    bpl   -
 1467: 1000c6f  05 21                    ora   zp0+1
 1468: 1000c71  05 22                    ora   zp0+2
 1469: 1000c73  f0 09                    beq   +n
 1470: 1000c75  a0 03                    ldy   #SI_NLEN
 1471: 1000c77  b1 1a                    lda   (sdptr),y
 1472: 1000c79  a0 00                    ldy   #0
 1473: 1000c7b  20 24 00                 jsr   mem.free
 1474: 1000c7e  a0 04    +n              ldy   #SI_TYPE
 1475: 1000c80  b1 1a                    lda   (sdptr),y
 1476: 1000c82  30 01                    bmi   +
 1477: 1000c84  60                       rts   
 1478: 1000c85  a0 07    +               ldy   #SI_REF+2
 1479: 1000c87  a2 02                    ldx   #2
 1480: 1000c89  b1 1a    -               lda   (sdptr),y
 1481: 1000c8b  95 20                    sta   zp0,x
 1482: 1000c8d  88                       dey   
 1483: 1000c8e  ca                       dex   
 1484: 1000c8f  10 f8                    bpl   -
 1485: 1000c91  05 21                    ora   zp0+1
 1486: 1000c93  05 22                    ora   zp0+2
 1487: 1000c95  d0 01                    bne   +
 1488: 1000c97  60                       rts   
 1489: 1000c98  a0 08    +               ldy   #SI_RLEN
 1490: 1000c9a  b1 1a                    lda   (sdptr),y
 1491: 1000c9c  a0 00                    ldy   #0
 1492: 1000c9e  4c 24 00                 jmp   mem.free
 1496: 1000ca1  20 20 0c list_cmp        jsr   list_getname
 1498: 1000ca4  a0 02                    ldy   #SI_NAME+2
 1499: 1000ca6  a2 02                    ldx   #2
 1500: 1000ca8  b9 7b 00 -               lda   cmpbuf,y
 1501: 1000cab  95 20                    sta   zp0,x
 1502: 1000cad  88                       dey   
 1503: 1000cae  ca                       dex   
 1504: 1000caf  10 f7                    bpl   -
 1505: 1000cb1  05 21                    ora   zp0+1
 1506: 1000cb3  05 22                    ora   zp0+2
 1507: 1000cb5  d0 02                    bne   +
 1508: 1000cb7  38                       sec   
 1509: 1000cb8  60                       rts   
 1511: 1000cb9  a2 02    +               ldx   #2
 1512: 1000cbb  b5 20    -               lda   zp0,x
 1513: 1000cbd  d5 05                    cmp   strptr,x
 1514: 1000cbf  d0 05                    bne   +
 1515: 1000cc1  ca                       dex   
 1516: 1000cc2  10 f7                    bpl   -
 1517: 1000cc4  30 1e                    bmi   +n
 1518: 1000cc6  a5 08    +               lda   strbuf
 1519: 1000cc8  85 23                    sta   zw0
 1520: 1000cca  a5 09                    lda   strbuf+1
 1521: 1000ccc  85 24                    sta   zw0+1
 1522: 1000cce  ad 7e 00                 lda   cmpbuf+SI_NLEN
 1523: 1000cd1  a0 00                    ldy   #0
 1524: 1000cd3  20 12 00                 jsr   mem.fetch
 1525: 1000cd6  ac 7e 00                 ldy   cmpbuf+SI_NLEN
 1526: 1000cd9  88                       dey   
 1527: 1000cda  b1 08    -               lda   (strbuf),y
 1528: 1000cdc  20 1b 00                 jsr   api.pet2asc
 1529: 1000cdf  91 08                    sta   (strbuf),y
 1530: 1000ce1  88                       dey   
 1531: 1000ce2  10 f6                    bpl   -
 1533: 1000ce4  a0 00    +n              ldy   #0
 1534: 1000ce6  b9 00 05 -               lda   genbuf,y
 1535: 1000ce9  f0 0c                    beq   +n
 1536: 1000ceb  20 1b 00                 jsr   api.pet2asc
 1537: 1000cee  d1 08                    cmp   (strbuf),y
 1538: 1000cf0  d0 04                    bne   +
 1539: 1000cf2  c8                       iny   
 1540: 1000cf3  d0 f1                    bne   -
 1541: 1000cf5  38                       sec   
 1542: 1000cf6  60       +               rts   
 1543: 1000cf7  18       +n              clc   
 1544: 1000cf8  60                       rts   
 1547: 1000cf9                                 
 1548: 1000cf9                                 
 1549: 1000cf9                                 
 1550: 1000cf9                                 
 1551: 1000cf9                                 
 1552: 1000cf9                                 
 1553: 1000cf9                                 
 1554: 1000cf9                                 
 1556: 1000cf9                                 
 1557: 1000cf9                                 
 1558: 1000cf9                                 
 1559: 1000cf9                                 
 1560: 1000cf9                                 
 1561: 1000cf9                                 
 1562: 1000cf9                                 
 1563: 1000cf9                                 
 1565: 1000cf9                                 
 1567: 1000cf9                                 
 1568: 1000cf9                                 
 1569: 1000cf9                                 
asm64: Module name: init
 1575: 2000000  a9 00                    lda   #0
 1576: 2000002  8d 30 00                 sta   ipm.debug
 1577: 2000005  a9 ff                    lda   #$ff
 1578: 2000007  8d 2f 00                 sta   ipm.intkey
 1580: 200000a  a9 00                    lda   #0
 1581: 200000c  a0 01                    ldy   #1
 1582: 200000e  20 1b 00                 jsr   mem.nalloc
 1583: 2000011  b0 08                    bcs   +
 1584: 2000013  a5 20                    lda   zp0
 1585: 2000015  85 08                    sta   strbuf
 1586: 2000017  a5 21                    lda   zp0+1
 1587: 2000019  85 09                    sta   strbuf+1
 1589: 200001b  a2 63    +               ldx   #<ptitle
 1589: 200001d  a0 00                    ldy   #>ptitle
 1589: 200001f  20 7d 01                 jsr   api.statTitle
 1591: 2000022  a9 93                    lda   #CLR
 1592: 2000024  20 d2 ff                 jsr   kernChrout
 1594: 2000027  20 50 01                 jsr   api.outFormat
 1595: 200002a  25 d0 01 00
                                         .text "%P\1\0"
 1596: 200002e  c4 49 52 3a 0d
                                         .text "Dir:\m"
 1597: 2000033  c6 49 4c 45 53 3a 0d
                                         .text "Files:\m"
 1598: 200003a  25 d0 ff 00 03 01 d0 52 45 53 53 20 c3 3d 20 cd 20 46 4f 52 20 43 4f 4d 4d 41 4e 44 53 0f 13
                                         .text "%P\255\0\c\1Press C= M for commands\o\s"
 1599: 2000059  00                       .byte 0
 1601: 200005a  a2 03                    ldx   #UPPERLINE
 1602: 200005c  8e 5d 00                 stx   dev.sc_topline
 1603: 200005f  8e 5f 00                 stx   dev.sc_scrolltop
 1604: 2000062  60                       rts   
 1606: 2000063  c6 d4 d0 00
                         ptitle          .text "FTP\0"
asm64: Module name: ftp.d
 1612: 3000000  20 02 0c                 jsr   initlists
 1614: 3000003  a5 08                    lda   strbuf
 1615: 3000005  85 20                    sta   zp0
 1616: 3000007  a5 09                    lda   strbuf+1
 1617: 3000009  85 21                    sta   zp0+1
 1618: 300000b  a9 00                    lda   #0
 1619: 300000d  85 22                    sta   zp0+2
 1620: 300000f  a9 00                    lda   #0
 1621: 3000011  a0 01                    ldy   #1
 1622: 3000013  20 24 00                 jsr   mem.free
 1624: 3000016  a9 00                    lda   #0
 1625: 3000018  8d 5d 00                 sta   dev.sc_topline
 1626: 300001b  8d 5f 00                 sta   dev.sc_scrolltop
 1627: 300001e  ad 56 00                 lda   dev.sc_lastrow
 1628: 3000021  8d 5e 00                 sta   dev.sc_botline
 1629: 3000024  8d 60 00                 sta   dev.sc_scrollbot
 1630: 3000027  a9 93                    lda   #CLR
 1631: 3000029  4c d2 ff                 jmp   kernChrout
asm64: Writing file ftp.ml:
asm64:  Block 1: $1000000 - $1000cf9 (last: $1000cf9)
Total tables: 7
ftp HI (235): 2(a7) 12(12) 14(1d) 17(63) 1a(a1) 1c(7b) 3b(15) 3d(46) 40(63) 43(a1) 45(7b) 67(9) 69(72) 6c(63) 6f(a1) 71(7b) 1aa(bd) 1ad(bd) 1b1(36) 1bf(b9) 1cc(19) 1cf(b9) 1d4(b2) 1f7(ab) 20a(d2) 20d(ed) 210(b9) 214(90) 224(e7) 227(e2) 23f(90) 251(b9) 259(c6) 280(82) 28a(cc) 2b9(b9) 2c1(d2) 2c4(82) 2ce(cc) 2e0(b9) 2e8(c6) 2eb(82) 2f5(cc) 304(b9) 30c(82) 318(ab) 320(be) 323(ce) 332(92) 336(24) 341(b2) 36d(ed) 375(c5) 378(ce) 37f(8f) 382(ab) 38a(cd) 38d(ce) 3a1(ed) 3ba(6) 3c8(20) 3d5(21) 3e5(22) 3e9(c1) 3ec(3d) 3fd(c1) 400(ab) 413(2f) 421(20) 42e(4a) 43e(4b) 449(58) 44d(1a) 450(3d) 461(1a) 464(ab) 46b(eb) 47a(5b) 488(20) 48b(3d) 4a1(81) 4a4(ab) 4a9(6b) 4ae(70) 4b3(72) 4b8(76) 4d8(70) 4e1(4) 4ea(ab) 4f2(ca) 4f5(ce) 507(b2) 50e(76) 511(b9) 516(b2) 564(b9) 56c(d2) 56f(82) 572(15) 575(ab) 5a2(ab) 5b3(ed) 5c2(ab) 5c5(b2) 5c9(2) 5cf(1d) 5d5(53) 5db(37) 5e1(73) 5e8(15) 5f6(28) 614(ab) 617(b9) 621(b9) 62a(ba) 634(ba) 63c(b9) 652(90) 656(68) 684(b9) 695(d8) 698(de) 6d5(c1) 6e6(bd) 6f4(c1) 6fb(c1) 701(b2) 707(b2) 719(ba) 71c(bb) 71f(bc) 728(d2) 72b(ed) 74d(bc) 752(bb) 756(b9) 75e(d2) 761(82) 7b0(8) 7bd(b9) 7c5(d2) 7c8(82) 7d3(77) 7d6(ed) 7d9(ba) 7e2(94) 7e5(ed) 7ed(2) 7f2(4) 7f5(5) 7f8(ba) 816(ba) 827(42) 83e(a4) 841(14) 844(28) 847(82) 859(5b) 864(5e) 870(61) 87c(64) 881(5b) 898(5b) 8a3(5e) 8af(61) 8bb(64) 8c3(5b) 8d7(5b) 8e2(5e) 8ee(61) 8fa(64) 903(85) 906(3d) 928(2f) 93f(5b) 94a(5e) 956(61) 962(64) 979(5b) 984(5e) 990(61) 99c(64) 9a3(20) 9be(4) 9c2(2f) 9c5(f9) 9c9(6) 9d7(bd) 9dc(20) 9f4(5) 9f8(6) a0c(5b) a17(5e) a23(61) a2f(64) a35(72) a3c(72) a53(5b) a5e(5e) a6a(61) a76(64) a7b(5b) a84(bd) a89(2f) a93(6) a9d(5b) aad(80) ab4(4) abe(4b) ac9(4a) acc(58) acf(59) ad2(5a) af3(58) af6(59) af9(5a) afc(4) b00(2f) b03(b1) b08(76) b14(fe) b41(7a) b64(77) b72(7a) b7b(5b) b7e(b1) b99(21) ba3(22) bac(5) bb0(6) c05(2f) c0f(6) c19(5b) ca3(20) caa(7b)
ftp LO (232): 1 13 16 19 1b 3c 3f 42 44 68 6b 6e 70 1a9 1ac 1b0 1be 1cb 1ce 1d3 1f6 208 20c 20f 212 222 226 23e 250 258 27f 289 2b8 2c0 2c3 2cd 2df 2e7 2ea 2f4 303 30b 317 31e 322 331 334 340 36c 373 377 37e 381 388 38c 3a0 3b8 3c7 3d4 3e4 3e8 3eb 3fc 3ff 411 420 42d 43d 448 44c 44f 460 463 46a 478 487 48a 4a0 4a3 4a8 4ad 4b2 4b7 4d4 4e0 4e9 4f0 4f4 506 50d 510 515 563 56b 56e 571 574 5a1 5b2 5c1 5c4 5c7 5cd 5d3 5d9 5df 5e7 5f5 613 616 620 629 633 63b 651 655 683 694 697 6d3 6e4 6f2 6f9 700 706 718 71b 71e 726 72a 74c 751 755 75d 760 7af 7bc 7c4 7c7 7d1 7d5 7d8 7e0 7e4 7ec 7f1 7f4 7f7 815 826 83d 840 843 846 858 863 86f 87b 87f 897 8a2 8ae 8ba 8c1 8d6 8e1 8ed 8f9 902 905 926 93e 949 955 961 978 983 98f 99b 9a2 9bd 9c0 9c4 9c7 9d6 9db 9f3 9f6 a0b a16 a22 a2e a34 a3b a52 a5d a69 a75 a79 a83 a87 a91 a9b aac ab3 abd ac8 acb ace ad1 af2 af5 af8 afb afe b02 b07 b13 b40 b63 b71 b79 b7d b98 ba2 bab bae c03 c0d c17 ca2 ca9
api HI (141): 1b4(8) 1d8(71) 1db(50) 1ea(7a) 1f2(1a) 217(86) 22a(74) 22d(50) 246(77) 25c(59) 260(71) 263(50) 27d(77) 28e(71) 291(50) 2a2(77) 2a5(53) 2d1(53) 2f8(53) 339(a2) 33e(3f) 344(a8) 347(a8) 34f(3f) 352(53) 365(fb) 397(d0) 39a(e7) 39e(fb) 3a8(50) 3bd(cb) 3c0(d1) 3c3(d4) 3cb(50) 3da(50) 3ef(50) 407(50) 416(cb) 419(d1) 41c(d4) 424(50) 433(50) 453(50) 46e(50) 47d(cb) 480(d1) 483(d4) 48e(50) 4e4(2f) 4e7(32) 4fc(9f) 501(b4) 504(3f) 51a(71) 51d(50) 53b(e) 540(74) 543(50) 557(77) 55a(53) 57d(71) 580(50) 592(7a) 59a(1a) 5a9(81) 5ac(3f) 5b0(d2) 5bf(80) 5f3(5c) 5fa(71) 5fd(50) 605(77) 639(71) 641(50) 659(50) 671(50) 681(77) 6a3(50) 6b3(6e) 6d8(9b) 6e2(75) 6e9(ba) 6ee(bd) 6fe(c6) 704(5c) 72e(53) 792(71) 795(50) 7ad(77) 7b3(53) 80a(50) 832(50) 84a(50) 884(cb) 887(d1) 88a(50) 8bf(8) 8c6(cb) 8c9(50) 8fe(d4) 909(50) 92b(cb) 92e(d1) 931(50) 966(d4) 96a(50) 9b6(aa) 9bb(59) 9cc(cb) 9cf(d1) 9d2(d4) 9ef(aa) 9fb(cb) 9fe(50) a42(e0) a45(50) a7e(cb) a81(e3) a8c(cb) a8f(e6) a96(cb) a99(e6) aa0(cb) aa3(e9) af0(b3) b3b(ad) b4b(50) b5d(5c) bb3(cb) bba(ad) bcb(50) bdd(5c) bfd(e0) c08(cb) c0b(e9) c12(cb) c15(e9) c1c(cb) c1f(e9) cde(1b) ced(1b)
api LO (141): 1b3 1d7 1da 1e9 1f1 216 229 22c 245 25b 25f 262 27c 28d 290 2a1 2a4 2d0 2f7 338 33d 343 346 34e 351 364 396 399 39c 3a7 3bc 3bf 3c2 3ca 3d9 3ee 406 415 418 41b 423 432 452 46d 47c 47f 482 48d 4e3 4e6 4fb 500 503 519 51c 53a 53f 542 556 559 57c 57f 591 599 5a8 5ab 5ae 5be 5f2 5f9 5fc 604 638 640 658 670 680 6a2 6b2 6d7 6e1 6e8 6ed 6fd 703 72d 791 794 7ac 7b2 809 831 849 883 886 889 8be 8c5 8c8 8fd 908 92a 92d 930 965 969 9b5 9ba 9cb 9ce 9d1 9ee 9fa 9fd a41 a44 a7d a80 a8b a8e a95 a98 a9f aa2 aef b3a b4a b5c bb2 bb9 bca bdc bfc c07 c0a c11 c14 c1b c1e cdd cec
ipm HI (8): 1c4(3) 204(0) 254(9) 61c(3) 62f(3) 714(0) 722(c) 7dc(f)
ipm LO (8): 1c3 203 253 61b 62e 713 721 7db
ipu HI (10): 21e(0) 2bc(9) 2e3(9) 307(9) 567(9) 689(6) 759(9) 7c0(9) 7fd(6) 81b(6)
ipu LO (10): 21d 2bb 2e2 306 566 688 758 7bf 7fc 81a
dev HI (14): 30f(60) 315(5f) 394(5) 4bb(55) 4cb(57) 626(5f) 66a(57) 69b(5e) 6a0(2a) 7ea(5f) 802(5e) 807(2a) 82a(5e) 82f(2a)
dev LO (14): 30e 314 393 4ba 4ca 625 669 69a 69f 7e9 801 806 829 82e
prg HI (1): 6f7(6)
prg LO (1): 6f6
mem HI (9): b46(18) b77(15) bc6(18) bfa(15) c3c(12) c62(12) c7d(24) ca0(24) cd5(12)
mem LO (9): b45 b76 bc5 bf9 c3b c61 c7c c9f cd4
Table size: 1466 ($05ba) bytes
asm64:  Block 2: $2000000 - $2000067 (last: $2000067)
Total tables: 5
ipm HI (2): 4(30) 9(2f)
ipm LO (2): 3 8
mem HI (1): 10(1b)
mem LO (1): f
init HI (1): 1e(63)
init LO (1): 1c
api HI (2): 21(7d) 29(50)
api LO (2): 20 28
dev HI (2): 5e(5d) 61(5f)
dev LO (2): 5d 60
Table size: 76 ($004c) bytes
asm64:  Block 3: $3000000 - $300002c (last: $300002c)
Total tables: 3
ftp HI (1): 2(2)
ftp LO (1): 1
mem HI (1): 15(24)
mem LO (1): 14
dev HI (5): 1a(5d) 1d(5f) 20(56) 23(5e) 26(60)
dev LO (5): 19 1c 1f 22 25
Table size: 52 ($0034) bytes
