Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
"THEN6<br />
3"DRMI<br />
LID C<br />
.<br />
" MS"<br />
M<br />
E<br />
M<br />
O<br />
'9")<br />
TN ENG<br />
:TERS<br />
3260<br />
1<br />
-<br />
T<br />
H<br />
E<br />
r-TH<br />
mot,<br />
?S<br />
P<br />
3<br />
P'050<br />
R<br />
•i•<br />
AT<br />
844<br />
TM<br />
iErt<br />
CD<br />
IN<br />
EM<br />
I .<br />
I<br />
c<br />
•<br />
•<br />
•<br />
1<br />
C64 PROGRAMMING<br />
F2 9050 REM<br />
92 10000 REM<br />
01 10010 REM" DATA AREA<br />
44<br />
EE 10020 REM<br />
5E 10030 DATA "0143"," " BASIC<br />
LOADER FOR PROGRAM","#"<br />
79 10040 DATA "11143"," • ","#"<br />
52 10050 DATA "N143"," " COMPI<br />
LED USING 'LOADERBUILD' UTIL<br />
58 10050 DATA "#143"," • BY J<br />
KINLEYCSPC33198S","0"<br />
OF 10070 DATA "5","111751"."1."<br />
DF 10080 DATA "01129","L","0178"<br />
,"0","#164","#"<br />
FF 10090 DATA "C","110178","0:","<br />
0 1 1 2<br />
9 "lS","0" " , "<br />
33 10100 0 " , " DATA "41135","A;C","1117<br />
# 8","0","10170","A:","1151","S<br />
1 7 8<br />
"0170"."L","#172"<br />
" , " 0<br />
05 10110 DATA "16","#170","0,A:<br />
"<br />
"."#130","#"<br />
, " #<br />
86 10120<br />
1 6 4 "<br />
DATA "*135","A:","11139<br />
, "A","#179","10177"."C","11116<br />
7","#153"<br />
CF 10130 DATA "1.134","CHECKSUM E<br />
RROR IN LINE ","034",";200",<br />
"11<br />
30 10140 1 DATA "10;","*144","*"<br />
94 10150 17 DATA "S130","S"<br />
0".<br />
"L"<br />
,"#<br />
17<br />
PROGRAM: 2" DEMO<br />
58 100 REM °I' BASIC LOADER FOR<br />
PROGRAM<br />
05 110 REM • DEMO<br />
FB 120 REM " COMPILED USING 'L<br />
OADERBUILD' UTILITY<br />
95 130 REM " BY J KINLEY 1 9 8<br />
9<br />
BA 140 S— 49/52<br />
08 150 FORL..0T06<br />
20 160 O..0:FORD—OT016<br />
CD 170 READA:CC*A:P0KES...1.<br />
0 A: NEXT<br />
SD 180 READA;1FACTHENPRINT"OH<br />
16+D<br />
ECKSUM ERROR IN LINE "i2004-L<br />
°10:5TOP<br />
AC 190 NEXT<br />
Cl 200 DATA160,0,185,3S,192,240<br />
,7,200,32,210,255,76,2,192,3<br />
2,228.2046<br />
56 210 DATA255.201,0,240,249,20<br />
1,42,240,9,230,32,208,238,33<br />
,208,76,2470<br />
CC 220 DATA14,192,96,80,82,69,8<br />
3,83,32,65,32,75.69.89,32,84<br />
,1177<br />
OA 230 DATA79,32.67,72,65,78,71<br />
,69,13,66,79,82,68,59,82,32,<br />
1029<br />
05 240 DATA65,78,58.32,83.07,82<br />
,59,59,78,32,67,79,76,79,85,<br />
1109<br />
F1 250 DATA82,83,13.13,13.80.82<br />
,69,83,83,32,42,32,84,79,32,<br />
902<br />
Fe 260 DATA69,88,73,84,0,0,0,0,<br />
0,0,0,0,0,0,0,0,314<br />
YOUR COMMODORE<br />
C64 PROGRAMMING<br />
SCREEN<br />
SAVER<br />
Give your Monitor/TV.<br />
Screen a rest with<br />
Screen Saver<br />
By G. Gomu<br />
system remain switched on<br />
H and unattended during a programming<br />
o session? Probably long<br />
enough w to gradually wear down the<br />
C.R.T. l (Cathode Ray Tube) in your<br />
monitor.<br />
o<br />
n<br />
During all this time the poor CRT<br />
is getting sunburnt by the electron gun!<br />
One g solution is to switch off the<br />
monitor d during such intervals. This is<br />
not o recommended due to the current<br />
surges e occuring at each switching on<br />
or s off which could corrupt your<br />
program.<br />
y<br />
Here is a "soft" solution. It is a<br />
simple<br />
o<br />
interrupt driven routine devised<br />
to u limit the damage. It will "black" the<br />
screen r if the keyboard is ignored for<br />
about c one minute.<br />
o<br />
How m It Works<br />
p<br />
Every u lisoth of a second the program<br />
checks<br />
t<br />
if a key has been pressed. If<br />
e<br />
not, it decrements a counter, ii the<br />
counter has run down to zero then it<br />
saves the border colour, sets it to black,<br />
and "switches off" the screen. This is<br />
done by turning off bit 4 location<br />
SD011 (53265), which changes the<br />
whole screen to the border colour.<br />
The next time a key is pressed, the<br />
same bit is turned back on, which<br />
restores the screen. The saved value<br />
of the border colour is restored too,<br />
and the counter is reset to its starting<br />
value, calculated for a delay of approximately<br />
one minute.<br />
The routine occupies memory from<br />
SCFAA (53162) to SUFF<br />
. (53247).<br />
To Use It<br />
Type in Screen Saver, and save it<br />
before attempting to run it because it<br />
will destroy itself once the machine<br />
code is poked in memory.<br />
Before starting programming, or<br />
loading a program, load "screen saver"<br />
and run it. There is one little drawback,<br />
the border colour can't be changed<br />
once the routine is operating. Also<br />
note that "Screen Saver" will not work<br />
with any program which changes the<br />
interrupt vector at $0314. Pressing<br />
RUN-STOP/RESTORE will disable<br />
the routine. To restart: SYS 53162.<br />
FRCERAM;SCREEN SAVER<br />
r<br />
FS 210 SYSAO:PRINT"SCREEN SAVER<br />
INSTALLED,"<br />
7E 220 NEW<br />
CE 100 REM<br />
49 230 DATAl20,169,189,160,207,<br />
141.020,003<br />
55 240 DATA140,021,003,088,173,<br />
ES 110 REM • 022,208,141<br />
11 2S0 DATA25S,207,096,165,197,<br />
70<br />
CO<br />
120 REM • S C R E E N SAVE<br />
•<br />
130 REM ° . B Y<br />
13<br />
041,064,240<br />
260 DATA032,205.263,207,208,<br />
029,206,254<br />
F9 270 DATA207,208,019,173,032,<br />
OS 140 REM • G E R A R D CORN 208,141,255<br />
LI SS 280 DATA207,159,000,141,032,<br />
30 150 REM •<br />
4 ES<br />
208,173,017<br />
290 DATA200,041,239,141,017,<br />
OF 160 REM 208,076,049<br />
SC 300 0ATA234,173.017,208,009,<br />
25 170 REM 016,141,017<br />
32 180 RRINTCHRS(147);:AD53152 A7 310 DATA208,173,255,207,141,<br />
:FDRI..ADT053247 032,208,169<br />
FE 190 READA:CS—CS-4-A:PDXEI,A:PR FA 320 DATA015,141,254,207,169,<br />
INT"."NEXT 000,141,253<br />
AR 200 IFCS()11716THENPRINT"DAT<br />
A ERROR.": END<br />
84 330 DATA207,290,227,000,015,<br />
000<br />
Fifty Three