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"� "