00000000: 85 81 9F 2F 2A 20 D4 45 53 54 20 50 52 4F 47 52 |.../* .EST PROGR|
00000010: 41 4D 4D 20 57 49 54 48 20 54 48 45 20 53 55 50 |AMM WITH THE SUP|
00000020: 45 52 20 C3 20 43 4F 4D 50 49 4C 45 52 20 2A 2F |ER . COMPILER */|
00000030: 0D 1C 0D 9E 23 49 4E 43 4C 55 44 45 20 22 53 54 |....#INCLUDE "ST|
00000040: 44 49 4F 2E 48 22 0D 9E 23 49 4E 43 4C 55 44 45 |DIO.H"..#INCLUDE|
00000050: 20 22 41 4C 4C 4F 43 41 54 49 4F 4E 2E 43 22 0D | "ALLOCATION.C".|
00000060: 9E 23 49 4E 43 4C 55 44 45 20 22 57 49 4E 44 4F |.#INCLUDE "WINDO|
00000070: 57 53 2E 43 22 0D 1C 0D 1C 0D 1C 53 54 41 54 49 |WS.C"......STATI|
00000080: 43 20 42 59 54 45 20 50 41 54 54 45 52 4E 5B 34 |C BYTE PATTERN[4|
00000090: 31 5D 20 3D 20 DB 20 31 30 32 2C 31 30 32 2C 31 |1] = . 102,102,1|
000000A0: 30 32 2C 31 30 32 2C 31 30 32 2C 31 30 32 2C 31 |02,102,102,102,1|
000000B0: 30 32 2C 31 30 32 2C 0D 1C 20 20 20 20 20 20 20 |02,102,.. |
000000C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000000D0: 20 20 20 20 20 31 30 32 2C 31 30 32 2C 31 30 32 | 102,102,102|
000000E0: 2C 31 30 32 2C 31 30 32 2C 31 30 32 2C 31 30 32 |,102,102,102,102|
000000F0: 2C 31 30 32 2C 0D 1C 20 20 20 20 20 20 20 20 20 |,102,.. |
00000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000110: 20 20 20 31 30 32 2C 31 30 32 2C 31 30 32 2C 31 | 102,102,102,1|
00000120: 30 32 2C 31 30 32 2C 31 30 32 2C 31 30 32 2C 31 |02,102,102,102,1|
00000130: 30 32 2C 0D 1C 20 20 20 20 20 20 20 20 20 20 20 |02,.. |
00000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000150: 20 31 30 32 2C 31 30 32 2C 31 30 32 2C 31 30 32 | 102,102,102,102|
00000160: 2C 31 30 32 2C 31 30 32 2C 31 30 32 2C 31 30 32 |,102,102,102,102|
00000170: 2C 0D 1C 20 20 20 20 20 20 20 20 20 20 20 20 20 |,.. |
00000180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 | 1|
00000190: 30 32 2C 31 30 32 2C 31 30 32 2C 31 30 32 2C 31 |02,102,102,102,1|
000001A0: 30 32 2C 31 30 32 2C 31 30 32 2C 31 30 32 2C 30 |02,102,102,102,0|
000001B0: 20 DD 3B 0D 1C 0D 1C 53 54 41 54 49 43 20 42 59 | .;....STATIC BY|
000001C0: 54 45 20 42 41 43 4B 43 4F 4C 5B 34 31 5D 20 3D |TE BACKCOL[41] =|
000001D0: 20 DB 20 36 2C 36 2C 36 2C 36 2C 36 2C 36 2C 36 | . 6,6,6,6,6,6,6|
000001E0: 2C 36 2C 36 2C 36 2C 0D 1C 20 20 20 20 20 20 20 |,6,6,6,.. |
000001F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000200: 20 20 20 20 20 36 2C 36 2C 36 2C 36 2C 36 2C 36 | 6,6,6,6,6,6|
00000210: 2C 36 2C 36 2C 36 2C 36 2C 0D 1C 20 20 20 20 20 |,6,6,6,6,.. |
00000220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000230: 20 20 20 20 20 20 20 36 2C 36 2C 36 2C 36 2C 36 | 6,6,6,6,6|
00000240: 2C 36 2C 36 2C 36 2C 36 2C 36 2C 0D 1C 20 20 20 |,6,6,6,6,6,.. |
00000250: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000260: 20 20 20 20 20 20 20 20 20 36 2C 36 2C 36 2C 36 | 6,6,6,6|
00000270: 2C 36 2C 36 2C 36 2C 36 2C 36 2C 36 2C 30 20 DD |,6,6,6,6,6,6,0 .|
00000280: 3B 0D 1C 0D 1C 0D 1C 0D 1C 4D 41 49 4E 28 29 0D |;........MAIN().|
00000290: 1C 0D 1C DB 0D 1C 0D 1C 49 4E 54 20 20 4C 4F 4F |........INT LOO|
000002A0: 50 3B 0D 1C 43 48 41 52 20 43 3B 0D 1C 0D 1C 43 |P;..CHAR C;....C|
000002B0: 48 41 52 20 2A 53 43 52 41 44 52 20 3D 20 30 58 |HAR *SCRADR = 0X|
000002C0: 45 30 30 30 3B 0D 1C 43 48 41 52 20 2A 43 4F 4C |E000;..CHAR *COL|
000002D0: 41 44 52 20 3D 20 35 35 32 39 36 3B 0D 1C 42 59 |ADR = 55296;..BY|
000002E0: 54 45 20 2A 42 4F 52 44 45 52 20 3D 20 35 33 32 |TE *BORDER = 532|
000002F0: 38 30 3B 0D 1C 42 59 54 45 20 2A 53 43 52 45 45 |80;..BYTE *SCREE|
00000300: 4E 20 3D 20 35 33 32 38 31 3B 0D 1C 42 59 54 45 |N = 53281;..BYTE|
00000310: 20 2A 43 4F 4C 4F 55 52 20 3D 20 20 20 36 34 36 | *COLOUR = 646|
00000320: 3B 0D 1C 0D 1C 0D 1C 20 20 20 20 20 43 4C 52 53 |;...... CLRS|
00000330: 43 52 3B 0D 1C 0D 1C 20 20 20 20 20 2A 42 4F 52 |CR;.... *BOR|
00000340: 44 45 52 20 3D 20 36 3B 0D 1C 20 20 20 20 20 2A |DER = 6;.. *|
00000350: 53 43 52 45 45 4E 20 3D 20 33 3B 0D 1C 20 20 20 |SCREEN = 3;.. |
00000360: 20 20 2A 43 4F 4C 4F 55 52 20 3D 20 36 3B 0D 1C | *COLOUR = 6;..|
00000370: 0D 9F 20 20 2F 2A 20 46 49 4C 4C 20 42 41 43 4B |.. /* FILL BACK|
00000380: 47 52 4F 55 4E 44 20 50 41 54 54 45 52 4E 20 2A |GROUND PATTERN *|
00000390: 2F 0D 1C 0D 1C 20 20 20 20 20 46 4F 52 20 28 4C |/.... FOR (L|
000003A0: 4F 4F 50 3D 30 3B 4C 4F 4F 50 3C 32 35 3B 4C 4F |OOP=0;LOOP<25;LO|
000003B0: 4F 50 2B 2B 2C 43 4F 4C 41 44 52 2B 3D 34 30 2C |OP++,COLADR+=40,|
000003C0: 53 43 52 41 44 52 2B 3D 34 30 29 0D 1C 20 20 20 |SCRADR+=40).. |
000003D0: 20 20 20 20 DB 0D 1C 20 20 20 20 20 20 20 20 20 | ... |
000003E0: 4D 4F 56 45 28 53 43 52 41 44 52 2C 34 30 2C 26 |MOVE(SCRADR,40,&|
000003F0: 50 41 54 54 45 52 4E 5B 30 5D 2C 35 33 29 3B 0D |PATTERN[0],53);.|
00000400: 1C 20 20 20 20 20 20 20 20 20 4D 4F 56 45 28 43 |. MOVE(C|
00000410: 4F 4C 41 44 52 2C 34 30 2C 26 42 41 43 4B 43 4F |OLADR,40,&BACKCO|
00000420: 4C 5B 30 5D 2C 35 33 29 3B 0D 1C 20 20 20 20 20 |L[0],53);.. |
00000430: 20 20 DD 0D 1C 0D 1C 20 20 20 20 20 49 46 20 28 | ..... IF (|
00000440: 4F 50 45 4E 57 49 4E 28 35 2C 35 2C 32 30 2C 33 |OPENWIN(5,5,20,3|
00000450: 35 29 29 0D 1C 20 20 20 20 20 20 DB 0D 1C 20 20 |5)).. ... |
00000460: 20 20 20 20 20 20 43 55 52 53 4F 52 28 37 2C 37 | CURSOR(7,7|
00000470: 29 3B 0D 1C 0D 1C 20 20 20 20 20 20 20 20 50 55 |);.... PU|
00000480: 54 53 28 22 C3 36 34 20 57 49 4E 44 4F 57 53 20 |TS(".64 WINDOWS |
00000490: 42 59 20 50 2E 48 45 44 4C 49 4E 22 2C D3 D4 C4 |BY P.HEDLIN",...|
000004A0: C9 CF 29 3B 0D 1C 0D 1C 20 20 20 20 20 20 20 20 |..);.... |
000004B0: 49 46 20 28 4F 50 45 4E 57 49 4E 28 31 39 2C 30 |IF (OPENWIN(19,0|
000004C0: 2C 32 31 2C 31 35 29 29 0D 1C 20 20 20 20 20 20 |,21,15)).. |
000004D0: 20 20 20 DB 0D 1C 20 20 20 20 20 20 20 20 20 20 | ... |
000004E0: 20 43 55 52 53 4F 52 28 32 30 2C 31 29 3B 0D 1C | CURSOR(20,1);..|
000004F0: 0D 1C 20 20 20 20 20 20 20 20 20 20 20 50 55 54 |.. PUT|
00000500: 53 28 22 50 52 45 53 53 20 41 4E 59 20 4B 45 59 |S("PRESS ANY KEY|
00000510: 2E 22 2C D3 D4 C4 C9 CF 29 3B 0D 1C 0D 1C 20 20 |.",.....);.... |
00000520: 20 20 20 20 20 20 20 20 20 49 4E 4B 45 59 28 D3 | INKEY(.|
00000530: D4 C4 C9 CF 29 3B 0D 1C 0D 1C 20 20 20 20 20 20 |....);.... |
00000540: 20 20 20 20 20 43 4C 4F 53 45 57 49 4E 28 29 3B | CLOSEWIN();|
00000550: 0D 1C 20 20 20 20 20 20 20 20 20 DD 0D 1C 20 20 |.. ... |
00000560: 20 20 20 20 20 20 49 46 20 28 4F 50 45 4E 57 49 | IF (OPENWI|
00000570: 4E 28 33 2C 31 35 2C 31 35 2C 33 37 29 29 0D 1C |N(3,15,15,37))..|
00000580: 20 20 20 20 20 20 20 20 20 DB 0D 1C 20 20 20 20 | ... |
00000590: 20 20 20 20 20 20 20 46 4F 52 20 28 4C 4F 4F 50 | FOR (LOOP|
000005A0: 3D 30 3B 4C 4F 4F 50 3C 31 32 3B 4C 4F 4F 50 2B |=0;LOOP<12;LOOP+|
000005B0: 2B 29 0D 1C 20 20 20 20 20 20 20 20 20 20 20 20 |+).. |
000005C0: 20 DB 0D 1C 20 20 20 20 20 20 20 20 20 20 20 20 | ... |
000005D0: 20 20 20 43 55 52 53 4F 52 28 31 34 2C 31 36 29 | CURSOR(14,16)|
000005E0: 3B 0D 1C 20 20 20 20 20 20 20 20 20 20 20 20 20 |;.. |
000005F0: 20 20 50 55 54 53 28 22 57 49 4E 44 4F 57 20 53 | PUTS("WINDOW S|
00000600: 43 52 4F 4C 4C 49 4E 47 20 49 4E 2E 2E 22 2C D3 |CROLLING IN..",.|
00000610: D4 C4 C9 CF 29 3B 0D 1C 20 20 20 20 20 20 20 20 |....);.. |
00000620: 20 20 20 20 20 20 20 53 43 52 4F 4C 4C 57 49 4E | SCROLLWIN|
00000630: 28 D5 D0 29 3B 0D 1C 20 20 20 20 20 20 20 20 20 |(..);.. |
00000640: 20 20 20 20 DD 0D 1C 0D 1C 20 20 20 20 20 20 20 | ..... |
00000650: 20 20 20 20 49 4E 4B 45 59 28 D3 D4 C4 C9 CF 29 | INKEY(.....)|
00000660: 3B 0D 1C 0D 1C 20 20 20 20 20 20 20 20 20 20 20 |;.... |
00000670: 46 4F 52 20 28 4C 4F 4F 50 3D 30 3B 4C 4F 4F 50 |FOR (LOOP=0;LOOP|
00000680: 3C 31 32 3B 4C 4F 4F 50 2B 2B 29 0D 1C 20 20 20 |<12;LOOP++).. |
00000690: 20 20 20 20 20 20 20 20 20 20 DB 0D 1C 20 20 20 | ... |
000006A0: 20 20 20 20 20 20 20 20 20 20 20 20 43 55 52 53 | CURS|
000006B0: 4F 52 28 34 2C 31 36 29 3B 0D 1C 20 20 20 20 20 |OR(4,16);.. |
000006C0: 20 20 20 20 20 20 20 20 20 20 50 55 54 53 28 22 | PUTS("|
000006D0: 42 4F 54 48 20 44 49 52 45 43 54 49 4F 4E 53 2E |BOTH DIRECTIONS.|
000006E0: 2E 2E 2E 2E 2E 22 2C D3 D4 C4 C9 CF 29 3B 0D 1C |.....",.....);..|
000006F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 | S|
00000700: 43 52 4F 4C 4C 57 49 4E 28 C4 CF D7 CE 29 3B 0D |CROLLWIN(....);.|
00000710: 1C 20 20 20 20 20 20 20 20 20 20 20 20 20 DD 0D |. ..|
00000720: 1C 20 20 20 20 20 20 20 20 20 20 20 49 4E 4B 45 |. INKE|
00000730: 59 28 D3 D4 C4 C9 CF 29 3B 0D 1C 0D 1C 20 20 20 |Y(.....);.... |
00000740: 20 20 20 20 20 20 20 20 43 4C 45 41 52 57 49 4E | CLEARWIN|
00000750: 28 29 3B 0D 1C 0D 1C 20 20 20 20 20 20 20 20 20 |();.... |
00000760: 20 20 49 4E 4B 45 59 28 D3 D4 C4 C9 CF 29 3B 0D | INKEY(.....);.|
00000770: 1C 0D 1C 20 20 20 20 20 20 20 20 20 20 20 43 4C |... CL|
00000780: 4F 53 45 57 49 4E 28 29 3B 0D 1C 20 20 20 20 20 |OSEWIN();.. |
00000790: 20 20 20 20 DD 0D 1C 20 20 20 20 20 20 20 20 49 | ... I|
000007A0: 4E 4B 45 59 28 D3 D4 C4 C9 CF 29 3B 0D 1C 0D 1C |NKEY(.....);....|
000007B0: 20 20 20 20 20 20 20 20 43 4C 4F 53 45 57 49 4E | CLOSEWIN|
000007C0: 28 29 3B 0D 1C 20 20 20 20 20 20 DD 0D 1C 20 20 |();.. ... |
000007D0: 20 20 20 45 58 49 54 28 29 3B 0D 1C 0D 1C DD 0D | EXIT();......|
000007E0: 1C 0D 1C 0D 00 |..... |
.../* TEST PROGRAMM WITH THE SUPER C COM
PILER */....#INCLUDE "STDIO.H"..#INCLUDE
"ALLOCATION.C"..#INCLUDE "WINDOWS.C"...
...STATIC BYTE PATTERN[41] = . 102,102,1
02,102,102,102,102,102,..
102,102,102,102,102,102,102
,102,.. 102,1
02,102,102,102,102,102,102,..
102,102,102,102,102,102
,102,102,.. 1
02,102,102,102,102,102,102,102,0 .;....S
TATIC BYTE BACKCOL[41] = . 6,6,6,6,6,6,6
,6,6,6,.. 6,6
,6,6,6,6,6,6,6,6,..
6,6,6,6,6,6,6,6,6,6,..
6,6,6,6,6,6,6,6,6,6,0 .
;........MAIN().........INT LOOP;..CHAR
C;....CHAR *SCRADR = 0XE000;..CHAR *COL
ADR = 55296;..BYTE *BORDER = 53280;..BYT
E *SCREEN = 53281;..BYTE *COLOUR = 646
;...... CLRSCR;.... *BORDER = 6;
.. *SCREEN = 3;.. *COLOUR = 6;..
.. /* FILL BACKGROUND PATTERN */....
FOR (LOOP=0;LOOP<25;LOOP++,COLADR+=40,
SCRADR+=40).. ... MOVE(SCR
ADR,40,&PATTERN[0],53);.. MOVE(C
OLADR,40,&BACKCOL[0],53);.. .....
IF (OPENWIN(5,5,20,35)).. ...
CURSOR(7,7);.... PUTS("C64
WINDOWS BY P.HEDLIN",STDIO);....
IF (OPENWIN(19,0,21,15)).. ...
CURSOR(20,1);.... PUT
S("PRESS ANY KEY.",STDIO);....
INKEY(STDIO);.... CLOSEWIN();
.. ... IF (OPENWIN(3,15,1
5,37)).. ... FOR (LOOP
=0;LOOP<12;LOOP++).. ...
CURSOR(14,16);..
PUTS("WINDOW SCROLLING IN..",STDIO);..
SCROLLWIN(UP);..
..... INKEY(STDIO);....
FOR (LOOP=0;LOOP<12;LOOP++)..
... CURSOR(4,16)
;.. PUTS("BOTH DIRECTIONS.
.....",STDIO);.. SCROLLWIN
(DOWN);.. ... INKE
Y(STDIO);.... CLEARWIN();....
INKEY(STDIO);.... CL
OSEWIN();.. ... INKEY(STD
IO);.... CLOSEWIN();.. ...
EXIT();...........
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL