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

DISKWEDGE.C

FILE INFORMATION

FILENAME(S): DISKWEDGE.C

FILE TYPE(S): USR

FILE SIZE: 1.4K

FIRST SEEN: 2025-12-01 01:08:52

APPEARS ON: 1 disk(s)

FILE HASH

5b4d36ad70a156c769cea556f74dd69b1bf83f292dd386c336426e9ceda6d193

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
SUPER C V 2 0 DISKWEDGE.C USR hedning, loot 25 9 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 85 81 9F 2F 2A 20 C4 49  53 4B 20 52 4F 55 54 49  |.../* .ISK ROUTI|
00000010: 4E 45 53 20 46 4F 52 20  54 48 45 20 C3 4F 4D 4D  |NES FOR THE .OMM|
00000020: 4F 44 4F 52 45 20 31 35  34 31 20 2A 2F 0D 1C 0D  |ODORE 1541 */...|
00000030: 1C 0D 1C 0D 9A 53 54 52  55 43 54 20 44 53 54 41  |.....STRUCT DSTA|
00000040: 54 20 DB 0D 9A 0D 9A 20  20 20 20 20 20 20 20 20  |T .....         |
00000050: 49 4E 54 20 52 43 4F 44  45 3B 0D 9A 20 20 20 20  |INT RCODE;..    |
00000060: 20 20 20 20 43 48 41 52  20 52 4D 45 53 53 41 47  |    CHAR RMESSAG|
00000070: 45 5B 34 30 5D 3B 0D 9A  20 20 20 20 20 20 20 20  |E[40];..        |
00000080: 20 49 4E 54 20 54 52 41  43 4B 3B 0D 9A 20 20 20  | INT TRACK;..   |
00000090: 20 20 20 20 20 20 49 4E  54 20 53 45 43 54 4F 52  |      INT SECTOR|
000000A0: 3B 0D 9A 0D 9A 20 20 20  20 20 20 20 20 20 20 20  |;....           |
000000B0: 20 20 DD 20 44 53 3B 0D  1C 0D 9A 49 4E 54 20 44  |  . DS;....INT D|
000000C0: 45 56 20 3D 20 38 3B 0D  1C 0D 1C 0D 1C 0D 96 56  |EV = 8;........V|
000000D0: 4F 49 44 20 44 49 53 4B  53 54 41 54 28 29 0D 1C  |OID DISKSTAT()..|
000000E0: 0D 1C DB 0D 1C 0D 1C 46  49 4C 45 20 45 52 52 43  |.......FILE ERRC|
000000F0: 48 41 4E 3B 0D 1C 0D 1C  0D 1C 20 20 20 20 20 45  |HAN;......     E|
00000100: 52 52 43 48 41 4E 20 3D  20 4F 50 45 4E 28 44 45  |RRCHAN = OPEN(DE|
00000110: 56 2C 31 35 2C C5 CD D0  D4 D9 29 3B 0D 1C 0D 1C  |V,15,.....);....|
00000120: 20 20 20 20 20 46 53 43  41 4E 46 28 45 52 52 43  |     FSCANF(ERRC|
00000130: 48 41 4E 2C 22 25 44 2C  25 2E 2C 53 25 44 2C 25  |HAN,"%D,%.,S%D,%|
00000140: 44 22 2C 26 44 53 2E 52  43 4F 44 45 2C 44 53 2E  |D",&DS.RCODE,DS.|
00000150: 52 4D 45 53 53 41 47 45  2C 26 44 53 2E 54 52 41  |RMESSAGE,&DS.TRA|
00000160: 43 4B 2C 26 44 53 2E 53  45 43 54 4F 52 29 3B 0D  |CK,&DS.SECTOR);.|
00000170: 1C 0D 1C 20 20 20 20 20  43 4C 4F 53 45 28 45 52  |...     CLOSE(ER|
00000180: 52 43 48 41 4E 29 3B 0D  1C DD 0D 1C 0D 96 56 4F  |RCHAN);.......VO|
00000190: 49 44 20 57 52 49 54 45  53 54 41 54 28 52 4F 57  |ID WRITESTAT(ROW|
000001A0: 2C 43 4F 4C 29 0D 1C 0D  1C 49 4E 54 20 52 4F 57  |,COL)....INT ROW|
000001B0: 2C 43 4F 4C 3B 0D 1C 0D  1C DB 0D 1C 0D 1C 20 20  |,COL;.........  |
000001C0: 20 20 44 49 53 4B 53 54  41 54 28 29 3B 0D 1C 0D  |  DISKSTAT();...|
000001D0: 1C 20 20 20 20 43 55 52  53 4F 52 28 52 4F 57 2C  |.    CURSOR(ROW,|
000001E0: 43 4F 4C 29 3B 0D 1C 0D  1C 20 20 20 20 50 52 49  |COL);....    PRI|
000001F0: 4E 54 46 28 22 25 44 20  25 53 20 25 44 20 25 44  |NTF("%D %S %D %D|
00000200: 22 2C 26 44 53 2E 52 43  4F 44 45 2C 44 53 2E 52  |",&DS.RCODE,DS.R|
00000210: 4D 45 53 53 41 47 45 2C  26 44 53 2E 54 52 41 43  |MESSAGE,&DS.TRAC|
00000220: 4B 2C 26 44 53 2E 53 45  43 54 4F 52 29 3B 0D 1C  |K,&DS.SECTOR);..|
00000230: 0D 1C DD 0D 1C 0D 96 56  4F 49 44 20 44 45 4C 45  |.......VOID DELE|
00000240: 54 45 28 46 49 4C 45 4E  41 4D 45 29 0D 1C 0D 1C  |TE(FILENAME)....|
00000250: 43 48 41 52 20 2A 46 49  4C 45 4E 41 4D 45 3B 0D  |CHAR *FILENAME;.|
00000260: 1C 0D 1C DB 0D 1C 0D 1C  46 49 4C 45 20 46 49 4C  |........FILE FIL|
00000270: 45 44 45 53 3B 0D 1C 0D  1C 0D 1C 20 20 20 20 20  |EDES;......     |
00000280: 46 49 4C 45 44 45 53 20  3D 20 4F 50 45 4E 28 44  |FILEDES = OPEN(D|
00000290: 45 56 2C 31 35 2C C5 CD  D0 D4 D9 29 3B 0D 1C 0D  |EV,15,.....);...|
000002A0: 1C 20 20 20 20 20 46 50  52 49 4E 54 46 28 46 49  |.     FPRINTF(FI|
000002B0: 4C 45 44 45 53 2C 22 53  30 3A 25 53 22 2C 46 49  |LEDES,"S0:%S",FI|
000002C0: 4C 45 4E 41 4D 45 29 3B  0D 1C 0D 1C 20 20 20 20  |LENAME);....    |
000002D0: 20 43 4C 4F 53 45 28 46  49 4C 45 44 45 53 29 3B  | CLOSE(FILEDES);|
000002E0: 0D 1C 0D 1C DD 0D 1C 0D  96 56 4F 49 44 20 52 45  |.........VOID RE|
000002F0: 4E 41 4D 45 28 46 52 4F  4D 2C 54 4F 29 0D 1C 0D  |NAME(FROM,TO)...|
00000300: 1C 43 48 41 52 20 2A 46  52 4F 4D 2C 2A 54 4F 3B  |.CHAR *FROM,*TO;|
00000310: 0D 1C 0D 1C DB 0D 1C 0D  1C 46 49 4C 45 20 46 49  |.........FILE FI|
00000320: 4C 45 44 45 53 3B 0D 1C  0D 1C 0D 1C 20 20 20 20  |LEDES;......    |
00000330: 20 46 49 4C 45 44 45 53  20 3D 20 4F 50 45 4E 28  | FILEDES = OPEN(|
00000340: 44 45 56 2C 31 35 2C C5  CD D0 D4 D9 29 3B 0D 1C  |DEV,15,.....);..|
00000350: 0D 1C 20 20 20 20 20 46  50 52 49 4E 54 46 28 46  |..     FPRINTF(F|
00000360: 49 4C 45 44 45 53 2C 22  52 30 3A 25 53 3D 25 53  |ILEDES,"R0:%S=%S|
00000370: 22 2C 54 4F 2C 46 52 4F  4D 29 3B 0D 1C 0D 1C 20  |",TO,FROM);.... |
00000380: 20 20 20 20 43 4C 4F 53  45 28 46 49 4C 45 44 45  |    CLOSE(FILEDE|
00000390: 53 29 3B 0D 1C 0D 1C DD  0D 1C 0D 96 56 4F 49 44  |S);.........VOID|
000003A0: 20 46 4F 52 4D 41 54 28  44 49 53 4B 4E 41 4D 45  | FORMAT(DISKNAME|
000003B0: 2C 49 44 29 0D 1C 0D 1C  43 48 41 52 20 2A 44 49  |,ID)....CHAR *DI|
000003C0: 53 4B 4E 41 4D 45 2C 2A  49 44 3B 0D 1C 0D 1C DB  |SKNAME,*ID;.....|
000003D0: 0D 1C 0D 1C 46 49 4C 45  20 46 49 4C 45 44 45 53  |....FILE FILEDES|
000003E0: 3B 0D 1C 0D 1C 20 20 20  20 20 46 49 4C 45 44 45  |;....     FILEDE|
000003F0: 53 20 3D 20 4F 50 45 4E  28 44 45 56 2C 31 35 2C  |S = OPEN(DEV,15,|
00000400: C5 CD D0 D4 D9 29 3B 0D  1C 0D 1C 20 20 20 20 20  |.....);....     |
00000410: 46 50 52 49 4E 54 46 28  46 49 4C 45 44 45 53 2C  |FPRINTF(FILEDES,|
00000420: 22 4E 30 3A 25 53 2C 25  53 22 2C 44 49 53 4B 4E  |"N0:%S,%S",DISKN|
00000430: 41 4D 45 2C 49 44 29 3B  0D 1C 0D 1C 20 20 20 20  |AME,ID);....    |
00000440: 20 43 4C 4F 53 45 28 46  49 4C 45 44 45 53 29 3B  | CLOSE(FILEDES);|
00000450: 0D 1C 0D 1C DD 0D 1C 0D  96 56 4F 49 44 20 43 4F  |.........VOID CO|
00000460: 50 59 28 46 52 4F 4D 2C  54 4F 29 0D 1C 0D 1C 43  |PY(FROM,TO)....C|
00000470: 48 41 52 20 2A 46 52 4F  4D 2C 2A 54 4F 3B 0D 1C  |HAR *FROM,*TO;..|
00000480: 0D 1C DB 0D 1C 0D 1C 46  49 4C 45 20 46 49 4C 45  |.......FILE FILE|
00000490: 44 45 53 3B 0D 1C 0D 1C  20 20 20 20 20 46 49 4C  |DES;....     FIL|
000004A0: 45 44 45 53 20 3D 20 4F  50 45 4E 28 44 45 56 2C  |EDES = OPEN(DEV,|
000004B0: 31 35 2C C5 CD D0 D4 D9  29 3B 0D 1C 0D 1C 20 20  |15,.....);....  |
000004C0: 20 20 20 46 52 49 4E 54  46 28 46 49 4C 45 44 45  |   FRINTF(FILEDE|
000004D0: 53 2C 22 43 30 3A 25 53  3D 25 53 22 2C 54 4F 2C  |S,"C0:%S=%S",TO,|
000004E0: 46 52 4F 4D 29 3B 0D 1C  0D 1C 20 20 20 20 20 43  |FROM);....     C|
000004F0: 4C 4F 53 45 28 46 49 4C  45 44 45 53 29 3B 0D 1C  |LOSE(FILEDES);..|
00000500: 0D 1C DD 0D 1C 0D 96 56  4F 49 44 20 44 49 53 4B  |.......VOID DISK|
00000510: 43 4F 4D 28 53 54 52 49  4E 47 2C 43 4F 4D 53 54  |COM(STRING,COMST|
00000520: 52 29 0D 1C 0D 1C 43 48  41 52 20 2A 53 54 52 49  |R)....CHAR *STRI|
00000530: 4E 47 2C 2A 43 4F 4D 53  54 52 3B 0D 1C 0D 1C DB  |NG,*COMSTR;.....|
00000540: 0D 1C 0D 1C 46 49 4C 45  20 46 49 4C 45 44 45 53  |....FILE FILEDES|
00000550: 3B 0D 1C 0D 1C 20 20 20  20 20 46 49 4C 45 44 45  |;....     FILEDE|
00000560: 53 20 3D 20 4F 50 45 4E  28 44 45 56 2C 31 35 2C  |S = OPEN(DEV,15,|
00000570: 43 4F 4D 53 54 52 29 3B  0D 1C 0D 1C 20 20 20 20  |COMSTR);....    |
00000580: 20 46 52 49 4E 54 46 28  46 49 4C 44 45 53 2C 22  | FRINTF(FILDES,"|
00000590: 25 53 22 2C 53 54 52 49  4E 47 29 3B 0D 1C 0D 1C  |%S",STRING);....|
000005A0: 20 20 20 20 20 43 4C 4F  53 45 28 46 49 4C 45 44  |     CLOSE(FILED|
000005B0: 45 53 29 3B 0D 1C 0D 1C  DD 0D 1C 0D 00           |ES);.........   |
.../* DISK ROUTINES FOR THE COMMODORE 15
41 */........STRUCT DSTAT .....         
INT RCODE;..        CHAR RMESSAGE[40];..
         INT TRACK;..         INT SECTOR
;....             . DS;....INT DEV = 8;.
.......VOID DISKSTAT().........FILE ERRC
HAN;......     ERRCHAN = OPEN(DEV,15,EMP
TY);....     FSCANF(ERRCHAN,"%D,%.,S%D,%
D",&DS.RCODE,DS.RMESSAGE,&DS.TRACK,&DS.S
ECTOR);....     CLOSE(ERRCHAN);.......VO
ID WRITESTAT(ROW,COL)....INT ROW,COL;...
......    DISKSTAT();....    CURSOR(ROW,
COL);....    PRINTF("%D %S %D %D",&DS.RC
ODE,DS.RMESSAGE,&DS.TRACK,&DS.SECTOR);..
.......VOID DELETE(FILENAME)....CHAR *FI
LENAME;.........FILE FILEDES;......     
FILEDES = OPEN(DEV,15,EMPTY);....     FP
RINTF(FILEDES,"S0:%S",FILENAME);....    
 CLOSE(FILEDES);.........VOID RENAME(FRO
M,TO)....CHAR *FROM,*TO;.........FILE FI
LEDES;......     FILEDES = OPEN(DEV,15,E
MPTY);....     FPRINTF(FILEDES,"R0:%S=%S
",TO,FROM);....     CLOSE(FILEDES);.....
....VOID FORMAT(DISKNAME,ID)....CHAR *DI
SKNAME,*ID;.........FILE FILEDES;....   
  FILEDES = OPEN(DEV,15,EMPTY);....     
FPRINTF(FILEDES,"N0:%S,%S",DISKNAME,ID);
....     CLOSE(FILEDES);.........VOID CO
PY(FROM,TO)....CHAR *FROM,*TO;.........F
ILE FILEDES;....     FILEDES = OPEN(DEV,
15,EMPTY);....     FRINTF(FILEDES,"C0:%S
=%S",TO,FROM);....     CLOSE(FILEDES);..
.......VOID DISKCOM(STRING,COMSTR)....CH
AR *STRING,*COMSTR;.........FILE FILEDES
;....     FILEDES = OPEN(DEV,15,COMSTR);
....     FRINTF(FILDES,"%S",STRING);....
     CLOSE(FILEDES);.........
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL