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

STDIO.H

FILE INFORMATION

FILENAME(S): STDIO.H

FILE TYPE(S): USR

FILE SIZE: 1.6K

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

APPEARS ON: 2 disk(s)

FILE HASH

b2c4756293631ec2eca4c0ed103ea92a4437db361f96f19d075484a36376be8d

FOUND ON DISKS (2 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
SUPER C V 2 0 STDIO.H USR hedning, loot 17 7 DOWNLOAD FILE
C BACKUP STDIO.H USR hedning, loot 17 13 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 84 87 9F 2F 2A 20 C5 58  54 45 4E 44 45 44 20 53  |.../* .XTENDED S|
00000010: 54 44 49 4F 2E 43 20 20  31 39 38 37 2D 30 35 2D  |TDIO.C  1987-05-|
00000020: 31 35 20 20 2A 2F 0D 9E  0D 9E 0D 9E 54 59 50 45  |15  */......TYPE|
00000030: 44 45 46 20 43 48 41 52  20 42 59 54 45 3B 0D 9E  |DEF CHAR BYTE;..|
00000040: 54 59 50 45 44 45 46 20  49 4E 54 20 20 46 49 4C  |TYPEDEF INT  FIL|
00000050: 45 3B 0D 9E 54 59 50 45  44 45 46 20 49 4E 54 20  |E;..TYPEDEF INT |
00000060: 20 42 4F 4F 4C 45 41 4E  3B 0D 9E 0D 9E 0D 9C 45  | BOOLEAN;......E|
00000070: 58 54 45 52 4E 20 56 4F  49 44 20 45 52 52 4F 4E  |XTERN VOID ERRON|
00000080: 28 29 2C 45 52 52 4F 46  46 28 29 2C 4E 4D 49 4F  |(),ERROFF(),NMIO|
00000090: 4E 28 29 2C 4E 4D 49 4F  46 46 3B 0D 9C 45 58 54  |N(),NMIOFF;..EXT|
000000A0: 45 52 4E 20 56 4F 49 44  20 45 52 52 4F 52 28 29  |ERN VOID ERROR()|
000000B0: 2C 45 58 49 54 28 29 2C  4D 4F 56 45 28 29 2C 43  |,EXIT(),MOVE(),C|
000000C0: 55 52 53 4F 52 28 29 3B  0D 9C 45 58 54 45 52 4E  |URSOR();..EXTERN|
000000D0: 20 56 4F 49 44 20 53 54  52 43 50 59 28 29 2C 53  | VOID STRCPY(),S|
000000E0: 54 52 43 41 54 28 29 2C  46 52 45 45 28 29 3B 0D  |TRCAT(),FREE();.|
000000F0: 9C 45 58 54 45 52 4E 20  49 4E 54 20 20 51 45 52  |.EXTERN INT  QER|
00000100: 52 4F 52 28 29 2C 50 55  54 43 28 29 2C 50 55 54  |ROR(),PUTC(),PUT|
00000110: 53 28 29 2C 47 45 54 53  28 29 2C 50 55 54 46 28  |S(),GETS(),PUTF(|
00000120: 29 3B 0D 9C 45 58 54 45  52 4E 20 49 4E 54 20 20  |);..EXTERN INT  |
00000130: 47 45 54 46 28 29 2C 53  54 52 4C 45 4E 28 29 2C  |GETF(),STRLEN(),|
00000140: 53 54 52 43 4D 50 28 29  3B 0D 9C 45 58 54 45 52  |STRCMP();..EXTER|
00000150: 4E 20 43 48 41 52 20 47  45 54 43 28 29 2C 2A 41  |N CHAR GETC(),*A|
00000160: 4C 4C 4F 43 28 29 3B 0D  9C 45 58 54 45 52 4E 20  |LLOC();..EXTERN |
00000170: 46 49 4C 45 20 4F 50 45  4E 28 29 2C 43 4C 4F 53  |FILE OPEN(),CLOS|
00000180: 45 28 29 3B 0D 9C 0D 9C  45 58 54 45 52 4E 20 56  |E();....EXTERN V|
00000190: 4F 49 44 20 50 52 49 4E  54 46 28 29 2C 53 50 52  |OID PRINTF(),SPR|
000001A0: 49 4E 54 46 28 29 2C 46  50 52 49 4E 54 46 28 29  |INTF(),FPRINTF()|
000001B0: 3B 0D 9C 45 58 54 45 52  4E 20 49 4E 54 20 20 53  |;..EXTERN INT  S|
000001C0: 43 41 4E 46 28 29 2C 53  53 43 41 4E 46 28 29 2C  |CANF(),SSCANF(),|
000001D0: 46 53 43 41 4E 46 28 29  3B 0D 9C 0D 1F 23 44 45  |FSCANF();....#DE|
000001E0: 46 49 4E 45 20 D3 D4 C4  C9 CF 20 20 20 20 20 30  |FINE .....     0|
000001F0: 0D 1F 23 44 45 46 49 4E  45 20 CE D5 CC CC 20 20  |..#DEFINE ....  |
00000200: 20 20 20 20 27 5C 30 27  0D 1F 23 44 45 46 49 4E  |    '\0'..#DEFIN|
00000210: 45 20 C3 D2 20 20 20 20  20 20 20 20 27 5C 4E 27  |E ..        '\N'|
00000220: 0D 1F 23 44 45 46 49 4E  45 20 C3 D2 D3 D5 D0 20  |..#DEFINE ..... |
00000230: 20 20 20 20 27 5C 32 32  31 27 0D 1F 23 44 45 46  |    '\221'..#DEF|
00000240: 49 4E 45 20 C3 D2 D3 C4  CF D7 CE 20 20 20 27 5C  |INE .......   '\|
00000250: 32 31 27 0D 1F 23 44 45  46 49 4E 45 20 C3 D2 D3  |21'..#DEFINE ...|
00000260: D2 C9 C7 C8 D4 20 20 27  5C 33 35 27 0D 1F 23 44  |.....  '\35'..#D|
00000270: 45 46 49 4E 45 20 C3 D2  D3 CC C5 C6 D4 20 20 20  |EFINE .......   |
00000280: 27 5C 32 33 35 27 0D 1F  23 44 45 46 49 4E 45 20  |'\235'..#DEFINE |
00000290: C8 CF CD C5 20 20 20 20  20 20 27 5C 32 33 27 0D  |....      '\23'.|
000002A0: 1F 23 44 45 46 49 4E 45  20 C3 CC D2 20 20 20 20  |.#DEFINE ...    |
000002B0: 20 20 20 27 5C 32 32 33  27 0D 1F 23 44 45 46 49  |   '\223'..#DEFI|
000002C0: 4E 45 20 D2 C5 D6 C5 D2  D3 CF CE 20 20 27 5C 32  |NE ........  '\2|
000002D0: 32 27 0D 1F 23 44 45 46  49 4E 45 20 D2 C5 D6 C5  |2'..#DEFINE ....|
000002E0: D2 D3 CF C6 C6 20 27 5C  32 32 32 27 0D 1F 23 44  |..... '\222'..#D|
000002F0: 45 46 49 4E 45 20 CE C9  CC 20 20 20 20 20 20 20  |EFINE ...       |
00000300: 30 0D 1F 23 44 45 46 49  4E 45 20 C5 CD D0 D4 D9  |0..#DEFINE .....|
00000310: 20 20 20 20 20 22 22 0D  1F 23 44 45 46 49 4E 45  |     ""..#DEFINE|
00000320: 20 CD C1 D8 C9 CE D4 20  20 20 20 33 32 37 36 37  | ......    32767|
00000330: 0D 1F 23 44 45 46 49 4E  45 20 CD C1 D8 CC CF CE  |..#DEFINE ......|
00000340: C7 20 20 20 32 31 34 37  34 38 33 36 34 37 0D 1F  |.   2147483647..|
00000350: 0D 1F 23 44 45 46 49 4E  45 20 C6 C1 CC D3 C5 20  |..#DEFINE ..... |
00000360: 20 20 20 20 30 0D 1F 23  44 45 46 49 4E 45 20 D4  |    0..#DEFINE .|
00000370: D2 D5 C5 20 20 20 20 20  20 31 0D 1F 0D 1F 23 44  |...      1....#D|
00000380: 45 46 49 4E 45 20 C5 CF  C9 20 20 20 20 20 20 20  |EFINE ...       |
00000390: 28 2A 28 43 48 41 52 20  2A 29 30 58 39 30 20 26  |(*(CHAR *)0X90 &|
000003A0: 20 30 58 34 30 29 0D 1F  0D 1F 0D 1F 23 44 45 46  | 0X40)......#DEF|
000003B0: 49 4E 45 20 C3 CD CF D6  C5 28 D8 31 2C D8 32 2C  |INE .....(.1,.2,|
000003C0: D8 33 29 20 20 4D 4F 56  45 28 D8 31 2C D8 32 2C  |.3)  MOVE(.1,.2,|
000003D0: D8 33 2C 30 58 33 35 29  0D 1F 0D 1F 23 44 45 46  |.3,0X35)....#DEF|
000003E0: 49 4E 45 20 50 55 54 43  48 41 52 28 D8 30 29 20  |INE PUTCHAR(.0) |
000003F0: 20 20 20 20 20 50 55 54  43 28 D8 30 2C D3 D4 C4  |     PUTC(.0,...|
00000400: C9 CF 29 0D 1F 23 44 45  46 49 4E 45 20 47 45 54  |..)..#DEFINE GET|
00000410: 43 48 41 52 28 29 20 20  20 20 20 20 20 20 49 4E  |CHAR()        IN|
00000420: 4B 45 59 28 D3 D4 C4 C9  CF 29 0D 1F 23 44 45 46  |KEY(.....)..#DEF|
00000430: 49 4E 45 20 50 4F 4B 45  28 41 44 44 52 2C 56 41  |INE POKE(ADDR,VA|
00000440: 4C 55 45 29 20 2A 41 44  44 52 3D 56 41 4C 55 45  |LUE) *ADDR=VALUE|
00000450: 0D 1F 23 44 45 46 49 4E  45 20 50 45 45 4B 28 41  |..#DEFINE PEEK(A|
00000460: 44 44 52 29 20 20 20 20  20 20 20 2A 41 44 44 52  |DDR)       *ADDR|
00000470: 0D 1F 0D 1F 23 44 45 46  49 4E 45 20 43 4C 52 53  |....#DEFINE CLRS|
00000480: 43 52 20 20 20 20 20 20  20 20 20 20 20 50 55 54  |CR           PUT|
00000490: 43 48 41 52 28 C3 CC D2  29 0D 1F 0D 1F 0D 97 0D  |CHAR(...).......|
000004A0: 97 43 48 41 52 20 28 2A  53 43 52 45 45 4E 29 5B  |.CHAR (*SCREEN)[|
000004B0: 34 30 5D 20 3D 20 30 58  45 30 30 30 3B 0D 97 43  |40] = 0XE000;..C|
000004C0: 48 41 52 20 28 2A 43 4F  4C 4F 52 20 29 5B 34 30  |HAR (*COLOR )[40|
000004D0: 5D 20 3D 20 30 58 44 38  30 30 3B 0D 97 43 48 41  |] = 0XD800;..CHA|
000004E0: 52 20 28 2A 43 48 41 52  52 41 4D 31 29 5B 38 5D  |R (*CHARRAM1)[8]|
000004F0: 3D 20 30 58 44 30 30 30  3B 0D 97 43 48 41 52 20  |= 0XD000;..CHAR |
00000500: 28 2A 43 48 41 52 52 41  4D 32 29 5B 38 5D 3D 20  |(*CHARRAM2)[8]= |
00000510: 30 58 44 38 30 30 3B 0D  1C 0D 1C 0D 96 43 48 41  |0XD800;......CHA|
00000520: 52 20 49 4E 4B 45 59 28  46 44 29 0D 1C 0D 1C 46  |R INKEY(FD)....F|
00000530: 49 4C 45 20 46 44 3B 0D  1C 0D 1C DB 0D 1C 0D 1C  |ILE FD;.........|
00000540: 43 48 41 52 20 43 3B 0D  1C 0D 1C 20 20 20 20 20  |CHAR C;....     |
00000550: 57 48 49 4C 45 28 28 43  3D 47 45 54 43 28 46 44  |WHILE((C=GETC(FD|
00000560: 29 29 3D 3D 30 29 3B 0D  1C 0D 1C 20 20 20 20 20  |))==0);....     |
00000570: 52 45 54 55 52 4E 20 43  3B 0D 1C 0D 1C DD 0D 1C  |RETURN C;.......|
00000580: 0D 96 56 4F 49 44 20 43  45 4E 54 52 45 28 53 54  |..VOID CENTRE(ST|
00000590: 52 49 4E 47 29 0D 1C 0D  1C 43 48 41 52 20 2A 53  |RING)....CHAR *S|
000005A0: 54 52 49 4E 47 3B 0D 1C  0D 1C DB 0D 1C 0D 1C 49  |TRING;.........I|
000005B0: 4E 54 20 20 42 59 54 45  53 3B 0D 1C 49 4E 54 20  |NT  BYTES;..INT |
000005C0: 20 2A 4C 49 4E 45 20 3D  20 32 31 34 3B 0D 1C 0D  | *LINE = 214;...|
000005D0: 1C 20 20 20 20 20 42 59  54 45 53 20 3D 20 28 34  |.     BYTES = (4|
000005E0: 30 2D 53 54 52 4C 45 4E  28 53 54 52 49 4E 47 29  |0-STRLEN(STRING)|
000005F0: 29 2F 32 3B 0D 1C 0D 1C  20 20 20 20 20 43 55 52  |)/2;....     CUR|
00000600: 53 4F 52 28 2A 4C 49 4E  45 2C 42 59 54 45 53 29  |SOR(*LINE,BYTES)|
00000610: 3B 0D 1C 0D 1C 20 20 20  20 20 50 55 54 53 28 53  |;....     PUTS(S|
00000620: 54 52 49 4E 47 2C D3 D4  C4 C9 CF 29 3B 0D 1C 0D  |TRING,.....);...|
00000630: 1C DD 0D 1C 0D 00                                 |......          |
.../* EXTENDED STDIO.C  1987-05-15  */..
....TYPEDEF CHAR BYTE;..TYPEDEF INT  FIL
E;..TYPEDEF INT  BOOLEAN;......EXTERN VO
ID ERRON(),ERROFF(),NMION(),NMIOFF;..EXT
ERN VOID ERROR(),EXIT(),MOVE(),CURSOR();
..EXTERN VOID STRCPY(),STRCAT(),FREE();.
.EXTERN INT  QERROR(),PUTC(),PUTS(),GETS
(),PUTF();..EXTERN INT  GETF(),STRLEN(),
STRCMP();..EXTERN CHAR GETC(),*ALLOC();.
.EXTERN FILE OPEN(),CLOSE();....EXTERN V
OID PRINTF(),SPRINTF(),FPRINTF();..EXTER
N INT  SCANF(),SSCANF(),FSCANF();....#DE
FINE STDIO     0..#DEFINE NULL      '\0'
..#DEFINE CR        '\N'..#DEFINE CRSUP 
    '\221'..#DEFINE CRSDOWN   '\21'..#DE
FINE CRSRIGHT  '\35'..#DEFINE CRSLEFT   
'\235'..#DEFINE HOME      '\23'..#DEFINE
 CLR       '\223'..#DEFINE REVERSON  '\2
2'..#DEFINE REVERSOFF '\222'..#DEFINE NI
L       0..#DEFINE EMPTY     ""..#DEFINE
 MAXINT    32767..#DEFINE MAXLONG   2147
483647....#DEFINE FALSE     0..#DEFINE T
RUE      1....#DEFINE EOI       (*(CHAR 
*)0X90 & 0X40)......#DEFINE CMOVE(X1,X2,
X3)  MOVE(X1,X2,X3,0X35)....#DEFINE PUTC
HAR(X0)      PUTC(X0,STDIO)..#DEFINE GET
CHAR()        INKEY(STDIO)..#DEFINE POKE
(ADDR,VALUE) *ADDR=VALUE..#DEFINE PEEK(A
DDR)       *ADDR....#DEFINE CLRSCR      
     PUTCHAR(CLR)........CHAR (*SCREEN)[
40] = 0XE000;..CHAR (*COLOR )[40] = 0XD8
00;..CHAR (*CHARRAM1)[8]= 0XD000;..CHAR 
(*CHARRAM2)[8]= 0XD800;......CHAR INKEY(
FD)....FILE FD;.........CHAR C;....     
WHILE((C=GETC(FD))==0);....     RETURN C
;.........VOID CENTRE(STRING)....CHAR *S
TRING;.........INT  BYTES;..INT  *LINE =
 214;....     BYTES = (40-STRLEN(STRING)
)/2;....     CURSOR(*LINE,BYTES);....   
  PUTS(STRING,STDIO);.........
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL