Home » Personal collection » Commodore disks » disk35b_commodore_world_8.d64 » disk doctor 64
disk doctor 64
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
| Tape/disk: | Home » Personal collection » Commodore disks » disk35b_commodore_world_8.d64 |
| Filename: | disk doctor 64 |
| Read OK: | ✔ |
| File size: | 16F6 bytes |
| Load address: | 0801 |
| Exec address: | 0000 |
File contents
0 DN=8:REM DEVICE #
2 POKE53280,11:POKE53281,0:DIMA$,I,S$,T$,CC,B,SS,E$,J,TE,A:GOTO78
4 GETA$:IFA$>""THENPRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down> <home>";:CC=293:RETURN
6 IFA$=""THEN252
8 RETURN
10 IFI<0THENI=280+I:IFI>255THENI=I-40
12 IFI>255THENI=I-INT(I/40)*40
14 PRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down>"SPC(10)PEEK(SS+I)"<cursor left> ":PRINT"<cursor down>"SPC(10)I"<cursor left> "
16 PRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down>VALUE: ":PRINT"<cursor down>POSITION:"
18 FORJ=1TO2:POKEI+SS,(PEEK(I+SS)+128)AND255:FORD=0TO1:NEXTD,J
20 GOSUB4:IFA$=""THEN18
22 IFPFTHEN66
24 IFA$="<cursor right>"THENI=(I+1)AND255:GOTO10
26 IFA$="<cursor left>"THENI=(I-1)AND255:GOTO10
28 IFA$="<cursor up>"THENI=I-40:GOTO10
30 IFA$="<cursor down>"THENI=I+40:GOTO10
32 IFA$="<home>"THENI=0:GOTO10
34 IFA$="N"THENT$=STR$(PEEK(SS)):S$=STR$(PEEK(SS+1)):GOTO128
36 IFA$="J"THENT$=STR$(PEEK(SS+I)):S$=STR$(PEEK(SS+I+1)):GOTO128
38 IFA$="Q"THENPRINT#15,"I0":RUN
40 IFA$="+"THENS$=STR$(VAL(S$)+1):GOTO128
42 IFA$="-"THENS$=STR$((VAL(S$)-1)*SGN(VAL(S$))):GOTO128
44 IFA$="R"THEN174
46 IFA$="B"THEN116
48 IFA$="T"THENPRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down>":GOSUB218:PRINT"<cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down>":GOSUB218:GOTO64
50 IFA$=CHR$(3)THEN74
52 IFA$<>"@"THEN10
54 IFI<0THENI=280+I:IFI>255THENI=I-40
56 IFI>255THENI=I-INT(I/40)*40
58 PRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down>"SPC(10)PEEK(SS+I)"<cursor left> ":PRINT"<cursor down>"SPC(10)I"<cursor left> "
60 POKE198,0:PRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down>NEW VALUE: ";:INPUT#9,B$:PRINT
62 PRINT"<cursor up>"SPC(20)" ":B=VAL(B$):GOTO166
64 PRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down> 🭾RESS [🭻🭶🭰╭🭻╱] TO END TEXT MODE":PF=1:GETA$:GOTO10
66 IFA$=CHR$(13)THENPF=0:PRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down>":GOSUB202:GOTO10
68 IFA$=""THEN20
70 B=ASC(A$):GOTO168
72 PRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down>":GOSUB202:GOTO10
74 PRINT#15,"I0":PRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down>":IFPEEK(788)=52THENPOKE788,49
76 END:RUN
78 A=828:TEM=A:REM FILEREAD
80 POKE210,INT(A/256):POKE209,A-256*PEEK(210):POKE211,0
82 PRINT"<reverse on>"CHR$(34)CHR$(34)CHR$(20)"<rev off>B <reverse on>🭺▚ <rev off>@ <reverse on>▁▚Y<rev off>🮃D<reverse on>🭴🭾🮂<rev off>🭼<reverse on>🭼▚"
84 IFPEEK(788)=49THENPOKE788,52:REM STOP KEY DISABLE
86 PRINT"<text mode><light green>";
88 SS=1024+120:I=0:B=0:J=0
90 A$="":E$="":T$="":S$=""
92 PRINT"<clr><light green><cursor down><cursor down><cursor down>🭾LEASE PUT THE ♥╮🭸╯ 🭷╮♥╯ IN DRIVE 0."
94 PRINT"<cursor down><cursor down>🭵OU SHOULD USE THE 🭷🭽♥ '╳' COMMAND TO"
96 PRINT"UPDATE THE 🭲♠╲ ON THE DISK WHEN DONE."
98 PRINT"<cursor down><cursor down>╱OTE: 🭷ISK DEVICE IS"DN"<cursor left>.<cursor down><cursor down>"
100 PRINT"<cursor down><cursor down><reverse on>🭾RESS ♠╱🭵 ╯🭶🭵 TO CONTINUE"
102 GOSUB4:IFA$=""THEN102
104 GOSUB10021:IFA$=CHR$(3)THEN74
106 OPEN1,DN,2,"0: ,S,R":INPUT#15,E$:IFE$="62"THENCLOSE1:GOTO114
108 IFE$>"64"THENINPUT#1,E$:PRINT"<clr><cursor down><cursor down><cursor down><cursor down><cursor down>"E$" ON DRIVE 0"
110 IFE$="21"THENGOSUB184
112 PRINT#15,"I0"
114 OPEN2,DN,2,"#2":PRINT"<clr>"
116 GOSUB192
118 PRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down> 🭰🭻♠🭸╯ "MID$(STR$(VAL(T$)),2)" "
120 PRINT" ♥🭶🭸🭰🭽🭻 "MID$(STR$(VAL(S$)),2)" <cursor up><cursor up>
122 PRINT"╮NPUT 🭰🭻♠🭸╯: ";:INPUT#9,T$:PRINT:IFT$=CHR$(160)THEN74
124 PRINT"<cursor up> ":PRINT"╮NPUT ♥🭶🭸🭰🭽🭻: ";:INPUT#9,S$:PRINT:IFS$=CHR$(160)THEN74
126 PRINT"<cursor up> ":T$=MID$(STR$(VAL(T$)),2):S$=MID$(STR$(VAL(S$)),2)
128 IFVAL(T$)=0THEN116
130 PRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down> "
132 PRINT" "
134 PRINT" "
136 PRINT#15,"U1:2,0,"T$","S$:REM CH2 DR0
138 INPUT#15,E1$,E2$,E3$,E4$:IFE1$="00"THEN156
140 GOSUB192:E2$=" 🭷╮♥╯ 🭶🭻🭻🭽🭻 #"+E1$+","+E2$
142 PRINT"<home><cursor down><cursor down>":FORI=1TOLEN(E2$):PRINT"▂";:NEXT:PRINT:PRINT"<reverse on>"E2$
144 FORI=1TOLEN(E2$):PRINT"▔";:NEXT:PRINT
146 PRINT"IN 🭰🭻♠🭸╯"VAL(E3$)"<cursor left>, ♥🭶🭸🭰🭽🭻"VAL(E4$):IFE1$="66"THEN118
148 PRINT"TRY AGAIN? (CR/N OR Y)"
150 GETA$:IFA$=""THEN150
152 IFA$="Y"THEN136
154 PRINT#15,"I0":RUN
156 GOSUB192:PRINT#15,"B-P:2,0":REM CH2 POS1
158 SYSTEM
160 I=0
162 PRINT:POKE198,0
164 GOTO10
166 IFB>255ORASC(B$)=160THEN174
168 POKESS+I,B:
170 PRINT#15,"B-P:2,"STR$(I):PRINT#2,CHR$(B);
172 I=I+1:GOTO164
174 PRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><reverse on>♠🭻🭶 🭵🭽╭ ♥╭🭻🭶 (N OR Y)"
176 GETA$:J=-(A$="Y")-2*(A$="N")-3*(A$=CHR$(3)):ONJGOTO178,72,74:GOTO176
178 PRINT#15,"M-W"Z$CHR$(19)CHR$(2)CHR$(PEEK(SS))CHR$(PEEK(SS+1))
180 PRINT#15,"U2:2,0,"T$","S$
182 PRINT#15,"I0":RUN
184 PRINT"<cursor down><cursor down>NO DISK IN DRIVE 0
186 PRINT"<cursor down>PLACE DISK IN DRIVE 0, PRESS ANY KEY
188 GETA$:IFA$=""THEN188
190 RETURN
192 PRINT"<home><cursor up>┌🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹┐ ┌🭹🭹🭹🭹🭹🭹🭹🭹┐┌🭹🭹🭹🭹🭹🭹🭹🭹🭹┐";
194 PRINT"│🭷ISK 🭷OCTOR 64.0│ │🭰🭻♠🭸╯:"RIGHT$(" "+T$,2)"││♥🭶🭸🭰🭽🭻:"RIGHT$(" "+S$,2)"│";
196 PRINT"┴🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹┴🭹┴🭹🭹🭹🭹🭹🭹🭹🭹┴┴🭹🭹🭹🭹🭹🭹🭹🭹🭹┴";
198 FORI=1TO8:PRINT" ";:NEXT
200 PRINT"┌🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹🭹┘"
202 PRINT"PRESS [@] - 🭸HANGE BYTE UNDER CURSOR "
204 PRINT" [╱] - 🭱O TO <reverse on>╱<rev off>EXT BLOCK OF FILE "
206 PRINT" [╰] - <reverse on>╰<rev off>UMP TO LINK UNDER CURSOR "
208 PRINT" [●] - <reverse on>●<rev off>UIT "
210 PRINT" [🭻] - <reverse on>🭻<rev off>EWRITE CURRENT BLOCK "
212 PRINT" [🭲] - ╱EW <reverse on>🭲<rev off>LOCK "
214 PRINT" [🭰] - ♠DD <reverse on>🭰<rev off>EXT STRING "
216 PRINT" [+]/[-] - ♥CAN FORWARD/BACKWARD "
218 FORD=1TO5:PRINT" ";:NEXT
220 FORD=217TO242:POKED,PEEK(D)OR128:NEXT:PRINT"<home>";
222 RETURN
224 CV=1:CM$="🭱ET ♥🭵♥🭻🭶♥, THE ULTIMATE PROGRAM MANIPULATION SYSTEM, AT ":REM"<lf><clr>
226 CM$=CM$+"YOUR LOCAL DEALER. ╮T ADDS OVER 1100 NEW":REM"<lf><clr>
228 CM$=CM$+" EDITING AND DISK FUNCTIONS. ♥PEND LESS TIME CORRECTING YOUR "
230 CM$=CM$+"MISTAKES AND MORE TIME PROGRAMMING. ":REM"<lf><clr>
232 CM$=CM$+"♠ 🭸OMMODORE 64 WITHOUT ♥🭵♥🭻🭶♥ IS ONLY A 🭸OMMODORE 63.5!"
234 RETURN:<home>
236 CV=2:CM$="**╱🭶○** FROM ♥🭽🭼╮🭷╭♥ ╮╱🭰🭶🭻╱♠🭰╮🭽╱♠🭼... "
238 CM$=CM$+"♥🭽🭼╮🭷🭶♣, THE PERSONAL DATA FILER. ":REM"<lf><clr>
240 CM$=CM$+"♥TORE NOTES, RECORDS, RECIPES, ETC. ON ELECTRONIC INDEX CARDS. "
242 CM$=CM$+" 🭴UNDREDS OF USES AROUND THE HOME ":REM"<lf><clr>
244 CM$=CM$+"AND OFFICE. ♥EE IT AT YOUR LOCAL DEALER."
246 RETURN:<home>
248 CV=2:CM$="🭰HIS PROGRAM HAS BEEN RELEASED TO PUBLIC DOMAIN COURTESY OF "
250 CM$=CM$+"♥OLIDUS ╮NTERNATIONAL 🭸ORPORATION":RETURN:"<lf><clr>
252 IFCC=0THENGOSUB248
254 IFCC>550THENCC=0:ONCVGOSUB236,224
256 CC=CC+1:IFCC>292THENRETURN:"<lf><clr>
258 PRINT"<home><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down><cursor down>";
260 CP=INT(CC)
262 IFCP<39THENPRINTSPC(39-CP)LEFT$(CM$,CP)"<home>";:RETURN:"<lf><clr>
264 PRINTLEFT$(LEFT$(MID$(CM$,CP-38),39)+" ",39)"<home>"
266 RETURN
10000 "<lf><clr><text mode><yellow>
10020 "<del><del><del><del><del><del><del>🭾ROGRAM: ""<del>🭷ISK 🭷OCTOR 64"
10021 GOTO10123:"<del><del><del><del><del><del><del><del><del><del><del><del><del><del><del><del><del><del><del><del>
10025 "<del><del><del><del><del><del><del>
10030 "<del><del><del><del><del><del><del>♠UTHOR: 🭷ON 🭼EKEI
10035 "<del><del><del><del><del><del><del>
10036 "<del><del><del><del><del><del><del>
10040 "<del><del><del><del><del><del><del>🭰HIS PROGRAM IS PROVIDED COURTESY OF:
10045 "<del><del><del><del><del><del><del>
10050 "<del><del><del><del><del><del><del> ♥OLIDUS ╮NTERNATIONAL 🭸ORPORATION
10060 "<del><del><del><del><del><del><del> ♥UITE #5, 144 ○EST 15TH ♥TREET
10070 "<del><del><del><del><del><del><del> ╱ORTH ╳ANCOUVER, 🭲.🭸.
10075 "<del><del><del><del><del><del><del> 🭾HONE: (604)984-0477
10080 "<del><del><del><del><del><del><del>
10090 "<del><del><del><del><del><del><del>🭰O GET THE ╲♠♣╮╲╭╲ USE OUT OF YOUR NEW
10100 "<del><del><del><del><del><del><del>🭸OMMODORE-64 COMPUTER AND YOUR DISK
10110 "<del><del><del><del><del><del><del>DRIVE, WE RECOMMEND USING:
10123 Z$=CHR$(0):REM"<lf><cursor up> <cursor up>
10124 OPEN15,DN,15:REM"<lf><cursor up> <cursor up>
10125 OPEN9,0:REM"<lf><cursor up> <cursor up>
10126 RETURN:REM"<lf><cursor up> <cursor up>
10130 "<del><del><del><del><del><del><del><lf><white> *** ♥🭵♥🭻🭶♥ ***
10135 "<del><del><del><del><del><del><del>
10140 "<del><del><del><del><del><del><del> ""<del>🭰HE ╭LTIMATE 🭾ROGRAM ╲ANIPULATION
10150 "<del><del><del><del><del><del><del> ♥YSTEM FOR 🭸OMMODORE ╲ICROCOMPUTERS."
10170 "<del><del><del><del><del><del><del><lf><yellow>╱OW AVAILABLE AT YOUR 🭸OMMODORE DEALER.<white>
DN�8:� DEVICE # N �53280,11:�53281,0:�A$,I,S$,T$,CC,B,SS,E$,J,TE,A:�78 � �A$:�A$�""��" ";:CC�293:� � �A$�""�252 � � � �I�0�I�280�I:�I�255�I�I�40 � �I�255�I�I��(I�40)�40 8 �""�10)�(SS�I)"� ":�""�10)I"� "