00000000: 85 81 9F 2F 2A 20 46 55 4E 43 54 49 4F 4E 53 20 |.../* FUNCTIONS |
00000010: 54 4F 20 43 4F 4E 54 52 4F 4C 4C 20 54 48 45 20 |TO CONTROLL THE |
00000020: 4D 45 4D 4F 52 59 20 43 4F 4E 46 49 47 55 52 41 |MEMORY CONFIGURA|
00000030: 54 49 4F 4E 20 2A 2F 0D 9F 0D 9F 0D 9F 0D 9F 2F |TION */......../|
00000040: 2A 20 42 41 4E 4B 28 29 2D 53 45 4C 45 43 54 20 |* BANK()-SELECT |
00000050: 4D 45 4D 4F 52 59 20 52 41 4E 47 45 20 46 4F 52 |MEMORY RANGE FOR|
00000060: 20 54 48 45 20 D6 C9 C3 2E 20 28 30 2D 33 29 20 | THE .... (0-3) |
00000070: 2A 2F 0D 9F 0D 1F 56 4F 49 44 20 42 41 4E 4B 28 |*/....VOID BANK(|
00000080: 4E 55 4D 42 45 52 29 0D 9F 0D 9A 49 4E 54 20 4E |NUMBER)....INT N|
00000090: 55 4D 42 45 52 3B 0D 9A 0D 9A DB 0D 9A 0D 9A 43 |UMBER;.........C|
000000A0: 48 41 52 20 2A 41 44 52 45 53 53 3D 35 36 35 37 |HAR *ADRESS=5657|
000000B0: 38 3B 0D 9A 0D 9A 20 20 20 20 20 2A 41 44 52 45 |8;.... *ADRE|
000000C0: 53 53 20 3D 20 2A 41 44 52 45 53 53 20 DC 20 33 |SS = *ADRESS . 3|
000000D0: 3B 0D 9A 0D 9A 20 20 20 20 20 41 44 52 45 53 53 |;.... ADRESS|
000000E0: 20 3D 20 35 36 35 37 36 3B 0D 9A 0D 9A 20 20 20 | = 56576;.... |
000000F0: 20 20 2A 41 44 52 45 53 53 20 3D 20 28 2A 41 44 | *ADRESS = (*AD|
00000100: 52 45 53 53 20 26 20 32 35 32 29 20 DC 20 28 28 |RESS & 252) . ((|
00000110: 33 20 2D 20 4E 55 4D 42 45 52 29 20 26 20 33 29 |3 - NUMBER) & 3)|
00000120: 3B 0D 9A DD 0D 9F 0D 9F 2F 2A 20 53 43 52 4C 4F |;......./* SCRLO|
00000130: 43 28 29 2D 53 45 54 20 53 43 52 45 45 4E 20 4C |C()-SET SCREEN L|
00000140: 4F 43 41 54 49 4F 4E 20 49 4E 20 4D 45 4D 4F 52 |OCATION IN MEMOR|
00000150: 59 2E 20 28 30 2D 31 35 29 20 2A 2F 0D 9F 0D 1F |Y. (0-15) */....|
00000160: 56 4F 49 44 20 53 43 52 4C 4F 43 28 4E 55 4D 42 |VOID SCRLOC(NUMB|
00000170: 45 52 29 0D 9F 0D 9A 49 4E 54 20 4E 55 4D 42 45 |ER)....INT NUMBE|
00000180: 52 3B 0D 9A 0D 9A DB 0D 9A 0D 9A 43 48 41 52 20 |R;.........CHAR |
00000190: 2A 41 44 52 45 53 53 3D 35 33 32 37 32 3B 0D 9A |*ADRESS=53272;..|
000001A0: 0D 9A 20 20 20 20 20 2A 41 44 52 45 53 53 20 3D |.. *ADRESS =|
000001B0: 20 28 2A 41 44 52 45 53 53 20 26 20 31 35 29 20 | (*ADRESS & 15) |
000001C0: DC 20 28 28 4E 55 4D 42 45 52 20 26 20 31 35 29 |. ((NUMBER & 15)|
000001D0: 2A 20 31 36 29 3B 0D 9A 0D 9A 20 20 20 20 20 41 |* 16);.... A|
000001E0: 44 52 45 53 53 20 3D 20 36 34 38 3B 0D 9A 0D 9A |DRESS = 648;....|
000001F0: 20 20 20 20 20 2A 41 44 52 45 53 53 20 3D 20 28 | *ADRESS = (|
00000200: 28 4E 55 4D 42 45 52 20 26 20 31 35 29 2A 20 31 |(NUMBER & 15)* 1|
00000210: 30 32 34 29 2F 20 32 35 36 3B 0D 9A DD 0D 9F 0D |024)/ 256;......|
00000220: 9F 2F 2A 20 43 48 41 52 47 45 4E 28 29 2D 53 45 |./* CHARGEN()-SE|
00000230: 4C 45 43 54 20 4D 45 4D 4F 52 59 20 4C 4F 43 41 |LECT MEMORY LOCA|
00000240: 54 49 4F 4E 20 46 4F 52 20 54 48 45 20 43 48 41 |TION FOR THE CHA|
00000250: 52 41 43 54 45 52 20 47 45 4E 45 52 41 54 4F 52 |RACTER GENERATOR|
00000260: 2E 20 28 30 2D 37 29 20 2A 2F 0D 9F 0D 1F 56 4F |. (0-7) */....VO|
00000270: 49 44 20 43 48 41 52 47 45 4E 28 4E 55 4D 42 45 |ID CHARGEN(NUMBE|
00000280: 52 29 0D 9F 0D 9A 49 4E 54 20 4E 55 4D 42 45 52 |R)....INT NUMBER|
00000290: 3B 0D 9A 0D 9A DB 0D 9A 0D 9A 43 48 41 52 20 2A |;.........CHAR *|
000002A0: 41 44 52 45 53 53 3D 35 33 32 37 32 3B 0D 9A 0D |ADRESS=53272;...|
000002B0: 9A 20 20 20 20 20 2A 41 44 52 45 53 53 20 3D 20 |. *ADRESS = |
000002C0: 28 2A 41 44 52 45 53 53 20 26 20 32 34 30 29 20 |(*ADRESS & 240) |
000002D0: DC 20 28 28 4E 55 4D 42 45 52 20 26 20 37 29 2A |. ((NUMBER & 7)*|
000002E0: 20 32 29 3B 0D 9A DD 0D 9F 0D 00 | 2);....... |
.../* FUNCTIONS TO CONTROLL THE MEMORY C
ONFIGURATION */......../* BANK()-SELECT
MEMORY RANGE FOR THE VIC. (0-3) */....VO
ID BANK(NUMBER)....INT NUMBER;.........C
HAR *ADRESS=56578;.... *ADRESS = *AD
RESS . 3;.... ADRESS = 56576;....
*ADRESS = (*ADRESS & 252) . ((3 - NUMB
ER) & 3);......./* SCRLOC()-SET SCREEN L
OCATION IN MEMORY. (0-15) */....VOID SCR
LOC(NUMBER)....INT NUMBER;.........CHAR
*ADRESS=53272;.... *ADRESS = (*ADRES
S & 15) . ((NUMBER & 15)* 16);.... A
DRESS = 648;.... *ADRESS = ((NUMBER
& 15)* 1024)/ 256;......./* CHARGEN()-SE
LECT MEMORY LOCATION FOR THE CHARACTER G
ENERATOR. (0-7) */....VOID CHARGEN(NUMBE
R)....INT NUMBER;.........CHAR *ADRESS=5
3272;.... *ADRESS = (*ADRESS & 240)
. ((NUMBER & 7)* 2);.......
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL