00000000: 84 87 9E 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 49 4E 54 20 20 46 49 4C 45 3B 0D 9E |DEF INT FILE;..|
00000040: 54 59 50 45 44 45 46 20 43 48 41 52 20 42 59 54 |TYPEDEF CHAR BYT|
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 23 44 45 46 49 4E | 0X40)....#DEFIN|
000003B0: 45 20 50 55 54 43 48 41 52 28 D8 30 29 20 50 55 |E PUTCHAR(.0) PU|
000003C0: 54 43 28 D8 30 2C D3 D4 C4 C9 CF 29 0D 1F 23 44 |TC(.0,.....)..#D|
000003D0: 45 46 49 4E 45 20 47 45 54 43 48 41 52 28 29 20 |EFINE GETCHAR() |
000003E0: 20 20 49 4E 4B 45 59 28 D3 D4 C4 C9 CF 29 0D 1F | INKEY(.....)..|
000003F0: 23 44 45 46 49 4E 45 20 C3 CD CF D6 C5 28 D8 31 |#DEFINE .....(.1|
00000400: 2C D8 32 2C D8 33 29 20 4D 4F 56 45 28 D8 31 2C |,.2,.3) MOVE(.1,|
00000410: D8 32 2C D8 33 2C 30 58 33 35 29 0D 1F 0D 1F 0D |.2,.3,0X35).....|
00000420: 97 0D 97 43 48 41 52 20 28 2A 53 43 52 45 45 4E |...CHAR (*SCREEN|
00000430: 29 5B 34 30 5D 20 3D 20 30 58 45 30 30 30 3B 0D |)[40] = 0XE000;.|
00000440: 97 43 48 41 52 20 28 2A 43 4F 4C 4F 52 20 29 5B |.CHAR (*COLOR )[|
00000450: 34 30 5D 20 3D 20 30 58 44 38 30 30 3B 0D 97 43 |40] = 0XD800;..C|
00000460: 48 41 52 20 28 2A 43 48 41 52 52 41 4D 31 29 5B |HAR (*CHARRAM1)[|
00000470: 38 5D 3D 20 30 58 44 30 30 30 3B 0D 97 43 48 41 |8]= 0XD000;..CHA|
00000480: 52 20 28 2A 43 48 41 52 52 41 4D 32 29 5B 38 5D |R (*CHARRAM2)[8]|
00000490: 3D 20 30 58 44 38 30 30 3B 0D 97 0D 1C 43 48 41 |= 0XD800;....CHA|
000004A0: 52 20 49 4E 4B 45 59 28 46 44 29 0D 1C 46 49 4C |R INKEY(FD)..FIL|
000004B0: 45 20 46 44 3B 0D 1C DB 20 20 43 48 41 52 20 43 |E FD;... CHAR C|
000004C0: 3B 0D 1C 20 20 20 57 48 49 4C 45 28 28 43 3D 47 |;.. WHILE((C=G|
000004D0: 45 54 43 28 46 44 29 29 3D 3D 30 29 3B 0D 1C 20 |ETC(FD))==0);.. |
000004E0: 20 20 52 45 54 55 52 4E 20 43 3B 0D 1C DD 0D 97 | RETURN C;.....|
000004F0: 0D 00 |.. |
.../* EXTENDED STDIO.C 1987-05-15 */..
....TYPEDEF INT FILE;..TYPEDEF CHAR BYT
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 PUTCHAR(X0) PU
TC(X0,STDIO)..#DEFINE GETCHAR() INKEY(
STDIO)..#DEFINE CMOVE(X1,X2,X3) MOVE(X1,
X2,X3,0X35)........CHAR (*SCREEN)[40] =
0XE000;..CHAR (*COLOR )[40] = 0XD800;..C
HAR (*CHARRAM1)[8]= 0XD000;..CHAR (*CHAR
RAM2)[8]= 0XD800;....CHAR INKEY(FD)..FIL
E FD;... CHAR C;.. WHILE((C=GETC(FD))
==0);.. RETURN C;.......
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL