CRTC Source Code Collection Volume 1 (UK) (Face B) (1997) [EDUCATIF].dsk
HexaDumpAscii only
000000:  45 58 54 45 4E 44 45 44 20 43 50 43 20 44 53 4B    EXTENDED CPC DSK
000010:  20 46 69 6C 65 0D 0A 44 69 73 6B 2D 49 6E 66 6F     File..Disk-Info
000020:  0D 0A 53 41 4D 64 69 73 6B 31 39 30 31 32 32 00    ..SAMdisk190122.
000030:  28 01 00 00 13 13 13 13 13 13 13 13 13 13 13 13    (...............
000040:  13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13    ................
000050:  13 13 13 13 13 13 13 13 13 13 13 13 00 00 00 00    ................
000060:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000070:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000080:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000090:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0000A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0000B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0000C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0000D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0000E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0000F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000100:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
000110:  00 00 01 00 02 09 4E E5 00 00 C1 02 00 00 00 02    ......N.........
000120:  00 00 C6 02 00 00 00 02 00 00 C2 02 00 00 00 02    ................
000130:  00 00 C7 02 00 00 00 02 00 00 C3 02 00 00 00 02    ................
000140:  00 00 C8 02 00 00 00 02 00 00 C4 02 00 00 00 02    ................
000150:  00 00 C9 02 00 00 00 02 00 00 C5 02 00 00 00 02    ................
000160:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000170:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000180:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000190:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0001A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0001B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0001C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0001D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0001E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0001F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000200:  00 42 41 4E 4B 53 20 20 20 20 20 20 00 00 00 05    .BANKS      ....
000210:  02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000220:  00 43 52 43 20 20 20 20 20 20 20 20 00 00 00 03    .CRC        ....
000230:  03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000240:  00 44 49 56 49 44 45 20 20 20 20 20 00 00 00 04    .DIVIDE     ....
000250:  04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000260:  00 48 45 58 49 4E 50 31 20 20 20 20 00 00 00 03    .HEXINP1    ....
000270:  05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000280:  00 48 45 58 49 4E 50 32 20 20 20 20 00 00 00 0C    .HEXINP2    ....
000290:  06 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0002A0:  00 49 4E 4C 49 4E 45 20 20 20 20 20 00 00 00 03    .INLINE     ....
0002B0:  08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0002C0:  00 49 4E 50 55 54 46 20 20 20 20 20 00 00 00 05    .INPUTF     ....
0002D0:  09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0002E0:  00 49 4E 56 45 52 54 20 20 20 20 20 00 00 00 03    .INVERT     ....
0002F0:  0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000300:  00 4D 4B 24 50 41 52 41 4D 20 20 20 00 00 00 04    .MK$PARAM   ....
000310:  0B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000320:  00 4D 4F 44 45 31 54 4F 32 20 20 20 00 00 00 03    .MODE1TO2   ....
000330:  0C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000340:  00 4D 55 4C 54 49 20 20 20 20 20 20 00 00 00 01    .MULTI      ....
000350:  0D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000360:  00 50 44 45 43 41 20 20 20 20 20 20 00 00 00 02    .PDECA      ....
000370:  0E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000380:  00 50 44 45 43 41 20 20 20 53 50 43 00 00 00 03    .PDECA   SPC....
000390:  0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0003A0:  00 50 44 45 43 48 4C 20 20 20 20 20 00 00 00 03    .PDECHL     ....
0003B0:  10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0003C0:  00 50 48 45 58 20 20 20 20 20 20 20 00 00 00 04    .PHEX       ....
0003D0:  11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0003E0:  00 50 53 54 52 49 4E 47 20 20 20 20 00 00 00 01    .PSTRING    ....
0003F0:  12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000400:  0A 09 70 6F 70 20 68 6C 3A 20 70 6F 70 20 62 63    ..pop hl: pop bc
000410:  0D 0A 09 72 65 74 0D 0A 0D 0A 2E 6C 64 68 6C 61    ...ret.....ldhla
000420:  69 09 63 61 6C 6C 20 6C 64 68 6C 61 0D 0A 09 69    i.call ldhla...i
000430:  6E 63 20 68 6C 3A 20 72 65 74 0D 0A 1A 20 26 38    nc hl: ret... &8
000440:  30 30 30 0D 0A 09 77 72 69 74 65 20 22 65 64 69    000...write "edi
000450:  74 2E 62 69 6E 22 0D 0A 09 6E 6F 6C 69 73 74 0D    t.bin"...nolist.
000460:  0A 0D 0A 66 76 65 72 73 09 65 71 75 20 32 0D 0A    ...fvers.equ 2..
000470:  0D 0A 09 3B 2A 2A 2A 20 52 4F 55 54 09 49 6E 69    ...;*** ROUT.Ini
000480:  64 20 61 2C 68 3A 20 61 6E 64 20 26 33 46 3A 20    d a,h: and &3F: 
000490:  6F 72 20 26 34 30 3A 20 6C 64 20 68 2C 61 0D 0A    or &40: ld h,a..
0004A0:  09 20 6C 64 20 61 2C 62 3A 20 6C 64 20 62 2C 26    . ld a,b: ld b,&
0004B0:  37 46 0D 0A 09 20 6F 75 74 20 28 63 29 2C 63 3A    7F... out (c),c:
0004C0:  20 6C 64 20 61 2C 28 68 6C 29 0D 0A 09 20 6C 64     ld a,(hl)... ld
0004D0:  20 63 2C 26 43 30 3A 20 6F 75 74 20 28 63 29 2C     c,&C0: out (c),
0004E0:  63 0D 0A 09 70 6F 70 20 68 6C 3A 20 70 6F 70 20    c...pop hl: pop 
0004F0:  62 63 0D 0A 09 72 65 74 0D 0A 0D 0A 2E 6C 64 61    bc...ret.....lda
000500:  68 6C 69 09 63 61 6C 6C 20 6C 64 61 68 6C 0D 0A    hli.call ldahl..
000510:  09 69 6E 63 20 68 6C 3A 20 72 65 74 0D 0A 0D 0A    .inc hl: ret....
000520:  09 3B 2A 2A 2A 20 53 55 42 52 09 4C 44 20 28 48    .;*** SUBR.LD (H
000530:  4C 29 2C 41 20 2D 20 65 78 74 72 61 20 62 61 6E    L),A - extra ban
000540:  6B 73 0D 0A 0D 0A 2E 6C 64 68 6C 61 09 70 75 73    ks.....ldhla.pus
000550:  68 20 62 63 3A 20 70 75 73 68 20 68 6C 0D 0A 09    h bc: push hl...
000560:  20 6C 64 20 62 2C 61 3A 20 6C 64 20 61 2C 68 3A     ld b,a: ld a,h:
000570:  20 61 6E 64 20 26 43 30 0D 0A 09 20 72 6C 63 61     and &C0... rlca
000580:  3A 20 72 6C 63 61 3A 20 61 64 64 20 26 43 34 0D    : rlca: add &C4.
000590:  0A 09 20 6C 64 20 63 2C 61 0D 0A 09 20 6C 64 20    .. ld c,a... ld 
0005A0:  61 2C 68 3A 20 61 6E 64 20 26 33 46 3A 20 6F 72    a,h: and &3F: or
0005B0:  20 26 34 30 3A 20 6C 64 20 68 2C 61 0D 0A 09 20     &40: ld h,a... 
0005C0:  6C 64 20 61 2C 62 3A 20 6C 64 20 62 2C 26 37 46    ld a,b: ld b,&7F
0005D0:  0D 0A 09 20 6F 75 74 20 28 63 29 2C 63 3A 20 6C    ... out (c),c: l
0005E0:  64 20 28 68 6C 29 2C 61 0D 0A 09 20 6C 64 20 63    d (hl),a... ld c
0005F0:  2C 26 43 30 3A 20 6F 75 74 20 28 63 29 2C 63 0D    ,&C0: out (c),c.
000600:  00 53 50 45 43 43 4F 4E 56 20 20 20 00 00 00 06    .SPECCONV   ....
000610:  13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000620:  00 55 43 41 53 45 20 20 20 20 20 20 00 00 00 01    .UCASE      ....
000630:  14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000640:  00 57 49 4E 4C 4F 41 44 20 20 20 20 00 00 00 05    .WINLOAD    ....
000650:  15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000660:  00 43 52 54 43 20 20 20 20 20 20 20 00 00 00 01    .CRTC       ....
000670:  16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000680:  00 46 41 44 45 4C 32 48 20 20 20 20 00 00 00 03    .FADEL2H    ....
000690:  17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0006A0:  00 46 41 44 45 53 43 52 20 20 20 20 00 00 00 02    .FADESCR    ....
0006B0:  18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0006C0:  00 4B 45 59 53 43 41 4E 20 20 20 20 00 00 00 09    .KEYSCAN    ....
0006D0:  19 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0006E0:  00 2D 52 45 41 44 20 20 20 4D 45 20 00 00 00 0C    .-READ   ME ....
0006F0:  1B 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00    . ..............
000700:  00 4E 4C 49 4E 45 20 20 20 20 20 20 00 00 00 01    .NLINE      ....
000710:  1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000720:  00 50 53 47 20 20 20 20 20 20 20 20 00 00 00 03    .PSG        ....
000730:  1D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000740:  00 52 45 41 44 52 45 47 20 20 20 20 00 00 00 05    .READREG    ....
000750:  1E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000760:  00 53 50 43 53 43 41 4E 20 20 20 20 00 00 00 04    .SPCSCAN    ....
000770:  1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000780:  01 45 44 49 54 20 20 20 20 53 52 43 00 00 00 47    .EDIT    SRC...G
000790:  21 22 23 24 25 26 27 28 29 00 00 00 00 00 00 00    !"#$%&'().......
0007A0:  01 47 52 41 50 48 49 43 53 53 52 43 00 00 00 41    .GRAPHICSSRC...A
0007B0:  2A 2B 2C 2D 2E 2F 30 31 32 00 00 00 00 00 00 00    *+,-./012.......
0007C0:  01 50 52 4F 2D 45 58 54 20 53 52 43 00 00 00 7B    .PRO-EXT SRC...{
0007D0:  33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42    3456789:;<=>?@AB
0007E0:  01 42 42 53 20 20 20 20 20 4D 4F 44 00 00 00 41    .BBS     MOD...A
0007F0:  43 44 45 46 47 48 49 4A 4B 00 00 00 00 00 00 00    CDEFGHIJK.......
000800:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 55 70 64    ...;*** SUBR.Upd
000810:  61 74 65 20 31 36 2D 62 69 74 20 43 52 43 20 69    ate 16-bit CRC i
000820:  6E 20 48 4C 0D 0A 09 3B 09 09 4F 6E 20 65 6E 74    n HL...;..On ent
000830:  72 79 2C 20 63 75 72 72 65 6E 74 20 62 79 74 65    ry, current byte
000840:  20 69 6E 20 45 0D 0A 0D 0A 2E 63 72 63 09 6C 64     in E.....crc.ld
000850:  20 62 2C 38 09 09 09 09 3B 73 68 69 66 74 20 38     b,8....;shift 8
000860:  20 74 69 6D 65 73 0D 0A 2E 75 70 64 6C 70 09 72     times...updlp.r
000870:  6C 63 20 65 09 09 09 09 3B 73 68 69 66 74 20 69    lc e....;shift i
000880:  6E 70 75 74 0D 0A 09 61 64 63 20 68 6C 2C 68 6C    nput...adc hl,hl
000890:  09 09 09 3B 73 68 69 66 74 20 63 72 63 0D 0A 09    ...;shift crc...
0008A0:  6A 72 20 6E 63 2C 73 6B 69 70 69 74 09 09 09 3B    jr nc,skipit...;
0008B0:  6A 75 6D 70 20 69 66 20 6E 6F 20 63 61 72 72 79    jump if no carry
0008C0:  0D 0A 09 6C 64 20 61 2C 68 3A 20 78 6F 72 20 26    ...ld a,h: xor &
0008D0:  31 30 3A 20 6C 64 20 68 2C 61 09 09 3B 78 6F 72    10: ld h,a..;xor
0008E0:  20 77 69 74 68 20 26 31 30 32 31 0D 0A 09 6C 64     with &1021...ld
0008F0:  20 61 2C 6C 3A 20 78 6F 72 20 26 32 31 3A 20 6C     a,l: xor &21: l
000900:  64 20 6C 2C 61 0D 0A 2E 73 6B 69 70 69 74 09 64    d l,a...skipit.d
000910:  6A 6E 7A 20 75 70 64 6C 70 09 09 09 3B 64 6F 6E    jnz updlp...;don
000920:  65 3F 0D 0A 09 72 65 74 0D 0A 1A 0A 2E 63 72 63    e?...ret.....crc
000930:  20 20 20 20 6C 64 20 62 2C 38 09 09 09 09 3B 73        ld b,8....;s
000940:  68 69 66 74 20 38 20 74 69 6D 65 73 0D 0A 2E 75    hift 8 times...u
000950:  70 64 6C 70 20 20 72 6C 63 20 65 09 09 09 09 3B    pdlp  rlc e....;
000960:  73 68 69 66 74 20 69 6E 70 75 74 0D 0A 09 61 64    shift input...ad
000970:  63 20 68 6C 2C 68 6C 09 09 09 3B 73 68 69 66 74    c hl,hl...;shift
000980:  3A 20 72 6C 63 61 3A 20 61 64 64 20 26 43 34 0D    : rlca: add &C4.
000990:  0A 09 20 6C 64 20 63 2C 61 0D 0A 09 20 6C 64 20    .. ld c,a... ld 
0009A0:  61 2C 68 3A 20 61 6E 64 20 26 33 46 3A 20 6F 72    a,h: and &3F: or
0009B0:  20 26 34 30 3A 20 6C 64 20 68 2C 61 0D 0A 09 20     &40: ld h,a... 
0009C0:  6C 64 20 61 2C 62 3A 20 6C 64 20 62 2C 26 37 46    ld a,b: ld b,&7F
0009D0:  0D 0A 09 20 6F 75 74 20 28 63 29 2C 63 3A 20 6C    ... out (c),c: l
0009E0:  64 20 28 68 6C 29 2C 61 0D 0A 09 20 6C 64 20 63    d (hl),a... ld c
0009F0:  2C 26 43 30 3A 20 6F 75 74 20 28 63 29 2C 63 0D    ,&C0: out (c),c.
000A00:  01 43 4F 4D 4D 53 20 20 20 53 52 43 00 00 00 36    .COMMS   SRC...6
000A10:  4C 4D 4E 4F 50 51 52 00 00 00 00 00 00 00 00 00    LMNOPQR.........
000A20:  01 43 4F 4E 54 52 4F 4C 20 4D 4F 44 00 00 00 20    .CONTROL MOD... 
000A30:  53 54 55 56 00 00 00 00 00 00 00 00 00 00 00 00    STUV............
000A40:  01 46 49 4C 45 20 20 20 20 4D 4F 44 00 00 00 80    .FILE    MOD....
000A50:  57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66    WXYZ[\]^_`abcdef
000A60:  01 46 49 4C 45 20 20 20 20 4D 4F 44 01 00 00 18    .FILE    MOD....
000A70:  67 68 69 00 00 00 00 00 00 00 00 00 00 00 00 00    ghi.............
000A80:  01 4C 49 42 52 41 52 59 20 4D 4F 44 00 00 00 14    .LIBRARY MOD....
000A90:  6A 6B 6C 00 00 00 00 00 00 00 00 00 00 00 00 00    jkl.............
000AA0:  01 53 49 4F 20 20 20 20 20 4D 4F 44 00 00 00 4F    .SIO     MOD...O
000AB0:  6D 6E 6F 70 71 72 73 74 75 76 00 00 00 00 00 00    mnopqrstuv......
000AC0:  01 53 55 42 52 4F 55 54 20 4D 4F 44 00 00 00 40    .SUBROUT MOD...@
000AD0:  77 78 79 7A 7B 7C 7D 7E 00 00 00 00 00 00 00 00    wxyz{|}~........
000AE0:  01 54 45 52 4D 49 4E 41 4C 4D 4F 44 00 00 00 80    .TERMINALMOD....
000AF0:  7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E    ................
000B00:  01 54 45 52 4D 49 4E 41 4C 4D 4F 44 01 00 00 0E    .TERMINALMOD....
000B10:  8F 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000B20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000B30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000B40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000B50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000B60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000B70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000B80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000B90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000BA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000BB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000BC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000BD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000BE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000BF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000C00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000C10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000C20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000C30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000C40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000C50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000C60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000C70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000C80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000C90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000CA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000CB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000CC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000CD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000CE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000CF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000D00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000D10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000D20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000D30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000D40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000D50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000D60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000D70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000D80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000D90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000DA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000DB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000DC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000DD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000DE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000DF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000E00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000E10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000E20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000E30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000E40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000E50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000E60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000E70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000E80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000E90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000EA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000EB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000EC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000ED0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000EE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000EF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000F00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000F10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000F20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000F30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000F40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000F50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000F60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000F70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000F80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000F90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000FA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000FB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000FC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000FD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000FE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
000FF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001000:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 44 69 76    ...;*** SUBR.Div
001010:  69 64 65 20 48 4C 20 62 79 20 42 43 0D 0A 09 3B    ide HL by BC...;
001020:  09 09 72 65 74 75 72 6E 20 72 6F 75 6E 64 65 64    ..return rounded
001030:  20 72 65 73 75 6C 74 20 69 6E 20 44 45 0D 0A 0D     result in DE...
001040:  0A 2E 64 69 76 69 64 65 09 6C 64 20 64 65 2C 30    ..divide.ld de,0
001050:  0D 0A 2E 64 69 76 5F 6C 70 09 6F 72 20 61 3A 20    ...div_lp.or a: 
001060:  73 62 63 20 68 6C 2C 62 63 3A 20 6A 72 20 63 2C    sbc hl,bc: jr c,
001070:  64 69 76 5F 61 64 09 09 3B 41 64 6A 75 73 74 6D    div_ad..;Adjustm
001080:  65 6E 74 20 69 66 20 63 61 72 72 79 0D 0A 09 69    ent if carry...i
001090:  6E 63 20 64 65 3A 20 72 65 74 20 7A 09 09 09 09    nc de: ret z....
0010A0:  3B 52 65 74 75 72 6E 20 69 66 20 65 78 61 63 74    ;Return if exact
0010B0:  6C 79 20 72 69 67 68 74 0D 0A 09 6A 72 20 64 69    ly right...jr di
0010C0:  76 5F 6C 70 09 09 09 09 3B 45 6C 73 65 20 6C 6F    v_lp....;Else lo
0010D0:  6F 70 0D 0A 0D 0A 2E 64 69 76 5F 61 64 09 61 64    op.....div_ad.ad
0010E0:  64 20 68 6C 2C 62 63 09 09 09 09 3B 52 65 73 74    d hl,bc....;Rest
0010F0:  6F 72 65 20 74 6F 20 70 72 65 76 69 6F 75 73 20    ore to previous 
001100:  76 61 6C 75 65 0D 0A 09 6F 72 20 61 3A 20 72 72    value...or a: rr
001110:  20 62 3A 20 72 72 20 63 09 09 09 3B 48 61 6C 76     b: rr c...;Halv
001120:  65 20 42 43 0D 0A 09 6F 72 20 61 3A 20 73 62 63    e BC...or a: sbc
001130:  20 68 6C 2C 62 63 09 09 09 09 3B 41 6E 64 20 63     hl,bc....;And c
001140:  6F 6D 70 61 72 65 20 77 69 74 68 20 48 4C 0D 0A    ompare with HL..
001150:  09 72 65 74 20 63 3A 20 69 6E 63 20 64 65 3A 20    .ret c: inc de: 
001160:  72 65 74 09 09 09 3B 49 6E 63 72 65 61 73 65 20    ret...;Increase 
001170:  44 45 20 69 66 20 48 4C 20 30 20 6F 72 20 6D 6F    DE if HL 0 or mo
001180:  72 65 0D 0A 1A 49 44 45 20 20 24 24 24 FF 00 FF    re...IDE  $$$...
001190:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0011A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0011B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0011C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0011D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0011E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0011F0:  00 00 00 00 00 00 06 00 40 00 01 00 1A 29 2C 61    ........@....),a
001200:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 4C 44 20    ...;*** SUBR.LD 
001210:  41 2C 28 48 4C 29 20 2D 20 65 78 74 72 61 20 62    A,(HL) - extra b
001220:  61 6E 6B 73 0D 0A 0D 0A 2E 6C 64 61 68 6C 09 70    anks.....ldahl.p
001230:  75 73 68 20 62 63 3A 20 70 75 73 68 20 68 6C 0D    ush bc: push hl.
001240:  0A 09 20 6C 64 20 62 2C 61 3A 20 6C 64 20 61 2C    .. ld b,a: ld a,
001250:  68 3A 20 61 6E 64 20 26 43 30 0D 0A 09 20 72 6C    h: and &C0... rl
001260:  63 61 3A 20 72 6C 63 61 3A 20 61 64 64 20 26 43    ca: rlca: add &C
001270:  34 0D 0A 09 20 6C 64 20 63 2C 61 0D 0A 09 20 6C    4... ld c,a... l
001280:  64 20 61 2C 68 3A 20 61 6E 64 20 26 33 46 3A 20    d a,h: and &3F: 
001290:  6F 72 20 26 34 30 3A 20 6C 64 20 68 2C 61 0D 0A    or &40: ld h,a..
0012A0:  09 20 6C 64 20 61 2C 62 3A 20 6C 64 20 62 2C 26    . ld a,b: ld b,&
0012B0:  37 46 0D 0A 09 20 6F 75 74 20 28 63 29 2C 63 3A    7F... out (c),c:
0012C0:  20 6C 64 20 61 2C 28 68 6C 29 0D 0A 09 20 6C 64     ld a,(hl)... ld
0012D0:  20 63 2C 26 43 30 3A 20 6F 75 74 20 28 63 29 2C     c,&C0: out (c),
0012E0:  63 0D 0A 09 70 6F 70 20 68 6C 3A 20 70 6F 70 20    c...pop hl: pop 
0012F0:  62 63 0D 0A 09 72 65 74 0D 0A 0D 0A 2E 6C 64 61    bc...ret.....lda
001300:  68 6C 69 09 63 61 6C 6C 20 6C 64 61 68 6C 0D 0A    hli.call ldahl..
001310:  09 69 6E 63 20 68 6C 3A 20 72 65 74 0D 0A 0D 0A    .inc hl: ret....
001320:  09 3B 2A 2A 2A 20 53 55 42 52 09 4C 44 20 28 48    .;*** SUBR.LD (H
001330:  4C 29 2C 41 20 2D 20 65 78 74 72 61 20 62 61 6E    L),A - extra ban
001340:  6B 73 0D 0A 0D 0A 2E 6C 64 68 6C 61 09 70 75 73    ks.....ldhla.pus
001350:  68 20 62 63 3A 20 70 75 73 68 20 68 6C 0D 0A 09    h bc: push hl...
001360:  20 6C 64 20 62 2C 61 3A 20 6C 64 20 61 2C 68 3A     ld b,a: ld a,h:
001370:  20 61 6E 64 20 26 43 30 0D 0A 09 20 72 6C 63 61     and &C0... rlca
001380:  3A 20 72 6C 63 61 3A 20 61 64 64 20 26 43 34 0D    : rlca: add &C4.
001390:  0A 09 20 6C 64 20 63 2C 61 0D 0A 09 20 6C 64 20    .. ld c,a... ld 
0013A0:  61 2C 68 3A 20 61 6E 64 20 26 33 46 3A 20 6F 72    a,h: and &3F: or
0013B0:  20 26 34 30 3A 20 6C 64 20 68 2C 61 0D 0A 09 20     &40: ld h,a... 
0013C0:  6C 64 20 61 2C 62 3A 20 6C 64 20 62 2C 26 37 46    ld a,b: ld b,&7F
0013D0:  0D 0A 09 20 6F 75 74 20 28 63 29 2C 63 3A 20 6C    ... out (c),c: l
0013E0:  64 20 28 68 6C 29 2C 61 0D 0A 09 20 6C 64 20 63    d (hl),a... ld c
0013F0:  2C 26 43 30 3A 20 6F 75 74 20 28 63 29 2C 63 0D    ,&C0: out (c),c.
001400:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
001410:  01 00 01 00 02 09 4E E5 01 00 C4 02 00 00 00 02    ......N.........
001420:  01 00 C9 02 00 00 00 02 01 00 C5 02 00 00 00 02    ................
001430:  01 00 C1 02 00 00 00 02 01 00 C6 02 00 00 00 02    ................
001440:  01 00 C2 02 00 00 00 02 01 00 C7 02 00 00 00 02    ................
001450:  01 00 C3 02 00 00 00 02 01 00 C8 02 00 00 00 02    ................
001460:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001470:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001480:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001490:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0014A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0014B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0014C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0014D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0014E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0014F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001500:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 32 2D 62    ...;*** SUBR.2-b
001510:  79 74 65 20 68 65 78 20 69 6E 70 75 74 20 73 75    yte hex input su
001520:  62 72 6F 75 74 69 6E 65 0D 0A 0D 0A 2E 68 65 78    broutine.....hex
001530:  69 6E 70 09 6C 64 20 68 6C 2C 26 41 46 34 30 09    inp.ld hl,&AF40.
001540:  09 09 3B 69 6E 70 75 74 20 62 75 66 66 65 72 0D    ..;input buffer.
001550:  0A 09 6C 64 20 62 2C 30 09 09 09 09 3B 63 68 61    ..ld b,0....;cha
001560:  72 61 63 74 65 72 73 20 74 79 70 65 64 20 69 6E    racters typed in
001570:  0D 0A 09 63 61 6C 6C 20 26 42 42 38 31 09 09 09    ...call &BB81...
001580:  3B 63 75 72 73 6F 72 20 6F 6E 0D 0A 0D 0A 2E 77    ;cursor on.....w
001590:  61 69 74 63 68 09 63 61 6C 6C 20 26 42 42 30 36    aitch.call &BB06
0015A0:  09 09 09 3B 77 61 69 74 20 66 6F 72 20 63 68 61    ...;wait for cha
0015B0:  72 61 63 74 65 72 0D 0A 09 63 70 20 26 46 43 3A    racter...cp &FC:
0015C0:  20 6A 70 20 7A 2C 26 42 42 38 34 09 09 3B 45 53     jp z,&BB84..;ES
0015D0:  43 41 50 45 3F 20 73 65 74 20 7A 65 72 6F 2C 20    CAPE? set zero, 
0015E0:  69 6E 64 69 63 61 74 65 73 20 45 53 43 20 70 72    indicates ESC pr
0015F0:  65 73 73 65 64 0D 0A 09 63 70 20 31 33 3A 20 20    essed...cp 13:  
001600:  6A 72 20 7A 2C 65 78 68 69 6E 70 09 09 3B 52 45    jr z,exhinp..;RE
001610:  54 55 52 4E 3F 0D 0A 09 63 70 20 26 37 46 3A 20    TURN?...cp &7F: 
001620:  6A 72 20 6E 7A 2C 6E 6F 74 64 65 6C 09 09 3B 44    jr nz,notdel..;D
001630:  45 4C 3F 0D 0A 0D 0A 09 6C 64 20 61 2C 62 3A 20    EL?.....ld a,b: 
001640:  6F 72 20 61 0D 0A 09 6A 72 20 7A 2C 77 61 69 74    or a...jr z,wait
001650:  63 68 09 09 09 3B 64 6F 6E 27 74 20 64 65 6C 65    ch...;don't dele
001660:  74 65 20 69 66 20 6E 6F 20 69 6E 70 75 74 20 79    te if no input y
001670:  65 74 21 0D 0A 0D 0A 09 64 65 63 20 68 6C 3A 20    et!.....dec hl: 
001680:  64 65 63 20 62 09 09 09 3B 64 65 63 72 65 6D 65    dec b...;decreme
001690:  6E 74 20 63 68 61 72 20 63 6F 75 6E 74 20 61 6E    nt char count an
0016A0:  64 20 6C 6F 63 61 74 69 6F 6E 0D 0A 09 6C 64 20    d location...ld 
0016B0:  61 2C 38 3A 20 63 61 6C 6C 20 26 42 42 35 41 09    a,8: call &BB5A.
0016C0:  09 3B 62 61 63 6B 73 70 61 63 65 2E 2E 2E 0D 0A    .;backspace.....
0016D0:  09 6C 64 20 61 2C 33 32 3A 20 63 61 6C 6C 20 26    .ld a,32: call &
0016E0:  42 42 35 41 09 09 3B 53 50 41 43 45 20 6F 76 65    BB5A..;SPACE ove
0016F0:  72 20 74 68 65 20 63 68 61 72 61 63 74 65 72 2E    r the character.
001700:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001710:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001720:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001730:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001740:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001750:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001760:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001770:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001780:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001790:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0017A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0017B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0017C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0017D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0017E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0017F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001800:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001810:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001820:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001830:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001840:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001850:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001860:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001870:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001880:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001890:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0018A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0018B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0018C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0018D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0018E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0018F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001900:  2E 2E 0D 0A 09 6C 64 20 61 2C 38 3A 20 63 61 6C    .....ld a,8: cal
001910:  6C 20 26 42 42 35 41 09 09 3B 61 6E 64 20 62 61    l &BB5A..;and ba
001920:  63 6B 73 70 61 63 65 20 61 67 61 69 6E 0D 0A 09    ckspace again...
001930:  6A 72 20 77 61 69 74 63 68 0D 0A 0D 0A 2E 6E 6F    jr waitch.....no
001940:  74 64 65 6C 09 63 61 6C 6C 20 75 63 61 73 65 0D    tdel.call ucase.
001950:  0A 09 63 70 20 22 46 22 2B 31 3A 20 6A 72 20 6E    ..cp "F"+1: jr n
001960:  63 2C 77 61 69 74 63 68 09 09 3B 67 65 74 20 61    c,waitch..;get a
001970:  6E 6F 74 68 65 72 20 63 68 61 72 61 63 74 65 72    nother character
001980:  20 69 66 20 6F 76 65 72 20 22 46 22 0D 0A 09 63     if over "F"...c
001990:  70 20 22 30 22 3A 20 20 20 6A 72 20 63 2C 77 61    p "0":   jr c,wa
0019A0:  69 74 63 68 09 09 3B 67 65 74 20 61 6E 6F 74 68    itch..;get anoth
0019B0:  65 72 20 63 68 61 72 61 63 74 65 72 20 69 66 20    er character if 
0019C0:  62 65 6C 6F 77 20 22 30 22 0D 0A 09 63 70 20 22    below "0"...cp "
0019D0:  41 22 3A 20 20 20 6A 72 20 6E 63 2C 6F 6B 63 68    A":   jr nc,okch
0019E0:  09 09 3B 6F 6B 20 69 66 20 22 41 22 20 6F 72 20    ..;ok if "A" or 
0019F0:  61 62 6F 76 65 0D 0A 09 63 70 20 22 39 22 2B 31    above...cp "9"+1
001A00:  3A 20 6A 72 20 6E 63 2C 77 61 69 74 63 68 09 09    : jr nc,waitch..
001A10:  3B 67 65 74 20 61 6E 6F 74 68 65 72 20 63 68 61    ;get another cha
001A20:  72 61 63 74 65 72 20 69 66 20 61 62 6F 76 65 20    racter if above 
001A30:  22 39 22 0D 0A 2E 6F 6B 63 68 09 6C 64 20 28 68    "9"...okch.ld (h
001A40:  6C 29 2C 61 3A 20 69 6E 63 20 68 6C 3A 20 69 6E    l),a: inc hl: in
001A50:  63 20 62 0D 0A 09 63 61 6C 6C 20 26 42 42 35 41    c b...call &BB5A
001A60:  0D 0A 09 62 69 74 20 32 2C 62 3A 20 6A 72 20 7A    ...bit 2,b: jr z
001A70:  2C 77 61 69 74 63 68 09 09 3B 34 20 63 68 61 72    ,waitch..;4 char
001A80:  61 63 74 65 72 73 20 79 65 74 3F 0D 0A 0D 0A 2E    acters yet?.....
001A90:  65 78 68 69 6E 70 09 63 61 6C 6C 20 26 42 42 38    exhinp.call &BB8
001AA0:  34 09 09 09 3B 63 75 72 73 6F 72 20 6F 66 66 0D    4...;cursor off.
001AB0:  0A 09 6C 64 20 61 2C 62 3A 20 6F 72 20 61 3A 20    ..ld a,b: or a: 
001AC0:  6A 72 20 7A 2C 6E 6F 68 69 6E 70 09 3B 6E 6F 74    jr z,nohinp.;not
001AD0:  68 69 6E 67 20 69 6E 70 75 74 21 0D 0A 09 6C 64    hing input!...ld
001AE0:  20 64 65 2C 30 0D 0A 09 6C 64 20 68 6C 2C 26 41     de,0...ld hl,&A
001AF0:  46 34 30 0D 0A 0D 0A 2E 68 63 6C 6F 6F 70 09 65    F40.....hcloop.e
001B00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001B10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001B20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001B30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001B40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001B50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001B60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001B70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001B80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001B90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001BA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001BB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001BC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001BD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001BE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001BF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001C00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001C10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001C20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001C30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001C40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001C50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001C60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001C70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001C80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001C90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001CA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001CB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001CC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001CD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001CE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001CF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
001D00:  78 20 64 65 2C 68 6C 0D 0A 09 20 61 64 64 20 68    x de,hl... add h
001D10:  6C 2C 68 6C 3A 20 61 64 64 20 68 6C 2C 68 6C 0D    l,hl: add hl,hl.
001D20:  0A 09 20 61 64 64 20 68 6C 2C 68 6C 3A 20 61 64    .. add hl,hl: ad
001D30:  64 20 68 6C 2C 68 6C 0D 0A 09 65 78 20 64 65 2C    d hl,hl...ex de,
001D40:  68 6C 0D 0A 09 6C 64 20 61 2C 28 68 6C 29 0D 0A    hl...ld a,(hl)..
001D50:  09 63 70 20 22 41 22 3A 20 6A 72 20 6E 63 2C 6C    .cp "A": jr nc,l
001D60:  65 74 74 65 72 0D 0A 09 73 75 62 20 34 38 3A 20    etter...sub 48: 
001D70:  6A 72 20 61 64 64 32 64 65 0D 0A 2E 6C 65 74 74    jr add2de...lett
001D80:  65 72 09 73 75 62 20 35 35 0D 0A 2E 61 64 64 32    er.sub 55...add2
001D90:  64 65 09 70 75 73 68 20 62 63 0D 0A 09 20 6C 64    de.push bc... ld
001DA0:  20 63 2C 61 3A 20 6C 64 20 62 2C 30 0D 0A 09 20     c,a: ld b,0... 
001DB0:  65 78 20 68 6C 2C 64 65 3A 20 61 64 64 20 68 6C    ex hl,de: add hl
001DC0:  2C 62 63 3A 20 65 78 20 68 6C 2C 64 65 0D 0A 09    ,bc: ex hl,de...
001DD0:  70 6F 70 20 62 63 0D 0A 09 69 6E 63 20 68 6C 3A    pop bc...inc hl:
001DE0:  20 64 6A 6E 7A 20 68 63 6C 6F 6F 70 0D 0A 0D 0A     djnz hcloop....
001DF0:  09 65 78 20 68 6C 2C 64 65 0D 0A 09 6C 64 20 61    .ex hl,de...ld a
001E00:  2C 31 3A 20 6F 72 20 61 09 09 09 3B 7A 65 72 6F    ,1: or a...;zero
001E10:  20 30 20 63 61 72 72 79 20 30 2C 20 69 6E 64 69     0 carry 0, indi
001E20:  63 61 74 65 73 20 6E 75 6D 62 65 72 20 69 6E 20    cates number in 
001E30:  48 4C 0D 0A 09 72 65 74 0D 0A 0D 0A 2E 6E 6F 68    HL...ret.....noh
001E40:  69 6E 70 09 6C 64 20 61 2C 31 3A 20 6F 72 20 61    inp.ld a,1: or a
001E50:  3A 20 73 63 66 09 09 3B 7A 65 72 6F 20 30 20 63    : scf..;zero 0 c
001E60:  61 72 72 79 20 31 2C 20 69 6E 64 69 63 61 74 65    arry 1, indicate
001E70:  73 20 6E 6F 20 69 6E 70 75 74 0D 0A 09 72 65 74    s no input...ret
001E80:  0D 0A 1A 45 58 49 4E 50 32 20 24 24 24 FF 00 FF    ...EXINP2 $$$...
001E90:  32 2D 62 79 74 65 20 68 65 78 20 69 6E 70 75 74    2-byte hex input
001EA0:  20 73 75 62 72 6F 75 74 69 6E 65 0D 0A 0D 0A 2E     subroutine.....
001EB0:  68 65 78 69 6E 70 20 6C 64 20 68 6C 2C 26 41 46    hexinp ld hl,&AF
001EC0:  34 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20    40              
001ED0:  20 20 20 20 20 20 20 3B 69 6E 70 75 74 20 62 75           ;input bu
001EE0:  66 66 65 72 0D 0A 20 20 20 20 20 20 20 20 6C 64    ffer..        ld
001EF0:  20 62 2C 30 20 20 20 20 20 20 20 20 20 20 20 20     b,0            
001F00:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 31 2D 62    ...;*** SUBR.1-b
001F10:  79 74 65 20 68 65 78 20 69 6E 70 75 74 20 73 75    yte hex input su
001F20:  62 72 6F 75 74 69 6E 65 0D 0A 0D 0A 2E 6F 6E 65    broutine.....one
001F30:  68 65 78 09 63 61 6C 6C 20 67 65 74 69 70 31 3A    hex.call getip1:
001F40:  20 6A 72 20 6E 63 2C 6F 6E 65 68 65 78 0D 0A 09     jr nc,onehex...
001F50:  72 6C 63 61 3A 20 72 6C 63 61 3A 20 72 6C 63 61    rlca: rlca: rlca
001F60:  3A 20 72 6C 63 61 3A 20 6C 64 20 63 2C 61 0D 0A    : rlca: ld c,a..
001F70:  09 63 61 6C 6C 20 67 65 74 69 70 31 3A 20 6A 72    .call getip1: jr
001F80:  20 63 2C 6E 64 65 6C 31 0D 0A 09 6C 64 20 61 2C     c,ndel1...ld a,
001F90:  38 3A 20 20 20 20 20 20 63 61 6C 6C 20 26 42 42    8:      call &BB
001FA0:  35 41 0D 0A 09 6C 64 20 61 2C 31 36 3A 20 20 20    5A...ld a,16:   
001FB0:  20 20 63 61 6C 6C 20 26 42 42 35 41 0D 0A 09 6A      call &BB5A...j
001FC0:  72 20 6F 6E 65 68 65 78 0D 0A 2E 6E 64 65 6C 31    r onehex...ndel1
001FD0:  09 6F 72 20 63 3A 20 20 20 20 20 20 20 20 6A 70    .or c:        jp
001FE0:  20 26 42 42 38 34 0D 0A 0D 0A 2E 67 65 74 69 70     &BB84.....getip
001FF0:  31 09 63 61 6C 6C 20 26 42 42 38 31 0D 0A 09 63    1.call &BB81...c
002000:  61 6C 6C 20 26 42 42 30 36 0D 0A 09 63 61 6C 6C    all &BB06...call
002010:  20 75 63 61 73 65 3A 20 20 63 70 20 26 37 46 3A     ucase:  cp &7F:
002020:  20 72 65 74 20 7A 0D 0A 09 63 61 6C 6C 20 63 68     ret z...call ch
002030:  6B 68 65 78 3A 20 6A 72 20 6E 63 2C 67 65 74 69    khex: jr nc,geti
002040:  70 31 0D 0A 09 63 61 6C 6C 20 26 42 42 35 41 3A    p1...call &BB5A:
002050:  20 20 6C 64 20 61 2C 65 0D 0A 09 72 65 74 0D 0A      ld a,e...ret..
002060:  0D 0A 1A 61 3A 20 72 6C 63 61 3A 20 72 6C 63 61    ...a: rlca: rlca
002070:  3A 20 6C 64 20 63 2C 61 0D 0A 20 20 20 20 20 20    : ld c,a..      
002080:  72 65 0D 0A 1A 49 44 45 20 20 24 24 24 FF 00 FF    re...IDE  $$$...
002090:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0020A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0020B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0020C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0020D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0020E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0020F0:  00 00 00 00 00 00 06 00 40 00 01 00 1A 29 2C 61    ........@....),a
002100:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002110:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002120:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002130:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002140:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002150:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002160:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002170:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002180:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002190:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0021A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0021B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0021C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0021D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0021E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0021F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002200:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002210:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002220:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002230:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002240:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002250:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002260:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002270:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002280:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002290:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0022A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0022B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0022C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0022D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0022E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0022F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002300:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002310:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002320:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002330:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002340:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002350:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002360:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002370:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002380:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002390:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0023A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0023B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0023C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0023D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0023E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0023F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002400:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002410:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002420:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002430:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002440:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002450:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002460:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002470:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002480:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002490:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0024A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0024B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0024C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0024D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0024E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0024F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002500:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 49 6E 2D    ...;*** SUBR.In-
002510:  6C 69 6E 65 20 73 74 72 69 6E 67 20 70 72 69 6E    line string prin
002520:  74 20 73 75 62 72 6F 75 74 69 6E 65 0D 0A 09 3B    t subroutine...;
002530:  09 09 66 6F 6C 6C 6F 77 20 22 43 41 4C 4C 20 69    ..follow "CALL i
002540:  6E 6C 69 6E 65 22 20 77 69 74 68 20 22 53 54 52    nline" with "STR
002550:  20 6D 65 73 73 61 67 65 22 0D 0A 0D 0A 2E 69 6E     message".....in
002560:  6C 69 6E 65 09 6C 64 20 28 68 6C 73 74 29 2C 68    line.ld (hlst),h
002570:  6C 0D 0A 09 70 6F 70 20 68 6C 3A 20 70 75 73 68    l...pop hl: push
002580:  20 61 66 0D 0A 2E 67 69 6E 63 68 72 09 6C 64 20     af...ginchr.ld 
002590:  61 2C 28 68 6C 29 0D 0A 09 62 69 74 20 37 2C 61    a,(hl)...bit 7,a
0025A0:  3A 20 72 65 73 20 37 2C 61 0D 0A 09 63 61 6C 6C    : res 7,a...call
0025B0:  20 26 42 42 35 41 3A 20 69 6E 63 20 68 6C 0D 0A     &BB5A: inc hl..
0025C0:  09 6A 72 20 7A 2C 67 69 6E 63 68 72 0D 0A 09 70    .jr z,ginchr...p
0025D0:  6F 70 20 61 66 3A 20 70 75 73 68 20 68 6C 0D 0A    op af: push hl..
0025E0:  09 6C 64 20 68 6C 2C 28 68 6C 73 74 29 0D 0A 09    .ld hl,(hlst)...
0025F0:  72 65 74 0D 0A 0D 0A 2E 68 6C 73 74 09 64 77 20    ret.....hlst.dw 
002600:  30 0D 0A 1A 4C 49 4E 45 20 20 24 24 24 FF 00 FF    0...LINE  $$$...
002610:  72 69 6E 67 20 70 72 69 6E 74 20 73 75 62 72 6F    ring print subro
002620:  75 74 69 6E 65 20 28 43 41 4C 4C 20 69 6E 6C 69    utine (CALL inli
002630:  6E 65 20 2D 20 53 54 52 20 6D 65 73 73 61 67 65    ne - STR message
002640:  29 0D 0A 0D 0A 2E 69 6E 6C 69 6E 65 09 6C 64 20    ).....inline.ld 
002650:  28 68 6C 73 74 29 2C 68 6C 0D 0A 09 70 6F 70 20    (hlst),hl...pop 
002660:  68 6C 3A 20 70 75 73 68 20 61 66 0D 0A 2E 67 69    hl: push af...gi
002670:  6E 63 68 72 09 6C 64 20 61 2C 28 68 6C 29 0D 0A    nchr.ld a,(hl)..
002680:  0D 0A 1A 45 58 49 4E 50 32 20 24 24 24 FF 00 FF    ...EXINP2 $$$...
002690:  32 2D 62 79 74 65 20 68 65 78 20 69 6E 70 75 74    2-byte hex input
0026A0:  20 73 75 62 72 6F 75 74 69 6E 65 0D 0A 0D 0A 2E     subroutine.....
0026B0:  68 65 78 69 6E 70 20 6C 64 20 68 6C 2C 26 41 46    hexinp ld hl,&AF
0026C0:  34 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20    40              
0026D0:  20 20 20 20 20 20 20 3B 69 6E 70 75 74 20 62 75           ;input bu
0026E0:  66 66 65 72 0D 0A 20 20 20 20 20 20 20 20 6C 64    ffer..        ld
0026F0:  20 62 2C 30 20 20 20 20 20 20 20 20 20 20 20 20     b,0            
002700:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
002710:  02 00 01 00 02 09 4E E5 02 00 C7 02 00 00 00 02    ......N.........
002720:  02 00 C3 02 00 00 00 02 02 00 C8 02 00 00 00 02    ................
002730:  02 00 C4 02 00 00 00 02 02 00 C9 02 00 00 00 02    ................
002740:  02 00 C5 02 00 00 00 02 02 00 C1 02 00 00 00 02    ................
002750:  02 00 C6 02 00 00 00 02 02 00 C2 02 00 00 00 02    ................
002760:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002770:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002780:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002790:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0027A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0027B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0027C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0027D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0027E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0027F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002800:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 43 6F 6E    ...;*** SUBR.Con
002810:  76 65 72 74 20 4D 4F 44 45 20 31 20 73 63 72 65    vert MODE 1 scre
002820:  65 6E 20 74 6F 20 4D 4F 44 45 20 32 0D 0A 0D 0A    en to MODE 2....
002830:  2E 6D 31 74 6F 32 09 6C 64 20 68 6C 2C 26 43 30    .m1to2.ld hl,&C0
002840:  30 30 0D 0A 2E 6D 6C 6F 6F 70 09 6C 64 20 63 2C    00...mloop.ld c,
002850:  28 68 6C 29 3A 20 63 61 6C 6C 20 72 6F 75 74 6E    (hl): call routn
002860:  65 0D 0A 09 6C 64 20 28 68 6C 29 2C 64 3A 20 69    e...ld (hl),d: i
002870:  6E 63 20 68 6C 0D 0A 09 6C 64 20 61 2C 68 3A 20    nc hl...ld a,h: 
002880:  6F 72 20 61 3A 20 6A 72 20 6E 7A 2C 6D 6C 6F 6F    or a: jr nz,mloo
002890:  70 3A 20 72 65 74 0D 0A 0D 0A 2E 72 6F 75 74 6E    p: ret.....routn
0028A0:  65 09 6C 64 20 64 2C 30 3A 20 6C 64 20 62 2C 34    e.ld d,0: ld b,4
0028B0:  0D 0A 0D 0A 2E 6C 6F 6F 70 09 6C 64 20 61 2C 63    .....loop.ld a,c
0028C0:  0D 0A 09 61 6E 64 20 31 37 3A 20 72 72 63 20 63    ...and 17: rrc c
0028D0:  0D 0A 0D 0A 09 6F 72 20 61 3A 20 20 20 6A 72 20    .....or a:   jr 
0028E0:  7A 2C 61 73 65 74 0D 0A 09 63 70 20 31 36 3A 20    z,aset...cp 16: 
0028F0:  20 6A 72 20 6E 7A 2C 6E 6F 74 31 36 0D 0A 09 6C     jr nz,not16...l
002900:  64 20 61 2C 33 3A 20 6A 72 20 61 73 65 74 0D 0A    d a,3: jr aset..
002910:  0D 0A 2E 6E 6F 74 31 36 09 63 70 20 31 3A 20 20    ...not16.cp 1:  
002920:  20 6A 72 20 7A 2C 61 73 65 74 0D 0A 09 6C 64 20     jr z,aset...ld 
002930:  61 2C 32 0D 0A 0D 0A 2E 61 73 65 74 09 6F 72 20    a,2.....aset.or 
002940:  64 3A 20 72 72 63 61 3A 20 72 72 63 61 0D 0A 09    d: rrca: rrca...
002950:  6C 64 20 64 2C 61 3A 20 64 6A 6E 7A 20 6C 6F 6F    ld d,a: djnz loo
002960:  70 0D 0A 09 72 65 74 0D 0A 1A 20 63 2C 28 68 6C    p...ret... c,(hl
002970:  29 0D 0A 20 20 20 20 20 20 20 20 63 61 6C 6C 20    )..        call 
002980:  49 66 20 66 69 6C 65 6E 61 6D 65 20 6C 65 6E 67    If filename leng
002990:  74 68 20 30 2C 20 72 65 74 75 72 6E 0D 0A 09 6C    th 0, return...l
0029A0:  64 20 61 2C 31 3A 20 72 65 74 09 09 09 3B 52 65    d a,1: ret...;Re
0029B0:  74 75 72 6E 20 77 69 74 68 20 6F 6E 65 20 70 61    turn with one pa
0029C0:  72 61 6D 65 74 65 72 0D 0A 0D 0A 1A 78 2C 26 41    rameter.....x,&A
0029D0:  46 30 30 0D 0A 20 20 20 20 20 20 20 20 6C 64 20    F00..        ld 
0029E0:  28 69 78 2B 30 29 2C 26 30 32 3A 20 6C 64 20 28    (ix+0),&02: ld (
0029F0:  69 78 2B 31 29 2C 26 41 46 0D 0A 20 20 20 20 20    ix+1),&AF..     
002A00:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 48 69 67    ...;*** SUBR.Hig
002A10:  68 6C 69 67 68 74 20 62 61 72 20 61 74 20 73 63    hlight bar at sc
002A20:  72 65 65 6E 20 61 64 64 72 65 73 73 20 48 4C 2C    reen address HL,
002A30:  20 42 20 63 68 61 72 61 63 74 65 72 73 20 6C 6F     B characters lo
002A40:  6E 67 0D 0A 0D 0A 2E 69 6E 76 65 72 74 09 70 75    ng.....invert.pu
002A50:  73 68 20 61 66 3A 20 72 6C 63 20 62 3A 20 6C 64    sh af: rlc b: ld
002A60:  20 63 2C 62 0D 0A 2E 69 6E 76 5F 6F 6C 09 20 70     c,b...inv_ol. p
002A70:  75 73 68 20 68 6C 3A 20 6C 64 20 62 2C 63 0D 0A    ush hl: ld b,c..
002A80:  2E 69 6E 76 5F 6C 70 09 20 20 6C 64 20 61 2C 28    .inv_lp.  ld a,(
002A90:  68 6C 29 3A 20 78 6F 72 20 32 35 35 0D 0A 09 20    hl): xor 255... 
002AA0:  20 6C 64 20 28 68 6C 29 2C 61 3A 20 69 6E 63 20     ld (hl),a: inc 
002AB0:  68 6C 3A 20 64 6A 6E 7A 20 69 6E 76 5F 6C 70 0D    hl: djnz inv_lp.
002AC0:  0A 09 20 70 6F 70 20 68 6C 0D 0A 09 20 6C 64 20    .. pop hl... ld 
002AD0:  61 2C 38 3A 20 61 64 64 20 68 0D 0A 09 20 6C 64    a,8: add h... ld
002AE0:  20 68 2C 61 3A 20 6A 72 20 6E 63 2C 69 6E 76 5F     h,a: jr nc,inv_
002AF0:  6F 6C 0D 0A 09 70 6F 70 20 61 66 3A 20 72 65 74    ol...pop af: ret
002B00:  0D 0A 0D 0A 1A 45 52 54 20 20 24 24 24 FF 00 FF    .....ERT  $$$...
002B10:  69 67 68 74 20 62 61 72 20 61 74 20 48 4C 2C 20    ight bar at HL, 
002B20:  42 20 63 68 61 72 61 63 74 65 72 73 20 6C 6F 6E    B characters lon
002B30:  67 0D 0A 0D 0A 2E 69 6E 76 65 72 74 09 70 75 73    g.....invert.pus
002B40:  68 20 61 66 3A 20 72 6C 63 20 62 3A 20 6C 64 20    h af: rlc b: ld 
002B50:  63 2C 62 0D 0A 2E 69 6E 76 5F 6F 6C 09 20 70 75    c,b...inv_ol. pu
002B60:  73 68 20 68 6C 3A 20 6C 64 20 62 2C 63 0D 0A 2E    sh hl: ld b,c...
002B70:  69 6E 76 5F 6C 70 09 20 20 6C 64 20 61 2C 28 68    inv_lp.  ld a,(h
002B80:  61 6C 6C 20 26 42 42 35 41 3A 20 6C 64 20 61 2C    all &BB5A: ld a,
002B90:  33 32 3A 20 63 61 6C 6C 20 26 42 42 35 41 0D 0A    32: call &BB5A..
002BA0:  09 20 6C 64 20 61 2C 38 3A 20 63 61 6C 6C 20 26    . ld a,8: call &
002BB0:  42 42 35 41 3A 20 6A 72 20 67 69 6E 6B 65 79 0D    BB5A: jr ginkey.
002BC0:  0A 2E 65 69 6E 70 66 09 20 6C 64 20 28 68 6C 29    ..einpf. ld (hl)
002BD0:  2C 30 0D 0A 09 70 6F 70 20 68 6C 0D 0A 09 70 75    ,0...pop hl...pu
002BE0:  73 68 20 61 66 3A 20 63 61 6C 6C 20 26 42 42 38    sh af: call &BB8
002BF0:  34 3A 20 70 6F 70 20 61 66 0D 0A 09 63 70 20 26    4: pop af...cp &
002C00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002C10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002C20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002C30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002C40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002C50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002C60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002C70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002C80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002C90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002CA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002CB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002CC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002CD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002CE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002CF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002D00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002D10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002D20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002D30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002D40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002D50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002D60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002D70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002D80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002D90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002DA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002DB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002DC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002DD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002DE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002DF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002E00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002E10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002E20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002E30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002E40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002E50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002E60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002E70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002E80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002E90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002EA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002EB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002EC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002ED0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002EE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002EF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002F00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002F10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002F20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002F30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002F40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002F50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002F60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002F70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002F80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002F90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002FA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002FB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002FC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002FD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002FE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
002FF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003000:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 4D 75 6C    ...;*** SUBR.Mul
003010:  74 69 70 6C 79 20 48 4C 20 62 79 20 41 0D 0A 0D    tiply HL by A...
003020:  0A 2E 6D 75 6C 74 69 09 6C 64 20 64 2C 68 3A 20    ..multi.ld d,h: 
003030:  6C 64 20 65 2C 6C 3A 20 6C 64 20 68 6C 2C 30 0D    ld e,l: ld hl,0.
003040:  0A 2E 6D 75 6C 74 69 6C 09 6F 72 20 61 3A 20 72    ..multil.or a: r
003050:  65 74 20 7A 0D 0A 09 61 64 64 20 68 6C 2C 64 65    et z...add hl,de
003060:  3A 20 64 65 63 20 61 3A 20 6A 72 20 6D 75 6C 74    : dec a: jr mult
003070:  69 6C 0D 0A 1A 65 20 22 23 54 52 41 43 4B 2E 42    il...e "#TRACK.B
003080:  6F 72 20 61 3A 20 6A 72 20 6E 7A 2C 6D 6C 6F 6F    or a: jr nz,mloo
003090:  70 3A 20 72 65 74 0D 0A 0D 0A 2E 72 6F 75 74 6E    p: ret.....routn
0030A0:  65 09 6C 64 20 64 2C 30 3A 20 6C 64 20 62 2C 34    e.ld d,0: ld b,4
0030B0:  0D 0A 0D 0A 2E 6C 6F 6F 70 09 6C 64 20 61 2C 63    .....loop.ld a,c
0030C0:  0D 0A 09 61 6E 64 20 31 37 3A 20 72 72 63 20 63    ...and 17: rrc c
0030D0:  0D 0A 0D 0A 09 6F 72 20 61 3A 20 20 20 6A 72 20    .....or a:   jr 
0030E0:  7A 2C 61 73 65 74 0D 0A 09 63 70 20 31 36 3A 20    z,aset...cp 16: 
0030F0:  20 6A 72 20 6E 7A 2C 6E 6F 74 31 36 0D 0A 09 6C     jr nz,not16...l
003100:  64 20 61 2C 33 3A 20 6A 72 20 61 73 65 74 0D 0A    d a,3: jr aset..
003110:  0D 0A 2E 6E 6F 74 31 36 09 63 70 20 31 3A 20 20    ...not16.cp 1:  
003120:  20 6A 72 20 7A 2C 61 73 65 74 0D 0A 09 6C 64 20     jr z,aset...ld 
003130:  61 2C 32 0D 0A 0D 0A 2E 61 73 65 74 09 6F 72 20    a,2.....aset.or 
003140:  64 3A 20 72 72 63 61 3A 20 72 72 63 61 0D 0A 09    d: rrca: rrca...
003150:  6C 64 20 64 2C 61 3A 20 64 6A 6E 7A 20 6C 6F 6F    ld d,a: djnz loo
003160:  70 0D 0A 09 72 65 74 0D 0A 1A 20 63 2C 28 68 6C    p...ret... c,(hl
003170:  29 0D 0A 20 20 20 20 20 20 20 20 63 61 6C 6C 20    )..        call 
003180:  49 66 20 66 69 6C 65 6E 61 6D 65 20 6C 65 6E 67    If filename leng
003190:  74 68 20 30 2C 20 72 65 74 75 72 6E 0D 0A 09 6C    th 0, return...l
0031A0:  64 20 61 2C 31 3A 20 72 65 74 09 09 09 3B 52 65    d a,1: ret...;Re
0031B0:  74 75 72 6E 20 77 69 74 68 20 6F 6E 65 20 70 61    turn with one pa
0031C0:  72 61 6D 65 74 65 72 0D 0A 0D 0A 1A 78 2C 26 41    rameter.....x,&A
0031D0:  46 30 30 0D 0A 20 20 20 20 20 20 20 20 6C 64 20    F00..        ld 
0031E0:  28 69 78 2B 30 29 2C 26 30 32 3A 20 6C 64 20 28    (ix+0),&02: ld (
0031F0:  69 78 2B 31 29 2C 26 41 46 0D 0A 20 20 20 20 20    ix+1),&AF..     
003200:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 49 6E 70    ...;*** SUBR.Inp
003210:  75 74 20 66 69 6C 65 6E 61 6D 65 20 69 66 20 6E    ut filename if n
003220:  6F 74 20 70 72 6F 76 69 64 65 64 20 74 6F 20 52    ot provided to R
003230:  53 58 0D 0A 0D 0A 2E 6E 6F 6E 61 6D 09 70 75 73    SX.....nonam.pus
003240:  68 20 68 6C 0D 0A 09 20 6C 64 20 69 78 2C 26 41    h hl... ld ix,&A
003250:  46 30 30 0D 0A 09 20 6C 64 20 28 69 78 2B 30 29    F00... ld (ix+0)
003260:  2C 26 30 32 3A 20 6C 64 20 28 69 78 2B 31 29 2C    ,&02: ld (ix+1),
003270:  26 41 46 0D 0A 09 20 6C 64 20 28 69 78 2B 33 29    &AF... ld (ix+3)
003280:  2C 26 30 35 3A 20 6C 64 20 28 69 78 2B 34 29 2C    ,&05: ld (ix+4),
003290:  26 41 46 09 3B 53 74 72 69 6E 67 20 64 65 73 63    &AF.;String desc
0032A0:  72 69 70 74 6F 72 20 62 6C 6F 63 6B 20 40 20 26    riptor block @ &
0032B0:  41 46 30 34 0D 0A 09 20 6C 64 20 68 6C 2C 66 74    AF04... ld hl,ft
0032C0:  65 78 74 3A 20 63 61 6C 6C 20 73 74 72 69 6E 67    ext: call string
0032D0:  0D 0A 09 20 6C 64 20 68 6C 2C 26 41 46 30 35 3A    ... ld hl,&AF05:
0032E0:  20 63 61 6C 6C 20 69 6E 70 75 74 66 0D 0A 09 20     call inputf... 
0032F0:  6C 64 20 61 2C 31 30 3A 20 63 61 6C 6C 20 26 42    ld a,10: call &B
003300:  42 35 41 0D 0A 09 20 6C 64 20 61 2C 31 33 3A 20    B5A... ld a,13: 
003310:  63 61 6C 6C 20 26 42 42 35 41 0D 0A 09 70 6F 70    call &BB5A...pop
003320:  20 68 6C 0D 0A 09 6C 64 20 28 69 78 2B 32 29 2C     hl...ld (ix+2),
003330:  62 0D 0A 09 6C 64 20 61 2C 30 3A 20 72 65 74 20    b...ld a,0: ret 
003340:  7A 09 09 09 3B 4E 6F 20 70 61 72 61 6D 65 74 65    z...;No paramete
003350:  72 20 70 61 73 73 65 64 20 66 6F 72 20 45 53 43    r passed for ESC
003360:  2F 52 45 54 55 52 4E 0D 0A 09 6C 64 20 61 2C 62    /RETURN...ld a,b
003370:  3A 20 6F 72 20 61 3A 20 72 65 74 20 7A 09 09 3B    : or a: ret z..;
003380:  49 66 20 66 69 6C 65 6E 61 6D 65 20 6C 65 6E 67    If filename leng
003390:  74 68 20 30 2C 20 72 65 74 75 72 6E 0D 0A 09 6C    th 0, return...l
0033A0:  64 20 61 2C 31 3A 20 72 65 74 09 09 09 3B 52 65    d a,1: ret...;Re
0033B0:  74 75 72 6E 20 77 69 74 68 20 6F 6E 65 20 70 61    turn with one pa
0033C0:  72 61 6D 65 74 65 72 0D 0A 0D 0A 1A 78 2C 26 41    rameter.....x,&A
0033D0:  46 30 30 0D 0A 20 20 20 20 20 20 20 20 6C 64 20    F00..        ld 
0033E0:  28 69 78 2B 30 29 2C 26 30 32 3A 20 6C 64 20 28    (ix+0),&02: ld (
0033F0:  69 78 2B 31 29 2C 26 41 46 0D 0A 20 20 20 20 20    ix+1),&AF..     
003400:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 49 6E 70    ...;*** SUBR.Inp
003410:  75 74 20 66 69 6C 65 6E 61 6D 65 20 74 6F 20 62    ut filename to b
003420:  75 66 66 65 72 20 61 74 20 48 4C 20 28 72 65 74    uffer at HL (ret
003430:  75 72 6E 73 20 6C 65 6E 67 74 68 20 69 6E 20 42    urns length in B
003440:  29 0D 0A 0D 0A 2E 69 6E 70 75 74 66 09 70 75 73    ).....inputf.pus
003450:  68 20 68 6C 3A 20 63 61 6C 6C 20 26 42 42 38 31    h hl: call &BB81
003460:  0D 0A 09 20 6C 64 20 62 2C 30 0D 0A 2E 67 69 6E    ... ld b,0...gin
003470:  6B 65 79 09 20 63 61 6C 6C 20 26 42 42 31 38 0D    key. call &BB18.
003480:  0A 09 20 63 70 20 26 46 43 3A 20 6A 72 20 7A 2C    .. cp &FC: jr z,
003490:  65 69 6E 70 66 0D 0A 09 20 63 70 20 31 33 3A 20    einpf... cp 13: 
0034A0:  6A 72 20 7A 2C 65 69 6E 70 66 0D 0A 09 20 63 70    jr z,einpf... cp
0034B0:  20 33 32 3A 20 6A 72 20 63 2C 67 69 6E 6B 65 79     32: jr c,ginkey
0034C0:  0D 0A 09 20 63 70 20 31 32 37 3A 20 6A 72 20 7A    ... cp 127: jr z
0034D0:  2C 64 65 6C 65 74 65 3A 20 6A 72 20 6E 63 2C 67    ,delete: jr nc,g
0034E0:  69 6E 6B 65 79 0D 0A 09 20 62 69 74 20 34 2C 62    inkey... bit 4,b
0034F0:  3A 20 6A 72 20 6E 7A 2C 67 69 6E 6B 65 79 0D 0A    : jr nz,ginkey..
003500:  09 20 63 61 6C 6C 20 26 42 42 35 41 3A 20 6C 64    . call &BB5A: ld
003510:  20 28 68 6C 29 2C 61 3A 20 69 6E 63 20 68 6C 0D     (hl),a: inc hl.
003520:  0A 09 20 69 6E 63 20 62 3A 20 6A 72 20 67 69 6E    .. inc b: jr gin
003530:  6B 65 79 0D 0A 2E 64 65 6C 65 74 65 09 20 6C 64    key...delete. ld
003540:  20 61 2C 62 3A 20 6F 72 20 61 3A 20 6A 72 20 7A     a,b: or a: jr z
003550:  2C 67 69 6E 6B 65 79 0D 0A 09 20 64 65 63 20 62    ,ginkey... dec b
003560:  3A 20 64 65 63 20 68 6C 3A 20 6C 64 20 28 68 6C    : dec hl: ld (hl
003570:  29 2C 30 0D 0A 09 20 6C 64 20 61 2C 38 3A 20 63    ),0... ld a,8: c
003580:  61 6C 6C 20 26 42 42 35 41 3A 20 6C 64 20 61 2C    all &BB5A: ld a,
003590:  33 32 3A 20 63 61 6C 6C 20 26 42 42 35 41 0D 0A    32: call &BB5A..
0035A0:  09 20 6C 64 20 61 2C 38 3A 20 63 61 6C 6C 20 26    . ld a,8: call &
0035B0:  42 42 35 41 3A 20 6A 72 20 67 69 6E 6B 65 79 0D    BB5A: jr ginkey.
0035C0:  0A 2E 65 69 6E 70 66 09 20 6C 64 20 28 68 6C 29    ..einpf. ld (hl)
0035D0:  2C 30 0D 0A 09 70 6F 70 20 68 6C 0D 0A 09 70 75    ,0...pop hl...pu
0035E0:  73 68 20 61 66 3A 20 63 61 6C 6C 20 26 42 42 38    sh af: call &BB8
0035F0:  34 3A 20 70 6F 70 20 61 66 0D 0A 09 63 70 20 26    4: pop af...cp &
003600:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003610:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003620:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003630:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003640:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003650:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003660:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003670:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003680:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003690:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0036A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0036B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0036C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0036D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0036E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0036F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003700:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003710:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003720:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003730:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003740:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003750:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003760:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003770:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003780:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003790:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0037A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0037B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0037C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0037D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0037E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0037F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003800:  46 43 3A 20 72 65 74 0D 0A 1A 24 24 24 FF 00 FF    FC: ret...$$$...
003810:  2C 38 3A 20 63 61 6C 6C 20 26 42 42 35 41 3A 20    ,8: call &BB5A: 
003820:  6A 72 20 67 69 6E 6B 65 79 0D 0A 2E 65 69 6E 70    jr ginkey...einp
003830:  66 09 20 6C 64 20 28 68 6C 29 2C 30 0D 0A 09 70    f. ld (hl),0...p
003840:  6F 70 20 68 6C 0D 0A 09 70 75 73 68 20 61 66 3A    op hl...push af:
003850:  20 63 61 6C 6C 20 26 42 42 38 34 3A 20 70 6F 70     call &BB84: pop
003860:  20 61 66 0D 0A 09 63 70 20 26 46 43 3A 20 72 65     af...cp &FC: re
003870:  74 0D 0A 1A 20 20 63 70 20 26 46 43 3A 20 6A 72    t...  cp &FC: jr
003880:  0A 09 20 63 70 20 26 46 43 3A 20 6A 72 20 7A 2C    .. cp &FC: jr z,
003890:  65 69 6E 70 66 0D 0A 09 20 63 70 20 31 33 3A 20    einpf... cp 13: 
0038A0:  6A 72 20 7A 2C 65 69 6E 70 66 0D 0A 09 20 63 70    jr z,einpf... cp
0038B0:  20 33 32 3A 20 6A 72 20 63 2C 67 69 6E 6B 65 79     32: jr c,ginkey
0038C0:  0D 0A 09 20 63 70 20 31 32 37 3A 20 6A 72 20 7A    ... cp 127: jr z
0038D0:  2C 64 65 6C 65 74 65 3A 20 6A 72 20 6E 63 2C 67    ,delete: jr nc,g
0038E0:  69 6E 6B 65 79 0D 0A 09 20 62 69 74 20 34 2C 62    inkey... bit 4,b
0038F0:  3A 20 6A 72 20 6E 7A 2C 67 69 6E 6B 65 79 0D 0A    : jr nz,ginkey..
003900:  09 20 63 61 6C 6C 20 26 42 42 35 41 3A 20 6C 64    . call &BB5A: ld
003910:  20 28 68 6C 29 2C 61 3A 20 69 6E 63 20 68 6C 0D     (hl),a: inc hl.
003920:  0A 09 20 69 6E 63 20 62 3A 20 6A 72 20 67 69 6E    .. inc b: jr gin
003930:  6B 65 79 0D 0A 2E 64 65 6C 65 74 65 09 20 6C 64    key...delete. ld
003940:  20 61 2C 62 3A 20 6F 72 20 61 3A 20 6A 72 20 7A     a,b: or a: jr z
003950:  2C 67 69 6E 6B 65 79 0D 0A 09 20 64 65 63 20 62    ,ginkey... dec b
003960:  3A 20 64 65 63 20 68 6C 3A 20 6C 64 20 28 68 6C    : dec hl: ld (hl
003970:  29 2C 30 0D 0A 09 20 6C 64 20 61 2C 38 3A 20 63    ),0... ld a,8: c
003980:  61 6C 6C 20 26 42 42 35 41 3A 20 6C 64 20 61 2C    all &BB5A: ld a,
003990:  33 32 3A 20 63 61 6C 6C 20 26 42 42 35 41 0D 0A    32: call &BB5A..
0039A0:  09 20 6C 64 20 61 2C 38 3A 20 63 61 6C 6C 20 26    . ld a,8: call &
0039B0:  42 42 35 41 3A 20 6A 72 20 67 69 6E 6B 65 79 0D    BB5A: jr ginkey.
0039C0:  0A 2E 65 69 6E 70 66 09 20 6C 64 20 28 68 6C 29    ..einpf. ld (hl)
0039D0:  2C 30 0D 0A 09 70 6F 70 20 68 6C 0D 0A 09 70 75    ,0...pop hl...pu
0039E0:  73 68 20 61 66 3A 20 63 61 6C 6C 20 26 42 42 38    sh af: call &BB8
0039F0:  34 3A 20 70 6F 70 20 61 66 0D 0A 09 63 70 20 26    4: pop af...cp &
003A00:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
003A10:  03 00 01 00 02 09 4E E5 03 00 C1 02 00 00 00 02    ......N.........
003A20:  03 00 C6 02 00 00 00 02 03 00 C2 02 00 00 00 02    ................
003A30:  03 00 C7 02 00 00 00 02 03 00 C3 02 00 00 00 02    ................
003A40:  03 00 C8 02 00 00 00 02 03 00 C4 02 00 00 00 02    ................
003A50:  03 00 C9 02 00 00 00 02 03 00 C5 02 00 00 00 02    ................
003A60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003A70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003A80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003A90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003AA0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003AB0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003AC0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003AD0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003AE0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003AF0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003B00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003B10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003B20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003B30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003B40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003B50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003B60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003B70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003B80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003B90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003BA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003BB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003BC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003BD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003BE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003BF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003C00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003C10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003C20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003C30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003C40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003C50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003C60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003C70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003C80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003C90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003CA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003CB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003CC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003CD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003CE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003CF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
003D00:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 50 72 69    ...;*** SUBR.Pri
003D10:  6E 74 20 48 4C 20 61 73 20 28 75 70 20 74 6F 29    nt HL as (up to)
003D20:  20 35 2D 64 69 67 69 74 20 64 65 63 69 6D 61 6C     5-digit decimal
003D30:  0D 0A 0D 0A 2E 70 72 5F 68 6C 09 6C 64 20 63 2C    .....pr_hl.ld c,
003D40:  30 0D 0A 09 6C 64 20 64 65 2C 31 30 30 30 30 3A    0...ld de,10000:
003D50:  20 63 61 6C 6C 20 70 72 68 6C 72 0D 0A 09 6C 64     call prhlr...ld
003D60:  20 64 65 2C 31 30 30 30 3A 20 63 61 6C 6C 20 70     de,1000: call p
003D70:  72 68 6C 72 0D 0A 09 6C 64 20 64 65 2C 31 30 30    rhlr...ld de,100
003D80:  3A 20 63 61 6C 6C 20 70 72 68 6C 72 0D 0A 09 6C    : call prhlr...l
003D90:  64 20 64 65 2C 31 30 3A 20 63 61 6C 6C 20 70 72    d de,10: call pr
003DA0:  68 6C 72 0D 0A 09 6C 64 20 63 2C 31 3A 20 6C 64    hlr...ld c,1: ld
003DB0:  20 64 65 2C 31 0D 0A 2E 70 72 68 6C 72 09 78 6F     de,1...prhlr.xo
003DC0:  72 20 61 0D 0A 2E 70 72 68 6C 6C 70 09 73 63 66    r a...prhllp.scf
003DD0:  3A 20 63 63 66 3A 20 73 62 63 20 68 6C 2C 64 65    : ccf: sbc hl,de
003DE0:  3A 20 6A 72 20 63 2C 70 72 68 6C 6F 0D 0A 09 69    : jr c,prhlo...i
003DF0:  6E 63 20 61 3A 20 6A 72 20 70 72 68 6C 6C 70 0D    nc a: jr prhllp.
003E00:  0A 2E 70 72 68 6C 6F 09 61 64 64 20 68 6C 2C 64    ..prhlo.add hl,d
003E10:  65 3A 20 6F 72 20 61 3A 20 6A 72 20 6E 7A 2C 70    e: or a: jr nz,p
003E20:  72 68 6C 79 3A 20 63 70 20 63 3A 20 72 65 74 20    rhly: cp c: ret 
003E30:  7A 0D 0A 2E 70 72 68 6C 79 09 6C 64 20 63 2C 31    z...prhly.ld c,1
003E40:  3A 20 61 64 64 20 26 33 30 3A 20 63 61 6C 6C 20    : add &30: call 
003E50:  26 42 42 35 41 3A 20 72 65 74 0D 0A 1A 61 6C 6C    &BB5A: ret...all
003E60:  20 70 72 68 6C 72 0D 0A 20 20 20 20 20 20 20 20     prhlr..        
003E70:  6C 64 20 64 65 2C 31 30 30 30 3A 20 63 61 6C 6C    ld de,1000: call
003E80:  49 66 20 66 69 6C 65 6E 61 6D 65 20 6C 65 6E 67    If filename leng
003E90:  74 68 20 30 2C 20 72 65 74 75 72 6E 0D 0A 09 6C    th 0, return...l
003EA0:  64 20 61 2C 31 3A 20 72 65 74 09 09 09 3B 52 65    d a,1: ret...;Re
003EB0:  74 75 72 6E 20 77 69 74 68 20 6F 6E 65 20 70 61    turn with one pa
003EC0:  72 61 6D 65 74 65 72 0D 0A 0D 0A 1A 78 2C 26 41    rameter.....x,&A
003ED0:  46 30 30 0D 0A 20 20 20 20 20 20 20 20 6C 64 20    F00..        ld 
003EE0:  28 69 78 2B 30 29 2C 26 30 32 3A 20 6C 64 20 28    (ix+0),&02: ld (
003EF0:  69 78 2B 31 29 2C 26 41 46 0D 0A 20 20 20 20 20    ix+1),&AF..     
003F00:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 50 72 69    ...;*** SUBR.Pri
003F10:  6E 74 20 41 20 61 73 20 33 2D 64 69 67 69 74 20    nt A as 3-digit 
003F20:  64 65 63 69 6D 61 6C 0D 0A 0D 0A 2E 70 72 5F 61    decimal.....pr_a
003F30:  09 6C 64 20 64 2C 31 30 30 3A 20 63 61 6C 6C 20    .ld d,100: call 
003F40:  70 73 5F 63 68 72 0D 0A 09 6C 64 20 64 2C 31 30    ps_chr...ld d,10
003F50:  3A 20 63 61 6C 6C 20 70 73 5F 63 68 72 0D 0A 09    : call ps_chr...
003F60:  6C 64 20 64 2C 31 0D 0A 0D 0A 2E 70 73 5F 63 68    ld d,1.....ps_ch
003F70:  72 09 6C 64 20 63 2C 30 0D 0A 2E 70 73 5F 6C 6F    r.ld c,0...ps_lo
003F80:  70 09 73 75 62 20 64 3A 20 6A 72 20 63 2C 70 73    p.sub d: jr c,ps
003F90:  5F 66 69 6E 0D 0A 09 69 6E 63 20 63 3A 20 6A 72    _fin...inc c: jr
003FA0:  20 70 73 5F 6C 6F 70 0D 0A 0D 0A 2E 70 73 5F 66     ps_lop.....ps_f
003FB0:  69 6E 09 61 64 64 20 64 0D 0A 09 70 75 73 68 20    in.add d...push 
003FC0:  61 66 0D 0A 09 20 6C 64 20 61 2C 63 3A 20 61 64    af... ld a,c: ad
003FD0:  64 20 34 38 3A 20 63 61 6C 6C 20 26 42 42 35 41    d 48: call &BB5A
003FE0:  0D 0A 09 70 6F 70 20 61 66 3A 20 72 65 74 0D 0A    ...pop af: ret..
003FF0:  1A 2C 30 0D 0A 2E 70 73 5F 6C 6F 70 09 73 75 62    .,0...ps_lop.sub
004000:  64 20 61 2C 33 3A 20 6A 72 20 61 73 65 74 0D 0A    d a,3: jr aset..
004010:  0D 0A 2E 6E 6F 74 31 36 09 63 70 20 31 3A 20 20    ...not16.cp 1:  
004020:  20 6A 72 20 7A 2C 61 73 65 74 0D 0A 09 6C 64 20     jr z,aset...ld 
004030:  61 2C 32 0D 0A 0D 0A 2E 61 73 65 74 09 6F 72 20    a,2.....aset.or 
004040:  64 3A 20 72 72 63 61 3A 20 72 72 63 61 0D 0A 09    d: rrca: rrca...
004050:  6C 64 20 64 2C 61 3A 20 64 6A 6E 7A 20 6C 6F 6F    ld d,a: djnz loo
004060:  70 0D 0A 09 72 65 74 0D 0A 1A 20 63 2C 28 68 6C    p...ret... c,(hl
004070:  29 0D 0A 20 20 20 20 20 20 20 20 63 61 6C 6C 20    )..        call 
004080:  49 66 20 66 69 6C 65 6E 61 6D 65 20 6C 65 6E 67    If filename leng
004090:  74 68 20 30 2C 20 72 65 74 75 72 6E 0D 0A 09 6C    th 0, return...l
0040A0:  64 20 61 2C 31 3A 20 72 65 74 09 09 09 3B 52 65    d a,1: ret...;Re
0040B0:  74 75 72 6E 20 77 69 74 68 20 6F 6E 65 20 70 61    turn with one pa
0040C0:  72 61 6D 65 74 65 72 0D 0A 0D 0A 1A 78 2C 26 41    rameter.....x,&A
0040D0:  46 30 30 0D 0A 20 20 20 20 20 20 20 20 6C 64 20    F00..        ld 
0040E0:  28 69 78 2B 30 29 2C 26 30 32 3A 20 6C 64 20 28    (ix+0),&02: ld (
0040F0:  69 78 2B 31 29 2C 26 41 46 0D 0A 20 20 20 20 20    ix+1),&AF..     
004100:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004110:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004120:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004130:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004140:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004150:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004160:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004170:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004180:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004190:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0041A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0041B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0041C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0041D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0041E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0041F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004200:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004210:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004220:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004230:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004240:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004250:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004260:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004270:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004280:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004290:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0042A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0042B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0042C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0042D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0042E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0042F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004300:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004310:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004320:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004330:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004340:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004350:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004360:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004370:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004380:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004390:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0043A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0043B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0043C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0043D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0043E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0043F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004400:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004410:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004420:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004430:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004440:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004450:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004460:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004470:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004480:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004490:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0044A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0044B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0044C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0044D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0044E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0044F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004500:  0A 20 20 20 20 20 20 20 20 3B 2A 2A 2A 20 32 2D    .        ;*** 2-
004510:  62 79 74 65 20 68 65 78 20 70 72 69 6E 74 20 5B    byte hex print [
004520:  48 4C 5D 0D 0A 0D 0A 2E 74 62 74 68 65 78 20 6C    HL].....tbthex l
004530:  64 20 61 2C 68 3A 20 63 61 6C 6C 20 68 65 78 70    d a,h: call hexp
004540:  72 74 0D 0A 20 20 20 20 20 20 20 20 6C 64 20 61    rt..        ld a
004550:  2C 6C 3A 20 63 61 6C 6C 20 68 65 78 70 72 74 0D    ,l: call hexprt.
004560:  0A 20 20 20 20 20 20 20 20 72 65 74 0D 0A 0D 0A    .        ret....
004570:  20 20 20 20 20 20 20 20 3B 2A 2A 2A 20 31 2D 62            ;*** 1-b
004580:  79 74 65 20 68 65 78 20 70 72 69 6E 74 20 5B 41    yte hex print [A
004590:  5D 0D 0A 0D 0A 2E 68 65 78 70 72 74 20 6C 64 20    ].....hexprt ld 
0045A0:  62 2C 32 0D 0A 20 20 20 20 20 20 20 20 6C 64 20    b,2..        ld 
0045B0:  63 2C 61 0D 0A 20 20 20 20 20 20 20 20 72 72 61    c,a..        rra
0045C0:  3A 20 72 72 61 0D 0A 20 20 20 20 20 20 20 20 72    : rra..        r
0045D0:  72 61 3A 20 72 72 61 0D 0A 0D 0A 2E 68 65 78 6D    ra: rra.....hexm
0045E0:  73 6B 20 61 6E 64 20 26 46 0D 0A 20 20 20 20 20    sk and &F..     
0045F0:  20 20 20 63 70 20 31 30 3A 20 6A 72 20 6E 63 2C       cp 10: jr nc,
004600:  68 65 78 67 72 74 0D 0A 20 20 20 20 20 20 20 20    hexgrt..        
004610:  61 64 64 20 61 2C 34 38 3A 20 63 61 6C 6C 20 26    add a,48: call &
004620:  42 42 35 41 20 20 20 20 20 20 20 20 20 20 20 20    BB5A            
004630:  3B 30 2D 39 0D 0A 20 20 20 20 20 20 20 20 6A 72    ;0-9..        jr
004640:  20 68 65 78 62 79 65 0D 0A 0D 0A 2E 68 65 78 67     hexbye.....hexg
004650:  72 74 20 61 64 64 20 61 2C 35 35 3A 20 63 61 6C    rt add a,55: cal
004660:  6C 20 26 42 42 35 41 20 20 20 20 20 20 20 20 20    l &BB5A         
004670:  20 20 20 3B 41 2D 46 0D 0A 0D 0A 2E 68 65 78 62       ;A-F.....hexb
004680:  79 65 20 6C 64 20 61 2C 63 0D 0A 20 20 20 20 20    ye ld a,c..     
004690:  20 20 20 64 6A 6E 7A 20 68 65 78 6D 73 6B 0D 0A       djnz hexmsk..
0046A0:  20 20 20 20 20 20 20 20 72 65 74 0D 0A 0D 1A 68            ret....h
0046B0:  20 30 2C 20 72 65 74 75 72 6E 0D 0A 20 20 20 20     0, return..    
0046C0:  20 20 20 20 6C 64 20 61 2C 31 3A 20 72 65 74 20        ld a,1: ret 
0046D0:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
0046E0:  20 20 20 20 3B 72 65 74 75 72 6E 2C 20 6F 6E 65        ;return, one
0046F0:  20 70 61 72 61 6D 65 74 65 72 0D 0A 0D 1A 64 62     parameter....db
004700:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 50 72 69    ...;*** SUBR.Pri
004710:  6E 74 20 41 20 61 73 20 73 70 61 63 65 64 20 33    nt A as spaced 3
004720:  2D 64 69 67 69 74 20 64 65 63 69 6D 61 6C 0D 0A    -digit decimal..
004730:  0D 0A 2E 70 72 5F 61 09 6C 64 20 62 2C 30 0D 0A    ...pr_a.ld b,0..
004740:  09 6C 64 20 64 2C 31 30 30 3A 20 63 61 6C 6C 20    .ld d,100: call 
004750:  70 73 5F 63 68 72 0D 0A 09 6C 64 20 64 2C 31 30    ps_chr...ld d,10
004760:  3A 20 63 61 6C 6C 20 70 73 5F 63 68 72 0D 0A 09    : call ps_chr...
004770:  6C 64 20 62 2C 31 3A 20 6C 64 20 64 2C 31 0D 0A    ld b,1: ld d,1..
004780:  0D 0A 2E 70 73 5F 63 68 72 09 6C 64 20 63 2C 30    ...ps_chr.ld c,0
004790:  0D 0A 2E 70 73 5F 6C 6F 70 09 73 75 62 20 64 3A    ...ps_lop.sub d:
0047A0:  20 6A 72 20 63 2C 70 73 5F 66 69 6E 0D 0A 09 69     jr c,ps_fin...i
0047B0:  6E 63 20 63 3A 20 6A 72 20 70 73 5F 6C 6F 70 0D    nc c: jr ps_lop.
0047C0:  0A 0D 0A 2E 70 73 5F 66 69 6E 09 61 64 64 20 61    ....ps_fin.add a
0047D0:  2C 64 0D 0A 09 70 75 73 68 20 61 66 3A 20 6C 64    ,d...push af: ld
0047E0:  20 61 2C 63 3A 20 6F 72 20 61 3A 20 6A 72 20 6E     a,c: or a: jr n
0047F0:  7A 2C 70 73 5F 6E 73 70 0D 0A 09 20 62 69 74 20    z,ps_nsp... bit 
004800:  30 2C 62 3A 20 6A 72 20 7A 2C 70 73 5F 73 70 63    0,b: jr z,ps_spc
004810:  0D 0A 2E 70 73 5F 6E 73 70 09 20 61 64 64 20 34    ...ps_nsp. add 4
004820:  38 3A 20 63 61 6C 6C 20 26 42 42 35 41 0D 0A 09    8: call &BB5A...
004830:  20 6C 64 20 62 2C 31 0D 0A 09 70 6F 70 20 61 66     ld b,1...pop af
004840:  3A 20 72 65 74 0D 0A 2E 70 73 5F 73 70 63 09 20    : ret...ps_spc. 
004850:  6C 64 20 61 2C 33 32 3A 20 63 61 6C 6C 20 26 42    ld a,32: call &B
004860:  42 35 41 0D 0A 09 70 6F 70 20 61 66 3A 20 72 65    B5A...pop af: re
004870:  74 0D 0A 1A 64 20 64 2C 31 0D 0A 0D 0A 2E 70 73    t...d d,1.....ps
004880:  49 66 20 66 69 6C 65 6E 61 6D 65 20 6C 65 6E 67    If filename leng
004890:  74 68 20 30 2C 20 72 65 74 75 72 6E 0D 0A 09 6C    th 0, return...l
0048A0:  64 20 61 2C 31 3A 20 72 65 74 09 09 09 3B 52 65    d a,1: ret...;Re
0048B0:  74 75 72 6E 20 77 69 74 68 20 6F 6E 65 20 70 61    turn with one pa
0048C0:  72 61 6D 65 74 65 72 0D 0A 0D 0A 1A 78 2C 26 41    rameter.....x,&A
0048D0:  46 30 30 0D 0A 20 20 20 20 20 20 20 20 6C 64 20    F00..        ld 
0048E0:  28 69 78 2B 30 29 2C 26 30 32 3A 20 6C 64 20 28    (ix+0),&02: ld (
0048F0:  69 78 2B 31 29 2C 26 41 46 0D 0A 20 20 20 20 20    ix+1),&AF..     
004900:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004910:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004920:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004930:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004940:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004950:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004960:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004970:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004980:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004990:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0049A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0049B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0049C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0049D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0049E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0049F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004A00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004A10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004A20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004A30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004A40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004A50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004A60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004A70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004A80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004A90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004AA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004AB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004AC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004AD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004AE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004AF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004B00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004B10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004B20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004B30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004B40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004B50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004B60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004B70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004B80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004B90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004BA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004BB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004BC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004BD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004BE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004BF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004C00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004C10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004C20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004C30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004C40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004C50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004C60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004C70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004C80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004C90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004CA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004CB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004CC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004CD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004CE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004CF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
004D00:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
004D10:  04 00 01 00 02 09 4E E5 04 00 C4 02 00 00 00 02    ......N.........
004D20:  04 00 C9 02 00 00 00 02 04 00 C5 02 00 00 00 02    ................
004D30:  04 00 C1 02 00 00 00 02 04 00 C6 02 00 00 00 02    ................
004D40:  04 00 C2 02 00 00 00 02 04 00 C7 02 00 00 00 02    ................
004D50:  04 00 C3 02 00 00 00 02 04 00 C8 02 00 00 00 02    ................
004D60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004D70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004D80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004D90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004DA0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004DB0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004DC0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004DD0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004DE0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004DF0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004E00:  63 3A 20 65 78 20 64 65 2C 68 6C 0D 0A 0D 0A 09    c: ex de,hl.....
004E10:  64 65 63 20 61 0D 0A 09 6A 70 20 6E 7A 2C 6C 6E    dec a...jp nz,ln
004E20:  6C 6F 6F 70 0D 0A 0D 0A 09 6C 64 20 62 63 2C 35    loop.....ld bc,5
004E30:  31 32 3A 20 61 64 64 20 68 6C 2C 62 63 3A 20 65    12: add hl,bc: e
004E40:  78 20 64 65 2C 68 6C 0D 0A 09 6C 64 20 62 63 2C    x de,hl...ld bc,
004E50:  31 32 38 3A 20 61 64 64 20 68 6C 2C 62 63 3A 20    128: add hl,bc: 
004E60:  65 78 20 64 65 2C 68 6C 0D 0A 0D 0A 09 6C 64 20    ex de,hl.....ld 
004E70:  61 2C 64 3A 20 6F 72 20 65 3A 20 6A 70 20 6E 7A    a,d: or e: jp nz
004E80:  2C 6F 6C 6C 6F 6F 70 0D 0A 09 72 65 74 0D 0A 1A    ,olloop...ret...
004E90:  72 74 20 53 70 65 63 74 72 75 6D 2D 73 69 7A 65    rt Spectrum-size
004EA0:  64 20 73 63 72 65 65 6E 20 66 72 6F 6D 20 26 34    d screen from &4
004EB0:  30 30 30 20 74 6F 20 26 43 30 30 30 20 28 4D 4F    000 to &C000 (MO
004EC0:  44 45 20 31 29 0D 0A 0D 0A 20 20 20 20 20 20 20    DE 1)....       
004ED0:  20 6F 72 67 20 26 38 30 30 30 0D 0A 20 20 20 20     org &8000..    
004EE0:  20 20 20 20 6E 6F 6C 69 73 74 0D 0A 0D 0A 20 20        nolist....  
004EF0:  20 20 20 20 20 20 6C 64 20 68 6C 2C 26 43 30 30          ld hl,&C00
004F00:  3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69    :ldi:ldi:ldi:ldi
004F10:  3A 6C 64 69 3A 6C 64 69 0D 0A 09 6C 64 69 3A 6C    :ldi:ldi...ldi:l
004F20:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C    di:ldi:ldi:ldi:l
004F30:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C    di:ldi:ldi:ldi:l
004F40:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C    di:ldi:ldi:ldi:l
004F50:  64 69 3A 6C 64 69 3A 6C 64 69 0D 0A 09 6C 64 69    di:ldi:ldi...ldi
004F60:  3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69    :ldi:ldi:ldi:ldi
004F70:  3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69    :ldi:ldi:ldi:ldi
004F80:  3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69    :ldi:ldi:ldi:ldi
004F90:  3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 0D 0A 09 6C    :ldi:ldi:ldi...l
004FA0:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C    di:ldi:ldi:ldi:l
004FB0:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C    di:ldi:ldi:ldi:l
004FC0:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C    di:ldi:ldi:ldi:l
004FD0:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 0D 0A    di:ldi:ldi:ldi..
004FE0:  0D 0A 09 6C 64 20 62 63 2C 31 36 0D 0A 09 65 78    ...ld bc,16...ex
004FF0:  20 64 65 2C 68 6C 3A 20 61 64 64 20 68 6C 2C 62     de,hl: add hl,b
005000:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 43 52 54    ...;*** SUBR.CRT
005010:  43 20 72 65 67 69 73 74 65 72 20 73 65 74 0D 0A    C register set..
005020:  0D 0A 2E 63 72 74 63 09 6C 64 20 61 2C 62 0D 0A    ...crtc.ld a,b..
005030:  09 6C 64 20 62 2C 26 42 43 3A 20 6F 75 74 20 28    .ld b,&BC: out (
005040:  63 29 2C 61 0D 0A 09 6C 64 20 62 2C 26 42 44 3A    c),a...ld b,&BD:
005050:  20 6F 75 74 20 28 63 29 2C 63 0D 0A 09 72 65 74     out (c),c...ret
005060:  0D 0A 1A 20 20 6C 64 20 62 2C 26 42 44 3A 20 6F    ...  ld b,&BD: o
005070:  75 74 20 28 63 29 2C 63 0D 0A 20 20 20 20 20 20    ut (c),c..      
005080:  6C 64 20 61 2C 32 3A 20 63 61 6C 6C 20 26 42 43    ld a,2: call &BC
005090:  30 45 0D 0A 09 6C 64 20 68 6C 2C 26 34 30 30 30    0E...ld hl,&4000
0050A0:  3A 20 63 61 6C 6C 20 26 42 43 38 33 3A 20 63 61    : call &BC83: ca
0050B0:  6C 6C 20 26 42 43 37 41 0D 0A 09 6C 64 20 68 6C    ll &BC7A...ld hl
0050C0:  2C 26 33 46 46 42 2B 33 3A 20 6C 64 20 64 65 2C    ,&3FFB+3: ld de,
0050D0:  28 68 65 69 67 68 74 29 0D 0A 09 61 64 64 20 68    (height)...add h
0050E0:  6C 2C 64 65 0D 0A 09 6C 64 20 65 2C 28 68 6C 29    l,de...ld e,(hl)
0050F0:  3A 20 6C 64 20 64 2C 30 3A 20 6C 64 20 62 63 2C    : ld d,0: ld bc,
005100:  30 0D 0A 09 64 65 63 20 68 6C 3A 20 64 65 63 20    0...dec hl: dec 
005110:  68 6C 3A 20 64 65 63 20 68 6C 3A 20 72 65 73 20    hl: dec hl: res 
005120:  36 2C 68 0D 0A 2E 64 69 76 5F 6C 70 09 6F 72 20    6,h...div_lp.or 
005130:  61 3A 20 73 62 63 20 68 6C 2C 64 65 3A 20 69 6E    a: sbc hl,de: in
005140:  63 20 62 63 0D 0A 09 6A 72 20 6E 7A 2C 64 69 76    c bc...jr nz,div
005150:  5F 6C 70 0D 0A 09 6C 64 20 61 2C 65 0D 0A 0D 0A    _lp...ld a,e....
005160:  09 6C 64 20 64 65 2C 26 43 30 30 30 3A 20 6C 64    .ld de,&C000: ld
005170:  20 68 6C 2C 26 34 30 30 30 0D 0A 2E 6D 77 6C 6F     hl,&4000...mwlo
005180:  6F 70 09 70 75 73 68 20 61 66 0D 0A 09 20 70 75    op.push af... pu
005190:  73 68 20 20 62 63 3A 20 70 75 73 68 20 64 65 3A    sh  bc: push de:
0051A0:  20 6C 64 69 72 0D 0A 09 20 70 6F 70 20 20 20 64     ldir... pop   d
0051B0:  65 3A 20 70 6F 70 20 20 62 63 0D 0A 09 20 65 78    e: pop  bc... ex
0051C0:  20 64 65 2C 68 6C 3A 20 63 61 6C 6C 20 6E 6C 69     de,hl: call nli
0051D0:  6E 65 3A 20 65 78 20 64 65 2C 68 6C 0D 0A 09 70    ne: ex de,hl...p
0051E0:  6F 70 20 61 66 0D 0A 09 64 65 63 20 61 3A 20 6A    op af...dec a: j
0051F0:  72 20 6E 7A 2C 6D 77 6C 6F 6F 70 3A 20 72 65 74    r nz,mwloop: ret
005200:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 43 6F 6E    ...;*** SUBR.Con
005210:  76 65 72 74 20 41 20 74 6F 20 75 70 70 65 72 20    vert A to upper 
005220:  63 61 73 65 0D 0A 0D 0A 2E 75 63 61 73 65 09 63    case.....ucase.c
005230:  70 20 22 61 22 3A 20 72 65 74 20 63 0D 0A 09 63    p "a": ret c...c
005240:  70 20 22 7B 22 3A 20 72 65 74 20 6E 63 0D 0A 09    p "{": ret nc...
005250:  73 75 62 20 33 32 3A 20 72 65 74 0D 0A 1A 20 20    sub 32: ret...  
005260:  20 20 20 20 61 64 64 20 26 45 30 3A 20 72 65 74        add &E0: ret
005270:  0D 0A 0D 1A 74 61 69 6C 73 0D 0A 0D 0A 09 64 62    ....tails.....db
005280:  2C 6F 6C 6C 6F 6F 70 0D 0A 09 72 65 74 0D 0A 1A    ,olloop...ret...
005290:  72 74 20 53 70 65 63 74 72 75 6D 2D 73 69 7A 65    rt Spectrum-size
0052A0:  64 20 73 63 72 65 65 6E 20 66 72 6F 6D 20 26 34    d screen from &4
0052B0:  30 30 30 20 74 6F 20 26 43 30 30 30 20 28 4D 4F    000 to &C000 (MO
0052C0:  44 45 20 31 29 0D 0A 0D 0A 20 20 20 20 20 20 20    DE 1)....       
0052D0:  20 6F 72 67 20 26 38 30 30 30 0D 0A 20 20 20 20     org &8000..    
0052E0:  20 20 20 20 6E 6F 6C 69 73 74 0D 0A 0D 0A 20 20        nolist....  
0052F0:  20 20 20 20 20 20 6C 64 20 68 6C 2C 26 43 30 30          ld hl,&C00
005300:  3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69    :ldi:ldi:ldi:ldi
005310:  3A 6C 64 69 3A 6C 64 69 0D 0A 09 6C 64 69 3A 6C    :ldi:ldi...ldi:l
005320:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C    di:ldi:ldi:ldi:l
005330:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C    di:ldi:ldi:ldi:l
005340:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C    di:ldi:ldi:ldi:l
005350:  64 69 3A 6C 64 69 3A 6C 64 69 0D 0A 09 6C 64 69    di:ldi:ldi...ldi
005360:  3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69    :ldi:ldi:ldi:ldi
005370:  3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69    :ldi:ldi:ldi:ldi
005380:  3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69    :ldi:ldi:ldi:ldi
005390:  3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 0D 0A 09 6C    :ldi:ldi:ldi...l
0053A0:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C    di:ldi:ldi:ldi:l
0053B0:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C    di:ldi:ldi:ldi:l
0053C0:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C    di:ldi:ldi:ldi:l
0053D0:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 0D 0A    di:ldi:ldi:ldi..
0053E0:  0D 0A 09 6C 64 20 62 63 2C 31 36 0D 0A 09 65 78    ...ld bc,16...ex
0053F0:  20 64 65 2C 68 6C 3A 20 61 64 64 20 68 6C 2C 62     de,hl: add hl,b
005400:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 50 72 69    ...;*** SUBR.Pri
005410:  6E 74 20 6E 75 6C 6C 2D 74 65 72 6D 69 6E 61 74    nt null-terminat
005420:  65 64 20 73 74 72 69 6E 67 20 66 72 6F 6D 20 48    ed string from H
005430:  4C 0D 0A 0D 0A 2E 73 74 72 69 6E 67 09 6C 64 20    L.....string.ld 
005440:  61 2C 28 68 6C 29 20 3A 20 6F 72 20 61 3A 20 72    a,(hl) : or a: r
005450:  65 74 20 7A 0D 0A 09 63 61 6C 6C 20 26 42 42 35    et z...call &BB5
005460:  41 3A 20 69 6E 63 20 68 6C 3A 20 6A 72 20 73 74    A: inc hl: jr st
005470:  72 69 6E 67 0D 0A 0D 0A 1A 20 20 20 20 20 20 20    ring.....       
005480:  79 74 65 20 68 65 78 20 70 72 69 6E 74 20 5B 41    yte hex print [A
005490:  5D 0D 0A 0D 0A 2E 68 65 78 70 72 74 20 6C 64 20    ].....hexprt ld 
0054A0:  62 2C 32 0D 0A 20 20 20 20 20 20 20 20 6C 64 20    b,2..        ld 
0054B0:  63 2C 61 0D 0A 20 20 20 20 20 20 20 20 72 72 61    c,a..        rra
0054C0:  3A 20 72 72 61 0D 0A 20 20 20 20 20 20 20 20 72    : rra..        r
0054D0:  72 61 3A 20 72 72 61 0D 0A 0D 0A 2E 68 65 78 6D    ra: rra.....hexm
0054E0:  73 6B 20 61 6E 64 20 26 46 0D 0A 20 20 20 20 20    sk and &F..     
0054F0:  20 20 20 63 70 20 31 30 3A 20 6A 72 20 6E 63 2C       cp 10: jr nc,
005500:  68 65 78 67 72 74 0D 0A 20 20 20 20 20 20 20 20    hexgrt..        
005510:  61 64 64 20 61 2C 34 38 3A 20 63 61 6C 6C 20 26    add a,48: call &
005520:  42 42 35 41 20 20 20 20 20 20 20 20 20 20 20 20    BB5A            
005530:  3B 30 2D 39 0D 0A 20 20 20 20 20 20 20 20 6A 72    ;0-9..        jr
005540:  20 68 65 78 62 79 65 0D 0A 0D 0A 2E 68 65 78 67     hexbye.....hexg
005550:  72 74 20 61 64 64 20 61 2C 35 35 3A 20 63 61 6C    rt add a,55: cal
005560:  6C 20 26 42 42 35 41 20 20 20 20 20 20 20 20 20    l &BB5A         
005570:  20 20 20 3B 41 2D 46 0D 0A 0D 0A 2E 68 65 78 62       ;A-F.....hexb
005580:  79 65 20 6C 64 20 61 2C 63 0D 0A 20 20 20 20 20    ye ld a,c..     
005590:  20 20 20 64 6A 6E 7A 20 68 65 78 6D 73 6B 0D 0A       djnz hexmsk..
0055A0:  20 20 20 20 20 20 20 20 72 65 74 0D 0A 0D 1A 68            ret....h
0055B0:  20 30 2C 20 72 65 74 75 72 6E 0D 0A 20 20 20 20     0, return..    
0055C0:  20 20 20 20 6C 64 20 61 2C 31 3A 20 72 65 74 20        ld a,1: ret 
0055D0:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
0055E0:  20 20 20 20 3B 72 65 74 75 72 6E 2C 20 6F 6E 65        ;return, one
0055F0:  20 70 61 72 61 6D 65 74 65 72 0D 0A 0D 1A 64 62     parameter....db
005600:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005610:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005620:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005630:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005640:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005650:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005660:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005670:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005680:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005690:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0056A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0056B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0056C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0056D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0056E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0056F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005700:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005710:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005720:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005730:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005740:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005750:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005760:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005770:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005780:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005790:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0057A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0057B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0057C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0057D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0057E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0057F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005800:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005810:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005820:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005830:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005840:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005850:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005860:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005870:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005880:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005890:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0058A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0058B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0058C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0058D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0058E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0058F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005900:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005910:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005920:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005930:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005940:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005950:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005960:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005970:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005980:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005990:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0059A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0059B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0059C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0059D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0059E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0059F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
005A00:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 4C 6F 61    ...;*** SUBR.Loa
005A10:  64 20 41 64 76 61 6E 63 65 64 20 41 72 74 20 53    d Advanced Art S
005A20:  74 75 64 69 6F 20 28 75 6E 63 6F 6D 70 72 65 73    tudio (uncompres
005A30:  73 65 64 29 20 77 69 6E 64 6F 77 0D 0A 09 3B 09    sed) window...;.
005A40:  09 66 69 6C 65 20 6D 75 73 74 20 61 6C 72 65 61    .file must alrea
005A50:  64 79 20 62 65 20 6F 70 65 6E 0D 0A 09 3B 09 09    dy be open...;..
005A60:  75 73 65 73 20 26 34 30 30 30 20 61 73 20 62 75    uses &4000 as bu
005A70:  66 66 65 72 0D 0A 0D 0A 2E 77 69 6E 6C 6F 64 09    ffer.....winlod.
005A80:  6C 64 20 61 2C 32 3A 20 63 61 6C 6C 20 26 42 43    ld a,2: call &BC
005A90:  30 45 0D 0A 09 6C 64 20 68 6C 2C 26 34 30 30 30    0E...ld hl,&4000
005AA0:  3A 20 63 61 6C 6C 20 26 42 43 38 33 3A 20 63 61    : call &BC83: ca
005AB0:  6C 6C 20 26 42 43 37 41 0D 0A 09 6C 64 20 68 6C    ll &BC7A...ld hl
005AC0:  2C 26 33 46 46 42 2B 33 3A 20 6C 64 20 64 65 2C    ,&3FFB+3: ld de,
005AD0:  28 68 65 69 67 68 74 29 0D 0A 09 61 64 64 20 68    (height)...add h
005AE0:  6C 2C 64 65 0D 0A 09 6C 64 20 65 2C 28 68 6C 29    l,de...ld e,(hl)
005AF0:  3A 20 6C 64 20 64 2C 30 3A 20 6C 64 20 62 63 2C    : ld d,0: ld bc,
005B00:  30 0D 0A 09 64 65 63 20 68 6C 3A 20 64 65 63 20    0...dec hl: dec 
005B10:  68 6C 3A 20 64 65 63 20 68 6C 3A 20 72 65 73 20    hl: dec hl: res 
005B20:  36 2C 68 0D 0A 2E 64 69 76 5F 6C 70 09 6F 72 20    6,h...div_lp.or 
005B30:  61 3A 20 73 62 63 20 68 6C 2C 64 65 3A 20 69 6E    a: sbc hl,de: in
005B40:  63 20 62 63 0D 0A 09 6A 72 20 6E 7A 2C 64 69 76    c bc...jr nz,div
005B50:  5F 6C 70 0D 0A 09 6C 64 20 61 2C 65 0D 0A 0D 0A    _lp...ld a,e....
005B60:  09 6C 64 20 64 65 2C 26 43 30 30 30 3A 20 6C 64    .ld de,&C000: ld
005B70:  20 68 6C 2C 26 34 30 30 30 0D 0A 2E 6D 77 6C 6F     hl,&4000...mwlo
005B80:  6F 70 09 70 75 73 68 20 61 66 0D 0A 09 20 70 75    op.push af... pu
005B90:  73 68 20 20 62 63 3A 20 70 75 73 68 20 64 65 3A    sh  bc: push de:
005BA0:  20 6C 64 69 72 0D 0A 09 20 70 6F 70 20 20 20 64     ldir... pop   d
005BB0:  65 3A 20 70 6F 70 20 20 62 63 0D 0A 09 20 65 78    e: pop  bc... ex
005BC0:  20 64 65 2C 68 6C 3A 20 63 61 6C 6C 20 6E 6C 69     de,hl: call nli
005BD0:  6E 65 3A 20 65 78 20 64 65 2C 68 6C 0D 0A 09 70    ne: ex de,hl...p
005BE0:  6F 70 20 61 66 0D 0A 09 64 65 63 20 61 3A 20 6A    op af...dec a: j
005BF0:  72 20 6E 7A 2C 6D 77 6C 6F 6F 70 3A 20 72 65 74    r nz,mwloop: ret
005C00:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 43 6F 6E    ...;*** SUBR.Con
005C10:  76 65 72 74 20 53 70 65 63 74 72 75 6D 2D 73 69    vert Spectrum-si
005C20:  7A 65 64 20 73 63 72 65 65 6E 0D 0A 09 3B 09 09    zed screen...;..
005C30:  66 72 6F 6D 20 26 34 30 30 30 20 74 6F 20 26 43    from &4000 to &C
005C40:  30 30 30 20 28 4D 4F 44 45 20 31 29 0D 0A 0D 0A    000 (MODE 1)....
005C50:  09 6C 64 20 68 6C 2C 26 43 30 30 30 0D 0A 09 6C    .ld hl,&C000...l
005C60:  64 20 64 65 2C 26 34 30 30 30 0D 0A 09 6C 64 20    d de,&4000...ld 
005C70:  62 63 2C 26 34 30 30 30 0D 0A 09 70 75 73 68 20    bc,&4000...push 
005C80:  64 65 3A 20 70 75 73 68 20 68 6C 0D 0A 09 20 6C    de: push hl... l
005C90:  64 69 72 0D 0A 09 20 6C 64 20 61 2C 31 3A 20 63    dir... ld a,1: c
005CA0:  61 6C 6C 20 26 42 43 30 45 0D 0A 09 70 6F 70 20    all &BC0E...pop 
005CB0:  64 65 3A 20 70 6F 70 20 68 6C 0D 0A 0D 0A 2E 6F    de: pop hl.....o
005CC0:  6C 6C 6F 6F 70 09 6C 64 20 61 2C 32 34 0D 0A 0D    lloop.ld a,24...
005CD0:  0A 2E 6C 6E 6C 6F 6F 70 09 6C 64 69 3A 6C 64 69    ..lnloop.ldi:ldi
005CE0:  3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69    :ldi:ldi:ldi:ldi
005CF0:  3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69    :ldi:ldi:ldi:ldi
005D00:  3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69    :ldi:ldi:ldi:ldi
005D10:  3A 6C 64 69 3A 6C 64 69 0D 0A 09 6C 64 69 3A 6C    :ldi:ldi...ldi:l
005D20:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C    di:ldi:ldi:ldi:l
005D30:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C    di:ldi:ldi:ldi:l
005D40:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C    di:ldi:ldi:ldi:l
005D50:  64 69 3A 6C 64 69 3A 6C 64 69 0D 0A 09 6C 64 69    di:ldi:ldi...ldi
005D60:  3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69    :ldi:ldi:ldi:ldi
005D70:  3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69    :ldi:ldi:ldi:ldi
005D80:  3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69    :ldi:ldi:ldi:ldi
005D90:  3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 0D 0A 09 6C    :ldi:ldi:ldi...l
005DA0:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C    di:ldi:ldi:ldi:l
005DB0:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C    di:ldi:ldi:ldi:l
005DC0:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 3A 6C    di:ldi:ldi:ldi:l
005DD0:  64 69 3A 6C 64 69 3A 6C 64 69 3A 6C 64 69 0D 0A    di:ldi:ldi:ldi..
005DE0:  0D 0A 09 6C 64 20 62 63 2C 31 36 0D 0A 09 65 78    ...ld bc,16...ex
005DF0:  20 64 65 2C 68 6C 3A 20 61 64 64 20 68 6C 2C 62     de,hl: add hl,b
005E00:  0D 0A 1A 49 4E 4C 4F 41 44 20 24 24 24 FF 00 FF    ...INLOAD $$$...
005E10:  20 41 64 76 61 6E 63 65 64 20 41 72 74 20 53 74     Advanced Art St
005E20:  75 64 69 6F 20 77 69 6E 64 6F 77 0D 0A 20 20 20    udio window..   
005E30:  20 20 20 20 20 3B 66 69 6C 65 20 6D 75 73 74 20         ;file must 
005E40:  61 6C 72 65 61 64 79 20 62 65 20 6F 70 65 6E 0D    already be open.
005E50:  0A 20 20 20 20 20 20 20 20 3B 6C 6F 61 64 73 20    .        ;loads 
005E60:  66 69 6C 65 20 61 74 20 26 34 30 30 30 0D 0A 0D    file at &4000...
005E70:  0A 2E 77 69 6E 6C 6F 64 20 6C 64 20 61 2C 32 3A    ..winlod ld a,2:
005E80:  6C 64 20 61 2C 32 3A 20 63 61 6C 6C 20 26 42 43    ld a,2: call &BC
005E90:  30 45 0D 0A 09 6C 64 20 68 6C 2C 26 34 30 30 30    0E...ld hl,&4000
005EA0:  3A 20 63 61 6C 6C 20 26 42 43 38 33 3A 20 63 61    : call &BC83: ca
005EB0:  6C 6C 20 26 42 43 37 41 0D 0A 09 6C 64 20 68 6C    ll &BC7A...ld hl
005EC0:  2C 26 33 46 46 42 2B 33 3A 20 6C 64 20 64 65 2C    ,&3FFB+3: ld de,
005ED0:  28 68 65 69 67 68 74 29 0D 0A 09 61 64 64 20 68    (height)...add h
005EE0:  6C 2C 64 65 0D 0A 09 6C 64 20 65 2C 28 68 6C 29    l,de...ld e,(hl)
005EF0:  3A 20 6C 64 20 64 2C 30 3A 20 6C 64 20 62 63 2C    : ld d,0: ld bc,
005F00:  30 0D 0A 09 64 65 63 20 68 6C 3A 20 64 65 63 20    0...dec hl: dec 
005F10:  68 6C 3A 20 64 65 63 20 68 6C 3A 20 72 65 73 20    hl: dec hl: res 
005F20:  36 2C 68 0D 0A 2E 64 69 76 5F 6C 70 09 6F 72 20    6,h...div_lp.or 
005F30:  61 3A 20 73 62 63 20 68 6C 2C 64 65 3A 20 69 6E    a: sbc hl,de: in
005F40:  63 20 62 63 0D 0A 09 6A 72 20 6E 7A 2C 64 69 76    c bc...jr nz,div
005F50:  5F 6C 70 0D 0A 09 6C 64 20 61 2C 65 0D 0A 0D 0A    _lp...ld a,e....
005F60:  09 6C 64 20 64 65 2C 26 43 30 30 30 3A 20 6C 64    .ld de,&C000: ld
005F70:  20 68 6C 2C 26 34 30 30 30 0D 0A 2E 6D 77 6C 6F     hl,&4000...mwlo
005F80:  6F 70 09 70 75 73 68 20 61 66 0D 0A 09 20 70 75    op.push af... pu
005F90:  73 68 20 20 62 63 3A 20 70 75 73 68 20 64 65 3A    sh  bc: push de:
005FA0:  20 6C 64 69 72 0D 0A 09 20 70 6F 70 20 20 20 64     ldir... pop   d
005FB0:  65 3A 20 70 6F 70 20 20 62 63 0D 0A 09 20 65 78    e: pop  bc... ex
005FC0:  20 64 65 2C 68 6C 3A 20 63 61 6C 6C 20 6E 6C 69     de,hl: call nli
005FD0:  6E 65 3A 20 65 78 20 64 65 2C 68 6C 0D 0A 09 70    ne: ex de,hl...p
005FE0:  6F 70 20 61 66 0D 0A 09 64 65 63 20 61 3A 20 6A    op af...dec a: j
005FF0:  72 20 6E 7A 2C 6D 77 6C 6F 6F 70 3A 20 72 65 74    r nz,mwloop: ret
006000:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
006010:  05 00 01 00 02 09 4E E5 05 00 C7 02 00 00 00 02    ......N.........
006020:  05 00 C3 02 00 00 00 02 05 00 C8 02 00 00 00 02    ................
006030:  05 00 C4 02 00 00 00 02 05 00 C9 02 00 00 00 02    ................
006040:  05 00 C5 02 00 00 00 02 05 00 C1 02 00 00 00 02    ................
006050:  05 00 C6 02 00 00 00 02 05 00 C2 02 00 00 00 02    ................
006060:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
006070:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
006080:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
006090:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0060A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0060B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0060C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0060D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0060E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0060F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
006100:  65 74 20 36 2C 63 09 09 3B 42 43 31 20 73 65 74    et 6,c..;BC1 set
006110:  20 28 72 65 61 64 20 72 65 67 69 73 74 65 72 29     (read register)
006120:  0D 0A 0D 0A 2E 6B 6C 6F 6F 70 09 20 6C 64 20 62    .....kloop. ld b
006130:  2C 26 46 36 20 20 3A 20 6F 75 74 20 28 63 29 2C    ,&F6  : out (c),
006140:  63 09 3B 53 65 6E 64 20 22 72 65 61 64 20 72 65    c.;Send "read re
006150:  67 69 73 74 65 72 20 63 6F 6E 74 65 6E 74 73 22    gister contents"
006160:  20 73 69 67 6E 61 6C 20 74 6F 20 70 6F 72 74 20     signal to port 
006170:  43 0D 0A 09 20 6C 64 20 62 2C 26 46 34 20 20 3A    C... ld b,&F4  :
006180:  20 69 6E 20 61 2C 28 63 29 09 3B 47 65 74 20 74     in a,(c).;Get t
006190:  68 65 20 63 6F 6E 74 65 6E 74 73 20 6F 66 66 20    he contents off 
0061A0:  70 6F 72 74 20 41 0D 0A 09 20 6C 64 20 28 68 6C    port A... ld (hl
0061B0:  29 2C 61 09 09 3B 50 75 74 20 69 6E 20 62 75 66    ),a..;Put in buf
0061C0:  66 65 72 0D 0A 09 20 69 6E 63 20 68 6C 20 20 20    fer... inc hl   
0061D0:  20 3A 20 69 6E 63 20 63 09 3B 47 6F 20 74 6F 20     : inc c.;Go to 
0061E0:  6E 65 78 74 20 6B 65 79 20 62 6C 6F 63 6B 0D 0A    next key block..
0061F0:  09 20 6C 64 20 61 2C 63 20 20 20 20 3A 20 61 6E    . ld a,c    : an
006200:  64 20 31 35 0D 0A 09 20 63 70 20 31 30 20 20 20    d 15... cp 10   
006210:  20 20 3A 20 6A 72 20 6E 7A 2C 6B 6C 6F 6F 70 3B      : jr nz,kloop;
006220:  4C 61 73 74 20 6B 65 79 20 62 6C 6F 63 6B 20 62    Last key block b
006230:  65 65 6E 20 72 65 61 63 68 65 64 20 79 65 74 3F    een reached yet?
006240:  0D 0A 09 70 6F 70 20 62 63 09 09 09 3B 47 65 74    ...pop bc...;Get
006250:  20 6F 6C 64 20 73 74 61 74 75 73 20 6F 66 20 70     old status of p
006260:  6F 72 74 20 43 0D 0A 09 6C 64 20 61 2C 26 38 32    ort C...ld a,&82
006270:  20 20 20 3A 20 6F 75 74 20 28 63 29 2C 61 09 3B       : out (c),a.;
006280:  52 65 73 74 6F 72 65 20 63 6F 6E 74 72 6F 6C 20    Restore control 
006290:  70 6F 72 74 0D 0A 09 64 65 63 20 62 20 20 20 20    port...dec b    
0062A0:  20 20 3A 20 6F 75 74 20 28 63 29 2C 63 09 3B 52      : out (c),c.;R
0062B0:  65 73 74 6F 72 65 20 70 6F 72 74 20 43 0D 0A 0D    estore port C...
0062C0:  0A 09 6C 64 20 61 2C 28 6B 65 79 62 75 66 2B 35    ..ld a,(keybuf+5
0062D0:  29 09 09 3B 47 65 74 20 6B 65 79 20 64 61 74 61    )..;Get key data
0062E0:  20 66 72 6F 6D 20 62 6C 6F 63 6B 20 35 20 6F 66     from block 5 of
0062F0:  20 6B 65 79 62 6F 61 72 64 20 62 75 66 66 65 72     keyboard buffer
006300:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006310:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006320:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006330:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006340:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006350:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006360:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006370:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006380:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006390:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0063A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0063B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0063C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0063D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0063E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0063F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006400:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006410:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006420:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006430:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006440:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006450:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006460:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006470:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006480:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006490:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0064A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0064B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0064C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0064D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0064E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0064F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006500:  0D 0A 09 63 70 20 26 37 46 09 09 09 3B 53 65 74    ...cp &7F...;Set
006510:  20 7A 65 72 6F 20 69 66 20 73 70 61 63 65 20 6B     zero if space k
006520:  65 79 0D 0A 09 72 65 74 0D 0A 0D 0A 2E 6B 65 79    ey...ret.....key
006530:  62 75 66 09 64 73 20 31 30 0D 0A 1A 6B 65 79 73    buf.ds 10...keys
006540:  63 20 20 6C 64 20 68 6C 2C 6B 65 79 62 75 66 66    c  ld hl,keybuff
006550:  20 20 20 20 20 20 20 20 20 20 20 3B 61 64 64 72               ;addr
006560:  65 73 73 20 6F 66 20 62 75 66 66 65 72 20 66 6F    ess of buffer fo
006570:  72 20 6B 65 79 62 6F 61 72 64 20 62 6C 6F 63 6B    r keyboard block
006580:  20 69 6E 20 61 2C 28 63 29 09 3B 47 65 74 20 74     in a,(c).;Get t
006590:  68 65 20 63 6F 6E 74 65 6E 74 73 20 6F 66 66 20    he contents off 
0065A0:  70 6F 72 74 20 41 0D 0A 09 20 6C 64 20 28 68 6C    port A... ld (hl
0065B0:  29 2C 61 09 09 3B 50 75 74 20 69 6E 20 62 75 66    ),a..;Put in buf
0065C0:  66 65 72 0D 0A 09 20 69 6E 63 20 68 6C 20 20 20    fer... inc hl   
0065D0:  20 3A 20 69 6E 63 20 63 09 3B 47 6F 20 74 6F 20     : inc c.;Go to 
0065E0:  6E 65 78 74 20 6B 65 79 20 62 6C 6F 63 6B 0D 0A    next key block..
0065F0:  09 20 6C 64 20 61 2C 63 20 20 20 20 3A 20 61 6E    . ld a,c    : an
006600:  64 20 31 35 0D 0A 09 20 63 70 20 31 30 20 20 20    d 15... cp 10   
006610:  20 20 3A 20 6A 72 20 6E 7A 2C 6B 6C 6F 6F 70 3B      : jr nz,kloop;
006620:  4C 61 73 74 20 6B 65 79 20 62 6C 6F 63 6B 20 62    Last key block b
006630:  65 65 6E 20 72 65 61 63 68 65 64 20 79 65 74 3F    een reached yet?
006640:  0D 0A 09 70 6F 70 20 62 63 09 09 09 3B 47 65 74    ...pop bc...;Get
006650:  20 6F 6C 64 20 73 74 61 74 75 73 20 6F 66 20 70     old status of p
006660:  6F 72 74 20 43 0D 0A 09 6C 64 20 61 2C 26 38 32    ort C...ld a,&82
006670:  20 20 20 3A 20 6F 75 74 20 28 63 29 2C 61 09 3B       : out (c),a.;
006680:  52 65 73 74 6F 72 65 20 63 6F 6E 74 72 6F 6C 20    Restore control 
006690:  70 6F 72 74 0D 0A 09 64 65 63 20 62 20 20 20 20    port...dec b    
0066A0:  20 20 3A 20 6F 75 74 20 28 63 29 2C 63 09 3B 52      : out (c),c.;R
0066B0:  65 73 74 6F 72 65 20 70 6F 72 74 20 43 0D 0A 0D    estore port C...
0066C0:  0A 09 6C 64 20 61 2C 28 6B 65 79 62 75 66 2B 35    ..ld a,(keybuf+5
0066D0:  29 09 09 3B 47 65 74 20 6B 65 79 20 64 61 74 61    )..;Get key data
0066E0:  20 66 72 6F 6D 20 62 6C 6F 63 6B 20 35 20 6F 66     from block 5 of
0066F0:  20 6B 65 79 62 6F 61 72 64 20 62 75 66 66 65 72     keyboard buffer
006700:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 46 61 64    ...;*** SUBR.Fad
006710:  65 20 73 63 72 65 65 6E 0D 0A 0D 0A 2E 66 61 64    e screen.....fad
006720:  65 09 6C 64 20 68 6C 2C 26 43 30 30 30 0D 0A 2E    e.ld hl,&C000...
006730:  66 61 64 65 6F 6C 09 6C 64 20 62 63 2C 32 33 34    fadeol.ld bc,234
006740:  30 3A 20 6C 64 20 64 65 2C 37 0D 0A 09 70 75 73    0: ld de,7...pus
006750:  68 20 68 6C 0D 0A 2E 66 61 64 65 6C 70 09 20 6C    h hl...fadelp. l
006760:  64 20 28 68 6C 29 2C 30 3A 20 61 64 64 20 68 6C    d (hl),0: add hl
006770:  2C 64 65 0D 0A 09 20 64 65 63 20 62 63 3A 20 6C    ,de... dec bc: l
006780:  64 20 61 2C 62 3A 20 6F 72 20 63 0D 0A 09 20 6A    d a,b: or c... j
006790:  72 20 6E 7A 2C 66 61 64 65 6C 70 0D 0A 09 70 6F    r nz,fadelp...po
0067A0:  70 20 68 6C 0D 0A 09 69 6E 63 20 68 6C 3A 20 6C    p hl...inc hl: l
0067B0:  64 20 61 2C 6C 0D 0A 09 63 70 20 37 3A 20 6A 72    d a,l...cp 7: jr
0067C0:  20 6E 7A 2C 66 61 64 65 6F 6C 0D 0A 09 72 65 74     nz,fadeol...ret
0067D0:  0D 0A 1A 20 20 70 75 73 68 20 68 6C 0D 0A 2E 66    ...  push hl...f
0067E0:  61 64 65 6C 70 20 20 6C 64 20 28 68 6C 29 2C 30    adelp  ld (hl),0
0067F0:  3A 20 61 64 64 20 68 6C 2C 64 65 0D 0A 20 20 20    : add hl,de..   
006800:  0D 0A 09 72 65 74 0D 0A 1A 20 24 24 24 FF 00 FF    ...ret... $$$...
006810:  20 6C 6F 77 20 73 63 72 65 65 6E 20 74 6F 20 68     low screen to h
006820:  69 67 68 20 73 63 72 65 65 6E 0D 0A 0D 0A 2E 66    igh screen.....f
006830:  64 65 6C 32 68 20 6C 64 20 68 6C 2C 26 43 30 30    del2h ld hl,&C00
006840:  30 0D 0A 2E 66 64 65 32 6F 6C 20 6C 64 20 62 63    0...fde2ol ld bc
006850:  2C 32 33 34 30 3A 20 6C 64 20 64 65 2C 37 0D 0A    ,2340: ld de,7..
006860:  20 20 20 20 20 20 20 20 70 75 73 68 20 68 6C 0D            push hl.
006870:  0A 2E 66 64 65 32 6C 70 20 20 72 65 73 20 37 2C    ..fde2lp  res 7,
006880:  6F 70 09 70 75 73 68 20 61 66 0D 0A 09 20 70 75    op.push af... pu
006890:  73 68 20 20 62 63 3A 20 70 75 73 68 20 64 65 3A    sh  bc: push de:
0068A0:  20 6C 64 69 72 0D 0A 09 20 70 6F 70 20 20 20 64     ldir... pop   d
0068B0:  65 3A 20 70 6F 70 20 20 62 63 0D 0A 09 20 65 78    e: pop  bc... ex
0068C0:  20 64 65 2C 68 6C 3A 20 63 61 6C 6C 20 6E 6C 69     de,hl: call nli
0068D0:  6E 65 3A 20 65 78 20 64 65 2C 68 6C 0D 0A 09 70    ne: ex de,hl...p
0068E0:  6F 70 20 61 66 0D 0A 09 64 65 63 20 61 3A 20 6A    op af...dec a: j
0068F0:  72 20 6E 7A 2C 6D 77 6C 6F 6F 70 3A 20 72 65 74    r nz,mwloop: ret
006900:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006910:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006920:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006930:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006940:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006950:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006960:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006970:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006980:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006990:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0069A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0069B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0069C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0069D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0069E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0069F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006A00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006A10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006A20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006A30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006A40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006A50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006A60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006A70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006A80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006A90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006AA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006AB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006AC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006AD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006AE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006AF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006B00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006B10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006B20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006B30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006B40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006B50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006B60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006B70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006B80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006B90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006BA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006BB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006BC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006BD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006BE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006BF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006C00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006C10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006C20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006C30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006C40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006C50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006C60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006C70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006C80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006C90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006CA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006CB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006CC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006CD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006CE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006CF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006D00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006D10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006D20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006D30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006D40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006D50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006D60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006D70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006D80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006D90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006DA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006DB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006DC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006DD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006DE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006DF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006E00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006E10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006E20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006E30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006E40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006E50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006E60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006E70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006E80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006E90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006EA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006EB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006EC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006ED0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006EE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006EF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
006F00:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 48 61 72    ...;*** SUBR.Har
006F10:  64 77 61 72 65 20 6B 65 79 73 63 61 6E 0D 0A 0D    dware keyscan...
006F20:  0A 2E 6B 65 79 73 63 09 6C 64 20 68 6C 2C 6B 65    ..keysc.ld hl,ke
006F30:  79 62 75 66 09 09 3B 41 64 64 72 65 73 73 20 6F    ybuf..;Address o
006F40:  66 20 62 75 66 66 65 72 20 66 6F 72 20 6B 65 79    f buffer for key
006F50:  62 6F 61 72 64 20 62 6C 6F 63 6B 20 64 61 74 61    board block data
006F60:  0D 0A 09 6C 64 20 62 63 2C 26 46 34 30 45 3A 20    ...ld bc,&F40E: 
006F70:  6F 75 74 20 28 63 29 2C 63 09 3B 50 75 74 20 31    out (c),c.;Put 1
006F80:  34 20 6F 6E 20 50 50 49 20 70 6F 72 74 20 41 0D    4 on PPI port A.
006F90:  0A 09 6C 64 20 62 2C 26 46 36 20 20 20 3A 20 69    ..ld b,&F6   : i
006FA0:  6E 20 20 61 2C 28 63 29 09 3B 47 65 74 20 63 75    n  a,(c).;Get cu
006FB0:  72 72 65 6E 74 20 73 74 61 74 75 73 20 6F 66 20    rrent status of 
006FC0:  70 6F 72 74 20 43 0D 0A 09 61 6E 64 20 26 33 30    port C...and &30
006FD0:  09 09 09 3B 50 72 65 73 65 72 76 65 20 73 74 61    ...;Preserve sta
006FE0:  74 75 73 20 6F 66 20 63 61 73 73 65 74 74 65 0D    tus of cassette.
006FF0:  0A 09 6C 64 20 63 2C 61 09 09 09 3B 20 7C 20 61    ..ld c,a...; | a
007000:  6E 64 20 70 6C 61 63 65 20 76 61 6C 75 65 20 69    nd place value i
007010:  6E 20 43 20 72 65 67 69 73 74 65 72 0D 0A 09 6F    n C register...o
007020:  72 20 26 43 30 20 20 20 20 20 3A 20 6F 75 74 20    r &C0     : out 
007030:  28 63 29 2C 61 09 3B 57 72 69 74 65 20 72 65 67    (c),a.;Write reg
007040:  69 73 74 65 72 0D 0A 09 09 20 20 20 20 20 6F 75    ister....     ou
007050:  74 20 28 63 29 2C 63 09 3B 20 7C 20 61 6E 64 20    t (c),c.; | and 
007060:  71 75 69 63 6B 6C 79 20 72 65 73 74 6F 72 65 20    quickly restore 
007070:  6F 6C 64 20 73 74 61 74 75 73 20 28 4E 42 20 31    old status (NB 1
007080:  30 6E 73 29 0D 0A 09 69 6E 63 20 62 0D 0A 09 6C    0ns)...inc b...l
007090:  64 20 61 2C 26 39 32 20 20 20 3A 20 6F 75 74 20    d a,&92   : out 
0070A0:  28 63 29 2C 61 09 3B 43 6F 6E 74 72 6F 6C 20 77    (c),a.;Control w
0070B0:  6F 72 64 20 2D 20 70 6F 72 74 20 41 20 69 6E 70    ord - port A inp
0070C0:  75 74 2C 20 70 6F 72 74 20 42 20 69 6E 70 75 74    ut, port B input
0070D0:  0D 0A 09 70 75 73 68 20 62 63 09 09 09 3B 50 72    ...push bc...;Pr
0070E0:  65 73 65 72 76 65 20 6F 6C 64 20 73 74 61 74 75    eserve old statu
0070F0:  73 20 6F 66 20 70 6F 72 74 20 43 0D 0A 09 20 73    s of port C... s
007100:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 46 61 64    ...;*** SUBR.Fad
007110:  65 20 6C 6F 77 20 73 63 72 65 65 6E 20 74 6F 20    e low screen to 
007120:  68 69 67 68 20 73 63 72 65 65 6E 0D 0A 0D 0A 2E    high screen.....
007130:  66 64 65 6C 32 68 09 6C 64 20 68 6C 2C 26 43 30    fdel2h.ld hl,&C0
007140:  30 30 0D 0A 2E 66 64 65 32 6F 6C 09 6C 64 20 62    00...fde2ol.ld b
007150:  63 2C 32 33 34 30 3A 20 6C 64 20 64 65 2C 37 0D    c,2340: ld de,7.
007160:  0A 09 70 75 73 68 20 68 6C 0D 0A 2E 66 64 65 32    ..push hl...fde2
007170:  6C 70 09 20 72 65 73 20 37 2C 68 3A 20 6C 64 20    lp. res 7,h: ld 
007180:  61 2C 28 68 6C 29 0D 0A 09 20 73 65 74 20 37 2C    a,(hl)... set 7,
007190:  68 3A 20 6C 64 20 28 68 6C 29 2C 61 0D 0A 09 20    h: ld (hl),a... 
0071A0:  61 64 64 20 68 6C 2C 64 65 3A 20 64 65 63 20 62    add hl,de: dec b
0071B0:  63 0D 0A 09 20 6C 64 20 61 2C 62 3A 20 6F 72 20    c... ld a,b: or 
0071C0:  63 0D 0A 09 20 6A 72 20 6E 7A 2C 66 64 65 32 6C    c... jr nz,fde2l
0071D0:  70 0D 0A 09 70 6F 70 20 68 6C 0D 0A 09 69 6E 63    p...pop hl...inc
0071E0:  20 68 6C 3A 20 6C 64 20 61 2C 6C 0D 0A 09 63 70     hl: ld a,l...cp
0071F0:  20 37 3A 20 6A 72 20 6E 7A 2C 66 64 65 32 6F 6C     7: jr nz,fde2ol
007200:  0D 0A 09 72 65 74 0D 0A 1A 20 24 24 24 FF 00 FF    ...ret... $$$...
007210:  20 6C 6F 77 20 73 63 72 65 65 6E 20 74 6F 20 68     low screen to h
007220:  69 67 68 20 73 63 72 65 65 6E 0D 0A 0D 0A 2E 66    igh screen.....f
007230:  64 65 6C 32 68 20 6C 64 20 68 6C 2C 26 43 30 30    del2h ld hl,&C00
007240:  30 0D 0A 2E 66 64 65 32 6F 6C 20 6C 64 20 62 63    0...fde2ol ld bc
007250:  2C 32 33 34 30 3A 20 6C 64 20 64 65 2C 37 0D 0A    ,2340: ld de,7..
007260:  20 20 20 20 20 20 20 20 70 75 73 68 20 68 6C 0D            push hl.
007270:  0A 2E 66 64 65 32 6C 70 20 20 72 65 73 20 37 2C    ..fde2lp  res 7,
007280:  6F 70 09 70 75 73 68 20 61 66 0D 0A 09 20 70 75    op.push af... pu
007290:  73 68 20 20 62 63 3A 20 70 75 73 68 20 64 65 3A    sh  bc: push de:
0072A0:  20 6C 64 69 72 0D 0A 09 20 70 6F 70 20 20 20 64     ldir... pop   d
0072B0:  65 3A 20 70 6F 70 20 20 62 63 0D 0A 09 20 65 78    e: pop  bc... ex
0072C0:  20 64 65 2C 68 6C 3A 20 63 61 6C 6C 20 6E 6C 69     de,hl: call nli
0072D0:  6E 65 3A 20 65 78 20 64 65 2C 68 6C 0D 0A 09 70    ne: ex de,hl...p
0072E0:  6F 70 20 61 66 0D 0A 09 64 65 63 20 61 3A 20 6A    op af...dec a: j
0072F0:  72 20 6E 7A 2C 6D 77 6C 6F 6F 70 3A 20 72 65 74    r nz,mwloop: ret
007300:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
007310:  06 00 01 00 02 09 4E E5 06 00 C1 02 00 00 00 02    ......N.........
007320:  06 00 C6 02 00 00 00 02 06 00 C2 02 00 00 00 02    ................
007330:  06 00 C7 02 00 00 00 02 06 00 C3 02 00 00 00 02    ................
007340:  06 00 C8 02 00 00 00 02 06 00 C4 02 00 00 00 02    ................
007350:  06 00 C9 02 00 00 00 02 06 00 C5 02 00 00 00 02    ................
007360:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
007370:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
007380:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
007390:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0073A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0073B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0073C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0073D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0073E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0073F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
007400:  53 75 62 72 6F 75 74 69 6E 65 73 0D 0A 7E 7E 7E    Subroutines..~~~
007410:  7E 7E 7E 7E 7E 7E 7E 7E 0D 0A 54 68 69 73 20 73    ~~~~~~~~..This s
007420:  69 64 65 20 63 6F 6E 74 61 69 6E 73 20 61 20 73    ide contains a s
007430:  65 6C 65 63 74 69 6F 6E 20 6F 66 20 73 75 62 72    election of subr
007440:  6F 75 74 69 6E 65 73 20 49 20 66 72 65 71 75 65    outines I freque
007450:  6E 74 6C 79 20 63 61 6C 6C 20 75 70 6F 6E 20 0D    ntly call upon .
007460:  8A 66 6F 72 20 6D 61 63 68 69 6E 65 20 63 6F 64    .for machine cod
007470:  65 20 70 72 6F 67 72 61 6D 73 2E 20 4D 61 6E 79    e programs. Many
007480:  20 6F 66 20 74 68 65 6D 20 61 72 65 20 66 61 72     of them are far
007490:  20 66 72 6F 6D 20 74 68 65 20 71 75 69 63 6B 65     from the quicke
0074A0:  73 74 20 0D 8A 72 6F 75 74 69 6E 65 73 20 70 6F    st ..routines po
0074B0:  73 73 69 62 6C 65 20 66 6F 72 20 73 75 63 68 20    ssible for such 
0074C0:  74 61 73 6B 73 3A 20 74 68 65 20 64 69 76 69 73    tasks: the divis
0074D0:  69 6F 6E 20 61 6E 64 20 6D 75 6C 74 69 70 6C 69    ion and multipli
0074E0:  63 61 74 69 6F 6E 20 0D 8A 73 75 62 72 6F 75 74    cation ..subrout
0074F0:  69 6E 65 73 20 61 72 65 20 70 61 72 74 69 63 75    ines are particu
007500:  6C 61 72 6C 79 20 68 65 61 76 79 2D 68 61 6E 64    larly heavy-hand
007510:  65 64 2C 20 66 6F 72 20 65 78 61 6D 70 6C 65 2C    ed, for example,
007520:  20 77 68 69 6C 65 20 65 76 65 6E 20 74 68 65 20     while even the 
007530:  0D 8A 6E 65 78 74 20 73 63 72 65 65 6E 20 6C 69    ..next screen li
007540:  6E 65 20 72 6F 75 74 69 6E 65 20 69 73 20 71 75    ne routine is qu
007550:  69 74 65 20 73 6C 6F 77 2E 0D 0A 0D 0A 48 6F 77    ite slow.....How
007560:  65 76 65 72 2C 20 74 68 65 79 20 66 6F 72 6D 20    ever, they form 
007570:  61 20 74 69 6D 65 2D 73 61 76 69 6E 67 20 70 72    a time-saving pr
007580:  6F 67 72 61 6D 6D 69 6E 67 20 72 65 73 6F 75 72    ogramming resour
007590:  63 65 2C 20 61 6E 64 20 49 20 68 6F 70 65 20 79    ce, and I hope y
0075A0:  6F 75 20 0D 8A 77 69 6C 6C 20 66 69 6E 64 20 74    ou ..will find t
0075B0:  68 65 6D 20 61 73 20 75 73 65 66 75 6C 20 61 73    hem as useful as
0075C0:  20 49 20 68 61 76 65 2E 20 59 6F 75 20 61 72 65     I have. You are
0075D0:  20 77 65 6C 63 6F 6D 65 20 74 6F 20 75 73 65 20     welcome to use 
0075E0:  74 68 65 6D 20 69 6E 20 0D 8A 79 6F 75 72 20 6F    them in ..your o
0075F0:  77 6E 20 70 72 6F 67 72 61 6D 73 3A 20 61 6E 20    wn programs: an 
007600:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007610:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007620:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007630:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007640:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007650:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007660:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007670:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007680:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007690:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0076A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0076B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0076C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0076D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0076E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0076F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007700:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007710:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007720:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007730:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007740:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007750:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007760:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007770:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007780:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007790:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0077A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0077B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0077C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0077D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0077E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0077F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
007800:  61 63 6B 6E 6F 77 6C 65 64 67 65 6D 65 6E 74 20    acknowledgement 
007810:  74 68 61 74 20 6D 79 20 63 6F 64 65 20 68 61 73    that my code has
007820:  20 62 65 65 6E 20 75 73 65 64 20 77 6F 75 6C 64     been used would
007830:  20 0D 8A 62 65 20 77 65 6C 63 6F 6D 65 2E 0D 0A     ..be welcome...
007840:  0D 0A 52 69 63 68 61 72 64 20 46 61 69 72 68 75    ..Richard Fairhu
007850:  72 73 74 2C 20 4F 63 74 6F 62 65 72 20 31 39 39    rst, October 199
007860:  37 0D 0A 0D 0A 0D 0A 46 69 6C 65 6E 61 6D 65 09    7......Filename.
007870:  50 75 72 70 6F 73 65 0D 0A 0D 0A 42 41 4E 4B 53    Purpose....BANKS
007880:  20 20 20 2E 09 52 65 61 64 2F 77 72 69 74 65 20       ..Read/write 
007890:  62 79 74 65 20 74 6F 20 65 78 74 72 61 20 6D 65    byte to extra me
0078A0:  6D 6F 72 79 0D 0A 43 52 43 20 20 20 20 20 2E 09    mory..CRC     ..
0078B0:  43 52 43 20 63 61 6C 63 75 6C 61 74 69 6F 6E 20    CRC calculation 
0078C0:  72 6F 75 74 69 6E 65 0D 0A 43 52 54 43 20 20 20    routine..CRTC   
0078D0:  20 2E 09 53 65 74 20 43 52 54 43 20 72 65 67 69     ..Set CRTC regi
0078E0:  73 74 65 72 0D 0A 44 49 56 49 44 45 20 20 2E 09    ster..DIVIDE  ..
0078F0:  44 69 76 69 64 65 20 48 4C 20 62 79 20 42 43 2C    Divide HL by BC,
007900:  20 72 65 74 75 72 6E 69 6E 67 20 72 6F 75 6E 64     returning round
007910:  65 64 20 72 65 73 75 6C 74 20 69 6E 20 44 45 0D    ed result in DE.
007920:  0A 46 41 44 45 4C 32 48 20 2E 09 46 61 64 65 20    .FADEL2H ..Fade 
007930:  6C 6F 77 20 73 63 72 65 65 6E 20 74 6F 20 68 69    low screen to hi
007940:  67 68 20 73 63 72 65 65 6E 0D 0A 46 41 44 45 53    gh screen..FADES
007950:  43 52 20 2E 09 46 61 64 65 20 68 69 67 68 20 73    CR ..Fade high s
007960:  63 72 65 65 6E 20 74 6F 20 62 61 63 6B 67 72 6F    creen to backgro
007970:  75 6E 64 0D 0A 48 45 58 49 4E 50 31 20 2E 09 49    und..HEXINP1 ..I
007980:  6E 70 75 74 20 31 20 68 65 78 20 62 79 74 65 0D    nput 1 hex byte.
007990:  0A 48 45 58 49 4E 50 32 20 2E 09 49 6E 70 75 74    .HEXINP2 ..Input
0079A0:  20 32 20 68 65 78 20 62 79 74 65 73 0D 0A 49 4E     2 hex bytes..IN
0079B0:  50 55 54 46 20 20 2E 09 49 6E 70 75 74 20 66 69    PUTF  ..Input fi
0079C0:  6C 65 6E 61 6D 65 0D 0A 4B 45 59 53 43 41 4E 20    lename..KEYSCAN 
0079D0:  2E 09 53 63 61 6E 20 61 6C 6C 20 6B 65 79 73 20    ..Scan all keys 
0079E0:  6F 6E 20 6B 65 79 62 6F 61 72 64 0D 0A 4D 4F 44    on keyboard..MOD
0079F0:  45 31 54 4F 32 2E 09 43 6F 6E 76 65 72 74 20 4D    E1TO2..Convert M
007A00:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 52 65 61    ...;*** SUBR.Rea
007A10:  64 20 50 53 47 20 72 65 67 69 73 74 65 72 20 43    d PSG register C
007A20:  20 69 6E 74 6F 20 44 0D 0A 09 3B 09 09 63 6F 72     into D...;..cor
007A30:  72 75 70 74 73 20 41 46 2C 20 42 43 0D 0A 0D 0A    rupts AF, BC....
007A40:  2E 72 72 65 67 09 64 69 0D 0A 09 6C 64 20 62 2C    .rreg.di...ld b,
007A50:  26 46 34 3A 20 6F 75 74 20 28 63 29 2C 63 09 3B    &F4: out (c),c.;
007A60:  50 75 74 20 72 65 67 69 73 74 65 72 20 6F 6E 20    Put register on 
007A70:  70 6F 72 74 20 41 0D 0A 09 6C 64 20 62 2C 26 46    port A...ld b,&F
007A80:  36 3A 20 69 6E 20 61 2C 28 63 29 09 3B 47 65 74    6: in a,(c).;Get
007A90:  20 70 6F 72 74 20 43 20 73 74 61 74 75 73 0D 0A     port C status..
007AA0:  09 61 6E 64 20 26 33 30 3A 20 20 6C 64 20 63 2C    .and &30:  ld c,
007AB0:  61 0D 0A 09 6F 72 20 26 43 30 3A 20 20 20 6F 75    a...or &C0:   ou
007AC0:  74 20 28 63 29 2C 61 09 3B 22 57 72 69 74 65 20    t (c),a.;"Write 
007AD0:  72 65 67 69 73 74 65 72 22 20 74 6F 20 70 6F 72    register" to por
007AE0:  74 20 43 0D 0A 09 09 20 20 6F 75 74 20 28 63 29    t C....  out (c)
007AF0:  2C 63 09 3B 52 65 73 74 6F 72 65 20 6F 6C 64 20    ,c.;Restore old 
007B00:  73 74 61 74 75 73 20 77 69 74 68 69 6E 20 31 30    status within 10
007B10:  6E 73 0D 0A 09 69 6E 63 20 62 0D 0A 09 6C 64 20    ns...inc b...ld 
007B20:  61 2C 26 39 32 3A 20 6F 75 74 20 28 63 29 2C 61    a,&92: out (c),a
007B30:  09 3B 53 65 74 20 63 6F 6E 74 72 6F 6C 20 74 6F    .;Set control to
007B40:  20 70 6F 72 74 20 41 20 69 6E 70 75 74 2C 20 70     port A input, p
007B50:  6F 72 74 20 42 20 69 6E 70 75 74 0D 0A 09 70 75    ort B input...pu
007B60:  73 68 20 62 63 20 3A 20 73 65 74 20 36 2C 63 0D    sh bc : set 6,c.
007B70:  0A 09 20 6C 64 20 62 2C 26 46 36 3A 20 6F 75 74    .. ld b,&F6: out
007B80:  20 28 63 29 2C 63 09 3B 53 65 74 20 42 43 31 2F     (c),c.;Set BC1/
007B90:  42 44 49 52 20 74 6F 20 22 72 65 61 64 20 72 65    BDIR to "read re
007BA0:  67 69 73 74 65 72 20 63 6F 6E 74 65 6E 74 73 22    gister contents"
007BB0:  0D 0A 09 20 6C 64 20 62 2C 26 46 34 3A 20 69 6E    ... ld b,&F4: in
007BC0:  20 64 2C 28 63 29 09 3B 47 65 74 20 63 6F 6E 74     d,(c).;Get cont
007BD0:  65 6E 74 73 0D 0A 09 70 6F 70 20 62 63 0D 0A 09    ents...pop bc...
007BE0:  6C 64 20 61 2C 26 38 32 3A 20 6F 75 74 20 28 63    ld a,&82: out (c
007BF0:  29 2C 61 09 3B 52 65 73 74 6F 72 65 20 63 6F 6E    ),a.;Restore con
007C00:  0D 0A 0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 4E    .....;*** SUBR.N
007C10:  65 78 74 20 6C 69 6E 65 20 64 6F 77 6E 20 66 72    ext line down fr
007C20:  6F 6D 20 48 4C 0D 0A 0D 0A 2E 6E 6C 69 6E 65 09    om HL.....nline.
007C30:  6C 64 20 61 2C 38 3A 20 61 64 64 20 68 3A 20 6C    ld a,8: add h: l
007C40:  64 20 68 2C 61 0D 0A 09 61 6E 64 20 36 34 3A 20    d h,a...and 64: 
007C50:  72 65 74 20 6E 7A 0D 0A 09 6C 64 20 62 63 2C 31    ret nz...ld bc,1
007C60:  36 33 30 34 3A 20 73 62 63 20 68 6C 2C 62 63 0D    6304: sbc hl,bc.
007C70:  0A 09 72 65 74 0D 0A 0D 0A 1A 20 68 6C 2C 62 63    ..ret..... hl,bc
007C80:  65 2C 31 36 33 30 34 3A 20 6F 72 20 61 3A 20 73    e,16304: or a: s
007C90:  62 63 20 68 6C 2C 64 65 0D 0A 20 20 20 20 20 20    bc hl,de..      
007CA0:  20 20 70 6F 70 20 64 65 3A 20 72 65 74 0D 0A 0D      pop de: ret...
007CB0:  1A 65 20 63 6F 64 65 20 73 6F 75 72 63 65 20 28    .e code source (
007CC0:  63 29 20 52 69 63 68 61 72 64 20 46 61 69 72 68    c) Richard Fairh
007CD0:  75 72 73 74 20 31 39 39 33 0D 0A 0D 0A 09 6F 72    urst 1993.....or
007CE0:  67 20 26 39 30 30 30 0D 0A 09 77 72 69 74 65 20    g &9000...write 
007CF0:  22 67 72 61 70 68 69 63 73 2E 62 69 6E 22 0D 0A    "graphics.bin"..
007D00:  64 20 31 35 0D 0A 09 20 63 70 20 31 30 20 20 20    d 15... cp 10   
007D10:  20 20 3A 20 6A 72 20 6E 7A 2C 6B 6C 6F 6F 70 3B      : jr nz,kloop;
007D20:  4C 61 73 74 20 6B 65 79 20 62 6C 6F 63 6B 20 62    Last key block b
007D30:  65 65 6E 20 72 65 61 63 68 65 64 20 79 65 74 3F    een reached yet?
007D40:  0D 0A 09 70 6F 70 20 62 63 09 09 09 3B 47 65 74    ...pop bc...;Get
007D50:  20 6F 6C 64 20 73 74 61 74 75 73 20 6F 66 20 70     old status of p
007D60:  6F 72 74 20 43 0D 0A 09 6C 64 20 61 2C 26 38 32    ort C...ld a,&82
007D70:  20 20 20 3A 20 6F 75 74 20 28 63 29 2C 61 09 3B       : out (c),a.;
007D80:  52 65 73 74 6F 72 65 20 63 6F 6E 74 72 6F 6C 20    Restore control 
007D90:  70 6F 72 74 0D 0A 09 64 65 63 20 62 20 20 20 20    port...dec b    
007DA0:  20 20 3A 20 6F 75 74 20 28 63 29 2C 63 09 3B 52      : out (c),c.;R
007DB0:  65 73 74 6F 72 65 20 70 6F 72 74 20 43 0D 0A 0D    estore port C...
007DC0:  0A 09 6C 64 20 61 2C 28 6B 65 79 62 75 66 2B 35    ..ld a,(keybuf+5
007DD0:  29 09 09 3B 47 65 74 20 6B 65 79 20 64 61 74 61    )..;Get key data
007DE0:  20 66 72 6F 6D 20 62 6C 6F 63 6B 20 35 20 6F 66     from block 5 of
007DF0:  20 6B 65 79 62 6F 61 72 64 20 62 75 66 66 65 72     keyboard buffer
007E00:  74 72 6F 6C 20 70 6F 72 74 0D 0A 09 64 65 63 20    trol port...dec 
007E10:  62 20 20 20 3A 20 6F 75 74 20 28 63 29 2C 63 09    b   : out (c),c.
007E20:  3B 52 65 73 74 6F 72 65 20 70 6F 72 74 20 43 0D    ;Restore port C.
007E30:  0A 09 72 65 73 20 34 2C 64 20 3A 20 65 69 3A 20    ..res 4,d : ei: 
007E40:  72 65 74 0D 0A 1A 65 72 20 69 6E 20 43 0D 0A 20    ret...er in C.. 
007E50:  20 20 20 20 20 20 20 3B 6F 6E 20 65 78 69 74 20           ;on exit 
007E60:  20 2D 20 63 6F 6E 74 65 6E 74 73 20 69 6E 20 44     - contents in D
007E70:  0D 0A 20 20 20 20 20 20 20 20 3B 63 6F 72 72 75    ..        ;corru
007E80:  36 3A 20 69 6E 20 61 2C 28 63 29 09 3B 47 65 74    6: in a,(c).;Get
007E90:  20 70 6F 72 74 20 43 20 73 74 61 74 75 73 0D 0A     port C status..
007EA0:  09 61 6E 64 20 26 33 30 3A 20 20 6C 64 20 63 2C    .and &30:  ld c,
007EB0:  61 0D 0A 09 6F 72 20 26 43 30 3A 20 20 20 6F 75    a...or &C0:   ou
007EC0:  74 20 28 63 29 2C 61 09 3B 22 57 72 69 74 65 20    t (c),a.;"Write 
007ED0:  72 65 67 69 73 74 65 72 22 20 74 6F 20 70 6F 72    register" to por
007EE0:  74 20 43 0D 0A 09 09 20 20 6F 75 74 20 28 63 29    t C....  out (c)
007EF0:  2C 63 09 3B 52 65 73 74 6F 72 65 20 6F 6C 64 20    ,c.;Restore old 
007F00:  73 74 61 74 75 73 20 77 69 74 68 69 6E 20 31 30    status within 10
007F10:  6E 73 0D 0A 09 69 6E 63 20 62 0D 0A 09 6C 64 20    ns...inc b...ld 
007F20:  61 2C 26 39 32 3A 20 6F 75 74 20 28 63 29 2C 61    a,&92: out (c),a
007F30:  09 3B 53 65 74 20 63 6F 6E 74 72 6F 6C 20 74 6F    .;Set control to
007F40:  20 70 6F 72 74 20 41 20 69 6E 70 75 74 2C 20 70     port A input, p
007F50:  6F 72 74 20 42 20 69 6E 70 75 74 0D 0A 09 70 75    ort B input...pu
007F60:  73 68 20 62 63 20 3A 20 73 65 74 20 36 2C 63 0D    sh bc : set 6,c.
007F70:  0A 09 20 6C 64 20 62 2C 26 46 36 3A 20 6F 75 74    .. ld b,&F6: out
007F80:  20 28 63 29 2C 63 09 3B 53 65 74 20 42 43 31 2F     (c),c.;Set BC1/
007F90:  42 44 49 52 20 74 6F 20 22 72 65 61 64 20 72 65    BDIR to "read re
007FA0:  67 69 73 74 65 72 20 63 6F 6E 74 65 6E 74 73 22    gister contents"
007FB0:  0D 0A 09 20 6C 64 20 62 2C 26 46 34 3A 20 69 6E    ... ld b,&F4: in
007FC0:  20 64 2C 28 63 29 09 3B 47 65 74 20 63 6F 6E 74     d,(c).;Get cont
007FD0:  65 6E 74 73 0D 0A 09 70 6F 70 20 62 63 0D 0A 09    ents...pop bc...
007FE0:  6C 64 20 61 2C 26 38 32 3A 20 6F 75 74 20 28 63    ld a,&82: out (c
007FF0:  29 2C 61 09 3B 52 65 73 74 6F 72 65 20 63 6F 6E    ),a.;Restore con
008000:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008010:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008020:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008030:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008040:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008050:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008060:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008070:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008080:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008090:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0080A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0080B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0080C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0080D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0080E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0080F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008100:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008110:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008120:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008130:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008140:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008150:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008160:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008170:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008180:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008190:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0081A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0081B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0081C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0081D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0081E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0081F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008200:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 48 61 72    ...;*** SUBR.Har
008210:  64 77 61 72 65 20 6B 65 79 73 63 61 6E 20 2D 20    dware keyscan - 
008220:  73 70 61 63 65 20 62 61 72 20 6F 6E 6C 79 0D 0A    space bar only..
008230:  0D 0A 2E 6B 65 79 73 63 09 6C 64 20 62 63 2C 26    ...keysc.ld bc,&
008240:  46 34 30 45 3A 20 6F 75 74 20 28 63 29 2C 63 09    F40E: out (c),c.
008250:  09 3B 50 6F 72 74 20 41 20 20 2D 20 72 65 67 69    .;Port A  - regi
008260:  73 74 65 72 20 31 34 0D 0A 09 6C 64 20 62 63 2C    ster 14...ld bc,
008270:  26 46 36 34 35 3A 20 6C 64 20 61 2C 26 43 35 09    &F645: ld a,&C5.
008280:  09 3B 50 6F 72 74 20 43 20 20 2D 20 77 72 69 74    .;Port C  - writ
008290:  65 20 7D 0D 0A 09 6F 75 74 20 28 63 29 2C 61 20    e }...out (c),a 
0082A0:  20 3A 20 6F 75 74 20 28 63 29 2C 63 09 09 3B 50     : out (c),c..;P
0082B0:  6F 72 74 20 43 20 20 2D 20 72 65 61 64 20 20 7D    ort C  - read  }
0082C0:  0D 0A 09 6C 64 20 62 63 2C 26 46 37 39 32 3A 20    ...ld bc,&F792: 
0082D0:  6F 75 74 20 28 63 29 2C 63 09 09 3B 43 6F 6E 74    out (c),c..;Cont
0082E0:  72 6F 6C 20 2D 20 70 6F 72 74 20 41 20 69 6E 70    rol - port A inp
0082F0:  75 74 0D 0A 09 6C 64 20 62 63 2C 26 46 36 34 35    ut...ld bc,&F645
008300:  3A 20 6F 75 74 20 28 63 29 2C 63 09 09 3B 50 6F    : out (c),c..;Po
008310:  72 74 20 43 20 20 2D 20 72 65 61 64 20 63 6F 6E    rt C  - read con
008320:  74 65 6E 74 73 0D 0A 09 6C 64 20 62 20 2C 26 46    tents...ld b ,&F
008330:  34 20 20 3A 20 69 6E 20 61 2C 28 63 29 09 09 3B    4  : in a,(c)..;
008340:  50 6F 72 74 20 41 20 20 2D 20 72 65 61 64 0D 0A    Port A  - read..
008350:  09 6C 64 20 62 63 2C 26 46 37 38 32 3A 20 6F 75    .ld bc,&F782: ou
008360:  74 20 28 63 29 2C 63 09 09 3B 43 6F 6E 74 72 6F    t (c),c..;Contro
008370:  6C 20 2D 20 70 6F 72 74 20 41 20 6F 75 74 70 75    l - port A outpu
008380:  74 0D 0A 09 63 70 20 26 37 46 3A 20 72 65 74 0D    t...cp &7F: ret.
008390:  0A 0D 0A 1A 0A 2E 6B 65 79 73 63 09 6C 64 20 62    ......keysc.ld b
0083A0:  63 2C 26 46 34 30 45 3A 20 6F 75 74 20 28 63 29    c,&F40E: out (c)
0083B0:  2C 63 09 3B 70 6F 72 74 20 41 20 20 2D 20 72 65    ,c.;port A  - re
0083C0:  67 69 73 74 65 72 20 31 34 0D 0A 09 6C 64 20 62    gister 14...ld b
0083D0:  63 2C 26 46 36 34 35 3A 20 6C 64 20 61 2C 26 43    c,&F645: ld a,&C
0083E0:  35 09 3B 70 6F 72 74 20 43 20 20 2D 20 77 72 69    5.;port C  - wri
0083F0:  74 65 20 7D 0D 0A 09 6F 75 74 20 28 63 29 2C 61    te }...out (c),a
008400:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 09 57 72 69    ...;*** SUBR.Wri
008410:  74 65 20 50 53 47 20 72 65 67 69 73 74 65 72 0D    te PSG register.
008420:  0A 0D 0A 2E 70 73 67 09 6C 64 20 62 2C 26 46 34    ....psg.ld b,&F4
008430:  3A 20 6F 75 74 20 28 63 29 2C 61 09 3B 53 65 74    : out (c),a.;Set
008440:  20 75 70 20 72 65 67 69 73 74 65 72 0D 0A 09 6C     up register...l
008450:  64 20 62 2C 26 46 36 3A 20 69 6E 20 20 61 2C 28    d b,&F6: in  a,(
008460:  63 29 09 3B 20 7C 0D 0A 09 6F 72 20 26 43 30 20    c).; |...or &C0 
008470:  20 3A 20 6F 75 74 20 28 63 29 2C 61 09 3B 20 7C     : out (c),a.; |
008480:  0D 0A 09 61 6E 64 20 26 33 46 20 3A 20 6F 75 74    ...and &3F : out
008490:  20 28 63 29 2C 61 09 3B 20 7C 0D 0A 0D 0A 09 6C     (c),a.; |.....l
0084A0:  64 20 62 2C 26 46 34 3A 20 6F 75 74 20 28 63 29    d b,&F4: out (c)
0084B0:  2C 63 09 3B 53 65 6E 64 20 64 61 74 61 0D 0A 09    ,c.;Send data...
0084C0:  6C 64 20 62 2C 26 46 36 3A 20 6C 64 20 63 2C 61    ld b,&F6: ld c,a
0084D0:  09 3B 20 7C 0D 0A 09 6F 72 20 26 38 30 20 20 3A    .; |...or &80  :
0084E0:  20 6F 75 74 20 28 63 29 2C 61 09 3B 20 7C 0D 0A     out (c),a.; |..
0084F0:  09 09 20 20 6F 75 74 20 28 63 29 2C 63 09 3B 20    ..  out (c),c.; 
008500:  7C 0D 0A 09 72 65 74 0D 0A 1A 24 24 24 FF 00 FF    |...ret...$$$...
008510:  00 00 0A 00 00 72 01 00 E6 00 00 00 00 00 00 00    .....r..........
008520:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
008530:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
008540:  E6 00 00 33 04 69 73 74 65 72 0D 0A 0D 0A 09 6C    ...3.ister.....l
008550:  64 20 62 2C 26 46 34 3A 20 6F 75 74 20 28 63 29    d b,&F4: out (c)
008560:  2C 63 0D 0A 09 6C 64 20 62 2C 26 46 36 3A 20 6C    ,c...ld b,&F6: l
008570:  64 20 63 2C 61 0D 0A 09 6F 72 20 26 38 30 20 20    d c,a...or &80  
008580:  52 65 73 74 6F 72 65 20 63 6F 6E 74 72 6F 6C 20    Restore control 
008590:  70 6F 72 74 0D 0A 09 64 65 63 20 62 20 20 20 20    port...dec b    
0085A0:  20 20 3A 20 6F 75 74 20 28 63 29 2C 63 09 3B 52      : out (c),c.;R
0085B0:  65 73 74 6F 72 65 20 70 6F 72 74 20 43 0D 0A 0D    estore port C...
0085C0:  0A 09 6C 64 20 61 2C 28 6B 65 79 62 75 66 2B 35    ..ld a,(keybuf+5
0085D0:  29 09 09 3B 47 65 74 20 6B 65 79 20 64 61 74 61    )..;Get key data
0085E0:  20 66 72 6F 6D 20 62 6C 6F 63 6B 20 35 20 6F 66     from block 5 of
0085F0:  20 6B 65 79 62 6F 61 72 64 20 62 75 66 66 65 72     keyboard buffer
008600:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
008610:  07 00 01 00 02 09 4E E5 07 00 C4 02 00 00 00 02    ......N.........
008620:  07 00 C9 02 00 00 00 02 07 00 C5 02 00 00 00 02    ................
008630:  07 00 C1 02 00 00 00 02 07 00 C6 02 00 00 00 02    ................
008640:  07 00 C2 02 00 00 00 02 07 00 C7 02 00 00 00 02    ................
008650:  07 00 C3 02 00 00 00 02 07 00 C8 02 00 00 00 02    ................
008660:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
008670:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
008680:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
008690:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0086A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0086B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0086C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0086D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0086E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0086F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
008700:  0D 0A 09 3B 50 72 6F 2D 45 78 74 20 76 31 2E 35    ...;Pro-Ext v1.5
008710:  30 0D 0A 09 3B 61 20 52 65 61 6C 57 6F 72 6C 64    0...;a RealWorld
008720:  20 43 6F 64 69 6E 67 20 70 72 6F 64 75 63 74 69     Coding producti
008730:  6F 6E 20 66 6F 72 20 53 65 6E 74 69 6E 65 6C 0D    on for Sentinel.
008740:  0A 09 3B 66 6F 6E 74 20 65 64 69 74 6F 72 20 52    ..;font editor R
008750:  53 58 20 6C 69 62 72 61 72 79 0D 0A 0D 0A 09 3B    SX library.....;
008760:  76 31 2E 30 20 20 20 20 20 20 32 31 20 4D 61 72    v1.0      21 Mar
008770:  63 68 20 31 39 39 33 0D 0A 0D 0A 09 6F 72 67 20    ch 1993.....org 
008780:  26 38 30 30 30 0D 0A 09 77 72 69 74 65 20 22 65    &8000...write "e
008790:  64 69 74 2E 62 69 6E 22 0D 0A 09 6E 6F 6C 69 73    dit.bin"...nolis
0087A0:  74 0D 0A 0D 0A 09 3B 2A 2A 2A 20 49 6E 69 74 69    t.....;*** Initi
0087B0:  61 6C 69 73 65 20 52 53 58 73 0D 0A 0D 0A 09 6C    alise RSXs.....l
0087C0:  64 20 62 63 2C 63 6F 6D 5F 74 0D 0A 09 6C 64 20    d bc,com_t...ld 
0087D0:  68 6C 2C 77 6B 73 70 0D 0A 09 6A 70 20 26 42 43    hl,wksp...jp &BC
0087E0:  44 31 0D 0A 0D 0A 2E 77 6B 73 70 09 64 73 20 34    D1.....wksp.ds 4
0087F0:  0D 0A 0D 0A 2E 63 6F 6D 5F 74 09 64 77 20 20 6E    .....com_t.dw  n
008800:  61 6D 65 5F 74 0D 0A 09 6A 70 20 20 67 72 69 64    ame_t...jp  grid
008810:  5F 69 3A 09 6A 70 20 20 69 6E 76 5F 5F 69 0D 0A    _i:.jp  inv__i..
008820:  09 6A 70 20 20 6C 6F 61 64 5F 69 3A 09 6A 70 20    .jp  load_i:.jp 
008830:  20 73 61 76 65 5F 69 0D 0A 09 6A 70 20 20 73 65     save_i...jp  se
008840:  74 5F 5F 69 3A 09 6A 70 20 20 67 65 74 5F 5F 69    t__i:.jp  get__i
008850:  0D 0A 09 6A 70 20 20 63 6F 70 79 5F 69 3A 09 6A    ...jp  copy_i:.j
008860:  70 20 20 77 69 64 74 5F 69 0D 0A 09 6A 70 20 20    p  widt_i...jp  
008870:  72 65 64 6F 5F 69 3A 09 6A 70 20 20 6E 65 77 5F    redo_i:.jp  new_
008880:  5F 69 0D 0A 09 6A 70 20 20 70 6C 6F 74 5F 69 3A    _i...jp  plot_i:
008890:  09 6A 70 20 20 72 73 78 6F 5F 69 0D 0A 0D 0A 2E    .jp  rsxo_i.....
0088A0:  6E 61 6D 65 5F 74 09 73 74 72 20 22 47 52 49 44    name_t.str "GRID
0088B0:  22 3A 09 73 74 72 20 22 49 4E 56 45 52 54 22 0D    ":.str "INVERT".
0088C0:  0A 09 73 74 72 20 22 4C 4F 41 44 22 3A 09 73 74    ..str "LOAD":.st
0088D0:  72 20 22 53 41 56 45 22 0D 0A 09 73 74 72 20 22    r "SAVE"...str "
0088E0:  53 45 54 22 20 3A 09 73 74 72 20 22 47 45 54 22    SET" :.str "GET"
0088F0:  0D 0A 09 73 74 72 20 22 43 4F 50 59 22 3A 09 73    ...str "COPY":.s
008900:  6F 6F 70 09 20 6C 64 20 68 6C 2C 67 70 61 74 74    oop. ld hl,gpatt
008910:  09 09 09 09 3B 6E 65 77 20 63 6F 6C 75 6D 6E 0D    ....;new column.
008920:  0A 2E 63 72 6C 6F 6F 70 09 20 20 6C 64 20 61 2C    ..crloop.  ld a,
008930:  28 68 6C 29 3A 20 6C 64 20 28 64 65 29 2C 61 3A    (hl): ld (de),a:
008940:  20 69 6E 63 20 68 6C 3A 20 69 6E 63 20 64 65 09     inc hl: inc de.
008950:  3B 6E 65 77 20 72 6F 77 20 69 6E 20 63 68 61 72    ;new row in char
008960:  61 63 74 65 72 0D 0A 09 20 20 6C 64 20 61 2C 28    acter...  ld a,(
008970:  68 6C 29 3A 20 6C 64 20 28 64 65 29 2C 61 3A 20    hl): ld (de),a: 
008980:  69 6E 63 20 68 6C 3A 20 64 65 63 20 64 65 0D 0A    inc hl: dec de..
008990:  09 20 20 6C 64 20 61 2C 38 3A 20 61 64 64 20 64    .  ld a,8: add d
0089A0:  3A 20 6C 64 20 64 2C 61 0D 0A 09 20 20 62 69 74    : ld d,a...  bit
0089B0:  20 37 2C 64 3A 20 6A 72 20 6E 7A 2C 63 72 6C 6F     7,d: jr nz,crlo
0089C0:  6F 70 0D 0A 09 20 6C 64 20 61 2C 26 43 30 3A 20    op... ld a,&C0: 
0089D0:  61 64 64 20 64 3A 20 6C 64 20 64 2C 61 0D 0A 09    add d: ld d,a...
0089E0:  20 69 6E 63 20 64 65 3A 20 69 6E 63 20 64 65 3A     inc de: inc de:
0089F0:  20 64 6A 6E 7A 20 63 63 6C 6F 6F 70 0D 0A 09 6C     djnz ccloop...l
008A00:  64 20 68 6C 2C 33 32 3A 20 61 64 64 20 68 6C 2C    d hl,32: add hl,
008A10:  64 65 3A 20 65 78 20 64 65 2C 68 6C 0D 0A 09 64    de: ex de,hl...d
008A20:  65 63 20 63 3A 20 6A 72 20 6E 7A 2C 63 6F 6C 6F    ec c: jr nz,colo
008A30:  6F 70 0D 0A 0D 0A 09 6C 64 20 68 6C 2C 26 43 30    op.....ld hl,&C0
008A40:  30 30 3A 20 6C 64 20 62 63 2C 34 38 3A 20 6C 64    00: ld bc,48: ld
008A50:  69 72 09 09 3B 63 6F 70 79 20 6C 69 6E 65 20 74    ir..;copy line t
008A60:  6F 20 62 6F 74 74 6F 6D 0D 0A 0D 0A 09 6C 64 20    o bottom.....ld 
008A70:  68 6C 2C 26 43 30 30 30 3A 20 6C 64 20 62 2C 31    hl,&C000: ld b,1
008A80:  39 33 0D 0A 2E 63 70 6C 6F 6F 70 09 70 75 73 68    93...cploop.push
008A90:  20 68 6C 3A 20 6C 64 20 61 2C 28 68 6C 29 0D 0A     hl: ld a,(hl)..
008AA0:  09 20 6C 64 20 64 65 2C 34 38 3A 20 61 64 64 20    . ld de,48: add 
008AB0:  68 6C 2C 64 65 0D 0A 09 20 61 6E 64 20 31 32 38    hl,de... and 128
008AC0:  3A 20 20 6C 64 20 28 68 6C 29 2C 61 0D 0A 09 70    :  ld (hl),a...p
008AD0:  6F 70 20 68 6C 3A 20 63 61 6C 6C 20 26 42 43 32    op hl: call &BC2
008AE0:  36 0D 0A 09 64 6A 6E 7A 20 63 70 6C 6F 6F 70 0D    6...djnz cploop.
008AF0:  0A 09 72 65 74 0D 0A 0D 0A 09 3B 2A 2A 2A 20 7C    ..ret.....;*** |
008B00:  74 72 20 22 57 49 44 54 48 22 0D 0A 09 73 74 72    tr "WIDTH"...str
008B10:  20 22 52 45 44 4F 22 3A 09 73 74 72 20 22 4E 45     "REDO":.str "NE
008B20:  57 22 0D 0A 09 73 74 72 20 22 50 4C 4F 54 22 3A    W"...str "PLOT":
008B30:  09 73 74 72 20 22 52 53 58 4F 46 46 22 0D 0A 09    .str "RSXOFF"...
008B40:  64 62 20 30 0D 0A 0D 0A 09 3B 2A 2A 2A 20 7C 49    db 0.....;*** |I
008B50:  4E 56 45 52 54 2C 77 69 64 74 68 2C 68 65 69 67    NVERT,width,heig
008B60:  68 74 0D 0A 0D 0A 2E 69 6E 76 5F 5F 69 09 6C 64    ht.....inv__i.ld
008B70:  20 68 6C 2C 33 39 38 3A 20 6C 64 20 61 2C 28 67     hl,398: ld a,(g
008B80:  73 69 7A 65 29 0D 0A 09 6C 64 20 65 2C 28 69 78    size)...ld e,(ix
008B90:  2B 30 29 3A 20 6C 64 20 64 2C 28 69 78 2B 31 29    +0): ld d,(ix+1)
008BA0:  0D 0A 09 6F 72 20 61 3A 20 72 6C 20 64 3A 20 72    ...or a: rl d: r
008BB0:  6C 20 65 0D 0A 09 6F 72 20 61 3A 20 73 62 63 20    l e...or a: sbc 
008BC0:  68 6C 2C 64 65 0D 0A 09 6F 72 20 61 3A 20 73 62    hl,de...or a: sb
008BD0:  63 20 68 6C 2C 64 65 3A 20 63 70 20 34 3A 20 6A    c hl,de: cp 4: j
008BE0:  72 20 7A 2C 69 6E 76 5F 67 79 0D 0A 09 6F 72 20    r z,inv_gy...or 
008BF0:  61 3A 20 73 62 63 20 68 6C 2C 64 65 0D 0A 09 6F    a: sbc hl,de...o
008C00:  72 20 61 3A 20 73 62 63 20 68 6C 2C 64 65 3A 20    r a: sbc hl,de: 
008C10:  63 70 20 32 3A 20 6A 72 20 7A 2C 69 6E 76 5F 67    cp 2: jr z,inv_g
008C20:  79 0D 0A 09 6F 72 20 61 3A 20 73 62 63 20 68 6C    y...or a: sbc hl
008C30:  2C 64 65 3A 20 6F 72 20 61 3A 20 73 62 63 20 68    ,de: or a: sbc h
008C40:  6C 2C 64 65 0D 0A 09 6F 72 20 61 3A 20 73 62 63    l,de...or a: sbc
008C50:  20 68 6C 2C 64 65 3A 20 6F 72 20 61 3A 20 73 62     hl,de: or a: sb
008C60:  63 20 68 6C 2C 64 65 0D 0A 0D 0A 2E 69 6E 76 5F    c hl,de.....inv_
008C70:  67 79 09 70 75 73 68 20 68 6C 0D 0A 09 20 6C 64    gy.push hl... ld
008C80:  20 6C 2C 28 69 78 2B 32 29 3A 20 6C 64 20 68 2C     l,(ix+2): ld h,
008C90:  28 69 78 2B 33 29 0D 0A 09 20 61 64 64 20 68 6C    (ix+3)... add hl
008CA0:  2C 68 6C 0D 0A 09 20 61 64 64 20 68 6C 2C 68 6C    ,hl... add hl,hl
008CB0:  3A 20 63 70 20 34 3A 20 6A 72 20 7A 2C 69 6E 76    : cp 4: jr z,inv
008CC0:  5F 67 78 0D 0A 09 20 61 64 64 20 68 6C 2C 68 6C    _gx... add hl,hl
008CD0:  3A 20 63 70 20 32 3A 20 6A 72 20 7A 2C 69 6E 76    : cp 2: jr z,inv
008CE0:  5F 67 78 0D 0A 09 20 61 64 64 20 68 6C 2C 68 6C    _gx... add hl,hl
008CF0:  0D 0A 2E 69 6E 76 5F 67 78 09 20 65 78 20 64 65    ...inv_gx. ex de
008D00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008D10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008D20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008D30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008D40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008D50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008D60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008D70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008D80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008D90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008DA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008DB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008DC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008DD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008DE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008DF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008E00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008E10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008E20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008E30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008E40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008E50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008E60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008E70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008E80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008E90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008EA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008EB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008EC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008ED0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008EE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008EF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
008F00:  2C 68 6C 0D 0A 09 70 6F 70 20 68 6C 0D 0A 09 70    ,hl...pop hl...p
008F10:  75 73 68 20 64 65 3A 20 70 75 73 68 20 68 6C 0D    ush de: push hl.
008F20:  0A 09 20 63 61 6C 6C 20 26 42 42 43 30 0D 0A 09    .. call &BBC0...
008F30:  20 6C 64 20 64 65 2C 31 3A 20 6C 64 20 68 6C 2C     ld de,1: ld hl,
008F40:  26 46 46 46 45 3A 20 63 61 6C 6C 20 26 42 42 46    &FFFE: call &BBF
008F50:  33 09 3B 47 65 74 20 63 75 72 72 65 6E 74 20 73    3.;Get current s
008F60:  74 61 74 65 20 28 54 45 53 54 52 20 31 2C 2D 32    tate (TESTR 1,-2
008F70:  29 0D 0A 09 20 70 75 73 68 20 61 66 3A 20 6C 64    )... push af: ld
008F80:  20 64 65 2C 26 46 46 46 46 3A 20 6C 64 20 68 6C     de,&FFFF: ld hl
008F90:  2C 32 3A 20 63 61 6C 6C 20 26 42 42 43 33 0D 0A    ,2: call &BBC3..
008FA0:  09 20 70 6F 70 20 61 66 3A 20 78 6F 72 20 31 3A    . pop af: xor 1:
008FB0:  20 63 61 6C 6C 20 26 42 42 44 45 09 09 3B 61 6E     call &BBDE..;an
008FC0:  64 20 69 6E 76 65 72 74 20 70 65 6E 20 61 63 63    d invert pen acc
008FD0:  6F 72 64 69 6E 67 6C 79 0D 0A 09 20 63 61 6C 6C    ordingly... call
008FE0:  20 73 71 75 61 72 65 09 09 09 09 3B 64 72 61 77     square....;draw
008FF0:  20 73 71 75 61 72 65 0D 0A 09 70 6F 70 20 68 6C     square...pop hl
009000:  3A 20 70 6F 70 20 64 65 0D 0A 09 72 72 20 68 3A    : pop de...rr h:
009010:  20 72 72 20 6C 0D 0A 09 63 61 6C 6C 20 26 42 43     rr l...call &BC
009020:  31 44 3A 20 72 65 73 20 30 2C 6C 09 09 09 3B 66    1D: res 0,l...;f
009030:  69 6E 64 20 73 63 72 65 65 6E 20 61 64 64 72 65    ind screen addre
009040:  73 73 0D 0A 0D 0A 09 6C 64 20 64 65 2C 67 70 61    ss.....ld de,gpa
009050:  74 74 3A 20 6C 64 20 62 2C 38 0D 0A 2E 69 6E 76    tt: ld b,8...inv
009060:  5F 63 6C 09 6C 64 20 61 2C 28 64 65 29 3A 20 6F    _cl.ld a,(de): o
009070:  72 20 28 68 6C 29 3A 20 6C 64 20 28 68 6C 29 2C    r (hl): ld (hl),
009080:  61 3A 20 69 6E 63 20 68 6C 3A 20 69 6E 63 20 64    a: inc hl: inc d
009090:  65 0D 0A 09 6C 64 20 61 2C 28 64 65 29 3A 20 6F    e...ld a,(de): o
0090A0:  72 20 28 68 6C 29 3A 20 6C 64 20 28 68 6C 29 2C    r (hl): ld (hl),
0090B0:  61 3A 20 64 65 63 20 68 6C 3A 20 69 6E 63 20 64    a: dec hl: inc d
0090C0:  65 0D 0A 09 63 61 6C 6C 20 26 42 43 32 36 3A 20    e...call &BC26: 
0090D0:  64 6A 6E 7A 20 69 6E 76 5F 63 6C 0D 0A 09 72 65    djnz inv_cl...re
0090E0:  74 0D 0A 0D 0A 09 3B 53 75 62 72 6F 75 74 69 6E    t.....;Subroutin
0090F0:  65 20 74 6F 20 64 72 61 77 20 73 71 75 61 72 65    e to draw square
009100:  4F 44 45 20 31 20 73 63 72 65 65 6E 20 74 6F 20    ODE 1 screen to 
009110:  4D 4F 44 45 20 32 0D 0A 4D 4B 24 50 41 52 41 4D    MODE 2..MK$PARAM
009120:  2E 09 4D 61 6B 65 20 73 74 72 69 6E 67 20 70 61    ..Make string pa
009130:  72 61 6D 65 74 65 72 20 66 6F 72 20 52 53 58 0D    rameter for RSX.
009140:  0A 4D 55 4C 54 49 20 20 20 2E 09 4D 75 6C 74 69    .MULTI   ..Multi
009150:  70 6C 79 20 48 4C 20 62 79 20 41 0D 0A 4E 4C 49    ply HL by A..NLI
009160:  4E 45 20 20 20 2E 09 47 6F 20 74 6F 20 6E 65 78    NE   ..Go to nex
009170:  74 20 70 69 78 65 6C 20 6C 69 6E 65 20 64 6F 77    t pixel line dow
009180:  6E 0D 0A 50 44 45 43 41 20 20 20 2E 53 50 43 09    n..PDECA   .SPC.
009190:  50 72 69 6E 74 20 41 20 61 73 20 73 70 61 63 65    Print A as space
0091A0:  64 20 64 65 63 69 6D 61 6C 0D 0A 50 44 45 43 48    d decimal..PDECH
0091B0:  4C 20 20 2E 09 50 72 69 6E 74 20 48 4C 20 61 73    L  ..Print HL as
0091C0:  20 75 6E 73 70 61 63 65 64 20 64 65 63 69 6D 61     unspaced decima
0091D0:  6C 0D 0A 50 48 45 58 20 20 20 20 2E 09 50 72 69    l..PHEX    ..Pri
0091E0:  6E 74 20 41 20 6F 72 20 48 4C 20 61 73 20 68 65    nt A or HL as he
0091F0:  78 0D 0A 50 53 47 20 20 20 20 20 2E 09 53 65 6E    x..PSG     ..Sen
009200:  64 20 73 6F 75 6E 64 20 63 68 69 70 20 72 65 67    d sound chip reg
009210:  69 73 74 65 72 0D 0A 50 53 54 52 49 4E 47 20 2E    ister..PSTRING .
009220:  09 50 72 69 6E 74 20 73 74 72 69 6E 67 0D 0A 52    .Print string..R
009230:  45 41 44 52 45 47 20 2E 09 52 65 61 64 20 73 6F    EADREG ..Read so
009240:  75 6E 64 20 63 68 69 70 20 72 65 67 69 73 74 65    und chip registe
009250:  72 0D 0A 53 50 43 53 43 41 4E 20 2E 09 53 63 61    r..SPCSCAN ..Sca
009260:  6E 20 6B 65 79 62 6F 61 72 64 20 66 6F 72 20 73    n keyboard for s
009270:  70 61 63 65 20 62 61 72 20 6F 6E 6C 79 0D 0A 53    pace bar only..S
009280:  50 45 43 43 4F 4E 56 2E 09 43 6F 6E 76 65 72 74    PECCONV..Convert
009290:  20 53 70 65 63 74 72 75 6D 2D 73 69 7A 65 64 20     Spectrum-sized 
0092A0:  73 63 72 65 65 6E 0D 0A 55 43 41 53 45 20 20 20    screen..UCASE   
0092B0:  2E 09 43 6F 6E 76 65 72 74 20 41 20 74 6F 20 75    ..Convert A to u
0092C0:  70 70 65 72 20 63 61 73 65 0D 0A 57 49 4E 4C 4F    pper case..WINLO
0092D0:  41 44 20 2E 09 4C 6F 61 64 20 41 64 76 61 6E 63    AD ..Load Advanc
0092E0:  65 64 20 41 72 74 20 53 74 75 64 69 6F 20 77 69    ed Art Studio wi
0092F0:  6E 64 6F 77 0D 0A 1A 43 6F 6E 76 65 72 74 20 41    ndow...Convert A
009300:  20 62 6F 78 0D 0A 0D 0A 2E 73 71 75 61 72 65 09     box.....square.
009310:  6C 64 20 61 2C 28 67 6E 65 78 74 29 3A 20 6C 64    ld a,(gnext): ld
009320:  20 62 2C 61 3A 20 72 72 63 20 62 3A 20 72 72 63     b,a: rrc b: rrc
009330:  20 62 0D 0A 09 64 65 63 20 61 3A 20 6C 64 20 28     b...dec a: ld (
009340:  64 69 6D 65 6E 31 29 2C 61 0D 0A 09 6E 65 67 20    dimen1),a...neg 
009350:  20 3A 20 6C 64 20 28 64 69 6D 65 6E 32 29 2C 61     : ld (dimen2),a
009360:  0D 0A 2E 73 71 6C 6F 6F 70 09 70 75 73 68 20 62    ...sqloop.push b
009370:  63 0D 0A 09 20 6C 64 20 64 65 2C 28 64 69 6D 65    c... ld de,(dime
009380:  6E 31 29 3A 20 6C 64 20 68 6C 2C 30 3A 20 63 61    n1): ld hl,0: ca
009390:  6C 6C 20 26 42 42 46 39 0D 0A 09 20 6C 64 20 64    ll &BBF9... ld d
0093A0:  65 2C 30 3A 20 6C 64 20 68 6C 2C 26 46 46 46 45    e,0: ld hl,&FFFE
0093B0:  3A 20 63 61 6C 6C 20 26 42 42 43 33 0D 0A 09 20    : call &BBC3... 
0093C0:  6C 64 20 64 65 2C 28 64 69 6D 65 6E 32 29 3A 20    ld de,(dimen2): 
0093D0:  6C 64 20 68 6C 2C 30 3A 20 63 61 6C 6C 20 26 42    ld hl,0: call &B
0093E0:  42 46 39 0D 0A 09 20 6C 64 20 64 65 2C 30 3A 20    BF9... ld de,0: 
0093F0:  6C 64 20 68 6C 2C 26 46 46 46 45 3A 20 63 61 6C    ld hl,&FFFE: cal
009400:  6C 20 26 42 42 43 33 0D 0A 09 70 6F 70 20 62 63    l &BBC3...pop bc
009410:  0D 0A 09 64 6A 6E 7A 20 73 71 6C 6F 6F 70 3A 20    ...djnz sqloop: 
009420:  72 65 74 0D 0A 0D 0A 2E 64 69 6D 65 6E 31 09 64    ret.....dimen1.d
009430:  77 20 26 30 30 30 30 0D 0A 2E 64 69 6D 65 6E 32    w &0000...dimen2
009440:  09 64 77 20 26 46 46 30 30 0D 0A 0D 0A 09 3B 2A    .dw &FF00.....;*
009450:  2A 2A 20 7C 47 52 49 44 2C 77 69 64 74 68 2C 68    ** |GRID,width,h
009460:  65 69 67 68 74 0D 0A 0D 0A 09 3B 53 69 7A 65 73    eight.....;Sizes
009470:  2E 2E 2E 09 63 68 61 72 61 63 74 65 72 20 09 6D    ....character .m
009480:  61 78 69 6D 75 6D 20 64 69 6D 65 6E 73 69 6F 6E    aximum dimension
009490:  0D 0A 09 3B 09 09 31 78 31 09 09 32 34 0D 0A 09    ...;..1x1..24...
0094A0:  3B 09 09 32 78 32 09 09 34 38 0D 0A 09 3B 09 09    ;..2x2..48...;..
0094B0:  34 78 34 09 09 39 36 0D 0A 0D 0A 2E 67 72 69 64    4x4..96.....grid
0094C0:  5F 69 09 6C 64 20 6C 2C 28 69 78 2B 30 29 3A 20    _i.ld l,(ix+0): 
0094D0:  6C 64 20 68 2C 28 69 78 2B 31 29 0D 0A 09 6C 64    ld h,(ix+1)...ld
0094E0:  20 65 2C 28 69 78 2B 32 29 3A 20 6C 64 20 64 2C     e,(ix+2): ld d,
0094F0:  28 69 78 2B 33 29 0D 0A 09 70 75 73 68 20 68 6C    (ix+3)...push hl
009500:  50 45 43 43 4F 4E 56 2E 09 43 6F 6E 76 65 72 74    PECCONV..Convert
009510:  20 53 70 65 63 74 72 75 6D 2D 73 69 7A 65 64 20     Spectrum-sized 
009520:  73 63 72 65 65 6E 0D 0A 55 43 41 53 45 20 20 20    screen..UCASE   
009530:  2E 09 43 6F 6E 76 65 72 74 20 41 20 74 6F 20 75    ..Convert A to u
009540:  70 70 65 72 20 63 61 73 65 0D 0A 57 49 4E 4C 4F    pper case..WINLO
009550:  41 44 20 2E 09 4C 6F 61 64 20 41 64 76 61 6E 63    AD ..Load Advanc
009560:  65 64 20 41 72 74 20 53 74 75 64 69 6F 20 77 69    ed Art Studio wi
009570:  6E 64 6F 77 0D 0A 1A 52 20 2E 09 46 61 64 65 20    ndow...R ..Fade 
009580:  4F 44 45 20 31 20 73 63 72 65 65 6E 20 74 6F 20    ODE 1 screen to 
009590:  4D 4F 44 45 20 32 0D 0A 4D 4B 24 50 41 52 41 4D    MODE 2..MK$PARAM
0095A0:  2E 09 4D 61 6B 65 20 73 74 72 69 6E 67 20 70 61    ..Make string pa
0095B0:  72 61 6D 65 74 65 72 20 66 6F 72 20 52 53 58 0D    rameter for RSX.
0095C0:  0A 4D 55 4C 54 49 20 20 20 2E 09 4D 75 6C 74 69    .MULTI   ..Multi
0095D0:  70 6C 79 20 48 4C 20 62 79 20 41 0D 0A 4E 4C 49    ply HL by A..NLI
0095E0:  4E 45 20 20 20 2E 09 47 6F 20 74 6F 20 6E 65 78    NE   ..Go to nex
0095F0:  74 20 70 69 78 65 6C 20 6C 69 6E 65 20 64 6F 77    t pixel line dow
009600:  6E 0D 0A 50 44 45 43 41 20 20 20 2E 53 50 43 09    n..PDECA   .SPC.
009610:  50 72 69 6E 74 20 41 20 61 73 20 73 70 61 63 65    Print A as space
009620:  64 20 64 65 63 69 6D 61 6C 0D 0A 50 44 45 43 48    d decimal..PDECH
009630:  4C 20 20 2E 09 50 72 69 6E 74 20 48 4C 20 61 73    L  ..Print HL as
009640:  20 75 6E 73 70 61 63 65 64 20 64 65 63 69 6D 61     unspaced decima
009650:  6C 0D 0A 50 48 45 58 20 20 20 20 2E 09 50 72 69    l..PHEX    ..Pri
009660:  6E 74 20 41 20 6F 72 20 48 4C 20 61 73 20 68 65    nt A or HL as he
009670:  78 0D 0A 50 53 47 20 20 20 20 20 2E 09 53 65 6E    x..PSG     ..Sen
009680:  64 20 73 6F 75 6E 64 20 63 68 69 70 20 72 65 67    d sound chip reg
009690:  69 73 74 65 72 0D 0A 50 53 54 52 49 4E 47 20 2E    ister..PSTRING .
0096A0:  09 50 72 69 6E 74 20 73 74 72 69 6E 67 0D 0A 52    .Print string..R
0096B0:  45 41 44 52 45 47 20 2E 09 52 65 61 64 20 73 6F    EADREG ..Read so
0096C0:  75 6E 64 20 63 68 69 70 20 72 65 67 69 73 74 65    und chip registe
0096D0:  72 0D 0A 53 50 43 53 43 41 4E 20 2E 09 53 63 61    r..SPCSCAN ..Sca
0096E0:  6E 20 6B 65 79 62 6F 61 72 64 20 66 6F 72 20 73    n keyboard for s
0096F0:  70 61 63 65 20 62 61 72 20 6F 6E 6C 79 0D 0A 53    pace bar only..S
009700:  3A 20 73 62 63 20 68 6C 2C 64 65 3A 20 70 6F 70    : sbc hl,de: pop
009710:  20 68 6C 0D 0A 09 6A 72 20 6E 63 2C 67 6F 74 62     hl...jr nc,gotb
009720:  69 67 0D 0A 09 65 78 20 64 65 2C 68 6C 0D 0A 0D    ig...ex de,hl...
009730:  0A 2E 67 6F 74 62 69 67 09 64 65 63 20 68 6C 3A    ..gotbig.dec hl:
009740:  20 6C 64 20 64 65 2C 32 34 09 09 09 3B 48 4C 20     ld de,24...;HL 
009750:  6E 6F 77 20 63 6F 6E 74 61 69 6E 73 20 6C 61 72    now contains lar
009760:  67 65 73 74 0D 0A 09 73 62 63 20 68 6C 2C 64 65    gest...sbc hl,de
009770:  3A 20 6A 72 20 63 2C 63 68 31 78 31 0D 0A 09 73    : jr c,ch1x1...s
009780:  62 63 20 68 6C 2C 64 65 3A 20 6A 72 20 63 2C 63    bc hl,de: jr c,c
009790:  68 32 78 32 0D 0A 2E 63 68 34 78 34 09 6C 64 20    h2x2...ch4x4.ld 
0097A0:  61 2C 34 3A 20 6C 64 20 28 67 73 69 7A 65 29 2C    a,4: ld (gsize),
0097B0:  61 0D 0A 09 6C 64 20 61 2C 34 3A 20 6C 64 20 28    a...ld a,4: ld (
0097C0:  67 6E 65 78 74 29 2C 61 0D 0A 09 6C 64 20 68 6C    gnext),a...ld hl
0097D0:  2C 70 61 74 34 78 34 3A 20 6A 72 20 67 6F 74 63    ,pat4x4: jr gotc
0097E0:  68 0D 0A 2E 63 68 32 78 32 09 6C 64 20 61 2C 32    h...ch2x2.ld a,2
0097F0:  3A 20 6C 64 20 28 67 73 69 7A 65 29 2C 61 0D 0A    : ld (gsize),a..
009800:  09 6C 64 20 61 2C 38 3A 20 6C 64 20 28 67 6E 65    .ld a,8: ld (gne
009810:  78 74 29 2C 61 0D 0A 09 6C 64 20 68 6C 2C 70 61    xt),a...ld hl,pa
009820:  74 32 78 32 3A 20 6A 72 20 67 6F 74 63 68 0D 0A    t2x2: jr gotch..
009830:  2E 63 68 31 78 31 09 6C 64 20 61 2C 31 3A 20 6C    .ch1x1.ld a,1: l
009840:  64 20 28 67 73 69 7A 65 29 2C 61 0D 0A 09 6C 64    d (gsize),a...ld
009850:  20 61 2C 31 36 3A 20 6C 64 20 28 67 6E 65 78 74     a,16: ld (gnext
009860:  29 2C 61 0D 0A 09 6C 64 20 68 6C 2C 70 61 74 31    ),a...ld hl,pat1
009870:  78 31 3A 20 6A 72 20 67 6F 74 63 68 0D 0A 0D 0A    x1: jr gotch....
009880:  2E 67 6F 74 63 68 09 6C 64 20 64 65 2C 67 70 61    .gotch.ld de,gpa
009890:  74 74 09 09 09 09 3B 73 74 6F 72 65 20 61 70 70    tt....;store app
0098A0:  72 6F 70 72 69 61 74 65 20 70 61 74 74 65 72 6E    ropriate pattern
0098B0:  0D 0A 09 6C 64 20 62 63 2C 31 36 3A 20 6C 64 69    ...ld bc,16: ldi
0098C0:  72 0D 0A 0D 0A 09 6C 64 20 64 65 2C 26 43 30 30    r.....ld de,&C00
0098D0:  30 3A 20 6C 64 20 63 2C 26 31 38 0D 0A 2E 63 6F    0: ld c,&18...co
0098E0:  6C 6F 6F 70 09 6C 64 20 62 2C 26 31 38 09 09 09    loop.ld b,&18...
0098F0:  09 3B 6E 65 77 20 6C 69 6E 65 0D 0A 2E 63 63 6C    .;new line...ccl
009900:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
009910:  08 00 01 00 02 09 4E E5 08 00 C7 02 00 00 00 02    ......N.........
009920:  08 00 C3 02 00 00 00 02 08 00 C8 02 00 00 00 02    ................
009930:  08 00 C4 02 00 00 00 02 08 00 C9 02 00 00 00 02    ................
009940:  08 00 C5 02 00 00 00 02 08 00 C1 02 00 00 00 02    ................
009950:  08 00 C6 02 00 00 00 02 08 00 C2 02 00 00 00 02    ................
009960:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
009970:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
009980:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
009990:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0099A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0099B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0099C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0099D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0099E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0099F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
009A00:  0D 0A 09 20 63 61 6C 6C 20 69 6E 76 5F 5F 69 0D    ... call inv__i.
009A10:  0A 09 20 6C 64 20 6C 2C 28 69 78 2B 32 29 3A 20    .. ld l,(ix+2): 
009A20:  6C 64 20 68 2C 28 69 78 2B 33 29 3A 20 61 64 64    ld h,(ix+3): add
009A30:  20 68 6C 2C 68 6C 0D 0A 09 20 6C 64 20 64 65 2C     hl,hl... ld de,
009A40:  33 39 32 3A 20 61 64 64 20 68 6C 2C 64 65 0D 0A    392: add hl,de..
009A50:  09 20 70 75 73 68 20 68 6C 0D 0A 09 20 20 6C 64    . push hl...  ld
009A60:  20 65 2C 28 69 78 2B 30 29 3A 20 6C 64 20 64 2C     e,(ix+0): ld d,
009A70:  28 69 78 2B 31 29 3A 20 6F 72 20 61 0D 0A 09 20    (ix+1): or a... 
009A80:  20 6C 64 20 68 6C 2C 31 39 30 3A 20 73 62 63 20     ld hl,190: sbc 
009A90:  68 6C 2C 64 65 3A 20 73 62 63 20 68 6C 2C 64 65    hl,de: sbc hl,de
009AA0:  0D 0A 09 20 70 6F 70 20 64 65 3A 20 63 61 6C 6C    ... pop de: call
009AB0:  20 26 42 42 45 41 0D 0A 09 20 6C 64 20 64 65 2C     &BBEA... ld de,
009AC0:  31 3A 20 6C 64 20 68 6C 2C 30 3A 20 63 61 6C 6C    1: ld hl,0: call
009AD0:  20 26 42 42 45 44 0D 0A 0D 0A 2E 70 6C 6F 74 5F     &BBED.....plot_
009AE0:  30 09 20 6C 64 20 6C 2C 28 69 78 2B 32 29 3A 20    0. ld l,(ix+2): 
009AF0:  6C 64 20 68 2C 28 69 78 2B 33 29 3A 20 64 65 63    ld h,(ix+3): dec
009B00:  20 68 6C 0D 0A 09 20 6C 64 20 28 69 78 2B 32 29     hl... ld (ix+2)
009B10:  2C 6C 3A 20 6C 64 20 28 69 78 2B 33 29 2C 68 3A    ,l: ld (ix+3),h:
009B20:  20 6C 64 20 61 2C 68 3A 20 61 6E 64 20 6C 0D 0A     ld a,h: and l..
009B30:  09 20 63 70 20 26 46 46 3A 20 6A 70 20 6E 7A 2C    . cp &FF: jp nz,
009B40:  70 6C 6F 74 5F 6C 0D 0A 09 70 6F 70 20 68 6C 0D    plot_l...pop hl.
009B50:  0A 09 6C 64 20 28 69 78 2B 32 29 2C 6C 3A 20 6C    ..ld (ix+2),l: l
009B60:  64 20 28 69 78 2B 33 29 2C 68 0D 0A 09 6C 64 20    d (ix+3),h...ld 
009B70:  6C 2C 28 69 78 2B 30 29 3A 20 6C 64 20 68 2C 28    l,(ix+0): ld h,(
009B80:  69 78 2B 31 29 3A 20 64 65 63 20 68 6C 0D 0A 09    ix+1): dec hl...
009B90:  6C 64 20 28 69 78 2B 30 29 2C 6C 3A 20 6C 64 20    ld (ix+0),l: ld 
009BA0:  28 69 78 2B 31 29 2C 68 3A 20 6C 64 20 61 2C 68    (ix+1),h: ld a,h
009BB0:  3A 20 61 6E 64 20 6C 0D 0A 09 63 70 20 26 46 46    : and l...cp &FF
009BC0:  3A 20 6A 70 20 6E 7A 2C 70 6C 6F 74 5F 69 0D 0A    : jp nz,plot_i..
009BD0:  09 72 65 74 0D 0A 0D 0A 09 3B 2A 2A 2A 20 7C 53    .ret.....;*** |S
009BE0:  45 54 2C 63 68 61 72 2C 78 2C 79 2C 6E 25 0D 0A    ET,char,x,y,n%..
009BF0:  0D 0A 2E 73 65 74 5F 5F 69 09 63 61 6C 6C 20 63    ...set__i.call c
009C00:  0A 2E 72 6C 69 5F 6F 6C 09 6C 64 20 64 2C 30 0D    ..rli_ol.ld d,0.
009C10:  0A 2E 72 6C 69 5F 6C 31 09 70 75 73 68 20 62 63    ..rli_l1.push bc
009C20:  3A 20 63 61 6C 6C 20 67 62 62 79 74 65 3A 20 70    : call gbbyte: p
009C30:  6F 70 20 62 63 0D 0A 09 6C 64 20 28 69 79 29 2C    op bc...ld (iy),
009C40:  61 3A 20 69 6E 63 20 69 79 3A 20 69 6E 63 20 68    a: inc iy: inc h
009C50:  6C 0D 0A 09 69 6E 63 20 64 3A 20 6C 64 20 61 2C    l...inc d: ld a,
009C60:  64 3A 20 63 70 20 65 3A 20 6A 72 20 6E 7A 2C 72    d: cp e: jr nz,r
009C70:  6C 69 5F 6C 31 0D 0A 2E 72 6C 69 5F 6C 32 09 6C    li_l1...rli_l2.l
009C80:  64 20 28 69 79 29 2C 30 3A 20 69 6E 63 20 69 79    d (iy),0: inc iy
009C90:  0D 0A 09 69 6E 63 20 64 3A 20 6C 64 20 61 2C 64    ...inc d: ld a,d
009CA0:  3A 20 63 70 20 28 69 78 2B 32 29 3A 20 6A 72 20    : cp (ix+2): jr 
009CB0:  6E 7A 2C 72 6C 69 5F 6C 32 0D 0A 09 64 65 63 20    nz,rli_l2...dec 
009CC0:  63 3A 20 6A 72 20 6E 7A 2C 72 6C 69 5F 6F 6C 0D    c: jr nz,rli_ol.
009CD0:  0A 09 6A 70 20 63 6F 70 79 5F 65 0D 0A 0D 0A 09    ..jp copy_e.....
009CE0:  3B 2A 2A 2A 20 7C 53 41 56 45 0D 0A 09 3B 20 20    ;*** |SAVE...;  
009CF0:  20 20 66 69 6C 65 20 6D 75 73 74 20 61 6C 72 65      file must alre
009D00:  61 64 79 20 62 65 20 6F 70 65 6E 0D 0A 0D 0A 2E    ady be open.....
009D10:  73 61 76 65 5F 69 09 70 75 73 68 20 69 78 3A 20    save_i.push ix: 
009D20:  70 6F 70 20 69 79 0D 0A 0D 0A 09 6C 64 20 68 6C    pop iy.....ld hl
009D30:  2C 66 69 6C 65 69 64 3A 20 6C 64 20 62 2C 31 30    ,fileid: ld b,10
009D40:  0D 0A 2E 73 63 68 6B 6C 70 09 6C 64 20 61 2C 28    ...schklp.ld a,(
009D50:  68 6C 29 3A 20 63 61 6C 6C 20 26 42 43 39 35 0D    hl): call &BC95.
009D60:  0A 09 69 6E 63 20 68 6C 3A 20 64 6A 6E 7A 20 73    ..inc hl: djnz s
009D70:  63 68 6B 6C 70 0D 0A 0D 0A 09 6C 64 20 61 2C 28    chklp.....ld a,(
009D80:  68 65 69 67 68 74 29 3A 20 63 61 6C 6C 20 26 42    height): call &B
009D90:  43 39 35 0D 0A 09 6C 64 20 61 2C 28 6C 61 73 74    C95...ld a,(last
009DA0:  6C 66 29 3A 20 63 61 6C 6C 20 26 42 43 39 35 0D    lf): call &BC95.
009DB0:  0A 0D 0A 09 6C 64 20 62 2C 33 32 0D 0A 2E 73 74    ....ld b,32...st
009DC0:  72 73 6C 70 09 70 75 73 68 20 62 63 0D 0A 09 20    rslp.push bc... 
009DD0:  6C 64 20 61 2C 62 3A 20 63 61 6C 6C 20 73 74 61    ld a,b: call sta
009DE0:  64 64 72 09 09 09 3B 66 69 6E 64 20 73 74 61 72    ddr...;find star
009DF0:  74 20 61 64 64 72 65 73 73 0D 0A 09 20 63 61 6C    t address... cal
009E00:  61 6C 63 78 79 3A 20 6C 64 20 63 2C 61 0D 0A 09    alcxy: ld c,a...
009E10:  6C 64 20 61 2C 28 69 78 29 3A 20 6F 72 20 61 3A    ld a,(ix): or a:
009E20:  20 6A 72 20 6E 7A 2C 73 65 74 31 0D 0A 09 6C 64     jr nz,set1...ld
009E30:  20 61 2C 64 3A 20 63 70 6C 3A 20 61 6E 64 20 63     a,d: cpl: and c
009E40:  3A 20 6A 70 20 70 62 62 79 74 65 0D 0A 2E 73 65    : jp pbbyte...se
009E50:  74 31 09 6C 64 20 61 2C 64 3A 20 20 20 20 20 20    t1.ld a,d:      
009E60:  6F 72 20 20 63 3A 20 6A 70 20 70 62 62 79 74 65    or  c: jp pbbyte
009E70:  0D 0A 0D 0A 09 3B 2A 2A 2A 20 7C 47 45 54 2C 63    .....;*** |GET,c
009E80:  68 61 72 2C 78 2C 79 2C 40 6E 25 0D 0A 0D 0A 2E    har,x,y,@n%.....
009E90:  67 65 74 5F 5F 69 09 63 61 6C 6C 20 63 61 6C 63    get__i.call calc
009EA0:  78 79 0D 0A 09 6C 64 20 6C 2C 28 69 78 29 3A 20    xy...ld l,(ix): 
009EB0:  6C 64 20 68 2C 28 69 78 2B 31 29 0D 0A 09 61 6E    ld h,(ix+1)...an
009EC0:  64 20 64 3A 20 6A 72 20 7A 2C 70 69 78 65 6C 30    d d: jr z,pixel0
009ED0:  0D 0A 09 6C 64 20 28 68 6C 29 2C 31 3A 20 69 6E    ...ld (hl),1: in
009EE0:  63 20 68 6C 3A 20 6C 64 20 28 68 6C 29 2C 30 3A    c hl: ld (hl),0:
009EF0:  20 72 65 74 09 3B 50 75 74 20 69 6E 74 6F 20 76     ret.;Put into v
009F00:  61 72 69 61 62 6C 65 0D 0A 2E 70 69 78 65 6C 30    ariable...pixel0
009F10:  09 6C 64 20 28 68 6C 29 2C 30 3A 20 69 6E 63 20    .ld (hl),0: inc 
009F20:  68 6C 3A 20 6C 64 20 28 68 6C 29 2C 30 3A 20 72    hl: ld (hl),0: r
009F30:  65 74 0D 0A 0D 0A 09 3B 2B 2B 2B 20 53 75 62 72    et.....;+++ Subr
009F40:  6F 75 74 69 6E 65 20 74 6F 20 63 61 6C 63 75 6C    outine to calcul
009F50:  61 74 65 20 78 79 70 6F 73 20 28 72 65 74 75 72    ate xypos (retur
009F60:  6E 73 20 61 64 64 72 20 48 4C 2C 20 76 61 6C 75    ns addr HL, valu
009F70:  65 20 41 2C 20 6D 61 73 6B 20 44 29 0D 0A 0D 0A    e A, mask D)....
009F80:  2E 63 61 6C 63 78 79 09 6C 64 20 61 2C 28 69 78    .calcxy.ld a,(ix
009F90:  2B 36 29 0D 0A 09 63 61 6C 6C 20 73 74 61 64 64    +6)...call stadd
009FA0:  72 3A 20 63 61 6C 6C 20 67 62 62 79 74 65 0D 0A    r: call gbbyte..
009FB0:  09 6C 64 20 65 2C 61 3A 20 6C 64 20 64 2C 30 0D    .ld e,a: ld d,0.
009FC0:  0A 09 69 6E 63 20 68 6C 3A 20 6C 64 20 61 2C 28    ..inc hl: ld a,(
009FD0:  69 78 2B 32 29 0D 0A 0D 0A 2E 67 65 74 69 79 6C    ix+2).....getiyl
009FE0:  09 63 70 20 37 3A 20 6A 72 20 63 2C 67 65 74 69    .cp 7: jr c,geti
009FF0:  73 63 09 09 3B 46 69 6E 64 20 73 74 61 72 74 20    sc..;Find start 
00A000:  6C 20 67 62 62 79 74 65 3A 20 6C 64 20 64 2C 61    l gbbyte: ld d,a
00A010:  3A 20 63 61 6C 6C 20 26 42 43 39 35 09 3B 63 6F    : call &BC95.;co
00A020:  70 79 20 22 77 69 64 74 68 22 20 62 79 74 65 0D    py "width" byte.
00A030:  0A 0D 0A 09 20 6C 64 20 61 2C 28 68 65 69 67 68    .... ld a,(heigh
00A040:  74 29 3A 20 6C 64 20 62 2C 61 0D 0A 2E 73 74 6F    t): ld b,a...sto
00A050:  73 6C 70 09 20 6C 64 20 63 2C 64 0D 0A 2E 73 74    slp. ld c,d...st
00A060:  62 73 6C 70 09 20 69 6E 63 20 68 6C 09 09 09 09    bslp. inc hl....
00A070:  09 3B 63 6F 70 79 20 65 61 63 68 20 63 68 61 72    .;copy each char
00A080:  61 63 74 65 72 0D 0A 09 20 70 75 73 68 20 62 63    acter... push bc
00A090:  0D 0A 09 20 20 63 61 6C 6C 20 67 62 62 79 74 65    ...  call gbbyte
00A0A0:  3A 20 63 61 6C 6C 20 26 42 43 39 35 0D 0A 09 20    : call &BC95... 
00A0B0:  70 6F 70 20 62 63 0D 0A 09 20 64 65 63 20 63 3A    pop bc... dec c:
00A0C0:  20 6A 72 20 6E 7A 2C 73 74 62 73 6C 70 0D 0A 09     jr nz,stbslp...
00A0D0:  20 64 6A 6E 7A 20 73 74 6F 73 6C 70 0D 0A 09 70     djnz stoslp...p
00A0E0:  6F 70 20 62 63 0D 0A 09 69 6E 63 20 62 3A 20 6C    op bc...inc b: l
00A0F0:  64 20 61 2C 31 32 33 09 09 09 09 3B 72 65 70 65    d a,123....;repe
00A100:  61 74 20 75 6E 74 69 6C 20 66 69 6E 69 73 68 65    at until finishe
00A110:  64 2E 2E 2E 21 0D 0A 09 63 70 20 62 3A 20 6A 72    d...!...cp b: jr
00A120:  20 6E 7A 2C 73 74 72 73 6C 70 0D 0A 0D 0A 09 63     nz,strslp.....c
00A130:  61 6C 6C 20 26 42 43 38 46 09 09 09 09 3B 63 6C    all &BC8F....;cl
00A140:  6F 73 65 20 6F 75 74 70 75 74 20 66 69 6C 65 0D    ose output file.
00A150:  0A 09 72 65 74 0D 0A 0D 0A 09 3B 2A 2A 2A 20 7C    ..ret.....;*** |
00A160:  4C 4F 41 44 2C 40 68 65 69 67 68 74 0D 0A 09 3B    LOAD,@height...;
00A170:  20 20 20 20 66 69 6C 65 20 6D 75 73 74 20 61 6C        file must al
00A180:  72 65 61 64 79 20 62 65 20 6F 70 65 6E 0D 0A 0D    ready be open...
00A190:  0A 2E 6C 6F 61 64 5F 69 09 70 75 73 68 20 69 78    ..load_i.push ix
00A1A0:  3A 20 70 6F 70 20 69 79 0D 0A 0D 0A 09 6C 64 20    : pop iy.....ld 
00A1B0:  63 2C 32 35 35 3A 20 6C 64 20 62 2C 31 30 0D 0A    c,255: ld b,10..
00A1C0:  2E 63 68 6B 6C 70 09 63 61 6C 6C 20 26 42 43 38    .chklp.call &BC8
00A1D0:  30 0D 0A 09 78 6F 72 20 63 3A 20 6C 64 20 63 2C    0...xor c: ld c,
00A1E0:  61 0D 0A 09 64 6A 6E 7A 20 63 68 6B 6C 70 0D 0A    a...djnz chklp..
00A1F0:  0D 0A 09 6C 64 20 61 2C 63 3A 20 6C 64 20 63 2C    ...ld a,c: ld c,
00A200:  61 64 64 72 65 73 73 20 28 79 29 0D 0A 09 73 75    address (y)...su
00A210:  62 20 37 3A 20 61 64 64 20 68 6C 2C 64 65 3A 20    b 7: add hl,de: 
00A220:  6A 72 20 67 65 74 69 79 6C 0D 0A 0D 0A 2E 67 65    jr getiyl.....ge
00A230:  74 69 73 63 09 6C 64 20 65 2C 28 69 78 2B 34 29    tisc.ld e,(ix+4)
00A240:  3A 20 6C 64 20 64 2C 28 69 78 2B 35 29 09 3B 46    : ld d,(ix+5).;F
00A250:  69 6E 64 20 73 74 61 72 74 20 61 64 64 72 65 73    ind start addres
00A260:  73 20 28 79 2B 78 29 0D 0A 09 61 64 64 20 68 6C    s (y+x)...add hl
00A270:  2C 64 65 0D 0A 09 6C 64 20 64 2C 36 34 09 09 09    ,de...ld d,64...
00A280:  09 3B 43 61 6C 63 75 6C 61 74 65 20 62 69 74 77    .;Calculate bitw
00A290:  69 73 65 20 76 61 6C 75 65 0D 0A 2E 63 6C 63 62    ise value...clcb
00A2A0:  69 74 09 6F 72 20 61 3A 20 6A 72 20 7A 2C 67 6F    it.or a: jr z,go
00A2B0:  74 62 69 74 0D 0A 09 72 72 63 20 64 3A 20 64 65    tbit...rrc d: de
00A2C0:  63 20 61 3A 20 6A 72 20 63 6C 63 62 69 74 0D 0A    c a: jr clcbit..
00A2D0:  0D 0A 2E 67 6F 74 62 69 74 09 6A 70 20 67 62 62    ...gotbit.jp gbb
00A2E0:  79 74 65 09 09 09 3B 47 65 74 20 62 79 74 65 0D    yte...;Get byte.
00A2F0:  0A 0D 0A 09 3B 2A 2A 2A 20 7C 52 53 58 4F 46 46    ....;*** |RSXOFF
00A300:  0D 0A 0D 0A 2E 72 73 78 6F 5F 69 09 6C 64 20 68    .....rsxo_i.ld h
00A310:  6C 2C 28 26 42 43 44 32 29 3A 20 72 65 73 20 37    l,(&BCD2): res 7
00A320:  2C 68 0D 0A 09 63 61 6C 6C 20 26 42 39 30 36 09    ,h...call &B906.
00A330:  09 09 3B 6C 6F 77 65 72 20 52 4F 4D 20 6F 6E 0D    ..;lower ROM on.
00A340:  0A 09 69 6E 63 20 68 6C 3A 20 69 6E 63 20 68 6C    ..inc hl: inc hl
00A350:  3A 20 69 6E 63 20 68 6C 0D 0A 09 6C 64 20 65 2C    : inc hl...ld e,
00A360:  28 68 6C 29 3A 20 69 6E 63 20 68 6C 0D 0A 09 6C    (hl): inc hl...l
00A370:  64 20 64 2C 28 68 6C 29 3A 20 70 75 73 68 20 64    d d,(hl): push d
00A380:  65 3A 20 65 78 20 64 65 2C 68 6C 09 3B 48 4C 3D    e: ex de,hl.;HL=
00A390:  77 6F 72 6B 73 70 61 63 65 20 70 6F 69 6E 74 65    workspace pointe
00A3A0:  72 0D 0A 09 20 6C 64 20 65 2C 28 68 6C 29 3A 20    r... ld e,(hl): 
00A3B0:  69 6E 63 20 68 6C 0D 0A 09 20 6C 64 20 64 2C 28    inc hl... ld d,(
00A3C0:  68 6C 29 3A 20 65 78 20 64 65 2C 68 6C 09 09 3B    hl): ex de,hl..;
00A3D0:  48 4C 3D 61 64 64 72 65 73 73 20 6F 66 20 52 53    HL=address of RS
00A3E0:  58 20 77 6F 72 6B 73 70 61 63 65 0D 0A 09 20 6C    X workspace... l
00A3F0:  64 20 65 2C 28 68 6C 29 3A 20 69 6E 63 20 68 6C    d e,(hl): inc hl
00A400:  31 0D 0A 09 63 70 20 32 34 30 3A 20 6A 70 20 6E    1...cp 240: jp n
00A410:  7A 2C 6C 64 65 72 72 0D 0A 0D 0A 09 63 61 6C 6C    z,lderr.....call
00A420:  20 26 42 43 38 30 3A 20 6C 64 20 28 68 65 69 67     &BC80: ld (heig
00A430:  68 74 29 2C 61 0D 0A 09 63 61 6C 6C 20 26 42 43    ht),a...call &BC
00A440:  38 30 3A 20 6C 64 20 28 6C 61 73 74 6C 66 29 2C    80: ld (lastlf),
00A450:  61 0D 0A 0D 0A 09 6C 64 20 62 2C 33 32 0D 0A 0D    a.....ld b,32...
00A460:  0A 2E 73 74 72 5F 6C 70 09 70 75 73 68 20 62 63    ..str_lp.push bc
00A470:  0D 0A 09 20 6C 64 20 61 2C 62 3A 20 63 61 6C 6C    ... ld a,b: call
00A480:  20 73 74 61 64 64 72 09 09 3B 66 69 6E 64 20 73     staddr..;find s
00A490:  74 61 72 74 20 61 64 64 72 65 73 73 0D 0A 09 20    tart address... 
00A4A0:  63 61 6C 6C 20 26 42 43 38 30 3A 20 63 61 6C 6C    call &BC80: call
00A4B0:  20 70 62 62 79 74 65 09 3B 70 75 74 20 62 79 74     pbbyte.;put byt
00A4C0:  65 0D 0A 09 20 6C 64 20 64 2C 61 0D 0A 0D 0A 09    e... ld d,a.....
00A4D0:  20 6C 64 20 61 2C 28 68 65 69 67 68 74 29 3A 20     ld a,(height): 
00A4E0:  6C 64 20 62 2C 61 0D 0A 2E 73 74 6F 5F 6C 70 09    ld b,a...sto_lp.
00A4F0:  20 6C 64 20 63 2C 64 0D 0A 2E 73 74 62 5F 6C 70     ld c,d...stb_lp
00A500:  09 20 69 6E 63 20 68 6C 0D 0A 09 20 70 75 73 68    . inc hl... push
00A510:  20 62 63 3A 20 63 61 6C 6C 20 26 42 43 38 30 3A     bc: call &BC80:
00A520:  20 63 61 6C 6C 20 70 62 62 79 74 65 3A 20 70 6F     call pbbyte: po
00A530:  70 20 62 63 0D 0A 09 20 64 65 63 20 63 3A 20 6A    p bc... dec c: j
00A540:  72 20 6E 7A 2C 73 74 62 5F 6C 70 0D 0A 09 20 64    r nz,stb_lp... d
00A550:  6A 6E 7A 20 73 74 6F 5F 6C 70 0D 0A 0D 0A 09 70    jnz sto_lp.....p
00A560:  6F 70 20 62 63 0D 0A 09 69 6E 63 20 62 3A 20 6C    op bc...inc b: l
00A570:  64 20 61 2C 31 32 33 0D 0A 09 63 70 20 62 20 3A    d a,123...cp b :
00A580:  20 6A 72 20 6E 7A 2C 73 74 72 5F 6C 70 0D 0A 09     jr nz,str_lp...
00A590:  63 61 6C 6C 20 26 42 43 37 41 09 09 09 3B 63 6C    call &BC7A...;cl
00A5A0:  6F 73 65 20 69 6E 70 75 74 20 66 69 6C 65 0D 0A    ose input file..
00A5B0:  0D 0A 09 6C 64 20 68 6C 2C 30 3A 20 6C 64 20 61    ...ld hl,0: ld a
00A5C0:  2C 28 68 65 69 67 68 74 29 09 09 3B 63 61 6C 63    ,(height)..;calc
00A5D0:  75 6C 61 74 65 20 68 65 69 67 68 74 0D 0A 09 64    ulate height...d
00A5E0:  65 63 20 61 20 20 3A 20 6A 72 20 7A 2C 6C 61 73    ec a  : jr z,las
00A5F0:  74 68 74 0D 0A 09 6C 64 20 65 2C 61 20 3A 20 6C    tht...ld e,a : l
00A600:  4E 45 57 2C 68 65 69 67 68 74 2C 6C 61 73 74 6C    NEW,height,lastl
00A610:  66 2C 63 68 61 72 0D 0A 0D 0A 2E 6E 65 77 5F 5F    f,char.....new__
00A620:  69 09 6C 64 20 61 2C 28 69 78 2B 34 29 20 3A 20    i.ld a,(ix+4) : 
00A630:  6C 64 20 28 68 65 69 67 68 74 29 2C 61 0D 0A 09    ld (height),a...
00A640:  6C 64 20 61 2C 28 69 78 2B 32 29 20 3A 20 6C 64    ld a,(ix+2) : ld
00A650:  20 28 6C 61 73 74 6C 66 29 2C 61 0D 0A 09 6C 64     (lastlf),a...ld
00A660:  20 68 6C 2C 62 75 66 66 65 72 3A 20 6C 64 20 64     hl,buffer: ld d
00A670:  65 2C 62 75 66 66 65 72 2B 31 0D 0A 09 6C 64 20    e,buffer+1...ld 
00A680:  62 63 2C 35 31 31 20 20 20 3A 20 6C 64 20 28 68    bc,511   : ld (h
00A690:  6C 29 2C 30 3A 20 6C 64 69 72 0D 0A 09 6C 64 20    l),0: ldir...ld 
00A6A0:  68 6C 2C 62 75 66 66 65 72 3A 20 6C 64 20 28 68    hl,buffer: ld (h
00A6B0:  6C 29 2C 34 0D 0A 09 6A 72 20 63 6F 70 79 5F 65    l),4...jr copy_e
00A6C0:  0D 0A 0D 0A 09 3B 2A 2A 2A 20 7C 43 4F 50 59 2C    .....;*** |COPY,
00A6D0:  66 72 6F 6D 2C 74 6F 0D 0A 0D 0A 2E 63 6F 70 79    from,to.....copy
00A6E0:  5F 69 09 6C 64 20 61 2C 28 69 78 2B 32 29 3A 20    _i.ld a,(ix+2): 
00A6F0:  63 61 6C 6C 20 73 74 61 64 64 72 0D 0A 09 6C 64    call staddr...ld
00A700:  20 61 2C 68 3A 20 72 6C 63 61 3A 20 72 6C 63 61     a,h: rlca: rlca
00A710:  3A 20 61 6E 64 20 33 3A 20 61 64 64 20 26 43 34    : and 3: add &C4
00A720:  0D 0A 09 6C 64 20 62 2C 26 37 46 3A 20 6F 75 74    ...ld b,&7F: out
00A730:  20 28 63 29 2C 61 3A 20 72 65 73 20 37 2C 68 3A     (c),a: res 7,h:
00A740:  20 73 65 74 20 36 2C 68 0D 0A 09 6C 64 20 64 65     set 6,h...ld de
00A750:  2C 62 75 66 66 65 72 3A 20 6C 64 20 62 63 2C 35    ,buffer: ld bc,5
00A760:  31 32 3A 20 6C 64 69 72 0D 0A 0D 0A 2E 63 6F 70    12: ldir.....cop
00A770:  79 5F 65 09 6C 64 20 61 2C 28 69 78 2B 30 29 3A    y_e.ld a,(ix+0):
00A780:  20 63 61 6C 6C 20 73 74 61 64 64 72 0D 0A 09 6C     call staddr...l
00A790:  64 20 61 2C 68 3A 20 72 6C 63 61 3A 20 72 6C 63    d a,h: rlca: rlc
00A7A0:  61 3A 20 61 6E 64 20 33 3A 20 61 64 64 20 26 43    a: and 3: add &C
00A7B0:  34 0D 0A 09 6C 64 20 62 2C 26 37 46 3A 20 6F 75    4...ld b,&7F: ou
00A7C0:  74 20 28 63 29 2C 61 3A 20 72 65 73 20 37 2C 68    t (c),a: res 7,h
00A7D0:  3A 20 73 65 74 20 36 2C 68 0D 0A 09 65 78 20 64    : set 6,h...ex d
00A7E0:  65 2C 68 6C 3A 20 6C 64 20 68 6C 2C 62 75 66 66    e,hl: ld hl,buff
00A7F0:  65 72 3A 20 6C 64 20 62 63 2C 35 31 32 3A 20 6C    er: ld bc,512: l
00A800:  64 20 64 2C 30 0D 0A 09 6C 64 20 62 2C 37 0D 0A    d d,0...ld b,7..
00A810:  2E 6D 75 6C 74 5F 6C 09 61 64 64 20 68 6C 2C 64    .mult_l.add hl,d
00A820:  65 0D 0A 09 64 6A 6E 7A 20 6D 75 6C 74 5F 6C 0D    e...djnz mult_l.
00A830:  0A 0D 0A 2E 6C 61 73 74 68 74 09 6C 64 20 61 2C    ....lastht.ld a,
00A840:  28 6C 61 73 74 6C 66 29 0D 0A 09 6C 64 20 65 2C    (lastlf)...ld e,
00A850:  61 3A 20 6C 64 20 64 2C 30 3A 20 61 64 64 20 68    a: ld d,0: add h
00A860:  6C 2C 64 65 0D 0A 09 65 78 20 64 65 2C 68 6C 0D    l,de...ex de,hl.
00A870:  0A 09 6C 64 20 6C 2C 28 69 79 29 3A 20 6C 64 20    ..ld l,(iy): ld 
00A880:  68 2C 28 69 79 2B 31 29 09 09 3B 70 6C 61 63 65    h,(iy+1)..;place
00A890:  20 69 6E 20 76 61 72 69 61 62 6C 65 0D 0A 09 6C     in variable...l
00A8A0:  64 20 28 68 6C 29 2C 65 3A 20 69 6E 63 20 68 6C    d (hl),e: inc hl
00A8B0:  0D 0A 09 6C 64 20 28 68 6C 29 2C 64 3A 20 72 65    ...ld (hl),d: re
00A8C0:  74 0D 0A 0D 0A 2E 6C 64 65 72 72 09 63 61 6C 6C    t.....lderr.call
00A8D0:  20 26 42 43 37 44 3A 20 72 65 74 0D 0A 0D 0A 09     &BC7D: ret.....
00A8E0:  3B 2A 2A 2A 20 7C 57 49 44 54 48 2C 63 68 61 72    ;*** |WIDTH,char
00A8F0:  2C 40 6E 25 0D 0A 0D 0A 2E 77 69 64 74 5F 69 09    ,@n%.....widt_i.
00A900:  6C 64 20 61 2C 28 69 78 2B 32 29 0D 0A 09 63 61    ld a,(ix+2)...ca
00A910:  6C 6C 20 73 74 61 64 64 72 3A 20 63 61 6C 6C 20    ll staddr: call 
00A920:  67 62 62 79 74 65 0D 0A 09 6C 64 20 6C 2C 28 69    gbbyte...ld l,(i
00A930:  78 2B 30 29 3A 20 6C 64 20 68 2C 28 69 78 2B 31    x+0): ld h,(ix+1
00A940:  29 0D 0A 09 6C 64 20 28 68 6C 29 2C 61 20 20 3A    )...ld (hl),a  :
00A950:  20 69 6E 63 20 68 6C 0D 0A 09 6C 64 20 28 68 6C     inc hl...ld (hl
00A960:  29 2C 30 20 20 3A 20 72 65 74 0D 0A 0D 0A 09 3B    ),0  : ret.....;
00A970:  2A 2A 2A 20 7C 50 4C 4F 54 2C 63 68 61 72 2C 78    *** |PLOT,char,x
00A980:  2C 79 0D 0A 0D 0A 2E 70 6C 6F 74 5F 69 09 6C 64    ,y.....plot_i.ld
00A990:  20 6C 2C 28 69 78 2B 32 29 3A 20 6C 64 20 68 2C     l,(ix+2): ld h,
00A9A0:  28 69 78 2B 33 29 0D 0A 09 70 75 73 68 20 68 6C    (ix+3)...push hl
00A9B0:  0D 0A 2E 70 6C 6F 74 5F 6C 09 20 64 65 63 20 69    ...plot_l. dec i
00A9C0:  78 3A 20 64 65 63 20 69 78 3A 20 63 61 6C 6C 20    x: dec ix: call 
00A9D0:  63 61 6C 63 78 79 0D 0A 09 20 69 6E 63 20 69 78    calcxy... inc ix
00A9E0:  3A 20 69 6E 63 20 69 78 0D 0A 09 20 61 6E 64 20    : inc ix... and 
00A9F0:  64 3A 20 6A 72 20 7A 2C 70 6C 6F 74 5F 30 0D 0A    d: jr z,plot_0..
00AA00:  64 69 72 0D 0A 0D 0A 09 6C 64 20 62 63 2C 26 37    dir.....ld bc,&7
00AA10:  46 43 30 3A 20 6F 75 74 20 28 63 29 2C 63 3A 20    FC0: out (c),c: 
00AA20:  72 65 74 0D 0A 0D 0A 09 3B 2A 2A 2A 20 7C 52 45    ret.....;*** |RE
00AA30:  44 4F 2C 77 69 64 74 68 2C 63 68 61 72 61 63 74    DO,width,charact
00AA40:  65 72 0D 0A 0D 0A 2E 72 65 64 6F 5F 69 09 6C 64    er.....redo_i.ld
00AA50:  20 69 79 2C 62 75 66 66 65 72 3A 20 6C 64 20 61     iy,buffer: ld a
00AA60:  2C 28 69 78 2B 32 29 0D 0A 09 6C 64 20 28 69 79    ,(ix+2)...ld (iy
00AA70:  29 2C 61 3A 20 69 6E 63 20 69 79 0D 0A 0D 0A 09    ),a: inc iy.....
00AA80:  6C 64 20 61 2C 28 69 78 2B 30 29 3A 20 63 61 6C    ld a,(ix+0): cal
00AA90:  6C 20 73 74 61 64 64 72 0D 0A 09 63 61 6C 6C 20    l staddr...call 
00AAA0:  67 62 62 79 74 65 3A 20 69 6E 63 20 68 6C 0D 0A    gbbyte: inc hl..
00AAB0:  09 63 70 20 28 69 78 2B 32 29 3A 20 72 65 74 20    .cp (ix+2): ret 
00AAC0:  7A 09 09 3B 52 65 74 75 72 6E 20 69 66 20 77 69    z..;Return if wi
00AAD0:  64 74 68 20 74 68 65 20 73 61 6D 65 0D 0A 09 6A    dth the same...j
00AAE0:  72 20 63 2C 6C 61 72 67 65 72 0D 0A 0D 0A 09 6C    r c,larger.....l
00AAF0:  64 20 62 63 2C 28 68 65 69 67 68 74 29 09 09 09    d bc,(height)...
00AB00:  3B 4E 65 77 20 6F 6E 65 20 73 6D 61 6C 6C 65 72    ;New one smaller
00AB10:  0D 0A 09 6C 64 20 65 2C 61 3A 20 6C 64 20 64 2C    ...ld e,a: ld d,
00AB20:  30 0D 0A 2E 72 73 69 5F 6F 6C 09 70 75 73 68 20    0...rsi_ol.push 
00AB30:  68 6C 0D 0A 09 20 6C 64 20 62 2C 28 69 78 2B 32    hl... ld b,(ix+2
00AB40:  29 0D 0A 2E 72 73 69 5F 6C 70 09 20 70 75 73 68    )...rsi_lp. push
00AB50:  20 62 63 3A 20 63 61 6C 6C 20 67 62 62 79 74 65     bc: call gbbyte
00AB60:  3A 20 70 6F 70 20 62 63 0D 0A 09 20 6C 64 20 28    : pop bc... ld (
00AB70:  69 79 29 2C 61 3A 20 69 6E 63 20 69 79 3A 20 69    iy),a: inc iy: i
00AB80:  6E 63 20 68 6C 0D 0A 09 20 64 6A 6E 7A 20 72 73    nc hl... djnz rs
00AB90:  69 5F 6C 70 0D 0A 09 70 6F 70 20 68 6C 3A 20 61    i_lp...pop hl: a
00ABA0:  64 64 20 68 6C 2C 64 65 0D 0A 09 64 65 63 20 63    dd hl,de...dec c
00ABB0:  3A 20 6A 72 20 6E 7A 2C 72 73 69 5F 6F 6C 0D 0A    : jr nz,rsi_ol..
00ABC0:  09 6A 70 20 63 6F 70 79 5F 65 0D 0A 0D 0A 2E 6C    .jp copy_e.....l
00ABD0:  61 72 67 65 72 09 6C 64 20 62 63 2C 28 68 65 69    arger.ld bc,(hei
00ABE0:  67 68 74 29 09 09 09 3B 4E 65 77 20 6F 6E 65 20    ght)...;New one 
00ABF0:  6C 61 72 67 65 72 0D 0A 09 6C 64 20 65 2C 61 0D    larger...ld e,a.
00AC00:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
00AC10:  09 00 01 00 02 09 4E E5 09 00 C1 02 00 00 00 02    ......N.........
00AC20:  09 00 C6 02 00 00 00 02 09 00 C2 02 00 00 00 02    ................
00AC30:  09 00 C7 02 00 00 00 02 09 00 C3 02 00 00 00 02    ................
00AC40:  09 00 C8 02 00 00 00 02 09 00 C4 02 00 00 00 02    ................
00AC50:  09 00 C9 02 00 00 00 02 09 00 C5 02 00 00 00 02    ................
00AC60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00AC70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00AC80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00AC90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00ACA0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00ACB0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00ACC0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00ACD0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00ACE0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00ACF0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00AD00:  0D 0A 09 6C 64 20 64 2C 28 68 6C 29 3A 20 70 6F    ...ld d,(hl): po
00AD10:  70 20 69 78 09 09 3B 44 45 3D 61 64 64 72 65 73    p ix..;DE=addres
00AD20:  73 20 6F 66 20 6E 65 78 74 20 52 53 58 20 77 6F    s of next RSX wo
00AD30:  72 6B 73 70 61 63 65 0D 0A 09 6C 64 20 28 69 78    rkspace...ld (ix
00AD40:  29 2C 65 3A 20 6C 64 20 28 69 78 2B 31 29 2C 64    ),e: ld (ix+1),d
00AD50:  09 09 3B 75 70 64 61 74 65 20 77 6F 72 6B 73 70    ..;update worksp
00AD60:  61 63 65 20 70 6F 69 6E 74 65 72 0D 0A 09 63 61    ace pointer...ca
00AD70:  6C 6C 20 26 42 39 30 43 09 09 09 3B 72 65 73 74    ll &B90C...;rest
00AD80:  6F 72 65 20 52 4F 4D 20 73 74 61 74 65 0D 0A 09    ore ROM state...
00AD90:  72 65 74 0D 0A 0D 0A 09 3B 2A 2A 2A 20 53 75 62    ret.....;*** Sub
00ADA0:  72 6F 75 74 69 6E 65 73 0D 0A 0D 0A 09 3B 2B 2B    routines.....;++
00ADB0:  2B 20 47 65 74 20 62 79 74 65 20 66 72 6F 6D 20    + Get byte from 
00ADC0:  48 4C 20 69 6E 20 73 65 63 6F 6E 64 20 36 34 6B    HL in second 64k
00ADD0:  20 28 63 6F 72 72 75 70 74 73 20 42 43 29 0D 0A     (corrupts BC)..
00ADE0:  0D 0A 2E 67 62 62 79 74 65 09 70 75 73 68 20 68    ...gbbyte.push h
00ADF0:  6C 0D 0A 0D 0A 09 20 6C 64 20 61 2C 68 0D 0A 09    l..... ld a,h...
00AE00:  20 72 6C 63 61 3A 20 72 6C 63 61 0D 0A 09 20 61     rlca: rlca... a
00AE10:  6E 64 20 33 3A 20 61 64 64 20 26 43 34 0D 0A 0D    nd 3: add &C4...
00AE20:  0A 09 20 6C 64 20 62 2C 26 37 46 0D 0A 09 20 6F    .. ld b,&7F... o
00AE30:  75 74 20 28 63 29 2C 61 0D 0A 0D 0A 09 20 72 65    ut (c),a..... re
00AE40:  73 20 37 2C 68 3A 20 73 65 74 20 36 2C 68 0D 0A    s 7,h: set 6,h..
00AE50:  09 20 6C 64 20 61 2C 28 68 6C 29 0D 0A 0D 0A 09    . ld a,(hl).....
00AE60:  70 6F 70 20 68 6C 0D 0A 09 6C 64 20 62 63 2C 26    pop hl...ld bc,&
00AE70:  37 46 43 30 3A 20 6F 75 74 20 28 63 29 2C 63 0D    7FC0: out (c),c.
00AE80:  0A 09 72 65 74 0D 0A 0D 0A 09 3B 2B 2B 2B 20 50    ..ret.....;+++ P
00AE90:  75 74 20 62 79 74 65 20 74 6F 20 48 4C 20 69 6E    ut byte to HL in
00AEA0:  20 73 65 63 6F 6E 64 20 36 34 6B 20 28 63 6F 72     second 64k (cor
00AEB0:  72 75 70 74 73 20 42 43 29 0D 0A 0D 0A 2E 70 62    rupts BC).....pb
00AEC0:  62 79 74 65 09 70 75 73 68 20 68 6C 3A 20 70 75    byte.push hl: pu
00AED0:  73 68 20 61 66 0D 0A 09 20 6C 64 20 61 2C 68 0D    sh af... ld a,h.
00AEE0:  0A 09 20 72 6C 63 61 3A 20 72 6C 63 61 0D 0A 09    .. rlca: rlca...
00AEF0:  20 61 6E 64 20 33 3A 20 61 64 64 20 26 43 34 0D     and 3: add &C4.
00AF00:  33 3A 20 6A 70 20 7A 2C 6D 72 69 67 68 74 0D 0A    3: jp z,mright..
00AF10:  09 63 70 20 32 34 34 3A 20 6A 70 20 7A 2C 6C 75    .cp 244: jp z,lu
00AF20:  70 0D 0A 09 63 70 20 32 34 35 3A 20 6A 70 20 7A    p...cp 245: jp z
00AF30:  2C 6C 64 6F 77 6E 0D 0A 09 63 70 20 32 34 36 3A    ,ldown...cp 246:
00AF40:  20 6A 70 20 7A 2C 6C 6C 65 66 74 0D 0A 09 63 70     jp z,lleft...cp
00AF50:  20 32 34 37 3A 20 6A 70 20 7A 2C 6C 72 69 67 68     247: jp z,lrigh
00AF60:  74 0D 0A 09 6A 70 20 65 64 69 74 6C 70 0D 0A 0D    t...jp editlp...
00AF70:  0A 2E 6D 64 6F 77 6E 09 6C 64 20 68 6C 2C 28 65    ..mdown.ld hl,(e
00AF80:  74 6F 70 29 3A 09 64 65 63 20 68 6C 3A 09 64 65    top):.dec hl:.de
00AF90:  63 20 68 6C 3A 09 63 61 6C 6C 20 74 63 68 65 63    c hl:.call tchec
00AFA0:  6B 3A 20 6C 64 20 28 65 74 6F 70 29 2C 68 6C 3A    k: ld (etop),hl:
00AFB0:  20 20 20 6A 70 20 76 62 6C 69 6E 65 0D 0A 2E 6D       jp vbline...m
00AFC0:  75 70 09 6C 64 20 68 6C 2C 28 65 62 6F 74 74 6D    up.ld hl,(ebottm
00AFD0:  29 3A 09 69 6E 63 20 68 6C 3A 09 69 6E 63 20 68    ):.inc hl:.inc h
00AFE0:  6C 3A 09 63 61 6C 6C 20 62 63 68 65 63 6B 3A 20    l:.call bcheck: 
00AFF0:  6C 64 20 28 65 62 6F 74 74 6D 29 2C 68 6C 3A 20    ld (ebottm),hl: 
00B000:  6A 70 20 76 62 6C 69 6E 65 0D 0A 2E 6D 72 69 67    jp vbline...mrig
00B010:  68 74 09 6C 64 20 64 65 2C 28 65 6C 65 66 74 29    ht.ld de,(eleft)
00B020:  3A 09 69 6E 63 20 64 65 3A 09 09 63 61 6C 6C 20    :.inc de:..call 
00B030:  6C 63 68 65 63 6B 3A 20 6C 64 20 28 65 6C 65 66    lcheck: ld (elef
00B040:  74 29 2C 64 65 3A 20 20 6A 70 20 68 62 6C 69 6E    t),de:  jp hblin
00B050:  65 0D 0A 2E 6D 6C 65 66 74 09 6C 64 20 64 65 2C    e...mleft.ld de,
00B060:  28 65 72 69 67 68 74 29 3A 09 64 65 63 20 64 65    (eright):.dec de
00B070:  3A 09 09 63 61 6C 6C 20 72 63 68 65 63 6B 3A 20    :..call rcheck: 
00B080:  6C 64 20 28 65 72 69 67 68 74 29 2C 64 65 3A 20    ld (eright),de: 
00B090:  6A 70 20 68 62 6C 69 6E 65 0D 0A 0D 0A 2E 6C 64    jp hbline.....ld
00B0A0:  6F 77 6E 09 6C 64 20 68 6C 2C 28 65 74 6F 70 29    own.ld hl,(etop)
00B0B0:  3A 09 69 6E 63 20 68 6C 3A 09 69 6E 63 20 68 6C    :.inc hl:.inc hl
00B0C0:  3A 09 63 61 6C 6C 20 74 63 68 65 63 6B 3A 20 6C    :.call tcheck: l
00B0D0:  64 20 28 65 74 6F 70 29 2C 68 6C 3A 20 20 20 64    d (etop),hl:   d
00B0E0:  65 63 20 68 6C 3A 20 64 65 63 20 68 6C 3A 20 6A    ec hl: dec hl: j
00B0F0:  70 20 76 72 6C 69 6E 65 0D 0A 2E 6C 75 70 09 6C    p vrline...lup.l
00B100:  0A 09 20 6C 64 20 62 2C 26 37 46 3A 20 6F 75 74    .. ld b,&7F: out
00B110:  20 28 63 29 2C 61 0D 0A 09 20 72 65 73 20 37 2C     (c),a... res 7,
00B120:  68 3A 20 73 65 74 20 36 2C 68 0D 0A 09 70 6F 70    h: set 6,h...pop
00B130:  20 61 66 3A 20 6C 64 20 28 68 6C 29 2C 61 3A 20     af: ld (hl),a: 
00B140:  70 6F 70 20 68 6C 0D 0A 09 6C 64 20 62 63 2C 26    pop hl...ld bc,&
00B150:  37 46 43 30 3A 20 6F 75 74 20 28 63 29 2C 63 0D    7FC0: out (c),c.
00B160:  0A 09 72 65 74 0D 0A 0D 0A 09 3B 2B 2B 2B 20 46    ..ret.....;+++ F
00B170:  69 6E 64 20 73 74 61 72 74 20 61 64 64 72 65 73    ind start addres
00B180:  73 20 6F 66 20 63 68 61 72 61 63 74 65 72 20 41    s of character A
00B190:  20 69 6E 20 48 4C 20 28 63 6F 72 72 75 70 74 73     in HL (corrupts
00B1A0:  20 41 29 0D 0A 0D 0A 2E 73 74 61 64 64 72 09 73     A).....staddr.s
00B1B0:  75 62 20 33 32 0D 0A 09 6C 64 20 6C 2C 61 3A 20    ub 32...ld l,a: 
00B1C0:  6C 64 20 68 2C 30 0D 0A 09 61 64 64 20 68 6C 2C    ld h,0...add hl,
00B1D0:  68 6C 3A 20 61 64 64 20 68 6C 2C 68 6C 3A 20 61    hl: add hl,hl: a
00B1E0:  64 64 20 68 6C 2C 68 6C 3A 20 61 64 64 20 68 6C    dd hl,hl: add hl
00B1F0:  2C 68 6C 0D 0A 09 61 64 64 20 68 6C 2C 68 6C 3A    ,hl...add hl,hl:
00B200:  20 61 64 64 20 68 6C 2C 68 6C 3A 20 61 64 64 20     add hl,hl: add 
00B210:  68 6C 2C 68 6C 3A 20 61 64 64 20 68 6C 2C 68 6C    hl,hl: add hl,hl
00B220:  0D 0A 09 61 64 64 20 68 6C 2C 68 6C 0D 0A 09 72    ...add hl,hl...r
00B230:  65 74 0D 0A 0D 0A 09 3B 2A 2A 2A 20 44 61 74 61    et.....;*** Data
00B240:  0D 0A 0D 0A 2E 66 69 6C 65 69 64 09 64 62 20 22    .....fileid.db "
00B250:  46 6F 6E 74 20 66 69 6C 65 22 2C 32 36 0D 0A 0D    Font file",26...
00B260:  0A 09 3B 2B 2B 2B 20 50 61 74 74 65 72 6E 20 64    ..;+++ Pattern d
00B270:  61 74 61 0D 0A 0D 0A 2E 70 61 74 31 78 31 09 64    ata.....pat1x1.d
00B280:  62 20 31 33 36 2C 31 33 36 2C 30 2C 30 2C 31 32    b 136,136,0,0,12
00B290:  38 2C 30 30 30 2C 30 2C 30 2C 31 32 38 2C 30 30    8,000,0,0,128,00
00B2A0:  30 2C 30 2C 30 2C 31 32 38 2C 30 30 30 2C 30 2C    0,0,0,128,000,0,
00B2B0:  30 0D 0A 2E 70 61 74 32 78 32 09 64 62 20 31 33    0...pat2x2.db 13
00B2C0:  36 2C 31 33 36 2C 30 2C 30 2C 31 32 38 2C 31 32    6,136,0,0,128,12
00B2D0:  38 2C 30 2C 30 2C 31 33 36 2C 31 33 36 2C 30 2C    8,0,0,136,136,0,
00B2E0:  30 2C 31 32 38 2C 31 32 38 2C 30 2C 30 0D 0A 2E    0,128,128,0,0...
00B2F0:  70 61 74 34 78 34 09 64 62 20 31 33 36 2C 31 33    pat4x4.db 136,13
00B300:  64 20 68 6C 2C 28 65 62 6F 74 74 6D 29 3A 09 64    d hl,(ebottm):.d
00B310:  65 63 20 68 6C 3A 09 64 65 63 20 68 6C 3A 09 63    ec hl:.dec hl:.c
00B320:  61 6C 6C 20 62 63 68 65 63 6B 3A 20 6C 64 20 28    all bcheck: ld (
00B330:  65 62 6F 74 74 6D 29 2C 68 6C 3A 20 69 6E 63 20    ebottm),hl: inc 
00B340:  68 6C 3A 20 69 6E 63 20 68 6C 3A 20 6A 70 20 76    hl: inc hl: jp v
00B350:  72 6C 69 6E 65 0D 0A 2E 6C 72 69 67 68 74 09 6C    rline...lright.l
00B360:  64 20 64 65 2C 28 65 6C 65 66 74 29 3A 09 64 65    d de,(eleft):.de
00B370:  63 20 64 65 3A 09 09 63 61 6C 6C 20 6C 63 68 65    c de:..call lche
00B380:  63 6B 3A 20 6C 64 20 28 65 6C 65 66 74 29 2C 64    ck: ld (eleft),d
00B390:  65 3A 20 20 69 6E 63 20 64 65 3A 20 20 20 20 20    e:  inc de:     
00B3A0:  20 20 20 20 6A 70 20 68 72 6C 69 6E 65 0D 0A 2E        jp hrline...
00B3B0:  6C 6C 65 66 74 09 6C 64 20 64 65 2C 28 65 72 69    lleft.ld de,(eri
00B3C0:  67 68 74 29 3A 09 69 6E 63 20 64 65 3A 09 09 63    ght):.inc de:..c
00B3D0:  61 6C 6C 20 72 63 68 65 63 6B 3A 20 6C 64 20 28    all rcheck: ld (
00B3E0:  65 72 69 67 68 74 29 2C 64 65 3A 20 64 65 63 20    eright),de: dec 
00B3F0:  64 65 3A 20 20 20 20 20 20 20 20 20 6A 70 20 68    de:         jp h
00B400:  72 6C 69 6E 65 0D 0A 0D 0A 2E 76 62 6C 69 6E 65    rline.....vbline
00B410:  09 6C 64 20 64 65 2C 28 65 6C 65 66 74 29 3A 20    .ld de,(eleft): 
00B420:  20 70 75 73 68 20 68 6C 3A 20 63 61 6C 6C 20 26     push hl: call &
00B430:  42 42 43 30 3A 20 70 6F 70 20 68 6C 0D 0A 09 6C    BBC0: pop hl...l
00B440:  64 20 64 65 2C 28 65 72 69 67 68 74 29 3A 20 63    d de,(eright): c
00B450:  61 6C 6C 20 26 42 42 46 36 3A 20 6A 70 20 65 64    all &BBF6: jp ed
00B460:  69 74 6C 70 0D 0A 2E 68 62 6C 69 6E 65 09 6C 64    itlp...hbline.ld
00B470:  20 68 6C 2C 28 65 74 6F 70 29 0D 0A 09 70 75 73     hl,(etop)...pus
00B480:  68 20 68 6C 3A 20 63 61 6C 6C 20 26 42 42 43 30    h hl: call &BBC0
00B490:  3A 20 70 6F 70 20 64 65 0D 0A 09 6C 64 20 68 6C    : pop de...ld hl
00B4A0:  2C 28 65 62 6F 74 74 6D 29 3A 20 6F 72 20 61 3A    ,(ebottm): or a:
00B4B0:  20 73 62 63 20 68 6C 2C 64 65 0D 0A 09 6C 64 20     sbc hl,de...ld 
00B4C0:  64 65 2C 30 3A 20 63 61 6C 6C 20 26 42 42 46 39    de,0: call &BBF9
00B4D0:  3A 20 6A 70 20 65 64 69 74 6C 70 0D 0A 0D 0A 2E    : jp editlp.....
00B4E0:  76 72 6C 69 6E 65 09 70 75 73 68 20 68 6C 0D 0A    vrline.push hl..
00B4F0:  09 20 6C 64 20 64 65 2C 30 3A 20 73 72 6C 20 68    . ld de,0: srl h
00B500:  36 2C 30 2C 30 2C 31 33 36 2C 31 33 36 2C 30 2C    6,0,0,136,136,0,
00B510:  30 2C 31 33 36 2C 31 33 36 2C 30 2C 30 2C 31 33    0,136,136,0,0,13
00B520:  36 2C 31 33 36 2C 30 2C 30 0D 0A 0D 0A 09 3B 2A    6,136,0,0.....;*
00B530:  2A 2A 20 56 61 72 69 61 62 6C 65 73 0D 0A 0D 0A    ** Variables....
00B540:  2E 67 73 69 7A 65 09 64 62 20 31 09 09 09 09 09    .gsize.db 1.....
00B550:  3B 67 72 69 64 20 73 69 7A 65 20 28 31 2C 32 2C    ;grid size (1,2,
00B560:  34 29 0D 0A 2E 67 6E 65 78 74 09 64 62 20 38 09    4)...gnext.db 8.
00B570:  09 09 09 09 3B 61 64 64 69 74 69 6F 6E 20 66 6F    ....;addition fo
00B580:  72 20 6E 65 78 74 20 70 6F 73 69 74 69 6F 6E 0D    r next position.
00B590:  0A 2E 67 70 61 74 74 09 64 73 20 31 36 09 09 09    ..gpatt.ds 16...
00B5A0:  09 09 3B 70 61 74 74 65 72 6E 20 64 61 74 61 0D    ..;pattern data.
00B5B0:  0A 2E 68 65 69 67 68 74 09 64 62 20 30 09 09 09    ..height.db 0...
00B5C0:  09 09 3B 68 65 69 67 68 74 20 44 49 56 20 37 0D    ..;height DIV 7.
00B5D0:  0A 2E 6C 61 73 74 6C 66 09 64 62 20 30 09 09 09    ..lastlf.db 0...
00B5E0:  09 09 3B 68 65 69 67 68 74 20 4D 4F 44 20 37 0D    ..;height MOD 7.
00B5F0:  0A 2E 62 75 66 66 65 72 09 64 73 20 35 31 32 09    ..buffer.ds 512.
00B600:  09 09 09 09 3B 63 6F 70 79 20 63 68 61 72 61 63    ....;copy charac
00B610:  74 65 72 20 62 75 66 66 65 72 0D 0A 1A 72 6C 64    ter buffer...rld
00B620:  20 43 6F 64 69 6E 67 20 70 72 6F 64 75 63 74 69     Coding producti
00B630:  6F 6E 20 66 6F 72 20 53 65 6E 74 69 6E 65 6C 0D    on for Sentinel.
00B640:  0A 09 3B 66 6F 6E 74 20 65 64 69 74 6F 72 20 52    ..;font editor R
00B650:  53 58 20 6C 69 62 72 61 72 79 0D 0A 0D 0A 09 3B    SX library.....;
00B660:  76 31 2E 30 20 20 20 20 20 20 32 31 20 4D 61 72    v1.0      21 Mar
00B670:  63 68 20 31 39 39 33 0D 0A 0D 0A 09 6F 72 67 20    ch 1993.....org 
00B680:  62 20 31 33 36 2C 31 33 36 2C 30 2C 30 2C 31 32    b 136,136,0,0,12
00B690:  38 2C 30 30 30 2C 30 2C 30 2C 31 32 38 2C 30 30    8,000,0,0,128,00
00B6A0:  30 2C 30 2C 30 2C 31 32 38 2C 30 30 30 2C 30 2C    0,0,0,128,000,0,
00B6B0:  30 0D 0A 2E 70 61 74 32 78 32 09 64 62 20 31 33    0...pat2x2.db 13
00B6C0:  36 2C 31 33 36 2C 30 2C 30 2C 31 32 38 2C 31 32    6,136,0,0,128,12
00B6D0:  38 2C 30 2C 30 2C 31 33 36 2C 31 33 36 2C 30 2C    8,0,0,136,136,0,
00B6E0:  30 2C 31 32 38 2C 31 32 38 2C 30 2C 30 0D 0A 2E    0,128,128,0,0...
00B6F0:  70 61 74 34 78 34 09 64 62 20 31 33 36 2C 31 33    pat4x4.db 136,13
00B700:  3A 20 72 72 20 6C 3A 20 63 61 6C 6C 20 26 42 43    : rr l: call &BC
00B710:  31 44 3A 20 70 75 73 68 20 68 6C 3A 20 70 6F 70    1D: push hl: pop
00B720:  20 64 65 0D 0A 09 20 72 65 73 20 37 2C 68 3A 20     de... res 7,h: 
00B730:  6C 64 20 62 63 2C 38 30 3A 20 6C 64 69 72 0D 0A    ld bc,80: ldir..
00B740:  09 70 6F 70 20 68 6C 0D 0A 09 6C 64 20 64 65 2C    .pop hl...ld de,
00B750:  26 46 46 46 46 3A 09 70 75 73 68 20 68 6C 3A 20    &FFFF:.push hl: 
00B760:  63 61 6C 6C 20 26 42 42 43 30 3A 20 70 6F 70 20    call &BBC0: pop 
00B770:  68 6C 0D 0A 09 6C 64 20 64 65 2C 28 65 6C 65 66    hl...ld de,(elef
00B780:  74 29 3A 09 70 75 73 68 20 68 6C 3A 20 63 61 6C    t):.push hl: cal
00B790:  6C 20 26 42 42 46 36 3A 20 70 6F 70 20 68 6C 0D    l &BBF6: pop hl.
00B7A0:  0A 09 6C 64 20 64 65 2C 28 65 72 69 67 68 74 29    ..ld de,(eright)
00B7B0:  3A 09 70 75 73 68 20 68 6C 3A 20 63 61 6C 6C 20    :.push hl: call 
00B7C0:  26 42 42 43 30 3A 20 70 6F 70 20 68 6C 0D 0A 09    &BBC0: pop hl...
00B7D0:  6C 64 20 64 65 2C 36 34 30 3A 09 63 61 6C 6C 20    ld de,640:.call 
00B7E0:  26 42 42 46 36 0D 0A 09 6A 70 20 65 64 69 74 6C    &BBF6...jp editl
00B7F0:  70 0D 0A 0D 0A 2E 68 72 6C 69 6E 65 09 6C 64 20    p.....hrline.ld 
00B800:  68 6C 2C 28 65 74 6F 70 29 3A 20 73 72 6C 20 68    hl,(etop): srl h
00B810:  3A 20 72 72 20 6C 3A 20 64 65 63 20 68 6C 0D 0A    : rr l: dec hl..
00B820:  09 70 75 73 68 20 64 65 0D 0A 09 20 6C 64 20 64    .push de... ld d
00B830:  65 2C 28 65 62 6F 74 74 6D 29 3A 20 73 72 6C 20    e,(ebottm): srl 
00B840:  64 3A 20 72 72 20 65 0D 0A 09 20 70 75 73 68 20    d: rr e... push 
00B850:  68 6C 0D 0A 09 20 20 6F 72 20 61 3A 20 73 62 63    hl...  or a: sbc
00B860:  20 68 6C 2C 64 65 0D 0A 09 20 20 6C 64 20 61 2C     hl,de...  ld a,
00B870:  6C 0D 0A 09 20 20 6F 72 20 61 3A 20 6A 70 20 7A    l...  or a: jp z
00B880:  2C 63 68 66 61 69 32 0D 0A 09 20 70 6F 70 20 68    ,chfai2... pop h
00B890:  6C 0D 0A 09 70 6F 70 20 64 65 0D 0A 09 70 75 73    l...pop de...pus
00B8A0:  68 20 61 66 0D 0A 09 20 63 61 6C 6C 20 26 42 43    h af... call &BC
00B8B0:  31 44 0D 0A 09 20 6C 64 20 61 2C 63 0D 0A 09 70    1D... ld a,c...p
00B8C0:  6F 70 20 62 63 0D 0A 09 6C 64 20 63 2C 61 0D 0A    op bc...ld c,a..
00B8D0:  2E 68 72 6C 6E 6C 70 09 72 65 73 20 37 2C 68 3A    .hrlnlp.res 7,h:
00B8E0:  20 6C 64 20 61 2C 28 68 6C 29 3A 20 61 6E 64 20     ld a,(hl): and 
00B8F0:  63 0D 0A 09 73 65 74 20 37 2C 68 3A 20 6A 72 20    c...set 7,h: jr 
00B900:  0D 0A 09 3B 50 72 6F 2D 45 78 74 20 67 72 61 70    ...;Pro-Ext grap
00B910:  68 69 63 73 20 63 6F 6E 76 65 72 73 69 6F 6E 20    hics conversion 
00B920:  75 74 69 6C 69 74 79 0D 0A 09 3B 4D 61 63 68 69    utility...;Machi
00B930:  6E 65 20 63 6F 64 65 20 73 6F 75 72 63 65 20 28    ne code source (
00B940:  63 29 20 52 69 63 68 61 72 64 20 46 61 69 72 68    c) Richard Fairh
00B950:  75 72 73 74 20 31 39 39 33 0D 0A 0D 0A 09 6F 72    urst 1993.....or
00B960:  67 20 26 39 30 30 30 0D 0A 09 77 72 69 74 65 20    g &9000...write 
00B970:  22 67 72 61 70 68 69 63 73 2E 62 69 6E 22 0D 0A    "graphics.bin"..
00B980:  09 6E 6F 6C 69 73 74 0D 0A 0D 0A 09 6C 64 20 68    .nolist.....ld h
00B990:  6C 2C 77 6B 73 70 09 09 09 3B 53 65 74 20 75 70    l,wksp...;Set up
00B9A0:  20 52 53 58 73 0D 0A 09 6C 64 20 62 63 2C 63 6F     RSXs...ld bc,co
00B9B0:  6D 5F 74 0D 0A 09 6A 70 20 26 42 43 44 31 0D 0A    m_t...jp &BCD1..
00B9C0:  0D 0A 2E 77 6B 73 70 09 64 73 20 34 09 09 09 09    ...wksp.ds 4....
00B9D0:  3B 43 68 61 69 6E 20 6C 69 6E 6B 20 77 6F 72 6B    ;Chain link work
00B9E0:  73 70 61 63 65 0D 0A 0D 0A 2E 63 6F 6D 5F 74 09    space.....com_t.
00B9F0:  64 77 20 6E 61 6D 65 5F 74 09 09 09 3B 43 6F 6D    dw name_t...;Com
00BA00:  6D 61 6E 64 20 74 61 62 6C 65 0D 0A 09 6A 70 20    mand table...jp 
00BA10:  77 72 63 75 74 0D 0A 09 6A 70 20 6D 31 74 6F 32    wrcut...jp m1to2
00BA20:  0D 0A 09 6A 70 20 63 70 79 68 32 6C 0D 0A 09 6A    ...jp cpyh2l...j
00BA30:  70 20 63 70 79 6C 32 68 0D 0A 09 6A 70 20 77 69    p cpyl2h...jp wi
00BA40:  6E 6C 6F 64 0D 0A 09 6A 70 20 73 63 72 6C 6F 64    nlod...jp scrlod
00BA50:  0D 0A 09 6A 70 20 6D 66 63 6C 6F 64 0D 0A 09 6A    ...jp mfclod...j
00BA60:  70 20 66 61 64 65 0D 0A 09 6A 70 20 66 64 65 6C    p fade...jp fdel
00BA70:  32 68 0D 0A 09 6A 70 20 65 64 69 74 0D 0A 09 6A    2h...jp edit...j
00BA80:  70 20 63 61 74 0D 0A 09 6A 70 20 6F 70 65 6E 6F    p cat...jp openo
00BA90:  69 0D 0A 09 6A 70 20 6F 70 65 6E 69 69 0D 0A 09    i...jp openii...
00BAA0:  6A 70 20 72 73 78 6F 66 66 0D 0A 0D 0A 2E 6E 61    jp rsxoff.....na
00BAB0:  6D 65 5F 74 09 73 74 72 20 22 57 52 43 55 54 22    me_t.str "WRCUT"
00BAC0:  09 09 09 3B 4E 61 6D 65 20 74 61 62 6C 65 0D 0A    ...;Name table..
00BAD0:  09 73 74 72 20 22 4D 4F 44 45 31 54 4F 32 22 0D    .str "MODE1TO2".
00BAE0:  0A 09 73 74 72 20 22 43 4F 50 59 48 32 4C 22 0D    ..str "COPYH2L".
00BAF0:  0A 09 73 74 72 20 22 43 4F 50 59 4C 32 48 22 0D    ..str "COPYL2H".
00BB00:  6E 7A 2C 6E 70 62 79 74 65 0D 0A 09 6C 64 20 61    nz,npbyte...ld a
00BB10:  2C 63 3A 20 63 70 6C 3A 20 61 6E 64 20 28 68 6C    ,c: cpl: and (hl
00BB20:  29 0D 0A 09 6C 64 20 28 68 6C 29 2C 61 0D 0A 2E    )...ld (hl),a...
00BB30:  6E 70 62 79 74 65 09 63 61 6C 6C 20 6E 6C 69 6E    npbyte.call nlin
00BB40:  65 0D 0A 09 64 6A 6E 7A 20 68 72 6C 6E 6C 70 0D    e...djnz hrlnlp.
00BB50:  0A 09 6A 70 20 65 64 69 74 6C 70 0D 0A 0D 0A 2E    ..jp editlp.....
00BB60:  74 63 68 65 63 6B 09 6C 64 20 64 65 2C 28 65 62    tcheck.ld de,(eb
00BB70:  6F 74 74 6D 29 0D 0A 09 6C 64 20 61 2C 68 3A 20    ottm)...ld a,h: 
00BB80:  63 70 20 26 30 31 3A 20 6A 72 20 6E 7A 2C 74 63    cp &01: jr nz,tc
00BB90:  6E 6F 6C 6D 3A 20 6C 64 20 61 2C 6C 3A 20 63 70    nolm: ld a,l: cp
00BBA0:  20 26 39 32 3A 20 6A 72 20 7A 2C 63 68 66 61 69     &92: jr z,chfai
00BBB0:  6C 0D 0A 2E 74 63 6E 6F 6C 6D 09 6C 64 20 61 2C    l...tcnolm.ld a,
00BBC0:  68 3A 20 63 70 20 64 3A 20 20 20 72 65 74 20 6E    h: cp d:   ret n
00BBD0:  7A 3A 20 20 20 20 20 20 20 6C 64 20 61 2C 6C 3A    z:       ld a,l:
00BBE0:  20 63 70 20 65 3A 20 20 20 72 65 74 20 6E 7A 0D     cp e:   ret nz.
00BBF0:  0A 09 6A 72 20 63 68 66 61 69 6C 0D 0A 0D 0A 2E    ..jr chfail.....
00BC00:  62 63 68 65 63 6B 09 6C 64 20 64 65 2C 28 65 74    bcheck.ld de,(et
00BC10:  6F 70 29 0D 0A 09 6C 64 20 61 2C 68 3A 20 63 70    op)...ld a,h: cp
00BC20:  20 26 46 46 3A 20 6A 72 20 6E 7A 2C 62 63 6E 6F     &FF: jr nz,bcno
00BC30:  6C 6D 3A 20 6C 64 20 61 2C 6C 3A 20 63 70 20 26    lm: ld a,l: cp &
00BC40:  46 43 3A 20 6A 72 20 7A 2C 63 68 66 61 69 6C 0D    FC: jr z,chfail.
00BC50:  0A 2E 62 63 6E 6F 6C 6D 09 6C 64 20 61 2C 68 3A    ..bcnolm.ld a,h:
00BC60:  20 63 70 20 64 3A 20 20 20 72 65 74 20 6E 7A 3A     cp d:   ret nz:
00BC70:  20 20 20 20 20 20 20 6C 64 20 61 2C 6C 3A 20 63           ld a,l: c
00BC80:  70 20 65 3A 20 20 20 72 65 74 20 6E 7A 0D 0A 09    p e:   ret nz...
00BC90:  6A 72 20 63 68 66 61 69 6C 0D 0A 0D 0A 2E 6C 63    jr chfail.....lc
00BCA0:  68 65 63 6B 09 6C 64 20 68 6C 2C 28 65 72 69 67    heck.ld hl,(erig
00BCB0:  68 74 29 0D 0A 09 6C 64 20 61 2C 64 3A 20 63 70    ht)...ld a,d: cp
00BCC0:  20 26 46 46 3A 20 6A 72 20 6E 7A 2C 6C 63 6E 6F     &FF: jr nz,lcno
00BCD0:  6C 6D 3A 20 6C 64 20 61 2C 65 3A 20 63 70 20 26    lm: ld a,e: cp &
00BCE0:  46 45 3A 20 6A 72 20 7A 2C 63 68 66 61 69 6C 0D    FE: jr z,chfail.
00BCF0:  0A 2E 6C 63 6E 6F 6C 6D 09 6C 64 20 61 2C 64 3A    ..lcnolm.ld a,d:
00BD00:  0A 09 73 74 72 20 22 57 49 4E 4C 4F 41 44 22 0D    ..str "WINLOAD".
00BD10:  0A 09 73 74 72 20 22 53 43 52 4C 4F 41 44 22 0D    ..str "SCRLOAD".
00BD20:  0A 09 73 74 72 20 22 4D 46 43 4C 4F 41 44 22 0D    ..str "MFCLOAD".
00BD30:  0A 09 73 74 72 20 22 46 41 44 45 53 43 52 22 0D    ..str "FADESCR".
00BD40:  0A 09 73 74 72 20 22 46 41 44 45 4C 32 48 22 0D    ..str "FADEL2H".
00BD50:  0A 09 73 74 72 20 22 45 44 49 54 22 0D 0A 09 73    ..str "EDIT"...s
00BD60:  74 72 20 22 43 41 54 22 0D 0A 09 73 74 72 20 22    tr "CAT"...str "
00BD70:  4F 50 45 4E 4F 55 54 22 0D 0A 09 73 74 72 20 22    OPENOUT"...str "
00BD80:  4F 50 45 4E 49 4E 22 0D 0A 09 73 74 72 20 22 52    OPENIN"...str "R
00BD90:  53 58 4F 46 46 22 0D 0A 09 64 62 20 30 0D 0A 0D    SXOFF"...db 0...
00BDA0:  0A 09 3B 7C 45 44 49 54 2C 40 6C 65 66 74 2C 40    ..;|EDIT,@left,@
00BDB0:  72 69 67 68 74 2C 40 74 6F 70 2C 40 62 6F 74 74    right,@top,@bott
00BDC0:  6F 6D 0D 0A 0D 0A 2E 65 64 69 74 09 6C 64 20 68    om.....edit.ld h
00BDD0:  6C 2C 26 46 46 46 46 3A 20 6C 64 20 28 65 6C 65    l,&FFFF: ld (ele
00BDE0:  66 74 29 20 2C 68 6C 0D 0A 09 6C 64 20 68 6C 2C    ft) ,hl...ld hl,
00BDF0:  36 34 30 3A 20 20 20 6C 64 20 28 65 72 69 67 68    640:   ld (erigh
00BE00:  74 29 2C 68 6C 0D 0A 09 6C 64 20 68 6C 2C 34 30    t),hl...ld hl,40
00BE10:  30 3A 20 20 20 6C 64 20 28 65 74 6F 70 29 20 20    0:   ld (etop)  
00BE20:  2C 68 6C 0D 0A 09 6C 64 20 68 6C 2C 26 46 46 46    ,hl...ld hl,&FFF
00BE30:  45 3A 20 6C 64 20 28 65 62 6F 74 74 6D 29 2C 68    E: ld (ebottm),h
00BE40:  6C 0D 0A 0D 0A 09 6C 64 20 61 2C 31 3A 20 63 61    l.....ld a,1: ca
00BE50:  6C 6C 20 26 42 42 44 45 09 0D 0A 09 6C 64 20 61    ll &BBDE....ld a
00BE60:  2C 32 3A 20 63 61 6C 6C 20 26 42 43 30 45 0D 0A    ,2: call &BC0E..
00BE70:  09 63 61 6C 6C 20 66 64 65 6C 32 68 0D 0A 0D 0A    .call fdel2h....
00BE80:  2E 65 64 69 74 6C 70 09 63 61 6C 6C 20 26 42 42    .editlp.call &BB
00BE90:  31 38 0D 0A 09 63 70 20 32 32 34 3A 09 6A 70 20    18...cp 224:.jp 
00BEA0:  7A 2C 65 65 78 69 74 0D 0A 09 63 70 20 31 33 3A    z,eexit...cp 13:
00BEB0:  09 6A 70 20 7A 2C 65 65 78 69 74 0D 0A 09 63 70    .jp z,eexit...cp
00BEC0:  20 32 34 30 3A 20 6A 70 20 7A 2C 6D 75 70 0D 0A     240: jp z,mup..
00BED0:  09 63 70 20 32 34 31 3A 20 6A 70 20 7A 2C 6D 64    .cp 241: jp z,md
00BEE0:  6F 77 6E 0D 0A 09 63 70 20 32 34 32 3A 20 6A 70    own...cp 242: jp
00BEF0:  20 7A 2C 6D 6C 65 66 74 0D 0A 09 63 70 20 32 34     z,mleft...cp 24
00BF00:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
00BF10:  0A 00 01 00 02 09 4E E5 0A 00 C4 02 00 00 00 02    ......N.........
00BF20:  0A 00 C9 02 00 00 00 02 0A 00 C5 02 00 00 00 02    ................
00BF30:  0A 00 C1 02 00 00 00 02 0A 00 C6 02 00 00 00 02    ................
00BF40:  0A 00 C2 02 00 00 00 02 0A 00 C7 02 00 00 00 02    ................
00BF50:  0A 00 C3 02 00 00 00 02 0A 00 C8 02 00 00 00 02    ................
00BF60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00BF70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00BF80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00BF90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00BFA0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00BFB0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00BFC0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00BFD0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00BFE0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00BFF0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00C000:  26 42 43 38 33 3A 20 63 61 6C 6C 20 26 34 30 30    &BC83: call &400
00C010:  30 09 3B 63 6F 6D 70 72 65 73 73 65 64 0D 0A 09    0.;compressed...
00C020:  6A 70 20 26 42 43 37 41 0D 0A 0D 0A 09 3B 7C 4D    jp &BC7A.....;|M
00C030:  46 43 4C 4F 41 44 2C 40 72 65 73 75 6C 74 25 2C    FCLOAD,@result%,
00C040:  66 69 6C 65 6E 61 6D 65 24 0D 0A 0D 0A 2E 6D 66    filename$.....mf
00C050:  63 6C 6F 64 09 63 61 6C 6C 20 6F 70 65 6E 69 6E    clod.call openin
00C060:  0D 0A 0D 0A 09 65 78 20 64 65 2C 68 6C 3A 20 63    .....ex de,hl: c
00C070:  61 6C 6C 20 26 42 43 38 33 3A 20 63 61 6C 6C 20    all &BC83: call 
00C080:  26 42 43 37 41 0D 0A 09 6C 64 20 61 2C 32 3A 20    &BC7A...ld a,2: 
00C090:  63 61 6C 6C 20 26 42 43 30 45 0D 0A 09 63 61 6C    call &BC0E...cal
00C0A0:  6C 20 26 38 30 30 30 0D 0A 09 6C 64 20 61 2C 28    l &8000...ld a,(
00C0B0:  26 38 30 38 38 29 3A 20 61 6E 64 20 33 3A 20 63    &8088): and 3: c
00C0C0:  70 20 32 0D 0A 09 72 65 74 20 7A 0D 0A 09 64 69    p 2...ret z...di
00C0D0:  3A 20 65 78 78 0D 0A 09 20 72 65 73 20 30 2C 63    : exx... res 0,c
00C0E0:  3A 20 73 65 74 20 31 2C 63 0D 0A 09 65 78 78 3A    : set 1,c...exx:
00C0F0:  20 65 69 0D 0A 09 63 61 6C 6C 20 6D 31 74 6F 32     ei...call m1to2
00C100:  0D 0A 09 72 65 74 0D 0A 0D 0A 09 3B 7C 57 52 43    ...ret.....;|WRC
00C110:  55 54 2C 77 69 64 74 68 2C 64 65 70 74 68 2C 40    UT,width,depth,@
00C120:  72 65 73 75 6C 74 25 2C 66 69 6C 65 6E 61 6D 65    result%,filename
00C130:  24 0D 0A 0D 0A 2E 77 72 63 75 74 09 63 61 6C 6C    $.....wrcut.call
00C140:  20 6F 70 65 6E 6F 0D 0A 0D 0A 09 6C 64 20 6C 2C     openo.....ld l,
00C150:  28 69 78 2B 34 29 3A 20 6C 64 20 68 2C 28 69 78    (ix+4): ld h,(ix
00C160:  2B 35 29 0D 0A 09 6C 64 20 65 2C 28 69 78 2B 36    +5)...ld e,(ix+6
00C170:  29 3A 20 6C 64 20 64 2C 28 69 78 2B 37 29 0D 0A    ): ld d,(ix+7)..
00C180:  0D 0A 09 64 65 63 20 68 6C 0D 0A 09 6C 64 20 28    ...dec hl...ld (
00C190:  64 65 70 74 68 29 2C 68 6C 0D 0A 09 64 65 63 20    depth),hl...dec 
00C1A0:  68 6C 3A 20 64 65 63 20 68 6C 0D 0A 0D 0A 09 6C    hl: dec hl.....l
00C1B0:  64 20 61 2C 6C 3A 20 63 61 6C 6C 20 26 42 43 39    d a,l: call &BC9
00C1C0:  35 0D 0A 09 6C 64 20 61 2C 68 3A 20 63 61 6C 6C    5...ld a,h: call
00C1D0:  20 26 42 43 39 35 0D 0A 0D 0A 09 70 75 73 68 20     &BC95.....push 
00C1E0:  64 65 0D 0A 09 20 64 65 63 20 64 65 3A 20 64 65    de... dec de: de
00C1F0:  63 20 64 65 0D 0A 09 20 6C 64 20 61 2C 65 3A 20    c de... ld a,e: 
00C200:  73 74 6F 72 65 20 52 4F 4D 20 73 74 61 74 65 0D    store ROM state.
00C210:  0A 09 72 65 74 0D 0A 0D 0A 09 3B 2A 2A 2A 20 4F    ..ret.....;*** O
00C220:  70 65 6E 20 6F 75 74 70 75 74 20 66 69 6C 65 20    pen output file 
00C230:  28 73 68 6F 75 6C 64 20 62 65 20 66 69 72 73 74    (should be first
00C240:  20 43 41 4C 4C 29 0D 0A 09 3B 72 65 73 75 6C 74     CALL)...;result
00C250:  20 69 73 20 30 20 69 66 20 75 6E 73 75 63 63 65     is 0 if unsucce
00C260:  73 73 66 75 6C 2C 20 31 20 69 66 20 6F 6B 0D 0A    ssful, 1 if ok..
00C270:  0D 0A 2E 6F 70 65 6E 6F 69 09 63 61 6C 6C 20 6F    ...openoi.call o
00C280:  70 65 6E 6F 0D 0A 09 72 65 74 0D 0A 0D 0A 2E 6F    peno...ret.....o
00C290:  70 65 6E 6F 09 63 61 6C 6C 20 26 42 43 39 32 0D    peno.call &BC92.
00C2A0:  0A 0D 0A 09 6C 64 20 6C 2C 28 69 78 29 3A 20 6C    ....ld l,(ix): l
00C2B0:  64 20 68 2C 28 69 78 2B 31 29 0D 0A 09 6C 64 20    d h,(ix+1)...ld 
00C2C0:  62 2C 28 68 6C 29 3A 20 69 6E 63 20 68 6C 0D 0A    b,(hl): inc hl..
00C2D0:  09 6C 64 20 65 2C 28 68 6C 29 3A 20 69 6E 63 20    .ld e,(hl): inc 
00C2E0:  68 6C 0D 0A 09 6C 64 20 64 2C 28 68 6C 29 3A 20    hl...ld d,(hl): 
00C2F0:  65 78 20 64 65 2C 68 6C 0D 0A 09 6C 64 20 64 65    ex de,hl...ld de
00C300:  2C 62 75 66 66 3A 20 70 75 73 68 20 69 78 0D 0A    ,buff: push ix..
00C310:  09 63 61 6C 6C 20 26 42 43 38 43 3A 20 70 6F 70    .call &BC8C: pop
00C320:  20 69 78 0D 0A 0D 0A 09 6A 72 20 63 2C 73 75 63     ix.....jr c,suc
00C330:  63 0D 0A 09 6C 64 20 6C 2C 28 69 78 2B 32 29 3A    c...ld l,(ix+2):
00C340:  20 6C 64 20 68 2C 28 69 78 2B 33 29 0D 0A 09 6C     ld h,(ix+3)...l
00C350:  64 20 28 68 6C 29 2C 30 3A 20 69 6E 63 20 68 6C    d (hl),0: inc hl
00C360:  0D 0A 09 6C 64 20 28 68 6C 29 2C 30 3A 20 70 6F    ...ld (hl),0: po
00C370:  70 20 68 6C 0D 0A 09 72 65 74 0D 0A 0D 0A 2E 6F    p hl...ret.....o
00C380:  73 75 63 63 09 6C 64 20 6C 2C 28 69 78 2B 32 29    succ.ld l,(ix+2)
00C390:  3A 20 6C 64 20 68 2C 28 69 78 2B 33 29 0D 0A 09    : ld h,(ix+3)...
00C3A0:  6C 64 20 28 68 6C 29 2C 31 3A 20 69 6E 63 20 68    ld (hl),1: inc h
00C3B0:  6C 0D 0A 09 6C 64 20 28 68 6C 29 2C 30 3A 20 72    l...ld (hl),0: r
00C3C0:  65 74 0D 0A 0D 0A 0D 0A 09 3B 2A 2A 2A 20 4F 70    et.......;*** Op
00C3D0:  65 6E 20 69 6E 70 75 74 20 66 69 6C 65 20 28 73    en input file (s
00C3E0:  68 6F 75 6C 64 20 62 65 20 66 69 72 73 74 20 43    hould be first C
00C3F0:  41 4C 4C 29 0D 0A 09 3B 72 65 73 75 6C 74 20 69    ALL)...;result i
00C400:  63 61 6C 6C 20 26 42 43 39 35 0D 0A 09 20 6C 64    call &BC95... ld
00C410:  20 61 2C 64 3A 20 63 61 6C 6C 20 26 42 43 39 35     a,d: call &BC95
00C420:  0D 0A 09 70 6F 70 20 64 65 0D 0A 0D 0A 09 6C 64    ...pop de.....ld
00C430:  20 61 2C 64 0D 0A 09 20 61 6E 64 20 33 0D 0A 09     a,d... and 3...
00C440:  20 73 6C 61 20 61 3A 20 73 6C 61 20 61 3A 20 73     sla a: sla a: s
00C450:  6C 61 20 61 0D 0A 09 20 73 6C 61 20 61 3A 20 73    la a... sla a: s
00C460:  6C 61 20 61 0D 0A 09 6C 64 20 64 2C 61 0D 0A 0D    la a...ld d,a...
00C470:  0A 09 6C 64 20 61 2C 65 0D 0A 09 20 73 72 6C 20    ..ld a,e... srl 
00C480:  61 3A 20 73 72 6C 20 61 3A 20 73 72 6C 20 61 0D    a: srl a: srl a.
00C490:  0A 09 20 6F 72 20 64 0D 0A 09 6C 64 20 62 2C 61    .. or d...ld b,a
00C4A0:  0D 0A 09 69 6E 63 20 62 0D 0A 0D 0A 09 63 61 6C    ...inc b.....cal
00C4B0:  6C 20 26 42 42 43 36 0D 0A 09 6C 64 20 28 78 70    l &BBC6...ld (xp
00C4C0:  6F 73 29 2C 64 65 0D 0A 09 6C 64 20 28 79 70 6F    os),de...ld (ypo
00C4D0:  73 29 2C 68 6C 0D 0A 09 6C 64 20 28 6C 65 6E 67    s),hl...ld (leng
00C4E0:  74 68 29 2C 62 63 0D 0A 0D 0A 2E 6F 6C 6F 6F 70    th),bc.....oloop
00C4F0:  09 70 75 73 68 20 62 63 0D 0A 09 20 64 65 63 20    .push bc... dec 
00C500:  64 65 0D 0A 09 20 63 61 6C 6C 20 26 42 42 43 30    de... call &BBC0
00C510:  0D 0A 09 70 6F 70 20 62 63 0D 0A 0D 0A 2E 69 6C    ...pop bc.....il
00C520:  6F 6F 70 09 70 75 73 68 20 62 63 0D 0A 09 20 6C    oop.push bc... l
00C530:  64 20 62 2C 38 0D 0A 2E 74 6C 6F 6F 70 09 20 6C    d b,8...tloop. l
00C540:  64 20 64 65 2C 31 3A 20 6C 64 20 68 6C 2C 30 0D    d de,1: ld hl,0.
00C550:  0A 09 20 70 75 73 68 20 62 63 0D 0A 09 20 20 70    .. push bc...  p
00C560:  75 73 68 20 61 66 0D 0A 09 20 20 20 63 61 6C 6C    ush af...   call
00C570:  20 26 42 42 46 33 3A 20 6C 64 20 63 2C 61 0D 0A     &BBF3: ld c,a..
00C580:  09 20 20 70 6F 70 20 61 66 0D 0A 09 20 20 73 6C    .  pop af...  sl
00C590:  61 20 61 3A 20 6F 72 20 63 0D 0A 09 20 70 6F 70    a a: or c... pop
00C5A0:  20 62 63 0D 0A 09 20 64 6A 6E 7A 20 74 6C 6F 6F     bc... djnz tloo
00C5B0:  70 0D 0A 09 20 63 61 6C 6C 20 26 42 43 39 35 0D    p... call &BC95.
00C5C0:  0A 0D 0A 09 70 6F 70 20 62 63 0D 0A 09 64 6A 6E    ....pop bc...djn
00C5D0:  7A 20 69 6C 6F 6F 70 0D 0A 0D 0A 09 6C 64 20 64    z iloop.....ld d
00C5E0:  65 2C 28 78 70 6F 73 29 0D 0A 09 20 6C 64 20 68    e,(xpos)... ld h
00C5F0:  6C 2C 28 79 70 6F 73 29 0D 0A 09 20 64 65 63 20    l,(ypos)... dec 
00C600:  20 63 70 20 68 3A 20 20 20 72 65 74 20 6E 7A 3A     cp h:   ret nz:
00C610:  20 20 20 20 20 20 20 6C 64 20 61 2C 65 3A 20 63           ld a,e: c
00C620:  70 20 6C 3A 20 20 20 72 65 74 20 6E 7A 0D 0A 09    p l:   ret nz...
00C630:  6A 72 20 63 68 66 61 69 6C 0D 0A 0D 0A 2E 72 63    jr chfail.....rc
00C640:  68 65 63 6B 09 6C 64 20 68 6C 2C 28 65 6C 65 66    heck.ld hl,(elef
00C650:  74 29 0D 0A 09 6C 64 20 61 2C 64 3A 20 63 70 20    t)...ld a,d: cp 
00C660:  26 30 32 3A 20 6A 72 20 6E 7A 2C 72 63 6E 6F 6C    &02: jr nz,rcnol
00C670:  6D 3A 20 6C 64 20 61 2C 65 3A 20 63 70 20 26 38    m: ld a,e: cp &8
00C680:  31 3A 20 6A 72 20 7A 2C 63 68 66 61 69 6C 0D 0A    1: jr z,chfail..
00C690:  2E 72 63 6E 6F 6C 6D 09 6C 64 20 61 2C 64 3A 20    .rcnolm.ld a,d: 
00C6A0:  63 70 20 68 3A 20 20 20 72 65 74 20 6E 7A 3A 20    cp h:   ret nz: 
00C6B0:  20 20 20 20 20 20 6C 64 20 61 2C 65 3A 20 63 70          ld a,e: cp
00C6C0:  20 6C 3A 20 20 20 72 65 74 20 6E 7A 0D 0A 09 6A     l:   ret nz...j
00C6D0:  72 20 63 68 66 61 69 6C 0D 0A 0D 0A 2E 63 68 66    r chfail.....chf
00C6E0:  61 69 32 09 70 6F 70 20 68 6C 0D 0A 2E 63 68 66    ai2.pop hl...chf
00C6F0:  61 69 6C 09 70 6F 70 20 68 6C 3A 20 6A 70 20 65    ail.pop hl: jp e
00C700:  64 69 74 6C 70 0D 0A 0D 0A 2E 65 65 78 69 74 09    ditlp.....eexit.
00C710:  6C 64 20 64 65 2C 28 65 6C 65 66 74 29 3A 09 69    ld de,(eleft):.i
00C720:  6E 63 20 64 65 3A 20 09 6C 64 20 6C 2C 28 69 78    nc de: .ld l,(ix
00C730:  2B 36 29 3A 20 6C 64 20 68 2C 28 69 78 2B 37 29    +6): ld h,(ix+7)
00C740:  3A 20 6C 64 20 28 68 6C 29 2C 65 3A 20 69 6E 63    : ld (hl),e: inc
00C750:  20 68 6C 3A 20 6C 64 20 28 68 6C 29 2C 64 0D 0A     hl: ld (hl),d..
00C760:  09 6C 64 20 64 65 2C 28 65 72 69 67 68 74 29 3A    .ld de,(eright):
00C770:  09 64 65 63 20 64 65 3A 20 09 6C 64 20 6C 2C 28    .dec de: .ld l,(
00C780:  69 78 2B 34 29 3A 20 6C 64 20 68 2C 28 69 78 2B    ix+4): ld h,(ix+
00C790:  35 29 3A 20 6C 64 20 28 68 6C 29 2C 65 3A 20 69    5): ld (hl),e: i
00C7A0:  6E 63 20 68 6C 3A 20 6C 64 20 28 68 6C 29 2C 64    nc hl: ld (hl),d
00C7B0:  0D 0A 09 6C 64 20 64 65 2C 28 65 74 6F 70 29 3A    ...ld de,(etop):
00C7C0:  09 64 65 63 20 64 65 3A 09 64 65 63 20 64 65 3A    .dec de:.dec de:
00C7D0:  09 6C 64 20 6C 2C 28 69 78 2B 32 29 3A 20 6C 64    .ld l,(ix+2): ld
00C7E0:  20 68 2C 28 69 78 2B 33 29 3A 20 6C 64 20 28 68     h,(ix+3): ld (h
00C7F0:  6C 29 2C 65 3A 20 69 6E 63 20 68 6C 3A 20 6C 64    l),e: inc hl: ld
00C800:  68 6C 3A 20 64 65 63 20 68 6C 0D 0A 09 20 6C 64    hl: dec hl... ld
00C810:  20 28 79 70 6F 73 29 2C 68 6C 0D 0A 09 6C 64 20     (ypos),hl...ld 
00C820:  62 63 2C 28 6C 65 6E 67 74 68 29 0D 0A 09 6C 64    bc,(length)...ld
00C830:  20 68 6C 2C 28 64 65 70 74 68 29 0D 0A 09 64 65     hl,(depth)...de
00C840:  63 20 68 6C 0D 0A 09 6C 64 20 61 2C 68 3A 20 6F    c hl...ld a,h: o
00C850:  72 20 6C 3A 20 6A 72 20 7A 2C 71 77 72 63 75 74    r l: jr z,qwrcut
00C860:  0D 0A 09 64 65 63 20 68 6C 0D 0A 09 6C 64 20 28    ...dec hl...ld (
00C870:  64 65 70 74 68 29 2C 68 6C 0D 0A 09 6C 64 20 61    depth),hl...ld a
00C880:  2C 68 3A 20 6F 72 20 6C 0D 0A 09 6C 64 20 68 6C    ,h: or l...ld hl
00C890:  2C 28 79 70 6F 73 29 0D 0A 09 6A 72 20 6E 7A 2C    ,(ypos)...jr nz,
00C8A0:  6F 6C 6F 6F 70 0D 0A 2E 71 77 72 63 75 74 09 6A    oloop...qwrcut.j
00C8B0:  70 20 26 42 43 38 46 0D 0A 0D 0A 2E 78 70 6F 73    p &BC8F.....xpos
00C8C0:  09 64 77 20 30 0D 0A 2E 79 70 6F 73 09 64 77 20    .dw 0...ypos.dw 
00C8D0:  30 0D 0A 2E 6C 65 6E 67 74 68 09 64 77 20 30 0D    0...length.dw 0.
00C8E0:  0A 2E 64 65 70 74 68 09 64 77 20 30 0D 0A 0D 0A    ..depth.dw 0....
00C8F0:  09 3B 7C 4D 4F 44 45 31 54 4F 32 0D 0A 0D 0A 2E    .;|MODE1TO2.....
00C900:  6D 31 74 6F 32 09 6C 64 20 68 6C 2C 26 43 30 30    m1to2.ld hl,&C00
00C910:  30 0D 0A 0D 0A 09 3B 2B 2B 2B 20 4D 61 69 6E 20    0.....;+++ Main 
00C920:  6C 6F 6F 70 0D 0A 0D 0A 2E 6D 6C 6F 6F 70 09 6C    loop.....mloop.l
00C930:  64 20 63 2C 28 68 6C 29 0D 0A 09 63 61 6C 6C 20    d c,(hl)...call 
00C940:  72 6F 75 74 6E 65 0D 0A 09 6C 64 20 28 68 6C 29    routne...ld (hl)
00C950:  2C 64 0D 0A 0D 0A 09 69 6E 63 20 68 6C 0D 0A 09    ,d.....inc hl...
00C960:  6C 64 20 61 2C 68 3A 20 6F 72 20 61 3A 20 6A 72    ld a,h: or a: jr
00C970:  20 6E 7A 2C 6D 6C 6F 6F 70 0D 0A 09 72 65 74 0D     nz,mloop...ret.
00C980:  0A 0D 0A 09 3B 2B 2B 2B 20 53 75 62 72 6F 75 74    ....;+++ Subrout
00C990:  69 6E 65 0D 0A 0D 0A 2E 72 6F 75 74 6E 65 09 6C    ine.....routne.l
00C9A0:  64 20 64 2C 30 0D 0A 09 6C 64 20 62 2C 34 0D 0A    d d,0...ld b,4..
00C9B0:  0D 0A 2E 6C 6F 6F 70 09 6C 64 20 61 2C 63 0D 0A    ...loop.ld a,c..
00C9C0:  09 61 6E 64 20 31 37 0D 0A 09 72 72 63 20 63 0D    .and 17...rrc c.
00C9D0:  0A 0D 0A 09 6F 72 20 61 3A 20 20 6A 72 20 7A 2C    ....or a:  jr z,
00C9E0:  61 73 65 74 0D 0A 0D 0A 09 63 70 20 31 36 3A 20    aset.....cp 16: 
00C9F0:  6A 72 20 6E 7A 2C 6E 6F 74 31 36 0D 0A 09 6C 64    jr nz,not16...ld
00CA00:  20 28 68 6C 29 2C 64 0D 0A 09 6C 64 20 64 65 2C     (hl),d...ld de,
00CA10:  28 65 62 6F 74 74 6D 29 3A 09 69 6E 63 20 64 65    (ebottm):.inc de
00CA20:  3A 20 69 6E 63 20 64 65 3A 09 6C 64 20 6C 2C 28    : inc de:.ld l,(
00CA30:  69 78 2B 30 29 3A 20 6C 64 20 68 2C 28 69 78 2B    ix+0): ld h,(ix+
00CA40:  31 29 3A 20 6C 64 20 28 68 6C 29 2C 65 3A 20 69    1): ld (hl),e: i
00CA50:  6E 63 20 68 6C 3A 20 6C 64 20 28 68 6C 29 2C 64    nc hl: ld (hl),d
00CA60:  0D 0A 09 72 65 74 0D 0A 0D 0A 2E 65 6C 65 66 74    ...ret.....eleft
00CA70:  09 64 77 20 30 0D 0A 2E 65 72 69 67 68 74 09 64    .dw 0...eright.d
00CA80:  77 20 30 0D 0A 2E 65 74 6F 70 09 64 77 20 30 0D    w 0...etop.dw 0.
00CA90:  0A 2E 65 62 6F 74 74 6D 09 64 77 20 30 0D 0A 0D    ..ebottm.dw 0...
00CAA0:  0A 0D 0A 09 3B 7C 43 41 54 0D 0A 0D 0A 2E 63 61    ....;|CAT.....ca
00CAB0:  74 09 6C 64 20 64 65 2C 62 75 66 66 0D 0A 09 6A    t.ld de,buff...j
00CAC0:  70 20 26 42 43 39 42 0D 0A 0D 0A 09 3B 7C 43 4F    p &BC9B.....;|CO
00CAD0:  50 59 48 32 4C 0D 0A 0D 0A 2E 63 70 79 68 32 6C    PYH2L.....cpyh2l
00CAE0:  09 6C 64 20 64 65 2C 26 34 30 30 30 0D 0A 09 6C    .ld de,&4000...l
00CAF0:  64 20 68 6C 2C 26 43 30 30 30 0D 0A 09 6C 64 20    d hl,&C000...ld 
00CB00:  62 63 2C 26 34 30 30 30 0D 0A 09 6C 64 69 72 3A    bc,&4000...ldir:
00CB10:  09 72 65 74 0D 0A 0D 0A 09 3B 7C 43 4F 50 59 4C    .ret.....;|COPYL
00CB20:  32 48 0D 0A 0D 0A 2E 63 70 79 6C 32 68 09 6C 64    2H.....cpyl2h.ld
00CB30:  20 64 65 2C 26 43 30 30 30 0D 0A 09 6C 64 20 68     de,&C000...ld h
00CB40:  6C 2C 26 34 30 30 30 0D 0A 09 6C 64 20 62 63 2C    l,&4000...ld bc,
00CB50:  26 34 30 30 30 0D 0A 09 6C 64 69 72 3A 09 72 65    &4000...ldir:.re
00CB60:  74 0D 0A 0D 0A 09 3B 7C 46 41 44 45 4C 32 48 0D    t.....;|FADEL2H.
00CB70:  0A 0D 0A 2E 66 64 65 6C 32 68 09 6C 64 20 68 6C    ....fdel2h.ld hl
00CB80:  2C 26 43 30 30 30 0D 0A 2E 66 64 65 32 6F 6C 09    ,&C000...fde2ol.
00CB90:  6C 64 20 62 63 2C 32 33 34 30 3A 20 6C 64 20 64    ld bc,2340: ld d
00CBA0:  65 2C 37 0D 0A 09 70 75 73 68 20 68 6C 0D 0A 2E    e,7...push hl...
00CBB0:  66 64 65 32 6C 70 09 20 72 65 73 20 37 2C 68 3A    fde2lp. res 7,h:
00CBC0:  20 6C 64 20 61 2C 28 68 6C 29 0D 0A 09 20 73 65     ld a,(hl)... se
00CBD0:  74 20 37 2C 68 3A 20 6C 64 20 28 68 6C 29 2C 61    t 7,h: ld (hl),a
00CBE0:  0D 0A 09 20 61 64 64 20 68 6C 2C 64 65 3A 20 64    ... add hl,de: d
00CBF0:  65 63 20 62 63 0D 0A 09 20 6C 64 20 61 2C 62 3A    ec bc... ld a,b:
00CC00:  20 61 2C 33 0D 0A 09 6A 72 20 61 73 65 74 0D 0A     a,3...jr aset..
00CC10:  0D 0A 2E 6E 6F 74 31 36 09 63 70 20 31 3A 20 20    ...not16.cp 1:  
00CC20:  6A 72 20 7A 2C 61 73 65 74 0D 0A 09 6C 64 20 61    jr z,aset...ld a
00CC30:  2C 32 0D 0A 0D 0A 2E 61 73 65 74 09 6F 72 20 64    ,2.....aset.or d
00CC40:  0D 0A 09 72 72 63 61 3A 20 72 72 63 61 0D 0A 09    ...rrca: rrca...
00CC50:  6C 64 20 64 2C 61 0D 0A 09 64 6A 6E 7A 20 6C 6F    ld d,a...djnz lo
00CC60:  6F 70 0D 0A 0D 0A 09 72 65 74 0D 0A 0D 0A 09 3B    op.....ret.....;
00CC70:  7C 57 49 4E 4C 4F 41 44 2C 40 72 65 73 75 6C 74    |WINLOAD,@result
00CC80:  25 2C 66 69 6C 65 6E 61 6D 65 24 0D 0A 0D 0A 2E    %,filename$.....
00CC90:  77 69 6E 6C 6F 64 09 63 61 6C 6C 20 6F 70 65 6E    winlod.call open
00CCA0:  69 6E 0D 0A 0D 0A 09 6C 64 20 61 2C 32 3A 20 63    in.....ld a,2: c
00CCB0:  61 6C 6C 20 26 42 43 30 45 0D 0A 09 6C 64 20 68    all &BC0E...ld h
00CCC0:  6C 2C 26 34 30 30 30 3A 20 63 61 6C 6C 20 26 42    l,&4000: call &B
00CCD0:  43 38 33 3A 20 63 61 6C 6C 20 26 42 43 37 41 0D    C83: call &BC7A.
00CCE0:  0A 09 6C 64 20 68 6C 2C 26 33 46 46 42 2B 33 3A    ..ld hl,&3FFB+3:
00CCF0:  20 6C 64 20 64 65 2C 28 68 65 69 67 68 74 29 0D     ld de,(height).
00CD00:  0A 09 61 64 64 20 68 6C 2C 64 65 0D 0A 09 6C 64    ..add hl,de...ld
00CD10:  20 65 2C 28 68 6C 29 3A 20 6C 64 20 64 2C 30 3A     e,(hl): ld d,0:
00CD20:  20 6C 64 20 62 63 2C 30 0D 0A 09 64 65 63 20 68     ld bc,0...dec h
00CD30:  6C 3A 20 64 65 63 20 68 6C 3A 20 64 65 63 20 68    l: dec hl: dec h
00CD40:  6C 3A 20 72 65 73 20 36 2C 68 0D 0A 2E 64 69 76    l: res 6,h...div
00CD50:  5F 6C 70 09 6F 72 20 61 3A 20 73 62 63 20 68 6C    _lp.or a: sbc hl
00CD60:  2C 64 65 3A 20 69 6E 63 20 62 63 0D 0A 09 6A 72    ,de: inc bc...jr
00CD70:  20 6E 7A 2C 64 69 76 5F 6C 70 0D 0A 09 6C 64 20     nz,div_lp...ld 
00CD80:  61 2C 65 0D 0A 0D 0A 09 6C 64 20 64 65 2C 26 43    a,e.....ld de,&C
00CD90:  30 30 30 3A 20 6C 64 20 68 6C 2C 26 34 30 30 30    000: ld hl,&4000
00CDA0:  0D 0A 2E 6D 77 6C 6F 6F 70 09 70 75 73 68 20 61    ...mwloop.push a
00CDB0:  66 0D 0A 09 20 70 75 73 68 20 62 63 3A 20 70 75    f... push bc: pu
00CDC0:  73 68 20 64 65 0D 0A 09 20 20 6C 64 69 72 0D 0A    sh de...  ldir..
00CDD0:  09 20 70 6F 70 20 64 65 3A 20 70 6F 70 20 62 63    . pop de: pop bc
00CDE0:  0D 0A 09 20 65 78 20 64 65 2C 68 6C 09 09 09 3B    ... ex de,hl...;
00CDF0:  6E 65 78 74 20 73 63 72 65 65 6E 20 6C 69 6E 65    next screen line
00CE00:  20 6F 72 20 63 0D 0A 09 20 6A 72 20 6E 7A 2C 66     or c... jr nz,f
00CE10:  64 65 32 6C 70 0D 0A 09 70 6F 70 20 68 6C 0D 0A    de2lp...pop hl..
00CE20:  09 69 6E 63 20 68 6C 3A 20 6C 64 20 61 2C 6C 0D    .inc hl: ld a,l.
00CE30:  0A 09 63 70 20 37 3A 20 6A 72 20 6E 7A 2C 66 64    ..cp 7: jr nz,fd
00CE40:  65 32 6F 6C 0D 0A 09 72 65 74 0D 0A 0D 0A 09 3B    e2ol...ret.....;
00CE50:  7C 46 41 44 45 53 43 52 20 2D 20 6A 75 73 74 20    |FADESCR - just 
00CE60:  66 6F 72 20 66 75 6E 21 0D 0A 0D 0A 2E 66 61 64    for fun!.....fad
00CE70:  65 09 6C 64 20 68 6C 2C 26 43 30 30 30 0D 0A 2E    e.ld hl,&C000...
00CE80:  66 61 64 65 6F 6C 09 6C 64 20 62 63 2C 32 33 34    fadeol.ld bc,234
00CE90:  30 3A 20 6C 64 20 64 65 2C 37 0D 0A 09 70 75 73    0: ld de,7...pus
00CEA0:  68 20 68 6C 0D 0A 2E 66 61 64 65 6C 70 09 20 6C    h hl...fadelp. l
00CEB0:  64 20 28 68 6C 29 2C 30 3A 20 61 64 64 20 68 6C    d (hl),0: add hl
00CEC0:  2C 64 65 0D 0A 09 20 64 65 63 20 62 63 3A 20 6C    ,de... dec bc: l
00CED0:  64 20 61 2C 62 3A 20 6F 72 20 63 0D 0A 09 20 6A    d a,b: or c... j
00CEE0:  72 20 6E 7A 2C 66 61 64 65 6C 70 0D 0A 09 70 6F    r nz,fadelp...po
00CEF0:  70 20 68 6C 0D 0A 09 69 6E 63 20 68 6C 3A 20 6C    p hl...inc hl: l
00CF00:  64 20 61 2C 6C 0D 0A 09 63 70 20 37 3A 20 6A 72    d a,l...cp 7: jr
00CF10:  20 6E 7A 2C 66 61 64 65 6F 6C 0D 0A 09 72 65 74     nz,fadeol...ret
00CF20:  0D 0A 0D 0A 09 3B 7C 53 43 52 4C 4F 41 44 2C 40    .....;|SCRLOAD,@
00CF30:  72 65 73 75 6C 74 25 2C 66 69 6C 65 6E 61 6D 65    result%,filename
00CF40:  24 0D 0A 0D 0A 2E 73 63 72 6C 6F 64 09 63 61 6C    $.....scrlod.cal
00CF50:  6C 20 6F 70 65 6E 69 6E 0D 0A 0D 0A 09 70 75 73    l openin.....pus
00CF60:  68 20 62 63 0D 0A 09 20 6C 64 20 61 2C 32 3A 20    h bc... ld a,2: 
00CF70:  63 61 6C 6C 20 26 42 43 30 45 0D 0A 09 70 6F 70    call &BC0E...pop
00CF80:  20 68 6C 0D 0A 09 6C 64 20 64 65 2C 31 36 32 35     hl...ld de,1625
00CF90:  36 3A 20 6F 72 20 61 3A 20 73 62 63 20 68 6C 2C    6: or a: sbc hl,
00CFA0:  64 65 0D 0A 09 6A 72 20 63 2C 73 63 6F 6D 70 72    de...jr c,scompr
00CFB0:  0D 0A 09 6C 64 20 68 6C 2C 26 43 30 30 30 3A 20    ...ld hl,&C000: 
00CFC0:  63 61 6C 6C 20 26 42 43 38 33 3A 20 6A 70 20 26    call &BC83: jp &
00CFD0:  42 43 37 41 09 3B 6E 6F 74 20 63 6F 6D 70 72 65    BC7A.;not compre
00CFE0:  73 73 65 64 0D 0A 2E 73 63 6F 6D 70 72 09 6C 64    ssed...scompr.ld
00CFF0:  20 68 6C 2C 26 34 30 30 30 3A 20 63 61 6C 6C 20     hl,&4000: call 
00D000:  20 70 6C 65 61 73 65 0D 0A 09 20 20 63 61 6C 6C     please...  call
00D010:  20 6E 6C 69 6E 65 0D 0A 09 20 65 78 20 64 65 2C     nline... ex de,
00D020:  68 6C 0D 0A 09 70 6F 70 20 61 66 0D 0A 09 64 65    hl...pop af...de
00D030:  63 20 61 3A 20 6A 72 20 6E 7A 2C 6D 77 6C 6F 6F    c a: jr nz,mwloo
00D040:  70 0D 0A 09 72 65 74 0D 0A 0D 0A 09 3B 7C 52 53    p...ret.....;|RS
00D050:  58 4F 46 46 0D 0A 09 3B 28 63 29 20 43 52 54 43    XOFF...;(c) CRTC
00D060:  20 6F 66 20 44 69 73 63 6F 76 65 72 79 20 66 6F     of Discovery fo
00D070:  72 20 52 65 61 6C 57 6F 72 6C 64 20 43 6F 64 69    r RealWorld Codi
00D080:  6E 67 0D 0A 0D 0A 2E 72 73 78 6F 66 66 09 6C 64    ng.....rsxoff.ld
00D090:  20 68 6C 2C 28 26 42 43 44 32 29 3A 20 72 65 73     hl,(&BCD2): res
00D0A0:  20 37 2C 68 0D 0A 09 63 61 6C 6C 20 26 42 39 30     7,h...call &B90
00D0B0:  36 09 09 09 3B 6C 6F 77 65 72 20 52 4F 4D 20 6F    6...;lower ROM o
00D0C0:  6E 0D 0A 09 69 6E 63 20 68 6C 3A 20 69 6E 63 20    n...inc hl: inc 
00D0D0:  68 6C 3A 20 69 6E 63 20 68 6C 0D 0A 09 6C 64 20    hl: inc hl...ld 
00D0E0:  65 2C 28 68 6C 29 3A 20 69 6E 63 20 68 6C 0D 0A    e,(hl): inc hl..
00D0F0:  09 6C 64 20 64 2C 28 68 6C 29 3A 20 70 75 73 68    .ld d,(hl): push
00D100:  20 64 65 3A 20 65 78 20 64 65 2C 68 6C 09 3B 48     de: ex de,hl.;H
00D110:  4C 3D 77 6F 72 6B 73 70 61 63 65 20 70 6F 69 6E    L=workspace poin
00D120:  74 65 72 0D 0A 09 20 6C 64 20 65 2C 28 68 6C 29    ter... ld e,(hl)
00D130:  3A 20 69 6E 63 20 68 6C 0D 0A 09 20 6C 64 20 64    : inc hl... ld d
00D140:  2C 28 68 6C 29 3A 20 65 78 20 64 65 2C 68 6C 09    ,(hl): ex de,hl.
00D150:  09 3B 48 4C 3D 61 64 64 72 65 73 73 20 6F 66 20    .;HL=address of 
00D160:  52 53 58 20 77 6F 72 6B 73 70 61 63 65 0D 0A 09    RSX workspace...
00D170:  20 6C 64 20 65 2C 28 68 6C 29 3A 20 69 6E 63 20     ld e,(hl): inc 
00D180:  68 6C 0D 0A 09 6C 64 20 64 2C 28 68 6C 29 3A 20    hl...ld d,(hl): 
00D190:  70 6F 70 20 69 78 09 09 3B 44 45 3D 61 64 64 72    pop ix..;DE=addr
00D1A0:  65 73 73 20 6F 66 20 6E 65 78 74 20 52 53 58 20    ess of next RSX 
00D1B0:  77 6F 72 6B 73 70 61 63 65 0D 0A 09 6C 64 20 28    workspace...ld (
00D1C0:  69 78 29 2C 65 3A 20 6C 64 20 28 69 78 2B 31 29    ix),e: ld (ix+1)
00D1D0:  2C 64 09 09 3B 75 70 64 61 74 65 20 77 6F 72 6B    ,d..;update work
00D1E0:  73 70 61 63 65 20 70 6F 69 6E 74 65 72 0D 0A 09    space pointer...
00D1F0:  63 61 6C 6C 20 26 42 39 30 43 09 09 09 3B 72 65    call &B90C...;re
00D200:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
00D210:  0B 00 01 00 02 09 4E E5 0B 00 C7 02 00 00 00 02    ......N.........
00D220:  0B 00 C3 02 00 00 00 02 0B 00 C8 02 00 00 00 02    ................
00D230:  0B 00 C4 02 00 00 00 02 0B 00 C9 02 00 00 00 02    ................
00D240:  0B 00 C5 02 00 00 00 02 0B 00 C1 02 00 00 00 02    ................
00D250:  0B 00 C6 02 00 00 00 02 0B 00 C2 02 00 00 00 02    ................
00D260:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00D270:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00D280:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00D290:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00D2A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00D2B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00D2C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00D2D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00D2E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00D2F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00D300:  30 3A 20 6F 75 74 20 28 63 29 2C 63 0D 0A 09 70    0: out (c),c...p
00D310:  6F 70 20 62 63 3A 20 72 65 74 0D 0A 0D 0A 0D 0A    op bc: ret......
00D320:  09 3B 50 72 69 6E 74 20 6D 65 73 73 61 67 65 20    .;Print message 
00D330:  28 61 6C 6C 20 72 6F 77 73 29 0D 0A 0D 0A 2E 70    (all rows).....p
00D340:  72 69 6E 74 09 6C 64 20 61 2C 28 68 65 69 67 68    rint.ld a,(heigh
00D350:  74 29 3A 20 6C 64 20 6C 2C 61 0D 0A 09 6C 64 20    t): ld l,a...ld 
00D360:  61 2C 28 6C 61 73 74 6C 66 29 3A 20 61 64 64 20    a,(lastlf): add 
00D370:  61 2C 6C 0D 0A 09 6C 64 20 68 6C 2C 6E 6F 66 74    a,l...ld hl,noft
00D380:  78 74 0D 0A 09 6F 72 20 61 3A 20 6A 70 20 7A 2C    xt...or a: jp z,
00D390:  73 74 72 69 6E 67 0D 0A 0D 0A 09 6C 64 20 61 2C    string.....ld a,
00D3A0:  28 70 62 6C 6F 6E 67 29 0D 0A 09 6C 64 20 68 6C    (pblong)...ld hl
00D3B0:  2C 70 61 72 74 78 74 0D 0A 09 6F 72 20 61 3A 20    ,partxt...or a: 
00D3C0:  6A 70 20 7A 2C 73 74 72 69 6E 67 0D 0A 0D 0A 09    jp z,string.....
00D3D0:  6C 64 20 61 2C 31 33 3A 20 63 61 6C 6C 20 70 63    ld a,13: call pc
00D3E0:  68 61 72 0D 0A 09 6C 64 20 61 2C 30 3A 20 6C 64    har...ld a,0: ld
00D3F0:  20 28 72 6F 77 29 2C 61 0D 0A 0D 0A 2E 70 72 61     (row),a.....pra
00D400:  5F 6C 70 09 70 75 73 68 20 62 63 0D 0A 09 20 62    _lp.push bc... b
00D410:  69 74 20 30 2C 62 3A 20 63 61 6C 6C 20 6E 7A 2C    it 0,b: call nz,
00D420:  63 74 61 62 0D 0A 09 20 63 61 6C 6C 20 70 72 69    ctab... call pri
00D430:  6E 74 31 0D 0A 0D 0A 09 20 6C 64 20 61 2C 31 33    nt1..... ld a,13
00D440:  3A 20 20 63 61 6C 6C 20 70 63 68 61 72 0D 0A 09    :  call pchar...
00D450:  20 6C 64 20 61 2C 65 73 63 3A 20 63 61 6C 6C 20     ld a,esc: call 
00D460:  70 63 68 61 72 0D 0A 09 20 6C 64 20 61 2C 22 4A    pchar... ld a,"J
00D470:  22 3A 20 63 61 6C 6C 20 70 63 68 61 72 0D 0A 0D    ": call pchar...
00D480:  0A 09 20 6C 64 20 61 2C 28 68 65 69 67 68 74 29    .. ld a,(height)
00D490:  0D 0A 09 20 64 65 63 20 61 0D 0A 09 20 6C 64 20    ... dec a... ld 
00D4A0:  68 6C 2C 72 6F 77 0D 0A 09 20 69 6E 63 20 28 68    hl,row... inc (h
00D4B0:  6C 29 0D 0A 09 20 63 70 20 28 68 6C 29 3A 20 6A    l)... cp (hl): j
00D4C0:  72 20 6E 63 2C 64 6F 5F 37 6C 66 0D 0A 0D 0A 09    r nc,do_7lf.....
00D4D0:  20 3B 49 66 20 6C 61 73 74 20 74 69 6D 65 20 61     ;If last time a
00D4E0:  72 6F 75 6E 64 0D 0A 0D 0A 09 20 6C 64 20 61 2C    round..... ld a,
00D4F0:  28 70 74 79 70 65 29 0D 0A 09 20 6F 72 20 61 3A    (ptype)... or a:
00D500:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D510:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D520:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D530:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D540:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D550:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D560:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D570:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D580:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D590:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D5A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D5B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D5C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D5D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D5E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D5F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D600:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D610:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D620:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D630:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D640:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D650:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D660:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D670:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D680:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D690:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D6A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D6B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D6C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D6D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D6E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D6F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
00D700:  20 6A 72 20 7A 2C 6C 64 72 61 66 74 0D 0A 0D 0A     jr z,ldraft....
00D710:  2E 6C 6E 6C 71 09 20 6C 64 20 68 6C 2C 72 6F 77    .lnlq. ld hl,row
00D720:  09 09 3B 6C 61 73 74 20 74 69 6D 65 2C 20 4E 4C    ..;last time, NL
00D730:  51 0D 0A 09 20 64 65 63 20 28 68 6C 29 0D 0A 0D    Q... dec (hl)...
00D740:  0A 09 20 6C 64 20 61 2C 31 3A 20 63 61 6C 6C 20    .. ld a,1: call 
00D750:  70 63 68 61 72 0D 0A 09 70 6F 70 20 62 63 0D 0A    pchar...pop bc..
00D760:  09 62 69 74 20 30 2C 62 3A 20 63 61 6C 6C 20 6E    .bit 0,b: call n
00D770:  7A 2C 63 74 61 62 0D 0A 09 63 61 6C 6C 20 70 72    z,ctab...call pr
00D780:  69 6E 74 31 0D 0A 0D 0A 09 6C 64 20 61 2C 31 33    int1.....ld a,13
00D790:  3A 20 63 61 6C 6C 20 70 63 68 61 72 0D 0A 09 6C    : call pchar...l
00D7A0:  64 20 61 2C 65 73 63 3A 20 63 61 6C 6C 20 70 63    d a,esc: call pc
00D7B0:  68 61 72 0D 0A 09 6C 64 20 61 2C 22 4A 22 3A 20    har...ld a,"J": 
00D7C0:  63 61 6C 6C 20 70 63 68 61 72 0D 0A 09 6C 64 20    call pchar...ld 
00D7D0:  61 2C 28 6C 61 73 74 6C 66 29 3A 20 64 65 63 20    a,(lastlf): dec 
00D7E0:  61 3A 20 63 61 6C 6C 20 70 63 68 61 72 0D 0A 09    a: call pchar...
00D7F0:  72 65 74 0D 0A 0D 0A 2E 6C 64 72 61 66 74 09 6C    ret.....ldraft.l
00D800:  64 20 61 2C 28 6C 61 73 74 6C 66 29 0D 0A 09 63    d a,(lastlf)...c
00D810:  61 6C 6C 20 70 63 68 61 72 09 09 3B 6C 61 73 74    all pchar..;last
00D820:  20 74 69 6D 65 2C 20 64 72 61 66 74 0D 0A 09 70     time, draft...p
00D830:  6F 70 20 62 63 3A 20 72 65 74 0D 0A 0D 0A 09 20    op bc: ret..... 
00D840:  3B 49 66 20 6E 6F 74 20 6C 61 73 74 20 74 69 6D    ;If not last tim
00D850:  65 0D 0A 0D 0A 2E 64 6F 5F 37 6C 66 09 20 6C 64    e.....do_7lf. ld
00D860:  20 61 2C 28 70 74 79 70 65 29 0D 0A 09 20 6F 72     a,(ptype)... or
00D870:  20 61 3A 20 6A 72 20 7A 2C 64 72 61 66 74 09 3B     a: jr z,draft.;
00D880:  64 72 61 66 74 20 6F 72 20 4E 4C 51 3F 0D 0A 0D    draft or NLQ?...
00D890:  0A 2E 6E 6C 71 09 20 6C 64 20 68 6C 2C 72 6F 77    ..nlq. ld hl,row
00D8A0:  09 09 3B 4E 4C 51 2C 0D 0A 09 20 64 65 63 20 28    ..;NLQ,... dec (
00D8B0:  68 6C 29 09 09 3B 73 6F 20 67 6F 20 62 61 63 6B    hl)..;so go back
00D8C0:  20 74 6F 20 72 6F 77 20 6A 75 73 74 20 64 6F 6E     to row just don
00D8D0:  65 0D 0A 0D 0A 09 20 6C 64 20 61 2C 31 3A 20 63    e..... ld a,1: c
00D8E0:  61 6C 6C 20 70 63 68 61 72 0D 0A 09 70 6F 70 20    all pchar...pop 
00D8F0:  62 63 3A 20 70 75 73 68 20 62 63 0D 0A 09 20 62    bc: push bc... b
00D900:  09 0D 0A 09 3B 50 72 6F 2D 45 78 74 20 76 31 2E    ....;Pro-Ext v1.
00D910:  35 30 20 72 6F 75 74 69 6E 65 73 0D 0A 09 3B 28    50 routines...;(
00D920:  63 29 20 31 39 39 33 20 52 69 63 68 61 72 64 20    c) 1993 Richard 
00D930:  46 61 69 72 68 75 72 73 74 0D 0A 0D 0A 09 6F 72    Fairhurst.....or
00D940:  67 20 26 39 34 30 30 0D 0A 09 77 72 69 74 65 20    g &9400...write 
00D950:  22 70 72 6F 2D 65 78 74 2E 62 69 6E 22 0D 0A 09    "pro-ext.bin"...
00D960:  6E 6F 6C 69 73 74 0D 0A 0D 0A 65 73 63 09 65 71    nolist....esc.eq
00D970:  75 20 32 37 0D 0A 0D 0A 09 3B 49 6E 69 74 69 61    u 27.....;Initia
00D980:  6C 69 73 65 20 73 79 73 74 65 6D 0D 0A 0D 0A 2E    lise system.....
00D990:  69 6E 69 74 09 6C 64 20 61 2C 28 26 42 44 32 42    init.ld a,(&BD2B
00D9A0:  29 0D 0A 09 63 70 20 26 43 33 0D 0A 09 72 65 74    )...cp &C3...ret
00D9B0:  20 7A 09 09 09 3B 72 65 74 75 72 6E 20 69 66 20     z...;return if 
00D9C0:  61 6C 72 65 61 64 79 20 69 6E 69 74 69 61 6C 69    already initiali
00D9D0:  73 65 64 0D 0A 0D 0A 09 6C 64 20 69 78 2C 26 42    sed.....ld ix,&B
00D9E0:  44 32 42 09 09 3B 72 65 64 69 72 65 63 74 20 70    D2B..;redirect p
00D9F0:  72 69 6E 74 65 72 20 6A 75 6D 70 0D 0A 09 6C 64    rinter jump...ld
00DA00:  20 69 79 2C 6F 72 69 67 0D 0A 09 6C 64 20 68 6C     iy,orig...ld hl
00DA10:  2C 70 72 65 64 72 0D 0A 0D 0A 09 6C 64 20 61 2C    ,predr.....ld a,
00DA20:  28 69 78 29 3A 20 20 20 6C 64 20 65 2C 28 69 78    (ix):   ld e,(ix
00DA30:  2B 31 29 3A 20 6C 64 20 64 2C 28 69 78 2B 32 29    +1): ld d,(ix+2)
00DA40:  0D 0A 09 6C 64 20 28 69 79 29 2C 61 3A 20 20 20    ...ld (iy),a:   
00DA50:  6C 64 20 28 69 79 2B 31 29 2C 65 3A 20 6C 64 20    ld (iy+1),e: ld 
00DA60:  28 69 79 2B 32 29 2C 64 0D 0A 09 6C 64 20 28 69    (iy+2),d...ld (i
00DA70:  78 29 2C 26 43 33 3A 20 6C 64 20 28 69 78 2B 31    x),&C3: ld (ix+1
00DA80:  29 2C 6C 3A 20 6C 64 20 28 69 78 2B 32 29 2C 68    ),l: ld (ix+2),h
00DA90:  0D 0A 0D 0A 09 6C 64 20 68 6C 2C 77 6B 73 70 0D    .....ld hl,wksp.
00DAA0:  0A 09 6C 64 20 62 63 2C 63 6F 6D 5F 74 0D 0A 09    ..ld bc,com_t...
00DAB0:  6A 70 20 26 42 43 44 31 09 09 3B 69 6E 69 74 69    jp &BCD1..;initi
00DAC0:  61 6C 69 73 65 20 52 53 58 0D 0A 0D 0A 09 3B 52    alise RSX.....;R
00DAD0:  53 58 20 63 6F 6D 6D 61 6E 64 20 74 61 62 6C 65    SX command table
00DAE0:  0D 0A 0D 0A 2E 63 6F 6D 5F 74 09 64 77 20 6E 61    .....com_t.dw na
00DAF0:  6D 65 5F 74 0D 0A 09 6A 70 20 70 78 68 65 6C 70    me_t...jp pxhelp
00DB00:  69 74 20 30 2C 62 3A 20 63 61 6C 6C 20 6E 7A 2C    it 0,b: call nz,
00DB10:  63 74 61 62 0D 0A 09 20 63 61 6C 6C 20 70 72 69    ctab... call pri
00DB20:  6E 74 31 09 09 3B 64 6F 20 69 74 20 61 67 61 69    nt1..;do it agai
00DB30:  6E 0D 0A 0D 0A 09 20 6C 64 20 68 6C 2C 72 6F 77    n..... ld hl,row
00DB40:  0D 0A 09 20 69 6E 63 20 28 68 6C 29 09 09 3B 61    ... inc (hl)..;a
00DB50:  6E 64 20 6F 6E 74 6F 20 6E 65 78 74 20 72 6F 77    nd onto next row
00DB60:  21 0D 0A 0D 0A 09 20 6C 64 20 61 2C 31 33 3A 20    !..... ld a,13: 
00DB70:  63 61 6C 6C 20 70 63 68 61 72 0D 0A 09 20 6C 64    call pchar... ld
00DB80:  20 61 2C 65 73 63 3A 20 63 61 6C 6C 20 70 63 68     a,esc: call pch
00DB90:  61 72 0D 0A 09 20 6C 64 20 61 2C 22 4A 22 3A 20    ar... ld a,"J": 
00DBA0:  63 61 6C 6C 20 70 63 68 61 72 0D 0A 09 20 6C 64    call pchar... ld
00DBB0:  20 61 2C 32 30 3A 20 63 61 6C 6C 20 70 63 68 61     a,20: call pcha
00DBC0:  72 09 3B 64 6F 20 74 68 65 20 4C 46 20 62 69 74    r.;do the LF bit
00DBD0:  0D 0A 09 70 6F 70 20 62 63 0D 0A 09 6A 70 20 70    ...pop bc...jp p
00DBE0:  72 61 5F 6C 70 09 09 3B 61 6E 64 20 6C 6F 6F 70    ra_lp..;and loop
00DBF0:  0D 0A 0D 0A 2E 64 72 61 66 74 09 6C 64 20 61 2C    .....draft.ld a,
00DC00:  32 31 3A 20 63 61 6C 6C 20 70 63 68 61 72 09 3B    21: call pchar.;
00DC10:  69 66 20 64 72 61 66 74 20 71 75 61 6C 69 74 79    if draft quality
00DC20:  0D 0A 09 70 6F 70 20 62 63 0D 0A 09 6A 70 20 70    ...pop bc...jp p
00DC30:  72 61 5F 6C 70 09 09 3B 6C 6F 6F 70 0D 0A 0D 0A    ra_lp..;loop....
00DC40:  09 3B 50 72 69 6E 74 20 6D 65 73 73 61 67 65 20    .;Print message 
00DC50:  66 72 6F 6D 20 70 61 72 61 6D 65 74 65 72 20 62    from parameter b
00DC60:  6C 6F 63 6B 20 28 6F 6E 65 20 72 6F 77 29 0D 0A    lock (one row)..
00DC70:  0D 0A 2E 70 72 69 6E 74 31 09 63 61 6C 6C 20 63    ...print1.call c
00DC80:  61 6C 63 6C 6E 3A 20 78 6F 72 20 61 0D 0A 09 62    alcln: xor a...b
00DC90:  69 74 20 37 2C 6C 3A 20 6A 72 20 7A 2C 6E 6F 70    it 7,l: jr z,nop
00DCA0:  72 6F 62 0D 0A 09 6C 64 20 61 2C 32 3A 20 72 65    rob...ld a,2: re
00DCB0:  73 20 37 2C 6C 0D 0A 0D 0A 2E 6E 6F 70 72 6F 62    s 7,l.....noprob
00DCC0:  09 6C 64 20 28 78 74 36 34 29 2C 61 0D 0A 09 6C    .ld (xt64),a...l
00DCD0:  64 20 28 63 6F 6C 75 6D 6E 29 2C 68 6C 0D 0A 0D    d (column),hl...
00DCE0:  0A 09 6C 64 20 61 2C 65 73 63 3A 20 20 20 20 20    ..ld a,esc:     
00DCF0:  20 20 20 63 61 6C 6C 20 70 63 68 61 72 0D 0A 09       call pchar...
00DD00:  0D 0A 0D 0A 2E 6E 61 6D 65 5F 74 09 73 74 72 20    .....name_t.str 
00DD10:  22 50 58 48 45 4C 50 22 0D 0A 09 64 62 20 30 0D    "PXHELP"...db 0.
00DD20:  0A 0D 0A 09 3B 4C 6F 61 64 20 66 6F 6E 74 20 69    ....;Load font i
00DD30:  6E 74 6F 20 6D 65 6D 6F 72 79 0D 0A 0D 0A 2E 6C    nto memory.....l
00DD40:  6F 61 64 09 6C 64 20 68 6C 2C 70 62 6C 6F 63 6B    oad.ld hl,pblock
00DD50:  0D 0A 09 6C 64 20 61 2C 28 70 62 6C 6F 6E 67 29    ...ld a,(pblong)
00DD60:  3A 20 6C 64 20 62 2C 61 0D 0A 09 6C 64 20 64 65    : ld b,a...ld de
00DD70:  2C 26 34 30 30 30 0D 0A 09 63 61 6C 6C 20 73 5F    ,&4000...call s_
00DD80:  42 43 37 37 09 09 3B 6F 70 65 6E 20 66 69 6C 65    BC77..;open file
00DD90:  0D 0A 09 6A 70 20 6E 63 2C 6C 64 65 72 72 0D 0A    ...jp nc,lderr..
00DDA0:  0D 0A 09 6C 64 20 63 2C 32 35 35 0D 0A 09 6C 64    ...ld c,255...ld
00DDB0:  20 62 2C 31 30 0D 0A 2E 63 68 6B 6C 70 09 63 61     b,10...chklp.ca
00DDC0:  6C 6C 20 73 5F 42 43 38 30 0D 0A 09 78 6F 72 20    ll s_BC80...xor 
00DDD0:  63 3A 20 6C 64 20 63 2C 61 0D 0A 09 64 6A 6E 7A    c: ld c,a...djnz
00DDE0:  20 63 68 6B 6C 70 0D 0A 0D 0A 09 6C 64 20 61 2C     chklp.....ld a,
00DDF0:  63 3A 20 6C 64 20 63 2C 31 0D 0A 09 63 70 20 32    c: ld c,1...cp 2
00DE00:  34 30 3A 20 6A 70 20 6E 7A 2C 6C 64 65 72 72 0D    40: jp nz,lderr.
00DE10:  0A 0D 0A 09 63 61 6C 6C 20 73 5F 42 43 38 30 0D    ....call s_BC80.
00DE20:  0A 09 6C 64 20 28 68 65 69 67 68 74 29 2C 61 0D    ..ld (height),a.
00DE30:  0A 0D 0A 09 63 61 6C 6C 20 73 5F 42 43 38 30 0D    ....call s_BC80.
00DE40:  0A 09 6C 64 20 62 2C 61 0D 0A 09 61 64 64 20 61    ..ld b,a...add a
00DE50:  2C 61 3A 20 61 64 64 20 61 2C 62 09 3B 61 3D 61    ,a: add a,b.;a=a
00DE60:  2A 33 0D 0A 09 6C 64 20 28 6C 61 73 74 6C 66 29    *3...ld (lastlf)
00DE70:  2C 61 0D 0A 0D 0A 09 6C 64 20 62 2C 33 32 0D 0A    ,a.....ld b,32..
00DE80:  0D 0A 2E 73 74 72 5F 6C 70 09 70 75 73 68 20 62    ...str_lp.push b
00DE90:  63 0D 0A 0D 0A 09 20 6C 64 20 61 2C 62 0D 0A 09    c..... ld a,b...
00DEA0:  20 63 61 6C 6C 20 73 74 61 64 64 72 09 09 3B 66     call staddr..;f
00DEB0:  69 6E 64 20 73 74 61 72 74 20 61 64 64 72 65 73    ind start addres
00DEC0:  73 0D 0A 09 20 63 61 6C 6C 20 73 5F 42 43 38 30    s... call s_BC80
00DED0:  0D 0A 09 20 63 61 6C 6C 20 70 62 62 79 74 65 09    ... call pbbyte.
00DEE0:  09 3B 70 75 74 20 62 79 74 65 0D 0A 09 20 6C 64    .;put byte... ld
00DEF0:  20 64 2C 61 0D 0A 0D 0A 09 20 6C 64 20 61 2C 28     d,a..... ld a,(
00DF00:  73 20 30 20 69 66 20 75 6E 73 75 63 63 65 73 73    s 0 if unsuccess
00DF10:  66 75 6C 2C 20 31 20 69 66 20 6F 6B 0D 0A 0D 0A    ful, 1 if ok....
00DF20:  2E 6F 70 65 6E 69 69 09 63 61 6C 6C 20 6F 70 65    .openii.call ope
00DF30:  6E 69 6E 0D 0A 09 72 65 74 0D 0A 0D 0A 2E 6F 70    nin...ret.....op
00DF40:  65 6E 69 6E 09 63 61 6C 6C 20 26 42 43 37 44 0D    enin.call &BC7D.
00DF50:  0A 0D 0A 09 6C 64 20 6C 2C 28 69 78 29 3A 20 6C    ....ld l,(ix): l
00DF60:  64 20 68 2C 28 69 78 2B 31 29 0D 0A 09 6C 64 20    d h,(ix+1)...ld 
00DF70:  62 2C 28 68 6C 29 3A 20 69 6E 63 20 68 6C 0D 0A    b,(hl): inc hl..
00DF80:  09 6C 64 20 65 2C 28 68 6C 29 3A 20 69 6E 63 20    .ld e,(hl): inc 
00DF90:  68 6C 0D 0A 09 6C 64 20 64 2C 28 68 6C 29 3A 20    hl...ld d,(hl): 
00DFA0:  65 78 20 64 65 2C 68 6C 0D 0A 09 6C 64 20 64 65    ex de,hl...ld de
00DFB0:  2C 62 75 66 66 3A 20 70 75 73 68 20 69 78 0D 0A    ,buff: push ix..
00DFC0:  09 63 61 6C 6C 20 26 42 43 37 37 3A 20 70 6F 70    .call &BC77: pop
00DFD0:  20 69 78 0D 0A 0D 0A 09 6A 72 20 63 2C 73 75 63     ix.....jr c,suc
00DFE0:  63 0D 0A 09 6C 64 20 6C 2C 28 69 78 2B 32 29 3A    c...ld l,(ix+2):
00DFF0:  20 6C 64 20 68 2C 28 69 78 2B 33 29 0D 0A 09 6C     ld h,(ix+3)...l
00E000:  64 20 28 68 6C 29 2C 30 3A 20 69 6E 63 20 68 6C    d (hl),0: inc hl
00E010:  0D 0A 09 6C 64 20 28 68 6C 29 2C 30 3A 20 70 6F    ...ld (hl),0: po
00E020:  70 20 68 6C 0D 0A 09 72 65 74 0D 0A 0D 0A 2E 73    p hl...ret.....s
00E030:  75 63 63 09 6C 64 20 28 68 65 69 67 68 74 29 2C    ucc.ld (height),
00E040:  62 63 0D 0A 09 6C 64 20 6C 2C 28 69 78 2B 32 29    bc...ld l,(ix+2)
00E050:  3A 20 6C 64 20 68 2C 28 69 78 2B 33 29 0D 0A 09    : ld h,(ix+3)...
00E060:  6C 64 20 28 68 6C 29 2C 31 3A 20 69 6E 63 20 68    ld (hl),1: inc h
00E070:  6C 0D 0A 09 6C 64 20 28 68 6C 29 2C 30 3A 20 72    l...ld (hl),0: r
00E080:  65 74 0D 0A 0D 0A 09 3B 2A 2A 2A 20 4E 65 78 74    et.....;*** Next
00E090:  20 6C 69 6E 65 20 64 6F 77 6E 20 66 72 6F 6D 20     line down from 
00E0A0:  48 4C 0D 0A 0D 0A 2E 6E 6C 69 6E 65 09 6C 64 20    HL.....nline.ld 
00E0B0:  61 2C 38 3A 20 61 64 64 20 68 3A 20 6C 64 20 68    a,8: add h: ld h
00E0C0:  2C 61 0D 0A 09 62 69 74 20 36 2C 61 3A 20 72 65    ,a...bit 6,a: re
00E0D0:  74 20 6E 7A 0D 0A 09 70 75 73 68 20 64 65 0D 0A    t nz...push de..
00E0E0:  09 20 6C 64 20 64 65 2C 31 36 33 30 34 3A 20 6F    . ld de,16304: o
00E0F0:  72 20 61 3A 20 73 62 63 20 68 6C 2C 64 65 0D 0A    r a: sbc hl,de..
00E100:  68 65 69 67 68 74 29 0D 0A 09 20 6C 64 20 62 2C    height)... ld b,
00E110:  61 0D 0A 0D 0A 2E 73 74 6F 5F 6C 70 09 20 6C 64    a.....sto_lp. ld
00E120:  20 63 2C 64 0D 0A 2E 73 74 62 5F 6C 70 09 20 69     c,d...stb_lp. i
00E130:  6E 63 20 68 6C 0D 0A 09 20 70 75 73 68 20 62 63    nc hl... push bc
00E140:  0D 0A 09 20 20 63 61 6C 6C 20 73 5F 42 43 38 30    ...  call s_BC80
00E150:  0D 0A 09 20 20 63 61 6C 6C 20 70 62 62 79 74 65    ...  call pbbyte
00E160:  0D 0A 09 20 70 6F 70 20 62 63 0D 0A 09 20 64 65    ... pop bc... de
00E170:  63 20 63 0D 0A 09 20 6A 72 20 6E 7A 2C 73 74 62    c c... jr nz,stb
00E180:  5F 6C 70 0D 0A 09 20 64 6A 6E 7A 20 73 74 6F 5F    _lp... djnz sto_
00E190:  6C 70 0D 0A 0D 0A 09 70 6F 70 20 62 63 0D 0A 09    lp.....pop bc...
00E1A0:  69 6E 63 20 62 0D 0A 09 6C 64 20 61 2C 31 32 33    inc b...ld a,123
00E1B0:  0D 0A 09 63 70 20 62 0D 0A 09 6A 72 20 6E 7A 2C    ...cp b...jr nz,
00E1C0:  73 74 72 5F 6C 70 0D 0A 0D 0A 09 63 61 6C 6C 20    str_lp.....call 
00E1D0:  73 5F 42 43 37 41 09 09 09 3B 63 6C 6F 73 65 20    s_BC7A...;close 
00E1E0:  69 6E 70 75 74 20 66 69 6C 65 0D 0A 09 72 65 74    input file...ret
00E1F0:  0D 0A 0D 0A 2E 73 5F 42 43 37 37 09 70 75 73 68    .....s_BC77.push
00E200:  20 62 63 3A 20 6C 64 20 62 63 2C 26 37 46 43 37     bc: ld bc,&7FC7
00E210:  3A 20 6F 75 74 20 28 63 29 2C 63 3A 20 70 6F 70    : out (c),c: pop
00E220:  20 62 63 0D 0A 09 63 61 6C 6C 20 26 42 43 37 37     bc...call &BC77
00E230:  0D 0A 09 70 75 73 68 20 62 63 3A 20 6C 64 20 62    ...push bc: ld b
00E240:  63 2C 26 37 46 43 30 3A 20 6F 75 74 20 28 63 29    c,&7FC0: out (c)
00E250:  2C 63 3A 20 70 6F 70 20 62 63 0D 0A 09 72 65 74    ,c: pop bc...ret
00E260:  0D 0A 2E 73 5F 42 43 37 41 09 70 75 73 68 20 62    ...s_BC7A.push b
00E270:  63 0D 0A 09 6C 64 20 62 63 2C 26 37 46 43 37 3A    c...ld bc,&7FC7:
00E280:  20 6F 75 74 20 28 63 29 2C 63 3A 20 63 61 6C 6C     out (c),c: call
00E290:  20 26 42 43 37 41 0D 0A 09 6C 64 20 62 63 2C 26     &BC7A...ld bc,&
00E2A0:  37 46 43 30 3A 20 6F 75 74 20 28 63 29 2C 63 0D    7FC0: out (c),c.
00E2B0:  0A 09 70 6F 70 20 62 63 3A 20 72 65 74 0D 0A 2E    ..pop bc: ret...
00E2C0:  73 5F 42 43 38 30 09 70 75 73 68 20 62 63 0D 0A    s_BC80.push bc..
00E2D0:  09 6C 64 20 62 63 2C 26 37 46 43 37 3A 20 6F 75    .ld bc,&7FC7: ou
00E2E0:  74 20 28 63 29 2C 63 3A 20 63 61 6C 6C 20 26 42    t (c),c: call &B
00E2F0:  43 38 30 0D 0A 09 6C 64 20 62 63 2C 26 37 46 43    C80...ld bc,&7FC
00E300:  09 70 6F 70 20 64 65 3A 20 72 65 74 0D 0A 0D 0A    .pop de: ret....
00E310:  2E 68 65 69 67 68 74 09 64 77 20 30 09 09 09 09    .height.dw 0....
00E320:  3B 48 65 69 67 68 74 0D 0A 2E 62 75 66 66 09 64    ;Height...buff.d
00E330:  73 20 32 30 34 38 09 09 09 09 3B 46 69 6C 65 20    s 2048....;File 
00E340:  62 75 66 66 65 72 0D 0A 1A 64 20 46 61 69 72 68    buffer...d Fairh
00E350:  75 72 73 74 20 31 39 39 33 0D 0A 0D 0A 09 6F 72    urst 1993.....or
00E360:  67 20 26 39 30 30 30 0D 0A 09 77 72 69 74 65 20    g &9000...write 
00E370:  22 67 72 61 70 68 69 63 73 2E 62 69 6E 22 0D 0A    "graphics.bin"..
00E380:  09 6C 64 20 65 2C 28 68 6C 29 3A 20 69 6E 63 20    .ld e,(hl): inc 
00E390:  68 6C 0D 0A 09 6C 64 20 64 2C 28 68 6C 29 3A 20    hl...ld d,(hl): 
00E3A0:  65 78 20 64 65 2C 68 6C 0D 0A 09 6C 64 20 64 65    ex de,hl...ld de
00E3B0:  2C 62 75 66 66 3A 20 70 75 73 68 20 69 78 0D 0A    ,buff: push ix..
00E3C0:  09 63 61 6C 6C 20 26 42 43 37 37 3A 20 70 6F 70    .call &BC77: pop
00E3D0:  20 69 78 0D 0A 0D 0A 09 6A 72 20 63 2C 73 75 63     ix.....jr c,suc
00E3E0:  63 0D 0A 09 6C 64 20 6C 2C 28 69 78 2B 32 29 3A    c...ld l,(ix+2):
00E3F0:  20 6C 64 20 68 2C 28 69 78 2B 33 29 0D 0A 09 6C     ld h,(ix+3)...l
00E400:  64 20 28 68 6C 29 2C 30 3A 20 69 6E 63 20 68 6C    d (hl),0: inc hl
00E410:  0D 0A 09 6C 64 20 28 68 6C 29 2C 30 3A 20 70 6F    ...ld (hl),0: po
00E420:  70 20 68 6C 0D 0A 09 72 65 74 0D 0A 0D 0A 2E 73    p hl...ret.....s
00E430:  75 63 63 09 6C 64 20 28 68 65 69 67 68 74 29 2C    ucc.ld (height),
00E440:  62 63 0D 0A 09 6C 64 20 6C 2C 28 69 78 2B 32 29    bc...ld l,(ix+2)
00E450:  3A 20 6C 64 20 68 2C 28 69 78 2B 33 29 0D 0A 09    : ld h,(ix+3)...
00E460:  6C 64 20 28 68 6C 29 2C 31 3A 20 69 6E 63 20 68    ld (hl),1: inc h
00E470:  6C 0D 0A 09 6C 64 20 28 68 6C 29 2C 30 3A 20 72    l...ld (hl),0: r
00E480:  65 74 0D 0A 0D 0A 09 3B 2A 2A 2A 20 4E 65 78 74    et.....;*** Next
00E490:  20 6C 69 6E 65 20 64 6F 77 6E 20 66 72 6F 6D 20     line down from 
00E4A0:  48 4C 0D 0A 0D 0A 2E 6E 6C 69 6E 65 09 6C 64 20    HL.....nline.ld 
00E4B0:  61 2C 38 3A 20 61 64 64 20 68 3A 20 6C 64 20 68    a,8: add h: ld h
00E4C0:  2C 61 0D 0A 09 62 69 74 20 36 2C 61 3A 20 72 65    ,a...bit 6,a: re
00E4D0:  74 20 6E 7A 0D 0A 09 70 75 73 68 20 64 65 0D 0A    t nz...push de..
00E4E0:  09 20 6C 64 20 64 65 2C 31 36 33 30 34 3A 20 6F    . ld de,16304: o
00E4F0:  72 20 61 3A 20 73 62 63 20 68 6C 2C 64 65 0D 0A    r a: sbc hl,de..
00E500:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
00E510:  0C 00 01 00 02 09 4E E5 0C 00 C1 02 00 00 00 02    ......N.........
00E520:  0C 00 C6 02 00 00 00 02 0C 00 C2 02 00 00 00 02    ................
00E530:  0C 00 C7 02 00 00 00 02 0C 00 C3 02 00 00 00 02    ................
00E540:  0C 00 C8 02 00 00 00 02 0C 00 C4 02 00 00 00 02    ................
00E550:  0C 00 C9 02 00 00 00 02 0C 00 C5 02 00 00 00 02    ................
00E560:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00E570:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00E580:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00E590:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00E5A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00E5B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00E5C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00E5D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00E5E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00E5F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00E600:  6C 64 20 61 2C 28 70 67 6D 6F 64 65 29 3A 20 20    ld a,(pgmode):  
00E610:  20 63 61 6C 6C 20 70 63 68 61 72 0D 0A 09 6C 64     call pchar...ld
00E620:  20 61 2C 28 63 6F 6C 75 6D 6E 29 3A 20 20 20 63     a,(column):   c
00E630:  61 6C 6C 20 70 63 68 61 72 0D 0A 09 6C 64 20 61    all pchar...ld a
00E640:  2C 28 63 6F 6C 75 6D 6E 2B 31 29 3A 20 63 61 6C    ,(column+1): cal
00E650:  6C 20 70 63 68 61 72 0D 0A 0D 0A 09 6C 64 20 69    l pchar.....ld i
00E660:  78 2C 70 62 6C 6F 63 6B 0D 0A 09 6C 64 20 61 2C    x,pblock...ld a,
00E670:  28 70 62 6C 6F 6E 67 29 3A 20 6C 64 20 62 2C 61    (pblong): ld b,a
00E680:  0D 0A 0D 0A 2E 6F 70 63 5F 6C 70 09 70 75 73 68    .....opc_lp.push
00E690:  20 62 63 0D 0A 0D 0A 09 20 6C 64 20 61 2C 28 72     bc..... ld a,(r
00E6A0:  6F 77 29 3A 20 6C 64 20 62 2C 61 0D 0A 09 20 6C    ow): ld b,a... l
00E6B0:  64 20 61 2C 28 69 78 29 0D 0A 09 20 63 61 6C 6C    d a,(ix)... call
00E6C0:  20 73 74 72 61 64 64 0D 0A 0D 0A 2E 70 63 6C 6F     stradd.....pclo
00E6D0:  6F 70 09 20 63 61 6C 6C 20 67 62 62 79 74 65 0D    op. call gbbyte.
00E6E0:  0A 09 20 63 61 6C 6C 20 70 72 62 79 74 65 0D 0A    .. call prbyte..
00E6F0:  09 20 69 6E 63 20 68 6C 0D 0A 09 20 64 65 63 20    . inc hl... dec 
00E700:  65 3A 20 6A 72 20 6E 7A 2C 70 63 6C 6F 6F 70 0D    e: jr nz,pcloop.
00E710:  0A 0D 0A 09 70 6F 70 20 62 63 0D 0A 09 69 6E 63    ....pop bc...inc
00E720:  20 69 78 0D 0A 09 64 6A 6E 7A 20 6F 70 63 5F 6C     ix...djnz opc_l
00E730:  70 0D 0A 0D 0A 09 72 65 74 0D 0A 0D 0A 09 3B 50    p.....ret.....;P
00E740:  72 69 6E 74 20 62 79 74 65 0D 0A 0D 0A 2E 70 72    rint byte.....pr
00E750:  62 79 74 65 09 70 75 73 68 20 68 6C 3A 20 70 75    byte.push hl: pu
00E760:  73 68 20 61 66 0D 0A 09 20 6C 64 20 68 6C 2C 28    sh af... ld hl,(
00E770:  63 6F 6C 75 6D 6E 29 0D 0A 09 20 64 65 63 20 68    column)... dec h
00E780:  6C 0D 0A 09 20 6C 64 20 61 2C 68 3A 20 61 6E 64    l... ld a,h: and
00E790:  20 6C 0D 0A 09 20 63 70 20 26 46 46 3A 20 6A 72     l... cp &FF: jr
00E7A0:  20 6E 7A 2C 75 70 64 63 6F 6C 0D 0A 0D 0A 09 20     nz,updcol..... 
00E7B0:  6C 64 20 61 2C 65 73 63 3A 09 63 61 6C 6C 20 70    ld a,esc:.call p
00E7C0:  63 68 61 72 0D 0A 09 20 6C 64 20 61 2C 28 70 67    char... ld a,(pg
00E7D0:  6D 6F 64 65 29 3A 09 63 61 6C 6C 20 70 63 68 61    mode):.call pcha
00E7E0:  72 0D 0A 09 20 6C 64 20 61 2C 36 34 3A 09 63 61    r... ld a,64:.ca
00E7F0:  6C 6C 20 70 63 68 61 72 0D 0A 09 20 6C 64 20 61    ll pchar... ld a
00E800:  66 20 70 61 72 61 6D 65 74 65 72 20 62 6C 6F 63    f parameter bloc
00E810:  6B 3F 0D 0A 0D 0A 09 70 75 73 68 20 61 66 0D 0A    k?.....push af..
00E820:  09 20 6C 64 20 61 2C 28 77 63 68 61 72 29 0D 0A    . ld a,(wchar)..
00E830:  09 20 6F 72 20 61 3A 20 6A 72 20 6E 7A 2C 63 68    . or a: jr nz,ch
00E840:  6B 77 61 69 09 3B 77 61 69 74 69 6E 67 20 66 6F    kwai.;waiting fo
00E850:  72 20 63 68 61 72 61 63 74 65 72 3F 0D 0A 09 70    r character?...p
00E860:  6F 70 20 61 66 0D 0A 09 6A 70 20 6F 72 69 67 0D    op af...jp orig.
00E870:  0A 0D 0A 2E 63 68 6B 77 61 69 09 20 6C 64 20 28    ....chkwai. ld (
00E880:  63 70 61 63 68 72 2B 31 29 2C 61 09 3B 20 3C 3C    cpachr+1),a.; <<
00E890:  3C 3C 3C 3C 20 43 68 65 63 6B 20 69 66 20 63 68    <<<< Check if ch
00E8A0:  61 72 61 63 74 65 72 20 69 73 20 22 65 78 70 65    aracter is "expe
00E8B0:  63 74 65 64 22 21 0D 0A 09 70 6F 70 20 61 66 0D    cted"!...pop af.
00E8C0:  0A 2E 63 70 61 63 68 72 09 63 70 20 26 46 46 09    ..cpachr.cp &FF.
00E8D0:  09 09 3B 63 6F 6D 70 61 72 65 20 77 69 74 68 20    ..;compare with 
00E8E0:  63 68 61 72 61 63 74 65 72 20 62 65 69 6E 67 20    character being 
00E8F0:  77 61 69 74 65 64 20 66 6F 72 0D 0A 09 6A 72 20    waited for...jr 
00E900:  7A 2C 67 6F 74 77 61 69 09 09 3B 74 68 65 20 73    z,gotwai..;the s
00E910:  61 6D 65 3F 0D 0A 09 70 75 73 68 20 61 66 0D 0A    ame?...push af..
00E920:  09 20 78 6F 72 20 61 3A 20 6C 64 20 28 77 63 68    . xor a: ld (wch
00E930:  61 72 29 2C 61 09 3B 69 66 20 6E 6F 74 2C 20 63    ar),a.;if not, c
00E940:  61 6E 63 65 6C 20 77 61 69 74 0D 0A 09 70 6F 70    ancel wait...pop
00E950:  20 61 66 0D 0A 09 6A 70 20 6F 72 69 67 09 09 09     af...jp orig...
00E960:  3B 61 6E 64 20 67 6F 20 61 6E 64 20 70 72 69 6E    ;and go and prin
00E970:  74 20 63 68 61 72 61 63 74 65 72 0D 0A 0D 0A 2E    t character.....
00E980:  67 6F 74 77 61 69 09 63 70 20 31 33 09 09 09 3B    gotwai.cp 13...;
00E990:  43 52 3F 0D 0A 09 6A 72 20 7A 2C 67 6F 74 63 72    CR?...jr z,gotcr
00E9A0:  0D 0A 09 78 6F 72 20 61 3A 20 6C 64 20 28 77 63    ...xor a: ld (wc
00E9B0:  68 61 72 29 2C 61 0D 0A 09 73 63 66 3A 20 72 65    har),a...scf: re
00E9C0:  74 0D 0A 0D 0A 2E 67 6F 74 63 72 09 6C 64 20 61    t.....gotcr.ld a
00E9D0:  2C 31 30 3A 20 6C 64 20 28 77 63 68 61 72 29 2C    ,10: ld (wchar),
00E9E0:  61 09 3B 6E 6F 77 20 77 61 69 74 20 66 6F 72 20    a.;now wait for 
00E9F0:  4C 46 21 0D 0A 09 73 63 66 3A 20 72 65 74 0D 0A    LF!...scf: ret..
00EA00:  2C 30 3A 09 63 61 6C 6C 20 70 63 68 61 72 0D 0A    ,0:.call pchar..
00EA10:  09 20 6C 64 20 68 6C 2C 36 33 0D 0A 0D 0A 2E 75    . ld hl,63.....u
00EA20:  70 64 63 6F 6C 09 20 6C 64 20 28 63 6F 6C 75 6D    pdcol. ld (colum
00EA30:  6E 29 2C 68 6C 0D 0A 09 70 6F 70 20 61 66 3A 20    n),hl...pop af: 
00EA40:  63 61 6C 6C 20 70 63 68 61 72 3A 20 70 6F 70 20    call pchar: pop 
00EA50:  68 6C 0D 0A 09 72 65 74 0D 0A 0D 0A 09 3B 4C 6F    hl...ret.....;Lo
00EA60:  61 64 20 66 69 6C 65 20 65 72 72 6F 72 20 72 6F    ad file error ro
00EA70:  75 74 69 6E 65 0D 0A 0D 0A 2E 6C 64 65 72 72 09    utine.....lderr.
00EA80:  6C 64 20 68 6C 2C 6C 64 65 74 78 74 0D 0A 09 6A    ld hl,ldetxt...j
00EA90:  70 20 73 74 72 69 6E 67 0D 0A 0D 0A 09 3B 47 65    p string.....;Ge
00EAA0:  74 20 62 79 74 65 20 66 72 6F 6D 20 48 4C 20 69    t byte from HL i
00EAB0:  6E 20 73 65 63 6F 6E 64 20 36 34 6B 20 28 63 6F    n second 64k (co
00EAC0:  72 72 75 70 74 73 20 42 43 29 0D 0A 0D 0A 2E 67    rrupts BC).....g
00EAD0:  62 62 79 74 65 09 70 75 73 68 20 68 6C 0D 0A 0D    bbyte.push hl...
00EAE0:  0A 09 20 6C 64 20 61 2C 68 0D 0A 09 20 72 6C 63    .. ld a,h... rlc
00EAF0:  61 3A 20 72 6C 63 61 0D 0A 09 20 61 6E 64 20 33    a: rlca... and 3
00EB00:  3A 20 61 64 64 20 26 43 34 0D 0A 0D 0A 09 20 6C    : add &C4..... l
00EB10:  64 20 62 2C 26 37 46 0D 0A 09 20 6F 75 74 20 28    d b,&7F... out (
00EB20:  63 29 2C 61 0D 0A 0D 0A 09 20 72 65 73 20 37 2C    c),a..... res 7,
00EB30:  68 3A 20 73 65 74 20 36 2C 68 0D 0A 09 20 6C 64    h: set 6,h... ld
00EB40:  20 61 2C 28 68 6C 29 0D 0A 0D 0A 09 70 6F 70 20     a,(hl).....pop 
00EB50:  68 6C 0D 0A 09 6A 70 20 72 73 74 62 6E 6B 0D 0A    hl...jp rstbnk..
00EB60:  0D 0A 09 3B 50 75 74 20 62 79 74 65 20 74 6F 20    ...;Put byte to 
00EB70:  48 4C 20 69 6E 20 73 65 63 6F 6E 64 20 36 34 6B    HL in second 64k
00EB80:  20 28 63 6F 72 72 75 70 74 73 20 42 43 29 0D 0A     (corrupts BC)..
00EB90:  0D 0A 2E 70 62 62 79 74 65 09 70 75 73 68 20 68    ...pbbyte.push h
00EBA0:  6C 3A 20 70 75 73 68 20 61 66 0D 0A 09 20 6C 64    l: push af... ld
00EBB0:  20 61 2C 68 0D 0A 09 20 72 6C 63 61 3A 20 72 6C     a,h... rlca: rl
00EBC0:  63 61 0D 0A 09 20 61 6E 64 20 33 3A 20 61 64 64    ca... and 3: add
00EBD0:  20 26 43 34 0D 0A 09 20 6C 64 20 62 2C 26 37 46     &C4... ld b,&7F
00EBE0:  3A 20 6F 75 74 20 28 63 29 2C 61 0D 0A 09 20 72    : out (c),a... r
00EBF0:  65 73 20 37 2C 68 3A 20 73 65 74 20 36 2C 68 0D    es 7,h: set 6,h.
00EC00:  0D 0A 2E 61 64 64 62 6C 63 09 70 6F 70 20 61 66    ...addblc.pop af
00EC10:  09 09 3B 20 3C 3C 3C 3C 3C 3C 20 41 64 64 20 74    ..; <<<<<< Add t
00EC20:  6F 20 70 61 72 61 6D 65 74 65 72 20 62 6C 6F 63    o parameter bloc
00EC30:  6B 0D 0A 09 63 70 20 31 32 39 0D 0A 09 6A 70 20    k...cp 129...jp 
00EC40:  7A 2C 64 6F 63 6F 6D 09 09 3B 45 6E 64 20 6F 66    z,docom..;End of
00EC50:  20 70 61 72 61 6D 65 74 65 72 73 3F 0D 0A 09 70     parameters?...p
00EC60:  75 73 68 20 68 6C 0D 0A 09 20 6C 64 20 68 6C 2C    ush hl... ld hl,
00EC70:  28 70 62 6C 6F 63 29 3A 20 6C 64 20 28 68 6C 29    (pbloc): ld (hl)
00EC80:  2C 61 09 3B 53 74 6F 72 65 20 63 68 61 72 61 63    ,a.;Store charac
00EC90:  74 65 72 20 69 6E 20 70 61 72 61 6D 65 74 65 72    ter in parameter
00ECA0:  20 62 6C 6F 63 6B 0D 0A 09 20 69 6E 63 20 68 6C     block... inc hl
00ECB0:  3A 20 20 6C 64 20 28 70 62 6C 6F 63 29 2C 68 6C    :  ld (pbloc),hl
00ECC0:  0D 0A 0D 0A 09 20 6C 64 20 61 2C 28 70 62 6C 6F    ..... ld a,(pblo
00ECD0:  6E 67 29 3A 20 69 6E 63 20 61 09 09 3B 49 6E 63    ng): inc a..;Inc
00ECE0:  72 65 61 73 65 20 70 61 72 61 6D 65 74 65 72 20    rease parameter 
00ECF0:  62 6C 6F 63 6B 20 6C 65 6E 67 74 68 0D 0A 09 20    block length... 
00ED00:  63 70 20 26 38 31 3A 20 6A 72 20 6E 7A 2C 6E 6F    cp &81: jr nz,no
00ED10:  74 6F 76 72 0D 0A 09 20 6C 64 20 68 6C 2C 6F 76    tovr... ld hl,ov
00ED20:  72 74 78 74 3A 20 63 61 6C 6C 20 73 74 72 69 6E    rtxt: call strin
00ED30:  67 09 3B 22 4F 76 65 72 66 6C 6F 77 22 20 65 72    g.;"Overflow" er
00ED40:  72 6F 72 0D 0A 09 20 78 6F 72 20 61 3A 20 6C 64    ror... xor a: ld
00ED50:  20 28 69 6E 6F 70 29 2C 61 09 09 3B 53 74 6F 70     (inop),a..;Stop
00ED60:  20 63 61 70 74 75 72 69 6E 67 21 0D 0A 2E 6E 6F     capturing!...no
00ED70:  74 6F 76 72 09 20 6C 64 20 28 70 62 6C 6F 6E 67    tovr. ld (pblong
00ED80:  29 2C 61 0D 0A 09 70 6F 70 20 68 6C 0D 0A 09 73    ),a...pop hl...s
00ED90:  63 66 3A 20 72 65 74 0D 0A 0D 0A 2E 6C 65 74 73    cf: ret.....lets
00EDA0:  67 6F 09 6C 64 20 61 2C 31 09 09 3B 20 3C 3C 3C    go.ld a,1..; <<<
00EDB0:  3C 3C 3C 20 53 74 61 72 74 20 63 61 70 74 75 72    <<< Start captur
00EDC0:  69 6E 67 20 63 68 61 72 61 63 74 65 72 73 0D 0A    ing characters..
00EDD0:  09 6C 64 20 28 69 6E 6F 70 29 2C 61 0D 0A 09 6C    .ld (inop),a...l
00EDE0:  64 20 61 2C 30 3A 20 6C 64 20 28 70 62 6C 6F 6E    d a,0: ld (pblon
00EDF0:  67 29 2C 61 0D 0A 09 70 75 73 68 20 68 6C 0D 0A    g),a...push hl..
00EE00:  0A 09 70 6F 70 20 61 66 3A 20 6C 64 20 28 68 6C    ..pop af: ld (hl
00EE10:  29 2C 61 3A 20 70 6F 70 20 68 6C 0D 0A 09 6A 70    ),a: pop hl...jp
00EE20:  20 72 73 74 62 6E 6B 0D 0A 0D 0A 09 3B 52 65 73     rstbnk.....;Res
00EE30:  74 6F 72 65 20 62 61 6E 6B 73 20 28 63 6F 72 72    tore banks (corr
00EE40:  75 70 74 73 20 42 43 29 0D 0A 0D 0A 2E 72 73 74    upts BC).....rst
00EE50:  62 6E 6B 09 6C 64 20 62 63 2C 26 37 46 43 30 0D    bnk.ld bc,&7FC0.
00EE60:  0A 09 6F 75 74 20 28 63 29 2C 63 3A 20 72 65 74    ..out (c),c: ret
00EE70:  0D 0A 0D 0A 09 3B 46 69 6E 64 20 73 74 61 72 74    .....;Find start
00EE80:  20 61 64 64 72 65 73 73 20 6F 66 20 63 68 61 72     address of char
00EE90:  61 63 74 65 72 20 41 20 69 6E 20 48 4C 20 28 63    acter A in HL (c
00EEA0:  6F 72 72 75 70 74 73 20 41 29 0D 0A 0D 0A 2E 73    orrupts A).....s
00EEB0:  74 61 64 64 72 09 73 75 62 20 33 32 0D 0A 09 6C    taddr.sub 32...l
00EEC0:  64 20 6C 2C 61 3A 20 6C 64 20 68 2C 30 0D 0A 09    d l,a: ld h,0...
00EED0:  61 64 64 20 68 6C 2C 68 6C 3A 20 61 64 64 20 68    add hl,hl: add h
00EEE0:  6C 2C 68 6C 3A 20 61 64 64 20 68 6C 2C 68 6C 3A    l,hl: add hl,hl:
00EEF0:  20 61 64 64 20 68 6C 2C 68 6C 0D 0A 09 61 64 64     add hl,hl...add
00EF00:  20 68 6C 2C 68 6C 3A 20 61 64 64 20 68 6C 2C 68     hl,hl: add hl,h
00EF10:  6C 3A 20 61 64 64 20 68 6C 2C 68 6C 3A 20 61 64    l: add hl,hl: ad
00EF20:  64 20 68 6C 2C 68 6C 0D 0A 09 61 64 64 20 68 6C    d hl,hl...add hl
00EF30:  2C 68 6C 0D 0A 09 72 65 74 0D 0A 0D 0A 09 3B 46    ,hl...ret.....;F
00EF40:  69 6E 64 20 73 74 61 72 74 20 61 64 64 72 65 73    ind start addres
00EF50:  73 20 6F 66 20 63 68 61 72 61 63 74 65 72 20 41    s of character A
00EF60:  2C 20 72 6F 77 20 42 2C 20 69 6E 20 48 4C 20 28    , row B, in HL (
00EF70:  77 69 64 74 68 20 69 6E 20 44 45 29 0D 0A 0D 0A    width in DE)....
00EF80:  2E 73 74 72 61 64 64 09 63 61 6C 6C 20 73 74 61    .stradd.call sta
00EF90:  64 64 72 0D 0A 09 70 75 73 68 20 62 63 0D 0A 09    ddr...push bc...
00EFA0:  20 63 61 6C 6C 20 67 62 62 79 74 65 0D 0A 09 70     call gbbyte...p
00EFB0:  6F 70 20 62 63 0D 0A 09 69 6E 63 20 68 6C 0D 0A    op bc...inc hl..
00EFC0:  09 6C 64 20 65 2C 61 3A 20 6C 64 20 64 2C 30 0D    .ld e,a: ld d,0.
00EFD0:  0A 09 6C 64 20 61 2C 62 0D 0A 09 6F 72 20 61 3A    ..ld a,b...or a:
00EFE0:  20 72 65 74 20 7A 0D 0A 2E 6D 6F 76 65 6F 6E 09     ret z...moveon.
00EFF0:  61 64 64 20 68 6C 2C 64 65 0D 0A 09 64 6A 6E 7A    add hl,de...djnz
00F000:  09 20 6C 64 20 68 6C 2C 70 62 6C 6F 63 6B 3A 20    . ld hl,pblock: 
00F010:  6C 64 20 28 70 62 6C 6F 63 29 2C 68 6C 0D 0A 09    ld (pbloc),hl...
00F020:  70 6F 70 20 68 6C 0D 0A 09 73 63 66 3A 20 72 65    pop hl...scf: re
00F030:  74 09 0D 0A 0D 0A 2E 64 6F 63 6F 6D 09 6C 64 20    t......docom.ld 
00F040:  61 2C 32 09 09 3B 20 3C 3C 3C 3C 3C 3C 20 44 6F    a,2..; <<<<<< Do
00F050:  20 63 6F 6D 6D 61 6E 64 20 6E 65 78 74 20 74 69     command next ti
00F060:  6D 65 0D 0A 09 6C 64 20 28 69 6E 6F 70 29 2C 61    me...ld (inop),a
00F070:  0D 0A 09 73 63 66 3A 20 72 65 74 0D 0A 0D 0A 2E    ...scf: ret.....
00F080:  65 78 65 63 6F 6D 09 78 6F 72 20 61 09 09 3B 20    execom.xor a..; 
00F090:  3C 3C 3C 3C 3C 3C 20 45 78 65 63 75 74 65 20 63    <<<<<< Execute c
00F0A0:  6F 6D 6D 61 6E 64 0D 0A 09 6C 64 20 28 69 6E 6F    ommand...ld (ino
00F0B0:  70 29 2C 61 0D 0A 09 70 6F 70 20 61 66 0D 0A 09    p),a...pop af...
00F0C0:  63 70 20 22 46 22 3A 20 6A 70 20 7A 2C 63 5F 6C    cp "F": jp z,c_l
00F0D0:  6F 61 64 0D 0A 09 63 70 20 22 48 22 3A 20 6A 70    oad...cp "H": jp
00F0E0:  20 7A 2C 63 5F 68 65 61 64 0D 0A 09 63 70 20 22     z,c_head...cp "
00F0F0:  68 22 3A 20 6A 70 20 7A 2C 63 5F 68 64 65 6E 0D    h": jp z,c_hden.
00F100:  0A 09 63 70 20 22 43 22 3A 20 6A 70 20 7A 2C 63    ..cp "C": jp z,c
00F110:  5F 68 65 61 63 0D 0A 09 63 70 20 22 41 22 3A 20    _heac...cp "A": 
00F120:  6A 70 20 7A 2C 63 5F 63 6C 69 70 0D 0A 09 63 70    jp z,c_clip...cp
00F130:  20 22 61 22 3A 20 6A 70 20 7A 2C 63 5F 63 6C 6F     "a": jp z,c_clo
00F140:  70 0D 0A 09 63 70 20 22 52 22 3A 20 6A 70 20 7A    p...cp "R": jp z
00F150:  2C 63 5F 72 6C 6C 6E 0D 0A 09 63 70 20 22 72 22    ,c_rlln...cp "r"
00F160:  3A 20 6A 70 20 7A 2C 63 5F 72 6C 6F 70 0D 0A 09    : jp z,c_rlop...
00F170:  63 70 20 22 50 22 3A 20 6A 70 20 7A 2C 63 5F 70    cp "P": jp z,c_p
00F180:  61 67 65 0D 0A 0D 0A 09 70 75 73 68 20 68 6C 0D    age.....push hl.
00F190:  0A 09 20 6C 64 20 68 6C 2C 75 6B 63 74 78 74 3A    .. ld hl,ukctxt:
00F1A0:  20 63 61 6C 6C 20 73 74 72 69 6E 67 09 3B 22 55     call string.;"U
00F1B0:  6E 6B 6E 6F 77 6E 20 63 6F 6D 6D 61 6E 64 22 21    nknown command"!
00F1C0:  0D 0A 09 70 6F 70 20 68 6C 0D 0A 09 73 63 66 3A    ...pop hl...scf:
00F1D0:  20 72 65 74 0D 0A 0D 0A 2E 63 5F 6C 6F 61 64 09     ret.....c_load.
00F1E0:  70 75 73 68 20 62 63 3A 20 70 75 73 68 20 64 65    push bc: push de
00F1F0:  09 3B 3E 3E 3E 20 22 46 22 20 2D 20 4C 6F 61 64    .;>>> "F" - Load
00F200:  20 6D 6F 76 65 6F 6E 0D 0A 09 72 65 74 0D 0A 0D     moveon...ret...
00F210:  0A 09 3B 43 61 6C 63 75 6C 61 74 65 20 6C 65 6E    ..;Calculate len
00F220:  67 74 68 20 6F 66 20 73 74 72 69 6E 67 20 69 6E    gth of string in
00F230:  74 6F 20 48 4C 0D 0A 0D 0A 2E 63 61 6C 63 6C 6E    to HL.....calcln
00F240:  09 6C 64 20 68 6C 2C 30 0D 0A 09 6C 64 20 69 78    .ld hl,0...ld ix
00F250:  2C 70 62 6C 6F 63 6B 0D 0A 09 6C 64 20 61 2C 28    ,pblock...ld a,(
00F260:  70 62 6C 6F 6E 67 29 3A 20 6C 64 20 62 2C 61 0D    pblong): ld b,a.
00F270:  0A 0D 0A 2E 63 6C 63 5F 6C 70 09 6C 64 20 61 2C    ....clc_lp.ld a,
00F280:  28 69 78 29 0D 0A 09 70 75 73 68 20 68 6C 3A 20    (ix)...push hl: 
00F290:  70 75 73 68 20 62 63 0D 0A 09 20 6C 64 20 62 2C    push bc... ld b,
00F2A0:  30 3A 20 63 61 6C 6C 20 73 74 72 61 64 64 0D 0A    0: call stradd..
00F2B0:  09 70 6F 70 20 62 63 3A 20 70 6F 70 20 68 6C 0D    .pop bc: pop hl.
00F2C0:  0A 09 61 64 64 20 68 6C 2C 64 65 0D 0A 0D 0A 09    ..add hl,de.....
00F2D0:  69 6E 63 20 69 78 0D 0A 09 64 6A 6E 7A 20 63 6C    inc ix...djnz cl
00F2E0:  63 5F 6C 70 0D 0A 09 72 65 74 0D 0A 0D 0A 09 3B    c_lp...ret.....;
00F2F0:  43 65 6E 74 72 65 20 73 70 61 63 69 6E 67 0D 0A    Centre spacing..
00F300:  0D 0A 2E 63 74 61 62 09 63 61 6C 6C 20 63 61 6C    ...ctab.call cal
00F310:  63 6C 6E 0D 0A 09 65 78 20 68 6C 2C 64 65 3A 20    cln...ex hl,de: 
00F320:  6C 64 20 68 6C 2C 38 34 30 0D 0A 09 73 62 63 20    ld hl,840...sbc 
00F330:  68 6C 2C 64 65 3A 20 73 72 6C 20 68 3A 20 72 72    hl,de: srl h: rr
00F340:  20 6C 0D 0A 09 6A 70 20 64 6F 63 74 61 62 0D 0A     l...jp doctab..
00F350:  0D 0A 2E 64 6F 63 74 61 62 09 62 69 74 20 37 2C    ...doctab.bit 7,
00F360:  6C 3A 20 6A 72 20 7A 2C 63 74 61 62 6F 6B 0D 0A    l: jr z,ctabok..
00F370:  09 6C 64 20 61 2C 65 73 63 3A 20 63 61 6C 6C 20    .ld a,esc: call 
00F380:  70 63 68 61 72 0D 0A 09 6C 64 20 61 2C 22 59 22    pchar...ld a,"Y"
00F390:  3A 20 63 61 6C 6C 20 70 63 68 61 72 0D 0A 09 6C    : call pchar...l
00F3A0:  64 20 61 2C 31 32 37 3A 20 63 61 6C 6C 20 70 63    d a,127: call pc
00F3B0:  68 61 72 0D 0A 09 6C 64 20 61 2C 30 3A 20 20 20    har...ld a,0:   
00F3C0:  63 61 6C 6C 20 70 63 68 61 72 0D 0A 09 6C 64 20    call pchar...ld 
00F3D0:  62 2C 31 32 37 0D 0A 2E 63 74 61 62 36 6C 09 78    b,127...ctab6l.x
00F3E0:  6F 72 20 61 3A 20 63 61 6C 6C 20 70 63 68 61 72    or a: call pchar
00F3F0:  0D 0A 09 64 6A 6E 7A 20 63 74 61 62 36 6C 0D 0A    ...djnz ctab6l..
00F400:  20 68 65 61 64 6C 69 6E 65 20 66 6F 6E 74 0D 0A     headline font..
00F410:  09 70 75 73 68 20 68 6C 3A 20 70 75 73 68 20 69    .push hl: push i
00F420:  78 0D 0A 09 20 63 61 6C 6C 20 6C 6F 61 64 0D 0A    x... call load..
00F430:  09 70 6F 70 20 69 78 3A 20 70 6F 70 20 68 6C 0D    .pop ix: pop hl.
00F440:  0A 09 70 6F 70 20 64 65 3A 20 70 6F 70 20 62 63    ..pop de: pop bc
00F450:  0D 0A 09 6A 70 20 61 62 73 6F 72 62 0D 0A 0D 0A    ...jp absorb....
00F460:  2E 63 5F 68 65 61 64 09 70 75 73 68 20 62 63 3A    .c_head.push bc:
00F470:  20 70 75 73 68 20 64 65 09 3B 3E 3E 3E 20 22 48     push de.;>>> "H
00F480:  22 20 2D 20 50 72 69 6E 74 20 68 65 61 64 6C 69    " - Print headli
00F490:  6E 65 0D 0A 09 70 75 73 68 20 68 6C 3A 20 70 75    ne...push hl: pu
00F4A0:  73 68 20 69 78 0D 0A 09 20 6C 64 20 62 2C 30 3A    sh ix... ld b,0:
00F4B0:  20 63 61 6C 6C 20 70 72 69 6E 74 0D 0A 09 70 6F     call print...po
00F4C0:  70 20 69 78 3A 20 70 6F 70 20 68 6C 0D 0A 09 70    p ix: pop hl...p
00F4D0:  6F 70 20 64 65 3A 20 70 6F 70 20 62 63 0D 0A 09    op de: pop bc...
00F4E0:  6A 70 20 61 62 73 6F 72 62 0D 0A 0D 0A 2E 63 5F    jp absorb.....c_
00F4F0:  68 65 61 63 09 70 75 73 68 20 62 63 3A 20 70 75    heac.push bc: pu
00F500:  73 68 20 64 65 09 3B 3E 3E 3E 20 22 43 22 20 2D    sh de.;>>> "C" -
00F510:  20 50 72 69 6E 74 20 63 65 6E 74 72 65 64 20 68     Print centred h
00F520:  65 61 64 6C 69 6E 65 0D 0A 09 70 75 73 68 20 68    eadline...push h
00F530:  6C 3A 20 70 75 73 68 20 69 78 0D 0A 09 20 6C 64    l: push ix... ld
00F540:  20 61 2C 28 70 67 6D 6F 64 65 29 0D 0A 09 20 70     a,(pgmode)... p
00F550:  75 73 68 20 61 66 0D 0A 09 20 20 6C 64 20 61 2C    ush af...  ld a,
00F560:  22 4C 22 3A 20 6C 64 20 28 70 67 6D 6F 64 65 29    "L": ld (pgmode)
00F570:  2C 61 0D 0A 09 20 20 6C 64 20 62 2C 31 3A 20 63    ,a...  ld b,1: c
00F580:  61 6C 6C 20 70 72 69 6E 74 0D 0A 09 20 70 6F 70    all print... pop
00F590:  20 61 66 0D 0A 09 20 6C 64 20 28 70 67 6D 6F 64     af... ld (pgmod
00F5A0:  65 29 2C 61 0D 0A 09 70 6F 70 20 69 78 3A 20 70    e),a...pop ix: p
00F5B0:  6F 70 20 68 6C 0D 0A 09 70 6F 70 20 64 65 3A 20    op hl...pop de: 
00F5C0:  70 6F 70 20 62 63 0D 0A 09 6A 70 20 61 62 73 6F    pop bc...jp abso
00F5D0:  72 62 0D 0A 0D 0A 2E 63 5F 68 64 65 6E 09 70 75    rb.....c_hden.pu
00F5E0:  73 68 20 61 66 3A 20 70 75 73 68 20 62 63 09 3B    sh af: push bc.;
00F5F0:  3E 3E 3E 20 22 68 22 20 2D 20 53 65 74 20 68 65    >>> "h" - Set he
00F600:  09 72 65 73 20 37 2C 6C 0D 0A 0D 0A 2E 63 74 61    .res 7,l.....cta
00F610:  62 6F 6B 09 6C 64 20 61 2C 65 73 63 3A 20 63 61    bok.ld a,esc: ca
00F620:  6C 6C 20 70 63 68 61 72 0D 0A 09 6C 64 20 61 2C    ll pchar...ld a,
00F630:  22 59 22 3A 20 63 61 6C 6C 20 70 63 68 61 72 0D    "Y": call pchar.
00F640:  0A 09 6C 64 20 61 2C 6C 3A 20 20 20 63 61 6C 6C    ..ld a,l:   call
00F650:  20 70 63 68 61 72 0D 0A 09 6C 64 20 61 2C 68 3A     pchar...ld a,h:
00F660:  20 20 20 63 61 6C 6C 20 70 63 68 61 72 0D 0A 2E       call pchar...
00F670:  63 74 61 62 6F 6C 09 78 6F 72 20 61 3A 20 63 61    ctabol.xor a: ca
00F680:  6C 6C 20 70 63 68 61 72 0D 0A 09 64 65 63 20 68    ll pchar...dec h
00F690:  6C 3A 20 6C 64 20 61 2C 68 3A 20 6F 72 20 6C 0D    l: ld a,h: or l.
00F6A0:  0A 09 6A 72 20 6E 7A 2C 63 74 61 62 6F 6C 0D 0A    ..jr nz,ctabol..
00F6B0:  09 72 65 74 0D 0A 0D 0A 09 3B 50 72 69 6E 74 20    .ret.....;Print 
00F6C0:  63 68 61 72 61 63 74 65 72 0D 0A 0D 0A 2E 70 63    character.....pc
00F6D0:  68 61 72 09 70 75 73 68 20 62 63 0D 0A 09 20 6C    har.push bc... l
00F6E0:  64 20 63 2C 61 0D 0A 2E 70 63 68 61 72 6C 09 20    d c,a...pcharl. 
00F6F0:  63 61 6C 6C 20 6F 72 69 67 0D 0A 09 20 6C 64 20    call orig... ld 
00F700:  61 2C 63 3A 20 6A 72 20 6E 63 2C 70 63 68 61 72    a,c: jr nc,pchar
00F710:  6C 0D 0A 09 70 6F 70 20 62 63 0D 0A 09 72 65 74    l...pop bc...ret
00F720:  0D 0A 0D 0A 09 3B 4F 72 69 67 69 6E 61 6C 20 26    .....;Original &
00F730:  42 44 32 42 20 63 61 6C 6C 0D 0A 0D 0A 2E 6F 72    BD2B call.....or
00F740:  69 67 09 64 73 20 33 0D 0A 0D 0A 09 3B 50 72 69    ig.ds 3.....;Pri
00F750:  6E 74 20 63 68 61 72 61 63 74 65 72 20 72 65 64    nt character red
00F760:  69 72 65 63 74 69 6F 6E 0D 0A 0D 0A 2E 70 72 65    irection.....pre
00F770:  64 72 09 70 75 73 68 20 61 66 0D 0A 09 20 6C 64    dr.push af... ld
00F780:  20 61 2C 28 69 6E 6F 70 29 0D 0A 09 20 63 70 20     a,(inop)... cp 
00F790:  31 3A 20 6A 72 20 7A 2C 61 64 64 62 6C 63 09 3B    1: jr z,addblc.;
00F7A0:  61 64 64 20 74 6F 20 70 61 72 61 6D 65 74 65 72    add to parameter
00F7B0:  20 62 6C 6F 63 6B 3F 0D 0A 09 20 63 70 20 32 3A     block?... cp 2:
00F7C0:  20 6A 72 20 7A 2C 65 78 65 63 6F 6D 09 3B 63 6F     jr z,execom.;co
00F7D0:  6D 6D 61 6E 64 3F 0D 0A 09 70 6F 70 20 61 66 0D    mmand?...pop af.
00F7E0:  0A 0D 0A 09 63 70 20 31 32 38 3A 20 6A 70 20 7A    ....cp 128: jp z
00F7F0:  2C 6C 65 74 73 67 6F 09 3B 73 74 61 72 74 20 6F    ,letsgo.;start o
00F800:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
00F810:  0D 00 01 00 02 09 4E E5 0D 00 C4 02 00 00 00 02    ......N.........
00F820:  0D 00 C9 02 00 00 00 02 0D 00 C5 02 00 00 00 02    ................
00F830:  0D 00 C1 02 00 00 00 02 0D 00 C6 02 00 00 00 02    ................
00F840:  0D 00 C2 02 00 00 00 02 0D 00 C7 02 00 00 00 02    ................
00F850:  0D 00 C3 02 00 00 00 02 0D 00 C8 02 00 00 00 02    ................
00F860:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00F870:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00F880:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00F890:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00F8A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00F8B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00F8C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00F8D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00F8E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00F8F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
00F900:  61 72 0D 0A 09 64 65 63 20 68 6C 3A 20 64 65 63    ar...dec hl: dec
00F910:  20 64 65 0D 0A 09 6C 64 20 61 2C 64 3A 20 6F 72     de...ld a,d: or
00F920:  20 65 0D 0A 09 6A 72 20 6E 7A 2C 70 6D 6C 5F 6C     e...jr nz,pml_l
00F930:  70 0D 0A 0D 0A 2E 70 6C 62 5F 6C 70 09 6C 64 20    p.....plb_lp.ld 
00F940:  61 2C 30 3A 20 63 61 6C 6C 20 70 63 68 61 72 0D    a,0: call pchar.
00F950:  0A 09 64 65 63 20 68 6C 0D 0A 09 6C 64 20 61 2C    ..dec hl...ld a,
00F960:  68 3A 20 6F 72 20 6C 0D 0A 09 6A 72 20 6E 7A 2C    h: or l...jr nz,
00F970:  70 6C 62 5F 6C 70 0D 0A 0D 0A 09 6C 64 20 61 2C    plb_lp.....ld a,
00F980:  31 33 3A 20 63 61 6C 6C 20 70 63 68 61 72 0D 0A    13: call pchar..
00F990:  09 73 63 66 3A 20 72 65 74 0D 0A 0D 0A 2E 63 5F    .scf: ret.....c_
00F9A0:  70 61 67 65 09 6C 64 20 61 2C 31 31 3A 20 63 61    page.ld a,11: ca
00F9B0:  6C 6C 20 70 63 68 61 72 09 3B 3E 3E 3E 20 22 50    ll pchar.;>>> "P
00F9C0:  22 20 2D 20 50 61 67 65 20 62 72 65 61 6B 0D 0A    " - Page break..
00F9D0:  09 6C 64 20 68 6C 2C 28 70 62 6C 6F 63 29 3A 20    .ld hl,(pbloc): 
00F9E0:  64 65 63 20 68 6C 0D 0A 09 6C 64 20 61 2C 28 68    dec hl...ld a,(h
00F9F0:  6C 29 0D 0A 09 62 69 74 20 30 2C 61 3A 20 63 61    l)...bit 0,a: ca
00FA00:  6C 6C 20 6E 7A 2C 62 6C 69 6E 65 0D 0A 0D 0A 09    ll nz,bline.....
00FA10:  6C 64 20 68 6C 2C 70 62 6C 6F 63 6B 0D 0A 09 6C    ld hl,pblock...l
00FA20:  64 20 61 2C 28 70 62 6C 6F 6E 67 29 3A 20 6C 64    d a,(pblong): ld
00FA30:  20 62 2C 61 0D 0A 2E 70 6E 6F 5F 6C 70 09 6C 64     b,a...pno_lp.ld
00FA40:  20 61 2C 28 68 6C 29 3A 20 63 61 6C 6C 20 70 63     a,(hl): call pc
00FA50:  68 61 72 0D 0A 09 69 6E 63 20 68 6C 3A 20 64 6A    har...inc hl: dj
00FA60:  6E 7A 20 70 6E 6F 5F 6C 70 0D 0A 0D 0A 09 6C 64    nz pno_lp.....ld
00FA70:  20 68 6C 2C 28 70 62 6C 6F 63 29 3A 20 64 65 63     hl,(pbloc): dec
00FA80:  20 68 6C 0D 0A 09 6C 64 20 61 2C 28 68 6C 29 0D     hl...ld a,(hl).
00FA90:  0A 09 62 69 74 20 30 2C 61 3A 20 63 61 6C 6C 20    ..bit 0,a: call 
00FAA0:  7A 2C 62 6C 69 6E 65 32 0D 0A 0D 0A 09 6C 64 20    z,bline2.....ld 
00FAB0:  61 2C 31 32 3A 20 63 61 6C 6C 20 70 63 68 61 72    a,12: call pchar
00FAC0:  0D 0A 09 6A 70 20 61 62 73 6F 72 62 0D 0A 0D 0A    ...jp absorb....
00FAD0:  2E 62 6C 69 6E 65 09 6C 64 20 61 2C 65 73 63 3A    .bline.ld a,esc:
00FAE0:  20 63 61 6C 6C 20 70 63 68 61 72 0D 0A 09 6C 64     call pchar...ld
00FAF0:  20 61 2C 22 2D 22 3A 20 63 61 6C 6C 20 70 63 68     a,"-": call pch
00FB00:  0D 0A 09 6C 64 20 61 2C 22 4A 22 3A 20 63 61 6C    ...ld a,"J": cal
00FB10:  6C 20 70 63 68 61 72 0D 0A 09 6C 64 20 61 2C 28    l pchar...ld a,(
00FB20:  63 6C 67 61 70 29 3A 20 63 61 6C 6C 20 70 63 68    clgap): call pch
00FB30:  61 72 0D 0A 09 6C 64 20 61 2C 31 33 3A 20 63 61    ar...ld a,13: ca
00FB40:  6C 6C 20 70 63 68 61 72 0D 0A 09 63 61 6C 6C 20    ll pchar...call 
00FB50:  64 6F 6D 61 72 67 0D 0A 09 6A 72 20 73 6C 6F 6F    domarg...jr sloo
00FB60:  70 0D 0A 0D 0A 09 3B 50 6C 6F 74 20 70 6F 69 6E    p.....;Plot poin
00FB70:  74 20 69 66 20 6E 6F 74 20 61 74 20 65 6E 64 20    t if not at end 
00FB80:  6F 66 20 6C 69 6E 65 0D 0A 0D 0A 2E 70 6C 6F 74    of line.....plot
00FB90:  09 64 65 63 20 64 65 0D 0A 09 70 75 73 68 20 61    .dec de...push a
00FBA0:  66 0D 0A 09 20 6C 64 20 61 2C 64 3A 20 6F 72 20    f... ld a,d: or 
00FBB0:  65 3A 20 6A 72 20 6E 7A 2C 73 61 6D 65 0D 0A 09    e: jr nz,same...
00FBC0:  20 78 6F 72 20 61 3A 20 6C 64 20 28 6E 65 77 6C     xor a: ld (newl
00FBD0:  69 6E 65 29 2C 61 0D 0A 09 20 6C 64 20 64 65 2C    ine),a... ld de,
00FBE0:  31 0D 0A 09 70 6F 70 20 61 66 0D 0A 09 72 65 73    1...pop af...res
00FBF0:  20 37 2C 61 0D 0A 09 70 75 73 68 20 61 66 0D 0A     7,a...push af..
00FC00:  0D 0A 2E 73 61 6D 65 09 20 63 61 6C 6C 20 71 75    ...same. call qu
00FC10:  61 64 63 0D 0A 09 70 6F 70 20 61 66 0D 0A 09 70    adc...pop af...p
00FC20:  75 73 68 20 62 63 0D 0A 09 20 6C 64 20 63 2C 30    ush bc... ld c,0
00FC30:  0D 0A 09 20 72 6C 20 61 3A 20 6A 72 20 6E 63 2C    ... rl a: jr nc,
00FC40:  64 6F 73 65 6E 64 0D 0A 2E 69 73 5F 31 09 20 6C    dosend...is_1. l
00FC50:  64 20 62 63 2C 28 62 69 74 70 61 74 29 09 09 09    d bc,(bitpat)...
00FC60:  3B 3D 20 6C 64 20 63 2C 28 62 69 74 70 61 74 29    ;= ld c,(bitpat)
00FC70:  0D 0A 2E 64 6F 73 65 6E 64 09 20 70 75 73 68 20    ...dosend. push 
00FC80:  61 66 0D 0A 09 20 20 6C 64 20 61 2C 63 0D 0A 09    af...  ld a,c...
00FC90:  20 20 63 61 6C 6C 20 70 63 68 61 72 0D 0A 09 20      call pchar... 
00FCA0:  70 6F 70 20 61 66 0D 0A 09 70 6F 70 20 62 63 0D    pop af...pop bc.
00FCB0:  0A 09 72 65 74 0D 0A 0D 0A 2E 71 75 61 64 63 09    ..ret.....quadc.
00FCC0:  6C 64 20 61 2C 28 62 63 6F 75 6E 74 29 3A 20 63    ld a,(bcount): c
00FCD0:  70 20 36 34 0D 0A 09 6A 72 20 6E 7A 2C 69 62 63    p 64...jr nz,ibc
00FCE0:  6E 74 0D 0A 0D 0A 09 6C 64 20 61 2C 65 73 63 3A    nt.....ld a,esc:
00FCF0:  20 63 61 6C 6C 20 70 63 68 61 72 0D 0A 09 6C 64     call pchar...ld
00FD00:  61 72 0D 0A 09 6C 64 20 61 2C 31 3A 20 20 20 63    ar...ld a,1:   c
00FD10:  61 6C 6C 20 70 63 68 61 72 0D 0A 0D 0A 09 6C 64    all pchar.....ld
00FD20:  20 61 2C 28 70 62 6C 6F 6E 67 29 3A 20 6C 64 20     a,(pblong): ld 
00FD30:  62 2C 61 0D 0A 09 6C 64 20 61 2C 37 30 3A 20 73    b,a...ld a,70: s
00FD40:  75 62 20 62 3A 20 6C 64 20 62 2C 61 0D 0A 2E 62    ub b: ld b,a...b
00FD50:  6C 6C 6F 6F 70 09 6C 64 20 61 2C 33 32 3A 20 63    lloop.ld a,32: c
00FD60:  61 6C 6C 20 70 63 68 61 72 0D 0A 09 64 6A 6E 7A    all pchar...djnz
00FD70:  20 62 6C 6C 6F 6F 70 0D 0A 0D 0A 09 6C 64 20 61     blloop.....ld a
00FD80:  2C 65 73 63 3A 20 63 61 6C 6C 20 70 63 68 61 72    ,esc: call pchar
00FD90:  0D 0A 09 6C 64 20 61 2C 22 2D 22 3A 20 63 61 6C    ...ld a,"-": cal
00FDA0:  6C 20 70 63 68 61 72 0D 0A 09 6C 64 20 61 2C 30    l pchar...ld a,0
00FDB0:  3A 20 20 20 63 61 6C 6C 20 70 63 68 61 72 0D 0A    :   call pchar..
00FDC0:  0D 0A 09 6C 64 20 61 2C 65 73 63 3A 20 63 61 6C    ...ld a,esc: cal
00FDD0:  6C 20 70 63 68 61 72 0D 0A 09 6C 64 20 61 2C 22    l pchar...ld a,"
00FDE0:  4A 22 3A 20 63 61 6C 6C 20 70 63 68 61 72 0D 0A    J": call pchar..
00FDF0:  09 6C 64 20 61 2C 31 32 3A 20 20 63 61 6C 6C 20    .ld a,12:  call 
00FE00:  70 63 68 61 72 0D 0A 09 72 65 74 0D 0A 0D 0A 2E    pchar...ret.....
00FE10:  62 6C 69 6E 65 32 09 6C 64 20 61 2C 28 70 62 6C    bline2.ld a,(pbl
00FE20:  6F 6E 67 29 0D 0A 09 6C 64 20 68 2C 30 3A 20 6C    ong)...ld h,0: l
00FE30:  64 20 6C 2C 61 0D 0A 09 61 64 64 20 68 6C 2C 68    d l,a...add hl,h
00FE40:  6C 3A 20 61 64 64 20 68 6C 2C 68 6C 0D 0A 09 6C    l: add hl,hl...l
00FE50:  64 20 64 2C 68 3A 20 6C 64 20 65 2C 6C 3A 20 61    d d,h: ld e,l: a
00FE60:  64 64 20 68 6C 2C 68 6C 0D 0A 09 61 64 64 20 68    dd hl,hl...add h
00FE70:  6C 2C 64 65 3A 20 65 78 20 68 6C 2C 64 65 0D 0A    l,de: ex hl,de..
00FE80:  09 6C 64 20 68 6C 2C 38 34 30 3A 20 73 62 63 20    .ld hl,840: sbc 
00FE90:  68 6C 2C 64 65 0D 0A 0D 0A 09 62 69 74 20 37 2C    hl,de.....bit 7,
00FEA0:  6C 3A 20 6A 72 20 7A 2C 62 32 6F 6B 37 0D 0A 09    l: jr z,b2ok7...
00FEB0:  6C 64 20 61 2C 65 73 63 3A 20 63 61 6C 6C 20 70    ld a,esc: call p
00FEC0:  63 68 61 72 0D 0A 09 6C 64 20 61 2C 22 59 22 3A    char...ld a,"Y":
00FED0:  20 63 61 6C 6C 20 70 63 68 61 72 0D 0A 09 6C 64     call pchar...ld
00FEE0:  20 61 2C 31 32 37 3A 20 63 61 6C 6C 20 70 63 68     a,127: call pch
00FEF0:  61 72 0D 0A 09 6C 64 20 61 2C 30 3A 20 20 20 63    ar...ld a,0:   c
00FF00:  61 64 6C 69 6E 65 20 6F 70 74 69 6F 6E 73 20 28    adline options (
00FF10:  31 3D 77 69 64 74 68 2C 20 32 3D 4E 4C 51 29 0D    1=width, 2=NLQ).
00FF20:  0A 09 70 75 73 68 20 64 65 3A 20 70 75 73 68 20    ..push de: push 
00FF30:  68 6C 0D 0A 09 20 63 61 6C 6C 20 63 70 61 72 61    hl... call cpara
00FF40:  6D 0D 0A 09 20 6C 64 20 61 2C 28 70 73 74 6F 72    m... ld a,(pstor
00FF50:  65 29 0D 0A 09 20 63 70 20 31 3A 20 6A 72 20 7A    e)... cp 1: jr z
00FF60:  2C 73 6E 67 77 64 74 68 0D 0A 09 20 6C 64 20 61    ,sngwdth... ld a
00FF70:  2C 22 4B 22 3A 20 6A 72 20 70 75 74 64 65 6E 0D    ,"K": jr putden.
00FF80:  0A 2E 73 6E 67 77 64 74 68 20 6C 64 20 61 2C 22    ..sngwdth ld a,"
00FF90:  4C 22 0D 0A 2E 70 75 74 64 65 6E 09 20 6C 64 20    L"...putden. ld 
00FFA0:  28 70 67 6D 6F 64 65 29 2C 61 0D 0A 0D 0A 09 20    (pgmode),a..... 
00FFB0:  6C 64 20 61 2C 28 70 73 74 6F 72 65 2B 31 29 0D    ld a,(pstore+1).
00FFC0:  0A 09 20 61 6E 64 20 31 0D 0A 09 20 6C 64 20 28    .. and 1... ld (
00FFD0:  70 74 79 70 65 29 2C 61 0D 0A 09 70 6F 70 20 68    ptype),a...pop h
00FFE0:  6C 3A 20 70 6F 70 20 64 65 0D 0A 09 70 6F 70 20    l: pop de...pop 
00FFF0:  62 63 3A 20 70 6F 70 20 61 66 0D 0A 09 6A 70 20    bc: pop af...jp 
010000:  61 62 73 6F 72 62 0D 0A 0D 0A 2E 63 5F 63 6C 69    absorb.....c_cli
010010:  70 09 70 75 73 68 20 62 63 09 09 09 3B 3E 3E 3E    p.push bc...;>>>
010020:  20 22 41 22 20 2D 20 50 72 69 6E 74 20 63 6C 69     "A" - Print cli
010030:  70 20 61 72 74 0D 0A 09 70 75 73 68 20 64 65 3A    p art...push de:
010040:  20 70 75 73 68 20 68 6C 0D 0A 09 70 75 73 68 20     push hl...push 
010050:  69 78 3A 20 70 75 73 68 20 69 79 0D 0A 09 20 63    ix: push iy... c
010060:  61 6C 6C 20 63 6C 69 70 0D 0A 09 70 6F 70 20 69    all clip...pop i
010070:  79 3A 20 70 6F 70 20 69 78 0D 0A 09 70 6F 70 20    y: pop ix...pop 
010080:  68 6C 3A 20 70 6F 70 20 64 65 0D 0A 09 70 6F 70    hl: pop de...pop
010090:  20 62 63 0D 0A 09 6A 70 20 61 62 73 6F 72 62 0D     bc...jp absorb.
0100A0:  0A 0D 0A 2E 63 5F 63 6C 6F 70 09 70 75 73 68 20    ....c_clop.push 
0100B0:  62 63 09 09 09 3B 3E 3E 3E 20 22 61 22 20 2D 20    bc...;>>> "a" - 
0100C0:  53 65 74 20 63 6C 69 70 20 61 72 74 20 6F 70 74    Set clip art opt
0100D0:  69 6F 6E 73 0D 0A 09 70 75 73 68 20 64 65 3A 20    ions...push de: 
0100E0:  70 75 73 68 20 68 6C 0D 0A 09 20 63 61 6C 6C 20    push hl... call 
0100F0:  63 70 61 72 61 6D 0D 0A 09 20 6C 64 20 61 2C 28    cparam... ld a,(
010100:  61 6C 6C 20 70 63 68 61 72 0D 0A 09 6C 64 20 62    all pchar...ld b
010110:  2C 31 32 37 0D 0A 2E 62 32 5F 6C 70 09 6C 64 20    ,127...b2_lp.ld 
010120:  61 2C 38 3A 20 63 61 6C 6C 20 70 63 68 61 72 0D    a,8: call pchar.
010130:  0A 09 64 6A 6E 7A 20 62 32 5F 6C 70 0D 0A 09 72    ..djnz b2_lp...r
010140:  65 73 20 37 2C 6C 0D 0A 0D 0A 2E 62 32 6F 6B 37    es 7,l.....b2ok7
010150:  09 6C 64 20 61 2C 65 73 63 3A 20 63 61 6C 6C 20    .ld a,esc: call 
010160:  70 63 68 61 72 0D 0A 09 6C 64 20 61 2C 22 59 22    pchar...ld a,"Y"
010170:  3A 20 63 61 6C 6C 20 70 63 68 61 72 0D 0A 09 6C    : call pchar...l
010180:  64 20 61 2C 6C 3A 20 20 20 63 61 6C 6C 20 70 63    d a,l:   call pc
010190:  68 61 72 0D 0A 09 6C 64 20 61 2C 68 3A 20 20 20    har...ld a,h:   
0101A0:  63 61 6C 6C 20 70 63 68 61 72 0D 0A 2E 62 32 6F    call pchar...b2o
0101B0:  5F 6C 70 09 6C 64 20 61 2C 38 3A 20 63 61 6C 6C    _lp.ld a,8: call
0101C0:  20 70 63 68 61 72 0D 0A 09 64 65 63 20 68 6C 3A     pchar...dec hl:
0101D0:  20 6C 64 20 61 2C 68 3A 20 6F 72 20 6C 0D 0A 09     ld a,h: or l...
0101E0:  6A 72 20 6E 7A 2C 62 32 6F 5F 6C 70 0D 0A 09 72    jr nz,b2o_lp...r
0101F0:  65 74 0D 0A 0D 0A 0D 0A 0D 0A 09 3B 41 62 73 6F    et.........;Abso
010200:  72 62 20 6E 65 78 74 20 43 52 2F 4C 46 20 61 6E    rb next CR/LF an
010210:  64 20 72 65 74 75 72 6E 0D 0A 0D 0A 2E 61 62 73    d return.....abs
010220:  6F 72 62 09 6C 64 20 61 2C 31 33 0D 0A 09 6C 64    orb.ld a,13...ld
010230:  20 28 77 63 68 61 72 29 2C 61 0D 0A 09 73 63 66     (wchar),a...scf
010240:  3A 20 72 65 74 0D 0A 0D 0A 0D 0A 0D 0A 09 3B 50    : ret.........;P
010250:  72 69 6E 74 20 53 74 6F 70 20 50 72 65 73 73 20    rint Stop Press 
010260:  63 6C 69 70 20 61 72 74 20 66 69 6C 65 0D 0A 0D    clip art file...
010270:  0A 2E 63 6C 69 70 09 6C 64 20 68 6C 2C 70 62 6C    ..clip.ld hl,pbl
010280:  6F 63 6B 0D 0A 09 6C 64 20 61 2C 28 70 62 6C 6F    ock...ld a,(pblo
010290:  6E 67 29 3A 20 6C 64 20 62 2C 61 0D 0A 09 6C 64    ng): ld b,a...ld
0102A0:  20 64 65 2C 26 34 30 30 30 0D 0A 09 63 61 6C 6C     de,&4000...call
0102B0:  20 73 5F 42 43 37 37 09 09 3B 6F 70 65 6E 20 66     s_BC77..;open f
0102C0:  69 6C 65 0D 0A 09 6A 70 20 6E 63 2C 6C 64 65 72    ile...jp nc,lder
0102D0:  72 0D 0A 0D 0A 09 63 61 6C 6C 20 73 5F 42 43 38    r.....call s_BC8
0102E0:  30 3A 20 6C 64 20 6C 2C 61 0D 0A 09 63 61 6C 6C    0: ld l,a...call
0102F0:  20 73 5F 42 43 38 30 3A 20 6C 64 20 68 2C 61 0D     s_BC80: ld h,a.
010300:  70 73 74 6F 72 65 29 0D 0A 09 20 63 70 20 31 3A    pstore)... cp 1:
010310:  20 6A 72 20 7A 2C 61 73 6E 67 77 74 68 0D 0A 09     jr z,asngwth...
010320:  20 63 70 20 32 3A 20 6A 72 20 7A 2C 61 64 62 6C     cp 2: jr z,adbl
010330:  77 74 68 0D 0A 09 20 63 70 20 34 3A 20 6A 72 20    wth... cp 4: jr 
010340:  7A 2C 61 71 75 61 77 74 68 0D 0A 2E 61 73 6E 67    z,aquawth...asng
010350:  77 74 68 20 6C 64 20 61 2C 22 5A 22 3A 20 6A 72    wth ld a,"Z": jr
010360:  20 61 70 75 74 77 74 68 0D 0A 2E 61 64 62 6C 77     aputwth...adblw
010370:  74 68 20 6C 64 20 61 2C 22 4C 22 3A 20 6A 72 20    th ld a,"L": jr 
010380:  61 70 75 74 77 74 68 0D 0A 2E 61 71 75 61 77 74    aputwth...aquawt
010390:  68 20 6C 64 20 61 2C 22 4B 22 3A 20 6A 72 20 61    h ld a,"K": jr a
0103A0:  70 75 74 77 74 68 0D 0A 2E 61 70 75 74 77 74 68    putwth...aputwth
0103B0:  20 6C 64 20 28 63 6C 74 79 70 65 29 2C 61 0D 0A     ld (cltype),a..
0103C0:  0D 0A 09 20 6C 64 20 61 2C 28 70 73 74 6F 72 65    ... ld a,(pstore
0103D0:  2B 31 29 0D 0A 09 20 61 64 64 20 61 0D 0A 09 20    +1)... add a... 
0103E0:  6C 64 20 28 63 6C 67 61 70 29 2C 61 0D 0A 0D 0A    ld (clgap),a....
0103F0:  09 20 6C 64 20 61 2C 28 70 73 74 6F 72 65 2B 32    . ld a,(pstore+2
010400:  29 0D 0A 09 20 6C 64 20 28 62 69 74 70 61 74 29    )... ld (bitpat)
010410:  2C 61 0D 0A 0D 0A 09 20 6C 64 20 61 2C 28 70 73    ,a..... ld a,(ps
010420:  74 6F 72 65 2B 33 29 0D 0A 09 20 6C 64 20 28 6D    tore+3)... ld (m
010430:  61 72 67 69 6E 29 2C 61 0D 0A 09 70 6F 70 20 68    argin),a...pop h
010440:  6C 3A 20 70 6F 70 20 64 65 0D 0A 09 70 6F 70 20    l: pop de...pop 
010450:  62 63 0D 0A 09 73 63 66 3A 20 72 65 74 0D 0A 0D    bc...scf: ret...
010460:  0A 2E 63 5F 72 6C 6F 70 09 70 75 73 68 20 62 63    ..c_rlop.push bc
010470:  09 09 09 3B 3E 3E 3E 20 22 72 22 20 2D 20 53 65    ...;>>> "r" - Se
010480:  74 20 72 75 6C 65 72 20 6C 69 6E 65 20 6F 70 74    t ruler line opt
010490:  69 6F 6E 73 0D 0A 09 70 75 73 68 20 64 65 3A 20    ions...push de: 
0104A0:  70 75 73 68 20 68 6C 0D 0A 09 20 63 61 6C 6C 20    push hl... call 
0104B0:  63 70 61 72 61 6D 0D 0A 09 20 6C 64 20 61 2C 28    cparam... ld a,(
0104C0:  70 73 74 6F 72 65 29 0D 0A 09 20 6C 64 20 28 72    pstore)... ld (r
0104D0:  6C 77 69 64 29 2C 61 0D 0A 09 20 6C 64 20 61 2C    lwid),a... ld a,
0104E0:  28 70 73 74 6F 72 65 2B 31 29 0D 0A 09 20 6C 64    (pstore+1)... ld
0104F0:  20 28 72 6C 62 69 74 29 2C 61 0D 0A 09 70 6F 70     (rlbit),a...pop
010500:  0A 09 73 72 6C 20 68 3A 20 72 72 20 6C 09 09 3B    ..srl h: rr l..;
010510:  64 69 76 69 64 65 20 62 79 20 32 0D 0A 09 69 6E    divide by 2...in
010520:  63 20 68 6C 3A 09 69 6E 63 20 68 6C 0D 0A 09 63    c hl:.inc hl...c
010530:  61 6C 6C 20 61 72 74 70 6D 73 09 09 3B 73 65 74    all artpms..;set
010540:  20 75 70 20 70 72 6F 67 72 65 73 73 20 6D 65 74     up progress met
010550:  65 72 0D 0A 09 70 75 73 68 20 68 6C 09 09 09 3B    er...push hl...;
010560:  77 69 6C 6C 20 62 65 20 72 65 74 72 69 65 76 65    will be retrieve
010570:  64 20 6C 61 74 65 72 20 62 79 20 22 70 6F 70 20    d later by "pop 
010580:  69 79 22 0D 0A 09 20 63 61 6C 6C 20 73 5F 42 43    iy"... call s_BC
010590:  38 30 3A 20 6C 64 20 65 2C 61 0D 0A 09 20 63 61    80: ld e,a... ca
0105A0:  6C 6C 20 73 5F 42 43 38 30 3A 20 6C 64 20 64 2C    ll s_BC80: ld d,
0105B0:  61 0D 0A 09 20 69 6E 63 20 64 65 3A 20 69 6E 63    a... inc de: inc
0105C0:  20 64 65 3A 20 69 6E 63 20 64 65 0D 0A 09 70 6F     de: inc de...po
0105D0:  70 20 69 79 0D 0A 09 6C 64 20 61 2C 31 33 3A 20    p iy...ld a,13: 
0105E0:  20 63 61 6C 6C 20 70 63 68 61 72 0D 0A 0D 0A 2E     call pchar.....
0105F0:  73 6C 6F 6F 70 09 70 75 73 68 20 64 65 0D 0A 09    sloop.push de...
010600:  20 6C 64 20 61 2C 36 34 3A 20 6C 64 20 28 62 63     ld a,64: ld (bc
010610:  6F 75 6E 74 29 2C 61 09 09 09 3B 73 65 6E 74 20    ount),a...;sent 
010620:  36 34 20 62 79 74 65 73 20 2D 3E 20 73 65 6E 64    64 bytes -> send
010630:  20 45 53 43 20 63 6F 64 65 0D 0A 0D 0A 2E 6C 6F     ESC code.....lo
010640:  6F 70 09 20 63 61 6C 6C 20 73 5F 42 43 38 30 0D    op. call s_BC80.
010650:  0A 09 20 6C 64 20 62 2C 38 0D 0A 2E 70 6C 6F 6F    .. ld b,8...ploo
010660:  70 09 20 63 61 6C 6C 20 70 6C 6F 74 3A 20 64 6A    p. call plot: dj
010670:  6E 7A 20 70 6C 6F 6F 70 0D 0A 09 20 6C 64 20 61    nz ploop... ld a
010680:  2C 28 6E 65 77 6C 69 6E 65 29 3A 20 6F 72 20 61    ,(newline): or a
010690:  3A 20 6A 72 20 6E 7A 2C 6C 6F 6F 70 09 3B 6C 6F    : jr nz,loop.;lo
0106A0:  6F 70 20 69 66 20 6E 65 77 20 6C 69 6E 65 20 6E    op if new line n
0106B0:  6F 74 20 6E 65 65 64 65 64 0D 0A 0D 0A 09 20 3B    ot needed..... ;
0106C0:  4E 65 77 20 6C 69 6E 65 20 6E 65 65 64 65 64 2E    New line needed.
0106D0:  2E 2E 20 66 69 6E 69 73 68 20 6F 66 66 20 67 72    .. finish off gr
0106E0:  61 70 68 69 63 73 20 63 6F 6D 6D 61 6E 64 20 77    aphics command w
0106F0:  69 74 68 20 7A 65 72 6F 73 0D 0A 0D 0A 09 20 6C    ith zeros..... l
010700:  20 68 6C 3A 20 70 6F 70 20 64 65 0D 0A 09 70 6F     hl: pop de...po
010710:  70 20 62 63 0D 0A 09 73 63 66 3A 20 72 65 74 0D    p bc...scf: ret.
010720:  0A 0D 0A 2E 63 5F 72 6C 6C 6E 09 6C 64 20 61 2C    ....c_rlln.ld a,
010730:  65 73 63 3A 20 63 61 6C 6C 20 70 63 68 61 72 09    esc: call pchar.
010740:  3B 3E 3E 3E 20 22 52 22 20 2D 20 50 72 69 6E 74    ;>>> "R" - Print
010750:  20 72 75 6C 65 72 20 6C 69 6E 65 0D 0A 09 6C 64     ruler line...ld
010760:  20 61 2C 22 59 22 3A 20 63 61 6C 6C 20 70 63 68     a,"Y": call pch
010770:  61 72 0D 0A 09 6C 64 20 61 2C 26 34 38 3A 20 63    ar...ld a,&48: c
010780:  61 6C 6C 20 70 63 68 61 72 0D 0A 09 6C 64 20 61    all pchar...ld a
010790:  2C 26 30 33 3A 20 63 61 6C 6C 20 70 63 68 61 72    ,&03: call pchar
0107A0:  0D 0A 0D 0A 09 6C 64 20 68 6C 2C 38 34 30 0D 0A    .....ld hl,840..
0107B0:  0D 0A 09 70 75 73 68 20 68 6C 0D 0A 09 20 6C 64    ...push hl... ld
0107C0:  20 61 2C 28 72 6C 77 69 64 29 3A 20 6C 64 20 6C     a,(rlwid): ld l
0107D0:  2C 61 3A 20 6C 64 20 68 2C 30 0D 0A 09 20 61 64    ,a: ld h,0... ad
0107E0:  64 20 68 6C 2C 68 6C 3A 20 61 64 64 20 68 6C 2C    d hl,hl: add hl,
0107F0:  68 6C 0D 0A 09 20 65 78 20 68 6C 2C 64 65 3A 20    hl... ex hl,de: 
010800:  6C 64 20 68 6C 2C 38 34 30 0D 0A 09 20 73 62 63    ld hl,840... sbc
010810:  20 68 6C 2C 64 65 3A 20 65 78 20 68 6C 2C 64 65     hl,de: ex hl,de
010820:  0D 0A 09 20 73 72 6C 20 64 3A 20 72 72 20 65 0D    ... srl d: rr e.
010830:  0A 09 70 6F 70 20 68 6C 0D 0A 0D 0A 2E 70 6F 62    ..pop hl.....pob
010840:  5F 6C 70 09 6C 64 20 61 2C 30 3A 20 63 61 6C 6C    _lp.ld a,0: call
010850:  20 70 63 68 61 72 0D 0A 09 64 65 63 20 68 6C 3A     pchar...dec hl:
010860:  20 64 65 63 20 64 65 0D 0A 09 6C 64 20 61 2C 64     dec de...ld a,d
010870:  3A 20 6F 72 20 65 0D 0A 09 6A 72 20 6E 7A 2C 70    : or e...jr nz,p
010880:  6F 62 5F 6C 70 0D 0A 0D 0A 09 70 75 73 68 20 68    ob_lp.....push h
010890:  6C 0D 0A 09 20 6C 64 20 61 2C 28 72 6C 77 69 64    l... ld a,(rlwid
0108A0:  29 3A 20 6C 64 20 6C 2C 61 3A 20 6C 64 20 68 2C    ): ld l,a: ld h,
0108B0:  30 0D 0A 09 20 61 64 64 20 68 6C 2C 68 6C 3A 20    0... add hl,hl: 
0108C0:  61 64 64 20 68 6C 2C 68 6C 0D 0A 09 20 65 78 20    add hl,hl... ex 
0108D0:  68 6C 2C 64 65 0D 0A 09 70 6F 70 20 68 6C 0D 0A    hl,de...pop hl..
0108E0:  0D 0A 2E 70 6D 6C 5F 6C 70 09 6C 64 20 61 2C 28    ...pml_lp.ld a,(
0108F0:  72 6C 62 69 74 29 3A 20 63 61 6C 6C 20 70 63 68    rlbit): call pch
010900:  64 20 61 2C 28 62 63 6F 75 6E 74 29 0D 0A 2E 66    d a,(bcount)...f
010910:  62 75 66 66 72 09 20 63 70 20 36 34 3A 20 6A 72    buffr. cp 64: jr
010920:  20 7A 2C 61 6C 6C 73 6E 74 0D 0A 09 20 70 75 73     z,allsnt... pus
010930:  68 20 61 66 0D 0A 09 20 20 78 6F 72 20 61 3A 20    h af...  xor a: 
010940:  63 61 6C 6C 20 70 63 68 61 72 0D 0A 09 20 70 6F    call pchar... po
010950:  70 20 61 66 3A 20 69 6E 63 20 61 0D 0A 09 20 6A    p af: inc a... j
010960:  72 20 66 62 75 66 66 72 0D 0A 0D 0A 2E 61 6C 6C    r fbuffr.....all
010970:  73 6E 74 09 20 6C 64 20 61 2C 32 35 35 3A 20 6C    snt. ld a,255: l
010980:  64 20 28 6E 65 77 6C 69 6E 65 29 2C 61 09 09 3B    d (newline),a..;
010990:  64 6F 6E 27 74 20 6E 65 65 64 20 6E 65 77 20 6C    don't need new l
0109A0:  69 6E 65 0D 0A 0D 0A 09 20 6C 64 20 61 2C 28 61    ine..... ld a,(a
0109B0:  72 74 63 6E 74 29 3A 20 6F 72 20 61 3A 20 6A 72    rtcnt): or a: jr
0109C0:  20 6E 7A 2C 6E 6F 70 63 68 72 09 3B 70 72 6F 67     nz,nopchr.;prog
0109D0:  72 65 73 73 20 6D 65 74 65 72 20 68 61 6E 64 6C    ress meter handl
0109E0:  69 6E 67 0D 0A 09 20 6C 64 20 61 2C 31 34 33 3A    ing... ld a,143:
0109F0:  20 63 61 6C 6C 20 26 42 42 35 41 0D 0A 09 20 78     call &BB5A... x
010A00:  6F 72 20 61 0D 0A 2E 6E 6F 70 63 68 72 09 20 69    or a...nopchr. i
010A10:  6E 63 20 61 3A 20 61 6E 64 20 37 3A 20 6C 64 20    nc a: and 7: ld 
010A20:  28 61 72 74 63 6E 74 29 2C 61 0D 0A 0D 0A 09 20    (artcnt),a..... 
010A30:  64 65 63 20 69 79 0D 0A 09 20 64 62 20 26 46 44    dec iy... db &FD
010A40:  3A 20 6C 64 20 61 2C 68 0D 0A 09 20 64 62 20 26    : ld a,h... db &
010A50:  46 44 3A 20 6F 72 20 6C 0D 0A 09 70 6F 70 20 64    FD: or l...pop d
010A60:  65 3A 20 6A 72 20 6E 7A 2C 6E 6F 74 66 69 6E 09    e: jr nz,notfin.
010A70:  09 09 3B 46 69 6E 69 73 68 65 64 20 77 68 6F 6C    ..;Finished whol
010A80:  65 20 6C 6F 74 20 79 65 74 3F 0D 0A 09 6C 64 20    e lot yet?...ld 
010A90:  61 2C 31 30 3A 20 63 61 6C 6C 20 26 42 42 35 41    a,10: call &BB5A
010AA0:  09 09 09 3B 59 65 73 20 2D 20 43 52 2C 20 63 6C    ...;Yes - CR, cl
010AB0:  6F 73 65 20 66 69 6C 65 2C 20 71 75 69 74 0D 0A    ose file, quit..
010AC0:  09 6C 64 20 61 2C 31 33 3A 20 63 61 6C 6C 20 26    .ld a,13: call &
010AD0:  42 42 35 41 0D 0A 09 6A 70 20 73 5F 42 43 37 41    BB5A...jp s_BC7A
010AE0:  0D 0A 0D 0A 2E 6E 6F 74 66 69 6E 09 6C 64 20 61    .....notfin.ld a
010AF0:  2C 65 73 63 3A 20 63 61 6C 6C 20 70 63 68 61 72    ,esc: call pchar
010B00:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
010B10:  0E 00 01 00 02 09 4E E5 0E 00 C7 02 00 00 00 02    ......N.........
010B20:  0E 00 C3 02 00 00 00 02 0E 00 C8 02 00 00 00 02    ................
010B30:  0E 00 C4 02 00 00 00 02 0E 00 C9 02 00 00 00 02    ................
010B40:  0E 00 C5 02 00 00 00 02 0E 00 C1 02 00 00 00 02    ................
010B50:  0E 00 C6 02 00 00 00 02 0E 00 C2 02 00 00 00 02    ................
010B60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
010B70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
010B80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
010B90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
010BA0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
010BB0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
010BC0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
010BD0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
010BE0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
010BF0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
010C00:  67 20 6E 75 6D 62 65 72 20 6F 66 20 70 61 72 61    g number of para
010C10:  6D 65 74 65 72 73 22 2C 31 33 2C 31 30 2C 30 0D    meters",13,10,0.
010C20:  0A 2E 6F 76 72 74 78 74 09 64 62 20 22 50 52 4F    ..ovrtxt.db "PRO
010C30:  2D 45 58 54 3A 20 70 61 72 61 6D 65 74 65 72 20    -EXT: parameter 
010C40:  6F 76 65 72 66 6C 6F 77 22 2C 31 33 2C 31 30 2C    overflow",13,10,
010C50:  30 0D 0A 2E 61 72 74 74 78 74 09 64 62 20 22 50    0...arttxt.db "P
010C60:  52 4F 2D 45 58 54 3A 20 70 72 69 6E 74 69 6E 67    RO-EXT: printing
010C70:  20 63 6C 69 70 20 61 72 74 20 20 22 2C 30 0D 0A     clip art  ",0..
010C80:  0D 0A 2E 68 65 6C 70 62 67 09 64 62 20 34 2C 32    ...helpbg.db 4,2
010C90:  2C 22 50 52 4F 2D 45 58 54 20 76 31 2E 35 30 20    ,"PRO-EXT v1.50 
010CA0:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
010CB0:  20 20 20 20 20 20 20 22 2C 31 36 34 2C 22 31 39           ",164,"19
010CC0:  39 33 20 52 69 63 68 61 72 64 20 46 61 69 72 68    93 Richard Fairh
010CD0:  75 72 73 74 22 2C 31 30 2C 31 33 2C 31 30 2C 30    urst",10,13,10,0
010CE0:  0D 0A 2E 68 65 6C 70 65 6E 09 64 62 20 31 30 2C    ...helpen.db 10,
010CF0:  22 46 6F 72 20 61 20 6C 69 73 74 20 6F 66 20 63    "For a list of c
010D00:  6F 6D 6D 61 6E 64 73 2C 20 74 79 70 65 20 50 58    ommands, type PX
010D10:  48 45 4C 50 2E 22 2C 31 33 2C 31 30 2C 31 30 2C    HELP.",13,10,10,
010D20:  30 0D 0A 1A 63 68 61 72 64 20 46 61 69 72 68 75    0...chard Fairhu
010D30:  72 73 74 0D 0A 0D 0A 09 6F 72 67 20 26 39 34 30    rst.....org &940
010D40:  30 0D 0A 09 77 72 69 74 65 20 22 70 72 6F 2D 65    0...write "pro-e
010D50:  78 74 2E 62 69 6E 22 0D 0A 09 6E 6F 6C 69 73 74    xt.bin"...nolist
010D60:  0D 0A 0D 0A 65 73 63 09 65 71 75 20 32 37 0D 0A    ....esc.equ 27..
010D70:  0D 0A 09 3B 49 6E 69 74 69 61 6C 69 73 65 20 73    ...;Initialise s
010D80:  2C 30 0D 0A 2E 75 6B 63 74 78 74 09 64 62 20 22    ,0...ukctxt.db "
010D90:  50 52 4F 2D 45 58 54 3A 20 75 6E 6B 6E 6F 77 6E    PRO-EXT: unknown
010DA0:  20 63 6F 6D 6D 61 6E 64 22 2C 31 33 2C 31 30 2C     command",13,10,
010DB0:  30 0D 0A 2E 6E 6F 66 74 78 74 09 64 62 20 22 50    0...noftxt.db "P
010DC0:  52 4F 2D 45 58 54 3A 20 66 6F 6E 74 20 66 69 6C    RO-EXT: font fil
010DD0:  65 20 6E 6F 74 20 6C 6F 61 64 65 64 22 2C 31 33    e not loaded",13
010DE0:  2C 31 30 2C 30 0D 0A 2E 70 61 72 74 78 74 09 64    ,10,0...partxt.d
010DF0:  62 20 22 50 52 4F 2D 45 58 54 3A 20 77 72 6F 6E    b "PRO-EXT: wron
010E00:  64 69 73 70 09 6C 64 20 68 6C 2C 68 65 6C 70 65    disp.ld hl,helpe
010E10:  6E 3A 20 63 61 6C 6C 20 73 74 72 69 6E 67 0D 0A    n: call string..
010E20:  2E 71 6E 64 69 73 70 09 6C 64 20 62 63 2C 26 37    .qndisp.ld bc,&7
010E30:  46 43 30 3A 20 6F 75 74 20 28 63 29 2C 63 0D 0A    FC0: out (c),c..
010E40:  09 72 65 74 0D 0A 0D 0A 2E 68 6E 66 6F 75 6E 09    .ret.....hnfoun.
010E50:  6C 64 20 62 63 2C 26 37 46 43 30 3A 20 6F 75 74    ld bc,&7FC0: out
010E60:  20 28 63 29 2C 63 0D 0A 09 6C 64 20 68 6C 2C 75     (c),c...ld hl,u
010E70:  6B 63 74 78 74 3A 20 6A 70 20 73 74 72 69 6E 67    kctxt: jp string
010E80:  0D 0A 0D 0A 09 3B 50 72 69 6E 74 20 73 74 72 69    .....;Print stri
010E90:  6E 67 20 6F 6E 20 73 63 72 65 65 6E 0D 0A 0D 0A    ng on screen....
010EA0:  2E 73 74 72 69 6E 67 09 6C 64 20 61 2C 28 68 6C    .string.ld a,(hl
010EB0:  29 3A 20 6F 72 20 61 3A 20 72 65 74 20 7A 0D 0A    ): or a: ret z..
010EC0:  09 63 61 6C 6C 20 26 42 42 35 41 3A 20 69 6E 63    .call &BB5A: inc
010ED0:  20 68 6C 3A 20 6A 72 20 73 74 72 69 6E 67 0D 0A     hl: jr string..
010EE0:  0D 0A 09 3B 43 6F 6E 76 65 72 74 20 70 61 72 61    ...;Convert para
010EF0:  6D 65 74 65 72 73 20 66 72 6F 6D 20 22 70 62 6C    meters from "pbl
010F00:  6F 63 6B 22 20 28 41 53 43 49 49 29 20 69 6E 74    ock" (ASCII) int
010F10:  6F 20 22 70 73 74 6F 72 65 22 20 28 76 61 6C 75    o "pstore" (valu
010F20:  65 73 29 0D 0A 0D 0A 2E 63 70 61 72 61 6D 09 6C    es).....cparam.l
010F30:  64 20 61 2C 28 70 62 6C 6F 6E 67 29 3A 20 6C 64    d a,(pblong): ld
010F40:  20 62 2C 61 0D 0A 09 6C 64 20 68 6C 2C 70 62 6C     b,a...ld hl,pbl
010F50:  6F 63 6B 3A 20 6C 64 20 64 65 2C 70 73 74 6F 72    ock: ld de,pstor
010F60:  65 0D 0A 09 6C 64 20 63 2C 30 0D 0A 0D 0A 2E 63    e...ld c,0.....c
010F70:  70 72 6D 6C 70 09 6C 64 20 61 2C 28 68 6C 29 0D    prmlp.ld a,(hl).
010F80:  0A 09 63 70 20 22 2C 22 3A 20 6A 72 20 7A 2C 20    ..cp ",": jr z, 
010F90:  70 75 74 63 68 72 0D 0A 09 63 70 20 22 30 22 3A    putchr...cp "0":
010FA0:  20 6A 72 20 63 2C 20 6E 78 74 63 68 72 0D 0A 09     jr c, nxtchr...
010FB0:  63 70 20 22 3A 22 3A 20 6A 72 20 6E 63 2C 6E 78    cp ":": jr nc,nx
010FC0:  74 63 68 72 0D 0A 09 72 6C 63 20 63 3A 20 6C 64    tchr...rlc c: ld
010FD0:  20 61 2C 63 0D 0A 09 72 6C 63 20 63 3A 20 72 6C     a,c...rlc c: rl
010FE0:  63 20 63 0D 0A 09 61 64 64 20 63 3A 20 6C 64 20    c c...add c: ld 
010FF0:  63 2C 61 09 09 3B 43 3D 43 2A 31 30 0D 0A 0D 0A    c,a..;C=C*10....
011000:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011010:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011020:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011030:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011040:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011050:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011060:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011070:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011080:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011090:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0110A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0110B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0110C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0110D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0110E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0110F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011100:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011110:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011120:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011130:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011140:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011150:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011160:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011170:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011180:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011190:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0111A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0111B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0111C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0111D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0111E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0111F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
011200:  09 6C 64 20 61 2C 28 68 6C 29 3A 20 73 75 62 20    .ld a,(hl): sub 
011210:  34 38 0D 0A 09 61 64 64 20 63 3A 20 6C 64 20 63    48...add c: ld c
011220:  2C 61 0D 0A 0D 0A 2E 6E 78 74 63 68 72 09 69 6E    ,a.....nxtchr.in
011230:  63 20 68 6C 3A 20 64 6A 6E 7A 20 63 70 72 6D 6C    c hl: djnz cprml
011240:  70 09 3B 6E 65 78 74 20 63 68 61 72 61 63 74 65    p.;next characte
011250:  72 20 61 6E 64 20 6C 6F 6F 70 0D 0A 09 6C 64 20    r and loop...ld 
011260:  61 2C 63 3A 20 6C 64 20 28 64 65 29 2C 61 3A 20    a,c: ld (de),a: 
011270:  72 65 74 09 3B 69 66 20 72 75 6E 20 6F 75 74 2C    ret.;if run out,
011280:  20 70 75 74 20 6C 61 73 74 20 70 61 72 61 6D 65     put last parame
011290:  74 65 72 20 69 6E 20 61 6E 64 20 65 6E 64 21 0D    ter in and end!.
0112A0:  0A 0D 0A 2E 70 75 74 63 68 72 09 6C 64 20 61 2C    ....putchr.ld a,
0112B0:  63 3A 20 6C 64 20 63 2C 30 09 09 3B 73 74 6F 72    c: ld c,0..;stor
0112C0:  65 20 76 61 6C 75 65 20 61 6E 64 20 62 6C 61 6E    e value and blan
0112D0:  6B 20 69 74 20 66 6F 72 20 6E 65 78 74 20 74 69    k it for next ti
0112E0:  6D 65 0D 0A 09 6C 64 20 28 64 65 29 2C 61 3A 20    me...ld (de),a: 
0112F0:  69 6E 63 20 64 65 09 3B 20 7C 0D 0A 09 69 6E 63    inc de.; |...inc
011300:  20 68 6C 3A 20 64 6A 6E 7A 20 63 70 72 6D 6C 70     hl: djnz cprmlp
011310:  09 3B 67 6F 20 6F 6E 74 6F 20 6E 65 78 74 20 63    .;go onto next c
011320:  68 61 72 61 63 74 65 72 0D 0A 09 72 65 74 09 09    haracter...ret..
011330:  09 3B 75 6E 6C 65 73 73 20 61 6C 6C 20 63 68 61    .;unless all cha
011340:  72 61 63 74 65 72 73 20 75 73 65 64 0D 0A 0D 0A    racters used....
011350:  09 3B 44 61 74 61 0D 0A 0D 0A 2E 70 62 6C 6F 63    .;Data.....pbloc
011360:  6B 09 64 62 20 22 4F 46 46 49 43 45 2E 46 4E 54    k.db "OFFICE.FNT
011370:  22 3A 20 64 73 20 26 37 34 09 3B 31 32 38 2D 62    ": ds &74.;128-b
011380:  79 74 65 20 70 61 72 61 6D 65 74 65 72 20 62 6C    yte parameter bl
011390:  6F 63 6B 0D 0A 2E 70 62 6C 6F 6E 67 09 64 62 20    ock...pblong.db 
0113A0:  31 30 09 09 09 3B 6C 65 6E 67 74 68 20 6F 66 20    10...;length of 
0113B0:  70 61 72 61 6D 65 74 65 72 20 62 6C 6F 63 6B 0D    parameter block.
0113C0:  0A 2E 70 62 6C 6F 63 09 64 77 20 70 62 6C 6F 63    ..pbloc.dw pbloc
0113D0:  6B 09 09 3B 6C 6F 63 61 74 69 6F 6E 20 69 6E 20    k..;location in 
0113E0:  70 61 72 61 6D 65 74 65 72 20 62 6C 6F 63 6B 0D    parameter block.
0113F0:  0A 2E 69 6E 6F 70 09 64 62 20 30 09 09 09 3B 70    ..inop.db 0...;p
011400:  0D 0A 09 3B 2A 2A 2A 20 42 42 53 2E 4D 4F 44 20    ...;*** BBS.MOD 
011410:  2A 2A 2A 0D 0A 0D 0A 09 3B 3E 3E 3E 20 53 43 41    ***.....;>>> SCA
011420:  4E 20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E 73 63    N command.....sc
011430:  61 6E 5F 69 09 63 61 6C 6C 20 62 75 66 66 5F 63    an_i.call buff_c
011440:  0D 0A 09 6C 64 20 63 2C 32 0D 0A 09 63 70 20 33    ...ld c,2...cp 3
011450:  0D 0A 09 6A 70 20 63 2C 65 72 72 6F 72 0D 0A 0D    ...jp c,error...
011460:  0A 09 64 65 63 20 61 3A 20 64 65 63 20 61 0D 0A    ..dec a: dec a..
011470:  09 63 61 6C 6C 20 72 66 6E 61 6D 65 0D 0A 0D 0A    .call rfname....
011480:  09 6C 64 20 6C 2C 28 69 78 29 3A 20 6C 64 20 68    .ld l,(ix): ld h
011490:  2C 28 69 78 2B 31 29 0D 0A 09 6C 64 20 61 2C 28    ,(ix+1)...ld a,(
0114A0:  69 79 2B 37 32 29 09 09 09 3B 66 69 6C 65 73 20    iy+72)...;files 
0114B0:  74 6F 20 73 65 6E 64 0D 0A 09 6C 64 20 28 68 6C    to send...ld (hl
0114C0:  29 2C 61 0D 0A 09 69 6E 63 20 68 6C 3A 20 6C 64    ),a...inc hl: ld
0114D0:  20 28 68 6C 29 2C 30 0D 0A 0D 0A 09 6C 64 20 6C     (hl),0.....ld l
0114E0:  2C 28 69 78 2B 32 29 3A 20 6C 64 20 68 2C 28 69    ,(ix+2): ld h,(i
0114F0:  78 2B 33 29 0D 0A 09 6C 64 20 65 2C 28 69 79 2B    x+3)...ld e,(iy+
011500:  37 33 29 3A 20 6C 64 20 64 2C 28 69 79 2B 37 34    73): ld d,(iy+74
011510:  29 09 3B 6B 20 74 6F 20 73 65 6E 64 0D 0A 09 6C    ).;k to send...l
011520:  64 20 28 68 6C 29 2C 65 0D 0A 09 69 6E 63 20 68    d (hl),e...inc h
011530:  6C 3A 20 6C 64 20 28 68 6C 29 2C 64 0D 0A 09 72    l: ld (hl),d...r
011540:  65 74 0D 0A 0D 0A 09 3B 3E 3E 3E 20 42 43 4C 45    et.....;>>> BCLE
011550:  41 52 20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E 62    AR command.....b
011560:  63 6C 72 5F 69 09 6C 64 20 61 2C 26 43 34 0D 0A    clr_i.ld a,&C4..
011570:  2E 62 63 6C 72 6C 70 09 6C 64 20 62 2C 26 37 46    .bclrlp.ld b,&7F
011580:  0D 0A 09 6F 75 74 20 28 63 29 2C 61 0D 0A 09 6C    ...out (c),a...l
011590:  64 20 68 6C 2C 26 34 30 30 30 0D 0A 09 6C 64 20    d hl,&4000...ld 
0115A0:  64 65 2C 26 34 30 30 31 0D 0A 09 6C 64 20 62 63    de,&4001...ld bc
0115B0:  2C 26 33 66 66 66 0D 0A 09 6C 64 20 28 68 6C 29    ,&3fff...ld (hl)
0115C0:  2C 30 3A 20 6C 64 69 72 0D 0A 09 69 6E 63 20 61    ,0: ldir...inc a
0115D0:  3A 20 63 70 20 26 43 38 0D 0A 09 6A 72 20 6E 7A    : cp &C8...jr nz
0115E0:  2C 62 63 6C 72 6C 70 0D 0A 09 63 61 6C 6C 20 72    ,bclrlp...call r
0115F0:  73 74 62 6E 6B 0D 0A 0D 0A 09 78 6F 72 20 61 0D    stbnk.....xor a.
011600:  61 72 61 6D 65 74 65 72 20 62 6C 6F 63 6B 20 69    arameter block i
011610:  6E 20 6F 70 65 72 61 74 69 6F 6E 3F 20 28 31 2F    n operation? (1/
011620:  32 29 0D 0A 2E 68 65 69 67 68 74 09 64 62 20 30    2)...height.db 0
011630:  09 09 09 3B 68 65 69 67 68 74 20 6F 66 20 63 68    ...;height of ch
011640:  61 72 61 63 74 65 72 73 0D 0A 2E 6C 61 73 74 6C    aracters...lastl
011650:  66 09 64 62 20 30 09 09 09 3B 6E 75 6D 62 65 72    f.db 0...;number
011660:  20 74 6F 20 6C 69 6E 65 20 66 65 65 64 20 61 74     to line feed at
011670:  20 6C 61 73 74 20 4C 46 0D 0A 2E 72 6F 77 09 64     last LF...row.d
011680:  62 20 30 09 09 09 3B 63 75 72 72 65 6E 74 20 63    b 0...;current c
011690:  68 61 72 61 63 74 65 72 20 72 6F 77 0D 0A 2E 78    haracter row...x
0116A0:  74 36 34 09 64 62 20 30 09 09 09 3B 65 78 74 72    t64.db 0...;extr
0116B0:  61 20 36 34 2D 62 79 74 65 20 62 6C 6F 63 6B 73    a 64-byte blocks
0116C0:  20 74 6F 20 73 65 6E 64 0D 0A 2E 63 6F 6C 75 6D     to send...colum
0116D0:  6E 09 64 77 20 30 09 09 09 3B 6E 75 6D 62 65 72    n.dw 0...;number
0116E0:  20 6F 66 20 63 6F 6C 75 6D 6E 73 20 74 6F 20 73     of columns to s
0116F0:  65 6E 64 0D 0A 2E 70 67 6D 6F 64 65 09 64 62 20    end...pgmode.db 
011700:  22 4C 22 09 09 09 3B 64 6F 75 62 6C 65 20 64 65    "L"...;double de
011710:  6E 73 69 74 79 20 66 6F 72 20 66 6F 6E 74 73 0D    nsity for fonts.
011720:  0A 2E 70 74 79 70 65 09 64 62 20 30 09 09 09 3B    ..ptype.db 0...;
011730:  64 72 61 66 74 20 28 30 29 20 6F 72 20 4E 4C 51    draft (0) or NLQ
011740:  20 28 31 29 20 66 6F 6E 74 0D 0A 2E 63 6C 67 61     (1) font...clga
011750:  70 09 64 62 20 32 09 09 09 3B 32 20 6C 69 6E 65    p.db 2...;2 line
011760:  20 66 65 65 64 20 66 6F 72 20 63 6C 69 70 20 61     feed for clip a
011770:  72 74 0D 0A 2E 63 6C 74 79 70 65 09 64 62 20 22    rt...cltype.db "
011780:  5A 22 09 09 09 3B 71 75 61 64 20 64 65 6E 73 69    Z"...;quad densi
011790:  74 79 20 66 6F 72 20 63 6C 69 70 20 61 72 74 0D    ty for clip art.
0117A0:  0A 2E 62 69 74 70 61 74 09 64 62 20 31 09 09 09    ..bitpat.db 1...
0117B0:  3B 62 69 74 20 70 61 74 74 65 72 6E 20 66 6F 72    ;bit pattern for
0117C0:  20 63 6C 69 70 20 61 72 74 0D 0A 2E 6D 61 72 67     clip art...marg
0117D0:  69 6E 09 64 62 20 30 09 09 09 3B 6D 61 72 67 69    in.db 0...;margi
0117E0:  6E 20 66 6F 72 20 63 6C 69 70 20 61 72 74 0D 0A    n for clip art..
0117F0:  2E 72 6C 62 69 74 09 64 62 20 25 31 30 31 30 30    .rlbit.db %10100
011800:  20 61 2C 28 63 6C 74 79 70 65 29 3A 20 63 61 6C     a,(cltype): cal
011810:  6C 20 70 63 68 61 72 0D 0A 09 6C 64 20 61 2C 36    l pchar...ld a,6
011820:  34 3A 20 20 63 61 6C 6C 20 70 63 68 61 72 0D 0A    4:  call pchar..
011830:  09 6C 64 20 61 2C 30 3A 20 20 20 63 61 6C 6C 20    .ld a,0:   call 
011840:  70 63 68 61 72 0D 0A 0D 0A 09 78 6F 72 20 61 0D    pchar.....xor a.
011850:  0A 0D 0A 2E 69 62 63 6E 74 09 69 6E 63 20 61 3A    ....ibcnt.inc a:
011860:  20 6C 64 20 28 62 63 6F 75 6E 74 29 2C 61 3A 20     ld (bcount),a: 
011870:  72 65 74 0D 0A 0D 0A 09 3B 43 6C 69 70 20 61 72    ret.....;Clip ar
011880:  74 20 6D 61 72 67 69 6E 0D 0A 0D 0A 2E 64 6F 6D    t margin.....dom
011890:  61 72 67 09 6C 64 20 61 2C 28 6D 61 72 67 69 6E    arg.ld a,(margin
0118A0:  29 0D 0A 09 6F 72 20 61 3A 20 72 65 74 20 7A 0D    )...or a: ret z.
0118B0:  0A 2E 64 6F 6D 61 6C 70 09 70 75 73 68 20 61 66    ..domalp.push af
0118C0:  0D 0A 09 20 6C 64 20 61 2C 33 32 3A 20 63 61 6C    ... ld a,32: cal
0118D0:  6C 20 70 63 68 61 72 0D 0A 09 70 6F 70 20 61 66    l pchar...pop af
0118E0:  0D 0A 09 64 65 63 20 61 3A 20 6A 72 20 6E 7A 2C    ...dec a: jr nz,
0118F0:  64 6F 6D 61 6C 70 0D 0A 09 72 65 74 0D 0A 0D 0A    domalp...ret....
011900:  09 3B 43 6C 69 70 20 61 72 74 20 70 72 6F 67 72    .;Clip art progr
011910:  65 73 73 20 6D 65 74 65 72 20 2D 20 73 65 74 20    ess meter - set 
011920:  75 70 0D 0A 0D 0A 2E 61 72 74 70 6D 73 09 70 75    up.....artpms.pu
011930:  73 68 20 68 6C 0D 0A 09 20 6C 64 20 68 6C 2C 61    sh hl... ld hl,a
011940:  72 74 74 78 74 3A 20 63 61 6C 6C 20 73 74 72 69    rttxt: call stri
011950:  6E 67 0D 0A 09 70 6F 70 20 68 6C 0D 0A 09 6C 64    ng...pop hl...ld
011960:  20 61 2C 32 30 37 3A 20 63 61 6C 6C 20 61 72 74     a,207: call art
011970:  70 6D 38 0D 0A 09 6C 64 20 61 2C 38 20 20 3A 20    pm8...ld a,8  : 
011980:  63 61 6C 6C 20 61 72 74 70 6D 38 0D 0A 09 78 6F    call artpm8...xo
011990:  72 20 61 3A 20 6C 64 20 28 61 72 74 63 6E 74 29    r a: ld (artcnt)
0119A0:  2C 61 0D 0A 09 72 65 74 0D 0A 0D 0A 2E 61 72 74    ,a...ret.....art
0119B0:  70 6D 38 09 70 75 73 68 20 68 6C 0D 0A 2E 61 72    pm8.push hl...ar
0119C0:  74 70 6D 6C 09 20 63 61 6C 6C 20 26 42 42 35 41    tpml. call &BB5A
0119D0:  0D 0A 09 20 6F 72 20 61 3A 20 6C 64 20 64 65 2C    ... or a: ld de,
0119E0:  38 3A 20 73 62 63 20 68 6C 2C 64 65 0D 0A 09 20    8: sbc hl,de... 
0119F0:  6A 72 20 6E 63 2C 61 72 74 70 6D 6C 0D 0A 09 70    jr nc,artpml...p
011A00:  09 09 3B 70 61 74 74 65 72 6E 20 66 6F 72 20 72    ..;pattern for r
011A10:  75 6C 65 72 20 6C 69 6E 65 0D 0A 2E 72 6C 77 69    uler line...rlwi
011A20:  64 09 64 62 20 31 30 30 09 09 09 3B 72 75 6C 65    d.db 100...;rule
011A30:  72 20 77 69 64 74 68 0D 0A 2E 77 63 68 61 72 09    r width...wchar.
011A40:  64 62 20 30 09 09 09 3B 63 68 61 72 61 63 74 65    db 0...;characte
011A50:  72 20 74 6F 20 77 61 69 74 20 66 6F 72 0D 0A 2E    r to wait for...
011A60:  70 73 74 6F 72 65 09 64 73 20 36 09 09 09 3B 73    pstore.ds 6...;s
011A70:  74 6F 72 61 67 65 20 6F 66 20 63 68 61 72 61 63    torage of charac
011A80:  74 65 72 73 20 6E 75 6D 65 72 69 63 61 6C 6C 79    ters numerically
011A90:  0D 0A 2E 61 72 74 63 6E 74 09 64 62 20 30 09 09    ...artcnt.db 0..
011AA0:  09 3B 63 6F 75 6E 74 65 72 20 66 6F 72 20 70 72    .;counter for pr
011AB0:  6F 67 72 65 73 73 20 6D 65 74 65 72 0D 0A 0D 0A    ogress meter....
011AC0:  2E 6E 65 77 6C 69 6E 65 20 64 62 20 32 35 35 09    .newline db 255.
011AD0:  09 09 3B 30 20 69 66 20 61 20 6E 65 77 20 6C 69    ..;0 if a new li
011AE0:  6E 65 20 69 73 20 6E 65 65 64 65 64 2C 20 6E 6F    ne is needed, no
011AF0:  6E 2D 7A 65 72 6F 20 6F 74 68 65 72 77 69 73 65    n-zero otherwise
011B00:  0D 0A 2E 62 63 6F 75 6E 74 09 64 62 20 30 09 09    ...bcount.db 0..
011B10:  09 3B 62 79 74 65 73 20 73 65 6E 74 20 63 6F 75    .;bytes sent cou
011B20:  6E 74 0D 0A 0D 0A 2E 77 6B 73 70 09 64 73 20 34    nt.....wksp.ds 4
011B30:  09 09 09 3B 52 53 58 20 77 6F 72 6B 73 70 61 63    ...;RSX workspac
011B40:  65 0D 0A 0D 0A 09 3B 54 65 78 74 0D 0A 0D 0A 2E    e.....;Text.....
011B50:  6C 64 65 74 78 74 09 64 62 20 22 50 52 4F 2D 45    ldetxt.db "PRO-E
011B60:  58 54 3A 20 65 72 72 6F 72 20 69 6E 20 6C 6F 61    XT: error in loa
011B70:  64 69 6E 67 20 66 69 6C 65 22 2C 31 33 2C 31 30    ding file",13,10
011B80:  2C 30 0D 0A 2E 75 6B 63 74 78 74 09 64 62 20 22    ,0...ukctxt.db "
011B90:  50 52 4F 2D 45 58 54 3A 20 75 6E 6B 6E 6F 77 6E    PRO-EXT: unknown
011BA0:  20 63 6F 6D 6D 61 6E 64 22 2C 31 33 2C 31 30 2C     command",13,10,
011BB0:  30 0D 0A 2E 6E 6F 66 74 78 74 09 64 62 20 22 50    0...noftxt.db "P
011BC0:  52 4F 2D 45 58 54 3A 20 66 6F 6E 74 20 66 69 6C    RO-EXT: font fil
011BD0:  65 20 6E 6F 74 20 6C 6F 61 64 65 64 22 2C 31 33    e not loaded",13
011BE0:  2C 31 30 2C 30 0D 0A 2E 70 61 72 74 78 74 09 64    ,10,0...partxt.d
011BF0:  62 20 22 50 52 4F 2D 45 58 54 3A 20 77 72 6F 6E    b "PRO-EXT: wron
011C00:  6F 70 20 68 6C 3A 20 72 65 74 0D 0A 0D 0A 09 3B    op hl: ret.....;
011C10:  4F 6E 6C 69 6E 65 20 68 65 6C 70 20 73 79 73 74    Online help syst
011C20:  65 6D 20 76 31 2E 30 0D 0A 09 3B 28 63 29 39 33    em v1.0...;(c)93
011C30:  20 43 52 54 43 20 6F 66 20 44 69 73 63 6F 76 65     CRTC of Discove
011C40:  72 79 0D 0A 0D 0A 2E 70 78 68 65 6C 70 09 6F 72    ry.....pxhelp.or
011C50:  20 61 3A 20 6A 72 20 6E 7A 2C 73 70 65 63 0D 0A     a: jr nz,spec..
011C60:  09 6C 64 20 61 2C 33 31 3A 20 6A 72 20 67 73 70    .ld a,31: jr gsp
011C70:  65 63 0D 0A 0D 0A 2E 73 70 65 63 09 6C 64 20 6C    ec.....spec.ld l
011C80:  2C 28 69 78 29 3A 20 6C 64 20 68 2C 28 69 78 2B    ,(ix): ld h,(ix+
011C90:  31 29 0D 0A 09 69 6E 63 20 68 6C 3A 20 6C 64 20    1)...inc hl: ld 
011CA0:  65 2C 28 68 6C 29 0D 0A 09 69 6E 63 20 68 6C 3A    e,(hl)...inc hl:
011CB0:  20 6C 64 20 64 2C 28 68 6C 29 0D 0A 09 6C 64 20     ld d,(hl)...ld 
011CC0:  61 2C 28 64 65 29 0D 0A 0D 0A 2E 67 73 70 65 63    a,(de).....gspec
011CD0:  09 6C 64 20 62 63 2C 26 37 46 43 37 3A 20 6F 75    .ld bc,&7FC7: ou
011CE0:  74 20 28 63 29 2C 63 0D 0A 09 6C 64 20 68 6C 2C    t (c),c...ld hl,
011CF0:  26 34 38 30 30 3A 20 6C 64 20 63 2C 61 0D 0A 2E    &4800: ld c,a...
011D00:  67 73 70 65 63 6C 09 6C 64 20 61 2C 28 68 6C 29    gspecl.ld a,(hl)
011D10:  3A 20 69 6E 63 20 68 6C 0D 0A 09 63 70 20 39 3A    : inc hl...cp 9:
011D20:  20 6A 72 20 7A 2C 68 6E 66 6F 75 6E 0D 0A 09 63     jr z,hnfoun...c
011D30:  70 20 36 3A 20 6A 72 20 6E 7A 2C 67 73 70 65 63    p 6: jr nz,gspec
011D40:  6C 0D 0A 09 6C 64 20 61 2C 28 68 6C 29 3A 20 69    l...ld a,(hl): i
011D50:  6E 63 20 68 6C 0D 0A 09 63 70 20 63 3A 20 6A 72    nc hl...cp c: jr
011D60:  20 6E 7A 2C 67 73 70 65 63 6C 0D 0A 0D 0A 09 70     nz,gspecl.....p
011D70:  75 73 68 20 68 6C 0D 0A 09 20 6C 64 20 68 6C 2C    ush hl... ld hl,
011D80:  68 65 6C 70 62 67 3A 20 63 61 6C 6C 20 73 74 72    helpbg: call str
011D90:  69 6E 67 0D 0A 09 70 6F 70 20 68 6C 0D 0A 0D 0A    ing...pop hl....
011DA0:  2E 70 68 65 6C 70 6C 09 6C 64 20 61 2C 28 68 6C    .phelpl.ld a,(hl
011DB0:  29 3A 20 69 6E 63 20 68 6C 0D 0A 09 63 70 20 37    ): inc hl...cp 7
011DC0:  3A 20 6A 72 20 7A 2C 71 6E 64 69 73 70 0D 0A 09    : jr z,qndisp...
011DD0:  63 70 20 38 3A 20 6A 72 20 7A 2C 71 79 64 69 73    cp 8: jr z,qydis
011DE0:  70 0D 0A 09 63 61 6C 6C 20 26 42 42 35 41 3A 20    p...call &BB5A: 
011DF0:  6A 72 20 70 68 65 6C 70 6C 0D 0A 0D 0A 2E 71 79    jr phelpl.....qy
011E00:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
011E10:  0F 00 01 00 02 09 4E E5 0F 00 C1 02 00 00 00 02    ......N.........
011E20:  0F 00 C6 02 00 00 00 02 0F 00 C2 02 00 00 00 02    ................
011E30:  0F 00 C7 02 00 00 00 02 0F 00 C3 02 00 00 00 02    ................
011E40:  0F 00 C8 02 00 00 00 02 0F 00 C4 02 00 00 00 02    ................
011E50:  0F 00 C9 02 00 00 00 02 0F 00 C5 02 00 00 00 02    ................
011E60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
011E70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
011E80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
011E90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
011EA0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
011EB0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
011EC0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
011ED0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
011EE0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
011EF0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
011F00:  0A 09 6C 64 20 28 69 79 2B 31 33 29 2C 61 3A 20    ..ld (iy+13),a: 
011F10:  6C 64 20 28 69 79 2B 31 34 29 2C 61 3A 20 6C 64    ld (iy+14),a: ld
011F20:  20 28 69 79 2B 31 35 29 2C 61 3A 20 6C 64 20 28     (iy+15),a: ld (
011F30:  69 79 2B 31 36 29 2C 61 3A 20 6C 64 20 28 69 79    iy+16),a: ld (iy
011F40:  2B 31 37 29 2C 61 0D 0A 09 6C 64 20 28 69 79 2B    +17),a...ld (iy+
011F50:  31 38 29 2C 61 3A 20 6C 64 20 28 69 79 2B 31 39    18),a: ld (iy+19
011F60:  29 2C 61 3A 20 6C 64 20 28 69 79 2B 32 30 29 2C    ),a: ld (iy+20),
011F70:  61 3A 20 6C 64 20 28 69 79 2B 32 31 29 2C 61 3A    a: ld (iy+21),a:
011F80:  20 6C 64 20 28 69 79 2B 32 32 29 2C 61 0D 0A 09     ld (iy+22),a...
011F90:  6C 64 20 28 69 79 2B 32 33 29 2C 61 0D 0A 09 72    ld (iy+23),a...r
011FA0:  65 74 0D 0A 0D 0A 09 3B 3E 3E 3E 20 42 4F 50 45    et.....;>>> BOPE
011FB0:  4E 20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E 62 6F    N command.....bo
011FC0:  70 6E 5F 69 09 6C 64 20 63 2C 32 0D 0A 09 63 70    pn_i.ld c,2...cp
011FD0:  20 31 0D 0A 09 6A 70 20 6E 7A 2C 65 72 72 6F 72     1...jp nz,error
011FE0:  09 09 09 3B 45 72 72 6F 72 20 69 66 20 3C 20 32    ...;Error if < 2
011FF0:  20 70 61 72 61 6D 65 74 65 72 73 0D 0A 0D 0A 09     parameters.....
012000:  6C 64 20 61 2C 28 69 79 2B 31 37 29 0D 0A 09 6C    ld a,(iy+17)...l
012010:  64 20 63 2C 31 36 0D 0A 09 6F 72 20 61 0D 0A 09    d c,16...or a...
012020:  6A 70 20 6E 7A 2C 65 72 72 6F 72 09 09 09 3B 45    jp nz,error...;E
012030:  72 72 6F 72 20 69 66 20 61 6C 72 65 61 64 79 20    rror if already 
012040:  6F 70 65 6E 0D 0A 0D 0A 09 6C 64 20 6C 2C 28 69    open.....ld l,(i
012050:  78 29 3A 20 6C 64 20 68 2C 28 69 78 2B 31 29 0D    x): ld h,(ix+1).
012060:  0A 09 70 75 73 68 20 68 6C 3A 20 70 6F 70 20 69    ..push hl: pop i
012070:  78 09 09 09 3B 49 58 20 63 6F 6E 74 61 69 6E 73    x...;IX contains
012080:  20 61 64 64 72 65 73 73 20 6F 66 20 70 61 72 61     address of para
012090:  6D 65 74 65 72 0D 0A 0D 0A 09 63 61 6C 6C 20 66    meter.....call f
0120A0:  6C 61 73 74 72 09 09 09 3B 47 65 74 20 6C 61 73    lastr...;Get las
0120B0:  74 20 6C 6F 63 61 74 69 6F 6E 0D 0A 0D 0A 09 6C    t location.....l
0120C0:  64 20 28 69 79 2B 32 30 29 2C 6C 3A 20 6C 64 20    d (iy+20),l: ld 
0120D0:  28 69 79 2B 32 31 29 2C 68 09 3B 53 74 61 72 74    (iy+21),h.;Start
0120E0:  20 70 75 74 74 69 6E 67 20 74 68 69 6E 67 73 20     putting things 
0120F0:  68 65 72 65 0D 0A 09 64 65 63 20 68 6C 3A 20 64    here...dec hl: d
012100:  20 63 2C 31 37 0D 0A 09 65 78 20 64 65 2C 68 6C     c,17...ex de,hl
012110:  0D 0A 09 63 70 20 28 68 6C 29 0D 0A 09 6A 72 20    ...cp (hl)...jr 
012120:  7A 2C 62 6C 69 73 6F 6B 09 09 3B 4F 6B 20 69 66    z,blisok..;Ok if
012130:  20 73 61 6D 65 20 6C 65 6E 67 74 68 0D 0A 09 6A     same length...j
012140:  72 20 63 2C 62 6C 69 73 6F 6B 09 09 3B 6F 72 20    r c,blisok..;or 
012150:  69 66 20 73 74 72 69 6E 67 20 69 73 20 6C 6F 6E    if string is lon
012160:  67 65 72 0D 0A 09 6A 70 20 62 6E 6B 61 62 32 09    ger...jp bnkab2.
012170:  09 3B 6F 74 68 65 72 77 69 73 65 20 65 72 72 6F    .;otherwise erro
012180:  72 20 31 37 0D 0A 0D 0A 2E 62 6C 69 73 6F 6B 09    r 17.....blisok.
012190:  6C 64 20 28 68 6C 29 2C 61 3A 20 6C 64 20 62 2C    ld (hl),a: ld b,
0121A0:  61 09 3B 50 75 74 20 72 65 61 6C 20 6C 65 6E 67    a.;Put real leng
0121B0:  74 68 20 69 6E 74 6F 20 73 74 72 69 6E 67 0D 0A    th into string..
0121C0:  09 69 6E 63 20 68 6C 3A 20 6C 64 20 65 2C 28 68    .inc hl: ld e,(h
0121D0:  6C 29 0D 0A 09 69 6E 63 20 68 6C 3A 20 6C 64 20    l)...inc hl: ld 
0121E0:  64 2C 28 68 6C 29 0D 0A 0D 0A 09 6C 64 20 61 2C    d,(hl).....ld a,
0121F0:  62 3A 20 6F 72 20 61 3A 20 6A 72 20 7A 2C 65 78    b: or a: jr z,ex
012200:  62 67 74 73 0D 0A 0D 0A 2E 62 67 74 73 6C 70 09    bgts.....bgtslp.
012210:  70 75 73 68 20 62 63 3A 20 63 61 6C 6C 20 62 6E    push bc: call bn
012220:  6B 67 69 6E 3A 20 70 6F 70 20 62 63 0D 0A 09 6C    kgin: pop bc...l
012230:  64 20 28 64 65 29 2C 61 3A 20 69 6E 63 20 64 65    d (de),a: inc de
012240:  0D 0A 09 64 6A 6E 7A 20 62 67 74 73 6C 70 0D 0A    ...djnz bgtslp..
012250:  0D 0A 2E 65 78 62 67 74 73 09 72 65 74 0D 0A 0D    ...exbgts.ret...
012260:  0A 09 3B 3E 3E 3E 20 42 47 45 54 49 20 63 6F 6D    ..;>>> BGETI com
012270:  6D 61 6E 64 0D 0A 0D 0A 2E 62 67 74 69 5F 69 09    mand.....bgti_i.
012280:  6C 64 20 63 2C 32 0D 0A 09 63 70 20 31 0D 0A 09    ld c,2...cp 1...
012290:  6A 70 20 6E 7A 2C 65 72 72 6F 72 0D 0A 0D 0A 09    jp nz,error.....
0122A0:  6C 64 20 65 2C 28 69 78 29 3A 20 6C 64 20 64 2C    ld e,(ix): ld d,
0122B0:  28 69 78 2B 31 29 0D 0A 09 63 61 6C 6C 20 62 6E    (ix+1)...call bn
0122C0:  6B 67 69 6E 09 09 3B 47 65 74 20 74 79 70 65 0D    kgin..;Get type.
0122D0:  0A 0D 0A 09 6C 64 20 63 2C 31 35 0D 0A 09 63 70    ....ld c,15...cp
0122E0:  20 26 31 41 3A 20 6A 70 20 7A 2C 62 6E 6B 61 62     &1A: jp z,bnkab
0122F0:  6F 09 3B 45 6E 64 20 6F 66 20 44 61 74 61 3F 0D    o.;End of Data?.
012300:  65 63 20 68 6C 0D 0A 09 6C 64 20 28 69 79 2B 32    ec hl...ld (iy+2
012310:  32 29 2C 6C 3A 20 6C 64 20 28 69 79 2B 32 33 29    2),l: ld (iy+23)
012320:  2C 68 09 3B 41 64 64 72 65 73 73 20 74 6F 20 70    ,h.;Address to p
012330:  75 74 20 6C 65 6E 67 74 68 20 61 74 0D 0A 0D 0A    ut length at....
012340:  09 6C 64 20 6C 2C 28 69 79 2B 31 38 29 3A 20 6C    .ld l,(iy+18): l
012350:  64 20 68 2C 28 69 79 2B 31 39 29 0D 0A 09 69 6E    d h,(iy+19)...in
012360:  63 20 68 6C 09 09 09 09 3B 49 6E 63 72 65 61 73    c hl....;Increas
012370:  65 20 22 6C 61 73 74 20 6D 73 67 22 20 63 6F 75    e "last msg" cou
012380:  6E 74 65 72 0D 0A 09 6C 64 20 28 69 79 2B 31 38    nter...ld (iy+18
012390:  29 2C 6C 3A 20 6C 64 20 28 69 79 2B 31 39 29 2C    ),l: ld (iy+19),
0123A0:  68 0D 0A 09 6C 64 20 28 69 78 29 2C 6C 3A 20 6C    h...ld (ix),l: l
0123B0:  64 20 28 69 78 2B 31 29 2C 68 09 09 3B 61 6E 64    d (ix+1),h..;and
0123C0:  20 70 75 74 20 69 74 20 69 6E 74 6F 20 70 61 73     put it into pas
0123D0:  73 65 64 20 76 61 72 69 61 62 6C 65 0D 0A 0D 0A    sed variable....
0123E0:  09 6C 64 20 61 2C 26 46 46 0D 0A 09 6C 64 20 28    .ld a,&FF...ld (
0123F0:  69 79 2B 31 37 29 2C 61 09 09 09 3B 52 65 63 6F    iy+17),a...;Reco
012400:  72 64 20 6E 6F 77 20 6F 70 65 6E 0D 0A 09 72 65    rd now open...re
012410:  74 0D 0A 0D 0A 09 3B 3E 3E 3E 20 42 43 4C 4F 53    t.....;>>> BCLOS
012420:  45 20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E 62 63    E command.....bc
012430:  73 65 5F 69 09 6C 64 20 63 2C 31 33 0D 0A 09 6C    se_i.ld c,13...l
012440:  64 20 61 2C 28 69 79 2B 31 37 29 0D 0A 09 6F 72    d a,(iy+17)...or
012450:  20 61 0D 0A 09 6A 70 20 7A 2C 65 72 72 6F 72 0D     a...jp z,error.
012460:  0A 0D 0A 09 6C 64 20 61 2C 26 31 41 0D 0A 09 63    ....ld a,&1A...c
012470:  61 6C 6C 20 62 6E 6B 70 69 6E 09 09 3B 50 75 74    all bnkpin..;Put
012480:  20 69 6E 20 22 45 6E 64 20 6F 66 20 44 61 74 61     in "End of Data
012490:  22 20 6D 61 72 6B 65 72 0D 0A 0D 0A 09 6C 64 20    " marker.....ld 
0124A0:  6C 2C 28 69 79 2B 32 30 29 3A 20 6C 64 20 68 2C    l,(iy+20): ld h,
0124B0:  28 69 79 2B 32 31 29 0D 0A 09 6C 64 20 65 2C 28    (iy+21)...ld e,(
0124C0:  69 79 2B 32 32 29 3A 20 6C 64 20 64 2C 28 69 79    iy+22): ld d,(iy
0124D0:  2B 32 33 29 0D 0A 09 73 62 63 20 68 6C 2C 64 65    +23)...sbc hl,de
0124E0:  0D 0A 09 64 65 63 20 68 6C 3A 20 64 65 63 20 68    ...dec hl: dec h
0124F0:  6C 0D 0A 09 65 78 20 68 6C 2C 64 65 0D 0A 09 6C    l...ex hl,de...l
012500:  0A 09 6C 64 20 63 2C 31 34 0D 0A 09 63 70 20 26    ..ld c,14...cp &
012510:  32 35 3A 20 6A 70 20 6E 7A 2C 62 6E 6B 61 62 6F    25: jp nz,bnkabo
012520:  09 3B 49 6E 74 65 67 65 72 20 76 61 72 69 61 62    .;Integer variab
012530:  6C 65 20 74 79 70 65 3F 0D 0A 0D 0A 09 63 61 6C    le type?.....cal
012540:  6C 20 62 6E 6B 67 69 6E 0D 0A 09 6C 64 20 28 64    l bnkgin...ld (d
012550:  65 29 2C 61 3A 20 69 6E 63 20 64 65 09 3B 47 65    e),a: inc de.;Ge
012560:  74 20 6C 6F 77 20 62 79 74 65 20 61 6E 64 20 73    t low byte and s
012570:  74 6F 72 65 0D 0A 0D 0A 09 63 61 6C 6C 20 62 6E    tore.....call bn
012580:  6B 67 69 6E 0D 0A 09 6C 64 20 28 64 65 29 2C 61    kgin...ld (de),a
012590:  3A 20 69 6E 63 20 64 65 09 3B 47 65 74 20 68 69    : inc de.;Get hi
0125A0:  67 68 20 62 79 74 65 20 61 6E 64 20 73 74 6F 72    gh byte and stor
0125B0:  65 0D 0A 09 72 65 74 0D 0A 0D 0A 09 3B 3E 3E 3E    e...ret.....;>>>
0125C0:  20 42 44 45 4C 45 54 45 20 63 6F 6D 6D 61 6E 64     BDELETE command
0125D0:  0D 0A 0D 0A 2E 62 64 65 6C 5F 69 09 6C 64 20 63    .....bdel_i.ld c
0125E0:  2C 32 0D 0A 09 63 70 20 31 0D 0A 09 6A 70 20 6E    ,2...cp 1...jp n
0125F0:  7A 2C 65 72 72 6F 72 09 09 3B 65 72 72 6F 72 20    z,error..;error 
012600:  69 66 20 6E 6F 74 20 6F 6E 65 20 70 61 72 61 6D    if not one param
012610:  65 74 65 72 0D 0A 0D 0A 09 6C 64 20 63 2C 31 38    eter.....ld c,18
012620:  0D 0A 09 6C 64 20 61 2C 28 69 79 2B 31 37 29 0D    ...ld a,(iy+17).
012630:  0A 09 6F 72 20 61 0D 0A 09 6A 70 20 6E 7A 2C 65    ..or a...jp nz,e
012640:  72 72 6F 72 09 09 3B 65 72 72 6F 72 20 69 66 20    rror..;error if 
012650:  72 65 63 6F 72 64 20 63 75 72 72 65 6E 74 6C 79    record currently
012660:  20 6F 70 65 6E 0D 0A 0D 0A 09 6C 64 20 63 2C 28     open.....ld c,(
012670:  69 78 29 3A 20 6C 64 20 62 2C 28 69 78 2B 31 29    ix): ld b,(ix+1)
012680:  09 3B 67 65 74 20 70 61 72 61 6D 65 74 65 72 20    .;get parameter 
012690:  69 6E 74 6F 20 42 43 0D 0A 0D 0A 09 6C 64 20 61    into BC.....ld a
0126A0:  2C 62 3A 20 6F 72 20 63 0D 0A 09 6A 72 20 7A 2C    ,b: or c...jr z,
0126B0:  6E 6F 74 72 63 64 09 09 3B 65 72 72 6F 72 20 69    notrcd..;error i
0126C0:  66 20 6D 65 73 73 61 67 65 20 30 0D 0A 09 6C 64    f message 0...ld
0126D0:  20 6C 2C 28 69 79 2B 31 38 29 3A 20 6C 64 20 68     l,(iy+18): ld h
0126E0:  2C 28 69 79 2B 31 39 29 0D 0A 09 73 62 63 20 68    ,(iy+19)...sbc h
0126F0:  6C 2C 62 63 3A 20 6A 72 20 6E 63 2C 72 63 64 6F    l,bc: jr nc,rcdo
012700:  64 20 6C 2C 28 69 79 2B 32 32 29 3A 20 6C 64 20    d l,(iy+22): ld 
012710:  68 2C 28 69 79 2B 32 33 29 0D 0A 09 6C 64 20 61    h,(iy+23)...ld a
012720:  2C 65 3A 20 63 61 6C 6C 20 70 62 62 79 74 65 0D    ,e: call pbbyte.
012730:  0A 09 69 6E 63 20 68 6C 0D 0A 09 6C 64 20 61 2C    ..inc hl...ld a,
012740:  64 3A 20 63 61 6C 6C 20 70 62 62 79 74 65 0D 0A    d: call pbbyte..
012750:  09 63 61 6C 6C 20 72 73 74 62 6E 6B 0D 0A 0D 0A    .call rstbnk....
012760:  09 78 6F 72 20 61 3A 20 6C 64 20 28 69 79 2B 31    .xor a: ld (iy+1
012770:  37 29 2C 61 09 3B 52 65 63 6F 72 64 20 63 6C 6F    7),a.;Record clo
012780:  73 65 64 21 0D 0A 09 72 65 74 0D 0A 0D 0A 09 3B    sed!...ret.....;
012790:  3E 3E 3E 20 42 47 4F 54 4F 20 63 6F 6D 6D 61 6E    >>> BGOTO comman
0127A0:  64 0D 0A 0D 0A 2E 62 67 74 6F 5F 69 09 6C 64 20    d.....bgto_i.ld 
0127B0:  63 2C 32 0D 0A 09 63 70 20 31 0D 0A 09 6A 70 20    c,2...cp 1...jp 
0127C0:  6E 7A 2C 65 72 72 6F 72 0D 0A 0D 0A 09 6C 64 20    nz,error.....ld 
0127D0:  63 2C 28 69 78 29 3A 20 6C 64 20 62 2C 28 69 78    c,(ix): ld b,(ix
0127E0:  2B 31 29 0D 0A 0D 0A 09 6C 64 20 61 2C 62 3A 20    +1).....ld a,b: 
0127F0:  6F 72 20 63 3A 20 6A 72 20 7A 2C 6E 6F 74 72 63    or c: jr z,notrc
012800:  0D 0A 09 6C 64 20 6C 2C 28 69 79 2B 31 38 29 3A    ...ld l,(iy+18):
012810:  20 6C 64 20 68 2C 28 69 79 2B 31 39 29 3A 20 73     ld h,(iy+19): s
012820:  62 63 20 68 6C 2C 62 63 3A 20 6A 72 20 63 2C 6E    bc hl,bc: jr c,n
012830:  6F 74 72 63 0D 0A 09 6A 72 20 72 63 6F 6B 0D 0A    otrc...jr rcok..
012840:  2E 6E 6F 74 72 63 09 6C 64 20 63 2C 31 32 3A 20    .notrc.ld c,12: 
012850:  6A 70 20 65 72 72 6F 72 0D 0A 0D 0A 2E 72 63 6F    jp error.....rco
012860:  6B 09 63 61 6C 6C 20 67 72 65 63 62 63 0D 0A 09    k.call grecbc...
012870:  63 61 6C 6C 20 72 73 74 62 6E 6B 0D 0A 0D 0A 09    call rstbnk.....
012880:  6C 64 20 28 69 79 2B 31 35 29 2C 65 3A 20 6C 64    ld (iy+15),e: ld
012890:  20 28 69 79 2B 31 36 29 2C 64 0D 0A 09 6C 64 20     (iy+16),d...ld 
0128A0:  28 69 79 2B 31 33 29 2C 6C 3A 20 6C 64 20 28 69    (iy+13),l: ld (i
0128B0:  79 2B 31 34 29 2C 68 0D 0A 09 72 65 74 0D 0A 0D    y+14),h...ret...
0128C0:  0A 09 3B 3E 3E 3E 20 42 43 48 45 43 4B 20 63 6F    ..;>>> BCHECK co
0128D0:  6D 6D 61 6E 64 0D 0A 0D 0A 2E 62 63 68 6B 5F 69    mmand.....bchk_i
0128E0:  09 6C 64 20 63 2C 32 0D 0A 09 63 70 20 63 0D 0A    .ld c,2...cp c..
0128F0:  09 6A 70 20 6E 7A 2C 65 72 72 6F 72 0D 0A 0D 0A    .jp nz,error....
012900:  6B 09 3B 6F 6B 20 69 66 20 3C 3D 20 6C 61 73 74    k.;ok if <= last
012910:  20 6D 65 73 73 61 67 65 0D 0A 2E 6E 6F 74 72 63     message...notrc
012920:  64 09 6C 64 20 63 2C 31 32 3A 20 6A 70 20 65 72    d.ld c,12: jp er
012930:  72 6F 72 09 3B 65 6C 73 65 20 65 72 72 6F 72 0D    ror.;else error.
012940:  0A 0D 0A 2E 72 63 64 6F 6B 09 63 61 6C 6C 20 67    ....rcdok.call g
012950:  72 65 63 62 63 09 09 3B 66 69 6E 64 20 61 64 64    recbc..;find add
012960:  72 65 73 73 20 6F 66 20 72 65 63 6F 72 64 0D 0A    ress of record..
012970:  0D 0A 09 70 75 73 68 20 68 6C 0D 0A 09 61 64 64    ...push hl...add
012980:  20 68 6C 2C 64 65 0D 0A 09 70 6F 70 20 64 65 0D     hl,de...pop de.
012990:  0A 09 64 65 63 20 64 65 3A 20 64 65 63 20 64 65    ..dec de: dec de
0129A0:  09 09 3B 44 45 20 63 6F 6E 74 61 69 6E 73 20 73    ..;DE contains s
0129B0:  74 61 72 74 2C 20 48 4C 20 63 6F 6E 74 61 69 6E    tart, HL contain
0129C0:  73 20 73 74 61 72 74 20 6F 66 20 6E 65 78 74 0D    s start of next.
0129D0:  0A 0D 0A 09 6C 64 20 61 2C 68 3A 20 63 70 6C 3A    ....ld a,h: cpl:
0129E0:  20 6C 64 20 62 2C 61 0D 0A 09 6C 64 20 61 2C 6C     ld b,a...ld a,l
0129F0:  3A 20 63 70 6C 3A 20 6C 64 20 63 2C 61 0D 0A 09    : cpl: ld c,a...
012A00:  64 65 63 20 62 09 09 09 3B 42 43 20 63 6F 6E 74    dec b...;BC cont
012A10:  61 69 6E 73 20 6C 65 6E 67 74 68 20 74 6F 20 74    ains length to t
012A20:  72 61 6E 73 66 65 72 0D 0A 0D 0A 09 6C 64 20 61    ransfer.....ld a
012A30:  2C 28 26 46 46 46 46 29 0D 0A 09 6C 64 20 69 78    ,(&FFFF)...ld ix
012A40:  2C 28 26 46 46 46 33 29 09 09 3B 74 68 65 73 65    ,(&FFF3)..;these
012A50:  20 62 69 74 73 20 6F 66 20 74 68 65 20 73 63 72     bits of the scr
012A60:  65 65 6E 20 67 65 74 20 63 6F 72 72 75 70 74 65    een get corrupte
012A70:  64 21 0D 0A 0D 0A 09 70 75 73 68 20 61 66 3A 20    d!.....push af: 
012A80:  70 75 73 68 20 69 78 0D 0A 0D 0A 09 70 75 73 68    push ix.....push
012A90:  20 64 65 0D 0A 09 70 75 73 68 20 68 6C 0D 0A 09     de...push hl...
012AA0:  70 75 73 68 20 62 63 09 09 09 3B 73 74 6F 72 65    push bc...;store
012AB0:  20 76 61 72 69 61 62 6C 65 73 20 66 6F 72 20 4C     variables for L
012AC0:  44 49 52 0D 0A 0D 0A 09 6C 64 20 62 63 2C 26 37    DIR.....ld bc,&7
012AD0:  46 43 37 0D 0A 09 6F 75 74 20 28 63 29 2C 63 09    FC7...out (c),c.
012AE0:  09 3B 73 77 69 74 63 68 20 74 6F 70 20 31 36 6B    .;switch top 16k
012AF0:  20 69 6E 74 6F 20 26 34 30 30 30 0D 0A 0D 0A 09     into &4000.....
012B00:  09 6C 64 20 6C 2C 28 69 78 2B 32 29 3A 20 6C 64    .ld l,(ix+2): ld
012B10:  20 68 2C 28 69 78 2B 33 29 0D 0A 09 6C 64 20 61     h,(ix+3)...ld a
012B20:  2C 28 69 79 2B 32 30 29 3A 20 6C 64 20 28 68 6C    ,(iy+20): ld (hl
012B30:  29 2C 61 3A 20 69 6E 63 20 68 6C 0D 0A 09 6C 64    ),a: inc hl...ld
012B40:  20 61 2C 28 69 79 2B 32 31 29 3A 20 6C 64 20 28     a,(iy+21): ld (
012B50:  68 6C 29 2C 61 0D 0A 0D 0A 09 6C 64 20 6C 2C 28    hl),a.....ld l,(
012B60:  69 78 29 3A 20 6C 64 20 68 2C 28 69 78 2B 31 29    ix): ld h,(ix+1)
012B70:  0D 0A 09 6C 64 20 61 2C 28 69 79 2B 31 38 29 3A    ...ld a,(iy+18):
012B80:  20 6C 64 20 28 68 6C 29 2C 61 3A 20 69 6E 63 20     ld (hl),a: inc 
012B90:  68 6C 0D 0A 09 6C 64 20 61 2C 28 69 79 2B 31 39    hl...ld a,(iy+19
012BA0:  29 3A 20 6C 64 20 28 68 6C 29 2C 61 0D 0A 09 72    ): ld (hl),a...r
012BB0:  65 74 0D 0A 0D 0A 09 3B 3E 3E 3E 20 42 50 55 54    et.....;>>> BPUT
012BC0:  53 20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E 62 70    S command.....bp
012BD0:  74 73 5F 69 09 6C 64 20 63 2C 32 0D 0A 09 63 70    ts_i.ld c,2...cp
012BE0:  20 31 0D 0A 09 6A 70 20 6E 7A 2C 65 72 72 6F 72     1...jp nz,error
012BF0:  0D 0A 0D 0A 09 6C 64 20 6C 2C 28 69 78 29 3A 20    .....ld l,(ix): 
012C00:  6C 64 20 68 2C 28 69 78 2B 31 29 0D 0A 09 6C 64    ld h,(ix+1)...ld
012C10:  20 62 2C 28 68 6C 29 3A 20 69 6E 63 20 68 6C 0D     b,(hl): inc hl.
012C20:  0A 09 6C 64 20 65 2C 28 68 6C 29 3A 20 69 6E 63    ..ld e,(hl): inc
012C30:  20 68 6C 0D 0A 09 6C 64 20 64 2C 28 68 6C 29 0D     hl...ld d,(hl).
012C40:  0A 0D 0A 09 70 75 73 68 20 62 63 0D 0A 09 6C 64    ....push bc...ld
012C50:  20 61 2C 26 32 34 3A 20 63 61 6C 6C 20 62 6E 6B     a,&24: call bnk
012C60:  70 69 6E 09 3B 53 74 72 69 6E 67 20 6D 61 72 6B    pin.;String mark
012C70:  65 72 0D 0A 09 70 6F 70 20 62 63 0D 0A 0D 0A 09    er...pop bc.....
012C80:  70 75 73 68 20 62 63 0D 0A 09 6C 64 20 61 2C 62    push bc...ld a,b
012C90:  3A 20 63 61 6C 6C 20 62 6E 6B 70 69 6E 09 3B 4C    : call bnkpin.;L
012CA0:  65 6E 67 74 68 20 6F 66 20 73 74 72 69 6E 67 0D    ength of string.
012CB0:  0A 09 70 6F 70 20 62 63 0D 0A 0D 0A 09 6C 64 20    ..pop bc.....ld 
012CC0:  61 2C 62 3A 20 6F 72 20 61 3A 20 6A 72 20 7A 2C    a,b: or a: jr z,
012CD0:  65 78 62 70 74 73 0D 0A 0D 0A 2E 62 70 74 73 6C    exbpts.....bptsl
012CE0:  70 09 6C 64 20 61 2C 28 64 65 29 0D 0A 09 70 75    p.ld a,(de)...pu
012CF0:  73 68 20 62 63 3A 20 63 61 6C 6C 20 62 6E 6B 70    sh bc: call bnkp
012D00:  6C 64 20 64 65 2C 26 37 46 46 35 0D 0A 09 6C 64    ld de,&7FF5...ld
012D10:  20 68 6C 2C 6C 64 69 64 74 61 0D 0A 09 6C 64 20     hl,ldidta...ld 
012D20:  62 63 2C 31 30 0D 0A 09 6C 64 69 72 09 09 09 3B    bc,10...ldir...;
012D30:  63 6F 70 79 20 63 6F 64 65 20 66 6F 72 20 4C 44    copy code for LD
012D40:  49 52 20 69 6E 74 6F 20 74 6F 70 20 6F 66 20 74    IR into top of t
012D50:  6F 70 20 31 36 6B 0D 0A 0D 0A 09 70 6F 70 20 62    op 16k.....pop b
012D60:  63 0D 0A 09 6C 64 20 28 26 37 46 46 36 29 2C 62    c...ld (&7FF6),b
012D70:  63 09 09 3B 6C 6F 61 64 20 74 68 65 20 6C 65 6E    c..;load the len
012D80:  67 74 68 20 69 6E 74 6F 20 72 69 67 68 74 20 70    gth into right p
012D90:  6C 61 63 65 20 69 6E 20 4C 44 49 52 20 63 6F 64    lace in LDIR cod
012DA0:  65 0D 0A 0D 0A 09 6C 64 20 61 2C 26 43 39 3A 20    e.....ld a,&C9: 
012DB0:  6C 64 20 28 26 46 46 46 46 29 2C 61 09 3B 52 45    ld (&FFFF),a.;RE
012DC0:  54 20 69 6E 74 6F 20 6C 61 73 74 20 6C 6F 63 61    T into last loca
012DD0:  74 69 6F 6E 20 28 62 61 63 6B 20 69 6E 20 66 69    tion (back in fi
012DE0:  72 73 74 20 36 34 6B 29 0D 0A 09 6C 64 20 68 6C    rst 64k)...ld hl
012DF0:  2C 26 34 39 45 44 0D 0A 09 6C 64 20 28 26 46 46    ,&49ED...ld (&FF
012E00:  46 33 29 2C 68 6C 09 09 3B 61 6E 64 20 28 61 67    F3),hl..;and (ag
012E10:  61 69 6E 20 69 6E 20 66 69 72 73 74 20 36 34 6B    ain in first 64k
012E20:  29 20 73 65 74 20 75 70 20 74 68 65 20 62 61 6E    ) set up the ban
012E30:  6B 73 0D 0A 0D 0A 09 70 6F 70 20 68 6C 3A 20 70    ks.....pop hl: p
012E40:  6F 70 20 64 65 09 09 3B 67 65 74 20 76 61 72 69    op de..;get vari
012E50:  61 62 6C 65 73 20 66 6F 72 20 4C 44 49 52 20 62    ables for LDIR b
012E60:  61 63 6B 20 61 67 61 69 6E 0D 0A 0D 0A 09 64 69    ack again.....di
012E70:  09 09 09 3B 69 6E 74 65 72 72 75 70 74 73 20 6D    ...;interrupts m
012E80:  75 73 74 20 62 65 20 64 69 73 61 62 6C 65 64 20    ust be disabled 
012E90:  28 6E 6F 20 73 74 61 63 6B 20 65 74 63 2E 21 29    (no stack etc.!)
012EA0:  0D 0A 09 6C 64 20 62 63 2C 26 37 46 43 32 0D 0A    ...ld bc,&7FC2..
012EB0:  09 63 61 6C 6C 20 26 46 46 46 33 09 09 3B 64 6F    .call &FFF3..;do
012EC0:  20 74 68 65 20 42 61 72 74 6D 61 6E 2C 20 77 68     the Bartman, wh
012ED0:  6F 6F 70 73 2C 20 4C 44 49 52 0D 0A 09 65 69 0D    oops, LDIR...ei.
012EE0:  0A 0D 0A 09 70 6F 70 20 69 78 3A 20 70 6F 70 20    ....pop ix: pop 
012EF0:  61 66 0D 0A 09 6C 64 20 28 26 46 46 46 33 29 2C    af...ld (&FFF3),
012F00:  69 6E 3A 20 70 6F 70 20 62 63 0D 0A 09 69 6E 63    in: pop bc...inc
012F10:  20 64 65 3A 20 64 6A 6E 7A 20 62 70 74 73 6C 70     de: djnz bptslp
012F20:  0D 0A 0D 0A 2E 65 78 62 70 74 73 09 72 65 74 0D    .....exbpts.ret.
012F30:  0A 0D 0A 09 3B 3E 3E 3E 20 42 50 55 54 49 20 63    ....;>>> BPUTI c
012F40:  6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E 62 70 74 69 5F    ommand.....bpti_
012F50:  69 09 6C 64 20 63 2C 32 0D 0A 09 63 70 20 31 0D    i.ld c,2...cp 1.
012F60:  0A 09 6A 70 20 6E 7A 2C 65 72 72 6F 72 0D 0A 0D    ..jp nz,error...
012F70:  0A 09 6C 64 20 6C 2C 28 69 78 29 3A 20 6C 64 20    ..ld l,(ix): ld 
012F80:  68 2C 28 69 78 2B 31 29 0D 0A 09 65 78 20 64 65    h,(ix+1)...ex de
012F90:  2C 68 6C 0D 0A 0D 0A 09 6C 64 20 61 2C 26 32 35    ,hl.....ld a,&25
012FA0:  3A 20 63 61 6C 6C 20 62 6E 6B 70 69 6E 09 3B 49    : call bnkpin.;I
012FB0:  6E 74 65 67 65 72 20 6D 61 72 6B 65 72 0D 0A 09    nteger marker...
012FC0:  6C 64 20 61 2C 65 3A 20 63 61 6C 6C 20 62 6E 6B    ld a,e: call bnk
012FD0:  70 69 6E 09 3B 4C 6F 77 20 62 79 74 65 0D 0A 09    pin.;Low byte...
012FE0:  6C 64 20 61 2C 64 3A 20 63 61 6C 6C 20 62 6E 6B    ld a,d: call bnk
012FF0:  70 69 6E 09 3B 48 69 67 68 20 62 79 74 65 0D 0A    pin.;High byte..
013000:  09 72 65 74 0D 0A 0D 0A 09 3B 3E 3E 3E 20 42 47    .ret.....;>>> BG
013010:  45 54 53 20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E    ETS command.....
013020:  62 67 74 73 5F 69 09 6C 64 20 63 2C 32 0D 0A 09    bgts_i.ld c,2...
013030:  63 70 20 31 0D 0A 09 6A 70 20 6E 7A 2C 65 72 72    cp 1...jp nz,err
013040:  6F 72 0D 0A 0D 0A 09 6C 64 20 65 2C 28 69 78 29    or.....ld e,(ix)
013050:  3A 20 6C 64 20 64 2C 28 69 78 2B 31 29 0D 0A 09    : ld d,(ix+1)...
013060:  63 61 6C 6C 20 62 6E 6B 67 69 6E 09 09 3B 47 65    call bnkgin..;Ge
013070:  74 20 74 79 70 65 0D 0A 0D 0A 09 6C 64 20 63 2C    t type.....ld c,
013080:  31 35 0D 0A 09 63 70 20 26 31 41 3A 20 6A 70 20    15...cp &1A: jp 
013090:  7A 2C 62 6E 6B 61 62 6F 09 3B 45 6E 64 20 6F 66    z,bnkabo.;End of
0130A0:  20 44 61 74 61 3F 0D 0A 09 6C 64 20 63 2C 31 34     Data?...ld c,14
0130B0:  0D 0A 09 63 70 20 26 32 34 3A 20 6A 70 20 6E 7A    ...cp &24: jp nz
0130C0:  2C 62 6E 6B 61 62 6F 09 3B 53 74 72 69 6E 67 20    ,bnkabo.;String 
0130D0:  76 61 72 69 61 62 6C 65 20 74 79 70 65 3F 0D 0A    variable type?..
0130E0:  0D 0A 09 63 61 6C 6C 20 62 6E 6B 67 69 6E 09 09    ...call bnkgin..
0130F0:  3B 47 65 74 20 6C 65 6E 67 74 68 0D 0A 09 6C 64    ;Get length...ld
013100:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
013110:  10 00 01 00 02 09 4E E5 10 00 C4 02 00 00 00 02    ......N.........
013120:  10 00 C9 02 00 00 00 02 10 00 C5 02 00 00 00 02    ................
013130:  10 00 C1 02 00 00 00 02 10 00 C6 02 00 00 00 02    ................
013140:  10 00 C2 02 00 00 00 02 10 00 C7 02 00 00 00 02    ................
013150:  10 00 C3 02 00 00 00 02 10 00 C8 02 00 00 00 02    ................
013160:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
013170:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
013180:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
013190:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0131A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0131B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0131C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0131D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0131E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0131F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
013200:  0D 0A 09 72 65 74 0D 0A 0D 0A 0D 0A 09 3B 2A 2A    ...ret.......;**
013210:  2A 20 42 42 53 20 53 55 42 52 4F 55 54 49 4E 45    * BBS SUBROUTINE
013220:  53 20 2A 2A 2A 0D 0A 0D 0A 09 3B 47 65 74 20 62    S ***.....;Get b
013230:  79 74 65 20 66 72 6F 6D 20 48 4C 20 69 6E 20 73    yte from HL in s
013240:  65 63 6F 6E 64 20 36 34 6B 20 28 63 6F 72 72 75    econd 64k (corru
013250:  70 74 73 20 42 43 2C 20 64 6F 65 73 20 6E 6F 74    pts BC, does not
013260:  20 72 65 73 74 6F 72 65 20 62 61 6E 6B 73 29 0D     restore banks).
013270:  0A 0D 0A 2E 67 62 62 79 74 65 09 70 75 73 68 20    ....gbbyte.push 
013280:  68 6C 0D 0A 0D 0A 09 6C 64 20 61 2C 68 0D 0A 09    hl.....ld a,h...
013290:  72 6C 63 61 3A 20 72 6C 63 61 0D 0A 09 61 6E 64    rlca: rlca...and
0132A0:  20 33 3A 20 61 64 64 20 26 43 34 0D 0A 0D 0A 09     3: add &C4.....
0132B0:  6C 64 20 62 2C 26 37 46 0D 0A 09 6F 75 74 20 28    ld b,&7F...out (
0132C0:  63 29 2C 61 0D 0A 0D 0A 09 72 65 73 20 37 2C 68    c),a.....res 7,h
0132D0:  3A 20 73 65 74 20 36 2C 68 0D 0A 09 6C 64 20 61    : set 6,h...ld a
0132E0:  2C 28 68 6C 29 0D 0A 0D 0A 09 70 6F 70 20 68 6C    ,(hl).....pop hl
0132F0:  0D 0A 09 72 65 74 0D 0A 0D 0A 09 3B 50 75 74 20    ...ret.....;Put 
013300:  62 79 74 65 20 74 6F 20 48 4C 20 69 6E 20 73 65    byte to HL in se
013310:  63 6F 6E 64 20 36 34 6B 20 28 63 6F 72 72 75 70    cond 64k (corrup
013320:  74 73 20 42 43 2C 20 64 6F 65 73 20 6E 6F 74 20    ts BC, does not 
013330:  72 65 73 74 6F 72 65 20 62 61 6E 6B 73 29 0D 0A    restore banks)..
013340:  0D 0A 2E 70 62 62 79 74 65 09 70 75 73 68 20 68    ...pbbyte.push h
013350:  6C 0D 0A 09 70 75 73 68 20 61 66 0D 0A 0D 0A 09    l...push af.....
013360:  6C 64 20 61 2C 68 0D 0A 09 72 6C 63 61 3A 20 72    ld a,h...rlca: r
013370:  6C 63 61 0D 0A 09 61 6E 64 20 33 3A 20 61 64 64    lca...and 3: add
013380:  20 26 43 34 0D 0A 0D 0A 09 6C 64 20 62 2C 26 37     &C4.....ld b,&7
013390:  46 0D 0A 09 6F 75 74 20 28 63 29 2C 61 0D 0A 0D    F...out (c),a...
0133A0:  0A 09 72 65 73 20 37 2C 68 3A 20 73 65 74 20 36    ..res 7,h: set 6
0133B0:  2C 68 0D 0A 09 70 6F 70 20 61 66 0D 0A 09 6C 64    ,h...pop af...ld
0133C0:  20 28 68 6C 29 2C 61 0D 0A 0D 0A 09 70 6F 70 20     (hl),a.....pop 
0133D0:  68 6C 0D 0A 09 72 65 74 0D 0A 0D 0A 09 3B 52 65    hl...ret.....;Re
0133E0:  73 74 6F 72 65 20 62 61 6E 6B 73 20 28 63 6F 72    store banks (cor
0133F0:  72 75 70 74 73 20 42 43 29 0D 0A 0D 0A 2E 72 73    rupts BC).....rs
013400:  09 6E 6F 6C 69 73 74 0D 0A 09 70 72 69 6E 74 3A    .nolist...print:
013410:  20 69 66 31 3A 20 70 72 69 6E 74 20 22 50 61 73     if1: print "Pas
013420:  73 20 31 22 3A 20 65 6C 73 65 3A 20 70 72 69 6E    s 1": else: prin
013430:  74 20 22 50 61 73 73 20 32 22 3A 20 65 6E 64 69    t "Pass 2": endi
013440:  66 3A 20 70 72 69 6E 74 0D 0A 0D 0A 09 3B 43 68    f: print.....;Ch
013450:  61 72 6C 65 79 27 73 20 43 6F 6D 6D 73 20 52 4F    arley's Comms RO
013460:  4D 0D 0A 09 3B 64 65 76 65 6C 6F 70 6D 65 6E 74    M...;development
013470:  20 76 65 72 73 69 6F 6E 0D 0A 0D 0A 09 6F 72 67     version.....org
013480:  20 26 43 30 30 30 0D 0A 09 77 72 69 74 65 20 22     &C000...write "
013490:  63 6F 6D 6D 73 2E 62 69 6E 22 0D 0A 0D 0A 6B 64    comms.bin"....kd
0134A0:  73 09 65 71 75 20 31 0D 0A 0D 0A 69 66 20 6B 64    s.equ 1....if kd
0134B0:  73 0D 0A 20 64 61 74 6F 75 74 09 65 71 75 20 26    s.. datout.equ &
0134C0:  46 42 45 44 0D 0A 20 64 61 74 69 6E 09 65 71 75    FBED.. datin.equ
0134D0:  20 26 46 42 45 46 0D 0A 20 63 6F 6E 6F 75 74 09     &FBEF.. conout.
0134E0:  65 71 75 20 26 46 42 45 43 0D 0A 20 63 6F 6E 69    equ &FBEC.. coni
0134F0:  6E 09 65 71 75 20 26 46 42 45 45 0D 0A 20 73 70    n.equ &FBEE.. sp
013500:  65 64 30 09 65 71 75 20 26 46 42 45 38 0D 0A 20    ed0.equ &FBE8.. 
013510:  73 70 65 64 31 09 65 71 75 20 26 46 42 45 39 0D    sped1.equ &FBE9.
013520:  0A 20 77 6D 6F 64 09 65 71 75 20 26 46 42 45 42    . wmod.equ &FBEB
013530:  0D 0A 65 6C 73 65 0D 0A 20 64 61 74 70 6F 72 74    ..else.. datport
013540:  20 65 71 75 20 26 46 41 44 43 0D 0A 20 63 6F 6E     equ &FADC.. con
013550:  70 6F 72 74 20 65 71 75 20 26 46 41 44 44 0D 0A    port equ &FADD..
013560:  20 73 70 65 64 30 09 65 71 75 20 26 46 42 44 43     sped0.equ &FBDC
013570:  0D 0A 20 73 70 65 64 31 09 65 71 75 20 26 46 42    .. sped1.equ &FB
013580:  44 44 0D 0A 20 77 6D 6F 64 09 65 71 75 20 26 46    DD.. wmod.equ &F
013590:  42 44 46 0D 0A 65 6E 64 69 66 0D 0A 0D 0A 09 64    BDF..endif.....d
0135A0:  62 20 31 09 09 09 09 3B 42 61 63 6B 67 72 6F 75    b 1....;Backgrou
0135B0:  6E 64 20 52 4F 4D 0D 0A 09 64 62 20 31 2C 30 2C    nd ROM...db 1,0,
0135C0:  30 09 09 09 3B 76 31 2E 30 30 0D 0A 0D 0A 2E 63    0...;v1.00.....c
0135D0:  6F 6D 5F 74 09 64 77 20 6E 61 6D 65 5F 74 0D 0A    om_t.dw name_t..
0135E0:  0D 0A 09 6A 70 20 69 6E 69 74 5F 69 0D 0A 09 6A    ...jp init_i...j
0135F0:  70 20 62 61 75 64 5F 69 3A 20 6A 70 20 77 6F 72    p baud_i: jp wor
013600:  74 62 6E 6B 09 6C 64 20 62 63 2C 26 37 46 43 30    tbnk.ld bc,&7FC0
013610:  0D 0A 09 6F 75 74 20 28 63 29 2C 63 3A 20 72 65    ...out (c),c: re
013620:  74 0D 0A 0D 0A 09 3B 50 75 74 20 62 79 74 65 20    t.....;Put byte 
013630:  41 20 69 6E 74 6F 20 65 78 74 72 61 20 36 34 6B    A into extra 64k
013640:  20 28 63 6F 72 72 75 70 74 73 20 48 4C 2C 20 42     (corrupts HL, B
013650:  43 29 0D 0A 0D 0A 2E 62 6E 6B 70 69 6E 09 6C 64    C).....bnkpin.ld
013660:  20 6C 2C 28 69 79 2B 32 30 29 3A 20 6C 64 20 68     l,(iy+20): ld h
013670:  2C 28 69 79 2B 32 31 29 0D 0A 09 63 61 6C 6C 20    ,(iy+21)...call 
013680:  70 62 62 79 74 65 0D 0A 09 69 6E 63 20 68 6C 3A    pbbyte...inc hl:
013690:  20 6C 64 20 28 69 79 2B 32 30 29 2C 6C 3A 20 6C     ld (iy+20),l: l
0136A0:  64 20 28 69 79 2B 32 31 29 2C 68 0D 0A 09 6A 70    d (iy+21),h...jp
0136B0:  20 72 73 74 62 6E 6B 0D 0A 0D 0A 09 3B 47 65 74     rstbnk.....;Get
0136C0:  20 62 79 74 65 20 41 20 66 72 6F 6D 20 65 78 74     byte A from ext
0136D0:  72 61 20 36 34 6B 20 28 63 6F 72 72 75 70 74 73    ra 64k (corrupts
0136E0:  20 48 4C 2C 42 43 29 0D 0A 0D 0A 2E 62 6E 6B 67     HL,BC).....bnkg
0136F0:  69 6E 09 6C 64 20 6C 2C 28 69 79 2B 31 33 29 3A    in.ld l,(iy+13):
013700:  20 6C 64 20 68 2C 28 69 79 2B 31 34 29 0D 0A 09     ld h,(iy+14)...
013710:  63 61 6C 6C 20 67 62 62 79 74 65 0D 0A 09 69 6E    call gbbyte...in
013720:  63 20 68 6C 3A 20 6C 64 20 28 69 79 2B 31 33 29    c hl: ld (iy+13)
013730:  2C 6C 3A 20 6C 64 20 28 69 79 2B 31 34 29 2C 68    ,l: ld (iy+14),h
013740:  0D 0A 09 6A 70 20 72 73 74 62 6E 6B 0D 0A 0D 0A    ...jp rstbnk....
013750:  09 3B 52 65 74 75 72 6E 20 74 77 6F 20 62 79 74    .;Return two byt
013760:  65 73 20 61 6E 64 20 6A 75 6D 70 20 74 6F 20 65    es and jump to e
013770:  72 72 6F 72 0D 0A 0D 0A 2E 62 6E 6B 61 62 32 09    rror.....bnkab2.
013780:  6C 64 20 6C 2C 28 69 79 2B 31 33 29 3A 20 6C 64    ld l,(iy+13): ld
013790:  20 68 2C 28 69 79 2B 31 34 29 0D 0A 09 64 65 63     h,(iy+14)...dec
0137A0:  20 68 6C 3A 20 6C 64 20 28 69 79 2B 31 33 29 2C     hl: ld (iy+13),
0137B0:  6C 3A 20 6C 64 20 28 69 79 2B 31 34 29 2C 6C 0D    l: ld (iy+14),l.
0137C0:  0A 0D 0A 09 3B 52 65 74 75 72 6E 20 6F 6E 65 20    ....;Return one 
0137D0:  62 79 74 65 20 61 6E 64 20 6A 75 6D 70 20 74 6F    byte and jump to
0137E0:  20 65 72 72 6F 72 0D 0A 0D 0A 2E 62 6E 6B 61 62     error.....bnkab
0137F0:  6F 09 6C 64 20 6C 2C 28 69 79 2B 31 33 29 3A 20    o.ld l,(iy+13): 
013800:  69 78 0D 0A 09 6C 64 20 28 26 46 46 46 46 29 2C    ix...ld (&FFFF),
013810:  61 09 09 09 3B 72 65 73 74 6F 72 65 20 63 6F 72    a...;restore cor
013820:  72 75 70 74 65 64 20 62 79 74 65 73 20 6F 6E 20    rupted bytes on 
013830:  73 63 72 65 65 6E 0D 0A 0D 0A 09 6C 64 20 6C 2C    screen.....ld l,
013840:  28 69 79 2B 31 38 29 3A 20 6C 64 20 68 2C 28 69    (iy+18): ld h,(i
013850:  79 2B 31 39 29 0D 0A 09 64 65 63 20 68 6C 0D 0A    y+19)...dec hl..
013860:  09 6C 64 20 28 69 79 2B 31 38 29 2C 6C 3A 20 6C    .ld (iy+18),l: l
013870:  64 20 28 69 79 2B 31 39 29 2C 68 09 3B 64 65 63    d (iy+19),h.;dec
013880:  72 65 61 73 65 20 22 6C 61 73 74 20 72 65 63 6F    rease "last reco
013890:  72 64 22 20 63 6F 75 6E 74 65 72 0D 0A 0D 0A 09    rd" counter.....
0138A0:  6C 64 20 68 6C 2C 30 0D 0A 09 6C 64 20 28 69 79    ld hl,0...ld (iy
0138B0:  2B 31 33 29 2C 6C 3A 20 6C 64 20 28 69 79 2B 31    +13),l: ld (iy+1
0138C0:  34 29 2C 68 0D 0A 09 6C 64 20 28 69 79 2B 31 35    4),h...ld (iy+15
0138D0:  29 2C 6C 3A 20 6C 64 20 28 69 79 2B 31 36 29 2C    ),l: ld (iy+16),
0138E0:  68 09 3B 70 72 65 76 65 6E 74 20 72 65 61 64 69    h.;prevent readi
0138F0:  6E 67 20 75 6E 74 69 6C 20 6E 65 77 20 7C 42 47    ng until new |BG
013900:  4F 54 4F 0D 0A 0D 0A 09 72 65 74 0D 0A 0D 0A 2E    OTO.....ret.....
013910:  6C 64 69 64 74 61 09 6C 64 20 62 63 2C 26 30 30    ldidta.ld bc,&00
013920:  30 30 09 09 3B 74 68 69 73 20 63 6F 64 65 20 67    00..;this code g
013930:  6F 65 73 20 69 6E 20 74 6F 70 20 31 36 6B 20 6F    oes in top 16k o
013940:  66 20 65 78 74 72 61 20 62 61 6E 6B 73 0D 0A 09    f extra banks...
013950:  6C 64 69 72 0D 0A 09 6C 64 20 62 63 2C 26 37 46    ldir...ld bc,&7F
013960:  43 30 0D 0A 09 6F 75 74 20 28 63 29 2C 63 0D 0A    C0...out (c),c..
013970:  0D 0A 09 3B 3E 3E 3E 20 42 53 41 56 45 20 63 6F    ...;>>> BSAVE co
013980:  6D 6D 61 6E 64 0D 0A 0D 0A 2E 62 73 76 65 5F 69    mmand.....bsve_i
013990:  09 6C 64 20 63 2C 32 0D 0A 09 63 70 20 31 0D 0A    .ld c,2...cp 1..
0139A0:  09 6A 70 20 6E 7A 2C 65 72 72 6F 72 0D 0A 0D 0A    .jp nz,error....
0139B0:  09 63 61 6C 6C 20 62 75 66 66 5F 63 0D 0A 0D 0A    .call buff_c....
0139C0:  09 6C 64 20 6C 2C 28 69 78 29 3A 20 6C 64 20 68    .ld l,(ix): ld h
0139D0:  2C 28 69 78 2B 31 29 0D 0A 09 6C 64 20 62 2C 28    ,(ix+1)...ld b,(
0139E0:  68 6C 29 3A 20 69 6E 63 20 68 6C 0D 0A 09 6C 64    hl): inc hl...ld
0139F0:  20 65 2C 28 68 6C 29 3A 20 69 6E 63 20 68 6C 0D     e,(hl): inc hl.
013A00:  6C 64 20 68 2C 28 69 79 2B 31 34 29 0D 0A 09 64    ld h,(iy+14)...d
013A10:  65 63 20 68 6C 3A 20 6C 64 20 28 69 79 2B 31 33    ec hl: ld (iy+13
013A20:  29 2C 6C 3A 20 6C 64 20 28 69 79 2B 31 34 29 2C    ),l: ld (iy+14),
013A30:  6C 0D 0A 09 6A 70 20 65 72 72 6F 72 0D 0A 0D 0A    l...jp error....
013A40:  09 3B 47 6F 20 74 6F 20 72 65 63 6F 72 64 20 68    .;Go to record h
013A50:  65 6C 64 20 69 6E 20 42 43 20 28 6F 6E 20 65 78    eld in BC (on ex
013A60:  69 74 2C 20 48 4C 3D 61 64 64 72 65 73 73 20 6F    it, HL=address o
013A70:  66 20 72 65 63 6F 72 64 20 44 41 54 41 2C 20 44    f record DATA, D
013A80:  45 3D 73 69 7A 65 29 0D 0A 09 3B 44 6F 65 73 20    E=size)...;Does 
013A90:  6E 6F 74 20 72 65 73 65 74 20 62 61 6E 6B 73 21    not reset banks!
013AA0:  0D 0A 0D 0A 2E 67 72 65 63 62 63 09 6C 64 20 68    .....grecbc.ld h
013AB0:  6C 2C 30 3A 20 6C 64 20 64 65 2C 30 0D 0A 0D 0A    l,0: ld de,0....
013AC0:  2E 67 62 63 6C 6F 70 09 61 64 64 20 68 6C 2C 64    .gbclop.add hl,d
013AD0:  65 0D 0A 09 70 75 73 68 20 62 63 0D 0A 09 63 61    e...push bc...ca
013AE0:  6C 6C 20 67 62 62 79 74 65 3A 20 6C 64 20 65 2C    ll gbbyte: ld e,
013AF0:  61 3A 20 69 6E 63 20 68 6C 0D 0A 09 63 61 6C 6C    a: inc hl...call
013B00:  20 67 62 62 79 74 65 3A 20 6C 64 20 64 2C 61 3A     gbbyte: ld d,a:
013B10:  20 69 6E 63 20 68 6C 0D 0A 09 70 6F 70 20 62 63     inc hl...pop bc
013B20:  0D 0A 0D 0A 09 64 65 63 20 62 63 0D 0A 09 6C 64    .....dec bc...ld
013B30:  20 61 2C 62 3A 20 6F 72 20 63 3A 20 6A 72 20 6E     a,b: or c: jr n
013B40:  7A 2C 67 62 63 6C 6F 70 0D 0A 09 72 65 74 0D 0A    z,gbclop...ret..
013B50:  0D 0A 09 3B 46 69 6E 64 20 6C 61 73 74 20 72 65    ...;Find last re
013B60:  63 6F 72 64 0D 0A 0D 0A 2E 66 6C 61 73 74 72 09    cord.....flastr.
013B70:  6C 64 20 68 6C 2C 30 09 09 09 3B 43 75 72 72 65    ld hl,0...;Curre
013B80:  6E 74 20 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 69    nt memory locati
013B90:  6F 6E 20 69 6E 20 65 78 74 72 61 20 36 34 6B 0D    on in extra 64k.
013BA0:  0A 0D 0A 2E 67 74 62 6C 65 6E 09 63 61 6C 6C 20    ....gtblen.call 
013BB0:  67 62 62 79 74 65 3A 20 6C 64 20 65 2C 61 3A 20    gbbyte: ld e,a: 
013BC0:  69 6E 63 20 68 6C 0D 0A 09 63 61 6C 6C 20 67 62    inc hl...call gb
013BD0:  62 79 74 65 3A 20 6C 64 20 64 2C 61 3A 20 69 6E    byte: ld d,a: in
013BE0:  63 20 68 6C 0D 0A 0D 0A 09 6C 64 20 61 2C 64 3A    c hl.....ld a,d:
013BF0:  20 6F 72 20 65 0D 0A 09 6A 72 20 7A 2C 66 73 70     or e...jr z,fsp
013C00:  0A 09 6C 64 20 64 2C 28 68 6C 29 3A 20 65 78 20    ..ld d,(hl): ex 
013C10:  64 65 2C 68 6C 0D 0A 0D 0A 09 6C 64 20 65 2C 28    de,hl.....ld e,(
013C20:  69 79 2B 37 29 3A 20 6C 64 20 64 2C 28 69 79 2B    iy+7): ld d,(iy+
013C30:  38 29 0D 0A 09 69 6E 63 20 64 3A 20 69 6E 63 20    8)...inc d: inc 
013C40:  64 3A 20 69 6E 63 20 64 3A 20 69 6E 63 20 64 0D    d: inc d: inc d.
013C50:  0A 0D 0A 09 63 61 6C 6C 20 26 42 43 38 43 0D 0A    ....call &BC8C..
013C60:  09 6C 64 20 63 2C 39 3A 20 6A 70 20 6E 63 2C 65    .ld c,9: jp nc,e
013C70:  72 72 6F 72 0D 0A 0D 0A 09 6C 64 20 6C 2C 28 69    rror.....ld l,(i
013C80:  79 2B 31 38 29 3A 20 6C 64 20 68 2C 28 69 79 2B    y+18): ld h,(iy+
013C90:  31 39 29 0D 0A 09 6C 64 20 61 2C 6C 3A 20 63 61    19)...ld a,l: ca
013CA0:  6C 6C 20 26 42 43 39 35 0D 0A 09 6C 64 20 61 2C    ll &BC95...ld a,
013CB0:  68 3A 20 63 61 6C 6C 20 26 42 43 39 35 09 3B 57    h: call &BC95.;W
013CC0:  72 69 74 65 20 6C 61 73 74 20 72 65 63 6F 72 64    rite last record
013CD0:  20 6E 75 6D 62 65 72 0D 0A 09 63 61 6C 6C 20 66     number...call f
013CE0:  6C 61 73 74 72 0D 0A 09 6C 64 20 61 2C 6C 3A 20    lastr...ld a,l: 
013CF0:  63 61 6C 6C 20 26 42 43 39 35 0D 0A 09 6C 64 20    call &BC95...ld 
013D00:  61 2C 68 3A 20 63 61 6C 6C 20 26 42 43 39 35 09    a,h: call &BC95.
013D10:  3B 57 72 69 74 65 20 6C 65 6E 67 74 68 20 6F 66    ;Write length of
013D20:  20 72 65 63 6F 72 64 73 0D 0A 0D 0A 2E 62 73 76     records.....bsv
013D30:  65 6C 70 09 64 65 63 20 68 6C 0D 0A 0D 0A 09 63    elp.dec hl.....c
013D40:  61 6C 6C 20 67 62 62 79 74 65 09 09 3B 47 65 74    all gbbyte..;Get
013D50:  20 63 68 61 72 61 63 74 65 72 2E 2E 2E 0D 0A 09     character......
013D60:  63 61 6C 6C 20 72 73 74 62 6E 6B 0D 0A 09 63 61    call rstbnk...ca
013D70:  6C 6C 20 26 42 43 39 35 09 09 3B 61 6E 64 20 77    ll &BC95..;and w
013D80:  72 69 74 65 20 74 6F 20 64 69 73 63 0D 0A 0D 0A    rite to disc....
013D90:  09 6C 64 20 61 2C 68 3A 20 6F 72 20 6C 0D 0A 09    .ld a,h: or l...
013DA0:  6A 72 20 6E 7A 2C 62 73 76 65 6C 70 0D 0A 09 63    jr nz,bsvelp...c
013DB0:  61 6C 6C 20 26 42 43 38 46 09 09 3B 43 6C 6F 73    all &BC8F..;Clos
013DC0:  65 20 66 69 6C 65 0D 0A 09 72 65 74 0D 0A 0D 0A    e file...ret....
013DD0:  09 3B 3E 3E 3E 20 42 4C 4F 41 44 20 63 6F 6D 6D    .;>>> BLOAD comm
013DE0:  61 6E 64 0D 0A 0D 0A 2E 62 6C 6F 64 5F 69 09 6C    and.....blod_i.l
013DF0:  64 20 63 2C 32 0D 0A 09 63 70 20 31 0D 0A 09 6A    d c,2...cp 1...j
013E00:  61 63 65 09 09 3B 49 66 20 72 65 61 63 68 65 64    ace..;If reached
013E10:  20 74 68 65 20 65 6E 64 2C 20 71 75 69 74 0D 0A     the end, quit..
013E20:  09 61 64 64 20 68 6C 2C 64 65 3A 20 6A 72 20 67    .add hl,de: jr g
013E30:  74 62 6C 65 6E 09 3B 47 6F 20 74 6F 20 6E 65 78    tblen.;Go to nex
013E40:  74 20 61 64 64 72 65 73 73 0D 0A 0D 0A 2E 66 73    t address.....fs
013E50:  70 61 63 65 09 63 61 6C 6C 20 72 73 74 62 6E 6B    pace.call rstbnk
013E60:  09 09 3B 42 61 63 6B 20 74 6F 20 6E 6F 72 6D 61    ..;Back to norma
013E70:  6C 20 6D 65 6D 6F 72 79 0D 0A 09 72 65 74 0D 0A    l memory...ret..
013E80:  45 3D 73 69 7A 65 29 0D 0A 09 3B 44 6F 65 73 20    E=size)...;Does 
013E90:  6E 6F 74 20 72 65 73 65 74 20 62 61 6E 6B 73 21    not reset banks!
013EA0:  0D 0A 0D 0A 2E 67 72 65 63 62 63 09 6C 64 20 68    .....grecbc.ld h
013EB0:  6C 2C 30 3A 20 6C 64 20 64 65 2C 30 0D 0A 0D 0A    l,0: ld de,0....
013EC0:  2E 67 62 63 6C 6F 70 09 61 64 64 20 68 6C 2C 64    .gbclop.add hl,d
013ED0:  65 0D 0A 09 70 75 73 68 20 62 63 0D 0A 09 63 61    e...push bc...ca
013EE0:  6C 6C 20 67 62 62 79 74 65 3A 20 6C 64 20 65 2C    ll gbbyte: ld e,
013EF0:  61 3A 20 69 6E 63 20 68 6C 0D 0A 09 63 61 6C 6C    a: inc hl...call
013F00:  20 67 62 62 79 74 65 3A 20 6C 64 20 64 2C 61 3A     gbbyte: ld d,a:
013F10:  20 69 6E 63 20 68 6C 0D 0A 09 70 6F 70 20 62 63     inc hl...pop bc
013F20:  0D 0A 0D 0A 09 64 65 63 20 62 63 0D 0A 09 6C 64    .....dec bc...ld
013F30:  20 61 2C 62 3A 20 6F 72 20 63 3A 20 6A 72 20 6E     a,b: or c: jr n
013F40:  7A 2C 67 62 63 6C 6F 70 0D 0A 09 72 65 74 0D 0A    z,gbclop...ret..
013F50:  0D 0A 09 3B 46 69 6E 64 20 6C 61 73 74 20 72 65    ...;Find last re
013F60:  63 6F 72 64 0D 0A 0D 0A 2E 66 6C 61 73 74 72 09    cord.....flastr.
013F70:  6C 64 20 68 6C 2C 30 09 09 09 3B 43 75 72 72 65    ld hl,0...;Curre
013F80:  6E 74 20 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 69    nt memory locati
013F90:  6F 6E 20 69 6E 20 65 78 74 72 61 20 36 34 6B 0D    on in extra 64k.
013FA0:  0A 0D 0A 2E 67 74 62 6C 65 6E 09 63 61 6C 6C 20    ....gtblen.call 
013FB0:  67 62 62 79 74 65 3A 20 6C 64 20 65 2C 61 3A 20    gbbyte: ld e,a: 
013FC0:  69 6E 63 20 68 6C 0D 0A 09 63 61 6C 6C 20 67 62    inc hl...call gb
013FD0:  62 79 74 65 3A 20 6C 64 20 64 2C 61 3A 20 69 6E    byte: ld d,a: in
013FE0:  63 20 68 6C 0D 0A 0D 0A 09 6C 64 20 61 2C 64 3A    c hl.....ld a,d:
013FF0:  20 6F 72 20 65 0D 0A 09 6A 72 20 7A 2C 66 73 70     or e...jr z,fsp
014000:  70 20 6E 7A 2C 65 72 72 6F 72 0D 0A 0D 0A 09 63    p nz,error.....c
014010:  61 6C 6C 20 62 75 66 66 5F 63 0D 0A 0D 0A 09 6C    all buff_c.....l
014020:  64 20 6C 2C 28 69 78 29 3A 20 6C 64 20 68 2C 28    d l,(ix): ld h,(
014030:  69 78 2B 31 29 0D 0A 09 6C 64 20 62 2C 28 68 6C    ix+1)...ld b,(hl
014040:  29 3A 20 69 6E 63 20 68 6C 0D 0A 09 6C 64 20 65    ): inc hl...ld e
014050:  2C 28 68 6C 29 3A 20 69 6E 63 20 68 6C 0D 0A 09    ,(hl): inc hl...
014060:  6C 64 20 64 2C 28 68 6C 29 3A 20 65 78 20 64 65    ld d,(hl): ex de
014070:  2C 68 6C 0D 0A 0D 0A 09 6C 64 20 65 2C 28 69 79    ,hl.....ld e,(iy
014080:  2B 37 29 3A 20 6C 64 20 64 2C 28 69 79 2B 38 29    +7): ld d,(iy+8)
014090:  0D 0A 09 69 6E 63 20 64 3A 20 69 6E 63 20 64 3A    ...inc d: inc d:
0140A0:  20 69 6E 63 20 64 3A 20 69 6E 63 20 64 0D 0A 0D     inc d: inc d...
0140B0:  0A 09 63 61 6C 6C 20 26 42 43 37 37 0D 0A 09 6C    ..call &BC77...l
0140C0:  64 20 63 2C 39 3A 20 6A 70 20 6E 63 2C 65 72 72    d c,9: jp nc,err
0140D0:  6F 72 0D 0A 0D 0A 09 63 61 6C 6C 20 26 42 43 38    or.....call &BC8
0140E0:  30 3A 20 6C 64 20 28 69 79 2B 31 38 29 2C 61 0D    0: ld (iy+18),a.
0140F0:  0A 09 63 61 6C 6C 20 26 42 43 38 30 3A 20 6C 64    ..call &BC80: ld
014100:  20 28 69 79 2B 31 39 29 2C 61 09 3B 4C 61 73 74     (iy+19),a.;Last
014110:  20 72 65 63 6F 72 64 20 6E 75 6D 62 65 72 0D 0A     record number..
014120:  09 63 61 6C 6C 20 26 42 43 38 30 3A 20 6C 64 20    .call &BC80: ld 
014130:  6C 2C 61 0D 0A 09 63 61 6C 6C 20 26 42 43 38 30    l,a...call &BC80
014140:  3A 20 6C 64 20 68 2C 61 09 09 3B 54 6F 74 61 6C    : ld h,a..;Total
014150:  20 6C 65 6E 67 74 68 20 6F 66 20 72 65 63 6F 72     length of recor
014160:  64 73 0D 0A 0D 0A 2E 62 6C 6F 64 6C 70 09 64 65    ds.....blodlp.de
014170:  63 20 68 6C 0D 0A 0D 0A 09 63 61 6C 6C 20 26 42    c hl.....call &B
014180:  43 38 30 09 09 3B 47 65 74 20 63 68 61 72 61 63    C80..;Get charac
014190:  74 65 72 2E 2E 2E 0D 0A 09 63 61 6C 6C 20 70 62    ter......call pb
0141A0:  62 79 74 65 09 09 3B 61 6E 64 20 70 75 74 20 69    byte..;and put i
0141B0:  6E 20 6D 65 6D 6F 72 79 0D 0A 09 63 61 6C 6C 20    n memory...call 
0141C0:  72 73 74 62 6E 6B 0D 0A 0D 0A 09 6C 64 20 61 2C    rstbnk.....ld a,
0141D0:  68 3A 20 6F 72 20 6C 0D 0A 09 6A 72 20 6E 7A 2C    h: or l...jr nz,
0141E0:  62 6C 6F 64 6C 70 0D 0A 09 63 61 6C 6C 20 26 42    blodlp...call &B
0141F0:  43 37 41 09 09 3B 43 6C 6F 73 65 20 66 69 6C 65    C7A..;Close file
014200:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014210:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014220:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014230:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014240:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014250:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014260:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014270:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014280:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014290:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0142A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0142B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0142C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0142D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0142E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0142F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014300:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014310:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014320:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014330:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014340:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014350:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014360:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014370:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014380:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014390:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0143A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0143B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0143C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0143D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0143E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0143F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
014400:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
014410:  11 00 01 00 02 09 4E E5 11 00 C7 02 00 00 00 02    ......N.........
014420:  11 00 C3 02 00 00 00 02 11 00 C8 02 00 00 00 02    ................
014430:  11 00 C4 02 00 00 00 02 11 00 C9 02 00 00 00 02    ................
014440:  11 00 C5 02 00 00 00 02 11 00 C1 02 00 00 00 02    ................
014450:  11 00 C6 02 00 00 00 02 11 00 C2 02 00 00 00 02    ................
014460:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
014470:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
014480:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
014490:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0144A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0144B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0144C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0144D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0144E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0144F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
014500:  65 6E 22 2C 31 33 2C 31 30 2C 31 30 2C 30 09 09    en",13,10,10,0..
014510:  3B 31 33 0D 0A 09 64 62 20 22 3A 20 64 61 74 61    ;13...db ": data
014520:  20 77 72 6F 6E 67 20 74 79 70 65 22 2C 31 33 2C     wrong type",13,
014530:  31 30 2C 31 30 2C 30 09 09 3B 31 34 0D 0A 09 64    10,10,0..;14...d
014540:  62 20 22 3A 20 65 6E 64 20 6F 66 20 64 61 74 61    b ": end of data
014550:  20 6D 65 74 22 2C 31 33 2C 31 30 2C 31 30 2C 30     met",13,10,10,0
014560:  09 09 3B 31 35 0D 0A 09 64 62 20 22 3A 20 72 65    ..;15...db ": re
014570:  63 6F 72 64 20 61 6C 72 65 61 64 79 20 6F 70 65    cord already ope
014580:  6E 22 2C 31 33 2C 31 30 2C 31 30 2C 30 09 09 3B    n",13,10,10,0..;
014590:  31 36 0D 0A 09 64 62 20 22 3A 20 73 74 72 69 6E    16...db ": strin
0145A0:  67 20 74 6F 6F 20 6C 6F 6E 67 22 2C 31 33 2C 31    g too long",13,1
0145B0:  30 2C 31 30 2C 30 09 09 3B 31 37 0D 0A 09 64 62    0,10,0..;17...db
0145C0:  20 22 3A 20 72 65 63 6F 72 64 20 6E 6F 74 20 63     ": record not c
0145D0:  6C 6F 73 65 64 22 2C 31 33 2C 31 30 2C 31 30 2C    losed",13,10,10,
0145E0:  30 09 09 3B 31 38 0D 0A 09 64 62 20 22 3A 20 69    0..;18...db ": i
0145F0:  6E 63 6F 6D 70 61 74 69 62 6C 65 20 76 65 72 73    ncompatible vers
014600:  69 6F 6E 22 2C 31 33 2C 31 30 2C 31 30 2C 30 09    ion",13,10,10,0.
014610:  09 3B 31 39 0D 0A 0D 0A 09 3B 4D 65 73 73 61 67    .;19.....;Messag
014620:  65 20 74 65 78 74 0D 0A 0D 0A 2E 79 6D 74 65 78    e text.....ymtex
014630:  74 09 64 62 20 31 33 2C 31 30 2C 22 59 4D 6F 64    t.db 13,10,"YMod
014640:  65 6D 3A 20 22 2C 30 0D 0A 2E 63 6C 74 65 78 74    em: ",0...cltext
014650:  09 64 62 20 22 63 6C 6F 73 69 6E 67 22 2C 30 0D    .db "closing",0.
014660:  0A 2E 61 62 72 74 78 74 09 64 62 20 22 61 62 6F    ..abrtxt.db "abo
014670:  72 74 69 6E 67 22 2C 30 0D 0A 2E 63 72 63 74 78    rting",0...crctx
014680:  74 09 64 62 20 31 33 2C 31 30 2C 22 58 4D 6F 64    t.db 13,10,"XMod
014690:  65 6D 2D 43 52 43 3A 22 2C 30 0D 0A 2E 63 68 6B    em-CRC:",0...chk
0146A0:  74 78 74 09 64 62 20 31 33 2C 31 30 2C 22 58 4D    txt.db 13,10,"XM
0146B0:  6F 64 65 6D 3A 20 22 2C 30 0D 0A 2E 6F 6E 65 74    odem: ",0...onet
0146C0:  78 74 09 64 62 20 31 33 2C 31 30 2C 22 58 4D 6F    xt.db 13,10,"XMo
0146D0:  64 65 6D 2D 31 6B 3A 20 22 2C 30 0D 0A 2E 6C 62    dem-1k: ",0...lb
0146E0:  72 74 78 74 09 64 62 20 31 30 2C 31 33 2C 22 4C    rtxt.db 10,13,"L
0146F0:  69 62 72 61 72 79 3A 20 22 2C 30 0D 0A 2E 6C 61    ibrary: ",0...la
014700:  43 4C 4F 53 45 22 0D 0A 09 73 74 72 20 22 42 43    CLOSE"...str "BC
014710:  48 45 43 4B 22 2C 22 42 47 4F 54 4F 22 2C 22 42    HECK","BGOTO","B
014720:  47 45 54 53 22 2C 22 42 47 45 54 49 22 0D 0A 09    GETS","BGETI"...
014730:  73 74 72 20 22 42 50 55 54 53 22 2C 22 42 50 55    str "BPUTS","BPU
014740:  54 49 22 2C 22 42 44 45 4C 45 54 45 22 2C 22 42    TI","BDELETE","B
014750:  53 41 56 45 22 0D 0A 09 73 74 72 20 22 42 4C 4F    SAVE"...str "BLO
014760:  41 44 22 0D 0A 09 6E 6F 70 0D 0A 0D 0A 2E 69 6E    AD"...nop.....in
014770:  69 74 5F 69 09 70 75 73 68 20 64 65 0D 0A 09 6C    it_i.push de...l
014780:  64 20 62 2C 30 0D 0A 2E 69 6E 69 74 5F 6C 09 6C    d b,0...init_l.l
014790:  64 20 28 68 6C 29 2C 30 3A 20 64 65 63 20 68 6C    d (hl),0: dec hl
0147A0:  3A 20 6C 64 20 28 68 6C 29 2C 30 3A 20 64 65 63    : ld (hl),0: dec
0147B0:  20 68 6C 3A 20 64 6A 6E 7A 20 69 6E 69 74 5F 6C     hl: djnz init_l
0147C0:  0D 0A 09 70 75 73 68 20 68 6C 3A 20 70 75 73 68    ...push hl: push
0147D0:  20 69 78 3A 20 70 75 73 68 20 69 79 0D 0A 0D 0A     ix: push iy....
0147E0:  09 70 75 73 68 20 68 6C 3A 20 70 6F 70 20 69 79    .push hl: pop iy
0147F0:  3A 20 69 6E 63 20 69 79 09 09 09 3B 49 59 20 3D    : inc iy...;IY =
014800:  20 77 6F 72 6B 73 70 61 63 65 0D 0A 0D 0A 09 6C     workspace.....l
014810:  64 20 68 6C 2C 73 69 67 6E 6F 6E 3A 20 63 61 6C    d hl,signon: cal
014820:  6C 20 73 74 72 69 6E 67 09 09 3B 70 72 69 6E 74    l string..;print
014830:  20 63 6F 70 79 72 69 67 68 74 20 6D 65 73 73 61     copyright messa
014840:  67 65 0D 0A 0D 0A 09 70 75 73 68 20 69 79 3A 20    ge.....push iy: 
014850:  70 6F 70 20 68 6C 3A 20 6C 64 20 64 65 2C 33 33    pop hl: ld de,33
014860:  3A 20 61 64 64 20 68 6C 2C 64 65 0D 0A 09 65 78    : add hl,de...ex
014870:  20 64 65 2C 68 6C 3A 20 6C 64 20 68 6C 2C 26 42     de,hl: ld hl,&B
014880:  44 46 31 3A 20 6C 64 69 3A 20 6C 64 69 3A 20 6C    DF1: ldi: ldi: l
014890:  64 69 09 3B 70 72 65 73 65 72 76 65 20 26 42 44    di.;preserve &BD
0148A0:  46 31 0D 0A 0D 0A 09 70 75 73 68 20 69 79 3A 20    F1.....push iy: 
0148B0:  70 6F 70 20 68 6C 3A 20 6C 64 20 64 65 2C 33 37    pop hl: ld de,37
0148C0:  32 3A 20 61 64 64 20 68 6C 2C 64 65 0D 0A 09 65    2: add hl,de...e
0148D0:  78 20 64 65 2C 68 6C 3A 20 6C 64 20 68 6C 2C 72    x de,hl: ld hl,r
0148E0:  65 64 69 72 3A 20 6C 64 20 62 63 2C 31 34 3A 20    edir: ld bc,14: 
0148F0:  6C 64 69 72 09 3B 63 6F 70 79 20 72 65 64 69 72    ldir.;copy redir
014900:  73 74 63 72 09 64 62 20 31 30 2C 31 30 2C 31 33    stcr.db 10,10,13
014910:  2C 30 0D 0A 2E 74 74 73 65 6E 64 09 64 62 20 31    ,0...ttsend.db 1
014920:  33 2C 31 30 2C 22 4E 6F 2E 20 6F 66 20 66 69 6C    3,10,"No. of fil
014930:  65 73 20 74 6F 20 73 65 6E 64 3A 20 22 2C 30 0D    es to send: ",0.
014940:  0A 2E 74 74 6B 6D 65 73 09 64 62 20 22 20 28 22    ..ttkmes.db " ("
014950:  2C 30 0D 0A 2E 74 74 6B 63 6C 6F 09 64 62 20 22    ,0...ttkclo.db "
014960:  6B 29 22 2C 31 30 2C 31 33 2C 30 0D 0A 2E 61 62    k)",10,13,0...ab
014970:  72 72 65 71 09 64 62 20 22 61 62 6F 72 74 22 2C    rreq.db "abort",
014980:  31 30 2C 31 30 2C 31 33 2C 30 0D 0A 2E 73 69 67    10,10,13,0...sig
014990:  6E 6F 6E 09 64 62 20 22 20 43 48 41 52 4C 45 59    non.db " CHARLEY
0149A0:  27 53 20 43 4F 4D 4D 53 20 22 2C 31 36 34 2C 22    'S COMMS ",164,"
0149B0:  31 39 39 32 20 52 69 63 68 61 72 64 20 46 61 69    1992 Richard Fai
0149C0:  72 68 75 72 73 74 22 2C 31 30 2C 30 0D 0A 0D 0A    rhurst",10,0....
0149D0:  09 3B 42 61 75 64 20 72 61 74 65 2F 38 32 35 33    .;Baud rate/8253
0149E0:  20 63 6F 6E 76 65 72 73 69 6F 6E 20 64 61 74 61     conversion data
0149F0:  0D 0A 0D 0A 2E 74 62 38 32 35 33 09 64 77 20 33    .....tb8253.dw 3
014A00:  31 32 35 30 2C 26 34 2C 31 39 32 30 30 2C 26 37    1250,&4,19200,&7
014A10:  2C 39 36 30 30 2C 26 44 2C 37 32 30 30 2C 26 31    ,9600,&D,7200,&1
014A20:  31 2C 34 38 30 30 2C 26 31 41 0D 0A 09 64 77 20    1,4800,&1A...dw 
014A30:  33 36 30 30 2C 26 32 33 2C 32 34 30 30 2C 26 33    3600,&23,2400,&3
014A40:  34 2C 32 30 30 30 2C 26 33 46 2C 31 38 30 30 2C    4,2000,&3F,1800,
014A50:  26 34 35 2C 31 32 30 30 2C 26 36 38 0D 0A 09 64    &45,1200,&68...d
014A60:  77 20 36 30 30 2C 26 44 30 2C 33 30 30 2C 26 31    w 600,&D0,300,&1
014A70:  41 30 2C 32 30 30 2C 26 32 37 31 2C 31 35 30 2C    A0,200,&271,150,
014A80:  26 33 34 31 2C 31 31 30 2C 26 34 37 30 0D 0A 09    &341,110,&470...
014A90:  64 77 20 37 35 2C 26 36 38 33 2C 35 30 2C 26 39    dw 75,&683,50,&9
014AA0:  43 34 2C 34 35 2C 26 41 44 39 2C 30 2C 30 0D 0A    C4,45,&AD9,0,0..
014AB0:  0D 0A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 3B 2A    ......        ;*
014AC0:  2A 2A 20 56 61 72 69 61 62 6C 65 73 20 2A 2A 2A    ** Variables ***
014AD0:  0D 0A 0D 0A 3B 64 6F 5F 65 72 72 09 64 62 20 31    ....;do_err.db 1
014AE0:  09 09 3B 2B 30 09 72 65 70 6F 72 74 20 65 72 72    ..;+0.report err
014AF0:  6F 72 73 20 6F 6E 2F 6F 66 66 0D 0A 3B 6C 65 63    ors on/off..;lec
014B00:  65 63 74 69 6F 6E 20 74 6F 20 49 59 2B 33 37 32    ection to IY+372
014B10:  0D 0A 0D 0A 09 70 75 73 68 20 69 79 3A 20 70 6F    .....push iy: po
014B20:  70 20 68 6C 3A 20 6C 64 20 64 65 2C 33 37 35 3A    p hl: ld de,375:
014B30:  20 61 64 64 20 68 6C 2C 64 65 0D 0A 09 63 61 6C     add hl,de...cal
014B40:  6C 20 26 42 39 31 32 3A 20 6C 64 20 28 68 6C 29    l &B912: ld (hl)
014B50:  2C 61 09 09 09 3B 69 6E 73 65 72 74 20 52 4F 4D    ,a...;insert ROM
014B60:  20 6E 6F 2E 20 66 6F 72 20 46 41 52 20 50 43 48     no. for FAR PCH
014B70:  4C 0D 0A 0D 0A 09 6C 64 20 28 26 42 41 46 44 29    L.....ld (&BAFD)
014B80:  2C 69 79 09 09 09 09 3B 26 42 41 46 44 3D 70 61    ,iy....;&BAFD=pa
014B90:  72 61 6D 65 74 65 72 73 0D 0A 09 70 75 73 68 20    rameters...push 
014BA0:  69 79 3A 20 70 6F 70 20 68 6C 3A 20 6C 64 20 64    iy: pop hl: ld d
014BB0:  65 2C 39 30 3A 20 61 64 64 20 68 6C 2C 64 65 09    e,90: add hl,de.
014BC0:  3B 65 76 65 6E 74 20 62 6C 6F 63 6B 0D 0A 09 63    ;event block...c
014BD0:  61 6C 6C 20 26 42 39 31 32 3A 20 6C 64 20 63 2C    all &B912: ld c,
014BE0:  61 3A 20 6C 64 20 62 2C 26 31 31 0D 0A 09 6C 64    a: ld b,&11...ld
014BF0:  20 64 65 2C 66 63 6F 75 6E 74 3A 20 63 61 6C 6C     de,fcount: call
014C00:  20 26 42 43 44 37 0D 0A 09 70 75 73 68 20 69 79     &BCD7...push iy
014C10:  3A 20 70 6F 70 20 68 6C 3A 20 63 61 6C 6C 20 72    : pop hl: call r
014C20:  65 73 65 74 0D 0A 0D 0A 09 70 6F 70 20 69 79 3A    eset.....pop iy:
014C30:  20 70 6F 70 20 69 78 3A 20 70 6F 70 20 68 6C 3A     pop ix: pop hl:
014C40:  20 70 6F 70 20 64 65 0D 0A 09 73 63 66 3A 20 72     pop de...scf: r
014C50:  65 74 0D 0A 0D 0A 09 70 72 69 6E 74 20 22 20 52    et.....print " R
014C60:  65 61 64 69 6E 67 20 69 6E 20 43 4F 4E 54 52 4F    eading in CONTRO
014C70:  4C 20 2E 4D 4F 44 22 3A 20 72 65 61 64 20 22 43    L .MOD": read "C
014C80:  4F 4E 54 52 4F 4C 20 2E 4D 4F 44 22 0D 0A 09 70    ONTROL .MOD"...p
014C90:  72 69 6E 74 20 22 20 52 65 61 64 69 6E 67 20 69    rint " Reading i
014CA0:  6E 20 53 49 4F 20 20 20 20 20 2E 4D 4F 44 22 3A    n SIO     .MOD":
014CB0:  20 72 65 61 64 20 22 53 49 4F 20 20 20 20 20 2E     read "SIO     .
014CC0:  4D 4F 44 22 0D 0A 09 70 72 69 6E 74 20 22 20 52    MOD"...print " R
014CD0:  65 61 64 69 6E 67 20 69 6E 20 46 49 4C 45 20 20    eading in FILE  
014CE0:  20 20 2E 4D 4F 44 22 3A 20 72 65 61 64 20 22 46      .MOD": read "F
014CF0:  49 4C 45 20 20 20 20 2E 4D 4F 44 22 0D 0A 09 70    ILE    .MOD"...p
014D00:  68 6F 09 64 62 20 30 09 09 3B 2B 31 09 6C 6F 63    ho.db 0..;+1.loc
014D10:  61 6C 20 65 63 68 6F 20 6F 6E 2F 6F 66 66 0D 0A    al echo on/off..
014D20:  3B 63 75 72 73 74 09 64 62 20 30 09 09 3B 2B 32    ;curst.db 0..;+2
014D30:  09 63 75 72 73 6F 72 20 6F 6E 2F 6F 66 66 0D 0A    .cursor on/off..
014D40:  3B 63 72 09 64 62 20 31 09 09 3B 2B 33 09 43 52    ;cr.db 1..;+3.CR
014D50:  20 6F 6E 2F 6F 66 66 0D 0A 3B 78 6F 6E 63 09 64     on/off..;xonc.d
014D60:  62 20 30 09 09 3B 2B 34 09 58 4F 4E 20 66 6C 6F    b 0..;+4.XON flo
014D70:  77 20 63 6F 6E 74 72 6F 6C 20 6F 6E 2F 6F 66 66    w control on/off
014D80:  0D 0A 3B 66 63 6D 6F 64 65 09 64 62 20 30 09 09    ..;fcmode.db 0..
014D90:  3B 2B 35 09 66 69 6C 65 20 63 61 70 74 75 72 65    ;+5.file capture
014DA0:  20 6D 6F 64 65 0D 0A 3B 72 65 64 72 63 74 09 64     mode..;redrct.d
014DB0:  62 20 30 09 09 3B 2B 36 09 72 65 64 69 72 65 63    b 0..;+6.redirec
014DC0:  74 20 64 6F 77 6E 2D 6C 69 6E 65 20 66 6F 72 20    t down-line for 
014DD0:  73 6F 6D 65 20 63 6F 6D 6D 61 6E 64 73 3F 0D 0A    some commands?..
014DE0:  3B 66 62 61 64 64 72 09 64 77 20 30 09 09 3B 2B    ;fbaddr.dw 0..;+
014DF0:  37 09 66 69 6C 65 20 62 75 66 66 65 72 20 61 64    7.file buffer ad
014E00:  64 72 65 73 73 0D 0A 3B 74 69 6D 65 73 74 09 64    dress..;timest.d
014E10:  77 20 30 09 09 3B 2B 39 09 74 69 6D 65 2D 6F 75    w 0..;+9.time-ou
014E20:  74 20 6C 65 6E 67 74 68 0D 0A 0D 0A 69 66 20 6B    t length....if k
014E30:  64 73 0D 0A 20 3B 63 72 65 67 09 64 62 20 25 31    ds.. ;creg.db %1
014E40:  30 31 30 31 30 31 30 09 3B 2B 31 31 09 63 6F 6E    0101010.;+11.con
014E50:  74 72 6F 6C 20 72 65 67 69 73 74 65 72 20 64 65    trol register de
014E60:  66 61 75 6C 74 0D 0A 09 64 73 20 31 0D 0A 65 6C    fault...ds 1..el
014E70:  73 65 0D 0A 20 3B 72 65 67 33 09 64 62 20 25 31    se.. ;reg3.db %1
014E80:  31 31 30 30 30 30 31 09 3B 2B 31 31 09 72 65 67    1100001.;+11.reg
014E90:  69 73 74 65 72 20 33 20 64 65 66 61 75 6C 74 0D    ister 3 default.
014EA0:  0A 20 3B 72 65 67 35 09 64 62 20 25 31 31 31 30    . ;reg5.db %1110
014EB0:  31 30 31 30 09 3B 2B 31 32 09 72 65 67 69 73 74    1010.;+12.regist
014EC0:  65 72 20 35 20 64 65 66 61 75 6C 74 0D 0A 65 6E    er 5 default..en
014ED0:  64 69 66 0D 0A 0D 0A 3B 62 6E 6B 67 65 74 09 64    dif....;bnkget.d
014EE0:  77 20 30 09 09 3B 2B 31 33 09 77 68 65 72 65 20    w 0..;+13.where 
014EF0:  74 6F 20 67 65 74 20 66 72 6F 6D 0D 0A 3B 62 6E    to get from..;bn
014F00:  72 69 6E 74 20 22 20 52 65 61 64 69 6E 67 20 69    rint " Reading i
014F10:  6E 20 54 45 52 4D 49 4E 41 4C 2E 4D 4F 44 22 3A    n TERMINAL.MOD":
014F20:  20 72 65 61 64 20 22 54 45 52 4D 49 4E 41 4C 2E     read "TERMINAL.
014F30:  4D 4F 44 22 0D 0A 09 70 72 69 6E 74 20 22 20 52    MOD"...print " R
014F40:  65 61 64 69 6E 67 20 69 6E 20 4C 49 42 52 41 52    eading in LIBRAR
014F50:  59 20 2E 4D 4F 44 22 3A 20 72 65 61 64 20 22 4C    Y .MOD": read "L
014F60:  49 42 52 41 52 59 20 2E 4D 4F 44 22 0D 0A 09 70    IBRARY .MOD"...p
014F70:  72 69 6E 74 20 22 20 52 65 61 64 69 6E 67 20 69    rint " Reading i
014F80:  6E 20 42 42 53 20 20 20 20 20 2E 4D 4F 44 22 3A    n BBS     .MOD":
014F90:  20 72 65 61 64 20 22 42 42 53 20 20 20 20 20 2E     read "BBS     .
014FA0:  4D 4F 44 22 0D 0A 09 70 72 69 6E 74 20 22 20 52    MOD"...print " R
014FB0:  65 61 64 69 6E 67 20 69 6E 20 53 55 42 52 4F 55    eading in SUBROU
014FC0:  54 20 2E 4D 4F 44 22 3A 20 72 65 61 64 20 22 53    T .MOD": read "S
014FD0:  55 42 52 4F 55 54 20 2E 4D 4F 44 22 0D 0A 09 70    UBROUT .MOD"...p
014FE0:  72 69 6E 74 20 22 20 41 73 73 65 6D 62 6C 69 6E    rint " Assemblin
014FF0:  67 20 63 6F 6D 6D 6F 6E 20 64 61 74 61 22 0D 0A    g common data"..
015000:  0D 0A 09 3B 2A 2A 2A 20 44 61 74 61 20 2A 2A 2A    ...;*** Data ***
015010:  0D 0A 0D 0A 2E 6F 6B 63 68 61 72 09 64 62 20 22    .....okchar.db "
015020:  41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50    ABCDEFGHIJKLMNOP
015030:  51 52 53 54 55 56 57 58 59 5A 30 31 32 33 34 35    QRSTUVWXYZ012345
015040:  36 37 38 39 21 22 2C 33 34 2C 22 23 24 25 26 2B    6789!",34,"#$%&+
015050:  2D 40 5E 2A 3F 2E 60 7B 7D 7E 20 22 2C 30 0D 0A    -@^*?.`{}~ ",0..
015060:  2E 66 66 66 66 09 64 62 20 30 2C 36 2C 35 2C 35    .ffff.db 0,6,5,5
015070:  2C 33 2C 36 0D 0A 0D 0A 2E 76 74 35 32 73 74 09    ,3,6.....vt52st.
015080:  64 62 20 22 33 22 2C 34 2C 22 48 22 2C 33 30 2C    db "3",4,"H",30,
015090:  22 49 22 2C 31 31 2C 22 4A 22 2C 32 30 2C 22 4B    "I",11,"J",20,"K
0150A0:  22 2C 31 38 2C 22 64 22 2C 31 39 2C 22 65 22 2C    ",18,"d",19,"e",
0150B0:  33 2C 22 66 22 2C 32 2C 22 6F 22 2C 31 37 2C 30    3,"f",2,"o",17,0
0150C0:  0D 0A 0D 0A 09 3B 45 72 72 6F 72 20 74 65 78 74    .....;Error text
0150D0:  0D 0A 0D 0A 2E 63 65 5F 74 78 74 09 64 62 20 31    .....ce_txt.db 1
0150E0:  33 2C 31 30 2C 22 43 6F 6D 6D 73 20 65 72 72 6F    3,10,"Comms erro
0150F0:  72 20 22 2C 30 0D 0A 0D 0A 2E 65 72 72 5F 74 78    r ",0.....err_tx
015100:  64 5F 69 3A 20 6A 70 20 73 65 6E 64 5F 69 3A 20    d_i: jp send_i: 
015110:  6A 70 20 67 65 74 5F 69 0D 0A 09 6A 70 20 67 72    jp get_i...jp gr
015120:  61 62 5F 69 3A 20 6A 70 20 77 72 74 5F 69 20 3A    ab_i: jp wrt_i :
015130:  20 6A 70 20 70 72 6F 67 5F 69 3A 20 6A 70 20 72     jp prog_i: jp r
015140:  65 61 64 5F 69 0D 0A 09 6A 70 20 63 6F 6D 5F 69    ead_i...jp com_i
015150:  20 3A 20 6A 70 20 77 61 69 74 5F 69 3A 20 6A 70     : jp wait_i: jp
015160:  20 69 6E 70 5F 69 20 3A 20 6A 70 20 73 65 72 5F     inp_i : jp ser_
015170:  69 0D 0A 09 6A 70 20 6D 61 5F 5F 69 20 0A 2E 6A    i...jp ma__i ..j
015180:  70 20 63 75 72 73 5F 69 3A 20 6A 70 20 73 64 63    p curs_i: jp sdc
015190:  72 5F 69 3A 20 6A 70 20 73 68 6B 65 5F 69 0D 0A    r_i: jp shke_i..
0151A0:  09 6A 70 20 62 72 6B 5F 69 20 3A 20 6A 70 20 65    .jp brk_i : jp e
0151B0:  72 72 73 5F 69 3A 20 6A 70 20 63 61 70 74 5F 69    rrs_i: jp capt_i
0151C0:  3A 20 6A 70 20 63 6C 6F 73 5F 69 0D 0A 09 6A 70    : jp clos_i...jp
0151D0:  20 78 6F 6E 5F 69 20 3A 20 6A 70 20 65 63 68 6F     xon_i : jp echo
0151E0:  5F 69 3A 20 6A 70 20 75 70 6C 64 5F 69 3A 20 6A    _i: jp upld_i: j
0151F0:  70 20 64 6E 6C 64 5F 69 0D 0A 09 6A 70 20 70 72    p dnld_i...jp pr
015200:  6F 74 5F 69 3A 20 6A 70 20 62 75 66 66 5F 69 3A    ot_i: jp buff_i:
015210:  20 6A 70 20 74 79 70 65 5F 69 3A 20 6A 70 20 74     jp type_i: jp t
015220:  6F 75 74 5F 69 0D 0A 09 6A 70 20 74 65 72 6D 5F    out_i...jp term_
015230:  69 3A 20 6A 70 20 74 6D 33 5F 69 20 3A 20 6A 70    i: jp tm3_i : jp
015240:  20 74 6D 37 35 5F 69 3A 20 6A 70 20 74 6D 31 32     tm75_i: jp tm12
015250:  5F 69 0D 0A 09 6A 70 20 74 6D 32 34 5F 69 3A 20    _i...jp tm24_i: 
015260:  6A 70 20 74 6D 34 38 5F 69 3A 20 6A 70 20 6C 6F    jp tm48_i: jp lo
015270:  63 6C 5F 69 3A 20 6A 70 20 72 74 73 5F 69 0D 0A    cl_i: jp rts_i..
015280:  09 6A 70 20 64 63 64 5F 69 20 3A 20 6A 70 20 63    .jp dcd_i : jp c
015290:  74 73 5F 69 20 3A 20 6A 70 20 64 74 72 5F 69 20    ts_i : jp dtr_i 
0152A0:  3A 20 6A 70 20 6C 64 69 72 5F 69 0D 0A 09 6A 70    : jp ldir_i...jp
0152B0:  20 73 63 61 6E 5F 69 3A 20 6A 70 20 62 63 6C 72     scan_i: jp bclr
0152C0:  5F 69 3A 20 6A 70 20 62 6F 70 6E 5F 69 3A 20 6A    _i: jp bopn_i: j
0152D0:  70 20 62 63 73 65 5F 69 0D 0A 09 6A 70 20 62 63    p bcse_i...jp bc
0152E0:  68 6B 5F 69 3A 20 6A 70 20 62 67 74 6F 5F 69 3A    hk_i: jp bgto_i:
0152F0:  20 6A 70 20 62 67 74 73 5F 69 3A 20 6A 70 20 62     jp bgts_i: jp b
015300:  74 20 64 62 20 22 3A 20 69 6C 6C 65 67 61 6C 20    t db ": illegal 
015310:  70 61 72 61 6D 65 74 65 72 22 2C 31 33 2C 31 30    parameter",13,10
015320:  2C 31 30 2C 30 09 09 3B 31 0D 0A 09 64 62 20 22    ,10,0..;1...db "
015330:  3A 20 62 61 64 20 61 72 67 75 6D 65 6E 74 20 63    : bad argument c
015340:  6F 75 6E 74 22 2C 31 33 2C 31 30 2C 31 30 2C 30    ount",13,10,10,0
015350:  09 09 3B 32 0D 0A 09 64 62 20 22 3A 20 69 6C 6C    ..;2...db ": ill
015360:  65 67 61 6C 20 66 69 6C 65 6E 61 6D 65 22 2C 31    egal filename",1
015370:  33 2C 31 30 2C 31 30 2C 30 09 09 3B 33 0D 0A 09    3,10,10,0..;3...
015380:  64 62 20 22 3A 20 6E 6F 20 66 69 6C 65 73 20 74    db ": no files t
015390:  6F 20 73 65 6E 64 22 2C 31 33 2C 31 30 2C 31 30    o send",13,10,10
0153A0:  2C 30 09 09 3B 34 0D 0A 09 64 62 20 22 3A 20 74    ,0..;4...db ": t
0153B0:  6F 6F 20 6D 61 6E 79 20 66 69 6C 65 73 22 2C 31    oo many files",1
0153C0:  33 2C 31 30 2C 31 30 2C 30 09 09 3B 35 0D 0A 09    3,10,10,0..;5...
0153D0:  64 62 20 22 3A 20 6E 6F 20 66 69 6C 65 20 62 75    db ": no file bu
0153E0:  66 66 65 72 22 2C 31 33 2C 31 30 2C 31 30 2C 30    ffer",13,10,10,0
0153F0:  09 09 3B 36 0D 0A 09 64 62 20 22 3A 20 58 4D 6F    ..;6...db ": XMo
015400:  64 65 6D 20 6F 6E 65 20 66 69 6C 65 20 6F 6E 6C    dem one file onl
015410:  79 22 2C 31 33 2C 31 30 2C 31 30 2C 30 09 09 3B    y",13,10,10,0..;
015420:  37 0D 0A 09 64 62 20 22 3A 20 66 69 6C 65 20 62    7...db ": file b
015430:  75 66 66 65 72 20 69 6E 20 75 73 65 22 2C 31 33    uffer in use",13
015440:  2C 31 30 2C 31 30 2C 30 09 09 3B 38 0D 0A 09 64    ,10,10,0..;8...d
015450:  62 20 22 3A 20 64 69 73 63 20 65 72 72 6F 72 22    b ": disc error"
015460:  2C 31 33 2C 31 30 2C 31 30 2C 30 09 09 09 3B 39    ,13,10,10,0...;9
015470:  0D 0A 09 64 62 20 22 3A 20 63 61 70 74 75 72 65    ...db ": capture
015480:  20 6E 6F 74 20 61 63 74 69 76 65 22 2C 31 33 2C     not active",13,
015490:  31 30 2C 31 30 2C 30 09 09 3B 31 30 0D 0A 09 64    10,10,0..;10...d
0154A0:  62 20 22 3A 20 74 69 6D 65 64 20 6F 75 74 22 2C    b ": timed out",
0154B0:  31 33 2C 31 30 2C 31 30 2C 30 09 09 09 3B 31 31    13,10,10,0...;11
0154C0:  0D 0A 09 64 62 20 22 3A 20 72 65 63 6F 72 64 20    ...db ": record 
0154D0:  6E 6F 74 20 66 6F 75 6E 64 22 2C 31 33 2C 31 30    not found",13,10
0154E0:  2C 31 30 2C 30 09 09 3B 31 32 0D 0A 09 64 62 20    ,10,0..;12...db 
0154F0:  22 3A 20 72 65 63 6F 72 64 20 6E 6F 74 20 6F 70    ": record not op
015500:  67 74 69 5F 69 0D 0A 09 6A 70 20 62 70 74 73 5F    gti_i...jp bpts_
015510:  69 3A 20 6A 70 20 62 70 74 69 5F 69 3A 20 6A 70    i: jp bpti_i: jp
015520:  20 62 64 65 6C 5F 69 3A 20 6A 70 20 62 73 76 65     bdel_i: jp bsve
015530:  5F 69 0D 0A 09 6A 70 20 62 6C 6F 64 5F 69 0D 0A    _i...jp blod_i..
015540:  0D 0A 2E 6E 61 6D 65 5F 74 09 73 74 72 20 22 43    ...name_t.str "C
015550:  48 41 52 4C 45 59 27 53 20 43 4F 4D 4D 53 22 0D    HARLEY'S COMMS".
015560:  0A 09 73 74 72 20 22 42 41 55 44 22 2C 22 57 4F    ..str "BAUD","WO
015570:  52 44 22 2C 22 53 45 4E 44 22 2C 22 47 45 54 22    RD","SEND","GET"
015580:  0D 0A 09 73 74 72 20 22 47 52 41 42 22 2C 22 57    ...str "GRAB","W
015590:  52 49 54 45 22 2C 22 50 52 4F 47 52 41 4D 22 2C    RITE","PROGRAM",
0155A0:  22 52 45 41 44 22 0D 0A 09 73 74 72 20 22 43 4F    "READ"...str "CO
0155B0:  4D 22 2C 22 57 41 49 54 22 2C 22 49 4E 50 55 54    M","WAIT","INPUT
0155C0:  22 2C 22 53 45 52 49 41 4C 22 0D 0A 09 73 74 72    ","SERIAL"...str
0155D0:  20 22 50 41 52 41 4C 4C 45 4C 22 2C 22 43 55 52     "PARALLEL","CUR
0155E0:  53 4F 52 22 2C 22 43 52 22 2C 22 48 57 53 48 41    SOR","CR","HWSHA
0155F0:  4B 45 22 0D 0A 09 73 74 72 20 22 42 52 45 41 4B    KE"...str "BREAK
015600:  22 2C 22 45 52 52 4F 52 22 2C 22 43 41 50 54 55    ","ERROR","CAPTU
015610:  52 45 22 2C 22 43 4C 4F 53 45 22 0D 0A 09 73 74    RE","CLOSE"...st
015620:  72 20 22 58 4F 4E 22 2C 22 45 43 48 4F 22 2C 22    r "XON","ECHO","
015630:  55 50 4C 4F 41 44 22 2C 22 44 4F 57 4E 4C 4F 41    UPLOAD","DOWNLOA
015640:  44 22 0D 0A 09 73 74 72 20 22 50 52 4F 54 4F 43    D"...str "PROTOC
015650:  4F 4C 22 2C 22 42 55 46 46 45 52 22 2C 22 54 59    OL","BUFFER","TY
015660:  50 45 22 2C 22 54 49 4D 45 4F 55 54 22 0D 0A 09    PE","TIMEOUT"...
015670:  73 74 72 20 22 54 45 52 4D 49 4E 41 4C 22 2C 22    str "TERMINAL","
015680:  54 45 52 4D 33 22 2C 22 54 45 52 4D 31 32 37 35    TERM3","TERM1275
015690:  22 2C 22 54 45 52 4D 31 32 22 0D 0A 09 73 74 72    ","TERM12"...str
0156A0:  20 22 54 45 52 4D 32 34 22 2C 22 54 45 52 4D 34     "TERM24","TERM4
0156B0:  38 22 2C 22 4C 4F 43 41 4C 22 2C 22 52 54 53 22    8","LOCAL","RTS"
0156C0:  0D 0A 09 73 74 72 20 22 44 43 44 22 2C 22 43 54    ...str "DCD","CT
0156D0:  53 22 2C 22 44 54 52 22 2C 22 4C 44 49 52 22 0D    S","DTR","LDIR".
0156E0:  0A 09 73 74 72 20 22 53 43 41 4E 22 2C 22 42 43    ..str "SCAN","BC
0156F0:  4C 45 41 52 22 2C 22 42 4F 50 45 4E 22 2C 22 42    LEAR","BOPEN","B
015700:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
015710:  12 00 01 00 02 09 4E E5 12 00 C1 02 00 00 00 02    ......N.........
015720:  12 00 C6 02 00 00 00 02 12 00 C2 02 00 00 00 02    ................
015730:  12 00 C7 02 00 00 00 02 12 00 C3 02 00 00 00 02    ................
015740:  12 00 C8 02 00 00 00 02 12 00 C4 02 00 00 00 02    ................
015750:  12 00 C9 02 00 00 00 02 12 00 C5 02 00 00 00 02    ................
015760:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
015770:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
015780:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
015790:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0157A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0157B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0157C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0157D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0157E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0157F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
015800:  6B 73 69 7A 09 64 77 20 30 09 09 3B 2B 31 35 09    ksiz.dw 0..;+15.
015810:  61 6E 64 20 73 69 7A 65 20 6F 66 20 74 68 61 74    and size of that
015820:  20 72 65 63 6F 72 64 0D 0A 3B 62 6E 6B 6F 70 6E     record..;bnkopn
015830:  09 64 62 20 30 09 09 3B 2B 31 37 09 72 65 63 6F    .db 0..;+17.reco
015840:  72 64 20 6F 70 65 6E 3F 0D 0A 3B 62 6E 6B 6C 73    rd open?..;bnkls
015850:  74 09 64 77 20 30 09 09 3B 2B 31 38 09 6C 61 73    t.dw 0..;+18.las
015860:  74 20 72 65 63 6F 72 64 0D 0A 3B 62 6E 6B 70 6F    t record..;bnkpo
015870:  73 09 64 77 20 30 09 09 3B 2B 32 30 09 70 6F 73    s.dw 0..;+20.pos
015880:  69 74 69 6F 6E 20 69 6E 20 62 61 6E 6B 73 0D 0A    ition in banks..
015890:  3B 62 6E 6B 6F 72 67 09 64 77 20 30 09 09 3B 2B    ;bnkorg.dw 0..;+
0158A0:  32 32 09 70 6F 73 69 74 69 6F 6E 20 74 6F 20 77    22.position to w
0158B0:  72 69 74 65 20 74 6F 0D 0A 0D 0A 3B 62 6C 6F 63    rite to....;bloc
0158C0:  6B 09 64 73 20 39 09 09 3B 2B 32 34 09 73 70 61    k.ds 9..;+24.spa
0158D0:  63 65 20 66 6F 72 20 66 61 73 74 20 74 69 63 6B    ce for fast tick
0158E0:  65 72 20 62 6C 6F 63 6B 0D 0A 3B 70 73 74 6F 72    er block..;pstor
0158F0:  65 09 64 73 20 33 09 09 3B 2B 33 33 09 73 74 6F    e.ds 3..;+33.sto
015900:  72 65 20 66 6F 72 20 4D 43 20 57 41 49 54 20 50    re for MC WAIT P
015910:  52 49 4E 54 45 52 20 72 65 64 69 72 65 63 74 69    RINTER redirecti
015920:  6F 6E 0D 0A 0D 0A 3B 62 73 74 6F 66 66 09 64 77    on....;bstoff.dw
015930:  20 30 09 09 3B 2B 33 36 09 62 75 66 66 65 72 20     0..;+36.buffer 
015940:  73 74 6F 72 65 20 6F 66 66 73 65 74 0D 0A 3B 62    store offset..;b
015950:  67 74 6F 66 66 09 64 77 20 30 09 09 3B 2B 33 38    gtoff.dw 0..;+38
015960:  09 62 75 66 66 65 72 20 67 65 74 20 6F 66 66 73    .buffer get offs
015970:  65 74 0D 0A 0D 0A 3B 66 62 73 63 6E 74 09 64 77    et....;fbscnt.dw
015980:  20 30 09 09 3B 2B 34 30 09 66 69 6C 65 20 62 79     0..;+40.file by
015990:  74 65 73 20 63 6F 75 6E 74 0D 0A 0D 0A 3B 6E 70    tes count....;np
0159A0:  61 72 61 6D 09 64 62 20 30 09 09 3B 2B 34 32 09    aram.db 0..;+42.
0159B0:  6E 75 6D 62 65 72 20 6F 66 20 70 61 72 61 6D 65    number of parame
0159C0:  74 65 72 73 0D 0A 3B 70 62 6C 6F 63 6B 09 64 77    ters..;pblock.dw
0159D0:  20 30 09 09 3B 2B 34 33 09 61 64 64 72 65 73 73     0..;+43.address
0159E0:  20 6F 66 20 70 61 72 61 6D 65 74 65 72 73 0D 0A     of parameters..
0159F0:  3B 66 6E 61 6D 65 09 64 62 20 22 44 4F 57 4E 4C    ;fname.db "DOWNL
015A00:  20 20 20 20 4E 20 4F 20 45 0D 0A 0D 0A 2E 77 6F        N O E.....wo
015A10:  72 64 5F 69 09 69 66 20 6B 64 73 0D 0A 0D 0A 09    rd_i.if kds.....
015A20:  6C 64 20 63 2C 32 3A 20 63 70 20 33 3A 20 6A 70    ld c,2: cp 3: jp
015A30:  20 6E 7A 2C 65 72 72 6F 72 0D 0A 09 70 75 73 68     nz,error...push
015A40:  20 69 79 3A 20 70 6F 70 20 68 6C 0D 0A 09 6C 64     iy: pop hl...ld
015A50:  20 64 65 2C 31 31 3A 20 61 64 64 20 68 6C 2C 64     de,11: add hl,d
015A60:  65 09 09 3B 48 4C 20 3D 20 49 59 2B 31 31 20 28    e..;HL = IY+11 (
015A70:  4B 44 53 20 63 6F 6E 74 72 6F 6C 20 72 65 67 69    KDS control regi
015A80:  73 74 65 72 29 0D 0A 0D 0A 09 6C 64 20 69 79 2C    ster).....ld iy,
015A90:  6B 77 74 62 6C 3A 20 6C 64 20 62 2C 38 0D 0A 0D    kwtbl: ld b,8...
015AA0:  0A 2E 6B 77 73 5F 6C 70 09 6C 64 20 61 2C 28 69    ..kws_lp.ld a,(i
015AB0:  78 2B 34 29 3A 20 63 70 20 28 69 79 2B 30 29 3A    x+4): cp (iy+0):
015AC0:  20 6A 72 20 6E 7A 2C 6E 6F 74 73 6D 0D 0A 09 6C     jr nz,notsm...l
015AD0:  64 20 61 2C 28 69 78 2B 32 29 3A 20 63 70 20 28    d a,(ix+2): cp (
015AE0:  69 79 2B 31 29 3A 20 6A 72 20 6E 7A 2C 6E 6F 74    iy+1): jr nz,not
015AF0:  73 6D 0D 0A 09 6C 64 20 61 2C 28 69 78 2B 30 29    sm...ld a,(ix+0)
015B00:  3A 20 63 70 20 28 69 79 2B 32 29 3A 20 6A 72 20    : cp (iy+2): jr 
015B10:  6E 7A 2C 6E 6F 74 73 6D 0D 0A 09 6C 64 20 63 2C    nz,notsm...ld c,
015B20:  28 69 79 2B 33 29 3A 20 6C 64 20 61 2C 28 68 6C    (iy+3): ld a,(hl
015B30:  29 0D 0A 09 61 6E 64 20 31 39 39 3A 20 6F 72 20    )...and 199: or 
015B40:  63 3A 20 6C 64 20 28 68 6C 29 2C 61 0D 0A 09 6A    c: ld (hl),a...j
015B50:  70 20 70 72 65 67 0D 0A 0D 0A 2E 6E 6F 74 73 6D    p preg.....notsm
015B60:  09 69 6E 63 20 69 79 3A 20 69 6E 63 20 69 79 3A    .inc iy: inc iy:
015B70:  20 69 6E 63 20 69 79 3A 20 69 6E 63 20 69 79 0D     inc iy: inc iy.
015B80:  0A 09 64 6A 6E 7A 20 6B 77 73 5F 6C 70 0D 0A 0D    ..djnz kws_lp...
015B90:  0A 09 6C 64 20 63 2C 31 3A 20 6A 70 20 65 72 72    ..ld c,1: jp err
015BA0:  6F 72 09 09 3B 6C 65 67 61 6C 20 76 61 6C 75 65    or..;legal value
015BB0:  20 6E 6F 74 20 66 6F 75 6E 64 21 0D 0A 0D 0A 2E     not found!.....
015BC0:  6B 77 74 62 6C 09 64 62 20 37 2C 32 2C 32 2C 25    kwtbl.db 7,2,2,%
015BD0:  30 30 30 30 30 30 0D 0A 09 64 62 20 37 2C 31 2C    000000...db 7,1,
015BE0:  32 2C 25 31 30 30 30 30 30 0D 0A 09 64 62 20 37    2,%100000...db 7
015BF0:  2C 32 2C 31 2C 25 30 31 30 30 30 30 0D 0A 09 64    ,2,1,%010000...d
015C00:  4F 41 44 3B 40 22 2C 30 20 3B 2B 34 34 09 66 69    OAD;@",0 ;+44.fi
015C10:  6C 65 6E 61 6D 65 20 28 72 65 63 65 69 76 65 29    lename (receive)
015C20:  0D 0A 0D 0A 3B 74 6E 61 6D 65 09 64 62 20 22 20    ....;tname.db " 
015C30:  20 20 20 20 20 20 20 20 20 20 20 22 2C 30 3B 2B               ",0;+
015C40:  35 35 09 66 69 6C 65 6E 61 6D 65 20 28 73 65 6E    55.filename (sen
015C50:  64 29 0D 0A 3B 63 63 68 61 72 09 64 62 20 30 09    d)..;cchar.db 0.
015C60:  09 3B 2B 36 38 09 63 75 72 72 65 6E 74 20 63 68    .;+68.current ch
015C70:  61 72 61 63 74 65 72 20 70 6F 73 69 74 69 6F 6E    aracter position
015C80:  0D 0A 3B 73 74 6D 6F 64 65 09 64 62 20 22 20 22    ..;stmode.db " "
015C90:  09 09 3B 2B 36 39 09 66 69 6C 6C 65 72 20 63 68    ..;+69.filler ch
015CA0:  61 72 61 63 74 65 72 0D 0A 3B 63 6E 61 64 64 72    aracter..;cnaddr
015CB0:  09 64 77 20 30 09 09 3B 2B 37 30 09 63 75 72 72    .dw 0..;+70.curr
015CC0:  65 6E 74 20 6E 61 6D 65 20 61 64 64 72 65 73 73    ent name address
015CD0:  0D 0A 3B 66 74 73 65 6E 64 09 64 62 20 30 09 09    ..;ftsend.db 0..
015CE0:  3B 2B 37 32 09 66 69 6C 65 73 20 74 6F 20 73 65    ;+72.files to se
015CF0:  6E 64 0D 0A 3B 6B 74 73 65 6E 64 09 64 77 20 30    nd..;ktsend.dw 0
015D00:  09 09 3B 2B 37 33 09 6B 69 6C 6F 62 79 74 65 73    ..;+73.kilobytes
015D10:  20 74 6F 20 73 65 6E 64 0D 0A 3B 66 6C 6F 6E 67     to send..;flong
015D20:  09 64 73 20 33 09 09 3B 2B 37 35 09 66 69 6C 65    .ds 3..;+75.file
015D30:  20 6C 65 6E 67 74 68 20 28 33 2D 62 79 74 65 29     length (3-byte)
015D40:  0D 0A 3B 66 64 65 63 09 64 73 20 36 09 09 3B 2B    ..;fdec.ds 6..;+
015D50:  37 38 09 64 65 63 69 6D 61 6C 20 6F 66 20 22 66    78.decimal of "f
015D60:  6C 6F 6E 67 22 0D 0A 3B 72 65 61 64 69 6E 09 64    long"..;readin.d
015D70:  77 20 30 09 09 3B 2B 38 34 09 62 79 74 65 73 20    w 0..;+84.bytes 
015D80:  72 65 61 64 20 69 6E 0D 0A 0D 0A 3B 63 75 72 64    read in....;curd
015D90:  69 72 09 64 62 20 30 09 09 3B 2B 38 36 09 63 75    ir.db 0..;+86.cu
015DA0:  72 72 65 6E 74 20 66 69 6C 65 20 64 69 72 65 63    rrent file direc
015DB0:  74 6F 72 79 0D 0A 0D 0A 3B 63 6F 75 6E 74 09 64    tory....;count.d
015DC0:  77 20 30 09 09 3B 2B 38 37 09 35 30 2F 73 65 63    w 0..;+87.50/sec
015DD0:  20 63 6F 75 6E 74 0D 0A 3B 64 6F 6E 65 09 64 62     count..;done.db
015DE0:  20 30 09 09 3B 2B 38 39 09 35 30 2F 73 65 63 20     0..;+89.50/sec 
015DF0:  2D 20 64 6F 6E 65 20 6F 72 20 6E 6F 74 3F 0D 0A    - done or not?..
015E00:  62 20 37 2C 31 2C 31 2C 25 31 31 30 30 30 30 0D    b 7,1,1,%110000.
015E10:  0A 09 64 62 20 38 2C 30 2C 32 2C 25 30 30 31 30    ..db 8,0,2,%0010
015E20:  30 30 0D 0A 09 64 62 20 38 2C 30 2C 31 2C 25 31    00...db 8,0,1,%1
015E30:  30 31 30 30 30 0D 0A 09 64 62 20 38 2C 32 2C 31    01000...db 8,2,1
015E40:  2C 25 30 31 31 30 30 30 0D 0A 09 64 62 20 38 2C    ,%011000...db 8,
015E50:  31 2C 31 2C 25 31 31 31 30 30 30 0D 0A 0D 0A 09    1,1,%111000.....
015E60:  65 6C 73 65 0D 0A 0D 0A 09 6C 64 20 63 2C 32 3A    else.....ld c,2:
015E70:  20 63 70 20 33 3A 20 6A 70 20 6E 7A 2C 65 72 72     cp 3: jp nz,err
015E80:  6F 72 09 3B 33 20 70 61 72 61 6D 65 74 65 72 73    or.;3 parameters
015E90:  3F 0D 0A 0D 0A 09 6C 64 20 61 2C 28 69 78 2B 34    ?.....ld a,(ix+4
015EA0:  29 3A 20 6C 64 20 63 2C 31 3A 20 73 75 62 20 35    ): ld c,1: sub 5
015EB0:  09 3B 64 61 74 61 20 62 69 74 73 20 35 2D 38 3F    .;data bits 5-8?
015EC0:  0D 0A 09 6C 64 20 62 2C 61 3A 20 61 6E 64 20 33    ...ld b,a: and 3
015ED0:  3A 20 63 70 20 62 3A 20 6A 70 20 6E 7A 2C 65 72    : cp b: jp nz,er
015EE0:  72 6F 72 0D 0A 0D 0A 09 6C 64 20 61 2C 28 69 78    ror.....ld a,(ix
015EF0:  29 3A 20 6F 72 20 61 3A 20 6A 70 20 7A 2C 65 72    ): or a: jp z,er
015F00:  72 6F 72 09 3B 73 74 6F 70 20 62 69 74 73 20 31    ror.;stop bits 1
015F10:  2D 33 3F 0D 0A 09 63 70 20 34 3A 20 6A 70 20 6E    -3?...cp 4: jp n
015F20:  63 2C 65 72 72 6F 72 0D 0A 0D 0A 09 6C 64 20 61    c,error.....ld a
015F30:  2C 28 69 78 2B 32 29 3A 20 6C 64 20 65 2C 61 3A    ,(ix+2): ld e,a:
015F40:  20 61 6E 64 20 33 0D 0A 09 63 70 20 65 3A 20 6A     and 3...cp e: j
015F50:  70 20 6E 7A 2C 65 72 72 6F 72 09 09 3B 70 61 72    p nz,error..;par
015F60:  69 74 79 20 30 2D 33 3F 0D 0A 0D 0A 09 6C 64 20    ity 0-3?.....ld 
015F70:  61 2C 28 69 78 2B 34 29 3A 20 73 75 62 20 35 09    a,(ix+4): sub 5.
015F80:  09 3B 64 61 74 61 20 62 69 74 73 20 3D 20 30 2D    .;data bits = 0-
015F90:  33 0D 0A 09 72 6C 63 61 3A 20 72 6C 63 61 3A 20    3...rlca: rlca: 
015FA0:  72 6C 63 61 3A 20 72 6C 63 61 3A 20 72 6C 63 61    rlca: rlca: rlca
015FB0:  09 3B 70 6F 73 69 74 69 6F 6E 20 62 69 74 73 20    .;position bits 
015FC0:  35 2F 36 0D 0A 09 6C 64 20 65 2C 61 0D 0A 09 6C    5/6...ld e,a...l
015FD0:  64 20 68 6C 2C 72 65 67 35 3A 20 6C 64 20 61 2C    d hl,reg5: ld a,
015FE0:  26 39 46 3A 20 61 6E 64 20 28 68 6C 29 09 3B 67    &9F: and (hl).;g
015FF0:  65 74 20 72 65 67 69 73 74 65 72 20 35 20 61 6E    et register 5 an
016000:  3B 66 63 65 62 6C 09 64 73 20 31 30 09 09 3B 2B    ;fcebl.ds 10..;+
016010:  39 30 09 65 76 65 6E 74 20 62 6C 6F 63 6B 0D 0A    90.event block..
016020:  0D 0A 3B 66 65 72 72 09 64 62 20 30 09 09 3B 2B    ..;ferr.db 0..;+
016030:  31 30 30 09 66 69 6C 65 20 65 72 72 6F 72 3F 0D    100.file error?.
016040:  0A 3B 66 62 6C 6F 63 6B 09 64 62 20 30 09 09 3B    .;fblock.db 0..;
016050:  2B 31 30 31 09 65 78 70 65 63 74 65 64 20 62 6C    +101.expected bl
016060:  6F 63 6B 0D 0A 3B 62 6C 6F 63 6B 6C 09 64 77 20    ock..;blockl.dw 
016070:  30 09 09 3B 2B 31 30 32 09 62 6C 6F 63 6B 20 6C    0..;+102.block l
016080:  65 6E 67 74 68 20 28 31 32 38 2F 31 30 32 34 29    ength (128/1024)
016090:  0D 0A 3B 6E 63 72 09 64 62 20 26 31 35 09 09 3B    ..;ncr.db &15..;
0160A0:  2B 31 30 34 09 4E 41 4B 20 6F 72 20 22 43 22 0D    +104.NAK or "C".
0160B0:  0A 3B 70 73 74 61 74 09 64 62 20 30 09 09 3B 2B    .;pstat.db 0..;+
0160C0:  31 30 35 09 70 72 69 6E 74 65 64 20 43 52 43 2F    105.printed CRC/
0160D0:  63 68 65 63 6B 73 75 6D 3F 0D 0A 3B 79 6D 6F 64    checksum?..;ymod
0160E0:  65 6D 09 64 62 20 30 09 09 3B 2B 31 30 36 09 75    em.db 0..;+106.u
0160F0:  73 69 6E 67 20 59 4D 6F 64 65 6D 2D 62 61 74 63    sing YModem-batc
016100:  68 3F 0D 0A 3B 73 70 65 63 70 09 64 62 20 30 09    h?..;specp.db 0.
016110:  09 3B 2B 31 30 37 09 73 70 65 63 69 66 69 65 64    .;+107.specified
016120:  20 70 72 6F 74 6F 63 6F 6C 20 28 30 20 58 4D 6F     protocol (0 XMo
016130:  64 65 6D 2C 20 31 20 58 2D 31 6B 2C 20 32 20 59    dem, 1 X-1k, 2 Y
016140:  4D 6F 64 65 6D 29 0D 0A 0D 0A 3B 76 74 35 32 69    Modem)....;vt52i
016150:  09 64 62 20 30 09 09 3B 2B 31 30 38 09 56 54 35    .db 0..;+108.VT5
016160:  32 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 73 20    2 control codes 
016170:  6C 65 66 74 20 74 6F 20 72 65 63 65 69 76 65 0D    left to receive.
016180:  0A 3B 76 74 6D 6F 64 65 09 64 62 20 30 09 09 3B    .;vtmode.db 0..;
016190:  2B 31 30 39 09 77 2D 69 6E 64 6F 77 2F 63 2D 75    +109.w-indow/c-u
0161A0:  72 73 6F 72 20 74 6F 20 62 65 20 73 65 74 3F 0D    rsor to be set?.
0161B0:  0A 3B 76 74 63 73 74 09 64 77 20 26 31 30 31 09    .;vtcst.dw &101.
0161C0:  09 3B 2B 31 31 30 09 63 75 72 73 6F 72 20 73 61    .;+110.cursor sa
0161D0:  76 69 6E 67 20 70 6F 73 69 74 69 6F 6E 0D 0A 3B    ving position..;
0161E0:  76 74 74 6D 70 09 64 73 20 34 09 09 3B 2B 31 31    vttmp.ds 4..;+11
0161F0:  32 09 74 65 6D 70 6F 72 61 72 79 20 76 61 72 69    2.temporary vari
016200:  64 20 73 74 72 69 70 20 6F 75 74 20 64 61 74 61    d strip out data
016210:  20 62 69 74 73 0D 0A 09 6F 72 20 65 3A 20 6C 64     bits...or e: ld
016220:  20 28 68 6C 29 2C 61 09 09 09 3B 70 75 74 20 69     (hl),a...;put i
016230:  6E 20 6E 65 77 20 64 61 74 61 20 62 69 74 73 0D    n new data bits.
016240:  0A 09 6C 64 20 64 2C 35 3A 20 63 61 6C 6C 20 70    ..ld d,5: call p
016250:  72 65 67 09 09 3B 61 6E 64 20 70 72 6F 67 72 61    reg..;and progra
016260:  6D 0D 0A 0D 0A 09 6C 64 20 61 2C 65 3A 20 72 6C    m.....ld a,e: rl
016270:  63 61 09 09 09 3B 70 6F 73 69 74 69 6F 6E 20 62    ca...;position b
016280:  69 74 73 20 36 2F 37 0D 0A 09 6C 64 20 65 2C 61    its 6/7...ld e,a
016290:  0D 0A 09 6C 64 20 68 6C 2C 72 65 67 33 3A 20 6C    ...ld hl,reg3: l
0162A0:  64 20 61 2C 26 33 46 3A 20 61 6E 64 20 28 68 6C    d a,&3F: and (hl
0162B0:  29 09 3B 67 65 74 20 72 65 67 69 73 74 65 72 20    ).;get register 
0162C0:  33 20 61 6E 64 20 73 74 72 69 70 20 6F 75 74 20    3 and strip out 
0162D0:  64 61 74 61 20 62 69 74 73 0D 0A 09 6F 72 20 65    data bits...or e
0162E0:  3A 20 6C 64 20 28 68 6C 29 2C 61 09 09 09 3B 70    : ld (hl),a...;p
0162F0:  75 74 20 69 6E 20 6E 65 77 20 64 61 74 61 20 62    ut in new data b
016300:  69 74 73 0D 0A 09 6C 64 20 64 2C 33 3A 20 63 61    its...ld d,3: ca
016310:  6C 6C 20 70 72 65 67 09 09 3B 61 6E 64 20 70 72    ll preg..;and pr
016320:  6F 67 72 61 6D 0D 0A 0D 0A 09 6C 64 20 61 2C 28    ogram.....ld a,(
016330:  69 78 29 3A 20 72 6C 63 61 3A 20 72 6C 63 61 09    ix): rlca: rlca.
016340:  09 3B 62 69 74 73 20 32 2F 33 20 6E 6F 77 20 73    .;bits 2/3 now s
016350:  74 6F 70 20 62 69 74 73 0D 0A 09 6F 72 20 28 69    top bits...or (i
016360:  78 2B 32 29 09 09 09 3B 62 69 74 73 20 30 2F 31    x+2)...;bits 0/1
016370:  20 6E 6F 77 20 70 61 72 69 74 79 0D 0A 09 73 65     now parity...se
016380:  74 20 36 2C 61 09 09 09 09 3B 73 65 74 20 62 69    t 6,a....;set bi
016390:  74 20 36 20 28 22 63 6C 6F 63 6B 20 6D 6F 64 65    t 6 ("clock mode
0163A0:  22 21 29 0D 0A 09 6C 64 20 64 2C 34 3A 20 6A 70    "!)...ld d,4: jp
0163B0:  20 70 72 65 67 09 09 09 3B 70 72 6F 67 72 61 6D     preg...;program
0163C0:  20 72 65 67 69 73 74 65 72 20 34 0D 0A 0D 0A 09     register 4.....
0163D0:  65 6E 64 69 66 0D 0A 0D 0A 09 3B 3E 3E 3E 20 50    endif.....;>>> P
0163E0:  52 4F 47 52 41 4D 20 63 6F 6D 6D 61 6E 64 0D 0A    ROGRAM command..
0163F0:  0D 0A 2E 70 72 6F 67 5F 69 09 69 66 20 6B 64 73    ...prog_i.if kds
016400:  61 62 6C 65 20 73 70 61 63 65 0D 0A 0D 0A 3B 62    able space....;b
016410:  75 66 66 65 72 09 64 73 20 32 35 36 09 09 3B 2B    uffer.ds 256..;+
016420:  31 31 36 09 69 6E 74 65 72 72 75 70 74 20 62 75    116.interrupt bu
016430:  66 66 65 72 0D 0A 0D 0A 3B 61 63 72 65 64 09 64    ffer....;acred.d
016440:  73 20 36 09 09 3B 2B 33 37 32 09 61 63 74 75 61    s 6..;+372.actua
016450:  6C 20 72 65 64 69 72 65 63 74 69 6F 6E 20 63 6F    l redirection co
016460:  64 65 0D 0A 09 09 09 3B 2B 33 38 36 09 65 6E 64    de.....;+386.end
016470:  20 6F 66 20 76 61 72 69 61 62 6C 65 20 73 70 61     of variable spa
016480:  63 65 0D 0A 1A 4D 53 20 20 20 24 24 24 FF 00 FF    ce...MS   $$$...
016490:  20 69 66 31 3A 20 70 72 69 6E 74 20 22 50 61 73     if1: print "Pas
0164A0:  73 20 31 22 3A 20 65 6C 73 65 3A 20 70 72 69 6E    s 1": else: prin
0164B0:  74 20 22 50 61 73 73 20 32 22 3A 20 65 6E 64 69    t "Pass 2": endi
0164C0:  66 3A 20 70 72 69 6E 74 0D 0A 0D 0A 09 3B 43 68    f: print.....;Ch
0164D0:  61 72 6C 65 79 27 73 20 43 6F 6D 6D 73 20 52 4F    arley's Comms RO
0164E0:  4D 0D 0A 09 3B 64 65 76 65 6C 6F 70 6D 65 6E 74    M...;development
0164F0:  20 76 65 72 73 69 6F 6E 0D 0A 0D 0A 09 6F 72 67     version.....org
016500:  68 3F 0D 0A 3B 73 70 65 63 70 09 64 62 20 30 09    h?..;specp.db 0.
016510:  09 3B 2B 31 30 37 09 73 70 65 63 69 66 69 65 64    .;+107.specified
016520:  20 70 72 6F 74 6F 63 6F 6C 20 28 30 20 58 4D 6F     protocol (0 XMo
016530:  64 65 6D 2C 20 31 20 58 2D 31 6B 2C 20 32 20 59    dem, 1 X-1k, 2 Y
016540:  4D 6F 64 65 6D 29 0D 0A 0D 0A 3B 76 74 35 32 69    Modem)....;vt52i
016550:  09 64 62 20 30 09 09 3B 2B 31 30 38 09 56 54 35    .db 0..;+108.VT5
016560:  32 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 73 20    2 control codes 
016570:  6C 65 66 74 20 74 6F 20 72 65 63 65 69 76 65 0D    left to receive.
016580:  0A 3B 76 74 6D 6F 64 65 09 64 62 20 30 09 09 3B    .;vtmode.db 0..;
016590:  2B 31 30 39 09 77 2D 69 6E 64 6F 77 2F 63 2D 75    +109.w-indow/c-u
0165A0:  72 73 6F 72 20 74 6F 20 62 65 20 73 65 74 3F 0D    rsor to be set?.
0165B0:  0A 3B 76 74 63 73 74 09 64 77 20 26 31 30 31 09    .;vtcst.dw &101.
0165C0:  09 3B 2B 31 31 30 09 63 75 72 73 6F 72 20 73 61    .;+110.cursor sa
0165D0:  76 69 6E 67 20 70 6F 73 69 74 69 6F 6E 0D 0A 3B    ving position..;
0165E0:  76 74 74 6D 70 09 64 73 20 34 09 09 3B 2B 31 31    vttmp.ds 4..;+11
0165F0:  32 09 74 65 6D 70 6F 72 61 72 79 20 76 61 72 69    2.temporary vari
016600:  3A 09 6C 64 20 63 2C 32 3A 20 63 70 20 31 3A 20    :.ld c,2: cp 1: 
016610:  6A 70 20 6E 7A 2C 65 72 72 6F 72 0D 0A 09 65 6C    jp nz,error...el
016620:  73 65 3A 09 6C 64 20 63 2C 32 3A 20 63 70 20 32    se:.ld c,2: cp 2
016630:  3A 20 6A 70 20 6E 7A 2C 65 72 72 6F 72 20 3B 65    : jp nz,error ;e
016640:  72 72 6F 72 20 32 20 69 66 20 77 72 6F 6E 67 20    rror 2 if wrong 
016650:  6E 6F 2E 20 6F 66 20 70 61 72 61 6D 65 74 65 72    no. of parameter
016660:  73 0D 0A 09 09 64 65 63 20 63 3A 20 6C 64 20 64    s....dec c: ld d
016670:  2C 28 69 78 2B 32 29 0D 0A 09 09 6C 64 20 61 2C    ,(ix+2)....ld a,
016680:  35 3A 20 63 70 20 64 3A 20 6A 70 20 6D 2C 65 72    5: cp d: jp m,er
016690:  72 6F 72 20 20 3B 65 72 72 6F 72 20 31 20 69 66    ror  ;error 1 if
0166A0:  20 6E 6F 74 20 30 2D 35 20 28 41 6D 73 74 72 61     not 0-5 (Amstra
0166B0:  64 29 0D 0A 09 65 6E 64 69 66 3A 09 6C 64 20 61    d)...endif:.ld a
0166C0:  2C 28 69 78 29 3A 20 6A 70 20 70 72 65 67 0D 0A    ,(ix): jp preg..
0166D0:  0D 0A 09 3B 3E 3E 3E 20 52 45 41 44 20 63 6F 6D    ...;>>> READ com
0166E0:  6D 61 6E 64 0D 0A 0D 0A 2E 72 65 61 64 5F 69 09    mand.....read_i.
0166F0:  69 66 20 6B 64 73 3A 09 6C 64 20 63 2C 32 3A 20    if kds:.ld c,2: 
016700:  63 70 20 31 3A 20 6A 70 20 6E 7A 2C 65 72 72 6F    cp 1: jp nz,erro
016710:  72 0D 0A 09 65 6C 73 65 3A 09 6C 64 20 63 2C 32    r...else:.ld c,2
016720:  3A 20 63 70 20 32 3A 20 6A 70 20 6E 7A 2C 65 72    : cp 2: jp nz,er
016730:  72 6F 72 20 3B 65 72 72 6F 72 20 32 20 69 66 20    ror ;error 2 if 
016740:  77 72 6F 6E 67 20 6E 6F 2E 20 6F 66 20 70 61 72    wrong no. of par
016750:  61 6D 65 74 65 72 73 0D 0A 09 09 64 65 63 20 63    ameters....dec c
016760:  3A 20 6C 64 20 64 2C 28 69 78 2B 32 29 0D 0A 09    : ld d,(ix+2)...
016770:  09 6C 64 20 61 2C 32 3A 20 63 70 20 64 3A 20 6A    .ld a,2: cp d: j
016780:  70 20 6D 2C 65 72 72 6F 72 20 20 3B 65 72 72 6F    p m,error  ;erro
016790:  72 20 31 20 69 66 20 6E 6F 74 20 30 2D 32 20 28    r 1 if not 0-2 (
0167A0:  41 6D 73 74 72 61 64 29 0D 0A 09 65 6E 64 69 66    Amstrad)...endif
0167B0:  0D 0A 0D 0A 09 63 61 6C 6C 20 72 72 65 67 0D 0A    .....call rreg..
0167C0:  09 6C 64 20 6C 2C 28 69 78 29 3A 20 6C 64 20 68    .ld l,(ix): ld h
0167D0:  2C 28 69 78 2B 31 29 0D 0A 09 6C 64 20 28 68 6C    ,(ix+1)...ld (hl
0167E0:  29 2C 61 3A 20 72 65 74 0D 0A 0D 0A 09 3B 3E 3E    ),a: ret.....;>>
0167F0:  3E 20 53 45 52 49 41 4C 20 63 6F 6D 6D 61 6E 64    > SERIAL command
016800:  0D 0A 09 3B 2A 2A 2A 20 43 4F 4E 54 52 4F 4C 2E    ...;*** CONTROL.
016810:  4D 4F 44 20 2A 2A 2A 0D 0A 0D 0A 09 3B 3E 3E 3E    MOD ***.....;>>>
016820:  20 42 41 55 44 20 63 6F 6D 6D 61 6E 64 0D 0A 0D     BAUD command...
016830:  0A 2E 62 61 75 64 5F 69 09 6C 64 20 6C 2C 28 69    ..baud_i.ld l,(i
016840:  78 29 3A 20 6C 64 20 68 2C 28 69 78 2B 31 29 0D    x): ld h,(ix+1).
016850:  0A 09 6C 64 20 63 2C 32 3A 20 63 70 20 63 3A 20    ..ld c,2: cp c: 
016860:  6A 70 20 7A 2C 67 65 74 72 78 0D 0A 09 63 70 20    jp z,getrx...cp 
016870:  31 3A 20 6A 70 20 6E 7A 2C 65 72 72 6F 72 0D 0A    1: jp nz,error..
016880:  09 6C 64 20 65 2C 6C 3A 20 6C 64 20 64 2C 68 3A    .ld e,l: ld d,h:
016890:  20 6A 70 20 67 6F 74 62 70 0D 0A 2E 67 65 74 72     jp gotbp...getr
0168A0:  78 09 6C 64 20 65 2C 28 69 78 2B 32 29 3A 20 6C    x.ld e,(ix+2): l
0168B0:  64 20 64 2C 28 69 78 2B 33 29 0D 0A 2E 67 6F 74    d d,(ix+3)...got
0168C0:  62 70 09 63 61 6C 6C 20 62 63 6F 6E 76 3A 20 65    bp.call bconv: e
0168D0:  78 20 64 65 2C 68 6C 3A 20 63 61 6C 6C 20 62 63    x de,hl: call bc
0168E0:  6F 6E 76 0D 0A 09 64 69 3A 20 6C 64 20 62 63 2C    onv...di: ld bc,
0168F0:  77 6D 6F 64 3A 20 6C 64 20 61 2C 26 37 36 3A 20    wmod: ld a,&76: 
016900:  6F 75 74 20 28 63 29 2C 61 0D 0A 09 6C 64 20 62    out (c),a...ld b
016910:  63 2C 73 70 65 64 31 3A 20 6F 75 74 20 28 63 29    c,sped1: out (c)
016920:  2C 65 3A 20 6F 75 74 20 28 63 29 2C 64 0D 0A 09    ,e: out (c),d...
016930:  6C 64 20 62 63 2C 77 6D 6F 64 3A 20 6C 64 20 61    ld bc,wmod: ld a
016940:  2C 26 33 36 3A 20 6F 75 74 20 28 63 29 2C 61 0D    ,&36: out (c),a.
016950:  0A 09 6C 64 20 62 63 2C 73 70 65 64 30 3A 20 6F    ..ld bc,sped0: o
016960:  75 74 20 28 63 29 2C 6C 3A 20 6F 75 74 20 28 63    ut (c),l: out (c
016970:  29 2C 68 0D 0A 09 65 69 3A 20 72 65 74 0D 0A 0D    ),h...ei: ret...
016980:  0A 0D 0A 09 3B 3E 3E 3E 20 57 4F 52 44 20 63 6F    ....;>>> WORD co
016990:  6D 6D 61 6E 64 0D 0A 09 3B 20 20 20 20 28 7C 57    mmand...;    (|W
0169A0:  4F 52 44 2C 64 61 74 61 2C 70 61 72 69 74 79 2C    ORD,data,parity,
0169B0:  73 74 6F 70 29 0D 0A 09 3B 20 20 20 20 20 20 20    stop)...;       
0169C0:  20 20 20 20 20 7C 20 20 20 20 7C 20 20 20 20 20         |    |     
0169D0:  20 7C 0D 0A 09 3B 20 20 20 20 20 20 20 20 20 20     |...;          
0169E0:  20 37 2F 38 20 20 30 2F 31 2F 32 20 20 31 2F 32     7/8  0/1/2  1/2
0169F0:  0D 0A 09 3B 20 20 20 20 20 20 20 20 20 20 20 20    ...;            
016A00:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
016A10:  13 00 01 00 02 09 4E E5 13 00 C4 02 00 00 00 02    ......N.........
016A20:  13 00 C9 02 00 00 00 02 13 00 C5 02 00 00 00 02    ................
016A30:  13 00 C1 02 00 00 00 02 13 00 C6 02 00 00 00 02    ................
016A40:  13 00 C2 02 00 00 00 02 13 00 C7 02 00 00 00 02    ................
016A50:  13 00 C3 02 00 00 00 02 13 00 C8 02 00 00 00 02    ................
016A60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
016A70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
016A80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
016A90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
016AA0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
016AB0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
016AC0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
016AD0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
016AE0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
016AF0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
016B00:  0D 0A 09 3B 2A 2A 2A 20 46 49 4C 45 2E 4D 4F 44    ...;*** FILE.MOD
016B10:  20 2A 2A 2A 0D 0A 0D 0A 09 3B 3E 3E 3E 20 44 4F     ***.....;>>> DO
016B20:  57 4E 4C 4F 41 44 20 63 6F 6D 6D 61 6E 64 0D 0A    WNLOAD command..
016B30:  0D 0A 2E 64 6E 6C 64 5F 69 09 63 61 6C 6C 20 62    ...dnld_i.call b
016B40:  75 66 66 5F 63 0D 0A 09 6C 64 20 28 69 79 2B 34    uff_c...ld (iy+4
016B50:  32 29 2C 61 09 09 09 3B 6E 75 6D 62 65 72 20 6F    2),a...;number o
016B60:  66 20 70 61 72 61 6D 65 74 65 72 73 0D 0A 09 6C    f parameters...l
016B70:  64 20 6C 2C 61 3A 20 6C 64 20 68 2C 30 3A 20 61    d l,a: ld h,0: a
016B80:  64 64 20 68 6C 2C 68 6C 3A 20 65 78 20 64 65 2C    dd hl,hl: ex de,
016B90:  68 6C 0D 0A 09 61 64 64 20 69 78 2C 64 65 09 09    hl...add ix,de..
016BA0:  09 3B 49 58 20 70 6F 69 6E 74 73 20 74 6F 20 31    .;IX points to 1
016BB0:  73 74 20 70 61 72 61 6D 65 74 65 72 0D 0A 09 70    st parameter...p
016BC0:  75 73 68 20 69 78 3A 20 70 6F 70 20 68 6C 0D 0A    ush ix: pop hl..
016BD0:  09 6C 64 20 28 69 79 2B 34 33 29 2C 6C 3A 20 6C    .ld (iy+43),l: l
016BE0:  64 20 28 69 79 2B 34 34 29 2C 68 09 3B 49 58 20    d (iy+44),h.;IX 
016BF0:  3D 3E 20 61 64 64 72 65 73 73 20 6F 66 20 70 61    => address of pa
016C00:  72 61 6D 65 74 65 72 73 0D 0A 0D 0A 09 63 61 6C    rameters.....cal
016C10:  6C 20 67 66 6E 61 6D 65 0D 0A 09 6A 72 20 6E 7A    l gfname...jr nz
016C20:  2C 69 6E 69 74 09 09 09 3B 69 66 20 66 69 6C 65    ,init...;if file
016C30:  6E 61 6D 65 20 73 70 65 63 69 66 69 65 64 20 75    name specified u
016C40:  73 65 20 74 68 61 74 0D 0A 0D 0A 09 70 75 73 68    se that.....push
016C50:  20 69 79 3A 20 70 6F 70 20 68 6C 0D 0A 09 6C 64     iy: pop hl...ld
016C60:  20 64 65 2C 34 35 3A 20 61 64 64 20 68 6C 2C 64     de,45: add hl,d
016C70:  65 09 09 3B 65 6C 73 65 20 75 73 65 20 22 44 4F    e..;else use "DO
016C80:  57 4E 4C 4F 41 44 2E 22 0D 0A 09 6C 64 20 62 2C    WNLOAD."...ld b,
016C90:  39 0D 0A 0D 0A 2E 69 6E 69 74 09 78 6F 72 20 61    9.....init.xor a
016CA0:  0D 0A 09 6C 64 20 28 69 79 2B 31 30 36 29 2C 61    ...ld (iy+106),a
016CB0:  09 09 09 3B 59 4D 6F 64 65 6D 20 6F 66 66 20 61    ...;YModem off a
016CC0:  73 20 64 65 66 61 75 6C 74 0D 0A 09 6C 64 20 28    s default...ld (
016CD0:  69 79 2B 31 30 35 29 2C 61 09 09 09 3B 43 52 43    iy+105),a...;CRC
016CE0:  2F 63 68 65 63 6B 73 75 6D 20 6E 6F 74 20 70 72    /checksum not pr
016CF0:  69 6E 74 65 64 20 79 65 74 0D 0A 0D 0A 2E 6F 70    inted yet.....op
016D00:  0A 0D 0A 09 6C 64 20 61 2C 28 69 79 2B 31 30 34    ....ld a,(iy+104
016D10:  29 3A 20 63 70 20 26 31 35 3A 20 6A 72 20 7A 2C    ): cp &15: jr z,
016D20:  63 68 6B 63 68 6B 09 3B 43 52 43 2F 63 68 6B 3F    chkchk.;CRC/chk?
016D30:  0D 0A 0D 0A 09 63 61 6C 6C 20 67 65 74 62 74 09    .....call getbt.
016D40:  09 09 3B 67 65 74 20 43 52 43 0D 0A 09 6C 64 20    ..;get CRC...ld 
016D50:  65 2C 61 3A 20 63 61 6C 6C 20 63 72 63 0D 0A 0D    e,a: call crc...
016D60:  0A 09 63 61 6C 6C 20 67 65 74 62 74 09 09 09 3B    ..call getbt...;
016D70:  61 6E 64 20 63 68 65 63 6B 20 61 67 61 69 6E 73    and check agains
016D80:  74 20 6F 75 72 20 76 61 6C 75 65 0D 0A 09 6C 64    t our value...ld
016D90:  20 65 2C 61 3A 20 63 61 6C 6C 20 63 72 63 0D 0A     e,a: call crc..
016DA0:  0D 0A 09 6C 64 20 61 2C 68 3A 20 6F 72 20 6C 3A    ...ld a,h: or l:
016DB0:  20 63 61 6C 6C 20 6E 7A 2C 73 66 65 72 72 09 3B     call nz,sferr.;
016DC0:  65 72 72 6F 72 3F 0D 0A 09 6A 72 20 61 63 74 6F    error?...jr acto
016DD0:  6E 0D 0A 0D 0A 2E 63 68 6B 63 68 6B 09 63 61 6C    n.....chkchk.cal
016DE0:  6C 20 67 65 74 62 74 09 09 09 3B 63 68 65 63 6B    l getbt...;check
016DF0:  20 63 68 65 63 6B 73 75 6D 21 0D 0A 09 63 70 20     checksum!...cp 
016E00:  68 3A 20 63 61 6C 6C 20 6E 7A 2C 73 66 65 72 72    h: call nz,sferr
016E10:  0D 0A 0D 0A 2E 61 63 74 6F 6E 09 6C 64 20 61 2C    .....acton.ld a,
016E20:  28 69 79 2B 31 30 35 29 09 09 09 3B 2A 2A 2A 20    (iy+105)...;*** 
016E30:  70 72 69 6E 74 20 62 6C 6F 63 6B 20 6E 75 6D 62    print block numb
016E40:  65 72 2C 20 64 65 74 61 69 6C 73 0D 0A 09 6F 72    er, details...or
016E50:  20 28 69 79 2B 31 30 36 29 3A 20 6A 72 20 6E 7A     (iy+106): jr nz
016E60:  2C 6E 70 73 74 61 74 20 09 3B 64 6F 20 77 65 20    ,npstat .;do we 
016E70:  6E 65 65 64 20 74 6F 20 70 72 69 6E 74 20 74 65    need to print te
016E80:  78 74 3F 0D 0A 09 6C 64 20 61 2C 28 69 79 2B 31    xt?...ld a,(iy+1
016E90:  30 34 29 0D 0A 09 6C 64 20 68 6C 2C 63 68 6B 74    04)...ld hl,chkt
016EA0:  78 74 0D 0A 09 63 70 20 22 43 22 3A 20 6A 72 20    xt...cp "C": jr 
016EB0:  6E 7A 2C 70 70 73 74 72 0D 0A 09 6C 64 20 68 6C    nz,ppstr...ld hl
016EC0:  2C 63 72 63 74 78 74 0D 0A 2E 70 70 73 74 72 09    ,crctxt...ppstr.
016ED0:  63 61 6C 6C 20 73 74 72 69 6E 67 09 09 09 3B 69    call string...;i
016EE0:  66 20 73 6F 2C 20 74 68 65 6E 20 70 72 69 6E 74    f so, then print
016EF0:  20 43 52 43 2F 63 68 65 63 6B 73 75 6D 20 74 65     CRC/checksum te
016F00:  5F 6F 75 74 09 6C 64 20 65 2C 28 69 79 2B 37 29    _out.ld e,(iy+7)
016F10:  3A 20 6C 64 20 64 2C 28 69 79 2B 38 29 09 3B 2A    : ld d,(iy+8).;*
016F20:  2A 2A 20 6F 70 65 6E 20 66 69 72 73 74 20 6F 75    ** open first ou
016F30:  74 70 75 74 20 66 69 6C 65 0D 0A 09 70 75 73 68    tput file...push
016F40:  20 68 6C 3A 20 6C 64 20 68 6C 2C 31 30 32 34 3A     hl: ld hl,1024:
016F50:  20 61 64 64 20 68 6C 2C 64 65 3A 20 65 78 20 64     add hl,de: ex d
016F60:  65 2C 68 6C 0D 0A 09 70 6F 70 20 68 6C 09 09 09    e,hl...pop hl...
016F70:  09 3B 44 45 20 63 6F 6E 74 61 69 6E 73 20 62 75    .;DE contains bu
016F80:  66 66 65 72 20 61 64 64 72 65 73 73 2C 20 48 4C    ffer address, HL
016F90:  20 66 69 6C 65 6E 61 6D 65 20 61 64 64 72 65 73     filename addres
016FA0:  73 0D 0A 09 63 61 6C 6C 20 26 42 43 38 43 09 09    s...call &BC8C..
016FB0:  09 3B 43 41 53 20 4F 55 54 20 4F 50 45 4E 0D 0A    .;CAS OUT OPEN..
016FC0:  09 63 61 6C 6C 20 6E 63 2C 63 61 6E 79 65 73 09    .call nc,canyes.
016FD0:  09 09 3B 61 62 6F 72 74 20 69 66 20 65 72 72 6F    ..;abort if erro
016FE0:  72 0D 0A 0D 0A 2E 72 62 6C 6F 63 6B 20 6C 64 20    r.....rblock ld 
016FF0:  61 2C 31 3A 20 6C 64 20 28 69 79 2B 31 30 31 29    a,1: ld (iy+101)
017000:  2C 61 09 09 3B 73 65 74 20 62 6C 6F 63 6B 20 74    ,a..;set block t
017010:  6F 20 31 0D 0A 0D 0A 2E 73 74 72 61 6E 73 20 78    o 1.....strans x
017020:  6F 72 20 61 3A 20 6C 64 20 28 69 79 2B 31 30 30    or a: ld (iy+100
017030:  29 2C 61 09 09 3B 6E 6F 20 66 69 6C 65 20 65 72    ),a..;no file er
017040:  72 6F 72 0D 0A 0D 0A 09 6C 64 20 6C 2C 37 09 09    ror.....ld l,7..
017050:  09 09 3B 37 20 72 65 74 72 69 65 73 20 62 65 66    ..;7 retries bef
017060:  6F 72 65 20 73 77 69 74 63 68 69 6E 67 20 74 6F    ore switching to
017070:  20 4E 41 4B 0D 0A 0D 0A 09 6C 64 20 61 2C 22 43     NAK.....ld a,"C
017080:  22 3A 20 6C 64 20 28 69 79 2B 31 30 34 29 2C 61    ": ld (iy+104),a
017090:  09 09 3B 64 65 66 61 75 6C 74 20 69 73 20 43 20    ..;default is C 
0170A0:  5B 43 52 43 5D 0D 0A 0D 0A 2E 73 6E 64 6E 61 6B    [CRC].....sndnak
0170B0:  09 64 65 63 20 6C 3A 20 6A 72 20 6E 7A 2C 6E 6F    .dec l: jr nz,no
0170C0:  73 6E 61 6B 0D 0A 09 6C 64 20 61 2C 26 31 35 3A    snak...ld a,&15:
0170D0:  20 6C 64 20 28 69 79 2B 31 30 34 29 2C 61 0D 0A     ld (iy+104),a..
0170E0:  0D 0A 2E 6E 6F 73 6E 61 6B 09 6C 64 20 61 2C 28    ...nosnak.ld a,(
0170F0:  69 79 2B 31 30 34 29 3A 20 63 61 6C 6C 20 73 65    iy+104): call se
017100:  0D 0A 0D 0A 2E 73 65 72 5F 69 09 70 75 73 68 20    .....ser_i.push 
017110:  69 79 3A 20 70 6F 70 20 68 6C 0D 0A 09 6C 64 20    iy: pop hl...ld 
017120:  64 65 2C 33 37 32 3A 20 61 64 64 20 68 6C 2C 64    de,372: add hl,d
017130:  65 0D 0A 0D 0A 09 6C 64 20 69 78 2C 26 42 44 46    e.....ld ix,&BDF
017140:  31 0D 0A 09 6C 64 20 28 69 78 29 2C 26 43 33 0D    1...ld (ix),&C3.
017150:  0A 09 6C 64 20 28 69 78 2B 31 29 2C 6C 0D 0A 09    ..ld (ix+1),l...
017160:  6C 64 20 28 69 78 2B 32 29 2C 68 0D 0A 09 72 65    ld (ix+2),h...re
017170:  74 0D 0A 0D 0A 09 3B 3E 3E 3E 20 50 41 52 41 4C    t.....;>>> PARAL
017180:  4C 45 4C 20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E    LEL command.....
017190:  70 61 72 5F 69 09 70 75 73 68 20 69 79 3A 20 70    par_i.push iy: p
0171A0:  6F 70 20 68 6C 0D 0A 09 6C 64 20 64 65 2C 33 33    op hl...ld de,33
0171B0:  3A 20 61 64 64 20 68 6C 2C 64 65 0D 0A 09 6C 64    : add hl,de...ld
0171C0:  20 64 65 2C 26 42 44 46 31 0D 0A 09 6C 64 69 3A     de,&BDF1...ldi:
0171D0:  20 6C 64 69 3A 20 6C 64 69 0D 0A 09 72 65 74 0D     ldi: ldi...ret.
0171E0:  0A 0D 0A 09 3B 3E 3E 3E 20 43 55 52 53 4F 52 20    ....;>>> CURSOR 
0171F0:  63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E 63 75 72 73    command.....curs
017200:  5F 69 09 70 75 73 68 20 69 79 3A 20 70 6F 70 20    _i.push iy: pop 
017210:  68 6C 0D 0A 09 69 6E 63 20 68 6C 3A 20 69 6E 63    hl...inc hl: inc
017220:  20 68 6C 09 09 09 3B 48 4C 20 3D 20 49 59 2B 32     hl...;HL = IY+2
017230:  20 3D 20 63 75 72 73 74 0D 0A 2E 6F 6E 5F 6F 66     = curst...on_of
017240:  66 09 6C 64 20 63 2C 32 0D 0A 09 63 70 20 31 3A    f.ld c,2...cp 1:
017250:  20 6A 70 20 6E 7A 2C 65 72 72 6F 72 0D 0A 09 64     jp nz,error...d
017260:  65 63 20 63 0D 0A 09 6C 64 20 61 2C 28 69 78 29    ec c...ld a,(ix)
017270:  0D 0A 09 6F 72 20 61 3A 20 6A 70 20 7A 2C 63 73    ...or a: jp z,cs
017280:  6F 6B 0D 0A 09 63 70 20 31 3A 20 6A 70 20 6E 7A    ok...cp 1: jp nz
017290:  2C 65 72 72 6F 72 0D 0A 2E 63 73 6F 6B 09 6C 64    ,error...csok.ld
0172A0:  20 28 68 6C 29 2C 61 0D 0A 09 72 65 74 0D 0A 0D     (hl),a...ret...
0172B0:  0A 09 3B 3E 3E 3E 20 43 52 20 63 6F 6D 6D 61 6E    ..;>>> CR comman
0172C0:  64 0D 0A 0D 0A 2E 73 64 63 72 5F 69 09 70 75 73    d.....sdcr_i.pus
0172D0:  68 20 69 79 3A 20 70 6F 70 20 68 6C 0D 0A 09 69    h iy: pop hl...i
0172E0:  6E 63 20 68 6C 3A 20 69 6E 63 20 68 6C 3A 20 69    nc hl: inc hl: i
0172F0:  6E 63 20 68 6C 09 09 3B 48 4C 20 3D 20 49 59 2B    nc hl..;HL = IY+
017300:  6E 64 62 74 09 3B 4E 41 4B 20 5B 63 68 65 63 6B    ndbt.;NAK [check
017310:  73 75 6D 5D 20 2F 20 43 20 5B 43 52 43 5D 0D 0A    sum] / C [CRC]..
017320:  0D 0A 09 6C 64 20 64 65 2C 31 35 30 3A 20 63 61    ...ld de,150: ca
017330:  6C 6C 20 77 61 69 74 62 74 09 09 3B 2A 2A 2A 20    ll waitbt..;*** 
017340:  77 61 69 74 20 66 6F 72 20 72 65 73 70 6F 6E 73    wait for respons
017350:  65 0D 0A 0D 0A 09 63 70 20 32 3A 20 6A 72 20 7A    e.....cp 2: jr z
017360:  2C 73 62 6C 6F 63 6B 09 09 3B 53 54 58 3F 20 5B    ,sblock..;STX? [
017370:  58 4D 6F 64 65 6D 2D 31 6B 5D 0D 0A 09 63 70 20    XModem-1k]...cp 
017380:  31 3A 20 6A 72 20 7A 2C 73 62 6C 6F 63 6B 09 09    1: jr z,sblock..
017390:  3B 53 4F 48 3F 20 5B 58 4D 6F 64 65 6D 2D 31 32    ;SOH? [XModem-12
0173A0:  38 5D 0D 0A 09 63 70 20 26 31 38 3A 20 63 61 6C    8]...cp &18: cal
0173B0:  6C 20 7A 2C 63 61 6E 79 65 73 09 09 3B 43 41 4E    l z,canyes..;CAN
0173C0:  3F 20 5B 61 62 6F 72 74 5D 0D 0A 09 65 78 20 64    ? [abort]...ex d
0173D0:  65 2C 68 6C 3A 20 63 61 6C 6C 20 63 68 6B 63 61    e,hl: call chkca
0173E0:  6E 3A 20 65 78 20 64 65 2C 68 6C 09 3B 45 53 43    n: ex de,hl.;ESC
0173F0:  20 70 72 65 73 73 65 64 3F 20 5B 61 62 6F 72 74     pressed? [abort
017400:  5D 0D 0A 0D 0A 09 6A 72 20 73 6E 64 6E 61 6B 0D    ].....jr sndnak.
017410:  0A 0D 0A 2E 73 62 6C 6F 63 6B 09 6C 64 20 62 63    ....sblock.ld bc
017420:  2C 31 30 32 34 09 09 09 3B 2A 2A 2A 20 73 74 61    ,1024...;*** sta
017430:  72 74 20 6F 66 20 72 65 63 65 69 76 69 6E 67 20    rt of receiving 
017440:  62 6C 6F 63 6B 0D 0A 09 63 70 20 31 3A 20 6A 72    block...cp 1: jr
017450:  20 6E 7A 2C 6E 6F 74 31 32 38 0D 0A 09 6C 64 20     nz,not128...ld 
017460:  62 63 2C 31 32 38 09 09 09 3B 63 61 6C 63 75 6C    bc,128...;calcul
017470:  61 74 65 20 6C 65 6E 67 74 68 20 6F 66 20 62 6C    ate length of bl
017480:  6F 63 6B 0D 0A 2E 6E 6F 74 31 32 38 09 6C 64 20    ock...not128.ld 
017490:  28 69 79 2B 31 30 32 29 2C 63 3A 20 6C 64 20 28    (iy+102),c: ld (
0174A0:  69 79 2B 31 30 33 29 2C 62 09 3B 73 74 6F 72 65    iy+103),b.;store
0174B0:  20 62 6C 6F 63 6B 20 6C 65 6E 67 74 68 0D 0A 0D     block length...
0174C0:  0A 09 63 61 6C 6C 20 67 65 74 62 74 09 09 09 3B    ..call getbt...;
0174D0:  67 65 74 20 62 6C 6F 63 6B 20 6E 75 6D 62 65 72    get block number
0174E0:  0D 0A 0D 0A 09 6C 64 20 63 2C 61 3A 20 6C 64 20    .....ld c,a: ld 
0174F0:  61 2C 28 69 79 2B 31 30 31 29 09 09 3B 41 20 3D    a,(iy+101)..;A =
017500:  33 20 3D 20 63 72 0D 0A 09 6A 70 20 6F 6E 5F 6F    3 = cr...jp on_o
017510:  66 66 0D 0A 0D 0A 09 3B 3E 3E 3E 20 45 52 52 4F    ff.....;>>> ERRO
017520:  52 20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E 65 72    R command.....er
017530:  72 73 5F 69 09 70 75 73 68 20 69 79 3A 20 70 6F    rs_i.push iy: po
017540:  70 20 68 6C 09 09 09 3B 48 4C 20 3D 20 49 59 2B    p hl...;HL = IY+
017550:  30 20 3D 20 64 6F 5F 65 72 72 0D 0A 09 6A 70 20    0 = do_err...jp 
017560:  6F 6E 5F 6F 66 66 0D 0A 0D 0A 09 3B 3E 3E 3E 20    on_off.....;>>> 
017570:  48 57 53 48 41 4B 45 20 63 6F 6D 6D 61 6E 64 0D    HWSHAKE command.
017580:  0A 0D 0A 2E 73 68 6B 65 5F 69 09 69 66 20 6B 64    ....shke_i.if kd
017590:  73 3A 09 6C 64 20 63 2C 31 39 3A 20 6A 70 20 65    s:.ld c,19: jp e
0175A0:  72 72 6F 72 0D 0A 09 65 6C 73 65 3A 09 6C 64 20    rror...else:.ld 
0175B0:  63 2C 32 3A 20 63 70 20 31 3A 20 6A 70 20 6E 7A    c,2: cp 1: jp nz
0175C0:  2C 65 72 72 6F 72 0D 0A 09 09 64 65 63 20 63 0D    ,error....dec c.
0175D0:  0A 09 09 6C 64 20 61 2C 28 69 78 29 3A 20 6F 72    ...ld a,(ix): or
0175E0:  20 61 3A 20 6A 72 20 7A 2C 68 77 6F 6B 0D 0A 09     a: jr z,hwok...
0175F0:  09 63 70 20 63 3A 20 6A 70 20 6E 7A 2C 65 72 72    .cp c: jp nz,err
017600:  6F 72 0D 0A 2E 68 77 6F 6B 09 09 72 6C 63 61 3A    or...hwok..rlca:
017610:  20 72 6C 63 61 3A 20 72 6C 63 61 3A 20 72 6C 63     rlca: rlca: rlc
017620:  61 3A 20 72 6C 63 61 0D 0A 09 09 6C 64 20 63 2C    a: rlca....ld c,
017630:  28 69 79 2B 31 31 29 09 09 3B 72 65 67 33 0D 0A    (iy+11)..;reg3..
017640:  09 09 72 65 73 20 35 2C 63 0D 0A 09 09 6F 72 20    ..res 5,c....or 
017650:  63 0D 0A 09 09 6C 64 20 28 69 79 2B 31 31 29 2C    c....ld (iy+11),
017660:  61 0D 0A 09 09 6C 64 20 64 2C 33 3A 20 6A 70 20    a....ld d,3: jp 
017670:  70 72 65 67 0D 0A 09 65 6E 64 69 66 0D 0A 0D 0A    preg...endif....
017680:  09 3B 3E 3E 3E 20 42 52 45 41 4B 20 63 6F 6D 6D    .;>>> BREAK comm
017690:  61 6E 64 0D 0A 0D 0A 2E 62 72 6B 5F 69 09 63 61    and.....brk_i.ca
0176A0:  6C 6C 20 26 42 44 31 39 0D 0A 09 69 66 20 6B 64    ll &BD19...if kd
0176B0:  73 3A 09 6C 64 20 61 2C 28 69 79 2B 31 31 29 3A    s:.ld a,(iy+11):
0176C0:  20 6F 72 20 36 0D 0A 09 65 6C 73 65 3A 09 6C 64     or 6...else:.ld
0176D0:  20 61 2C 28 69 79 2B 31 32 29 3A 20 73 65 74 20     a,(iy+12): set 
0176E0:  34 2C 61 3A 20 6C 64 20 64 2C 35 0D 0A 09 65 6E    4,a: ld d,5...en
0176F0:  64 69 66 3A 09 63 61 6C 6C 20 70 72 65 67 0D 0A    dif:.call preg..
017700:  20 65 78 70 65 63 74 65 64 20 62 6C 6F 63 6B 0D     expected block.
017710:  0A 09 63 70 20 63 09 09 09 09 3B 72 69 67 68 74    ..cp c....;right
017720:  20 62 6C 6F 63 6B 3F 0D 0A 09 6A 72 20 7A 2C 62     block?...jr z,b
017730:  6C 5F 6F 6B 0D 0A 0D 0A 09 63 70 20 31 09 09 09    l_ok.....cp 1...
017740:  09 3B 6F 74 68 65 72 77 69 73 65 2C 20 62 6C 6F    .;otherwise, blo
017750:  63 6B 20 31 20 65 78 70 65 63 74 65 64 3F 0D 0A    ck 1 expected?..
017760:  09 63 61 6C 6C 20 6E 7A 2C 73 66 65 72 72 3A 20    .call nz,sferr: 
017770:  6A 72 20 6E 7A 2C 62 6C 5F 6F 6B 09 3B 69 66 20    jr nz,bl_ok.;if 
017780:  6E 6F 74 2C 20 74 68 65 6E 20 74 68 65 72 65 27    not, then there'
017790:  73 20 61 6E 20 65 72 72 6F 72 0D 0A 0D 0A 09 6C    s an error.....l
0177A0:  64 20 61 2C 63 3A 20 6F 72 20 61 09 09 09 3B 62    d a,c: or a...;b
0177B0:  6C 6F 63 6B 20 30 20 72 65 63 65 69 76 65 64 3F    lock 0 received?
0177C0:  0D 0A 09 63 61 6C 6C 20 6E 7A 2C 73 66 65 72 72    ...call nz,sferr
0177D0:  3A 20 6A 72 20 6E 7A 2C 62 6C 5F 6F 6B 09 3B 69    : jr nz,bl_ok.;i
0177E0:  66 20 6E 6F 74 2C 20 74 68 65 6E 20 74 68 65 72    f not, then ther
0177F0:  65 27 73 20 61 6E 20 65 72 72 6F 72 0D 0A 0D 0A    e's an error....
017800:  09 6C 64 20 28 69 79 2B 31 30 31 29 2C 61 09 09    .ld (iy+101),a..
017810:  09 3B 59 4D 6F 64 65 6D 20 62 6C 6F 63 6B 20 30    .;YModem block 0
017820:  0D 0A 09 6C 64 20 61 2C 31 3A 20 6C 64 20 28 69    ...ld a,1: ld (i
017830:  79 2B 31 30 36 29 2C 61 09 09 3B 73 65 74 20 59    y+106),a..;set Y
017840:  4D 6F 64 65 6D 20 74 6F 20 62 65 20 75 73 65 64    Modem to be used
017850:  0D 0A 0D 0A 2E 62 6C 5F 6F 6B 09 63 61 6C 6C 20    .....bl_ok.call 
017860:  67 65 74 62 74 09 09 09 3B 67 65 74 20 63 6F 6D    getbt...;get com
017870:  70 6C 65 6D 65 6E 74 20 6F 66 20 62 6C 6F 63 6B    plement of block
017880:  20 6E 75 6D 62 65 72 0D 0A 0D 0A 09 63 70 6C 3A     number.....cpl:
017890:  20 6C 64 20 63 2C 61 3A 20 6C 64 20 61 2C 28 69     ld c,a: ld a,(i
0178A0:  79 2B 31 30 31 29 09 3B 63 6F 6D 70 6C 65 6D 65    y+101).;compleme
0178B0:  6E 74 20 77 68 61 74 20 77 65 27 76 65 20 67 6F    nt what we've go
0178C0:  74 0D 0A 09 63 70 20 63 3A 20 63 61 6C 6C 20 6E    t...cp c: call n
0178D0:  7A 2C 73 66 65 72 72 09 09 3B 69 66 20 64 69 66    z,sferr..;if dif
0178E0:  66 65 72 65 6E 74 2C 20 74 68 65 72 65 27 73 20    ferent, there's 
0178F0:  61 6E 20 65 72 72 6F 72 0D 0A 0D 0A 09 6C 64 20    an error.....ld 
017900:  09 63 61 6C 6C 20 26 42 44 31 39 0D 0A 09 69 66    .call &BD19...if
017910:  20 6B 64 73 3A 09 6C 64 20 61 2C 28 69 79 2B 31     kds:.ld a,(iy+1
017920:  31 29 0D 0A 09 65 6C 73 65 3A 09 72 65 73 20 34    1)...else:.res 4
017930:  2C 61 0D 0A 09 65 6E 64 69 66 3A 09 6A 70 20 70    ,a...endif:.jp p
017940:  72 65 67 0D 0A 0D 0A 09 3B 3E 3E 3E 20 58 4F 4E    reg.....;>>> XON
017950:  20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E 78 6F 6E     command.....xon
017960:  5F 69 09 70 75 73 68 20 69 79 3A 20 70 6F 70 20    _i.push iy: pop 
017970:  68 6C 0D 0A 09 69 6E 63 20 68 6C 3A 20 69 6E 63    hl...inc hl: inc
017980:  20 68 6C 3A 20 69 6E 63 20 68 6C 3A 20 69 6E 63     hl: inc hl: inc
017990:  20 68 6C 09 3B 48 4C 20 3D 20 49 59 2B 34 20 3D     hl.;HL = IY+4 =
0179A0:  20 78 6F 6E 63 0D 0A 09 6A 70 20 6F 6E 5F 6F 66     xonc...jp on_of
0179B0:  66 0D 0A 0D 0A 09 3B 3E 3E 3E 20 4C 4F 43 41 4C    f.....;>>> LOCAL
0179C0:  20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E 6C 6F 63     command.....loc
0179D0:  6C 5F 69 09 70 75 73 68 20 69 79 3A 20 70 6F 70    l_i.push iy: pop
0179E0:  20 68 6C 0D 0A 09 69 6E 63 20 68 6C 09 09 09 09     hl...inc hl....
0179F0:  3B 48 4C 20 3D 20 49 59 2B 31 20 3D 20 6C 65 63    ;HL = IY+1 = lec
017A00:  68 6F 0D 0A 09 6A 70 20 6F 6E 5F 6F 66 66 0D 0A    ho...jp on_off..
017A10:  0D 0A 09 3B 3E 3E 3E 20 54 49 4D 45 4F 55 54 20    ...;>>> TIMEOUT 
017A20:  63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E 74 6F 75 74    command.....tout
017A30:  5F 69 09 6C 64 20 63 2C 32 3A 20 63 70 20 31 3A    _i.ld c,2: cp 1:
017A40:  20 6A 70 20 6E 7A 2C 65 72 72 6F 72 0D 0A 09 6C     jp nz,error...l
017A50:  64 20 6C 2C 28 69 78 29 3A 20 6C 64 20 68 2C 28    d l,(ix): ld h,(
017A60:  69 78 2B 31 29 0D 0A 09 6C 64 20 28 69 79 2B 39    ix+1)...ld (iy+9
017A70:  29 2C 6C 3A 20 6C 64 20 28 69 79 2B 31 30 29 2C    ),l: ld (iy+10),
017A80:  68 3A 20 72 65 74 09 3B 74 69 6D 65 73 74 1A FF    h: ret.;timest..
017A90:  4D 4F 44 20 2A 2A 2A 0D 0A 0D 0A 09 3B 3E 3E 3E    MOD ***.....;>>>
017AA0:  20 42 41 55 44 20 63 6F 6D 6D 61 6E 64 0D 0A 0D     BAUD command...
017AB0:  0A 2E 62 61 75 64 5F 69 09 6C 64 20 6C 2C 28 69    ..baud_i.ld l,(i
017AC0:  78 29 3A 20 6C 64 20 68 2C 28 69 78 2B 31 29 0D    x): ld h,(ix+1).
017AD0:  0A 09 6C 64 20 63 2C 32 3A 20 63 70 20 63 3A 20    ..ld c,2: cp c: 
017AE0:  6A 70 20 7A 2C 67 65 74 72 78 0D 0A 09 63 70 20    jp z,getrx...cp 
017AF0:  31 3A 20 6A 70 20 6E 7A 2C 65 72 72 6F 72 0D 0A    1: jp nz,error..
017B00:  6C 2C 28 69 79 2B 37 29 3A 20 6C 64 20 68 2C 28    l,(iy+7): ld h,(
017B10:  69 79 2B 38 29 0D 0A 09 70 75 73 68 20 68 6C 3A    iy+8)...push hl:
017B20:  20 70 6F 70 20 69 78 09 09 09 3B 49 58 20 3D 20     pop ix...;IX = 
017B30:  62 75 66 66 65 72 20 61 64 64 72 65 73 73 0D 0A    buffer address..
017B40:  09 6C 64 20 63 2C 28 69 79 2B 31 30 32 29 3A 20    .ld c,(iy+102): 
017B50:  6C 64 20 62 2C 28 69 79 2B 31 30 33 29 09 3B 42    ld b,(iy+103).;B
017B60:  43 20 3D 20 6E 75 6D 62 65 72 20 6F 66 20 62 79    C = number of by
017B70:  74 65 73 0D 0A 09 6C 64 20 68 6C 2C 30 09 09 09    tes...ld hl,0...
017B80:  09 3B 48 4C 20 3D 20 43 52 43 2D 31 36 20 2F 20    .;HL = CRC-16 / 
017B90:  63 68 65 63 6B 73 75 6D 20 64 61 74 61 0D 0A 0D    checksum data...
017BA0:  0A 2E 72 63 6C 6F 6F 70 09 70 75 73 68 20 62 63    ..rcloop.push bc
017BB0:  09 09 09 09 3B 2A 2A 2A 20 72 65 63 65 69 76 65    ....;*** receive
017BC0:  20 6D 61 69 6E 20 64 61 74 61 20 62 6C 6F 63 6B     main data block
017BD0:  0D 0A 09 63 61 6C 6C 20 67 65 74 62 74 09 09 09    ...call getbt...
017BE0:  3B 67 65 74 20 64 61 74 61 20 62 79 74 65 0D 0A    ;get data byte..
017BF0:  09 6C 64 20 28 69 78 29 2C 61 3A 20 69 6E 63 20    .ld (ix),a: inc 
017C00:  69 78 09 09 3B 61 6E 64 20 73 74 6F 72 65 20 69    ix..;and store i
017C10:  74 0D 0A 09 6C 64 20 65 2C 61 3A 20 6C 64 20 61    t...ld e,a: ld a
017C20:  2C 28 69 79 2B 31 30 34 29 0D 0A 09 63 70 20 26    ,(iy+104)...cp &
017C30:  31 35 3A 20 6A 72 20 7A 2C 63 68 6B 73 75 6D 09    15: jr z,chksum.
017C40:  09 3B 43 52 43 20 6F 72 20 63 68 65 63 6B 73 75    .;CRC or checksu
017C50:  6D 3F 0D 0A 0D 0A 09 63 61 6C 6C 20 63 72 63 3A    m?.....call crc:
017C60:  20 6A 72 20 6D 67 6C 6F 6F 70 09 09 3B 63 61 6C     jr mgloop..;cal
017C70:  63 75 6C 61 74 65 20 43 52 43 0D 0A 0D 0A 2E 63    culate CRC.....c
017C80:  68 6B 73 75 6D 09 6C 64 20 61 2C 65 3A 20 61 64    hksum.ld a,e: ad
017C90:  64 20 61 2C 68 3A 20 6C 64 20 68 2C 61 09 09 3B    d a,h: ld h,a..;
017CA0:  63 61 6C 63 75 6C 61 74 65 20 63 68 65 63 6B 73    calculate checks
017CB0:  75 6D 0D 0A 0D 0A 2E 6D 67 6C 6F 6F 70 09 70 6F    um.....mgloop.po
017CC0:  70 20 62 63 3A 20 64 65 63 20 62 63 0D 0A 09 6C    p bc: dec bc...l
017CD0:  64 20 61 2C 62 3A 20 6F 72 20 63 3A 20 6A 72 20    d a,b: or c: jr 
017CE0:  6E 7A 2C 72 63 6C 6F 6F 70 09 3B 6C 6F 6F 70 20    nz,rcloop.;loop 
017CF0:  69 66 20 6E 6F 74 20 66 69 6E 69 73 68 65 64 0D    if not finished.
017D00:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
017D10:  14 00 01 00 02 09 4E E5 14 00 C7 02 00 00 00 02    ......N.........
017D20:  14 00 C3 02 00 00 00 02 14 00 C8 02 00 00 00 02    ................
017D30:  14 00 C4 02 00 00 00 02 14 00 C9 02 00 00 00 02    ................
017D40:  14 00 C5 02 00 00 00 02 14 00 C1 02 00 00 00 02    ................
017D50:  14 00 C6 02 00 00 00 02 14 00 C2 02 00 00 00 02    ................
017D60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
017D70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
017D80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
017D90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
017DA0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
017DB0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
017DC0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
017DD0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
017DE0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
017DF0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
017E00:  63 70 20 26 46 43 3A 20 72 65 74 20 6E 7A 09 09    cp &FC: ret nz..
017E10:  09 3B 45 53 43 3F 0D 0A 2E 63 61 6E 79 65 73 09    .;ESC?...canyes.
017E20:  70 6F 70 20 68 6C 09 09 09 09 3B 72 65 6D 6F 76    pop hl....;remov
017E30:  65 20 43 41 4C 4C 0D 0A 0D 0A 09 63 61 6C 6C 20    e CALL.....call 
017E40:  73 38 63 61 6E 73 09 09 09 3B 73 65 6E 64 20 38    s8cans...;send 8
017E50:  2A 43 41 4E 0D 0A 0D 0A 09 6C 64 20 68 6C 2C 79    *CAN.....ld hl,y
017E60:  6D 74 65 78 74 0D 0A 09 6C 64 20 61 2C 28 69 79    mtext...ld a,(iy
017E70:  2B 31 30 36 29 3A 20 6F 72 20 61 3A 20 20 6A 72    +106): or a:  jr
017E80:  20 6E 7A 2C 67 6F 74 6D 73 67 09 3B 59 4D 6F 64     nz,gotmsg.;YMod
017E90:  65 6D 3F 0D 0A 09 6C 64 20 68 6C 2C 63 72 63 74    em?...ld hl,crct
017EA0:  78 74 0D 0A 09 6C 64 20 61 2C 28 69 79 2B 31 30    xt...ld a,(iy+10
017EB0:  34 29 3A 20 63 70 20 22 43 22 3A 20 6A 72 20 7A    4): cp "C": jr z
017EC0:  2C 67 6F 74 6D 73 67 09 3B 58 4D 6F 64 65 6D 2D    ,gotmsg.;XModem-
017ED0:  43 52 43 3F 0D 0A 09 6C 64 20 68 6C 2C 63 68 6B    CRC?...ld hl,chk
017EE0:  74 78 74 0D 0A 0D 0A 2E 67 6F 74 6D 73 67 09 63    txt.....gotmsg.c
017EF0:  61 6C 6C 20 73 74 72 69 6E 67 09 09 09 3B 50 72    all string...;Pr
017F00:  69 6E 74 20 61 70 70 72 6F 70 72 69 61 74 65 20    int appropriate 
017F10:  74 65 78 74 0D 0A 09 6C 64 20 61 2C 32 32 3A 20    text...ld a,22: 
017F20:  63 61 6C 6C 20 26 42 42 36 46 0D 0A 09 6C 64 20    call &BB6F...ld 
017F30:  68 6C 2C 61 62 72 74 78 74 3A 20 63 61 6C 6C 20    hl,abrtxt: call 
017F40:  73 74 72 69 6E 67 09 3B 66 6F 6C 6C 6F 77 65 64    string.;followed
017F50:  20 62 79 20 22 61 62 6F 72 74 65 64 22 0D 0A 09     by "aborted"...
017F60:  6C 64 20 68 6C 2C 6C 61 73 74 63 72 3A 20 63 61    ld hl,lastcr: ca
017F70:  6C 6C 20 73 74 72 69 6E 67 0D 0A 09 63 61 6C 6C    ll string...call
017F80:  20 26 42 42 34 38 3A 20 63 61 6C 6C 20 26 42 42     &BB48: call &BB
017F90:  31 42 09 09 3B 72 65 6D 6F 76 65 20 62 72 65 61    1B..;remove brea
017FA0:  6B 3F 0D 0A 09 63 61 6C 6C 20 26 42 43 37 44 3A    k?...call &BC7D:
017FB0:  20 6A 70 20 26 42 43 39 32 09 09 3B 61 62 61 6E     jp &BC92..;aban
017FC0:  64 6F 6E 20 66 69 6C 65 73 0D 0A 0D 0A 0D 0A 0D    don files.......
017FD0:  0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D    ................
017FE0:  0A 0D 0A 0D 0A 0D 0A 09 3B 3E 3E 3E 20 55 50 4C    ........;>>> UPL
017FF0:  4F 41 44 20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E    OAD command.....
018000:  72 20 7A 2C 6D 65 74 30 09 3B 66 69 6E 64 20 6C    r z,met0.;find l
018010:  65 6E 67 74 68 20 6F 66 20 66 69 6C 65 6E 61 6D    ength of filenam
018020:  65 0D 0A 09 69 6E 63 20 68 6C 3A 20 69 6E 63 20    e...inc hl: inc 
018030:  62 3A 20 6A 72 20 66 6C 6C 0D 0A 0D 0A 2E 6D 65    b: jr fll.....me
018040:  74 30 09 64 65 63 20 68 6C 3A 20 65 78 20 64 65    t0.dec hl: ex de
018050:  2C 68 6C 3A 20 70 6F 70 20 68 6C 09 3B 66 69 6C    ,hl: pop hl.;fil
018060:  65 6E 61 6D 65 20 65 78 74 65 6E 64 73 20 66 72    ename extends fr
018070:  6F 6D 20 48 4C 20 74 6F 20 44 45 0D 0A 09 6C 64    om HL to DE...ld
018080:  20 61 2C 31 32 3A 20 63 70 20 62 3A 20 63 61 6C     a,12: cp b: cal
018090:  6C 20 63 2C 63 6F 6E 76 09 3B 63 6F 6E 76 65 72    l c,conv.;conver
0180A0:  74 20 74 6F 20 43 50 43 20 66 69 6C 65 6E 61 6D    t to CPC filenam
0180B0:  65 20 69 66 20 74 6F 6F 20 6C 6F 6E 67 65 72 0D    e if too longer.
0180C0:  0A 0D 0A 09 78 6F 72 20 61 3A 20 63 70 20 62 3A    ....xor a: cp b:
0180D0:  20 6A 72 20 7A 2C 65 79 6D 09 09 3B 59 4D 6F 64     jr z,eym..;YMod
0180E0:  65 6D 20 6E 75 6C 6C 20 62 6C 6F 63 6B 20 28 3D    em null block (=
0180F0:  45 4F 54 29 3F 0D 0A 09 6C 64 20 61 2C 28 69 79    EOT)?...ld a,(iy
018100:  2B 34 32 29 09 09 09 3B 41 20 3D 20 6E 75 6D 62    +42)...;A = numb
018110:  65 72 20 6F 66 20 70 61 72 61 6D 65 74 65 72 73    er of parameters
018120:  0D 0A 09 6F 72 20 61 3A 20 63 61 6C 6C 20 6E 7A    ...or a: call nz
018130:  2C 67 66 6E 61 6D 65 09 09 3B 67 65 74 20 66 69    ,gfname..;get fi
018140:  6C 65 6E 61 6D 65 20 69 66 20 70 72 6F 76 69 64    lename if provid
018150:  65 64 20 62 79 20 52 53 58 0D 0A 0D 0A 09 70 75    ed by RSX.....pu
018160:  73 68 20 62 63 3A 20 70 75 73 68 20 68 6C 0D 0A    sh bc: push hl..
018170:  2E 70 66 6C 6F 6F 70 09 6C 64 20 61 2C 28 68 6C    .pfloop.ld a,(hl
018180:  29 3A 20 63 61 6C 6C 20 26 42 42 35 41 09 09 3B    ): call &BB5A..;
018190:  70 72 69 6E 74 20 66 69 6C 65 6E 61 6D 65 20 74    print filename t
0181A0:  6F 20 73 63 72 65 65 6E 0D 0A 09 69 6E 63 20 68    o screen...inc h
0181B0:  6C 3A 20 64 6A 6E 7A 20 70 66 6C 6F 6F 70 0D 0A    l: djnz pfloop..
0181C0:  09 70 6F 70 20 68 6C 0D 0A 0D 0A 09 6C 64 20 61    .pop hl.....ld a
0181D0:  2C 36 3A 20 63 61 6C 6C 20 73 65 6E 64 62 74 09    ,6: call sendbt.
0181E0:  09 3B 41 43 4B 20 74 6F 20 73 61 79 20 22 6F 6B    .;ACK to say "ok
0181F0:  22 0D 0A 09 70 6F 70 20 62 63 3A 20 6A 70 20 6F    "...pop bc: jp o
018200:  75 70 6C 64 5F 69 20 63 61 6C 6C 20 62 75 66 66    upld_i call buff
018210:  5F 63 0D 0A 09 6C 64 20 63 2C 32 0D 0A 09 6F 72    _c...ld c,2...or
018220:  20 61 3A 20 6A 70 20 7A 2C 65 72 72 6F 72 0D 0A     a: jp z,error..
018230:  0D 0A 09 63 61 6C 6C 20 72 66 6E 61 6D 65 0D 0A    ...call rfname..
018240:  20 20 20 20 20 20 20 20 0D 0A 09 6C 64 20 63 2C            ...ld c,
018250:  34 3A 20 6C 64 20 61 2C 28 69 79 2B 37 32 29 09    4: ld a,(iy+72).
018260:  09 3B 41 20 3D 20 66 69 6C 65 73 20 74 6F 20 73    .;A = files to s
018270:  65 6E 64 0D 0A 09 6F 72 20 61 3A 20 6A 70 20 7A    end...or a: jp z
018280:  2C 65 72 72 6F 72 0D 0A 0D 0A 09 6C 64 20 6C 2C    ,error.....ld l,
018290:  28 69 79 2B 37 30 29 3A 20 6C 64 20 68 2C 28 69    (iy+70): ld h,(i
0182A0:  79 2B 37 31 29 09 3B 48 4C 20 3D 20 63 75 72 72    y+71).;HL = curr
0182B0:  65 6E 74 20 6E 61 6D 65 20 61 64 64 72 65 73 73    ent name address
0182C0:  0D 0A 09 6C 64 20 28 68 6C 29 2C 30 0D 0A 0D 0A    ...ld (hl),0....
0182D0:  09 6C 64 20 61 2C 28 69 79 2B 31 30 37 29 3A 20    .ld a,(iy+107): 
0182E0:  63 70 20 32 3A 20 6A 72 20 7A 2C 6E 78 71 75 65    cp 2: jr z,nxque
0182F0:  72 3B 41 20 3D 20 73 70 65 63 69 66 69 65 64 20    r;A = specified 
018300:  70 72 6F 74 6F 63 6F 6C 20 28 30 2F 31 2F 32 29    protocol (0/1/2)
018310:  0D 0A 09 6C 64 20 63 2C 37 0D 0A 09 6C 64 20 61    ...ld c,7...ld a
018320:  2C 28 69 79 2B 37 32 29 3A 20 63 70 20 31 3A 20    ,(iy+72): cp 1: 
018330:  6A 70 20 6E 7A 2C 65 72 72 6F 72 09 3B 58 4D 6F    jp nz,error.;XMo
018340:  64 65 6D 20 73 69 6E 67 6C 65 20 66 69 6C 65 20    dem single file 
018350:  6F 6E 6C 79 20 28 69 74 27 73 20 43 52 41 50 29    only (it's CRAP)
018360:  0D 0A 0D 0A 2E 6E 78 71 75 65 72 09 6C 64 20 68    .....nxquer.ld h
018370:  6C 2C 74 74 73 65 6E 64 3A 20 20 63 61 6C 6C 20    l,ttsend:  call 
018380:  73 74 72 69 6E 67 09 3B 66 75 63 6B 20 79 6F 75    string.;fuck you
018390:  2C 20 50 69 63 74 21 20 28 77 65 20 70 69 73 73    , Pict! (we piss
0183A0:  20 6F 6E 20 4C 6F 67 6F 6E 29 0D 0A 09 6C 64 20     on Logon)...ld 
0183B0:  61 2C 28 69 79 2B 37 32 29 3A 20 20 63 61 6C 6C    a,(iy+72):  call
0183C0:  20 70 72 5F 64 65 63 09 3B 6E 75 6D 62 65 72 20     pr_dec.;number 
0183D0:  6F 66 20 66 69 6C 65 73 20 74 6F 20 73 65 6E 64    of files to send
0183E0:  0D 0A 09 6C 64 20 68 6C 2C 74 74 6B 6D 65 73 3A    ...ld hl,ttkmes:
0183F0:  20 20 63 61 6C 6C 20 73 74 72 69 6E 67 09 3B 66      call string.;f
018400:  70 5F 6F 75 74 0D 0A 0D 0A 2E 65 79 6D 09 6C 64    p_out.....eym.ld
018410:  20 68 6C 2C 63 6C 74 65 78 74 3A 20 63 61 6C 6C     hl,cltext: call
018420:  20 73 74 72 69 6E 67 09 3B 2A 2A 2A 20 45 6E 64     string.;*** End
018430:  20 6F 66 20 59 4D 6F 64 65 6D 20 74 72 61 6E 73     of YModem trans
018440:  6D 69 73 73 69 6F 6E 0D 0A 09 78 6F 72 20 61 3A    mission...xor a:
018450:  20 6C 64 20 28 69 79 2B 31 30 36 29 2C 61 09 09     ld (iy+106),a..
018460:  3B 63 61 6E 63 65 6C 20 59 4D 6F 64 65 6D 0D 0A    ;cancel YModem..
018470:  09 6A 72 20 65 74 72 61 6E 73 09 09 09 3B 65 6E    .jr etrans...;en
018480:  64 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E 0D 0A    d transmission..
018490:  0D 0A 2E 6F 63 74 72 6C 09 6C 64 20 61 2C 33 32    ...octrl.ld a,32
0184A0:  3A 20 63 61 6C 6C 20 26 42 42 35 41 09 09 3B 2A    : call &BB5A..;*
0184B0:  2A 2A 20 53 65 6E 64 20 62 6C 6F 63 6B 20 74 6F    ** Send block to
0184C0:  20 64 69 73 63 0D 0A 0D 0A 2E 6F 6C 6F 6F 70 09     disc.....oloop.
0184D0:  6C 64 20 61 2C 28 68 6C 29 3A 20 63 61 6C 6C 20    ld a,(hl): call 
0184E0:  26 42 43 39 35 09 09 3B 43 41 53 20 4F 55 54 20    &BC95..;CAS OUT 
0184F0:  43 48 41 52 0D 0A 09 63 61 6C 6C 20 6E 63 2C 63    CHAR...call nc,c
018500:  61 6E 79 65 73 09 09 09 3B 69 66 20 64 69 73 63    anyes...;if disc
018510:  20 65 72 72 6F 72 0D 0A 09 69 6E 63 20 68 6C 3A     error...inc hl:
018520:  20 64 65 63 20 62 63 0D 0A 09 6C 64 20 61 2C 62     dec bc...ld a,b
018530:  3A 20 6F 72 20 63 3A 20 6A 72 20 6E 7A 2C 6F 6C    : or c: jr nz,ol
018540:  6F 6F 70 0D 0A 0D 0A 2E 69 62 6C 6F 63 6B 09 6C    oop.....iblock.l
018550:  64 20 61 2C 28 69 79 2B 31 30 31 29 3A 20 69 6E    d a,(iy+101): in
018560:  63 20 61 09 09 3B 49 6E 63 72 65 61 73 65 20 62    c a..;Increase b
018570:  6C 6F 63 6B 20 6E 75 6D 62 65 72 0D 0A 09 6C 64    lock number...ld
018580:  20 28 69 79 2B 31 30 31 29 2C 61 0D 0A 0D 0A 2E     (iy+101),a.....
018590:  77 74 73 6F 68 62 09 63 61 6C 6C 20 63 68 6B 63    wtsohb.call chkc
0185A0:  61 6E 09 09 09 3B 43 68 65 63 6B 20 66 6F 72 20    an...;Check for 
0185B0:  61 62 6F 72 74 0D 0A 0D 0A 09 6C 64 20 61 2C 36    abort.....ld a,6
0185C0:  3A 20 63 61 6C 6C 20 73 65 6E 64 62 74 09 09 3B    : call sendbt..;
0185D0:  41 43 4B 6E 6F 77 6C 65 64 67 65 20 73 75 63 63    ACKnowledge succ
0185E0:  65 73 73 66 75 6C 20 72 65 63 65 69 70 74 0D 0A    essful receipt..
0185F0:  09 6C 64 20 64 65 2C 35 30 30 3A 20 63 61 6C 6C    .ld de,500: call
018600:  75 63 6B 20 79 6F 75 2C 20 4F 62 69 21 20 28 77    uck you, Obi! (w
018610:  65 20 70 69 73 73 20 6F 6E 20 74 68 65 20 67 6F    e piss on the go
018620:  6F 6E 73 29 0D 0A 09 6C 64 20 6C 2C 28 69 79 2B    ons)...ld l,(iy+
018630:  37 33 29 3A 20 6C 64 20 68 2C 28 69 79 2B 37 34    73): ld h,(iy+74
018640:  29 0D 0A 09 09 20 20 20 20 20 20 20 63 61 6C 6C    )....       call
018650:  20 70 72 5F 68 6C 09 3B 6E 75 6D 62 65 72 20 6F     pr_hl.;number o
018660:  66 20 6B 20 74 6F 20 73 65 6E 64 0D 0A 09 6C 64    f k to send...ld
018670:  20 68 6C 2C 74 74 6B 63 6C 6F 3A 20 20 63 61 6C     hl,ttkclo:  cal
018680:  6C 20 73 74 72 69 6E 67 0D 0A 0D 0A 09 78 6F 72    l string.....xor
018690:  20 61 3A 20 6C 64 20 28 69 79 2B 31 30 34 29 2C     a: ld (iy+104),
0186A0:  61 09 09 3B 4E 41 4B 20 6F 72 20 43 20 6E 6F 74    a..;NAK or C not
0186B0:  20 72 65 63 65 69 76 65 64 0D 0A 0D 0A 09 6C 64     received.....ld
0186C0:  20 6C 2C 28 69 79 2B 37 29 3A 20 6C 64 20 68 2C     l,(iy+7): ld h,
0186D0:  28 69 79 2B 38 29 09 3B 48 4C 20 3D 20 66 69 6C    (iy+8).;HL = fil
0186E0:  65 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73    e buffer address
0186F0:  0D 0A 09 6C 64 20 28 69 79 2B 37 30 29 2C 6C 3A    ...ld (iy+70),l:
018700:  20 6C 64 20 28 69 79 2B 37 31 29 2C 68 09 3B 70     ld (iy+71),h.;p
018710:  75 74 20 69 6E 74 6F 20 63 75 72 72 65 6E 74 20    ut into current 
018720:  6E 61 6D 65 20 61 64 64 72 65 73 73 0D 0A 0D 0A    name address....
018730:  2E 67 6E 78 74 79 75 09 70 75 73 68 20 69 79 3A    .gnxtyu.push iy:
018740:  20 70 6F 70 20 68 6C 0D 0A 09 6C 64 20 64 65 2C     pop hl...ld de,
018750:  31 31 36 2B 31 32 39 3A 20 61 64 64 20 68 6C 2C    116+129: add hl,
018760:  64 65 0D 0A 09 6C 64 20 28 68 6C 29 2C 30 09 09    de...ld (hl),0..
018770:  09 3B 6E 6F 20 68 65 61 64 65 72 0D 0A 0D 0A 09    .;no header.....
018780:  6C 64 20 6C 2C 28 69 79 2B 37 30 29 3A 20 6C 64    ld l,(iy+70): ld
018790:  20 68 2C 28 69 79 2B 37 31 29 09 3B 63 75 72 72     h,(iy+71).;curr
0187A0:  65 6E 74 20 6E 61 6D 65 20 61 64 64 72 65 73 73    ent name address
0187B0:  0D 0A 09 6C 64 20 61 2C 28 68 6C 29 0D 0A 09 6F    ...ld a,(hl)...o
0187C0:  72 20 61 3A 20 6A 70 20 7A 2C 65 78 75 70 6C 09    r a: jp z,exupl.
0187D0:  09 3B 65 6E 64 20 6F 66 20 75 70 6C 6F 61 64 73    .;end of uploads
0187E0:  0D 0A 0D 0A 09 70 75 73 68 20 68 6C 0D 0A 09 20    .....push hl... 
0187F0:  70 75 73 68 20 69 79 3A 20 70 6F 70 20 68 6C 0D    push iy: pop hl.
018800:  20 77 61 69 74 62 74 0D 0A 0D 0A 09 63 70 20 31     waitbt.....cp 1
018810:  3A 20 6A 70 20 7A 2C 73 62 6C 6F 63 6B 09 09 3B    : jp z,sblock..;
018820:  53 4F 48 3F 20 5B 58 4D 6F 64 65 6D 2D 31 32 38    SOH? [XModem-128
018830:  5D 0D 0A 09 63 70 20 32 3A 20 6A 70 20 7A 2C 73    ]...cp 2: jp z,s
018840:  62 6C 6F 63 6B 09 09 3B 53 54 58 3F 20 5B 58 4D    block..;STX? [XM
018850:  6F 64 65 6D 2D 31 6B 5D 0D 0A 09 63 70 20 26 31    odem-1k]...cp &1
018860:  38 3A 20 63 61 6C 6C 20 7A 2C 63 61 6E 79 65 73    8: call z,canyes
018870:  09 09 3B 43 41 4E 3F 20 5B 41 62 6F 72 74 5D 0D    ..;CAN? [Abort].
018880:  0A 09 63 70 20 34 3A 20 6A 70 20 6E 7A 2C 77 74    ..cp 4: jp nz,wt
018890:  73 6F 68 62 09 09 3B 45 4F 54 3F 20 5B 45 6E 64    sohb..;EOT? [End
0188A0:  20 6F 66 20 74 72 61 6E 73 6D 69 73 73 69 6F 6E     of transmission
0188B0:  5D 0D 0A 0D 0A 2E 65 74 72 61 6E 73 09 6C 64 20    ].....etrans.ld 
0188C0:  61 2C 36 3A 20 63 61 6C 6C 20 73 65 6E 64 62 74    a,6: call sendbt
0188D0:  09 09 3B 69 66 20 45 4F 54 2C 20 74 68 65 6E 20    ..;if EOT, then 
0188E0:  41 43 4B 6E 6F 77 6C 65 64 67 65 20 69 74 0D 0A    ACKnowledge it..
0188F0:  09 63 61 6C 6C 20 26 42 43 38 46 09 09 09 3B 61    .call &BC8F...;a
018900:  6E 64 20 63 6C 6F 73 65 20 64 69 73 63 20 66 69    nd close disc fi
018910:  6C 65 0D 0A 0D 0A 09 6C 64 20 61 2C 28 69 79 2B    le.....ld a,(iy+
018920:  31 30 36 29 3A 20 6F 72 20 61 3A 20 6A 70 20 6E    106): or a: jp n
018930:  7A 2C 72 62 6C 6F 63 6B 20 3B 69 66 20 59 4D 6F    z,rblock ;if YMo
018940:  64 65 6D 2C 20 6E 65 78 74 20 66 69 6C 65 20 70    dem, next file p
018950:  6C 65 61 73 65 0D 0A 09 6C 64 20 68 6C 2C 6C 61    lease...ld hl,la
018960:  73 74 63 72 3A 20 6A 70 20 73 74 72 69 6E 67 09    stcr: jp string.
018970:  09 3B 6F 74 68 65 72 77 69 73 65 20 43 52 2F 4C    .;otherwise CR/L
018980:  46 20 6F 75 74 20 61 6E 64 20 72 65 74 75 72 6E    F out and return
018990:  21 0D 0A 0D 0A 2E 73 66 65 72 72 09 6C 64 20 28    !.....sferr.ld (
0189A0:  69 79 2B 31 30 30 29 2C 31 3A 20 72 65 74 09 09    iy+100),1: ret..
0189B0:  3B 2A 2A 2A 20 53 75 62 72 6F 75 74 69 6E 65 20    ;*** Subroutine 
0189C0:  2D 20 73 65 74 20 66 69 6C 65 20 65 72 72 6F 72    - set file error
0189D0:  0D 0A 0D 0A 2E 67 66 6E 61 6D 65 09 6C 64 20 61    .....gfname.ld a
0189E0:  2C 28 69 79 2B 34 32 29 09 09 09 3B 2A 2A 2A 20    ,(iy+42)...;*** 
0189F0:  53 75 62 72 6F 75 74 69 6E 65 20 2D 20 67 65 74    Subroutine - get
018A00:  78 74 0D 0A 09 6C 64 20 61 2C 31 3A 20 6C 64 20    xt...ld a,1: ld 
018A10:  28 69 79 2B 31 30 35 29 2C 61 09 09 3B 61 6E 64    (iy+105),a..;and
018A20:  20 73 65 74 20 69 74 20 74 6F 20 22 70 72 69 6E     set it to "prin
018A30:  74 65 64 20 61 6C 72 65 61 64 79 22 0D 0A 0D 0A    ted already"....
018A40:  2E 6E 70 73 74 61 74 09 6C 64 20 61 2C 32 32 3A    .npstat.ld a,22:
018A50:  20 63 61 6C 6C 20 26 42 42 36 46 0D 0A 09 6C 64     call &BB6F...ld
018A60:  20 61 2C 28 69 79 2B 31 30 31 29 3A 20 6F 72 20     a,(iy+101): or 
018A70:  61 0D 0A 09 6A 72 20 7A 2C 63 68 6B 65 72 72 09    a...jr z,chkerr.
018A80:  09 09 3B 64 6F 6E 27 74 20 70 72 69 6E 74 20 62    ..;don't print b
018A90:  6C 6F 63 6B 20 30 0D 0A 09 63 61 6C 6C 20 70 72    lock 0...call pr
018AA0:  5F 64 65 63 09 09 09 3B 6F 74 68 65 72 77 69 73    _dec...;otherwis
018AB0:  65 2C 20 70 72 69 6E 74 20 62 6C 6F 63 6B 20 6E    e, print block n
018AC0:  75 6D 62 65 72 0D 0A 0D 0A 2E 63 68 6B 65 72 72    umber.....chkerr
018AD0:  09 6C 64 20 61 2C 28 69 79 2B 31 30 30 29 3A 20    .ld a,(iy+100): 
018AE0:  6F 72 20 61 3A 20 6A 70 20 7A 2C 6E 6F 65 72 72    or a: jp z,noerr
018AF0:  09 3B 62 6C 6F 63 6B 20 72 65 63 65 69 76 65 64    .;block received
018B00:  20 6F 6B 3F 0D 0A 0D 0A 09 6C 64 20 61 2C 22 3F     ok?.....ld a,"?
018B10:  22 3A 20 63 61 6C 6C 20 26 42 42 35 41 09 09 3B    ": call &BB5A..;
018B20:  65 6C 73 65 20 70 72 69 6E 74 20 22 3F 22 20 66    else print "?" f
018B30:  6F 72 20 65 72 72 6F 72 0D 0A 09 78 6F 72 20 61    or error...xor a
018B40:  3A 20 6C 64 20 28 69 79 2B 31 30 30 29 2C 61 09    : ld (iy+100),a.
018B50:  09 3B 61 6E 64 20 63 61 6E 63 65 6C 20 74 68 65    .;and cancel the
018B60:  20 65 72 72 6F 72 0D 0A 09 6C 64 20 61 2C 26 31     error...ld a,&1
018B70:  35 3A 20 63 61 6C 6C 20 73 65 6E 64 62 74 09 09    5: call sendbt..
018B80:  3B 4E 41 4B 20 66 6F 72 20 65 72 72 6F 72 0D 0A    ;NAK for error..
018B90:  2E 63 65 72 5F 6C 70 09 6C 64 20 64 65 2C 31 35    .cer_lp.ld de,15
018BA0:  30 3A 20 63 61 6C 6C 20 77 61 69 74 62 74 09 09    0: call waitbt..
018BB0:  3B 77 61 69 74 20 66 6F 72 20 72 65 73 70 6F 6E    ;wait for respon
018BC0:  73 65 0D 0A 09 63 70 20 32 3A 20 6A 70 20 7A 2C    se...cp 2: jp z,
018BD0:  73 62 6C 6F 63 6B 09 09 3B 53 54 58 3F 20 5B 58    sblock..;STX? [X
018BE0:  4D 6F 64 65 6D 2D 31 6B 2C 20 67 65 74 20 62 6C    Modem-1k, get bl
018BF0:  6F 63 6B 20 61 67 61 69 6E 5D 0D 0A 09 63 70 20    ock again]...cp 
018C00:  20 66 69 6C 65 6E 61 6D 65 0D 0A 09 6F 72 20 61     filename...or a
018C10:  3A 20 72 65 74 20 7A 09 09 09 3B 41 20 3D 20 6E    : ret z...;A = n
018C20:  75 6D 62 65 72 20 6F 66 20 70 61 72 61 6D 65 74    umber of paramet
018C30:  65 72 73 0D 0A 0D 0A 09 6C 64 20 6C 2C 28 69 79    ers.....ld l,(iy
018C40:  2B 34 33 29 3A 20 6C 64 20 68 2C 28 69 79 2B 34    +43): ld h,(iy+4
018C50:  34 29 09 3B 48 4C 20 3D 20 70 61 72 61 6D 65 74    4).;HL = paramet
018C60:  65 72 20 62 6C 6F 63 6B 20 61 64 64 72 65 73 73    er block address
018C70:  0D 0A 09 64 65 63 20 68 6C 3A 20 64 65 63 20 68    ...dec hl: dec h
018C80:  6C 09 09 09 3B 67 65 74 20 70 72 6F 76 69 64 65    l...;get provide
018C90:  64 20 66 69 6C 65 6E 61 6D 65 0D 0A 09 6C 64 20    d filename...ld 
018CA0:  28 69 79 2B 34 33 29 2C 6C 3A 20 6C 64 20 28 69    (iy+43),l: ld (i
018CB0:  79 2B 34 34 29 2C 68 0D 0A 09 70 75 73 68 20 68    y+44),h...push h
018CC0:  6C 3A 20 70 6F 70 20 69 78 0D 0A 0D 0A 09 6C 64    l: pop ix.....ld
018CD0:  20 6C 2C 28 69 78 29 3A 20 6C 64 20 68 2C 28 69     l,(ix): ld h,(i
018CE0:  78 2B 31 29 0D 0A 09 6C 64 20 62 2C 28 68 6C 29    x+1)...ld b,(hl)
018CF0:  3A 20 69 6E 63 20 68 6C 0D 0A 09 6C 64 20 65 2C    : inc hl...ld e,
018D00:  28 68 6C 29 3A 20 69 6E 63 20 68 6C 0D 0A 09 6C    (hl): inc hl...l
018D10:  64 20 64 2C 28 68 6C 29 3A 20 65 78 20 64 65 2C    d d,(hl): ex de,
018D20:  68 6C 0D 0A 09 64 65 63 20 61 3A 20 6C 64 20 28    hl...dec a: ld (
018D30:  69 79 2B 34 32 29 2C 61 09 09 3B 41 20 3D 3E 20    iy+42),a..;A => 
018D40:  6E 75 6D 62 65 72 20 6F 66 20 70 61 72 61 6D 65    number of parame
018D50:  74 65 72 73 0D 0A 09 6C 64 20 61 2C 31 3A 20 6F    ters...ld a,1: o
018D60:  72 20 61 09 09 09 3B 73 65 74 20 6E 7A 20 28 69    r a...;set nz (i
018D70:  2E 65 2E 20 66 6F 75 6E 64 20 66 69 6C 65 6E 61    .e. found filena
018D80:  6D 65 29 0D 0A 09 72 65 74 0D 0A 0D 0A 09 3B 53    me)...ret.....;S
018D90:  75 62 72 6F 75 74 69 6E 65 20 2D 20 43 68 65 63    ubroutine - Chec
018DA0:  6B 20 66 6F 72 20 45 53 43 2F 43 54 52 4C 2D 58    k for ESC/CTRL-X
018DB0:  0D 0A 0D 0A 2E 63 68 6B 63 61 6E 09 63 61 6C 6C    .....chkcan.call
018DC0:  20 26 42 42 31 42 3A 20 72 65 74 20 6E 63 09 09     &BB1B: ret nc..
018DD0:  3B 6B 65 79 20 70 72 65 73 73 65 64 3F 0D 0A 09    ;key pressed?...
018DE0:  63 70 20 26 31 38 3A 20 6A 72 20 7A 2C 63 61 6E    cp &18: jr z,can
018DF0:  79 65 73 09 09 3B 43 54 52 4C 2D 58 3F 0D 0A 09    yes..;CTRL-X?...
018E00:  31 3A 20 6A 70 20 7A 2C 73 62 6C 6F 63 6B 09 09    1: jp z,sblock..
018E10:  3B 53 4F 48 3F 20 5B 58 6D 6F 64 65 6D 2D 31 32    ;SOH? [Xmodem-12
018E20:  38 2C 20 67 65 74 20 62 6C 6F 63 6B 20 61 67 61    8, get block aga
018E30:  69 6E 5D 0D 0A 09 63 70 20 26 31 38 3A 20 63 61    in]...cp &18: ca
018E40:  6C 6C 20 7A 2C 63 61 6E 79 65 73 09 09 3B 43 41    ll z,canyes..;CA
018E50:  4E 3F 20 5B 61 62 6F 72 74 5D 0D 0A 09 63 61 6C    N? [abort]...cal
018E60:  6C 20 63 68 6B 63 61 6E 3A 20 6A 72 20 63 65 72    l chkcan: jr cer
018E70:  5F 6C 70 09 09 3B 45 53 43 20 70 72 65 73 73 65    _lp..;ESC presse
018E80:  64 3F 20 5B 61 62 6F 72 74 5D 0D 0A 0D 0A 2E 6E    d? [abort].....n
018E90:  6F 65 72 72 09 6C 64 20 6C 2C 28 69 79 2B 37 29    oerr.ld l,(iy+7)
018EA0:  3A 20 6C 64 20 68 2C 28 69 79 2B 38 29 09 3B 2A    : ld h,(iy+8).;*
018EB0:  2A 2A 20 62 6C 6F 63 6B 20 72 65 63 65 69 76 65    ** block receive
018EC0:  64 20 6F 6B 0D 0A 09 6C 64 20 63 2C 28 69 79 2B    d ok...ld c,(iy+
018ED0:  31 30 32 29 3A 20 6C 64 20 62 2C 28 69 79 2B 31    102): ld b,(iy+1
018EE0:  30 33 29 09 3B 48 4C 20 3D 20 66 69 6C 65 20 62    03).;HL = file b
018EF0:  75 66 66 65 72 20 61 64 64 72 2C 20 42 43 20 3D    uffer addr, BC =
018F00:  20 62 6C 6F 63 6B 20 6C 65 6E 0D 0A 0D 0A 09 6C     block len.....l
018F10:  64 20 61 2C 28 69 79 2B 31 30 31 29 3A 20 6F 72    d a,(iy+101): or
018F20:  20 61 3A 20 6A 72 20 6E 7A 2C 6F 63 74 72 6C 3B     a: jr nz,octrl;
018F30:  77 72 69 74 65 20 74 6F 20 64 69 73 63 20 69 66    write to disc if
018F40:  20 6E 6F 74 20 62 6C 6F 63 6B 20 30 0D 0A 0D 0A     not block 0....
018F50:  09 70 75 73 68 20 68 6C 09 09 09 09 3B 2A 2A 2A    .push hl....;***
018F60:  20 59 4D 6F 64 65 6D 20 68 65 61 64 65 72 0D 0A     YModem header..
018F70:  09 63 61 6C 6C 20 26 42 43 39 32 09 09 09 3B 61    .call &BC92...;a
018F80:  62 61 6E 64 6F 6E 20 63 75 72 72 65 6E 74 20 66    bandon current f
018F90:  69 6C 65 0D 0A 09 6C 64 20 68 6C 2C 79 6D 74 65    ile...ld hl,ymte
018FA0:  78 74 3A 20 63 61 6C 6C 20 73 74 72 69 6E 67 09    xt: call string.
018FB0:  3B 61 6E 64 20 70 72 69 6E 74 20 22 59 4D 6F 64    ;and print "YMod
018FC0:  65 6D 22 20 6F 6E 20 73 63 72 65 65 6E 0D 0A 09    em" on screen...
018FD0:  70 6F 70 20 68 6C 3A 20 70 75 73 68 20 68 6C 3A    pop hl: push hl:
018FE0:  20 6C 64 20 62 2C 30 0D 0A 2E 66 6C 6C 09 6C 64     ld b,0...fll.ld
018FF0:  20 61 2C 28 68 6C 29 3A 20 6F 72 20 61 3A 20 6A     a,(hl): or a: j
019000:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
019010:  15 00 01 00 02 09 4E E5 15 00 C1 02 00 00 00 02    ......N.........
019020:  15 00 C6 02 00 00 00 02 15 00 C2 02 00 00 00 02    ................
019030:  15 00 C7 02 00 00 00 02 15 00 C3 02 00 00 00 02    ................
019040:  15 00 C8 02 00 00 00 02 15 00 C4 02 00 00 00 02    ................
019050:  15 00 C9 02 00 00 00 02 15 00 C5 02 00 00 00 02    ................
019060:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
019070:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
019080:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
019090:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0190A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0190B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0190C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0190D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0190E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0190F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
019100:  0A 09 20 6C 64 20 64 65 2C 35 35 3A 20 61 64 64    .. ld de,55: add
019110:  20 68 6C 2C 64 65 0D 0A 09 20 65 78 20 64 65 2C     hl,de... ex de,
019120:  68 6C 3A 20 70 6F 70 20 68 6C 09 09 3B 44 45 20    hl: pop hl..;DE 
019130:  3D 20 73 65 6E 64 20 66 69 6C 65 6E 61 6D 65 20    = send filename 
019140:  28 64 65 73 74 69 6E 61 74 69 6F 6E 29 0D 0A 09    (destination)...
019150:  70 75 73 68 20 64 65 09 09 09 09 3B 50 55 53 48    push de....;PUSH
019160:  20 66 69 6C 65 6E 61 6D 65 20 66 6F 72 20 72 65     filename for re
019170:  74 72 69 65 76 61 6C 20 6C 61 74 65 72 0D 0A 09    trieval later...
019180:  6C 64 20 62 63 2C 38 3A 20 6C 64 69 72 0D 0A 09    ld bc,8: ldir...
019190:  6C 64 20 61 2C 22 2E 22 0D 0A 09 6C 64 20 28 64    ld a,"."...ld (d
0191A0:  65 29 2C 61 3A 20 69 6E 63 20 64 65 0D 0A 09 6C    e),a: inc de...l
0191B0:  64 20 62 63 2C 33 3A 20 6C 64 69 72 0D 0A 09 70    d bc,3: ldir...p
0191C0:  75 73 68 20 68 6C 0D 0A 09 20 70 75 73 68 20 69    ush hl... push i
0191D0:  79 3A 20 70 6F 70 20 68 6C 0D 0A 09 20 6C 64 20    y: pop hl... ld 
0191E0:  64 65 2C 37 35 3A 20 61 64 64 20 68 6C 2C 64 65    de,75: add hl,de
0191F0:  0D 0A 09 20 65 78 20 64 65 2C 68 6C 3A 20 70 6F    ... ex de,hl: po
019200:  70 20 68 6C 09 09 3B 44 45 20 3D 20 66 69 6C 65    p hl..;DE = file
019210:  20 6C 65 6E 67 74 68 20 62 79 74 65 73 20 28 64     length bytes (d
019220:  65 73 74 69 6E 61 74 69 6F 6E 29 0D 0A 09 6C 64    estination)...ld
019230:  69 3A 20 6C 64 69 0D 0A 09 6C 64 20 28 69 79 2B    i: ldi...ld (iy+
019240:  37 30 29 2C 6C 3A 20 6C 64 20 28 69 79 2B 37 31    70),l: ld (iy+71
019250:  29 2C 68 09 3B 48 4C 20 3D 3E 20 63 75 72 72 65    ),h.;HL => curre
019260:  6E 74 20 6E 61 6D 65 20 61 64 64 72 65 73 73 0D    nt name address.
019270:  0A 0D 0A 09 6C 64 20 6C 2C 28 69 79 2B 37 29 3A    ....ld l,(iy+7):
019280:  20 6C 64 20 68 2C 28 69 79 2B 38 29 09 3B 48 4C     ld h,(iy+8).;HL
019290:  20 3D 20 66 69 6C 65 20 62 75 66 66 65 72 0D 0A     = file buffer..
0192A0:  09 6C 64 20 64 65 2C 31 30 32 34 3A 20 61 64 64    .ld de,1024: add
0192B0:  20 68 6C 2C 64 65 0D 0A 09 65 78 20 64 65 2C 68     hl,de...ex de,h
0192C0:  6C 0D 0A 09 70 6F 70 20 68 6C 3A 20 6C 64 20 62    l...pop hl: ld b
0192D0:  2C 31 32 09 09 09 3B 50 4F 50 20 66 69 6C 65 6E    ,12...;POP filen
0192E0:  61 6D 65 20 66 72 6F 6D 20 61 62 6F 76 65 0D 0A    ame from above..
0192F0:  09 63 61 6C 6C 20 26 42 43 37 37 09 09 09 3B 43    .call &BC77...;C
019300:  64 20 64 65 2C 31 31 36 2B 31 32 38 3A 20 61 64    d de,116+128: ad
019310:  64 20 68 6C 2C 64 65 0D 0A 09 20 6C 64 20 61 2C    d hl,de... ld a,
019320:  28 68 6C 29 20 09 09 09 3B 6C 64 20 61 2C 28 62    (hl) ...;ld a,(b
019330:  75 66 66 65 72 2B 31 32 39 29 0D 0A 09 70 6F 70    uffer+129)...pop
019340:  20 68 6C 09 09 09 09 3B 61 6E 64 20 67 65 74 20     hl....;and get 
019350:  48 4C 20 62 61 63 6B 20 61 67 61 69 6E 0D 0A 09    HL back again...
019360:  6C 64 20 28 69 79 2B 31 30 32 29 2C 6C 3A 20 6C    ld (iy+102),l: l
019370:  64 20 28 69 79 2B 31 30 33 29 2C 68 09 3B 62 6C    d (iy+103),h.;bl
019380:  6F 63 6B 20 6C 65 6E 67 74 68 0D 0A 09 6F 72 20    ock length...or 
019390:  61 3A 20 6A 72 20 6E 7A 2C 6E 72 69 09 09 09 3B    a: jr nz,nri...;
0193A0:  44 6F 20 77 65 20 6E 65 65 64 20 74 6F 20 74 72    Do we need to tr
0193B0:  61 6E 73 6D 69 74 20 74 68 65 20 68 65 61 64 65    ansmit the heade
0193C0:  72 3F 0D 0A 0D 0A 09 6C 64 20 65 2C 28 69 79 2B    r?.....ld e,(iy+
0193D0:  38 34 29 3A 20 6C 64 20 64 2C 28 69 79 2B 38 35    84): ld d,(iy+85
0193E0:  29 09 3B 44 45 20 3D 20 62 79 74 65 73 20 72 65    ).;DE = bytes re
0193F0:  61 64 20 69 6E 0D 0A 09 73 63 66 3A 20 63 63 66    ad in...scf: ccf
019400:  3A 20 73 62 63 20 68 6C 2C 64 65 0D 0A 09 6A 72    : sbc hl,de...jr
019410:  20 7A 2C 6E 72 69 09 09 09 3B 53 6B 69 70 20 69     z,nri...;Skip i
019420:  66 20 61 6C 6C 20 72 65 61 64 20 69 6E 20 61 6C    f all read in al
019430:  72 65 61 64 79 0D 0A 0D 0A 2E 72 69 5F 6C 70 09    ready.....ri_lp.
019440:  63 61 6C 6C 20 26 42 43 38 30 0D 0A 09 64 65 63    call &BC80...dec
019450:  20 68 6C 3A 20 6C 64 20 61 2C 68 3A 20 6F 72 20     hl: ld a,h: or 
019460:  6C 0D 0A 09 6A 72 20 6E 7A 2C 72 69 5F 6C 70 09    l...jr nz,ri_lp.
019470:  09 09 3B 52 65 61 64 20 74 68 65 20 62 79 74 65    ..;Read the byte
019480:  73 20 69 6E 21 0D 0A 0D 0A 2E 6E 72 69 09 6C 64    s in!.....nri.ld
019490:  20 61 2C 63 3A 20 63 61 6C 6C 20 73 65 6E 64 62     a,c: call sendb
0194A0:  74 09 09 3B 3C 3C 3C 20 42 79 74 65 73 20 61 72    t..;<<< Bytes ar
0194B0:  65 20 6E 6F 77 20 69 6E 20 70 6C 61 63 65 0D 0A    e now in place..
0194C0:  09 6C 64 20 61 2C 28 69 79 2B 31 30 31 29 3A 20    .ld a,(iy+101): 
0194D0:  63 61 6C 6C 20 73 65 6E 64 62 74 09 3B 41 20 3D    call sendbt.;A =
0194E0:  20 62 6C 6F 63 6B 0D 0A 09 6C 64 20 61 2C 28 69     block...ld a,(i
0194F0:  79 2B 31 30 31 29 3A 20 63 70 6C 3A 20 63 61 6C    y+101): cpl: cal
019500:  41 53 20 49 4E 20 4F 50 45 4E 0D 0A 0D 0A 09 63    AS IN OPEN.....c
019510:  70 20 26 31 36 3A 20 6A 72 20 7A 2C 6E 6F 68 65    p &16: jr z,nohe
019520:  61 64 09 09 3B 53 6B 69 70 20 69 66 20 74 68 65    ad..;Skip if the
019530:  72 65 20 69 73 20 6E 6F 20 68 65 61 64 65 72 0D    re is no header.
019540:  0A 0D 0A 09 70 75 73 68 20 62 63 3A 20 70 75 73    ....push bc: pus
019550:  68 20 64 65 3A 20 70 75 73 68 20 68 6C 0D 0A 09    h de: push hl...
019560:  70 75 73 68 20 69 79 3A 20 70 6F 70 20 68 6C 0D    push iy: pop hl.
019570:  0A 09 6C 64 20 64 65 2C 31 31 36 3A 20 61 64 64    ..ld de,116: add
019580:  20 68 6C 2C 64 65 3A 20 65 78 20 64 65 2C 68 6C     hl,de: ex de,hl
019590:  09 3B 44 45 20 3D 20 62 75 66 66 65 72 20 61 64    .;DE = buffer ad
0195A0:  64 72 65 73 73 0D 0A 09 70 6F 70 20 68 6C 3A 20    dress...pop hl: 
0195B0:  70 75 73 68 20 68 6C 0D 0A 09 6C 64 20 62 63 2C    push hl...ld bc,
0195C0:  31 32 38 3A 20 6C 64 69 72 09 09 09 3B 43 6F 70    128: ldir...;Cop
0195D0:  79 20 68 65 61 64 65 72 20 74 6F 20 73 74 6F 72    y header to stor
0195E0:  65 0D 0A 09 6C 64 20 61 2C 31 0D 0A 09 6C 64 20    e...ld a,1...ld 
0195F0:  28 64 65 29 2C 61 09 09 09 3B 61 6E 64 20 73 74    (de),a...;and st
019600:  6F 72 65 20 74 68 61 74 20 74 68 65 72 65 20 69    ore that there i
019610:  73 20 61 20 68 65 61 64 65 72 0D 0A 09 70 6F 70    s a header...pop
019620:  20 68 6C 3A 20 70 6F 70 20 64 65 3A 20 70 6F 70     hl: pop de: pop
019630:  20 62 63 0D 0A 0D 0A 09 6C 64 20 61 2C 62 3A 20     bc.....ld a,b: 
019640:  6F 72 20 63 0D 0A 09 6A 72 20 7A 2C 6E 6F 68 65    or c...jr z,nohe
019650:  61 64 09 09 09 3B 69 66 20 66 69 6C 65 20 6C 65    ad...;if file le
019660:  6E 67 74 68 20 30 2C 20 63 61 6C 63 75 6C 61 74    ngth 0, calculat
019670:  65 20 69 74 0D 0A 0D 0A 09 6C 64 20 68 6C 2C 31    e it.....ld hl,1
019680:  32 38 3A 20 61 64 64 20 68 6C 2C 62 63 09 09 3B    28: add hl,bc..;
019690:  61 64 64 20 68 65 61 64 65 72 0D 0A 09 6C 64 20    add header...ld 
0196A0:  28 69 79 2B 37 35 29 2C 6C 3A 20 6C 64 20 28 69    (iy+75),l: ld (i
0196B0:  79 2B 37 36 29 2C 68 0D 0A 09 6C 64 20 28 69 79    y+76),h...ld (iy
0196C0:  2B 37 37 29 2C 30 09 09 09 3B 73 74 6F 72 65 20    +77),0...;store 
0196D0:  66 69 6C 65 20 6C 65 6E 67 74 68 0D 0A 09 6A 72    file length...jr
0196E0:  20 63 6C 63 64 75 6E 0D 0A 0D 0A 2E 6E 6F 68 65     clcdun.....nohe
0196F0:  61 64 09 6C 64 20 6C 2C 28 69 79 2B 37 35 29 3A    ad.ld l,(iy+75):
019700:  6C 20 73 65 6E 64 62 74 0D 0A 09 6C 64 20 63 2C    l sendbt...ld c,
019710:  28 69 79 2B 31 30 32 29 3A 20 6C 64 20 62 2C 28    (iy+102): ld b,(
019720:  69 79 2B 31 30 33 29 09 3B 42 43 20 3D 20 62 6C    iy+103).;BC = bl
019730:  6F 63 6B 20 6C 65 6E 67 74 68 0D 0A 0D 0A 09 70    ock length.....p
019740:  75 73 68 20 69 79 3A 20 70 6F 70 20 68 6C 0D 0A    ush iy: pop hl..
019750:  09 6C 64 20 64 65 2C 31 31 36 2B 31 32 38 3A 20    .ld de,116+128: 
019760:  61 64 64 20 68 6C 2C 64 65 0D 0A 09 6C 64 20 61    add hl,de...ld a
019770:  2C 28 68 6C 29 09 09 09 3B 6C 64 20 61 2C 28 62    ,(hl)...;ld a,(b
019780:  75 66 66 65 72 2B 31 32 38 29 0D 0A 09 6F 72 20    uffer+128)...or 
019790:  61 3A 20 6A 72 20 6E 7A 2C 68 65 61 64 72 65 0D    a: jr nz,headre.
0197A0:  0A 0D 0A 09 6C 64 20 6C 2C 28 69 79 2B 34 33 29    ....ld l,(iy+43)
0197B0:  3A 20 6C 64 20 68 2C 28 69 79 2B 34 34 29 0D 0A    : ld h,(iy+44)..
0197C0:  09 70 75 73 68 20 68 6C 3A 20 70 6F 70 20 69 78    .push hl: pop ix
0197D0:  09 09 09 3B 6C 64 20 69 78 2C 28 70 62 6C 6F 63    ...;ld ix,(pbloc
0197E0:  6B 29 20 2D 20 6E 6F 20 68 65 61 64 65 72 0D 0A    k) - no header..
0197F0:  09 6C 64 20 68 6C 2C 30 0D 0A 09 6A 72 20 73 6E    .ld hl,0...jr sn
019800:  64 6C 62 74 0D 0A 0D 0A 2E 68 65 61 64 72 65 09    dlbt.....headre.
019810:  70 75 73 68 20 69 79 3A 20 70 6F 70 20 69 78 09    push iy: pop ix.
019820:  09 09 3B 3C 3C 3C 20 53 65 74 20 75 70 20 74 6F    ..;<<< Set up to
019830:  20 72 65 61 64 20 68 65 61 64 65 72 0D 0A 09 6C     read header...l
019840:  64 20 64 65 2C 31 31 36 3A 20 61 64 64 20 69 78    d de,116: add ix
019850:  2C 64 65 09 09 3B 49 58 20 3D 20 62 75 66 66 65    ,de..;IX = buffe
019860:  72 20 28 68 65 61 64 65 72 20 61 64 64 72 65 73    r (header addres
019870:  73 21 29 0D 0A 09 6C 64 20 68 6C 2C 30 0D 0A 0D    s!)...ld hl,0...
019880:  0A 2E 73 6E 64 6C 62 74 09 70 75 73 68 20 62 63    ..sndlbt.push bc
019890:  3A 20 6C 64 20 61 2C 28 69 78 29 0D 0A 09 6C 64    : ld a,(ix)...ld
0198A0:  20 65 2C 61 3A 20 63 61 6C 6C 20 73 65 6E 64 62     e,a: call sendb
0198B0:  74 0D 0A 0D 0A 09 6C 64 20 61 2C 28 69 79 2B 31    t.....ld a,(iy+1
0198C0:  30 34 29 3A 20 63 70 20 26 31 35 3A 20 6A 72 20    04): cp &15: jr 
0198D0:  6E 7A 2C 73 6E 64 63 72 63 0D 0A 09 6C 64 20 61    nz,sndcrc...ld a
0198E0:  2C 65 3A 20 61 64 64 20 61 2C 6C 3A 20 6C 64 20    ,e: add a,l: ld 
0198F0:  6C 2C 61 3A 20 6A 72 20 73 6E 64 6D 6C 70 0D 0A    l,a: jr sndmlp..
019900:  20 6C 64 20 68 2C 28 69 79 2B 37 36 29 09 3B 48     ld h,(iy+76).;H
019910:  4C 20 3D 20 66 69 6C 65 20 6C 65 6E 67 74 68 0D    L = file length.
019920:  0A 09 78 6F 72 20 61 3A 20 6C 64 20 62 2C 31 30    ..xor a: ld b,10
019930:  0D 0A 2E 61 64 31 30 32 34 09 73 6C 61 20 6C 3A    ...ad1024.sla l:
019940:  20 72 6C 20 68 3A 20 72 6C 20 61 0D 0A 09 64 6A     rl h: rl a...dj
019950:  6E 7A 20 61 64 31 30 32 34 0D 0A 09 6C 64 20 28    nz ad1024...ld (
019960:  69 79 2B 37 35 29 2C 6C 3A 20 6C 64 20 28 69 79    iy+75),l: ld (iy
019970:  2B 37 36 29 2C 68 09 3B 73 74 6F 72 65 20 66 69    +76),h.;store fi
019980:  6C 65 20 6C 65 6E 67 74 68 0D 0A 09 6C 64 20 28    le length...ld (
019990:  69 79 2B 37 37 29 2C 30 0D 0A 0D 0A 2E 63 6C 63    iy+77),0.....clc
0199A0:  64 75 6E 09 6C 64 20 6C 2C 28 69 79 2B 37 29 3A    dun.ld l,(iy+7):
0199B0:  20 6C 64 20 68 2C 28 69 79 2B 38 29 0D 0A 09 6C     ld h,(iy+8)...l
0199C0:  64 20 64 65 2C 31 30 32 34 3A 20 61 64 64 20 68    d de,1024: add h
0199D0:  6C 2C 64 65 0D 0A 09 6C 64 20 28 69 79 2B 34 33    l,de...ld (iy+43
0199E0:  29 2C 6C 3A 20 6C 64 20 28 69 79 2B 34 34 29 2C    ),l: ld (iy+44),
0199F0:  68 09 3B 48 4C 20 3D 3E 20 70 62 6C 6F 63 6B 0D    h.;HL => pblock.
019A00:  0A 09 6C 64 20 62 63 2C 30 0D 0A 09 6C 64 20 28    ..ld bc,0...ld (
019A10:  69 79 2B 38 34 29 2C 63 3A 20 6C 64 20 28 69 79    iy+84),c: ld (iy
019A20:  2B 38 35 29 2C 62 09 3B 42 43 20 3D 3E 20 62 79    +85),b.;BC => by
019A30:  74 65 73 20 72 65 61 64 20 69 6E 0D 0A 0D 0A 2E    tes read in.....
019A40:  63 66 62 6C 6B 09 6C 64 20 63 2C 31 3A 20 6C 64    cfblk.ld c,1: ld
019A50:  20 61 2C 28 69 79 2B 31 30 37 29 3A 20 63 70 20     a,(iy+107): cp 
019A60:  32 3A 20 6A 72 20 6E 7A 2C 78 6D 73 65 6E 64 09    2: jr nz,xmsend.
019A70:  3B 41 20 3D 20 73 70 65 63 2E 70 72 6F 74 6F 63    ;A = spec.protoc
019A80:  6F 6C 0D 0A 09 6C 64 20 63 2C 30 0D 0A 2E 78 6D    ol...ld c,0...xm
019A90:  73 65 6E 64 09 6C 64 20 61 2C 63 3A 20 6C 64 20    send.ld a,c: ld 
019AA0:  28 69 79 2B 31 30 31 29 2C 61 09 09 3B 62 6C 6F    (iy+101),a..;blo
019AB0:  63 6B 20 6E 6F 2E 0D 0A 0D 0A 09 6C 64 20 61 2C    ck no......ld a,
019AC0:  28 69 79 2B 31 30 37 29 3A 20 6F 72 20 61 3A 20    (iy+107): or a: 
019AD0:  6A 72 20 6E 7A 2C 6E 6F 74 62 78 6D 0D 0A 09 6C    jr nz,notbxm...l
019AE0:  64 20 68 6C 2C 63 68 6B 74 78 74 3A 20 6A 72 20    d hl,chktxt: jr 
019AF0:  70 74 79 70 65 0D 0A 2E 6E 6F 74 62 78 6D 09 63    ptype...notbxm.c
019B00:  2E 73 6E 64 63 72 63 09 63 61 6C 6C 20 63 72 63    .sndcrc.call crc
019B10:  0D 0A 2E 73 6E 64 6D 6C 70 09 69 6E 63 20 69 78    ...sndmlp.inc ix
019B20:  3A 20 70 6F 70 20 62 63 3A 20 64 65 63 20 62 63    : pop bc: dec bc
019B30:  3A 20 6C 64 20 61 2C 62 3A 20 6F 72 20 63 0D 0A    : ld a,b: or c..
019B40:  09 6A 72 20 6E 7A 2C 73 6E 64 6C 62 74 0D 0A 09    .jr nz,sndlbt...
019B50:  6A 72 20 73 63 66 76 65 72 0D 0A 0D 0A 2E 79 6D    jr scfver.....ym
019B60:  68 65 61 64 09 6C 64 20 61 2C 31 3A 09 63 61 6C    head.ld a,1:.cal
019B70:  6C 20 73 65 6E 64 62 74 09 09 09 3B 73 65 6E 64    l sendbt...;send
019B80:  20 53 4F 48 0D 0A 09 78 6F 72 20 61 3A 09 63 61     SOH...xor a:.ca
019B90:  6C 6C 20 73 65 6E 64 62 74 09 09 09 3B 73 65 6E    ll sendbt...;sen
019BA0:  64 20 62 6C 6F 63 6B 20 6E 6F 2E 0D 0A 09 78 6F    d block no....xo
019BB0:  72 20 61 3A 20 20 63 70 6C 3A 20 63 61 6C 6C 20    r a:  cpl: call 
019BC0:  73 65 6E 64 62 74 09 09 3B 63 6F 6D 70 6C 65 6D    sendbt..;complem
019BD0:  65 6E 74 65 64 0D 0A 0D 0A 09 70 75 73 68 20 69    ented.....push i
019BE0:  79 3A 20 70 6F 70 20 68 6C 0D 0A 09 6C 64 20 62    y: pop hl...ld b
019BF0:  63 2C 35 35 3A 20 61 64 64 20 68 6C 2C 62 63 3A    c,55: add hl,bc:
019C00:  20 70 75 73 68 20 68 6C 3A 20 70 6F 70 20 69 78     push hl: pop ix
019C10:  09 3B 49 58 20 3D 20 66 69 6C 65 6E 61 6D 65 0D    .;IX = filename.
019C20:  0A 09 6C 64 20 68 6C 2C 30 3A 20 6C 64 20 63 2C    ..ld hl,0: ld c,
019C30:  31 32 38 3A 20 6C 64 20 62 2C 31 32 0D 0A 2E 79    128: ld b,12...y
019C40:  6D 68 5F 6C 70 09 6C 64 20 61 2C 28 69 78 29 3A    mh_lp.ld a,(ix):
019C50:  20 63 70 20 26 32 30 3A 20 63 61 6C 6C 20 6E 7A     cp &20: call nz
019C60:  2C 79 6D 68 5F 73 63 0D 0A 09 69 6E 63 20 69 78    ,ymh_sc...inc ix
019C70:  3A 20 64 6A 6E 7A 20 79 6D 68 5F 6C 70 0D 0A 0D    : djnz ymh_lp...
019C80:  0A 09 78 6F 72 20 61 3A 20 63 61 6C 6C 20 79 6D    ..xor a: call ym
019C90:  68 5F 73 63 0D 0A 0D 0A 09 63 61 6C 6C 20 73 6E    h_sc.....call sn
019CA0:  64 5F 74 62 0D 0A 0D 0A 2E 79 6D 68 5F 30 73 09    d_tb.....ymh_0s.
019CB0:  78 6F 72 20 61 3A 20 63 61 6C 6C 20 79 6D 68 5F    xor a: call ymh_
019CC0:  73 63 0D 0A 09 6A 72 20 6E 7A 2C 79 6D 68 5F 30    sc...jr nz,ymh_0
019CD0:  73 0D 0A 09 6A 72 20 73 63 66 76 65 72 0D 0A 0D    s...jr scfver...
019CE0:  0A 2E 79 6D 68 5F 73 63 09 70 75 73 68 20 62 63    ..ymh_sc.push bc
019CF0:  3A 20 6C 64 20 65 2C 61 3A 20 63 61 6C 6C 20 73    : ld e,a: call s
019D00:  70 20 31 3A 20 6A 72 20 6E 7A 2C 6E 6F 74 6F 6E    p 1: jr nz,noton
019D10:  65 0D 0A 09 6C 64 20 68 6C 2C 6F 6E 65 74 78 74    e...ld hl,onetxt
019D20:  3A 20 6A 72 20 70 74 79 70 65 0D 0A 2E 6E 6F 74    : jr ptype...not
019D30:  6F 6E 65 09 6C 64 20 68 6C 2C 79 6D 74 65 78 74    one.ld hl,ymtext
019D40:  3A 20 63 61 6C 6C 20 73 74 72 69 6E 67 0D 0A 09    : call string...
019D50:  70 75 73 68 20 69 79 3A 20 70 6F 70 20 68 6C 3A    push iy: pop hl:
019D60:  20 6C 64 20 64 65 2C 35 35 3A 20 61 64 64 20 68     ld de,55: add h
019D70:  6C 2C 64 65 09 09 3B 66 69 6C 65 6E 61 6D 65 0D    l,de..;filename.
019D80:  0A 2E 70 74 79 70 65 09 63 61 6C 6C 20 73 74 72    ..ptype.call str
019D90:  69 6E 67 0D 0A 0D 0A 2E 77 63 68 6D 74 64 09 6C    ing.....wchmtd.l
019DA0:  64 20 64 65 2C 35 30 3A 20 63 61 6C 6C 20 77 61    d de,50: call wa
019DB0:  69 74 62 74 0D 0A 09 63 70 20 22 43 22 3A 20 6A    itbt...cp "C": j
019DC0:  72 20 7A 2C 73 73 65 6E 64 62 0D 0A 09 63 70 20    r z,ssendb...cp 
019DD0:  26 31 35 3A 20 6A 72 20 7A 2C 73 73 65 6E 64 62    &15: jr z,ssendb
019DE0:  0D 0A 09 63 70 20 26 31 38 3A 20 6A 70 20 7A 2C    ...cp &18: jp z,
019DF0:  61 62 6F 72 74 0D 0A 09 63 61 6C 6C 20 63 68 6B    abort...call chk
019E00:  63 6E 75 0D 0A 09 6A 72 20 77 63 68 6D 74 64 0D    cnu...jr wchmtd.
019E10:  0A 0D 0A 2E 73 73 65 6E 64 62 09 6C 64 20 28 69    ....ssendb.ld (i
019E20:  79 2B 31 30 34 29 2C 61 3A 20 78 6F 72 20 61 09    y+104),a: xor a.
019E30:  09 3B 4E 41 4B 2F 43 20 73 65 6E 74 3F 0D 0A 0D    .;NAK/C sent?...
019E40:  0A 2E 73 74 73 62 6C 6B 09 6C 64 20 61 2C 28 69    ..stsblk.ld a,(i
019E50:  79 2B 31 30 31 29 3A 20 6F 72 20 61 3A 20 6A 72    y+101): or a: jr
019E60:  20 7A 2C 74 72 6E 62 6C 6B 20 20 3B 62 6C 6F 63     z,trnblk  ;bloc
019E70:  6B 20 6E 6F 2E 0D 0A 09 6C 64 20 61 2C 31 33 3A    k no....ld a,13:
019E80:  20 63 61 6C 6C 20 26 42 42 35 41 0D 0A 09 6C 64     call &BB5A...ld
019E90:  20 61 2C 32 32 3A 20 63 61 6C 6C 20 26 42 42 36     a,22: call &BB6
019EA0:  46 0D 0A 09 6C 64 20 61 2C 28 69 79 2B 31 30 31    F...ld a,(iy+101
019EB0:  29 3A 20 63 61 6C 6C 20 70 72 5F 64 65 63 0D 0A    ): call pr_dec..
019EC0:  09 6C 64 20 61 2C 33 32 3A 20 63 61 6C 6C 20 26    .ld a,32: call &
019ED0:  42 42 35 41 0D 0A 09 6C 64 20 61 2C 38 3A 20 63    BB5A...ld a,8: c
019EE0:  61 6C 6C 20 26 42 42 35 41 0D 0A 0D 0A 2E 74 72    all &BB5A.....tr
019EF0:  6E 62 6C 6B 09 6C 64 20 61 2C 28 69 79 2B 31 30    nblk.ld a,(iy+10
019F00:  65 6E 64 62 74 09 3B 59 4D 6F 64 65 6D 20 68 65    endbt.;YModem he
019F10:  61 64 65 72 2C 20 73 65 6E 64 20 63 68 61 72 61    ader, send chara
019F20:  63 74 65 72 0D 0A 09 6C 64 20 61 2C 28 69 79 2B    cter...ld a,(iy+
019F30:  31 30 34 29 3A 20 63 70 20 26 31 35 0D 0A 09 6A    104): cp &15...j
019F40:  72 20 6E 7A 2C 79 73 63 5F 63 63 0D 0A 09 6C 64    r nz,ysc_cc...ld
019F50:  20 61 2C 65 3A 20 61 64 64 20 61 2C 6C 3A 20 6C     a,e: add a,l: l
019F60:  64 20 6C 2C 61 3A 20 6A 72 20 79 73 63 5F 70 6C    d l,a: jr ysc_pl
019F70:  0D 0A 2E 79 73 63 5F 63 63 09 63 61 6C 6C 20 63    ...ysc_cc.call c
019F80:  72 63 0D 0A 2E 79 73 63 5F 70 6C 09 70 6F 70 20    rc...ysc_pl.pop 
019F90:  62 63 3A 20 64 65 63 20 63 3A 20 72 65 74 0D 0A    bc: dec c: ret..
019FA0:  0D 0A 2E 73 63 66 76 65 72 09 6C 64 20 61 2C 28    ...scfver.ld a,(
019FB0:  69 79 2B 31 30 34 29 3A 20 63 70 20 26 31 35 3A    iy+104): cp &15:
019FC0:  20 6A 72 20 7A 2C 73 63 6F 6C 0D 0A 09 6C 64 20     jr z,scol...ld 
019FD0:  65 2C 30 3A 20 63 61 6C 6C 20 63 72 63 3A 20 63    e,0: call crc: c
019FE0:  61 6C 6C 20 63 72 63 0D 0A 09 6C 64 20 61 2C 68    all crc...ld a,h
019FF0:  3A 20 63 61 6C 6C 20 73 65 6E 64 62 74 0D 0A 2E    : call sendbt...
01A000:  73 63 6F 6C 09 6C 64 20 61 2C 6C 3A 20 63 61 6C    scol.ld a,l: cal
01A010:  6C 20 73 65 6E 64 62 74 0D 0A 0D 0A 2E 77 34 72    l sendbt.....w4r
01A020:  73 6C 74 09 6C 64 20 64 65 2C 35 30 3A 20 63 61    slt.ld de,50: ca
01A030:  6C 6C 20 77 61 69 74 62 74 0D 0A 09 63 70 20 36    ll waitbt...cp 6
01A040:  3A 20 6A 72 20 7A 2C 62 6C 73 6F 6B 0D 0A 09 63    : jr z,blsok...c
01A050:  70 20 26 31 38 3A 20 6A 70 20 7A 2C 61 62 6F 72    p &18: jp z,abor
01A060:  74 0D 0A 09 63 70 20 26 31 35 3A 20 6A 72 20 7A    t...cp &15: jr z
01A070:  2C 65 72 69 6E 75 70 0D 0A 09 63 61 6C 6C 20 63    ,erinup...call c
01A080:  68 6B 63 6E 75 3A 20 6A 72 20 77 34 72 73 6C 74    hkcnu: jr w4rslt
01A090:  0D 0A 2E 65 72 69 6E 75 70 09 6C 64 20 61 2C 22    ...erinup.ld a,"
01A0A0:  3F 22 3A 20 63 61 6C 6C 20 26 42 42 35 41 0D 0A    ?": call &BB5A..
01A0B0:  09 6C 64 20 61 2C 38 3A 20 20 20 63 61 6C 6C 20    .ld a,8:   call 
01A0C0:  26 42 42 35 41 0D 0A 09 6C 64 20 6C 2C 28 69 79    &BB5A...ld l,(iy
01A0D0:  2B 31 30 32 29 3A 20 6C 64 20 68 2C 28 69 79 2B    +102): ld h,(iy+
01A0E0:  31 30 33 29 09 09 3B 48 4C 20 3D 20 62 6C 6F 63    103)..;HL = bloc
01A0F0:  6B 20 6C 65 6E 67 74 68 0D 0A 09 6C 64 20 28 69    k length...ld (i
01A100:  31 29 3A 20 6F 72 20 61 3A 20 6A 70 20 7A 2C 79    1): or a: jp z,y
01A110:  6D 68 65 61 64 20 20 3B 62 6C 6F 63 6B 20 30 3F    mhead  ;block 0?
01A120:  0D 0A 0D 0A 09 6C 64 20 68 6C 2C 31 30 32 34 3A    .....ld hl,1024:
01A130:  20 6C 64 20 63 2C 32 09 09 3B 44 65 66 61 75 6C     ld c,2..;Defaul
01A140:  74 20 31 6B 2E 2E 2E 0D 0A 0D 0A 09 6C 64 20 61    t 1k........ld a
01A150:  2C 28 69 79 2B 31 30 37 29 09 09 09 3B 31 32 38    ,(iy+107)...;128
01A160:  2D 62 79 74 65 20 70 72 6F 74 6F 63 6F 6C 3F 0D    -byte protocol?.
01A170:  0A 09 6F 72 20 61 3A 20 6A 72 20 7A 2C 62 6C 31    ..or a: jr z,bl1
01A180:  32 38 0D 0A 0D 0A 09 70 75 73 68 20 68 6C 0D 0A    28.....push hl..
01A190:  09 70 75 73 68 20 69 79 3A 20 70 6F 70 20 68 6C    .push iy: pop hl
01A1A0:  0D 0A 09 6C 64 20 64 65 2C 31 31 36 2B 31 32 38    ...ld de,116+128
01A1B0:  3A 20 61 64 64 20 68 6C 2C 64 65 0D 0A 09 6C 64    : add hl,de...ld
01A1C0:  20 61 2C 28 68 6C 29 3A 20 70 6F 70 20 68 6C 09     a,(hl): pop hl.
01A1D0:  09 3B 6C 64 20 61 2C 28 62 75 66 66 65 72 2B 31    .;ld a,(buffer+1
01A1E0:  32 38 29 0D 0A 09 6F 72 20 61 3A 20 6A 72 20 6E    28)...or a: jr n
01A1F0:  7A 2C 62 6C 31 32 38 09 09 3B 4E 65 65 64 20 74    z,bl128..;Need t
01A200:  6F 20 74 72 61 6E 73 6D 69 74 20 68 65 61 64 65    o transmit heade
01A210:  72 3F 0D 0A 0D 0A 09 6C 64 20 61 2C 28 69 79 2B    r?.....ld a,(iy+
01A220:  37 37 29 09 09 09 3B 4D 6F 72 65 20 74 68 61 6E    77)...;More than
01A230:  20 31 6B 20 6C 65 66 74 3F 20 5B 66 69 6C 65 20     1k left? [file 
01A240:  6C 65 6E 67 74 68 5D 0D 0A 09 6F 72 20 61 3A 20    length]...or a: 
01A250:  6A 72 20 6E 7A 2C 62 6C 64 65 63 0D 0A 0D 0A 09    jr nz,bldec.....
01A260:  6C 64 20 61 2C 28 69 79 2B 37 36 29 0D 0A 09 63    ld a,(iy+76)...c
01A270:  70 20 34 3A 20 6A 72 20 6E 63 2C 62 6C 64 65 63    p 4: jr nc,bldec
01A280:  09 09 3B 4D 6F 72 65 20 74 68 61 6E 20 35 31 32    ..;More than 512
01A290:  20 62 79 74 65 73 20 6C 65 66 74 3F 0D 0A 0D 0A     bytes left?....
01A2A0:  2E 62 6C 31 32 38 09 6C 64 20 68 6C 2C 31 32 38    .bl128.ld hl,128
01A2B0:  3A 20 6C 64 20 63 2C 31 0D 0A 0D 0A 2E 62 6C 64    : ld c,1.....bld
01A2C0:  65 63 09 70 75 73 68 20 68 6C 09 09 09 09 3B 53    ec.push hl....;S
01A2D0:  74 6F 72 65 20 48 4C 20 61 67 61 69 6E 73 74 20    tore HL against 
01A2E0:  49 59 20 63 61 6C 63 73 0D 0A 09 20 70 75 73 68    IY calcs... push
01A2F0:  20 69 79 3A 20 70 6F 70 20 68 6C 0D 0A 09 20 6C     iy: pop hl... l
01A300:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
01A310:  16 00 01 00 02 09 4E E5 16 00 C4 02 00 00 00 02    ......N.........
01A320:  16 00 C9 02 00 00 00 02 16 00 C5 02 00 00 00 02    ................
01A330:  16 00 C1 02 00 00 00 02 16 00 C6 02 00 00 00 02    ................
01A340:  16 00 C2 02 00 00 00 02 16 00 C7 02 00 00 00 02    ................
01A350:  16 00 C3 02 00 00 00 02 16 00 C8 02 00 00 00 02    ................
01A360:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01A370:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01A380:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01A390:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01A3A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01A3B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01A3C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01A3D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01A3E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01A3F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01A400:  62 6C 09 78 6F 72 20 61 3A 20 63 61 6C 6C 20 79    bl.xor a: call y
01A410:  6D 68 5F 73 63 0D 0A 09 6A 72 20 6E 7A 2C 6E 75    mh_sc...jr nz,nu
01A420:  6C 62 6C 0D 0A 0D 0A 09 6C 64 20 61 2C 28 69 79    lbl.....ld a,(iy
01A430:  2B 31 30 34 29 3A 20 63 70 20 26 31 35 3A 20 6A    +104): cp &15: j
01A440:  72 20 7A 2C 6E 63 6F 6C 0D 0A 09 78 6F 72 20 61    r z,ncol...xor a
01A450:  3A 20 63 61 6C 6C 20 63 72 63 3A 20 63 61 6C 6C    : call crc: call
01A460:  20 63 72 63 0D 0A 09 6C 64 20 61 2C 68 3A 20 63     crc...ld a,h: c
01A470:  61 6C 6C 20 73 65 6E 64 62 74 0D 0A 2E 6E 63 6F    all sendbt...nco
01A480:  6C 09 6C 64 20 61 2C 6C 3A 20 63 61 6C 6C 20 73    l.ld a,l: call s
01A490:  65 6E 64 62 74 0D 0A 0D 0A 2E 61 66 6C 63 70 20    endbt.....aflcp 
01A4A0:  09 6C 64 20 64 65 2C 35 30 3A 20 63 61 6C 6C 20    .ld de,50: call 
01A4B0:  77 61 69 74 62 74 0D 0A 09 63 70 20 26 31 35 3A    waitbt...cp &15:
01A4C0:  20 6A 72 20 7A 2C 72 73 78 62 0D 0A 09 63 70 20     jr z,rsxb...cp 
01A4D0:  36 3A 20 6A 72 20 7A 2C 62 79 65 62 79 65 0D 0A    6: jr z,byebye..
01A4E0:  09 63 61 6C 6C 20 63 68 6B 63 6E 75 3A 20 6A 72    .call chkcnu: jr
01A4F0:  20 61 66 6C 63 70 0D 0A 2E 62 79 65 62 79 65 09     aflcp...byebye.
01A500:  6C 64 20 68 6C 2C 6C 61 73 74 63 72 3A 20 6A 70    ld hl,lastcr: jp
01A510:  20 73 74 72 69 6E 67 0D 0A 0D 0A 2E 61 62 6F 72     string.....abor
01A520:  74 09 6C 64 20 61 2C 31 33 3A 20 63 61 6C 6C 20    t.ld a,13: call 
01A530:  26 42 42 35 41 0D 0A 09 6C 64 20 61 2C 32 32 3A    &BB5A...ld a,22:
01A540:  20 63 61 6C 6C 20 26 42 42 36 46 0D 0A 09 6C 64     call &BB6F...ld
01A550:  20 68 6C 2C 61 62 72 72 65 71 3A 20 63 61 6C 6C     hl,abrreq: call
01A560:  20 73 74 72 69 6E 67 0D 0A 09 6A 70 20 26 42 43     string...jp &BC
01A570:  37 44 0D 0A 0D 0A 2E 73 6E 64 5F 74 62 09 70 75    7D.....snd_tb.pu
01A580:  73 68 20 62 63 3A 20 70 75 73 68 20 68 6C 09 09    sh bc: push hl..
01A590:  3B 53 65 6E 64 20 33 20 62 79 74 65 20 6C 65 6E    ;Send 3 byte len
01A5A0:  67 74 68 20 61 73 20 64 65 63 69 6D 61 6C 0D 0A    gth as decimal..
01A5B0:  09 70 75 73 68 20 69 79 3A 20 70 6F 70 20 69 78    .push iy: pop ix
01A5C0:  0D 0A 09 6C 64 20 62 63 2C 37 39 3A 20 61 64 64    ...ld bc,79: add
01A5D0:  20 69 78 2C 62 63 0D 0A 09 78 6F 72 20 61 3A 20     ix,bc...xor a: 
01A5E0:  6C 64 20 28 69 79 2B 37 38 29 2C 61 3A 20 6C 64    ld (iy+78),a: ld
01A5F0:  20 6C 2C 28 69 79 2B 37 35 29 3A 20 6C 64 20 68     l,(iy+75): ld h
01A600:  31 42 09 09 3B 72 65 6D 6F 76 65 20 62 72 65 61    1B..;remove brea
01A610:  6B 3F 0D 0A 09 63 61 6C 6C 20 26 42 43 37 44 3A    k?...call &BC7D:
01A620:  20 6A 70 20 26 42 43 39 32 09 09 3B 61 62 61 6E     jp &BC92..;aban
01A630:  64 6F 6E 20 66 69 6C 65 73 0D 0A 0D 0A 0D 0A 0D    don files.......
01A640:  0A 09 3B 3E 3E 3E 20 42 55 46 46 45 52 20 63 6F    ..;>>> BUFFER co
01A650:  6D 6D 61 6E 64 0D 0A 0D 0A 2E 62 75 66 66 5F 69    mmand.....buff_i
01A660:  09 6C 64 20 63 2C 32 0D 0A 09 63 70 20 31 3A 20    .ld c,2...cp 1: 
01A670:  6A 70 20 6E 7A 2C 65 72 72 6F 72 0D 0A 0D 0A 09    jp nz,error.....
01A680:  6C 64 20 6C 2C 28 69 78 29 3A 20 6C 64 20 68 2C    ld l,(ix): ld h,
01A690:  28 69 78 2B 31 29 0D 0A 09 6C 64 20 28 69 79 2B    (ix+1)...ld (iy+
01A6A0:  37 29 2C 6C 3A 20 6C 64 20 28 69 79 2B 38 29 2C    7),l: ld (iy+8),
01A6B0:  68 0D 0A 09 72 65 74 0D 0A 0D 0A 0D 0A 0D 0A 09    h...ret.........
01A6C0:  3B 3E 3E 3E 20 50 52 4F 54 4F 43 4F 4C 20 63 6F    ;>>> PROTOCOL co
01A6D0:  6D 6D 61 6E 64 0D 0A 0D 0A 2E 70 72 6F 74 5F 69    mmand.....prot_i
01A6E0:  09 6C 64 20 63 2C 32 0D 0A 09 63 70 20 31 3A 20    .ld c,2...cp 1: 
01A6F0:  6A 70 20 6E 7A 2C 65 72 72 6F 72 0D 0A 0D 0A 09    jp nz,error.....
01A700:  64 65 63 20 63 0D 0A 09 6C 64 20 61 2C 28 69 78    dec c...ld a,(ix
01A710:  29 3A 20 63 70 20 33 3A 20 6A 70 20 6E 63 2C 65    ): cp 3: jp nc,e
01A720:  72 72 6F 72 0D 0A 09 6C 64 20 28 69 79 2B 31 30    rror...ld (iy+10
01A730:  37 29 2C 61 3A 20 72 65 74 0D 0A 0D 0A 0D 0A 0D    7),a: ret.......
01A740:  0A 09 3B 2A 2A 2A 20 46 49 4C 45 20 53 55 42 52    ..;*** FILE SUBR
01A750:  4F 55 54 49 4E 45 53 20 2A 2A 2A 0D 0A 0D 0A 09    OUTINES ***.....
01A760:  3B 3E 3E 3E 20 52 65 61 64 20 66 69 6C 65 6E 61    ;>>> Read filena
01A770:  6D 65 73 20 69 6E 74 6F 20 62 75 66 66 65 72 0D    mes into buffer.
01A780:  0A 0D 0A 2E 72 66 6E 61 6D 65 09 6C 64 20 28 69    ....rfname.ld (i
01A790:  79 2B 34 32 29 2C 61 09 09 09 3B 6E 75 6D 62 65    y+42),a...;numbe
01A7A0:  72 20 6F 66 20 70 61 72 61 6D 65 74 65 72 73 0D    r of parameters.
01A7B0:  0A 09 6C 64 20 6C 2C 28 69 79 2B 37 29 3A 20 6C    ..ld l,(iy+7): l
01A7C0:  64 20 68 2C 28 69 79 2B 38 29 09 3B 66 69 6C 65    d h,(iy+8).;file
01A7D0:  20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 0D     buffer address.
01A7E0:  0A 09 6C 64 20 28 69 79 2B 37 30 29 2C 6C 3A 20    ..ld (iy+70),l: 
01A7F0:  6C 64 20 28 69 79 2B 37 31 29 2C 68 09 3B 63 75    ld (iy+71),h.;cu
01A800:  2C 28 69 79 2B 37 36 29 0D 0A 09 6C 64 20 64 65    ,(iy+76)...ld de
01A810:  2C 31 30 30 30 30 3A 20 63 61 6C 6C 20 73 74 68    ,10000: call sth
01A820:  6C 72 0D 0A 09 6C 64 20 64 65 2C 31 30 30 30 3A    lr...ld de,1000:
01A830:  20 63 61 6C 6C 20 73 74 68 6C 72 0D 0A 09 6C 64     call sthlr...ld
01A840:  20 64 65 2C 31 30 30 3A 20 63 61 6C 6C 20 73 74     de,100: call st
01A850:  68 6C 72 0D 0A 09 6C 64 20 64 65 2C 31 30 3A 20    hlr...ld de,10: 
01A860:  63 61 6C 6C 20 73 74 68 6C 72 0D 0A 09 6C 64 20    call sthlr...ld 
01A870:  64 65 2C 31 3A 20 63 61 6C 6C 20 73 74 68 6C 72    de,1: call sthlr
01A880:  0D 0A 0D 0A 09 6C 64 20 61 2C 28 69 79 2B 37 37    .....ld a,(iy+77
01A890:  29 3A 20 6C 64 20 65 2C 61 0D 0A 2E 63 63 61 5F    ): ld e,a...cca_
01A8A0:  6F 6C 09 20 70 75 73 68 20 69 79 3A 20 70 6F 70    ol. push iy: pop
01A8B0:  20 69 78 0D 0A 09 20 6C 64 20 62 63 2C 38 33 3A     ix... ld bc,83:
01A8C0:  20 61 64 64 20 69 78 2C 62 63 09 09 3B 49 58 20     add ix,bc..;IX 
01A8D0:  3D 20 66 64 65 63 2B 35 0D 0A 09 6C 64 20 68 6C    = fdec+5...ld hl
01A8E0:  2C 66 66 66 66 2B 35 0D 0A 09 78 6F 72 20 61 3A    ,ffff+5...xor a:
01A8F0:  20 63 70 20 65 3A 20 6A 72 20 7A 2C 6E 6F 76 68     cp e: jr z,novh
01A900:  62 3A 20 6C 64 20 62 63 2C 26 36 30 30 0D 0A 2E    b: ld bc,&600...
01A910:  63 63 61 5F 6C 70 09 6C 64 20 61 2C 63 3A 20 61    cca_lp.ld a,c: a
01A920:  64 64 20 61 2C 28 69 78 29 3A 20 61 64 64 20 61    dd a,(ix): add a
01A930:  2C 28 68 6C 29 0D 0A 09 6C 64 20 63 2C 30 3A 20    ,(hl)...ld c,0: 
01A940:  63 70 20 31 30 3A 20 6A 72 20 63 2C 65 78 63 63    cp 10: jr c,excc
01A950:  0D 0A 2E 63 63 61 72 72 79 09 73 75 62 20 31 30    ...ccarry.sub 10
01A960:  3A 20 69 6E 63 20 63 3A 20 63 70 20 31 30 3A 20    : inc c: cp 10: 
01A970:  6A 72 20 6E 63 2C 63 63 61 72 72 79 0D 0A 2E 65    jr nc,ccarry...e
01A980:  78 63 63 09 6C 64 20 28 69 78 29 2C 61 3A 20 64    xcc.ld (ix),a: d
01A990:  65 63 20 69 78 3A 20 64 65 63 20 68 6C 3A 20 64    ec ix: dec hl: d
01A9A0:  6A 6E 7A 20 63 63 61 5F 6C 70 0D 0A 09 64 65 63    jnz cca_lp...dec
01A9B0:  20 65 3A 20 6A 72 20 6E 7A 2C 63 63 61 5F 6F 6C     e: jr nz,cca_ol
01A9C0:  0D 0A 0D 0A 2E 6E 6F 76 68 62 09 70 75 73 68 20    .....novhb.push 
01A9D0:  69 79 3A 20 70 6F 70 20 69 78 0D 0A 09 6C 64 20    iy: pop ix...ld 
01A9E0:  62 63 2C 37 38 3A 20 61 64 64 20 69 78 2C 62 63    bc,78: add ix,bc
01A9F0:  09 09 3B 49 58 20 3D 20 66 64 65 63 0D 0A 09 70    ..;IX = fdec...p
01AA00:  79 2B 38 34 29 2C 6C 3A 20 6C 64 20 28 69 79 2B    y+84),l: ld (iy+
01AA10:  38 35 29 2C 68 09 09 3B 48 4C 20 3D 3E 20 62 79    85),h..;HL => by
01AA20:  74 65 73 20 72 65 61 64 20 69 6E 0D 0A 09 6A 70    tes read in...jp
01AA30:  20 74 72 6E 62 6C 6B 0D 0A 0D 0A 2E 62 6C 73 6F     trnblk.....blso
01AA40:  6B 09 6C 64 20 61 2C 28 69 79 2B 31 30 31 29 3A    k.ld a,(iy+101):
01AA50:  20 69 6E 63 20 61 3A 20 6C 64 20 28 69 79 2B 31     inc a: ld (iy+1
01AA60:  30 31 29 2C 61 09 3B 69 6E 63 72 65 61 73 65 20    01),a.;increase 
01AA70:  62 6C 6F 63 6B 20 6E 6F 2E 0D 0A 09 63 70 20 31    block no....cp 1
01AA80:  3A 20 6A 70 20 7A 2C 77 63 68 6D 74 64 0D 0A 0D    : jp z,wchmtd...
01AA90:  0A 09 6C 64 20 6C 2C 28 69 79 2B 37 35 29 3A 20    ..ld l,(iy+75): 
01AAA0:  6C 64 20 68 2C 28 69 79 2B 37 36 29 3A 20 6C 64    ld h,(iy+76): ld
01AAB0:  20 61 2C 28 69 79 2B 37 37 29 20 3B 66 69 6C 65     a,(iy+77) ;file
01AAC0:  20 6C 65 6E 67 74 68 0D 0A 09 6C 64 20 65 2C 28     length...ld e,(
01AAD0:  69 79 2B 31 30 32 29 3A 20 6C 64 20 64 2C 28 69    iy+102): ld d,(i
01AAE0:  79 2B 31 30 33 29 0D 0A 09 73 63 66 3A 20 63 63    y+103)...scf: cc
01AAF0:  66 3A 20 73 62 63 20 68 6C 2C 64 65 3A 20 6A 72    f: sbc hl,de: jr
01AB00:  20 6E 63 2C 6E 64 68 62 6C 09 3B 73 75 62 74 72     nc,ndhbl.;subtr
01AB10:  61 63 74 20 62 6C 6F 63 6B 20 6C 65 6E 67 74 68    act block length
01AB20:  0D 0A 09 64 65 63 20 61 0D 0A 2E 6E 64 68 62 6C    ...dec a...ndhbl
01AB30:  09 6C 64 20 28 69 79 2B 37 35 29 2C 6C 3A 20 6C    .ld (iy+75),l: l
01AB40:  64 20 28 69 79 2B 37 36 29 2C 68 3A 20 6C 64 20    d (iy+76),h: ld 
01AB50:  28 69 79 2B 37 37 29 2C 61 0D 0A 0D 0A 09 63 70    (iy+77),a.....cp
01AB60:  20 26 45 30 3A 20 6A 70 20 6E 63 2C 65 6F 66 75     &E0: jp nc,eofu
01AB70:  74 0D 0A 0D 0A 09 70 75 73 68 20 69 78 3A 20 63    t.....push ix: c
01AB80:  61 6C 6C 20 26 42 43 38 39 3A 20 70 6F 70 20 69    all &BC89: pop i
01AB90:  78 0D 0A 09 6A 72 20 63 2C 65 6F 66 6F 6B 3A 20    x...jr c,eofok: 
01ABA0:  6A 72 20 7A 2C 65 6F 66 6F 6B 0D 0A 09 63 70 20    jr z,eofok...cp 
01ABB0:  26 30 46 3A 20 6A 70 20 7A 2C 65 6F 66 75 74 0D    &0F: jp z,eofut.
01ABC0:  0A 0D 0A 2E 65 6F 66 6F 6B 09 70 75 73 68 20 69    ....eofok.push i
01ABD0:  78 0D 0A 09 20 70 75 73 68 20 69 79 3A 20 70 6F    x... push iy: po
01ABE0:  70 20 68 6C 0D 0A 09 20 6C 64 20 64 65 2C 31 31    p hl... ld de,11
01ABF0:  36 2B 31 32 38 3A 20 61 64 64 20 68 6C 2C 64 65    6+128: add hl,de
01AC00:  6F 70 20 68 6C 3A 20 70 6F 70 20 62 63 3A 20 6C    op hl: pop bc: l
01AC10:  64 20 62 2C 36 3A 20 6C 64 20 65 2C 30 0D 0A 2E    d b,6: ld e,0...
01AC20:  70 6E 6D 5F 6C 70 09 6C 64 20 61 2C 28 69 78 29    pnm_lp.ld a,(ix)
01AC30:  3A 20 6C 64 20 64 2C 61 3A 20 6F 72 20 65 3A 20    : ld d,a: or e: 
01AC40:  6C 64 20 61 2C 64 3A 20 6A 72 20 7A 2C 69 61 6C    ld a,d: jr z,ial
01AC50:  30 0D 0A 09 6C 64 20 65 2C 32 35 35 3A 20 61 64    0...ld e,255: ad
01AC60:  64 20 26 33 30 3A 20 63 61 6C 6C 20 79 6D 68 5F    d &30: call ymh_
01AC70:  73 63 0D 0A 2E 69 61 6C 30 09 69 6E 63 20 69 78    sc...ial0.inc ix
01AC80:  3A 20 64 6A 6E 7A 20 70 6E 6D 5F 6C 70 3A 20 72    : djnz pnm_lp: r
01AC90:  65 74 0D 0A 0D 0A 2E 73 74 68 6C 72 09 78 6F 72    et.....sthlr.xor
01ACA0:  20 61 0D 0A 2E 73 74 68 6C 6C 70 09 73 63 66 3A     a...sthllp.scf:
01ACB0:  20 63 63 66 3A 20 73 62 63 20 68 6C 2C 64 65 3A     ccf: sbc hl,de:
01ACC0:  20 6A 72 20 63 2C 73 74 68 6C 6F 3A 20 69 6E 63     jr c,sthlo: inc
01ACD0:  20 61 3A 20 6A 72 20 73 74 68 6C 6C 70 0D 0A 2E     a: jr sthllp...
01ACE0:  73 74 68 6C 6F 09 61 64 64 20 68 6C 2C 64 65 3A    sthlo.add hl,de:
01ACF0:  20 6C 64 20 28 69 78 29 2C 61 3A 20 69 6E 63 20     ld (ix),a: inc 
01AD00:  69 78 3A 20 72 65 74 0D 0A 0D 0A 2E 63 68 72 63    ix: ret.....chrc
01AD10:  68 6B 09 63 70 20 39 37 3A 20 6A 72 20 63 2C 6E    hk.cp 97: jr c,n
01AD20:  6F 74 6C 6F 77 0D 0A 09 63 70 20 31 32 33 3A 20    otlow...cp 123: 
01AD30:  6A 72 20 6E 63 2C 6E 6F 74 6C 6F 77 0D 0A 09 72    jr nc,notlow...r
01AD40:  65 73 20 35 2C 61 0D 0A 2E 6E 6F 74 6C 6F 77 09    es 5,a...notlow.
01AD50:  6C 64 20 68 6C 2C 6F 6B 63 68 61 72 0D 0A 09 6C    ld hl,okchar...l
01AD60:  64 20 63 2C 61 0D 0A 2E 63 7A 6C 6F 6F 70 09 6C    d c,a...czloop.l
01AD70:  64 20 61 2C 28 68 6C 29 0D 0A 09 6F 72 20 61 0D    d a,(hl)...or a.
01AD80:  0A 09 6A 72 20 7A 2C 65 78 69 74 63 6B 0D 0A 09    ..jr z,exitck...
01AD90:  63 70 20 63 0D 0A 09 72 65 74 20 7A 0D 0A 09 69    cp c...ret z...i
01ADA0:  6E 63 20 68 6C 0D 0A 09 6A 72 20 63 7A 6C 6F 6F    nc hl...jr czloo
01ADB0:  70 0D 0A 0D 0A 2E 65 78 69 74 63 6B 09 6C 64 20    p.....exitck.ld 
01ADC0:  63 2C 33 0D 0A 09 70 6F 70 20 68 6C 09 09 09 09    c,3...pop hl....
01ADD0:  3B 43 41 4C 4C 69 6E 67 20 61 64 64 72 65 73 73    ;CALLing address
01ADE0:  0D 0A 09 70 6F 70 20 68 6C 09 09 09 09 3B 48 4C    ...pop hl....;HL
01ADF0:  20 73 61 76 65 64 0D 0A 09 6A 70 20 65 72 72 6F     saved...jp erro
01AE00:  0D 0A 09 20 6C 64 20 61 2C 28 68 6C 29 09 09 09    ... ld a,(hl)...
01AE10:  3B 57 61 73 20 69 74 20 61 20 68 65 61 64 65 72    ;Was it a header
01AE20:  3F 0D 0A 09 20 6C 64 20 65 2C 28 69 79 2B 37 29    ?... ld e,(iy+7)
01AE30:  3A 20 6C 64 20 64 2C 28 69 79 2B 38 29 09 3B 44    : ld d,(iy+8).;D
01AE40:  45 20 3D 20 66 69 6C 65 20 62 75 66 66 65 72 20    E = file buffer 
01AE50:  61 64 64 72 65 73 73 0D 0A 09 20 70 6F 70 20 68    address... pop h
01AE60:  6C 0D 0A 09 6F 72 20 61 3A 20 6A 72 20 6E 7A 2C    l...or a: jr nz,
01AE70:  77 61 73 68 65 64 09 09 3B 49 66 20 73 6F 2C 20    washed..;If so, 
01AE80:  6F 6B 2C 20 67 65 74 20 62 6C 6F 63 6B 20 61 64    ok, get block ad
01AE90:  64 72 65 73 73 0D 0A 09 70 75 73 68 20 68 6C 0D    dress...push hl.
01AEA0:  0A 09 73 63 66 3A 20 63 63 66 3A 20 73 62 63 20    ..scf: ccf: sbc 
01AEB0:  68 6C 2C 64 65 0D 0A 09 6C 64 20 61 2C 26 43 3A    hl,de...ld a,&C:
01AEC0:  20 63 70 20 68 09 09 09 3B 33 6B 20 61 62 6F 76     cp h...;3k abov
01AED0:  65 20 66 62 61 64 64 72 20 79 65 74 3F 0D 0A 09    e fbaddr yet?...
01AEE0:  70 6F 70 20 68 6C 0D 0A 09 6A 72 20 6E 7A 2C 6E    pop hl...jr nz,n
01AEF0:  6F 76 65 72 09 09 09 3B 4E 6F 2C 20 77 65 27 72    over...;No, we'r
01AF00:  65 20 6F 6B 0D 0A 09 6C 64 20 6C 2C 28 69 79 2B    e ok...ld l,(iy+
01AF10:  37 29 3A 20 6C 64 20 68 2C 28 69 79 2B 38 29 0D    7): ld h,(iy+8).
01AF20:  0A 09 6C 64 20 64 65 2C 31 30 32 34 3A 20 61 64    ..ld de,1024: ad
01AF30:  64 20 68 6C 2C 64 65 09 09 3B 6F 74 68 65 72 77    d hl,de..;otherw
01AF40:  69 73 65 20 72 65 73 65 74 20 74 6F 20 31 6B 20    ise reset to 1k 
01AF50:  61 62 6F 76 65 0D 0A 09 6A 72 20 6E 6F 76 65 72    above...jr nover
01AF60:  0D 0A 2E 77 61 73 68 65 64 09 70 75 73 68 20 69    ...washed.push i
01AF70:  79 3A 20 70 6F 70 20 68 6C 0D 0A 09 6C 64 20 64    y: pop hl...ld d
01AF80:  65 2C 31 31 36 2B 31 32 38 3A 20 61 64 64 20 68    e,116+128: add h
01AF90:  6C 2C 64 65 0D 0A 09 6C 64 20 28 68 6C 29 2C 30    l,de...ld (hl),0
01AFA0:  09 09 09 3B 4E 6F 74 20 61 20 68 65 61 64 65 72    ...;Not a header
01AFB0:  20 61 6E 79 20 6D 6F 72 65 21 0D 0A 09 6C 64 20     any more!...ld 
01AFC0:  6C 2C 28 69 79 2B 34 33 29 3A 20 6C 64 20 68 2C    l,(iy+43): ld h,
01AFD0:  28 69 79 2B 34 34 29 0D 0A 2E 6E 6F 76 65 72 09    (iy+44)...nover.
01AFE0:  6C 64 20 28 69 79 2B 34 33 29 2C 6C 3A 20 6C 64    ld (iy+43),l: ld
01AFF0:  20 28 69 79 2B 34 34 29 2C 68 09 3B 48 4C 20 3D     (iy+44),h.;HL =
01B000:  72 0D 0A 0D 0A 2E 69 6E 73 65 72 74 09 63 70 20    r.....insert.cp 
01B010:  22 2E 22 3A 20 6A 72 20 6E 7A 2C 6E 6F 74 64 6F    ".": jr nz,notdo
01B020:  74 0D 0A 0D 0A 09 6C 64 20 61 2C 28 69 79 2B 36    t.....ld a,(iy+6
01B030:  38 29 09 09 09 3B 41 20 3D 20 63 75 72 72 65 6E    8)...;A = curren
01B040:  74 20 63 68 61 72 61 63 74 65 72 20 70 6F 73 69    t character posi
01B050:  74 69 6F 6E 0D 0A 09 63 70 20 30 3A 20 6A 70 20    tion...cp 0: jp 
01B060:  7A 2C 65 78 69 74 63 62 0D 0A 0D 0A 2E 64 74 6C    z,exitcb.....dtl
01B070:  6F 6F 70 09 63 70 20 38 3A 20 6A 72 20 7A 2C 65    oop.cp 8: jr z,e
01B080:  78 64 74 6C 3A 20 6A 70 20 6E 63 2C 65 78 69 74    xdtl: jp nc,exit
01B090:  63 62 0D 0A 0D 0A 09 6C 64 20 61 2C 28 69 79 2B    cb.....ld a,(iy+
01B0A0:  36 39 29 3A 20 6C 64 20 28 68 6C 29 2C 61 3A 20    69): ld (hl),a: 
01B0B0:  69 6E 63 20 68 6C 09 3B 41 20 3D 20 66 69 6C 6C    inc hl.;A = fill
01B0C0:  65 72 20 63 68 61 72 61 63 74 65 72 0D 0A 0D 0A    er character....
01B0D0:  09 6C 64 20 61 2C 28 69 79 2B 36 38 29 3A 20 69    .ld a,(iy+68): i
01B0E0:  6E 63 20 61 3A 20 6C 64 20 28 69 79 2B 36 38 29    nc a: ld (iy+68)
01B0F0:  2C 61 0D 0A 09 6A 72 20 64 74 6C 6F 6F 70 0D 0A    ,a...jr dtloop..
01B100:  0D 0A 2E 65 78 64 74 6C 09 6C 64 20 61 2C 22 20    ...exdtl.ld a," 
01B110:  22 3A 20 6C 64 20 28 69 79 2B 36 39 29 2C 61 3A    ": ld (iy+69),a:
01B120:  20 72 65 74 0D 0A 0D 0A 2E 6E 6F 74 64 6F 74 09     ret.....notdot.
01B130:  63 70 20 22 20 22 3A 20 72 65 74 20 7A 0D 0A 09    cp " ": ret z...
01B140:  63 70 20 22 2A 22 3A 20 6A 72 20 6E 7A 2C 6E 6F    cp "*": jr nz,no
01B150:  74 73 74 61 0D 0A 0D 0A 09 6C 64 20 61 2C 28 69    tsta.....ld a,(i
01B160:  79 2B 36 39 29 3A 20 63 70 20 22 3F 22 3A 20 6A    y+69): cp "?": j
01B170:  70 20 7A 2C 65 78 69 74 63 62 0D 0A 09 6C 64 20    p z,exitcb...ld 
01B180:  61 2C 22 3F 22 3A 20 6C 64 20 28 69 79 2B 36 39    a,"?": ld (iy+69
01B190:  29 2C 61 3A 20 6A 72 20 70 75 74 63 68 72 0D 0A    ),a: jr putchr..
01B1A0:  0D 0A 2E 6E 6F 74 73 74 61 09 6C 64 20 63 2C 61    ...notsta.ld c,a
01B1B0:  0D 0A 09 6C 64 20 61 2C 28 69 79 2B 36 39 29 3A    ...ld a,(iy+69):
01B1C0:  20 63 70 20 22 3F 22 3A 20 6C 64 20 61 2C 63 3A     cp "?": ld a,c:
01B1D0:  20 6A 70 20 7A 2C 65 78 69 74 63 62 0D 0A 2E 70     jp z,exitcb...p
01B1E0:  75 74 63 68 72 09 6C 64 20 28 68 6C 29 2C 61 3A    utchr.ld (hl),a:
01B1F0:  20 69 6E 63 20 68 6C 0D 0A 09 6C 64 20 61 2C 28     inc hl...ld a,(
01B200:  3E 20 70 61 72 61 6D 65 74 65 72 20 62 6C 6F 63    > parameter bloc
01B210:  6B 0D 0A 09 6C 64 20 68 6C 2C 30 0D 0A 09 6C 64    k...ld hl,0...ld
01B220:  20 28 69 79 2B 38 34 29 2C 6C 3A 20 6C 64 20 28     (iy+84),l: ld (
01B230:  69 79 2B 38 35 29 2C 68 09 3B 30 20 62 79 74 65    iy+85),h.;0 byte
01B240:  73 20 72 65 61 64 20 69 6E 0D 0A 09 6A 70 20 73    s read in...jp s
01B250:  74 73 62 6C 6B 0D 0A 0D 0A 2E 65 6F 66 75 74 09    tsblk.....eofut.
01B260:  63 61 6C 6C 20 26 42 43 37 41 0D 0A 09 6C 64 20    call &BC7A...ld 
01B270:  61 2C 34 3A 20 63 61 6C 6C 20 73 65 6E 64 62 74    a,4: call sendbt
01B280:  0D 0A 09 6C 64 20 64 65 2C 31 30 30 3A 20 63 61    ...ld de,100: ca
01B290:  6C 6C 20 77 61 69 74 62 74 0D 0A 09 63 70 20 36    ll waitbt...cp 6
01B2A0:  3A 20 6A 72 20 6E 7A 2C 65 6F 66 75 74 0D 0A 0D    : jr nz,eofut...
01B2B0:  0A 09 6C 64 20 61 2C 28 69 79 2B 31 30 37 29 09    ..ld a,(iy+107).
01B2C0:  09 09 3B 53 70 65 63 69 66 69 65 64 20 70 72 6F    ..;Specified pro
01B2D0:  74 6F 63 6F 6C 0D 0A 09 63 70 20 32 3A 20 6A 72    tocol...cp 2: jr
01B2E0:  20 6E 7A 2C 62 79 65 62 79 65 0D 0A 0D 0A 09 6A     nz,byebye.....j
01B2F0:  70 20 67 6E 78 74 79 75 0D 0A 0D 0A 2E 65 78 75    p gnxtyu.....exu
01B300:  70 6C 09 6C 64 20 64 65 2C 35 30 3A 20 63 61 6C    pl.ld de,50: cal
01B310:  6C 20 77 61 69 74 62 74 09 09 3B 59 4D 6F 64 65    l waitbt..;YMode
01B320:  6D 20 62 6C 61 6E 6B 20 62 6C 6F 63 6B 21 0D 0A    m blank block!..
01B330:  09 63 70 20 22 43 22 3A 20 6A 72 20 7A 2C 67 65    .cp "C": jr z,ge
01B340:  75 66 63 0D 0A 09 63 70 20 26 31 35 3A 20 6A 72    ufc...cp &15: jr
01B350:  20 7A 2C 67 65 75 66 63 0D 0A 09 63 61 6C 6C 20     z,geufc...call 
01B360:  63 68 6B 63 6E 75 0D 0A 09 6A 72 20 65 78 75 70    chkcnu...jr exup
01B370:  6C 0D 0A 0D 0A 2E 67 65 75 66 63 09 6C 64 20 28    l.....geufc.ld (
01B380:  69 79 2B 31 30 34 29 2C 61 09 09 09 3B 4E 41 4B    iy+104),a...;NAK
01B390:  2F 43 20 73 74 6F 72 65 0D 0A 0D 0A 2E 72 73 78    /C store.....rsx
01B3A0:  62 09 6C 64 20 61 2C 31 3A 20 63 61 6C 6C 20 73    b.ld a,1: call s
01B3B0:  65 6E 64 62 74 0D 0A 09 78 6F 72 20 61 3A 20 63    endbt...xor a: c
01B3C0:  61 6C 6C 20 73 65 6E 64 62 74 0D 0A 09 78 6F 72    all sendbt...xor
01B3D0:  20 61 3A 20 63 70 6C 3A 20 63 61 6C 6C 20 73 65     a: cpl: call se
01B3E0:  6E 64 62 74 0D 0A 0D 0A 09 6C 64 20 68 6C 2C 30    ndbt.....ld hl,0
01B3F0:  3A 20 6C 64 20 63 2C 31 32 38 0D 0A 2E 6E 75 6C    : ld c,128...nul
01B400:  69 79 2B 36 38 29 3A 20 69 6E 63 20 61 3A 20 6C    iy+68): inc a: l
01B410:  64 20 28 69 79 2B 36 38 29 2C 61 3A 20 72 65 74    d (iy+68),a: ret
01B420:  0D 0A 0D 0A 2E 65 78 69 74 63 62 09 6C 64 20 63    .....exitcb.ld c
01B430:  2C 33 0D 0A 09 70 6F 70 20 68 6C 0D 0A 2E 65 78    ,3...pop hl...ex
01B440:  69 74 70 31 09 70 6F 70 20 68 6C 0D 0A 09 6A 70    itp1.pop hl...jp
01B450:  20 65 72 72 6F 72 0D 0A 0D 0A 09 3B 43 68 65 63     error.....;Chec
01B460:  6B 20 66 6F 72 20 45 53 43 2F 43 54 52 4C 2D 58    k for ESC/CTRL-X
01B470:  0D 0A 0D 0A 2E 63 68 6B 63 6E 75 09 63 61 6C 6C    .....chkcnu.call
01B480:  20 26 42 42 31 42 3A 20 72 65 74 20 6E 63 09 09     &BB1B: ret nc..
01B490:  3B 6B 65 79 20 70 72 65 73 73 65 64 3F 0D 0A 09    ;key pressed?...
01B4A0:  63 70 20 26 31 38 3A 20 6A 72 20 7A 2C 63 6E 75    cp &18: jr z,cnu
01B4B0:  79 65 73 09 09 3B 43 54 52 4C 2D 58 3F 0D 0A 09    yes..;CTRL-X?...
01B4C0:  63 70 20 26 46 43 3A 20 72 65 74 20 6E 7A 09 09    cp &FC: ret nz..
01B4D0:  09 3B 45 53 43 3F 0D 0A 2E 63 6E 75 79 65 73 09    .;ESC?...cnuyes.
01B4E0:  70 6F 70 20 68 6C 09 09 09 09 3B 72 65 6D 6F 76    pop hl....;remov
01B4F0:  65 20 43 41 4C 4C 0D 0A 0D 0A 09 63 61 6C 6C 20    e CALL.....call 
01B500:  73 38 63 61 6E 73 0D 0A 0D 0A 09 6C 64 20 61 2C    s8cans.....ld a,
01B510:  28 69 79 2B 31 30 37 29 0D 0A 09 6C 64 20 68 6C    (iy+107)...ld hl
01B520:  2C 79 6D 74 65 78 74 0D 0A 09 63 70 20 32 3A 20    ,ymtext...cp 2: 
01B530:  6A 72 20 7A 2C 67 6F 74 6D 73 75 09 09 3B 59 4D    jr z,gotmsu..;YM
01B540:  6F 64 65 6D 3F 0D 0A 09 6C 64 20 68 6C 2C 6F 6E    odem?...ld hl,on
01B550:  65 74 78 74 0D 0A 09 63 70 20 31 3A 20 6A 72 20    etxt...cp 1: jr 
01B560:  7A 2C 67 6F 74 6D 73 75 09 09 3B 58 4D 6F 64 65    z,gotmsu..;XMode
01B570:  6D 2D 31 6B 3F 0D 0A 09 6C 64 20 68 6C 2C 63 68    m-1k?...ld hl,ch
01B580:  6B 74 78 74 0D 0A 0D 0A 2E 67 6F 74 6D 73 75 09    ktxt.....gotmsu.
01B590:  63 61 6C 6C 20 73 74 72 69 6E 67 0D 0A 09 6C 64    call string...ld
01B5A0:  20 68 6C 2C 61 62 72 74 78 74 3A 20 63 61 6C 6C     hl,abrtxt: call
01B5B0:  20 73 74 72 69 6E 67 0D 0A 09 6C 64 20 68 6C 2C     string...ld hl,
01B5C0:  6C 61 73 74 63 72 3A 20 63 61 6C 6C 20 73 74 72    lastcr: call str
01B5D0:  69 6E 67 0D 0A 09 6C 64 20 61 2C 31 30 3A 20 63    ing...ld a,10: c
01B5E0:  61 6C 6C 20 26 42 42 35 41 0D 0A 09 63 61 6C 6C    all &BB5A...call
01B5F0:  20 26 42 42 34 38 3A 20 63 61 6C 6C 20 26 42 42     &BB48: call &BB
01B600:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
01B610:  17 00 01 00 02 09 4E E5 17 00 C7 02 00 00 00 02    ......N.........
01B620:  17 00 C3 02 00 00 00 02 17 00 C8 02 00 00 00 02    ................
01B630:  17 00 C4 02 00 00 00 02 17 00 C9 02 00 00 00 02    ................
01B640:  17 00 C5 02 00 00 00 02 17 00 C1 02 00 00 00 02    ................
01B650:  17 00 C6 02 00 00 00 02 17 00 C2 02 00 00 00 02    ................
01B660:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01B670:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01B680:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01B690:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01B6A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01B6B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01B6C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01B6D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01B6E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01B6F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01B700:  29 3A 20 63 61 6C 6C 20 26 42 42 35 41 0D 0A 09    ): call &BB5A...
01B710:  69 6E 63 20 68 6C 3A 20 64 6A 6E 7A 20 6C 66 6E    inc hl: djnz lfn
01B720:  70 72 74 09 3B 70 72 69 6E 74 20 66 69 6C 65 6E    prt.;print filen
01B730:  61 6D 65 0D 0A 0D 0A 09 6C 64 20 61 2C 31 33 3A    ame.....ld a,13:
01B740:  20 63 61 6C 6C 20 26 42 42 35 41 0D 0A 09 6C 64     call &BB5A...ld
01B750:  20 61 2C 31 30 3A 20 63 61 6C 6C 20 26 42 42 35     a,10: call &BB5
01B760:  41 3A 20 63 61 6C 6C 20 26 42 42 35 41 0D 0A 0D    A: call &BB5A...
01B770:  0A 09 63 61 6C 6C 20 26 42 42 36 39 0D 0A 09 6C    ..call &BB69...l
01B780:  64 20 61 2C 64 3A 20 73 75 62 20 68 0D 0A 09 69    d a,d: sub h...i
01B790:  6E 63 20 61 3A 20 69 6E 63 20 61 3A 20 69 6E 63    nc a: inc a: inc
01B7A0:  20 61 0D 0A 09 6C 64 20 62 2C 30 0D 0A 2E 66 63     a...ld b,0...fc
01B7B0:  77 5F 6C 70 09 69 6E 63 20 62 3A 20 73 75 62 20    w_lp.inc b: sub 
01B7C0:  32 35 3A 20 6A 72 20 6E 63 2C 66 63 77 5F 6C 70    25: jr nc,fcw_lp
01B7D0:  0D 0A 09 64 65 63 20 62 0D 0A 09 6C 64 20 61 2C    ...dec b...ld a,
01B7E0:  62 3A 20 6C 64 20 28 69 79 2B 36 38 29 2C 61 09    b: ld (iy+68),a.
01B7F0:  09 3B 63 63 68 61 72 20 20 3D 20 6E 75 6D 62 65    .;cchar  = numbe
01B800:  72 20 6F 66 20 63 6F 6C 75 6D 6E 73 0D 0A 0D 0A    r of columns....
01B810:  09 6C 64 20 61 2C 31 3A 20 6C 64 20 28 69 79 2B    .ld a,1: ld (iy+
01B820:  36 39 29 2C 61 09 09 3B 73 74 6D 6F 64 65 20 3D    69),a..;stmode =
01B830:  20 63 75 72 72 65 6E 74 20 63 6F 6C 75 6D 6E 0D     current column.
01B840:  0A 09 6C 64 20 61 2C 30 3A 20 6C 64 20 28 69 79    ..ld a,0: ld (iy
01B850:  2B 34 32 29 2C 61 09 09 3B 6E 70 61 72 61 6D 20    +42),a..;nparam 
01B860:  3D 20 6E 75 6D 62 65 72 20 6F 66 20 64 69 72 65    = number of dire
01B870:  63 74 6F 72 79 20 62 6C 6F 63 6B 73 0D 0A 09 70    ctory blocks...p
01B880:  75 73 68 20 69 79 3A 20 70 6F 70 20 68 6C 0D 0A    ush iy: pop hl..
01B890:  09 70 75 73 68 20 64 65 3A 20 6C 64 20 64 65 2C    .push de: ld de,
01B8A0:  37 32 0D 0A 09 61 64 64 20 68 6C 2C 64 65 3A 20    72...add hl,de: 
01B8B0:  70 6F 70 20 64 65 3A 20 6C 64 20 28 68 6C 29 2C    pop de: ld (hl),
01B8C0:  61 09 3B 66 74 73 65 6E 64 20 3D 20 6E 75 6D 62    a.;ftsend = numb
01B8D0:  65 72 20 6F 66 20 64 69 72 65 63 74 6F 72 79 20    er of directory 
01B8E0:  62 6C 6F 63 6B 73 20 64 6F 6E 65 0D 0A 0D 0A 2E    blocks done.....
01B8F0:  67 31 32 38 6C 70 09 69 6E 63 20 28 68 6C 29 0D    g128lp.inc (hl).
01B900:  6F 70 20 68 6C 09 09 09 09 3B 44 45 20 3D 20 66    op hl....;DE = f
01B910:  69 6C 65 6E 61 6D 65 0D 0A 09 6C 64 20 62 2C 31    ilename...ld b,1
01B920:  31 0D 0A 2E 63 66 6C 6F 6F 70 09 6C 64 20 63 2C    1...cfloop.ld c,
01B930:  28 68 6C 29 3A 20 78 6F 72 20 61 3A 20 63 70 20    (hl): xor a: cp 
01B940:  63 3A 20 6A 72 20 7A 2C 65 78 74 66 6E 0D 0A 09    c: jr z,extfn...
01B950:  6C 64 20 61 2C 28 64 65 29 3A 20 63 70 20 22 3F    ld a,(de): cp "?
01B960:  22 3A 20 6A 72 20 7A 2C 77 63 61 72 64 0D 0A 09    ": jr z,wcard...
01B970:  72 65 73 20 37 2C 63 3A 20 63 70 20 63 3A 20 6A    res 7,c: cp c: j
01B980:  72 20 6E 7A 2C 65 78 74 66 6E 0D 0A 2E 77 63 61    r nz,extfn...wca
01B990:  72 64 09 69 6E 63 20 68 6C 3A 20 69 6E 63 20 64    rd.inc hl: inc d
01B9A0:  65 0D 0A 09 64 6A 6E 7A 20 63 66 6C 6F 6F 70 0D    e...djnz cfloop.
01B9B0:  0A 0D 0A 09 70 6F 70 20 68 6C 3A 20 70 75 73 68    ....pop hl: push
01B9C0:  20 68 6C 0D 0A 09 69 6E 63 20 68 6C 0D 0A 09 6C     hl...inc hl...l
01B9D0:  64 20 65 2C 28 69 79 2B 37 30 29 3A 20 6C 64 20    d e,(iy+70): ld 
01B9E0:  64 2C 28 69 79 2B 37 31 29 09 3B 6E 61 6D 65 20    d,(iy+71).;name 
01B9F0:  61 64 64 72 65 73 73 0D 0A 09 6C 64 20 62 63 2C    address...ld bc,
01BA00:  31 33 0D 0A 09 6C 64 69 72 0D 0A 09 64 65 63 20    13...ldir...dec 
01BA10:  68 6C 3A 20 64 65 63 20 68 6C 3A 20 64 65 63 20    hl: dec hl: dec 
01BA20:  68 6C 3A 20 6C 64 20 28 68 6C 29 2C 63 3A 20 69    hl: ld (hl),c: i
01BA30:  6E 63 20 68 6C 0D 0A 09 6C 64 20 28 69 79 2B 37    nc hl...ld (iy+7
01BA40:  30 29 2C 65 3A 20 6C 64 20 28 69 79 2B 37 31 29    0),e: ld (iy+71)
01BA50:  2C 64 0D 0A 09 6C 64 20 61 2C 28 69 79 2B 37 32    ,d...ld a,(iy+72
01BA60:  29 3A 20 69 6E 63 20 61 3A 20 6C 64 20 28 69 79    ): inc a: ld (iy
01BA70:  2B 37 32 29 2C 61 09 3B 66 69 6C 65 73 20 74 6F    +72),a.;files to
01BA80:  20 73 65 6E 64 0D 0A 09 6C 64 20 63 2C 35 3A 20     send...ld c,5: 
01BA90:  63 70 20 36 34 3A 20 6A 70 20 7A 2C 65 78 69 74    cp 64: jp z,exit
01BAA0:  70 31 0D 0A 09 6C 64 20 63 2C 28 68 6C 29 3A 20    p1...ld c,(hl): 
01BAB0:  69 6E 63 20 68 6C 3A 20 6C 64 20 62 2C 28 68 6C    inc hl: ld b,(hl
01BAC0:  29 0D 0A 09 6C 64 20 6C 2C 28 69 79 2B 37 33 29    )...ld l,(iy+73)
01BAD0:  3A 20 6C 64 20 68 2C 28 69 79 2B 37 34 29 3A 20    : ld h,(iy+74): 
01BAE0:  61 64 64 20 68 6C 2C 62 63 0D 0A 09 6C 64 20 28    add hl,bc...ld (
01BAF0:  69 79 2B 37 33 29 2C 6C 3A 20 6C 64 20 28 69 79    iy+73),l: ld (iy
01BB00:  0A 09 70 75 73 68 20 68 6C 3A 20 63 61 6C 6C 20    ..push hl: call 
01BB10:  6C 64 72 31 32 38 3A 20 70 6F 70 20 68 6C 0D 0A    ldr128: pop hl..
01BB20:  09 6C 64 20 61 2C 28 69 79 2B 34 32 29 3A 20 63    .ld a,(iy+42): c
01BB30:  70 20 28 68 6C 29 0D 0A 09 6A 72 20 6E 7A 2C 67    p (hl)...jr nz,g
01BB40:  31 32 38 6C 70 0D 0A 0D 0A 09 6C 64 20 61 2C 28    128lp.....ld a,(
01BB50:  69 79 2B 36 39 29 3A 20 63 70 20 31 0D 0A 09 6C    iy+69): cp 1...l
01BB60:  64 20 61 2C 31 30 3A 20 63 61 6C 6C 20 6E 7A 2C    d a,10: call nz,
01BB70:  26 42 42 35 41 0D 0A 09 63 61 6C 6C 20 26 42 42    &BB5A...call &BB
01BB80:  35 41 0D 0A 09 6C 64 20 61 2C 31 33 3A 20 63 61    5A...ld a,13: ca
01BB90:  6C 6C 20 26 42 42 35 41 0D 0A 0D 0A 09 63 61 6C    ll &BB5A.....cal
01BBA0:  6C 20 26 42 43 37 41 0D 0A 09 72 65 74 0D 0A 0D    l &BC7A...ret...
01BBB0:  0A 2E 6C 64 72 31 32 38 09 63 61 6C 6C 20 67 64    ..ldr128.call gd
01BBC0:  6C 62 72 6E 0D 0A 09 63 61 6C 6C 20 67 64 6C 62    lbrn...call gdlb
01BBD0:  72 6E 0D 0A 09 63 61 6C 6C 20 67 64 6C 62 72 6E    rn...call gdlbrn
01BBE0:  0D 0A 09 63 61 6C 6C 20 67 64 6C 62 72 6E 0D 0A    ...call gdlbrn..
01BBF0:  09 72 65 74 0D 0A 0D 0A 2E 67 64 6C 62 72 6E 09    .ret.....gdlbrn.
01BC00:  63 61 6C 6C 20 26 42 43 38 30 0D 0A 09 6C 64 20    call &BC80...ld 
01BC10:  62 2C 33 31 0D 0A 09 63 70 20 26 46 46 3A 20 6A    b,31...cp &FF: j
01BC20:  70 20 7A 2C 73 6B 69 70 30 0D 0A 09 63 70 20 26    p z,skip0...cp &
01BC30:  46 45 3A 20 6A 70 20 7A 2C 73 6B 69 70 30 0D 0A    FE: jp z,skip0..
01BC40:  0D 0A 09 6C 64 20 61 2C 28 69 79 2B 34 32 29 3A    ...ld a,(iy+42):
01BC50:  20 6F 72 20 61 09 3B 68 61 73 20 64 69 72 65 63     or a.;has direc
01BC60:  74 6F 72 79 20 62 6C 6F 63 6B 20 73 69 7A 65 20    tory block size 
01BC70:  62 65 65 6E 20 66 6F 75 6E 64 20 79 65 74 3F 0D    been found yet?.
01BC80:  0A 09 6A 72 20 6E 7A 2C 6D 70 66 6E 70 74 09 09    ..jr nz,mpfnpt..
01BC90:  3B 69 66 20 73 6F 2C 20 74 68 65 6E 20 64 6F 6E    ;if so, then don
01BCA0:  27 74 20 62 6F 74 68 65 72 20 66 69 6E 64 69 6E    't bother findin
01BCB0:  67 20 69 74 21 0D 0A 0D 0A 09 6C 64 20 62 2C 31    g it!.....ld b,1
01BCC0:  33 0D 0A 2E 73 6B 69 70 66 6E 09 70 75 73 68 20    3...skipfn.push 
01BCD0:  62 63 3A 20 63 61 6C 6C 20 26 42 43 38 30 3A 20    bc: call &BC80: 
01BCE0:  70 6F 70 20 62 63 0D 0A 09 64 6A 6E 7A 20 73 6B    pop bc...djnz sk
01BCF0:  69 70 66 6E 09 09 3B 73 6B 69 70 20 28 62 6C 61    ipfn..;skip (bla
01BD00:  2B 37 34 29 2C 68 09 09 3B 6B 20 74 6F 20 73 65    +74),h..;k to se
01BD10:  6E 64 0D 0A 0D 0A 2E 65 78 74 66 6E 09 70 6F 70    nd.....extfn.pop
01BD20:  20 68 6C 0D 0A 09 6C 64 20 64 65 2C 31 34 3A 20     hl...ld de,14: 
01BD30:  61 64 64 20 68 6C 2C 64 65 0D 0A 09 6C 64 20 28    add hl,de...ld (
01BD40:  69 79 2B 34 33 29 2C 6C 3A 20 6C 64 20 28 69 79    iy+43),l: ld (iy
01BD50:  2B 34 34 29 2C 68 09 09 3B 70 62 6C 6F 63 6B 0D    +44),h..;pblock.
01BD60:  0A 09 6A 72 20 65 78 63 6D 6C 0D 0A 0D 0A 2E 65    ..jr excml.....e
01BD70:  78 73 72 6C 09 69 6E 63 20 69 78 3A 20 69 6E 63    xsrl.inc ix: inc
01BD80:  20 69 78 0D 0A 09 6C 64 20 61 2C 28 69 79 2B 34     ix...ld a,(iy+4
01BD90:  32 29 3A 20 64 65 63 20 61 3A 20 6C 64 20 28 69    2): dec a: ld (i
01BDA0:  79 2B 34 32 29 2C 61 3A 20 6A 70 20 6E 7A 2C 6D    y+42),a: jp nz,m
01BDB0:  78 6C 6F 6F 70 09 3B 6E 75 6D 62 65 72 20 6F 66    xloop.;number of
01BDC0:  20 70 61 72 61 6D 65 74 65 72 73 0D 0A 09 72 65     parameters...re
01BDD0:  74 0D 0A 0D 0A 09 3B 3E 3E 3E 20 55 70 64 61 74    t.....;>>> Updat
01BDE0:  65 20 43 52 43 20 69 6E 20 48 4C 20 77 69 74 68    e CRC in HL with
01BDF0:  20 69 6E 70 75 74 20 69 6E 20 45 0D 0A 0D 0A 2E     input in E.....
01BE00:  63 72 63 20 20 20 20 6C 64 20 62 2C 38 09 09 09    crc    ld b,8...
01BE10:  09 3B 73 68 69 66 74 20 38 20 74 69 6D 65 73 0D    .;shift 8 times.
01BE20:  0A 2E 75 70 64 6C 70 20 20 72 6C 63 20 65 09 09    ..updlp  rlc e..
01BE30:  09 09 3B 73 68 69 66 74 20 69 6E 70 75 74 0D 0A    ..;shift input..
01BE40:  09 61 64 63 20 68 6C 2C 68 6C 09 09 09 3B 73 68    .adc hl,hl...;sh
01BE50:  69 66 74 20 63 72 63 0D 0A 09 6A 72 20 6E 63 2C    ift crc...jr nc,
01BE60:  73 6B 69 70 69 74 09 09 09 3B 6A 75 6D 70 20 69    skipit...;jump i
01BE70:  66 20 6E 6F 20 63 61 72 72 79 0D 0A 09 6C 64 20    f no carry...ld 
01BE80:  61 2C 68 3A 20 78 6F 72 20 26 31 30 3A 20 6C 64    a,h: xor &10: ld
01BE90:  20 68 2C 61 09 09 3B 78 6F 72 20 77 69 74 68 20     h,a..;xor with 
01BEA0:  26 31 30 32 31 0D 0A 09 6C 64 20 61 2C 6C 3A 20    &1021...ld a,l: 
01BEB0:  78 6F 72 20 26 32 31 3A 20 6C 64 20 6C 2C 61 0D    xor &21: ld l,a.
01BEC0:  0A 2E 73 6B 69 70 69 74 20 64 6A 6E 7A 20 75 70    ..skipit djnz up
01BED0:  64 6C 70 09 09 09 3B 64 6F 6E 65 3F 0D 0A 09 72    dlp...;done?...r
01BEE0:  65 74 0D 0A 0D 0A 09 3B 3E 3E 3E 20 43 6F 6E 76    et.....;>>> Conv
01BEF0:  65 72 74 20 66 69 6C 65 6E 61 6D 65 20 69 66 20    ert filename if 
01BF00:  6E 6B 29 20 66 69 6C 65 6E 61 6D 65 20 61 6E 64    nk) filename and
01BF10:  20 69 6E 64 65 78 0D 0A 09 63 61 6C 6C 20 26 42     index...call &B
01BF20:  43 38 30 3A 20 6C 64 20 28 69 79 2B 34 32 29 2C    C80: ld (iy+42),
01BF30:  61 0D 0A 09 6C 64 20 62 2C 31 37 3A 20 6A 70 20    a...ld b,17: jp 
01BF40:  73 6B 69 70 30 0D 0A 0D 0A 2E 6D 70 66 6E 70 74    skip0.....mpfnpt
01BF50:  09 6C 64 20 62 2C 38 0D 0A 2E 6D 70 66 6E 6C 70    .ld b,8...mpfnlp
01BF60:  09 70 75 73 68 20 62 63 3A 20 63 61 6C 6C 20 26    .push bc: call &
01BF70:  42 43 38 30 3A 20 70 6F 70 20 62 63 0D 0A 09 63    BC80: pop bc...c
01BF80:  61 6C 6C 20 26 42 42 35 41 3A 20 64 6A 6E 7A 20    all &BB5A: djnz 
01BF90:  6D 70 66 6E 6C 70 09 3B 70 72 69 6E 74 20 66 69    mpfnlp.;print fi
01BFA0:  72 73 74 20 70 61 72 74 20 6F 66 20 66 69 6C 65    rst part of file
01BFB0:  6E 61 6D 65 0D 0A 0D 0A 09 6C 64 20 61 2C 22 2E    name.....ld a,".
01BFC0:  22 3A 20 63 61 6C 6C 20 26 42 42 35 41 0D 0A 09    ": call &BB5A...
01BFD0:  63 61 6C 6C 20 26 42 43 38 30 3A 20 63 61 6C 6C    call &BC80: call
01BFE0:  20 26 42 42 35 41 0D 0A 09 63 61 6C 6C 20 26 42     &BB5A...call &B
01BFF0:  43 38 30 3A 20 63 61 6C 6C 20 26 42 42 35 41 0D    C80: call &BB5A.
01C000:  0A 09 63 61 6C 6C 20 26 42 43 38 30 3A 20 63 61    ..call &BC80: ca
01C010:  6C 6C 20 26 42 42 35 41 09 3B 70 72 69 6E 74 20    ll &BB5A.;print 
01C020:  65 78 74 65 6E 73 69 6F 6E 0D 0A 0D 0A 09 63 61    extension.....ca
01C030:  6C 6C 20 26 42 43 38 30 3A 20 63 61 6C 6C 20 26    ll &BC80: call &
01C040:  42 43 38 30 09 3B 73 6B 69 70 20 22 69 6E 64 65    BC80.;skip "inde
01C050:  78 22 0D 0A 0D 0A 09 6C 64 20 61 2C 22 20 22 3A    x".....ld a," ":
01C060:  20 63 61 6C 6C 20 26 42 42 35 41 0D 0A 09 63 61     call &BB5A...ca
01C070:  6C 6C 20 26 42 43 38 30 3A 20 6C 64 20 6C 2C 61    ll &BC80: ld l,a
01C080:  3A 20 70 75 73 68 20 68 6C 0D 0A 09 63 61 6C 6C    : push hl...call
01C090:  20 26 42 43 38 30 3A 20 70 6F 70 20 68 6C 3A 20     &BC80: pop hl: 
01C0A0:  6C 64 20 68 2C 61 0D 0A 0D 0A 09 6C 64 20 62 2C    ld h,a.....ld b,
01C0B0:  33 0D 0A 2E 63 74 6F 6B 09 78 6F 72 20 61 3A 20    3...ctok.xor a: 
01C0C0:  72 72 20 68 3A 20 72 72 20 6C 3A 20 64 6A 6E 7A    rr h: rr l: djnz
01C0D0:  20 63 74 6F 6B 0D 0A 0D 0A 09 6C 64 20 61 2C 6C     ctok.....ld a,l
01C0E0:  3A 20 63 61 6C 6C 20 70 72 5F 61 73 70 0D 0A 09    : call pr_asp...
01C0F0:  6C 64 20 61 2C 22 6B 22 3A 20 63 61 6C 6C 20 26    ld a,"k": call &
01C100:  73 75 62 2D 64 69 72 65 63 74 6F 72 69 65 73 20    sub-directories 
01C110:  69 6E 63 6C 75 64 65 64 0D 0A 0D 0A 2E 63 6F 6E    included.....con
01C120:  76 09 6C 64 20 62 2C 30 0D 0A 09 65 78 20 64 65    v.ld b,0...ex de
01C130:  2C 68 6C 0D 0A 2E 63 6F 6C 6F 6F 70 09 6C 64 20    ,hl...coloop.ld 
01C140:  61 2C 28 68 6C 29 0D 0A 09 63 70 20 22 2F 22 3A    a,(hl)...cp "/":
01C150:  20 6A 72 20 7A 2C 65 78 63 6F 6E 76 0D 0A 09 63     jr z,exconv...c
01C160:  70 20 22 5C 22 3A 20 6A 72 20 7A 2C 65 78 63 6F    p "\": jr z,exco
01C170:  6E 76 0D 0A 09 64 65 63 20 68 6C 0D 0A 09 69 6E    nv...dec hl...in
01C180:  63 20 62 0D 0A 09 6C 64 20 61 2C 31 32 3A 20 63    c b...ld a,12: c
01C190:  70 20 62 0D 0A 09 6A 72 20 6E 7A 2C 63 6F 6C 6F    p b...jr nz,colo
01C1A0:  6F 70 0D 0A 2E 65 78 63 6F 6E 76 09 69 6E 63 20    op...exconv.inc 
01C1B0:  68 6C 0D 0A 09 78 6F 72 20 61 0D 0A 09 63 70 20    hl...xor a...cp 
01C1C0:  62 0D 0A 09 72 65 74 20 6E 7A 0D 0A 0D 0A 09 70    b...ret nz.....p
01C1D0:  75 73 68 20 69 79 3A 20 70 6F 70 20 68 6C 09 09    ush iy: pop hl..
01C1E0:  09 3B 65 6C 73 65 20 61 75 74 6F 6D 61 74 69 63    .;else automatic
01C1F0:  20 22 44 4F 57 4E 4C 4F 41 44 22 0D 0A 09 70 75     "DOWNLOAD"...pu
01C200:  73 68 20 64 65 3A 20 6C 64 20 64 65 2C 34 35 3A    sh de: ld de,45:
01C210:  20 61 64 64 20 68 6C 2C 64 65 0D 0A 09 70 6F 70     add hl,de...pop
01C220:  20 64 65 3A 20 6C 64 20 62 2C 31 30 3A 20 72 65     de: ld b,10: re
01C230:  74 0D 0A 0D 0A 09 3B 3E 3E 3E 20 53 65 6E 64 20    t.....;>>> Send 
01C240:  38 2A 43 41 4E 2C 20 38 2A 62 61 63 6B 73 70 61    8*CAN, 8*backspa
01C250:  63 65 0D 0A 0D 0A 2E 73 38 63 61 6E 73 09 6C 64    ce.....s8cans.ld
01C260:  20 62 2C 38 3A 20 6C 64 20 61 2C 26 31 38 0D 0A     b,8: ld a,&18..
01C270:  2E 63 61 6E 5F 6C 70 09 70 75 73 68 20 62 63 3A    .can_lp.push bc:
01C280:  20 63 61 6C 6C 20 73 65 6E 64 62 74 3A 20 70 6F     call sendbt: po
01C290:  70 20 62 63 0D 0A 09 64 6A 6E 7A 20 63 61 6E 5F    p bc...djnz can_
01C2A0:  6C 70 0D 0A 0D 0A 09 6C 64 20 62 2C 38 3A 20 6C    lp.....ld b,8: l
01C2B0:  64 20 61 2C 38 0D 0A 2E 62 73 70 5F 6C 70 09 70    d a,8...bsp_lp.p
01C2C0:  75 73 68 20 62 63 3A 20 63 61 6C 6C 20 73 65 6E    ush bc: call sen
01C2D0:  64 62 74 3A 20 70 6F 70 20 62 63 0D 0A 09 64 6A    dbt: pop bc...dj
01C2E0:  6E 7A 20 62 73 70 5F 6C 70 0D 0A 09 72 65 74 1A    nz bsp_lp...ret.
01C2F0:  64 20 6C 2C 61 3A 20 6C 64 20 68 2C 30 3A 20 61    d l,a: ld h,0: a
01C300:  72 72 65 6E 74 20 6E 61 6D 65 20 61 64 64 72 65    rrent name addre
01C310:  73 73 0D 0A 0D 0A 09 78 6F 72 20 61 0D 0A 09 6C    ss.....xor a...l
01C320:  64 20 28 69 79 2B 37 32 29 2C 61 0D 0A 09 6C 64    d (iy+72),a...ld
01C330:  20 28 69 79 2B 37 33 29 2C 61 3A 20 6C 64 20 28     (iy+73),a: ld (
01C340:  69 79 2B 37 34 29 2C 61 09 3B 66 69 6C 65 73 2F    iy+74),a.;files/
01C350:  6B 20 74 6F 20 73 65 6E 64 0D 0A 0D 0A 09 70 75    k to send.....pu
01C360:  73 68 20 69 78 0D 0A 09 6C 64 20 64 65 2C 31 30    sh ix...ld de,10
01C370:  32 34 0D 0A 09 61 64 64 20 68 6C 2C 64 65 3A 20    24...add hl,de: 
01C380:  65 78 20 64 65 2C 68 6C 0D 0A 09 6C 64 20 68 6C    ex de,hl...ld hl
01C390:  2C 26 42 42 35 41 0D 0A 09 6C 64 20 61 2C 28 68    ,&BB5A...ld a,(h
01C3A0:  6C 29 3A 20 6C 64 20 28 68 6C 29 2C 32 30 31 0D    l): ld (hl),201.
01C3B0:  0A 09 70 75 73 68 20 68 6C 3A 20 70 75 73 68 20    ..push hl: push 
01C3C0:  61 66 0D 0A 09 63 61 6C 6C 20 26 42 43 39 42 09    af...call &BC9B.
01C3D0:  09 09 3B 43 61 74 61 6C 6F 67 75 65 20 69 6E 20    ..;Catalogue in 
01C3E0:  66 62 75 66 66 2B 31 30 32 34 2C 20 73 63 72 65    fbuff+1024, scre
01C3F0:  65 6E 20 6F 66 66 0D 0A 09 70 6F 70 20 61 66 3A    en off...pop af:
01C400:  20 70 6F 70 20 68 6C 0D 0A 09 6C 64 20 28 68 6C     pop hl...ld (hl
01C410:  29 2C 61 0D 0A 09 70 6F 70 20 69 78 0D 0A 0D 0A    ),a...pop ix....
01C420:  2E 6D 78 6C 6F 6F 70 09 6C 64 20 64 65 2C 31 30    .mxloop.ld de,10
01C430:  32 34 0D 0A 09 6C 64 20 6C 2C 28 69 79 2B 37 29    24...ld l,(iy+7)
01C440:  3A 20 6C 64 20 68 2C 28 69 79 2B 38 29 09 3B 66    : ld h,(iy+8).;f
01C450:  62 61 64 64 72 0D 0A 09 61 64 64 20 68 6C 2C 64    baddr...add hl,d
01C460:  65 0D 0A 09 6C 64 20 28 69 79 2B 34 33 29 2C 6C    e...ld (iy+43),l
01C470:  3A 20 6C 64 20 28 69 79 2B 34 34 29 2C 68 09 3B    : ld (iy+44),h.;
01C480:  70 62 6C 6F 63 6B 0D 0A 0D 0A 09 6C 64 20 6C 2C    pblock.....ld l,
01C490:  28 69 78 29 3A 20 6C 64 20 68 2C 28 69 78 2B 31    (ix): ld h,(ix+1
01C4A0:  29 0D 0A 09 6C 64 20 62 2C 28 68 6C 29 3A 20 69    )...ld b,(hl): i
01C4B0:  6E 63 20 68 6C 0D 0A 09 6C 64 20 65 2C 28 68 6C    nc hl...ld e,(hl
01C4C0:  29 3A 20 69 6E 63 20 68 6C 0D 0A 09 6C 64 20 64    ): inc hl...ld d
01C4D0:  2C 28 68 6C 29 0D 0A 0D 0A 09 78 6F 72 20 61 3A    ,(hl).....xor a:
01C4E0:  20 6C 64 20 28 69 79 2B 36 38 29 2C 61 09 09 3B     ld (iy+68),a..;
01C4F0:  63 68 61 72 20 70 6F 73 0D 0A 09 6C 64 20 61 2C    char pos...ld a,
01C500:  0D 0A 09 3B 2A 2A 2A 20 4C 49 42 52 41 52 59 2E    ...;*** LIBRARY.
01C510:  4D 4F 44 20 2A 2A 2A 0D 0A 0D 0A 09 3B 3E 3E 3E    MOD ***.....;>>>
01C520:  20 4C 44 49 52 20 63 6F 6D 6D 61 6E 64 0D 0A 0D     LDIR command...
01C530:  0A 2E 6C 64 69 72 5F 69 09 63 61 6C 6C 20 62 75    ..ldir_i.call bu
01C540:  66 66 5F 63 0D 0A 0D 0A 09 6C 64 20 63 2C 32 3A    ff_c.....ld c,2:
01C550:  20 63 70 20 31 0D 0A 09 6A 70 20 6E 7A 2C 65 72     cp 1...jp nz,er
01C560:  72 6F 72 0D 0A 0D 0A 09 63 61 6C 6C 20 26 42 43    ror.....call &BC
01C570:  37 44 09 09 09 3B 61 62 61 6E 64 6F 6E 20 69 6E    7D...;abandon in
01C580:  70 75 74 20 66 69 6C 65 0D 0A 0D 0A 09 6C 64 20    put file.....ld 
01C590:  6C 2C 28 69 78 29 3A 20 6C 64 20 68 2C 28 69 78    l,(ix): ld h,(ix
01C5A0:  2B 31 29 0D 0A 09 6C 64 20 62 2C 28 68 6C 29 3A    +1)...ld b,(hl):
01C5B0:  20 69 6E 63 20 68 6C 0D 0A 09 6C 64 20 65 2C 28     inc hl...ld e,(
01C5C0:  68 6C 29 3A 20 69 6E 63 20 68 6C 0D 0A 09 6C 64    hl): inc hl...ld
01C5D0:  20 64 2C 28 68 6C 29 3A 20 65 78 20 64 65 2C 68     d,(hl): ex de,h
01C5E0:  6C 0D 0A 09 6C 64 20 65 2C 28 69 79 2B 37 29 3A    l...ld e,(iy+7):
01C5F0:  20 6C 64 20 64 2C 28 69 79 2B 38 29 09 3B 66 69     ld d,(iy+8).;fi
01C600:  6C 65 20 62 75 66 66 65 72 20 61 64 64 72 65 73    le buffer addres
01C610:  73 0D 0A 0D 0A 09 70 75 73 68 20 62 63 3A 20 70    s.....push bc: p
01C620:  75 73 68 20 68 6C 0D 0A 09 63 61 6C 6C 20 26 42    ush hl...call &B
01C630:  43 37 37 0D 0A 09 70 6F 70 20 68 6C 3A 20 70 6F    C77...pop hl: po
01C640:  70 20 62 63 0D 0A 09 6A 72 20 63 2C 6C 62 72 69    p bc...jr c,lbri
01C650:  6F 6B 0D 0A 0D 0A 09 62 69 74 20 36 2C 61 3A 20    ok.....bit 6,a: 
01C660:  72 65 74 20 6E 7A 0D 0A 09 62 69 74 20 37 2C 61    ret nz...bit 7,a
01C670:  3A 20 72 65 74 20 6E 7A 0D 0A 09 6C 64 20 63 2C    : ret nz...ld c,
01C680:  39 3A 20 6A 70 20 65 72 72 6F 72 09 3B 69 66 20    9: jp error.;if 
01C690:  6E 6F 74 20 61 6C 72 65 61 64 79 20 72 65 70 6F    not already repo
01C6A0:  72 74 65 64 2C 20 63 6F 6D 6D 73 20 65 72 72 6F    rted, comms erro
01C6B0:  72 20 39 0D 0A 0D 0A 2E 6C 62 72 69 6F 6B 09 70    r 9.....lbriok.p
01C6C0:  75 73 68 20 68 6C 0D 0A 09 6C 64 20 68 6C 2C 6C    ush hl...ld hl,l
01C6D0:  62 72 74 78 74 0D 0A 09 63 61 6C 6C 20 73 74 72    brtxt...call str
01C6E0:  69 6E 67 0D 0A 09 70 6F 70 20 68 6C 0D 0A 0D 0A    ing...pop hl....
01C6F0:  2E 6C 66 6E 70 72 74 09 6C 64 20 61 2C 28 68 6C    .lfnprt.ld a,(hl
01C700:  22 20 22 3A 20 6C 64 20 28 69 79 2B 36 39 29 2C    " ": ld (iy+69),
01C710:  61 09 09 3B 66 69 6C 6C 65 72 20 62 79 74 65 0D    a..;filler byte.
01C720:  0A 0D 0A 09 70 75 73 68 20 64 65 0D 0A 09 20 70    ....push de... p
01C730:  75 73 68 20 69 79 3A 20 70 6F 70 20 68 6C 0D 0A    ush iy: pop hl..
01C740:  09 20 6C 64 20 64 65 2C 35 35 3A 20 61 64 64 20    . ld de,55: add 
01C750:  68 6C 2C 64 65 0D 0A 09 70 6F 70 20 64 65 09 09    hl,de...pop de..
01C760:  09 09 3B 48 4C 20 3D 20 66 69 6C 65 6E 61 6D 65    ..;HL = filename
01C770:  0D 0A 0D 0A 2E 63 70 6C 6F 6F 70 09 6C 64 20 61    .....cploop.ld a
01C780:  2C 28 64 65 29 0D 0A 09 70 75 73 68 20 68 6C 3A    ,(de)...push hl:
01C790:  20 63 61 6C 6C 20 63 68 72 63 68 6B 3A 20 70 6F     call chrchk: po
01C7A0:  70 20 68 6C 0D 0A 09 63 61 6C 6C 20 69 6E 73 65    p hl...call inse
01C7B0:  72 74 0D 0A 09 69 6E 63 20 64 65 3A 20 64 6A 6E    rt...inc de: djn
01C7C0:  7A 20 63 70 6C 6F 6F 70 0D 0A 0D 0A 2E 63 6D 6C    z cploop.....cml
01C7D0:  6F 6F 70 09 6C 64 20 61 2C 28 69 79 2B 36 38 29    oop.ld a,(iy+68)
01C7E0:  0D 0A 09 63 70 20 31 31 3A 20 6A 72 20 7A 2C 65    ...cp 11: jr z,e
01C7F0:  78 63 6D 6C 0D 0A 09 6A 70 20 6E 63 2C 65 78 69    xcml...jp nc,exi
01C800:  74 63 6B 0D 0A 0D 0A 09 6C 64 20 61 2C 28 69 79    tck.....ld a,(iy
01C810:  2B 36 39 29 3A 20 6C 64 20 28 68 6C 29 2C 61 3A    +69): ld (hl),a:
01C820:  20 69 6E 63 20 68 6C 0D 0A 0D 0A 09 6C 64 20 61     inc hl.....ld a
01C830:  2C 28 69 79 2B 36 38 29 3A 20 69 6E 63 20 61 3A    ,(iy+68): inc a:
01C840:  20 6C 64 20 28 69 79 2B 36 38 29 2C 61 0D 0A 09     ld (iy+68),a...
01C850:  6A 72 20 63 6D 6C 6F 6F 70 0D 0A 0D 0A 2E 65 78    jr cmloop.....ex
01C860:  63 6D 6C 09 6C 64 20 6C 2C 28 69 79 2B 34 33 29    cml.ld l,(iy+43)
01C870:  3A 20 6C 64 20 68 2C 28 69 79 2B 34 34 29 09 3B    : ld h,(iy+44).;
01C880:  70 62 6C 6F 63 6B 0D 0A 09 6C 64 20 61 2C 28 68    pblock...ld a,(h
01C890:  6C 29 3A 20 63 70 20 32 35 35 3A 20 6A 72 20 6E    l): cp 255: jr n
01C8A0:  7A 2C 65 78 73 72 6C 0D 0A 09 70 75 73 68 20 68    z,exsrl...push h
01C8B0:  6C 0D 0A 0D 0A 09 69 6E 63 20 68 6C 0D 0A 09 70    l.....inc hl...p
01C8C0:  75 73 68 20 68 6C 0D 0A 09 20 70 75 73 68 20 69    ush hl... push i
01C8D0:  79 3A 20 70 6F 70 20 68 6C 0D 0A 09 20 6C 64 20    y: pop hl... ld 
01C8E0:  64 65 2C 35 35 3A 20 61 64 64 20 68 6C 2C 64 65    de,55: add hl,de
01C8F0:  0D 0A 09 20 65 78 20 64 65 2C 68 6C 0D 0A 09 70    ... ex de,hl...p
01C900:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
01C910:  18 00 01 00 02 09 4E E5 18 00 C1 02 00 00 00 02    ......N.........
01C920:  18 00 C6 02 00 00 00 02 18 00 C2 02 00 00 00 02    ................
01C930:  18 00 C7 02 00 00 00 02 18 00 C3 02 00 00 00 02    ................
01C940:  18 00 C8 02 00 00 00 02 18 00 C4 02 00 00 00 02    ................
01C950:  18 00 C9 02 00 00 00 02 18 00 C5 02 00 00 00 02    ................
01C960:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01C970:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01C980:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01C990:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01C9A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01C9B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01C9C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01C9D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01C9E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01C9F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01CA00:  42 42 35 41 0D 0A 0D 0A 09 6C 64 20 61 2C 22 20    BB5A.....ld a," 
01CA10:  22 3A 20 63 61 6C 6C 20 26 42 42 35 41 0D 0A 09    ": call &BB5A...
01CA20:  63 61 6C 6C 20 26 42 43 38 30 3A 20 6C 64 20 6C    call &BC80: ld l
01CA30:  2C 61 3A 20 70 75 73 68 20 68 6C 0D 0A 09 63 61    ,a: push hl...ca
01CA40:  6C 6C 20 26 42 43 38 30 3A 20 70 6F 70 20 68 6C    ll &BC80: pop hl
01CA50:  3A 20 6C 64 20 68 2C 61 0D 0A 09 63 61 6C 6C 20    : ld h,a...call 
01CA60:  70 72 5F 68 6C 68 0D 0A 0D 0A 09 6C 64 20 61 2C    pr_hlh.....ld a,
01CA70:  28 69 79 2B 36 38 29 3A 20 6C 64 20 63 2C 61 0D    (iy+68): ld c,a.
01CA80:  0A 09 6C 64 20 61 2C 28 69 79 2B 36 39 29 0D 0A    ..ld a,(iy+69)..
01CA90:  09 63 70 20 63 3A 20 6A 72 20 6E 7A 2C 74 68 73    .cp c: jr nz,ths
01CAA0:  70 63 73 0D 0A 0D 0A 09 6C 64 20 61 2C 31 3A 20    pcs.....ld a,1: 
01CAB0:  6C 64 20 28 69 79 2B 36 39 29 2C 61 0D 0A 09 6C    ld (iy+69),a...l
01CAC0:  64 20 61 2C 31 30 3A 20 63 61 6C 6C 20 26 42 42    d a,10: call &BB
01CAD0:  35 41 0D 0A 09 6C 64 20 61 2C 31 33 3A 20 63 61    5A...ld a,13: ca
01CAE0:  6C 6C 20 26 42 42 35 41 0D 0A 09 6A 72 20 61 66    ll &BB5A...jr af
01CAF0:  74 65 72 33 0D 0A 0D 0A 2E 74 68 73 70 63 73 09    ter3.....thspcs.
01CB00:  69 6E 63 20 61 3A 20 6C 64 20 28 69 79 2B 36 39    inc a: ld (iy+69
01CB10:  29 2C 61 0D 0A 09 6C 64 20 61 2C 33 32 3A 20 63    ),a...ld a,32: c
01CB20:  61 6C 6C 20 26 42 42 35 41 0D 0A 09 63 61 6C 6C    all &BB5A...call
01CB30:  20 26 42 42 35 41 0D 0A 09 63 61 6C 6C 20 26 42     &BB5A...call &B
01CB40:  42 35 41 0D 0A 0D 0A 2E 61 66 74 65 72 33 09 6C    B5A.....after3.l
01CB50:  64 20 62 2C 31 34 0D 0A 2E 73 6B 69 70 30 09 70    d b,14...skip0.p
01CB60:  75 73 68 20 62 63 3A 20 63 61 6C 6C 20 26 42 43    ush bc: call &BC
01CB70:  38 30 3A 20 70 6F 70 20 62 63 0D 0A 09 64 6A 6E    80: pop bc...djn
01CB80:  7A 20 73 6B 69 70 30 0D 0A 09 72 65 74 0D 0A 1A    z skip0...ret...
01CB90:  4D 4F 44 20 2A 2A 2A 0D 0A 0D 0A 09 3B 3E 3E 3E    MOD ***.....;>>>
01CBA0:  20 4C 44 49 52 20 63 6F 6D 6D 61 6E 64 0D 0A 0D     LDIR command...
01CBB0:  0A 2E 6C 64 69 72 5F 69 09 63 61 6C 6C 20 62 75    ..ldir_i.call bu
01CBC0:  66 66 5F 63 0D 0A 0D 0A 09 6C 64 20 63 2C 32 3A    ff_c.....ld c,2:
01CBD0:  20 63 70 20 31 0D 0A 09 6A 70 20 6E 7A 2C 65 72     cp 1...jp nz,er
01CBE0:  72 6F 72 0D 0A 0D 0A 09 63 61 6C 6C 20 26 42 43    ror.....call &BC
01CBF0:  37 44 09 09 09 3B 61 62 61 6E 64 6F 6E 20 69 6E    7D...;abandon in
01CC00:  73 65 6E 64 20 62 79 74 65 0D 0A 09 6C 64 20 61    send byte...ld a
01CC10:  2C 28 69 79 2B 31 29 09 09 09 3B 6C 6F 63 61 6C    ,(iy+1)...;local
01CC20:  20 65 63 68 6F 3F 0D 0A 09 6F 72 20 61 3A 20 6A     echo?...or a: j
01CC30:  72 20 7A 2C 6E 6F 5F 6B 65 79 0D 0A 09 6C 64 20    r z,no_key...ld 
01CC40:  61 2C 65 0D 0A 09 70 75 73 68 20 61 66 3A 20 63    a,e...push af: c
01CC50:  61 6C 6C 20 76 74 35 32 63 3A 20 70 6F 70 20 61    all vt52c: pop a
01CC60:  66 09 3B 69 66 20 73 6F 2C 20 70 72 69 6E 74 20    f.;if so, print 
01CC70:  63 68 61 72 61 63 74 65 72 0D 0A 09 63 70 20 31    character...cp 1
01CC80:  33 3A 20 6A 72 20 6E 7A 2C 6E 6F 5F 6B 65 79 09    3: jr nz,no_key.
01CC90:  09 3B 43 52 3F 0D 0A 09 6C 64 20 61 2C 31 30 3A    .;CR?...ld a,10:
01CCA0:  20 63 61 6C 6C 20 73 65 6E 64 62 74 09 09 3B 69     call sendbt..;i
01CCB0:  66 20 73 6F 2C 20 61 64 64 20 4C 46 0D 0A 09 6C    f so, add LF...l
01CCC0:  64 20 61 2C 31 30 3A 20 63 61 6C 6C 20 76 74 35    d a,10: call vt5
01CCD0:  32 63 0D 0A 0D 0A 09 3B 47 65 74 20 63 68 61 72    2c.....;Get char
01CCE0:  61 63 74 65 72 73 20 66 72 6F 6D 20 69 6E 70 75    acters from inpu
01CCF0:  74 20 62 75 66 66 65 72 20 61 6E 64 20 70 72 69    t buffer and pri
01CD00:  6E 74 0D 0A 0D 0A 2E 6E 6F 5F 6B 65 79 09 63 61    nt.....no_key.ca
01CD10:  6C 6C 20 26 42 44 31 39 0D 0A 09 63 61 6C 6C 20    ll &BD19...call 
01CD20:  26 42 42 38 34 09 09 09 3B 63 75 72 73 6F 72 20    &BB84...;cursor 
01CD30:  6F 66 66 0D 0A 09 69 66 20 6B 64 73 3A 20 6C 64    off...if kds: ld
01CD40:  20 62 2C 38 09 3B 36 0D 0A 09 65 6C 73 65 3A 20     b,8.;6...else: 
01CD50:  20 20 6C 64 20 62 2C 38 0D 0A 09 65 6E 64 69 66      ld b,8...endif
01CD60:  0D 0A 09 6C 64 20 65 2C 28 69 79 2B 33 38 29 3A    ...ld e,(iy+38):
01CD70:  20 6C 64 20 64 2C 30 09 09 3B 44 45 20 3D 20 28     ld d,0..;DE = (
01CD80:  62 75 66 66 65 72 20 67 65 74 20 6F 66 66 73 65    buffer get offse
01CD90:  74 29 0D 0A 0D 0A 2E 67 63 6C 6F 6F 70 09 70 75    t).....gcloop.pu
01CDA0:  73 68 20 62 63 0D 0A 0D 0A 09 70 75 73 68 20 69    sh bc.....push i
01CDB0:  79 3A 20 70 6F 70 20 68 6C 0D 0A 09 6C 64 20 62    y: pop hl...ld b
01CDC0:  63 2C 31 31 36 3A 20 61 64 64 20 68 6C 2C 62 63    c,116: add hl,bc
01CDD0:  0D 0A 09 61 64 64 20 68 6C 2C 64 65 09 09 09 3B    ...add hl,de...;
01CDE0:  48 4C 20 3D 20 61 64 64 72 65 73 73 20 69 6E 20    HL = address in 
01CDF0:  62 75 66 66 65 72 20 74 6F 20 67 65 74 0D 0A 09    buffer to get...
01CE00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CE10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CE20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CE30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CE40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CE50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CE60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CE70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CE80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CE90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CEA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CEB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CEC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CED0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CEE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CEF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CF00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CF10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CF20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CF30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CF40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CF50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CF60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CF70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CF80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CF90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CFA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CFB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CFC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CFD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CFE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01CFF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
01D000:  64 69 3A 20 6C 64 20 61 2C 28 68 6C 29 3A 20 6F    di: ld a,(hl): o
01D010:  72 20 61 3A 20 6A 70 20 7A 2C 6E 6F 5F 69 6E 70    r a: jp z,no_inp
01D020:  0D 0A 0D 0A 09 6C 64 20 28 68 6C 29 2C 30 3A 20    .....ld (hl),0: 
01D030:  65 69 3A 20 6C 64 20 63 2C 61 0D 0A 09 6C 64 20    ei: ld c,a...ld 
01D040:  61 2C 28 69 79 2B 35 29 3A 20 63 70 20 31 3A 20    a,(iy+5): cp 1: 
01D050:  63 61 6C 6C 20 7A 2C 63 61 70 70 72 6E 09 3B 66    call z,capprn.;f
01D060:  69 6C 65 20 63 61 70 74 75 72 65 20 6D 6F 64 65    ile capture mode
01D070:  0D 0A 2E 70 63 63 68 61 72 09 6C 64 20 61 2C 63    ...pcchar.ld a,c
01D080:  3A 20 70 75 73 68 20 64 65 3A 20 63 61 6C 6C 20    : push de: call 
01D090:  76 74 35 32 63 0D 0A 0D 0A 09 69 66 20 6B 64 73    vt52c.....if kds
01D0A0:  3A 20 64 69 3A 20 63 61 6C 6C 20 66 61 73 74 5F    : di: call fast_
01D0B0:  72 3A 20 70 6F 70 20 64 65 09 3B 70 6F 70 20 64    r: pop de.;pop d
01D0C0:  65 0D 0A 09 65 6C 73 65 3A 20 20 20 64 69 3A 20    e...else:   di: 
01D0D0:  63 61 6C 6C 20 66 61 73 74 5F 72 3A 20 70 6F 70    call fast_r: pop
01D0E0:  20 64 65 0D 0A 09 65 6E 64 69 66 0D 0A 09 69 6E     de...endif...in
01D0F0:  63 20 65 0D 0A 0D 0A 2E 6E 6F 5F 69 6E 70 09 65    c e.....no_inp.e
01D100:  69 3A 20 70 6F 70 20 62 63 3A 20 64 6A 6E 7A 20    i: pop bc: djnz 
01D110:  67 63 6C 6F 6F 70 0D 0A 09 6C 64 20 28 69 79 2B    gcloop...ld (iy+
01D120:  33 38 29 2C 65 09 09 09 3B 28 62 75 66 66 65 72    38),e...;(buffer
01D130:  20 67 65 74 20 6F 66 66 73 65 74 29 20 3D 20 44     get offset) = D
01D140:  45 0D 0A 09 6A 70 20 63 6F 6D 5F 6C 70 0D 0A 0D    E...jp com_lp...
01D150:  0A 09 3B 46 69 6C 65 20 63 61 70 74 75 72 65 20    ..;File capture 
01D160:  6D 6F 64 65 0D 0A 0D 0A 2E 63 61 70 70 72 6E 09    mode.....capprn.
01D170:  6C 64 20 61 2C 63 3A 20 70 75 73 68 20 64 65 3A    ld a,c: push de:
01D180:  20 70 75 73 68 20 68 6C 0D 0A 09 6C 64 20 65 2C     push hl...ld e,
01D190:  28 69 79 2B 34 30 29 3A 20 6C 64 20 64 2C 28 69    (iy+40): ld d,(i
01D1A0:  79 2B 34 31 29 09 3B 44 45 20 3D 20 28 66 69 6C    y+41).;DE = (fil
01D1B0:  65 20 62 79 74 65 73 20 63 6F 75 6E 74 29 0D 0A    e bytes count)..
01D1C0:  09 6C 64 20 6C 2C 28 69 79 2B 37 29 3A 20 6C 64    .ld l,(iy+7): ld
01D1D0:  20 68 2C 28 69 79 2B 38 29 09 3B 48 4C 20 3D 20     h,(iy+8).;HL = 
01D1E0:  28 66 69 6C 65 20 62 75 66 66 65 72 20 61 64 64    (file buffer add
01D1F0:  72 65 73 73 29 0D 0A 09 61 64 64 20 68 6C 2C 64    ress)...add hl,d
01D200:  20 0D 0A 09 3B 2A 2A 2A 20 53 49 4F 2E 4D 4F 44     ...;*** SIO.MOD
01D210:  20 2A 2A 2A 0D 0A 0D 0A 09 3B 3E 3E 3E 20 53 45     ***.....;>>> SE
01D220:  4E 44 20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E 73    ND command.....s
01D230:  65 6E 64 5F 69 09 6C 64 20 63 2C 32 3A 20 6F 72    end_i.ld c,2: or
01D240:  20 61 3A 20 6A 70 20 7A 2C 65 72 72 6F 72 0D 0A     a: jp z,error..
01D250:  0D 0A 09 6C 64 20 65 2C 61 3A 20 64 65 63 20 61    ...ld e,a: dec a
01D260:  3A 20 72 6C 63 61 0D 0A 09 6C 64 20 62 2C 30 3A    : rlca...ld b,0:
01D270:  20 6C 64 20 63 2C 61 0D 0A 09 64 62 20 26 44 44     ld c,a...db &DD
01D280:  3A 20 73 62 63 20 68 6C 2C 62 63 0D 0A 0D 0A 2E    : sbc hl,bc.....
01D290:  73 6C 6F 6F 70 09 6C 64 20 61 2C 28 69 78 29 3A    sloop.ld a,(ix):
01D2A0:  20 63 61 6C 6C 20 73 65 6E 64 62 74 0D 0A 09 64     call sendbt...d
01D2B0:  65 63 20 65 3A 20 72 65 74 20 7A 0D 0A 09 69 6E    ec e: ret z...in
01D2C0:  63 20 69 78 3A 20 69 6E 63 20 69 78 3A 20 6A 72    c ix: inc ix: jr
01D2D0:  20 73 6C 6F 6F 70 0D 0A 0D 0A 09 3B 3E 3E 3E 20     sloop.....;>>> 
01D2E0:  47 45 54 20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E    GET command.....
01D2F0:  67 65 74 5F 69 09 6C 64 20 63 2C 32 3A 20 63 70    get_i.ld c,2: cp
01D300:  20 31 3A 20 6A 70 20 6E 7A 2C 65 72 72 6F 72 0D     1: jp nz,error.
01D310:  0A 09 6C 64 20 6C 2C 28 69 78 29 3A 20 6C 64 20    ..ld l,(ix): ld 
01D320:  68 2C 28 69 78 2B 31 29 0D 0A 09 6C 64 20 65 2C    h,(ix+1)...ld e,
01D330:  28 69 79 2B 39 29 3A 20 6C 64 20 64 2C 28 69 79    (iy+9): ld d,(iy
01D340:  2B 31 30 29 09 09 3B 6C 64 20 64 65 2C 28 74 69    +10)..;ld de,(ti
01D350:  6D 65 73 74 29 0D 0A 09 63 61 6C 6C 20 77 61 69    mest)...call wai
01D360:  74 62 74 3A 20 6A 70 20 6E 63 2C 74 69 6D 6F 75    tbt: jp nc,timou
01D370:  74 0D 0A 09 6C 64 20 28 68 6C 29 2C 61 3A 20 72    t...ld (hl),a: r
01D380:  65 74 0D 0A 0D 0A 09 3B 3E 3E 3E 20 47 52 41 42    et.....;>>> GRAB
01D390:  20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E 67 72 61     command.....gra
01D3A0:  62 5F 69 09 6C 64 20 63 2C 32 3A 20 63 70 20 31    b_i.ld c,2: cp 1
01D3B0:  3A 20 6A 70 20 6E 7A 2C 65 72 72 6F 72 0D 0A 09    : jp nz,error...
01D3C0:  6C 64 20 6C 2C 28 69 78 29 3A 20 6C 64 20 68 2C    ld l,(ix): ld h,
01D3D0:  28 69 78 2B 31 29 0D 0A 09 63 61 6C 6C 20 67 72    (ix+1)...call gr
01D3E0:  61 62 62 74 0D 0A 09 6C 64 20 28 68 6C 29 2C 61    abbt...ld (hl),a
01D3F0:  3A 20 72 65 74 0D 0A 0D 0A 09 3B 3E 3E 3E 20 57    : ret.....;>>> W
01D400:  65 3A 20 6C 64 20 28 68 6C 29 2C 61 0D 0A 09 69    e: ld (hl),a...i
01D410:  6E 63 20 64 65 0D 0A 09 6C 64 20 28 69 79 2B 34    nc de...ld (iy+4
01D420:  30 29 2C 65 3A 20 6C 64 20 28 69 79 2B 34 31 29    0),e: ld (iy+41)
01D430:  2C 64 09 3B 28 66 69 6C 65 20 62 79 74 65 73 20    ,d.;(file bytes 
01D440:  63 6F 75 6E 74 29 20 3D 20 44 45 0D 0A 09 6C 64    count) = DE...ld
01D450:  20 61 2C 64 3A 20 63 70 20 31 32 3A 20 6A 72 20     a,d: cp 12: jr 
01D460:  7A 2C 62 66 69 6C 6C 09 3B 42 75 66 66 65 72 20    z,bfill.;Buffer 
01D470:  66 75 6C 6C 3F 0D 0A 09 70 6F 70 20 68 6C 3A 20    full?...pop hl: 
01D480:  70 6F 70 20 64 65 3A 20 72 65 74 09 09 3B 49 66    pop de: ret..;If
01D490:  20 6E 6F 74 2C 20 72 65 74 75 72 6E 0D 0A 0D 0A     not, return....
01D4A0:  2E 62 66 69 6C 6C 09 70 75 73 68 20 62 63 3A 20    .bfill.push bc: 
01D4B0:  63 61 6C 6C 20 73 74 6F 70 09 09 3B 65 6C 73 65    call stop..;else
01D4C0:  20 79 65 6C 6C 20 22 73 74 6F 70 21 21 21 22 0D     yell "stop!!!".
01D4D0:  0A 0D 0A 09 70 75 73 68 20 69 79 3A 20 70 6F 70    ....push iy: pop
01D4E0:  20 68 6C 0D 0A 09 6C 64 20 64 65 2C 32 34 3A 20     hl...ld de,24: 
01D4F0:  61 64 64 20 68 6C 2C 64 65 0D 0A 09 63 61 6C 6C    add hl,de...call
01D500:  20 26 42 43 45 36 09 09 09 3B 74 65 6D 70 6F 72     &BCE6...;tempor
01D510:  61 72 69 6C 79 20 72 65 6D 6F 76 65 20 66 61 73    arily remove fas
01D520:  74 20 74 69 63 6B 65 72 20 62 6C 6F 63 6B 20 0D    t ticker block .
01D530:  0A 0D 0A 09 6C 64 20 6C 2C 28 69 79 2B 37 29 3A    ....ld l,(iy+7):
01D540:  20 6C 64 20 68 2C 28 69 79 2B 38 29 09 3B 48 4C     ld h,(iy+8).;HL
01D550:  20 3D 20 28 66 69 6C 65 20 62 75 66 66 65 72 20     = (file buffer 
01D560:  61 64 64 72 65 73 73 29 0D 0A 09 6C 64 20 64 65    address)...ld de
01D570:  2C 31 30 32 34 3A 20 61 64 64 20 68 6C 2C 64 65    ,1024: add hl,de
01D580:  0D 0A 09 6C 64 20 62 63 2C 32 30 34 38 0D 0A 2E    ...ld bc,2048...
01D590:  62 66 6C 6F 6F 70 09 6C 64 20 61 2C 28 68 6C 29    bfloop.ld a,(hl)
01D5A0:  3A 20 63 61 6C 6C 20 26 42 43 39 35 09 09 3B 77    : call &BC95..;w
01D5B0:  72 69 74 65 20 74 6F 20 74 68 65 20 64 69 73 63    rite to the disc
01D5C0:  0D 0A 09 6A 72 20 6E 63 2C 63 6D 65 72 72 09 09    ...jr nc,cmerr..
01D5D0:  09 3B 6A 75 6D 70 20 6F 75 74 20 69 66 20 65 72    .;jump out if er
01D5E0:  72 6F 72 0D 0A 09 69 6E 63 20 68 6C 3A 20 64 65    ror...inc hl: de
01D5F0:  63 20 62 63 3A 20 6C 64 20 61 2C 62 3A 20 6F 72    c bc: ld a,b: or
01D600:  52 49 54 45 20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A    RITE command....
01D610:  2E 77 72 74 5F 69 09 6C 64 20 63 2C 32 0D 0A 09    .wrt_i.ld c,2...
01D620:  6F 72 20 61 3A 20 6A 72 20 7A 2C 73 6E 64 63 72    or a: jr z,sndcr
01D630:  09 3B 69 66 20 6E 6F 20 70 61 72 61 6D 65 74 65    .;if no paramete
01D640:  72 73 2C 20 73 65 6E 64 20 43 52 20 6F 6E 6C 79    rs, send CR only
01D650:  0D 0A 09 63 70 20 31 3A 20 6A 70 20 6E 7A 2C 65    ...cp 1: jp nz,e
01D660:  72 72 6F 72 09 3B 65 72 72 6F 72 20 32 20 69 66    rror.;error 2 if
01D670:  20 6E 6F 74 20 31 20 70 61 72 61 6D 65 74 65 72     not 1 parameter
01D680:  0D 0A 0D 0A 09 6C 64 20 6C 2C 28 69 78 29 0D 0A    .....ld l,(ix)..
01D690:  09 6C 64 20 68 2C 28 69 78 2B 31 29 0D 0A 0D 0A    .ld h,(ix+1)....
01D6A0:  09 6C 64 20 61 2C 28 68 6C 29 3A 20 69 6E 63 20    .ld a,(hl): inc 
01D6B0:  68 6C 0D 0A 09 6C 64 20 65 2C 28 68 6C 29 3A 20    hl...ld e,(hl): 
01D6C0:  69 6E 63 20 68 6C 0D 0A 09 6C 64 20 64 2C 28 68    inc hl...ld d,(h
01D6D0:  6C 29 0D 0A 09 65 78 20 64 65 2C 68 6C 0D 0A 09    l)...ex de,hl...
01D6E0:  6F 72 20 61 3A 20 6A 72 20 7A 2C 65 78 69 74 77    or a: jr z,exitw
01D6F0:  72 0D 0A 09 6C 64 20 65 2C 61 0D 0A 0D 0A 2E 77    r...ld e,a.....w
01D700:  72 6C 6F 6F 70 09 6C 64 20 61 2C 28 68 6C 29 3A    rloop.ld a,(hl):
01D710:  20 63 61 6C 6C 20 73 65 6E 64 62 74 0D 0A 09 69     call sendbt...i
01D720:  6E 63 20 68 6C 3A 20 64 65 63 20 65 3A 20 6A 72    nc hl: dec e: jr
01D730:  20 6E 7A 2C 77 72 6C 6F 6F 70 0D 0A 0D 0A 2E 65     nz,wrloop.....e
01D740:  78 69 74 77 72 09 6C 64 20 61 2C 28 69 79 2B 33    xitwr.ld a,(iy+3
01D750:  29 3A 20 6F 72 20 61 3A 20 72 65 74 20 7A 09 3B    ): or a: ret z.;
01D760:  43 52 20 6F 6E 2F 6F 66 66 0D 0A 0D 0A 2E 73 6E    CR on/off.....sn
01D770:  64 63 72 09 6C 64 20 61 2C 31 33 3A 20 6A 70 20    dcr.ld a,13: jp 
01D780:  73 65 6E 64 62 74 0D 0A 0D 0A 09 3B 3E 3E 3E 20    sendbt.....;>>> 
01D790:  43 4F 4D 20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E    COM command.....
01D7A0:  63 6F 6D 5F 69 09 63 61 6C 6C 20 63 62 75 66 66    com_i.call cbuff
01D7B0:  72 09 09 09 3B 43 6C 65 61 72 20 74 65 78 74 20    r...;Clear text 
01D7C0:  62 75 66 66 65 72 0D 0A 09 63 61 6C 6C 20 63 6B    buffer...call ck
01D7D0:  65 79 6F 6E 0D 0A 0D 0A 2E 77 74 63 63 62 09 6C    eyon.....wtccb.l
01D7E0:  64 20 62 63 2C 63 6F 6E 69 6E 3A 20 69 6E 20 61    d bc,conin: in a
01D7F0:  2C 28 63 29 3A 20 62 69 74 20 37 2C 61 09 3B 43    ,(c): bit 7,a.;C
01D800:  20 63 3A 20 6A 72 20 6E 7A 2C 62 66 6C 6F 6F 70     c: jr nz,bfloop
01D810:  0D 0A 09 6C 64 20 28 69 79 2B 34 30 29 2C 65 3A    ...ld (iy+40),e:
01D820:  20 6C 64 20 28 69 79 2B 34 31 29 2C 64 09 3B 66     ld (iy+41),d.;f
01D830:  69 6C 65 20 62 75 66 66 65 72 20 61 64 64 72 65    ile buffer addre
01D840:  73 73 20 62 61 63 6B 20 74 6F 20 6E 6F 72 6D 61    ss back to norma
01D850:  6C 0D 0A 0D 0A 2E 72 65 73 63 6F 6D 09 70 75 73    l.....rescom.pus
01D860:  68 20 69 79 3A 20 70 6F 70 20 68 6C 0D 0A 09 6C    h iy: pop hl...l
01D870:  64 20 64 65 2C 32 34 3A 20 61 64 64 20 68 6C 2C    d de,24: add hl,
01D880:  64 65 0D 0A 09 63 61 6C 6C 20 26 42 43 45 33 09    de...call &BCE3.
01D890:  09 09 3B 72 65 70 6C 61 63 65 20 66 61 73 74 20    ..;replace fast 
01D8A0:  74 69 63 6B 65 72 20 62 6C 6F 63 6B 0D 0A 0D 0A    ticker block....
01D8B0:  09 63 61 6C 6C 20 72 65 73 75 6D 65 09 09 09 3B    .call resume...;
01D8C0:  22 63 61 72 72 79 20 6F 6E 21 21 22 0D 0A 09 70    "carry on!!"...p
01D8D0:  6F 70 20 62 63 3A 20 70 6F 70 20 68 6C 3A 20 70    op bc: pop hl: p
01D8E0:  6F 70 20 64 65 3A 20 72 65 74 09 3B 61 6E 64 20    op de: ret.;and 
01D8F0:  72 65 74 75 72 6E 0D 0A 0D 0A 2E 63 6D 65 72 72    return.....cmerr
01D900:  09 6C 64 20 28 69 79 2B 35 29 2C 30 09 09 09 3B    .ld (iy+5),0...;
01D910:  69 66 20 65 72 72 6F 72 2C 20 63 61 70 74 75 72    if error, captur
01D920:  65 20 6D 6F 64 65 20 4F 46 46 0D 0A 09 63 61 6C    e mode OFF...cal
01D930:  6C 20 26 42 43 39 32 09 09 09 3B 61 62 61 6E 64    l &BC92...;aband
01D940:  6F 6E 20 6F 75 74 70 75 74 20 66 69 6C 65 0D 0A    on output file..
01D950:  09 6A 72 20 72 65 73 63 6F 6D 09 09 09 3B 72 65    .jr rescom...;re
01D960:  73 75 6D 65 20 63 6F 6D 6D 75 6E 69 63 61 74 69    sume communicati
01D970:  6F 6E 21 0D 0A 0D 0A 09 3B 46 61 73 74 20 74 69    on!.....;Fast ti
01D980:  63 6B 65 72 20 65 76 65 6E 74 0D 0A 0D 0A 2E 66    cker event.....f
01D990:  61 73 74 5F 72 09 70 75 73 68 20 69 79 0D 0A 09    ast_r.push iy...
01D9A0:  6C 64 20 69 79 2C 28 26 42 41 46 44 29 0D 0A 09    ld iy,(&BAFD)...
01D9B0:  6C 64 20 68 6C 2C 28 26 42 41 46 44 29 0D 0A 09    ld hl,(&BAFD)...
01D9C0:  6C 64 20 64 65 2C 31 31 36 3A 20 61 64 64 20 68    ld de,116: add h
01D9D0:  6C 2C 64 65 09 09 3B 48 4C 20 3D 20 62 75 66 66    l,de..;HL = buff
01D9E0:  65 72 20 73 74 61 72 74 0D 0A 09 63 61 6C 6C 20    er start...call 
01D9F0:  67 72 61 62 62 74 0D 0A 09 6C 64 20 64 2C 30 3A    grabbt...ld d,0:
01DA00:  68 61 72 61 63 74 65 72 20 61 76 61 69 6C 61 62    haracter availab
01DA10:  6C 65 3F 0D 0A 09 6A 72 20 7A 2C 6E 6F 63 63 62    le?...jr z,noccb
01DA20:  0D 0A 09 6C 64 20 62 63 2C 64 61 74 69 6E 3A 20    ...ld bc,datin: 
01DA30:  69 6E 20 61 2C 28 63 29 3A 20 6A 72 20 77 74 63    in a,(c): jr wtc
01DA40:  63 62 09 3B 49 66 20 73 6F 2C 20 67 65 74 20 61    cb.;If so, get a
01DA50:  6E 64 20 74 72 79 20 75 6E 74 69 6C 20 6E 6F 74    nd try until not
01DA60:  20 61 76 61 69 6C 61 62 6C 65 0D 0A 0D 0A 2E 6E     available.....n
01DA70:  6F 63 63 62 09 63 61 6C 6C 20 26 42 39 31 32 3A    occb.call &B912:
01DA80:  20 6C 64 20 63 2C 61 3A 20 6C 64 20 62 2C 26 38     ld c,a: ld b,&8
01DA90:  30 09 3B 53 65 74 20 75 70 20 66 61 73 74 20 74    0.;Set up fast t
01DAA0:  69 63 6B 65 72 20 69 6E 74 65 72 72 75 70 74 0D    icker interrupt.
01DAB0:  0A 09 70 75 73 68 20 69 79 3A 20 70 6F 70 20 68    ..push iy: pop h
01DAC0:  6C 0D 0A 09 6C 64 20 64 65 2C 32 34 3A 20 61 64    l...ld de,24: ad
01DAD0:  64 20 68 6C 2C 64 65 0D 0A 09 6C 64 20 64 65 2C    d hl,de...ld de,
01DAE0:  66 61 73 74 5F 72 0D 0A 09 63 61 6C 6C 20 26 42    fast_r...call &B
01DAF0:  43 45 30 0D 0A 0D 0A 09 3B 4D 61 69 6E 20 7C 43    CE0.....;Main |C
01DB00:  4F 4D 20 6C 6F 6F 70 0D 0A 0D 0A 2E 63 6F 6D 5F    OM loop.....com_
01DB10:  6C 70 20 6C 64 20 61 2C 28 69 79 2B 32 29 3A 20    lp ld a,(iy+2): 
01DB20:  6F 72 20 61 0D 0A 09 63 61 6C 6C 20 6E 7A 2C 26    or a...call nz,&
01DB30:  42 42 38 31 09 09 09 3B 43 75 72 73 6F 72 20 6F    BB81...;Cursor o
01DB40:  6E 20 69 66 20 73 65 6C 65 63 74 65 64 0D 0A 0D    n if selected...
01DB50:  0A 09 3B 47 65 74 20 6B 65 79 20 61 6E 64 20 73    ..;Get key and s
01DB60:  65 6E 64 0D 0A 0D 0A 09 63 61 6C 6C 20 26 42 42    end.....call &BB
01DB70:  30 39 0D 0A 09 6A 70 20 6E 63 2C 6E 6F 5F 6B 65    09...jp nc,no_ke
01DB80:  79 09 09 09 3B 6E 6F 20 6B 65 79 20 70 72 65 73    y...;no key pres
01DB90:  73 65 64 0D 0A 09 63 70 20 26 46 43 3A 20 6A 70    sed...cp &FC: jp
01DBA0:  20 7A 2C 71 75 69 74 09 09 3B 69 66 20 45 53 43     z,quit..;if ESC
01DBB0:  2C 20 71 75 69 74 0D 0A 09 63 70 20 32 32 34 3A    , quit...cp 224:
01DBC0:  20 63 61 6C 6C 20 7A 2C 26 42 42 36 30 09 09 3B     call z,&BB60..;
01DBD0:  69 66 20 43 4F 50 59 2C 20 63 6F 70 79 20 63 68    if COPY, copy ch
01DBE0:  61 72 61 63 74 65 72 0D 0A 09 6C 64 20 65 2C 61    aracter...ld e,a
01DBF0:  3A 20 63 61 6C 6C 20 73 65 6E 64 62 74 09 09 3B    : call sendbt..;
01DC00:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
01DC10:  19 00 01 00 02 09 4E E5 19 00 C4 02 00 00 00 02    ......N.........
01DC20:  19 00 C9 02 00 00 00 02 19 00 C5 02 00 00 00 02    ................
01DC30:  19 00 C1 02 00 00 00 02 19 00 C6 02 00 00 00 02    ................
01DC40:  19 00 C2 02 00 00 00 02 19 00 C7 02 00 00 00 02    ................
01DC50:  19 00 C3 02 00 00 00 02 19 00 C8 02 00 00 00 02    ................
01DC60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01DC70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01DC80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01DC90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01DCA0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01DCB0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01DCC0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01DCD0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01DCE0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01DCF0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01DD00:  65 2C 31 31 36 3A 20 61 64 64 20 69 78 2C 64 65    e,116: add ix,de
01DD10:  09 09 3B 49 58 20 3D 20 62 75 66 66 65 72 0D 0A    ..;IX = buffer..
01DD20:  09 6C 64 20 65 2C 28 69 79 2B 39 29 3A 20 6C 64    .ld e,(iy+9): ld
01DD30:  20 64 2C 28 69 79 2B 31 30 29 09 3B 44 45 20 3D     d,(iy+10).;DE =
01DD40:  20 74 69 6D 65 6F 75 74 0D 0A 09 63 61 6C 6C 20     timeout...call 
01DD50:  77 61 69 74 62 74 3A 20 6A 70 20 6E 63 2C 77 74    waitbt: jp nc,wt
01DD60:  6D 6F 75 74 0D 0A 09 6C 64 20 62 2C 28 69 79 2B    mout...ld b,(iy+
01DD70:  34 32 29 09 09 09 3B 42 20 3D 20 6E 75 6D 62 65    42)...;B = numbe
01DD80:  72 20 6F 66 20 70 61 72 61 6D 65 74 65 72 73 0D    r of parameters.
01DD90:  0A 0D 0A 2E 63 68 6B 73 6C 70 09 6C 64 20 65 2C    ....chkslp.ld e,
01DDA0:  28 69 78 29 3A 20 6C 64 20 64 2C 30 0D 0A 09 6C    (ix): ld d,0...l
01DDB0:  64 20 6C 2C 28 69 78 2B 32 29 3A 20 6C 64 20 68    d l,(ix+2): ld h
01DDC0:  2C 28 69 78 2B 33 29 0D 0A 09 61 64 64 20 68 6C    ,(ix+3)...add hl
01DDD0:  2C 64 65 0D 0A 09 63 70 20 28 68 6C 29 3A 20 6A    ,de...cp (hl): j
01DDE0:  72 20 7A 2C 63 6F 72 72 65 73 0D 0A 09 6C 64 20    r z,corres...ld 
01DDF0:  28 69 78 29 2C 30 0D 0A 0D 0A 2E 72 66 63 6B 09    (ix),0.....rfck.
01DE00:  69 6E 63 20 69 78 3A 20 69 6E 63 20 69 78 3A 20    inc ix: inc ix: 
01DE10:  69 6E 63 20 69 78 3A 20 69 6E 63 20 69 78 0D 0A    inc ix: inc ix..
01DE20:  09 64 6A 6E 7A 20 63 68 6B 73 6C 70 0D 0A 0D 0A    .djnz chkslp....
01DE30:  09 70 75 73 68 20 69 79 3A 20 70 6F 70 20 68 6C    .push iy: pop hl
01DE40:  0D 0A 09 69 6E 63 20 68 3A 20 64 65 63 20 68 6C    ...inc h: dec hl
01DE50:  09 09 09 3B 48 4C 20 3D 20 62 75 66 66 65 72 2B    ...;HL = buffer+
01DE60:  32 35 35 0D 0A 09 6C 64 20 28 68 6C 29 2C 61 0D    255...ld (hl),a.
01DE70:  0A 09 6C 64 20 61 2C 28 69 79 2B 35 29 3A 20 6F    ..ld a,(iy+5): o
01DE80:  72 20 61 09 09 3B 41 20 3D 20 66 69 6C 65 20 63    r a..;A = file c
01DE90:  61 70 74 75 72 65 20 6D 6F 64 65 0D 0A 09 63 61    apture mode...ca
01DEA0:  6C 6C 20 6E 7A 2C 63 61 70 70 72 6E 0D 0A 09 6A    ll nz,capprn...j
01DEB0:  72 20 77 67 6C 6F 6F 70 0D 0A 0D 0A 2E 63 6F 72    r wgloop.....cor
01DEC0:  72 65 73 09 69 6E 63 20 65 3A 20 6C 64 20 28 69    res.inc e: ld (i
01DED0:  78 29 2C 65 0D 0A 09 6C 64 20 61 2C 65 3A 20 63    x),e...ld a,e: c
01DEE0:  70 20 28 69 78 2B 31 29 3A 20 6C 64 20 61 2C 28    p (ix+1): ld a,(
01DEF0:  68 6C 29 0D 0A 09 6A 72 20 6E 7A 2C 72 66 63 6B    hl)...jr nz,rfck
01DF00:  0D 0A 0D 0A 09 6A 72 20 63 2C 74 79 70 5F 6F 6B    .....jr c,typ_ok
01DF10:  3A 20 6A 70 20 7A 2C 6F 64 65 72 72 3A 20 6C 64    : jp z,oderr: ld
01DF20:  20 63 2C 38 3A 20 6A 70 20 65 72 72 6F 72 0D 0A     c,8: jp error..
01DF30:  0D 0A 2E 74 79 70 5F 6F 6B 09 63 61 6C 6C 20 26    ...typ_ok.call &
01DF40:  42 43 38 30 3A 20 6A 72 20 6E 63 2C 71 75 5F 74    BC80: jr nc,qu_t
01DF50:  79 70 0D 0A 09 63 61 6C 6C 20 76 74 35 32 63 0D    yp...call vt52c.
01DF60:  0A 09 63 61 6C 6C 20 26 42 42 30 39 3A 20 6A 72    ..call &BB09: jr
01DF70:  20 6E 63 2C 74 79 70 5F 6F 6B 0D 0A 09 63 70 20     nc,typ_ok...cp 
01DF80:  26 46 43 3A 20 6A 72 20 7A 2C 71 75 5F 74 79 70    &FC: jr z,qu_typ
01DF90:  3A 20 63 61 6C 6C 20 26 42 42 38 31 3A 20 63 61    : call &BB81: ca
01DFA0:  6C 6C 20 26 42 42 31 38 3A 20 63 61 6C 6C 20 26    ll &BB18: call &
01DFB0:  42 42 38 34 0D 0A 09 6A 72 20 74 79 70 5F 6F 6B    BB84...jr typ_ok
01DFC0:  0D 0A 0D 0A 2E 71 75 5F 74 79 70 09 6A 70 20 26    .....qu_typ.jp &
01DFD0:  42 43 37 41 0D 0A 0D 0A 09 3B 3E 3E 3E 20 44 54    BC7A.....;>>> DT
01DFE0:  52 20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E 64 74    R command.....dt
01DFF0:  72 5F 69 09 69 66 20 6B 64 73 3A 20 6C 64 20 63    r_i.if kds: ld c
01E000:  2C 31 39 3A 20 6A 70 20 65 72 72 6F 72 0D 0A 09    ,19: jp error...
01E010:  65 6C 73 65 3A 09 6C 64 20 63 2C 32 3A 20 63 70    else:.ld c,2: cp
01E020:  20 31 3A 20 6A 70 20 6E 7A 2C 65 72 72 6F 72 0D     1: jp nz,error.
01E030:  0A 09 09 6C 64 20 61 2C 28 69 78 29 0D 0A 09 09    ...ld a,(ix)....
01E040:  6C 64 20 63 2C 31 3A 20 63 70 20 32 3A 20 6A 70    ld c,1: cp 2: jp
01E050:  20 6E 63 2C 65 72 72 6F 72 0D 0A 09 09 72 72 63     nc,error....rrc
01E060:  61 3A 20 70 75 73 68 20 61 66 3A 20 6C 64 20 61    a: push af: ld a
01E070:  2C 28 69 79 2B 31 32 29 3A 20 61 6E 64 20 31 32    ,(iy+12): and 12
01E080:  37 09 3B 75 73 69 6E 67 20 72 65 67 69 73 74 65    7.;using registe
01E090:  72 20 35 0D 0A 09 09 70 6F 70 20 62 63 3A 20 6F    r 5....pop bc: o
01E0A0:  72 20 62 3A 20 6C 64 20 28 69 79 2B 31 32 29 2C    r b: ld (iy+12),
01E0B0:  61 3A 20 6C 64 20 64 2C 35 0D 0A 09 65 6E 64 69    a: ld d,5...endi
01E0C0:  66 3A 09 6A 70 20 70 72 65 67 0D 0A 0D 0A 09 3B    f:.jp preg.....;
01E0D0:  3E 3E 3E 20 52 54 53 20 63 6F 6D 6D 61 6E 64 0D    >>> RTS command.
01E0E0:  0A 0D 0A 2E 72 74 73 5F 69 09 6C 64 20 63 2C 32    ....rts_i.ld c,2
01E0F0:  3A 20 63 70 20 31 3A 20 6A 70 20 6E 7A 2C 65 72    : cp 1: jp nz,er
01E100:  0D 0A 0D 0A 2E 77 73 72 76 61 6C 09 6C 64 20 6C    .....wsrval.ld l
01E110:  2C 28 69 79 2B 33 38 29 3A 20 6C 64 20 68 2C 28    ,(iy+38): ld h,(
01E120:  69 79 2B 33 39 29 0D 0A 09 70 75 73 68 20 68 6C    iy+39)...push hl
01E130:  3A 20 70 6F 70 20 69 78 09 09 09 3B 48 4C 20 3D    : pop ix...;HL =
01E140:  20 62 75 66 66 65 72 20 67 65 74 20 6F 66 66 73     buffer get offs
01E150:  65 74 0D 0A 09 6C 64 20 61 2C 28 69 79 2B 34 32    et...ld a,(iy+42
01E160:  29 09 09 09 3B 41 20 3D 20 6E 75 6D 62 65 72 20    )...;A = number 
01E170:  6F 66 20 70 61 72 61 6D 65 74 65 72 73 0D 0A 09    of parameters...
01E180:  6C 64 20 65 2C 61 3A 20 6C 64 20 64 2C 30 3A 20    ld e,a: ld d,0: 
01E190:  61 64 64 20 69 78 2C 64 65 3A 20 61 64 64 20 69    add ix,de: add i
01E1A0:  78 2C 64 65 0D 0A 09 6C 64 20 6C 2C 28 69 78 29    x,de...ld l,(ix)
01E1B0:  3A 20 6C 64 20 68 2C 28 69 78 2B 31 29 3A 20 6C    : ld h,(ix+1): l
01E1C0:  64 20 28 68 6C 29 2C 62 0D 0A 09 72 65 74 0D 0A    d (hl),b...ret..
01E1D0:  0D 0A 2E 77 74 6D 6F 75 74 09 6C 64 20 62 2C 30    ...wtmout.ld b,0
01E1E0:  3A 20 63 61 6C 6C 20 77 73 72 76 61 6C 0D 0A 09    : call wsrval...
01E1F0:  6A 70 20 74 69 6D 6F 75 74 0D 0A 0D 0A 09 3B 3E    jp timout.....;>
01E200:  3E 3E 20 49 4E 50 55 54 20 63 6F 6D 6D 61 6E 64    >> INPUT command
01E210:  0D 0A 0D 0A 2E 69 6E 70 5F 69 09 6C 64 20 63 2C    .....inp_i.ld c,
01E220:  32 0D 0A 09 63 70 20 63 3A 20 6A 72 20 7A 2C 69    2...cp c: jr z,i
01E230:  6E 70 77 0D 0A 09 63 70 20 31 3A 20 6A 70 20 6E    npw...cp 1: jp n
01E240:  7A 2C 65 72 72 6F 72 0D 0A 2E 69 6E 70 5F 6F 6B    z,error...inp_ok
01E250:  09 6C 64 20 6C 2C 28 69 78 29 0D 0A 09 6C 64 20    .ld l,(ix)...ld 
01E260:  68 2C 28 69 78 2B 31 29 0D 0A 09 6C 64 20 61 2C    h,(ix+1)...ld a,
01E270:  28 68 6C 29 3A 20 69 6E 63 20 68 6C 0D 0A 09 6C    (hl): inc hl...l
01E280:  64 20 65 2C 28 68 6C 29 3A 20 69 6E 63 20 68 6C    d e,(hl): inc hl
01E290:  0D 0A 09 6C 64 20 64 2C 28 68 6C 29 0D 0A 09 65    ...ld d,(hl)...e
01E2A0:  78 20 64 65 2C 68 6C 09 09 09 3B 41 20 63 6F 6E    x de,hl...;A con
01E2B0:  74 61 69 6E 73 20 6C 65 6E 67 74 68 2C 20 48 4C    tains length, HL
01E2C0:  20 61 64 64 72 65 73 73 20 6F 66 20 73 74 72 69     address of stri
01E2D0:  6E 67 0D 0A 09 6C 64 20 62 2C 61 0D 0A 0D 0A 2E    ng...ld b,a.....
01E2E0:  69 6E 70 5F 6C 70 09 6C 64 20 65 2C 28 69 79 2B    inp_lp.ld e,(iy+
01E2F0:  39 29 3A 20 6C 64 20 64 2C 28 69 79 2B 31 30 29    9): ld d,(iy+10)
01E300:  20 6C 64 20 65 2C 28 69 79 2B 33 36 29 09 09 3B     ld e,(iy+36)..;
01E310:  44 45 20 3D 20 62 75 66 66 65 72 20 6F 66 66 73    DE = buffer offs
01E320:  65 74 0D 0A 09 61 64 64 20 68 6C 2C 64 65 0D 0A    et...add hl,de..
01E330:  09 6C 64 20 28 68 6C 29 2C 61 3A 20 6F 72 20 61    .ld (hl),a: or a
01E340:  0D 0A 09 6A 70 20 7A 2C 72 65 74 66 72 3A 20 69    ...jp z,retfr: i
01E350:  6E 63 20 65 0D 0A 0D 0A 09 6C 64 20 68 6C 2C 28    nc e.....ld hl,(
01E360:  26 42 41 46 44 29 0D 0A 09 70 75 73 68 20 64 65    &BAFD)...push de
01E370:  0D 0A 09 6C 64 20 64 65 2C 31 31 36 3A 20 61 64    ...ld de,116: ad
01E380:  64 20 68 6C 2C 64 65 09 09 3B 48 4C 20 3D 20 62    d hl,de..;HL = b
01E390:  75 66 66 65 72 20 73 74 61 72 74 0D 0A 09 63 61    uffer start...ca
01E3A0:  6C 6C 20 67 72 61 62 62 74 0D 0A 09 70 6F 70 20    ll grabbt...pop 
01E3B0:  64 65 09 09 09 09 3B 44 45 20 3D 20 62 75 66 66    de....;DE = buff
01E3C0:  65 72 20 6F 66 66 73 65 74 0D 0A 09 61 64 64 20    er offset...add 
01E3D0:  68 6C 2C 64 65 0D 0A 09 6C 64 20 28 68 6C 29 2C    hl,de...ld (hl),
01E3E0:  61 3A 20 6F 72 20 61 0D 0A 09 6A 70 20 7A 2C 72    a: or a...jp z,r
01E3F0:  65 74 66 72 31 3A 20 69 6E 63 20 65 0D 0A 0D 0A    etfr1: inc e....
01E400:  2E 72 65 74 66 72 31 09 6C 64 20 28 69 79 2B 33    .retfr1.ld (iy+3
01E410:  36 29 2C 65 09 09 09 3B 62 75 66 66 65 72 20 73    6),e...;buffer s
01E420:  74 6F 72 65 20 6F 66 66 73 65 74 20 3D 20 44 45    tore offset = DE
01E430:  0D 0A 2E 72 65 74 66 72 09 70 6F 70 20 69 79 3A    ...retfr.pop iy:
01E440:  20 72 65 74 0D 0A 0D 0A 09 3B 51 75 69 74 20 66     ret.....;Quit f
01E450:  72 6F 6D 20 7C 43 4F 4D 20 6D 6F 64 65 0D 0A 0D    rom |COM mode...
01E460:  0A 2E 71 75 69 74 09 63 61 6C 6C 20 26 42 42 34    ..quit.call &BB4
01E470:  38 0D 0A 09 63 61 6C 6C 20 26 42 42 31 42 09 09    8...call &BB1B..
01E480:  09 3B 72 65 6D 6F 76 65 20 62 72 65 61 6B 0D 0A    .;remove break..
01E490:  09 63 61 6C 6C 20 26 42 42 38 34 09 09 09 3B 63    .call &BB84...;c
01E4A0:  75 72 73 6F 72 20 6F 66 66 0D 0A 09 70 75 73 68    ursor off...push
01E4B0:  20 69 79 3A 20 70 6F 70 20 68 6C 0D 0A 09 6C 64     iy: pop hl...ld
01E4C0:  20 64 65 2C 32 34 3A 20 61 64 64 20 68 6C 2C 64     de,24: add hl,d
01E4D0:  65 09 09 3B 48 4C 20 3D 20 66 61 73 74 20 74 69    e..;HL = fast ti
01E4E0:  63 6B 65 72 20 62 6C 6F 63 6B 20 61 64 64 72 65    cker block addre
01E4F0:  73 73 0D 0A 09 63 61 6C 6C 20 26 42 43 45 36 0D    ss...call &BCE6.
01E500:  09 3B 44 45 20 3D 20 74 69 6D 65 6F 75 74 0D 0A    .;DE = timeout..
01E510:  09 70 75 73 68 20 62 63 3A 20 63 61 6C 6C 20 77    .push bc: call w
01E520:  61 69 74 62 74 3A 20 70 6F 70 20 62 63 0D 0A 09    aitbt: pop bc...
01E530:  6A 70 20 6E 63 2C 74 69 6D 6F 75 74 0D 0A 09 6C    jp nc,timout...l
01E540:  64 20 28 68 6C 29 2C 61 0D 0A 09 69 6E 63 20 68    d (hl),a...inc h
01E550:  6C 0D 0A 09 64 6A 6E 7A 20 69 6E 70 5F 6C 70 0D    l...djnz inp_lp.
01E560:  0A 09 72 65 74 0D 0A 0D 0A 2E 69 6E 70 77 09 6C    ..ret.....inpw.l
01E570:  64 20 6C 2C 28 69 78 2B 32 29 0D 0A 09 6C 64 20    d l,(ix+2)...ld 
01E580:  68 2C 28 69 78 2B 33 29 0D 0A 09 6C 64 20 61 2C    h,(ix+3)...ld a,
01E590:  28 68 6C 29 3A 20 69 6E 63 20 68 6C 0D 0A 09 6C    (hl): inc hl...l
01E5A0:  64 20 65 2C 28 68 6C 29 3A 20 69 6E 63 20 68 6C    d e,(hl): inc hl
01E5B0:  0D 0A 09 6C 64 20 64 2C 28 68 6C 29 0D 0A 09 65    ...ld d,(hl)...e
01E5C0:  78 20 64 65 2C 68 6C 09 09 09 3B 41 20 63 6F 6E    x de,hl...;A con
01E5D0:  74 61 69 6E 73 20 6C 65 6E 67 74 68 2C 20 48 4C    tains length, HL
01E5E0:  20 61 64 64 72 65 73 73 20 6F 66 20 73 74 72 69     address of stri
01E5F0:  6E 67 0D 0A 09 6C 64 20 65 2C 61 0D 0A 0D 0A 2E    ng...ld e,a.....
01E600:  69 6E 70 77 5F 6C 09 70 75 73 68 20 64 65 3A 20    inpw_l.push de: 
01E610:  63 61 6C 6C 20 67 72 61 62 62 74 3A 20 70 6F 70    call grabbt: pop
01E620:  20 64 65 0D 0A 09 6A 70 20 6E 63 2C 69 6E 70 77     de...jp nc,inpw
01E630:  5F 6C 0D 0A 09 6C 64 20 28 68 6C 29 2C 61 0D 0A    _l...ld (hl),a..
01E640:  09 63 70 20 28 69 78 29 3A 20 6A 70 20 7A 2C 69    .cp (ix): jp z,i
01E650:  6E 70 77 63 0D 0A 09 69 6E 63 20 68 6C 0D 0A 09    npwc...inc hl...
01E660:  64 65 63 20 65 3A 20 6A 70 20 6E 7A 2C 69 6E 70    dec e: jp nz,inp
01E670:  77 5F 6C 0D 0A 09 72 65 74 0D 0A 0D 0A 2E 69 6E    w_l...ret.....in
01E680:  70 77 63 09 6C 64 20 6C 2C 28 69 78 2B 32 29 0D    pwc.ld l,(ix+2).
01E690:  0A 09 6C 64 20 68 2C 28 69 78 2B 33 29 0D 0A 09    ..ld h,(ix+3)...
01E6A0:  6C 64 20 61 2C 65 0D 0A 09 64 65 63 20 61 0D 0A    ld a,e...dec a..
01E6B0:  2E 69 77 63 5F 6C 09 72 65 74 20 7A 0D 0A 09 64    .iwc_l.ret z...d
01E6C0:  65 63 20 28 68 6C 29 0D 0A 09 64 65 63 20 61 0D    ec (hl)...dec a.
01E6D0:  0A 09 6A 70 20 69 77 63 5F 6C 0D 0A 0D 0A 09 3B    ..jp iwc_l.....;
01E6E0:  3E 3E 3E 20 43 41 50 54 55 52 45 20 63 6F 6D 6D    >>> CAPTURE comm
01E6F0:  61 6E 64 0D 0A 0D 0A 2E 63 61 70 74 5F 69 09 63    and.....capt_i.c
01E700:  0A 0D 0A 09 3B 4B 65 79 20 73 65 74 74 69 6E 67    ....;Key setting
01E710:  73 0D 0A 0D 0A 2E 63 6B 65 79 6F 66 09 63 61 6C    s.....ckeyof.cal
01E720:  6C 20 26 42 42 30 30 3A 20 6A 70 20 26 42 42 31    l &BB00: jp &BB1
01E730:  38 0D 0A 0D 0A 2E 63 6B 65 79 6F 6E 09 6C 64 20    8.....ckeyon.ld 
01E740:  61 2C 37 39 3A 20 6C 64 20 62 2C 38 3A 20 63 61    a,79: ld b,8: ca
01E750:  6C 6C 20 73 65 74 6B 65 79 0D 0A 09 6C 64 20 61    ll setkey...ld a
01E760:  2C 30 3A 20 6C 64 20 62 2C 31 31 3A 20 63 61 6C    ,0: ld b,11: cal
01E770:  6C 20 73 65 74 6B 65 79 0D 0A 09 6C 64 20 61 2C    l setkey...ld a,
01E780:  32 3A 20 6C 64 20 62 2C 31 30 3A 20 63 61 6C 6C    2: ld b,10: call
01E790:  20 73 65 74 6B 65 79 0D 0A 09 6C 64 20 61 2C 38     setkey...ld a,8
01E7A0:  3A 20 6C 64 20 62 2C 38 3A 20 63 61 6C 6C 20 73    : ld b,8: call s
01E7B0:  65 74 6B 65 79 0D 0A 09 6C 64 20 61 2C 31 3A 20    etkey...ld a,1: 
01E7C0:  6C 64 20 62 2C 39 3A 20 63 61 6C 6C 20 73 65 74    ld b,9: call set
01E7D0:  6B 65 79 0D 0A 09 6C 64 20 61 2C 39 3A 20 6C 64    key...ld a,9: ld
01E7E0:  20 62 2C 32 37 3A 20 63 61 6C 6C 20 73 65 74 6B     b,27: call setk
01E7F0:  65 79 0D 0A 09 6C 64 20 61 2C 39 3A 20 6C 64 20    ey...ld a,9: ld 
01E800:  62 2C 32 32 34 3A 20 6A 70 20 26 42 42 32 37 0D    b,224: jp &BB27.
01E810:  0A 0D 0A 2E 73 65 74 6B 65 79 09 6C 64 20 63 2C    ....setkey.ld c,
01E820:  61 3A 20 63 61 6C 6C 20 26 42 42 32 37 09 3B 20    a: call &BB27.; 
01E830:  6E 6F 72 6D 61 6C 20 6B 65 79 0D 0A 09 6C 64 20    normal key...ld 
01E840:  61 2C 63 3A 20 63 61 6C 6C 20 26 42 42 32 44 09    a,c: call &BB2D.
01E850:  3B 2B 53 48 49 46 54 0D 0A 09 6C 64 20 61 2C 63    ;+SHIFT...ld a,c
01E860:  3A 20 6A 70 20 26 42 42 33 33 09 3B 2B 43 54 52    : jp &BB33.;+CTR
01E870:  4C 0D 0A 0D 0A 0D 0A 09 3B 3E 3E 3E 20 57 41 49    L.......;>>> WAI
01E880:  54 20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E 77 61    T command.....wa
01E890:  69 74 5F 69 09 6C 64 20 63 2C 32 3A 20 6F 72 20    it_i.ld c,2: or 
01E8A0:  61 3A 20 6A 70 20 7A 2C 65 72 72 6F 72 0D 0A 09    a: jp z,error...
01E8B0:  63 70 20 31 3A 20 6A 72 20 6E 7A 2C 77 6E 6F 74    cp 1: jr nz,wnot
01E8C0:  31 0D 0A 09 70 75 73 68 20 69 79 3A 20 70 6F 70    1...push iy: pop
01E8D0:  20 69 78 0D 0A 09 6C 64 20 64 65 2C 31 31 36 2B     ix...ld de,116+
01E8E0:  32 35 30 3A 20 61 64 64 20 69 78 2C 64 65 09 3B    250: add ix,de.;
01E8F0:  49 58 20 3D 20 62 75 66 66 65 72 2B 32 35 30 0D    IX = buffer+250.
01E900:  61 6C 6C 20 62 75 66 66 5F 63 0D 0A 09 6C 64 20    all buff_c...ld 
01E910:  63 2C 32 3A 20 63 70 20 31 3A 20 6A 70 20 6E 7A    c,2: cp 1: jp nz
01E920:  2C 65 72 72 6F 72 0D 0A 0D 0A 09 6C 64 20 65 2C    ,error.....ld e,
01E930:  28 69 79 2B 37 29 3A 20 6C 64 20 64 2C 28 69 79    (iy+7): ld d,(iy
01E940:  2B 38 29 09 3B 44 45 20 3D 20 66 69 6C 65 20 62    +8).;DE = file b
01E950:  75 66 66 65 72 20 61 64 64 72 65 73 73 0D 0A 09    uffer address...
01E960:  6C 64 20 68 6C 2C 31 30 32 33 3A 20 61 64 64 20    ld hl,1023: add 
01E970:  68 6C 2C 64 65 3A 20 65 78 20 64 65 2C 68 6C 0D    hl,de: ex de,hl.
01E980:  0A 09 6C 64 20 6C 2C 28 69 78 29 3A 20 6C 64 20    ..ld l,(ix): ld 
01E990:  68 2C 28 69 78 2B 31 29 3A 20 70 75 73 68 20 68    h,(ix+1): push h
01E9A0:  6C 3A 20 70 6F 70 20 69 78 0D 0A 09 6C 64 20 62    l: pop ix...ld b
01E9B0:  2C 28 69 78 29 3A 20 6C 64 20 6C 2C 28 69 78 2B    ,(ix): ld l,(ix+
01E9C0:  31 29 3A 20 6C 64 20 68 2C 28 69 78 2B 32 29 3A    1): ld h,(ix+2):
01E9D0:  20 63 61 6C 6C 20 26 42 43 38 43 0D 0A 0D 0A 09     call &BC8C.....
01E9E0:  6A 72 20 63 2C 63 6F 70 5F 6F 6B 3A 20 6A 72 20    jr c,cop_ok: jr 
01E9F0:  7A 2C 6F 64 65 72 72 3A 20 6C 64 20 63 2C 38 3A    z,oderr: ld c,8:
01EA00:  20 6A 70 20 65 72 72 6F 72 0D 0A 2E 6F 64 65 72     jp error...oder
01EA10:  72 09 6C 64 20 63 2C 39 3A 20 6A 70 20 65 72 72    r.ld c,9: jp err
01EA20:  6F 72 0D 0A 0D 0A 2E 63 6F 70 5F 6F 6B 09 6C 64    or.....cop_ok.ld
01EA30:  20 61 2C 31 3A 20 6C 64 20 28 69 79 2B 35 29 2C     a,1: ld (iy+5),
01EA40:  61 09 09 3B 41 20 3D 3E 20 66 69 6C 65 20 63 61    a..;A => file ca
01EA50:  70 74 75 72 65 20 6D 6F 64 65 0D 0A 09 6C 64 20    pture mode...ld 
01EA60:  68 6C 2C 31 30 32 34 3A 20 6C 64 20 28 69 79 2B    hl,1024: ld (iy+
01EA70:  34 30 29 2C 6C 3A 20 6C 64 20 28 69 79 2B 34 31    40),l: ld (iy+41
01EA80:  29 2C 68 09 3B 48 4C 20 3D 3E 20 66 69 6C 65 20    ),h.;HL => file 
01EA90:  62 79 74 65 73 20 63 6F 75 6E 74 0D 0A 09 78 6F    bytes count...xo
01EAA0:  72 20 61 3A 20 6A 70 20 26 42 43 39 35 0D 0A 0D    r a: jp &BC95...
01EAB0:  0A 09 3B 3E 3E 3E 20 43 4C 4F 53 45 20 63 6F 6D    ..;>>> CLOSE com
01EAC0:  6D 61 6E 64 0D 0A 0D 0A 2E 63 6C 6F 73 5F 69 09    mand.....clos_i.
01EAD0:  6C 64 20 63 2C 31 30 3A 20 6C 64 20 61 2C 28 69    ld c,10: ld a,(i
01EAE0:  79 2B 35 29 3A 20 6F 72 20 61 3A 20 6A 70 20 7A    y+5): or a: jp z
01EAF0:  2C 65 72 72 6F 72 0D 0A 09 78 6F 72 20 61 3A 20    ,error...xor a: 
01EB00:  0A 09 70 75 73 68 20 69 78 3A 20 70 6F 70 20 64    ..push ix: pop d
01EB10:  65 0D 0A 09 64 65 63 20 64 65 3A 20 64 65 63 20    e...dec de: dec 
01EB20:  64 65 09 09 09 3B 44 45 20 3D 20 62 75 66 66 65    de...;DE = buffe
01EB30:  72 2B 32 34 38 0D 0A 09 6C 64 20 6C 2C 28 69 78    r+248...ld l,(ix
01EB40:  29 3A 20 6C 64 20 68 2C 28 69 78 2B 31 29 0D 0A    ): ld h,(ix+1)..
01EB50:  09 6C 64 20 28 69 78 29 2C 6C 3A 20 6C 64 20 28    .ld (ix),l: ld (
01EB60:  69 78 2B 31 29 2C 68 3A 20 6C 64 20 28 69 78 2B    ix+1),h: ld (ix+
01EB70:  32 29 2C 65 3A 20 6C 64 20 28 69 78 2B 33 29 2C    2),e: ld (ix+3),
01EB80:  64 0D 0A 09 69 6E 63 20 61 0D 0A 2E 77 6E 6F 74    d...inc a...wnot
01EB90:  31 09 64 65 63 20 61 0D 0A 09 6C 64 20 28 69 79    1.dec a...ld (iy
01EBA0:  2B 34 32 29 2C 61 09 09 09 3B 41 20 3E 3D 20 6E    +42),a...;A >= n
01EBB0:  75 6D 62 65 72 20 6F 66 20 70 61 72 61 6D 65 74    umber of paramet
01EBC0:  65 72 73 0D 0A 09 70 75 73 68 20 69 78 3A 20 70    ers...push ix: p
01EBD0:  6F 70 20 64 65 0D 0A 09 6C 64 20 28 69 79 2B 33    op de...ld (iy+3
01EBE0:  38 29 2C 65 3A 20 6C 64 20 28 69 79 2B 33 39 29    8),e: ld (iy+39)
01EBF0:  2C 64 09 3B 62 75 66 66 65 72 20 67 65 74 20 6F    ,d.;buffer get o
01EC00:  66 66 73 65 74 20 3D 20 49 58 0D 0A 0D 0A 09 70    ffset = IX.....p
01EC10:  75 73 68 20 68 6C 3A 20 70 75 73 68 20 69 79 3A    ush hl: push iy:
01EC20:  20 70 6F 70 20 68 6C 0D 0A 09 6C 64 20 64 65 2C     pop hl...ld de,
01EC30:  31 31 36 3A 20 61 64 64 20 68 6C 2C 64 65 3A 20    116: add hl,de: 
01EC40:  65 78 20 64 65 2C 68 6C 0D 0A 09 70 6F 70 20 68    ex de,hl...pop h
01EC50:  6C 09 09 09 09 3B 44 45 20 3D 20 62 75 66 66 65    l....;DE = buffe
01EC60:  72 0D 0A 2E 73 74 62 75 66 66 09 65 78 20 64 65    r...stbuff.ex de
01EC70:  2C 68 6C 3A 20 6C 64 20 28 68 6C 29 2C 30 3A 20    ,hl: ld (hl),0: 
01EC80:  65 78 20 64 65 2C 68 6C 3A 20 69 6E 63 20 64 65    ex de,hl: inc de
01EC90:  0D 0A 09 6C 64 20 6C 2C 28 69 78 29 3A 20 6C 64    ...ld l,(ix): ld
01ECA0:  20 68 2C 28 69 78 2B 31 29 3A 20 69 6E 63 20 69     h,(ix+1): inc i
01ECB0:  78 3A 20 69 6E 63 20 69 78 0D 0A 09 6C 64 69 3A    x: inc ix...ldi:
01ECC0:  20 6C 64 69 3A 20 6C 64 69 3A 20 64 65 63 20 61     ldi: ldi: dec a
01ECD0:  3A 20 6A 72 20 6E 7A 2C 73 74 62 75 66 66 0D 0A    : jr nz,stbuff..
01ECE0:  0D 0A 2E 77 67 6C 6F 6F 70 09 70 75 73 68 20 69    ...wgloop.push i
01ECF0:  79 3A 20 70 6F 70 20 69 78 0D 0A 09 6C 64 20 64    y: pop ix...ld d
01ED00:  6C 64 20 28 69 79 2B 35 29 2C 61 09 09 3B 6E 6F    ld (iy+5),a..;no
01ED10:  20 66 69 6C 65 20 63 61 70 74 75 72 65 20 6D 6F     file capture mo
01ED20:  64 65 0D 0A 09 6C 64 20 6C 2C 28 69 79 2B 37 29    de...ld l,(iy+7)
01ED30:  3A 20 6C 64 20 68 2C 28 69 79 2B 38 29 09 3B 48    : ld h,(iy+8).;H
01ED40:  4C 20 3D 20 66 69 6C 65 20 62 75 66 66 65 72 20    L = file buffer 
01ED50:  61 64 64 72 65 73 73 0D 0A 09 6C 64 20 64 65 2C    address...ld de,
01ED60:  31 30 32 34 3A 20 61 64 64 20 68 6C 2C 64 65 0D    1024: add hl,de.
01ED70:  0A 09 6C 64 20 63 2C 28 69 79 2B 34 30 29 3A 20    ..ld c,(iy+40): 
01ED80:  6C 64 20 62 2C 28 69 79 2B 34 31 29 09 3B 42 43    ld b,(iy+41).;BC
01ED90:  20 3D 20 66 69 6C 65 20 62 79 74 65 73 20 63 6F     = file bytes co
01EDA0:  75 6E 74 0D 0A 09 64 65 63 20 62 63 0D 0A 2E 63    unt...dec bc...c
01EDB0:  6C 73 5F 6C 70 09 6C 64 20 61 2C 28 68 6C 29 3A    ls_lp.ld a,(hl):
01EDC0:  20 63 61 6C 6C 20 26 42 43 39 35 3A 20 69 6E 63     call &BC95: inc
01EDD0:  20 68 6C 3A 20 64 65 63 20 62 63 3A 20 6C 64 20     hl: dec bc: ld 
01EDE0:  61 2C 62 3A 20 63 70 20 33 3A 20 6A 72 20 6E 7A    a,b: cp 3: jr nz
01EDF0:  2C 63 6C 73 5F 6C 70 0D 0A 09 6A 70 20 26 42 43    ,cls_lp...jp &BC
01EE00:  38 46 0D 0A 0D 0A 09 3B 3E 3E 3E 20 54 59 50 45    8F.....;>>> TYPE
01EE10:  20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E 74 79 70     command.....typ
01EE20:  65 5F 69 09 63 61 6C 6C 20 62 75 66 66 5F 63 0D    e_i.call buff_c.
01EE30:  0A 09 6C 64 20 63 2C 32 3A 20 63 70 20 31 3A 20    ..ld c,2: cp 1: 
01EE40:  6A 70 20 6E 7A 2C 65 72 72 6F 72 0D 0A 0D 0A 09    jp nz,error.....
01EE50:  6C 64 20 65 2C 28 69 79 2B 37 29 3A 20 6C 64 20    ld e,(iy+7): ld 
01EE60:  64 2C 28 69 79 2B 38 29 09 3B 44 45 20 3D 20 66    d,(iy+8).;DE = f
01EE70:  69 6C 65 20 62 75 66 66 65 72 20 61 64 64 72 65    ile buffer addre
01EE80:  73 73 0D 0A 09 6C 64 20 68 6C 2C 31 30 32 34 3A    ss...ld hl,1024:
01EE90:  20 61 64 64 20 68 6C 2C 64 65 3A 20 65 78 20 64     add hl,de: ex d
01EEA0:  65 2C 68 6C 0D 0A 09 6C 64 20 6C 2C 28 69 78 29    e,hl...ld l,(ix)
01EEB0:  3A 20 6C 64 20 68 2C 28 69 78 2B 31 29 3A 20 70    : ld h,(ix+1): p
01EEC0:  75 73 68 20 68 6C 3A 20 70 6F 70 20 69 78 0D 0A    ush hl: pop ix..
01EED0:  09 6C 64 20 62 2C 28 69 78 29 3A 20 6C 64 20 6C    .ld b,(ix): ld l
01EEE0:  2C 28 69 78 2B 31 29 3A 20 6C 64 20 68 2C 28 69    ,(ix+1): ld h,(i
01EEF0:  78 2B 32 29 3A 20 63 61 6C 6C 20 26 42 43 37 37    x+2): call &BC77
01EF00:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
01EF10:  1A 00 01 00 02 09 4E E5 1A 00 C7 02 00 00 00 02    ......N.........
01EF20:  1A 00 C3 02 00 00 00 02 1A 00 C8 02 00 00 00 02    ................
01EF30:  1A 00 C4 02 00 00 00 02 1A 00 C9 02 00 00 00 02    ................
01EF40:  1A 00 C5 02 00 00 00 02 1A 00 C1 02 00 00 00 02    ................
01EF50:  1A 00 C6 02 00 00 00 02 1A 00 C2 02 00 00 00 02    ................
01EF60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01EF70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01EF80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01EF90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01EFA0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01EFB0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01EFC0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01EFD0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01EFE0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01EFF0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
01F000:  2D 64 69 67 69 74 20 64 65 63 69 6D 61 6C 0D 0A    -digit decimal..
01F010:  0D 0A 2E 70 72 5F 64 65 63 09 6C 64 20 64 2C 31    ...pr_dec.ld d,1
01F020:  30 30 3A 20 63 61 6C 6C 20 70 64 5F 63 68 72 0D    00: call pd_chr.
01F030:  0A 09 6C 64 20 64 2C 31 30 3A 20 63 61 6C 6C 20    ..ld d,10: call 
01F040:  70 64 5F 63 68 72 0D 0A 09 6C 64 20 64 2C 31 0D    pd_chr...ld d,1.
01F050:  0A 0D 0A 2E 70 64 5F 63 68 72 09 6C 64 20 63 2C    ....pd_chr.ld c,
01F060:  30 0D 0A 2E 70 64 5F 6C 6F 70 09 73 75 62 20 64    0...pd_lop.sub d
01F070:  3A 20 6A 72 20 63 2C 70 64 5F 66 69 6E 0D 0A 09    : jr c,pd_fin...
01F080:  69 6E 63 20 63 3A 20 6A 72 20 70 64 5F 6C 6F 70    inc c: jr pd_lop
01F090:  0D 0A 0D 0A 2E 70 64 5F 66 69 6E 09 61 64 64 20    .....pd_fin.add 
01F0A0:  61 2C 64 0D 0A 09 70 75 73 68 20 61 66 3A 20 6C    a,d...push af: l
01F0B0:  64 20 61 2C 63 3A 20 61 64 64 20 26 33 30 3A 20    d a,c: add &30: 
01F0C0:  63 61 6C 6C 20 26 42 42 35 41 3A 20 70 6F 70 20    call &BB5A: pop 
01F0D0:  61 66 0D 0A 09 72 65 74 0D 0A 0D 0A 09 3B 3E 3E    af...ret.....;>>
01F0E0:  3E 20 50 72 69 6E 74 20 41 20 61 73 20 33 2D 64    > Print A as 3-d
01F0F0:  69 67 69 74 20 64 65 63 69 6D 61 6C 2C 20 77 69    igit decimal, wi
01F100:  74 68 20 73 70 61 63 65 73 0D 0A 0D 0A 2E 70 72    th spaces.....pr
01F110:  5F 61 73 70 09 6C 64 20 62 2C 30 0D 0A 09 6C 64    _asp.ld b,0...ld
01F120:  20 64 2C 31 30 30 3A 20 63 61 6C 6C 20 70 73 5F     d,100: call ps_
01F130:  63 68 72 0D 0A 09 6C 64 20 64 2C 31 30 3A 20 63    chr...ld d,10: c
01F140:  61 6C 6C 20 70 73 5F 63 68 72 0D 0A 09 6C 64 20    all ps_chr...ld 
01F150:  62 2C 31 3A 20 6C 64 20 64 2C 31 0D 0A 0D 0A 2E    b,1: ld d,1.....
01F160:  70 73 5F 63 68 72 09 6C 64 20 63 2C 30 0D 0A 2E    ps_chr.ld c,0...
01F170:  70 73 5F 6C 6F 70 09 73 75 62 20 64 3A 20 6A 72    ps_lop.sub d: jr
01F180:  20 63 2C 70 73 5F 66 69 6E 0D 0A 09 69 6E 63 20     c,ps_fin...inc 
01F190:  63 3A 20 6A 72 20 70 73 5F 6C 6F 70 0D 0A 0D 0A    c: jr ps_lop....
01F1A0:  2E 70 73 5F 66 69 6E 09 61 64 64 20 61 2C 64 0D    .ps_fin.add a,d.
01F1B0:  0A 09 70 75 73 68 20 61 66 3A 20 6C 64 20 61 2C    ..push af: ld a,
01F1C0:  63 3A 20 6F 72 20 62 3A 20 6A 72 20 6E 7A 2C 70    c: or b: jr nz,p
01F1D0:  73 5F 6E 73 70 0D 0A 09 6C 64 20 61 2C 32 34 30    s_nsp...ld a,240
01F1E0:  0D 0A 2E 70 73 5F 6E 73 70 09 61 64 64 20 34 38    ...ps_nsp.add 48
01F1F0:  3A 20 63 61 6C 6C 20 26 42 42 35 41 0D 0A 09 70    : call &BB5A...p
01F200:  65 73 73 0D 0A 09 6C 64 20 68 6C 2C 31 30 32 34    ess...ld hl,1024
01F210:  3A 20 61 64 64 20 68 6C 2C 64 65 3A 20 65 78 20    : add hl,de: ex 
01F220:  64 65 2C 68 6C 0D 0A 09 6C 64 20 6C 2C 28 69 78    de,hl...ld l,(ix
01F230:  29 3A 20 6C 64 20 68 2C 28 69 78 2B 31 29 3A 20    ): ld h,(ix+1): 
01F240:  70 75 73 68 20 68 6C 3A 20 70 6F 70 20 69 78 0D    push hl: pop ix.
01F250:  0A 09 6C 64 20 62 2C 28 69 78 29 3A 20 6C 64 20    ..ld b,(ix): ld 
01F260:  6C 2C 28 69 78 2B 31 29 3A 20 6C 64 20 68 2C 28    l,(ix+1): ld h,(
01F270:  69 78 2B 32 29 3A 20 63 61 6C 6C 20 26 42 43 37    ix+2): call &BC7
01F280:  37 0D 0A 0D 0A 09 6A 72 20 63 2C 65 6F 70 5F 6F    7.....jr c,eop_o
01F290:  6B 3A 20 6A 70 20 7A 2C 6F 64 65 72 72 3A 20 6C    k: jp z,oderr: l
01F2A0:  64 20 63 2C 38 3A 20 6A 70 20 65 72 72 6F 72 0D    d c,8: jp error.
01F2B0:  0A 0D 0A 2E 65 6F 70 5F 6F 6B 09 70 75 73 68 20    ....eop_ok.push 
01F2C0:  69 79 3A 20 70 6F 70 20 68 6C 0D 0A 09 6C 64 20    iy: pop hl...ld 
01F2D0:  64 65 2C 32 34 3A 20 61 64 64 20 68 6C 2C 64 65    de,24: add hl,de
01F2E0:  09 09 3B 48 4C 20 3D 20 66 61 73 74 20 74 69 63    ..;HL = fast tic
01F2F0:  6B 65 72 20 62 6C 6F 63 6B 0D 0A 09 63 61 6C 6C    ker block...call
01F300:  20 26 42 39 31 32 3A 20 6C 64 20 63 2C 61 3A 20     &B912: ld c,a: 
01F310:  6C 64 20 62 2C 26 38 30 0D 0A 09 6C 64 20 64 65    ld b,&80...ld de
01F320:  2C 66 61 73 74 5F 72 3A 20 63 61 6C 6C 20 26 42    ,fast_r: call &B
01F330:  43 45 30 09 3B 73 65 74 20 75 70 20 66 61 73 74    CE0.;set up fast
01F340:  20 74 69 63 6B 65 72 20 69 6E 74 65 72 72 75 70     ticker interrup
01F350:  74 0D 0A 0D 0A 2E 65 63 68 6F 6C 70 09 63 61 6C    t.....echolp.cal
01F360:  6C 20 26 42 43 38 30 3A 20 6A 70 20 6E 63 2C 65    l &BC80: jp nc,e
01F370:  71 75 69 74 0D 0A 09 63 70 20 31 30 3A 20 6A 72    quit...cp 10: jr
01F380:  20 7A 2C 65 63 68 6F 6C 70 0D 0A 09 63 61 6C 6C     z,echolp...call
01F390:  20 73 65 6E 64 62 74 0D 0A 0D 0A 09 6C 64 20 65     sendbt.....ld e
01F3A0:  2C 28 69 79 2B 33 38 29 3A 20 6C 64 20 64 2C 30    ,(iy+38): ld d,0
01F3B0:  09 09 3B 44 45 20 3D 20 62 75 66 66 65 72 20 67    ..;DE = buffer g
01F3C0:  65 74 20 6F 66 66 73 65 74 0D 0A 0D 0A 2E 65 63    et offset.....ec
01F3D0:  6C 6F 6F 70 09 70 75 73 68 20 69 79 3A 20 70 6F    loop.push iy: po
01F3E0:  70 20 68 6C 3A 20 61 64 64 20 68 6C 2C 64 65 3A    p hl: add hl,de:
01F3F0:  20 70 75 73 68 20 64 65 0D 0A 09 6C 64 20 64 65     push de...ld de
01F400:  6F 70 20 61 66 3A 20 72 65 74 0D 0A 0D 0A 09 3B    op af: ret.....;
01F410:  3E 3E 3E 20 50 72 69 6E 74 20 48 4C 20 61 73 20    >>> Print HL as 
01F420:  28 75 70 20 74 6F 29 20 35 2D 64 69 67 69 74 20    (up to) 5-digit 
01F430:  64 65 63 69 6D 61 6C 0D 0A 0D 0A 2E 70 72 5F 68    decimal.....pr_h
01F440:  6C 09 6C 64 20 63 2C 30 0D 0A 09 6C 64 20 64 65    l.ld c,0...ld de
01F450:  2C 31 30 30 30 30 3A 20 63 61 6C 6C 20 70 72 68    ,10000: call prh
01F460:  6C 72 0D 0A 09 6C 64 20 64 65 2C 31 30 30 30 3A    lr...ld de,1000:
01F470:  20 63 61 6C 6C 20 70 72 68 6C 72 0D 0A 09 6C 64     call prhlr...ld
01F480:  20 64 65 2C 31 30 30 3A 20 63 61 6C 6C 20 70 72     de,100: call pr
01F490:  68 6C 72 0D 0A 09 6C 64 20 64 65 2C 31 30 3A 20    hlr...ld de,10: 
01F4A0:  63 61 6C 6C 20 70 72 68 6C 72 0D 0A 09 6C 64 20    call prhlr...ld 
01F4B0:  63 2C 31 3A 20 6C 64 20 64 65 2C 31 0D 0A 2E 70    c,1: ld de,1...p
01F4C0:  72 68 6C 72 09 78 6F 72 20 61 0D 0A 2E 70 72 68    rhlr.xor a...prh
01F4D0:  6C 6C 70 09 73 63 66 3A 20 63 63 66 3A 20 73 62    llp.scf: ccf: sb
01F4E0:  63 20 68 6C 2C 64 65 3A 20 6A 72 20 63 2C 70 72    c hl,de: jr c,pr
01F4F0:  68 6C 6F 0D 0A 09 69 6E 63 20 61 3A 20 6A 72 20    hlo...inc a: jr 
01F500:  70 72 68 6C 6C 70 0D 0A 2E 70 72 68 6C 6F 09 61    prhllp...prhlo.a
01F510:  64 64 20 68 6C 2C 64 65 3A 20 6F 72 20 61 3A 20    dd hl,de: or a: 
01F520:  6A 72 20 6E 7A 2C 70 72 68 6C 79 3A 20 63 70 20    jr nz,prhly: cp 
01F530:  63 3A 20 72 65 74 20 7A 0D 0A 2E 70 72 68 6C 79    c: ret z...prhly
01F540:  09 6C 64 20 63 2C 31 3A 20 61 64 64 20 26 33 30    .ld c,1: add &30
01F550:  3A 20 63 61 6C 6C 20 26 42 42 35 41 3A 20 72 65    : call &BB5A: re
01F560:  74 0D 0A 0D 0A 09 3B 3E 3E 3E 20 50 72 69 6E 74    t.....;>>> Print
01F570:  20 48 4C 20 61 73 20 34 2D 64 69 67 69 74 20 68     HL as 4-digit h
01F580:  65 78 0D 0A 0D 0A 2E 70 72 5F 68 6C 68 09 6C 64    ex.....pr_hlh.ld
01F590:  20 61 2C 68 3A 20 63 61 6C 6C 20 70 72 5F 61 68     a,h: call pr_ah
01F5A0:  0D 0A 09 6C 64 20 61 2C 6C 3A 20 6A 70 20 70 72    ...ld a,l: jp pr
01F5B0:  5F 61 68 0D 0A 0D 0A 09 3B 3E 3E 3E 20 50 72 69    _ah.....;>>> Pri
01F5C0:  6E 74 20 41 20 61 73 20 32 2D 64 69 67 69 74 20    nt A as 2-digit 
01F5D0:  68 65 78 0D 0A 0D 0A 2E 70 72 5F 61 68 09 6C 64    hex.....pr_ah.ld
01F5E0:  20 62 2C 30 3A 20 6C 64 20 63 2C 61 0D 0A 09 72     b,0: ld c,a...r
01F5F0:  72 20 61 3A 20 72 72 20 61 3A 20 72 72 20 61 3A    r a: rr a: rr a:
01F600:  2C 31 31 36 3A 20 61 64 64 20 68 6C 2C 64 65 3A    ,116: add hl,de:
01F610:  20 70 6F 70 20 64 65 09 3B 48 4C 20 3D 20 70 6F     pop de.;HL = po
01F620:  73 69 74 69 6F 6E 20 69 6E 20 62 75 66 66 65 72    sition in buffer
01F630:  0D 0A 09 6C 64 20 61 2C 28 68 6C 29 3A 20 6F 72    ...ld a,(hl): or
01F640:  20 61 3A 20 6A 70 20 7A 2C 65 63 68 6F 6C 70 0D     a: jp z,echolp.
01F650:  0A 0D 0A 09 63 61 6C 6C 20 76 74 35 32 63 3A 20    ....call vt52c: 
01F660:  6C 64 20 28 68 6C 29 2C 30 0D 0A 0D 0A 09 64 69    ld (hl),0.....di
01F670:  3A 20 70 75 73 68 20 64 65 3A 20 63 61 6C 6C 20    : push de: call 
01F680:  66 61 73 74 5F 72 3A 20 70 6F 70 20 64 65 3A 20    fast_r: pop de: 
01F690:  65 69 0D 0A 09 69 6E 63 20 65 0D 0A 09 6C 64 20    ei...inc e...ld 
01F6A0:  28 69 79 2B 33 38 29 2C 65 09 09 09 3B 44 45 20    (iy+38),e...;DE 
01F6B0:  3D 3E 20 62 75 66 66 65 72 20 67 65 74 20 6F 66    => buffer get of
01F6C0:  66 73 65 74 0D 0A 09 6A 72 20 65 63 6C 6F 6F 70    fset...jr ecloop
01F6D0:  0D 0A 0D 0A 2E 65 71 75 69 74 09 70 75 73 68 20    .....equit.push 
01F6E0:  69 79 3A 20 70 6F 70 20 68 6C 0D 0A 09 6C 64 20    iy: pop hl...ld 
01F6F0:  64 65 2C 32 34 3A 20 61 64 64 20 68 6C 2C 64 65    de,24: add hl,de
01F700:  3A 20 63 61 6C 6C 20 26 42 43 45 36 0D 0A 09 6A    : call &BCE6...j
01F710:  70 20 26 42 43 37 41 0D 0A 0D 0A 2E 74 69 6D 6F    p &BC7A.....timo
01F720:  75 74 09 6C 64 20 63 2C 31 31 3A 20 6A 70 20 65    ut.ld c,11: jp e
01F730:  72 72 6F 72 0D 0A 1A 64 20 63 2C 32 3A 20 6F 72    rror...d c,2: or
01F740:  20 61 3A 20 6A 70 20 7A 2C 65 72 72 6F 72 0D 0A     a: jp z,error..
01F750:  0D 0A 09 6C 64 20 65 2C 61 3A 20 64 65 63 20 61    ...ld e,a: dec a
01F760:  3A 20 72 6C 63 61 0D 0A 09 6C 64 20 62 2C 30 3A    : rlca...ld b,0:
01F770:  20 6C 64 20 63 2C 61 0D 0A 09 64 62 20 26 44 44     ld c,a...db &DD
01F780:  20 7A 2C 65 63 68 6F 6C 70 0D 0A 09 63 61 6C 6C     z,echolp...call
01F790:  20 73 65 6E 64 62 74 0D 0A 0D 0A 09 6C 64 20 65     sendbt.....ld e
01F7A0:  2C 28 69 79 2B 33 38 29 3A 20 6C 64 20 64 2C 30    ,(iy+38): ld d,0
01F7B0:  09 09 3B 44 45 20 3D 20 62 75 66 66 65 72 20 67    ..;DE = buffer g
01F7C0:  65 74 20 6F 66 66 73 65 74 0D 0A 0D 0A 2E 65 63    et offset.....ec
01F7D0:  6C 6F 6F 70 09 70 75 73 68 20 69 79 3A 20 70 6F    loop.push iy: po
01F7E0:  70 20 68 6C 3A 20 61 64 64 20 68 6C 2C 64 65 3A    p hl: add hl,de:
01F7F0:  20 70 75 73 68 20 64 65 0D 0A 09 6C 64 20 64 65     push de...ld de
01F800:  20 72 72 20 61 0D 0A 2E 70 72 61 68 69 6C 09 61     rr a...prahil.a
01F810:  6E 64 20 31 35 0D 0A 09 63 70 20 31 30 3A 20 6A    nd 15...cp 10: j
01F820:  72 20 6E 63 2C 70 72 61 68 6C 74 0D 0A 09 61 64    r nc,prahlt...ad
01F830:  64 20 61 2C 34 38 0D 0A 09 63 61 6C 6C 20 26 42    d a,48...call &B
01F840:  42 35 41 0D 0A 09 6A 72 20 70 72 61 68 6F 74 0D    B5A...jr prahot.
01F850:  0A 2E 70 72 61 68 6C 74 09 61 64 64 20 61 2C 35    ..prahlt.add a,5
01F860:  35 0D 0A 09 63 61 6C 6C 20 26 42 42 35 41 0D 0A    5...call &BB5A..
01F870:  2E 70 72 61 68 6F 74 09 6C 64 20 61 2C 62 0D 0A    .prahot.ld a,b..
01F880:  09 63 70 20 31 3A 20 72 65 74 20 7A 0D 0A 09 6C    .cp 1: ret z...l
01F890:  64 20 61 2C 63 3A 20 6C 64 20 62 2C 31 0D 0A 09    d a,c: ld b,1...
01F8A0:  6A 72 20 70 72 61 68 69 6C 0D 0A 0D 0A 09 3B 3E    jr prahil.....;>
01F8B0:  3E 3E 20 53 65 6E 64 20 62 79 74 65 20 41 20 74    >> Send byte A t
01F8C0:  6F 20 73 65 72 69 61 6C 20 69 6E 74 65 72 66 61    o serial interfa
01F8D0:  63 65 0D 0A 0D 0A 09 69 66 20 6B 64 73 0D 0A 2E    ce.....if kds...
01F8E0:  73 65 6E 64 62 74 09 6C 64 20 62 63 2C 63 6F 6E    sendbt.ld bc,con
01F8F0:  69 6E 0D 0A 2E 73 65 6C 6F 6F 70 09 69 6E 20 64    in...seloop.in d
01F900:  2C 28 63 29 3A 20 62 69 74 20 36 2C 64 3A 20 6A    ,(c): bit 6,d: j
01F910:  72 20 7A 2C 73 65 6C 6F 6F 70 0D 0A 09 63 61 6C    r z,seloop...cal
01F920:  6C 20 72 65 76 65 72 73 0D 0A 09 6C 64 20 62 63    l revers...ld bc
01F930:  2C 64 61 74 6F 75 74 3A 20 6F 75 74 20 28 63 29    ,datout: out (c)
01F940:  2C 61 3A 20 72 65 74 0D 0A 09 65 6C 73 65 0D 0A    ,a: ret...else..
01F950:  2E 73 65 6E 64 62 74 09 6C 64 20 62 63 2C 63 6F    .sendbt.ld bc,co
01F960:  6E 70 6F 72 74 0D 0A 2E 73 65 6C 6F 6F 70 09 69    nport...seloop.i
01F970:  6E 20 64 2C 28 63 29 3A 20 72 72 20 64 3A 20 72    n d,(c): rr d: r
01F980:  72 20 64 3A 20 72 72 20 64 3A 20 6A 72 20 6E 63    r d: rr d: jr nc
01F990:  2C 73 65 6C 6F 6F 70 0D 0A 09 6C 64 20 62 63 2C    ,seloop...ld bc,
01F9A0:  64 61 74 70 6F 72 74 3A 20 6F 75 74 20 28 63 29    datport: out (c)
01F9B0:  2C 61 3A 20 72 65 74 0D 0A 09 65 6E 64 69 66 0D    ,a: ret...endif.
01F9C0:  0A 0D 0A 09 3B 3E 3E 3E 20 47 65 74 20 62 79 74    ....;>>> Get byt
01F9D0:  65 20 41 20 66 72 6F 6D 20 73 65 72 69 61 6C 20    e A from serial 
01F9E0:  69 6E 74 65 72 66 61 63 65 0D 0A 0D 0A 09 69 66    interface.....if
01F9F0:  20 6B 64 73 0D 0A 2E 67 65 74 62 74 09 6C 64 20     kds...getbt.ld 
01FA00:  0D 0A 09 3B 2A 2A 2A 20 53 55 42 52 4F 55 54 2E    ...;*** SUBROUT.
01FA10:  4D 4F 44 20 2A 2A 2A 0D 0A 0D 0A 09 3B 3E 3E 3E    MOD ***.....;>>>
01FA20:  20 43 68 65 63 6B 20 66 6F 72 20 66 69 6C 65 20     Check for file 
01FA30:  62 75 66 66 65 72 0D 0A 0D 0A 2E 62 75 66 66 5F    buffer.....buff_
01FA40:  63 09 70 75 73 68 20 61 66 3A 20 70 75 73 68 20    c.push af: push 
01FA50:  62 63 0D 0A 09 6C 64 20 61 2C 28 69 79 2B 37 29    bc...ld a,(iy+7)
01FA60:  3A 20 6C 64 20 62 2C 61 0D 0A 09 6C 64 20 61 2C    : ld b,a...ld a,
01FA70:  28 69 79 2B 38 29 3A 20 6F 72 20 62 0D 0A 09 70    (iy+8): or b...p
01FA80:  6F 70 20 62 63 0D 0A 09 6A 72 20 7A 2C 65 62 75    op bc...jr z,ebu
01FA90:  66 66 0D 0A 09 6C 64 20 61 2C 28 69 79 2B 35 29    ff...ld a,(iy+5)
01FAA0:  3A 20 6F 72 20 61 3A 20 6A 72 20 6E 7A 2C 65 62    : or a: jr nz,eb
01FAB0:  75 66 66 32 0D 0A 09 70 6F 70 20 61 66 3A 20 72    uff2...pop af: r
01FAC0:  65 74 0D 0A 2E 65 62 75 66 66 09 70 6F 70 20 61    et...ebuff.pop a
01FAD0:  66 3A 20 70 6F 70 20 68 6C 3A 20 6C 64 20 63 2C    f: pop hl: ld c,
01FAE0:  36 3A 20 6A 70 20 65 72 72 6F 72 0D 0A 2E 65 62    6: jp error...eb
01FAF0:  75 66 66 32 09 70 6F 70 20 61 66 3A 20 70 6F 70    uff2.pop af: pop
01FB00:  20 68 6C 3A 20 6C 64 20 63 2C 38 3A 20 6A 70 20     hl: ld c,8: jp 
01FB10:  65 72 72 6F 72 0D 0A 0D 0A 09 3B 3E 3E 3E 20 43    error.....;>>> C
01FB20:  6F 6E 76 65 72 74 20 62 61 75 64 20 72 61 74 65    onvert baud rate
01FB30:  20 48 4C 20 74 6F 20 38 32 35 33 20 76 61 6C 75     HL to 8253 valu
01FB40:  65 0D 0A 0D 0A 2E 62 63 6F 6E 76 09 6C 64 20 69    e.....bconv.ld i
01FB50:  78 2C 74 62 38 32 35 33 0D 0A 2E 62 63 6C 6F 6F    x,tb8253...bcloo
01FB60:  70 09 6C 64 20 61 2C 28 69 78 2B 32 29 0D 0A 09    p.ld a,(ix+2)...
01FB70:  6F 72 20 61 3A 20 6A 72 20 7A 2C 62 63 65 72 72    or a: jr z,bcerr
01FB80:  09 3B 72 75 6E 20 6F 75 74 21 0D 0A 09 6C 64 20    .;run out!...ld 
01FB90:  61 2C 28 69 78 29 0D 0A 09 63 70 20 6C 3A 20 6A    a,(ix)...cp l: j
01FBA0:  72 20 6E 7A 2C 64 69 66 66 09 3B 6C 6F 77 20 62    r nz,diff.;low b
01FBB0:  79 74 65 20 64 69 66 66 65 72 65 6E 74 0D 0A 09    yte different...
01FBC0:  6C 64 20 61 2C 28 69 78 2B 31 29 0D 0A 09 63 70    ld a,(ix+1)...cp
01FBD0:  20 68 3A 20 6A 72 20 6E 7A 2C 64 69 66 66 09 3B     h: jr nz,diff.;
01FBE0:  68 69 67 68 20 62 79 74 65 20 64 69 66 66 65 72    high byte differ
01FBF0:  65 6E 74 0D 0A 09 6C 64 20 6C 2C 28 69 78 2B 32    ent...ld l,(ix+2
01FC00:  72 6F 72 0D 0A 09 6C 64 20 61 2C 28 69 78 29 0D    ror...ld a,(ix).
01FC10:  0A 09 6C 64 20 63 2C 31 3A 20 63 70 20 32 3A 20    ..ld c,1: cp 2: 
01FC20:  6A 70 20 6E 63 2C 65 72 72 6F 72 0D 0A 09 69 66    jp nc,error...if
01FC30:  20 6B 64 73 3A 20 72 6C 63 61 3A 20 72 6C 63 61     kds: rlca: rlca
01FC40:  3A 20 70 75 73 68 20 61 66 0D 0A 09 09 6C 64 20    : push af....ld 
01FC50:  61 2C 28 69 79 2B 31 31 29 3A 20 61 6E 64 20 32    a,(iy+11): and 2
01FC60:  34 39 09 09 09 3B 63 6F 6E 74 72 6F 6C 20 72 65    49...;control re
01FC70:  67 69 73 74 65 72 0D 0A 09 09 70 6F 70 20 62 63    gister....pop bc
01FC80:  3A 20 6F 72 20 62 3A 20 6C 64 20 28 69 79 2B 31    : or b: ld (iy+1
01FC90:  31 29 2C 61 0D 0A 09 65 6C 73 65 3A 09 72 6C 63    1),a...else:.rlc
01FCA0:  61 3A 20 70 75 73 68 20 61 66 3A 20 6C 64 20 61    a: push af: ld a
01FCB0:  2C 28 69 79 2B 31 32 29 3A 20 61 6E 64 20 32 35    ,(iy+12): and 25
01FCC0:  33 09 3B 72 35 0D 0A 09 09 70 6F 70 20 62 63 3A    3.;r5....pop bc:
01FCD0:  20 6F 72 20 62 3A 20 6C 64 20 28 69 79 2B 31 32     or b: ld (iy+12
01FCE0:  29 2C 61 3A 20 6C 64 20 64 2C 35 0D 0A 09 65 6E    ),a: ld d,5...en
01FCF0:  64 69 66 3A 09 6A 70 20 70 72 65 67 0D 0A 0D 0A    dif:.jp preg....
01FD00:  09 3B 3E 3E 3E 20 44 43 44 20 63 6F 6D 6D 61 6E    .;>>> DCD comman
01FD10:  64 0D 0A 0D 0A 2E 64 63 64 5F 69 09 6C 64 20 63    d.....dcd_i.ld c
01FD20:  2C 32 3A 20 63 70 20 31 3A 20 6A 70 20 6E 7A 2C    ,2: cp 1: jp nz,
01FD30:  65 72 72 6F 72 0D 0A 09 6C 64 20 6C 2C 28 69 78    error...ld l,(ix
01FD40:  29 3A 20 6C 64 20 68 2C 28 69 78 2B 31 29 0D 0A    ): ld h,(ix+1)..
01FD50:  09 69 66 20 6B 64 73 3A 20 63 61 6C 6C 20 72 72    .if kds: call rr
01FD60:  65 67 3A 20 61 6E 64 20 33 32 3A 20 78 6F 72 20    eg: and 32: xor 
01FD70:  33 32 0D 0A 09 09 72 72 61 3A 20 72 72 61 3A 20    32....rra: rra: 
01FD80:  72 72 61 3A 20 72 72 61 3A 20 72 72 61 0D 0A 09    rra: rra: rra...
01FD90:  65 6C 73 65 3A 09 6C 64 20 64 2C 30 3A 20 63 61    else:.ld d,0: ca
01FDA0:  6C 6C 20 72 72 65 67 3A 20 61 6E 64 20 38 0D 0A    ll rreg: and 8..
01FDB0:  09 09 72 72 61 3A 20 72 72 61 3A 20 72 72 61 0D    ..rra: rra: rra.
01FDC0:  0A 09 65 6E 64 69 66 3A 09 6C 64 20 28 68 6C 29    ..endif:.ld (hl)
01FDD0:  2C 61 0D 0A 09 09 69 6E 63 20 68 6C 3A 20 6C 64    ,a....inc hl: ld
01FDE0:  20 28 68 6C 29 2C 30 3A 20 72 65 74 0D 0A 0D 0A     (hl),0: ret....
01FDF0:  09 3B 3E 3E 3E 20 43 54 53 20 63 6F 6D 6D 61 6E    .;>>> CTS comman
01FE00:  29 3A 20 6C 64 20 68 2C 28 69 78 2B 33 29 3A 20    ): ld h,(ix+3): 
01FE10:  72 65 74 0D 0A 2E 64 69 66 66 09 69 6E 63 20 69    ret...diff.inc i
01FE20:  78 3A 20 69 6E 63 20 69 78 3A 20 69 6E 63 20 69    x: inc ix: inc i
01FE30:  78 3A 20 69 6E 63 20 69 78 3A 20 6A 72 20 62 63    x: inc ix: jr bc
01FE40:  6C 6F 6F 70 0D 0A 2E 62 63 65 72 72 09 70 6F 70    loop...bcerr.pop
01FE50:  20 68 6C 3A 20 6C 64 20 63 2C 31 3A 20 6A 70 20     hl: ld c,1: jp 
01FE60:  65 72 72 6F 72 0D 0A 0D 0A 09 3B 3E 3E 3E 20 50    error.....;>>> P
01FE70:  72 69 6E 74 20 65 72 72 6F 72 20 6E 75 6D 62 65    rint error numbe
01FE80:  72 20 43 20 2D 20 63 6F 72 72 75 70 74 73 20 61    r C - corrupts a
01FE90:  6C 6C 20 72 65 67 69 73 74 65 72 73 0D 0A 0D 0A    ll registers....
01FEA0:  2E 65 72 72 6F 72 09 6C 64 20 61 2C 28 69 79 2B    .error.ld a,(iy+
01FEB0:  30 29 0D 0A 09 6F 72 20 61 3A 20 72 65 74 20 7A    0)...or a: ret z
01FEC0:  0D 0A 09 6C 64 20 62 2C 63 09 09 09 3B 70 72 65    ...ld b,c...;pre
01FED0:  73 65 72 76 65 20 65 72 72 6F 72 20 6E 75 6D 62    serve error numb
01FEE0:  65 72 0D 0A 09 6C 64 20 68 6C 2C 65 72 72 5F 74    er...ld hl,err_t
01FEF0:  78 74 0D 0A 2E 65 5F 74 72 79 09 64 65 63 20 63    xt...e_try.dec c
01FF00:  3A 20 6A 72 20 7A 2C 67 6F 74 5F 69 74 0D 0A 0D    : jr z,got_it...
01FF10:  0A 2E 65 5F 6C 6F 6F 70 09 69 6E 63 20 68 6C 3A    ..e_loop.inc hl:
01FF20:  20 6C 64 20 61 2C 28 68 6C 29 3A 20 6F 72 20 61     ld a,(hl): or a
01FF30:  3A 20 6A 72 20 6E 7A 2C 65 5F 6C 6F 6F 70 0D 0A    : jr nz,e_loop..
01FF40:  09 69 6E 63 20 68 6C 3A 20 6A 72 20 65 5F 74 72    .inc hl: jr e_tr
01FF50:  79 0D 0A 0D 0A 2E 67 6F 74 5F 69 74 09 70 75 73    y.....got_it.pus
01FF60:  68 20 68 6C 0D 0A 09 6C 64 20 68 6C 2C 63 65 5F    h hl...ld hl,ce_
01FF70:  74 78 74 0D 0A 09 63 61 6C 6C 20 73 74 72 69 6E    txt...call strin
01FF80:  67 09 09 3B 70 72 69 6E 74 20 22 43 6F 6D 6D 73    g..;print "Comms
01FF90:  20 65 72 72 6F 72 20 22 0D 0A 09 6C 64 20 61 2C     error "...ld a,
01FFA0:  62 3A 20 63 61 6C 6C 20 70 72 5F 64 65 63 09 3B    b: call pr_dec.;
01FFB0:  70 72 69 6E 74 20 65 72 72 6F 72 20 6E 75 6D 62    print error numb
01FFC0:  65 72 0D 0A 09 70 6F 70 20 68 6C 3A 20 6A 70 20    er...pop hl: jp 
01FFD0:  73 74 72 69 6E 67 09 3B 70 72 69 6E 74 20 65 72    string.;print er
01FFE0:  72 6F 72 20 73 74 72 69 6E 67 0D 0A 0D 0A 09 3B    ror string.....;
01FFF0:  3E 3E 3E 20 50 72 69 6E 74 20 41 20 61 73 20 33    >>> Print A as 3
020000:  64 0D 0A 0D 0A 2E 63 74 73 5F 69 09 6C 64 20 63    d.....cts_i.ld c
020010:  2C 32 3A 20 63 70 20 31 3A 20 6A 70 20 6E 7A 2C    ,2: cp 1: jp nz,
020020:  65 72 72 6F 72 0D 0A 09 6C 64 20 6C 2C 28 69 78    error...ld l,(ix
020030:  29 3A 20 6C 64 20 68 2C 28 69 78 2B 31 29 0D 0A    ): ld h,(ix+1)..
020040:  09 69 66 20 6B 64 73 3A 09 63 61 6C 6C 20 72 72    .if kds:.call rr
020050:  65 67 3A 20 61 6E 64 20 31 36 0D 0A 09 09 72 72    eg: and 16....rr
020060:  61 3A 20 72 72 61 3A 20 72 72 61 3A 20 72 72 61    a: rra: rra: rra
020070:  0D 0A 09 65 6C 73 65 3A 09 6C 64 20 64 2C 30 3A    ...else:.ld d,0:
020080:  20 63 61 6C 6C 20 72 72 65 67 3A 20 61 6E 64 20     call rreg: and 
020090:  33 32 0D 0A 09 09 72 6C 63 61 3A 20 72 6C 63 61    32....rlca: rlca
0200A0:  3A 20 72 6C 63 61 0D 0A 09 65 6E 64 69 66 3A 09    : rlca...endif:.
0200B0:  6C 64 20 28 68 6C 29 2C 61 0D 0A 09 09 69 6E 63    ld (hl),a....inc
0200C0:  20 68 6C 3A 20 6C 64 20 28 68 6C 29 2C 30 3A 20     hl: ld (hl),0: 
0200D0:  72 65 74 0D 0A 0D 0A 09 3B 3E 3E 3E 20 45 43 48    ret.....;>>> ECH
0200E0:  4F 20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E 65 63    O command.....ec
0200F0:  68 6F 5F 69 09 63 61 6C 6C 20 62 75 66 66 5F 63    ho_i.call buff_c
020100:  0D 0A 09 6C 64 20 63 2C 32 3A 20 63 70 20 31 3A    ...ld c,2: cp 1:
020110:  20 6A 70 20 6E 7A 2C 65 72 72 6F 72 0D 0A 0D 0A     jp nz,error....
020120:  2E 77 74 63 63 62 65 09 6C 64 20 62 63 2C 63 6F    .wtccbe.ld bc,co
020130:  6E 69 6E 3A 20 69 6E 20 61 2C 28 63 29 3A 20 62    nin: in a,(c): b
020140:  69 74 20 37 2C 61 09 3B 43 68 61 72 61 63 74 65    it 7,a.;Characte
020150:  72 20 61 76 61 69 6C 61 62 6C 65 3F 0D 0A 09 6A    r available?...j
020160:  72 20 7A 2C 6E 6F 63 63 62 65 0D 0A 09 6C 64 20    r z,noccbe...ld 
020170:  62 63 2C 64 61 74 69 6E 3A 20 69 6E 20 61 2C 28    bc,datin: in a,(
020180:  63 29 3A 20 6A 72 20 77 74 63 63 62 65 20 3B 49    c): jr wtccbe ;I
020190:  66 20 73 6F 2C 20 67 65 74 20 61 6E 64 20 74 72    f so, get and tr
0201A0:  79 20 75 6E 74 69 6C 20 6E 6F 74 20 61 76 61 69    y until not avai
0201B0:  6C 61 62 6C 65 0D 0A 0D 0A 2E 6E 6F 63 63 62 65    lable.....noccbe
0201C0:  09 63 61 6C 6C 20 63 62 75 66 66 72 0D 0A 0D 0A    .call cbuffr....
0201D0:  09 6C 64 20 65 2C 28 69 79 2B 37 29 3A 20 6C 64    .ld e,(iy+7): ld
0201E0:  20 64 2C 28 69 79 2B 38 29 09 3B 44 45 20 3D 20     d,(iy+8).;DE = 
0201F0:  66 69 6C 65 20 62 75 66 66 65 72 20 61 64 64 72    file buffer addr
020200:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
020210:  1B 00 01 00 02 09 4E E5 1B 00 C1 02 00 00 00 02    ......N.........
020220:  1B 00 C6 02 00 00 00 02 1B 00 C2 02 00 00 00 02    ................
020230:  1B 00 C7 02 00 00 00 02 1B 00 C3 02 00 00 00 02    ................
020240:  1B 00 C8 02 00 00 00 02 1B 00 C4 02 00 00 00 02    ................
020250:  1B 00 C9 02 00 00 00 02 1B 00 C5 02 00 00 00 02    ................
020260:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
020270:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
020280:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
020290:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0202A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0202B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0202C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0202D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0202E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0202F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
020300:  62 63 2C 63 6F 6E 69 6E 0D 0A 2E 67 74 6C 6F 6F    bc,conin...gtloo
020310:  70 09 69 6E 20 64 2C 28 63 29 3A 20 62 69 74 20    p.in d,(c): bit 
020320:  37 2C 64 3A 20 6A 72 20 7A 2C 67 74 6C 6F 6F 70    7,d: jr z,gtloop
020330:  0D 0A 09 6C 64 20 62 63 2C 64 61 74 69 6E 3A 20    ...ld bc,datin: 
020340:  69 6E 20 61 2C 28 63 29 0D 0A 09 6A 70 20 72 65    in a,(c)...jp re
020350:  76 65 72 73 0D 0A 09 65 6C 73 65 0D 0A 2E 67 65    vers...else...ge
020360:  74 62 74 09 6C 64 20 62 63 2C 63 6F 6E 70 6F 72    tbt.ld bc,conpor
020370:  74 0D 0A 2E 67 74 6C 6F 6F 70 09 69 6E 20 64 2C    t...gtloop.in d,
020380:  28 63 29 3A 20 72 72 20 64 3A 20 6A 72 20 6E 63    (c): rr d: jr nc
020390:  2C 67 74 6C 6F 6F 70 0D 0A 2E 67 65 74 63 68 72    ,gtloop...getchr
0203A0:  09 6C 64 20 62 63 2C 64 61 74 70 6F 72 74 3A 20    .ld bc,datport: 
0203B0:  69 6E 20 61 2C 28 63 29 3A 20 72 65 74 0D 0A 09    in a,(c): ret...
0203C0:  65 6E 64 69 66 0D 0A 0D 0A 09 3B 3E 3E 3E 20 47    endif.....;>>> G
0203D0:  72 61 62 20 62 79 74 65 20 41 20 66 72 6F 6D 20    rab byte A from 
0203E0:  73 65 72 69 61 6C 20 69 6E 74 65 72 66 61 63 65    serial interface
0203F0:  20 28 74 72 79 20 6F 6E 63 65 20 6F 6E 6C 79 29     (try once only)
020400:  0D 0A 0D 0A 09 69 66 20 6B 64 73 0D 0A 2E 67 72    .....if kds...gr
020410:  61 62 62 74 09 6C 64 20 62 63 2C 63 6F 6E 6F 75    abbt.ld bc,conou
020420:  74 3A 20 6C 64 20 61 2C 28 69 79 2B 31 31 29 0D    t: ld a,(iy+11).
020430:  0A 09 61 6E 64 20 32 35 31 3A 20 6F 75 74 20 28    ..and 251: out (
020440:  63 29 2C 61 09 09 3B 64 72 6F 70 20 52 54 53 0D    c),a..;drop RTS.
020450:  0A 0D 0A 09 6C 64 20 62 63 2C 63 6F 6E 69 6E 3A    ....ld bc,conin:
020460:  20 69 6E 20 64 2C 28 63 29 0D 0A 09 62 69 74 20     in d,(c)...bit 
020470:  37 2C 64 3A 20 6A 72 20 6E 7A 2C 67 72 62 63 68    7,d: jr nz,grbch
020480:  72 09 09 3B 63 68 61 72 61 63 74 65 72 20 72 65    r..;character re
020490:  63 65 69 76 65 64 3F 0D 0A 0D 0A 09 6C 64 20 62    ceived?.....ld b
0204A0:  63 2C 63 6F 6E 6F 75 74 3A 20 6C 64 20 61 2C 28    c,conout: ld a,(
0204B0:  69 79 2B 31 31 29 0D 0A 09 6F 75 74 20 28 63 29    iy+11)...out (c)
0204C0:  2C 61 3A 20 78 6F 72 20 61 3A 20 72 65 74 09 09    ,a: xor a: ret..
0204D0:  3B 69 66 20 6E 6F 74 2C 20 52 54 53 20 68 69 67    ;if not, RTS hig
0204E0:  68 2C 20 41 3D 30 2C 20 52 45 54 0D 0A 0D 0A 2E    h, A=0, RET.....
0204F0:  67 72 62 63 68 72 09 6C 64 20 62 63 2C 64 61 74    grbchr.ld bc,dat
020500:  74 63 74 6C 70 09 69 6E 63 20 68 6C 3A 20 6A 72    tctlp.inc hl: jr
020510:  20 76 74 73 74 6C 70 0D 0A 2E 65 78 73 74 6C 70     vtstlp...exstlp
020520:  09 6C 64 20 61 2C 63 3A 20 63 70 20 22 41 22 3A    .ld a,c: cp "A":
020530:  20 6A 72 20 7A 2C 76 74 61 3A 20 63 70 20 22 42     jr z,vta: cp "B
020540:  22 3A 20 6A 72 20 7A 2C 76 74 62 3A 20 63 70 20    ": jr z,vtb: cp 
020550:  22 43 22 3A 20 6A 72 20 7A 2C 76 74 63 3A 20 63    "C": jr z,vtc: c
020560:  70 20 22 44 22 0D 0A 09 6A 72 20 7A 2C 76 74 64    p "D"...jr z,vtd
020570:  3A 20 63 70 20 22 45 22 3A 20 6A 72 20 7A 2C 76    : cp "E": jr z,v
020580:  74 65 3A 20 63 70 20 22 4C 22 3A 20 6A 72 20 7A    te: cp "L": jr z
020590:  2C 76 74 6C 3A 20 63 70 20 22 4D 22 3A 20 6A 70    ,vtl: cp "M": jp
0205A0:  20 7A 2C 76 74 6D 0D 0A 09 63 70 20 22 58 22 3A     z,vtm...cp "X":
0205B0:  20 6A 70 20 7A 2C 76 74 78 3A 20 63 70 20 22 59     jp z,vtx: cp "Y
0205C0:  22 3A 20 6A 70 20 7A 2C 76 74 79 3A 20 63 70 20    ": jp z,vty: cp 
0205D0:  22 6A 22 3A 20 6A 70 20 7A 2C 76 74 5F 6A 0D 0A    "j": jp z,vt_j..
0205E0:  09 63 70 20 22 6B 22 3A 20 6A 70 20 7A 2C 76 74    .cp "k": jp z,vt
0205F0:  5F 6B 3A 20 63 70 20 22 6C 22 3A 20 6A 70 20 7A    _k: cp "l": jp z
020600:  2C 76 74 5F 6C 3A 20 63 70 20 22 70 22 0D 0A 09    ,vt_l: cp "p"...
020610:  6A 70 20 7A 2C 76 74 5F 70 3A 20 63 70 20 22 71    jp z,vt_p: cp "q
020620:  22 3A 20 6A 70 20 7A 2C 76 74 5F 71 3A 20 72 65    ": jp z,vt_q: re
020630:  74 0D 0A 0D 0A 2E 76 74 61 09 63 61 6C 6C 20 26    t.....vta.call &
020640:  42 42 37 38 3A 20 6C 64 20 61 2C 31 3A 20 63 70    BB78: ld a,1: cp
020650:  20 6C 3A 20 72 65 74 20 7A 3A 20 6C 64 20 61 2C     l: ret z: ld a,
020660:  31 31 3A 20 6A 70 20 26 42 42 35 41 0D 0A 2E 76    11: jp &BB5A...v
020670:  74 62 09 63 61 6C 6C 20 26 42 42 36 39 3A 20 69    tb.call &BB69: i
020680:  6E 63 20 65 3A 20 63 61 6C 6C 20 26 42 42 37 38    nc e: call &BB78
020690:  3A 20 6C 64 20 61 2C 6C 3A 20 63 70 20 65 3A 20    : ld a,l: cp e: 
0206A0:  72 65 74 20 7A 3A 20 6C 64 20 61 2C 31 30 3A 20    ret z: ld a,10: 
0206B0:  6A 70 20 26 42 42 35 41 0D 0A 2E 76 74 63 09 63    jp &BB5A...vtc.c
0206C0:  61 6C 6C 20 26 42 42 36 39 3A 20 69 6E 63 20 64    all &BB69: inc d
0206D0:  3A 20 63 61 6C 6C 20 26 42 42 37 38 3A 20 6C 64    : call &BB78: ld
0206E0:  20 61 2C 68 3A 20 63 70 20 64 3A 20 72 65 74 20     a,h: cp d: ret 
0206F0:  7A 3A 20 6C 64 20 61 2C 39 3A 20 6A 70 20 26 42    z: ld a,9: jp &B
020700:  69 6E 3A 20 69 6E 20 61 2C 28 63 29 3A 20 64 65    in: in a,(c): de
020710:  63 20 63 09 3B 6F 74 68 65 72 77 69 73 65 2C 20    c c.;otherwise, 
020720:  67 65 74 20 69 74 0D 0A 2E 67 72 62 6C 70 09 69    get it...grblp.i
020730:  6E 20 64 2C 28 63 29 3A 20 62 69 74 20 37 2C 64    n d,(c): bit 7,d
020740:  3A 20 6A 70 20 6E 7A 2C 67 72 62 6C 70 0D 0A 0D    : jp nz,grblp...
020750:  0A 09 6C 64 20 62 63 2C 63 6F 6E 6F 75 74 3A 20    ..ld bc,conout: 
020760:  6C 64 20 64 2C 28 69 79 2B 31 31 29 09 3B 52 54    ld d,(iy+11).;RT
020770:  53 20 68 69 67 68 20 61 67 61 69 6E 0D 0A 09 6F    S high again...o
020780:  75 74 20 28 63 29 2C 64 3A 20 6A 70 20 72 65 76    ut (c),d: jp rev
020790:  65 72 73 0D 0A 0D 0A 09 65 6C 73 65 0D 0A 2E 67    ers.....else...g
0207A0:  72 61 62 62 74 09 6C 64 20 62 63 2C 63 6F 6E 70    rabbt.ld bc,conp
0207B0:  6F 72 74 3A 20 69 6E 20 64 2C 28 63 29 0D 0A 09    ort: in d,(c)...
0207C0:  72 72 20 64 3A 20 6A 72 20 63 2C 67 72 62 63 68    rr d: jr c,grbch
0207D0:  72 3A 20 78 6F 72 20 61 3A 20 72 65 74 0D 0A 2E    r: xor a: ret...
0207E0:  67 72 62 63 68 72 09 6C 64 20 62 63 2C 64 61 74    grbchr.ld bc,dat
0207F0:  70 6F 72 74 3A 20 69 6E 20 61 2C 28 63 29 3A 20    port: in a,(c): 
020800:  72 65 74 0D 0A 09 65 6E 64 69 66 0D 0A 0D 0A 0D    ret...endif.....
020810:  0A 69 66 20 6B 64 73 3A 09 3B 3E 3E 3E 20 52 65    .if kds:.;>>> Re
020820:  76 65 72 73 65 20 62 79 74 65 20 41 20 28 63 6F    verse byte A (co
020830:  72 72 75 70 74 73 20 42 43 29 0D 0A 0D 0A 2E 72    rrupts BC).....r
020840:  65 76 65 72 73 09 6C 64 20 63 2C 30 3A 20 6C 64    evers.ld c,0: ld
020850:  20 62 2C 38 0D 0A 2E 72 65 76 5F 6C 70 09 72 6C     b,8...rev_lp.rl
020860:  61 3A 20 72 72 20 63 3A 20 64 6A 6E 7A 20 72 65    a: rr c: djnz re
020870:  76 5F 6C 70 0D 0A 09 6C 64 20 61 2C 63 3A 20 72    v_lp...ld a,c: r
020880:  65 74 3A 20 65 6E 64 69 66 0D 0A 0D 0A 09 3B 3E    et: endif.....;>
020890:  3E 3E 20 47 65 74 20 62 79 74 65 20 41 20 66 72    >> Get byte A fr
0208A0:  6F 6D 20 73 65 72 69 61 6C 20 69 6E 74 65 72 66    om serial interf
0208B0:  61 63 65 20 28 77 61 69 74 20 66 6F 72 20 74 69    ace (wait for ti
0208C0:  6D 65 20 69 6E 20 44 45 29 0D 0A 09 3B 3E 3E 3E    me in DE)...;>>>
0208D0:  20 43 61 72 72 79 20 69 73 20 73 65 74 20 69 66     Carry is set if
0208E0:  20 6F 6B 2C 20 72 65 73 65 74 20 69 66 20 6E 6F     ok, reset if no
0208F0:  74 20 6F 6B 0D 0A 0D 0A 09 69 66 20 6B 64 73 0D    t ok.....if kds.
020900:  42 35 41 0D 0A 2E 76 74 64 09 63 61 6C 6C 20 26    B5A...vtd.call &
020910:  42 42 37 38 3A 20 6C 64 20 61 2C 31 3A 20 63 70    BB78: ld a,1: cp
020920:  20 68 3A 20 72 65 74 20 7A 3A 20 6C 64 20 61 2C     h: ret z: ld a,
020930:  38 3A 20 6A 70 20 26 42 42 35 41 0D 0A 2E 76 74    8: jp &BB5A...vt
020940:  65 09 63 61 6C 6C 20 26 42 42 37 38 3A 20 70 75    e.call &BB78: pu
020950:  73 68 20 68 6C 3A 20 63 61 6C 6C 20 26 42 42 36    sh hl: call &BB6
020960:  43 3A 20 70 6F 70 20 68 6C 3A 20 6A 70 20 26 42    C: pop hl: jp &B
020970:  42 37 35 0D 0A 2E 76 74 6C 09 63 61 6C 6C 20 26    B75...vtl.call &
020980:  42 42 36 39 3A 20 6C 64 20 63 2C 68 3A 20 63 61    BB69: ld c,h: ca
020990:  6C 6C 20 26 42 42 37 38 3A 20 64 65 63 20 6C 3A    ll &BB78: dec l:
0209A0:  20 6C 64 20 68 2C 63 3A 20 6C 64 20 61 2C 30 3A     ld h,c: ld a,0:
0209B0:  20 6C 64 20 62 2C 30 3A 20 6A 70 20 26 42 43 35     ld b,0: jp &BC5
0209C0:  30 0D 0A 2E 76 74 6D 09 63 61 6C 6C 20 26 42 42    0...vtm.call &BB
0209D0:  36 39 3A 20 6C 64 20 63 2C 68 3A 20 63 61 6C 6C    69: ld c,h: call
0209E0:  20 26 42 42 37 38 3A 20 64 65 63 20 6C 3A 20 6C     &BB78: dec l: l
0209F0:  64 20 68 2C 63 3A 20 6C 64 20 61 2C 30 3A 20 6C    d h,c: ld a,0: l
020A00:  64 20 62 2C 31 3A 20 6A 70 20 26 42 43 35 30 0D    d b,1: jp &BC50.
020A10:  0A 2E 76 74 78 09 6C 64 20 61 2C 34 3A 20 6C 64    ..vtx.ld a,4: ld
020A20:  20 28 69 79 2B 31 30 38 29 2C 61 3A 20 6C 64 20     (iy+108),a: ld 
020A30:  61 2C 22 77 22 3A 20 6C 64 20 28 69 79 2B 31 30    a,"w": ld (iy+10
020A40:  39 29 2C 61 3A 20 72 65 74 0D 0A 2E 76 74 79 09    9),a: ret...vty.
020A50:  6C 64 20 61 2C 32 3A 20 6C 64 20 28 69 79 2B 31    ld a,2: ld (iy+1
020A60:  30 38 29 2C 61 3A 20 6C 64 20 61 2C 22 63 22 3A    08),a: ld a,"c":
020A70:  20 6C 64 20 28 69 79 2B 31 30 39 29 2C 61 3A 20     ld (iy+109),a: 
020A80:  72 65 74 0D 0A 2E 76 74 5F 6A 09 63 61 6C 6C 20    ret...vt_j.call 
020A90:  26 42 42 37 38 3A 20 6C 64 20 28 69 79 2B 31 31    &BB78: ld (iy+11
020AA0:  30 29 2C 6C 3A 20 6C 64 20 28 69 79 2B 31 31 31    0),l: ld (iy+111
020AB0:  29 2C 68 3A 20 72 65 74 0D 0A 2E 76 74 5F 6B 09    ),h: ret...vt_k.
020AC0:  6C 64 20 6C 2C 28 69 79 2B 31 31 30 29 3A 20 6C    ld l,(iy+110): l
020AD0:  64 20 68 2C 28 69 79 2B 31 31 31 29 3A 20 6A 70    d h,(iy+111): jp
020AE0:  20 26 42 42 37 35 0D 0A 2E 76 74 5F 6C 09 63 61     &BB75...vt_l.ca
020AF0:  6C 6C 20 26 42 42 36 39 3A 20 6C 64 20 63 2C 68    ll &BB69: ld c,h
020B00:  0A 2E 77 61 69 74 62 74 09 6C 64 20 28 69 79 2B    ..waitbt.ld (iy+
020B10:  38 37 29 2C 65 3A 20 6C 64 20 28 69 79 2B 38 38    87),e: ld (iy+88
020B20:  29 2C 64 3A 20 6C 64 20 62 63 2C 63 6F 6E 69 6E    ),d: ld bc,conin
020B30:  3A 20 6C 64 20 61 2C 31 3A 20 6C 64 20 28 69 79    : ld a,1: ld (iy
020B40:  2B 38 39 29 2C 61 0D 0A 2E 77 74 6C 6F 6F 70 09    +89),a...wtloop.
020B50:  69 6E 20 64 2C 28 63 29 3A 20 62 69 74 20 37 2C    in d,(c): bit 7,
020B60:  64 3A 20 6A 72 20 6E 7A 2C 77 61 69 74 63 72 0D    d: jr nz,waitcr.
020B70:  0A 09 6C 64 20 61 2C 28 69 79 2B 38 39 29 3A 20    ..ld a,(iy+89): 
020B80:  6F 72 20 61 3A 20 6A 72 20 6E 7A 2C 77 74 6C 6F    or a: jr nz,wtlo
020B90:  6F 70 3A 20 72 65 74 0D 0A 2E 77 61 69 74 63 72    op: ret...waitcr
020BA0:  09 6C 64 20 62 63 2C 64 61 74 69 6E 3A 20 69 6E    .ld bc,datin: in
020BB0:  20 61 2C 28 63 29 0D 0A 09 63 61 6C 6C 20 72 65     a,(c)...call re
020BC0:  76 65 72 73 3A 20 73 63 66 3A 20 72 65 74 0D 0A    vers: scf: ret..
020BD0:  20 09 65 6C 73 65 0D 0A 2E 77 61 69 74 62 74 09     .else...waitbt.
020BE0:  6C 64 20 28 69 79 2B 38 37 29 2C 65 3A 20 6C 64    ld (iy+87),e: ld
020BF0:  20 28 69 79 2B 38 38 29 2C 64 3A 20 6C 64 20 62     (iy+88),d: ld b
020C00:  63 2C 63 6F 6E 70 6F 72 74 3A 20 6C 64 20 61 2C    c,conport: ld a,
020C10:  31 3A 20 6C 64 20 28 69 79 2B 38 39 29 2C 61 0D    1: ld (iy+89),a.
020C20:  0A 2E 77 74 6C 6F 6F 70 09 69 6E 20 64 2C 28 63    ..wtloop.in d,(c
020C30:  29 3A 20 72 72 20 64 3A 20 6A 72 20 63 2C 77 61    ): rr d: jr c,wa
020C40:  69 74 63 72 0D 0A 09 6C 64 20 61 2C 28 69 79 2B    itcr...ld a,(iy+
020C50:  38 39 29 3A 20 6F 72 20 61 3A 20 6A 72 20 6E 7A    89): or a: jr nz
020C60:  2C 77 74 6C 6F 6F 70 3A 20 72 65 74 0D 0A 2E 77    ,wtloop: ret...w
020C70:  61 69 74 63 72 09 6C 64 20 62 63 2C 64 61 74 70    aitcr.ld bc,datp
020C80:  6F 72 74 3A 20 69 6E 20 61 2C 28 63 29 3A 20 72    ort: in a,(c): r
020C90:  65 74 0D 0A 09 65 6E 64 69 66 0D 0A 0D 0A 09 3B    et...endif.....;
020CA0:  3E 3E 3E 20 4D 43 20 57 41 49 54 20 50 52 49 4E    >>> MC WAIT PRIN
020CB0:  54 45 52 20 72 65 64 69 72 65 63 74 69 6F 6E 0D    TER redirection.
020CC0:  0A 0D 0A 2E 72 65 64 69 72 09 70 75 73 68 20 64    ....redir.push d
020CD0:  65 3A 20 70 75 73 68 20 68 6C 0D 0A 09 6C 64 20    e: push hl...ld 
020CE0:  63 2C 30 3A 20 6C 64 20 68 6C 2C 73 65 6E 64 62    c,0: ld hl,sendb
020CF0:  74 0D 0A 09 63 61 6C 6C 20 26 31 42 09 09 09 3B    t...call &1B...;
020D00:  3A 20 63 61 6C 6C 20 26 42 42 37 38 3A 20 64 65    : call &BB78: de
020D10:  63 20 6C 3A 20 6C 64 20 65 2C 6C 3A 20 6C 64 20    c l: ld e,l: ld 
020D20:  68 2C 63 3A 20 78 6F 72 20 61 3A 20 6C 64 20 62    h,c: xor a: ld b
020D30:  2C 61 3A 20 6A 70 20 26 42 43 35 30 0D 0A 2E 76    ,a: jp &BC50...v
020D40:  74 5F 70 09 78 6F 72 20 61 3A 20 63 61 6C 6C 20    t_p.xor a: call 
020D50:  26 42 42 39 30 3A 20 6C 64 20 61 2C 31 3A 20 6A    &BB90: ld a,1: j
020D60:  70 20 26 42 42 39 36 0D 0A 2E 76 74 5F 71 09 78    p &BB96...vt_q.x
020D70:  6F 72 20 61 3A 20 63 61 6C 6C 20 26 42 42 39 36    or a: call &BB96
020D80:  3A 20 6C 64 20 61 2C 31 3A 20 6A 70 20 26 42 42    : ld a,1: jp &BB
020D90:  39 30 0D 0A 0D 0A 2E 65 73 63 73 6E 74 09 6C 64    90.....escsnt.ld
020DA0:  20 61 2C 31 3A 20 6C 64 20 28 69 79 2B 31 30 38     a,1: ld (iy+108
020DB0:  29 2C 61 3A 20 72 65 74 0D 0A 0D 0A 2E 76 74 35    ),a: ret.....vt5
020DC0:  32 61 63 09 63 70 20 22 77 22 3A 20 6C 64 20 61    2ac.cp "w": ld a
020DD0:  2C 28 69 79 2B 31 30 38 29 3A 20 6A 72 20 7A 2C    ,(iy+108): jr z,
020DE0:  76 74 35 32 77 73 3A 20 63 70 20 31 3A 20 6A 72    vt52ws: cp 1: jr
020DF0:  20 6E 7A 2C 76 74 64 6F 63 70 3A 20 6C 64 20 61     nz,vtdocp: ld a
020E00:  2C 63 3A 20 73 75 62 20 33 31 0D 0A 09 6C 64 20    ,c: sub 31...ld 
020E10:  28 69 79 2B 31 31 32 29 2C 61 3A 20 72 65 74 0D    (iy+112),a: ret.
020E20:  0A 2E 76 74 64 6F 63 70 09 6C 64 20 61 2C 63 3A    ..vtdocp.ld a,c:
020E30:  20 73 75 62 20 33 31 3A 20 6C 64 20 68 2C 61 3A     sub 31: ld h,a:
020E40:  20 6C 64 20 61 2C 28 69 79 2B 31 31 32 29 3A 20     ld a,(iy+112): 
020E50:  6C 64 20 6C 2C 61 3A 20 63 61 6C 6C 20 26 42 42    ld l,a: call &BB
020E60:  37 35 3A 20 6A 72 20 76 74 63 6D 0D 0A 2E 76 74    75: jr vtcm...vt
020E70:  35 32 77 73 09 70 75 73 68 20 69 79 3A 20 70 6F    52ws.push iy: po
020E80:  70 20 68 6C 3A 20 6C 64 20 64 65 2C 31 31 32 3A    p hl: ld de,112:
020E90:  20 61 64 64 20 68 6C 2C 64 65 3A 20 6C 64 20 65     add hl,de: ld e
020EA0:  2C 61 3A 20 6C 64 20 64 2C 30 0D 0A 09 61 64 64    ,a: ld d,0...add
020EB0:  20 68 6C 2C 64 65 3A 20 6C 64 20 61 2C 63 3A 20     hl,de: ld a,c: 
020EC0:  73 75 62 20 33 32 3A 20 6C 64 20 28 68 6C 29 2C    sub 32: ld (hl),
020ED0:  61 0D 0A 09 6C 64 20 61 2C 65 3A 20 6F 72 20 61    a...ld a,e: or a
020EE0:  3A 20 72 65 74 20 6E 7A 3A 20 6C 64 20 61 2C 28    : ret nz: ld a,(
020EF0:  69 79 2B 31 31 35 29 3A 20 6C 64 20 65 2C 61 3A    iy+115): ld e,a:
020F00:  4B 4C 20 46 41 52 20 50 43 48 4C 0D 0A 09 73 63    KL FAR PCHL...sc
020F10:  66 09 09 09 09 3B 63 61 72 72 79 20 3D 20 6E 6F    f....;carry = no
020F20:  20 74 69 6D 65 2D 6F 75 74 0D 0A 09 70 6F 70 20     time-out...pop 
020F30:  68 6C 3A 20 70 6F 70 20 64 65 3A 20 72 65 74 0D    hl: pop de: ret.
020F40:  0A 0D 0A 09 3B 3E 3E 3E 20 46 72 61 6D 65 20 66    ....;>>> Frame f
020F50:  6C 79 62 61 63 6B 20 65 76 65 6E 74 20 66 6F 72    lyback event for
020F60:  20 63 6F 75 6E 74 65 72 0D 0A 0D 0A 2E 66 63 6F     counter.....fco
020F70:  75 6E 74 09 70 75 73 68 20 69 79 3A 20 6C 64 20    unt.push iy: ld 
020F80:  69 79 2C 28 26 42 41 46 44 29 0D 0A 09 6C 64 20    iy,(&BAFD)...ld 
020F90:  61 2C 28 69 79 2B 38 39 29 3A 20 6F 72 20 61 3A    a,(iy+89): or a:
020FA0:  20 6A 72 20 7A 2C 72 65 74 66 63 0D 0A 09 6C 64     jr z,retfc...ld
020FB0:  20 6C 2C 28 69 79 2B 38 37 29 3A 20 6C 64 20 68     l,(iy+87): ld h
020FC0:  2C 28 69 79 2B 38 38 29 3A 20 64 65 63 20 68 6C    ,(iy+88): dec hl
020FD0:  0D 0A 09 6C 64 20 28 69 79 2B 38 37 29 2C 6C 3A    ...ld (iy+87),l:
020FE0:  20 6C 64 20 28 69 79 2B 38 38 29 2C 68 0D 0A 09     ld (iy+88),h...
020FF0:  6C 64 20 61 2C 68 3A 20 6F 72 20 6C 3A 20 6C 64    ld a,h: or l: ld
021000:  20 28 69 79 2B 38 39 29 2C 61 0D 0A 2E 72 65 74     (iy+89),a...ret
021010:  66 63 09 70 6F 70 20 69 79 3A 20 72 65 74 0D 0A    fc.pop iy: ret..
021020:  0D 0A 09 3B 3E 3E 3E 20 50 72 69 6E 74 20 73 74    ...;>>> Print st
021030:  72 69 6E 67 20 61 74 20 48 4C 0D 0A 0D 0A 2E 73    ring at HL.....s
021040:  74 72 69 6E 67 09 6C 64 20 61 2C 28 68 6C 29 3A    tring.ld a,(hl):
021050:  20 6F 72 20 61 3A 20 72 65 74 20 7A 3A 20 63 61     or a: ret z: ca
021060:  6C 6C 20 26 42 42 35 41 3A 20 69 6E 63 20 68 6C    ll &BB5A: inc hl
021070:  3A 20 6A 72 20 73 74 72 69 6E 67 0D 0A 0D 0A 09    : jr string.....
021080:  3B 3E 3E 3E 20 52 65 67 69 73 74 65 72 20 61 63    ;>>> Register ac
021090:  63 65 73 73 0D 0A 09 3B 3E 3E 3E 20 41 6D 73 74    cess...;>>> Amst
0210A0:  72 61 64 20 2D 20 73 65 6E 64 2F 72 65 61 64 20    rad - send/read 
0210B0:  41 2C 20 44 41 52 54 20 72 65 67 69 73 74 65 72    A, DART register
0210C0:  20 44 0D 0A 09 3B 3E 3E 3E 20 4B 44 53 20 2D 20     D...;>>> KDS - 
0210D0:  73 65 6E 64 2F 72 65 61 64 20 41 2C 20 36 38 35    send/read A, 685
0210E0:  30 20 63 6F 6E 74 72 6F 6C 20 70 6F 72 74 0D 0A    0 control port..
0210F0:  0D 0A 09 69 66 20 6B 64 73 0D 0A 2E 70 72 65 67    ...if kds...preg
021100:  20 6C 64 20 61 2C 28 69 79 2B 31 31 34 29 3A 20     ld a,(iy+114): 
021110:  6C 64 20 64 2C 61 0D 0A 09 6C 64 20 61 2C 28 69    ld d,a...ld a,(i
021120:  79 2B 31 31 33 29 3A 20 61 64 64 20 61 2C 65 3A    y+113): add a,e:
021130:  20 6C 64 20 6C 2C 61 3A 20 6C 64 20 61 2C 28 69     ld l,a: ld a,(i
021140:  79 2B 31 31 32 29 3A 20 61 64 64 20 61 2C 64 3A    y+112): add a,d:
021150:  20 6C 64 20 68 2C 61 0D 0A 09 63 61 6C 6C 20 26     ld h,a...call &
021160:  42 42 36 36 0D 0A 2E 76 74 63 6D 09 78 6F 72 20    BB66...vtcm.xor 
021170:  61 3A 20 6C 64 20 28 69 79 2B 31 30 39 29 2C 61    a: ld (iy+109),a
021180:  3A 20 72 65 74 0D 0A 0D 0A 09 3B 3E 3E 3E 20 53    : ret.....;>>> S
021190:  74 6F 70 20 28 58 4F 46 46 2C 20 64 72 6F 70 20    top (XOFF, drop 
0211A0:  52 54 53 29 0D 0A 0D 0A 2E 73 74 6F 70 09 6C 64    RTS).....stop.ld
0211B0:  20 61 2C 28 69 79 2B 34 29 3A 20 6F 72 20 61 3A     a,(iy+4): or a:
0211C0:  20 6C 64 20 61 2C 31 39 3A 20 63 61 6C 6C 20 6E     ld a,19: call n
0211D0:  7A 2C 73 65 6E 64 62 74 0D 0A 2E 73 74 6F 70 32    z,sendbt...stop2
0211E0:  09 69 66 20 6B 64 73 3A 20 6C 64 20 61 2C 28 69    .if kds: ld a,(i
0211F0:  79 2B 31 31 29 3A 20 61 6E 64 20 32 35 31 3A 20    y+11): and 251: 
021200:  6A 70 20 70 72 65 67 0D 0A 09 65 6C 73 65 3A 20    jp preg...else: 
021210:  20 20 6C 64 20 61 2C 28 69 79 2B 31 32 29 3A 20      ld a,(iy+12): 
021220:  61 6E 64 20 32 35 33 3A 20 6C 64 20 64 2C 35 3A    and 253: ld d,5:
021230:  20 6A 70 20 70 72 65 67 0D 0A 09 65 6E 64 69 66     jp preg...endif
021240:  0D 0A 0D 0A 09 3B 3E 3E 3E 20 52 65 73 75 6D 65    .....;>>> Resume
021250:  20 28 58 4F 4E 2C 20 52 54 53 20 68 69 67 68 29     (XON, RTS high)
021260:  0D 0A 0D 0A 2E 72 65 73 75 6D 65 09 6C 64 20 61    .....resume.ld a
021270:  2C 28 69 79 2B 34 29 3A 20 6F 72 20 61 3A 20 6C    ,(iy+4): or a: l
021280:  64 20 61 2C 31 37 3A 20 63 61 6C 6C 20 6E 7A 2C    d a,17: call nz,
021290:  73 65 6E 64 62 74 0D 0A 2E 72 65 73 75 6D 32 09    sendbt...resum2.
0212A0:  69 66 20 6B 64 73 3A 20 6C 64 20 61 2C 28 69 79    if kds: ld a,(iy
0212B0:  2B 31 31 29 3A 20 6A 70 20 70 72 65 67 0D 0A 09    +11): jp preg...
0212C0:  65 6C 73 65 3A 20 20 20 6C 64 20 61 2C 28 69 79    else:   ld a,(iy
0212D0:  2B 31 32 29 3A 20 6C 64 20 64 2C 35 3A 20 6A 70    +12): ld d,5: jp
0212E0:  20 70 72 65 67 0D 0A 09 65 6E 64 69 66 0D 0A 0D     preg...endif...
0212F0:  0A 09 3B 3E 3E 3E 20 52 65 73 65 74 20 69 6E 74    ..;>>> Reset int
021300:  09 6C 64 20 62 63 2C 63 6F 6E 6F 75 74 3A 20 6F    .ld bc,conout: o
021310:  75 74 20 28 63 29 2C 61 3A 20 72 65 74 0D 0A 2E    ut (c),a: ret...
021320:  72 72 65 67 09 6C 64 20 62 63 2C 63 6F 6E 69 6E    rreg.ld bc,conin
021330:  3A 20 69 6E 20 61 2C 28 63 29 3A 20 72 65 74 0D    : in a,(c): ret.
021340:  0A 09 65 6C 73 65 0D 0A 2E 70 72 65 67 09 6C 64    ..else...preg.ld
021350:  20 62 63 2C 63 6F 6E 70 6F 72 74 3A 20 6F 75 74     bc,conport: out
021360:  20 28 63 29 2C 64 3A 20 6F 75 74 20 28 63 29 2C     (c),d: out (c),
021370:  61 3A 20 72 65 74 0D 0A 2E 72 72 65 67 09 6C 64    a: ret...rreg.ld
021380:  20 62 63 2C 63 6F 6E 70 6F 72 74 3A 20 6F 75 74     bc,conport: out
021390:  20 28 63 29 2C 64 3A 20 69 6E 20 61 2C 28 63 29     (c),d: in a,(c)
0213A0:  3A 20 72 65 74 0D 0A 09 65 6E 64 69 66 0D 0A 0D    : ret...endif...
0213B0:  0A 09 3B 3E 3E 3E 20 50 72 69 6E 74 20 56 54 35    ..;>>> Print VT5
0213C0:  32 20 63 68 61 72 61 63 74 65 72 20 41 0D 0A 0D    2 character A...
0213D0:  0A 2E 76 74 35 32 63 09 6C 64 20 63 2C 61 3A 20    ..vt52c.ld c,a: 
0213E0:  6C 64 20 61 2C 28 69 79 2B 31 30 38 29 3A 20 6F    ld a,(iy+108): o
0213F0:  72 20 61 3A 20 6A 70 20 6E 7A 2C 76 74 70 72 3A    r a: jp nz,vtpr:
021400:  20 6C 64 20 61 2C 63 0D 0A 09 63 70 20 33 31 3A     ld a,c...cp 31:
021410:  20 6A 70 20 6E 63 2C 26 42 42 35 41 3A 20 63 70     jp nc,&BB5A: cp
021420:  20 32 37 3A 20 6A 70 20 7A 2C 65 73 63 73 6E 74     27: jp z,escsnt
021430:  0D 0A 09 63 70 20 37 3A 20 72 65 74 20 63 3A 20    ...cp 7: ret c: 
021440:  63 70 20 31 34 3A 20 72 65 74 20 6E 63 3A 20 6A    cp 14: ret nc: j
021450:  70 20 26 42 42 35 41 0D 0A 2E 76 74 70 72 09 64    p &BB5A...vtpr.d
021460:  65 63 20 61 3A 20 6C 64 20 28 69 79 2B 31 30 38    ec a: ld (iy+108
021470:  29 2C 61 3A 20 6C 64 20 61 2C 28 69 79 2B 31 30    ),a: ld a,(iy+10
021480:  39 29 3A 20 6F 72 20 61 3A 20 6A 70 20 6E 7A 2C    9): or a: jp nz,
021490:  76 74 35 32 61 63 3A 20 6C 64 20 68 6C 2C 76 74    vt52ac: ld hl,vt
0214A0:  35 32 73 74 0D 0A 2E 76 74 73 74 6C 70 09 6C 64    52st...vtstlp.ld
0214B0:  20 61 2C 28 68 6C 29 3A 20 6F 72 20 61 3A 20 6A     a,(hl): or a: j
0214C0:  72 20 7A 2C 65 78 73 74 6C 70 0D 0A 09 69 6E 63    r z,exstlp...inc
0214D0:  20 68 6C 3A 20 63 70 20 63 3A 20 6A 72 20 6E 7A     hl: cp c: jr nz
0214E0:  2C 73 74 63 74 6C 70 3A 20 6C 64 20 61 2C 28 68    ,stctlp: ld a,(h
0214F0:  6C 29 3A 20 6A 70 20 26 42 42 35 41 0D 0A 2E 73    l): jp &BB5A...s
021500:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
021510:  1C 00 01 00 02 09 4E E5 1C 00 C4 02 00 00 00 02    ......N.........
021520:  1C 00 C9 02 00 00 00 02 1C 00 C5 02 00 00 00 02    ................
021530:  1C 00 C1 02 00 00 00 02 1C 00 C6 02 00 00 00 02    ................
021540:  1C 00 C2 02 00 00 00 02 1C 00 C7 02 00 00 00 02    ................
021550:  1C 00 C3 02 00 00 00 02 1C 00 C8 02 00 00 00 02    ................
021560:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
021570:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
021580:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
021590:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0215A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0215B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0215C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0215D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0215E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0215F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
021600:  6D 5F 69 09 63 61 6C 6C 20 72 65 73 65 74 3A 20    m_i.call reset: 
021610:  6C 64 20 68 6C 2C 32 34 30 30 3A 20 6C 64 20 64    ld hl,2400: ld d
021620:  65 2C 32 34 30 30 09 3B 32 34 30 30 2F 32 34 30    e,2400.;2400/240
021630:  30 20 62 70 73 0D 0A 2E 74 65 72 6D 5F 78 09 63    0 bps...term_x.c
021640:  61 6C 6C 20 67 6F 74 62 70 0D 0A 09 6C 64 20 61    all gotbp...ld a
021650:  2C 31 3A 20 6C 64 20 28 69 79 2B 32 29 2C 61 09    ,1: ld (iy+2),a.
021660:  09 09 3B 63 75 72 73 6F 72 20 6F 6E 0D 0A 09 6C    ..;cursor on...l
021670:  64 20 28 69 79 2B 34 29 2C 61 09 09 09 09 3B 58    d (iy+4),a....;X
021680:  4F 4E 20 66 6C 6F 77 20 63 6F 6E 74 72 6F 6C 20    ON flow control 
021690:  6F 6E 0D 0A 09 6C 64 20 68 6C 2C 35 30 30 0D 0A    on...ld hl,500..
0216A0:  09 6C 64 20 28 69 79 2B 39 29 2C 6C 3A 20 6C 64    .ld (iy+9),l: ld
0216B0:  20 28 69 79 2B 31 30 29 2C 68 09 09 3B 74 69 6D     (iy+10),h..;tim
0216C0:  65 6F 75 74 20 31 30 20 73 65 63 6F 6E 64 73 0D    eout 10 seconds.
0216D0:  0A 09 6C 64 20 68 6C 2C 74 66 62 75 66 66 0D 0A    ..ld hl,tfbuff..
0216E0:  09 6C 64 20 28 69 79 2B 37 29 2C 6C 3A 20 6C 64    .ld (iy+7),l: ld
0216F0:  20 28 69 79 2B 38 29 2C 68 09 09 3B 66 69 6C 65     (iy+8),h..;file
021700:  20 62 75 66 66 65 72 0D 0A 09 6C 64 20 69 78 2C     buffer...ld ix,
021710:  74 70 62 6C 6F 63 6B 3A 20 6C 64 20 28 69 78 29    tpblock: ld (ix)
021720:  2C 31 3A 20 6C 64 20 28 69 78 2B 31 29 2C 30 0D    ,1: ld (ix+1),0.
021730:  0A 09 6C 64 20 28 69 78 2B 32 29 2C 30 3A 20 6C    ..ld (ix+2),0: l
021740:  64 20 28 69 78 2B 33 29 2C 30 0D 0A 09 6C 64 20    d (ix+3),0...ld 
021750:  28 69 78 2B 34 29 2C 38 3A 20 6C 64 20 28 69 78    (ix+4),8: ld (ix
021760:  2B 35 29 2C 30 0D 0A 09 70 75 73 68 20 69 79 0D    +5),0...push iy.
021770:  0A 09 6C 64 20 61 2C 33 3A 20 63 61 6C 6C 20 77    ..ld a,3: call w
021780:  6F 72 64 5F 69 09 09 09 3B 73 65 74 20 64 61 74    ord_i...;set dat
021790:  61 20 77 6F 72 64 0D 0A 09 70 6F 70 20 69 79 0D    a word...pop iy.
0217A0:  0A 69 66 20 6B 64 73 3A 20 65 6C 73 65 3A 20 6C    .if kds: else: l
0217B0:  64 20 61 2C 31 3A 20 63 61 6C 6C 20 68 77 6F 6B    d a,1: call hwok
0217C0:  3A 20 65 6E 64 69 66 09 09 3B 73 65 74 20 68 61    : endif..;set ha
0217D0:  72 64 77 61 72 65 20 68 61 6E 64 73 68 61 6B 69    rdware handshaki
0217E0:  6E 67 0D 0A 0D 0A 09 63 61 6C 6C 20 26 42 42 30    ng.....call &BB0
0217F0:  30 3A 20 63 61 6C 6C 20 26 42 42 34 45 3A 20 63    0: call &BB4E: c
021800:  6C 20 67 6F 74 62 70 3A 20 6A 70 20 72 73 6D 6E    l gotbp: jp rsmn
021810:  75 0D 0A 0D 0A 2E 77 72 64 6D 6E 75 09 6C 64 20    u.....wrdmnu.ld 
021820:  68 6C 2C 74 6D 77 6F 72 64 3A 20 63 61 6C 6C 20    hl,tmword: call 
021830:  6D 65 6E 75 3A 20 6A 70 20 7A 2C 72 73 6D 6E 75    menu: jp z,rsmnu
021840:  0D 0A 09 6C 64 20 69 78 2C 74 70 62 6C 6F 63 6B    ...ld ix,tpblock
021850:  3A 20 6C 64 20 28 69 78 29 2C 31 3A 20 6C 64 20    : ld (ix),1: ld 
021860:  28 69 78 2B 31 29 2C 30 0D 0A 09 63 70 20 31 3A    (ix+1),0...cp 1:
021870:  20 6A 72 20 6E 7A 2C 70 61 72 32 0D 0A 09 6C 64     jr nz,par2...ld
021880:  20 28 69 78 2B 32 29 2C 30 3A 20 6C 64 20 28 69     (ix+2),0: ld (i
021890:  78 2B 34 29 2C 38 3A 20 6A 72 20 73 77 72 64 0D    x+4),8: jr swrd.
0218A0:  0A 2E 70 61 72 32 09 6C 64 20 28 69 78 2B 32 29    ..par2.ld (ix+2)
0218B0:  2C 32 3A 20 6C 64 20 28 69 78 2B 34 29 2C 37 0D    ,2: ld (ix+4),7.
0218C0:  0A 2E 73 77 72 64 09 6C 64 20 28 69 78 2B 33 29    ..swrd.ld (ix+3)
0218D0:  2C 30 3A 20 6C 64 20 28 69 78 2B 35 29 2C 30 0D    ,0: ld (ix+5),0.
0218E0:  0A 09 70 75 73 68 20 69 79 3A 20 6C 64 20 61 2C    ..push iy: ld a,
0218F0:  33 3A 20 63 61 6C 6C 20 77 6F 72 64 5F 69 0D 0A    3: call word_i..
021900:  09 70 6F 70 20 69 79 3A 20 6A 70 20 72 73 6D 6E    .pop iy: jp rsmn
021910:  75 0D 0A 0D 0A 2E 64 6F 62 72 6B 09 63 61 6C 6C    u.....dobrk.call
021920:  20 62 72 6B 5F 69 3A 20 6A 70 20 72 73 6D 6E 75     brk_i: jp rsmnu
021930:  0D 0A 0D 0A 2E 64 69 72 6D 6E 75 09 6C 64 20 68    .....dirmnu.ld h
021940:  6C 2C 74 6D 64 69 72 3A 20 63 61 6C 6C 20 6D 65    l,tmdir: call me
021950:  6E 75 3A 20 6A 70 20 7A 2C 6D 61 69 6E 6D 0D 0A    nu: jp z,mainm..
021960:  09 6C 64 20 28 69 79 2B 38 36 29 2C 61 09 09 09    .ld (iy+86),a...
021970:  3B 63 75 72 72 65 6E 74 20 64 69 72 65 63 74 6F    ;current directo
021980:  72 79 0D 0A 09 6C 64 20 68 6C 2C 63 64 6E 61 6D    ry...ld hl,cdnam
021990:  65 3A 20 6C 64 20 64 65 2C 74 70 62 6C 6F 63 6B    e: ld de,tpblock
0219A0:  2B 35 31 33 0D 0A 09 6C 64 20 62 63 2C 31 32 3A    +513...ld bc,12:
0219B0:  20 6C 64 69 72 0D 0A 09 6C 64 20 68 6C 2C 74 70     ldir...ld hl,tp
0219C0:  62 6C 6F 63 6B 2B 35 32 30 3A 20 61 64 64 20 34    block+520: add 4
0219D0:  38 09 3B 66 69 6C 65 6E 61 6D 65 20 22 43 48 41    8.;filename "CHA
0219E0:  52 4C 45 59 3F 2E 44 49 52 22 0D 0A 09 6C 64 20    RLEY?.DIR"...ld 
0219F0:  28 68 6C 29 2C 61 3A 20 63 61 6C 6C 20 26 42 43    (hl),a: call &BC
021A00:  61 6C 6C 20 26 42 42 42 41 3A 20 63 61 6C 6C 20    all &BBBA: call 
021A10:  26 42 42 46 46 0D 0A 0D 0A 09 6C 64 20 61 2C 26    &BBFF.....ld a,&
021A20:  34 30 3A 20 63 61 6C 6C 20 26 42 43 30 38 0D 0A    40: call &BC08..
021A30:  09 6C 64 20 61 2C 31 3A 20 20 20 63 61 6C 6C 20    .ld a,1:   call 
021A40:  26 42 43 30 45 09 09 09 3B 63 6C 65 61 72 20 6C    &BC0E...;clear l
021A50:  6F 77 20 73 63 72 65 65 6E 0D 0A 09 6C 64 20 61    ow screen...ld a
021A60:  2C 26 43 30 3A 20 63 61 6C 6C 20 26 42 43 30 38    ,&C0: call &BC08
021A70:  0D 0A 09 6C 64 20 61 2C 32 3A 20 20 20 63 61 6C    ...ld a,2:   cal
021A80:  6C 20 26 42 43 30 45 09 09 09 3B 63 6C 65 61 72    l &BC0E...;clear
021A90:  20 68 69 67 68 20 73 63 72 65 65 6E 0D 0A 0D 0A     high screen....
021AA0:  2E 74 5F 63 6F 6D 09 63 61 6C 6C 20 63 6F 6D 5F    .t_com.call com_
021AB0:  69 0D 0A 09 63 61 6C 6C 20 73 74 6F 70 32 09 09    i...call stop2..
021AC0:  09 09 3B 22 4F 79 21 21 21 21 20 48 6F 6C 64 20    ..;"Oy!!!! Hold 
021AD0:  6F 6E 21 22 0D 0A 0D 0A 09 63 61 6C 6C 20 26 42    on!".....call &B
021AE0:  42 37 38 3A 20 6C 64 20 28 63 68 61 70 6F 73 29    B78: ld (chapos)
021AF0:  2C 68 6C 09 09 3B 73 74 6F 72 65 20 63 68 61 72    ,hl..;store char
021B00:  61 63 74 65 72 20 70 6F 73 69 74 69 6F 6E 0D 0A    acter position..
021B10:  09 63 61 6C 6C 20 26 42 43 30 42 3A 20 6C 64 20    .call &BC0B: ld 
021B20:  28 6F 66 66 73 65 74 29 2C 68 6C 09 09 3B 73 74    (offset),hl..;st
021B30:  6F 72 65 20 73 63 72 65 65 6E 20 6F 66 66 73 65    ore screen offse
021B40:  74 0D 0A 0D 0A 09 6C 64 20 61 2C 26 34 30 3A 20    t.....ld a,&40: 
021B50:  63 61 6C 6C 20 26 42 43 30 38 0D 0A 2E 6D 73 65    call &BC08...mse
021B60:  74 75 70 09 6C 64 20 61 2C 31 3A 20 63 61 6C 6C    tup.ld a,1: call
021B70:  20 26 42 43 30 45 09 09 09 3B 4D 4F 44 45 20 31     &BC0E...;MODE 1
021B80:  0D 0A 09 6C 64 20 62 63 2C 30 3A 20 63 61 6C 6C    ...ld bc,0: call
021B90:  20 26 42 43 33 38 09 09 09 3B 62 6F 72 64 65 72     &BC38...;border
021BA0:  20 30 0D 0A 09 6C 64 20 61 2C 30 3A 20 6C 64 20     0...ld a,0: ld 
021BB0:  62 63 2C 26 30 30 30 30 3A 20 63 61 6C 6C 20 26    bc,&0000: call &
021BC0:  42 43 33 32 09 09 3B 73 65 74 20 69 6E 6B 73 0D    BC32..;set inks.
021BD0:  0A 09 6C 64 20 61 2C 31 3A 20 6C 64 20 62 63 2C    ..ld a,1: ld bc,
021BE0:  26 31 41 31 41 3A 20 63 61 6C 6C 20 26 42 43 33    &1A1A: call &BC3
021BF0:  32 09 09 3B 20 5E 0D 0A 09 6C 64 20 61 2C 32 3A    2..; ^...ld a,2:
021C00:  65 72 66 61 63 65 20 61 6E 64 20 76 61 72 69 61    erface and varia
021C10:  62 6C 65 73 0D 0A 0D 0A 2E 72 65 73 65 74 09 69    bles.....reset.i
021C20:  66 20 6B 64 73 3A 20 6C 64 20 61 2C 28 69 79 2B    f kds: ld a,(iy+
021C30:  31 31 29 3A 20 6F 72 20 26 43 30 3A 20 63 61 6C    11): or &C0: cal
021C40:  6C 20 70 72 65 67 0D 0A 09 65 6C 73 65 3A 20 20    l preg...else:  
021C50:  20 6C 64 20 61 2C 26 31 38 3A 20 6C 64 20 64 2C     ld a,&18: ld d,
021C60:  30 3A 20 20 20 20 63 61 6C 6C 20 70 72 65 67 0D    0:    call preg.
021C70:  0A 09 65 6E 64 69 66 0D 0A 0D 0A 09 6C 64 20 61    ..endif.....ld a
021C80:  2C 31 3A 20 6C 64 20 28 69 79 2B 30 29 2C 61 0D    ,1: ld (iy+0),a.
021C90:  0A 09 6C 64 20 28 69 79 2B 33 29 2C 61 0D 0A 0D    ..ld (iy+3),a...
021CA0:  0A 09 6C 64 20 61 2C 30 3A 20 6C 64 20 28 69 79    ..ld a,0: ld (iy
021CB0:  2B 31 29 2C 61 0D 0A 09 6C 64 20 28 69 79 2B 32    +1),a...ld (iy+2
021CC0:  29 2C 61 0D 0A 09 6C 64 20 28 69 79 2B 34 29 2C    ),a...ld (iy+4),
021CD0:  61 0D 0A 09 6C 64 20 28 69 79 2B 35 29 2C 61 0D    a...ld (iy+5),a.
021CE0:  0A 09 6C 64 20 28 69 79 2B 39 29 2C 61 3A 20 6C    ..ld (iy+9),a: l
021CF0:  64 20 28 69 79 2B 31 30 29 2C 61 0D 0A 09 6C 64    d (iy+10),a...ld
021D00:  20 28 69 79 2B 31 30 38 29 2C 61 3A 20 6C 64 20     (iy+108),a: ld 
021D10:  28 69 79 2B 31 30 39 29 2C 61 0D 0A 0D 0A 09 6C    (iy+109),a.....l
021D20:  64 20 61 2C 32 3A 20 6C 64 20 28 69 79 2B 31 30    d a,2: ld (iy+10
021D30:  37 29 2C 61 0D 0A 0D 0A 09 70 75 73 68 20 69 79    7),a.....push iy
021D40:  3A 20 70 6F 70 20 68 6C 0D 0A 09 6C 64 20 64 65    : pop hl...ld de
021D50:  2C 34 35 3A 20 61 64 64 20 68 6C 2C 64 65 3A 20    ,45: add hl,de: 
021D60:  65 78 20 64 65 2C 68 6C 0D 0A 09 6C 64 20 68 6C    ex de,hl...ld hl
021D70:  2C 72 73 66 74 78 74 3A 20 6C 64 20 62 63 2C 32    ,rsftxt: ld bc,2
021D80:  33 3A 20 6C 64 69 72 0D 0A 0D 0A 09 69 66 20 6B    3: ldir.....if k
021D90:  64 73 3A 20 6C 64 20 61 2C 25 31 30 31 30 31 31    ds: ld a,%101011
021DA0:  30 30 3A 20 6C 64 20 28 69 79 2B 31 31 29 2C 61    00: ld (iy+11),a
021DB0:  3A 20 63 61 6C 6C 20 70 72 65 67 0D 0A 09 65 6C    : call preg...el
021DC0:  73 65 3A 20 20 20 6C 64 20 61 2C 25 31 31 31 30    se:   ld a,%1110
021DD0:  30 30 30 31 3A 20 6C 64 20 28 69 79 2B 31 31 29    0001: ld (iy+11)
021DE0:  2C 61 3A 20 6C 64 20 64 2C 33 3A 20 63 61 6C 6C    ,a: ld d,3: call
021DF0:  20 70 72 65 67 0D 0A 09 09 6C 64 20 61 2C 25 31     preg....ld a,%1
021E00:  20 6C 64 20 62 63 2C 26 30 32 30 32 3A 20 63 61     ld bc,&0202: ca
021E10:  6C 6C 20 26 42 43 33 32 09 09 3B 20 7C 0D 0A 09    ll &BC32..; |...
021E20:  6C 64 20 61 2C 33 3A 20 6C 64 20 62 63 2C 26 30    ld a,3: ld bc,&0
021E30:  36 30 36 3A 20 63 61 6C 6C 20 26 42 43 33 32 09    606: call &BC32.
021E40:  09 3B 20 7C 0D 0A 0D 0A 09 6C 64 20 68 6C 2C 63    .; |.....ld hl,c
021E50:  63 72 74 78 74 3A 20 63 61 6C 6C 20 73 74 72 69    crtxt: call stri
021E60:  6E 67 0D 0A 09 6C 64 20 64 65 2C 26 30 30 30 34    ng...ld de,&0004
021E70:  3A 20 6C 64 20 68 6C 2C 26 32 37 31 38 0D 0A 09    : ld hl,&2718...
021E80:  63 61 6C 6C 20 26 42 42 36 36 09 09 09 09 3B 73    call &BB66....;s
021E90:  65 74 20 75 70 20 77 69 6E 64 6F 77 0D 0A 2E 6D    et up window...m
021EA0:  61 69 6E 6D 09 6C 64 20 68 6C 2C 74 6D 6D 61 69    ainm.ld hl,tmmai
021EB0:  6E 3A 20 63 61 6C 6C 20 6D 65 6E 75 0D 0A 09 6A    n: call menu...j
021EC0:  70 20 7A 2C 71 75 63 6F 6D 0D 0A 09 63 70 20 31    p z,qucom...cp 1
021ED0:  3A 20 6A 70 20 7A 2C 72 73 6D 6E 75 0D 0A 09 63    : jp z,rsmnu...c
021EE0:  70 20 32 3A 20 6A 70 20 7A 2C 63 70 74 6D 6E 75    p 2: jp z,cptmnu
021EF0:  0D 0A 09 63 70 20 33 3A 20 6A 70 20 7A 2C 66 69    ...cp 3: jp z,fi
021F00:  6C 6D 6E 75 0D 0A 09 63 70 20 34 3A 20 6A 70 20    lmnu...cp 4: jp 
021F10:  7A 2C 64 73 63 6D 6E 75 0D 0A 09 63 70 20 35 3A    z,dscmnu...cp 5:
021F20:  20 6A 70 20 7A 2C 64 69 72 6D 6E 75 0D 0A 09 69     jp z,dirmnu...i
021F30:  66 20 6B 64 73 3A 20 65 6C 73 65 0D 0A 09 63 70    f kds: else...cp
021F40:  20 36 3A 20 6A 70 20 7A 2C 68 61 6E 67 75 70 0D     6: jp z,hangup.
021F50:  0A 09 65 6E 64 69 66 0D 0A 0D 0A 2E 72 73 6D 6E    ..endif.....rsmn
021F60:  75 09 6C 64 20 68 6C 2C 74 6D 72 73 3A 20 63 61    u.ld hl,tmrs: ca
021F70:  6C 6C 20 6D 65 6E 75 0D 0A 09 6A 72 20 7A 2C 6D    ll menu...jr z,m
021F80:  61 69 6E 6D 0D 0A 09 63 70 20 31 3A 20 6A 70 20    ainm...cp 1: jp 
021F90:  7A 2C 62 70 73 6D 6E 75 0D 0A 09 63 70 20 32 3A    z,bpsmnu...cp 2:
021FA0:  20 6A 70 20 7A 2C 77 72 64 6D 6E 75 0D 0A 69 66     jp z,wrdmnu..if
021FB0:  20 6B 64 73 3A 09 65 6C 73 65 3A 20 63 70 20 36     kds:.else: cp 6
021FC0:  3A 20 6A 70 20 7A 2C 68 68 73 6D 6E 75 0D 0A 65    : jp z,hhsmnu..e
021FD0:  6E 64 69 66 3A 09 63 70 20 33 3A 20 6A 70 20 7A    ndif:.cp 3: jp z
021FE0:  2C 64 6F 62 72 6B 0D 0A 09 63 70 20 34 3A 20 6A    ,dobrk...cp 4: j
021FF0:  70 20 7A 2C 78 6F 6E 6D 6E 75 0D 0A 09 63 70 20    p z,xonmnu...cp 
022000:  31 31 30 31 30 31 30 3A 20 6C 64 20 28 69 79 2B    1101010: ld (iy+
022010:  31 32 29 2C 61 3A 20 6C 64 20 64 2C 35 3A 20 63    12),a: ld d,5: c
022020:  61 6C 6C 20 70 72 65 67 0D 0A 09 65 6E 64 69 66    all preg...endif
022030:  3A 20 20 72 65 74 0D 0A 0D 0A 2E 72 73 66 74 78    :  ret.....rsftx
022040:  74 09 64 62 20 22 44 4F 57 4E 4C 4F 41 44 2E 22    t.db "DOWNLOAD."
022050:  2C 30 0D 0A 09 64 62 20 22 20 20 20 20 20 20 20    ,0...db "       
022060:  20 20 20 20 20 22 2C 30 0D 0A 0D 0A 09 3B 3E 3E         ",0.....;>>
022070:  3E 20 43 6C 65 61 72 20 74 65 78 74 20 62 75 66    > Clear text buf
022080:  66 65 72 0D 0A 0D 0A 2E 63 62 75 66 66 72 09 70    fer.....cbuffr.p
022090:  75 73 68 20 69 79 3A 20 70 6F 70 20 68 6C 0D 0A    ush iy: pop hl..
0220A0:  09 6C 64 20 64 65 2C 31 31 36 3A 20 61 64 64 20    .ld de,116: add 
0220B0:  68 6C 2C 64 65 09 09 3B 48 4C 20 3D 20 62 75 66    hl,de..;HL = buf
0220C0:  66 65 72 0D 0A 09 6C 64 20 64 2C 68 3A 20 6C 64    fer...ld d,h: ld
0220D0:  20 65 2C 6C 3A 20 69 6E 63 20 64 65 09 09 3B 44     e,l: inc de..;D
0220E0:  45 20 3D 20 62 75 66 66 65 72 2B 31 0D 0A 09 6C    E = buffer+1...l
0220F0:  64 20 62 63 2C 32 35 35 0D 0A 09 6C 64 20 28 68    d bc,255...ld (h
022100:  6C 29 2C 30 0D 0A 09 6C 64 69 72 0D 0A 0D 0A 09    l),0...ldir.....
022110:  6C 64 20 68 6C 2C 30 0D 0A 09 6C 64 20 28 69 79    ld hl,0...ld (iy
022120:  2B 33 38 29 2C 6C 3A 20 6C 64 20 28 69 79 2B 33    +38),l: ld (iy+3
022130:  39 29 2C 68 09 3B 62 75 66 66 65 72 20 67 65 74    9),h.;buffer get
022140:  20 6F 66 66 73 65 74 0D 0A 09 6C 64 20 28 69 79     offset...ld (iy
022150:  2B 33 36 29 2C 6C 3A 20 6C 64 20 28 69 79 2B 33    +36),l: ld (iy+3
022160:  37 29 2C 68 09 3B 62 75 66 66 65 72 20 73 74 6F    7),h.;buffer sto
022170:  72 65 20 6F 66 66 73 65 74 0D 0A 09 72 65 74 0D    re offset...ret.
022180:  0A 1A 53 55 42 52 4F 55 54 20 24 24 24 FF 00 FF    ..SUBROUT $$$...
022190:  4D 4F 44 20 2A 2A 2A 0D 0A 0D 0A 09 3B 3E 3E 3E    MOD ***.....;>>>
0221A0:  20 43 68 65 63 6B 20 66 6F 72 20 66 69 6C 65 20     Check for file 
0221B0:  62 75 66 66 65 72 0D 0A 0D 0A 2E 62 75 66 66 5F    buffer.....buff_
0221C0:  63 09 70 75 73 68 20 61 66 3A 20 70 75 73 68 20    c.push af: push 
0221D0:  62 63 0D 0A 09 6C 64 20 61 2C 28 69 79 2B 37 29    bc...ld a,(iy+7)
0221E0:  3A 20 6C 64 20 62 2C 61 0D 0A 09 6C 64 20 61 2C    : ld b,a...ld a,
0221F0:  28 69 79 2B 38 29 3A 20 6F 72 20 62 0D 0A 09 70    (iy+8): or b...p
022200:  35 3A 20 6A 70 20 7A 2C 6C 63 6C 6D 6E 75 0D 0A    5: jp z,lclmnu..
022210:  0D 0A 09 3B 74 69 6D 65 6F 75 74 20 2D 20 72 65    ...;timeout - re
022220:  6D 6F 76 65 64 20 66 72 6F 6D 20 70 72 6F 64 75    moved from produ
022230:  63 74 69 6F 6E 20 76 65 72 73 69 6F 6E 0D 0A 0D    ction version...
022240:  0A 09 6C 64 20 68 6C 2C 74 6F 73 74 78 74 0D 0A    ..ld hl,tostxt..
022250:  09 63 61 6C 6C 20 73 74 72 69 6E 67 0D 0A 0D 0A    .call string....
022260:  2E 74 76 64 69 73 70 09 6C 64 20 68 6C 2C 26 30    .tvdisp.ld hl,&0
022270:  42 30 33 3A 20 63 61 6C 6C 20 26 42 42 37 35 0D    B03: call &BB75.
022280:  0A 09 6C 64 20 6C 2C 28 69 79 2B 39 29 3A 20 6C    ..ld l,(iy+9): l
022290:  64 20 68 2C 28 69 79 2B 31 30 29 3A 20 63 61 6C    d h,(iy+10): cal
0222A0:  6C 20 70 72 5F 68 6C 09 3B 70 72 69 6E 74 20 74    l pr_hl.;print t
0222B0:  69 6D 65 2D 6F 75 74 0D 0A 09 6C 64 20 61 2C 33    ime-out...ld a,3
0222C0:  32 3A 20 63 61 6C 6C 20 26 42 42 35 41 0D 0A 0D    2: call &BB5A...
0222D0:  0A 2E 74 76 77 61 69 74 09 63 61 6C 6C 20 26 42    ..tvwait.call &B
0222E0:  42 30 36 0D 0A 09 63 70 20 33 32 3A 20 6A 70 20    B06...cp 32: jp 
0222F0:  7A 2C 72 73 6D 6E 75 3A 20 63 70 20 32 32 34 3A    z,rsmnu: cp 224:
022300:  20 6A 70 20 7A 2C 72 73 6D 6E 75 3A 20 63 70 20     jp z,rsmnu: cp 
022310:  26 46 43 3A 20 6A 70 20 7A 2C 72 73 6D 6E 75 0D    &FC: jp z,rsmnu.
022320:  0A 09 6C 64 20 6C 2C 28 69 79 2B 39 29 3A 20 6C    ..ld l,(iy+9): l
022330:  64 20 68 2C 28 69 79 2B 31 30 29 0D 0A 09 6C 64    d h,(iy+10)...ld
022340:  20 64 65 2C 32 35 0D 0A 09 63 70 20 32 34 30 3A     de,25...cp 240:
022350:  20 6A 72 20 7A 2C 74 76 75 70 0D 0A 09 63 70 20     jr z,tvup...cp 
022360:  32 34 31 3A 20 6A 72 20 6E 7A 2C 74 76 77 61 69    241: jr nz,tvwai
022370:  74 0D 0A 09 6C 64 20 61 2C 68 3A 20 63 70 20 64    t...ld a,h: cp d
022380:  3A 20 6A 72 20 6E 7A 2C 74 76 6E 30 0D 0A 09 6C    : jr nz,tvn0...l
022390:  64 20 61 2C 6C 3A 20 63 70 20 65 3A 20 6A 72 20    d a,l: cp e: jr 
0223A0:  7A 2C 74 76 77 61 69 74 0D 0A 2E 74 76 6E 30 09    z,tvwait...tvn0.
0223B0:  73 63 66 3A 20 63 63 66 3A 20 73 62 63 20 68 6C    scf: ccf: sbc hl
0223C0:  2C 64 65 0D 0A 09 6C 64 20 28 69 79 2B 39 29 2C    ,de...ld (iy+9),
0223D0:  6C 3A 20 6C 64 20 28 69 79 2B 31 30 29 2C 68 3A    l: ld (iy+10),h:
0223E0:  20 6A 72 20 74 76 64 69 73 70 0D 0A 2E 74 76 75     jr tvdisp...tvu
0223F0:  70 09 61 64 64 20 68 6C 2C 64 65 3A 20 6C 64 20    p.add hl,de: ld 
022400:  0D 0A 09 3B 2A 2A 2A 20 54 45 52 4D 49 4E 41 4C    ...;*** TERMINAL
022410:  2E 4D 4F 44 20 2A 2A 2A 0D 0A 0D 0A 74 66 62 75    .MOD ***....tfbu
022420:  66 66 09 65 71 75 20 26 32 30 30 30 09 09 09 3B    ff.equ &2000...;
022430:  74 65 72 6D 69 6E 61 6C 20 66 69 6C 65 20 62 75    terminal file bu
022440:  66 66 65 72 0D 0A 74 70 62 6C 6F 63 6B 09 65 71    ffer..tpblock.eq
022450:  75 20 26 33 30 30 30 09 09 09 3B 74 65 72 6D 69    u &3000...;termi
022460:  6E 61 6C 20 70 61 72 61 6D 65 74 65 72 20 62 6C    nal parameter bl
022470:  6F 63 6B 0D 0A 6F 66 66 73 65 74 09 65 71 75 20    ock..offset.equ 
022480:  26 33 46 46 45 09 09 09 3B 6F 66 66 73 65 74 20    &3FFE...;offset 
022490:  73 74 6F 72 65 20 6C 6F 63 61 74 69 6F 6E 0D 0A    store location..
0224A0:  63 68 61 70 6F 73 09 65 71 75 20 26 33 46 46 43    chapos.equ &3FFC
0224B0:  09 09 09 3B 63 68 61 72 61 63 74 65 72 20 70 6F    ...;character po
0224C0:  73 69 74 69 6F 6E 20 73 74 6F 72 65 20 6C 6F 63    sition store loc
0224D0:  61 74 69 6F 6E 0D 0A 0D 0A 0D 0A 0D 0A 09 3B 3E    ation.........;>
0224E0:  3E 3E 20 54 45 52 4D 78 78 20 63 6F 6D 6D 61 6E    >> TERMxx comman
0224F0:  64 73 0D 0A 0D 0A 2E 74 6D 33 5F 69 09 63 61 6C    ds.....tm3_i.cal
022500:  6C 20 72 65 73 65 74 3A 20 6C 64 20 68 6C 2C 33    l reset: ld hl,3
022510:  30 30 3A 20 6C 64 20 64 65 2C 33 30 30 3A 20 6A    00: ld de,300: j
022520:  70 20 74 65 72 6D 5F 78 0D 0A 2E 74 6D 37 35 5F    p term_x...tm75_
022530:  69 09 63 61 6C 6C 20 72 65 73 65 74 3A 20 6C 64    i.call reset: ld
022540:  20 68 6C 2C 31 32 30 30 3A 20 6C 64 20 64 65 2C     hl,1200: ld de,
022550:  37 35 3A 20 6A 70 20 74 65 72 6D 5F 78 0D 0A 2E    75: jp term_x...
022560:  74 6D 31 32 5F 69 09 63 61 6C 6C 20 72 65 73 65    tm12_i.call rese
022570:  74 3A 20 6C 64 20 68 6C 2C 31 32 30 30 3A 20 6C    t: ld hl,1200: l
022580:  64 20 64 65 2C 31 32 30 30 3A 20 6A 70 20 74 65    d de,1200: jp te
022590:  72 6D 5F 78 0D 0A 2E 74 6D 32 34 5F 69 09 6A 70    rm_x...tm24_i.jp
0225A0:  20 74 65 72 6D 5F 69 0D 0A 2E 74 6D 34 38 5F 69     term_i...tm48_i
0225B0:  09 63 61 6C 6C 20 72 65 73 65 74 3A 20 6C 64 20    .call reset: ld 
0225C0:  68 6C 2C 34 38 30 30 3A 20 6C 64 20 64 65 2C 34    hl,4800: ld de,4
0225D0:  38 30 30 3A 20 6A 70 20 74 65 72 6D 5F 78 0D 0A    800: jp term_x..
0225E0:  0D 0A 09 3B 3E 3E 3E 20 54 45 52 4D 49 4E 41 4C    ...;>>> TERMINAL
0225F0:  20 63 6F 6D 6D 61 6E 64 0D 0A 0D 0A 2E 74 65 72     command.....ter
022600:  28 69 79 2B 39 29 2C 6C 3A 20 6C 64 20 28 69 79    (iy+9),l: ld (iy
022610:  2B 31 30 29 2C 68 3A 20 6A 72 20 74 76 64 69 73    +10),h: jr tvdis
022620:  70 0D 0A 0D 0A 69 66 20 6B 64 73 3A 09 65 6C 73    p....if kds:.els
022630:  65 0D 0A 2E 68 68 73 6D 6E 75 09 6C 64 20 68 6C    e...hhsmnu.ld hl
022640:  2C 74 6D 68 73 68 6B 3A 20 63 61 6C 6C 20 6D 65    ,tmhshk: call me
022650:  6E 75 3A 20 6A 70 20 7A 2C 72 73 6D 6E 75 0D 0A    nu: jp z,rsmnu..
022660:  09 64 65 63 20 61 3A 20 63 61 6C 6C 20 68 77 6F    .dec a: call hwo
022670:  6B 3A 20 6A 70 20 72 73 6D 6E 75 3A 20 65 6E 64    k: jp rsmnu: end
022680:  69 66 0D 0A 0D 0A 2E 78 6F 6E 6D 6E 75 09 6C 64    if.....xonmnu.ld
022690:  20 68 6C 2C 74 6D 78 6F 6E 3A 20 63 61 6C 6C 20     hl,tmxon: call 
0226A0:  6D 65 6E 75 3A 20 6A 70 20 7A 2C 72 73 6D 6E 75    menu: jp z,rsmnu
0226B0:  0D 0A 09 64 65 63 20 61 3A 20 78 6F 72 20 31 3A    ...dec a: xor 1:
0226C0:  20 6C 64 20 28 69 79 2B 34 29 2C 61 3A 20 6A 70     ld (iy+4),a: jp
0226D0:  20 72 73 6D 6E 75 09 3B 58 4F 4E 20 63 6F 6E 74     rsmnu.;XON cont
0226E0:  72 6F 6C 0D 0A 0D 0A 2E 6C 63 6C 6D 6E 75 09 6C    rol.....lclmnu.l
0226F0:  64 20 68 6C 2C 74 6D 6C 6F 63 6C 3A 20 63 61 6C    d hl,tmlocl: cal
022700:  6C 20 6D 65 6E 75 3A 20 6A 70 20 7A 2C 72 73 6D    l menu: jp z,rsm
022710:  6E 75 0D 0A 09 64 65 63 20 61 3A 20 78 6F 72 20    nu...dec a: xor 
022720:  31 3A 20 6C 64 20 28 69 79 2B 31 29 2C 61 3A 20    1: ld (iy+1),a: 
022730:  6A 70 20 72 73 6D 6E 75 09 3B 4C 6F 63 61 6C 20    jp rsmnu.;Local 
022740:  65 63 68 6F 0D 0A 0D 0A 2E 62 70 73 6D 6E 75 09    echo.....bpsmnu.
022750:  6C 64 20 68 6C 2C 74 6D 62 61 75 64 3A 20 63 61    ld hl,tmbaud: ca
022760:  6C 6C 20 6D 65 6E 75 3A 20 6A 70 20 7A 2C 72 73    ll menu: jp z,rs
022770:  6D 6E 75 0D 0A 09 6C 64 20 62 2C 61 3A 20 6C 64    mnu...ld b,a: ld
022780:  20 69 78 2C 74 62 73 65 74 73 0D 0A 2E 62 70 73     ix,tbsets...bps
022790:  67 76 6C 09 6C 64 20 6C 2C 28 69 78 29 3A 20 6C    gvl.ld l,(ix): l
0227A0:  64 20 68 2C 28 69 78 2B 31 29 3A 20 6C 64 20 65    d h,(ix+1): ld e
0227B0:  2C 28 69 78 2B 32 29 3A 20 6C 64 20 64 2C 28 69    ,(ix+2): ld d,(i
0227C0:  78 2B 33 29 0D 0A 09 69 6E 63 20 69 78 3A 20 69    x+3)...inc ix: i
0227D0:  6E 63 20 69 78 3A 20 69 6E 63 20 69 78 3A 20 69    nc ix: inc ix: i
0227E0:  6E 63 20 69 78 3A 20 64 6A 6E 7A 20 62 70 73 67    nc ix: djnz bpsg
0227F0:  76 6C 0D 0A 09 6C 64 20 61 2C 32 3A 20 63 61 6C    vl...ld a,2: cal
022800:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
022810:  1D 00 01 00 02 09 4E E5 1D 00 C7 02 00 00 00 02    ......N.........
022820:  1D 00 C3 02 00 00 00 02 1D 00 C8 02 00 00 00 02    ................
022830:  1D 00 C4 02 00 00 00 02 1D 00 C9 02 00 00 00 02    ................
022840:  1D 00 C5 02 00 00 00 02 1D 00 C1 02 00 00 00 02    ................
022850:  1D 00 C6 02 00 00 00 02 1D 00 C2 02 00 00 00 02    ................
022860:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
022870:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
022880:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
022890:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0228A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0228B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0228C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0228D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0228E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0228F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
022900:  6C 3A 20 61 64 64 20 68 6C 2C 68 6C 0D 0A 09 61    l: add hl,hl...a
022910:  64 64 20 68 6C 2C 68 6C 3A 20 61 64 64 20 68 6C    dd hl,hl: add hl
022920:  2C 68 6C 3A 20 61 64 64 20 68 6C 2C 68 6C 0D 0A    ,hl: add hl,hl..
022930:  09 6C 64 20 64 65 2C 74 70 62 6C 6F 63 6B 3A 20    .ld de,tpblock: 
022940:  61 64 64 20 68 6C 2C 64 65 09 3B 48 4C 20 3D 20    add hl,de.;HL = 
022950:  62 61 73 65 20 61 64 64 72 65 73 73 20 6F 66 20    base address of 
022960:  65 6E 74 72 79 0D 0A 09 70 75 73 68 20 68 6C 0D    entry...push hl.
022970:  0A 09 6C 64 20 63 2C 32 36 3A 20 63 61 6C 6C 20    ..ld c,26: call 
022980:  65 64 69 74 6C 6E 0D 0A 09 6C 64 20 61 2C 33 35    editln...ld a,35
022990:  3A 20 63 61 6C 6C 20 26 42 42 36 46 0D 0A 09 70    : call &BB6F...p
0229A0:  6F 70 20 68 6C 3A 20 6C 64 20 64 65 2C 32 36 0D    op hl: ld de,26.
0229B0:  0A 09 61 64 64 20 68 6C 2C 64 65 3A 20 70 75 73    ..add hl,de: pus
0229C0:  68 20 68 6C 09 09 3B 48 4C 20 3D 20 61 64 64 72    h hl..;HL = addr
0229D0:  65 73 73 20 6F 66 20 65 6E 74 72 79 20 74 79 70    ess of entry typ
0229E0:  65 0D 0A 09 69 6E 63 20 68 6C 0D 0A 09 6C 64 20    e...inc hl...ld 
0229F0:  61 2C 28 74 70 62 6C 6F 63 6B 2B 35 31 32 29 3A    a,(tpblock+512):
022A00:  20 63 70 20 31 37 0D 0A 09 6A 72 20 7A 2C 6E 6F     cp 17...jr z,no
022A10:  5F 61 75 74 09 09 09 3B 69 66 20 6D 61 63 72 6F    _aut...;if macro
022A20:  2C 20 6E 6F 20 73 65 63 6F 6E 64 61 72 79 20 65    , no secondary e
022A30:  6E 74 72 79 0D 0A 09 6C 64 20 63 2C 35 3A 20 63    ntry...ld c,5: c
022A40:  61 6C 6C 20 65 64 69 74 6C 6E 09 09 3B 65 64 69    all editln..;edi
022A50:  74 20 73 65 63 6F 6E 64 61 72 79 20 65 6E 74 72    t secondary entr
022A60:  79 0D 0A 09 6C 64 20 61 2C 62 3A 20 6F 72 20 61    y...ld a,b: or a
022A70:  3A 20 6A 72 20 6E 7A 2C 6E 6F 74 61 75 74 0D 0A    : jr nz,notaut..
022A80:  09 3B 6C 64 20 61 2C 33 35 3A 20 3B 63 61 6C 6C    .;ld a,35: ;call
022A90:  20 26 42 42 36 46 0D 0A 09 3B 6C 64 20 68 6C 2C     &BB6F...;ld hl,
022AA0:  61 74 6F 74 78 74 3A 20 3B 63 61 6C 6C 20 73 74    atotxt: ;call st
022AB0:  72 69 6E 67 09 3B 70 72 69 6E 74 20 22 61 75 74    ring.;print "aut
022AC0:  6F 22 20 69 66 20 6E 6F 20 74 65 78 74 20 65 6E    o" if no text en
022AD0:  74 65 72 65 64 0D 0A 09 3B 6C 64 20 61 2C 31 3A    tered...;ld a,1:
022AE0:  20 3B 6A 72 20 70 75 74 61 75 74 09 09 3B 73 65     ;jr putaut..;se
022AF0:  63 6F 6E 64 61 72 79 20 65 6E 74 72 79 20 31 20    condary entry 1 
022B00:  20 66 69 6E 69 73 68 65 64 20 64 69 73 70 6C 61     finished displa
022B10:  79 0D 0A 0D 0A 09 6C 64 20 68 6C 2C 26 30 33 31    y.....ld hl,&031
022B20:  31 3A 20 63 61 6C 6C 20 26 42 42 37 35 09 09 3B    1: call &BB75..;
022B30:  63 6F 6C 75 6D 6E 20 33 2C 20 72 6F 77 20 31 37    column 3, row 17
022B40:  0D 0A 09 6C 64 20 61 2C 22 4D 22 3A 20 63 61 6C    ...ld a,"M": cal
022B50:  6C 20 26 42 42 35 41 09 09 3B 22 4D 22 20 28 6D    l &BB5A..;"M" (m
022B60:  61 63 72 6F 29 0D 0A 09 6C 64 20 61 2C 33 32 3A    acro)...ld a,32:
022B70:  20 63 61 6C 6C 20 26 42 42 35 41 3A 20 63 61 6C     call &BB5A: cal
022B80:  6C 20 26 42 42 35 41 09 3B 74 77 6F 20 73 70 61    l &BB5A.;two spa
022B90:  63 65 73 0D 0A 09 6C 64 20 61 2C 33 3A 20 63 61    ces...ld a,3: ca
022BA0:  6C 6C 20 26 42 42 39 30 09 09 3B 50 45 4E 20 33    ll &BB90..;PEN 3
022BB0:  0D 0A 09 70 75 73 68 20 69 78 3A 20 70 6F 70 20    ...push ix: pop 
022BC0:  68 6C 0D 0A 09 6C 64 20 62 2C 32 36 3A 20 63 61    hl...ld b,26: ca
022BD0:  6C 6C 20 73 74 72 6E 67 32 09 09 3B 64 69 61 6C    ll strng2..;dial
022BE0:  6C 69 6E 67 20 73 74 72 69 6E 67 20 66 6F 72 20    ling string for 
022BF0:  6D 61 63 72 6F 0D 0A 0D 0A 09 6C 64 20 68 6C 2C    macro.....ld hl,
022C00:  73 76 64 74 78 74 3A 20 63 61 6C 6C 20 73 74 72    svdtxt: call str
022C10:  69 6E 67 09 3B 22 53 61 76 65 20 64 69 72 65 63    ing.;"Save direc
022C20:  74 6F 72 79 22 0D 0A 0D 0A 09 6C 64 20 61 2C 33    tory".....ld a,3
022C30:  3A 20 63 61 6C 6C 20 26 42 42 39 30 0D 0A 09 6C    : call &BB90...l
022C40:  64 20 68 6C 2C 26 30 31 30 31 0D 0A 2E 64 69 72    d hl,&0101...dir
022C50:  63 6C 70 09 70 75 73 68 20 68 6C 3A 20 63 61 6C    clp.push hl: cal
022C60:  6C 20 26 42 42 37 35 3A 20 70 6F 70 20 68 6C 0D    l &BB75: pop hl.
022C70:  0A 09 6C 64 20 61 2C 32 34 36 3A 20 63 61 6C 6C    ..ld a,246: call
022C80:  20 26 42 42 35 41 0D 0A 09 63 61 6C 6C 20 26 42     &BB5A...call &B
022C90:  42 30 36 0D 0A 09 70 75 73 68 20 61 66 3A 20 70    B06...push af: p
022CA0:  75 73 68 20 68 6C 3A 20 63 61 6C 6C 20 26 42 42    ush hl: call &BB
022CB0:  37 35 0D 0A 09 6C 64 20 61 2C 33 32 3A 20 63 61    75...ld a,32: ca
022CC0:  6C 6C 20 26 42 42 35 41 3A 20 70 6F 70 20 68 6C    ll &BB5A: pop hl
022CD0:  3A 20 70 6F 70 20 61 66 0D 0A 09 63 70 20 26 46    : pop af...cp &F
022CE0:  43 3A 20 6A 70 20 7A 2C 64 69 72 6D 6E 75 0D 0A    C: jp z,dirmnu..
022CF0:  09 63 70 20 32 34 30 3A 20 6A 72 20 7A 2C 64 69    .cp 240: jr z,di
022D00:  28 61 75 74 6F 64 69 61 6C 29 0D 0A 2E 6E 6F 74    (autodial)...not
022D10:  61 75 74 09 6C 64 20 61 2C 30 3A 20 6A 72 20 70    aut.ld a,0: jr p
022D20:  75 74 61 75 74 09 09 3B 73 65 63 6F 6E 64 61 72    utaut..;secondar
022D30:  79 20 65 6E 74 72 79 20 30 20 28 6E 6F 74 20 61    y entry 0 (not a
022D40:  75 74 6F 64 69 61 6C 29 0D 0A 2E 6E 6F 5F 61 75    utodial)...no_au
022D50:  74 09 70 6F 70 20 68 6C 3A 20 70 75 73 68 20 68    t.pop hl: push h
022D60:  6C 3A 20 6C 64 20 28 68 6C 29 2C 30 09 3B 6E 6F    l: ld (hl),0.;no
022D70:  20 73 65 63 6F 6E 64 61 72 79 20 65 6E 74 72 79     secondary entry
022D80:  20 28 6D 61 63 72 6F 29 0D 0A 09 69 6E 63 20 68     (macro)...inc h
022D90:  6C 3A 20 6C 64 20 28 68 6C 29 2C 30 0D 0A 09 69    l: ld (hl),0...i
022DA0:  6E 63 20 68 6C 3A 20 6C 64 20 28 68 6C 29 2C 30    nc hl: ld (hl),0
022DB0:  0D 0A 09 69 6E 63 20 68 6C 3A 20 6C 64 20 28 68    ...inc hl: ld (h
022DC0:  6C 29 2C 30 0D 0A 09 69 6E 63 20 68 6C 3A 20 6C    l),0...inc hl: l
022DD0:  64 20 28 68 6C 29 2C 30 0D 0A 09 69 6E 63 20 68    d (hl),0...inc h
022DE0:  6C 3A 20 6C 64 20 28 68 6C 29 2C 30 0D 0A 2E 70    l: ld (hl),0...p
022DF0:  75 74 61 75 74 20 70 6F 70 20 68 6C 3A 20 6C 64    utaut pop hl: ld
022E00:  20 28 68 6C 29 2C 61 0D 0A 09 70 6F 70 20 68 6C     (hl),a...pop hl
022E10:  3A 20 6A 70 20 64 69 72 63 6C 70 0D 0A 0D 0A 0D    : jp dirclp.....
022E20:  0A 0D 0A 0D 0A 2E 64 69 72 64 69 61 09 09 09 09    ......dirdia....
022E30:  09 3B 64 69 72 65 63 74 20 64 69 61 6C 0D 0A 0D    .;direct dial...
022E40:  0A 0D 0A 0D 0A 2E 64 73 63 6D 6E 75 09 6C 64 20    ......dscmnu.ld 
022E50:  68 6C 2C 74 6D 64 69 73 63 3A 20 63 61 6C 6C 20    hl,tmdisc: call 
022E60:  6D 65 6E 75 3A 20 6A 70 20 7A 2C 6D 61 69 6E 6D    menu: jp z,mainm
022E70:  0D 0A 09 63 70 20 31 3A 20 6A 70 20 7A 2C 63 61    ...cp 1: jp z,ca
022E80:  74 64 73 63 0D 0A 09 63 70 20 32 3A 20 6A 70 20    tdsc...cp 2: jp 
022E90:  7A 2C 64 72 69 76 65 61 0D 0A 09 63 70 20 33 3A    z,drivea...cp 3:
022EA0:  20 6A 70 20 7A 2C 64 72 69 76 65 62 0D 0A 09 63     jp z,driveb...c
022EB0:  70 20 34 3A 20 6A 70 20 7A 2C 65 72 61 73 65 0D    p 4: jp z,erase.
022EC0:  0A 09 63 70 20 35 3A 20 6A 70 20 7A 2C 72 65 6E    ..cp 5: jp z,ren
022ED0:  61 6D 65 0D 0A 09 63 70 20 36 3A 20 6A 70 20 7A    ame...cp 6: jp z
022EE0:  2C 75 73 65 72 0D 0A 0D 0A 09 6C 64 20 68 6C 2C    ,user.....ld hl,
022EF0:  74 79 70 74 78 74 3A 20 63 61 6C 6C 20 73 74 72    typtxt: call str
022F00:  72 5F 75 70 0D 0A 09 63 70 20 32 34 31 3A 20 6A    r_up...cp 241: j
022F10:  72 20 7A 2C 64 69 72 5F 64 6E 0D 0A 09 63 70 20    r z,dir_dn...cp 
022F20:  32 32 34 3A 20 6A 70 20 7A 2C 64 69 72 5F 64 6C    224: jp z,dir_dl
022F30:  0D 0A 09 63 70 20 33 32 3A 20 20 6A 70 20 7A 2C    ...cp 32:  jp z,
022F40:  64 69 72 5F 64 6C 0D 0A 09 63 70 20 32 34 33 3A    dir_dl...cp 243:
022F50:  20 6A 70 20 7A 2C 64 69 72 5F 65 64 0D 0A 09 6A     jp z,dir_ed...j
022F60:  72 20 64 69 72 63 6C 70 0D 0A 0D 0A 2E 64 69 72    r dirclp.....dir
022F70:  5F 75 70 09 6C 64 20 61 2C 6C 3A 20 63 70 20 31    _up.ld a,l: cp 1
022F80:  3A 20 6A 72 20 7A 2C 64 69 72 63 6C 70 0D 0A 09    : jr z,dirclp...
022F90:  64 65 63 20 6C 3A 20 63 70 20 31 37 3A 20 6A 72    dec l: cp 17: jr
022FA0:  20 7A 2C 64 65 63 61 67 6E 0D 0A 09 63 70 20 31     z,decagn...cp 1
022FB0:  39 3A 20 6A 72 20 7A 2C 64 65 63 61 67 6E 0D 0A    9: jr z,decagn..
022FC0:  09 6A 72 20 64 69 72 63 6C 70 0D 0A 2E 64 65 63    .jr dirclp...dec
022FD0:  61 67 6E 09 64 65 63 20 6C 3A 20 6A 72 20 64 69    agn.dec l: jr di
022FE0:  72 63 6C 70 0D 0A 0D 0A 2E 64 69 72 5F 64 6E 09    rclp.....dir_dn.
022FF0:  6C 64 20 61 2C 6C 3A 20 63 70 20 31 39 3A 20 6A    ld a,l: cp 19: j
023000:  72 20 7A 2C 64 69 72 63 6C 70 0D 0A 09 69 6E 63    r z,dirclp...inc
023010:  20 6C 3A 20 63 70 20 31 35 3A 20 6A 72 20 7A 2C     l: cp 15: jr z,
023020:  69 6E 63 61 67 6E 0D 0A 09 63 70 20 31 37 3A 20    incagn...cp 17: 
023030:  6A 72 20 7A 2C 69 6E 63 61 67 6E 0D 0A 09 6A 72    jr z,incagn...jr
023040:  20 64 69 72 63 6C 70 0D 0A 2E 69 6E 63 61 67 6E     dirclp...incagn
023050:  09 69 6E 63 20 6C 3A 20 6A 72 20 64 69 72 63 6C    .inc l: jr dircl
023060:  70 0D 0A 0D 0A 2E 64 69 72 5F 64 6C 09 6C 64 20    p.....dir_dl.ld 
023070:  61 2C 6C 09 09 09 09 3B 64 69 61 6C 20 6E 75 6D    a,l....;dial num
023080:  62 65 72 0D 0A 09 63 70 20 31 37 3A 20 6A 72 20    ber...cp 17: jr 
023090:  7A 2C 64 69 72 63 6C 70 0D 0A 09 63 70 20 31 39    z,dirclp...cp 19
0230A0:  3A 20 6A 72 20 7A 2C 64 69 72 5F 73 76 0D 0A 0D    : jr z,dir_sv...
0230B0:  0A 09 64 65 63 20 6C 3A 20 6C 64 20 68 2C 30 3A    ..dec l: ld h,0:
0230C0:  20 61 64 64 20 68 6C 2C 68 6C 3A 20 61 64 64 20     add hl,hl: add 
0230D0:  68 6C 2C 68 6C 0D 0A 09 61 64 64 20 68 6C 2C 68    hl,hl...add hl,h
0230E0:  6C 3A 20 61 64 64 20 68 6C 2C 68 6C 3A 20 61 64    l: add hl,hl: ad
0230F0:  64 20 68 6C 2C 68 6C 0D 0A 09 6C 64 20 64 65 2C    d hl,hl...ld de,
023100:  69 6E 67 0D 0A 09 6C 64 20 68 6C 2C 26 30 42 30    ing...ld hl,&0B0
023110:  33 3A 20 63 61 6C 6C 20 26 42 42 37 35 0D 0A 09    3: call &BB75...
023120:  6C 64 20 68 6C 2C 74 70 62 6C 6F 63 6B 2B 35 3A    ld hl,tpblock+5:
023130:  20 63 61 6C 6C 20 69 6E 70 75 74 66 3A 20 6A 70     call inputf: jp
023140:  20 7A 2C 64 73 63 6D 6E 75 0D 0A 09 6C 64 20 61     z,dscmnu...ld a
023150:  2C 62 3A 20 6F 72 20 61 3A 20 6A 70 20 7A 2C 64    ,b: or a: jp z,d
023160:  73 63 6D 6E 75 0D 0A 09 6C 64 20 28 74 70 62 6C    scmnu...ld (tpbl
023170:  6F 63 6B 2B 32 29 2C 61 3A 20 6C 64 20 28 74 70    ock+2),a: ld (tp
023180:  62 6C 6F 63 6B 2B 33 29 2C 68 6C 0D 0A 09 6C 64    block+3),hl...ld
023190:  20 61 2C 32 3A 20 63 61 6C 6C 20 26 42 43 30 45     a,2: call &BC0E
0231A0:  3A 20 63 61 6C 6C 20 26 42 43 30 32 0D 0A 09 6C    : call &BC02...l
0231B0:  64 20 69 78 2C 74 70 62 6C 6F 63 6B 3A 20 6C 64    d ix,tpblock: ld
0231C0:  20 68 6C 2C 74 70 62 6C 6F 63 6B 2B 32 0D 0A 09     hl,tpblock+2...
0231D0:  6C 64 20 28 69 78 29 2C 6C 3A 20 6C 64 20 28 69    ld (ix),l: ld (i
0231E0:  78 2B 31 29 2C 68 0D 0A 09 6C 64 20 61 2C 31 3A    x+1),h...ld a,1:
0231F0:  20 63 61 6C 6C 20 74 79 70 65 5F 69 0D 0A 09 6C     call type_i...l
023200:  64 20 68 6C 2C 6B 65 79 74 78 74 3A 20 63 61 6C    d hl,keytxt: cal
023210:  6C 20 73 74 72 69 6E 67 0D 0A 09 63 61 6C 6C 20    l string...call 
023220:  26 42 42 38 31 3A 20 63 61 6C 6C 20 26 42 42 31    &BB81: call &BB1
023230:  38 3A 20 63 61 6C 6C 20 26 42 42 38 34 0D 0A 09    8: call &BB84...
023240:  6A 70 20 6D 73 65 74 75 70 0D 0A 0D 0A 2E 75 73    jp msetup.....us
023250:  65 72 09 6C 64 20 68 6C 2C 75 73 74 78 74 3A 20    er.ld hl,ustxt: 
023260:  63 61 6C 6C 20 73 74 72 69 6E 67 0D 0A 0D 0A 09    call string.....
023270:  6C 64 20 65 2C 30 0D 0A 2E 75 73 64 69 73 70 09    ld e,0...usdisp.
023280:  6C 64 20 68 6C 2C 26 30 42 30 33 3A 20 63 61 6C    ld hl,&0B03: cal
023290:  6C 20 26 42 42 37 35 0D 0A 09 6C 64 20 61 2C 65    l &BB75...ld a,e
0232A0:  3A 20 63 61 6C 6C 20 70 72 5F 64 65 63 0D 0A 09    : call pr_dec...
0232B0:  6C 64 20 61 2C 33 32 3A 20 63 61 6C 6C 20 26 42    ld a,32: call &B
0232C0:  42 35 41 0D 0A 2E 75 73 77 61 69 74 09 63 61 6C    B5A...uswait.cal
0232D0:  6C 20 26 42 42 30 36 0D 0A 09 63 70 20 33 32 3A    l &BB06...cp 32:
0232E0:  20 6A 72 20 7A 2C 65 78 69 74 75 73 3A 20 63 70     jr z,exitus: cp
0232F0:  20 32 32 34 3A 20 6A 72 20 7A 2C 65 78 69 74 75     224: jr z,exitu
023300:  74 70 62 6C 6F 63 6B 3A 20 61 64 64 20 68 6C 2C    tpblock: add hl,
023310:  64 65 09 3B 48 4C 20 3D 20 62 61 73 65 20 61 64    de.;HL = base ad
023320:  64 72 65 73 73 20 6F 66 20 65 6E 74 72 79 0D 0A    dress of entry..
023330:  0D 0A 09 70 75 73 68 20 68 6C 3A 20 70 6F 70 20    ...push hl: pop 
023340:  69 78 0D 0A 09 6C 64 20 61 2C 28 69 78 2B 32 36    ix...ld a,(ix+26
023350:  29 3A 20 63 70 20 31 0D 0A 09 6A 72 20 7A 2C 64    ): cp 1...jr z,d
023360:  69 72 5F 61 75 0D 0A 0D 0A 09 6C 64 20 64 65 2C    ir_au.....ld de,
023370:  32 37 3A 20 61 64 64 20 68 6C 2C 64 65 0D 0A 09    27: add hl,de...
023380:  6C 64 20 62 2C 35 3A 20 63 61 6C 6C 20 64 69 72    ld b,5: call dir
023390:  5F 74 73 09 09 3B 73 65 6E 64 20 66 69 72 73 74    _ts..;send first
0233A0:  20 70 61 72 74 20 6F 66 20 65 6E 74 72 79 0D 0A     part of entry..
0233B0:  09 70 75 73 68 20 69 78 3A 20 70 6F 70 20 68 6C    .push ix: pop hl
0233C0:  0D 0A 09 6C 64 20 62 2C 32 36 3A 20 63 61 6C 6C    ...ld b,26: call
0233D0:  20 64 69 72 5F 74 73 09 09 3B 73 65 6E 64 20 6D     dir_ts..;send m
0233E0:  61 69 6E 20 70 61 72 74 0D 0A 09 6C 64 20 61 2C    ain part...ld a,
0233F0:  31 33 3A 20 63 61 6C 6C 20 73 65 6E 64 62 74 09    13: call sendbt.
023400:  09 3B 43 52 0D 0A 09 6A 70 20 71 75 63 6F 6D 0D    .;CR...jp qucom.
023410:  0A 0D 0A 2E 64 69 72 5F 74 73 09 6C 64 20 61 2C    ....dir_ts.ld a,
023420:  28 68 6C 29 3A 20 6F 72 20 61 3A 20 72 65 74 20    (hl): or a: ret 
023430:  7A 09 09 3B 74 72 61 6E 73 6D 69 74 20 73 74 72    z..;transmit str
023440:  69 6E 67 20 66 72 6F 6D 20 48 4C 2C 20 6D 61 78    ing from HL, max
023450:  2E 6C 65 6E 2E 20 42 0D 0A 09 63 70 20 22 4D 22    .len. B...cp "M"
023460:  3A 20 6A 72 20 7A 2C 6D 61 63 72 6F 0D 0A 09 70    : jr z,macro...p
023470:  75 73 68 20 62 63 3A 20 63 61 6C 6C 20 73 65 6E    ush bc: call sen
023480:  64 62 74 3A 20 70 6F 70 20 62 63 0D 0A 2E 61 70    dbt: pop bc...ap
023490:  5F 64 74 73 09 69 6E 63 20 68 6C 3A 20 64 6A 6E    _dts.inc hl: djn
0234A0:  7A 20 64 69 72 5F 74 73 0D 0A 09 72 65 74 0D 0A    z dir_ts...ret..
0234B0:  0D 0A 2E 6D 61 63 72 6F 09 70 75 73 68 20 68 6C    ...macro.push hl
0234C0:  3A 20 70 75 73 68 20 62 63 09 09 3B 6D 61 63 72    : push bc..;macr
0234D0:  6F 20 68 61 6E 64 6C 65 72 0D 0A 09 6C 64 20 68    o handler...ld h
0234E0:  6C 2C 74 70 62 6C 6F 63 6B 2B 26 31 45 30 0D 0A    l,tpblock+&1E0..
0234F0:  2E 6D 61 63 6C 70 09 6C 64 20 61 2C 28 68 6C 29    .maclp.ld a,(hl)
023500:  37 44 0D 0A 09 6C 64 20 68 6C 2C 74 70 62 6C 6F    7D...ld hl,tpblo
023510:  63 6B 2B 35 31 33 3A 20 6C 64 20 62 2C 31 32 0D    ck+513: ld b,12.
023520:  0A 09 6C 64 20 64 65 2C 74 66 62 75 66 66 3A 20    ..ld de,tfbuff: 
023530:  63 61 6C 6C 20 26 42 43 37 37 09 3B 74 72 79 20    call &BC77.;try 
023540:  74 6F 20 6F 70 65 6E 20 66 69 6C 65 20 66 6F 72    to open file for
023550:  20 69 6E 70 75 74 0D 0A 09 6A 72 20 63 2C 64 6F     input...jr c,do
023560:  70 5F 6F 6B 0D 0A 0D 0A 09 63 61 6C 6C 20 26 42    p_ok.....call &B
023570:  43 37 44 0D 0A 09 6C 64 20 68 6C 2C 74 70 62 6C    C7D...ld hl,tpbl
023580:  6F 63 6B 3A 20 6C 64 20 64 65 2C 74 70 62 6C 6F    ock: ld de,tpblo
023590:  63 6B 2B 31 0D 0A 09 6C 64 20 28 68 6C 29 2C 30    ck+1...ld (hl),0
0235A0:  3A 20 6C 64 20 62 63 2C 35 31 32 3A 20 6C 64 69    : ld bc,512: ldi
0235B0:  72 09 3B 63 6C 65 61 72 20 62 75 66 66 65 72 0D    r.;clear buffer.
0235C0:  0A 09 6A 72 20 64 69 73 70 64 72 0D 0A 0D 0A 2E    ..jr dispdr.....
0235D0:  64 6F 70 5F 6F 6B 09 6C 64 20 68 6C 2C 74 70 62    dop_ok.ld hl,tpb
0235E0:  6C 6F 63 6B 3A 20 63 61 6C 6C 20 26 42 43 38 33    lock: call &BC83
0235F0:  09 3B 72 65 61 64 20 66 69 6C 65 20 69 6E 0D 0A    .;read file in..
023600:  09 63 61 6C 6C 20 26 42 43 37 41 09 09 09 3B 63    .call &BC7A...;c
023610:  6C 6F 73 65 20 66 69 6C 65 0D 0A 0D 0A 2E 64 69    lose file.....di
023620:  73 70 64 72 09 63 61 6C 6C 20 26 42 42 36 43 0D    spdr.call &BB6C.
023630:  0A 09 6C 64 20 61 2C 31 3A 20 63 61 6C 6C 20 26    ..ld a,1: call &
023640:  42 42 39 30 09 09 3B 50 45 4E 20 31 0D 0A 09 6C    BB90..;PEN 1...l
023650:  64 20 6C 2C 31 3A 20 6C 64 20 69 78 2C 74 70 62    d l,1: ld ix,tpb
023660:  6C 6F 63 6B 0D 0A 2E 64 64 6C 6F 6F 70 09 70 75    lock...ddloop.pu
023670:  73 68 20 68 6C 0D 0A 09 6C 64 20 68 2C 33 3A 20    sh hl...ld h,3: 
023680:  63 61 6C 6C 20 26 42 42 37 35 09 09 3B 63 6F 6C    call &BB75..;col
023690:  75 6D 6E 20 33 2C 20 61 70 70 72 6F 70 72 69 61    umn 3, appropria
0236A0:  74 65 20 72 6F 77 0D 0A 09 70 6F 70 20 68 6C 3A    te row...pop hl:
0236B0:  20 70 75 73 68 20 68 6C 0D 0A 09 6C 64 20 61 2C     push hl...ld a,
0236C0:  6C 3A 20 61 64 64 20 34 38 0D 0A 09 63 70 20 22    l: add 48...cp "
0236D0:  39 22 2B 31 3A 20 6A 72 20 63 2C 64 64 68 6E 6F    9"+1: jr c,ddhno
0236E0:  6B 0D 0A 09 61 64 64 20 37 09 09 09 09 3B 41 2D    k...add 7....;A-
0236F0:  46 3F 0D 0A 2E 64 64 68 6E 6F 6B 09 63 61 6C 6C    F?...ddhnok.call
023700:  3A 20 6F 72 20 61 3A 20 6A 72 20 7A 2C 65 78 6D    : or a: jr z,exm
023710:  61 63 0D 0A 09 63 61 6C 6C 20 73 65 6E 64 62 74    ac...call sendbt
023720:  3A 20 69 6E 63 20 68 6C 0D 0A 09 6A 72 20 6D 61    : inc hl...jr ma
023730:  63 6C 70 0D 0A 2E 65 78 6D 61 63 09 70 6F 70 20    clp...exmac.pop 
023740:  62 63 3A 20 70 6F 70 20 68 6C 3A 20 6A 72 20 61    bc: pop hl: jr a
023750:  70 5F 64 74 73 0D 0A 0D 0A 2E 64 69 72 5F 61 75    p_dts.....dir_au
023760:  09 72 65 74 09 09 09 09 3B 2A 2A 2A 2A 2A 2A 2A    .ret....;*******
023770:  2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 0A    **************..
023780:  0D 0A 2E 64 69 72 5F 73 76 09 6C 64 20 68 6C 2C    ...dir_sv.ld hl,
023790:  74 70 62 6C 6F 63 6B 2B 35 31 33 3A 20 6C 64 20    tpblock+513: ld 
0237A0:  62 2C 31 32 0D 0A 09 6C 64 20 64 65 2C 74 66 62    b,12...ld de,tfb
0237B0:  75 66 66 3A 20 63 61 6C 6C 20 26 42 43 38 43 0D    uff: call &BC8C.
0237C0:  0A 09 6C 64 20 68 6C 2C 74 70 62 6C 6F 63 6B 3A    ..ld hl,tpblock:
0237D0:  20 6C 64 20 64 65 2C 35 31 32 0D 0A 09 6C 64 20     ld de,512...ld 
0237E0:  62 63 2C 74 70 62 6C 6F 63 6B 3A 20 6C 64 20 61    bc,tpblock: ld a
0237F0:  2C 32 0D 0A 09 63 61 6C 6C 20 26 42 43 39 38 3A    ,2...call &BC98:
023800:  20 63 61 6C 6C 20 26 42 43 38 46 0D 0A 09 6A 70     call &BC8F...jp
023810:  20 64 69 73 70 64 72 0D 0A 0D 0A 2E 64 69 72 5F     dispdr.....dir_
023820:  65 64 09 70 75 73 68 20 68 6C 0D 0A 09 6C 64 20    ed.push hl...ld 
023830:  61 2C 6C 3A 20 6C 64 20 28 74 70 62 6C 6F 63 6B    a,l: ld (tpblock
023840:  2B 35 31 32 29 2C 61 0D 0A 09 6C 64 20 68 2C 35    +512),a...ld h,5
023850:  3A 20 63 61 6C 6C 20 26 42 42 37 35 0D 0A 09 6C    : call &BB75...l
023860:  64 20 61 2C 31 38 3A 20 63 61 6C 6C 20 26 42 42    d a,18: call &BB
023870:  35 41 09 09 3B 63 6C 65 61 72 20 72 65 73 74 20    5A..;clear rest 
023880:  6F 66 20 6C 69 6E 65 0D 0A 09 6C 64 20 61 2C 33    of line...ld a,3
023890:  3A 20 63 61 6C 6C 20 26 42 42 39 30 09 09 3B 50    : call &BB90..;P
0238A0:  45 4E 20 33 0D 0A 09 70 6F 70 20 68 6C 3A 20 70    EN 3...pop hl: p
0238B0:  75 73 68 20 68 6C 0D 0A 09 6C 64 20 61 2C 6C 3A    ush hl...ld a,l:
0238C0:  20 64 65 63 20 6C 0D 0A 09 63 70 20 31 37 3A 20     dec l...cp 17: 
0238D0:  6A 72 20 6E 7A 2C 6E 6F 74 6D 61 63 0D 0A 09 6C    jr nz,notmac...l
0238E0:  64 20 6C 2C 31 35 0D 0A 2E 6E 6F 74 6D 61 63 09    d l,15...notmac.
0238F0:  6C 64 20 68 2C 30 3A 20 61 64 64 20 68 6C 2C 68    ld h,0: add hl,h
023900:  20 26 42 42 35 41 09 09 09 3B 70 72 69 6E 74 20     &BB5A...;print 
023910:  31 2D 39 2C 41 2D 46 20 64 69 67 69 74 0D 0A 09    1-9,A-F digit...
023920:  6C 64 20 61 2C 33 32 3A 20 63 61 6C 6C 20 26 42    ld a,32: call &B
023930:  42 35 41 3A 20 63 61 6C 6C 20 26 42 42 35 41 09    B5A: call &BB5A.
023940:  3B 74 77 6F 20 73 70 61 63 65 73 0D 0A 09 6C 64    ;two spaces...ld
023950:  20 61 2C 33 3A 20 63 61 6C 6C 20 26 42 42 39 30     a,3: call &BB90
023960:  09 09 3B 50 45 4E 20 33 0D 0A 09 70 75 73 68 20    ..;PEN 3...push 
023970:  69 78 3A 20 70 6F 70 20 68 6C 0D 0A 09 6C 64 20    ix: pop hl...ld 
023980:  62 2C 32 36 3A 20 63 61 6C 6C 20 73 74 72 6E 67    b,26: call strng
023990:  32 09 09 3B 64 69 61 6C 6C 69 6E 67 20 73 74 72    2..;dialling str
0239A0:  69 6E 67 0D 0A 09 6C 64 20 61 2C 33 35 3A 20 63    ing...ld a,35: c
0239B0:  61 6C 6C 20 26 42 42 36 46 09 09 3B 63 6F 6C 75    all &BB6F..;colu
0239C0:  6D 6E 20 33 35 0D 0A 09 6C 64 20 61 2C 28 69 78    mn 35...ld a,(ix
0239D0:  2B 32 36 29 3A 20 6F 72 20 61 0D 0A 09 6A 72 20    +26): or a...jr 
0239E0:  6E 7A 2C 61 75 74 6F 64 09 09 09 3B 61 75 74 6F    nz,autod...;auto
0239F0:  64 69 61 6C 3F 0D 0A 09 70 75 73 68 20 69 78 3A    dial?...push ix:
023A00:  20 70 6F 70 20 68 6C 0D 0A 09 6C 64 20 64 65 2C     pop hl...ld de,
023A10:  32 37 3A 20 61 64 64 20 68 6C 2C 64 65 3A 20 6C    27: add hl,de: l
023A20:  64 20 62 2C 35 0D 0A 09 63 61 6C 6C 20 73 74 72    d b,5...call str
023A30:  6E 67 32 09 09 09 3B 69 66 20 6E 6F 74 2C 20 70    ng2...;if not, p
023A40:  72 69 6E 74 20 65 78 74 72 61 20 66 69 65 6C 64    rint extra field
023A50:  0D 0A 09 6A 72 20 64 65 78 74 72 61 0D 0A 2E 61    ...jr dextra...a
023A60:  75 74 6F 64 09 6C 64 20 68 6C 2C 61 74 6F 74 78    utod.ld hl,atotx
023A70:  74 3A 20 63 61 6C 6C 20 73 74 72 69 6E 67 09 3B    t: call string.;
023A80:  70 72 69 6E 74 20 22 61 75 74 6F 22 0D 0A 2E 64    print "auto"...d
023A90:  65 78 74 72 61 09 6C 64 20 61 2C 31 3A 20 63 61    extra.ld a,1: ca
023AA0:  6C 6C 20 26 42 42 39 30 0D 0A 09 70 6F 70 20 68    ll &BB90...pop h
023AB0:  6C 0D 0A 09 6C 64 20 64 65 2C 33 32 3A 20 61 64    l...ld de,32: ad
023AC0:  64 20 69 78 2C 64 65 0D 0A 09 69 6E 63 20 6C 3A    d ix,de...inc l:
023AD0:  20 6C 64 20 61 2C 6C 0D 0A 09 63 70 20 31 36 3A     ld a,l...cp 16:
023AE0:  20 6A 70 20 6E 7A 2C 64 64 6C 6F 6F 70 09 09 3B     jp nz,ddloop..;
023AF0:  6C 6F 6F 70 20 62 61 63 6B 20 69 66 20 6E 6F 74    loop back if not
023B00:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
023B10:  1E 00 01 00 02 09 4E E5 1E 00 C1 02 00 00 00 02    ......N.........
023B20:  1E 00 C6 02 00 00 00 02 1E 00 C2 02 00 00 00 02    ................
023B30:  1E 00 C7 02 00 00 00 02 1E 00 C3 02 00 00 00 02    ................
023B40:  1E 00 C8 02 00 00 00 02 1E 00 C4 02 00 00 00 02    ................
023B50:  1E 00 C9 02 00 00 00 02 1E 00 C5 02 00 00 00 02    ................
023B60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
023B70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
023B80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
023B90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
023BA0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
023BB0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
023BC0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
023BD0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
023BE0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
023BF0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
023C00:  73 3A 20 63 70 20 26 46 43 3A 20 6A 72 20 7A 2C    s: cp &FC: jr z,
023C10:  65 78 69 74 75 73 0D 0A 09 63 70 20 32 34 30 3A    exitus...cp 240:
023C20:  20 6A 72 20 7A 2C 75 73 75 70 0D 0A 09 63 70 20     jr z,usup...cp 
023C30:  32 34 31 3A 20 6A 72 20 6E 7A 2C 75 73 77 61 69    241: jr nz,uswai
023C40:  74 0D 0A 09 6C 64 20 61 2C 65 3A 20 6F 72 20 61    t...ld a,e: or a
023C50:  3A 20 20 6A 72 20 7A 2C 75 73 77 61 69 74 3A 20    :  jr z,uswait: 
023C60:  64 65 63 20 65 3A 20 6A 72 20 75 73 64 69 73 70    dec e: jr usdisp
023C70:  0D 0A 2E 75 73 75 70 09 6C 64 20 61 2C 65 3A 20    ...usup.ld a,e: 
023C80:  63 70 20 31 35 3A 20 6A 72 20 7A 2C 75 73 77 61    cp 15: jr z,uswa
023C90:  69 74 3A 20 69 6E 63 20 65 3A 20 6A 72 20 75 73    it: inc e: jr us
023CA0:  64 69 73 70 0D 0A 2E 65 78 69 74 75 73 09 70 75    disp...exitus.pu
023CB0:  73 68 20 64 65 3A 20 6C 64 20 68 6C 2C 75 73 65    sh de: ld hl,use
023CC0:  74 78 74 3A 20 63 61 6C 6C 20 72 73 78 3A 20 6C    txt: call rsx: l
023CD0:  64 20 61 2C 32 3A 20 70 6F 70 20 64 65 0D 0A 09    d a,2: pop de...
023CE0:  6C 64 20 69 78 2C 74 70 62 6C 6F 63 6B 3A 20 6C    ld ix,tpblock: l
023CF0:  64 20 28 69 78 29 2C 65 3A 20 6C 64 20 28 69 78    d (ix),e: ld (ix
023D00:  2B 31 29 2C 30 3A 20 6C 64 20 61 2C 31 3A 20 63    +1),0: ld a,1: c
023D10:  61 6C 6C 20 26 31 42 3A 20 6A 70 20 64 73 63 6D    all &1B: jp dscm
023D20:  6E 75 0D 0A 0D 0A 2E 63 61 74 64 73 63 09 63 61    nu.....catdsc.ca
023D30:  6C 6C 20 63 61 74 6C 6F 67 3A 20 6A 70 20 64 73    ll catlog: jp ds
023D40:  63 6D 6E 75 0D 0A 2E 63 61 74 63 70 74 09 63 61    cmnu...catcpt.ca
023D50:  6C 6C 20 63 61 74 6C 6F 67 3A 20 6A 70 20 63 70    ll catlog: jp cp
023D60:  74 6D 6E 75 0D 0A 2E 63 61 74 66 69 6C 09 63 61    tmnu...catfil.ca
023D70:  6C 6C 20 63 61 74 6C 6F 67 3A 20 6A 70 20 66 69    ll catlog: jp fi
023D80:  6C 6D 6E 75 0D 0A 0D 0A 2E 63 61 74 6C 6F 67 09    lmnu.....catlog.
023D90:  63 61 6C 6C 20 26 42 42 36 43 3A 20 6C 64 20 61    call &BB6C: ld a
023DA0:  2C 31 3A 20 63 61 6C 6C 20 26 42 42 39 30 0D 0A    ,1: call &BB90..
023DB0:  09 6C 64 20 6C 2C 28 69 79 2B 37 29 3A 20 6C 64    .ld l,(iy+7): ld
023DC0:  20 68 2C 28 69 79 2B 38 29 3A 20 6C 64 20 64 65     h,(iy+8): ld de
023DD0:  2C 31 30 32 34 3A 20 61 64 64 20 68 6C 2C 64 65    ,1024: add hl,de
023DE0:  0D 0A 09 65 78 20 64 65 2C 68 6C 3A 20 63 61 6C    ...ex de,hl: cal
023DF0:  6C 20 26 42 43 39 42 3A 20 63 61 6C 6C 20 26 42    l &BC9B: call &B
023E00:  6E 6D 0D 0A 09 63 70 20 31 3A 20 6A 70 20 7A 2C    nm...cp 1: jp z,
023E10:  63 61 74 66 69 6C 0D 0A 09 63 70 20 32 3A 20 6A    catfil...cp 2: j
023E20:  70 20 7A 2C 64 6F 77 6E 6C 64 0D 0A 09 63 70 20    p z,downld...cp 
023E30:  33 3A 20 6A 70 20 7A 2C 75 70 6C 6F 61 64 0D 0A    3: jp z,upload..
023E40:  0D 0A 2E 73 65 6C 70 72 74 09 6C 64 20 68 6C 2C    ...selprt.ld hl,
023E50:  74 6D 70 72 6F 74 3A 20 63 61 6C 6C 20 6D 65 6E    tmprot: call men
023E60:  75 3A 20 6A 70 20 7A 2C 66 69 6C 6D 6E 75 0D 0A    u: jp z,filmnu..
023E70:  09 64 65 63 20 61 3A 20 6C 64 20 28 69 79 2B 31    .dec a: ld (iy+1
023E80:  30 37 29 2C 61 3A 20 6A 70 20 66 69 6C 6D 6E 75    07),a: jp filmnu
023E90:  09 3B 70 72 6F 74 6F 63 6F 6C 20 73 65 6C 65 63    .;protocol selec
023EA0:  74 69 6F 6E 0D 0A 0D 0A 2E 64 6F 77 6E 6C 64 09    tion.....downld.
023EB0:  6C 64 20 68 6C 2C 64 73 66 74 78 74 3A 20 63 61    ld hl,dsftxt: ca
023EC0:  6C 6C 20 73 74 72 69 6E 67 0D 0A 09 6C 64 20 68    ll string...ld h
023ED0:  6C 2C 74 70 62 6C 6F 63 6B 2B 35 3A 20 63 61 6C    l,tpblock+5: cal
023EE0:  6C 20 69 6E 70 75 74 66 3A 20 6A 70 20 7A 2C 66    l inputf: jp z,f
023EF0:  69 6C 6D 6E 75 0D 0A 09 6C 64 20 61 2C 62 3A 20    ilmnu...ld a,b: 
023F00:  6F 72 20 61 3A 20 6A 70 20 7A 2C 6E 6F 6E 61 6D    or a: jp z,nonam
023F10:  65 0D 0A 09 6C 64 20 28 74 70 62 6C 6F 63 6B 2B    e...ld (tpblock+
023F20:  32 29 2C 61 3A 20 6C 64 20 28 74 70 62 6C 6F 63    2),a: ld (tpbloc
023F30:  6B 2B 33 29 2C 68 6C 0D 0A 09 6C 64 20 69 78 2C    k+3),hl...ld ix,
023F40:  74 70 62 6C 6F 63 6B 3A 20 6C 64 20 68 6C 2C 74    tpblock: ld hl,t
023F50:  70 62 6C 6F 63 6B 2B 32 0D 0A 09 6C 64 20 28 69    pblock+2...ld (i
023F60:  78 29 2C 6C 3A 20 6C 64 20 28 69 78 2B 31 29 2C    x),l: ld (ix+1),
023F70:  68 0D 0A 09 6C 64 20 61 2C 31 3A 20 64 65 63 20    h...ld a,1: dec 
023F80:  69 78 3A 20 64 65 63 20 69 78 3A 20 70 75 73 68    ix: dec ix: push
023F90:  20 69 78 3A 20 70 6F 70 20 68 6C 0D 0A 09 6C 64     ix: pop hl...ld
023FA0:  20 28 69 79 2B 37 30 29 2C 6C 3A 20 6C 64 20 28     (iy+70),l: ld (
023FB0:  69 79 2B 37 31 29 2C 68 09 3B 63 75 72 72 65 6E    iy+71),h.;curren
023FC0:  74 20 6E 61 6D 65 20 61 64 64 72 65 73 73 0D 0A    t name address..
023FD0:  09 6A 72 20 64 6F 64 6E 6C 64 0D 0A 2E 6E 6F 6E    .jr dodnld...non
023FE0:  61 6D 65 09 78 6F 72 20 61 0D 0A 2E 64 6F 64 6E    ame.xor a...dodn
023FF0:  6C 64 09 6C 64 20 28 69 79 2B 34 32 29 2C 61 3A    ld.ld (iy+42),a:
024000:  42 31 38 3A 20 72 65 74 0D 0A 0D 0A 2E 64 72 69    B18: ret.....dri
024010:  76 65 61 09 6C 64 20 61 2C 31 35 3A 20 63 61 6C    vea.ld a,15: cal
024020:  6C 20 26 42 42 37 32 3A 20 6C 64 20 68 6C 2C 64    l &BB72: ld hl,d
024030:  72 61 74 78 74 3A 20 63 61 6C 6C 20 72 73 78 3A    ratxt: call rsx:
024040:  20 63 61 6C 6C 20 26 31 42 3A 20 6A 70 20 64 73     call &1B: jp ds
024050:  63 6D 6E 75 0D 0A 2E 64 72 69 76 65 62 09 6C 64    cmnu...driveb.ld
024060:  20 61 2C 31 35 3A 20 63 61 6C 6C 20 26 42 42 37     a,15: call &BB7
024070:  32 3A 20 6C 64 20 68 6C 2C 64 72 62 74 78 74 3A    2: ld hl,drbtxt:
024080:  20 63 61 6C 6C 20 72 73 78 3A 20 63 61 6C 6C 20     call rsx: call 
024090:  26 31 42 3A 20 6A 70 20 64 73 63 6D 6E 75 0D 0A    &1B: jp dscmnu..
0240A0:  0D 0A 2E 65 72 61 73 65 09 6C 64 20 68 6C 2C 65    ...erase.ld hl,e
0240B0:  72 61 74 78 74 3A 20 63 61 6C 6C 20 73 74 72 69    ratxt: call stri
0240C0:  6E 67 0D 0A 09 6C 64 20 68 6C 2C 26 30 42 30 33    ng...ld hl,&0B03
0240D0:  3A 20 63 61 6C 6C 20 26 42 42 37 35 0D 0A 09 6C    : call &BB75...l
0240E0:  64 20 68 6C 2C 74 70 62 6C 6F 63 6B 2B 35 3A 20    d hl,tpblock+5: 
0240F0:  63 61 6C 6C 20 69 6E 70 75 74 66 3A 20 6A 70 20    call inputf: jp 
024100:  7A 2C 64 73 63 6D 6E 75 0D 0A 09 6C 64 20 61 2C    z,dscmnu...ld a,
024110:  62 3A 20 6F 72 20 61 3A 20 6A 70 20 7A 2C 64 73    b: or a: jp z,ds
024120:  63 6D 6E 75 0D 0A 09 6C 64 20 28 74 70 62 6C 6F    cmnu...ld (tpblo
024130:  63 6B 2B 32 29 2C 61 3A 20 6C 64 20 28 74 70 62    ck+2),a: ld (tpb
024140:  6C 6F 63 6B 2B 33 29 2C 68 6C 0D 0A 09 6C 64 20    lock+3),hl...ld 
024150:  68 6C 2C 65 72 63 74 78 74 3A 20 63 61 6C 6C 20    hl,erctxt: call 
024160:  72 73 78 0D 0A 09 6C 64 20 61 2C 31 3A 20 6C 64    rsx...ld a,1: ld
024170:  20 69 78 2C 74 70 62 6C 6F 63 6B 3A 20 6C 64 20     ix,tpblock: ld 
024180:  64 65 2C 74 70 62 6C 6F 63 6B 2B 32 0D 0A 09 6C    de,tpblock+2...l
024190:  64 20 28 69 78 29 2C 65 3A 20 6C 64 20 28 69 78    d (ix),e: ld (ix
0241A0:  2B 31 29 2C 64 0D 0A 09 63 61 6C 6C 20 26 31 42    +1),d...call &1B
0241B0:  3A 20 6A 70 20 64 73 63 6D 6E 75 0D 0A 0D 0A 2E    : jp dscmnu.....
0241C0:  72 65 6E 61 6D 65 09 6C 64 20 68 6C 2C 72 65 6E    rename.ld hl,ren
0241D0:  74 78 74 3A 20 63 61 6C 6C 20 73 74 72 69 6E 67    txt: call string
0241E0:  0D 0A 09 6C 64 20 68 6C 2C 26 30 42 30 33 3A 20    ...ld hl,&0B03: 
0241F0:  63 61 6C 6C 20 26 42 42 37 35 0D 0A 09 6C 64 20    call &BB75...ld 
024200:  20 6C 64 20 61 2C 33 3A 20 6C 64 20 28 69 79 2B     ld a,3: ld (iy+
024210:  35 29 2C 61 3A 20 6A 70 20 71 75 63 6F 6D 09 3B    5),a: jp qucom.;
024220:  6E 70 61 72 61 6D 2C 20 66 63 6D 6F 64 65 0D 0A    nparam, fcmode..
024230:  0D 0A 2E 75 70 6C 6F 61 64 09 6C 64 20 61 2C 28    ...upload.ld a,(
024240:  69 79 2B 31 30 37 29 3A 20 63 70 20 32 3A 20 6A    iy+107): cp 2: j
024250:  70 20 6E 7A 2C 73 66 69 6C 65 09 09 3B 73 70 65    p nz,sfile..;spe
024260:  63 70 0D 0A 09 6C 64 20 68 6C 2C 75 66 6E 74 78    cp...ld hl,ufntx
024270:  74 3A 20 63 61 6C 6C 20 73 74 72 69 6E 67 0D 0A    t: call string..
024280:  09 78 6F 72 20 61 3A 20 6C 64 20 28 69 79 2B 34    .xor a: ld (iy+4
024290:  32 29 2C 61 0D 0A 09 6C 64 20 68 6C 2C 74 70 62    2),a...ld hl,tpb
0242A0:  6C 6F 63 6B 2B 26 37 45 3A 20 20 6C 64 20 28 69    lock+&7E:  ld (i
0242B0:  79 2B 37 30 29 2C 6C 3A 20 6C 64 20 28 69 79 2B    y+70),l: ld (iy+
0242C0:  37 31 29 2C 68 09 3B 73 70 61 63 65 20 74 6F 20    71),h.;space to 
0242D0:  73 74 6F 72 65 20 70 61 72 61 6D 65 74 65 72 73    store parameters
0242E0:  0D 0A 09 6C 64 20 68 6C 2C 74 70 62 6C 6F 63 6B    ...ld hl,tpblock
0242F0:  2B 26 38 30 3A 20 20 6C 64 20 28 69 79 2B 34 33    +&80:  ld (iy+43
024300:  29 2C 6C 3A 20 6C 64 20 28 69 79 2B 34 34 29 2C    ),l: ld (iy+44),
024310:  68 09 3B 73 70 61 63 65 20 74 6F 20 73 74 6F 72    h.;space to stor
024320:  65 20 64 65 73 63 72 69 70 74 6F 72 73 0D 0A 09    e descriptors...
024330:  6C 64 20 68 6C 2C 74 70 62 6C 6F 63 6B 2B 26 31    ld hl,tpblock+&1
024340:  31 30 3A 20 6C 64 20 28 69 79 2B 34 30 29 2C 6C    10: ld (iy+40),l
024350:  3A 20 6C 64 20 28 69 79 2B 34 31 29 2C 68 09 3B    : ld (iy+41),h.;
024360:  73 70 61 63 65 20 74 6F 20 73 74 6F 72 65 20 73    space to store s
024370:  74 72 69 6E 67 73 0D 0A 0D 0A 2E 75 70 66 6C 70    trings.....upflp
024380:  09 6C 64 20 6C 2C 28 69 79 2B 34 30 29 3A 20 6C    .ld l,(iy+40): l
024390:  64 20 68 2C 28 69 79 2B 34 31 29 3A 20 63 61 6C    d h,(iy+41): cal
0243A0:  6C 20 69 6E 70 75 74 66 0D 0A 09 6A 70 20 7A 2C    l inputf...jp z,
0243B0:  66 69 6C 6D 6E 75 09 09 09 09 3B 45 53 43 20 70    filmnu....;ESC p
0243C0:  72 65 73 73 65 64 3F 0D 0A 09 6C 64 20 61 2C 62    ressed?...ld a,b
0243D0:  3A 20 6F 72 20 61 3A 20 6A 70 20 7A 2C 64 6F 75    : or a: jp z,dou
0243E0:  70 6C 64 09 09 3B 6C 61 73 74 20 66 69 6C 65 6E    pld..;last filen
0243F0:  61 6D 65 20 65 6E 74 65 72 65 64 3F 0D 0A 09 70    ame entered?...p
024400:  68 6C 2C 74 70 62 6C 6F 63 6B 2B 31 30 3A 20 63    hl,tpblock+10: c
024410:  61 6C 6C 20 69 6E 70 75 74 66 3A 20 6A 70 20 7A    all inputf: jp z
024420:  2C 64 73 63 6D 6E 75 0D 0A 09 6C 64 20 61 2C 62    ,dscmnu...ld a,b
024430:  3A 20 6F 72 20 61 3A 20 6A 70 20 7A 2C 64 73 63    : or a: jp z,dsc
024440:  6D 6E 75 0D 0A 09 6C 64 20 28 74 70 62 6C 6F 63    mnu...ld (tpbloc
024450:  6B 2B 34 29 2C 61 3A 20 6C 64 20 28 74 70 62 6C    k+4),a: ld (tpbl
024460:  6F 63 6B 2B 35 29 2C 68 6C 0D 0A 09 6C 64 20 68    ock+5),hl...ld h
024470:  6C 2C 72 65 32 74 78 74 3A 20 63 61 6C 6C 20 73    l,re2txt: call s
024480:  74 72 69 6E 67 0D 0A 09 6C 64 20 68 6C 2C 26 30    tring...ld hl,&0
024490:  42 30 37 3A 20 63 61 6C 6C 20 26 42 42 37 35 0D    B07: call &BB75.
0244A0:  0A 09 6C 64 20 68 6C 2C 74 70 62 6C 6F 63 6B 2B    ..ld hl,tpblock+
0244B0:  26 34 41 3A 20 63 61 6C 6C 20 69 6E 70 75 74 66    &4A: call inputf
0244C0:  3A 20 6A 70 20 7A 2C 64 73 63 6D 6E 75 0D 0A 09    : jp z,dscmnu...
0244D0:  6C 64 20 61 2C 62 3A 20 6F 72 20 61 3A 20 6A 70    ld a,b: or a: jp
0244E0:  20 7A 2C 64 73 63 6D 6E 75 0D 0A 09 6C 64 20 28     z,dscmnu...ld (
0244F0:  74 70 62 6C 6F 63 6B 2B 37 29 2C 61 3A 20 6C 64    tpblock+7),a: ld
024500:  20 28 74 70 62 6C 6F 63 6B 2B 38 29 2C 68 6C 0D     (tpblock+8),hl.
024510:  0A 09 6C 64 20 68 6C 2C 72 65 63 74 78 74 3A 20    ..ld hl,rectxt: 
024520:  63 61 6C 6C 20 72 73 78 0D 0A 09 6C 64 20 61 2C    call rsx...ld a,
024530:  32 3A 20 6C 64 20 69 78 2C 74 70 62 6C 6F 63 6B    2: ld ix,tpblock
024540:  0D 0A 09 6C 64 20 64 65 2C 74 70 62 6C 6F 63 6B    ...ld de,tpblock
024550:  2B 34 3A 20 6C 64 20 28 69 78 29 2C 65 3A 20 6C    +4: ld (ix),e: l
024560:  64 20 28 69 78 2B 31 29 2C 64 0D 0A 09 6C 64 20    d (ix+1),d...ld 
024570:  64 65 2C 74 70 62 6C 6F 63 6B 2B 37 3A 20 6C 64    de,tpblock+7: ld
024580:  20 28 69 78 2B 32 29 2C 65 3A 20 6C 64 20 28 69     (ix+2),e: ld (i
024590:  78 2B 33 29 2C 64 0D 0A 09 63 61 6C 6C 20 26 31    x+3),d...call &1
0245A0:  42 3A 20 6A 70 20 64 73 63 6D 6E 75 0D 0A 0D 0A    B: jp dscmnu....
0245B0:  69 66 20 6B 64 73 3A 09 65 6C 73 65 0D 0A 2E 68    if kds:.else...h
0245C0:  61 6E 67 75 70 09 6C 64 20 64 2C 35 3A 20 6C 64    angup.ld d,5: ld
0245D0:  20 61 2C 28 69 79 2B 31 32 29 3A 20 61 6E 64 20     a,(iy+12): and 
0245E0:  31 32 37 3A 20 63 61 6C 6C 20 70 72 65 67 09 3B    127: call preg.;
0245F0:  72 35 0D 0A 09 6C 64 20 68 6C 2C 31 30 3A 20 6C    r5...ld hl,10: l
024600:  75 73 68 20 68 6C 0D 0A 09 20 6C 64 20 6C 2C 28    ush hl... ld l,(
024610:  69 79 2B 34 33 29 3A 20 6C 64 20 68 2C 28 69 79    iy+43): ld h,(iy
024620:  2B 34 34 29 0D 0A 09 20 70 75 73 68 20 68 6C 3A    +44)... push hl:
024630:  20 70 6F 70 20 69 78 0D 0A 09 70 6F 70 20 68 6C     pop ix...pop hl
024640:  09 09 09 09 09 3B 49 58 20 3D 20 70 62 6C 6F 63    .....;IX = pbloc
024650:  6B 0D 0A 09 6C 64 20 28 69 78 29 2C 62 3A 20 6C    k...ld (ix),b: l
024660:  64 20 28 69 78 2B 31 29 2C 6C 3A 20 6C 64 20 28    d (ix+1),l: ld (
024670:  69 78 2B 32 29 2C 68 09 3B 69 6E 73 65 72 74 20    ix+2),h.;insert 
024680:  73 74 72 69 6E 67 20 64 65 73 63 72 69 70 74 6F    string descripto
024690:  72 20 62 6C 6F 63 6B 0D 0A 09 6C 64 20 63 2C 62    r block...ld c,b
0246A0:  3A 20 6C 64 20 62 2C 30 0D 0A 09 61 64 64 20 68    : ld b,0...add h
0246B0:  6C 2C 62 63 3A 20 6C 64 20 28 69 79 2B 34 30 29    l,bc: ld (iy+40)
0246C0:  2C 6C 3A 20 6C 64 20 28 69 79 2B 34 31 29 2C 68    ,l: ld (iy+41),h
0246D0:  09 3B 6D 6F 76 65 20 6F 6E 74 6F 20 6E 65 78 74    .;move onto next
0246E0:  20 73 74 72 69 6E 67 20 73 70 61 63 65 0D 0A 0D     string space...
0246F0:  0A 09 70 75 73 68 20 69 78 3A 20 70 6F 70 20 68    ..push ix: pop h
024700:  6C 0D 0A 09 70 75 73 68 20 64 65 3A 20 6C 64 20    l...push de: ld 
024710:  65 2C 28 69 79 2B 37 30 29 3A 20 6C 64 20 64 2C    e,(iy+70): ld d,
024720:  28 69 79 2B 37 31 29 0D 0A 09 70 75 73 68 20 64    (iy+71)...push d
024730:  65 3A 20 70 6F 70 20 69 78 3A 20 70 6F 70 20 64    e: pop ix: pop d
024740:  65 09 09 09 3B 49 58 20 3D 20 63 6E 61 64 64 72    e...;IX = cnaddr
024750:  0D 0A 09 6C 64 20 28 69 78 29 2C 6C 3A 20 6C 64    ...ld (ix),l: ld
024760:  20 28 69 78 2B 31 29 2C 68 09 09 09 3B 61 64 64     (ix+1),h...;add
024770:  20 64 65 73 63 72 69 70 74 6F 72 20 74 6F 20 70     descriptor to p
024780:  61 72 61 6D 20 74 61 62 6C 65 0D 0A 09 64 65 63    aram table...dec
024790:  20 69 78 3A 20 64 65 63 20 69 78 3A 20 09 09 09     ix: dec ix: ...
0247A0:  3B 75 70 64 61 74 65 20 70 61 72 61 6D 65 74 65    ;update paramete
0247B0:  72 20 74 61 62 6C 65 20 70 6F 73 69 74 69 6F 6E    r table position
0247C0:  0D 0A 09 70 75 73 68 20 64 65 3A 20 70 75 73 68    ...push de: push
0247D0:  20 69 78 3A 20 70 6F 70 20 64 65 0D 0A 09 6C 64     ix: pop de...ld
0247E0:  20 28 69 79 2B 37 30 29 2C 65 3A 20 6C 64 20 28     (iy+70),e: ld (
0247F0:  69 79 2B 37 31 29 2C 64 3A 20 70 6F 70 20 68 6C    iy+71),d: pop hl
024800:  64 20 28 69 79 2B 38 37 29 2C 6C 3A 20 6C 64 20    d (iy+87),l: ld 
024810:  28 69 79 2B 38 38 29 2C 68 3A 20 6C 64 20 61 2C    (iy+88),h: ld a,
024820:  31 3A 20 6C 64 20 28 69 79 2B 38 39 29 2C 61 0D    1: ld (iy+89),a.
024830:  0A 2E 68 66 66 6C 70 09 6C 64 20 61 2C 28 69 79    ..hfflp.ld a,(iy
024840:  2B 38 39 29 3A 20 6F 72 20 61 3A 20 6A 72 20 6E    +89): or a: jr n
024850:  7A 2C 68 66 66 6C 70 0D 0A 09 6C 64 20 64 2C 35    z,hfflp...ld d,5
024860:  3A 20 6C 64 20 61 2C 28 69 79 2B 31 32 29 3A 20    : ld a,(iy+12): 
024870:  6F 72 20 31 32 38 3A 20 63 61 6C 6C 20 70 72 65    or 128: call pre
024880:  67 0D 0A 09 6A 70 20 6D 61 69 6E 6D 3A 20 65 6E    g...jp mainm: en
024890:  64 69 66 0D 0A 0D 0A 2E 63 70 74 6D 6E 75 09 6C    dif.....cptmnu.l
0248A0:  64 20 68 6C 2C 74 6D 63 61 70 74 3A 20 63 61 6C    d hl,tmcapt: cal
0248B0:  6C 20 6D 65 6E 75 3A 20 6A 70 20 7A 2C 6D 61 69    l menu: jp z,mai
0248C0:  6E 6D 0D 0A 09 63 70 20 31 3A 20 6A 70 20 7A 2C    nm...cp 1: jp z,
0248D0:  63 61 74 63 70 74 0D 0A 09 63 70 20 32 3A 20 6A    catcpt...cp 2: j
0248E0:  70 20 7A 2C 6F 70 63 61 70 74 0D 0A 09 63 70 20    p z,opcapt...cp 
0248F0:  33 3A 20 6A 70 20 7A 2C 63 6C 63 61 70 74 0D 0A    3: jp z,clcapt..
024900:  0D 0A 2E 64 6F 65 63 68 6F 09 6C 64 20 68 6C 2C    ...doecho.ld hl,
024910:  65 63 6F 74 78 74 3A 20 63 61 6C 6C 20 73 74 72    ecotxt: call str
024920:  69 6E 67 0D 0A 09 6C 64 20 68 6C 2C 26 30 42 30    ing...ld hl,&0B0
024930:  33 3A 20 63 61 6C 6C 20 26 42 42 37 35 0D 0A 09    3: call &BB75...
024940:  6C 64 20 68 6C 2C 74 70 62 6C 6F 63 6B 2B 35 3A    ld hl,tpblock+5:
024950:  20 63 61 6C 6C 20 69 6E 70 75 74 66 3A 20 6A 70     call inputf: jp
024960:  20 7A 2C 63 70 74 6D 6E 75 0D 0A 09 6C 64 20 61     z,cptmnu...ld a
024970:  2C 62 3A 20 6F 72 20 61 3A 20 6A 70 20 7A 2C 63    ,b: or a: jp z,c
024980:  70 74 6D 6E 75 0D 0A 09 6C 64 20 28 74 70 62 6C    ptmnu...ld (tpbl
024990:  6F 63 6B 2B 32 29 2C 61 3A 20 6C 64 20 28 74 70    ock+2),a: ld (tp
0249A0:  62 6C 6F 63 6B 2B 33 29 2C 68 6C 0D 0A 09 6C 64    block+3),hl...ld
0249B0:  20 69 78 2C 74 70 62 6C 6F 63 6B 3A 20 6C 64 20     ix,tpblock: ld 
0249C0:  68 6C 2C 74 70 62 6C 6F 63 6B 2B 32 0D 0A 09 6C    hl,tpblock+2...l
0249D0:  64 20 28 69 78 29 2C 6C 3A 20 6C 64 20 28 69 78    d (ix),l: ld (ix
0249E0:  2B 31 29 2C 68 0D 0A 09 6C 64 20 61 2C 32 3A 20    +1),h...ld a,2: 
0249F0:  6C 64 20 28 69 79 2B 35 29 2C 61 3A 20 6A 70 20    ld (iy+5),a: jp 
024A00:  09 3B 49 58 20 3D 3E 20 63 6E 61 64 64 72 0D 0A    .;IX => cnaddr..
024A10:  0D 0A 09 69 6E 63 20 68 6C 3A 20 69 6E 63 20 68    ...inc hl: inc h
024A20:  6C 3A 20 69 6E 63 20 68 6C 0D 0A 09 6C 64 20 28    l: inc hl...ld (
024A30:  69 79 2B 34 33 29 2C 6C 3A 20 6C 64 20 28 69 79    iy+43),l: ld (iy
024A40:  2B 34 34 29 2C 68 09 09 3B 75 70 64 61 74 65 20    +44),h..;update 
024A50:  64 65 73 63 72 69 70 74 6F 72 20 70 6F 73 69 74    descriptor posit
024A60:  69 6F 6E 0D 0A 09 6C 64 20 61 2C 28 69 79 2B 34    ion...ld a,(iy+4
024A70:  32 29 3A 20 69 6E 63 20 61 3A 20 6C 64 20 28 69    2): inc a: ld (i
024A80:  79 2B 34 32 29 2C 61 09 3B 69 6E 63 72 65 61 73    y+42),a.;increas
024A90:  65 20 6E 75 6D 62 65 72 20 6F 66 20 70 61 72 61    e number of para
024AA0:  6D 65 74 65 72 73 0D 0A 09 62 69 74 20 36 2C 61    meters...bit 6,a
024AB0:  3A 20 6A 70 20 6E 7A 2C 64 6F 75 70 6C 64 09 09    : jp nz,doupld..
024AC0:  09 3B 36 34 20 66 69 6C 65 73 20 79 65 74 3F 0D    .;64 files yet?.
024AD0:  0A 09 6C 64 20 61 2C 31 30 3A 20 63 61 6C 6C 20    ..ld a,10: call 
024AE0:  26 42 42 35 41 09 09 09 3B 69 66 20 6E 6F 74 2C    &BB5A...;if not,
024AF0:  20 6E 65 78 74 20 6C 69 6E 65 0D 0A 09 6C 64 20     next line...ld 
024B00:  61 2C 31 31 3A 20 63 61 6C 6C 20 26 42 42 36 46    a,11: call &BB6F
024B10:  09 09 09 3B 61 6E 64 20 63 6F 6C 75 6D 6E 20 31    ...;and column 1
024B20:  31 0D 0A 09 6A 72 20 75 70 66 6C 70 0D 0A 0D 0A    1...jr upflp....
024B30:  2E 64 6F 75 70 6C 64 09 6C 64 20 61 2C 34 3A 20    .doupld.ld a,4: 
024B40:  6C 64 20 28 69 79 2B 35 29 2C 61 3A 20 6A 70 20    ld (iy+5),a: jp 
024B50:  71 75 63 6F 6D 09 09 3B 66 63 6D 6F 64 65 0D 0A    qucom..;fcmode..
024B60:  0D 0A 2E 73 66 69 6C 65 09 6C 64 20 68 6C 2C 75    ...sfile.ld hl,u
024B70:  73 66 74 78 74 3A 20 63 61 6C 6C 20 73 74 72 69    sftxt: call stri
024B80:  6E 67 0D 0A 09 6C 64 20 68 6C 2C 74 70 62 6C 6F    ng...ld hl,tpblo
024B90:  63 6B 2B 35 3A 20 63 61 6C 6C 20 69 6E 70 75 74    ck+5: call input
024BA0:  66 3A 20 6A 70 20 7A 2C 66 69 6C 6D 6E 75 0D 0A    f: jp z,filmnu..
024BB0:  09 6C 64 20 61 2C 62 3A 20 6F 72 20 61 3A 20 6A    .ld a,b: or a: j
024BC0:  70 20 7A 2C 66 69 6C 6D 6E 75 0D 0A 09 6C 64 20    p z,filmnu...ld 
024BD0:  28 74 70 62 6C 6F 63 6B 2B 32 29 2C 61 3A 20 6C    (tpblock+2),a: l
024BE0:  64 20 28 74 70 62 6C 6F 63 6B 2B 33 29 2C 68 6C    d (tpblock+3),hl
024BF0:  0D 0A 09 6C 64 20 69 78 2C 74 70 62 6C 6F 63 6B    ...ld ix,tpblock
024C00:  71 75 63 6F 6D 09 3B 66 63 6D 6F 64 65 0D 0A 0D    qucom.;fcmode...
024C10:  0A 2E 6F 70 63 61 70 74 09 6C 64 20 68 6C 2C 63    ..opcapt.ld hl,c
024C20:  70 74 74 78 74 3A 20 63 61 6C 6C 20 73 74 72 69    pttxt: call stri
024C30:  6E 67 0D 0A 09 6C 64 20 68 6C 2C 26 30 42 30 33    ng...ld hl,&0B03
024C40:  3A 20 63 61 6C 6C 20 26 42 42 37 35 0D 0A 09 6C    : call &BB75...l
024C50:  64 20 68 6C 2C 74 70 62 6C 6F 63 6B 2B 35 3A 20    d hl,tpblock+5: 
024C60:  63 61 6C 6C 20 69 6E 70 75 74 66 3A 20 6A 70 20    call inputf: jp 
024C70:  7A 2C 63 70 74 6D 6E 75 0D 0A 09 6C 64 20 61 2C    z,cptmnu...ld a,
024C80:  62 3A 20 6F 72 20 61 3A 20 6A 70 20 7A 2C 63 70    b: or a: jp z,cp
024C90:  74 6D 6E 75 0D 0A 09 6C 64 20 28 74 70 62 6C 6F    tmnu...ld (tpblo
024CA0:  63 6B 2B 32 29 2C 61 3A 20 6C 64 20 28 74 70 62    ck+2),a: ld (tpb
024CB0:  6C 6F 63 6B 2B 33 29 2C 68 6C 0D 0A 09 6C 64 20    lock+3),hl...ld 
024CC0:  61 2C 31 3A 20 6C 64 20 69 78 2C 74 70 62 6C 6F    a,1: ld ix,tpblo
024CD0:  63 6B 3A 20 6C 64 20 68 6C 2C 74 70 62 6C 6F 63    ck: ld hl,tpbloc
024CE0:  6B 2B 32 0D 0A 09 6C 64 20 28 69 78 29 2C 6C 3A    k+2...ld (ix),l:
024CF0:  20 6C 64 20 28 69 78 2B 31 29 2C 68 0D 0A 09 63     ld (ix+1),h...c
024D00:  61 6C 6C 20 63 61 70 74 5F 69 3A 20 6A 70 20 63    all capt_i: jp c
024D10:  70 74 6D 6E 75 0D 0A 0D 0A 2E 63 6C 63 61 70 74    ptmnu.....clcapt
024D20:  09 6C 64 20 61 2C 28 69 79 2B 35 29 3A 20 63 70    .ld a,(iy+5): cp
024D30:  20 31 09 09 3B 66 63 6D 6F 64 65 0D 0A 09 6A 72     1..;fcmode...jr
024D40:  20 6E 7A 2C 63 6E 6F 70 65 6E 0D 0A 09 63 61 6C     nz,cnopen...cal
024D50:  6C 20 63 6C 6F 73 5F 69 3A 20 6A 70 20 63 70 74    l clos_i: jp cpt
024D60:  6D 6E 75 0D 0A 2E 63 6E 6F 70 65 6E 09 6C 64 20    mnu...cnopen.ld 
024D70:  68 6C 2C 63 6E 6F 74 78 74 3A 20 63 61 6C 6C 20    hl,cnotxt: call 
024D80:  73 74 72 69 6E 67 0D 0A 09 6C 64 20 68 6C 2C 6B    string...ld hl,k
024D90:  79 32 74 78 74 3A 20 63 61 6C 6C 20 73 74 72 69    y2txt: call stri
024DA0:  6E 67 0D 0A 09 63 61 6C 6C 20 26 42 42 38 31 3A    ng...call &BB81:
024DB0:  20 63 61 6C 6C 20 26 42 42 31 38 3A 20 63 61 6C     call &BB18: cal
024DC0:  6C 20 26 42 42 38 34 0D 0A 09 6A 70 20 63 70 74    l &BB84...jp cpt
024DD0:  6D 6E 75 0D 0A 0D 0A 2E 66 69 6C 6D 6E 75 09 6C    mnu.....filmnu.l
024DE0:  64 20 68 6C 2C 74 6D 66 69 6C 65 3A 20 63 61 6C    d hl,tmfile: cal
024DF0:  6C 20 6D 65 6E 75 3A 20 6A 70 20 7A 2C 6D 61 69    l menu: jp z,mai
024E00:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
024E10:  1F 00 01 00 02 09 4E E5 1F 00 C4 02 00 00 00 02    ......N.........
024E20:  1F 00 C9 02 00 00 00 02 1F 00 C5 02 00 00 00 02    ................
024E30:  1F 00 C1 02 00 00 00 02 1F 00 C6 02 00 00 00 02    ................
024E40:  1F 00 C2 02 00 00 00 02 1F 00 C7 02 00 00 00 02    ................
024E50:  1F 00 C3 02 00 00 00 02 1F 00 C8 02 00 00 00 02    ................
024E60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
024E70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
024E80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
024E90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
024EA0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
024EB0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
024EC0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
024ED0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
024EE0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
024EF0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
024F00:  65 74 0D 0A 2E 6D 6E 75 75 70 09 6C 64 20 61 2C    et...mnuup.ld a,
024F10:  31 3A 20 63 70 20 6C 3A 20 6A 72 20 7A 2C 6D 6E    1: cp l: jr z,mn
024F20:  75 5F 6C 70 0D 0A 09 64 65 63 20 6C 3A 20 6A 72    u_lp...dec l: jr
024F30:  20 6D 6E 75 5F 6C 70 0D 0A 2E 6D 6E 75 64 77 6E     mnu_lp...mnudwn
024F40:  09 6C 64 20 61 2C 62 3A 20 63 70 20 6C 3A 20 6A    .ld a,b: cp l: j
024F50:  72 20 7A 2C 6D 6E 75 5F 6C 70 0D 0A 09 69 6E 63    r z,mnu_lp...inc
024F60:  20 6C 3A 20 6A 72 20 6D 6E 75 5F 6C 70 0D 0A 2E     l: jr mnu_lp...
024F70:  6D 6E 75 73 65 6C 09 6C 64 20 61 2C 6C 3A 20 6F    mnusel.ld a,l: o
024F80:  72 20 61 3A 20 72 65 74 0D 0A 0D 0A 09 3B 3E 3E    r a: ret.....;>>
024F90:  3E 20 52 53 58 20 69 6E 76 6F 6B 65 0D 0A 0D 0A    > RSX invoke....
024FA0:  2E 72 73 78 09 6C 64 20 64 65 2C 26 41 46 30 30    .rsx.ld de,&AF00
024FB0:  0D 0A 2E 72 73 78 6C 70 09 6C 64 20 61 2C 28 68    ...rsxlp.ld a,(h
024FC0:  6C 29 3A 20 6C 64 20 28 64 65 29 2C 61 0D 0A 09    l): ld (de),a...
024FD0:  69 6E 63 20 68 6C 3A 20 69 6E 63 20 64 65 0D 0A    inc hl: inc de..
024FE0:  09 62 69 74 20 37 2C 61 3A 20 6A 72 20 7A 2C 72    .bit 7,a: jr z,r
024FF0:  73 78 6C 70 0D 0A 09 6C 64 20 68 6C 2C 26 41 46    sxlp...ld hl,&AF
025000:  30 30 0D 0A 09 6A 70 20 26 42 43 44 34 0D 0A 0D    00...jp &BCD4...
025010:  0A 09 3B 3E 3E 3E 20 53 74 72 69 6E 67 20 70 72    ..;>>> String pr
025020:  69 6E 74 20 72 6F 75 74 69 6E 65 20 76 32 0D 0A    int routine v2..
025030:  0D 0A 2E 73 74 72 6E 67 32 09 6C 64 20 61 2C 28    ...strng2.ld a,(
025040:  68 6C 29 3A 20 6F 72 20 61 3A 20 72 65 74 20 7A    hl): or a: ret z
025050:  0D 0A 09 63 61 6C 6C 20 26 42 42 35 41 3A 20 69    ...call &BB5A: i
025060:  6E 63 20 68 6C 0D 0A 09 64 6A 6E 7A 20 73 74 72    nc hl...djnz str
025070:  6E 67 32 3A 20 72 65 74 0D 0A 0D 0A 09 3B 3E 3E    ng2: ret.....;>>
025080:  3E 20 45 64 69 74 20 6C 69 6E 65 0D 0A 09 3B 20    > Edit line...; 
025090:  20 20 20 28 48 4C 20 69 73 20 62 75 66 66 65 72       (HL is buffer
0250A0:  20 61 64 64 72 65 73 73 2C 20 43 20 69 73 20 6D     address, C is m
0250B0:  61 78 69 6D 75 6D 20 6C 65 6E 67 74 68 20 2D 20    aximum length - 
0250C0:  72 65 74 75 72 6E 73 20 6C 65 6E 67 74 68 20 69    returns length i
0250D0:  6E 20 42 29 0D 0A 0D 0A 2E 65 64 69 74 6C 6E 09    n B).....editln.
0250E0:  63 61 6C 6C 20 26 42 42 38 31 0D 0A 09 6C 64 20    call &BB81...ld 
0250F0:  62 2C 30 0D 0A 2E 65 64 69 74 6C 70 09 63 61 6C    b,0...editlp.cal
025100:  0A 2E 74 6D 6D 61 69 6E 09 64 62 20 22 52 53 32    ..tmmain.db "RS2
025110:  33 32 20 73 65 74 74 69 6E 67 73 22 2C 30 0D 0A    32 settings",0..
025120:  09 64 62 20 22 43 61 70 74 75 72 65 2F 65 63 68    .db "Capture/ech
025130:  6F 22 2C 30 0D 0A 09 64 62 20 22 46 69 6C 65 20    o",0...db "File 
025140:  74 72 61 6E 73 66 65 72 22 2C 30 0D 0A 09 64 62    transfer",0...db
025150:  20 22 44 69 73 63 20 6F 70 65 72 61 74 69 6F 6E     "Disc operation
025160:  73 22 2C 30 0D 0A 09 64 62 20 22 44 69 61 6C 6C    s",0...db "Diall
025170:  69 6E 67 20 6D 65 6E 75 22 2C 30 0D 0A 69 66 20    ing menu",0..if 
025180:  6B 64 73 3A 09 65 6C 73 65 3A 20 64 62 20 22 48    kds:.else: db "H
025190:  61 6E 67 20 75 70 22 2C 30 0D 0A 65 6E 64 69 66    ang up",0..endif
0251A0:  3A 09 64 62 20 32 35 35 0D 0A 0D 0A 2E 74 6D 64    :.db 255.....tmd
0251B0:  69 72 09 64 62 20 22 44 69 72 65 63 74 6F 72 79    ir.db "Directory
0251C0:  20 31 22 2C 30 2C 22 44 69 72 65 63 74 6F 72 79     1",0,"Directory
0251D0:  20 32 22 2C 30 2C 22 44 69 72 65 63 74 6F 72 79     2",0,"Directory
0251E0:  20 33 22 2C 30 2C 22 44 69 72 65 63 74 6F 72 79     3",0,"Directory
0251F0:  20 34 22 2C 30 0D 0A 09 64 62 20 22 44 69 72 65     4",0...db "Dire
025200:  63 74 6F 72 79 20 35 22 2C 30 2C 22 44 69 72 65    ctory 5",0,"Dire
025210:  63 74 6F 72 79 20 36 22 2C 30 2C 22 44 69 72 65    ctory 6",0,"Dire
025220:  63 74 6F 72 79 20 37 22 2C 30 2C 22 44 69 72 65    ctory 7",0,"Dire
025230:  63 74 6F 72 79 20 38 22 2C 30 0D 0A 09 64 62 20    ctory 8",0...db 
025240:  32 35 35 0D 0A 2E 74 6D 64 69 73 63 09 64 62 20    255...tmdisc.db 
025250:  22 43 61 74 61 6C 6F 67 75 65 22 2C 30 2C 22 41    "Catalogue",0,"A
025260:  22 2C 30 2C 22 42 22 2C 30 2C 22 45 72 61 73 65    ",0,"B",0,"Erase
025270:  22 2C 30 2C 22 52 65 6E 61 6D 65 22 2C 30 2C 22    ",0,"Rename",0,"
025280:  55 73 65 72 22 2C 30 2C 22 54 79 70 65 22 2C 30    User",0,"Type",0
025290:  2C 32 35 35 0D 0A 2E 74 6D 63 61 70 74 09 64 62    ,255...tmcapt.db
0252A0:  20 22 43 61 74 61 6C 6F 67 75 65 22 2C 30 2C 22     "Catalogue",0,"
0252B0:  4F 70 65 6E 20 63 61 70 74 75 72 65 22 2C 30 2C    Open capture",0,
0252C0:  22 43 6C 6F 73 65 20 63 61 70 74 75 72 65 22 2C    "Close capture",
0252D0:  30 2C 22 45 63 68 6F 20 66 69 6C 65 22 2C 30 2C    0,"Echo file",0,
0252E0:  32 35 35 0D 0A 2E 74 6D 66 69 6C 65 09 64 62 20    255...tmfile.db 
0252F0:  22 43 61 74 61 6C 6F 67 75 65 22 2C 30 2C 22 44    "Catalogue",0,"D
025300:  6C 20 26 42 42 30 36 0D 0A 09 63 70 20 31 33 3A    l &BB06...cp 13:
025310:  20 6A 72 20 7A 2C 65 6C 5F 63 72 0D 0A 09 63 70     jr z,el_cr...cp
025320:  20 31 32 37 3A 20 6A 72 20 7A 2C 65 6C 5F 64 65     127: jr z,el_de
025330:  6C 0D 0A 09 6C 64 20 65 2C 61 0D 0A 09 20 6C 64    l...ld e,a... ld
025340:  20 61 2C 62 3A 20 63 70 20 63 3A 20 6A 72 20 7A     a,b: cp c: jr z
025350:  2C 65 64 69 74 6C 70 09 3B 6D 61 78 69 6D 75 6D    ,editlp.;maximum
025360:  20 6C 65 6E 67 74 68 3F 0D 0A 09 6C 64 20 61 2C     length?...ld a,
025370:  65 0D 0A 09 63 70 20 33 32 3A 20 6A 72 20 63 2C    e...cp 32: jr c,
025380:  65 64 69 74 6C 70 0D 0A 09 62 69 74 20 37 2C 61    editlp...bit 7,a
025390:  3A 20 6A 72 20 6E 7A 2C 65 64 69 74 6C 70 0D 0A    : jr nz,editlp..
0253A0:  09 6C 64 20 28 68 6C 29 2C 61 3A 20 69 6E 63 20    .ld (hl),a: inc 
0253B0:  68 6C 3A 20 69 6E 63 20 62 0D 0A 09 63 61 6C 6C    hl: inc b...call
0253C0:  20 26 42 42 35 41 3A 20 6A 72 20 65 64 69 74 6C     &BB5A: jr editl
0253D0:  70 0D 0A 2E 65 6C 5F 63 72 09 63 61 6C 6C 20 26    p...el_cr.call &
0253E0:  42 42 38 34 09 09 09 3B 63 61 72 72 69 61 67 65    BB84...;carriage
0253F0:  20 72 65 74 75 72 6E 0D 0A 09 6C 64 20 61 2C 62     return...ld a,b
025400:  3A 20 63 70 20 63 3A 20 72 65 74 20 7A 0D 0A 09    : cp c: ret z...
025410:  6C 64 20 28 68 6C 29 2C 30 3A 20 72 65 74 0D 0A    ld (hl),0: ret..
025420:  2E 65 6C 5F 64 65 6C 09 6C 64 20 61 2C 62 3A 20    .el_del.ld a,b: 
025430:  6F 72 20 61 3A 20 6A 72 20 7A 2C 65 64 69 74 6C    or a: jr z,editl
025440:  70 09 3B 63 61 6E 27 74 20 64 65 6C 65 74 65 20    p.;can't delete 
025450:  77 69 74 68 20 6E 6F 20 63 68 61 72 61 63 74 65    with no characte
025460:  72 73 21 0D 0A 09 64 65 63 20 68 6C 3A 20 6C 64    rs!...dec hl: ld
025470:  20 28 68 6C 29 2C 30 3A 20 64 65 63 20 62 0D 0A     (hl),0: dec b..
025480:  09 6C 64 20 61 2C 38 3A 20 63 61 6C 6C 20 26 42    .ld a,8: call &B
025490:  42 35 41 0D 0A 09 6C 64 20 61 2C 31 36 3A 20 63    B5A...ld a,16: c
0254A0:  61 6C 6C 20 26 42 42 35 41 0D 0A 09 6A 72 20 65    all &BB5A...jr e
0254B0:  64 69 74 6C 70 0D 0A 0D 0A 09 3B 3E 3E 3E 20 49    ditlp.....;>>> I
0254C0:  6E 70 75 74 20 66 69 6C 65 6E 61 6D 65 0D 0A 0D    nput filename...
0254D0:  0A 2E 69 6E 70 75 74 66 09 70 75 73 68 20 68 6C    ..inputf.push hl
0254E0:  3A 20 63 61 6C 6C 20 26 42 42 38 31 0D 0A 09 6C    : call &BB81...l
0254F0:  64 20 62 2C 30 0D 0A 2E 67 69 6E 6B 65 79 09 63    d b,0...ginkey.c
025500:  3A 20 6C 64 20 68 6C 2C 74 70 62 6C 6F 63 6B 2B    : ld hl,tpblock+
025510:  32 0D 0A 09 6C 64 20 28 69 78 29 2C 6C 3A 20 6C    2...ld (ix),l: l
025520:  64 20 28 69 78 2B 31 29 2C 68 0D 0A 09 6C 64 20    d (ix+1),h...ld 
025530:  61 2C 31 3A 20 6C 64 20 28 69 79 2B 34 32 29 2C    a,1: ld (iy+42),
025540:  61 3A 20 64 65 63 20 69 78 3A 20 64 65 63 20 69    a: dec ix: dec i
025550:  78 0D 0A 09 70 75 73 68 20 69 78 3A 20 70 6F 70    x...push ix: pop
025560:  20 68 6C 3A 20 6C 64 20 28 69 79 2B 37 30 29 2C     hl: ld (iy+70),
025570:  6C 3A 20 6C 64 20 28 69 79 2B 37 31 29 2C 68 0D    l: ld (iy+71),h.
025580:  0A 09 6A 72 20 64 6F 75 70 6C 64 0D 0A 0D 0A 0D    ..jr doupld.....
025590:  0A 0D 0A 0D 0A 0D 0A 0D 0A 09 3B 3E 3E 3E 20 51    ..........;>>> Q
0255A0:  75 69 74 20 74 6F 20 43 4F 4D 20 6D 6F 64 65 0D    uit to COM mode.
0255B0:  0A 0D 0A 2E 71 75 63 6F 6D 09 6C 64 20 61 2C 32    ....qucom.ld a,2
0255C0:  3A 20 63 61 6C 6C 20 26 42 43 30 45 3A 20 63 61    : call &BC0E: ca
0255D0:  6C 6C 20 26 42 43 30 32 0D 0A 09 6C 64 20 61 2C    ll &BC02...ld a,
0255E0:  26 43 30 3A 20 63 61 6C 6C 20 26 42 43 30 38 09    &C0: call &BC08.
0255F0:  09 09 3B 63 6C 65 61 72 20 68 69 67 68 20 73 63    ..;clear high sc
025600:  72 65 65 6E 0D 0A 09 6C 64 20 68 6C 2C 28 6F 66    reen...ld hl,(of
025610:  66 73 65 74 29 3A 20 63 61 6C 6C 20 26 42 43 30    fset): call &BC0
025620:  35 09 09 3B 72 65 73 74 6F 72 65 20 6F 66 66 73    5..;restore offs
025630:  65 74 0D 0A 09 6C 64 20 68 6C 2C 28 63 68 61 70    et...ld hl,(chap
025640:  6F 73 29 3A 20 63 61 6C 6C 20 26 42 42 37 35 09    os): call &BB75.
025650:  09 3B 72 65 73 74 6F 72 65 20 63 68 61 72 61 63    .;restore charac
025660:  74 65 72 20 70 6F 73 69 74 69 6F 6E 0D 0A 09 63    ter position...c
025670:  61 6C 6C 20 72 65 73 75 6D 32 09 09 09 09 3B 22    all resum2....;"
025680:  63 61 72 72 79 20 6F 6E 22 20 74 6F 20 6D 6F 64    carry on" to mod
025690:  65 6D 0D 0A 09 6C 64 20 61 2C 28 69 79 2B 35 29    em...ld a,(iy+5)
0256A0:  3A 20 73 75 62 20 32 3A 20 6A 70 20 63 2C 74 5F    : sub 2: jp c,t_
0256B0:  63 6F 6D 0D 0A 0D 0A 09 6A 72 20 7A 2C 71 65 63    com.....jr z,qec
0256C0:  68 6F 0D 0A 09 63 70 20 32 3A 20 6A 72 20 7A 2C    ho...cp 2: jr z,
0256D0:  71 75 70 6C 64 0D 0A 0D 0A 2E 71 64 6E 6C 64 09    qupld.....qdnld.
0256E0:  78 6F 72 20 61 3A 20 6C 64 20 28 69 79 2B 35 29    xor a: ld (iy+5)
0256F0:  2C 61 0D 0A 09 6C 64 20 61 2C 28 69 79 2B 34 32    ,a...ld a,(iy+42
025700:  61 6C 6C 20 26 42 42 30 36 0D 0A 09 63 70 20 26    all &BB06...cp &
025710:  46 43 3A 20 6A 72 20 7A 2C 65 69 6E 70 66 0D 0A    FC: jr z,einpf..
025720:  09 63 70 20 31 33 3A 20 6A 72 20 7A 2C 65 69 6E    .cp 13: jr z,ein
025730:  70 66 0D 0A 09 63 70 20 33 32 3A 20 6A 72 20 63    pf...cp 32: jr c
025740:  2C 67 69 6E 6B 65 79 0D 0A 09 63 70 20 31 32 37    ,ginkey...cp 127
025750:  3A 20 6A 72 20 7A 2C 64 65 6C 65 74 65 3A 20 6A    : jr z,delete: j
025760:  72 20 6E 63 2C 67 69 6E 6B 65 79 0D 0A 09 62 69    r nc,ginkey...bi
025770:  74 20 34 2C 62 3A 20 6A 72 20 6E 7A 2C 67 69 6E    t 4,b: jr nz,gin
025780:  6B 65 79 0D 0A 09 63 61 6C 6C 20 26 42 42 35 41    key...call &BB5A
025790:  3A 20 6C 64 20 28 68 6C 29 2C 61 3A 20 69 6E 63    : ld (hl),a: inc
0257A0:  20 68 6C 0D 0A 09 69 6E 63 20 62 3A 20 6A 72 20     hl...inc b: jr 
0257B0:  67 69 6E 6B 65 79 0D 0A 2E 64 65 6C 65 74 65 09    ginkey...delete.
0257C0:  6C 64 20 61 2C 62 3A 20 6F 72 20 61 3A 20 6A 72    ld a,b: or a: jr
0257D0:  20 7A 2C 67 69 6E 6B 65 79 0D 0A 09 64 65 63 20     z,ginkey...dec 
0257E0:  62 3A 20 64 65 63 20 68 6C 3A 20 6C 64 20 28 68    b: dec hl: ld (h
0257F0:  6C 29 2C 30 0D 0A 09 6C 64 20 61 2C 38 3A 20 63    l),0...ld a,8: c
025800:  61 6C 6C 20 26 42 42 35 41 3A 20 6C 64 20 61 2C    all &BB5A: ld a,
025810:  33 32 3A 20 63 61 6C 6C 20 26 42 42 35 41 0D 0A    32: call &BB5A..
025820:  09 6C 64 20 61 2C 38 3A 20 63 61 6C 6C 20 26 42    .ld a,8: call &B
025830:  42 35 41 3A 20 6A 72 20 67 69 6E 6B 65 79 0D 0A    B5A: jr ginkey..
025840:  2E 65 69 6E 70 66 09 6C 64 20 28 68 6C 29 2C 30    .einpf.ld (hl),0
025850:  3A 20 70 6F 70 20 68 6C 3A 20 70 75 73 68 20 61    : pop hl: push a
025860:  66 3A 20 63 61 6C 6C 20 26 42 42 38 34 3A 20 70    f: call &BB84: p
025870:  6F 70 20 61 66 3A 20 63 70 20 26 46 43 3A 20 72    op af: cp &FC: r
025880:  65 74 0D 0A 0D 0A 09 3B 3E 3E 3E 20 44 61 74 61    et.....;>>> Data
025890:  0D 0A 0D 0A 2E 63 63 72 74 78 74 09 64 62 20 33    .....ccrtxt.db 3
0258A0:  31 2C 31 31 2C 32 2C 20 31 35 2C 31 2C 20 22 43    1,11,2, 15,1, "C
0258B0:  68 61 72 6C 65 79 27 73 20 43 6F 6D 6D 73 20 52    harley's Comms R
0258C0:  4F 4D 22 0D 0A 09 64 62 20 33 31 2C 31 31 2C 33    OM"...db 31,11,3
0258D0:  2C 20 31 35 2C 32 2C 20 32 30 38 2C 32 30 38 2C    , 15,2, 208,208,
0258E0:  32 30 38 2C 32 30 38 2C 32 30 38 2C 32 30 38 2C    208,208,208,208,
0258F0:  32 30 38 2C 32 30 38 2C 32 30 38 2C 32 30 38 2C    208,208,208,208,
025900:  29 3A 20 6C 64 20 6C 2C 28 69 79 2B 37 30 29 3A    ): ld l,(iy+70):
025910:  20 6C 64 20 68 2C 28 69 79 2B 37 31 29 0D 0A 09     ld h,(iy+71)...
025920:  70 75 73 68 20 68 6C 3A 20 70 6F 70 20 69 78 3A    push hl: pop ix:
025930:  20 69 6E 63 20 69 78 3A 20 69 6E 63 20 69 78 0D     inc ix: inc ix.
025940:  0A 09 63 61 6C 6C 20 64 6E 6C 64 5F 69 0D 0A 09    ..call dnld_i...
025950:  6A 70 20 74 5F 63 6F 6D 0D 0A 2E 71 75 70 6C 64    jp t_com...qupld
025960:  09 78 6F 72 20 61 3A 20 6C 64 20 28 69 79 2B 35    .xor a: ld (iy+5
025970:  29 2C 61 0D 0A 09 6C 64 20 61 2C 28 69 79 2B 34    ),a...ld a,(iy+4
025980:  32 29 3A 20 6C 64 20 6C 2C 28 69 79 2B 37 30 29    2): ld l,(iy+70)
025990:  3A 20 6C 64 20 68 2C 28 69 79 2B 37 31 29 0D 0A    : ld h,(iy+71)..
0259A0:  09 70 75 73 68 20 68 6C 3A 20 70 6F 70 20 69 78    .push hl: pop ix
0259B0:  3A 20 69 6E 63 20 69 78 3A 20 69 6E 63 20 69 78    : inc ix: inc ix
0259C0:  0D 0A 09 63 61 6C 6C 20 75 70 6C 64 5F 69 0D 0A    ...call upld_i..
0259D0:  09 6A 70 20 74 5F 63 6F 6D 0D 0A 2E 71 65 63 68    .jp t_com...qech
0259E0:  6F 09 78 6F 72 20 61 3A 20 6C 64 20 28 69 79 2B    o.xor a: ld (iy+
0259F0:  35 29 2C 61 0D 0A 09 6C 64 20 61 2C 31 3A 20 63    5),a...ld a,1: c
025A00:  61 6C 6C 20 65 63 68 6F 5F 69 0D 0A 09 6A 70 20    all echo_i...jp 
025A10:  74 5F 63 6F 6D 0D 0A 0D 0A 09 3B 3E 3E 3E 20 4D    t_com.....;>>> M
025A20:  65 6E 75 20 73 75 62 72 6F 75 74 69 6E 65 0D 0A    enu subroutine..
025A30:  0D 0A 2E 6D 65 6E 75 09 6C 64 20 61 2C 31 3A 20    ...menu.ld a,1: 
025A40:  70 75 73 68 20 68 6C 3A 20 63 61 6C 6C 20 26 42    push hl: call &B
025A50:  42 39 30 3A 20 63 61 6C 6C 20 26 42 42 36 43 3A    B90: call &BB6C:
025A60:  20 70 6F 70 20 68 6C 0D 0A 09 6C 64 20 62 2C 30     pop hl...ld b,0
025A70:  0D 0A 2E 6D 70 5F 6C 70 09 6C 64 20 61 2C 28 68    ...mp_lp.ld a,(h
025A80:  6C 29 0D 0A 09 63 70 20 32 35 35 3A 20 6A 72 20    l)...cp 255: jr 
025A90:  7A 2C 73 65 6C 6D 6E 75 0D 0A 09 6C 64 20 61 2C    z,selmnu...ld a,
025AA0:  31 31 3A 20 70 75 73 68 20 68 6C 3A 20 63 61 6C    11: push hl: cal
025AB0:  6C 20 26 42 42 36 46 3A 20 70 6F 70 20 68 6C 0D    l &BB6F: pop hl.
025AC0:  0A 09 63 61 6C 6C 20 73 74 72 69 6E 67 0D 0A 09    ..call string...
025AD0:  6C 64 20 61 2C 31 30 3A 20 63 61 6C 6C 20 26 42    ld a,10: call &B
025AE0:  42 35 41 0D 0A 09 69 6E 63 20 62 3A 20 69 6E 63    B5A...inc b: inc
025AF0:  20 68 6C 0D 0A 09 6A 72 20 6D 70 5F 6C 70 0D 0A     hl...jr mp_lp..
025B00:  32 30 38 2C 32 30 38 2C 32 30 38 0D 0A 09 64 62    208,208,208...db
025B10:  20 32 30 38 2C 32 30 38 2C 32 30 38 2C 32 30 38     208,208,208,208
025B20:  2C 32 30 38 2C 32 30 38 2C 30 0D 0A 0D 0A 2E 75    ,208,208,0.....u
025B30:  73 74 78 74 09 64 62 20 31 32 2C 20 33 31 2C 31    stxt.db 12, 31,1
025B40:  31 2C 31 2C 20 31 35 2C 31 2C 20 22 53 65 6C 65    1,1, 15,1, "Sele
025B50:  63 74 20 75 73 65 72 20 61 72 65 61 3A 22 2C 20    ct user area:", 
025B60:  30 0D 0A 2E 74 6F 73 74 78 74 09 64 62 20 31 32    0...tostxt.db 12
025B70:  2C 20 33 31 2C 31 31 2C 31 2C 20 31 35 2C 31 2C    , 31,11,1, 15,1,
025B80:  20 22 54 69 6D 65 2D 6F 75 74 20 28 30 2E 30 32     "Time-out (0.02
025B90:  73 29 3A 22 2C 20 30 0D 0A 2E 65 72 61 74 78 74    s):", 0...eratxt
025BA0:  09 64 62 20 31 32 2C 20 33 31 2C 31 31 2C 31 2C    .db 12, 31,11,1,
025BB0:  20 31 35 2C 31 2C 20 22 46 69 6C 65 20 74 6F 20     15,1, "File to 
025BC0:  65 72 61 73 65 3A 22 2C 20 30 0D 0A 2E 74 79 70    erase:", 0...typ
025BD0:  74 78 74 09 64 62 20 31 32 2C 20 33 31 2C 31 31    txt.db 12, 31,11
025BE0:  2C 31 2C 20 31 35 2C 31 2C 20 22 46 69 6C 65 20    ,1, 15,1, "File 
025BF0:  74 6F 20 74 79 70 65 3A 22 2C 20 30 0D 0A 2E 65    to type:", 0...e
025C00:  63 6F 74 78 74 09 64 62 20 31 32 2C 20 33 31 2C    cotxt.db 12, 31,
025C10:  31 31 2C 31 2C 20 31 35 2C 31 2C 20 22 46 69 6C    11,1, 15,1, "Fil
025C20:  65 20 74 6F 20 65 63 68 6F 3A 22 2C 20 30 0D 0A    e to echo:", 0..
025C30:  2E 63 70 74 74 78 74 09 64 62 20 31 32 2C 20 33    .cpttxt.db 12, 3
025C40:  31 2C 31 31 2C 31 2C 20 31 35 2C 31 2C 20 22 43    1,11,1, 15,1, "C
025C50:  61 70 74 75 72 65 20 66 69 6C 65 6E 61 6D 65 3A    apture filename:
025C60:  22 2C 20 30 0D 0A 2E 63 6E 6F 74 78 74 09 64 62    ", 0...cnotxt.db
025C70:  20 31 32 2C 20 33 31 2C 31 31 2C 31 2C 20 31 35     12, 31,11,1, 15
025C80:  2C 31 2C 20 22 43 61 70 74 75 72 65 20 6E 6F 74    ,1, "Capture not
025C90:  20 61 63 74 69 76 65 22 2C 20 30 0D 0A 2E 64 73     active", 0...ds
025CA0:  66 74 78 74 09 64 62 20 31 32 2C 20 33 31 2C 31    ftxt.db 12, 31,1
025CB0:  31 2C 31 2C 20 31 35 2C 31 2C 20 22 46 69 6C 65    1,1, 15,1, "File
025CC0:  20 74 6F 20 64 6F 77 6E 6C 6F 61 64 3A 22 2C 20     to download:", 
025CD0:  33 31 2C 31 31 2C 33 2C 20 30 0D 0A 2E 75 66 6E    31,11,3, 0...ufn
025CE0:  74 78 74 09 64 62 20 31 32 2C 20 33 31 2C 31 31    txt.db 12, 31,11
025CF0:  2C 31 2C 20 31 35 2C 31 2C 20 22 46 69 6C 65 73    ,1, 15,1, "Files
025D00:  0D 0A 2E 73 65 6C 6D 6E 75 09 6C 64 20 61 2C 33    ...selmnu.ld a,3
025D10:  3A 20 63 61 6C 6C 20 26 42 42 39 30 0D 0A 09 6C    : call &BB90...l
025D20:  64 20 68 6C 2C 26 30 39 30 31 0D 0A 2E 6D 6E 75    d hl,&0901...mnu
025D30:  5F 6C 70 09 70 75 73 68 20 68 6C 3A 20 63 61 6C    _lp.push hl: cal
025D40:  6C 20 26 42 42 37 35 3A 20 70 6F 70 20 68 6C 0D    l &BB75: pop hl.
025D50:  0A 09 6C 64 20 61 2C 32 34 36 3A 20 63 61 6C 6C    ..ld a,246: call
025D60:  20 26 42 42 35 41 0D 0A 09 63 61 6C 6C 20 26 42     &BB5A...call &B
025D70:  42 30 36 0D 0A 09 70 75 73 68 20 61 66 3A 20 70    B06...push af: p
025D80:  75 73 68 20 68 6C 3A 20 63 61 6C 6C 20 26 42 42    ush hl: call &BB
025D90:  37 35 0D 0A 09 6C 64 20 61 2C 33 32 3A 20 63 61    75...ld a,32: ca
025DA0:  6C 6C 20 26 42 42 35 41 3A 20 70 6F 70 20 68 6C    ll &BB5A: pop hl
025DB0:  3A 20 70 6F 70 20 61 66 0D 0A 09 63 70 20 26 46    : pop af...cp &F
025DC0:  43 3A 20 6A 72 20 7A 2C 65 73 63 6D 6E 75 09 09    C: jr z,escmnu..
025DD0:  09 3B 45 53 43 0D 0A 09 63 70 20 32 34 30 3A 20    .;ESC...cp 240: 
025DE0:  6A 72 20 7A 2C 6D 6E 75 75 70 09 09 09 3B 63 75    jr z,mnuup...;cu
025DF0:  72 73 6F 72 20 75 70 0D 0A 09 63 70 20 32 34 31    rsor up...cp 241
025E00:  3A 20 6A 72 20 7A 2C 6D 6E 75 64 77 6E 09 09 09    : jr z,mnudwn...
025E10:  3B 63 75 72 73 6F 72 20 64 6F 77 6E 0D 0A 09 63    ;cursor down...c
025E20:  70 20 32 32 34 3A 20 6A 72 20 7A 2C 6D 6E 75 73    p 224: jr z,mnus
025E30:  65 6C 09 09 09 3B 43 4F 50 59 0D 0A 09 63 70 20    el...;COPY...cp 
025E40:  33 32 3A 20 6A 72 20 7A 2C 6D 6E 75 73 65 6C 09    32: jr z,mnusel.
025E50:  09 09 3B 73 70 61 63 65 0D 0A 09 63 70 20 34 39    ..;space...cp 49
025E60:  3A 20 6A 72 20 63 2C 6D 6E 75 5F 6C 70 09 09 09    : jr c,mnu_lp...
025E70:  3B 6E 6F 74 20 6E 75 6D 65 72 69 63 0D 0A 0D 0A    ;not numeric....
025E80:  09 70 75 73 68 20 61 66 0D 0A 09 6C 64 20 61 2C    .push af...ld a,
025E90:  62 3A 20 61 64 64 20 34 38 3A 20 6C 64 20 63 2C    b: add 48: ld c,
025EA0:  61 0D 0A 09 70 6F 70 20 61 66 0D 0A 09 63 70 20    a...pop af...cp 
025EB0:  63 3A 20 6A 72 20 63 2C 6E 75 6D 6F 70 74 3A 20    c: jr c,numopt: 
025EC0:  6A 72 20 7A 2C 6E 75 6D 6F 70 74 0D 0A 09 6A 72    jr z,numopt...jr
025ED0:  20 6D 6E 75 5F 6C 70 0D 0A 0D 0A 2E 6E 75 6D 6F     mnu_lp.....numo
025EE0:  70 74 09 73 75 62 20 34 38 3A 20 72 65 74 0D 0A    pt.sub 48: ret..
025EF0:  2E 65 73 63 6D 6E 75 09 78 6F 72 20 61 3A 20 72    .escmnu.xor a: r
025F00:  20 74 6F 20 75 70 6C 6F 61 64 22 2C 20 33 31 2C     to upload", 31,
025F10:  31 31 2C 32 2C 20 22 28 45 4E 54 45 52 20 74 6F    11,2, "(ENTER to
025F20:  20 66 69 6E 69 73 68 29 3A 22 2C 20 33 31 2C 31     finish):", 31,1
025F30:  31 2C 34 2C 20 30 0D 0A 2E 75 73 66 74 78 74 09    1,4, 0...usftxt.
025F40:  64 62 20 31 32 2C 20 33 31 2C 31 31 2C 31 2C 20    db 12, 31,11,1, 
025F50:  31 35 2C 31 2C 20 22 46 69 6C 65 20 74 6F 20 75    15,1, "File to u
025F60:  70 6C 6F 61 64 3A 22 2C 20 33 31 2C 31 31 2C 33    pload:", 31,11,3
025F70:  2C 20 30 0D 0A 2E 72 65 6E 74 78 74 09 64 62 20    , 0...rentxt.db 
025F80:  31 32 2C 20 33 31 2C 31 31 2C 31 2C 20 31 35 2C    12, 31,11,1, 15,
025F90:  31 2C 20 22 53 6F 75 72 63 65 20 66 69 6C 65 6E    1, "Source filen
025FA0:  61 6D 65 3A 22 2C 20 30 0D 0A 2E 72 65 32 74 78    ame:", 0...re2tx
025FB0:  74 09 64 62 20 33 31 2C 31 31 2C 35 2C 20 22 44    t.db 31,11,5, "D
025FC0:  65 73 74 69 6E 61 74 69 6F 6E 20 66 69 6C 65 6E    estination filen
025FD0:  61 6D 65 3A 22 2C 20 30 0D 0A 2E 61 74 6F 74 78    ame:", 0...atotx
025FE0:  74 09 64 62 20 22 61 75 74 6F 22 2C 30 0D 0A 2E    t.db "auto",0...
025FF0:  73 76 64 74 78 74 09 64 62 20 33 31 2C 33 2C 31    svdtxt.db 31,3,1
026000:  39 2C 20 31 35 2C 31 2C 20 22 53 61 76 65 20 64    9, 15,1, "Save d
026010:  69 72 65 63 74 6F 72 79 22 2C 30 0D 0A 2E 6B 65    irectory",0...ke
026020:  79 74 78 74 09 64 62 20 31 30 2C 31 30 2C 31 33    ytxt.db 10,10,13
026030:  2C 20 22 50 72 65 73 73 20 61 6E 79 20 6B 65 79    , "Press any key
026040:  3A 20 22 2C 30 0D 0A 2E 6B 79 32 74 78 74 09 64    : ",0...ky2txt.d
026050:  62 20 33 31 2C 31 31 2C 33 2C 20 22 50 72 65 73    b 31,11,3, "Pres
026060:  73 20 61 6E 79 20 6B 65 79 3A 20 22 2C 30 0D 0A    s any key: ",0..
026070:  2E 63 64 6E 61 6D 65 09 64 62 20 22 43 48 41 52    .cdname.db "CHAR
026080:  4C 45 59 20 2E 44 49 52 22 0D 0A 2E 64 72 61 74    LEY .DIR"...drat
026090:  78 74 09 64 62 20 22 41 22 2B 31 32 38 0D 0A 2E    xt.db "A"+128...
0260A0:  64 72 62 74 78 74 09 64 62 20 22 42 22 2B 31 32    drbtxt.db "B"+12
0260B0:  38 0D 0A 2E 65 72 63 74 78 74 09 64 62 20 22 45    8...erctxt.db "E
0260C0:  52 22 2C 22 41 22 2B 31 32 38 0D 0A 2E 72 65 63    R","A"+128...rec
0260D0:  74 78 74 09 64 62 20 22 52 45 22 2C 22 4E 22 2B    txt.db "RE","N"+
0260E0:  31 32 38 0D 0A 2E 75 73 65 74 78 74 09 64 62 20    128...usetxt.db 
0260F0:  22 55 53 45 22 2C 22 52 22 2B 31 32 38 0D 0A 0D    "USE","R"+128...
026100:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
026110:  20 00 01 00 02 09 4E E5 20 00 C7 02 00 00 00 02     .....N. .......
026120:  20 00 C3 02 00 00 00 02 20 00 C8 02 00 00 00 02     ....... .......
026130:  20 00 C4 02 00 00 00 02 20 00 C9 02 00 00 00 02     ....... .......
026140:  20 00 C5 02 00 00 00 02 20 00 C1 02 00 00 00 02     ....... .......
026150:  20 00 C6 02 00 00 00 02 20 00 C2 02 00 00 00 02     ....... .......
026160:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
026170:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
026180:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
026190:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0261A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0261B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0261C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0261D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0261E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0261F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
026200:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026210:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026220:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026230:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026240:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026250:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026260:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026270:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026280:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026290:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0262A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0262B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0262C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0262D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0262E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0262F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026300:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026310:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026320:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026330:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026340:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026350:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026360:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026370:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026380:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026390:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0263A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0263B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0263C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0263D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0263E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0263F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026400:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026410:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026420:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026430:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026440:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026450:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026460:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026470:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026480:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026490:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0264A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0264B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0264C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0264D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0264E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0264F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026500:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026510:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026520:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026530:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026540:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026550:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026560:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026570:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026580:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026590:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0265A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0265B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0265C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0265D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0265E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0265F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026600:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026610:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026620:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026630:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026640:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026650:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026660:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026670:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026680:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026690:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0266A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0266B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0266C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0266D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0266E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0266F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026700:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026710:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026720:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026730:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026740:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026750:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026760:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026770:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026780:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026790:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0267A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0267B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0267C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0267D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0267E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0267F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026800:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026810:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026820:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026830:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026840:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026850:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026860:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026870:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026880:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026890:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0268A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0268B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0268C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0268D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0268E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0268F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026900:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026910:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026920:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026930:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026940:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026950:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026960:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026970:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026980:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026990:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0269A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0269B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0269C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0269D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0269E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0269F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026A00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026A10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026A20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026A30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026A40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026A50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026A60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026A70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026A80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026A90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026AA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026AB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026AC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026AD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026AE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026AF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026B00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026B10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026B20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026B30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026B40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026B50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026B60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026B70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026B80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026B90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026BA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026BB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026BC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026BD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026BE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026BF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026C00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026C10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026C20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026C30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026C40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026C50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026C60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026C70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026C80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026C90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026CA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026CB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026CC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026CD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026CE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026CF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026D00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026D10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026D20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026D30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026D40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026D50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026D60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026D70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026D80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026D90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026DA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026DB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026DC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026DD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026DE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026DF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
026E00:  6F 77 6E 6C 6F 61 64 20 28 72 65 63 65 69 76 65    ownload (receive
026E10:  29 22 2C 30 2C 22 55 70 6C 6F 61 64 20 28 73 65    )",0,"Upload (se
026E20:  6E 64 29 22 2C 30 2C 22 53 65 6C 65 63 74 20 70    nd)",0,"Select p
026E30:  72 6F 74 6F 63 6F 6C 22 2C 30 2C 32 35 35 0D 0A    rotocol",0,255..
026E40:  2E 74 6D 72 73 09 64 62 20 22 42 61 75 64 20 72    .tmrs.db "Baud r
026E50:  61 74 65 22 2C 30 2C 22 44 61 74 61 20 77 6F 72    ate",0,"Data wor
026E60:  64 22 2C 30 2C 22 53 65 6E 64 20 62 72 65 61 6B    d",0,"Send break
026E70:  22 2C 30 0D 0A 09 64 62 20 22 58 4F 4E 20 63 6F    ",0...db "XON co
026E80:  6E 74 72 6F 6C 22 2C 30 2C 22 4C 6F 63 61 6C 20    ntrol",0,"Local 
026E90:  65 63 68 6F 22 2C 30 0D 0A 69 66 20 6B 64 73 3A    echo",0..if kds:
026EA0:  09 65 6C 73 65 3A 20 64 62 20 22 48 61 72 64 77    .else: db "Hardw
026EB0:  61 72 65 20 68 61 6E 64 73 68 61 6B 65 22 2C 30    are handshake",0
026EC0:  0D 0A 65 6E 64 69 66 3A 09 64 62 20 32 35 35 0D    ..endif:.db 255.
026ED0:  0A 0D 0A 2E 74 6D 62 61 75 64 09 64 62 20 22 31    ....tmbaud.db "1
026EE0:  39 32 30 30 22 2C 30 2C 22 39 36 30 30 22 2C 30    9200",0,"9600",0
026EF0:  2C 22 34 38 30 30 22 2C 30 2C 22 32 34 30 30 22    ,"4800",0,"2400"
026F00:  2C 30 2C 22 31 32 30 30 22 2C 30 2C 22 31 32 30    ,0,"1200",0,"120
026F10:  30 2F 37 35 22 2C 30 0D 0A 09 64 62 20 22 37 35    0/75",0...db "75
026F20:  2F 31 32 30 30 22 2C 30 2C 22 36 30 30 22 2C 30    /1200",0,"600",0
026F30:  2C 22 33 30 30 22 2C 30 2C 32 35 35 0D 0A 2E 74    ,"300",0,255...t
026F40:  62 73 65 74 73 09 64 77 20 31 39 32 30 30 2C 31    bsets.dw 19200,1
026F50:  39 32 30 30 2C 39 36 30 30 2C 39 36 30 30 2C 34    9200,9600,9600,4
026F60:  38 30 30 2C 34 38 30 30 2C 32 34 30 30 2C 32 34    800,4800,2400,24
026F70:  30 30 2C 31 32 30 30 2C 31 32 30 30 2C 31 32 30    00,1200,1200,120
026F80:  30 2C 37 35 2C 37 35 2C 31 32 30 30 0D 0A 09 64    0,75,75,1200...d
026F90:  77 20 36 30 30 2C 36 30 30 2C 33 30 30 2C 33 30    w 600,600,300,30
026FA0:  30 0D 0A 2E 74 6D 77 6F 72 64 09 64 62 20 22 38    0...tmword.db "8
026FB0:  4E 31 22 2C 30 2C 22 37 45 31 22 2C 30 2C 32 35    N1",0,"7E1",0,25
026FC0:  35 0D 0A 2E 74 6D 68 73 68 6B 09 64 62 20 22 48    5...tmhshk.db "H
026FD0:  61 6E 64 73 68 61 6B 65 20 6F 6E 22 2C 30 2C 22    andshake on",0,"
026FE0:  48 61 6E 64 73 68 61 6B 65 20 6F 66 66 22 2C 30    Handshake off",0
026FF0:  2C 32 35 35 0D 0A 2E 74 6D 78 6F 6E 09 64 62 20    ,255...tmxon.db 
027000:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027010:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027020:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027030:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027040:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027050:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027060:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027070:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027080:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027090:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0270A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0270B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0270C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0270D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0270E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0270F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027100:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027110:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027120:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027130:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027140:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027150:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027160:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027170:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027180:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027190:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0271A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0271B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0271C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0271D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0271E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0271F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027200:  22 58 4F 4E 20 63 6F 6E 74 72 6F 6C 20 6F 6E 22    "XON control on"
027210:  2C 30 2C 22 58 4F 4E 20 63 6F 6E 74 72 6F 6C 20    ,0,"XON control 
027220:  6F 66 66 22 2C 30 2C 32 35 35 0D 0A 2E 74 6D 6C    off",0,255...tml
027230:  6F 63 6C 09 64 62 20 22 4C 6F 63 61 6C 20 65 63    ocl.db "Local ec
027240:  68 6F 20 6F 6E 22 2C 30 2C 22 4C 6F 63 61 6C 20    ho on",0,"Local 
027250:  65 63 68 6F 20 6F 66 66 22 2C 30 2C 32 35 35 0D    echo off",0,255.
027260:  0A 2E 74 6D 70 72 6F 74 09 64 62 20 22 58 4D 6F    ..tmprot.db "XMo
027270:  64 65 6D 22 2C 30 2C 22 58 4D 6F 64 65 6D 2D 31    dem",0,"XModem-1
027280:  6B 22 2C 30 2C 22 59 4D 6F 64 65 6D 20 62 61 74    k",0,"YModem bat
027290:  63 68 22 2C 30 2C 32 35 35 1A 0D 0A 74 66 62 75    ch",0,255...tfbu
0272A0:  66 66 09 65 71 75 20 26 32 30 30 30 09 09 09 3B    ff.equ &2000...;
0272B0:  74 65 72 6D 69 6E 61 6C 20 66 69 6C 65 20 62 75    terminal file bu
0272C0:  66 66 65 72 0D 0A 74 70 62 6C 6F 63 6B 09 65 71    ffer..tpblock.eq
0272D0:  75 20 26 33 30 30 30 09 09 09 3B 74 65 72 6D 69    u &3000...;termi
0272E0:  6E 61 6C 20 70 61 72 61 6D 65 74 65 72 20 62 6C    nal parameter bl
0272F0:  6F 63 6B 0D 0A 6F 66 66 73 65 74 09 65 71 75 20    ock..offset.equ 
027300:  2C 30 2C 22 31 32 30 30 22 2C 30 2C 22 31 32 30    ,0,"1200",0,"120
027310:  30 2F 37 35 22 2C 30 0D 0A 09 64 62 20 22 37 35    0/75",0...db "75
027320:  2F 31 32 30 30 22 2C 30 2C 22 36 30 30 22 2C 30    /1200",0,"600",0
027330:  2C 22 33 30 30 22 2C 30 2C 32 35 35 0D 0A 2E 74    ,"300",0,255...t
027340:  62 73 65 74 73 09 64 77 20 31 39 32 30 30 2C 31    bsets.dw 19200,1
027350:  39 32 30 30 2C 39 36 30 30 2C 39 36 30 30 2C 34    9200,9600,9600,4
027360:  38 30 30 2C 34 38 30 30 2C 32 34 30 30 2C 32 34    800,4800,2400,24
027370:  30 30 2C 31 32 30 30 2C 31 32 30 30 2C 31 32 30    00,1200,1200,120
027380:  30 2C 37 35 2C 37 35 2C 31 32 30 30 0D 0A 09 64    0,75,75,1200...d
027390:  77 20 36 30 30 2C 36 30 30 2C 33 30 30 2C 33 30    w 600,600,300,30
0273A0:  30 0D 0A 2E 74 6D 77 6F 72 64 09 64 62 20 22 38    0...tmword.db "8
0273B0:  4E 31 22 2C 30 2C 22 37 45 31 22 2C 30 2C 32 35    N1",0,"7E1",0,25
0273C0:  35 0D 0A 2E 74 6D 68 73 68 6B 09 64 62 20 22 48    5...tmhshk.db "H
0273D0:  61 6E 64 73 68 61 6B 65 20 6F 6E 22 2C 30 2C 22    andshake on",0,"
0273E0:  48 61 6E 64 73 68 61 6B 65 20 6F 66 66 22 2C 30    Handshake off",0
0273F0:  2C 32 35 35 0D 0A 2E 74 6D 78 6F 6E 09 64 62 20    ,255...tmxon.db 
027400:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
027410:  21 00 01 00 02 09 4E E5 21 00 C1 02 00 00 00 02    !.....N.!.......
027420:  21 00 C6 02 00 00 00 02 21 00 C2 02 00 00 00 02    !.......!.......
027430:  21 00 C7 02 00 00 00 02 21 00 C3 02 00 00 00 02    !.......!.......
027440:  21 00 C8 02 00 00 00 02 21 00 C4 02 00 00 00 02    !.......!.......
027450:  21 00 C9 02 00 00 00 02 21 00 C5 02 00 00 00 02    !.......!.......
027460:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
027470:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
027480:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
027490:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0274A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0274B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0274C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0274D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0274E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0274F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
027500:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027510:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027520:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027530:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027540:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027550:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027560:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027570:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027580:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027590:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0275A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0275B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0275C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0275D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0275E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0275F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027600:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027610:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027620:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027630:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027640:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027650:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027660:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027670:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027680:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027690:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0276A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0276B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0276C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0276D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0276E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0276F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027700:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027710:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027720:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027730:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027740:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027750:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027760:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027770:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027780:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027790:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0277A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0277B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0277C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0277D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0277E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0277F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027800:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027810:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027820:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027830:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027840:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027850:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027860:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027870:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027880:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027890:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0278A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0278B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0278C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0278D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0278E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0278F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027900:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027910:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027920:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027930:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027940:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027950:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027960:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027970:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027980:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027990:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0279A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0279B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0279C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0279D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0279E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0279F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027A00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027A10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027A20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027A30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027A40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027A50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027A60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027A70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027A80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027A90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027AA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027AB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027AC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027AD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027AE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027AF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027B00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027B10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027B20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027B30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027B40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027B50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027B60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027B70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027B80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027B90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027BA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027BB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027BC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027BD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027BE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027BF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027C00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027C10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027C20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027C30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027C40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027C50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027C60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027C70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027C80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027C90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027CA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027CB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027CC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027CD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027CE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027CF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027D00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027D10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027D20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027D30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027D40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027D50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027D60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027D70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027D80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027D90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027DA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027DB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027DC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027DD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027DE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027DF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027E00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027E10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027E20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027E30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027E40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027E50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027E60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027E70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027E80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027E90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027EA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027EB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027EC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027ED0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027EE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027EF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027F00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027F10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027F20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027F30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027F40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027F50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027F60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027F70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027F80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027F90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027FA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027FB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027FC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027FD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027FE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
027FF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028000:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028010:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028020:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028030:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028040:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028050:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028060:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028070:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028080:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028090:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0280A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0280B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0280C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0280D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0280E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0280F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028100:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028110:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028120:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028130:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028140:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028150:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028160:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028170:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028180:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028190:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0281A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0281B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0281C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0281D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0281E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0281F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028200:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028210:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028220:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028230:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028240:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028250:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028260:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028270:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028280:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028290:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0282A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0282B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0282C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0282D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0282E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0282F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028300:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028310:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028320:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028330:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028340:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028350:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028360:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028370:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028380:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028390:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0283A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0283B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0283C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0283D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0283E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0283F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028400:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028410:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028420:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028430:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028440:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028450:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028460:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028470:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028480:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028490:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0284A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0284B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0284C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0284D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0284E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0284F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028500:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028510:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028520:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028530:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028540:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028550:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028560:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028570:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028580:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028590:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0285A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0285B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0285C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0285D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0285E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0285F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028600:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028610:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028620:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028630:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028640:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028650:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028660:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028670:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028680:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028690:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0286A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0286B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0286C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0286D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0286E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0286F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028700:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
028710:  22 00 01 00 02 09 4E E5 22 00 C4 02 00 00 00 02    ".....N.".......
028720:  22 00 C9 02 00 00 00 02 22 00 C5 02 00 00 00 02    ".......".......
028730:  22 00 C1 02 00 00 00 02 22 00 C6 02 00 00 00 02    ".......".......
028740:  22 00 C2 02 00 00 00 02 22 00 C7 02 00 00 00 02    ".......".......
028750:  22 00 C3 02 00 00 00 02 22 00 C8 02 00 00 00 02    ".......".......
028760:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
028770:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
028780:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
028790:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0287A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0287B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0287C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0287D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0287E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0287F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
028800:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028810:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028820:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028830:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028840:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028850:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028860:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028870:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028880:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028890:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0288A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0288B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0288C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0288D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0288E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0288F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028900:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028910:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028920:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028930:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028940:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028950:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028960:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028970:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028980:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028990:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0289A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0289B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0289C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0289D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0289E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0289F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028A00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028A10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028A20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028A30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028A40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028A50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028A60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028A70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028A80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028A90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028AA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028AB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028AC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028AD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028AE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028AF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028B00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028B10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028B20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028B30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028B40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028B50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028B60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028B70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028B80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028B90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028BA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028BB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028BC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028BD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028BE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028BF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028C00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028C10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028C20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028C30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028C40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028C50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028C60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028C70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028C80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028C90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028CA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028CB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028CC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028CD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028CE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028CF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028D00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028D10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028D20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028D30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028D40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028D50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028D60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028D70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028D80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028D90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028DA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028DB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028DC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028DD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028DE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028DF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028E00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028E10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028E20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028E30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028E40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028E50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028E60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028E70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028E80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028E90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028EA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028EB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028EC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028ED0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028EE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028EF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028F00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028F10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028F20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028F30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028F40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028F50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028F60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028F70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028F80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028F90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028FA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028FB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028FC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028FD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028FE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
028FF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029000:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029010:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029020:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029030:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029040:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029050:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029060:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029070:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029080:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029090:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0290A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0290B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0290C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0290D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0290E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0290F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029100:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029110:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029120:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029130:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029140:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029150:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029160:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029170:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029180:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029190:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0291A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0291B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0291C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0291D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0291E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0291F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029200:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029210:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029220:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029230:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029240:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029250:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029260:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029270:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029280:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029290:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0292A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0292B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0292C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0292D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0292E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0292F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029300:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029310:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029320:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029330:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029340:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029350:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029360:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029370:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029380:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029390:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0293A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0293B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0293C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0293D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0293E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0293F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029400:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029410:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029420:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029430:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029440:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029450:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029460:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029470:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029480:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029490:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0294A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0294B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0294C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0294D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0294E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0294F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029500:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029510:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029520:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029530:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029540:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029550:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029560:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029570:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029580:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029590:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0295A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0295B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0295C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0295D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0295E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0295F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029600:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029610:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029620:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029630:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029640:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029650:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029660:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029670:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029680:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029690:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0296A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0296B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0296C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0296D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0296E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0296F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029700:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029710:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029720:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029730:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029740:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029750:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029760:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029770:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029780:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029790:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0297A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0297B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0297C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0297D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0297E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0297F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029800:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029810:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029820:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029830:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029840:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029850:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029860:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029870:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029880:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029890:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0298A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0298B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0298C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0298D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0298E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0298F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029900:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029910:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029920:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029930:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029940:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029950:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029960:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029970:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029980:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029990:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0299A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0299B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0299C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0299D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0299E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
0299F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029A00:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
029A10:  23 00 01 00 02 09 4E E5 23 00 C7 02 00 00 00 02    #.....N.#.......
029A20:  23 00 C3 02 00 00 00 02 23 00 C8 02 00 00 00 02    #.......#.......
029A30:  23 00 C4 02 00 00 00 02 23 00 C9 02 00 00 00 02    #.......#.......
029A40:  23 00 C5 02 00 00 00 02 23 00 C1 02 00 00 00 02    #.......#.......
029A50:  23 00 C6 02 00 00 00 02 23 00 C2 02 00 00 00 02    #.......#.......
029A60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
029A70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
029A80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
029A90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
029AA0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
029AB0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
029AC0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
029AD0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
029AE0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
029AF0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
029B00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029B10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029B20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029B30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029B40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029B50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029B60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029B70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029B80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029B90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029BA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029BB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029BC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029BD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029BE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029BF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029C00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029C10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029C20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029C30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029C40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029C50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029C60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029C70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029C80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029C90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029CA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029CB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029CC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029CD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029CE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029CF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029D00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029D10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029D20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029D30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029D40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029D50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029D60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029D70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029D80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029D90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029DA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029DB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029DC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029DD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029DE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029DF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029E00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029E10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029E20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029E30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029E40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029E50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029E60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029E70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029E80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029E90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029EA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029EB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029EC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029ED0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029EE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029EF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029F00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029F10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029F20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029F30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029F40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029F50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029F60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029F70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029F80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029F90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029FA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029FB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029FC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029FD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029FE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
029FF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A000:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A010:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A020:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A030:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A040:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A050:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A060:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A070:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A080:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A090:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A0A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A0B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A0C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A0D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A0E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A0F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A100:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A110:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A120:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A130:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A140:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A150:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A160:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A170:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A180:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A190:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A1A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A1B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A1C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A1D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A1E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A1F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A200:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A210:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A220:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A230:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A240:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A250:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A260:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A270:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A280:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A290:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A2A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A2B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A2C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A2D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A2E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A2F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A300:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A310:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A320:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A330:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A340:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A350:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A360:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A370:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A380:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A390:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A3A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A3B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A3C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A3D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A3E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A3F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A400:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A410:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A420:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A430:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A440:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A450:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A460:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A470:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A480:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A490:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A4A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A4B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A4C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A4D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A4E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A4F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A500:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A510:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A520:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A530:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A540:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A550:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A560:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A570:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A580:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A590:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A5A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A5B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A5C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A5D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A5E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A5F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A600:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A610:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A620:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A630:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A640:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A650:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A660:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A670:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A680:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A690:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A6A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A6B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A6C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A6D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A6E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A6F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A700:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A710:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A720:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A730:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A740:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A750:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A760:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A770:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A780:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A790:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A7A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A7B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A7C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A7D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A7E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A7F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A800:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A810:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A820:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A830:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A840:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A850:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A860:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A870:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A880:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A890:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A8A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A8B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A8C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A8D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A8E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A8F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A900:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A910:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A920:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A930:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A940:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A950:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A960:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A970:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A980:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A990:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A9A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A9B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A9C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A9D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A9E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02A9F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AA00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AA10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AA20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AA30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AA40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AA50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AA60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AA70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AA80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AA90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AAA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AAB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AAC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AAD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AAE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AAF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AB00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AB10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AB20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AB30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AB40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AB50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AB60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AB70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AB80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AB90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ABA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ABB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ABC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ABD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ABE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ABF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AC00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AC10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AC20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AC30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AC40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AC50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AC60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AC70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AC80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AC90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ACA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ACB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ACC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ACD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ACE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ACF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AD00:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
02AD10:  24 00 01 00 02 09 4E E5 24 00 C1 02 00 00 00 02    $.....N.$.......
02AD20:  24 00 C6 02 00 00 00 02 24 00 C2 02 00 00 00 02    $.......$.......
02AD30:  24 00 C7 02 00 00 00 02 24 00 C3 02 00 00 00 02    $.......$.......
02AD40:  24 00 C8 02 00 00 00 02 24 00 C4 02 00 00 00 02    $.......$.......
02AD50:  24 00 C9 02 00 00 00 02 24 00 C5 02 00 00 00 02    $.......$.......
02AD60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02AD70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02AD80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02AD90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02ADA0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02ADB0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02ADC0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02ADD0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02ADE0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02ADF0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02AE00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AE10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AE20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AE30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AE40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AE50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AE60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AE70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AE80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AE90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AEA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AEB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AEC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AED0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AEE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AEF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AF00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AF10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AF20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AF30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AF40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AF50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AF60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AF70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AF80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AF90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AFA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AFB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AFC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AFD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AFE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02AFF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B000:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B010:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B020:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B030:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B040:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B050:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B060:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B070:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B080:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B090:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B0A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B0B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B0C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B0D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B0E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B0F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B100:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B110:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B120:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B130:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B140:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B150:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B160:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B170:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B180:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B190:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B1A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B1B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B1C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B1D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B1E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B1F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B200:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B210:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B220:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B230:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B240:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B250:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B260:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B270:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B280:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B290:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B2A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B2B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B2C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B2D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B2E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B2F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B300:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B310:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B320:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B330:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B340:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B350:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B360:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B370:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B380:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B390:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B3A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B3B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B3C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B3D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B3E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B3F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B400:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B410:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B420:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B430:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B440:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B450:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B460:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B470:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B480:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B490:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B4A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B4B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B4C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B4D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B4E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B4F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B500:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B510:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B520:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B530:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B540:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B550:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B560:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B570:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B580:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B590:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B5A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B5B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B5C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B5D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B5E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B5F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B600:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B610:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B620:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B630:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B640:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B650:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B660:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B670:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B680:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B690:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B6A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B6B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B6C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B6D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B6E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B6F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B700:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B710:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B720:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B730:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B740:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B750:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B760:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B770:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B780:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B790:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B7A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B7B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B7C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B7D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B7E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B7F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B800:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B810:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B820:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B830:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B840:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B850:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B860:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B870:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B880:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B890:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B8A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B8B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B8C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B8D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B8E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B8F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B900:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B910:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B920:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B930:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B940:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B950:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B960:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B970:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B980:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B990:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B9A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B9B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B9C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B9D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B9E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02B9F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BA00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BA10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BA20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BA30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BA40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BA50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BA60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BA70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BA80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BA90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BAA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BAB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BAC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BAD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BAE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BAF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BB00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BB10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BB20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BB30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BB40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BB50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BB60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BB70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BB80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BB90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BBA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BBB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BBC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BBD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BBE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BBF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BC00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BC10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BC20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BC30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BC40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BC50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BC60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BC70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BC80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BC90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BCA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BCB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BCC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BCD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BCE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BCF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BD00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BD10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BD20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BD30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BD40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BD50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BD60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BD70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BD80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BD90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BDA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BDB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BDC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BDD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BDE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BDF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BE00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BE10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BE20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BE30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BE40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BE50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BE60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BE70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BE80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BE90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BEA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BEB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BEC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BED0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BEE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BEF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BF00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BF10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BF20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BF30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BF40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BF50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BF60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BF70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BF80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BF90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BFA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BFB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BFC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BFD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BFE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02BFF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C000:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
02C010:  25 00 01 00 02 09 4E E5 25 00 C4 02 00 00 00 02    %.....N.%.......
02C020:  25 00 C9 02 00 00 00 02 25 00 C5 02 00 00 00 02    %.......%.......
02C030:  25 00 C1 02 00 00 00 02 25 00 C6 02 00 00 00 02    %.......%.......
02C040:  25 00 C2 02 00 00 00 02 25 00 C7 02 00 00 00 02    %.......%.......
02C050:  25 00 C3 02 00 00 00 02 25 00 C8 02 00 00 00 02    %.......%.......
02C060:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02C070:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02C080:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02C090:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02C0A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02C0B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02C0C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02C0D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02C0E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02C0F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02C100:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C110:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C120:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C130:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C140:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C150:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C160:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C170:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C180:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C190:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C1A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C1B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C1C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C1D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C1E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C1F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C200:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C210:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C220:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C230:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C240:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C250:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C260:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C270:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C280:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C290:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C2A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C2B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C2C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C2D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C2E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C2F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C300:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C310:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C320:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C330:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C340:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C350:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C360:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C370:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C380:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C390:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C3A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C3B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C3C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C3D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C3E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C3F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C400:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C410:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C420:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C430:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C440:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C450:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C460:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C470:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C480:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C490:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C4A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C4B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C4C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C4D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C4E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C4F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C500:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C510:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C520:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C530:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C540:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C550:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C560:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C570:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C580:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C590:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C5A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C5B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C5C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C5D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C5E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C5F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C600:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C610:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C620:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C630:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C640:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C650:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C660:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C670:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C680:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C690:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C6A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C6B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C6C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C6D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C6E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C6F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C700:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C710:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C720:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C730:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C740:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C750:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C760:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C770:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C780:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C790:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C7A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C7B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C7C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C7D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C7E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C7F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C800:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C810:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C820:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C830:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C840:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C850:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C860:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C870:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C880:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C890:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C8A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C8B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C8C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C8D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C8E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C8F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C900:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C910:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C920:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C930:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C940:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C950:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C960:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C970:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C980:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C990:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C9A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C9B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C9C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C9D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C9E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02C9F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CA00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CA10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CA20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CA30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CA40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CA50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CA60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CA70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CA80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CA90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CAA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CAB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CAC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CAD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CAE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CAF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CB00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CB10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CB20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CB30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CB40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CB50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CB60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CB70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CB80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CB90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CBA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CBB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CBC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CBD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CBE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CBF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CC00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CC10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CC20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CC30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CC40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CC50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CC60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CC70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CC80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CC90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CCA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CCB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CCC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CCD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CCE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CCF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CD00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CD10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CD20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CD30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CD40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CD50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CD60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CD70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CD80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CD90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CDA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CDB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CDC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CDD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CDE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CDF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CE00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CE10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CE20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CE30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CE40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CE50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CE60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CE70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CE80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CE90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CEA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CEB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CEC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CED0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CEE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CEF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CF00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CF10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CF20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CF30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CF40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CF50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CF60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CF70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CF80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CF90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CFA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CFB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CFC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CFD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CFE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02CFF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D000:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D010:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D020:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D030:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D040:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D050:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D060:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D070:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D080:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D090:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D0A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D0B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D0C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D0D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D0E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D0F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D100:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D110:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D120:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D130:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D140:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D150:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D160:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D170:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D180:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D190:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D1A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D1B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D1C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D1D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D1E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D1F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D200:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D210:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D220:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D230:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D240:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D250:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D260:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D270:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D280:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D290:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D2A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D2B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D2C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D2D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D2E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D2F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D300:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
02D310:  26 00 01 00 02 09 4E E5 26 00 C7 02 00 00 00 02    &.....N.&.......
02D320:  26 00 C3 02 00 00 00 02 26 00 C8 02 00 00 00 02    &.......&.......
02D330:  26 00 C4 02 00 00 00 02 26 00 C9 02 00 00 00 02    &.......&.......
02D340:  26 00 C5 02 00 00 00 02 26 00 C1 02 00 00 00 02    &.......&.......
02D350:  26 00 C6 02 00 00 00 02 26 00 C2 02 00 00 00 02    &.......&.......
02D360:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02D370:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02D380:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02D390:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02D3A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02D3B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02D3C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02D3D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02D3E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02D3F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02D400:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D410:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D420:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D430:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D440:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D450:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D460:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D470:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D480:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D490:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D4A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D4B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D4C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D4D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D4E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D4F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D500:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D510:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D520:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D530:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D540:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D550:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D560:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D570:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D580:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D590:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D5A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D5B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D5C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D5D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D5E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D5F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D600:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D610:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D620:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D630:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D640:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D650:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D660:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D670:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D680:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D690:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D6A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D6B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D6C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D6D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D6E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D6F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D700:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D710:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D720:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D730:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D740:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D750:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D760:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D770:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D780:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D790:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D7A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D7B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D7C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D7D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D7E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D7F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D800:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D810:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D820:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D830:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D840:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D850:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D860:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D870:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D880:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D890:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D8A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D8B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D8C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D8D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D8E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D8F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D900:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D910:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D920:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D930:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D940:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D950:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D960:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D970:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D980:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D990:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D9A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D9B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D9C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D9D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D9E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02D9F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DA00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DA10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DA20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DA30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DA40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DA50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DA60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DA70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DA80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DA90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DAA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DAB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DAC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DAD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DAE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DAF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DB00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DB10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DB20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DB30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DB40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DB50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DB60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DB70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DB80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DB90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DBA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DBB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DBC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DBD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DBE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DBF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DC00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DC10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DC20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DC30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DC40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DC50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DC60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DC70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DC80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DC90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DCA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DCB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DCC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DCD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DCE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DCF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DD00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DD10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DD20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DD30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DD40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DD50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DD60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DD70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DD80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DD90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DDA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DDB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DDC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DDD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DDE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DDF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DE00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DE10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DE20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DE30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DE40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DE50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DE60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DE70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DE80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DE90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DEA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DEB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DEC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DED0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DEE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DEF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DF00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DF10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DF20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DF30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DF40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DF50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DF60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DF70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DF80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DF90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DFA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DFB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DFC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DFD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DFE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02DFF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E000:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E010:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E020:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E030:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E040:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E050:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E060:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E070:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E080:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E090:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E0A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E0B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E0C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E0D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E0E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E0F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E100:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E110:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E120:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E130:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E140:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E150:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E160:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E170:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E180:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E190:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E1A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E1B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E1C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E1D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E1E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E1F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E200:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E210:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E220:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E230:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E240:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E250:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E260:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E270:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E280:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E290:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E2A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E2B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E2C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E2D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E2E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E2F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E300:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E310:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E320:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E330:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E340:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E350:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E360:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E370:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E380:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E390:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E3A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E3B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E3C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E3D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E3E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E3F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E400:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E410:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E420:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E430:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E440:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E450:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E460:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E470:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E480:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E490:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E4A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E4B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E4C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E4D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E4E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E4F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E500:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E510:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E520:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E530:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E540:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E550:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E560:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E570:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E580:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E590:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E5A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E5B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E5C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E5D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E5E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E5F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E600:  54 72 61 63 6B 2D 49 6E 66 6F 0D 0A 00 00 00 00    Track-Info......
02E610:  27 00 01 00 02 09 4E E5 27 00 C1 02 00 00 00 02    '.....N.'.......
02E620:  27 00 C6 02 00 00 00 02 27 00 C2 02 00 00 00 02    '.......'.......
02E630:  27 00 C7 02 00 00 00 02 27 00 C3 02 00 00 00 02    '.......'.......
02E640:  27 00 C8 02 00 00 00 02 27 00 C4 02 00 00 00 02    '.......'.......
02E650:  27 00 C9 02 00 00 00 02 27 00 C5 02 00 00 00 02    '.......'.......
02E660:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02E670:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02E680:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02E690:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02E6A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02E6B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02E6C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02E6D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02E6E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02E6F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
02E700:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E710:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E720:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E730:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E740:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E750:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E760:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E770:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E780:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E790:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E7A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E7B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E7C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E7D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E7E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E7F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E800:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E810:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E820:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E830:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E840:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E850:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E860:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E870:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E880:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E890:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E8A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E8B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E8C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E8D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E8E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E8F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E900:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E910:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E920:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E930:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E940:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E950:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E960:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E970:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E980:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E990:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E9A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E9B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E9C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E9D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E9E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02E9F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EA00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EA10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EA20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EA30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EA40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EA50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EA60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EA70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EA80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EA90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EAA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EAB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EAC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EAD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EAE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EAF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EB00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EB10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EB20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EB30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EB40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EB50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EB60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EB70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EB80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EB90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EBA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EBB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EBC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EBD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EBE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EBF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EC00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EC10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EC20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EC30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EC40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EC50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EC60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EC70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EC80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EC90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ECA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ECB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ECC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ECD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ECE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ECF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ED00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ED10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ED20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ED30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ED40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ED50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ED60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ED70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ED80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02ED90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EDA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EDB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EDC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EDD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EDE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EDF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EE00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EE10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EE20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EE30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EE40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EE50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EE60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EE70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EE80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EE90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EEA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EEB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EEC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EED0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EEE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EEF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EF00:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EF10:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EF20:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EF30:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EF40:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EF50:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EF60:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EF70:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EF80:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EF90:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EFA0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EFB0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EFC0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EFD0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EFE0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02EFF0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F000:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F010:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F020:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F030:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F040:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F050:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F060:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F070:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F080:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F090:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F0A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F0B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F0C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F0D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F0E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F0F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F100:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F110:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F120:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F130:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F140:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F150:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F160:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F170:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F180:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F190:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F1A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F1B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F1C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F1D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F1E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F1F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F200:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F210:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F220:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F230:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F240:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F250:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F260:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F270:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F280:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F290:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F2A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F2B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F2C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F2D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F2E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F2F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F300:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F310:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F320:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F330:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F340:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F350:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F360:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F370:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F380:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F390:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F3A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F3B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F3C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F3D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F3E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F3F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F400:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F410:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F420:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F430:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F440:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F450:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F460:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F470:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F480:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F490:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F4A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F4B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F4C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F4D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F4E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F4F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F500:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F510:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F520:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F530:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F540:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F550:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F560:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F570:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F580:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F590:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F5A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F5B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F5C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F5D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F5E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F5F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F600:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F610:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F620:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F630:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F640:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F650:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F660:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F670:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F680:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F690:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F6A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F6B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F6C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F6D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F6E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F6F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F700:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F710:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F720:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F730:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F740:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F750:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F760:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F770:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F780:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F790:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F7A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F7B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F7C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F7D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F7E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F7F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F800:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F810:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F820:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F830:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F840:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F850:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F860:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F870:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F880:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F890:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F8A0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F8B0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F8C0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F8D0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F8E0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
02F8F0:  E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5    ................
RESULT OF SEARCH :
PRO=55   CHEA=0   COD=14   MUSI=0   COP=25   GRA=25   WRIT=22   198=0   199=10   STARTER=0   KBI=0   CAAV=0   L.TOURNIER=0  
EXTENDED CPC DSK File    SAMdisk190122(  NBANKS      CRC        DIVIDE     HEXIN
P1    HEXINP2    INLINE     INPUTF     INVERT      MK$PARAM   MODE1TO2   MULTI  
     PDECA      PDECA   SPCPDECHL     PHEX       PSTRING     pop hl pop bc  ret 
   .ldhlaicall ldhla  inc hl ret   &8000  write "edit.bin"  nolist    fversequ 2
    *** ROUTInid a,h and &3F or &40 ld h,a   ld a,b ld b,&7F   out (c),c ld a,(h
l)   ld c,&C0 out (c),c  pop hl pop bc  ret    .ldahlicall ldahl  inc hl ret    
*** SUBRLD (HL),A - extra banks    .ldhlapush bc push hl   ld b,a ld a,h and &C0
   rlca rlca add &C4   ld c,a   ld a,h and &3F or &40 ld h,a   ld a,b ld b,&7F  
 out (c),c ld (hl),a   ld c,&C0 out (c),c SPECCONV   UCASE      WINLOAD    CRTC 
      FADEL2H    FADESCR    KEYSCAN    -READ   ME  NLINE      PSG        READREG
    SPCSCAN    EDIT    SRCG!"#$%&'()GRAPHICSSRCA*+,-./012PRO-EXT SRC3456789ABBBS
     MODACDEFGHIJK  *** SUBRUpdate 16-bit CRC in HL  On entry, current byte in E
    .crcld b,8shift 8 times  .updlprlc eshift input  adc hl,hlshift crc  jr nc,s
kipitjump if no carry  ld a,h xor &10 ld h,axor with &1021  ld a,l xor &21 ld l,
a  .skipitdjnz updlpdone  ret   .crc    ld b,8shift 8 times  .updlp  rlc eshift 
input  adc hl,hlshift rlca add &C4   ld c,a   ld a,h and &3F or &40 ld h,a   ld 
a,b ld b,&7F   out (c),c ld (hl),a   ld c,&C0 out (c),c COMMS   SRC6LMNOPQRCONTR
OL MOD STUVFILE    MODWXYZabcdefFILE    MODghiLIBRARY MODjklSIO     MODOmnopqrst
uvSUBROUT MODwxyzTERMINALMODTERMINALMOD  *** SUBRDivide HL by BC  return rounded
 result in DE    .divideld de,0  .divlpor a sbc hl,bc jr c,divadAdjustment if ca
rry  inc de ret zReturn if exactly right  jr divlpElse loop    .divadadd hl,bcRe
store to previous value  or a rr b rr cHalve BC  or a sbc hl,bcAnd compare with 
HL  ret c inc de retIncrease DE if HL 0 or more  IDE  $$$),a  *** SUBRLD A,(HL) 
- extra banks    .ldahlpush bc push hl   ld b,a ld a,h and &C0   rlca rlca add &
C4   ld c,a   ld a,h and &3F or &40 ld h,a   ld a,b ld b,&7F   out (c),c ld a,(h
l)   ld c,&C0 out (c),c  pop hl pop bc  ret    .ldahlicall ldahl  inc hl ret    
*** SUBRLD (HL),A - extra banks    .ldhlapush bc push hl   ld b,a ld a,h and &C0
   rlca rlca add &C4   ld c,a   ld a,h and &3F or &40 ld h,a   ld a,b ld b,&7F  
 out (c),c ld (hl),a   ld c,&C0 out (c),c   N  *** SUBR2-byte hex input subrouti
ne    .hexinpld hl,&AF40input buffer  ld b,0characters typed in  call &BB81curso
r on    .waitchcall &BB06wait for character  cp &FC jp z,&BB84ESCAPE set zero, i
ndicates ESC pressed  cp 13  jr z,exhinpRETURN  cp &7F jr nz,notdelDEL    ld a,b
 or a  jr z,waitchdon't delete if no input yet!    dec hl dec bdecrement char co
unt and location  ld a,8 call &BB5Abackspace...  ld a,32 call &BB5ASPACE over th
e character...  ld a,8 call &BB5Aand backspace again  jr waitch    .notdelcall u
case  cp "F"+1 jr nc,waitchget another character if over "F"  cp "0"   jr c,wait
chget another character if below "0"  cp "A"   jr nc,okchok if "A" or above  cp 
"9"+1 jr nc,waitchget another character if above "9"  .okchld (hl),a inc hl inc 
b  call &BB5A  bit 2,b jr z,waitch4 characters yet    .exhinpcall &BB84cursor of
f  ld a,b or a jr z,nohinpnothing input!  ld de,0  ld hl,&AF40    .hcloopex de,h
l   add hl,hl add hl,hl   add hl,hl add hl,hl  ex de,hl  ld a,(hl)  cp "A" jr nc
,letter  sub 48 jr add2de  .lettersub 55  .add2depush bc   ld c,a ld b,0   ex hl
,de add hl,bc ex hl,de  pop bc  inc hl djnz hcloop    ex hl,de  ld a,1 or azero 
0 carry 0, indicates number in HL  ret    .nohinpld a,1 or a scfzero 0 carry 1, 
indicates no input  ret  EXINP2 $$$2-byte hex input subroutine    .hexinp ld hl,
&AF40                     input buffer          ld b,0              *** SUBR1-by
te hex input subroutine    .onehexcall getip1 jr nc,onehex  rlca rlca rlca rlca 
ld c,a  call getip1 jr c,ndel1  ld a,8      call &BB5A  ld a,16     call &BB5A  
jr onehex  .ndel1or c        jp &BB84    .getip1call &BB81  call &BB06  call uca
se  cp &7F ret z  call chkhex jr nc,getip1  call &BB5A  ld a,e  ret    a rlca rl
ca ld c,a        re  IDE  $$$),a  *** SUBRIn-line string print subroutine  follo
w "CALL inline" with "STR message"    .inlineld (hlst),hl  pop hl push af  .ginc
hrld a,(hl)  bit 7,a res 7,a  call &BB5A inc hl  jr z,ginchr  pop af push hl  ld
 hl,(hlst)  ret    .hlstdw 0  LINE  $$$ring print subroutine (CALL inline - STR 
message)    .inlineld (hlst),hl  pop hl push af  .ginchrld a,(hl)    EXINP2 $$$2
-byte hex input subroutine    .hexinp ld hl,&AF40                     input buff
er          ld b,0              N  *** SUBRConvert MODE 1 screen to MODE 2    .m
1to2ld hl,&C000  .mloopld c,(hl) call routne  ld (hl),d inc hl  ld a,h or a jr n
z,mloop ret    .routneld d,0 ld b,4    .loopld a,c  and 17 rrc c    or a   jr z,
aset  cp 16  jr nz,not16  ld a,3 jr aset    .not16cp 1   jr z,aset  ld a,2    .a
setor d rrca rrca  ld d,a djnz loop  ret   c,(hl)          call If filename leng
th 0, return  ld a,1 retReturn with one parameter    x,&AF00          ld (ix+0),
&02 ld (ix+1),&AF         *** SUBRHighlight bar at screen address HL, B characte
rs long    .invertpush af rlc b ld c,b  .invol push hl ld b,c  .invlp  ld a,(hl)
 xor 255    ld (hl),a inc hl djnz invlp   pop hl   ld a,8 add h   ld h,a jr nc,i
nvol  pop af ret    ERT  $$$ight bar at HL, B characters long    .invertpush af 
rlc b ld c,b  .invol push hl ld b,c  .invlp  ld a,(hall &BB5A ld a,32 call &BB5A
   ld a,8 call &BB5A jr ginkey  .einpf ld (hl),0  pop hl  push af call &BB84 pop
 af  cp &  *** SUBRMultiply HL by A    .multild d,h ld e,l ld hl,0  .multilor a 
ret z  add hl,de dec a jr multil  e "#TRACK.Bor a jr nz,mloop ret    .routneld d
,0 ld b,4    .loopld a,c  and 17 rrc c    or a   jr z,aset  cp 16  jr nz,not16  
ld a,3 jr aset    .not16cp 1   jr z,aset  ld a,2    .asetor d rrca rrca  ld d,a 
djnz loop  ret   c,(hl)          call If filename length 0, return  ld a,1 retRe
turn with one parameter    x,&AF00          ld (ix+0),&02 ld (ix+1),&AF         
*** SUBRInput filename if not provided to RSX    .nonampush hl   ld ix,&AF00   l
d (ix+0),&02 ld (ix+1),&AF   ld (ix+3),&05 ld (ix+4),&AFString descriptor block 
 &AF04   ld hl,ftext call string   ld hl,&AF05 call inputf   ld a,10 call &BB5A 
  ld a,13 call &BB5A  pop hl  ld (ix+2),b  ld a,0 ret zNo parameter passed for E
SC/RETURN  ld a,b or a ret zIf filename length 0, return  ld a,1 retReturn with 
one parameter    x,&AF00          ld (ix+0),&02 ld (ix+1),&AF         *** SUBRIn
put filename to buffer at HL (returns length in B)    .inputfpush hl call &BB81 
  ld b,0  .ginkey call &BB18   cp &FC jr z,einpf   cp 13 jr z,einpf   cp 32 jr c
,ginkey   cp 127 jr z,delete jr nc,ginkey   bit 4,b jr nz,ginkey   call &BB5A ld
 (hl),a inc hl   inc b jr ginkey  .delete ld a,b or a jr z,ginkey   dec b dec hl
 ld (hl),0   ld a,8 call &BB5A ld a,32 call &BB5A   ld a,8 call &BB5A jr ginkey 
 .einpf ld (hl),0  pop hl  push af call &BB84 pop af  cp &FC ret  $$$,8 call &BB
5A jr ginkey  .einpf ld (hl),0  pop hl  push af call &BB84 pop af  cp &FC ret   
 cp &FC jr  cp &FC jr z,einpf   cp 13 jr z,einpf   cp 32 jr c,ginkey   cp 127 jr
 z,delete jr nc,ginkey   bit 4,b jr nz,ginkey   call &BB5A ld (hl),a inc hl   in
c b jr ginkey  .delete ld a,b or a jr z,ginkey   dec b dec hl ld (hl),0   ld a,8
 call &BB5A ld a,32 call &BB5A   ld a,8 call &BB5A jr ginkey  .einpf ld (hl),0  
pop hl  push af call &BB84 pop af  cp &  N  *** SUBRPrint HL as (up to) 5-digit 
decimal    .prhlld c,0  ld de,10000 call prhlr  ld de,1000 call prhlr  ld de,100
 call prhlr  ld de,10 call prhlr  ld c,1 ld de,1  .prhlrxor a  .prhllpscf ccf sb
c hl,de jr c,prhlo  inc a jr prhllp  .prhloadd hl,de or a jr nz,prhly cp c ret z
  .prhlyld c,1 add &30 call &BB5A ret  all prhlr          ld de,1000 callIf file
name length 0, return  ld a,1 retReturn with one parameter    x,&AF00          l
d (ix+0),&02 ld (ix+1),&AF         *** SUBRPrint A as 3-digit decimal    .prald 
d,100 call pschr  ld d,10 call pschr  ld d,1    .pschrld c,0  .pslopsub d jr c,p
sfin  inc c jr pslop    .psfinadd d  push af   ld a,c add 48 call &BB5A  pop af 
ret  ,0  .pslopsubd a,3 jr aset    .not16cp 1   jr z,aset  ld a,2    .asetor d r
rca rrca  ld d,a djnz loop  ret   c,(hl)          call If filename length 0, ret
urn  ld a,1 retReturn with one parameter    x,&AF00          ld (ix+0),&02 ld (i
x+1),&AF                *** 2-byte hex print HL    .tbthex ld a,h call hexprt   
       ld a,l call hexprt          ret            *** 1-byte hex print A    .hex
prt ld b,2          ld c,a          rra rra          rra rra    .hexmsk and &F  
        cp 10 jr nc,hexgrt          add a,48 call &BB5A            0-9          
jr hexbye    .hexgrt add a,55 call &BB5A            A-F    .hexbye ld a,c       
   djnz hexmsk          ret   h 0, return          ld a,1 ret                   
  return, one parameter   db  *** SUBRPrint A as spaced 3-digit decimal    .pral
d b,0  ld d,100 call pschr  ld d,10 call pschr  ld b,1 ld d,1    .pschrld c,0  .
pslopsub d jr c,psfin  inc c jr pslop    .psfinadd a,d  push af ld a,c or a jr n
z,psnsp   bit 0,b jr z,psspc  .psnsp add 48 call &BB5A   ld b,1  pop af ret  .ps
spc ld a,32 call &BB5A  pop af ret  d d,1    .psIf filename length 0, return  ld
 a,1 retReturn with one parameter    x,&AF00          ld (ix+0),&02 ld (ix+1),&A
F         Nc ex de,hl    dec a  jp nz,lnloop    ld bc,512 add hl,bc ex de,hl  ld
 bc,128 add hl,bc ex de,hl    ld a,d or e jp nz,olloop  ret  rt Spectrum-sized s
creen from &4000 to &C000 (MODE 1)            org &8000          nolist         
   ld hl,&C00ldildildildildildi  ldildildildildildildildildildildildildildildild
i  ldildildildildildildildildildildildildildildildi  ldildildildildildildildildi
ldildildildildildildi    ld bc,16  ex de,hl add hl,b  *** SUBRCRTC register set 
   .crtcld a,b  ld b,&BC out (c),a  ld b,&BD out (c),c  ret    ld b,&BD out (c),
c        ld a,2 call &BC0E  ld hl,&4000 call &BC83 call &BC7A  ld hl,&3FFB+3 ld 
de,(height)  add hl,de  ld e,(hl) ld d,0 ld bc,0  dec hl dec hl dec hl res 6,h  
.divlpor a sbc hl,de inc bc  jr nz,divlp  ld a,e    ld de,&C000 ld hl,&4000  .mw
looppush af   push  bc push de ldir   pop   de pop  bc   ex de,hl call nline ex 
de,hl  pop af  dec a jr nz,mwloop ret  *** SUBRConvert A to upper case    .ucase
cp "a" ret c  cp "" ret nc  sub 32 ret        add &E0 ret   tails    db,olloop  
ret  rt Spectrum-sized screen from &4000 to &C000 (MODE 1)            org &8000 
         nolist            ld hl,&C00ldildildildildildi  ldildildildildildildild
ildildildildildildildildi  ldildildildildildildildildildildildildildildildi  ldi
ldildildildildildildildildildildildildildildi    ld bc,16  ex de,hl add hl,b  **
* SUBRPrint null-terminated string from HL    .stringld a,(hl)  or a ret z  call
 &BB5A inc hl jr string           yte hex print A    .hexprt ld b,2          ld 
c,a          rra rra          rra rra    .hexmsk and &F          cp 10 jr nc,hex
grt          add a,48 call &BB5A            0-9          jr hexbye    .hexgrt ad
d a,55 call &BB5A            A-F    .hexbye ld a,c          djnz hexmsk         
 ret   h 0, return          ld a,1 ret                     return, one parameter
   db  *** SUBRLoad Advanced Art Studio (uncompressed) window  file must already
 be open  uses &4000 as buffer    .winlodld a,2 call &BC0E  ld hl,&4000 call &BC
83 call &BC7A  ld hl,&3FFB+3 ld de,(height)  add hl,de  ld e,(hl) ld d,0 ld bc,0
  dec hl dec hl dec hl res 6,h  .divlpor a sbc hl,de inc bc  jr nz,divlp  ld a,e
    ld de,&C000 ld hl,&4000  .mwlooppush af   push  bc push de ldir   pop   de p
op  bc   ex de,hl call nline ex de,hl  pop af  dec a jr nz,mwloop ret  *** SUBRC
onvert Spectrum-sized screen  from &4000 to &C000 (MODE 1)    ld hl,&C000  ld de
,&4000  ld bc,&4000  push de push hl   ldir   ld a,1 call &BC0E  pop de pop hl  
  .olloopld a,24    .lnloopldildildildildildildildildildildildildildildildi  ldi
ldildildildildildildildildildildildildildildi  ldildildildildildildildildildildi
ldildildildildi  ldildildildildildildildildildildildildildildildi    ld bc,16  e
x de,hl add hl,b  INLOAD $$$ Advanced Art Studio window          file must alrea
dy be open          loads file at &4000    .winlod ld a,2ld a,2 call &BC0E  ld h
l,&4000 call &BC83 call &BC7A  ld hl,&3FFB+3 ld de,(height)  add hl,de  ld e,(hl
) ld d,0 ld bc,0  dec hl dec hl dec hl res 6,h  .divlpor a sbc hl,de inc bc  jr 
nz,divlp  ld a,e    ld de,&C000 ld hl,&4000  .mwlooppush af   push  bc push de l
dir   pop   de pop  bc   ex de,hl call nline ex de,hl  pop af  dec a jr nz,mwloo
p ret  Net 6,cBC1 set (read register)    .kloop ld b,&F6   out (c),cSend "read r
egister contents" signal to port C   ld b,&F4   in a,(c)Get the contents off por
t A   ld (hl),aPut in buffer   inc hl     inc cGo to next key block   ld a,c    
 and 15   cp 10      jr nz,kloopLast key block been reached yet  pop bcGet old s
tatus of port C  ld a,&82    out (c),aRestore control port  dec b       out (c),
cRestore port C    ld a,(keybuf+5)Get key data from block 5 of keyboard buffer  
cp &7FSet zero if space key  ret    .keybufds 10  keysc  ld hl,keybuff          
 address of buffer for keyboard block in a,(c)Get the contents off port A   ld (
hl),aPut in buffer   inc hl     inc cGo to next key block   ld a,c     and 15   
cp 10      jr nz,kloopLast key block been reached yet  pop bcGet old status of p
ort C  ld a,&82    out (c),aRestore control port  dec b       out (c),cRestore p
ort C    ld a,(keybuf+5)Get key data from block 5 of keyboard buffer  *** SUBRFa
de screen    .fadeld hl,&C000  .fadeolld bc,2340 ld de,7  push hl  .fadelp ld (h
l),0 add hl,de   dec bc ld a,b or c   jr nz,fadelp  pop hl  inc hl ld a,l  cp 7 
jr nz,fadeol  ret    push hl  .fadelp  ld (hl),0 add hl,de       ret   $$$ low s
creen to high screen    .fdel2h ld hl,&C000  .fde2ol ld bc,2340 ld de,7         
 push hl  .fde2lp  res 7,oppush af   push  bc push de ldir   pop   de pop  bc   
ex de,hl call nline ex de,hl  pop af  dec a jr nz,mwloop ret  *** SUBRHardware k
eyscan    .keyscld hl,keybufAddress of buffer for keyboard block data  ld bc,&F4
0E out (c),cPut 14 on PPI port A  ld b,&F6    in  a,(c)Get current status of por
t C  and &30Preserve status of cassette  ld c,a  and place value in C register  
or &C0      out (c),aWrite register       out (c),c  and quickly restore old sta
tus (NB 10ns)  inc b  ld a,&92    out (c),aControl word - port A input, port B i
nput  push bcPreserve old status of port C   s  *** SUBRFade low screen to high 
screen    .fdel2hld hl,&C000  .fde2olld bc,2340 ld de,7  push hl  .fde2lp res 7,
h ld a,(hl)   set 7,h ld (hl),a   add hl,de dec bc   ld a,b or c   jr nz,fde2lp 
 pop hl  inc hl ld a,l  cp 7 jr nz,fde2ol  ret   $$$ low screen to high screen  
  .fdel2h ld hl,&C000  .fde2ol ld bc,2340 ld de,7          push hl  .fde2lp  res
 7,oppush af   push  bc push de ldir   pop   de pop  bc   ex de,hl call nline ex
 de,hl  pop af  dec a jr nz,mwloop ret  NSubroutines    This side contains a sel
ection of subroutines I frequently call upon  for machine code programs. Many of
 them are far from the quickest  routines possible for such tasks the division a
nd multiplication  subroutines are particularly heavy-handed, for example, while
 even the  next screen line routine is quite slow.    However, they form a time-
saving programming resource, and I hope you  will find them as useful as I have.
 You are welcome to use them in  your own programs an acknowledgement that my co
de has been used would  be welcome.    Richard Fairhurst, October 1997      File
namePurpose    BANKS   .Read/write byte to extra memory  CRC     .CRC calculatio
n routine  CRTC    .Set CRTC register  DIVIDE  .Divide HL by BC, returning round
ed result in DE  FADEL2H .Fade low screen to high screen  FADESCR .Fade high scr
een to background  HEXINP1 .Input 1 hex byte  HEXINP2 .Input 2 hex bytes  INPUTF
  .Input filename  KEYSCAN .Scan all keys on keyboard  MODE1TO2.Convert M  *** S
UBRRead PSG register C into D  corrupts AF, BC    .rregdi  ld b,&F4 out (c),cPut
 register on port A  ld b,&F6 in a,(c)Get port C status  and &30  ld c,a  or &C0
   out (c),a"Write register" to port C    out (c),cRestore old status within 10n
s  inc b  ld a,&92 out (c),aSet control to port A input, port B input  push bc  
set 6,c   ld b,&F6 out (c),cSet BC1/BDIR to "read register contents"   ld b,&F4 
in d,(c)Get contents  pop bc  ld a,&82 out (c),aRestore con    *** SUBRNext line
 down from HL    .nlineld a,8 add h ld h,a  and 64 ret nz  ld bc,16304 sbc hl,bc
  ret     hl,bce,16304 or a sbc hl,de          pop de ret   e code source (c) Ri
chard Fairhurst 1993    org &9000  write "graphics.bin"  d 15   cp 10      jr nz
,kloopLast key block been reached yet  pop bcGet old status of port C  ld a,&82 
   out (c),aRestore control port  dec b       out (c),cRestore port C    ld a,(k
eybuf+5)Get key data from block 5 of keyboard buffertrol port  dec b    out (c),
cRestore port C  res 4,d  ei ret  er in C          on exit  - contents in D     
     corru6 in a,(c)Get port C status  and &30  ld c,a  or &C0   out (c),a"Write
 register" to port C    out (c),cRestore old status within 10ns  inc b  ld a,&92
 out (c),aSet control to port A input, port B input  push bc  set 6,c   ld b,&F6
 out (c),cSet BC1/BDIR to "read register contents"   ld b,&F4 in d,(c)Get conten
ts  pop bc  ld a,&82 out (c),aRestore con  *** SUBRHardware keyscan - space bar 
only    .keyscld bc,&F40E out (c),cPort A  - register 14  ld bc,&F645 ld a,&C5Po
rt C  - write   out (c),a   out (c),cPort C  - read    ld bc,&F792 out (c),cCont
rol - port A input  ld bc,&F645 out (c),cPort C  - read contents  ld b ,&F4   in
 a,(c)Port A  - read  ld bc,&F782 out (c),cControl - port A output  cp &7F ret  
   .keyscld bc,&F40E out (c),cport A  - register 14  ld bc,&F645 ld a,&C5port C 
 - write   out (c),a  *** SUBRWrite PSG register    .psgld b,&F4 out (c),aSet up
 register  ld b,&F6 in  a,(c)   or &C0   out (c),a   and &3F  out (c),a     ld b
,&F4 out (c),cSend data  ld b,&F6 ld c,a   or &80   out (c),a     out (c),c   re
t  $$$ r3ister    ld b,&F4 out (c),c  ld b,&F6 ld c,a  or &80  Restore control p
ort  dec b       out (c),cRestore port C    ld a,(keybuf+5)Get key data from blo
ck 5 of keyboard buffer  N  Pro-Ext v1.50  a RealWorld Coding production for Sen
tinel  font editor RSX library    v1.0      21 March 1993    org &8000  write "e
dit.bin"  nolist    *** Initialise RSXs    ld bc,comt  ld hl,wksp  jp &BCD1    .
wkspds 4    .comtdw  namet  jp  gridijp  invi  jp  loadijp  savei  jp  setijp  g
eti  jp  copyijp  widti  jp  redoijp  newi  jp  plotijp  rsxoi    .nametstr "GRI
D"str "INVERT"  str "LOAD"str "SAVE"  str "SET" str "GET"  str "COPY"soop ld hl,
gpattnew column  .crloop  ld a,(hl) ld (de),a inc hl inc denew row in character 
   ld a,(hl) ld (de),a inc hl dec de    ld a,8 add d ld d,a    bit 7,d jr nz,crl
oop   ld a,&C0 add d ld d,a   inc de inc de djnz ccloop  ld hl,32 add hl,de ex d
e,hl  dec c jr nz,coloop    ld hl,&C000 ld bc,48 ldircopy line to bottom    ld h
l,&C000 ld b,193  .cplooppush hl ld a,(hl)   ld de,48 add hl,de   and 128  ld (h
l),a  pop hl call &BC26  djnz cploop  ret    *** tr "WIDTH"  str "REDO"str "NEW"
  str "PLOT"str "RSXOFF"  db 0    *** INVERT,width,height    .invild hl,398 ld a
,(gsize)  ld e,(ix+0) ld d,(ix+1)  or a rl d rl e  or a sbc hl,de  or a sbc hl,d
e cp 4 jr z,invgy  or a sbc hl,de  or a sbc hl,de cp 2 jr z,invgy  or a sbc hl,d
e or a sbc hl,de  or a sbc hl,de or a sbc hl,de    .invgypush hl   ld l,(ix+2) l
d h,(ix+3)   add hl,hl   add hl,hl cp 4 jr z,invgx   add hl,hl cp 2 jr z,invgx  
 add hl,hl  .invgx ex de,hl  pop hl  push de push hl   call &BBC0   ld de,1 ld h
l,&FFFE call &BBF3Get current state (TESTR 1,-2)   push af ld de,&FFFF ld hl,2 c
all &BBC3   pop af xor 1 call &BBDEand invert pen accordingly   call squaredraw 
square  pop hl pop de  rr h rr l  call &BC1D res 0,lfind screen address    ld de
,gpatt ld b,8  .invclld a,(de) or (hl) ld (hl),a inc hl inc de  ld a,(de) or (hl
) ld (hl),a dec hl inc de  call &BC26 djnz invcl  ret    Subroutine to draw squa
reODE 1 screen to MODE 2  MK$PARAM.Make string parameter for RSX  MULTI   .Multi
ply HL by A  NLINE   .Go to next pixel line down  PDECA   .SPCPrint A as spaced 
decimal  PDECHL  .Print HL as unspaced decimal  PHEX    .Print A or HL as hex  P
SG     .Send sound chip register  PSTRING .Print string  READREG .Read sound chi
p register  SPCSCAN .Scan keyboard for space bar only  SPECCONV.Convert Spectrum
-sized screen  UCASE   .Convert A to upper case  WINLOAD .Load Advanced Art Stud
io window  Convert A box    .squareld a,(gnext) ld b,a rrc b rrc b  dec a ld (di
men1),a  neg   ld (dimen2),a  .sqlooppush bc   ld de,(dimen1) ld hl,0 call &BBF9
   ld de,0 ld hl,&FFFE call &BBC3   ld de,(dimen2) ld hl,0 call &BBF9   ld de,0 
ld hl,&FFFE call &BBC3  pop bc  djnz sqloop ret    .dimen1dw &0000  .dimen2dw &F
F00    *** GRID,width,height    Sizes...character maximum dimension  1x124  2x24
8  4x496    .gridild l,(ix+0) ld h,(ix+1)  ld e,(ix+2) ld d,(ix+3)  push hlPECCO
NV.Convert Spectrum-sized screen  UCASE   .Convert A to upper case  WINLOAD .Loa
d Advanced Art Studio window  R .Fade ODE 1 screen to MODE 2  MK$PARAM.Make stri
ng parameter for RSX  MULTI   .Multiply HL by A  NLINE   .Go to next pixel line 
down  PDECA   .SPCPrint A as spaced decimal  PDECHL  .Print HL as unspaced decim
al  PHEX    .Print A or HL as hex  PSG     .Send sound chip register  PSTRING .P
rint string  READREG .Read sound chip register  SPCSCAN .Scan keyboard for space
 bar only  S sbc hl,de pop hl  jr nc,gotbig  ex de,hl    .gotbigdec hl ld de,24H
L now contains largest  sbc hl,de jr c,ch1x1  sbc hl,de jr c,ch2x2  .ch4x4ld a,4
 ld (gsize),a  ld a,4 ld (gnext),a  ld hl,pat4x4 jr gotch  .ch2x2ld a,2 ld (gsiz
e),a  ld a,8 ld (gnext),a  ld hl,pat2x2 jr gotch  .ch1x1ld a,1 ld (gsize),a  ld 
a,16 ld (gnext),a  ld hl,pat1x1 jr gotch    .gotchld de,gpattstore appropriate p
attern  ld bc,16 ldir    ld de,&C000 ld c,&18  .coloopld b,&18new line  .ccl  N 
  call invi   ld l,(ix+2) ld h,(ix+3) add hl,hl   ld de,392 add hl,de   push hl 
   ld e,(ix+0) ld d,(ix+1) or a    ld hl,190 sbc hl,de sbc hl,de   pop de call &
BBEA   ld de,1 ld hl,0 call &BBED    .plot0 ld l,(ix+2) ld h,(ix+3) dec hl   ld 
(ix+2),l ld (ix+3),h ld a,h and l   cp &FF jp nz,plotl  pop hl  ld (ix+2),l ld (
ix+3),h  ld l,(ix+0) ld h,(ix+1) dec hl  ld (ix+0),l ld (ix+1),h ld a,h and l  c
p &FF jp nz,ploti  ret    *** SET,char,x,y,n%    .seticall c .rliolld d,0  .rlil
1push bc call gbbyte pop bc  ld (iy),a inc iy inc hl  inc d ld a,d cp e jr nz,rl
il1  .rlil2ld (iy),0 inc iy  inc d ld a,d cp (ix+2) jr nz,rlil2  dec c jr nz,rli
ol  jp copye    *** SAVE      file must already be open    .saveipush ix pop iy 
   ld hl,fileid ld b,10  .schklpld a,(hl) call &BC95  inc hl djnz schklp    ld a
,(height) call &BC95  ld a,(lastlf) call &BC95    ld b,32  .strslppush bc   ld a
,b call staddrfind start address   calalcxy ld c,a  ld a,(ix) or a jr nz,set1  l
d a,d cpl and c jp pbbyte  .set1ld a,d      or  c jp pbbyte    *** GET,char,x,y,
n%    .geticall calcxy  ld l,(ix) ld h,(ix+1)  and d jr z,pixel0  ld (hl),1 inc 
hl ld (hl),0 retPut into variable  .pixel0ld (hl),0 inc hl ld (hl),0 ret    +++ 
Subroutine to calculate xypos (returns addr HL, value A, mask D)    .calcxyld a,
(ix+6)  call staddr call gbbyte  ld e,a ld d,0  inc hl ld a,(ix+2)    .getiylcp 
7 jr c,getiscFind start l gbbyte ld d,a call &BC95copy "width" byte     ld a,(he
ight) ld b,a  .stoslp ld c,d  .stbslp inc hlcopy each character   push bc    cal
l gbbyte call &BC95   pop bc   dec c jr nz,stbslp   djnz stoslp  pop bc  inc b l
d a,123repeat until finished...!  cp b jr nz,strslp    call &BC8Fclose output fi
le  ret    *** LOAD,height      file must already be open    .loadipush ix pop i
y    ld c,255 ld b,10  .chklpcall &BC80  xor c ld c,a  djnz chklp    ld a,c ld c
,address (y)  sub 7 add hl,de jr getiyl    .getiscld e,(ix+4) ld d,(ix+5)Find st
art address (y+x)  add hl,de  ld d,64Calculate bitwise value  .clcbitor a jr z,g
otbit  rrc d dec a jr clcbit    .gotbitjp gbbyteGet byte    *** RSXOFF    .rsxoi
ld hl,(&BCD2) res 7,h  call &B906lower ROM on  inc hl inc hl inc hl  ld e,(hl) i
nc hl  ld d,(hl) push de ex de,hlHLworkspace pointer   ld e,(hl) inc hl   ld d,(
hl) ex de,hlHLaddress of RSX workspace   ld e,(hl) inc hl1  cp 240 jp nz,lderr  
  call &BC80 ld (height),a  call &BC80 ld (lastlf),a    ld b,32    .strlppush bc
   ld a,b call staddrfind start address   call &BC80 call pbbyteput byte   ld d,
a     ld a,(height) ld b,a  .stolp ld c,d  .stblp inc hl   push bc call &BC80 ca
ll pbbyte pop bc   dec c jr nz,stblp   djnz stolp    pop bc  inc b ld a,123  cp 
b  jr nz,strlp  call &BC7Aclose input file    ld hl,0 ld a,(height)calculate hei
ght  dec a   jr z,lastht  ld e,a  lNEW,height,lastlf,char    .newild a,(ix+4)  l
d (height),a  ld a,(ix+2)  ld (lastlf),a  ld hl,buffer ld de,buffer+1  ld bc,511
    ld (hl),0 ldir  ld hl,buffer ld (hl),4  jr copye    *** COPY,from,to    .cop
yild a,(ix+2) call staddr  ld a,h rlca rlca and 3 add &C4  ld b,&7F out (c),a re
s 7,h set 6,h  ld de,buffer ld bc,512 ldir    .copyeld a,(ix+0) call staddr  ld 
a,h rlca rlca and 3 add &C4  ld b,&7F out (c),a res 7,h set 6,h  ex de,hl ld hl,
buffer ld bc,512 ld d,0  ld b,7  .multladd hl,de  djnz multl    .lasthtld a,(las
tlf)  ld e,a ld d,0 add hl,de  ex de,hl  ld l,(iy) ld h,(iy+1)place in variable 
 ld (hl),e inc hl  ld (hl),d ret    .lderrcall &BC7D ret    *** WIDTH,char,n%   
 .widtild a,(ix+2)  call staddr call gbbyte  ld l,(ix+0) ld h,(ix+1)  ld (hl),a 
  inc hl  ld (hl),0   ret    *** PLOT,char,x,y    .plotild l,(ix+2) ld h,(ix+3) 
 push hl  .plotl dec ix dec ix call calcxy   inc ix inc ix   and d jr z,plot0  d
ir    ld bc,&7FC0 out (c),c ret    *** REDO,width,character    .redoild iy,buffe
r ld a,(ix+2)  ld (iy),a inc iy    ld a,(ix+0) call staddr  call gbbyte inc hl  
cp (ix+2) ret zReturn if width the same  jr c,larger    ld bc,(height)New one sm
aller  ld e,a ld d,0  .rsiolpush hl   ld b,(ix+2)  .rsilp push bc call gbbyte po
p bc   ld (iy),a inc iy inc hl   djnz rsilp  pop hl add hl,de  dec c jr nz,rsiol
  jp copye    .largerld bc,(height)New one larger  ld e,a   N  ld d,(hl) pop ixD
Eaddress of next RSX workspace  ld (ix),e ld (ix+1),dupdate workspace pointer  c
all &B90Crestore ROM state  ret    *** Subroutines    +++ Get byte from HL in se
cond 64k (corrupts BC)    .gbbytepush hl     ld a,h   rlca rlca   and 3 add &C4 
    ld b,&7F   out (c),a     res 7,h set 6,h   ld a,(hl)    pop hl  ld bc,&7FC0 
out (c),c  ret    +++ Put byte to HL in second 64k (corrupts BC)    .pbbytepush 
hl push af   ld a,h   rlca rlca   and 3 add &C4 3 jp z,mright  cp 244 jp z,lup  
cp 245 jp z,ldown  cp 246 jp z,lleft  cp 247 jp z,lright  jp editlp    .mdownld 
hl,(etop)dec hldec hlcall tcheck ld (etop),hl   jp vbline  .mupld hl,(ebottm)inc
 hlinc hlcall bcheck ld (ebottm),hl jp vbline  .mrightld de,(eleft)inc decall lc
heck ld (eleft),de  jp hbline  .mleftld de,(eright)dec decall rcheck ld (eright)
,de jp hbline    .ldownld hl,(etop)inc hlinc hlcall tcheck ld (etop),hl   dec hl
 dec hl jp vrline  .lupl  ld b,&7F out (c),a   res 7,h set 6,h  pop af ld (hl),a
 pop hl  ld bc,&7FC0 out (c),c  ret    +++ Find start address of character A in 
HL (corrupts A)    .staddrsub 32  ld l,a ld h,0  add hl,hl add hl,hl add hl,hl a
dd hl,hl  add hl,hl add hl,hl add hl,hl add hl,hl  add hl,hl  ret    *** Data   
 .fileiddb "Font file",26    +++ Pattern data    .pat1x1db 136,136,0,0,128,000,0
,0,128,000,0,0,128,000,0,0  .pat2x2db 136,136,0,0,128,128,0,0,136,136,0,0,128,12
8,0,0  .pat4x4db 136,13d hl,(ebottm)dec hldec hlcall bcheck ld (ebottm),hl inc h
l inc hl jp vrline  .lrightld de,(eleft)dec decall lcheck ld (eleft),de  inc de 
        jp hrline  .lleftld de,(eright)inc decall rcheck ld (eright),de dec de  
       jp hrline    .vblineld de,(eleft)  push hl call &BBC0 pop hl  ld de,(erig
ht) call &BBF6 jp editlp  .hblineld hl,(etop)  push hl call &BBC0 pop de  ld hl,
(ebottm) or a sbc hl,de  ld de,0 call &BBF9 jp editlp    .vrlinepush hl   ld de,
0 srl h6,0,0,136,136,0,0,136,136,0,0,136,136,0,0    *** Variables    .gsizedb 1g
rid size (1,2,4)  .gnextdb 8addition for next position  .gpattds 16pattern data 
 .heightdb 0height DIV 7  .lastlfdb 0height MOD 7  .bufferds 512copy character b
uffer  rld Coding production for Sentinel  font editor RSX library    v1.0      
21 March 1993    org b 136,136,0,0,128,000,0,0,128,000,0,0,128,000,0,0  .pat2x2d
b 136,136,0,0,128,128,0,0,136,136,0,0,128,128,0,0  .pat4x4db 136,13 rr l call &B
C1D push hl pop de   res 7,h ld bc,80 ldir  pop hl  ld de,&FFFFpush hl call &BBC
0 pop hl  ld de,(eleft)push hl call &BBF6 pop hl  ld de,(eright)push hl call &BB
C0 pop hl  ld de,640call &BBF6  jp editlp    .hrlineld hl,(etop) srl h rr l dec 
hl  push de   ld de,(ebottm) srl d rr e   push hl    or a sbc hl,de    ld a,l   
 or a jp z,chfai2   pop hl  pop de  push af   call &BC1D   ld a,c  pop bc  ld c,
a  .hrlnlpres 7,h ld a,(hl) and c  set 7,h jr   Pro-Ext graphics conversion util
ity  Machine code source (c) Richard Fairhurst 1993    org &9000  write "graphic
s.bin"  nolist    ld hl,wkspSet up RSXs  ld bc,comt  jp &BCD1    .wkspds 4Chain 
link workspace    .comtdw nametCommand table  jp wrcut  jp m1to2  jp cpyh2l  jp 
cpyl2h  jp winlod  jp scrlod  jp mfclod  jp fade  jp fdel2h  jp edit  jp cat  jp
 openoi  jp openii  jp rsxoff    .nametstr "WRCUT"Name table  str "MODE1TO2"  st
r "COPYH2L"  str "COPYL2H" nz,npbyte  ld a,c cpl and (hl)  ld (hl),a  .npbytecal
l nline  djnz hrlnlp  jp editlp    .tcheckld de,(ebottm)  ld a,h cp &01 jr nz,tc
nolm ld a,l cp &92 jr z,chfail  .tcnolmld a,h cp d   ret nz       ld a,l cp e   
ret nz  jr chfail    .bcheckld de,(etop)  ld a,h cp &FF jr nz,bcnolm ld a,l cp &
FC jr z,chfail  .bcnolmld a,h cp d   ret nz       ld a,l cp e   ret nz  jr chfai
l    .lcheckld hl,(eright)  ld a,d cp &FF jr nz,lcnolm ld a,e cp &FE jr z,chfail
  .lcnolmld a,d str "WINLOAD"  str "SCRLOAD"  str "MFCLOAD"  str "FADESCR"  str 
"FADEL2H"  str "EDIT"  str "CAT"  str "OPENOUT"  str "OPENIN"  str "RSXOFF"  db 
0    EDIT,left,right,top,bottom    .editld hl,&FFFF ld (eleft) ,hl  ld hl,640   
ld (eright),hl  ld hl,400   ld (etop)  ,hl  ld hl,&FFFE ld (ebottm),hl    ld a,1
 call &BBDE  ld a,2 call &BC0E  call fdel2h    .editlpcall &BB18  cp 224jp z,eex
it  cp 13jp z,eexit  cp 240 jp z,mup  cp 241 jp z,mdown  cp 242 jp z,mleft  cp 2
4   N         &BC83 call &4000compressed  jp &BC7A    MFCLOAD,result%,filename$ 
   .mfclodcall openin    ex de,hl call &BC83 call &BC7A  ld a,2 call &BC0E  call
 &8000  ld a,(&8088) and 3 cp 2  ret z  di exx   res 0,c set 1,c  exx ei  call m
1to2  ret    WRCUT,width,depth,result%,filename$    .wrcutcall openo    ld l,(ix
+4) ld h,(ix+5)  ld e,(ix+6) ld d,(ix+7)    dec hl  ld (depth),hl  dec hl dec hl
    ld a,l call &BC95  ld a,h call &BC95    push de   dec de dec de   ld a,e sto
re ROM state  ret    *** Open output file (should be first CALL)  result is 0 if
 unsuccessful, 1 if ok    .openoicall openo  ret    .openocall &BC92    ld l,(ix
) ld h,(ix+1)  ld b,(hl) inc hl  ld e,(hl) inc hl  ld d,(hl) ex de,hl  ld de,buf
f push ix  call &BC8C pop ix    jr c,succ  ld l,(ix+2) ld h,(ix+3)  ld (hl),0 in
c hl  ld (hl),0 pop hl  ret    .osuccld l,(ix+2) ld h,(ix+3)  ld (hl),1 inc hl  
ld (hl),0 ret      *** Open input file (should be first CALL)  result icall &BC9
5   ld a,d call &BC95  pop de    ld a,d   and 3   sla a sla a sla a   sla a sla 
a  ld d,a    ld a,e   srl a srl a srl a   or d  ld b,a  inc b    call &BBC6  ld 
(xpos),de  ld (ypos),hl  ld (length),bc    .olooppush bc   dec de   call &BBC0  
pop bc    .ilooppush bc   ld b,8  .tloop ld de,1 ld hl,0   push bc    push af   
  call &BBF3 ld c,a    pop af    sla a or c   pop bc   djnz tloop   call &BC95  
  pop bc  djnz iloop    ld de,(xpos)   ld hl,(ypos)   dec  cp h   ret nz       l
d a,e cp l   ret nz  jr chfail    .rcheckld hl,(eleft)  ld a,d cp &02 jr nz,rcno
lm ld a,e cp &81 jr z,chfail  .rcnolmld a,d cp h   ret nz       ld a,e cp l   re
t nz  jr chfail    .chfai2pop hl  .chfailpop hl jp editlp    .eexitld de,(eleft)
inc de ld l,(ix+6) ld h,(ix+7) ld (hl),e inc hl ld (hl),d  ld de,(eright)dec de 
ld l,(ix+4) ld h,(ix+5) ld (hl),e inc hl ld (hl),d  ld de,(etop)dec dedec deld l
,(ix+2) ld h,(ix+3) ld (hl),e inc hl ldhl dec hl   ld (ypos),hl  ld bc,(length) 
 ld hl,(depth)  dec hl  ld a,h or l jr z,qwrcut  dec hl  ld (depth),hl  ld a,h o
r l  ld hl,(ypos)  jr nz,oloop  .qwrcutjp &BC8F    .xposdw 0  .yposdw 0  .length
dw 0  .depthdw 0    MODE1TO2    .m1to2ld hl,&C000    +++ Main loop    .mloopld c
,(hl)  call routne  ld (hl),d    inc hl  ld a,h or a jr nz,mloop  ret    +++ Sub
routine    .routneld d,0  ld b,4    .loopld a,c  and 17  rrc c    or a  jr z,ase
t    cp 16 jr nz,not16  ld (hl),d  ld de,(ebottm)inc de inc deld l,(ix+0) ld h,(
ix+1) ld (hl),e inc hl ld (hl),d  ret    .eleftdw 0  .erightdw 0  .etopdw 0  .eb
ottmdw 0      CAT    .catld de,buff  jp &BC9B    COPYH2L    .cpyh2lld de,&4000  
ld hl,&C000  ld bc,&4000  ldirret    COPYL2H    .cpyl2hld de,&C000  ld hl,&4000 
 ld bc,&4000  ldirret    FADEL2H    .fdel2hld hl,&C000  .fde2olld bc,2340 ld de,
7  push hl  .fde2lp res 7,h ld a,(hl)   set 7,h ld (hl),a   add hl,de dec bc   l
d a,b a,3  jr aset    .not16cp 1  jr z,aset  ld a,2    .asetor d  rrca rrca  ld 
d,a  djnz loop    ret    WINLOAD,result%,filename$    .winlodcall openin    ld a
,2 call &BC0E  ld hl,&4000 call &BC83 call &BC7A  ld hl,&3FFB+3 ld de,(height)  
add hl,de  ld e,(hl) ld d,0 ld bc,0  dec hl dec hl dec hl res 6,h  .divlpor a sb
c hl,de inc bc  jr nz,divlp  ld a,e    ld de,&C000 ld hl,&4000  .mwlooppush af  
 push bc push de    ldir   pop de pop bc   ex de,hlnext screen line or c   jr nz
,fde2lp  pop hl  inc hl ld a,l  cp 7 jr nz,fde2ol  ret    FADESCR - just for fun
!    .fadeld hl,&C000  .fadeolld bc,2340 ld de,7  push hl  .fadelp ld (hl),0 add
 hl,de   dec bc ld a,b or c   jr nz,fadelp  pop hl  inc hl ld a,l  cp 7 jr nz,fa
deol  ret    SCRLOAD,result%,filename$    .scrlodcall openin    push bc   ld a,2
 call &BC0E  pop hl  ld de,16256 or a sbc hl,de  jr c,scompr  ld hl,&C000 call &
BC83 jp &BC7Anot compressed  .scomprld hl,&4000 call  please    call nline   ex 
de,hl  pop af  dec a jr nz,mwloop  ret    RSXOFF  (c) CRTC of Discovery for Real
World Coding    .rsxoffld hl,(&BCD2) res 7,h  call &B906lower ROM on  inc hl inc
 hl inc hl  ld e,(hl) inc hl  ld d,(hl) push de ex de,hlHLworkspace pointer   ld
 e,(hl) inc hl   ld d,(hl) ex de,hlHLaddress of RSX workspace   ld e,(hl) inc hl
  ld d,(hl) pop ixDEaddress of next RSX workspace  ld (ix),e ld (ix+1),dupdate w
orkspace pointer  call &B90Cre  N0 out (c),c  pop bc ret      Print message (all
 rows)    .printld a,(height) ld l,a  ld a,(lastlf) add a,l  ld hl,noftxt  or a 
jp z,string    ld a,(pblong)  ld hl,partxt  or a jp z,string    ld a,13 call pch
ar  ld a,0 ld (row),a    .pralppush bc   bit 0,b call nz,ctab   call print1     
ld a,13  call pchar   ld a,esc call pchar   ld a,"J" call pchar     ld a,(height
)   dec a   ld hl,row   inc (hl)   cp (hl) jr nc,do7lf     If last time around  
   ld a,(ptype)   or a jr z,ldraft    .lnlq ld hl,rowlast time, NLQ   dec (hl)  
   ld a,1 call pchar  pop bc  bit 0,b call nz,ctab  call print1    ld a,13 call 
pchar  ld a,esc call pchar  ld a,"J" call pchar  ld a,(lastlf) dec a call pchar 
 ret    .ldraftld a,(lastlf)  call pcharlast time, draft  pop bc ret     If not 
last time    .do7lf ld a,(ptype)   or a jr z,draftdraft or NLQ    .nlq ld hl,row
NLQ,   dec (hl)so go back to row just done     ld a,1 call pchar  pop bc push bc
   b  Pro-Ext v1.50 routines  (c) 1993 Richard Fairhurst    org &9400  write "pr
o-ext.bin"  nolist    escequ 27    Initialise system    .initld a,(&BD2B)  cp &C
3  ret zreturn if already initialised    ld ix,&BD2Bredirect printer jump  ld iy
,orig  ld hl,predr    ld a,(ix)   ld e,(ix+1) ld d,(ix+2)  ld (iy),a   ld (iy+1)
,e ld (iy+2),d  ld (ix),&C3 ld (ix+1),l ld (ix+2),h    ld hl,wksp  ld bc,comt  j
p &BCD1initialise RSX    RSX command table    .comtdw namet  jp pxhelpit 0,b cal
l nz,ctab   call print1do it again     ld hl,row   inc (hl)and onto next row!   
  ld a,13 call pchar   ld a,esc call pchar   ld a,"J" call pchar   ld a,20 call 
pchardo the LF bit  pop bc  jp pralpand loop    .draftld a,21 call pcharif draft
 quality  pop bc  jp pralploop    Print message from parameter block (one row)  
  .print1call calcln xor a  bit 7,l jr z,noprob  ld a,2 res 7,l    .noprobld (xt
64),a  ld (column),hl    ld a,esc        call pchar      .nametstr "PXHELP"  db 
0    Load font into memory    .loadld hl,pblock  ld a,(pblong) ld b,a  ld de,&40
00  call sBC77open file  jp nc,lderr    ld c,255  ld b,10  .chklpcall sBC80  xor
 c ld c,a  djnz chklp    ld a,c ld c,1  cp 240 jp nz,lderr    call sBC80  ld (he
ight),a    call sBC80  ld b,a  add a,a add a,baa*3  ld (lastlf),a    ld b,32    
.strlppush bc     ld a,b   call staddrfind start address   call sBC80   call pbb
yteput byte   ld d,a     ld a,(s 0 if unsuccessful, 1 if ok    .openiicall openi
n  ret    .openincall &BC7D    ld l,(ix) ld h,(ix+1)  ld b,(hl) inc hl  ld e,(hl
) inc hl  ld d,(hl) ex de,hl  ld de,buff push ix  call &BC77 pop ix    jr c,succ
  ld l,(ix+2) ld h,(ix+3)  ld (hl),0 inc hl  ld (hl),0 pop hl  ret    .succld (h
eight),bc  ld l,(ix+2) ld h,(ix+3)  ld (hl),1 inc hl  ld (hl),0 ret    *** Next 
line down from HL    .nlineld a,8 add h ld h,a  bit 6,a ret nz  push de   ld de,
16304 or a sbc hl,de  height)   ld b,a    .stolp ld c,d  .stblp inc hl   push bc
    call sBC80    call pbbyte   pop bc   dec c   jr nz,stblp   djnz stolp    pop
 bc  inc b  ld a,123  cp b  jr nz,strlp    call sBC7Aclose input file  ret    .s
BC77push bc ld bc,&7FC7 out (c),c pop bc  call &BC77  push bc ld bc,&7FC0 out (c
),c pop bc  ret  .sBC7Apush bc  ld bc,&7FC7 out (c),c call &BC7A  ld bc,&7FC0 ou
t (c),c  pop bc ret  .sBC80push bc  ld bc,&7FC7 out (c),c call &BC80  ld bc,&7FC
pop de ret    .heightdw 0Height  .buffds 2048File buffer  d Fairhurst 1993    or
g &9000  write "graphics.bin"  ld e,(hl) inc hl  ld d,(hl) ex de,hl  ld de,buff 
push ix  call &BC77 pop ix    jr c,succ  ld l,(ix+2) ld h,(ix+3)  ld (hl),0 inc 
hl  ld (hl),0 pop hl  ret    .succld (height),bc  ld l,(ix+2) ld h,(ix+3)  ld (h
l),1 inc hl  ld (hl),0 ret    *** Next line down from HL    .nlineld a,8 add h l
d h,a  bit 6,a ret nz  push de   ld de,16304 or a sbc hl,de    Nld a,(pgmode)   
call pchar  ld a,(column)   call pchar  ld a,(column+1) call pchar    ld ix,pblo
ck  ld a,(pblong) ld b,a    .opclppush bc     ld a,(row) ld b,a   ld a,(ix)   ca
ll stradd    .pcloop call gbbyte   call prbyte   inc hl   dec e jr nz,pcloop    
pop bc  inc ix  djnz opclp    ret    Print byte    .prbytepush hl push af   ld h
l,(column)   dec hl   ld a,h and l   cp &FF jr nz,updcol     ld a,esccall pchar 
  ld a,(pgmode)call pchar   ld a,64call pchar   ld af parameter block    push af
   ld a,(wchar)   or a jr nz,chkwaiwaiting for character  pop af  jp orig    .ch
kwai ld (cpachr+1),a  Check if character is "expected"!  pop af  .cpachrcp &FFco
mpare with character being waited for  jr z,gotwaithe same  push af   xor a ld (
wchar),aif not, cancel wait  pop af  jp origand go and print character    .gotwa
icp 13CR  jr z,gotcr  xor a ld (wchar),a  scf ret    .gotcrld a,10 ld (wchar),an
ow wait for LF!  scf ret  ,0call pchar   ld hl,63    .updcol ld (column),hl  pop
 af call pchar pop hl  ret    Load file error routine    .lderrld hl,ldetxt  jp 
string    Get byte from HL in second 64k (corrupts BC)    .gbbytepush hl     ld 
a,h   rlca rlca   and 3 add &C4     ld b,&7F   out (c),a     res 7,h set 6,h   l
d a,(hl)    pop hl  jp rstbnk    Put byte to HL in second 64k (corrupts BC)    .
pbbytepush hl push af   ld a,h   rlca rlca   and 3 add &C4   ld b,&7F out (c),a 
  res 7,h set 6,h   .addblcpop af  Add to parameter block  cp 129  jp z,docomEnd
 of parameters  push hl   ld hl,(pbloc) ld (hl),aStore character in parameter bl
ock   inc hl  ld (pbloc),hl     ld a,(pblong) inc aIncrease parameter block leng
th   cp &81 jr nz,notovr   ld hl,ovrtxt call string"Overflow" error   xor a ld (
inop),aStop capturing!  .notovr ld (pblong),a  pop hl  scf ret    .letsgold a,1 
 Start capturing characters  ld (inop),a  ld a,0 ld (pblong),a  push hl   pop af
 ld (hl),a pop hl  jp rstbnk    Restore banks (corrupts BC)    .rstbnkld bc,&7FC
0  out (c),c ret    Find start address of character A in HL (corrupts A)    .sta
ddrsub 32  ld l,a ld h,0  add hl,hl add hl,hl add hl,hl add hl,hl  add hl,hl add
 hl,hl add hl,hl add hl,hl  add hl,hl  ret    Find start address of character A,
 row B, in HL (width in DE)    .straddcall staddr  push bc   call gbbyte  pop bc
  inc hl  ld e,a ld d,0  ld a,b  or a ret z  .moveonadd hl,de  djnz ld hl,pblock
 ld (pbloc),hl  pop hl  scf ret    .docomld a,2  Do command next time  ld (inop)
,a  scf ret    .execomxor a  Execute command  ld (inop),a  pop af  cp "F" jp z,c
load  cp "H" jp z,chead  cp "h" jp z,chden  cp "C" jp z,cheac  cp "A" jp z,cclip
  cp "a" jp z,cclop  cp "R" jp z,crlln  cp "r" jp z,crlop  cp "P" jp z,cpage    
push hl   ld hl,ukctxt call string"Unknown command"!  pop hl  scf ret    .cloadp
ush bc push de "F" - Load moveon  ret    Calculate length of string into HL    .
calclnld hl,0  ld ix,pblock  ld a,(pblong) ld b,a    .clclpld a,(ix)  push hl pu
sh bc   ld b,0 call stradd  pop bc pop hl  add hl,de    inc ix  djnz clclp  ret 
   Centre spacing    .ctabcall calcln  ex hl,de ld hl,840  sbc hl,de srl h rr l 
 jp doctab    .doctabbit 7,l jr z,ctabok  ld a,esc call pchar  ld a,"Y" call pch
ar  ld a,127 call pchar  ld a,0   call pchar  ld b,127  .ctab6lxor a call pchar 
 djnz ctab6l   headline font  push hl push ix   call load  pop ix pop hl  pop de
 pop bc  jp absorb    .cheadpush bc push de "H" - Print headline  push hl push i
x   ld b,0 call print  pop ix pop hl  pop de pop bc  jp absorb    .cheacpush bc 
push de "C" - Print centred headline  push hl push ix   ld a,(pgmode)   push af 
   ld a,"L" ld (pgmode),a    ld b,1 call print   pop af   ld (pgmode),a  pop ix 
pop hl  pop de pop bc  jp absorb    .chdenpush af push bc "h" - Set heres 7,l   
 .ctabokld a,esc call pchar  ld a,"Y" call pchar  ld a,l   call pchar  ld a,h   
call pchar  .ctabolxor a call pchar  dec hl ld a,h or l  jr nz,ctabol  ret    Pr
int character    .pcharpush bc   ld c,a  .pcharl call orig   ld a,c jr nc,pcharl
  pop bc  ret    Original &BD2B call    .origds 3    Print character redirection
    .predrpush af   ld a,(inop)   cp 1 jr z,addblcadd to parameter block   cp 2 
jr z,execomcommand  pop af    cp 128 jp z,letsgostart o   N         ar  dec hl d
ec de  ld a,d or e  jr nz,pmllp    .plblpld a,0 call pchar  dec hl  ld a,h or l 
 jr nz,plblp    ld a,13 call pchar  scf ret    .cpageld a,11 call pchar "P" - Pa
ge break  ld hl,(pbloc) dec hl  ld a,(hl)  bit 0,a call nz,bline    ld hl,pblock
  ld a,(pblong) ld b,a  .pnolpld a,(hl) call pchar  inc hl djnz pnolp    ld hl,(
pbloc) dec hl  ld a,(hl)  bit 0,a call z,bline2    ld a,12 call pchar  jp absorb
    .blineld a,esc call pchar  ld a,"-" call pch  ld a,"J" call pchar  ld a,(clg
ap) call pchar  ld a,13 call pchar  call domarg  jr sloop    Plot point if not a
t end of line    .plotdec de  push af   ld a,d or e jr nz,same   xor a ld (newli
ne),a   ld de,1  pop af  res 7,a  push af    .same call quadc  pop af  push bc  
 ld c,0   rl a jr nc,dosend  .is1 ld bc,(bitpat) ld c,(bitpat)  .dosend push af 
   ld a,c    call pchar   pop af  pop bc  ret    .quadcld a,(bcount) cp 64  jr n
z,ibcnt    ld a,esc call pchar  ldar  ld a,1   call pchar    ld a,(pblong) ld b,
a  ld a,70 sub b ld b,a  .blloopld a,32 call pchar  djnz blloop    ld a,esc call
 pchar  ld a,"-" call pchar  ld a,0   call pchar    ld a,esc call pchar  ld a,"J
" call pchar  ld a,12  call pchar  ret    .bline2ld a,(pblong)  ld h,0 ld l,a  a
dd hl,hl add hl,hl  ld d,h ld e,l add hl,hl  add hl,de ex hl,de  ld hl,840 sbc h
l,de    bit 7,l jr z,b2ok7  ld a,esc call pchar  ld a,"Y" call pchar  ld a,127 c
all pchar  ld a,0   cadline options (1width, 2NLQ)  push de push hl   call cpara
m   ld a,(pstore)   cp 1 jr z,sngwdth   ld a,"K" jr putden  .sngwdth ld a,"L"  .
putden ld (pgmode),a     ld a,(pstore+1)   and 1   ld (ptype),a  pop hl pop de  
pop bc pop af  jp absorb    .cclippush bc "A" - Print clip art  push de push hl 
 push ix push iy   call clip  pop iy pop ix  pop hl pop de  pop bc  jp absorb   
 .ccloppush bc "a" - Set clip art options  push de push hl   call cparam   ld a,
(all pchar  ld b,127  .b2lpld a,8 call pchar  djnz b2lp  res 7,l    .b2ok7ld a,e
sc call pchar  ld a,"Y" call pchar  ld a,l   call pchar  ld a,h   call pchar  .b
2olpld a,8 call pchar  dec hl ld a,h or l  jr nz,b2olp  ret        Absorb next C
R/LF and return    .absorbld a,13  ld (wchar),a  scf ret        Print Stop Press
 clip art file    .clipld hl,pblock  ld a,(pblong) ld b,a  ld de,&4000  call sBC
77open file  jp nc,lderr    call sBC80 ld l,a  call sBC80 ld h,a pstore)   cp 1 
jr z,asngwth   cp 2 jr z,adblwth   cp 4 jr z,aquawth  .asngwth ld a,"Z" jr aputw
th  .adblwth ld a,"L" jr aputwth  .aquawth ld a,"K" jr aputwth  .aputwth ld (clt
ype),a     ld a,(pstore+1)   add a   ld (clgap),a     ld a,(pstore+2)   ld (bitp
at),a     ld a,(pstore+3)   ld (margin),a  pop hl pop de  pop bc  scf ret    .cr
loppush bc "r" - Set ruler line options  push de push hl   call cparam   ld a,(p
store)   ld (rlwid),a   ld a,(pstore+1)   ld (rlbit),a  pop srl h rr ldivide by 
2  inc hlinc hl  call artpmsset up progress meter  push hlwill be retrieved late
r by "pop iy"   call sBC80 ld e,a   call sBC80 ld d,a   inc de inc de inc de  po
p iy  ld a,13  call pchar    .slooppush de   ld a,64 ld (bcount),asent 64 bytes 
- send ESC code    .loop call sBC80   ld b,8  .ploop call plot djnz ploop   ld a
,(newline) or a jr nz,looploop if new line not needed     New line needed... fin
ish off graphics command with zeros     l hl pop de  pop bc  scf ret    .crllnld
 a,esc call pchar "R" - Print ruler line  ld a,"Y" call pchar  ld a,&48 call pch
ar  ld a,&03 call pchar    ld hl,840    push hl   ld a,(rlwid) ld l,a ld h,0   a
dd hl,hl add hl,hl   ex hl,de ld hl,840   sbc hl,de ex hl,de   srl d rr e  pop h
l    .poblpld a,0 call pchar  dec hl dec de  ld a,d or e  jr nz,poblp    push hl
   ld a,(rlwid) ld l,a ld h,0   add hl,hl add hl,hl   ex hl,de  pop hl    .pmllp
ld a,(rlbit) call pchd a,(bcount)  .fbuffr cp 64 jr z,allsnt   push af    xor a 
call pchar   pop af inc a   jr fbuffr    .allsnt ld a,255 ld (newline),adon't ne
ed new line     ld a,(artcnt) or a jr nz,nopchrprogress meter handling   ld a,14
3 call &BB5A   xor a  .nopchr inc a and 7 ld (artcnt),a     dec iy   db &FD ld a
,h   db &FD or l  pop de jr nz,notfinFinished whole lot yet  ld a,10 call &BB5AY
es - CR, close file, quit  ld a,13 call &BB5A  jp sBC7A    .notfinld a,esc call 
pchar  Ng number of parameters",13,10,0  .ovrtxtdb "PRO-EXT parameter overflow",
13,10,0  .arttxtdb "PRO-EXT printing clip art  ",0    .helpbgdb 4,2,"PRO-EXT v1.
50                        ",164,"1993 Richard Fairhurst",10,13,10,0  .helpendb 1
0,"For a list of commands, type PXHELP.",13,10,10,0  chard Fairhurst    org &940
0  write "pro-ext.bin"  nolist    escequ 27    Initialise s,0  .ukctxtdb "PRO-EX
T unknown command",13,10,0  .noftxtdb "PRO-EXT font file not loaded",13,10,0  .p
artxtdb "PRO-EXT wrondispld hl,helpen call string  .qndispld bc,&7FC0 out (c),c 
 ret    .hnfounld bc,&7FC0 out (c),c  ld hl,ukctxt jp string    Print string on 
screen    .stringld a,(hl) or a ret z  call &BB5A inc hl jr string    Convert pa
rameters from "pblock" (ASCII) into "pstore" (values)    .cparamld a,(pblong) ld
 b,a  ld hl,pblock ld de,pstore  ld c,0    .cprmlpld a,(hl)  cp "," jr z, putchr
  cp "0" jr c, nxtchr  cp "" jr nc,nxtchr  rlc c ld a,c  rlc c rlc c  add c ld c
,aCC*10    ld a,(hl) sub 48  add c ld c,a    .nxtchrinc hl djnz cprmlpnext chara
cter and loop  ld a,c ld (de),a retif run out, put last parameter in and end!   
 .putchrld a,c ld c,0store value and blank it for next time  ld (de),a inc de   
inc hl djnz cprmlpgo onto next character  retunless all characters used    Data 
   .pblockdb "OFFICE.FNT" ds &74128-byte parameter block  .pblongdb 10length of 
parameter block  .pblocdw pblocklocation in parameter block  .inopdb 0p  *** BBS
.MOD ***     SCAN command    .scanicall buffc  ld c,2  cp 3  jp c,error    dec a
 dec a  call rfname    ld l,(ix) ld h,(ix+1)  ld a,(iy+72)files to send  ld (hl)
,a  inc hl ld (hl),0    ld l,(ix+2) ld h,(ix+3)  ld e,(iy+73) ld d,(iy+74)k to s
end  ld (hl),e  inc hl ld (hl),d  ret     BCLEAR command    .bclrild a,&C4  .bcl
rlpld b,&7F  out (c),a  ld hl,&4000  ld de,&4001  ld bc,&3fff  ld (hl),0 ldir  i
nc a cp &C8  jr nz,bclrlp  call rstbnk    xor a arameter block in operation (1/2
)  .heightdb 0height of characters  .lastlfdb 0number to line feed at last LF  .
rowdb 0current character row  .xt64db 0extra 64-byte blocks to send  .columndw 0
number of columns to send  .pgmodedb "L"double density for fonts  .ptypedb 0draf
t (0) or NLQ (1) font  .clgapdb 22 line feed for clip art  .cltypedb "Z"quad den
sity for clip art  .bitpatdb 1bit pattern for clip art  .margindb 0margin for cl
ip art  .rlbitdb %10100 a,(cltype) call pchar  ld a,64  call pchar  ld a,0   cal
l pchar    xor a    .ibcntinc a ld (bcount),a ret    Clip art margin    .domargl
d a,(margin)  or a ret z  .domalppush af   ld a,32 call pchar  pop af  dec a jr 
nz,domalp  ret    Clip art progress meter - set up    .artpmspush hl   ld hl,art
txt call string  pop hl  ld a,207 call artpm8  ld a,8   call artpm8  xor a ld (a
rtcnt),a  ret    .artpm8push hl  .artpml call &BB5A   or a ld de,8 sbc hl,de   j
r nc,artpml  ppattern for ruler line  .rlwiddb 100ruler width  .wchardb 0charact
er to wait for  .pstoreds 6storage of characters numerically  .artcntdb 0counter
 for progress meter    .newline db 2550 if a new line is needed, non-zero otherw
ise  .bcountdb 0bytes sent count    .wkspds 4RSX workspace    Text    .ldetxtdb 
"PRO-EXT error in loading file",13,10,0  .ukctxtdb "PRO-EXT unknown command",13,
10,0  .noftxtdb "PRO-EXT font file not loaded",13,10,0  .partxtdb "PRO-EXT wrono
p hl ret    Online help system v1.0  (c)93 CRTC of Discovery    .pxhelpor a jr n
z,spec  ld a,31 jr gspec    .specld l,(ix) ld h,(ix+1)  inc hl ld e,(hl)  inc hl
 ld d,(hl)  ld a,(de)    .gspecld bc,&7FC7 out (c),c  ld hl,&4800 ld c,a  .gspec
lld a,(hl) inc hl  cp 9 jr z,hnfoun  cp 6 jr nz,gspecl  ld a,(hl) inc hl  cp c j
r nz,gspecl    push hl   ld hl,helpbg call string  pop hl    .phelplld a,(hl) in
c hl  cp 7 jr z,qndisp  cp 8 jr z,qydisp  call &BB5A jr phelpl    .qy  N ld (iy+
13),a ld (iy+14),a ld (iy+15),a ld (iy+16),a ld (iy+17),a  ld (iy+18),a ld (iy+1
9),a ld (iy+20),a ld (iy+21),a ld (iy+22),a  ld (iy+23),a  ret     BOPEN command
    .bopnild c,2  cp 1  jp nz,errorError if  2 parameters    ld a,(iy+17)  ld c,
16  or a  jp nz,errorError if already open    ld l,(ix) ld h,(ix+1)  push hl pop
 ixIX contains address of parameter    call flastrGet last location    ld (iy+20
),l ld (iy+21),hStart putting things here  dec hl d c,17  ex de,hl  cp (hl)  jr 
z,blisokOk if same length  jr c,blisokor if string is longer  jp bnkab2otherwise
 error 17    .blisokld (hl),a ld b,aPut real length into string  inc hl ld e,(hl
)  inc hl ld d,(hl)    ld a,b or a jr z,exbgts    .bgtslppush bc call bnkgin pop
 bc  ld (de),a inc de  djnz bgtslp    .exbgtsret     BGETI command    .bgtiild c
,2  cp 1  jp nz,error    ld e,(ix) ld d,(ix+1)  call bnkginGet type    ld c,15  
cp &1A jp z,bnkaboEnd of Data ec hl  ld (iy+22),l ld (iy+23),hAddress to put len
gth at    ld l,(iy+18) ld h,(iy+19)  inc hlIncrease "last msg" counter  ld (iy+1
8),l ld (iy+19),h  ld (ix),l ld (ix+1),hand put it into passed variable    ld a,
&FF  ld (iy+17),aRecord now open  ret     BCLOSE command    .bcseild c,13  ld a,
(iy+17)  or a  jp z,error    ld a,&1A  call bnkpinPut in "End of Data" marker   
 ld l,(iy+20) ld h,(iy+21)  ld e,(iy+22) ld d,(iy+23)  sbc hl,de  dec hl dec hl 
 ex hl,de  l ld c,14  cp &25 jp nz,bnkaboInteger variable type    call bnkgin  l
d (de),a inc deGet low byte and store    call bnkgin  ld (de),a inc deGet high b
yte and store  ret     BDELETE command    .bdelild c,2  cp 1  jp nz,errorerror i
f not one parameter    ld c,18  ld a,(iy+17)  or a  jp nz,errorerror if record c
urrently open    ld c,(ix) ld b,(ix+1)get parameter into BC    ld a,b or c  jr z
,notrcderror if message 0  ld l,(iy+18) ld h,(iy+19)  sbc hl,bc jr nc,rcdod l,(i
y+22) ld h,(iy+23)  ld a,e call pbbyte  inc hl  ld a,d call pbbyte  call rstbnk 
   xor a ld (iy+17),aRecord closed!  ret     BGOTO command    .bgtoild c,2  cp 1
  jp nz,error    ld c,(ix) ld b,(ix+1)    ld a,b or c jr z,notrc  ld l,(iy+18) l
d h,(iy+19) sbc hl,bc jr c,notrc  jr rcok  .notrcld c,12 jp error    .rcokcall g
recbc  call rstbnk    ld (iy+15),e ld (iy+16),d  ld (iy+13),l ld (iy+14),h  ret 
    BCHECK command    .bchkild c,2  cp c  jp nz,error    kok if  last message  .
notrcdld c,12 jp errorelse error    .rcdokcall grecbcfind address of record    p
ush hl  add hl,de  pop de  dec de dec deDE contains start, HL contains start of 
next    ld a,h cpl ld b,a  ld a,l cpl ld c,a  dec bBC contains length to transfe
r    ld a,(&FFFF)  ld ix,(&FFF3)these bits of the screen get corrupted!    push 
af push ix    push de  push hl  push bcstore variables for LDIR    ld bc,&7FC7  
out (c),cswitch top 16k into &4000    ld l,(ix+2) ld h,(ix+3)  ld a,(iy+20) ld (
hl),a inc hl  ld a,(iy+21) ld (hl),a    ld l,(ix) ld h,(ix+1)  ld a,(iy+18) ld (
hl),a inc hl  ld a,(iy+19) ld (hl),a  ret     BPUTS command    .bptsild c,2  cp 
1  jp nz,error    ld l,(ix) ld h,(ix+1)  ld b,(hl) inc hl  ld e,(hl) inc hl  ld 
d,(hl)    push bc  ld a,&24 call bnkpinString marker  pop bc    push bc  ld a,b 
call bnkpinLength of string  pop bc    ld a,b or a jr z,exbpts    .bptslpld a,(d
e)  push bc call bnkpld de,&7FF5  ld hl,ldidta  ld bc,10  ldircopy code for LDIR
 into top of top 16k    pop bc  ld (&7FF6),bcload the length into right place in
 LDIR code    ld a,&C9 ld (&FFFF),aRET into last location (back in first 64k)  l
d hl,&49ED  ld (&FFF3),hland (again in first 64k) set up the banks    pop hl pop
 deget variables for LDIR back again    diinterrupts must be disabled (no stack 
etc.!)  ld bc,&7FC2  call &FFF3do the Bartman, whoops, LDIR  ei    pop ix pop af
  ld (&FFF3),in pop bc  inc de djnz bptslp    .exbptsret     BPUTI command    .b
ptiild c,2  cp 1  jp nz,error    ld l,(ix) ld h,(ix+1)  ex de,hl    ld a,&25 cal
l bnkpinInteger marker  ld a,e call bnkpinLow byte  ld a,d call bnkpinHigh byte 
 ret     BGETS command    .bgtsild c,2  cp 1  jp nz,error    ld e,(ix) ld d,(ix+
1)  call bnkginGet type    ld c,15  cp &1A jp z,bnkaboEnd of Data  ld c,14  cp &
24 jp nz,bnkaboString variable type    call bnkginGet length  ld  N  ret      **
* BBS SUBROUTINES ***    Get byte from HL in second 64k (corrupts BC, does not r
estore banks)    .gbbytepush hl    ld a,h  rlca rlca  and 3 add &C4    ld b,&7F 
 out (c),a    res 7,h set 6,h  ld a,(hl)    pop hl  ret    Put byte to HL in sec
ond 64k (corrupts BC, does not restore banks)    .pbbytepush hl  push af    ld a
,h  rlca rlca  and 3 add &C4    ld b,&7F  out (c),a    res 7,h set 6,h  pop af  
ld (hl),a    pop hl  ret    Restore banks (corrupts BC)    .rsnolist  print if1 
print "Pass 1" else print "Pass 2" endif print    Charley's Comms ROM  developme
nt version    org &C000  write "comms.bin"    kdsequ 1    if kds   datoutequ &FB
ED   datinequ &FBEF   conoutequ &FBEC   coninequ &FBEE   sped0equ &FBE8   sped1e
qu &FBE9   wmodequ &FBEB  else   datport equ &FADC   conport equ &FADD   sped0eq
u &FBDC   sped1equ &FBDD   wmodequ &FBDF  endif    db 1Background ROM  db 1,0,0v
1.00    .comtdw namet    jp initi  jp baudi jp wortbnkld bc,&7FC0  out (c),c ret
    Put byte A into extra 64k (corrupts HL, BC)    .bnkpinld l,(iy+20) ld h,(iy+
21)  call pbbyte  inc hl ld (iy+20),l ld (iy+21),h  jp rstbnk    Get byte A from
 extra 64k (corrupts HL,BC)    .bnkginld l,(iy+13) ld h,(iy+14)  call gbbyte  in
c hl ld (iy+13),l ld (iy+14),h  jp rstbnk    Return two bytes and jump to error 
   .bnkab2ld l,(iy+13) ld h,(iy+14)  dec hl ld (iy+13),l ld (iy+14),l    Return 
one byte and jump to error    .bnkabold l,(iy+13) ix  ld (&FFFF),arestore corrup
ted bytes on screen    ld l,(iy+18) ld h,(iy+19)  dec hl  ld (iy+18),l ld (iy+19
),hdecrease "last record" counter    ld hl,0  ld (iy+13),l ld (iy+14),h  ld (iy+
15),l ld (iy+16),hprevent reading until new BGOTO    ret    .ldidtald bc,&0000th
is code goes in top 16k of extra banks  ldir  ld bc,&7FC0  out (c),c     BSAVE c
ommand    .bsveild c,2  cp 1  jp nz,error    call buffc    ld l,(ix) ld h,(ix+1)
  ld b,(hl) inc hl  ld e,(hl) inc hl ld h,(iy+14)  dec hl ld (iy+13),l ld (iy+14
),l  jp error    Go to record held in BC (on exit, HLaddress of record DATA, DEs
ize)  Does not reset banks!    .grecbcld hl,0 ld de,0    .gbclopadd hl,de  push 
bc  call gbbyte ld e,a inc hl  call gbbyte ld d,a inc hl  pop bc    dec bc  ld a
,b or c jr nz,gbclop  ret    Find last record    .flastrld hl,0Current memory lo
cation in extra 64k    .gtblencall gbbyte ld e,a inc hl  call gbbyte ld d,a inc 
hl    ld a,d or e  jr z,fsp ld d,(hl) ex de,hl    ld e,(iy+7) ld d,(iy+8)  inc d
 inc d inc d inc d    call &BC8C  ld c,9 jp nc,error    ld l,(iy+18) ld h,(iy+19
)  ld a,l call &BC95  ld a,h call &BC95Write last record number  call flastr  ld
 a,l call &BC95  ld a,h call &BC95Write length of records    .bsvelpdec hl    ca
ll gbbyteGet character...  call rstbnk  call &BC95and write to disc    ld a,h or
 l  jr nz,bsvelp  call &BC8FClose file  ret     BLOAD command    .blodild c,2  c
p 1  jaceIf reached the end, quit  add hl,de jr gtblenGo to next address    .fsp
acecall rstbnkBack to normal memory  ret  Esize)  Does not reset banks!    .grec
bcld hl,0 ld de,0    .gbclopadd hl,de  push bc  call gbbyte ld e,a inc hl  call 
gbbyte ld d,a inc hl  pop bc    dec bc  ld a,b or c jr nz,gbclop  ret    Find la
st record    .flastrld hl,0Current memory location in extra 64k    .gtblencall g
bbyte ld e,a inc hl  call gbbyte ld d,a inc hl    ld a,d or e  jr z,fspp nz,erro
r    call buffc    ld l,(ix) ld h,(ix+1)  ld b,(hl) inc hl  ld e,(hl) inc hl  ld
 d,(hl) ex de,hl    ld e,(iy+7) ld d,(iy+8)  inc d inc d inc d inc d    call &BC
77  ld c,9 jp nc,error    call &BC80 ld (iy+18),a  call &BC80 ld (iy+19),aLast r
ecord number  call &BC80 ld l,a  call &BC80 ld h,aTotal length of records    .bl
odlpdec hl    call &BC80Get character...  call pbbyteand put in memory  call rst
bnk    ld a,h or l  jr nz,blodlp  call &BC7AClose file  Nen",13,10,10,013  db " 
data wrong type",13,10,10,014  db " end of data met",13,10,10,015  db " record a
lready open",13,10,10,016  db " string too long",13,10,10,017  db " record not c
losed",13,10,10,018  db " incompatible version",13,10,10,019    Message text    
.ymtextdb 13,10,"YModem ",0  .cltextdb "closing",0  .abrtxtdb "aborting",0  .crc
txtdb 13,10,"XModem-CRC",0  .chktxtdb 13,10,"XModem ",0  .onetxtdb 13,10,"XModem
-1k ",0  .lbrtxtdb 10,13,"Library ",0  .laCLOSE"  str "BCHECK","BGOTO","BGETS","
BGETI"  str "BPUTS","BPUTI","BDELETE","BSAVE"  str "BLOAD"  nop    .initipush de
  ld b,0  .initlld (hl),0 dec hl ld (hl),0 dec hl djnz initl  push hl push ix pu
sh iy    push hl pop iy inc iyIY  workspace    ld hl,signon call stringprint cop
yright message    push iy pop hl ld de,33 add hl,de  ex de,hl ld hl,&BDF1 ldi ld
i ldipreserve &BDF1    push iy pop hl ld de,372 add hl,de  ex de,hl ld hl,redir 
ld bc,14 ldircopy redirstcrdb 10,10,13,0  .ttsenddb 13,10,"No. of files to send 
",0  .ttkmesdb " (",0  .ttkclodb "k)",10,13,0  .abrreqdb "abort",10,10,13,0  .si
gnondb " CHARLEY'S COMMS ",164,"1992 Richard Fairhurst",10,0    Baud rate/8253 c
onversion data    .tb8253dw 31250,&4,19200,&7,9600,&D,7200,&11,4800,&1A  dw 3600
,&23,2400,&34,2000,&3F,1800,&45,1200,&68  dw 600,&D0,300,&1A0,200,&271,150,&341,
110,&470  dw 75,&683,50,&9C4,45,&AD9,0,0                *** Variables ***    doe
rrdb 1+0report errors on/off  lecection to IY+372    push iy pop hl ld de,375 ad
d hl,de  call &B912 ld (hl),ainsert ROM no. for FAR PCHL    ld (&BAFD),iy&BAFDpa
rameters  push iy pop hl ld de,90 add hl,deevent block  call &B912 ld c,a ld b,&
11  ld de,fcount call &BCD7  push iy pop hl call reset    pop iy pop ix pop hl p
op de  scf ret    print " Reading in CONTROL .MOD" read "CONTROL .MOD"  print " 
Reading in SIO     .MOD" read "SIO     .MOD"  print " Reading in FILE    .MOD" r
ead "FILE    .MOD"  phodb 0+1local echo on/off  curstdb 0+2cursor on/off  crdb 1
+3CR on/off  xoncdb 0+4XON flow control on/off  fcmodedb 0+5file capture mode  r
edrctdb 0+6redirect down-line for some commands  fbaddrdw 0+7file buffer address
  timestdw 0+9time-out length    if kds   cregdb %10101010+11control register de
fault  ds 1  else   reg3db %11100001+11register 3 default   reg5db %11101010+12r
egister 5 default  endif    bnkgetdw 0+13where to get from  bnrint " Reading in 
TERMINAL.MOD" read "TERMINAL.MOD"  print " Reading in LIBRARY .MOD" read "LIBRAR
Y .MOD"  print " Reading in BBS     .MOD" read "BBS     .MOD"  print " Reading i
n SUBROUT .MOD" read "SUBROUT .MOD"  print " Assembling common data"    *** Data
 ***    .okchardb "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!",34,"#$%&+-*. ",0  .fff
fdb 0,6,5,5,3,6    .vt52stdb "3",4,"H",30,"I",11,"J",20,"K",18,"d",19,"e",3,"f",
2,"o",17,0    Error text    .cetxtdb 13,10,"Comms error ",0    .errtxdi jp sendi
 jp geti  jp grabi jp wrti  jp progi jp readi  jp comi  jp waiti jp inpi  jp ser
i  jp mai  .jp cursi jp sdcri jp shkei  jp brki  jp errsi jp capti jp closi  jp 
xoni  jp echoi jp upldi jp dnldi  jp proti jp buffi jp typei jp touti  jp termi 
jp tm3i  jp tm75i jp tm12i  jp tm24i jp tm48i jp locli jp rtsi  jp dcdi  jp ctsi
  jp dtri  jp ldiri  jp scani jp bclri jp bopni jp bcsei  jp bchki jp bgtoi jp b
gtsi jp bt db " illegal parameter",13,10,10,01  db " bad argument count",13,10,1
0,02  db " illegal filename",13,10,10,03  db " no files to send",13,10,10,04  db
 " too many files",13,10,10,05  db " no file buffer",13,10,10,06  db " XModem on
e file only",13,10,10,07  db " file buffer in use",13,10,10,08  db " disc error"
,13,10,10,09  db " capture not active",13,10,10,010  db " timed out",13,10,10,01
1  db " record not found",13,10,10,012  db " record not opgtii  jp bptsi jp bpti
i jp bdeli jp bsvei  jp blodi    .nametstr "CHARLEY'S COMMS"  str "BAUD","WORD",
"SEND","GET"  str "GRAB","WRITE","PROGRAM","READ"  str "COM","WAIT","INPUT","SER
IAL"  str "PARALLEL","CURSOR","CR","HWSHAKE"  str "BREAK","ERROR","CAPTURE","CLO
SE"  str "XON","ECHO","UPLOAD","DOWNLOAD"  str "PROTOCOL","BUFFER","TYPE","TIMEO
UT"  str "TERMINAL","TERM3","TERM1275","TERM12"  str "TERM24","TERM48","LOCAL","
RTS"  str "DCD","CTS","DTR","LDIR"  str "SCAN","BCLEAR","BOPEN","B  Nksizdw 0+15
and size of that record  bnkopndb 0+17record open  bnklstdw 0+18last record  bnk
posdw 0+20position in banks  bnkorgdw 0+22position to write to    blockds 9+24sp
ace for fast ticker block  pstoreds 3+33store for MC WAIT PRINTER redirection   
 bstoffdw 0+36buffer store offset  bgtoffdw 0+38buffer get offset    fbscntdw 0+
40file bytes count    nparamdb 0+42number of parameters  pblockdw 0+43address of
 parameters  fnamedb "DOWNL    N O E    .wordiif kds    ld c,2 cp 3 jp nz,error 
 push iy pop hl  ld de,11 add hl,deHL  IY+11 (KDS control register)    ld iy,kwt
bl ld b,8    .kwslpld a,(ix+4) cp (iy+0) jr nz,notsm  ld a,(ix+2) cp (iy+1) jr n
z,notsm  ld a,(ix+0) cp (iy+2) jr nz,notsm  ld c,(iy+3) ld a,(hl)  and 199 or c 
ld (hl),a  jp preg    .notsminc iy inc iy inc iy inc iy  djnz kwslp    ld c,1 jp
 errorlegal value not found!    .kwtbldb 7,2,2,%000000  db 7,1,2,%100000  db 7,2
,1,%010000  dOAD",0 +44filename (receive)    tnamedb "            ",0+55filename
 (send)  cchardb 0+68current character position  stmodedb " "+69filler character
  cnaddrdw 0+70current name address  ftsenddb 0+72files to send  ktsenddw 0+73ki
lobytes to send  flongds 3+75file length (3-byte)  fdecds 6+78decimal of "flong"
  readindw 0+84bytes read in    curdirdb 0+86current file directory    countdw 0
+8750/sec count  donedb 0+8950/sec - done or not  b 7,1,1,%110000  db 8,0,2,%001
000  db 8,0,1,%101000  db 8,2,1,%011000  db 8,1,1,%111000    else    ld c,2 cp 3
 jp nz,error3 parameters    ld a,(ix+4) ld c,1 sub 5data bits 5-8  ld b,a and 3 
cp b jp nz,error    ld a,(ix) or a jp z,errorstop bits 1-3  cp 4 jp nc,error    
ld a,(ix+2) ld e,a and 3  cp e jp nz,errorparity 0-3    ld a,(ix+4) sub 5data bi
ts  0-3  rlca rlca rlca rlca rlcaposition bits 5/6  ld e,a  ld hl,reg5 ld a,&9F 
and (hl)get register 5 anfceblds 10+90event block    ferrdb 0+100file error  fbl
ockdb 0+101expected block  blockldw 0+102block length (128/1024)  ncrdb &15+104N
AK or "C"  pstatdb 0+105printed CRC/checksum  ymodemdb 0+106using YModem-batch  
specpdb 0+107specified protocol (0 XModem, 1 X-1k, 2 YModem)    vt52idb 0+108VT5
2 control codes left to receive  vtmodedb 0+109w-indow/c-ursor to be set  vtcstd
w &101+110cursor saving position  vttmpds 4+112temporary varid strip out data bi
ts  or e ld (hl),aput in new data bits  ld d,5 call pregand program    ld a,e rl
caposition bits 6/7  ld e,a  ld hl,reg3 ld a,&3F and (hl)get register 3 and stri
p out data bits  or e ld (hl),aput in new data bits  ld d,3 call pregand program
    ld a,(ix) rlca rlcabits 2/3 now stop bits  or (ix+2)bits 0/1 now parity  set
 6,aset bit 6 ("clock mode"!)  ld d,4 jp pregprogram register 4    endif     PRO
GRAM command    .progiif kdsable space    bufferds 256+116interrupt buffer    ac
redds 6+372actual redirection code  +386end of variable space  MS   $$$ if1 prin
t "Pass 1" else print "Pass 2" endif print    Charley's Comms ROM  development v
ersion    orgh  specpdb 0+107specified protocol (0 XModem, 1 X-1k, 2 YModem)    
vt52idb 0+108VT52 control codes left to receive  vtmodedb 0+109w-indow/c-ursor t
o be set  vtcstdw &101+110cursor saving position  vttmpds 4+112temporary varild 
c,2 cp 1 jp nz,error  elseld c,2 cp 2 jp nz,error error 2 if wrong no. of parame
ters  dec c ld d,(ix+2)  ld a,5 cp d jp m,error  error 1 if not 0-5 (Amstrad)  e
ndifld a,(ix) jp preg     READ command    .readiif kdsld c,2 cp 1 jp nz,error  e
lseld c,2 cp 2 jp nz,error error 2 if wrong no. of parameters  dec c ld d,(ix+2)
  ld a,2 cp d jp m,error  error 1 if not 0-2 (Amstrad)  endif    call rreg  ld l
,(ix) ld h,(ix+1)  ld (hl),a ret     SERIAL command  *** CONTROL.MOD ***     BAU
D command    .baudild l,(ix) ld h,(ix+1)  ld c,2 cp c jp z,getrx  cp 1 jp nz,err
or  ld e,l ld d,h jp gotbp  .getrxld e,(ix+2) ld d,(ix+3)  .gotbpcall bconv ex d
e,hl call bconv  di ld bc,wmod ld a,&76 out (c),a  ld bc,sped1 out (c),e out (c)
,d  ld bc,wmod ld a,&36 out (c),a  ld bc,sped0 out (c),l out (c),h  ei ret      
 WORD command      (WORD,data,parity,stop)                                     7
/8  0/1/2  1/2                N  *** FILE.MOD ***     DOWNLOAD command    .dnldi
call buffc  ld (iy+42),anumber of parameters  ld l,a ld h,0 add hl,hl ex de,hl  
add ix,deIX points to 1st parameter  push ix pop hl  ld (iy+43),l ld (iy+44),hIX
  address of parameters    call gfname  jr nz,initif filename specified use that
    push iy pop hl  ld de,45 add hl,deelse use "DOWNLOAD."  ld b,9    .initxor a
  ld (iy+106),aYModem off as default  ld (iy+105),aCRC/checksum not printed yet 
   .op   ld a,(iy+104) cp &15 jr z,chkchkCRC/chk    call getbtget CRC  ld e,a ca
ll crc    call getbtand check against our value  ld e,a call crc    ld a,h or l 
call nz,sferrerror  jr acton    .chkchkcall getbtcheck checksum!  cp h call nz,s
ferr    .actonld a,(iy+105)*** print block number, details  or (iy+106) jr nz,np
stat do we need to print text  ld a,(iy+104)  ld hl,chktxt  cp "C" jr nz,ppstr  
ld hl,crctxt  .ppstrcall stringif so, then print CRC/checksum teoutld e,(iy+7) l
d d,(iy+8)*** open first output file  push hl ld hl,1024 add hl,de ex de,hl  pop
 hlDE contains buffer address, HL filename address  call &BC8CCAS OUT OPEN  call
 nc,canyesabort if error    .rblock ld a,1 ld (iy+101),aset block to 1    .stran
s xor a ld (iy+100),ano file error    ld l,77 retries before switching to NAK   
 ld a,"C" ld (iy+104),adefault is C CRC    .sndnakdec l jr nz,nosnak  ld a,&15 l
d (iy+104),a    .nosnakld a,(iy+104) call se    .seripush iy pop hl  ld de,372 a
dd hl,de    ld ix,&BDF1  ld (ix),&C3  ld (ix+1),l  ld (ix+2),h  ret     PARALLEL
 command    .paripush iy pop hl  ld de,33 add hl,de  ld de,&BDF1  ldi ldi ldi  r
et     CURSOR command    .cursipush iy pop hl  inc hl inc hlHL  IY+2  curst  .on
offld c,2  cp 1 jp nz,error  dec c  ld a,(ix)  or a jp z,csok  cp 1 jp nz,error 
 .csokld (hl),a  ret     CR command    .sdcripush iy pop hl  inc hl inc hl inc h
lHL  IY+ndbtNAK checksum / C CRC    ld de,150 call waitbt*** wait for response  
  cp 2 jr z,sblockSTX XModem-1k  cp 1 jr z,sblockSOH XModem-128  cp &18 call z,c
anyesCAN abort  ex de,hl call chkcan ex de,hlESC pressed abort    jr sndnak    .
sblockld bc,1024*** start of receiving block  cp 1 jr nz,not128  ld bc,128calcul
ate length of block  .not128ld (iy+102),c ld (iy+103),bstore block length    cal
l getbtget block number    ld c,a ld a,(iy+101)A 3  cr  jp onoff     ERROR comma
nd    .errsipush iy pop hlHL  IY+0  doerr  jp onoff     HWSHAKE command    .shke
iif kdsld c,19 jp error  elseld c,2 cp 1 jp nz,error  dec c  ld a,(ix) or a jr z
,hwok  cp c jp nz,error  .hwokrlca rlca rlca rlca rlca  ld c,(iy+11)reg3  res 5,
c  or c  ld (iy+11),a  ld d,3 jp preg  endif     BREAK command    .brkicall &BD1
9  if kdsld a,(iy+11) or 6  elseld a,(iy+12) set 4,a ld d,5  endifcall preg   ex
pected block  cp cright block  jr z,blok    cp 1otherwise, block 1 expected  cal
l nz,sferr jr nz,blokif not, then there's an error    ld a,c or ablock 0 receive
d  call nz,sferr jr nz,blokif not, then there's an error    ld (iy+101),aYModem 
block 0  ld a,1 ld (iy+106),aset YModem to be used    .blokcall getbtget complem
ent of block number    cpl ld c,a ld a,(iy+101)complement what we've got  cp c c
all nz,sferrif different, there's an error    ld call &BD19  if kdsld a,(iy+11) 
 elseres 4,a  endifjp preg     XON command    .xonipush iy pop hl  inc hl inc hl
 inc hl inc hlHL  IY+4  xonc  jp onoff     LOCAL command    .loclipush iy pop hl
  inc hlHL  IY+1  lecho  jp onoff     TIMEOUT command    .toutild c,2 cp 1 jp nz
,error  ld l,(ix) ld h,(ix+1)  ld (iy+9),l ld (iy+10),h rettimestMOD ***     BAU
D command    .baudild l,(ix) ld h,(ix+1)  ld c,2 cp c jp z,getrx  cp 1 jp nz,err
or  l,(iy+7) ld h,(iy+8)  push hl pop ixIX  buffer address  ld c,(iy+102) ld b,(
iy+103)BC  number of bytes  ld hl,0HL  CRC-16 / checksum data    .rclooppush bc*
** receive main data block  call getbtget data byte  ld (ix),a inc ixand store i
t  ld e,a ld a,(iy+104)  cp &15 jr z,chksumCRC or checksum    call crc jr mgloop
calculate CRC    .chksumld a,e add a,h ld h,acalculate checksum    .mglooppop bc
 dec bc  ld a,b or c jr nz,rclooploop if not finished   Ncp &FC ret nzESC  .cany
espop hlremove CALL    call s8canssend 8*CAN    ld hl,ymtext  ld a,(iy+106) or a
  jr nz,gotmsgYModem  ld hl,crctxt  ld a,(iy+104) cp "C" jr z,gotmsgXModem-CRC  
ld hl,chktxt    .gotmsgcall stringPrint appropriate text  ld a,22 call &BB6F  ld
 hl,abrtxt call stringfollowed by "aborted"  ld hl,lastcr call string  call &BB4
8 call &BB1Bremove break  call &BC7D jp &BC92abandon files                      
         UPLOAD command    .r z,met0find length of filename  inc hl inc b jr fll
    .met0dec hl ex de,hl pop hlfilename extends from HL to DE  ld a,12 cp b call
 c,convconvert to CPC filename if too longer    xor a cp b jr z,eymYModem null b
lock (EOT)  ld a,(iy+42)A  number of parameters  or a call nz,gfnameget filename
 if provided by RSX    push bc push hl  .pfloopld a,(hl) call &BB5Aprint filenam
e to screen  inc hl djnz pfloop  pop hl    ld a,6 call sendbtACK to say "ok"  po
p bc jp oupldi call buffc  ld c,2  or a jp z,error    call rfname            ld 
c,4 ld a,(iy+72)A  files to send  or a jp z,error    ld l,(iy+70) ld h,(iy+71)HL
  current name address  ld (hl),0    ld a,(iy+107) cp 2 jr z,nxquerA  specified 
protocol (0/1/2)  ld c,7  ld a,(iy+72) cp 1 jp nz,errorXModem single file only (
it's CRAP)    .nxquerld hl,ttsend  call stringfuck you, Pict! (we piss on Logon)
  ld a,(iy+72)  call prdecnumber of files to send  ld hl,ttkmes  call stringfpou
t    .eymld hl,cltext call string*** End of YModem transmission  xor a ld (iy+10
6),acancel YModem  jr etransend transmission    .octrlld a,32 call &BB5A*** Send
 block to disc    .oloopld a,(hl) call &BC95CAS OUT CHAR  call nc,canyesif disc 
error  inc hl dec bc  ld a,b or c jr nz,oloop    .iblockld a,(iy+101) inc aIncre
ase block number  ld (iy+101),a    .wtsohbcall chkcanCheck for abort    ld a,6 c
all sendbtACKnowledge successful receipt  ld de,500 calluck you, Obi! (we piss o
n the goons)  ld l,(iy+73) ld h,(iy+74)         call prhlnumber of k to send  ld
 hl,ttkclo  call string    xor a ld (iy+104),aNAK or C not received    ld l,(iy+
7) ld h,(iy+8)HL  file buffer address  ld (iy+70),l ld (iy+71),hput into current
 name address    .gnxtyupush iy pop hl  ld de,116+129 add hl,de  ld (hl),0no hea
der    ld l,(iy+70) ld h,(iy+71)current name address  ld a,(hl)  or a jp z,exupl
end of uploads    push hl   push iy pop hl  waitbt    cp 1 jp z,sblockSOH XModem
-128  cp 2 jp z,sblockSTX XModem-1k  cp &18 call z,canyesCAN Abort  cp 4 jp nz,w
tsohbEOT End of transmission    .etransld a,6 call sendbtif EOT, then ACKnowledg
e it  call &BC8Fand close disc file    ld a,(iy+106) or a jp nz,rblock if YModem
, next file please  ld hl,lastcr jp stringotherwise CR/LF out and return!    .sf
errld (iy+100),1 ret*** Subroutine - set file error    .gfnameld a,(iy+42)*** Su
broutine - getxt  ld a,1 ld (iy+105),aand set it to "printed already"    .npstat
ld a,22 call &BB6F  ld a,(iy+101) or a  jr z,chkerrdon't print block 0  call prd
ecotherwise, print block number    .chkerrld a,(iy+100) or a jp z,noerrblock rec
eived ok    ld a,"" call &BB5Aelse print "" for error  xor a ld (iy+100),aand ca
ncel the error  ld a,&15 call sendbtNAK for error  .cerlpld de,150 call waitbtwa
it for response  cp 2 jp z,sblockSTX XModem-1k, get block again  cp  filename  o
r a ret zA  number of parameters    ld l,(iy+43) ld h,(iy+44)HL  parameter block
 address  dec hl dec hlget provided filename  ld (iy+43),l ld (iy+44),h  push hl
 pop ix    ld l,(ix) ld h,(ix+1)  ld b,(hl) inc hl  ld e,(hl) inc hl  ld d,(hl) 
ex de,hl  dec a ld (iy+42),aA  number of parameters  ld a,1 or aset nz (i.e. fou
nd filename)  ret    Subroutine - Check for ESC/CTRL-X    .chkcancall &BB1B ret 
nckey pressed  cp &18 jr z,canyesCTRL-X  1 jp z,sblockSOH Xmodem-128, get block 
again  cp &18 call z,canyesCAN abort  call chkcan jr cerlpESC pressed abort    .
noerrld l,(iy+7) ld h,(iy+8)*** block received ok  ld c,(iy+102) ld b,(iy+103)HL
  file buffer addr, BC  block len    ld a,(iy+101) or a jr nz,octrlwrite to disc
 if not block 0    push hl*** YModem header  call &BC92abandon current file  ld 
hl,ymtext call stringand print "YModem" on screen  pop hl push hl ld b,0  .fllld
 a,(hl) or a j  N  ld de,55 add hl,de   ex de,hl pop hlDE  send filename (destin
ation)  push dePUSH filename for retrieval later  ld bc,8 ldir  ld a,"."  ld (de
),a inc de  ld bc,3 ldir  push hl   push iy pop hl   ld de,75 add hl,de   ex de,
hl pop hlDE  file length bytes (destination)  ldi ldi  ld (iy+70),l ld (iy+71),h
HL  current name address    ld l,(iy+7) ld h,(iy+8)HL  file buffer  ld de,1024 a
dd hl,de  ex de,hl  pop hl ld b,12POP filename from above  call &BC77Cd de,116+1
28 add hl,de   ld a,(hl) ld a,(buffer+129)  pop hland get HL back again  ld (iy+
102),l ld (iy+103),hblock length  or a jr nz,nriDo we need to transmit the heade
r    ld e,(iy+84) ld d,(iy+85)DE  bytes read in  scf ccf sbc hl,de  jr z,nriSkip
 if all read in already    .rilpcall &BC80  dec hl ld a,h or l  jr nz,rilpRead t
he bytes in!    .nrild a,c call sendbt Bytes are now in place  ld a,(iy+101) cal
l sendbtA  block  ld a,(iy+101) cpl calAS IN OPEN    cp &16 jr z,noheadSkip if t
here is no header    push bc push de push hl  push iy pop hl  ld de,116 add hl,d
e ex de,hlDE  buffer address  pop hl push hl  ld bc,128 ldirCopy header to store
  ld a,1  ld (de),aand store that there is a header  pop hl pop de pop bc    ld 
a,b or c  jr z,noheadif file length 0, calculate it    ld hl,128 add hl,bcadd he
ader  ld (iy+75),l ld (iy+76),h  ld (iy+77),0store file length  jr clcdun    .no
headld l,(iy+75)l sendbt  ld c,(iy+102) ld b,(iy+103)BC  block length    push iy
 pop hl  ld de,116+128 add hl,de  ld a,(hl)ld a,(buffer+128)  or a jr nz,headre 
   ld l,(iy+43) ld h,(iy+44)  push hl pop ixld ix,(pblock) - no header  ld hl,0 
 jr sndlbt    .headrepush iy pop ix Set up to read header  ld de,116 add ix,deIX
  buffer (header address!)  ld hl,0    .sndlbtpush bc ld a,(ix)  ld e,a call sen
dbt    ld a,(iy+104) cp &15 jr nz,sndcrc  ld a,e add a,l ld l,a jr sndmlp   ld h
,(iy+76)HL  file length  xor a ld b,10  .ad1024sla l rl h rl a  djnz ad1024  ld 
(iy+75),l ld (iy+76),hstore file length  ld (iy+77),0    .clcdunld l,(iy+7) ld h
,(iy+8)  ld de,1024 add hl,de  ld (iy+43),l ld (iy+44),hHL  pblock  ld bc,0  ld 
(iy+84),c ld (iy+85),bBC  bytes read in    .cfblkld c,1 ld a,(iy+107) cp 2 jr nz
,xmsendA  spec.protocol  ld c,0  .xmsendld a,c ld (iy+101),ablock no.    ld a,(i
y+107) or a jr nz,notbxm  ld hl,chktxt jr ptype  .notbxmc.sndcrccall crc  .sndml
pinc ix pop bc dec bc ld a,b or c  jr nz,sndlbt  jr scfver    .ymheadld a,1call 
sendbtsend SOH  xor acall sendbtsend block no.  xor a  cpl call sendbtcomplement
ed    push iy pop hl  ld bc,55 add hl,bc push hl pop ixIX  filename  ld hl,0 ld 
c,128 ld b,12  .ymhlpld a,(ix) cp &20 call nz,ymhsc  inc ix djnz ymhlp    xor a 
call ymhsc    call sndtb    .ymh0sxor a call ymhsc  jr nz,ymh0s  jr scfver    .y
mhscpush bc ld e,a call sp 1 jr nz,notone  ld hl,onetxt jr ptype  .notoneld hl,y
mtext call string  push iy pop hl ld de,55 add hl,defilename  .ptypecall string 
   .wchmtdld de,50 call waitbt  cp "C" jr z,ssendb  cp &15 jr z,ssendb  cp &18 j
p z,abort  call chkcnu  jr wchmtd    .ssendbld (iy+104),a xor aNAK/C sent    .st
sblkld a,(iy+101) or a jr z,trnblk  block no.  ld a,13 call &BB5A  ld a,22 call 
&BB6F  ld a,(iy+101) call prdec  ld a,32 call &BB5A  ld a,8 call &BB5A    .trnbl
kld a,(iy+10endbtYModem header, send character  ld a,(iy+104) cp &15  jr nz,yscc
c  ld a,e add a,l ld l,a jr yscpl  .ysccccall crc  .yscplpop bc dec c ret    .sc
fverld a,(iy+104) cp &15 jr z,scol  ld e,0 call crc call crc  ld a,h call sendbt
  .scolld a,l call sendbt    .w4rsltld de,50 call waitbt  cp 6 jr z,blsok  cp &1
8 jp z,abort  cp &15 jr z,erinup  call chkcnu jr w4rslt  .erinupld a,"" call &BB
5A  ld a,8   call &BB5A  ld l,(iy+102) ld h,(iy+103)HL  block length  ld (i1) or
 a jp z,ymhead  block 0    ld hl,1024 ld c,2Default 1k...    ld a,(iy+107)128-by
te protocol  or a jr z,bl128    push hl  push iy pop hl  ld de,116+128 add hl,de
  ld a,(hl) pop hlld a,(buffer+128)  or a jr nz,bl128Need to transmit header    
ld a,(iy+77)More than 1k left file length  or a jr nz,bldec    ld a,(iy+76)  cp 
4 jr nc,bldecMore than 512 bytes left    .bl128ld hl,128 ld c,1    .bldecpush hl
Store HL against IY calcs   push iy pop hl   l  Nblxor a call ymhsc  jr nz,nulbl
    ld a,(iy+104) cp &15 jr z,ncol  xor a call crc call crc  ld a,h call sendbt 
 .ncolld a,l call sendbt    .aflcp ld de,50 call waitbt  cp &15 jr z,rsxb  cp 6 
jr z,byebye  call chkcnu jr aflcp  .byebyeld hl,lastcr jp string    .abortld a,1
3 call &BB5A  ld a,22 call &BB6F  ld hl,abrreq call string  jp &BC7D    .sndtbpu
sh bc push hlSend 3 byte length as decimal  push iy pop ix  ld bc,79 add ix,bc  
xor a ld (iy+78),a ld l,(iy+75) ld h1Bremove break  call &BC7D jp &BC92abandon f
iles         BUFFER command    .buffild c,2  cp 1 jp nz,error    ld l,(ix) ld h,
(ix+1)  ld (iy+7),l ld (iy+8),h  ret         PROTOCOL command    .protild c,2  c
p 1 jp nz,error    dec c  ld a,(ix) cp 3 jp nc,error  ld (iy+107),a ret        *
** FILE SUBROUTINES ***     Read filenames into buffer    .rfnameld (iy+42),anum
ber of parameters  ld l,(iy+7) ld h,(iy+8)file buffer address  ld (iy+70),l ld (
iy+71),hcu,(iy+76)  ld de,10000 call sthlr  ld de,1000 call sthlr  ld de,100 cal
l sthlr  ld de,10 call sthlr  ld de,1 call sthlr    ld a,(iy+77) ld e,a  .ccaol 
push iy pop ix   ld bc,83 add ix,bcIX  fdec+5  ld hl,ffff+5  xor a cp e jr z,nov
hb ld bc,&600  .ccalpld a,c add a,(ix) add a,(hl)  ld c,0 cp 10 jr c,excc  .ccar
rysub 10 inc c cp 10 jr nc,ccarry  .exccld (ix),a dec ix dec hl djnz ccalp  dec 
e jr nz,ccaol    .novhbpush iy pop ix  ld bc,78 add ix,bcIX  fdec  py+84),l ld (
iy+85),hHL  bytes read in  jp trnblk    .blsokld a,(iy+101) inc a ld (iy+101),ai
ncrease block no.  cp 1 jp z,wchmtd    ld l,(iy+75) ld h,(iy+76) ld a,(iy+77) fi
le length  ld e,(iy+102) ld d,(iy+103)  scf ccf sbc hl,de jr nc,ndhblsubtract bl
ock length  dec a  .ndhblld (iy+75),l ld (iy+76),h ld (iy+77),a    cp &E0 jp nc,
eofut    push ix call &BC89 pop ix  jr c,eofok jr z,eofok  cp &0F jp z,eofut    
.eofokpush ix   push iy pop hl   ld de,116+128 add hl,deop hl pop bc ld b,6 ld e
,0  .pnmlpld a,(ix) ld d,a or e ld a,d jr z,ial0  ld e,255 add &30 call ymhsc  .
ial0inc ix djnz pnmlp ret    .sthlrxor a  .sthllpscf ccf sbc hl,de jr c,sthlo in
c a jr sthllp  .sthloadd hl,de ld (ix),a inc ix ret    .chrchkcp 97 jr c,notlow 
 cp 123 jr nc,notlow  res 5,a  .notlowld hl,okchar  ld c,a  .czloopld a,(hl)  or
 a  jr z,exitck  cp c  ret z  inc hl  jr czloop    .exitckld c,3  pop hlCALLing 
address  pop hlHL saved  jp erro   ld a,(hl)Was it a header   ld e,(iy+7) ld d,(
iy+8)DE  file buffer address   pop hl  or a jr nz,washedIf so, ok, get block add
ress  push hl  scf ccf sbc hl,de  ld a,&C cp h3k above fbaddr yet  pop hl  jr nz
,noverNo, we're ok  ld l,(iy+7) ld h,(iy+8)  ld de,1024 add hl,deotherwise reset
 to 1k above  jr nover  .washedpush iy pop hl  ld de,116+128 add hl,de  ld (hl),
0Not a header any more!  ld l,(iy+43) ld h,(iy+44)  .noverld (iy+43),l ld (iy+44
),hHL r    .insertcp "." jr nz,notdot    ld a,(iy+68)A  current character positi
on  cp 0 jp z,exitcb    .dtloopcp 8 jr z,exdtl jp nc,exitcb    ld a,(iy+69) ld (
hl),a inc hlA  filler character    ld a,(iy+68) inc a ld (iy+68),a  jr dtloop   
 .exdtlld a," " ld (iy+69),a ret    .notdotcp " " ret z  cp "*" jr nz,notsta    
ld a,(iy+69) cp "" jp z,exitcb  ld a,"" ld (iy+69),a jr putchr    .notstald c,a 
 ld a,(iy+69) cp "" ld a,c jp z,exitcb  .putchrld (hl),a inc hl  ld a,( paramete
r block  ld hl,0  ld (iy+84),l ld (iy+85),h0 bytes read in  jp stsblk    .eofutc
all &BC7A  ld a,4 call sendbt  ld de,100 call waitbt  cp 6 jr nz,eofut    ld a,(
iy+107)Specified protocol  cp 2 jr nz,byebye    jp gnxtyu    .exuplld de,50 call
 waitbtYModem blank block!  cp "C" jr z,geufc  cp &15 jr z,geufc  call chkcnu  j
r exupl    .geufcld (iy+104),aNAK/C store    .rsxbld a,1 call sendbt  xor a call
 sendbt  xor a cpl call sendbt    ld hl,0 ld c,128  .nuliy+68) inc a ld (iy+68),
a ret    .exitcbld c,3  pop hl  .exitp1pop hl  jp error    Check for ESC/CTRL-X 
   .chkcnucall &BB1B ret nckey pressed  cp &18 jr z,cnuyesCTRL-X  cp &FC ret nzE
SC  .cnuyespop hlremove CALL    call s8cans    ld a,(iy+107)  ld hl,ymtext  cp 2
 jr z,gotmsuYModem  ld hl,onetxt  cp 1 jr z,gotmsuXModem-1k  ld hl,chktxt    .go
tmsucall string  ld hl,abrtxt call string  ld hl,lastcr call string  ld a,10 cal
l &BB5A  call &BB48 call &BB  N) call &BB5A  inc hl djnz lfnprtprint filename   
 ld a,13 call &BB5A  ld a,10 call &BB5A call &BB5A    call &BB69  ld a,d sub h  
inc a inc a inc a  ld b,0  .fcwlpinc b sub 25 jr nc,fcwlp  dec b  ld a,b ld (iy+
68),acchar   number of columns    ld a,1 ld (iy+69),astmode  current column  ld 
a,0 ld (iy+42),anparam  number of directory blocks  push iy pop hl  push de ld d
e,72  add hl,de pop de ld (hl),aftsend  number of directory blocks done    .g128
lpinc (hl) op hlDE  filename  ld b,11  .cfloopld c,(hl) xor a cp c jr z,extfn  l
d a,(de) cp "" jr z,wcard  res 7,c cp c jr nz,extfn  .wcardinc hl inc de  djnz c
floop    pop hl push hl  inc hl  ld e,(iy+70) ld d,(iy+71)name address  ld bc,13
  ldir  dec hl dec hl dec hl ld (hl),c inc hl  ld (iy+70),e ld (iy+71),d  ld a,(
iy+72) inc a ld (iy+72),afiles to send  ld c,5 cp 64 jp z,exitp1  ld c,(hl) inc 
hl ld b,(hl)  ld l,(iy+73) ld h,(iy+74) add hl,bc  ld (iy+73),l ld (iy push hl c
all ldr128 pop hl  ld a,(iy+42) cp (hl)  jr nz,g128lp    ld a,(iy+69) cp 1  ld a
,10 call nz,&BB5A  call &BB5A  ld a,13 call &BB5A    call &BC7A  ret    .ldr128c
all gdlbrn  call gdlbrn  call gdlbrn  call gdlbrn  ret    .gdlbrncall &BC80  ld 
b,31  cp &FF jp z,skip0  cp &FE jp z,skip0    ld a,(iy+42) or ahas directory blo
ck size been found yet  jr nz,mpfnptif so, then don't bother finding it!    ld b
,13  .skipfnpush bc call &BC80 pop bc  djnz skipfnskip (bla+74),hk to send    .e
xtfnpop hl  ld de,14 add hl,de  ld (iy+43),l ld (iy+44),hpblock  jr excml    .ex
srlinc ix inc ix  ld a,(iy+42) dec a ld (iy+42),a jp nz,mxloopnumber of paramete
rs  ret     Update CRC in HL with input in E    .crc    ld b,8shift 8 times  .up
dlp  rlc eshift input  adc hl,hlshift crc  jr nc,skipitjump if no carry  ld a,h 
xor &10 ld h,axor with &1021  ld a,l xor &21 ld l,a  .skipit djnz updlpdone  ret
     Convert filename if nk) filename and index  call &BC80 ld (iy+42),a  ld b,1
7 jp skip0    .mpfnptld b,8  .mpfnlppush bc call &BC80 pop bc  call &BB5A djnz m
pfnlpprint first part of filename    ld a,"." call &BB5A  call &BC80 call &BB5A 
 call &BC80 call &BB5A  call &BC80 call &BB5Aprint extension    call &BC80 call 
&BC80skip "index"    ld a," " call &BB5A  call &BC80 ld l,a push hl  call &BC80 
pop hl ld h,a    ld b,3  .ctokxor a rr h rr l djnz ctok    ld a,l call prasp  ld
 a,"k" call &sub-directories included    .convld b,0  ex de,hl  .coloopld a,(hl)
  cp "/" jr z,exconv  cp "" jr z,exconv  dec hl  inc b  ld a,12 cp b  jr nz,colo
op  .exconvinc hl  xor a  cp b  ret nz    push iy pop hlelse automatic "DOWNLOAD
"  push de ld de,45 add hl,de  pop de ld b,10 ret     Send 8*CAN, 8*backspace   
 .s8cansld b,8 ld a,&18  .canlppush bc call sendbt pop bc  djnz canlp    ld b,8 
ld a,8  .bsplppush bc call sendbt pop bc  djnz bsplp  retd l,a ld h,0 arrent nam
e address    xor a  ld (iy+72),a  ld (iy+73),a ld (iy+74),afiles/k to send    pu
sh ix  ld de,1024  add hl,de ex de,hl  ld hl,&BB5A  ld a,(hl) ld (hl),201  push 
hl push af  call &BC9BCatalogue in fbuff+1024, screen off  pop af pop hl  ld (hl
),a  pop ix    .mxloopld de,1024  ld l,(iy+7) ld h,(iy+8)fbaddr  add hl,de  ld (
iy+43),l ld (iy+44),hpblock    ld l,(ix) ld h,(ix+1)  ld b,(hl) inc hl  ld e,(hl
) inc hl  ld d,(hl)    xor a ld (iy+68),achar pos  ld a,  *** LIBRARY.MOD ***   
  LDIR command    .ldiricall buffc    ld c,2 cp 1  jp nz,error    call &BC7Daban
don input file    ld l,(ix) ld h,(ix+1)  ld b,(hl) inc hl  ld e,(hl) inc hl  ld 
d,(hl) ex de,hl  ld e,(iy+7) ld d,(iy+8)file buffer address    push bc push hl  
call &BC77  pop hl pop bc  jr c,lbriok    bit 6,a ret nz  bit 7,a ret nz  ld c,9
 jp errorif not already reported, comms error 9    .lbriokpush hl  ld hl,lbrtxt 
 call string  pop hl    .lfnprtld a,(hl" " ld (iy+69),afiller byte    push de   
push iy pop hl   ld de,55 add hl,de  pop deHL  filename    .cploopld a,(de)  pus
h hl call chrchk pop hl  call insert  inc de djnz cploop    .cmloopld a,(iy+68) 
 cp 11 jr z,excml  jp nc,exitck    ld a,(iy+69) ld (hl),a inc hl    ld a,(iy+68)
 inc a ld (iy+68),a  jr cmloop    .excmlld l,(iy+43) ld h,(iy+44)pblock  ld a,(h
l) cp 255 jr nz,exsrl  push hl    inc hl  push hl   push iy pop hl   ld de,55 ad
d hl,de   ex de,hl  p  NBB5A    ld a," " call &BB5A  call &BC80 ld l,a push hl  
call &BC80 pop hl ld h,a  call prhlh    ld a,(iy+68) ld c,a  ld a,(iy+69)  cp c 
jr nz,thspcs    ld a,1 ld (iy+69),a  ld a,10 call &BB5A  ld a,13 call &BB5A  jr 
after3    .thspcsinc a ld (iy+69),a  ld a,32 call &BB5A  call &BB5A  call &BB5A 
   .after3ld b,14  .skip0push bc call &BC80 pop bc  djnz skip0  ret  MOD ***    
 LDIR command    .ldiricall buffc    ld c,2 cp 1  jp nz,error    call &BC7Daband
on insend byte  ld a,(iy+1)local echo  or a jr z,nokey  ld a,e  push af call vt5
2c pop afif so, print character  cp 13 jr nz,nokeyCR  ld a,10 call sendbtif so, 
add LF  ld a,10 call vt52c    Get characters from input buffer and print    .nok
eycall &BD19  call &BB84cursor off  if kds ld b,86  else   ld b,8  endif  ld e,(
iy+38) ld d,0DE  (buffer get offset)    .gclooppush bc    push iy pop hl  ld bc,
116 add hl,bc  add hl,deHL  address in buffer to get  di ld a,(hl) or a jp z,noi
np    ld (hl),0 ei ld c,a  ld a,(iy+5) cp 1 call z,capprnfile capture mode  .pcc
harld a,c push de call vt52c    if kds di call fastr pop depop de  else   di cal
l fastr pop de  endif  inc e    .noinpei pop bc djnz gcloop  ld (iy+38),e(buffer
 get offset)  DE  jp comlp    File capture mode    .capprnld a,c push de push hl
  ld e,(iy+40) ld d,(iy+41)DE  (file bytes count)  ld l,(iy+7) ld h,(iy+8)HL  (f
ile buffer address)  add hl,d   *** SIO.MOD ***     SEND command    .sendild c,2
 or a jp z,error    ld e,a dec a rlca  ld b,0 ld c,a  db &DD sbc hl,bc    .sloop
ld a,(ix) call sendbt  dec e ret z  inc ix inc ix jr sloop     GET command    .g
etild c,2 cp 1 jp nz,error  ld l,(ix) ld h,(ix+1)  ld e,(iy+9) ld d,(iy+10)ld de
,(timest)  call waitbt jp nc,timout  ld (hl),a ret     GRAB command    .grabild 
c,2 cp 1 jp nz,error  ld l,(ix) ld h,(ix+1)  call grabbt  ld (hl),a ret     We l
d (hl),a  inc de  ld (iy+40),e ld (iy+41),d(file bytes count)  DE  ld a,d cp 12 
jr z,bfillBuffer full  pop hl pop de retIf not, return    .bfillpush bc call sto
pelse yell "stop!!!"    push iy pop hl  ld de,24 add hl,de  call &BCE6temporaril
y remove fast ticker block     ld l,(iy+7) ld h,(iy+8)HL  (file buffer address) 
 ld de,1024 add hl,de  ld bc,2048  .bfloopld a,(hl) call &BC95write to the disc 
 jr nc,cmerrjump out if error  inc hl dec bc ld a,b orRITE command    .wrtild c,
2  or a jr z,sndcrif no parameters, send CR only  cp 1 jp nz,errorerror 2 if not
 1 parameter    ld l,(ix)  ld h,(ix+1)    ld a,(hl) inc hl  ld e,(hl) inc hl  ld
 d,(hl)  ex de,hl  or a jr z,exitwr  ld e,a    .wrloopld a,(hl) call sendbt  inc
 hl dec e jr nz,wrloop    .exitwrld a,(iy+3) or a ret zCR on/off    .sndcrld a,1
3 jp sendbt     COM command    .comicall cbuffrClear text buffer  call ckeyon   
 .wtccbld bc,conin in a,(c) bit 7,aC c jr nz,bfloop  ld (iy+40),e ld (iy+41),dfi
le buffer address back to normal    .rescompush iy pop hl  ld de,24 add hl,de  c
all &BCE3replace fast ticker block    call resume"carry on!!"  pop bc pop hl pop
 de retand return    .cmerrld (iy+5),0if error, capture mode OFF  call &BC92aban
don output file  jr rescomresume communication!    Fast ticker event    .fastrpu
sh iy  ld iy,(&BAFD)  ld hl,(&BAFD)  ld de,116 add hl,deHL  buffer start  call g
rabbt  ld d,0haracter available  jr z,noccb  ld bc,datin in a,(c) jr wtccbIf so,
 get and try until not available    .noccbcall &B912 ld c,a ld b,&80Set up fast 
ticker interrupt  push iy pop hl  ld de,24 add hl,de  ld de,fastr  call &BCE0   
 Main COM loop    .comlp ld a,(iy+2) or a  call nz,&BB81Cursor on if selected   
 Get key and send    call &BB09  jp nc,nokeyno key pressed  cp &FC jp z,quitif E
SC, quit  cp 224 call z,&BB60if COPY, copy character  ld e,a call sendbt  Ne,116
 add ix,deIX  buffer  ld e,(iy+9) ld d,(iy+10)DE  timeout  call waitbt jp nc,wtm
out  ld b,(iy+42)B  number of parameters    .chkslpld e,(ix) ld d,0  ld l,(ix+2)
 ld h,(ix+3)  add hl,de  cp (hl) jr z,corres  ld (ix),0    .rfckinc ix inc ix in
c ix inc ix  djnz chkslp    push iy pop hl  inc h dec hlHL  buffer+255  ld (hl),
a  ld a,(iy+5) or aA  file capture mode  call nz,capprn  jr wgloop    .corresinc
 e ld (ix),e  ld a,e cp (ix+1) ld a,(hl)  jr nz,rfck    jr c,typok jp z,oderr ld
 c,8 jp error    .typokcall &BC80 jr nc,qutyp  call vt52c  call &BB09 jr nc,typo
k  cp &FC jr z,qutyp call &BB81 call &BB18 call &BB84  jr typok    .qutypjp &BC7
A     DTR command    .dtriif kds ld c,19 jp error  elseld c,2 cp 1 jp nz,error  
ld a,(ix)  ld c,1 cp 2 jp nc,error  rrca push af ld a,(iy+12) and 127using regis
ter 5  pop bc or b ld (iy+12),a ld d,5  endifjp preg     RTS command    .rtsild 
c,2 cp 1 jp nz,er    .wsrvalld l,(iy+38) ld h,(iy+39)  push hl pop ixHL  buffer 
get offset  ld a,(iy+42)A  number of parameters  ld e,a ld d,0 add ix,de add ix,
de  ld l,(ix) ld h,(ix+1) ld (hl),b  ret    .wtmoutld b,0 call wsrval  jp timout
     INPUT command    .inpild c,2  cp c jr z,inpw  cp 1 jp nz,error  .inpokld l,
(ix)  ld h,(ix+1)  ld a,(hl) inc hl  ld e,(hl) inc hl  ld d,(hl)  ex de,hlA cont
ains length, HL address of string  ld b,a    .inplpld e,(iy+9) ld d,(iy+10) ld e
,(iy+36)DE  buffer offset  add hl,de  ld (hl),a or a  jp z,retfr inc e    ld hl,
(&BAFD)  push de  ld de,116 add hl,deHL  buffer start  call grabbt  pop deDE  bu
ffer offset  add hl,de  ld (hl),a or a  jp z,retfr1 inc e    .retfr1ld (iy+36),e
buffer store offset  DE  .retfrpop iy ret    Quit from COM mode    .quitcall &BB
48  call &BB1Bremove break  call &BB84cursor off  push iy pop hl  ld de,24 add h
l,deHL  fast ticker block address  call &BCE6 DE  timeout  push bc call waitbt p
op bc  jp nc,timout  ld (hl),a  inc hl  djnz inplp  ret    .inpwld l,(ix+2)  ld 
h,(ix+3)  ld a,(hl) inc hl  ld e,(hl) inc hl  ld d,(hl)  ex de,hlA contains leng
th, HL address of string  ld e,a    .inpwlpush de call grabbt pop de  jp nc,inpw
l  ld (hl),a  cp (ix) jp z,inpwc  inc hl  dec e jp nz,inpwl  ret    .inpwcld l,(
ix+2)  ld h,(ix+3)  ld a,e  dec a  .iwclret z  dec (hl)  dec a  jp iwcl     CAPT
URE command    .captic   Key settings    .ckeyofcall &BB00 jp &BB18    .ckeyonld
 a,79 ld b,8 call setkey  ld a,0 ld b,11 call setkey  ld a,2 ld b,10 call setkey
  ld a,8 ld b,8 call setkey  ld a,1 ld b,9 call setkey  ld a,9 ld b,27 call setk
ey  ld a,9 ld b,224 jp &BB27    .setkeyld c,a call &BB27 normal key  ld a,c call
 &BB2D+SHIFT  ld a,c jp &BB33+CTRL       WAIT command    .waitild c,2 or a jp z,
error  cp 1 jr nz,wnot1  push iy pop ix  ld de,116+250 add ix,deIX  buffer+250 a
ll buffc  ld c,2 cp 1 jp nz,error    ld e,(iy+7) ld d,(iy+8)DE  file buffer addr
ess  ld hl,1023 add hl,de ex de,hl  ld l,(ix) ld h,(ix+1) push hl pop ix  ld b,(
ix) ld l,(ix+1) ld h,(ix+2) call &BC8C    jr c,copok jr z,oderr ld c,8 jp error 
 .oderrld c,9 jp error    .copokld a,1 ld (iy+5),aA  file capture mode  ld hl,10
24 ld (iy+40),l ld (iy+41),hHL  file bytes count  xor a jp &BC95     CLOSE comma
nd    .closild c,10 ld a,(iy+5) or a jp z,error  xor a  push ix pop de  dec de d
ec deDE  buffer+248  ld l,(ix) ld h,(ix+1)  ld (ix),l ld (ix+1),h ld (ix+2),e ld
 (ix+3),d  inc a  .wnot1dec a  ld (iy+42),aA  number of parameters  push ix pop 
de  ld (iy+38),e ld (iy+39),dbuffer get offset  IX    push hl push iy pop hl  ld
 de,116 add hl,de ex de,hl  pop hlDE  buffer  .stbuffex de,hl ld (hl),0 ex de,hl
 inc de  ld l,(ix) ld h,(ix+1) inc ix inc ix  ldi ldi ldi dec a jr nz,stbuff    
.wglooppush iy pop ix  ld dld (iy+5),ano file capture mode  ld l,(iy+7) ld h,(iy
+8)HL  file buffer address  ld de,1024 add hl,de  ld c,(iy+40) ld b,(iy+41)BC  f
ile bytes count  dec bc  .clslpld a,(hl) call &BC95 inc hl dec bc ld a,b cp 3 jr
 nz,clslp  jp &BC8F     TYPE command    .typeicall buffc  ld c,2 cp 1 jp nz,erro
r    ld e,(iy+7) ld d,(iy+8)DE  file buffer address  ld hl,1024 add hl,de ex de,
hl  ld l,(ix) ld h,(ix+1) push hl pop ix  ld b,(ix) ld l,(ix+1) ld h,(ix+2) call
 &BC77  N-digit decimal    .prdecld d,100 call pdchr  ld d,10 call pdchr  ld d,1
    .pdchrld c,0  .pdlopsub d jr c,pdfin  inc c jr pdlop    .pdfinadd a,d  push 
af ld a,c add &30 call &BB5A pop af  ret     Print A as 3-digit decimal, with sp
aces    .praspld b,0  ld d,100 call pschr  ld d,10 call pschr  ld b,1 ld d,1    
.pschrld c,0  .pslopsub d jr c,psfin  inc c jr pslop    .psfinadd a,d  push af l
d a,c or b jr nz,psnsp  ld a,240  .psnspadd 48 call &BB5A  pess  ld hl,1024 add 
hl,de ex de,hl  ld l,(ix) ld h,(ix+1) push hl pop ix  ld b,(ix) ld l,(ix+1) ld h
,(ix+2) call &BC77    jr c,eopok jp z,oderr ld c,8 jp error    .eopokpush iy pop
 hl  ld de,24 add hl,deHL  fast ticker block  call &B912 ld c,a ld b,&80  ld de,
fastr call &BCE0set up fast ticker interrupt    .echolpcall &BC80 jp nc,equit  c
p 10 jr z,echolp  call sendbt    ld e,(iy+38) ld d,0DE  buffer get offset    .ec
looppush iy pop hl add hl,de push de  ld deop af ret     Print HL as (up to) 5-d
igit decimal    .prhlld c,0  ld de,10000 call prhlr  ld de,1000 call prhlr  ld d
e,100 call prhlr  ld de,10 call prhlr  ld c,1 ld de,1  .prhlrxor a  .prhllpscf c
cf sbc hl,de jr c,prhlo  inc a jr prhllp  .prhloadd hl,de or a jr nz,prhly cp c 
ret z  .prhlyld c,1 add &30 call &BB5A ret     Print HL as 4-digit hex    .prhlh
ld a,h call prah  ld a,l jp prah     Print A as 2-digit hex    .prahld b,0 ld c,
a  rr a rr a rr a,116 add hl,de pop deHL  position in buffer  ld a,(hl) or a jp 
z,echolp    call vt52c ld (hl),0    di push de call fastr pop de ei  inc e  ld (
iy+38),eDE  buffer get offset  jr ecloop    .equitpush iy pop hl  ld de,24 add h
l,de call &BCE6  jp &BC7A    .timoutld c,11 jp error  d c,2 or a jp z,error    l
d e,a dec a rlca  ld b,0 ld c,a  db &DD z,echolp  call sendbt    ld e,(iy+38) ld
 d,0DE  buffer get offset    .eclooppush iy pop hl add hl,de push de  ld de rr a
  .prahiland 15  cp 10 jr nc,prahlt  add a,48  call &BB5A  jr prahot  .prahltadd
 a,55  call &BB5A  .prahotld a,b  cp 1 ret z  ld a,c ld b,1  jr prahil     Send 
byte A to serial interface    if kds  .sendbtld bc,conin  .seloopin d,(c) bit 6,
d jr z,seloop  call revers  ld bc,datout out (c),a ret  else  .sendbtld bc,conpo
rt  .seloopin d,(c) rr d rr d rr d jr nc,seloop  ld bc,datport out (c),a ret  en
dif     Get byte A from serial interface    if kds  .getbtld   *** SUBROUT.MOD *
**     Check for file buffer    .buffcpush af push bc  ld a,(iy+7) ld b,a  ld a,
(iy+8) or b  pop bc  jr z,ebuff  ld a,(iy+5) or a jr nz,ebuff2  pop af ret  .ebu
ffpop af pop hl ld c,6 jp error  .ebuff2pop af pop hl ld c,8 jp error     Conver
t baud rate HL to 8253 value    .bconvld ix,tb8253  .bcloopld a,(ix+2)  or a jr 
z,bcerrrun out!  ld a,(ix)  cp l jr nz,difflow byte different  ld a,(ix+1)  cp h
 jr nz,diffhigh byte different  ld l,(ix+2ror  ld a,(ix)  ld c,1 cp 2 jp nc,erro
r  if kds rlca rlca push af  ld a,(iy+11) and 249control register  pop bc or b l
d (iy+11),a  elserlca push af ld a,(iy+12) and 253r5  pop bc or b ld (iy+12),a l
d d,5  endifjp preg     DCD command    .dcdild c,2 cp 1 jp nz,error  ld l,(ix) l
d h,(ix+1)  if kds call rreg and 32 xor 32  rra rra rra rra rra  elseld d,0 call
 rreg and 8  rra rra rra  endifld (hl),a  inc hl ld (hl),0 ret     CTS comman) l
d h,(ix+3) ret  .diffinc ix inc ix inc ix inc ix jr bcloop  .bcerrpop hl ld c,1 
jp error     Print error number C - corrupts all registers    .errorld a,(iy+0) 
 or a ret z  ld b,cpreserve error number  ld hl,errtxt  .etrydec c jr z,gotit   
 .eloopinc hl ld a,(hl) or a jr nz,eloop  inc hl jr etry    .gotitpush hl  ld hl
,cetxt  call stringprint "Comms error "  ld a,b call prdecprint error number  po
p hl jp stringprint error string     Print A as 3d    .ctsild c,2 cp 1 jp nz,err
or  ld l,(ix) ld h,(ix+1)  if kdscall rreg and 16  rra rra rra rra  elseld d,0 c
all rreg and 32  rlca rlca rlca  endifld (hl),a  inc hl ld (hl),0 ret     ECHO c
ommand    .echoicall buffc  ld c,2 cp 1 jp nz,error    .wtccbeld bc,conin in a,(
c) bit 7,aCharacter available  jr z,noccbe  ld bc,datin in a,(c) jr wtccbe If so
, get and try until not available    .noccbecall cbuffr    ld e,(iy+7) ld d,(iy+
8)DE  file buffer addr  Nbc,conin  .gtloopin d,(c) bit 7,d jr z,gtloop  ld bc,da
tin in a,(c)  jp revers  else  .getbtld bc,conport  .gtloopin d,(c) rr d jr nc,g
tloop  .getchrld bc,datport in a,(c) ret  endif     Grab byte A from serial inte
rface (try once only)    if kds  .grabbtld bc,conout ld a,(iy+11)  and 251 out (
c),adrop RTS    ld bc,conin in d,(c)  bit 7,d jr nz,grbchrcharacter received    
ld bc,conout ld a,(iy+11)  out (c),a xor a retif not, RTS high, A0, RET    .grbc
hrld bc,dattctlpinc hl jr vtstlp  .exstlpld a,c cp "A" jr z,vta cp "B" jr z,vtb 
cp "C" jr z,vtc cp "D"  jr z,vtd cp "E" jr z,vte cp "L" jr z,vtl cp "M" jp z,vtm
  cp "X" jp z,vtx cp "Y" jp z,vty cp "j" jp z,vtj  cp "k" jp z,vtk cp "l" jp z,v
tl cp "p"  jp z,vtp cp "q" jp z,vtq ret    .vtacall &BB78 ld a,1 cp l ret z ld a
,11 jp &BB5A  .vtbcall &BB69 inc e call &BB78 ld a,l cp e ret z ld a,10 jp &BB5A
  .vtccall &BB69 inc d call &BB78 ld a,h cp d ret z ld a,9 jp &Bin in a,(c) dec 
cotherwise, get it  .grblpin d,(c) bit 7,d jp nz,grblp    ld bc,conout ld d,(iy+
11)RTS high again  out (c),d jp revers    else  .grabbtld bc,conport in d,(c)  r
r d jr c,grbchr xor a ret  .grbchrld bc,datport in a,(c) ret  endif      if kds 
Reverse byte A (corrupts BC)    .reversld c,0 ld b,8  .revlprla rr c djnz revlp 
 ld a,c ret endif     Get byte A from serial interface (wait for time in DE)   C
arry is set if ok, reset if not ok    if kds B5A  .vtdcall &BB78 ld a,1 cp h ret
 z ld a,8 jp &BB5A  .vtecall &BB78 push hl call &BB6C pop hl jp &BB75  .vtlcall 
&BB69 ld c,h call &BB78 dec l ld h,c ld a,0 ld b,0 jp &BC50  .vtmcall &BB69 ld c
,h call &BB78 dec l ld h,c ld a,0 ld b,1 jp &BC50  .vtxld a,4 ld (iy+108),a ld a
,"w" ld (iy+109),a ret  .vtyld a,2 ld (iy+108),a ld a,"c" ld (iy+109),a ret  .vt
jcall &BB78 ld (iy+110),l ld (iy+111),h ret  .vtkld l,(iy+110) ld h,(iy+111) jp 
&BB75  .vtlcall &BB69 ld c,h .waitbtld (iy+87),e ld (iy+88),d ld bc,conin ld a,1
 ld (iy+89),a  .wtloopin d,(c) bit 7,d jr nz,waitcr  ld a,(iy+89) or a jr nz,wtl
oop ret  .waitcrld bc,datin in a,(c)  call revers scf ret   else  .waitbtld (iy+
87),e ld (iy+88),d ld bc,conport ld a,1 ld (iy+89),a  .wtloopin d,(c) rr d jr c,
waitcr  ld a,(iy+89) or a jr nz,wtloop ret  .waitcrld bc,datport in a,(c) ret  e
ndif     MC WAIT PRINTER redirection    .redirpush de push hl  ld c,0 ld hl,send
bt  call &1B call &BB78 dec l ld e,l ld h,c xor a ld b,a jp &BC50  .vtpxor a cal
l &BB90 ld a,1 jp &BB96  .vtqxor a call &BB96 ld a,1 jp &BB90    .escsntld a,1 l
d (iy+108),a ret    .vt52accp "w" ld a,(iy+108) jr z,vt52ws cp 1 jr nz,vtdocp ld
 a,c sub 31  ld (iy+112),a ret  .vtdocpld a,c sub 31 ld h,a ld a,(iy+112) ld l,a
 call &BB75 jr vtcm  .vt52wspush iy pop hl ld de,112 add hl,de ld e,a ld d,0  ad
d hl,de ld a,c sub 32 ld (hl),a  ld a,e or a ret nz ld a,(iy+115) ld e,aKL FAR P
CHL  scfcarry  no time-out  pop hl pop de ret     Frame flyback event for counte
r    .fcountpush iy ld iy,(&BAFD)  ld a,(iy+89) or a jr z,retfc  ld l,(iy+87) ld
 h,(iy+88) dec hl  ld (iy+87),l ld (iy+88),h  ld a,h or l ld (iy+89),a  .retfcpo
p iy ret     Print string at HL    .stringld a,(hl) or a ret z call &BB5A inc hl
 jr string     Register access   Amstrad - send/read A, DART register D   KDS - 
send/read A, 6850 control port    if kds  .preg ld a,(iy+114) ld d,a  ld a,(iy+1
13) add a,e ld l,a ld a,(iy+112) add a,d ld h,a  call &BB66  .vtcmxor a ld (iy+1
09),a ret     Stop (XOFF, drop RTS)    .stopld a,(iy+4) or a ld a,19 call nz,sen
dbt  .stop2if kds ld a,(iy+11) and 251 jp preg  else   ld a,(iy+12) and 253 ld d
,5 jp preg  endif     Resume (XON, RTS high)    .resumeld a,(iy+4) or a ld a,17 
call nz,sendbt  .resum2if kds ld a,(iy+11) jp preg  else   ld a,(iy+12) ld d,5 j
p preg  endif     Reset intld bc,conout out (c),a ret  .rregld bc,conin in a,(c)
 ret  else  .pregld bc,conport out (c),d out (c),a ret  .rregld bc,conport out (
c),d in a,(c) ret  endif     Print VT52 character A    .vt52cld c,a ld a,(iy+108
) or a jp nz,vtpr ld a,c  cp 31 jp nc,&BB5A cp 27 jp z,escsnt  cp 7 ret c cp 14 
ret nc jp &BB5A  .vtprdec a ld (iy+108),a ld a,(iy+109) or a jp nz,vt52ac ld hl,
vt52st  .vtstlpld a,(hl) or a jr z,exstlp  inc hl cp c jr nz,stctlp ld a,(hl) jp
 &BB5A  .s  Nmicall reset ld hl,2400 ld de,24002400/2400 bps  .termxcall gotbp  
ld a,1 ld (iy+2),acursor on  ld (iy+4),aXON flow control on  ld hl,500  ld (iy+9
),l ld (iy+10),htimeout 10 seconds  ld hl,tfbuff  ld (iy+7),l ld (iy+8),hfile bu
ffer  ld ix,tpblock ld (ix),1 ld (ix+1),0  ld (ix+2),0 ld (ix+3),0  ld (ix+4),8 
ld (ix+5),0  push iy  ld a,3 call wordiset data word  pop iy  if kds else ld a,1
 call hwok endifset hardware handshaking    call &BB00 call &BB4E cl gotbp jp rs
mnu    .wrdmnuld hl,tmword call menu jp z,rsmnu  ld ix,tpblock ld (ix),1 ld (ix+
1),0  cp 1 jr nz,par2  ld (ix+2),0 ld (ix+4),8 jr swrd  .par2ld (ix+2),2 ld (ix+
4),7  .swrdld (ix+3),0 ld (ix+5),0  push iy ld a,3 call wordi  pop iy jp rsmnu  
  .dobrkcall brki jp rsmnu    .dirmnuld hl,tmdir call menu jp z,mainm  ld (iy+86
),acurrent directory  ld hl,cdname ld de,tpblock+513  ld bc,12 ldir  ld hl,tpblo
ck+520 add 48filename "CHARLEY.DIR"  ld (hl),a call &BCall &BBBA call &BBFF    l
d a,&40 call &BC08  ld a,1   call &BC0Eclear low screen  ld a,&C0 call &BC08  ld
 a,2   call &BC0Eclear high screen    .tcomcall comi  call stop2"Oy!!!! Hold on!
"    call &BB78 ld (chapos),hlstore character position  call &BC0B ld (offset),h
lstore screen offset    ld a,&40 call &BC08  .msetupld a,1 call &BC0EMODE 1  ld 
bc,0 call &BC38border 0  ld a,0 ld bc,&0000 call &BC32set inks  ld a,1 ld bc,&1A
1A call &BC32   ld a,2erface and variables    .resetif kds ld a,(iy+11) or &C0 c
all preg  else   ld a,&18 ld d,0    call preg  endif    ld a,1 ld (iy+0),a  ld (
iy+3),a    ld a,0 ld (iy+1),a  ld (iy+2),a  ld (iy+4),a  ld (iy+5),a  ld (iy+9),
a ld (iy+10),a  ld (iy+108),a ld (iy+109),a    ld a,2 ld (iy+107),a    push iy p
op hl  ld de,45 add hl,de ex de,hl  ld hl,rsftxt ld bc,23 ldir    if kds ld a,%1
0101100 ld (iy+11),a call preg  else   ld a,%11100001 ld (iy+11),a ld d,3 call p
reg  ld a,%1 ld bc,&0202 call &BC32   ld a,3 ld bc,&0606 call &BC32     ld hl,cc
rtxt call string  ld de,&0004 ld hl,&2718  call &BB66set up window  .mainmld hl,
tmmain call menu  jp z,qucom  cp 1 jp z,rsmnu  cp 2 jp z,cptmnu  cp 3 jp z,filmn
u  cp 4 jp z,dscmnu  cp 5 jp z,dirmnu  if kds else  cp 6 jp z,hangup  endif    .
rsmnuld hl,tmrs call menu  jr z,mainm  cp 1 jp z,bpsmnu  cp 2 jp z,wrdmnu  if kd
selse cp 6 jp z,hhsmnu  endifcp 3 jp z,dobrk  cp 4 jp z,xonmnu  cp 1101010 ld (i
y+12),a ld d,5 call preg  endif  ret    .rsftxtdb "DOWNLOAD.",0  db "           
 ",0     Clear text buffer    .cbuffrpush iy pop hl  ld de,116 add hl,deHL  buff
er  ld d,h ld e,l inc deDE  buffer+1  ld bc,255  ld (hl),0  ldir    ld hl,0  ld 
(iy+38),l ld (iy+39),hbuffer get offset  ld (iy+36),l ld (iy+37),hbuffer store o
ffset  ret  SUBROUT $$$MOD ***     Check for file buffer    .buffcpush af push b
c  ld a,(iy+7) ld b,a  ld a,(iy+8) or b  p5 jp z,lclmnu    timeout - removed fro
m production version    ld hl,tostxt  call string    .tvdispld hl,&0B03 call &BB
75  ld l,(iy+9) ld h,(iy+10) call prhlprint time-out  ld a,32 call &BB5A    .tvw
aitcall &BB06  cp 32 jp z,rsmnu cp 224 jp z,rsmnu cp &FC jp z,rsmnu  ld l,(iy+9)
 ld h,(iy+10)  ld de,25  cp 240 jr z,tvup  cp 241 jr nz,tvwait  ld a,h cp d jr n
z,tvn0  ld a,l cp e jr z,tvwait  .tvn0scf ccf sbc hl,de  ld (iy+9),l ld (iy+10),
h jr tvdisp  .tvupadd hl,de ld   *** TERMINAL.MOD ***    tfbuffequ &2000terminal
 file buffer  tpblockequ &3000terminal parameter block  offsetequ &3FFEoffset st
ore location  chaposequ &3FFCcharacter position store location         TERMxx co
mmands    .tm3icall reset ld hl,300 ld de,300 jp termx  .tm75icall reset ld hl,1
200 ld de,75 jp termx  .tm12icall reset ld hl,1200 ld de,1200 jp termx  .tm24ijp
 termi  .tm48icall reset ld hl,4800 ld de,4800 jp termx     TERMINAL command    
.ter(iy+9),l ld (iy+10),h jr tvdisp    if kdselse  .hhsmnuld hl,tmhshk call menu
 jp z,rsmnu  dec a call hwok jp rsmnu endif    .xonmnuld hl,tmxon call menu jp z
,rsmnu  dec a xor 1 ld (iy+4),a jp rsmnuXON control    .lclmnuld hl,tmlocl call 
menu jp z,rsmnu  dec a xor 1 ld (iy+1),a jp rsmnuLocal echo    .bpsmnuld hl,tmba
ud call menu jp z,rsmnu  ld b,a ld ix,tbsets  .bpsgvlld l,(ix) ld h,(ix+1) ld e,
(ix+2) ld d,(ix+3)  inc ix inc ix inc ix inc ix djnz bpsgvl  ld a,2 cal  Nl add 
hl,hl  add hl,hl add hl,hl add hl,hl  ld de,tpblock add hl,deHL  base address of
 entry  push hl  ld c,26 call editln  ld a,35 call &BB6F  pop hl ld de,26  add h
l,de push hlHL  address of entry type  inc hl  ld a,(tpblock+512) cp 17  jr z,no
autif macro, no secondary entry  ld c,5 call editlnedit secondary entry  ld a,b 
or a jr nz,notaut  ld a,35 call &BB6F  ld hl,atotxt call stringprint "auto" if n
o text entered  ld a,1 jr putautsecondary entry 1  finished display    ld hl,&03
11 call &BB75column 3, row 17  ld a,"M" call &BB5A"M" (macro)  ld a,32 call &BB5
A call &BB5Atwo spaces  ld a,3 call &BB90PEN 3  push ix pop hl  ld b,26 call str
ng2dialling string for macro    ld hl,svdtxt call string"Save directory"    ld a
,3 call &BB90  ld hl,&0101  .dirclppush hl call &BB75 pop hl  ld a,246 call &BB5
A  call &BB06  push af push hl call &BB75  ld a,32 call &BB5A pop hl pop af  cp 
&FC jp z,dirmnu  cp 240 jr z,di(autodial)  .notautld a,0 jr putautsecondary entr
y 0 (not autodial)  .noautpop hl push hl ld (hl),0no secondary entry (macro)  in
c hl ld (hl),0  inc hl ld (hl),0  inc hl ld (hl),0  inc hl ld (hl),0  inc hl ld 
(hl),0  .putaut pop hl ld (hl),a  pop hl jp dirclp          .dirdiadirect dial  
      .dscmnuld hl,tmdisc call menu jp z,mainm  cp 1 jp z,catdsc  cp 2 jp z,driv
ea  cp 3 jp z,driveb  cp 4 jp z,erase  cp 5 jp z,rename  cp 6 jp z,user    ld hl
,typtxt call strrup  cp 241 jr z,dirdn  cp 224 jp z,dirdl  cp 32  jp z,dirdl  cp
 243 jp z,dired  jr dirclp    .dirupld a,l cp 1 jr z,dirclp  dec l cp 17 jr z,de
cagn  cp 19 jr z,decagn  jr dirclp  .decagndec l jr dirclp    .dirdnld a,l cp 19
 jr z,dirclp  inc l cp 15 jr z,incagn  cp 17 jr z,incagn  jr dirclp  .incagninc 
l jr dirclp    .dirdlld a,ldial number  cp 17 jr z,dirclp  cp 19 jr z,dirsv    d
ec l ld h,0 add hl,hl add hl,hl  add hl,hl add hl,hl add hl,hl  ld de,ing  ld hl
,&0B03 call &BB75  ld hl,tpblock+5 call inputf jp z,dscmnu  ld a,b or a jp z,dsc
mnu  ld (tpblock+2),a ld (tpblock+3),hl  ld a,2 call &BC0E call &BC02  ld ix,tpb
lock ld hl,tpblock+2  ld (ix),l ld (ix+1),h  ld a,1 call typei  ld hl,keytxt cal
l string  call &BB81 call &BB18 call &BB84  jp msetup    .userld hl,ustxt call s
tring    ld e,0  .usdispld hl,&0B03 call &BB75  ld a,e call prdec  ld a,32 call 
&BB5A  .uswaitcall &BB06  cp 32 jr z,exitus cp 224 jr z,exitutpblock add hl,deHL
  base address of entry    push hl pop ix  ld a,(ix+26) cp 1  jr z,dirau    ld d
e,27 add hl,de  ld b,5 call dirtssend first part of entry  push ix pop hl  ld b,
26 call dirtssend main part  ld a,13 call sendbtCR  jp qucom    .dirtsld a,(hl) 
or a ret ztransmit string from HL, max.len. B  cp "M" jr z,macro  push bc call s
endbt pop bc  .apdtsinc hl djnz dirts  ret    .macropush hl push bcmacro handler
  ld hl,tpblock+&1E0  .maclpld a,(hl)7D  ld hl,tpblock+513 ld b,12  ld de,tfbuff
 call &BC77try to open file for input  jr c,dopok    call &BC7D  ld hl,tpblock l
d de,tpblock+1  ld (hl),0 ld bc,512 ldirclear buffer  jr dispdr    .dopokld hl,t
pblock call &BC83read file in  call &BC7Aclose file    .dispdrcall &BB6C  ld a,1
 call &BB90PEN 1  ld l,1 ld ix,tpblock  .ddlooppush hl  ld h,3 call &BB75column 
3, appropriate row  pop hl push hl  ld a,l add 48  cp "9"+1 jr c,ddhnok  add 7A-
F  .ddhnokcall or a jr z,exmac  call sendbt inc hl  jr maclp  .exmacpop bc pop h
l jr apdts    .dirauret*********************    .dirsvld hl,tpblock+513 ld b,12 
 ld de,tfbuff call &BC8C  ld hl,tpblock ld de,512  ld bc,tpblock ld a,2  call &B
C98 call &BC8F  jp dispdr    .diredpush hl  ld a,l ld (tpblock+512),a  ld h,5 ca
ll &BB75  ld a,18 call &BB5Aclear rest of line  ld a,3 call &BB90PEN 3  pop hl p
ush hl  ld a,l dec l  cp 17 jr nz,notmac  ld l,15  .notmacld h,0 add hl,h &BB5Ap
rint 1-9,A-F digit  ld a,32 call &BB5A call &BB5Atwo spaces  ld a,3 call &BB90PE
N 3  push ix pop hl  ld b,26 call strng2dialling string  ld a,35 call &BB6Fcolum
n 35  ld a,(ix+26) or a  jr nz,autodautodial  push ix pop hl  ld de,27 add hl,de
 ld b,5  call strng2if not, print extra field  jr dextra  .autodld hl,atotxt cal
l stringprint "auto"  .dextrald a,1 call &BB90  pop hl  ld de,32 add ix,de  inc 
l ld a,l  cp 16 jp nz,ddlooploop back if not  Ns cp &FC jr z,exitus  cp 240 jr z
,usup  cp 241 jr nz,uswait  ld a,e or a  jr z,uswait dec e jr usdisp  .usupld a,
e cp 15 jr z,uswait inc e jr usdisp  .exituspush de ld hl,usetxt call rsx ld a,2
 pop de  ld ix,tpblock ld (ix),e ld (ix+1),0 ld a,1 call &1B jp dscmnu    .catds
ccall catlog jp dscmnu  .catcptcall catlog jp cptmnu  .catfilcall catlog jp film
nu    .catlogcall &BB6C ld a,1 call &BB90  ld l,(iy+7) ld h,(iy+8) ld de,1024 ad
d hl,de  ex de,hl call &BC9B call &Bnm  cp 1 jp z,catfil  cp 2 jp z,downld  cp 3
 jp z,upload    .selprtld hl,tmprot call menu jp z,filmnu  dec a ld (iy+107),a j
p filmnuprotocol selection    .downldld hl,dsftxt call string  ld hl,tpblock+5 c
all inputf jp z,filmnu  ld a,b or a jp z,noname  ld (tpblock+2),a ld (tpblock+3)
,hl  ld ix,tpblock ld hl,tpblock+2  ld (ix),l ld (ix+1),h  ld a,1 dec ix dec ix 
push ix pop hl  ld (iy+70),l ld (iy+71),hcurrent name address  jr dodnld  .nonam
exor a  .dodnldld (iy+42),aB18 ret    .driveald a,15 call &BB72 ld hl,dratxt cal
l rsx call &1B jp dscmnu  .drivebld a,15 call &BB72 ld hl,drbtxt call rsx call &
1B jp dscmnu    .eraseld hl,eratxt call string  ld hl,&0B03 call &BB75  ld hl,tp
block+5 call inputf jp z,dscmnu  ld a,b or a jp z,dscmnu  ld (tpblock+2),a ld (t
pblock+3),hl  ld hl,erctxt call rsx  ld a,1 ld ix,tpblock ld de,tpblock+2  ld (i
x),e ld (ix+1),d  call &1B jp dscmnu    .renameld hl,rentxt call string  ld hl,&
0B03 call &BB75  ld  ld a,3 ld (iy+5),a jp qucomnparam, fcmode    .uploadld a,(i
y+107) cp 2 jp nz,sfilespecp  ld hl,ufntxt call string  xor a ld (iy+42),a  ld h
l,tpblock+&7E  ld (iy+70),l ld (iy+71),hspace to store parameters  ld hl,tpblock
+&80  ld (iy+43),l ld (iy+44),hspace to store descriptors  ld hl,tpblock+&110 ld
 (iy+40),l ld (iy+41),hspace to store strings    .upflpld l,(iy+40) ld h,(iy+41)
 call inputf  jp z,filmnuESC pressed  ld a,b or a jp z,doupldlast filename enter
ed  phl,tpblock+10 call inputf jp z,dscmnu  ld a,b or a jp z,dscmnu  ld (tpblock
+4),a ld (tpblock+5),hl  ld hl,re2txt call string  ld hl,&0B07 call &BB75  ld hl
,tpblock+&4A call inputf jp z,dscmnu  ld a,b or a jp z,dscmnu  ld (tpblock+7),a 
ld (tpblock+8),hl  ld hl,rectxt call rsx  ld a,2 ld ix,tpblock  ld de,tpblock+4 
ld (ix),e ld (ix+1),d  ld de,tpblock+7 ld (ix+2),e ld (ix+3),d  call &1B jp dscm
nu    if kdselse  .hangupld d,5 ld a,(iy+12) and 127 call pregr5  ld hl,10 lush 
hl   ld l,(iy+43) ld h,(iy+44)   push hl pop ix  pop hlIX  pblock  ld (ix),b ld 
(ix+1),l ld (ix+2),hinsert string descriptor block  ld c,b ld b,0  add hl,bc ld 
(iy+40),l ld (iy+41),hmove onto next string space    push ix pop hl  push de ld 
e,(iy+70) ld d,(iy+71)  push de pop ix pop deIX  cnaddr  ld (ix),l ld (ix+1),had
d descriptor to param table  dec ix dec ix update parameter table position  push
 de push ix pop de  ld (iy+70),e ld (iy+71),d pop hld (iy+87),l ld (iy+88),h ld 
a,1 ld (iy+89),a  .hfflpld a,(iy+89) or a jr nz,hfflp  ld d,5 ld a,(iy+12) or 12
8 call preg  jp mainm endif    .cptmnuld hl,tmcapt call menu jp z,mainm  cp 1 jp
 z,catcpt  cp 2 jp z,opcapt  cp 3 jp z,clcapt    .doechold hl,ecotxt call string
  ld hl,&0B03 call &BB75  ld hl,tpblock+5 call inputf jp z,cptmnu  ld a,b or a j
p z,cptmnu  ld (tpblock+2),a ld (tpblock+3),hl  ld ix,tpblock ld hl,tpblock+2  l
d (ix),l ld (ix+1),h  ld a,2 ld (iy+5),a jp IX  cnaddr    inc hl inc hl inc hl  
ld (iy+43),l ld (iy+44),hupdate descriptor position  ld a,(iy+42) inc a ld (iy+4
2),aincrease number of parameters  bit 6,a jp nz,doupld64 files yet  ld a,10 cal
l &BB5Aif not, next line  ld a,11 call &BB6Fand column 11  jr upflp    .doupldld
 a,4 ld (iy+5),a jp qucomfcmode    .sfileld hl,usftxt call string  ld hl,tpblock
+5 call inputf jp z,filmnu  ld a,b or a jp z,filmnu  ld (tpblock+2),a ld (tpbloc
k+3),hl  ld ix,tpblockqucomfcmode    .opcaptld hl,cpttxt call string  ld hl,&0B0
3 call &BB75  ld hl,tpblock+5 call inputf jp z,cptmnu  ld a,b or a jp z,cptmnu  
ld (tpblock+2),a ld (tpblock+3),hl  ld a,1 ld ix,tpblock ld hl,tpblock+2  ld (ix
),l ld (ix+1),h  call capti jp cptmnu    .clcaptld a,(iy+5) cp 1fcmode  jr nz,cn
open  call closi jp cptmnu  .cnopenld hl,cnotxt call string  ld hl,ky2txt call s
tring  call &BB81 call &BB18 call &BB84  jp cptmnu    .filmnuld hl,tmfile call m
enu jp z,mai  Net  .mnuupld a,1 cp l jr z,mnulp  dec l jr mnulp  .mnudwnld a,b c
p l jr z,mnulp  inc l jr mnulp  .mnuselld a,l or a ret     RSX invoke    .rsxld 
de,&AF00  .rsxlpld a,(hl) ld (de),a  inc hl inc de  bit 7,a jr z,rsxlp  ld hl,&A
F00  jp &BCD4     String print routine v2    .strng2ld a,(hl) or a ret z  call &
BB5A inc hl  djnz strng2 ret     Edit line      (HL is buffer address, C is maxi
mum length - returns length in B)    .editlncall &BB81  ld b,0  .editlpcal .tmma
indb "RS232 settings",0  db "Capture/echo",0  db "File transfer",0  db "Disc ope
rations",0  db "Dialling menu",0  if kdselse db "Hang up",0  endifdb 255    .tmd
irdb "Directory 1",0,"Directory 2",0,"Directory 3",0,"Directory 4",0  db "Direct
ory 5",0,"Directory 6",0,"Directory 7",0,"Directory 8",0  db 255  .tmdiscdb "Cat
alogue",0,"A",0,"B",0,"Erase",0,"Rename",0,"User",0,"Type",0,255  .tmcaptdb "Cat
alogue",0,"Open capture",0,"Close capture",0,"Echo file",0,255  .tmfiledb "Catal
ogue",0,"Dl &BB06  cp 13 jr z,elcr  cp 127 jr z,eldel  ld e,a   ld a,b cp c jr z
,editlpmaximum length  ld a,e  cp 32 jr c,editlp  bit 7,a jr nz,editlp  ld (hl),
a inc hl inc b  call &BB5A jr editlp  .elcrcall &BB84carriage return  ld a,b cp 
c ret z  ld (hl),0 ret  .eldelld a,b or a jr z,editlpcan't delete with no charac
ters!  dec hl ld (hl),0 dec b  ld a,8 call &BB5A  ld a,16 call &BB5A  jr editlp 
    Input filename    .inputfpush hl call &BB81  ld b,0  .ginkeyc ld hl,tpblock+
2  ld (ix),l ld (ix+1),h  ld a,1 ld (iy+42),a dec ix dec ix  push ix pop hl ld (
iy+70),l ld (iy+71),h  jr doupld               Quit to COM mode    .qucomld a,2 
call &BC0E call &BC02  ld a,&C0 call &BC08clear high screen  ld hl,(offset) call
 &BC05restore offset  ld hl,(chapos) call &BB75restore character position  call 
resum2"carry on" to modem  ld a,(iy+5) sub 2 jp c,tcom    jr z,qecho  cp 2 jr z,
qupld    .qdnldxor a ld (iy+5),a  ld a,(iy+42all &BB06  cp &FC jr z,einpf  cp 13
 jr z,einpf  cp 32 jr c,ginkey  cp 127 jr z,delete jr nc,ginkey  bit 4,b jr nz,g
inkey  call &BB5A ld (hl),a inc hl  inc b jr ginkey  .deleteld a,b or a jr z,gin
key  dec b dec hl ld (hl),0  ld a,8 call &BB5A ld a,32 call &BB5A  ld a,8 call &
BB5A jr ginkey  .einpfld (hl),0 pop hl push af call &BB84 pop af cp &FC ret     
Data    .ccrtxtdb 31,11,2, 15,1, "Charley's Comms ROM"  db 31,11,3, 15,2, 208,20
8,208,208,208,208,208,208,208,208,) ld l,(iy+70) ld h,(iy+71)  push hl pop ix in
c ix inc ix  call dnldi  jp tcom  .qupldxor a ld (iy+5),a  ld a,(iy+42) ld l,(iy
+70) ld h,(iy+71)  push hl pop ix inc ix inc ix  call upldi  jp tcom  .qechoxor 
a ld (iy+5),a  ld a,1 call echoi  jp tcom     Menu subroutine    .menuld a,1 pus
h hl call &BB90 call &BB6C pop hl  ld b,0  .mplpld a,(hl)  cp 255 jr z,selmnu  l
d a,11 push hl call &BB6F pop hl  call string  ld a,10 call &BB5A  inc b inc hl 
 jr mplp  208,208,208  db 208,208,208,208,208,208,0    .ustxtdb 12, 31,11,1, 15,
1, "Select user area", 0  .tostxtdb 12, 31,11,1, 15,1, "Time-out (0.02s)", 0  .e
ratxtdb 12, 31,11,1, 15,1, "File to erase", 0  .typtxtdb 12, 31,11,1, 15,1, "Fil
e to type", 0  .ecotxtdb 12, 31,11,1, 15,1, "File to echo", 0  .cpttxtdb 12, 31,
11,1, 15,1, "Capture filename", 0  .cnotxtdb 12, 31,11,1, 15,1, "Capture not act
ive", 0  .dsftxtdb 12, 31,11,1, 15,1, "File to download", 31,11,3, 0  .ufntxtdb 
12, 31,11,1, 15,1, "Files  .selmnuld a,3 call &BB90  ld hl,&0901  .mnulppush hl 
call &BB75 pop hl  ld a,246 call &BB5A  call &BB06  push af push hl call &BB75  
ld a,32 call &BB5A pop hl pop af  cp &FC jr z,escmnuESC  cp 240 jr z,mnuupcursor
 up  cp 241 jr z,mnudwncursor down  cp 224 jr z,mnuselCOPY  cp 32 jr z,mnuselspa
ce  cp 49 jr c,mnulpnot numeric    push af  ld a,b add 48 ld c,a  pop af  cp c j
r c,numopt jr z,numopt  jr mnulp    .numoptsub 48 ret  .escmnuxor a r to upload"
, 31,11,2, "(ENTER to finish)", 31,11,4, 0  .usftxtdb 12, 31,11,1, 15,1, "File t
o upload", 31,11,3, 0  .rentxtdb 12, 31,11,1, 15,1, "Source filename", 0  .re2tx
tdb 31,11,5, "Destination filename", 0  .atotxtdb "auto",0  .svdtxtdb 31,3,19, 1
5,1, "Save directory",0  .keytxtdb 10,10,13, "Press any key ",0  .ky2txtdb 31,11
,3, "Press any key ",0  .cdnamedb "CHARLEY .DIR"  .dratxtdb "A"+128  .drbtxtdb "
B"+128  .erctxtdb "ER","A"+128  .rectxtdb "RE","N"+128  .usetxtdb "USE","R"+128 
     N         ownload (receive)",0,"Upload (send)",0,"Select protocol",0,255  .
tmrsdb "Baud rate",0,"Data word",0,"Send break",0  db "XON control",0,"Local ech
o",0  if kdselse db "Hardware handshake",0  endifdb 255    .tmbauddb "19200",0,"
9600",0,"4800",0,"2400",0,"1200",0,"1200/75",0  db "75/1200",0,"600",0,"300",0,2
55  .tbsetsdw 19200,19200,9600,9600,4800,4800,2400,2400,1200,1200,1200,75,75,120
0  dw 600,600,300,300  .tmworddb "8N1",0,"7E1",0,255  .tmhshkdb "Handshake on",0
,"Handshake off",0,255  .tmxondb "XON control on",0,"XON control off",0,255  .tm
locldb "Local echo on",0,"Local echo off",0,255  .tmprotdb "XModem",0,"XModem-1k
",0,"YModem batch",0,255  tfbuffequ &2000terminal file buffer  tpblockequ &3000t
erminal parameter block  offsetequ ,0,"1200",0,"1200/75",0  db "75/1200",0,"600"
,0,"300",0,255  .tbsetsdw 19200,19200,9600,9600,4800,4800,2400,2400,1200,1200,12
00,75,75,1200  dw 600,600,300,300  .tmworddb "8N1",0,"7E1",0,255  .tmhshkdb "Han
dshake on",0,"Handshake off",0,255  .tmxondb   !N!!!!!!!!!  "N"""""""""  #N#####
####  $N$$$$$$$$$  %N%%%%%%%%%  &N&&&&&&&&&  'N'''''''''
Tous droits réservés. Reproduction sans autorisation interdite. © Kukulcan