You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Gareth Thomas brings<br />
The Mic Loader<br />
MICROFILE64 IS A COMPLETE<br />
database creation and<br />
management system for the<br />
C64. It consists of a suite of<br />
three programs, the fi rst<br />
IISE<br />
program is mainly a machine<br />
code loader but it also carries<br />
out 'once only' operations such<br />
as setting up the SID and VIC<br />
chips etc. for the main pro-<br />
PROGRAM: MF64.M/C<br />
0 REMESPC2IISSIIIIUMISIII<br />
2020 DATA 51,240,45,201,4,<br />
240,8,201,5,240,1235<br />
2030 DATA 4,201,6,208,9,133,<br />
grams, and then auto-runs the<br />
254,169,1,133,1118<br />
management program. The<br />
management program consists<br />
of shell-metzner sorting routines,<br />
a very powerful data<br />
10 REM IE8PC21MICROFILE64<br />
N/CCSPC2A<br />
20 REM ItSPC6NER1.0ESPC7II<br />
2040 DATA 203,76,72,235,165,<br />
214,201,1,208,7,1382<br />
2050 DATA 169,2,133,214,76,<br />
search and edit system and a 30 REM I ICI 1985 ETHOMAS 72,235,201,23,208,1333<br />
unique data access method for<br />
tape and disk. The third<br />
program is the format program,<br />
this allows the user to design a<br />
complete screen layout for the<br />
input of data using any of the<br />
available colours, rvs video,<br />
graphics characters and even<br />
the fullscreen editing facilities<br />
of the 64. Then by using a sprite<br />
cursor and an overlayed popup<br />
menu, it defi nes the<br />
40 REM<br />
50 :<br />
60 REM LOCK INTO CHARACTER<br />
SET 2<br />
70 PRINT CHRSII4ICHRSI8)<br />
80 REM BLACK SCREEN<br />
90 POKE 53280,0:POKE 53281,0<br />
100<br />
120 PRINT<br />
2060 DATA 249,169,22,133,214,<br />
76,72,235,169,127,1466<br />
2070 DATA 141„220,96,120,<br />
169,67,141,143,2,1099<br />
2080 DATA 169,202,141,144,2,<br />
88,96,120,169,72,1203<br />
2090 DATA 141,143,2,169,235,<br />
141,144,2,88,96,1161<br />
2100 DATA 169,185,32,210,255,<br />
32,228,255,240,251,1857<br />
parameters affecting each of<br />
the fields i.e. length. datatype,<br />
input position and name.<br />
The mic is placed above<br />
Basic in the 4K block at SC000<br />
from $CA43 to SCAC5. So<br />
taking no Basic memory. The<br />
m/c is wedged between the<br />
stored screen definition which<br />
is split into two; the screen<br />
memory from $C000 and the<br />
colour 'memory from SCCO5<br />
1 (WHITE,RVSON,DOWNfl<br />
(CLEAR LOADING DATA<br />
PTA8II2<br />
130 051779:LNa2000<br />
I" 140 READ 8:IF 8.(256 THEN POK<br />
E A,8:12T+804+1:6OTO 140<br />
150 IF T2B THEN Tt0:00L144.10<br />
:SOTO 140<br />
160 IF B2999 THEN 190<br />
180 PRINT TA819)<br />
. ERROR IN LINE<br />
2110 DATA 170,76,206,202,165,<br />
251,197,252,240,241,2000<br />
2120 DATA 230,251,169,157,32,<br />
210,255,138,32,210,1684<br />
2130 DATA 255,169,185,32,210,<br />
255,138,96,133,254,1727<br />
2140 DATA 201,133,240,249,<br />
201,134,240,245,201,135,<br />
1979<br />
2150 DATA 240,241,201,13,240,<br />
using mic routines the screen<br />
can be stored and recalled<br />
instantly for updating the file.<br />
Being stored in this block<br />
means that over 28.5K is free for<br />
EDOWN3DAT<br />
190 POKE 1 650,128:S1)254272<br />
A IVC253248 LN:STOP<br />
200 REM SET UP SID AND VIC<br />
CHIPS<br />
237,201,20,208,21,1622<br />
2160 DATA 165,251,240,197,<br />
198,251,198,251,169,29,<br />
1949<br />
data. This is allocated to 200 210 FOR LtSD TO 50+24 2170 DATA 32,210,255,169,20,<br />
records of up to nine fields<br />
each one being allowed a maximum<br />
length of 255 characters<br />
this number of records could<br />
easily be altered up to two or<br />
three times more and although<br />
the maximum field length is 255<br />
this would probably never be<br />
used and is set at this to impose<br />
no constraints on the user.<br />
Since string storage is dynamic,<br />
the field length could be set to<br />
this and it would not<br />
immediately be allocated 255<br />
bytes. Details on how to extend<br />
the program will be given later<br />
in the documentation).<br />
The leader itself stores 5<br />
m/c routines. They are:<br />
1. Interrupt driven routine<br />
($CAA8 - CB43): To control the<br />
:POKE L,OINEXT<br />
220 POKE SD+24<br />
1230<br />
POKE SP5,64:POKE SI:14.6,64<br />
15 240 POKE SP2,64:POKE SD+3,2<br />
250 POKE SD,21POKE SD+1,20<br />
260 POKE 2040<br />
270 1 POKE VC4.21,0:POKE VC+1,58<br />
13:POKE<br />
280 POKE VC4.39,1<br />
V290 REM C , AUTO-RUN 2 4 MAIN PROBRAM<br />
310 POKE 631,1311POKE 198,1<br />
NEW<br />
320<br />
330 REM NC DATA<br />
2000 DATA 165,203,170,173,<br />
141,2,201,1,240,9,138,1443<br />
2010 DATA 201,45,240,54,201,<br />
47,240,50,138,201,1417<br />
32,210,255,76,182,1441<br />
2180 DATA 202,201,32,48,176,<br />
201,95,16,172,165,1308<br />
2190 DATA 253,201,1,208,16,<br />
138,201,32,240,170,1460<br />
2200 DATA 201,65,48,157,201,<br />
91,16,153,76,182,1190<br />
2210 DATA 202,201,2,208,33,<br />
138,201,43,240,150,1418<br />
2220 DATA 201,47,240,146,201,<br />
42,240,142,201,45,1505<br />
2230 DATA 240,138,138,201,46,<br />
240,133,201,48,48,1433<br />
2240 DATA 14,201,58,16,10,76,<br />
182,202,201,3,963<br />
2250 DATA 240,236,76,182,202,<br />
you your own type-in<br />
C64 Database.<br />
16<br />
Basic input routine and use the<br />
full cursor editing. This has<br />
three purposes: to stop the<br />
cursor scrolling the screen by<br />
denying it access to the top and<br />
bottom lines; de-activate the<br />
colon and comma keys while<br />
allowing their shifted, controlled<br />
and CBM functions to<br />
be registered: allows the<br />
INPUT routine to be exited by<br />
pressing function keys as well<br />
as RETURN.<br />
2. Input routine (SCAM -<br />
SCB43): This routine simulates<br />
the Basic input routine but<br />
improves on it by adding: the<br />
ability to preset the maximum<br />
number of characters to be<br />
entered; allowing only certain<br />
data to be entered which can<br />
be preset and can be of four<br />
types - alphanumeric, digit.<br />
numeric or for any other<br />
numeric data being entered it<br />
is possible to specify a particular<br />
amount i.e. less than„<br />
greater than or between.<br />
3. Cursor. AT(SCB46 - SCB72):<br />
this simulates the PRINT AT<br />
command found in many other<br />
Basics. It uses the kernal PLOT<br />
routine at SHFCland a few Basic<br />
ROM calls to allow parameter<br />
passing of the row and column<br />
positions from the SYS call.<br />
4. Screen sdlore (SCB73 -<br />
SCBBB): This stores a copy of<br />
the screen layout defined by<br />
the format program (except for<br />
the top and bottom rows). It<br />
stores the screen memory at<br />
$CCO5, the colour memory at<br />
SC000.<br />
5. Screen recall (SCBBC -<br />
SCC04): This recalls a copy of<br />
the screen stored by the<br />
routine above.<br />
If you wish to use the system<br />
on disk then the three<br />
programs must be saved under<br />
the fi lenames MF64.M/C,<br />
MF64. MAIN and MF64. FORM<br />
in order to maintain the compatibility<br />
with the routines<br />
used in the main arid format<br />
programs. Also certain lines<br />
need to be altered in the<br />
machine code loader so that<br />
the main program is auto-run<br />
correctly, this is shown below.<br />
Type in the following lines,<br />
with the m/c loader in<br />
memory: