15.01.2013 Views

Xz77gt

Xz77gt

Xz77gt

SHOW MORE
SHOW LESS

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:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!