_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

EX.OBJ. MERLIN A

FILE INFORMATION

FILENAME(S): EX.OBJ. MERLIN A

FILE TYPE(S): PRG

FILE SIZE: 11.2K

FIRST SEEN: 2025-11-02 22:11:39

APPEARS ON: 2 disk(s)

FILE HASH

f16b04f8244c6042d36b76cd8af0c6e958f300e492cc4abbd66a3b1206206d30

FOUND ON DISKS (2 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
15715 46ER SH15 EX.OBJ. MERLIN A PRG Treasure Chest - ToGuMi 5 2 DOWNLOAD FILE
15715 46ER SH15 EX.OBJ. MERLIN A PRG C64er 5 2 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 00 0A 62 73 6F 75 74 20  65 71 75 20 24 66 66 64  |..bsout equ $ffd|
00000010: 32 0D 63 6C 72 63 68 20  65 71 75 20 24 66 66 63  |2.clrch equ $ffc|
00000020: 63 0D 63 68 6B 69 6E 20  65 71 75 20 24 66 66 63  |c.chkin equ $ffc|
00000030: 36 0D 70 72 74 73 74 67  20 65 71 75 20 24 61 62  |6.prtstg equ $ab|
00000040: 31 65 0D 67 65 74 69 6E  20 65 71 75 20 24 66 31  |1e.getin equ $f1|
00000050: 34 32 0D 73 74 6F 70 20  65 71 75 20 24 66 66 65  |42.stop equ $ffe|
00000060: 31 0D 71 75 6F 74 65 20  65 71 75 20 24 30 30 64  |1.quote equ $00d|
00000070: 34 0D 63 6F 6E 76 65 72  74 20 65 71 75 20 24 62  |4.convert equ $b|
00000080: 64 63 64 0D 63 68 72 69  6E 20 65 71 75 20 24 66  |dcd.chrin equ $f|
00000090: 66 63 66 0D 63 6C 72 73  63 6E 20 65 71 75 20 24  |fcf.clrscn equ $|
000000A0: 65 35 34 34 0D 73 74 61  74 75 73 20 65 71 75 20  |e544.status equ |
000000B0: 24 39 30 0D 66 6E 61 64  64 72 20 65 71 75 20 24  |$90.fnaddr equ $|
000000C0: 62 62 0D 66 6E 6C 65 6E  67 20 65 71 75 20 24 62  |bb.fnleng equ $b|
000000D0: 37 0D 64 65 76 6E 75 6D  20 65 71 75 20 24 62 61  |7.devnum equ $ba|
000000E0: 0D 73 65 63 61 64 72 20  65 71 75 20 24 62 39 0D  |.secadr equ $b9.|
000000F0: 73 65 6E 64 66 6E 20 65  71 75 20 24 66 33 64 35  |sendfn equ $f3d5|
00000100: 0D 69 65 63 74 61 6C 6B  20 65 71 75 20 24 66 66  |.iectalk equ $ff|
00000110: 62 34 0D 73 65 6E 64 73  65 63 20 65 71 75 20 24  |b4.sendsec equ $|
00000120: 66 66 39 36 0D 69 65 63  69 6E 70 20 65 71 75 20  |ff96.iecinp equ |
00000130: 24 66 66 61 35 0D 63 6C  6F 73 66 69 6C 20 65 71  |$ffa5.closfil eq|
00000140: 75 20 24 66 36 34 32 0D  6C 69 6E 65 70 72 74 20  |u $f642.lineprt |
00000150: 65 71 75 20 24 62 64 63  64 0D 73 65 74 6C 66 73  |equ $bdcd.setlfs|
00000160: 20 65 71 75 20 24 66 66  62 61 0D 73 65 74 66 6E  | equ $ffba.setfn|
00000170: 61 20 65 71 75 20 24 66  66 62 64 0D 6F 70 65 6E  |a equ $ffbd.open|
00000180: 20 65 71 75 20 24 66 66  63 30 0D 63 6C 6F 73 65  | equ $ffc0.close|
00000190: 20 65 71 75 20 24 66 66  63 33 0D 72 65 61 64 79  | equ $ffc3.ready|
000001A0: 20 65 71 75 20 24 61 34  37 34 0D 2A 0D 2A 0D 2A  | equ $a474.*.*.*|
000001B0: 0D 2A 0D 2A A0 62 61 73  69 63 A0 48 45 41 44 45  |.*.*.basic.HEADE|
000001C0: 52 2E 0D 2A 0D 20 6F 72  67 20 24 38 30 31 0D 0D  |R..*. org $801..|
000001D0: 20 64 61 20 74 77 6F 62  72 6B 20 3B 66 49 52 53  | da twobrk ;fIRS|
000001E0: 54 A0 4C 49 4E 4B 0D 20  64 61 20 31 30 20 3B 6C  |T.LINK. da 10 ;l|
000001F0: 49 4E 45 A0 4E 55 4D 42  45 52 A0 31 30 0D 20 64  |INE.NUMBER.10. d|
00000200: 66 62 20 24 39 65 20 3B  73 79 73 A0 54 4F 4B 45  |fb $9e ;sys.TOKE|
00000210: 4E 0D 20 74 78 74 20 27  32 30 36 31 27 0D 20 62  |N. txt '2061'. b|
00000220: 72 6B 20 3B 65 4E 44 A0  4F 46 A0 42 41 53 49 43  |rk ;eND.OF.BASIC|
00000230: A0 4C 49 4E 45 0D 74 77  6F 62 72 6B 20 64 61 20  |.LINE.twobrk da |
00000240: 30 20 3B 65 4E 44 A0 4F  46 A0 42 41 53 49 43 A0  |0 ;eND.OF.BASIC.|
00000250: 50 52 4F 47 52 41 4D 0D  0D 20 65 72 72 20 2A 2D  |PROGRAM.. err *-|
00000260: 32 30 36 31 0D 0D 2A 0D  2A 0D 6D 65 6E 75 20 6A  |2061..*.*.menu j|
00000270: 73 72 20 63 6C 72 73 63  6E 0D 20 6A 73 72 20 63  |sr clrscn. jsr c|
00000280: 6C 73 66 69 6C 65 0D 20  6C 64 61 20 23 3C 74 69  |lsfile. lda #<ti|
00000290: 74 6C 65 0D 20 6C 64 79  20 23 3E 74 69 74 6C 65  |tle. ldy #>title|
000002A0: 0D 20 6A 73 72 20 70 72  74 73 74 67 0D 20 6A 73  |. jsr prtstg. js|
000002B0: 72 20 63 72 20 3B 43 41  52 52 49 41 47 45 A0 52  |r cr ;CARRIAGE.R|
000002C0: 45 54 55 52 4E 0D 20 6A  73 72 20 63 72 0D 2A 0D  |ETURN. jsr cr.*.|
000002D0: 2A A0 67 65 74 A0 46 49  4C 45 A0 4E 41 4D 45 0D  |*.get.FILE.NAME.|
000002E0: 2A 0D 20 6C 64 61 20 23  3C 66 69 6C 65 0D 20 6C  |*. lda #<file. l|
000002F0: 64 79 20 23 3E 66 69 6C  65 0D 20 6A 73 72 20 70  |dy #>file. jsr p|
00000300: 72 74 73 74 67 0D 20 6C  64 79 20 23 24 30 30 0D  |rtstg. ldy #$00.|
00000310: 72 64 20 6A 73 72 20 63  68 72 69 6E 0D 20 73 74  |rd jsr chrin. st|
00000320: 61 20 66 69 6C 6E 61 6D  65 2C 79 0D 20 69 6E 79  |a filname,y. iny|
00000330: 0D 20 63 6D 70 20 23 31  33 0D 20 62 6E 65 20 72  |. cmp #13. bne r|
00000340: 64 0D 20 73 74 79 20 6E  61 6D 65 6C 65 6E 67 0D  |d. sty nameleng.|
00000350: 20 64 65 63 20 6E 61 6D  65 6C 65 6E 67 0D 20 6C  | dec nameleng. l|
00000360: 64 61 20 66 69 6C 6E 61  6D 65 20 3B 43 48 45 43  |da filname ;CHEC|
00000370: 4B A0 49 46 A0 27 24 27  0D 20 63 6D 70 20 23 27  |K.IF.'$'. cmp #'|
00000380: 24 0D 20 62 6E 65 20 72  64 31 0D 20 6A 6D 70 20  |$. bne rd1. jmp |
00000390: 64 6C 69 73 74 20 3B 49  46 A0 24 A0 54 48 45 4E  |dlist ;IF.$.THEN|
000003A0: A0 53 48 4F 57 A0 44 49  52 45 43 54 4F 52 59 0D  |.SHOW.DIRECTORY.|
000003B0: 72 64 31 20 63 6D 70 20  23 27 5F 20 3B 45 4E 44  |rd1 cmp #'_ ;END|
000003C0: A0 50 52 4F 47 52 41 4D  0D 20 62 6E 65 20 72 64  |.PROGRAM. bne rd|
000003D0: 32 0D 20 6A 6D 70 20 72  65 61 64 79 0D 72 64 32  |2. jmp ready.rd2|
000003E0: 20 6A 73 72 20 63 72 0D  2A 0D 2A A0 67 65 74 A0  | jsr cr.*.*.get.|
000003F0: 46 49 4C 45 A0 54 59 50  45 0D 2A 0D 20 6C 64 61  |FILE.TYPE.*. lda|
00000400: 20 23 3C 66 69 6C 74 79  70 65 0D 20 6C 64 79 20  | #<filtype. ldy |
00000410: 23 3E 66 69 6C 74 79 70  65 0D 20 6A 73 72 20 70  |#>filtype. jsr p|
00000420: 72 74 73 74 67 0D 67 65  74 74 79 70 65 20 63 6C  |rtstg.gettype cl|
00000430: 63 0D 20 6A 73 72 20 67  65 74 69 6E 0D 20 62 65  |c. jsr getin. be|
00000440: 71 20 67 65 74 74 79 70  65 0D 20 63 6D 70 20 23  |q gettype. cmp #|
00000450: 27 31 0D 20 62 6E 65 20  67 65 74 74 79 70 65 31  |'1. bne gettype1|
00000460: 0D 20 6C 64 61 20 23 27  50 0D 20 6A 6D 70 20 64  |. lda #'P. jmp d|
00000470: 6F 6E 65 0D 67 65 74 74  79 70 65 31 20 63 6D 70  |one.gettype1 cmp|
00000480: 20 23 27 32 0D 20 62 6E  65 20 67 65 74 74 79 70  | #'2. bne gettyp|
00000490: 65 32 0D 20 6C 64 61 20  23 27 53 0D 20 6A 6D 70  |e2. lda #'S. jmp|
000004A0: 20 64 6F 6E 65 0D 67 65  74 74 79 70 65 32 20 63  | done.gettype2 c|
000004B0: 6D 70 20 23 27 33 0D 20  62 6E 65 20 67 65 74 74  |mp #'3. bne gett|
000004C0: 79 70 65 0D 20 6C 64 61  20 23 27 55 0D 64 6F 6E  |ype. lda #'U.don|
000004D0: 65 20 73 74 61 20 74 6D  70 0D 2A 0D 2A A0 67 65  |e sta tmp.*.*.ge|
000004E0: 74 A0 44 49 53 50 4C 41  59 A0 54 59 50 45 0D 2A  |t.DISPLAY.TYPE.*|
000004F0: 0D 20 6C 64 61 20 23 3C  64 69 73 70 6C 61 79 0D  |. lda #<display.|
00000500: 20 6C 64 79 20 23 3E 64  69 73 70 6C 61 79 0D 20  | ldy #>display. |
00000510: 6A 73 72 20 70 72 74 73  74 67 0D 2A 0D 2A 0D 72  |jsr prtstg.*.*.r|
00000520: 64 6B 65 79 20 6A 73 72  20 67 65 74 69 6E 20 3B  |dkey jsr getin ;|
00000530: 57 41 49 54 A0 46 4F 52  A0 41 A0 4B 45 59 0D 20  |WAIT.FOR.A.KEY. |
00000540: 62 65 71 20 72 64 6B 65  79 20 3B 54 4F A0 49 4E  |beq rdkey ;TO.IN|
00000550: 44 49 43 41 54 45 0D 20  63 6D 70 20 23 27 42 20  |DICATE. cmp #'B |
00000560: 3B 49 46 A0 62 61 73 69  63 A0 50 52 47 0D 20 62  |;IF.basic.PRG. b|
00000570: 6E 65 20 72 64 6B 65 79  31 0D 20 6C 64 61 20 74  |ne rdkey1. lda t|
00000580: 6D 70 0D 20 6A 73 72 20  6F 70 6E 66 69 6C 65 0D  |mp. jsr opnfile.|
00000590: 20 6C 64 61 20 23 32 33  0D 20 73 74 61 20 73 63  | lda #23. sta sc|
000005A0: 72 6E 6C 69 6E 65 20 3B  4D 41 58 2E A0 4E 4F A0  |rnline ;MAX..NO.|
000005B0: 4F 46 A0 4C 49 4E 45 53  A0 50 45 52 A0 53 43 52  |OF.LINES.PER.SCR|
000005C0: 45 45 4E 0D 20 6A 6D 70  20 72 64 62 61 73 0D 72  |EEN. jmp rdbas.r|
000005D0: 64 6B 65 79 31 20 63 6D  70 20 23 27 4D 20 3B 4F  |dkey1 cmp #'M ;O|
000005E0: 52 A0 6D 6C A0 50 52 47  0D 20 62 6E 65 20 72 64  |R.ml.PRG. bne rd|
000005F0: 6B 65 79 32 0D 20 6C 64  61 20 74 6D 70 0D 20 6A  |key2. lda tmp. j|
00000600: 73 72 20 6F 70 6E 66 69  6C 65 0D 20 6C 64 61 20  |sr opnfile. lda |
00000610: 23 32 34 0D 20 73 74 61  20 73 63 72 6E 6C 69 6E  |#24. sta scrnlin|
00000620: 65 20 3B 4D 41 58 2E A0  4E 4F A0 4F 46 A0 4C 49  |e ;MAX..NO.OF.LI|
00000630: 4E 45 53 A0 50 45 52 A0  53 43 52 45 45 4E 0D 20  |NES.PER.SCREEN. |
00000640: 6A 6D 70 20 72 64 6D 6C  0D 72 64 6B 65 79 32 20  |jmp rdml.rdkey2 |
00000650: 63 6D 70 20 23 27 46 20  3B 6F 72 A0 66 69 6C 65  |cmp #'F ;or.file|
00000660: A0 44 49 53 50 4C 41 59  A0 54 59 50 45 0D 20 62  |.DISPLAY.TYPE. b|
00000670: 6E 65 20 72 64 6B 65 79  0D 20 6C 64 61 20 74 6D  |ne rdkey. lda tm|
00000680: 70 0D 20 6A 73 72 20 6F  70 6E 66 69 6C 65 0D 20  |p. jsr opnfile. |
00000690: 6C 64 61 20 23 32 34 0D  20 73 74 61 20 73 63 72  |lda #24. sta scr|
000006A0: 6E 6C 69 6E 65 0D 20 6A  6D 70 20 72 64 73 65 71  |nline. jmp rdseq|
000006B0: 0D 2A 0D 2A 0D 2A 0D 72  64 73 65 71 20 6A 73 72  |.*.*.*.rdseq jsr|
000006C0: 20 63 68 6B 6B 65 79 20  3B 43 48 45 43 4B A0 49  | chkkey ;CHECK.I|
000006D0: 4E 50 55 54 A0 46 4D A0  4B 45 59 42 4F 41 52 44  |NPUT.FM.KEYBOARD|
000006E0: 0D 20 6A 73 72 20 63 68  6B 6C 69 6E 65 0D 20 6C  |. jsr chkline. l|
000006F0: 64 61 20 73 74 61 74 75  73 0D 20 62 65 71 20 72  |da status. beq r|
00000700: 64 73 65 71 31 0D 20 6A  6D 70 20 65 6F 66 0D 72  |dseq1. jmp eof.r|
00000710: 64 73 65 71 31 20 6A 73  72 20 67 65 74 62 79 74  |dseq1 jsr getbyt|
00000720: 65 0D 20 63 6D 70 20 23  31 33 20 3B 43 41 52 52  |e. cmp #13 ;CARR|
00000730: 49 41 47 45 A0 52 45 54  55 52 4E 3F 0D 20 62 65  |IAGE.RETURN?. be|
00000740: 71 20 70 72 74 63 68 61  72 0D 20 63 6D 70 20 23  |q prtchar. cmp #|
00000750: 24 32 30 20 3B 49 53 A0  49 54 A0 50 52 49 4E 54  |$20 ;IS.IT.PRINT|
00000760: 41 42 4C 45 3F 0D 20 62  63 63 20 6E 65 78 74 62  |ABLE?. bcc nextb|
00000770: 79 74 65 0D 20 63 6D 70  20 23 24 38 30 0D 20 62  |yte. cmp #$80. b|
00000780: 63 63 20 70 72 74 63 68  61 72 0D 20 63 6D 70 20  |cc prtchar. cmp |
00000790: 23 24 61 30 0D 20 62 63  63 20 6E 65 78 74 62 79  |#$a0. bcc nextby|
000007A0: 74 65 0D 70 72 74 63 68  61 72 20 6A 73 72 20 62  |te.prtchar jsr b|
000007B0: 73 6F 75 74 0D 6E 65 78  74 62 79 74 65 20 6A 6D  |sout.nextbyte jm|
000007C0: 70 20 72 64 73 65 71 0D  2A 0D 2A A0 6F 70 65 6E  |p rdseq.*.*.open|
000007D0: A0 43 48 41 4E 4E 45 4C  A0 54 4F A0 44 49 53 4B  |.CHANNEL.TO.DISK|
000007E0: A0 44 52 49 56 45 0D 2A  0D 6F 70 6E 66 69 6C 65  |.DRIVE.*.opnfile|
000007F0: 20 73 74 61 20 74 6D 70  0D 20 6A 73 72 20 63 6C  | sta tmp. jsr cl|
00000800: 73 66 69 6C 65 0D 20 6C  64 79 20 6E 61 6D 65 6C  |sfile. ldy namel|
00000810: 65 6E 67 0D 20 6C 64 61  20 23 27 2C 0D 20 73 74  |eng. lda #',. st|
00000820: 61 20 66 69 6C 6E 61 6D  65 2C 79 0D 20 69 6E 79  |a filname,y. iny|
00000830: 0D 20 69 6E 79 0D 20 73  74 61 20 66 69 6C 6E 61  |. iny. sta filna|
00000840: 6D 65 2C 79 0D 20 69 6E  79 0D 20 6C 64 61 20 23  |me,y. iny. lda #|
00000850: 27 52 0D 20 73 74 61 20  66 69 6C 6E 61 6D 65 2C  |'R. sta filname,|
00000860: 79 0D 20 73 74 79 20 6E  61 6D 65 6C 65 6E 67 0D  |y. sty nameleng.|
00000870: 20 6C 64 61 20 23 30 0D  20 69 6E 79 0D 20 73 74  | lda #0. iny. st|
00000880: 61 20 66 69 6C 6E 61 6D  65 2C 79 0D 20 64 65 79  |a filname,y. dey|
00000890: 0D 20 64 65 79 0D 20 64  65 79 0D 20 6C 64 61 20  |. dey. dey. lda |
000008A0: 74 6D 70 0D 20 73 74 61  20 66 69 6C 6E 61 6D 65  |tmp. sta filname|
000008B0: 2C 79 0D 2A 0D 20 6A 73  72 20 63 6C 72 73 63 6E  |,y.*. jsr clrscn|
000008C0: 0D 20 6C 64 61 20 23 3C  72 64 69 6E 67 0D 20 6C  |. lda #<rding. l|
000008D0: 64 79 20 23 3E 72 64 69  6E 67 0D 20 6A 73 72 20  |dy #>rding. jsr |
000008E0: 70 72 74 73 74 67 0D 20  6C 64 61 20 23 3C 66 69  |prtstg. lda #<fi|
000008F0: 6C 6E 61 6D 65 0D 20 6C  64 79 20 23 3E 66 69 6C  |lname. ldy #>fil|
00000900: 6E 61 6D 65 0D 20 6A 73  72 20 70 72 74 73 74 67  |name. jsr prtstg|
00000910: 0D 20 6A 73 72 20 63 72  31 0D 2A 0D 20 6C 64 61  |. jsr cr1.*. lda|
00000920: 20 23 30 0D 20 73 74 61  20 73 74 61 74 75 73 0D  | #0. sta status.|
00000930: 20 63 6C 63 0D 20 6C 64  61 20 23 32 20 3B 4F 50  | clc. lda #2 ;OP|
00000940: 45 4E 31 35 2C 38 2C 31  35 2C 22 49 30 22 0D 20  |EN15,8,15,"I0". |
00000950: 6C 64 79 20 23 3E 69 30  0D 20 6C 64 78 20 23 3C  |ldy #>i0. ldx #<|
00000960: 69 30 0D 20 6A 73 72 20  73 65 74 66 6E 61 0D 20  |i0. jsr setfna. |
00000970: 6C 64 61 20 23 31 35 0D  20 74 61 79 0D 20 6C 64  |lda #15. tay. ld|
00000980: 78 20 23 38 0D 20 6A 73  72 20 73 65 74 6C 66 73  |x #8. jsr setlfs|
00000990: 0D 20 6A 73 72 20 6F 70  65 6E 0D 2A 0D 20 63 6C  |. jsr open.*. cl|
000009A0: 63 0D 20 6C 64 61 20 23  38 20 3B 4F 50 45 4E 38  |c. lda #8 ;OPEN8|
000009B0: 2C 38 2C 38 2C 22 46 49  4C 45 4E 41 4D 45 2C 50  |,8,8,"FILENAME,P|
000009C0: 2C 52 22 0D 20 74 61 78  0D 20 74 61 79 0D 20 6A  |,R". tax. tay. j|
000009D0: 73 72 20 73 65 74 6C 66  73 0D 20 6C 64 78 20 23  |sr setlfs. ldx #|
000009E0: 3C 66 69 6C 6E 61 6D 65  0D 20 6C 64 79 20 23 3E  |<filname. ldy #>|
000009F0: 66 69 6C 6E 61 6D 65 0D  20 6C 64 61 20 6E 61 6D  |filname. lda nam|
00000A00: 65 6C 65 6E 67 0D 20 6A  73 72 20 73 65 74 66 6E  |eleng. jsr setfn|
00000A10: 61 0D 20 6A 73 72 20 6F  70 65 6E 0D 2A 0D 20 6C  |a. jsr open.*. l|
00000A20: 64 78 20 23 31 35 0D 20  6A 73 72 20 63 68 6B 69  |dx #15. jsr chki|
00000A30: 6E 0D 20 6C 64 61 20 23  30 0D 20 73 74 61 20 73  |n. lda #0. sta s|
00000A40: 74 61 74 75 73 0D 64 65  72 72 31 20 6C 64 79 20  |tatus.derr1 ldy |
00000A50: 73 74 61 74 75 73 0D 20  62 6E 65 20 64 65 72 72  |status. bne derr|
00000A60: 32 0D 20 6A 73 72 20 63  68 72 69 6E 0D 20 6A 73  |2. jsr chrin. js|
00000A70: 72 20 62 73 6F 75 74 0D  20 63 6D 70 20 23 31 33  |r bsout. cmp #13|
00000A80: 0D 20 62 6E 65 20 64 65  72 72 31 0D 64 65 72 72  |. bne derr1.derr|
00000A90: 32 20 6A 73 72 20 63 6C  72 63 68 0D 2A 0D 20 6A  |2 jsr clrch.*. j|
00000AA0: 73 72 20 63 72 0D 20 6C  64 78 20 23 38 0D 20 6A  |sr cr. ldx #8. j|
00000AB0: 73 72 20 63 68 6B 69 6E  0D 20 72 74 73 0D 2A 0D  |sr chkin. rts.*.|
00000AC0: 2A 0D 2A 0D 2A 0D 63 6C  73 66 69 6C 65 20 6A 73  |*.*.*.clsfile js|
00000AD0: 72 20 63 6C 72 63 68 0D  20 6C 64 61 20 23 38 0D  |r clrch. lda #8.|
00000AE0: 20 6A 73 72 20 63 6C 6F  73 65 0D 20 6C 64 61 20  | jsr close. lda |
00000AF0: 23 31 35 0D 20 6A 73 72  20 63 6C 6F 73 65 0D 20  |#15. jsr close. |
00000B00: 72 74 73 0D 2A 0D 2A 0D  2A 0D 2A A0 70 72 69 6E  |rts.*.*.*.*.prin|
00000B10: 74 A0 6F 75 74 A0 68 65  78 A0 6E 75 6D 62 65 72  |t.out.hex.number|
00000B20: 0D 2A 0D 2A 0D 70 72 74  68 65 78 20 70 68 61 0D  |.*.*.prthex pha.|
00000B30: 20 6C 73 72 20 61 0D 20  6C 73 72 20 61 0D 20 6C  | lsr a. lsr a. l|
00000B40: 73 72 20 61 0D 20 6C 73  72 20 61 0D 20 74 61 78  |sr a. lsr a. tax|
00000B50: 0D 20 6C 64 61 20 68 65  78 6C 69 6E 65 2C 78 0D  |. lda hexline,x.|
00000B60: 20 6A 73 72 20 62 73 6F  75 74 0D 20 70 6C 61 0D  | jsr bsout. pla.|
00000B70: 20 61 6E 64 20 23 24 30  66 0D 20 74 61 78 0D 20  | and #$0f. tax. |
00000B80: 6C 64 61 20 68 65 78 6C  69 6E 65 2C 78 0D 20 6A  |lda hexline,x. j|
00000B90: 73 72 20 62 73 6F 75 74  0D 20 72 74 73 0D 2A 0D  |sr bsout. rts.*.|
00000BA0: 2A 0D 67 65 74 62 79 74  65 20 6C 64 61 20 23 30  |*.getbyte lda #0|
00000BB0: 0D 20 73 74 61 20 24 39  30 0D 20 6A 73 72 20 63  |. sta $90. jsr c|
00000BC0: 68 72 69 6E 0D 20 73 74  61 20 74 6D 70 0D 20 6C  |hrin. sta tmp. l|
00000BD0: 64 61 20 24 39 30 0D 20  62 6E 65 20 67 65 74 62  |da $90. bne getb|
00000BE0: 31 0D 20 6C 64 61 20 74  6D 70 0D 20 72 74 73 0D  |1. lda tmp. rts.|
00000BF0: 67 65 74 62 31 20 6A 6D  70 20 65 6F 66 0D 2A 0D  |getb1 jmp eof.*.|
00000C00: 2A 0D 2A A0 72 65 61 64  A0 6D 6C A0 70 72 6F 67  |*.*.read.ml.prog|
00000C10: 72 61 6D 0D 2A 0D 72 64  6D 6C 20 63 6C 63 0D 20  |ram.*.rdml clc. |
00000C20: 6A 73 72 20 67 65 74 62  79 74 65 20 3B 47 45 54  |jsr getbyte ;GET|
00000C30: A0 53 54 41 52 54 41 44  44 52 A0 4C 4F 2D 42 59  |.STARTADDR.LO-BY|
00000C40: 54 45 0D 20 73 74 61 20  24 66 62 0D 20 6A 73 72  |TE. sta $fb. jsr|
00000C50: 20 67 65 74 62 79 74 65  20 3B 47 45 54 A0 53 54  | getbyte ;GET.ST|
00000C60: 41 52 54 41 44 44 52 A0  48 49 2D 42 59 54 45 0D  |ARTADDR.HI-BYTE.|
00000C70: 20 73 74 61 20 24 66 63  0D 72 64 6D 6C 30 20 6A  | sta $fc.rdml0 j|
00000C80: 73 72 20 63 68 6B 6B 65  79 0D 20 6A 73 72 20 63  |sr chkkey. jsr c|
00000C90: 68 6B 6C 69 6E 65 0D 20  63 6C 63 0D 20 6A 73 72  |hkline. clc. jsr|
00000CA0: 20 69 6E 69 74 73 74 67  20 3B 49 4E 49 54 49 41  | initstg ;INITIA|
00000CB0: 4C 49 5A 45 A0 43 48 41  52 2D 53 54 52 49 4E 47  |LIZE.CHAR-STRING|
00000CC0: 0D 20 6C 64 61 20 24 66  63 20 3B 50 52 49 4E 54  |. lda $fc ;PRINT|
00000CD0: A0 41 44 44 52 45 53 53  0D 20 6A 73 72 20 70 72  |.ADDRESS. jsr pr|
00000CE0: 74 68 65 78 0D 20 6C 64  61 20 24 66 62 0D 20 6A  |thex. lda $fb. j|
00000CF0: 73 72 20 70 72 74 68 65  78 0D 20 6C 64 61 20 23  |sr prthex. lda #|
00000D00: 24 32 30 20 3B 50 52 49  4E 54 A0 32 A0 53 50 41  |$20 ;PRINT.2.SPA|
00000D10: 43 45 53 0D 20 6A 73 72  20 62 73 6F 75 74 0D 20  |CES. jsr bsout. |
00000D20: 6C 64 61 20 23 24 32 30  0D 20 6A 73 72 20 62 73  |lda #$20. jsr bs|
00000D30: 6F 75 74 0D 2A 0D 20 6A  73 72 20 67 65 74 62 79  |out.*. jsr getby|
00000D40: 74 65 20 3B 47 45 54 A0  31 A0 42 59 54 45 0D 20  |te ;GET.1.BYTE. |
00000D50: 73 74 61 20 24 66 64 20  3B 53 54 4F 52 45 A0 49  |sta $fd ;STORE.I|
00000D60: 54 0D 20 6C 64 79 20 23  30 0D 20 6A 73 72 20 73  |T. ldy #0. jsr s|
00000D70: 74 6F 72 65 73 74 67 0D  20 6A 73 72 20 70 72 74  |torestg. jsr prt|
00000D80: 68 65 78 20 3B 50 52 49  4E 54 53 A0 49 54 0D 20  |hex ;PRINTS.IT. |
00000D90: 69 6E 63 20 24 66 62 20  3B 41 44 44 52 3D 41 44  |inc $fb ;ADDR=AD|
00000DA0: 44 52 2B 31 0D 20 62 6E  65 20 72 64 6D 6C 31 0D  |DR+1. bne rdml1.|
00000DB0: 20 69 6E 63 20 24 66 63  0D 72 64 6D 6C 31 20 6C  | inc $fc.rdml1 l|
00000DC0: 64 78 20 24 66 64 20 3B  55 53 45 A0 49 4E 53 54  |dx $fd ;USE.INST|
00000DD0: 52 55 43 54 49 4F 4E A0  41 53 A0 50 4F 49 4E 54  |RUCTION.AS.POINT|
00000DE0: 45 52 0D 20 6C 64 61 20  69 6E 64 69 72 2C 78 20  |ER. lda indir,x |
00000DF0: 3B 46 49 4E 44 A0 41 44  44 52 45 53 53 49 4E 47  |;FIND.ADDRESSING|
00000E00: A0 4D 4F 44 45 0D 20 73  74 61 20 24 66 61 20 3B  |.MODE. sta $fa ;|
00000E10: 53 54 4F 52 45 A0 49 54  0D 20 62 65 71 20 72 64  |STORE.IT. beq rd|
00000E20: 6D 6C 33 20 3B 49 46 A0  41 44 44 52 3D 30 A0 54  |ml3 ;IF.ADDR=0.T|
00000E30: 48 45 4E A0 49 4D 50 4C  49 45 44 A0 4D 4F 44 45  |HEN.IMPLIED.MODE|
00000E40: 0D 20 6C 64 61 20 23 24  32 30 20 3B 53 50 41 43  |. lda #$20 ;SPAC|
00000E50: 45 0D 20 6A 73 72 20 62  73 6F 75 74 0D 20 6A 73  |E. jsr bsout. js|
00000E60: 72 20 67 65 74 62 79 74  65 20 3B 47 45 54 A0 32  |r getbyte ;GET.2|
00000E70: 4E 44 A0 42 59 54 45 0D  20 73 74 61 20 24 66 65  |ND.BYTE. sta $fe|
00000E80: 20 3B 53 54 4F 52 45 A0  49 54 0D 20 6C 64 79 20  | ;STORE.IT. ldy |
00000E90: 23 31 0D 20 6A 73 72 20  73 74 6F 72 65 73 74 67  |#1. jsr storestg|
00000EA0: 0D 20 6A 73 72 20 70 72  74 68 65 78 20 3B 50 52  |. jsr prthex ;PR|
00000EB0: 49 4E 54 A0 49 54 0D 20  69 6E 63 20 24 66 62 0D  |INT.IT. inc $fb.|
00000EC0: 20 62 6E 65 20 72 64 6D  6C 32 0D 20 69 6E 63 20  | bne rdml2. inc |
00000ED0: 24 66 63 0D 72 64 6D 6C  32 20 6C 64 61 20 24 66  |$fc.rdml2 lda $f|
00000EE0: 61 20 3B 49 46 A0 41 44  44 52 3C 38 A0 42 52 41  |a ;IF.ADDR<8.BRA|
00000EF0: 4E 43 48 A0 28 32 2D 62  79 74 65 A0 6F 70 63 6F  |NCH.(2-byte.opco|
00000F00: 64 65 73 29 0D 20 63 6D  70 20 23 38 0D 20 62 63  |des). cmp #8. bc|
00000F10: 63 20 72 64 6D 6C 33 0D  20 6C 64 61 20 23 24 32  |c rdml3. lda #$2|
00000F20: 30 20 3B 53 50 41 43 45  0D 20 6A 73 72 20 62 73  |0 ;SPACE. jsr bs|
00000F30: 6F 75 74 0D 20 6A 73 72  20 67 65 74 62 79 74 65  |out. jsr getbyte|
00000F40: 20 3B 47 45 54 A0 33 52  44 A0 42 59 54 45 0D 20  | ;GET.3RD.BYTE. |
00000F50: 73 74 61 20 24 66 66 20  3B 53 54 4F 52 45 A0 49  |sta $ff ;STORE.I|
00000F60: 54 0D 20 6C 64 79 20 23  32 0D 20 6A 73 72 20 73  |T. ldy #2. jsr s|
00000F70: 74 6F 72 65 73 74 67 0D  20 6A 73 72 20 70 72 74  |torestg. jsr prt|
00000F80: 68 65 78 20 3B 50 52 49  4E 54 A0 49 54 0D 20 69  |hex ;PRINT.IT. i|
00000F90: 6E 63 20 24 66 62 0D 20  62 6E 65 20 72 64 6D 6C  |nc $fb. bne rdml|
00000FA0: 33 0D 20 69 6E 63 20 24  66 63 0D 72 64 6D 6C 33  |3. inc $fc.rdml3|
00000FB0: 20 63 6C 63 20 20 3B 74  61 62 28 31 36 29 0D 20  | clc  ;tab(16). |
00000FC0: 6C 64 78 20 24 64 36 0D  20 6C 64 79 20 23 24 31  |ldx $d6. ldy #$1|
00000FD0: 30 0D 20 6A 73 72 20 24  66 66 66 30 20 3B 4B 45  |0. jsr $fff0 ;KE|
00000FE0: 52 4E 41 4C 27 53 A0 70  6C 6F 74 0D 20 6C 64 79  |RNAL'S.plot. ldy|
00000FF0: 20 24 66 64 20 3B 55 53  45 A0 43 4F 44 45 A0 41  | $fd ;USE.CODE.A|
00001000: 53 A0 50 4F 49 4E 54 45  52 0D 20 6C 64 61 20 63  |S.POINTER. lda c|
00001010: 6F 64 69 73 2C 79 0D 20  74 61 79 20 20 3B 55 53  |odis,y. tay  ;US|
00001020: 45 A0 43 4F 44 45 A0 41  53 A0 4E 45 57 A0 50 4F  |E.CODE.AS.NEW.PO|
00001030: 49 4E 54 45 52 0D 20 6C  64 78 20 23 33 20 3B 54  |INTER. ldx #3 ;T|
00001040: 4F A0 46 49 4E 44 A0 4F  50 43 4F 44 45 0D 72 64  |O.FIND.OPCODE.rd|
00001050: 6D 6C 34 20 6C 64 61 20  6D 6E 65 6D 6F 2C 79 0D  |ml4 lda mnemo,y.|
00001060: 20 6A 73 72 20 62 73 6F  75 74 0D 20 69 6E 79 0D  | jsr bsout. iny.|
00001070: 20 64 65 78 0D 20 62 6E  65 20 72 64 6D 6C 34 20  | dex. bne rdml4 |
00001080: 3B 33 A0 43 48 41 52 53  3F 0D 2A 0D 20 6C 64 61  |;3.CHARS?.*. lda|
00001090: 20 23 24 32 30 20 3B 50  52 49 4E 54 A0 53 50 41  | #$20 ;PRINT.SPA|
000010A0: 43 45 0D 20 6A 73 72 20  62 73 6F 75 74 0D 20 6C  |CE. jsr bsout. l|
000010B0: 64 79 20 24 66 61 20 3B  49 46 A0 41 44 44 52 3D  |dy $fa ;IF.ADDR=|
000010C0: 30 A0 28 49 4D 50 4C 49  45 44 29 A0 54 48 45 4E  |0.(IMPLIED).THEN|
000010D0: A0 42 52 41 4E 43 48 0D  20 62 65 71 20 72 64 6D  |.BRANCH. beq rdm|
000010E0: 6C 31 33 0D 20 63 70 79  20 23 32 20 3B 49 46 A0  |l13. cpy #2 ;IF.|
000010F0: 41 44 44 52 3D 32 A0 28  52 45 4C 41 54 49 56 45  |ADDR=2.(RELATIVE|
00001100: 29 A0 54 48 45 4E A0 42  52 41 4E 43 48 0D 20 62  |).THEN.BRANCH. b|
00001110: 65 71 20 62 72 61 6E 63  68 0D 20 63 70 79 20 23  |eq branch. cpy #|
00001120: 36 20 3B 27 62 72 61 6E  63 68 27 A0 43 4F 44 45  |6 ;'branch'.CODE|
00001130: 0D 20 62 63 63 20 72 64  6D 6C 35 0D 20 63 70 79  |. bcc rdml5. cpy|
00001140: 20 23 39 20 3B 49 46 A0  41 44 44 52 A0 36 2C 37  | #9 ;IF.ADDR.6,7|
00001150: 2C 4F 52 A0 38 A0 28 49  4E 44 49 52 45 43 54 29  |,OR.8.(INDIRECT)|
00001160: A0 50 52 49 4E 54 A0 27  28 0D 20 62 63 73 20 72  |.PRINT.'(. bcs r|
00001170: 64 6D 6C 35 0D 20 6C 64  61 20 23 24 32 38 0D 20  |dml5. lda #$28. |
00001180: 6A 73 72 20 62 73 6F 75  74 0D 72 64 6D 6C 35 20  |jsr bsout.rdml5 |
00001190: 63 70 79 20 23 31 20 3B  49 46 A0 41 44 44 52 3D  |cpy #1 ;IF.ADDR=|
000011A0: 31 A0 28 49 4D 4D 45 44  49 41 54 45 29 A0 50 52  |1.(IMMEDIATE).PR|
000011B0: 49 4E 54 A0 27 23 0D 20  62 6E 65 20 72 64 6D 6C  |INT.'#. bne rdml|
000011C0: 36 0D 20 6C 64 61 20 23  24 32 33 0D 20 6A 73 72  |6. lda #$23. jsr|
000011D0: 20 62 73 6F 75 74 0D 72  64 6D 6C 36 20 63 70 79  | bsout.rdml6 cpy|
000011E0: 20 23 38 0D 20 62 63 63  20 72 64 6D 6C 38 20 3B  | #8. bcc rdml8 ;|
000011F0: 49 46 A0 33 2D 42 59 54  45 A0 49 4E 53 54 52 55  |IF.3-BYTE.INSTRU|
00001200: 43 54 49 4F 4E 0D 72 64  6D 6C 37 20 6C 64 61 20  |CTION.rdml7 lda |
00001210: 24 66 66 20 3B 50 52 49  4E 54 A0 41 44 44 52 45  |$ff ;PRINT.ADDRE|
00001220: 53 53 0D 20 6A 73 72 20  70 72 74 68 65 78 0D 72  |SS. jsr prthex.r|
00001230: 64 6D 6C 38 20 6C 64 61  20 24 66 65 20 3B 45 4C  |dml8 lda $fe ;EL|
00001240: 53 45 A0 50 52 49 4E 54  A0 31 A0 48 45 58 42 59  |SE.PRINT.1.HEXBY|
00001250: 54 45 A0 4F 4E 4C 59 0D  20 6A 73 72 20 70 72 74  |TE.ONLY. jsr prt|
00001260: 68 65 78 0D 20 63 70 79  20 23 34 0D 20 62 65 71  |hex. cpy #4. beq|
00001270: 20 72 64 6D 6C 39 0D 20  63 70 79 20 23 36 0D 20  | rdml9. cpy #6. |
00001280: 62 65 71 20 72 64 6D 6C  39 0D 20 63 70 79 20 23  |beq rdml9. cpy #|
00001290: 39 0D 20 62 6E 65 20 72  64 6D 6C 31 30 0D 72 64  |9. bne rdml10.rd|
000012A0: 6D 6C 39 20 6C 64 61 20  23 24 32 63 20 3B 49 46  |ml9 lda #$2c ;IF|
000012B0: A0 41 44 44 52 A0 34 2C  36 2C 4F 52 A0 39 A0 50  |.ADDR.4,6,OR.9.P|
000012C0: 52 49 4E 54 A0 27 2C 78  0D 20 6A 73 72 20 62 73  |RINT.',x. jsr bs|
000012D0: 6F 75 74 0D 20 6C 64 61  20 23 24 35 38 0D 20 6A  |out. lda #$58. j|
000012E0: 73 72 20 62 73 6F 75 74  0D 72 64 6D 6C 31 30 20  |sr bsout.rdml10 |
000012F0: 63 70 79 20 23 36 20 3B  49 46 A0 41 44 44 52 A0  |cpy #6 ;IF.ADDR.|
00001300: 36 2C 37 A0 4F 52 A0 38  A0 50 52 49 4E 54 A0 27  |6,7.OR.8.PRINT.'|
00001310: 29 0D 20 62 63 63 20 72  64 6D 6C 31 31 0D 20 63  |). bcc rdml11. c|
00001320: 70 79 20 23 39 0D 20 62  63 73 20 72 64 6D 6C 31  |py #9. bcs rdml1|
00001330: 31 0D 20 6C 64 61 20 23  24 32 39 0D 20 6A 73 72  |1. lda #$29. jsr|
00001340: 20 62 73 6F 75 74 0D 72  64 6D 6C 31 31 20 63 70  | bsout.rdml11 cp|
00001350: 79 20 23 35 0D 20 62 65  71 20 72 64 6D 6C 31 32  |y #5. beq rdml12|
00001360: 0D 20 63 70 79 20 23 37  20 3B 49 46 A0 41 44 44  |. cpy #7 ;IF.ADD|
00001370: 52 A0 35 2C 37 A0 4F 52  A0 31 30 A0 50 52 49 4E  |R.5,7.OR.10.PRIN|
00001380: 54 54 A0 27 2C 79 0D 20  62 65 71 20 72 64 6D 6C  |TT.',y. beq rdml|
00001390: 31 32 0D 20 63 70 79 20  23 31 30 0D 20 62 6E 65  |12. cpy #10. bne|
000013A0: 20 72 64 6D 6C 31 33 0D  72 64 6D 6C 31 32 20 6C  | rdml13.rdml12 l|
000013B0: 64 61 20 23 24 32 63 0D  20 6A 73 72 20 62 73 6F  |da #$2c. jsr bso|
000013C0: 75 74 0D 20 6C 64 61 20  23 24 35 39 0D 20 6A 73  |ut. lda #$59. js|
000013D0: 72 20 62 73 6F 75 74 0D  2A 0D 2A 0D 2A 0D 72 64  |r bsout.*.*.*.rd|
000013E0: 6D 6C 31 33 20 63 6C 63  20 20 3B 54 41 42 28 33  |ml13 clc  ;TAB(3|
000013F0: 35 29 A0 55 53 49 4E 47  0D 20 6C 64 78 20 24 64  |5).USING. ldx $d|
00001400: 36 0D 20 6C 64 79 20 23  33 30 20 3B 4B 45 52 4E  |6. ldy #30 ;KERN|
00001410: 41 4C A0 70 6C 6F 74 A0  52 4F 55 54 49 4E 45 0D  |AL.plot.ROUTINE.|
00001420: 20 6A 73 72 20 24 66 66  66 30 0D 20 6C 64 61 20  | jsr $fff0. lda |
00001430: 23 3C 73 74 72 69 6E 67  20 3B 50 52 49 4E 54 A0  |#<string ;PRINT.|
00001440: 43 48 41 52 2D 53 54 52  49 4E 47 0D 20 6C 64 79  |CHAR-STRING. ldy|
00001450: 20 23 3E 73 74 72 69 6E  67 0D 20 6A 73 72 20 70  | #>string. jsr p|
00001460: 72 74 73 74 67 0D 20 6A  73 72 20 63 72 31 20 3B  |rtstg. jsr cr1 ;|
00001470: 43 41 52 52 49 41 47 45  A0 52 45 54 55 52 4E 0D  |CARRIAGE.RETURN.|
00001480: 20 6A 6D 70 20 72 64 6D  6C 30 20 3B 53 54 41 52  | jmp rdml0 ;STAR|
00001490: 54 A0 41 4E 45 57 0D 2A  0D 2A 0D 2A A0 64 65 63  |T.ANEW.*.*.*.dec|
000014A0: 6F 64 65 A0 62 72 61 6E  63 68 0D 2A 0D 62 72 61  |ode.branch.*.bra|
000014B0: 6E 63 68 20 6C 64 61 20  24 66 65 20 3B 44 45 43  |nch lda $fe ;DEC|
000014C0: 4F 44 45 A0 42 52 41 4E  43 48 0D 20 70 68 70 0D  |ODE.BRANCH. php.|
000014D0: 20 63 6C 63 0D 20 61 64  63 20 24 66 62 20 3B 42  | clc. adc $fb ;B|
000014E0: 52 41 4E 43 48 A0 41 44  44 52 A0 3D A0 49 4E 44  |RANCH.ADDR.=.IND|
000014F0: 2B 31 2B 42 52 41 4E 43  48 A0 43 4F 44 45 0D 20  |+1+BRANCH.CODE. |
00001500: 73 74 61 20 24 66 65 0D  20 6C 64 61 20 24 66 63  |sta $fe. lda $fc|
00001510: 0D 20 61 64 63 20 23 30  0D 20 73 74 61 20 24 66  |. adc #0. sta $f|
00001520: 66 0D 20 70 6C 70 0D 20  62 70 6C 20 72 64 6D 6C  |f. plp. bpl rdml|
00001530: 37 20 3B 49 46 A0 3E 3D  31 32 38 A0 54 48 45 4E  |7 ;IF.>=128.THEN|
00001540: A0 42 52 41 4E 43 48 3D  41 44 44 52 A0 2D A0 32  |.BRANCH=ADDR.-.2|
00001550: 35 36 0D 20 64 65 63 20  24 66 66 0D 20 63 6C 63  |56. dec $ff. clc|
00001560: 0D 20 62 63 63 20 72 64  6D 6C 37 0D 2A 0D 2A 0D  |. bcc rdml7.*.*.|
00001570: 69 6E 69 74 73 74 67 20  6C 64 78 20 23 33 0D 20  |initstg ldx #3. |
00001580: 6C 64 79 20 23 30 20 3B  49 4E 49 54 49 41 4C 49  |ldy #0 ;INITIALI|
00001590: 5A 45 A0 53 54 52 49 4E  47 0D 20 73 74 79 20 73  |ZE.STRING. sty s|
000015A0: 74 72 69 6E 67 2B 33 0D  20 6C 64 61 20 23 27 2E  |tring+3. lda #'.|
000015B0: 0D 69 6E 69 74 31 20 73  74 61 20 73 74 72 69 6E  |.init1 sta strin|
000015C0: 67 2C 79 0D 20 69 6E 79  0D 20 64 65 78 0D 20 62  |g,y. iny. dex. b|
000015D0: 6E 65 20 69 6E 69 74 31  0D 20 72 74 73 0D 2A 0D  |ne init1. rts.*.|
000015E0: 2A 0D 73 74 6F 72 65 73  74 67 20 70 68 61 20 20  |*.storestg pha  |
000015F0: 3B 53 41 56 45 A0 41 43  43 55 4D 55 4C 41 54 4F  |;SAVE.ACCUMULATO|
00001600: 52 0D 20 63 6D 70 20 23  24 32 30 20 3B 49 46 A0  |R. cmp #$20 ;IF.|
00001610: 4E 4F 54 A0 50 52 49 4E  54 41 42 4C 45 A0 53 4B  |NOT.PRINTABLE.SK|
00001620: 49 50 A0 49 54 0D 20 62  63 63 20 73 74 6F 72 65  |IP.IT. bcc store|
00001630: 6E 64 0D 20 63 6D 70 20  23 24 38 30 0D 20 62 63  |nd. cmp #$80. bc|
00001640: 63 20 73 74 6F 72 31 0D  20 63 6D 70 20 23 24 61  |c stor1. cmp #$a|
00001650: 30 0D 20 62 63 63 20 73  74 6F 72 65 6E 64 0D 73  |0. bcc storend.s|
00001660: 74 6F 72 31 20 73 74 61  20 73 74 72 69 6E 67 2C  |tor1 sta string,|
00001670: 79 0D 73 74 6F 72 65 6E  64 20 70 6C 61 0D 20 72  |y.storend pla. r|
00001680: 74 73 0D 2A 0D 2A 0D 2A  0D 2A 0D 2A 0D 2A A0 72  |ts.*.*.*.*.*.*.r|
00001690: 45 41 44 A0 62 41 53 49  43 A0 50 52 4F 47 52 41  |EAD.bASIC.PROGRA|
000016A0: 4D 0D 2A 0D 72 64 62 61  73 20 63 6C 63 0D 20 6A  |M.*.rdbas clc. j|
000016B0: 73 72 20 67 65 74 62 79  74 65 20 3B 52 45 41 44  |sr getbyte ;READ|
000016C0: A0 50 52 47 A0 53 54 41  52 54 A0 41 44 44 52 0D  |.PRG.START.ADDR.|
000016D0: 20 73 74 61 20 24 66 62  0D 20 6A 73 72 20 67 65  | sta $fb. jsr ge|
000016E0: 74 62 79 74 65 0D 20 73  74 61 20 24 66 63 0D 20  |tbyte. sta $fc. |
000016F0: 6C 64 61 20 23 3C 61 64  64 72 0D 20 6C 64 79 20  |lda #<addr. ldy |
00001700: 23 3E 61 64 64 72 0D 20  6A 73 72 20 70 72 74 73  |#>addr. jsr prts|
00001710: 74 67 0D 20 6C 64 78 20  24 66 62 0D 20 6C 64 61  |tg. ldx $fb. lda|
00001720: 20 24 66 63 0D 20 6A 73  72 20 63 6F 6E 76 65 72  | $fc. jsr conver|
00001730: 74 20 3B 50 52 49 4E 54  A0 4F 55 54 A0 53 54 41  |t ;PRINT.OUT.STA|
00001740: 52 54 A0 41 44 44 52 45  53 53 0D 20 6A 73 72 20  |RT.ADDRESS. jsr |
00001750: 63 72 20 3B 43 41 52 52  49 41 47 45 A0 52 45 54  |cr ;CARRIAGE.RET|
00001760: 55 52 4E 0D 72 64 62 61  73 31 20 6C 64 61 20 23  |URN.rdbas1 lda #|
00001770: 30 0D 20 73 74 61 20 71  75 6F 74 65 0D 20 6A 73  |0. sta quote. js|
00001780: 72 20 63 72 31 20 3B 53  54 41 52 54 A0 4E 45 57  |r cr1 ;START.NEW|
00001790: A0 4C 49 4E 45 0D 20 6A  73 72 20 67 65 74 62 79  |.LINE. jsr getby|
000017A0: 74 65 20 3B 47 45 54 A0  4C 49 4E 4B 45 52 A0 46  |te ;GET.LINKER.F|
000017B0: 49 52 53 54 A0 42 59 54  45 0D 20 6A 73 72 20 67  |IRST.BYTE. jsr g|
000017C0: 65 74 62 79 74 65 20 3B  47 45 54 A0 32 4E 44 A0  |etbyte ;GET.2ND.|
000017D0: 42 59 54 45 0D 20 63 6D  70 20 23 30 20 3B 49 46  |BYTE. cmp #0 ;IF|
000017E0: A0 5A 45 52 4F A0 54 48  45 4E A0 45 4E 44 A0 4F  |.ZERO.THEN.END.O|
000017F0: 46 A0 46 49 4C 45 0D 20  62 65 71 20 65 6F 66 0D  |F.FILE. beq eof.|
00001800: 2A 0D 20 6A 73 72 20 63  68 6B 6B 65 79 20 3B 61  |*. jsr chkkey ;a|
00001810: 4E 59 A0 4B 45 59 A0 50  52 45 53 53 45 44 3F 0D  |NY.KEY.PRESSED?.|
00001820: 20 6A 73 72 20 63 68 6B  6C 69 6E 65 20 3B 4C 41  | jsr chkline ;LA|
00001830: 53 54 A0 53 43 52 45 45  4E A0 4C 49 4E 45 3F 0D  |ST.SCREEN.LINE?.|
00001840: 20 6A 73 72 20 67 65 74  62 79 74 65 20 3B 47 45  | jsr getbyte ;GE|
00001850: 54 A0 46 49 52 53 54 A0  42 59 54 45 A0 4F 46 A0  |T.FIRST.BYTE.OF.|
00001860: 4C 49 4E 45 A0 4E 55 4D  42 45 52 0D 20 73 74 61  |LINE.NUMBER. sta|
00001870: 20 24 66 62 0D 20 6A 73  72 20 67 65 74 62 79 74  | $fb. jsr getbyt|
00001880: 65 20 3B 47 45 54 A0 53  45 43 4F 4E 44 A0 42 59  |e ;GET.SECOND.BY|
00001890: 54 45 A0 4F 46 A0 4C 49  4E 45 A0 4E 55 4D 42 45  |TE.OF.LINE.NUMBE|
000018A0: 52 0D 20 73 74 61 20 24  66 63 0D 20 6C 64 78 20  |R. sta $fc. ldx |
000018B0: 24 66 62 0D 20 6C 64 61  20 24 66 63 0D 20 6A 73  |$fb. lda $fc. js|
000018C0: 72 20 63 6F 6E 76 65 72  74 20 3B 50 52 49 4E 54  |r convert ;PRINT|
000018D0: A0 4F 55 54 A0 4C 49 4E  45 A0 4E 52 0D 20 6C 64  |.OUT.LINE.NR. ld|
000018E0: 61 20 23 24 32 30 20 3B  53 50 41 43 45 0D 20 6A  |a #$20 ;SPACE. j|
000018F0: 73 72 20 62 73 6F 75 74  0D 72 64 62 61 73 32 20  |sr bsout.rdbas2 |
00001900: 6A 73 72 20 67 65 74 62  79 74 65 20 3B 52 45 54  |jsr getbyte ;RET|
00001910: 52 49 45 56 45 A0 4F 4E  45 A0 42 59 54 45 A0 46  |RIEVE.ONE.BYTE.F|
00001920: 4D A0 44 49 53 4B 0D 20  63 6D 70 20 23 30 20 3B  |M.DISK. cmp #0 ;|
00001930: 45 4E 44 2D 4F 46 2D 4C  49 4E 45 3F 0D 20 62 6E  |END-OF-LINE?. bn|
00001940: 65 20 72 64 62 61 73 33  0D 20 6A 6D 70 20 72 64  |e rdbas3. jmp rd|
00001950: 62 61 73 31 0D 2A 0D 72  64 62 61 73 33 20 62 70  |bas1.*.rdbas3 bp|
00001960: 6C 20 72 64 62 61 73 37  20 3B 4E 4F A0 69 4E 54  |l rdbas7 ;NO.iNT|
00001970: 45 52 50 52 45 54 45 52  2D 63 4F 44 45 2C 54 48  |ERPRETER-cODE,TH|
00001980: 45 4E A0 50 52 49 4E 54  0D 20 63 6D 70 20 23 24  |EN.PRINT. cmp #$|
00001990: 66 66 20 3B 43 4F 44 45  A0 46 4F 52 A0 70 69 0D  |ff ;CODE.FOR.pi.|
000019A0: 20 62 65 71 20 72 64 62  61 73 37 20 3B 54 48 45  | beq rdbas7 ;THE|
000019B0: 4E A0 50 52 49 4E 54 A0  49 54 0D 20 62 69 74 20  |N.PRINT.IT. bit |
000019C0: 71 75 6F 74 65 20 3B 71  55 4F 54 45 2D 46 4C 41  |quote ;qUOTE-FLA|
000019D0: 47 A0 4F 4E 3F 0D 20 62  6D 69 20 72 64 62 61 73  |G.ON?. bmi rdbas|
000019E0: 37 20 3B 49 46 A0 53 4F  A0 50 52 49 4E 54 A0 43  |7 ;IF.SO.PRINT.C|
000019F0: 4F 44 45 A0 41 53 A0 49  53 0D 20 73 65 63 0D 20  |ODE.AS.IS. sec. |
00001A00: 73 62 63 20 23 24 37 66  20 3B 53 55 42 54 52 41  |sbc #$7f ;SUBTRA|
00001A10: 43 54 A0 4F 46 46 53 45  54 0D 20 74 61 78 20 20  |CT.OFFSET. tax  |
00001A20: 3B 55 53 45 A0 43 4F 44  45 A0 41 53 A0 50 4F 49  |;USE.CODE.AS.POI|
00001A30: 4E 54 45 52 0D 20 6C 64  79 20 23 24 66 66 0D 72  |NTER. ldy #$ff.r|
00001A40: 64 62 61 73 34 20 64 65  78 20 20 3B 46 49 52 53  |dbas4 dex  ;FIRS|
00001A50: 54 A0 63 4F 44 45 2D 57  4F 52 44 3F 0D 20 62 65  |T.cODE-WORD?. be|
00001A60: 71 20 72 64 62 61 73 36  0D 72 64 62 61 73 35 20  |q rdbas6.rdbas5 |
00001A70: 69 6E 79 0D 20 6C 64 61  20 24 61 30 39 65 2C 79  |iny. lda $a09e,y|
00001A80: 20 3B 46 49 4E 44 A0 4F  46 46 53 45 54 A0 46 4F  | ;FIND.OFFSET.FO|
00001A90: 52 A0 58 A0 43 4F 44 45  0D 20 62 70 6C 20 72 64  |R.X.CODE. bpl rd|
00001AA0: 62 61 73 35 0D 20 62 6D  69 20 72 64 62 61 73 34  |bas5. bmi rdbas4|
00001AB0: 20 3B 42 49 54 A0 37 A0  53 45 54 2C A0 4E 45 58  | ;BIT.7.SET,.NEX|
00001AC0: 54 A0 57 4F 52 44 0D 72  64 62 61 73 36 20 69 6E  |T.WORD.rdbas6 in|
00001AD0: 79 0D 20 6C 64 61 20 24  61 30 39 65 2C 79 20 3B  |y. lda $a09e,y ;|
00001AE0: 47 45 54 A0 43 4F 44 45  2D 57 4F 52 44 A0 46 52  |GET.CODE-WORD.FR|
00001AF0: 4F 4D A0 54 41 42 4C 45  0D 20 62 6D 69 20 72 64  |OM.TABLE. bmi rd|
00001B00: 62 61 73 31 30 20 3B 4C  41 53 54 A0 43 48 41 52  |bas10 ;LAST.CHAR|
00001B10: 41 43 54 45 52 2C A0 54  48 45 4E A0 45 4E 44 0D  |ACTER,.THEN.END.|
00001B20: 20 6A 73 72 20 62 73 6F  75 74 20 3B 50 52 49 4E  | jsr bsout ;PRIN|
00001B30: 54 A0 4F 55 54 A0 43 48  41 52 41 43 54 45 52 0D  |T.OUT.CHARACTER.|
00001B40: 20 62 6E 65 20 72 64 62  61 73 36 20 3B 4C 4F 4F  | bne rdbas6 ;LOO|
00001B50: 4B A0 46 4F 52 A0 4E 45  58 54 A0 43 48 41 52 41  |K.FOR.NEXT.CHARA|
00001B60: 43 54 45 52 0D 72 64 62  61 73 37 20 6A 73 72 20  |CTER.rdbas7 jsr |
00001B70: 62 73 6F 75 74 0D 20 63  6D 70 20 23 24 32 32 20  |bsout. cmp #$22 |
00001B80: 3B 51 55 4F 54 45 A0 4D  4F 44 45 3F 0D 20 62 6E  |;QUOTE.MODE?. bn|
00001B90: 65 20 72 64 62 61 73 38  0D 20 6C 64 61 20 71 75  |e rdbas8. lda qu|
00001BA0: 6F 74 65 20 3B 49 4E 56  45 52 54 A0 51 55 4F 54  |ote ;INVERT.QUOT|
00001BB0: 45 A0 46 4C 41 47 0D 20  65 6F 72 20 23 24 66 66  |E.FLAG. eor #$ff|
00001BC0: 0D 20 73 74 61 20 71 75  6F 74 65 0D 72 64 62 61  |. sta quote.rdba|
00001BD0: 73 38 20 6A 6D 70 20 72  64 62 61 73 32 0D 20 6A  |s8 jmp rdbas2. j|
00001BE0: 73 72 20 62 73 6F 75 74  0D 20 6A 6D 70 20 72 64  |sr bsout. jmp rd|
00001BF0: 62 61 73 32 20 3B 52 45  54 52 49 45 56 45 A0 4E  |bas2 ;RETRIEVE.N|
00001C00: 45 58 54 A0 42 59 54 45  0D 72 64 62 61 73 31 30  |EXT.BYTE.rdbas10|
00001C10: 20 61 6E 64 20 23 24 37  66 20 3B 0D 20 6A 73 72  | and #$7f ;. jsr|
00001C20: 20 62 73 6F 75 74 20 3B  50 52 49 4E 54 A0 4F 55  | bsout ;PRINT.OU|
00001C30: 54 A0 4E 4F 52 4D 41 4C  A0 43 48 41 52 0D 20 6A  |T.NORMAL.CHAR. j|
00001C40: 6D 70 20 72 64 62 61 73  32 0D 2A 0D 2A 0D 2A 0D  |mp rdbas2.*.*.*.|
00001C50: 2A 0D 65 6F 66 20 6A 73  72 20 63 72 20 3B 43 41  |*.eof jsr cr ;CA|
00001C60: 52 52 49 41 47 45 A0 52  45 54 55 52 4E 0D 20 6C  |RRIAGE.RETURN. l|
00001C70: 64 61 20 23 3C 65 6F 66  69 6C 65 0D 20 6C 64 79  |da #<eofile. ldy|
00001C80: 20 23 3E 65 6F 66 69 6C  65 0D 20 6A 73 72 20 70  | #>eofile. jsr p|
00001C90: 72 74 73 74 67 0D 20 6A  73 72 20 63 6C 73 66 69  |rtstg. jsr clsfi|
00001CA0: 6C 65 0D 65 6F 66 31 20  6A 73 72 20 67 65 74 69  |le.eof1 jsr geti|
00001CB0: 6E 0D 20 62 65 71 20 65  6F 66 31 0D 20 6A 6D 70  |n. beq eof1. jmp|
00001CC0: 20 6D 65 6E 75 0D 2A 0D  2A 0D 63 68 6B 6B 65 79  | menu.*.*.chkkey|
00001CD0: 20 6A 73 72 20 73 74 6F  70 0D 20 62 6E 65 20 63  | jsr stop. bne c|
00001CE0: 68 6B 6B 65 79 31 0D 20  70 6C 61 20 20 3B 43 41  |hkkey1. pla  ;CA|
00001CF0: 4E 43 45 4C A0 52 45 54  55 52 4E A0 41 44 44 52  |NCEL.RETURN.ADDR|
00001D00: 45 53 53 A0 46 52 4F 4D  A0 53 54 41 43 4B 0D 20  |ESS.FROM.STACK. |
00001D10: 70 6C 61 0D 20 6A 73 72  20 63 6C 73 66 69 6C 65  |pla. jsr clsfile|
00001D20: 0D 20 6A 6D 70 20 6D 65  6E 75 0D 63 68 6B 6B 65  |. jmp menu.chkke|
00001D30: 79 31 20 72 74 73 0D 2A  0D 2A 0D 2A 0D 2A A0 63  |y1 rts.*.*.*.*.c|
00001D40: 68 65 63 6B A0 49 46 A0  45 4E 44 A0 4F 46 A0 53  |heck.IF.END.OF.S|
00001D50: 43 52 45 45 4E 0D 2A 0D  63 68 6B 6C 69 6E 65 20  |CREEN.*.chkline |
00001D60: 63 6C 63 0D 20 6C 64 61  20 24 64 36 20 3B 43 55  |clc. lda $d6 ;CU|
00001D70: 52 52 45 4E 54 A0 53 43  52 45 45 4E A0 4C 49 4E  |RRENT.SCREEN.LIN|
00001D80: 45 A0 41 44 44 52 45 53  53 0D 20 63 6D 70 20 73  |E.ADDRESS. cmp s|
00001D90: 63 72 6E 6C 69 6E 65 20  3B 4C 41 53 54 A0 53 43  |crnline ;LAST.SC|
00001DA0: 52 45 45 4E A0 4C 49 4E  45 3F 0D 20 62 63 73 20  |REEN.LINE?. bcs |
00001DB0: 63 68 6B 6C 69 6E 65 32  0D 20 72 74 73 0D 63 68  |chkline2. rts.ch|
00001DC0: 6B 6C 69 6E 65 32 20 63  6C 63 0D 20 6A 73 72 20  |kline2 clc. jsr |
00001DD0: 67 65 74 69 6E 20 3B 41  4E 59 A0 4B 45 59 53 A0  |getin ;ANY.KEYS.|
00001DE0: 50 52 45 53 53 45 44 3F  0D 20 62 65 71 20 63 68  |PRESSED?. beq ch|
00001DF0: 6B 6C 69 6E 65 32 0D 20  6A 73 72 20 63 6C 72 73  |kline2. jsr clrs|
00001E00: 63 6E 20 3B 43 4C 45 41  52 A0 53 43 52 45 45 4E  |cn ;CLEAR.SCREEN|
00001E10: A0 41 4E 44 A0 53 54 41  52 54 A0 4E 45 57 A0 50  |.AND.START.NEW.P|
00001E20: 41 47 45 0D 20 63 6C 63  0D 20 6C 64 61 20 23 30  |AGE. clc. lda #0|
00001E30: 0D 20 73 74 61 20 31 39  38 20 3B 52 45 53 45 54  |. sta 198 ;RESET|
00001E40: A0 4B 45 59 42 4F 41 52  44 A0 42 55 46 46 45 52  |.KEYBOARD.BUFFER|
00001E50: 0D 20 72 74 73 0D 2A 0D  2A 0D 2A 0D 63 72 20 6C  |. rts.*.*.*.cr l|
00001E60: 64 61 20 23 31 33 0D 20  6A 73 72 20 62 73 6F 75  |da #13. jsr bsou|
00001E70: 74 20 3B 50 52 49 4E 54  A0 32 A0 43 41 52 52 49  |t ;PRINT.2.CARRI|
00001E80: 41 47 45 A0 52 45 54 55  52 4E 0D 63 72 31 20 6C  |AGE.RETURN.cr1 l|
00001E90: 64 61 20 23 31 33 20 3B  0D 20 6A 6D 70 20 62 73  |da #13 ;. jmp bs|
00001EA0: 6F 75 74 0D 2A 0D 2A 0D  2A 0D 2A 0D 2A A0 64 6C  |out.*.*.*.*.*.dl|
00001EB0: 69 73 74 A0 53 48 4F 57  53 A0 44 49 52 45 43 54  |ist.SHOWS.DIRECT|
00001EC0: 4F 52 59 A0 4F 46 A0 54  48 45 A0 44 49 53 4B 0D  |ORY.OF.THE.DISK.|
00001ED0: 2A A0 57 49 54 48 4F 55  54 A0 44 49 53 54 55 52  |*.WITHOUT.DISTUR|
00001EE0: 42 49 4E 47 A0 4D 45 4D  4F 52 59 0D 2A 0D 64 6C  |BING.MEMORY.*.dl|
00001EF0: 69 73 74 20 6A 73 72 20  63 6C 72 73 63 6E 0D 20  |ist jsr clrscn. |
00001F00: 6C 64 61 20 23 30 0D 20  73 74 61 20 73 74 61 74  |lda #0. sta stat|
00001F10: 75 73 0D 20 6C 64 61 20  23 3C 64 6C 0D 20 73 74  |us. lda #<dl. st|
00001F20: 61 20 66 6E 61 64 64 72  0D 20 6C 64 61 20 23 3E  |a fnaddr. lda #>|
00001F30: 64 6C 0D 20 73 74 61 20  66 6E 61 64 64 72 2B 31  |dl. sta fnaddr+1|
00001F40: 0D 20 6C 64 61 20 23 31  0D 20 73 74 61 20 66 6E  |. lda #1. sta fn|
00001F50: 6C 65 6E 67 0D 20 6C 64  61 20 23 38 0D 20 73 74  |leng. lda #8. st|
00001F60: 61 20 64 65 76 6E 75 6D  0D 20 6C 64 61 20 23 24  |a devnum. lda #$|
00001F70: 36 30 0D 20 73 74 61 20  73 65 63 61 64 72 0D 20  |60. sta secadr. |
00001F80: 6A 73 72 20 73 65 6E 64  66 6E 0D 20 6C 64 61 20  |jsr sendfn. lda |
00001F90: 64 65 76 6E 75 6D 0D 20  6A 73 72 20 69 65 63 74  |devnum. jsr iect|
00001FA0: 61 6C 6B 0D 20 6C 64 61  20 73 65 63 61 64 72 0D  |alk. lda secadr.|
00001FB0: 20 6A 73 72 20 73 65 6E  64 73 65 63 0D 20 6C 64  | jsr sendsec. ld|
00001FC0: 79 20 73 74 61 74 75 73  0D 20 62 6E 65 20 64 6C  |y status. bne dl|
00001FD0: 69 73 74 34 0D 20 6C 64  79 20 23 36 0D 64 6C 69  |ist4. ldy #6.dli|
00001FE0: 73 74 31 20 73 74 79 20  74 6D 70 0D 20 6A 73 72  |st1 sty tmp. jsr|
00001FF0: 20 69 65 63 69 6E 70 0D  20 6C 64 78 20 74 6D 70  | iecinp. ldx tmp|
00002000: 2B 31 0D 20 73 74 61 20  74 6D 70 2B 31 0D 20 6C  |+1. sta tmp+1. l|
00002010: 64 79 20 73 74 61 74 75  73 0D 20 62 6E 65 20 64  |dy status. bne d|
00002020: 6C 69 73 74 34 0D 20 6C  64 79 20 74 6D 70 0D 20  |list4. ldy tmp. |
00002030: 64 65 79 0D 20 62 6E 65  20 64 6C 69 73 74 31 0D  |dey. bne dlist1.|
00002040: 20 6C 64 79 20 74 6D 70  2B 31 0D 20 6A 73 72 20  | ldy tmp+1. jsr |
00002050: 6C 69 6E 65 70 72 74 20  3B 50 52 49 4E 54 A0 4C  |lineprt ;PRINT.L|
00002060: 49 4E 45 0D 20 6C 64 61  20 23 24 32 30 20 3B 53  |INE. lda #$20 ;S|
00002070: 50 41 43 45 0D 20 6A 73  72 20 62 73 6F 75 74 0D  |PACE. jsr bsout.|
00002080: 64 6C 69 73 74 33 20 6A  73 72 20 69 65 63 69 6E  |dlist3 jsr iecin|
00002090: 70 0D 20 6C 64 78 20 73  74 61 74 75 73 0D 20 62  |p. ldx status. b|
000020A0: 6E 65 20 64 6C 69 73 74  34 0D 20 74 61 78 0D 20  |ne dlist4. tax. |
000020B0: 62 65 71 20 64 6C 69 73  74 32 0D 20 6A 73 72 20  |beq dlist2. jsr |
000020C0: 62 73 6F 75 74 0D 20 6A  6D 70 20 64 6C 69 73 74  |bsout. jmp dlist|
000020D0: 33 0D 64 6C 69 73 74 32  20 6A 73 72 20 63 72 31  |3.dlist2 jsr cr1|
000020E0: 20 3B 43 41 52 52 49 41  47 45 A0 52 45 54 55 52  | ;CARRIAGE.RETUR|
000020F0: 4E 0D 20 6C 64 79 20 23  34 0D 20 62 6E 65 20 64  |N. ldy #4. bne d|
00002100: 6C 69 73 74 31 0D 64 6C  69 73 74 34 20 6A 73 72  |list1.dlist4 jsr|
00002110: 20 63 6C 6F 73 66 69 6C  0D 20 6A 6D 70 20 65 6F  | closfil. jmp eo|
00002120: 66 31 20 3B 57 41 49 54  A0 46 4F 52 A0 41 A0 4B  |f1 ;WAIT.FOR.A.K|
00002130: 45 59 A0 54 4F A0 42 45  A0 50 52 45 53 53 45 44  |EY.TO.BE.PRESSED|
00002140: 0D 2A 0D 2A 0D 2A 0D 74  69 74 6C 65 20 61 73 63  |.*.*.*.title asc|
00002150: 20 27 A0 A0 A0 A0 A0 A0  A0 A0 A0 A0 A0 A0 A0 66  | '.............f|
00002160: 69 6C 65 A0 65 78 61 6D  69 6E 65 72 27 0D 20 64  |ile.examiner'. d|
00002170: 66 62 20 31 33 0D 20 61  73 63 20 27 A0 A0 A0 A0  |fb 13. asc '....|
00002180: A0 A0 A0 A0 A0 A0 A0 62  79 A0 70 61 6F 6C 6F A0  |.......by.paolo.|
00002190: 61 67 6F 73 74 69 6E 69  27 0D 20 64 66 62 20 30  |agostini'. dfb 0|
000021A0: 0D 66 69 6C 65 20 61 73  63 20 27 A0 A0 3E A0 A0  |.file asc '..>..|
000021B0: 66 69 6C 65 A0 74 6F A0  64 69 73 70 6C 61 79 3A  |file.to.display:|
000021C0: A0 A0 24 27 0D 20 64 66  62 20 31 35 37 2C 30 0D  |..$'. dfb 157,0.|
000021D0: 66 69 6C 74 79 70 65 20  61 73 63 20 27 A0 A0 A0  |filtype asc '...|
000021E0: A0 A0 A0 A0 A0 A0 A0 27  0D 20 64 66 62 20 31 38  |.......'. dfb 18|
000021F0: 2C 33 32 2C 34 39 2C 33  32 2C 31 34 36 2C 33 32  |,32,49,32,146,32|
00002200: 0D 20 61 73 63 20 27 70  72 67 A0 66 69 6C 65 A0  |. asc 'prg.file.|
00002210: 74 79 70 65 27 0D 20 64  66 62 20 31 33 2C 31 33  |type'. dfb 13,13|
00002220: 0D 20 61 73 63 20 27 A0  A0 A0 A0 A0 A0 A0 A0 A0  |. asc '.........|
00002230: A0 27 0D 20 64 66 62 20  31 38 2C 33 32 2C 35 30  |.'. dfb 18,32,50|
00002240: 2C 33 32 2C 31 34 36 2C  33 32 0D 20 61 73 63 20  |,32,146,32. asc |
00002250: 27 73 65 71 A0 66 69 6C  65 A0 74 79 70 65 27 0D  |'seq.file.type'.|
00002260: 20 64 66 62 20 31 33 2C  31 33 0D 20 61 73 63 20  | dfb 13,13. asc |
00002270: 27 A0 A0 A0 A0 A0 A0 A0  A0 A0 A0 27 0D 20 64 66  |'..........'. df|
00002280: 62 20 31 38 2C 33 32 2C  35 31 2C 33 32 2C 31 34  |b 18,32,51,32,14|
00002290: 36 2C 33 32 0D 20 61 73  63 20 27 75 73 72 A0 66  |6,32. asc 'usr.f|
000022A0: 69 6C 65 A0 74 79 70 65  27 0D 20 64 66 62 20 31  |ile.type'. dfb 1|
000022B0: 33 2C 31 33 0D 20 61 73  63 20 27 A0 A0 3E A0 A0  |3,13. asc '..>..|
000022C0: 63 68 6F 6F 73 65 A0 66  69 6C 65 A0 74 79 70 65  |choose.file.type|
000022D0: A0 28 31 2D 33 29 27 0D  20 64 66 62 20 31 33 2C  |.(1-3)'. dfb 13,|
000022E0: 31 33 2C 31 33 2C 30 0D  64 69 73 70 6C 61 79 20  |13,13,0.display |
000022F0: 61 73 63 20 27 A0 A0 A0  A0 A0 A0 A0 A0 A0 A0 27  |asc '..........'|
00002300: 0D 20 64 66 62 20 31 38  2C 36 36 2C 31 34 36 0D  |. dfb 18,66,146.|
00002310: 20 61 73 63 20 27 61 73  69 63 A0 70 72 6F 67 72  | asc 'asic.progr|
00002320: 61 6D A0 64 69 73 70 6C  61 79 27 0D 20 64 66 62  |am.display'. dfb|
00002330: 20 31 33 2C 31 33 0D 20  61 73 63 20 27 A0 A0 A0  | 13,13. asc '...|
00002340: A0 A0 A0 A0 A0 A0 A0 27  0D 20 64 66 62 20 31 38  |.......'. dfb 18|
00002350: 2C 37 37 2C 31 34 36 0D  20 61 73 63 20 27 61 63  |,77,146. asc 'ac|
00002360: 68 69 6E 65 A0 6C 61 6E  67 75 61 67 65 A0 70 72  |hine.language.pr|
00002370: 67 A0 64 69 73 70 6C 61  79 27 0D 20 64 66 62 20  |g.display'. dfb |
00002380: 31 33 2C 31 33 0D 20 61  73 63 20 27 A0 A0 A0 A0  |13,13. asc '....|
00002390: A0 A0 A0 A0 A0 A0 27 0D  20 64 66 62 20 31 38 2C  |......'. dfb 18,|
000023A0: 37 30 2C 31 34 36 0D 20  61 73 63 20 27 69 6C 65  |70,146. asc 'ile|
000023B0: 2D 6D 6F 64 65 A0 64 69  73 70 6C 61 79 27 0D 20  |-mode.display'. |
000023C0: 64 66 62 20 31 33 2C 31  33 0D 20 61 73 63 20 27  |dfb 13,13. asc '|
000023D0: A0 A0 3E A0 A0 63 68 6F  6F 73 65 A0 64 69 73 70  |..>..choose.disp|
000023E0: 6C 61 79 A0 6F 70 74 69  6F 6E A0 28 62 2F 6D 2F  |lay.option.(b/m/|
000023F0: 66 29 27 0D 20 64 66 62  20 30 0D 72 64 69 6E 67  |f)'. dfb 0.rding|
00002400: 20 61 73 63 20 27 72 65  61 64 69 6E 67 A0 66 69  | asc 'reading.fi|
00002410: 6C 65 3A A0 27 0D 20 64  66 62 20 30 0D 61 64 64  |le:.'. dfb 0.add|
00002420: 72 20 61 73 63 20 27 73  74 61 72 74 A0 61 64 64  |r asc 'start.add|
00002430: 72 65 73 73 3A A0 27 0D  20 64 66 62 20 30 0D 65  |ress:.'. dfb 0.e|
00002440: 6F 66 69 6C 65 20 64 66  62 20 31 38 0D 20 61 73  |ofile dfb 18. as|
00002450: 63 20 27 70 72 65 73 73  A0 61 6E 79 A0 6B 65 79  |c 'press.any.key|
00002460: 2E 27 0D 20 64 66 62 20  31 34 36 2C 30 0D 64 6C  |.'. dfb 146,0.dl|
00002470: 20 61 73 63 20 27 24 27  0D 73 63 72 6E 6C 69 6E  | asc '$'.scrnlin|
00002480: 65 20 64 66 62 20 30 0D  69 30 20 61 73 63 20 27  |e dfb 0.i0 asc '|
00002490: 69 30 27 0D 74 6D 70 20  64 64 62 20 30 0D 68 65  |i0'.tmp ddb 0.he|
000024A0: 78 6C 69 6E 65 20 61 73  63 20 27 30 31 32 33 34  |xline asc '01234|
000024B0: 35 36 37 38 39 61 62 63  64 65 66 27 0D 73 74 72  |56789abcdef'.str|
000024C0: 69 6E 67 20 64 66 62 20  30 2C 30 2C 30 2C 30 2C  |ing dfb 0,0,0,0,|
000024D0: 30 0D 2A 0D 2A 0D 63 6F  64 69 73 20 68 65 78 20  |0.*.*.codis hex |
000024E0: 32 31 2C 36 39 2C 30 30  2C 30 30 2C 30 30 2C 36  |21,69,00,00,00,6|
000024F0: 39 2C 30 39 2C 30 30 2C  36 66 2C 36 39 2C 30 39  |9,09,00,6f,69,09|
00002500: 2C 30 30 2C 30 30 2C 36  39 2C 30 39 2C 30 30 0D  |,00,00,69,09,00.|
00002510: 20 68 65 78 20 31 65 2C  36 39 2C 30 30 2C 30 30  | hex 1e,69,00,00|
00002520: 2C 30 30 2C 36 39 2C 30  39 2C 30 30 2C 32 61 2C  |,00,69,09,00,2a,|
00002530: 36 39 2C 30 30 2C 30 30  2C 30 30 2C 36 39 2C 30  |69,00,00,00,69,0|
00002540: 39 2C 30 30 0D 20 68 65  78 20 35 37 2C 30 36 2C  |9,00. hex 57,06,|
00002550: 30 30 2C 30 30 2C 31 35  2C 30 36 2C 37 38 2C 30  |00,00,15,06,78,0|
00002560: 30 2C 37 35 2C 30 36 2C  37 38 2C 30 30 2C 31 35  |0,75,06,78,00,15|
00002570: 2C 30 36 2C 37 38 2C 30  30 0D 20 68 65 78 20 31  |,06,78,00. hex 1|
00002580: 38 2C 30 36 2C 30 30 2C  30 30 2C 30 30 2C 30 36  |8,06,00,00,00,06|
00002590: 2C 37 38 2C 30 30 2C 38  37 2C 30 36 2C 30 30 2C  |,78,00,87,06,00,|
000025A0: 30 30 2C 30 30 2C 30 36  2C 37 38 2C 30 30 0D 20  |00,00,06,78,00. |
000025B0: 68 65 78 20 37 65 2C 34  38 2C 30 30 2C 30 30 2C  |hex 7e,48,00,00,|
000025C0: 30 30 2C 34 38 2C 36 33  2C 30 30 2C 36 63 2C 34  |00,48,63,00,6c,4|
000025D0: 38 2C 36 33 2C 30 30 2C  35 34 2C 34 38 2C 36 33  |8,63,00,54,48,63|
000025E0: 2C 30 30 0D 20 68 65 78  20 32 34 2C 34 38 2C 30  |,00. hex 24,48,0|
000025F0: 30 2C 30 30 2C 30 30 2C  34 38 2C 36 33 2C 30 30  |0,00,00,48,63,00|
00002600: 2C 33 30 2C 34 38 2C 30  30 2C 30 30 2C 30 30 2C  |,30,48,00,00,00,|
00002610: 34 38 2C 36 33 2C 30 30  0D 20 68 65 78 20 38 31  |48,63,00. hex 81|
00002620: 2C 30 33 2C 30 30 2C 30  30 2C 30 30 2C 30 33 2C  |,03,00,00,00,03,|
00002630: 37 62 2C 30 30 2C 37 32  2C 30 33 2C 37 62 2C 30  |7b,00,72,03,7b,0|
00002640: 30 2C 35 34 2C 30 33 2C  37 62 2C 30 30 0D 20 68  |0,54,03,7b,00. h|
00002650: 65 78 20 32 37 2C 30 33  2C 30 30 2C 30 30 2C 30  |ex 27,03,00,00,0|
00002660: 30 2C 30 33 2C 37 62 2C  30 30 2C 38 64 2C 30 33  |0,03,7b,00,8d,03|
00002670: 2C 30 30 2C 30 30 2C 30  30 2C 30 33 2C 37 62 2C  |,00,00,00,03,7b,|
00002680: 30 30 0D 20 68 65 78 20  30 30 2C 39 30 2C 30 30  |00. hex 00,90,00|
00002690: 2C 30 30 2C 39 36 2C 39  30 2C 39 33 2C 30 30 2C  |,00,96,90,93,00,|
000026A0: 34 35 2C 30 30 2C 61 32  2C 30 30 2C 39 36 2C 39  |45,00,a2,00,96,9|
000026B0: 30 2C 39 33 2C 30 30 0D  20 68 65 78 20 30 63 2C  |0,93,00. hex 0c,|
000026C0: 39 30 2C 30 30 2C 30 30  2C 39 36 2C 39 30 2C 39  |90,00,00,96,90,9|
000026D0: 33 2C 30 30 2C 61 38 2C  39 30 2C 61 35 2C 30 30  |3,00,a8,90,a5,00|
000026E0: 2C 30 30 2C 39 30 2C 30  30 2C 30 30 0D 20 68 65  |,00,90,00,00. he|
000026F0: 78 20 36 30 2C 35 61 2C  35 64 2C 30 30 2C 36 30  |x 60,5a,5d,00,60|
00002700: 2C 35 61 2C 35 64 2C 30  30 2C 39 63 2C 35 61 2C  |,5a,5d,00,9c,5a,|
00002710: 39 39 2C 30 30 2C 36 30  2C 35 61 2C 35 64 2C 30  |99,00,60,5a,5d,0|
00002720: 30 0D 20 68 65 78 20 30  66 2C 35 61 2C 30 30 2C  |0. hex 0f,5a,00,|
00002730: 30 30 2C 36 30 2C 35 61  2C 35 64 2C 30 30 2C 33  |00,60,5a,5d,00,3|
00002740: 33 2C 35 61 2C 39 66 2C  30 30 2C 36 30 2C 35 61  |3,5a,9f,00,60,5a|
00002750: 2C 35 64 2C 30 30 0D 20  68 65 78 20 33 63 2C 33  |,5d,00. hex 3c,3|
00002760: 36 2C 30 30 2C 30 30 2C  33 63 2C 33 36 2C 33 66  |6,00,00,3c,36,3f|
00002770: 2C 30 30 2C 35 31 2C 33  36 2C 34 32 2C 30 30 2C  |,00,51,36,42,00,|
00002780: 33 63 2C 33 36 2C 33 66  2C 30 30 0D 20 68 65 78  |3c,36,3f,00. hex|
00002790: 20 31 62 2C 33 36 2C 30  30 2C 30 30 2C 30 30 2C  | 1b,36,00,00,00,|
000027A0: 33 36 2C 33 66 2C 30 30  2C 32 64 2C 33 36 2C 30  |36,3f,00,2d,36,0|
000027B0: 30 2C 30 30 2C 30 30 2C  33 36 2C 33 66 2C 30 30  |0,00,00,36,3f,00|
000027C0: 0D 20 68 65 78 20 33 39  2C 38 34 2C 30 30 2C 30  |. hex 39,84,00,0|
000027D0: 30 2C 33 39 2C 38 34 2C  34 62 2C 30 30 2C 34 65  |0,39,84,4b,00,4e|
000027E0: 2C 38 34 2C 36 36 2C 30  30 2C 33 39 2C 38 34 2C  |,84,66,00,39,84,|
000027F0: 34 62 2C 30 30 0D 20 68  65 78 20 31 32 2C 38 34  |4b,00. hex 12,84|
00002800: 2C 30 30 2C 30 30 2C 30  30 2C 38 34 2C 34 62 2C  |,00,00,00,84,4b,|
00002810: 30 30 2C 38 61 2C 38 34  2C 30 30 2C 30 30 2C 30  |00,8a,84,00,00,0|
00002820: 30 2C 38 34 2C 34 62 2C  30 30 0D 2A 0D 69 6E 64  |0,84,4b,00.*.ind|
00002830: 69 72 20 68 65 78 20 30  30 2C 30 36 2C 30 30 2C  |ir hex 00,06,00,|
00002840: 30 30 2C 30 30 2C 30 33  2C 30 33 2C 30 30 2C 30  |00,00,03,03,00,0|
00002850: 30 2C 30 31 2C 30 30 2C  30 30 2C 30 30 2C 30 62  |0,01,00,00,00,0b|
00002860: 2C 30 62 2C 30 30 0D 20  68 65 78 20 30 32 2C 30  |,0b,00. hex 02,0|
00002870: 37 2C 30 30 2C 30 30 2C  30 30 2C 30 34 2C 30 34  |7,00,00,00,04,04|
00002880: 2C 30 30 2C 30 30 2C 30  61 2C 30 30 2C 30 30 2C  |,00,00,0a,00,00,|
00002890: 30 30 2C 30 39 2C 30 39  2C 30 30 0D 20 68 65 78  |00,09,09,00. hex|
000028A0: 20 30 62 2C 30 36 2C 30  30 2C 30 30 2C 30 33 2C  | 0b,06,00,00,03,|
000028B0: 30 33 2C 30 33 2C 30 30  2C 30 30 2C 30 31 2C 30  |03,03,00,00,01,0|
000028C0: 30 2C 30 30 2C 30 62 2C  30 62 2C 30 62 2C 30 30  |0,00,0b,0b,0b,00|
000028D0: 0D 20 68 65 78 20 30 32  2C 30 37 2C 30 30 2C 30  |. hex 02,07,00,0|
000028E0: 30 2C 30 30 2C 30 34 2C  30 34 2C 30 30 2C 30 30  |0,00,04,04,00,00|
000028F0: 2C 30 61 2C 30 30 2C 30  30 2C 30 30 2C 30 39 2C  |,0a,00,00,00,09,|
00002900: 30 39 2C 30 30 0D 20 68  65 78 20 30 30 2C 30 36  |09,00. hex 00,06|
00002910: 2C 30 30 2C 30 30 2C 30  30 2C 30 33 2C 30 33 2C  |,00,00,00,03,03,|
00002920: 30 30 2C 30 30 2C 30 31  2C 30 30 2C 30 30 2C 30  |00,00,01,00,00,0|
00002930: 62 2C 30 62 2C 30 62 2C  30 30 0D 20 68 65 78 20  |b,0b,0b,00. hex |
00002940: 30 32 2C 30 37 2C 30 30  2C 30 30 2C 30 30 2C 30  |02,07,00,00,00,0|
00002950: 34 2C 30 34 2C 30 30 2C  30 30 2C 30 61 2C 30 30  |4,04,00,00,0a,00|
00002960: 2C 30 30 2C 30 30 2C 30  39 2C 30 39 2C 30 30 0D  |,00,00,09,09,00.|
00002970: 20 68 65 78 20 30 30 2C  30 36 2C 30 30 2C 30 30  | hex 00,06,00,00|
00002980: 2C 30 30 2C 30 33 2C 30  33 2C 30 30 2C 30 30 2C  |,00,03,03,00,00,|
00002990: 30 31 2C 30 30 2C 30 30  2C 30 38 2C 30 62 2C 30  |01,00,00,08,0b,0|
000029A0: 62 2C 30 30 0D 20 68 65  78 20 30 32 2C 30 37 2C  |b,00. hex 02,07,|
000029B0: 30 30 2C 30 30 2C 30 30  2C 30 34 2C 30 34 2C 30  |00,00,00,04,04,0|
000029C0: 30 2C 30 30 2C 30 61 2C  30 30 2C 30 30 2C 30 30  |0,00,0a,00,00,00|
000029D0: 2C 30 39 2C 30 39 2C 30  30 0D 20 68 65 78 20 30  |,09,09,00. hex 0|
000029E0: 30 2C 30 36 2C 30 30 2C  30 30 2C 30 33 2C 30 33  |0,06,00,00,03,03|
000029F0: 2C 30 33 2C 30 30 2C 30  30 2C 30 30 2C 30 30 2C  |,03,00,00,00,00,|
00002A00: 30 30 2C 30 62 2C 30 62  2C 30 62 2C 30 30 0D 20  |00,0b,0b,0b,00. |
00002A10: 68 65 78 20 30 32 2C 30  37 2C 30 30 2C 30 30 2C  |hex 02,07,00,00,|
00002A20: 30 34 2C 30 34 2C 30 35  2C 30 30 2C 30 30 2C 30  |04,04,05,00,00,0|
00002A30: 61 2C 30 30 2C 30 30 2C  30 30 2C 30 39 2C 30 30  |a,00,00,00,09,00|
00002A40: 2C 30 30 0D 20 68 65 78  20 30 31 2C 30 36 2C 30  |,00. hex 01,06,0|
00002A50: 31 2C 30 30 2C 30 33 2C  30 33 2C 30 33 2C 30 30  |1,00,03,03,03,00|
00002A60: 2C 30 30 2C 30 31 2C 30  30 2C 30 30 2C 30 62 2C  |,00,01,00,00,0b,|
00002A70: 30 62 2C 30 62 2C 30 30  0D 20 68 65 78 20 30 32  |0b,0b,00. hex 02|
00002A80: 2C 30 37 2C 30 30 2C 30  30 2C 30 34 2C 30 34 2C  |,07,00,00,04,04,|
00002A90: 30 35 2C 30 30 2C 30 30  2C 30 61 2C 30 30 2C 30  |05,00,00,0a,00,0|
00002AA0: 30 2C 30 39 2C 30 39 2C  30 61 2C 30 30 0D 20 68  |0,09,09,0a,00. h|
00002AB0: 65 78 20 30 31 2C 30 36  2C 30 30 2C 30 30 2C 30  |ex 01,06,00,00,0|
00002AC0: 33 2C 30 33 2C 30 33 2C  30 30 2C 30 30 2C 30 31  |3,03,03,00,00,01|
00002AD0: 2C 30 30 2C 30 30 2C 30  62 2C 30 62 2C 30 62 2C  |,00,00,0b,0b,0b,|
00002AE0: 30 30 0D 20 68 65 78 20  30 32 2C 30 37 2C 30 30  |00. hex 02,07,00|
00002AF0: 2C 30 30 2C 30 30 2C 30  34 2C 30 34 2C 30 30 2C  |,00,00,04,04,00,|
00002B00: 30 30 2C 30 61 2C 30 30  2C 30 30 2C 30 30 2C 30  |00,0a,00,00,00,0|
00002B10: 39 2C 30 39 2C 30 30 0D  20 68 65 78 20 30 31 2C  |9,09,00. hex 01,|
00002B20: 30 36 2C 30 30 2C 30 30  2C 30 33 2C 30 33 2C 30  |06,00,00,03,03,0|
00002B30: 33 2C 30 30 2C 30 30 2C  30 31 2C 30 30 2C 30 30  |3,00,00,01,00,00|
00002B40: 2C 30 62 2C 30 62 2C 30  62 2C 30 30 0D 20 68 65  |,0b,0b,0b,00. he|
00002B50: 78 20 30 32 2C 30 37 2C  30 30 2C 30 30 2C 30 30  |x 02,07,00,00,00|
00002B60: 2C 30 34 2C 30 34 2C 30  30 2C 30 30 2C 30 61 2C  |,04,04,00,00,0a,|
00002B70: 30 30 2C 30 30 2C 30 30  2C 30 39 2C 30 39 2C 30  |00,00,00,09,09,0|
00002B80: 30 0D 2A 0D 2A 0D 6D 6E  65 6D 6F 20 61 73 63 20  |0.*.*.mnemo asc |
00002B90: 27 2D 2D 2D 61 64 63 61  6E 64 61 73 6C 62 63 63  |'---adcandaslbcc|
00002BA0: 62 27 0D 20 61 73 63 20  27 63 73 62 65 71 62 69  |b'. asc 'csbeqbi|
00002BB0: 74 62 6D 69 62 6E 65 62  70 27 0D 20 61 73 63 20  |tbmibnebp'. asc |
00002BC0: 27 6C 62 72 6B 62 76 63  62 76 73 63 6C 63 63 6C  |'lbrkbvcbvsclccl|
00002BD0: 64 27 0D 20 61 73 63 20  27 63 6C 69 63 6C 76 63  |d'. asc 'cliclvc|
00002BE0: 6D 70 63 70 78 63 70 79  64 27 0D 20 61 73 63 20  |mpcpxcpyd'. asc |
00002BF0: 27 65 63 64 65 78 64 65  79 65 6F 72 69 6E 63 69  |'ecdexdeyeorinci|
00002C00: 6E 27 0D 20 61 73 63 20  27 78 69 6E 79 6A 6D 70  |n'. asc 'xinyjmp|
00002C10: 6A 73 72 6C 64 61 6C 64  78 27 0D 20 61 73 63 20  |jsrldaldx'. asc |
00002C20: 27 6C 64 79 6C 73 72 6E  6F 70 6F 72 61 70 68 61  |'ldylsrnoporapha|
00002C30: 70 27 0D 20 61 73 63 20  27 68 70 70 6C 61 70 6C  |p'. asc 'hpplapl|
00002C40: 70 72 6F 6C 72 6F 72 72  74 27 0D 20 61 73 63 20  |prolrorrt'. asc |
00002C50: 27 69 72 74 73 73 62 63  73 65 63 73 65 64 73 65  |'irtssbcsecsedse|
00002C60: 69 27 0D 20 61 73 63 20  27 73 74 61 73 74 78 73  |i'. asc 'stastxs|
00002C70: 74 79 74 61 78 74 61 79  74 27 0D 20 61 73 63 20  |tytaxtayt'. asc |
00002C80: 27 73 78 74 78 61 74 78  73 74 79 61 27 0D 2A 0D  |'sxtxatxstya'.*.|
00002C90: 20 64 66 62 20 30 0D 6E  61 6D 65 6C 65 6E 67 20  | dfb 0.nameleng |
00002CA0: 64 66 62 20 30 0D 66 69  6C 6E 61 6D 65 20 64 64  |dfb 0.filname dd|
00002CB0: 62 20 30 2C 30 2C 30 2C  30 2C 30 2C 30 2C 30 2C  |b 0,0,0,0,0,0,0,|
00002CC0: 30 2C 30 2C 30 2C 30 2C  30 2C 30 2C 30 2C 30 0D  |0,0,0,0,0,0,0,0.|
00002CD0: 2A 0D 2A 0D 2A 0D                                 |*.*.*.          |
..BSOUT EQU $FFD2.CLRCH EQU $FFCC.CHKIN 
EQU $FFC6.PRTSTG EQU $AB1E.GETIN EQU $F1
42.STOP EQU $FFE1.QUOTE EQU $00D4.CONVER
T EQU $BDCD.CHRIN EQU $FFCF.CLRSCN EQU $
E544.STATUS EQU $90.FNADDR EQU $BB.FNLEN
G EQU $B7.DEVNUM EQU $BA.SECADR EQU $B9.
SENDFN EQU $F3D5.IECTALK EQU $FFB4.SENDS
EC EQU $FF96.IECINP EQU $FFA5.CLOSFIL EQ
U $F642.LINEPRT EQU $BDCD.SETLFS EQU $FF
BA.SETFNA EQU $FFBD.OPEN EQU $FFC0.CLOSE
 EQU $FFC3.READY EQU $A474.*.*.*.*.* BAS
IC HEADER..*. ORG $801.. DA TWOBRK ;FIRS
T LINK. DA 10 ;LINE NUMBER 10. DFB $9E ;
SYS TOKEN. TXT '2061'. BRK ;END OF BASIC
 LINE.TWOBRK DA 0 ;END OF BASIC PROGRAM.
. ERR *-2061..*.*.MENU JSR CLRSCN. JSR C
LSFILE. LDA #<TITLE. LDY #>TITLE. JSR PR
TSTG. JSR CR ;CARRIAGE RETURN. JSR CR.*.
* GET FILE NAME.*. LDA #<FILE. LDY #>FIL
E. JSR PRTSTG. LDY #$00.RD JSR CHRIN. ST
A FILNAME,Y. INY. CMP #13. BNE RD. STY N
AMELENG. DEC NAMELENG. LDA FILNAME ;CHEC
K IF '$'. CMP #'$. BNE RD1. JMP DLIST ;I
F $ THEN SHOW DIRECTORY.RD1 CMP #'_ ;END
 PROGRAM. BNE RD2. JMP READY.RD2 JSR CR.
*.* GET FILE TYPE.*. LDA #<FILTYPE. LDY 
#>FILTYPE. JSR PRTSTG.GETTYPE CLC. JSR G
ETIN. BEQ GETTYPE. CMP #'1. BNE GETTYPE1
. LDA #'P. JMP DONE.GETTYPE1 CMP #'2. BN
E GETTYPE2. LDA #'S. JMP DONE.GETTYPE2 C
MP #'3. BNE GETTYPE. LDA #'U.DONE STA TM
P.*.* GET DISPLAY TYPE.*. LDA #<DISPLAY.
 LDY #>DISPLAY. JSR PRTSTG.*.*.RDKEY JSR
 GETIN ;WAIT FOR A KEY. BEQ RDKEY ;TO IN
DICATE. CMP #'B ;IF BASIC PRG. BNE RDKEY
1. LDA TMP. JSR OPNFILE. LDA #23. STA SC
RNLINE ;MAX. NO OF LINES PER SCREEN. JMP
 RDBAS.RDKEY1 CMP #'M ;OR ML PRG. BNE RD
KEY2. LDA TMP. JSR OPNFILE. LDA #24. STA
 SCRNLINE ;MAX. NO OF LINES PER SCREEN. 
JMP RDML.RDKEY2 CMP #'F ;OR FILE DISPLAY
 TYPE. BNE RDKEY. LDA TMP. JSR OPNFILE. 
LDA #24. STA SCRNLINE. JMP RDSEQ.*.*.*.R
DSEQ JSR CHKKEY ;CHECK INPUT FM KEYBOARD
. JSR CHKLINE. LDA STATUS. BEQ RDSEQ1. J
MP EOF.RDSEQ1 JSR GETBYTE. CMP #13 ;CARR
IAGE RETURN?. BEQ PRTCHAR. CMP #$20 ;IS 
IT PRINTABLE?. BCC NEXTBYTE. CMP #$80. B
CC PRTCHAR. CMP #$A0. BCC NEXTBYTE.PRTCH
AR JSR BSOUT.NEXTBYTE JMP RDSEQ.*.* OPEN
 CHANNEL TO DISK DRIVE.*.OPNFILE STA TMP
. JSR CLSFILE. LDY NAMELENG. LDA #',. ST
A FILNAME,Y. INY. INY. STA FILNAME,Y. IN
Y. LDA #'R. STA FILNAME,Y. STY NAMELENG.
 LDA #0. INY. STA FILNAME,Y. DEY. DEY. D
EY. LDA TMP. STA FILNAME,Y.*. JSR CLRSCN
. LDA #<RDING. LDY #>RDING. JSR PRTSTG. 
LDA #<FILNAME. LDY #>FILNAME. JSR PRTSTG
. JSR CR1.*. LDA #0. STA STATUS. CLC. LD
A #2 ;OPEN15,8,15,"I0". LDY #>I0. LDX #<
I0. JSR SETFNA. LDA #15. TAY. LDX #8. JS
R SETLFS. JSR OPEN.*. CLC. LDA #8 ;OPEN8
,8,8,"FILENAME,P,R". TAX. TAY. JSR SETLF
S. LDX #<FILNAME. LDY #>FILNAME. LDA NAM
ELENG. JSR SETFNA. JSR OPEN.*. LDX #15. 
JSR CHKIN. LDA #0. STA STATUS.DERR1 LDY 
STATUS. BNE DERR2. JSR CHRIN. JSR BSOUT.
 CMP #13. BNE DERR1.DERR2 JSR CLRCH.*. J
SR CR. LDX #8. JSR CHKIN. RTS.*.*.*.*.CL
SFILE JSR CLRCH. LDA #8. JSR CLOSE. LDA 
#15. JSR CLOSE. RTS.*.*.*.* PRINT OUT HE
X NUMBER.*.*.PRTHEX PHA. LSR A. LSR A. L
SR A. LSR A. TAX. LDA HEXLINE,X. JSR BSO
UT. PLA. AND #$0F. TAX. LDA HEXLINE,X. J
SR BSOUT. RTS.*.*.GETBYTE LDA #0. STA $9
0. JSR CHRIN. STA TMP. LDA $90. BNE GETB
1. LDA TMP. RTS.GETB1 JMP EOF.*.*.* READ
 ML PROGRAM.*.RDML CLC. JSR GETBYTE ;GET
 STARTADDR LO-BYTE. STA $FB. JSR GETBYTE
 ;GET STARTADDR HI-BYTE. STA $FC.RDML0 J
SR CHKKEY. JSR CHKLINE. CLC. JSR INITSTG
 ;INITIALIZE CHAR-STRING. LDA $FC ;PRINT
 ADDRESS. JSR PRTHEX. LDA $FB. JSR PRTHE
X. LDA #$20 ;PRINT 2 SPACES. JSR BSOUT. 
LDA #$20. JSR BSOUT.*. JSR GETBYTE ;GET 
1 BYTE. STA $FD ;STORE IT. LDY #0. JSR S
TORESTG. JSR PRTHEX ;PRINTS IT. INC $FB 
;ADDR=ADDR+1. BNE RDML1. INC $FC.RDML1 L
DX $FD ;USE INSTRUCTION AS POINTER. LDA 
INDIR,X ;FIND ADDRESSING MODE. STA $FA ;
STORE IT. BEQ RDML3 ;IF ADDR=0 THEN IMPL
IED MODE. LDA #$20 ;SPACE. JSR BSOUT. JS
R GETBYTE ;GET 2ND BYTE. STA $FE ;STORE 
IT. LDY #1. JSR STORESTG. JSR PRTHEX ;PR
INT IT. INC $FB. BNE RDML2. INC $FC.RDML
2 LDA $FA ;IF ADDR<8 BRANCH (2-BYTE OPCO
DES). CMP #8. BCC RDML3. LDA #$20 ;SPACE
. JSR BSOUT. JSR GETBYTE ;GET 3RD BYTE. 
STA $FF ;STORE IT. LDY #2. JSR STORESTG.
 JSR PRTHEX ;PRINT IT. INC $FB. BNE RDML
3. INC $FC.RDML3 CLC  ;TAB(16). LDX $D6.
 LDY #$10. JSR $FFF0 ;KERNAL'S PLOT. LDY
 $FD ;USE CODE AS POINTER. LDA CODIS,Y. 
TAY  ;USE CODE AS NEW POINTER. LDX #3 ;T
O FIND OPCODE.RDML4 LDA MNEMO,Y. JSR BSO
UT. INY. DEX. BNE RDML4 ;3 CHARS?.*. LDA
 #$20 ;PRINT SPACE. JSR BSOUT. LDY $FA ;
IF ADDR=0 (IMPLIED) THEN BRANCH. BEQ RDM
L13. CPY #2 ;IF ADDR=2 (RELATIVE) THEN B
RANCH. BEQ BRANCH. CPY #6 ;'BRANCH' CODE
. BCC RDML5. CPY #9 ;IF ADDR 6,7,OR 8 (I
NDIRECT) PRINT '(. BCS RDML5. LDA #$28. 
JSR BSOUT.RDML5 CPY #1 ;IF ADDR=1 (IMMED
IATE) PRINT '#. BNE RDML6. LDA #$23. JSR
 BSOUT.RDML6 CPY #8. BCC RDML8 ;IF 3-BYT
E INSTRUCTION.RDML7 LDA $FF ;PRINT ADDRE
SS. JSR PRTHEX.RDML8 LDA $FE ;ELSE PRINT
 1 HEXBYTE ONLY. JSR PRTHEX. CPY #4. BEQ
 RDML9. CPY #6. BEQ RDML9. CPY #9. BNE R
DML10.RDML9 LDA #$2C ;IF ADDR 4,6,OR 9 P
RINT ',X. JSR BSOUT. LDA #$58. JSR BSOUT
.RDML10 CPY #6 ;IF ADDR 6,7 OR 8 PRINT '
). BCC RDML11. CPY #9. BCS RDML11. LDA #
$29. JSR BSOUT.RDML11 CPY #5. BEQ RDML12
. CPY #7 ;IF ADDR 5,7 OR 10 PRINTT ',Y. 
BEQ RDML12. CPY #10. BNE RDML13.RDML12 L
DA #$2C. JSR BSOUT. LDA #$59. JSR BSOUT.
*.*.*.RDML13 CLC  ;TAB(35) USING. LDX $D
6. LDY #30 ;KERNAL PLOT ROUTINE. JSR $FF
F0. LDA #<STRING ;PRINT CHAR-STRING. LDY
 #>STRING. JSR PRTSTG. JSR CR1 ;CARRIAGE
 RETURN. JMP RDML0 ;START ANEW.*.*.* DEC
ODE BRANCH.*.BRANCH LDA $FE ;DECODE BRAN
CH. PHP. CLC. ADC $FB ;BRANCH ADDR = IND
+1+BRANCH CODE. STA $FE. LDA $FC. ADC #0
. STA $FF. PLP. BPL RDML7 ;IF >=128 THEN
 BRANCH=ADDR - 256. DEC $FF. CLC. BCC RD
ML7.*.*.INITSTG LDX #3. LDY #0 ;INITIALI
ZE STRING. STY STRING+3. LDA #'..INIT1 S
TA STRING,Y. INY. DEX. BNE INIT1. RTS.*.
*.STORESTG PHA  ;SAVE ACCUMULATOR. CMP #
$20 ;IF NOT PRINTABLE SKIP IT. BCC STORE
ND. CMP #$80. BCC STOR1. CMP #$A0. BCC S
TOREND.STOR1 STA STRING,Y.STOREND PLA. R
TS.*.*.*.*.*.* READ BASIC PROGRAM.*.RDBA
S CLC. JSR GETBYTE ;READ PRG START ADDR.
 STA $FB. JSR GETBYTE. STA $FC. LDA #<AD
DR. LDY #>ADDR. JSR PRTSTG. LDX $FB. LDA
 $FC. JSR CONVERT ;PRINT OUT START ADDRE
SS. JSR CR ;CARRIAGE RETURN.RDBAS1 LDA #
0. STA QUOTE. JSR CR1 ;START NEW LINE. J
SR GETBYTE ;GET LINKER FIRST BYTE. JSR G
ETBYTE ;GET 2ND BYTE. CMP #0 ;IF ZERO TH
EN END OF FILE. BEQ EOF.*. JSR CHKKEY ;A
NY KEY PRESSED?. JSR CHKLINE ;LAST SCREE
N LINE?. JSR GETBYTE ;GET FIRST BYTE OF 
LINE NUMBER. STA $FB. JSR GETBYTE ;GET S
ECOND BYTE OF LINE NUMBER. STA $FC. LDX 
$FB. LDA $FC. JSR CONVERT ;PRINT OUT LIN
E NR. LDA #$20 ;SPACE. JSR BSOUT.RDBAS2 
JSR GETBYTE ;RETRIEVE ONE BYTE FM DISK. 
CMP #0 ;END-OF-LINE?. BNE RDBAS3. JMP RD
BAS1.*.RDBAS3 BPL RDBAS7 ;NO INTERPRETER
-CODE,THEN PRINT. CMP #$FF ;CODE FOR PI.
 BEQ RDBAS7 ;THEN PRINT IT. BIT QUOTE ;Q
UOTE-FLAG ON?. BMI RDBAS7 ;IF SO PRINT C
ODE AS IS. SEC. SBC #$7F ;SUBTRACT OFFSE
T. TAX  ;USE CODE AS POINTER. LDY #$FF.R
DBAS4 DEX  ;FIRST CODE-WORD?. BEQ RDBAS6
.RDBAS5 INY. LDA $A09E,Y ;FIND OFFSET FO
R X CODE. BPL RDBAS5. BMI RDBAS4 ;BIT 7 
SET, NEXT WORD.RDBAS6 INY. LDA $A09E,Y ;
GET CODE-WORD FROM TABLE. BMI RDBAS10 ;L
AST CHARACTER, THEN END. JSR BSOUT ;PRIN
T OUT CHARACTER. BNE RDBAS6 ;LOOK FOR NE
XT CHARACTER.RDBAS7 JSR BSOUT. CMP #$22 
;QUOTE MODE?. BNE RDBAS8. LDA QUOTE ;INV
ERT QUOTE FLAG. EOR #$FF. STA QUOTE.RDBA
S8 JMP RDBAS2. JSR BSOUT. JMP RDBAS2 ;RE
TRIEVE NEXT BYTE.RDBAS10 AND #$7F ;. JSR
 BSOUT ;PRINT OUT NORMAL CHAR. JMP RDBAS
2.*.*.*.*.EOF JSR CR ;CARRIAGE RETURN. L
DA #<EOFILE. LDY #>EOFILE. JSR PRTSTG. J
SR CLSFILE.EOF1 JSR GETIN. BEQ EOF1. JMP
 MENU.*.*.CHKKEY JSR STOP. BNE CHKKEY1. 
PLA  ;CANCEL RETURN ADDRESS FROM STACK. 
PLA. JSR CLSFILE. JMP MENU.CHKKEY1 RTS.*
.*.*.* CHECK IF END OF SCREEN.*.CHKLINE 
CLC. LDA $D6 ;CURRENT SCREEN LINE ADDRES
S. CMP SCRNLINE ;LAST SCREEN LINE?. BCS 
CHKLINE2. RTS.CHKLINE2 CLC. JSR GETIN ;A
NY KEYS PRESSED?. BEQ CHKLINE2. JSR CLRS
CN ;CLEAR SCREEN AND START NEW PAGE. CLC
. LDA #0. STA 198 ;RESET KEYBOARD BUFFER
. RTS.*.*.*.CR LDA #13. JSR BSOUT ;PRINT
 2 CARRIAGE RETURN.CR1 LDA #13 ;. JMP BS
OUT.*.*.*.*.* DLIST SHOWS DIRECTORY OF T
HE DISK.* WITHOUT DISTURBING MEMORY.*.DL
IST JSR CLRSCN. LDA #0. STA STATUS. LDA 
#<DL. STA FNADDR. LDA #>DL. STA FNADDR+1
. LDA #1. STA FNLENG. LDA #8. STA DEVNUM
. LDA #$60. STA SECADR. JSR SENDFN. LDA 
DEVNUM. JSR IECTALK. LDA SECADR. JSR SEN
DSEC. LDY STATUS. BNE DLIST4. LDY #6.DLI
ST1 STY TMP. JSR IECINP. LDX TMP+1. STA 
TMP+1. LDY STATUS. BNE DLIST4. LDY TMP. 
DEY. BNE DLIST1. LDY TMP+1. JSR LINEPRT 
;PRINT LINE. LDA #$20 ;SPACE. JSR BSOUT.
DLIST3 JSR IECINP. LDX STATUS. BNE DLIST
4. TAX. BEQ DLIST2. JSR BSOUT. JMP DLIST
3.DLIST2 JSR CR1 ;CARRIAGE RETURN. LDY #
4. BNE DLIST1.DLIST4 JSR CLOSFIL. JMP EO
F1 ;WAIT FOR A KEY TO BE PRESSED.*.*.*.T
ITLE ASC '             FILE EXAMINER'. D
FB 13. ASC '           BY PAOLO AGOSTINI
'. DFB 0.FILE ASC '  >  FILE TO DISPLAY:
  $'. DFB 157,0.FILTYPE ASC '          '
. DFB 18,32,49,32,146,32. ASC 'PRG FILE 
TYPE'. DFB 13,13. ASC '          '. DFB 
18,32,50,32,146,32. ASC 'SEQ FILE TYPE'.
 DFB 13,13. ASC '          '. DFB 18,32,
51,32,146,32. ASC 'USR FILE TYPE'. DFB 1
3,13. ASC '  >  CHOOSE FILE TYPE (1-3)'.
 DFB 13,13,13,0.DISPLAY ASC '          '
. DFB 18,66,146. ASC 'ASIC PROGRAM DISPL
AY'. DFB 13,13. ASC '          '. DFB 18
,77,146. ASC 'ACHINE LANGUAGE PRG DISPLA
Y'. DFB 13,13. ASC '          '. DFB 18,
70,146. ASC 'ILE-MODE DISPLAY'. DFB 13,1
3. ASC '  >  CHOOSE DISPLAY OPTION (B/M/
F)'. DFB 0.RDING ASC 'READING FILE: '. D
FB 0.ADDR ASC 'START ADDRESS: '. DFB 0.E
OFILE DFB 18. ASC 'PRESS ANY KEY.'. DFB 
146,0.DL ASC '$'.SCRNLINE DFB 0.I0 ASC '
I0'.TMP DDB 0.HEXLINE ASC '0123456789ABC
DEF'.STRING DFB 0,0,0,0,0.*.*.CODIS HEX 
21,69,00,00,00,69,09,00,6F,69,09,00,00,6
9,09,00. HEX 1E,69,00,00,00,69,09,00,2A,
69,00,00,00,69,09,00. HEX 57,06,00,00,15
,06,78,00,75,06,78,00,15,06,78,00. HEX 1
8,06,00,00,00,06,78,00,87,06,00,00,00,06
,78,00. HEX 7E,48,00,00,00,48,63,00,6C,4
8,63,00,54,48,63,00. HEX 24,48,00,00,00,
48,63,00,30,48,00,00,00,48,63,00. HEX 81
,03,00,00,00,03,7B,00,72,03,7B,00,54,03,
7B,00. HEX 27,03,00,00,00,03,7B,00,8D,03
,00,00,00,03,7B,00. HEX 00,90,00,00,96,9
0,93,00,45,00,A2,00,96,90,93,00. HEX 0C,
90,00,00,96,90,93,00,A8,90,A5,00,00,90,0
0,00. HEX 60,5A,5D,00,60,5A,5D,00,9C,5A,
99,00,60,5A,5D,00. HEX 0F,5A,00,00,60,5A
,5D,00,33,5A,9F,00,60,5A,5D,00. HEX 3C,3
6,00,00,3C,36,3F,00,51,36,42,00,3C,36,3F
,00. HEX 1B,36,00,00,00,36,3F,00,2D,36,0
0,00,00,36,3F,00. HEX 39,84,00,00,39,84,
4B,00,4E,84,66,00,39,84,4B,00. HEX 12,84
,00,00,00,84,4B,00,8A,84,00,00,00,84,4B,
00.*.INDIR HEX 00,06,00,00,00,03,03,00,0
0,01,00,00,00,0B,0B,00. HEX 02,07,00,00,
00,04,04,00,00,0A,00,00,00,09,09,00. HEX
 0B,06,00,00,03,03,03,00,00,01,00,00,0B,
0B,0B,00. HEX 02,07,00,00,00,04,04,00,00
,0A,00,00,00,09,09,00. HEX 00,06,00,00,0
0,03,03,00,00,01,00,00,0B,0B,0B,00. HEX 
02,07,00,00,00,04,04,00,00,0A,00,00,00,0
9,09,00. HEX 00,06,00,00,00,03,03,00,00,
01,00,00,08,0B,0B,00. HEX 02,07,00,00,00
,04,04,00,00,0A,00,00,00,09,09,00. HEX 0
0,06,00,00,03,03,03,00,00,00,00,00,0B,0B
,0B,00. HEX 02,07,00,00,04,04,05,00,00,0
A,00,00,00,09,00,00. HEX 01,06,01,00,03,
03,03,00,00,01,00,00,0B,0B,0B,00. HEX 02
,07,00,00,04,04,05,00,00,0A,00,00,09,09,
0A,00. HEX 01,06,00,00,03,03,03,00,00,01
,00,00,0B,0B,0B,00. HEX 02,07,00,00,00,0
4,04,00,00,0A,00,00,00,09,09,00. HEX 01,
06,00,00,03,03,03,00,00,01,00,00,0B,0B,0
B,00. HEX 02,07,00,00,00,04,04,00,00,0A,
00,00,00,09,09,00.*.*.MNEMO ASC '---ADCA
NDASLBCCB'. ASC 'CSBEQBITBMIBNEBP'. ASC 
'LBRKBVCBVSCLCCLD'. ASC 'CLICLVCMPCPXCPY
D'. ASC 'ECDEXDEYEORINCIN'. ASC 'XINYJMP
JSRLDALDX'. ASC 'LDYLSRNOPORAPHAP'. ASC 
'HPPLAPLPROLRORRT'. ASC 'IRTSSBCSECSEDSE
I'. ASC 'STASTXSTYTAXTAYT'. ASC 'SXTXATX
STYA'.*. DFB 0.NAMELENG DFB 0.FILNAME DD
B 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.*.*.*.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL