Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
P'A
with built in data separator. During
the past few months I have seen
double sided MPI drives advertised
for about $89. To make the required
modifications you will need to remove
the main circuit from the new
drive. Make note of all of the
connector positions and if need be
mark them before removal. Now
remove the connectors and the screws
holding the board in place. For either
a double or single sided drive there is
only one modification required. The
line Which goes to pin 30 of the drive
interface connector (}4) is connected
to pin 3 of the 7438 nand gate shown
in Figure 1. This is normally the raw
data output. Pin 1 of this nand gate is
connected to pins 5 and 9 of the
74LS123 (see fig. 1) and must be cut.
Make sure that the connection
between pin 1 of the nand gate and
the. drive separator connector remains
intact. Now you will need to remove
the small data separator circuit board,
Which is located at the front right
hand side of the main circuit board,
from your old drive. Install this on the
new drive and replace the board and
connectors. You now have a new
single or double sided MPI drive. For
double sided drives the circuitry on
the OSI controller and paddle board
will also need to be modified.
Those who are faced with the problem
of adding more drive capacity or
replacing existing drives have several
choices available. These choices
include purchasing a new MPI drive
and adapting your old data separator
to it, building a new data separator
and using standard 40 track drives
either single or double sided, or using
one of the 00 track double sided
drives. Some of the information
presented here has been published
before but I think it worthwhile to
place all of this information into one
article.
NEW MPI DRIVES
First we will discuss the adaptation of
a new MPI drive to replace an existing
OSI MPI drive. As those of you who
have 5.25" disk systems know OSI
used a single sided 40 track MPI drive
by David Uvesay
Ave de la Resistance 6
B-4920 Embourg, Belgium
Bow to aclcl 5.25- oie 01' oe Track
Double Sided Drives to Jour OSI
This article will cover several sUbjects
dealing with the problem o{ 5.25"
drives for the OSI. Covered will be the
conversion of a new MPI drive to
replace your old drive, how to build a
data separator and a motor control
circuit to use with any industry
standard disk drive and last we will
cover how to use double sided 80
track drives. By implimenting the
suggestions here you can increase
your disk drive capacity to either
328K or 656K for about $300 or even
less if you only impliment part of this.
Copo,jric}ht 1986 PEEK[U) 4n ric}hts
Editor: Ricbwd l. Tr.thtw.."
DATA
PIG. 3
4ir S<rf_
us $22
$38
Ell'". $42 $48
Othtr For.ign $47 $48
4n ... for ont IJ'" a ... ..
.. us cIofl.-s. For Nc:lc issutS,
or othtr information, ....,.1\. to:
PEIC(U}
P.O. Box:586
C4 94844 . 415-359-5788
Htntion of products bIJ tnd. _ ..
mattrul or contilntcl htr...... no
constitutK Mdorstmtnt of tht product or
products lMj this magiZ.... or tht pcm1tslltr.
i
u.
1''1< _Juat (or 6 ,.a
po_ltl_
pul_ at U. pin.
u. p---<
-- ---<"1-10
u 7"38
U 7".21
I" I - C(JJoMaCTOll TO C'QIIfT'aOLL.. BOAltDl
,)2 - TO'LOI"'PY CA.....
page 2 PEB(65) september, 1966
one or two of the first drive and
selecting drive B or D will select side
one or two of the second drive. The
only problem now is that the drive
select signal for drive tWo must be the
inverse of the signal for drive select
one. We have two choices. The first is
to add an inverter on the paddle
board between pin 3 of the controller
connector and pin 12 of the connector
going to the drive. You can use a 7438
nand gate for this. Pin 18 of the OSI
controller which was conected to pin
12 of the disk drive needs to be
connected to pin 32 of the disk drive.
The se<:ond choice is to use the fault
reset driver in the OSI controller
circuit which is not used. This driver
is shown in fig. 2. The input should be
connected to pin 13 of the nand gate
(U5A) which driVes the driver for
select drive I line. The line coming
from pin 14 of the PIA will also need
to be cut Now pin 4 of the OSI
controller connector will need to be
connected to pin 12 of the disk drive
cable connector and the connection
between pin 12 of the disk drive
connector and pin 18 of the controller
connector removed. Pin 18 of the
controller connector now needs to be
connected to pin 32 of the drive
connector. Table 2 shows the final
connections. If you build the motor
control circuit described later you will
only need to make the changes for
conversion to double sided drives
without making the changes needed to
add the inverter for drive select 2.
USING INDUSTRY STANDARD 5.25"
INTERFACE DRIVES
Now what options do we have? The
first thing is that we will use an
indUStry standard drive. Almost all of
the 5.25" drives on the market today
use the same interface. The only
differences you will find are that
some drives have more user installed
options available than others. Table 3
shows the pin asignments for the
5.25" interface. The OSI MPI drive had
the industry standard interface with
two changes. Instead of using pin 30
as the read data line it became the
separate clock line and pin 34 became
the separate data line. Some history is
perhaps in order. The first disk drive
that OSI offered in 1976 was the GSI
model 105. The 470 board was
designed to interface to this drive.
This. is the reason that some of the
lines of the drive controller such as
fault reset are no longer used. The fact
.that this drive and the latter Siemens
and Shugart 8" drives also had data
separators meant that OSI never did
develop an interface board that
included the data separator. As the 8-
drives all used AC motors they ran
continuously and when OSI came out
with the 5.25" drive systems they
never bothered to provide any control
for the motor and had to use a drive
with a built in data separator. It may
also be that they decided to let the
motor turn constantly to increase the
access speed. So much for history but
thats how we became stuck with
today's problems with the disk drives.
DATA SEPARATOR
If we're going to use the industry
standard interface we will need to
build a data separator. There have
been several articles published in
PEEK(651 on building data separators
all of which should work. In fig. 3 is
another data separator circuit which is
the one used by Siemens on the 8"
drives. The timing values have been
adjusted to conform to the 5.25"
timing requirements. This separator
uses fewer components than most of
the others that I have seen and works
fine. You can adjust the timing by
connecting pin 9 of the OSI controller
to pin 30 of the data separator. Adjust
the potentiometer for a 6 microsecond
low pulse at pin 1of the 74121.
DRIVE MOTOR.CONTROL
I would suggest that you build a disk
motor on/off control circuit unless you
want your drives to turn continuously.
The motor control circuit is shown in
fig. 4. The motor control has been
set-up so that anytime a head load or
step pulse is detected the one-shot
will trigger for about 5 seconds.
Anytime a new step or head load
pulse is detected the one shot will
retrigger for the 5 second period. In
this way the motor will stay on if the
drive accesses severa1 tracks in
succession. The second one-shot is
used to inhibit the output of the index
pulse until the motor has had time to
come up to speed.
.JI-S iTiP
,oo.
.12_'6 IJTQIa QIIII
+5
<Ii) .. CUT Pc. 011 "lTqt
CUT .". IDal' Dvaa
_ _ _ ADO "* oouea..a alD80 DIllvas
U 14Lae6 u.. '6.
U 7.Lal U u '.311
y+5
4101\
I
'--------+--<.U, \\- -<
In general, almost all of the disk
drives available will start in -5
seconds or less. We therefore need to
inhibit the index pulses for about -5
seconds. If you wish, you can
. experiment with less delay to provide
. for quicker access. In some cases you
can decrease the delay to around .25
second. If you wish to have
your motor on continuously for faster
access then a switch can be added as
shown. This switch can be located
either in the computer or on the disk
drive case.
THE OTHER DRIVE SIGNALS
The connections between the OSI and
the disk drive are shown in table 2.
Note that if you have a drive with the
page 3 PEEJ:165) September, 1986
a
rea4y signal Ulen you can connect this
liDe to piDs 22 and 24 of the OSI
controller, otherwise th_ piDs sbould
be grounded.
BUIWING THE DATA SEPEIUITOR AND
MOTOR CONTROL
~ l
DIIUE SELECTID. L06IC FOR lSI DISt DIIUES
FOR SIHGLE SIDED DRIUES
:---------------------------------------------------:
:---------------------------------------------------:
:---------------------------------------------------:
:---------------------------------------------------:
DRIUE 8
DRIUE R lOU
lOU
HI6H HI6H
HI6H
lOU
lOU
HIGH
HI6H
FOR DOUBlE SIDED ORIUES
II
HIGH
lOU
II DOH'T CARE
:---------------------------------------------------:
HIGH HIGH lOU LOU ORIUE R
lOU HIGH HI6H lOU ORIUE 8
HIGH lOU lOU HI6H DRIUE C
lOU lOU HIGH HIGH DRIUE 0
PIR PIH : COHTRDllER PIH .:
:----------------------------------: DRIUE SELECTED:
: PIH 8 : PIH 15: J2-l : J2-18:
PIR PIH : CDHTRDllER PIH .:
:----------------------------------: DRIUE SELECTED:
: PIH 8 : PIH 15: J2-l : J2-18:
HEAD LOAD CONTROL
I 'WOuld recommend that you epoJ:y
the connectors to the proto board. I
used a 3'i pin right angle ribbon cable
header f ~ the connector to <IisIr. drive
This alows you to eesily replace the
cable. The 'i78 pf capacitor In the data
separator cir<:uit shoud be a stable
type such as a silver mica unit
II you WisIl to build your own data
seperator and motor cootrol you can
bui1d ODe using a smaI1 prototype
board about 'i. I 3". The biggest
problem is that the Molez COIlIleds
for the connection to the OSI use a
.156 spacing between pins. Tou can
drill new boles in your prototype
bovd to match. Tou will find that you
can WIe some of the ezisting holes if
you eD1arge them. II you use the
standard conneetors as used on the
computer boards you will need to
straighten the leads so that the
connector Is at right angles to the
board. Moles also builds a version 01
the QOlIIlector with straight leads.
-HOTE- fOR DOUBlE SIDED DRIUES
DRIUE R DRIUE 1 SIDE 1
DRIUE 8 DRIUE 2 SIDE 1
DRIUE C DRIUE I SIDE 2
DRlUE 0 DRIUE 2 SIDE 2
In gelMfai there are two types of head
load cootrol f ~ 5.25 drives. Some
drives such as the hlPl use a head
load solenoid and have optiolls f ~
head load with motor on ~ head load
with drift select. Others such as
Taudon and Panasonic load the head
Wben the drift d ~ is c1ose<I and
dont have a head load solenoid. Some
of the newer drives have other
options such as using pin 2 wIIich Is a
spare ~ pin 'i the In Use !iDe to load
the hea4. All of the newer drives (if
they haft head load 9OIenoI<Is) also
have the load head CODSlant, with
motor on and with drive select options
f ~ loading the head. ~ those wbo
don't WisIl to build thelr own
separator and motor control I will
have OIM available assembled and
tested without <IisIr. drive cable but
with a headet" for the drive cable. This
wI1l sell f ~ 11Ddef $'i8 piUS about $5
f ~ airmail shipping.
DRIVE SELECTION
Now that _ have the problem of the .
data seperator taken care of what do
_ do about the drive. For someone
looting for a bargin in <IisIr. drives you
should be able to find some single
sided Tandon 188 drives as used in
the early IBM Pes. Most of these _e
removed and replaced with double
sided driV" a few years ago. It you
look In the ads in Byta magazine you
will find many double sided half
height 5.25 drives advertised t ~
under $98. Suitable drives are
idenWied as 'i8 track double sided.
Some known drives wIlich CODform to
this are Teac FD-55B, Shugart SM55,
Mitsubishi 'i351 and Qume 1'i2.
Panisonic and others also build drives
Whi<:h can be used. It you wish to use
two of these double sided drives you
will need to modify the circuit of your
<IisIr. controller board as described
earlier. It you built the motor control
circuit then it must be CODfigured as
shown in fig. 'i t ~ double sided
operation. The first drive must be
set-up as drive one and the second
drive as drive two. The manual that
you should have obtained When you
got the drive will explain how to do
this.
,
pege'i PEU(651 september, 1961>
USING .,. TRACIt DOUBLE SIDED
DRIVJ;S
ToULf:2
-HOTE- (THROUGH COHTROlLER) lHOICRTES THAT THE SIGHAL IS
nODIFIED 8Y THE DRTR SEPRARTORIftOTOR CDHTROLLER.
051 ClIITIlOlLER - 0151: DllIUE COIlItECTllIlS RHO FlIiCTllIlS
(CllltFlGURED FOR IIWllE SIDED ORIUES)
(TO ctlHTRllLLER) lHOICRTt:S THRT THE SIGHfl. IS USED
8Y THE DRTR SEPRARTORtnOTOR COHTftOl OR GEHERRTED
8Y THE COHTROLLER .
FUHCTlOIt
HERD LORO
LOU CURREHT
ORIUE SELECT 1 t 2
FRILT RESET
STEP
DIRECTlOIt
ERASE EHR8I.E
illITE GRTE
URITE ORTR
SEPRRRTE CLOCI:
SEPRRRTE DRTR
GHD
+SU
-9U (HOT USED)
H.C.
IHDEX
SIDE SELECT
illITE PROTECT
RERDY DAIUE 2
SECTOR (HOT USED)
FRUlT (HOT USED)
TRRCI:
RERDY DRIUE 1
SPRRE
IH USE
DAIUE SEL 4
DAIUE SEL 3
noTDROH
RERO DRTR
SPRRE DR READY
At tbIs point, If you'Ve decided to
convert to two .,. track driftS, you
sboUId use the combination of one -4.
track drive witb one .,. track drive to
copy au of your programs to dIsts In
the ae track drive. You can tbeD make
the permenant Cbange to two 68 track
drives. Before you can do tlIls you wI11
Deed to Cbange the CREATE utility. So
tbat more tban -4. tracks can be used
pege 5 PEE(165) september, 1966
DRIUE
PIH 1
1 H.C.
2 H.C.
3 (THROUGH CtltlROl.ER) II t 12
1 H.C.
5 28
6 18
7 H.C.
8
9 22
II (TO COHTROLLER) H.C.
11 (TO COHTROlLER) H.C.
12 t 13 TO ALL 000 PIHS
14 H.C.
15 H.C.
16 H.C.
17 (THROUGH COHTROLLER) 8
18 (THROUGH COHTROLLER) 32
19 28
21 GROUND THIS PIH H.C.
21 H.C.
22 H.C.
23 26
GROUHO THIS PIH H.C.'
H.C. 2
H.C. 4
H.C. 6
H.C. 14
H.C. (TO COHTROlLER) 16
H.C. (TO COHTROLLER) 31
H.C. 34
OSI COHTROLLER
PIH"
SOI1E OF THE HEUER DRIUES HRUE RERDY LlltES (PIH 34)
UHICH nRY BE COKHECTED TO 051 COHTROLLER PINS 28
RHO 24,
proceed to mate a copy of your
operating system disk witb your
utilities on il Now remove the -48
track drive and coanect the first .,.
track drive In Its place. You sbould
DOW find tbat the disk that you just
made will boot
How <10 we set au or tbIs up? First of
au you must bave ODe -48 tract drive
available. ThIs mould be set up as
drive ODe. It you have an OS! MPI
drive you wI11 Deed to modify it to
provide tbe raw data to pin 38 of !be
drive. It you look at the drive
controUer board you wI11 find tbat pin
38 goes to a 70436 nand gate. In the
OS! versloll tbe traoe from pin I or tbe
7-436 WIlid1 goes to pin 5 and 9 of a
7-4LS123 bas been cul We Deed to
remove !be small data separator from
tbe disk drive and reconnect the cut
trace.
It you __able to Inltiallze a disk In
121_ 68. track drive you can now"
\
Anotber easier way is to remove tbe
data separator and jumper pin 3 of
!be data separat.oc c:oonedorto pin 5.
Wltb tbIs ebange made !be drive wI11
DOW output tbe rawdata at pin 38. At
tbis point you sboUId connect the
drive to the new data separator and
computer and attempt to bool It
nerytblng was dooe cocrectly it
sbouJd bOOt. It au goes weU you can
connect !be .,. track disk drive. set It
up as drive 2 as Instrucled In the
manual. R.ooot and try to InitillliZ'e
tbe .,. tRek drive. n. first side of
the 68 track drift wI11 be devloe 8.
Enter D1srrSE 8" .RETURlI> tbeD POrE
9931,126,P01E 1"69,121 and POlE
1t15,121 . lien enter D1S1nJnr. It
au goes -'1 121_ computer WIll
InlUlIIiZ'e 68 tracts.
Now we e:em. to !be r.al heart of !be
article. We bave anotber cboice foc tbe
type of drive to use. It you would Iilte
to increase your drive capecity at
very IiWe cost coosider using 68 track
drives instead of tbe -48 track units.
You can use driftS built by tbe above
mentioDed manufacturers wIliCb are
usuauy identified as .,. track oc 96 tpi
(tracts per iJlcb) drives. These usually
cost about $18 more t2Ian tbe -48 track
drives. n. OII1y tbat we Deed
to make Is to modify 65J) and some of
tbe utility programs 80 tbat tbey
know we bave .,. tracks available.
The 65J) memory locations to be
Cbanged are shown In table -4. We wI11
get to tbe utility programs later.
..
change the following lines to read as
follows:
T..ulLE3
IHDUSTAY STAHDARD 5.25" IHTERFACE PIH DESIGHATIDH
198 DIn ALI(79)
28898 If T8<13 OA T8>19 THEH
288B8
28118 If HT<I OA HT+T8>B8 THEH
28188
PIH" SIGHRL TYPE FUHCTlOH
-HOTE- ALL ODD PIHS RRE GROUHD
T..ulLE4-
THE FOLLOUIHG nEnORY LOCATIOHS nUST BE CHAHGED IH DOS TO USE THE
EIGHTY TRAC( DRIUES. THE HUnBERS IH ( ) ARE THE DEClnAl UALUES FOR
PD(lHG.
WHAT WILL THIS COST?
Two 40 track double sided half height
drives will cost a maximum of $160. If
you use your existing case for a single
floppy systemyou can install two half
height drives in it You mayor may
SB8 (12B)
S19 (121)
S19 (121)
CHAHGE TO
SPARE
IH USE
DR IUE SELECT 1
IHDEX
DR IUE SELECT I
DR IUE SELECT 2
DR IUE SELECT 3
nOTOR OH
DlRECTIOH SELECT
STEP
URITE DATA
URITE GRTE
TRRC( 88
URITE PROTECT
RERD DRTA
SlOE SELECT
SPARE DR READY OH HEUER DRIUES
If you wish to purchase a new case it
will cost about S50 with power
supply. If you build the data
separator yourself it will cost you a
maXimum of S20 plus another S15 for
the cable to the disk drives. If you
purchase the data separator and
motor control it will be about S40 piUS
the cable. So the price range for this
modiliction will be between $2 15 and
S290. If you use the 60 track drives
then you will spend another S20 for
two drives. This is not too bad an
not be able to get away with using
your existing power supply. Since
both dri ve motors can be on at the
same time the power supply must be
able to furnish the power for both
drives at the same time.You can also
replace the power supply with a small
. SWItching supply.
$18 (61)
$39 (51)
S39 (51)
EXISTIHG DATA
lHPUT
lHPUT
lHPUT
OUTPUT
lHPUT
lHPUT
lHPUT
lHPUT
IHPUT
IHPUT
IHPUT
IHPUT
OUTPUT
OUTPUT
OUTPUT
lHPUT
2
1
6
B
18
12
11
16
1B
28
22
21
26
2B
38
32
31
S26CA (9938)
S2169 (188B9)
S2119 (18118)
nEnORY LOCRTIOH
have a need for elOChanging programs
then you should keep one 40 track
disk that you can substitute for one of
the 60 track drives Wben you need to
send someone a 40 track disk. If you
only need to read 40 track drives then
you can write a program in BASIC or
machine language to read a 40 track
disk on a 60 track drive. Another
option would be to write a disk copy
program in BASIC or machine
language to read a 40 track disk on an
60 track drive. To do this the drive
must double step to move one track.
There are three memory locations in
650 which need to be changed. There
are two ways that we can do this. The
first one is to poke the correct values
into memory from BEXEC*. The second
way is to make the changes and save
them back to disk. To do this eXit
BASIC to 65D and load the track zero
read/write utility. Follow the
instructions to read track zero into
memory at $6200. Load the extended
monitor and change the three memory
locations lis: . in table 4. Remember
you will use ali offset of $4000 Wben
making the changes (Le. use S66CA
instead of $26CA). Reload the track
zero utility and follow the instructions
to write the data at $6200 back to
track zero. Remember that we will
read and write 6 sectors each time. At
this point you should have a disk that
will boot and be able to use all 60
tracks. It should be mentioned that
the 60 track drives will step at a rate
of 3 ms so you can modify the step
rate in 65D if you wish.
CHANGING 65D FOR 60 TRACK DRIVES
28898 If T8-1 OA T8-12 OA T8>19
THEH 288B8
NOTE If you wish to use tracks
lower than number 13 on a data only
disk you can change line 20090 to
read as follows:
At this point we should consider the
problems which could exist with this
-ystem. The first problem is that the
disks you create in 60 track format
WIll not be readable by 40 track
drives. If you never elOChange
programs with others then this should
not be a problem. If you sometimes
,
page 6 PEEK[651 september, 196t.
ARE THERE ANY DRAWBACKS TO
USING 60 TRACK DRIVES?
You should also make the three 65D
memory changes permenent.
investment to obtain 656K of disk
drive storage to replace tlle &2K tllat
you bave witll one single sided MPI
drive.
WHAT ELSE COULD YOU OO?
Wbat I baven"t mentioned is tllat you
could select a 3.5" drive. The 3.5"
drives use tlle same interface as tlle
5.25" drives and tlle controler cant
tell tlle difference. Anotller cboice for
tllose who bave botll 5.25" and &"
systems is to use tlle newer bigb
density 5.25" drives as used in tlle
IBM AT.
You must use one of tlle two speed
versions. In tlle lowspeed mode tllese
drives can be used to replace tlle
standard &9 track 5.25" drives. In tlle
higb speed mode tlley can replace 6"
drives. Using tllese drives to replace
6" drives will be tlle SUbject of
anotller article.
WRITE FOR PEEK!
Mailing Label Utility for
DMS-65D
by Ricbard L Tretllewey
As promised, this montll I am
presenting a follow-up to tlle random
file system for OS-65D V33 tllat I
wrote about in tlle Summer issue.
You11 recall tllat one Of tlle primary
uses for database managers is for
mailing lists. The program presented
bere incorporates most of tlle editing
functions of its predecessor, but goes
on to add a mailing label printer and a
simple report generator.
As witll any program using data files
under OS-65D, it is vital tllat you run
tlle program "CHANGE" before you
enter tlle program into tlle computer
so tllat BASIC will reserve tlle
appropriate amount of space in front
of tlle workspace for tlle disk
buffer(s). MAILER requires only one
disk buffer, even tllougb it does
include token support for a second
data file to be opened simultaneously.
The mailing label printer is written to
allow you to print any numt>ei- of
,
1e FI1- tta i Iing Li s t I1cnJger for CI'tS-lD
28 GOTO 1999
38 :
48 fEn- Construct DeYice 6 Orrent Track Str j ng
sa c6 - - AIONT.<gTR$(o6-I-kh). 10.2);
68
199 fEn- Get Record t&r6 for o.vi C8 lt6
118 i6 bodf .. .t ItlHi6/b)" sHk6)
129 GOSlIJ 58: IF c6 :3' .t TlN 168
139 d6 = PEE)(99QS); IF d6 = k8 TIH 159
148 DISK! -so ... t6$ .... 1=3a7er .. pg$: PCI<E 988:J.kB
'58 OlSl(!-co 3a7p-" t6$ .. -.1-; POCE 9894, FltI(e6)
169 i6 - .. bs(k6); ih - IHT(i/pg): it- - ih*pg
178 PCI<E ip<kO>. i 1: POCE ip<kC'+k 1. ih
175 p(J(E op(k[). il: POCE op(k6>+k.'. ih
lee RTl.ftl
190
289 fBI- Set Devica 6 I/O Poinl...-s to Indax(O)
218 i = 16+bs(kO) - (Ftta(PEEK<9884 - sHkO*ts
215 ih =IHT(i/pg): it =i - ih*PO
229 POKE ip<k6),il: POKE ip<k6>+k1,ih
m f'!I(E op<kO),II: Pac:E op<koml,ih: fE11..Rf
278
388 AEn- Fetch Record Device 86
31B GO:SlE 189:FOO k ::t kl TO nl: i6 = bodf + .i6Ck)
339 GO:Sl.S 299: U+UTak6,a$<k): tXT k: fTl.Ri
348
489 REn- Put Record ClJ t to DeYi ce *6
.,9 GOSI..m 198
.29 k = k1 TO nl: iO = bodl + rO-k1>*,..U + lOCk) :GOSle 28B
.39 PRIHTakO.a$<k): tXT k: PETI.R'I
4<8
700 PEn- Record Contents
119 PRIHTadv Ma- TABCk4) MFi.ld No.8-. TAB(32); -Contents-
728 PRINT: Foo k k 1 TO nf '
7.l8 TfflCk4l; n$Ckl; TfflC32l;o$Ckl: IXT k: PAltlT"""
149 FETlRl
ace
rowl