MAY-JUNE 92 VOL lO #3
SUPER SUMMER 1 S» 9 2 XSSUE
page 2 Club Stuff page 26
page 3,5 Bob's Notebook page 27,30
page 6,8 Questions & Answers (2068) page 31
page 9,14 Beginners Corner (QL) page 32,33
page 15,16 64K SRAM Memory (ZX81) page 34
page 17 Bill Harmer's News page 35,36
page 18,21 QL Success (QL) page 37
page 22,23 Britain's Spectrum Scene page 38
page 24 4x Times Screen$ (2068) page 39
page 25 AO REM Generator (ZX81) page 40
Locked Out? How to Recover (2068)
ZX91 Magazine (ZX81)
A Tape Index (2068)
Steve Gunhouse Writes (2068)
Tool Kit 2 Notes (QL)
A Challenge to Programmers
QLips (QL) & Printer Reset
Tight Security (ZX81)
Disk Drive Tips
TORONTO T I MEX- SINCLAIR USERS CLUB
MAY- JUNE '92 VOL lO #3
SINC-LINK IS A PUBLICATION OF
THE TORONTO TIMEX-SINCLAIR USERS
CLUB AND IS ISSUED 6 TIMES A
YEAR. COPIES OF THE NEWSLETTER
ARE SI. 50 EACH FOR NON-MEMBERS.
CLUB MEMBERS RECEIVE FREE COPIES
AS PART OF THE $20.00 ANNUAL
MEMBERSHIP FEE. A NEWSLETTER
SUBSCRIPTION ONLY IS AVAILABLE
NEWSLETTERS ARE EXCHANGED, FREE
OF CHARGE, WITH OTHER
TIMEX-SINCLAIR USERS GROUPS.
PLEASE CREDIT THIS PUBLICATION
AND THE AUTHOR IF YOU COPY
THE CLUB MEETS ON THE FIRST
WEDNESDAY OF EACH MONTH AT
FOREST HILLS COLLEGIATE
INSTITUTE, 7Z0 EGLINTON AVE. W. ,
SINC-LINK IS PRODUCED ENTIRELY
ON SINCLAIR AND TIMEX-SINCLAIR
SEND CORRESPONDANCE TO:
Attant i on: SINC-L INK
TORONTO TIMEX-SINCLA IR
CLUB, 14 RICHOME
CANADA M1K 2Y1
( Our-cf-Tiown members )
(Area Code 416)
RENE BRUNEAU ( 531-9749 )
BILL LAWSON ( 444-8772
GEORGE CHAMBERS ( 751-7559
LOUIS LAFERRIERE ( 820-3725
HUGH HOWIE ( 634-4929 )
JEFF TAYLOR C 244-8583 )
GEORGE CHAMBERS. 14 RICHOME COURT
SCARBOROUGH. ONTARIO . M1K 2Y1
( 416-751-7559 )
TORONTO TIMEX-SINCLAIR USERS CLUB
SINO,l INK CONTENTS
Each entry is prefixed with the year and first month of issue (eg, 8501 = Jan/Feb 1985. 9203 = Mar/Apr 1992);
and with the volume & number (eg. 3/1 = volume 3 number 1) These are usually followed by the ( first )
page number of the entry.
8501 3/1 p.4 COLOUR ADJUSTMENTS ON TS2068RGB Monitor details. Comments by George Chambers.
Pot adjustments are given in careful detail.
8501 3/1 p.8 EPROM Burner program by Virgin Roman (ZX81)
8503 3/2 p. 1 1 Use of IN function by George Chambers. Sample ETCH-A-SKETCH to demo the IN function.
Also erasing tapes by Fred Schakel London.p.12 Pin Connections for Spectrum, TS2068 and ZX81
8505 3/3 Sincbits by Ian Robertson. NOTE: This column in TTSUC newsletter contains too many items to
catalogue in this file. LOAD file <sincb> for separate listing
8505 3/3 p.7 Keyboard notes C. Hayne: IN: value table
8505 3/3 p.8 Keyboard notes J.Roach; port address table
8505 3/3 p.9 Monitors RGB F. Schakel
8505 3/3 p. 1 0 Cursor Joystick F. Schakel
8505 3/3 p. 10 Keyboard problems TS2068p.10 F. Schakel
8507 3/4 p.8 Printer interface 2040C. Hayne
8507 3/4 p.9 Bob's Notebook HEX to DEC conversion: COPY 24lines; increasing array size without losing its
contents; ON ERR how to use: screen save in machine code
8507 3/4 p i 0 J Bums Telecommunications see also Telecomputing TT 851 1 p.6 D.Ridge TT 8509 p.1 0
8507 3/4 p.12 Keyboard customization L. Crawford: printer codes ESC; circuit diagrams
8509 3/5 p.2 SCROLL outwards P.McMullin
8509 3/5 p.6 Bob's Notebook Interrupts IM2: sample autoline program
8509 3/5 p. 1 1 Larken Disk Drive review G. Lloyd
851 1 3/6 p.2 Text Manipulation enhance display of text S.Pocock
851 1 3/6 p.8 Tape signal booster L Crawford; circuit diagram
851 1 3/6 p.10 Bob's Notebook Quicksort «erratum: I. 9625 should read IF q0>p Title line in display;
machine code(with examples
851 1 3/6 p.1 1 String input and use of LINED. Mosher
8601 4/1 p.2 Larken Disk Drive boot tape construction G.Chambers
8601 4/1 p.6 Tape copying A.Frailich
8601 4/1 p.7 QL Comer E. Gardonio ICE; Disk Drives: Cartridge Doctor: QL Toolkit
8601 4/1 p.8 Bob's Notebook Binary Search subroutine
8601 4/1 p. 10 PLOT CLS SCROLL on TS2068C. Hayne
8601 4/1 p.1 1 Built-in Clock in TS 2068F. Schakel; also use of IN to sense multiple keys
8601 4/1 p.1 2 Disk Droppings G.Lloyd; Larken; power supply: controller
8603 4/2 p.6 Bob's Notebook Fontmaker
8603 4/2 p.10 Larken Disk Drives P.Hacksel; power supply
8603 4/2 p.1 1 QL tip All Caps
8603 4/2 p.1 2 Spectrum Emulator Zebra Systems Cartridge D. Lindhorst
8603 4/2 p.12 Spectrum emulator Omni-Emu review D. Lindhorst
8603 4/2 p.1 2 Customized ROMs 2068 &Spectrum LCrawford: EPROM burner; added routines: 2068 has
tape copy and Oliger NMI; Spectrum has renumber, header reader, tape copy; details on EPROM r rning
and mounting them
8605 4/3 p.2 Sin sts I.Robertson; repairs; Tasword; Timachine
8605 4/3 p.4 U an Disk System P.McMullin; also EPROM programmer (burner
8605 4/3 p.6 Qu.iling with QL L Sadler, tips
8605 4/3 p.7 Bob's Notebook compactor converts all numbers to VAL expressions; machine code; Lr *en tips
on REM DOS, disk menus; saving arrays
8605 4/3 p.9 Larken Notes; CRC errors; spectrum stack; CLEAR61 000; UDGs; LDOS1 6.C5: LPRINT USR to
print directory: machine code between 23552& VARS is saved with LDOS
8605 4/3 p. 10 Screen addressing TS2068. M Lemyre
8605 4/3 p.1 2 Disk Droppings G.Lloyd; Larken
8605 4/3 p.1 2 Keyboard codes 2068Diagram of top row F.Schakel
8607 4/4 p.2 Purge blank spaces in arrays; utility
8607 4/4 p.3 Sincbits I.Robertson; cassette booster, spectrum emulator
8607 4/4 p.4 Larken Disk Copier Utility G. Chambers
8607 4/4 p.6 TS2068 Reset & Initialization Problems C.Urban; circuit diagram for reset
8607 4/4 p.8 Bob's Notebook Spectrum; ON ERR and block delete machine code routines
8607 4/4 p.9 Bob's Notebook: Spectrum items Larken Rename utility program
8607 4/4 p.10 Disk Droppings Printer DMP 105; Tasman; Larken: modem; Tasword; cheap disks; fast
8607 4/4 p.1 1 Telecommunications hints and tips; BBS; Tinyboard; Mterm
8609 4/5 p.2 Hacker scare JT Nguyen
8609 4/5 p.3 Bob's Notebook Font Loader
8609 4/5 p.4 Mterm tips G Uoyd MTERM Ramtop; change Buftop; Auto run Ram ex MDOS: Read saved files
8609 4/5 p.5 TS2068 repairs G.Chambers
8609 4/5 p.7 Expert Systems; Artificial Intelligence
8609 4/5 p.8 Larken Disk Drives P.Hacksel
8609 4/5 p.9 ROM routines G. Uoyd
8609 4/5 p.10 Disk Droppings G.Uoyd; erratum
8609 4/5 p.10 Function Dispatcher M. Lemyre
8609 4/5 p.1 1 QL review of OS pell L Sadler not recommended
861 1 4/6 p.5 Hacker Scare JT Nguyen
861 1 4/6 p.7 Signal booster amplifier
8611 4/6 p.9 Larken utilities list Hacksel; Chambers; Michaud Lloyd; McMullin; Mitchell; tips by C. re RAMTOP
861 1 4/6 p.10 Mterm for transmitting D Gray
861 1 4/6 p.1 1 Bob's Notebook ONERRtips; passwords: id
861 1 4/6 p.1 2 QL Comer R Cottle Notes on support available
861 1 4/6 p.1 3 BBS item; communications Mterm specterm-64
861 1 4/6 p.1 3 Communications TS2050 Modem Mterm II Zterm 64 Specterm 64 Xmodem protocol R Mulder
8701 5/1 p.2 Hacker Scare JT Nguyen
8701 5/1 p.3 QL in Sincbits I. Robertson magazines: QUANTA; QUANTUM Levels; QL World
8701 5/1 p.6 QL Comer R Cottle Summary of QL events in 1 986
8701 5/1 p.7 QL notes QUANTA; Sharp's (QL World)
8701 5/1 p.10 Disk Droppings G Uoyd Tasword; Larken: USR calls: big printer control codes
8701 5/1 p.1 1 Bob's Notebook Timachine tips
8701 5/1 p.1 2 TS2068 colour adjustments F. Shakel: use of VCR
8701 5/1 p.14BBSforTS2068
8701 5/1 p.1 4 Printer SC Fastext 80 G. Chambers; graphics mode
Prepared by Bob Mitchell 920307
8701 5/1 p.14 ROMSWITCH Spectrum emulator R. Zannese
8701 5/1 p.14 Sound enhancement using Radio Shack amplifier; BEER SOUND
8703 5/2 p.4 TS2040 printer C. Urban; description
8703 5/2 p.5 Calling USR routines D. Mosher machine code
8703 5/2 p.6 Communications; RMulder; modems; casboard 2068 K. Casby; BBS
8703 5/2 p.7 Attributes; Change without affecting display TT
8703 5/2 p.7 BBS for TS Users; modems
8703 5/2 p.7 Headeiiess file saving G. Chambers
8703 5/2 p.8 Larken Power Supply G. Chambers
8703 5/2 p.8 Screen saving on Larken drive G. Chambers
8703 5/2 p.10 Printer Smith Corona Fastext 80 review R. Mulder
8703 5/2 p.1 1 QL block printing saving and loading with QUILL software <§> $15 CDN
8703 5/2 p.12 Bob's Notebook organizing program info
8703 5/2 p.13 Printer ribbons: re-inking
8705 5/3 p 3 QL in SincBits I.Robertson QLWP QUILL; Schonkeyboard; Disk Control lerWDI 770 should be
replaced byWD1 772-02
8705 5/3 p.1 3 QL Wayfarer ex QL Corner R. Cottle . QL Library kicks off
8707 5/4 p.2 QL in SincBits Ian Robertson software: Spellbound; Desktop Publisher Front Page Extra; CP/M
Emulator updates to Taskmaster The Editor; Turbo; Supercharge; QLiberator; Eye -Q; Super Media
Manager; QL TrumpCard 768K RAM; Thor cartridge 68020 CPU 16.7 Mhz. 3.5" drives; 20Mb hard drive
8707 5/4 p.5 QL in Disk Droppings Greg Lloyd QUILL=Word Processor: printer i/f needs CoCo II serialcord;
Superbasic; DD via Cumana with 3" Amdek disk drives
8707 5/4 p.1 1 Bob's Notebook Chart of Control Code used with Fastext 80.Dot Matrix Printer Copy of
SCREENS (22 lines)
8707 5/4 p.1 3 QL programs Sound experimenter; Easel print Epson printer only(?)
8709 5/5 p.3 QL in SincBits Ian Robertson TEXT 87 WP; modems; CP/M; RS232; QLTERM 2.0; QUILL
8709 5/5 p.5 Bob's Notebook Hacksel printer code modified for Spectrum. Timachine shortcuts
8709 5/5 p.8 QL Wayfarer R Cottle Sharp's; ROM fixes; toolkit Qflash; EPROMs; G_SAVE G_LOAD; Hex
Loader; Clone; QUILL mailmerge; Labeller; Merge File;3.5 inch disk; microdrive; Rod Gowan
871 1 5/6 p.2 Disk droppings by Greg Lloyd. QL info. Ramdisk notes
871 1 5/6 p.3 QL notes from Bill Lawson
871 1 5/6 p.4 Timex repairs by George Chambers Also: on small computers by Edward Abisdris. And: Help
wanted on Hacking Spectrum Games by Douglas Jeffery
871 1 5/6 p.5 Larken/TS2068 Autostart Menu. Disk Menu listing. By George Chambers
871 1 5/6 p.6 Bob's Notebook PEEKing and POKEing About Disk Indexer shows current status etc
871 1 5/6 p.7 Digital Imagizing Part II by Eric Michaud. Circuit diagram and details
871 1 5/6 p.9 TS2068 tutorial on Input Monitoring; tape header formats. Save, Verify, Load and Merge, from
Long Island group
871 1 5/6 p.1 1 Larken DSK400 Disk Operating System. Review by George Chambers
871 1 5/6 p.1 2 Larken and the Hunter by Mel Richardson: diagrams and details
871 1 5/6 p.1 3 Coloured SCREENS dumps for the TS2068 by Jeff Taylor. VIC-1 520 pnnter/plotter; J
871 1 5/6 p.1 4 A few words from the new president Eddie Maybe.
End of Part 1 of 3 parts.
This file, comprising 1 7 pages, can be provided on an IBM compatible disk in Word Perfect 5.1 format or
straight text format It could be downloaded to a TS 2068 on request
Bob Mitchell 920307.
Prepared by Bob Mitchell 920307
NOTES FROM MY CORRESPONDENCE
by George Chambers
It was suggested at one of our meetings that we should devote a part of
our newsletter to questions and answers from our members. A good idea
indeed. I thought maybe these excerpts take from a letter that I wrote to
one of our members might prove interesting. I hope you like it!
PEEKING THE LARKEN LKDOS
Now, to answer one of your questions; the one about being unable to POKE
values into the Larken LKDOS RAM. From looking at the values you give in
your letter, i.e. 16090,8 and 16094,14 I :an see that you are PEEKing the
2068 ROM, not the Larken RAM.
If you look at Larry Kenny's instructions it will become clear. I can
see that you know how to POKE a value into The LKDOS RAM, but you do not
know how to PEEK the LKDOS addresses. The values you are getting are from
the 2068 ROM, not the LKDOS RAM. What you have to do to PEEK the LKDOS is
first place a pointer into the LKDOS. Do this by the command PRINT USR 100:
POKE 8200,xxxxx, where xxxxx = the address you wish to PEEK, such as 16090.
Having done that, then enter the command PRINT USR 110. You will get the
value contained in the LKDOS RAM, not the 2068 ROM. In his manual (middle
of page 6, in my copy), Larry K. has a routine to print the first 10 bytes
of the LKDOS EPROM.
THE OMNIBUS PROGRAM
I rather think that the OMNIBUS did nor provide for changing the LF
on/off function. A bit of an oversight, I think. The LKDOS defaults to a LF
with CR, and probably our printers happen to need the LF. I could give you
a change for the OMNIBUS if you would like to be able to vary it from the
menu, or the program could be modified to automatically give you no LF. A
line in OMNIBUS in the vicinity of 1200-1230 which read "PRINT #4: POKE
16092,0" would give you a NO LF condition.
The TS2050 modem plugs directly into the rear of the 2068. Requires no
other interface circuits. It is powered by much the same power supply as
was used on the TS1000. If you were to use a regular modem, then you would
need a RS232-type serial interface. Such as the ZSI/0 board that was put
out by Ed Grey.
I have a retired Bell System modem and it required a serial i/f board. The
advantage of this modem over the 2050 is that it give me a choice of 300
baud or 1200 baud. Nowadays 300 is almost passe, even amongst bulletin
I'm interested in your reference to Bill Jones' SMART TEXT and Daisy 6.
Bill talks about how marvellous a program it is; how many copies have sold.
But Bob Mitchell and I are not that taken with it. Seems to be just too
convoluted, and difficult to get into. Our question is, well maybe that's
how many copies have sold, but how many are being actually used. A
different story, I rather suspect. Let me know if it becomes your standard
management system. Incidentally, I see an advert in the Indiana T/S user
newsletter by Bill Jones, selling off what appears to be his complete 2068
equipment, for $750. He seems to be getting out of the 2068 field. He was
into the QL, and I don't see any of that part for sale.
You ask about the RAMdisk. There is really no mystery about it. I'll try
to keep it simple. The easiest way to use it is to simply treat it as a
solid-state drive, having 48 tracks. Though you can format it without
having to load any formatting software; you simply "PRINT USR 100: FORMAT
"3", (for the number of chips you have on the board), and that's it. Then
you SAVE, LOAD, ERASE, etc., the same way as with a regular drive.
You ask about the merits of using the Larken disk Editor program to
format the RAMdisk. I suspect they are both the same, just that the Editor
may have some extra frills. I've never done it any other way.
However you can do bank-switching with it. That is what Larry Crawford
has done. He bank-switches one RAMdisk chip at a time (which amounts to 5
tracks, incidentally). What happens is that the upper part of the 2068
memory, from addresses 32768 to 65535 is swapped with any selected RAMdisk
Larry C.'s program is able to do this automatically as required, swapping
banks back and forth, as needed by it's SEARCH and SORT routines. The BASIC
part of his program must stay below the 32768 cut-off, or that part of
Basic above 32768 would be switched as well, with disaster ensuing. If you
look at his basic listing you might see some OUT 244,7' s and other
suchlike. Those are the bankswitching commands.
Larry C.'s program does a SAVE of the RAMdisk banks before making use
of them for the database. The program, as a first order of business, saves
the RAMdisk to a disk in your choice of drive. It then loads the database
data into the RAMdisk. Whether it formats it first, I'm not sure. I suspect
that it simply bankswitches a bank, then with this bank effectively in the
2068, it fills up the memory, swaps another RAMdisk bank, and so on until
all the data is loaded. In the case of L. C.'s "movie title" demo, I think
it is only one bank. But I think Bob Mitchell had a "colour slide" database
that used a second bank (chip) of the RAMdisk.
Now, when you are finsihed with the database you have to execute a
graceful exit, so that the program restores the RAMdisk with the programs
that were initially saved. It does work, I tried it, but I would caution
you to also have a spare RAMdisk copy, since I seemed to frequently exit
ungracefully; i.e. turn off the computer, and then be unable to restore the
RAMdisk contents I had saved on disk.
Larry Kenny's RAMdisk backup program operates in the same fashion. He
switches each of the RAMdisk chips in turn into the 2068 memory, and does
a 5-track SAVE. Richard HURD has another RAMdisk backup program which saves
the RAMdisk on an individual program basis. I tend to like this one better,
since it means that I could pick out a single program if I cared to load it
into the computer.
I find that the RAMdisk works perfectly OK when the Larken disk
interface is the first add-on to the computer. I think this is the most
useful position. I never considered any other position for it, actually. My
RGB monitor plug is situated at the back and it crowds the Larken boards
quite severely. In fact I had to remove the joystick jack and bring out an
extension cable for it, in order to give the RGB cable room. Incidentally
I use a VCR cassette case, suitably trimmed, to cover the RAMdisk. I opened
the case on one side, and it simply drops over the board. Very neat. I
enclosed my LKDOS board also, using a case from a Memotech 16K rampack for
the ZX81. But one could also use a VCR cassette case for the LKDOS i/f as
EXPANDING THE RAMDISK
You mentioned having a problem with the RAMdisk to backup. I think I may
have an idea. Were you using 4 chips on the RAMdisk initially, then
upgraded to 8 chips? I had an experience like that, where the RAMdisk said
it only had say, 24 tracks, when I knew there was a full complement of 48.
The problem is this. When you did a disk-save, i.e. RAMdisk Backup of a
4-chip RAMdisk; then added another 4 chips to the RAMdisk, then reloaded
the RAMdisk Backup, the directory track still says there is only 24 tracks.
Even though you may have formatted it to a full complement of 48 tracks,
when the RAMdisk Backup is re-installed it overwrites the Directory track,
to show 24 tracks, or whatever.lt doesn't know there are now 48 tracks, the
LKDOS looks at the Directory track, and it says there's 24.
What you have to do is save the programs individually to disk, reformat the
Ramdisk to 48 tracks, then reload the programs individually. Then make a
new RAMdisk backup.
This will only happen when you add chips to a partly-populated RAMdisk.
Once it is full with 8 chips the problem will not recur.
If one knew the command to bankswitch a RAMdisk bank, it would be a
simple matter to save a RAMdisk bank to disk. I have never gone into the
OUT commands for that purpose. Never had a reason to do so. If I did I
would probably study Larry Kenny's RAMdisk Backup program. Or the
definitive article on the subject, by Larry Craweford, in the Mar/Apr '90
issue of Sine-Link (Vol.8 No. 2). It contains the necessary OUT command
Oh, a couple of things. I removed the black line from the bottom of your
SCREEN? images. I did it with the doctor. Bl program. I determined which
tracks the offending black area was located, loaded these tracks
individually, and worked them over. I broke into the " doctor. Bl" program
and made a change to the "alter" option, so that it changed the code values
from 7 to 56. The tracks, when loaded into doctor reside at 50000 upwards.
I determined that the offending code was at addresses 51750 to 51845, so I
introduced a FOR/NEXT loop to POKE 56 into these addresses. I then re-SAVED
the track, and voila! the black bar was gone. Did this to all the SCREEN? •
Also, in the GYPlOX.Bx program, in line 510 (was it?) there is a
variable that needs to be changed from 1 to 2, to make the program work
properly with the Larken system. Jack Dohany has used a clever method of
making his programs universal to all disk systems.
I shall close off now, and get this into the mail.
Q L I P S
by Hugh H. Howie
Some, time, ago when I wo* ba*y on another, matter, QUANTA
anjiXvcd at my doon,, and I dtd not tahe, time, to loon at tt ion,
a month on, two, and whejn I dtd n,cad It, I i oand an e,x,cclle,nt
tatonXal on Be,gtnntng V »*.o gnammtng , by Alan Pywell, and I dtcldci
to LonUXe, asking him ion, penmt**ton to nan the, + zn^L<L* In S^nc-
Llnh. Tht-6 U> the, n,e^alt oi that n,ecia<u>t.
Alan had Intended the, <6esiteJ> to nan a btt longer than It dtd ,
bat ouolng to lach oi cncoanagemejvt he, dn,oppe,d the, ^abject and
de^tn,oye,d the, dl^h on uhlch had Aaved the, tatonJal, J>o I now
have, to n,e,-type, tt >»o that you, the, deadest, can have, the,
benefit oi hU wonX. At the, time, he, wn,ote, tht* he, wa*
Soitwaste, ConOtollen, ion, QUANTA, and ha* now be,ejn pn,omoteA to
Thejhe, l^ a thln,d chapter, panJJiy completed, and Alan J>ay* he,
wtll tn,y and get bach to It. So ti yoa want mon,e oi thU type,
oi thing, dn,op Alan a line, and let him hnow what yoa want.
Elementary Programming —
An occasional series for the occasional programmer.
Copyright Alan Pywell 1991.
Introducing buzz-word number one The word is 'parameters' - it's
a lovely one, provided that you know what it means!. It usually goes with
the word 'passing' and becomes a 'buzz-phrase* - 'passing parameters'.
I've passed cars, exams and even a pentop I accidentally swallowed once
but you don't wish to know about that.
Most programs ask the user for input of some kind, often to select from a
menu of options. Let's have four options. Also a rule:- the options will be
numbered so that the user will be asked to type a number instead of the
frequently used and untidy-looking 'type the initial letter'. We can then
painlessly produce a routine which can be incorporated easily into any
program we care to write. The menu will look something like this:-
100 print "Choose an option - press a key (1 to 4)"
110 print "1 Option 1"
120 print "2 Option 2"
130 print "3 Option 3"
140 print "4 Option 4"
The above is largely a matter of personal preference as regards wording
and screen layout. It looks better than, say:-
110 (p)rint a page
120 (s)ave game
130 (n)ot easy to read
Of course we can have as many options as we need - we have just four. So
far so good, now to get the users choice
"3eginners" Page 1 of 6
Remember (you have, haven't you?) that 1NKEY$ will not wait for a key-
press (you have to be already pressing a key when the program reaches
INKEY$. INKEY$(-1) will wait until you press a key. We also need to check
that the key pressed is valid and go back to wait for another key-press if
it isn't. Our first effort might look something like this:-
210 if v$OT AND v$<>'2' AND v$<>*3' AND v$<>'4' THEN GOTO 200
:REMark if user has pressed anything but keys 1,2,3,4 go back for
220 REMark we'll be here ± if a key 1,2,3 or 4 was pressed....
230 IF v$ = 'V THEN go to another part of program
240 IF v$ = '2' THEN etc. etc.
This would work but it does not take advantage of SuperBasic's power.
The first step is to get rid of that cumbersome line 210. We can do this
very easily by putting the allowable keypresses into a string and checking
if the number typed is in it. SuperBasic provides a powerful keyword for
this purpose - INSTR (pronounce it *in string' or better still 'is in string').
First put the permissible numbers into a string - remember our numbers
are 1,2,3,and 4:-
190 LET permitted! = "1234"
200 v$ = INKEY$(-1)
210 if NOT v$ INSTR (permitted!) THEN GOTO 200: REMark read it as if v$
is not in permitted string."
It's looking a mite less inelegant and will run a trifle faster. Now let's get
rid of the GOTO. For this we need three more keywords:-
REPEAT END REPEAT EXIT wow!
200 REPEAT keys 210 v$ = INKEY$(-1)
220 if v$ INSTR permitted! THEN EXIT keys: REMark (read as "if v$ is in
the permitted string then leave keys" i.e. goto the next line after END
REPEAT KEYS in this case line 240
230 END REPEAT KEYS : REMark come here when EXITing REPEAT
240 IF v$="1" etc. etc.
The END REPEAT is the magic bit. By the time the QL reaches it, it "knows"
whether the condition(s) we've programmed have been met. So END REPEAT
either causes a jump back to the line after REPEAT (210 in our case) or it
is skipped over, control going to the next line after the END REPEAT (240).
The bit between REPEAT and END REPEAT is a loop. To put it another way,
if the condition(s) are not met then go back to the line after REPEAT keys
(stay in the loop), but if they are met then don't loop but exit the loop
instead (skip over END REPEAT).
So what does all this have to do with passing parameters? I thought you'd
never ask. Just for the moment don't worry about what a parameter is -
like British Rail I'm getting there.
The routine for getting the users input isn't finished yet but I want to di-
gress for a moment.... There may be many places in your program where
you wish to get an input. Instead of writing the routine in every place its
needed we can write it just once and call it up from wherever we need it
in the program. The routine then becomes a subroutine. The word sub-
routine means that it's not part of the main flow of the program.
"Beginners" Page 2 of 6
We need another two words-
GOSUB means "go to (not GOTO!) the subroutine but expect to come back
eventually" i.e. GOSUB 10000 means go to the subroutine beginning at line
10000. The last word in the subroutine must be RETURN- guess what
RETURN means? It - means to the line immediately after the line that
contained the GOSUB. When our clever QL comes across GOSUB it
"remembers" to where it needs to return when it eventually finds RETURN.
100 GOSUB 10000
110 rem return to 110 from subroutine
120 main part of program
130 more of same 140 etc
9999 end of main part
10000 rem this is a subroutine
10010 PRINT "Press a key to select:-"
10020 Print "1 — option 1"
10100 RETURN: remark QL mutters "what's the line after the line that called
me? Ah, I remember, it was line 100, so I will return to line 110"
Using GOSUB is quite easy but I won't dwell on it because YOU SHOULD
NEVER USE GOSUB! "Why?" I hear you cry. "Because SUPERBASIC has some-
thing much better" comes the smug reply.
Instead we're going to give our little subroutine a name. This is another
powerful feature of Super Basic - the ability to give a subroutine a name
and to call it by name instead of by line number. Let's call it "CHOICE*. We
name a subroutine by use of another keyword. But first, let's call our
subroutine a "procedure" then we're really 'with if! "Procedure" is a
Buzzword meaning 'subroutine'.
The keyword:- DEFPROC (read it as "define procedure") Type in DEF PROC
and the QL knows you mean"DEFine PROCedure", clever chap.
200 DEFine PROCedure CHOICE (minimum, maximum) : REMark Hey! Two
parameters have crept in! Okay don't panic. At some earlier point in
the program, just after we'd printed the menu, we needed to ask the
user for his choice of options and we needed to ensure that our
program will respond only to keys 1,2,3 or 4. It may come as a
surprise to realise that 1 is the minimum and 4 is the maximum! So the
parameters turn out to be simply bits of information that we are
passing to our procedure,
90 LET permitted$=" 123456789" : REMark let's go mad - we might decide we
need ten options somewhere else in the program....
100 PRINT "SELECT AN OPTION"
110 PRINT "1 OPTION 1" etc.
Now for the juicy bit....
150 CHOICE 1,4
We're telling the QL to go to (not GOTO!) our procedure CHOICE and^ giving
it two numbers (parameters) to play with The QL is telling itself "I must
remember where I was when I jumped to CHOICE so that know where to
come back to when I've finished with CHOICE> 0 know I will have finished
with line 150 so I'll return to the next line - looks like line 160 to me... and
"Beginners" Page 3 of 6
I'll need the numbers 1 and 4 in CHOICE by the look of it.... Now what line
does CHOICE start on, I'll quickly skim through all the lines 'til I find it,
Ah well, here goes...."
160 some more program
200-DEFine PROCedure CHOICE (minimum, maximum) We've passed two
numbers (parameters) to the procedure and the procedure has two par-
meter name in brackets after its name. QL starts chuntering to himself
again. "CHOICE on line 150 has sent me two numbers and now I've
found two words. What to do, what to do? I'm going to call them
variables and give them the numbers, that will sort that out. The first
number is 1 and the first variable is minimum so I'll say minimum
represents the number 1. Now for the second - I'll let the next variable
represent the next number passed to me, so maximum represents the
number 4. And the third variable, Oh, there isn't^a third one, but if
there was. ...think I'll call the variables "parameters"
210 REPEAT keys
220 v$=INKEY(-1) seen that before somewhere.
230 if v$ INSTR (permitted$(minimum to maximum)) THEN EXIT keys: REMark
(read as "if v$ is in the part of the permitted string between the
mimimumth and maximumth character in that string i.e. between the
first and fourth (inclusive) then fine, leave the REPEAT loop, we've got
what we wanted" so QL chunters along, ignoring all lines that don't say
'END REPEAT'-when it finds it, it "exits" the loop ( by skipping to the
next line after END REPEAT) But if v$ isn't in permitted$ then loop (to
240 END REPEAT keys (EXIT finds this line then goes here )
250 END DEFINE (the END DEFINE ends the definition of our procedure
CHOICE. It acts in exactly the same way as RETURN i.e. the program
returns to the line after the line that invoked (called) the procedure.
The QL mutters to itself "Now where was I when CHOICE was called?
Ah, yes, I remember, line 150 so I must return to line 160...."
We called CHOICE simply by putting its name on line 150 i.e. 150
CHOICE replaces 500 GOSUB line-number-at-start-of-subroutine. The line
□ EFPROC CHOICE is the same as the above line-number-at-start-of-
subroutine. ENDDEF is analogous to RETURN(type ENDDEF and QL knows you
mean END DEFINE)
With named procedures the program is easier to read and understand,
GOSUB doesn't really tell you much. If you leave a program for a year and
then decide to work on it again you'll be glad you used named procedures
(if, that is, you used meaningful names. ..you will, won't you?)
I wrote a sophisticated adventure writing tool. Being accustomed to a
Spectrum at the time I used short variables and procedure names (to save
a few bytes of RAM!!!). I returned to it after about two years and could not
fathom it. I've started from scratch again. Eighteen months hard work
wasted. BE WARNED!. Another big advantage of breaking a program into
procedures is that you can write a procedure and test it before writing
any more- if there's a fault you have to check only a few lines instead of
possibly the whole program.
Let's recap and at the same time leave some lines for some more program
and just for a change we'll have 6 options
10 some program
20 some more
"Beginners" Page 4 of 6
25 LET v$ = "1234567890"
30 CHOICE 1,6: REMark 6 options remember
40 REMark when the procedure CHOICE which we've just called hits its
END DEFINE it will RETURN to here 4-
50 IF v$= "1" THEN (do option 1)
60 IF V$="2" ( and so on )
100 if v$="6" THEN (do option 6)
110 to 9999 some more program (some more program)
10000 DEFine PROCedure CHOICE (min,max): REM min,max are still
10100 REPEAT keys 10200 v$= INKEY$(-1)
10300 if v$ INSTR (permitted$(min to max)) THEN EXIT keys
10400 END REPEAT keys
10500 END DEFine
If you want 9 options then 30 CHOICE 1,9
If you want options 3 and 4 only then 30 CHOICE 3,4
Now let's get rid of all those IFs. To do this we need two more words:-
SELECT END SELECT
SELECT means "select one of the following options" while END SELECT
means "there are no more options". Imagine that you have written four
procedures already and you are satisfied that they all work. Of course
these procedures can have any name you care to choose. Let's suppose
they are called:- SAVE-GAME. HISCOREJPABLE, FINISH and
L0AD_£TATEJDF_PLAY Note that spaces are not allowed. Use underscore
instead. Underscore is the (shifted) key between 0 an =. Now instead of IF
v$="1" then SAVEjGAME IF v$="2M then H!_SCORE_TABLE IF etc.
LET V=v$: REM V takes the "value' of v$ i.e. if v$="7" then v=7 SELECT V
= 1:SAVEJ3AME replaces IF v#="1" THEN SAVE_GAME=2:HISCORE_TABLE
replaces IF v$="2" THEN HI SCORE_TABLE =3:FINISH replaces =4:
LOAD_STATE_OF_PLAY END SELECT no more options.
I have sneakily replaces THEN with a colon. You may do this anywhere in a
program to save typing. It is obligatory inside a SELECT-END SELECT bit.
The above is called the short form of SELECT. Each = and its associated
bits must be all on one line. If you wished each option to consist of many
instructions use the long form of SELECT, i.e.
SELECT ON V
ON V=1: PRINT "Make sure disk is in FLP1"
PRINT "PRESS SPACE to save game"
(space pressed and game saved....)
PRINT "Continue game?"
and so on all the above lines will be acted upon if v=1
ON V=2: etc.
As you've had enough ado for one day, here without more ado, is a com-
plete listing which, if I've done well, you will understand. NOTE how one
named procedure can call another. This procedure MENU_1 prints a menu
then calls GETjCHOICE to get a keypress.
"3eginners" Page 5 of 6
100 permitted$ = "123456789"
110 REMark MENU-1 asks if you want instructions, 1=yes,2=no
120 MENU-1:REM return here from MENU-1
130 SELECT V
160 END SELECT
170 REM end of game returns here- then, ANOTHER -GAME?, STOP etc-up to
200 DEFine PROCedure GAME
210 REM start of game
1990 REM end of game
2000 END DEFine GAME
2010 DEFine PROCedure GET-CHOICE (min,max)
2020 REPEAT KEYPRESS
2040 IF V$ INSTR (permitted$(min,max)) THEN EXIT KEYPRESS: ELSE PRINT
"NUMBER MUST BE BETWEEN ";min;" AND ";max
2050 END REPEAT KEYPRESS
2060 V=V$:REM convert V$ now instead of many times in main program
2070 END DEFine GET-CHOICE
2071 REM divider for clarity
2080 DEF PROCedure MENU-1
2090 CLS:PRINT "Do you want instructions?"
2100 PRINT "1 YES"
2110 PRINT "2 NO"
2120 GET-CHOICE 1,2:REM this procedure calls another
2130 END DEFine MENU-!
2131 REM divider for clarity
2200 DEF PROCedure INSTRUCTIONS
2210 CLS .
2220 PRINT "The object of the game is to enable unsuccessful and impover-
ished would-be authors to get their names in print by writing a piece on a
specialised subject, safe in the knowledge that only a few readers will
realise that it's a load of old cobblers,"
2230 PRINT "Don't call us, we'll call you"
2400 END DEFINE INSTRUCTIONS
! hope the above will be of some use to those who program only occasion-
ally and therefore have not become very familiar with SUPERBASIC. I would
appreciate some reaction to the content and/or style as well as suggestions
and queries for possible future articles. Drop me a line please. All letters
will be examined by the bomb squad. In the unlikely event that I get a lot
of feedback I will not answer individual letters but will acknowledge them
in these pages. Thankyou 30/5/1991
Alan Pywell, 13 Sandyfields Close, Sea Lane, Saltfleet, Lines, LN11 7RP.
ThQLSLQL ujUJI boL cunothosL Ln^taJLxneJit tn the. ylq^xJl I^allsl, bmt do not
loJt tkat Atop you, 4iom d^opptng Alan a, no to. cU>hXng h^im to
aJJcojui. to yousL own pclaJ^LcuMlsl tntosue^t on, n^d.
Hugh H. Howie.
Beginners" Page 6 of 6
ZX8 1 RESOURCES - 6 4k SRAM MEMORY
Rene Bruneau April 1992
' Sladestone 64k leiory finally bit the dust. I didn't
.-ally want to go out and find another one, so I considered
building one with static rai. Toi Stoddard wrote an
excellent article in Tiie Designs for lodifying a ZX81 for
64k internal rai. I did not want to do anything with the CPU
board, so I developed a printed circuit board usina Mr.
Stoddard's design. As with lost devices for the ZX81 . the
SRAH board plugs into the back of the coiputer with a feed-
through for other units. In its basic configuration, the
SRAH board will replace a 16k raipack with rai in the 8-l6k
block for utilities or SHREB Hirez graphics.
The pcb task, board layout, and parts list are shown below.
As with past pcb projects that I have done, the pcb task is
a 2X iirrored iiage that can be xeroxed onto TEC-200 iylar
fill at SOX reduction. TEC-200 is a clear iylar that doesn't
allow the xerox lediui to bond to it. A regular iron with
heat setting at cotton (hot!) will transfer the design onto
a clean copper blank which can then be etched.
Stuffing the board is straightforward. Start by inserting
the juipers (13), note that 3 juipers are under the IC
sockets. Install the sockets, resistors, diodes, and
switches. Install the capacitor, being careful of its
orientation and the transistor with the flat side facing the
top of the board. Install the edge connector allowing at
least 3/8' between the connector and the board for
clearance. Check the board for cold solder joints and solder
Install Ul and U2 (pin 1 to the top right for both) and plug
he unit into the coiputer. Power up and confiri that the
ieiory board is working. If the screen retains blank, power
down and check your work.
At this point you should have a working 32k coiputer. To get
64k you will have to lount U3 on top of U2. Unless you are
very good with a soldering iron, I would reconend that U3
be lounted in a socket soldered onto U2 with pin 20 bent out
at a right angle. This pin is connected to the pad provided
on the pcb adjacent to the socket.
Switch 1 is used to enable the 8-16k block for use with
other peripherals lapped to this area such as the Larken
disk interface or an eproi board.
Note that the traces connecting the data and address lines
of the srai to the cpu are not in order, therefore it is not
possible to lount a eproi in place of the second srai.
Though it hasn't been tested, an eeproi should work because
you can prograi it in situ.
An optional feature is a reset switch consisting of R6 and
SW3 located od the right side of the board.
U2,U3 43256-15L, 256k x 8 SRAH
D1-D3 1N4148, signal diode
Ql 2N3904, NPN transistor
R1-R5 2.2k 1/4 watt resistor
Ct 2.2uf 16v Tantalui cap
1 Z81 edge connector
2 28-pin dip socket,
1 16-pin dip socket
2 SPST switches (Sill, SU2)
RESET SWITCH (Optional)
R6 lk 1/4 watt resistor
SW3 SPST Hoientary on
Printed circuit boards, kits, and assembled boards can be
■ade available if there is enough interest.
If you are interested in working with TEC-200, it is
The HEADOWLAKE Corp.
Dept. G, P.O. Box 497, Northport NY 11768
5 sheets for $3.95, 10 sheets for $5.95
add $1.50 for postage
64K SRAM r^-mooAKD
What do you do when you want to upgrade the video display
for your TS1000 or 2068? Hhen you lo in the trade papers
and advertisients you'll see things e CGA, RGB, EGA, V6A,
Composite Honochroie or TTL. The ;echnical jaroon can
confuse even the experts. What follows is a short thuab nail
dictionary to add to your list of coiputereze:
C6A: Colour Graphics Adapter.... this refers to the video
driver card installed in MS-DCS (ne IBM and
clones). It is capable of displaying four colours
in standard resolution iode and only two colours in
high resolution. Soietiies video lonitors will be
advertised as such, though technically they should
be listed as RGB (see below).
RGB: Red/Green/Blue. ...specifically a video lonitor
capable of displaying up to 16 colours (This is
what you want to get for your 206B).
EGA, VGA: Extended Graphics, Video Graphics Array. ..video
drivers or lonitors for MS-DOS lachines. The Titex
Sinclair computers are not capable of working with
I e o
TTL: A lonochroie monitor that has a siiilar pinout to
the RGB •onitor (except for the colour, of course).
To date, we are not aware of anyone who has
connected one to a 2068. With surplus prices
starting at $10.00, this lay provide a very clear
display. It bears investigating.
Composite; Either •onochroie or colour, both the TS1000 or
2068 provide a signal that will drive these
■onitors directly or with suitable circuitry. Note
that the Colour lonitor per forts poorly; an RGB
lonitor is far better.
If anyone is interested in tore information, contact George
Chaibers or lyself
64K SRAM Component
97 Ruskin St.
Ottawa, Ont .
April 6, 1992
Mr. George Chambers
Toronto TS Users Club
Just thought that I would drop a little note to you on some
amazing things that are resulting from something that your people
The chain of events began when a note from the German QL User
Club (about 1000 to 2000 members strong) inviting foreign
contacts, was passed on to be published in the Toronto club
news letter .
I began exchanging newsletters and letters with them just for
fun and mentioned the contact information to others, including
SLIX, run by Bill Miller in Cupertino, California. Well, he was
able, using some electronic address numbers passed on this way, to
contact them by electronic mail, taking (he thinks) 5 days. Mr.
Franz Herrman, a 21 year old German student and executive of the
club replied and the news is quite exciting.
In Germany they have been porting a lot of interesting stuff to
the QL including the ZOO and LHx data compression utilities
(formerly available mainly for IBM PC's), and a new experimental
one, HAR, from Japan, which, to quote Mr. Hermann, "has been much
more adapted to QDOS" and "it is the best archiver for the QL" .
There are enough QL users in Germany that work for this sort of
software has been easy enough to get, so some rather fancy
software is floating around there, a lot of it in the public
domain and obtainable from that club by mail.
German commercial products include a hardware attachment for the
Atari ST to let it run Sinclair QL software.
The long chain of events that got this interesting information
flowing to this this side of the Atlantic is typical of the reason
why we need user groups! One person just can't have the time or
energy to find out all these little niches in which support of
hobby computers is to be found.
SLIX in California also has some interesting news of their own.
Their attempts to get UNIX on to the disk interface-equipped QL in
cheap or public domain versions has been given a recent boost by
the emergence of a sort of UNIX and AT&T clone, LINUX. Previously
they experimented with MINIX and the less elaborate XINU, but both
were copyrighted although source code in C language is cheaply
available for viewing and analysis (via Austin Code Works, Austin,
Texas) in Turbo C of Microsoft C for the IBM PC.
Slix also mentions QL microdrive innards at about ^20 and QL
keyboard membranes still available from the UK, from Tony
Firschman, TF Services, 12 Bouverie Place, London W2 1RB,
Seeking out sources of support overseas seems the way to keep
hobby computers going today. The world really is shrinking, and to
the benefit of our hobby.
Some time ago Real Gagnon then the EDITOR and PUBLISHER of ql DOC
THE SINCLAIR NEWSLETTER FROM MONTREAL C IN FRENCH } HAD WRITTEN AN
ESSAY ON THE BENEFITS OF USING SUCCESS , THE CP/M EMULATOR FROM DIGITAL
PRECISION . I WAS NEVER SUCCESSFUL IN USING THIS EMULATOR , BUT THE
OBVIOUS BENEFITS OF BEING ABLE TO USE THE MULTITUDE OF PROGRAMS WWITTEN
FOR CP/M. ALWAYS TEMPTED ME. I HAVE TRANSLATED THE ESSAY AND IT IS
AVAILABLE EITHER FROM THIS NEWSLETTER OR FROM THE EDITOR OF SINC-LINK.
IF YOU ARE SUCCESSFUL IN USING SUCCESS PLEASE LET US KNOW.
QL + CP/M = SUCCESS
DIGITAL PRECISION , IS RECOGNIZED FOR THE QUALITY OF THEIR
SOFTWARE . SOME of them have been landmarks to identify the various
STEPS IN THE HISTORY OF THE QL . WE SHOULD MENTION SUPERCHARGE , THE
EDITOR , DESKTOP PUBLISHER AND NOW THE CP/M EMULATOR SUCCESS. THIS
EMULATOR WILL OPEN THE DOOR TO THOUSANDS OF PROGRAMS WRITTEN FOR THIS
SYSTEM. DON'T get CARRIED AWAY , BECAUSE the road to SUCCESS IS PAVED
WITH ROADBLOCKS, NOT NECESSARILY INSURMOUNTABLE BUT THEY ARE THERE
1 = SUCCESS , The system
IN FACT, THE HEART OF SUCCESS CONSISTS OF A SOFTWARE TO TRANSLATE
COMMANDS PRIMARILY DIRECTED AT THE Z80, SO THAT THE 68008 CAN
UNDERSTAND THEM. THE CP/M WAS DESIGNED FOR THE Z80 OR 8080 CPU. IN
ADDITION SUCCESS COMPRISES THE TOOLS TO CHANGE THE QL SO THAT IT CAN
use CP/M. Then we have CP/M itself. Each command of the CP/M , or any
PROGRAM RUNNING WITH CP/M IS TRANSLATED INTO A COMMAND FOR THE THE
68008. NATURALLY THIS TRANSLATION AFFECTS THE SPEED OF OPERATIONOF THE
VARIOUS PROGRAMS. THE QL WITH SUCCESS IS EQUAL TO A Z88 OPERATING AT 1
MHZ ON A MACHINE WITH 128 K OR ABOUT 1 .8 MHZ WITH A MEMORY EXPANSION.
YOU MUST HAVE AT LEAST ONE DISK DRIVE, OF 728 K C 1440 SECTORS ]
BECAUSE THE PROGRAMS FOR SUCCESS CP/M ARE ENCLOSED WITHIN A LARGE FILE
OF MORE THAN 500 K CALLED CPMFILES. SUCCESS CAN SUPPORT 6 MEDIA TO SAVE
THE DATA. FLP1 AND FLP2 ARE CALLED DRIVE A; AND B; OF 512 K EACH, MDV1
AND MDV2 ARE DRIVE C AND D OF 1 80 K EACH, RAMI AND RAM2 ARE DRIVE E;
AND F; OF 200 K EACH AND DRIVE G CAN BE DESIGNATED BY THE USER. IT
ALLOWS THE READING OF DRIVES FROM THE CP/M COMPUTER. PLEASE NOTE THAT
THE DRIVES A: TO F : WHEN YOU ARE USING QDOS , FOR EXAMPLE IF YOU CALL
DIR MDV1 , YOU WILL NOT GET THE FILES CP/M THAT YOU SAVED THERE BUT ,
you will"only see the file CPMFILES. The CP/M files are only available
WHEN YOU ARE IN CP/M MODE. _ n.MnTCI/ TV/of_
AS FAR AS RAMI AND RAM2 YOU WILL NEED A PROGRAM OF RAMDISK TYPE
QFLASH, BECAUSE THE RAMDISK MUST BE FORMAT "ED FIRST UNDER QDOS BEFORE
IT IS FORMATTED UNDER CP/M.
9- SUCCESS- CP/M
Version 2.2 of CP/M is offered with SUCCESS , it is the most wid
DH! AVAILABLE VERSION. CP/M IS AI DED OPERATING SYSTEM j THEREFORA" T IS
NOT THE EASIEST TO OPERAS&
CP/M FILES ARE IDENTIFIED BY A MAXIMUM OF 8 CHARACTERS AND AN
EXTENSION OF 3 CHRS TO MARK THE TYPE OF FILE. E.G. IF WE HAVE A FILE
CALLED TOTO.COM, IT MUST BE A PROGRAM BECAUSE OF THE EXTENSION ".COM
THEREFORE WE CAN LOAD IT SIMPLY BY TYPING A>T0T0 . THE " A> " IS THE
PROMPT, IT IS THE DEFAULT DISK DRIVE. IF "TOTO" HAPPENS TO BE IN DRIVE
B THEN WE WOULD TYPE A>B:TOTO TO START THE PROGRAM. THERE ARE SEVERAL
EXTESIONS WHICH HAVE BEEN STANDARDIZED AND ARE LISTED IN THE CP/M
Quite a few of the commands accept " wildcards" , allowing several
files to be accessed by one command. for example dir will list the
DIRECTORY OF A DISK, BUT IF YOU USE DIR * . DOC , THEN THE DISPLAY WILL
ONLY LIST THE FILES WITH THE EXTENSION ".DOC" FROM THE DEFAULT DRIVE.
However if you type DIR G :DB* . * , then all the files on drive G
STARTING WITH "DB" WITH ANY EXTENSION WILL BE LISTED. THE CHARACTERS
"*" AND "?" ARE USED AS "WILDCARDS", THOSE FAMILIAR WITH MS-DOS WILL BE
ON KNOWN TERRITORY.
Here is a quick look at the commands CP/M :
DIR WILL LIST THE CONTENTS OF A CP/M DISK.
TYPE WILL DISPLAY THE TEXT OF A FILE ON THE SCREEN
REN WILL RENAME ONE OR MORE FILES
ERA WILL ERASE/DELETE ONE OR MORE FILES.
These are not loaded into memory , they are stored somewhere !
There are others which must be activated whenever necessary.
ASM IS AN ASSEMBLER 8080 " DO NOT CONFUSE WITH Z80 "
DOTZ IS A MONITOR-MACHINE LANGUAGE , WITH CP/M IT IS USED TO MERGE
ED IS A TEXT EDITOR BUT YOU CAN FORGET IT AS IT IS VERY
COMPLICATED TO USE.
PIP IS USED TO COPY FROM ONE DRIVE TO ANOTHER OR SEND TEXT TO THE
STAT WILL PROVIDE INFO ON A DRIVE/FILE / SYSTEM .
IN ADDITION SUCCESS SUPPLIES SOME PROGRAMS.
ANALYSE IS USED TO CONFIGURE DRIVE G: TO BE ABLE TO READ/WRITE
SOME DISKS WITH A DIFFERENT FORMAT.
CAT WILL LIST THE CONTENTS OF A QDOS DISK.
DEFINE WILL DEFINE THE FORMAT OF DRIVE G:.
DEFKEY WILL DEFINE THE KEYS FOR FUNCTIONS.
DELQDOS WILL ERASE/DELETE A QDOS FILE.
FORMAT READIES A DISK/MICRODRIVE/RAMDISK TO BE USED WITH CP/M.
RDQDOS WILL COPY A FILE QDOS TO CP/M.
WRQDOS WILL COPY A FILE CP/M TO QDOS.
^-SUCCESS: The CP/m programmes.
There are thousands of CP/M programs but where are they ;
Very few new CP/M programs are being written to-day. As far as i
know only the COMMODORE 128 and the AMSTRAD PCW are using CP/M today.
The programs can be found only in the PUBLIC DOMAIN or BB,
"QL_DOC WILL GO TO ANY LENGTH TO PLEASE IT S CUSTOMERS WILL SUPPLY
A NUMBER OF CP/M PROGRAMS READY TO USE WITH SUCCESS FOR THE ASKING.
WRITEWITHIF ^MARTHEREEREARED,A NUMBER OF PROGRAMMING LANGUAGES :
MACRO-ASSEMBLER Z80, » C » , TURBO PASCAL ^L WORK REASONABLY WELL WITH
SllfTFSS AS FAR AS DATA BASE IS CONCERNED THERE IS DBASE II. FOR WORD
PROCESSING THERE £! WORDSTAR. BUT IT IS NOT VERY GOOD AND IS VERY SLOW.
FOR COMMUNICATIONS , THE VARIOUS PROGRAMS DEAL "RE5™ "IT^ THE
HARDWARE . THERE IS A MULTITUDE OF SOFTWARE IN THE PUBLIC DOMAIN,
WHICH WILL DO EVERYTHING AND NOTHING ALL AT THE SAME TIME >
irrFS'5 • USING CP/M PROGRAMS.
Once™ havTlocated your programs, they must be transferred to
the SUCCESS STYLE BECAUSE EACH COMPUTER HAS ITS OWN CP/M FORMAT. YOU
MUST USE THE G* DRIVE TO READ THE DISKS OF A DIFFERENT FORMAT. SUCCESS
HAS THREE DIFFERENT DRIVERS FOR THE G: DRIVE. UNFORTUNATELY THE FORMATS
ARE FOR BBC AND AMSTRAD PCW, OF NO USE TO US HERE JjJ^^^s^^^
WRITE OUR OWN DRIVER. WE HAVE TO USE THE PROGRAM ANALYSE JO ESTABLISH
THE FORMAT FOR THE DRIVE G:. BUT WE STILL HAVE JO CHANGE SOM
PARAMETERS. I HAVE BEEN SUCCESSFUL IN COMPLETING A DRIVER FOR THE
FORMAT KAYPRO II WHICH IS ONE OF THE MOST WIDELY FORMAT FOR THE CP/M .
HERE IS A LISTING FOR THIS DRIVER: ^.VDDn TT
1 DRIVER TO READ ONLY DISKS FORMATTED KAYPRO II
! by Real Gagnon for QL_DOC 7/20/88
40 ! SECTORS PER TRACK
1 ! SIZE OF S AFOR ( 1=1024 BYTES)
95 ! SIZE EB! DIRECTORY MAXIMUN -1
192 ! N " ! ERY IMPORTANT , FOR READING EB K
1 ! NUMBER OF TRACKS IN RESERVE
2 ! NUMBER OF DRIVE
2 ! SIZE OF THE SECTOR
10 ! NUMBER OF SECTORS PER TRACK
40 ! 40 TRACKS
0 ! DISTANCE BETWEEN TRACK
1 ! DOUBLE DENSITY
1 NUMBERING OF THE SECTORS
Create a file with your editor ASCII using the name DISKFMTJDRV on
your disk SUCCESS. Then with CP/M enter :
A>RDQDOS KAYPII.DRV FLP1 _DISKFMT_FMT C COPY FILE QDOS -> CP/M }
A>DEFINE KAYPII C DEFINE THE DRIVE G:>
Then insert a disk formatted with KAYPRO II into the drive G: and
enter DIR G: . If IT all works you should get the content of the disk
ON YOU SCREEN. OTHERWISE THERE MUST BE A MISTAKE SOMEWHERE.
IF IT WORKS O.K. , WITH COMMAND PIP YOU CAN TRANSFER THE PROGRAMS
FROM THE DRIVE G: TO DRIVE A:.
When you receive a group of CP/M programs, generally they will form
A COLLECTION . TO EXTRACT THE PROGRAMS YOU WILL NEED ANOTHER PROGRAM .
One is called "NULU.COM" which is very easy to use. Let us say that you
have the program"SMALLC.LBR" . This can't be executed directly , the
various programs must be selected individually because "SMALLC.LBR"may
contain possibly 10 different programs. They were merged together to save
space on the disk.
In addition some programs have ben "squeezed". They are easy to
recognized because the extension contains a "Q"in the middle. For example
"SMALLCDQC" is the squeeze version of "SMALLC.DOC" and "SMALLC.CQM" is
the squeezed version of "SMALLC.COM". To unsqueezes the file you would
need a program such as "UNSQ.COM" or the excellent "NSWEEP.COM".
Once the library is extracted and unsqueezed, one more feature need
to be done, the video screen. Each CP/M computer had the bad habit of
having of its own type of video screen or terminal. This means that a
CP/M program functioning properly with one machine would not necessary
operate properly with a different computer, even if it is a CP/M
computer because the terminal might be DIFFERENT. SUCCESS USES THE
TERMINAL KNOWN AS VT52 , WHICH IS ONE AMONGST MANY OTHER TERMINALS. IF
YOUR PROGRAM WAS WRITTEN FOR AN OSBORNE COMPUTER USING CONTROL
CHARACTERS WITH THE SCREEN, THIS WILL GIVE YOU SOME PROBLEMS BECAUSE THE
CONTROL CHARACTERS ARE DIFFERENT FOR THE OSBORNE AND THE VT52 . GENERALLY
THE DOCUMANTATON WILL INDICATE WHERE SOME CHANGES MIGHT BE NECESSARY SO
THAT THE PROPER CONTROL CHARACTERS SHOULD BE SENT TO THE TERMINAL. THIS
CAN BE DONE WITH THE PROGRAM "D0TZ.COM" INCLUDED WITH SUCCESS. WITH
COMMERCIAL PROGRAMS, THE CHANGES ARE DONE WHEN YOU INTIALISE THE PROGRAM
3Y THE VARIOUS CHOICES OF THE TERMINALS. IT IS MUCH EASIER THIS WAY.
IM WRAPPING UP I WOULD LIKE TO MENTION THAT CP/M PROGRAMS ARE
MONOCHROME , THAT IS NO COLOUR . FRENCH CHARACTERS ARE NOT INCLUDED
UNLESS YOU CAN PATCH THE FRENCH ALPHABET. THE CP/M REQUIRES 64K OF
MEMORY BECAUSE THE Z80 CAN ONLY ADDRESS 64K OF MEMORY.
RrftiBin'g Spertrum Scene
by Gil Parrish
I had occasion to be in Scotland recently, and since my tape-based
2068 had just become a "Spectrum compatible"' (thanks, Bob!) after the addition of a
small Zebra board and a Spectrum ROM chip, I was curious about the Spectrum
scene m the United Kingdom. So, I went on my very own "fact finding mission".
First, a few words on the various Spectrum models. You may recall Sir
Clive first mtro&iced his Spectrum m England in both 16K and 48K models. The
Timex/Sinclair 2068 later sold in this country was very similar to the 48K Spectrum
but had a few hardware differences (eg, the 2068 had joystick ports while the
Spectrum did not) and would not run Spectrum machine language software (at least,
not without installation of a Spectrum ROM). After the 2068 ceased production,
Sinclair went on to introduce improved Spectrum models in Europe including a 128K
version and the "Plus" series. The Plus series models all had 128K and improved
sound, with the differences being that the +2 and +2A versions came with a built-in
tape drive, while the +3 came with a disk drive.
Upon venturing into computer stores, I discovered that in some the
sales help may tell you that "nobody" carries Spectrum items anymore. But a trip
to the next store may yield several shelves of Spectrum programs. Mostly, the
selection is of inexpensive games on tape instead of disk; some "major" games are
available on either tape or disk, but a disk version tends to cost a significant
amount more (I don't know why, unless game makers just assume disk drive owners
are richer) and may be a "special order" item. Further, while a few tapes in one
store I visited required 128K, almost all Spectrum software I saw worked with 48K.
Advice to a Spectrum 48K owner considering upgrading his hardware, as given in
Vnur Sinclair , Britain's best selling Spectrum magazre (more on this later), was that
"if you only want to upgrade to play better games, there's very little software
available that takes advantage of the extra memory or features of the 128K
machines." In other words, about all that stands m the way of a 2068 owner and
"state of the art" software is an add-on Spectrum ROM chip!
The software available looked pretty decent. For instance, there was a
Spectrum version of the recent game lemmings", while popular on the Amiga aid
other advanced systems, lemmings" hasn't been made available for the
Commodore 64 or other eight-bit systems- except the Spectrum! "Robocop 3
also just made an appearance, as has "The Addams Family"- Collections of fairly
recent software looked popular too; I ended up buying a thrty game package which
included Rampage, Hacker, Ghostbusters, EnduroRacer, Aliens, Toy Bizarre,
Spmdizzy Space Shuttle, and lots of other titles. So software for my 2068 is not an
"impossible dream" m BritamL Yet what I did not find was non-game programs; a
single copy of "Tasword Two" was the only software I saw that fit m that category.
Another area I sought to explore was Britain's Spectrum magazine
situation I gather there are several, but Your Sinclair ("YS") certainly appears to be
the leader It is put out by a publisher called Future Publishing, Future puts out
separate magazines for the Amiga, Atari ST, Sega, Nintendo, Commodore, Amstrad,
PC's and various other specialty topics (Mountain Biking UK and Today's Vegetarian
are some of their other titles), so they must be doing something right. Anyway, I
bought Y2. issue *76, meaning the magazine has been around over six years. It's a
bright magazine with a breezy style; it tends to refer to a Spectrum as a "Speccy",
and to call its readers and fellow Spectrum owners its "Spec-chums'*. It contains
announcements of new software, reviews of software (with a rating scale based on
addictiveness, graphics, instant appeal and "life expectency"), tips and hints on
games (including ways to get extra lives, etc.), a free classified advertisement
section for readers with both "for sale" and "wanted" ads, commercial advertising
featuring a lot of good software, connecting cables, disk drives, joysticks (including
those Kempston joystick adapters that tape-based 2068 owners need when
running Spectrum software; disk systems tend to have joystick interfaces already),
and perhaps best of all, a cassette of Spectrum games and demos taped right to
I guess I enjoyed most how tightly focused the magazine was on the
Spectrum It compared quite favorably to a Commodore oriented publication I
picked up which advertised itself as "100% C64" but seemed to deliver page after
page of British football (soccer) references, reviews of certain Sega and Gameboy
titles, rock music trivia, a pull-out rock poster, TV and movie gossip, and plenty of
juvenile humor. Alas, YS's tight focus may not last long, in reponse to a reader
comment about the magazine going from 90 pages to 68 pages in the last couple of
years, the Editor stated that the larger software houses were beginning to move
out of Spectrum software, the smaller houses didn't advertise as much, and to
attract more advertisers the magazine was 'broadening (its) horizons and looking
at life beyond the Speccy in the worlds of film, TV, radio, health and all that kind of
thing." Sure enough, the magazine contained some pages of a lovelorn-type advice
column for teens, movie reviews, skateboarding tips, etc. And, it should be noted
that some of the humor is sufficiently cultural-based that it went right past me. Still,
as long as it lasts, the thrust of the magazine is pretty good.
I believe ¥£ used to be available at newstands in Canada, but I gather it
isn't any more. Anyone who wants to become a ¥£ subscriber can certainly do so,
but it won't be cheap. The normal subscription rate is 26.40 British Pounds
(something Ike $46 U.S.), but that rate goes up to 40.80 Pounds if you live outside of
Britain in the European community, and 53.05 Pounds (around $93 U.S.) if you live in
the Western Hemisphere or elsewhere in the world But if you're that much of a
Spectrum fanatic, I won't stand in your way; just let me know and I'll be glad to
supply you a copy of the subscription form In the meantime, have fun with your
M1 T i Ffl E 5 5CP1EE t-.j ^
Hbed Kahale. 335 u. fleupnrt Rd, HnffHan Estates.. IL B01R5
Since my last article on the Tandy
DMP105 printer, modifications were made
to screen dump 4 times the normal size
to about a half page worth. Also the
print head is now controlled so it can
plot to any location on the page. In
this case, the font style controls the
width; ELITE (12 CP I) & Expanded was
used below. One half the vertical Pixels
were used for one print head pass. The
program should be apli cable to other
printers with proper modifications.
To obtain a negative ''inverse video) or
vice versa add NOT. NOT POINT ( C, R-xx)
1 REM TANDY DMP105 PRINTER DRIVER by Abed Kahale 1/92
23 RANDOMIZE USR 100: OPEN #3, "LP1
30 RANDOMIZE USR 100: POKE 16092,0: REM No line feed (ot
heruise double spacing)
50 RANDOMIZE USR 100: POKE 16093,32: REM LPRINTs & CHR*s
sent to printer.
80 LPRINT CHR$ 27;CHR$ 23?CHR* 27;CHR$ 14;CHR* 18: REM E
Font by ZUNK
90>LPRINT CHR* 27;CHR* 16;CHR$ 0;CHR$ 35:REM Locates head (i
argin) at 35 pixels from the left.
95 RANDOMIZE USR 100: LOAD 'C.C$*SCREEN$
155 FOR Y=0 TO 175 STEP 4: LET R=175-Y: REM vertical pixels;
twice for 8-pin head.
160 FOR C=0 TO 255: REM Horizontal pixels.
170 LET B=0
180 LET B=B+P0INT (CR-.5): REM divided by 2
190 LET B=B+2*P0INT (C,R-1): REM * '
200 LET B=B+4*P0INT (C,R-1.5): REM 1 "
210 LET B=B+8*P0INT (C,R-2): REM ' '
220 LET B=B+16*P0INT (C,R-2.5): REM ' '
230 LET B=B+32*P0INT (C,R-3): REM ' "
240 LET B=B+64*P0INT (C,R-3.5): REM ' '
250 LET B=B+128
255 IF IN 1270236 THEN GO TO 255: REM Checks if READY.
260 LPRINT CHR* B;
270 NEXT C
280 LPRINT CHR$ 27;CHR$ 90;CHR$ 0: REM carriage return.
290 NEXT Y
300 LPRINT CHR* 30: REM Back to character *>de.
lite« Expanded (Elongated1) ft Grapliii. mode;
I It" i"l
" ■ ■'J'j r.'i
•'V"*^.'."" * •*** * *" ." "" * ." *"
• -*" ■ "-■""*-*."" " .* .".-v.- vl,**"'i
" «\> ' 1 1 ". 1 " " *.* .* * 1 1 ,J" |Yj|
• " ".•'§".' ■ ■ " • • iTi'Kpj
■ ■ • 1 "| 1 • •" ■ '■'.* |TJ
.■.*■• i j
in.'.. _ .!!..!.
II I I I]
'I i * i •* i* I fH
Lid J .'•.*•*■•,'" ■" ■ ■■
b it i .yi i-:* "
rri i ■■■ •(
ZX8 1 RESOURCES
A O REM GENERATOR
Rene Bruneau 6 Harch 1SS2
Reading through soie old issues of Your Coiputer, I found
this stall machine code utility for creating REM statements
of any length. The original listing used Basic to poke the
nuiber of bytes required into leiory after which the routine
was invoked by a RAND USR (address). Because the code was
relocatable, I wondered if there was an easier way to pass
information regarding the length to the lachine code without
resorting to Basic input. A long tine ago, when we were
still neeting up at the North York Library, Peter HcMullin
had noted that the RAND function conveniently divided a
nuiber into Lo and Hi bytes by the coiputer and stored in
SEED deiory locations 16434 and 16435). This is how we can
pass information to a lachine code prograi directly froi the
keyboard without running a basic prograi. The original
listing was lodified and an instalation prograi added to
tranfer the code to any location in leiory.
Enter Listing 1, RUN 100 to input the ic data in Listing 2.
On completion, enter S, and confiri that the checksui is
5307. You iay now delete line 100 to the prograi end. Save
the prograi several tiies. On running, the prograi asks yon
for the address where the code will be located. Entering a
nuiber will relocate the ic. Note that if you intend to
locate the code above RAHT0P on a standard lachine, you lust
lower RAHT0P before you load the prograi into leiory. To
generate your REM stateient, lake sure that there is at
least 1 basic line in leiory, 10 REN, for exaiple, key in
1 REM —54 SPACES
10 PRINT "ROUTINE ADDRESS1
20 INPUT ADD
40 FOR X=0 TO 53
50 POKE ADD+X, PEEK (16514+X)
60 NEXT X
100 LET X=16514
110 LET T=0
120 LET A$="
130 IF Al="" THEN INPUT A*
140 IF Afs'S1 THEN PRINT 'CHECK SUM = ";T,P
150 POKE X.161C0DE AI+C0DE A$(2)-476
160 LET T=T+ PEEK I
170 IF PEEK 16442<=2 THEN SCROLL
180 PRINT X;' ";A$(1 TO 2)
190 LET X=X+1
200 LET As=A$(3 TO)
210 60T0 130
4B 32 40 C5 21 06 00
E5 CI 21 7D 40 CD 9E
3E 76 EB 77 3E 17 Ci
04 2B 77 0D 20 FB 05
F8 2B 3E EA 77 01 13
7A 2B 77 7B 2B 77 3E
2B 77 2B 77 C9
RAND (rei size), ENTER
where 'rei size' is the nuiber of bytes required,
LET L=USR (ic location), ENTER
When you LIST, there is your REM stateient on line 0.
HEX LOADER FOR THE ZX81
This hex loader is pretty
standard . It alloys you to enter as
many hex numbers at one input as you
wish. When you have finished
entering all the code ( in hex),
press the "S" key to stop.
1 REM (FILL THIS LINE WITH ENOUGH
CHARACTERS TO HOLD THE MACHINE CODE
10 LET X=1651U
20 LET A$=""
30 IF A$="" THEN INPUT A$
UO IF A$="S" THEN STOP
50 POKE X,16*C0DE A$( 1 J+CODE
60 PRINT AT 11,7;X;" " , A$( 1 TO 2)
70 LET X=X+1
30 LET A$=A$(3 TO)
90 GOTO 30
From Your Computer magazine May
PRINT FACTORY© graphics
More Pics & Lower Prices/ f
feQiflciion#-i gfljaciiflDg2 TstfSsS^S.
Miscellaneous Animals Difttixed Mbn
Men/Boys Funny F«mk Faces
Woman/Girls Transportation Mala Faces
Dffttissed Misc. Sports Funny
_ Holidays Zodiac Sfns
/jmu Food Holidays
*** [ 3 NEW COLLECTIONS! ] 444
■gQBwiton#4 CojtecttonffS SfljBitangg
Miscellaneous Men/Boys Funny
EHfHixed Miso Women/Girls Animals
Male Faces Xmas
Female Faces Computers
Over ISOptos/ootMflon - 1 077 pes in M!
Only 97,93 pod. for each collection.
Available on tape or 5 1/4" DSDD LAJUCEN
or OLIOER disk - please specify.
John McMichaei 1710 Palmer Dr,
Laramie, WY 82070
*»3 \# O 1
HOW TO RECOVER !
T/S 2068 AND THE LARKEN AND OLIGER DISK DRIVES.
Submitted by Donald S- Lambert
Letter to George Chambers 03 02
In all my computing, I h* e been
trapped by a problem three
times. Of course it is all my
fault but maybe there is a way
out. And that is on each of
these times I have either tried
to SAVE to a disk drive that I
didn't have or on two occasions
I tried to SAVE when the disk
interface to disk drive ribbon
cable was disconnected. Try as
I might I have found no way to
abort the SAVE and have had to
turn off the computer and lose
the file. It might be possible
to plug in the disk drive ribbon
cable but there is always the
possibility of zapping
something. And while I have a
Larken disk interface with a
RAMdisk that is full and besides
once you have committed to a
disk drive the computer hangs
onto that drive until it is
used. What do you do in that
George replied 03 14 1992.
I have been looking at your
letter. You asked about how to
break out of a computer lock-up
when you try to make a SAVE/LOAD
to a non-existant drive. You are
correct, I would never plug a
drive in while the computer is
I thought I probably knew the
answer so I shut off my
computer, disconnected my drive
0. Then I re-powered and tried
saving an Mscript file to drive
0. Well all the other drives
spun of course, but not the
disconnected drive 0- The
computer was hung up. I then did
what I would usually do. I
pressed the NMI- button and then
the A key. As I expected the
computer broke out of it's
hung-up condition with an error
report at the line in the
program where the SAVE effort
That is pretty simple. I thought
everyone knew that. To continue,
if you inadvertently press the
NMI- button you can recover from
it without harm by pressing the
ENTER key. Also, if you are
trying to breakout of a program
that is heavily protected, and
the NMI- and A key routine does
not work, try pressing the NMI —
button and then press the 1 key;
i. e. do an NMI- type save to a
protected disk. You will get a
"Protected disk" error report,
and you will be back out of the
lockup. Sometimes, depending on
the nature of the protection the
computer simply crashes and you
get the Sinclair logo. I use
this method particularly with
Spectrum games, which for the
most part are heavily protected.
Don: I had never considered the
use of the NMI- button so I
guess I am not everyone.
I have an idea to try out, since
both the Larken and the Oliger
use the NMI- button will it also
work the same on the Oliger?
It works with the Oliger except
that the A key does nothing but
the 1 key will allow you to use
the BREAK function and get "D
Break - CONT REPEATS 0:1M- I
don't know if anyone ever gets
locked out but this is one way
to recover. But here is a
possible way out of a dilemma
that would otherwise result in
a loss of data.
1-1 *■" ( i-. ' v, 1 1 1 TSTJ
I « i I l.i I • III I iTi jS
•-! >Xi X, X cu
!-•-<'+ ut +-i u_ 4-
ul &. —*
3 P O H Ul —i
4-' 4-' i,'3H
iti iTi O -i
f. • H. S7i3
OJ ri Mi X T
01 O ill 13
P X '4- N <~» X
•-» T rl 'H r> O
^ oip o rn
o oi iTi 3
•-i •-( p ui TJ
I JJ IX X P L. X P OI a
> iil ij CX >-t P
O TJ — I — i P r>
X! TJ P wi X ~> O
'Xi ixj > rj 3 1= 3 <PX|
X. OJ O k_ ft)
p !- o -ni oi o»
oj ri w p — 1 >
iHOio •- i >— i o i— i
P I "H X 01 JJ rtj
P -C H P > iU
01 "« (/,
'Xi <H --i £ — i OJ •-*
01 Oi X '4- P O X
x i au^ w p p
x in k_ -1
rikl . ui i= oi m
Q.— V'i !iL oi p-*p
01 'Xi X P 01 rJ i
•ti i_ — i uJ 9i u-i at
O >ri P UJ X 3 X P
P XX O 0J <tl =3
lil iti P -Tj 'X P O O
ul CM £ OJ
P £ 1=
0 p T3
•tj ^ Si a.
k. TJ — I
_ OJ tj g
•*< X x s.
_ 23 op
TJ E •■■<
u_ ul U O
oi oi a
p p a n «
.3 O Xi P
3 O 5. 0.1
<+. i. —I
75 -. =3
01 Ul Ui P -
> P 41 3 U"J
•h •-( uia-ct
01 is "1 fij.
O— 1 X «P
at «-« a.P a:
_ ^x o"§!
ill Ul U.I
P' .Xi .Xl
I- U l
•Tj P Tj
at p o
O 'ti Ul
X 01 ii
ri iX P
O O iti
k_ 01 o
oi p > rr «
O P 01
01 <xi 01
.•ti 0J -xi
JZ W l= P
H Xl fti :=
=i lil o
U l Xl U
O OI ilU iXi
rri u_ +-■ Xi
;= 5 iTj rr« eti
O ill -
£l. OJ •-< i-
P »iS £ IT' Oi
lil Xl iH iti >
I- ■— I
•ii 0J 0.1 ijJ
l.t'i X". ■— i £ "t5
lli f-i ,tl
uj oi ■ -i zn
> 3 H OJ
■Xi <3 -£
X: Ml H • r—
i.i .xi » >i •
=i ^ !- i_ O 01
O U OI --i o
nri o.i i.i xi p' -H
X - £ P ^
Lj i_ ~< .xi IL
■X 0' != 01
O 2T* £_ w
£H -xi u.l 01
?> !- !- !i. U l
P .TT' .xj O p
■ -I " iL JJ.+.-.
H ITI IS T5 01 S»
■ ti «Xi X O
Ul X' .Tj P 'X
_j SL OI
2 oi >
1.0 iTi .-i
UJ ui iL
3 il a
P -xi O
•xj 01 -O
i. H U'l O
P X H
*-i - -I OJ
•a ui T3 a
Tl X 01 — i
ffi »-l •
0 ui H
_ L. CO
O U | «U>
cnt. oi a»
•I != 3
01 OJ P
> p •-<
£ OI 01
Q I- 3
'Xi .xi £
P P o
£ 01 iL
u( 41 — i - •
01 li. TJ u i
.H L. OJ
O O TJ ixj
iL TJ 01 •
9 =! 7»
3P rtj i-i
H O -
P •— '
iL O IL
■xi -1 ri
1- ot a
-i p o
•i O 01
H OI • » ui i..
X 01 rH 'X 01
i— u n i oi >
u. •-< I TJ O
01 +-'• 'Xi
-• • Ot 1 01
u i rri iTi i_ 'X
• •i *-■< X -x >
— < >Xi !X O til
ri •■-« ui
T> X P '
iil ■-! IJ X >Tj t:
01 > .~:i >ii
X •-< ui £t.P P
X TJ .xj
4-> p i/i ij.1 -X Ol
— i TJ Xi OJ CL
Efi •-■» i-- ill
— < iil X
P Ul X -i X<
Ci X O -i C.i
OI '-f 3 P P'
X P' 01
01 P 3 U i X Ul
P 01 O X P1 >
■X —i P OI >xi
•X 3 X
T> u i —i
- ■ rr» oi -* + j
X' P > "Xi 3: o
x ul '.'I
CT 01 U O X <—*
3. 0' O' »
H u-i X 3 3 -h X
P O Uj 3 01
- • .tj p P s_ ;.:
Ui P -xj H O
01 P =5 £
•*< O O 0' T TJ
rr It] at P ixi ixi
» rr\ .Xi
7i ;; -:; P
_ I1 J w
ixj rri ■
ui X' P ri
X "Xi U i
01 O ui
!ti P O
X U1 P
Ui +••' P "H
3 ':: '+
Oi CD *" X
p «:•• x
-4 P" OI P
p> o >
- H P 01
X ri P«
£ O .xj
P 'Xi P
O 01 Ui
To O u i
i.i ij .xi
• -. <— i
X ~i "~< X
01 —i uj
Xi 3 Ji
UJ > "J
H -— < +••' ui OJ T3 OJ OJ !- X' 01 H Ti H 01 X' Ui 01 '4! \x>
" 0J X x G X Ol O > u»
S ui 01 .xi -ti M 'i •-. o .ti o - •-• .... Ol -h in o e 2 o1 ••+ h -r1 t» - j_. rv 15
£ *B % - al £ 01 if • O Si Si 01 J 1 . Si^i
(ii ~; "Ti +.1 _^ •:: 3 l~i .xi h u i X- J*. 'Ti "■> J- '-' !'~ 1 1 '-! ^ +: T. Z- y-
r - n s" i" rt .• rv S oi r n S 3 ... oi .*i w ~ O >■•> 01 4-- oi nxs —J -ti .xi _.
r. - --; n >x ti -rt -= s_ T5 oj H rrtji ir. a; to .= i. •!+. > n r.i «x« >.X & u. u.i ^- u. uj £ '" ±: ,- .,1 ^ ?=; .i • ,
a! r = L Ti ^ != z: oi .xi oi :■■< oj oi o «s -h o x " .j. u. a jU. u. u .-: - ^ * ? d
tf !:r, L H ^ ... .ti O O UJ^S Uii u >.-. JZ w j: rr«4.> .. " & < ..." i- ui H u -la ... ... ,h .... + - 'J
, ^ 5 5 r • ill i., ^4 £_ s i_ TL, "Ti> si —. O U.I+-'U
%*" "0 • ol oi ^-^fe £ L^gL^S ..;-t: t; " ^ a-
iTi OJ St != != -ti PHTi . '4- 17. Ol .,, 01 .xj O <+ _ -ti % u ^'j-: m 7 !" f, j ^ rv
^ oj £ P,tiO«iL5^ ojo(=x o j£ t. 01 .ti c is 01 yj .-1 j: ui y * o« ^ t - .. . 2 ct
-til l.' l 0'
^ ^ +J' O
O ±' i i
■ -< 3 O a'
li_ ill '•+■
1*.- 4—' *.' i
— i ~i !— l.'l
0.' !kL. O f 1
+-•' £ Ik. .ii
ni H T'i
C.i i .'i
tTj Tl Ti
111 iL. !L
01 'Ti .xi
jjS . -1
- 1 — U.I U.I
i- J U_ 1—
•— < u_
iTi 1 1 1 !— "
j"! M Hi
!— !- IT'
iil -h ■ -t
\— i.fi 0 O
01 "f .
C.i i!T' ....
i-H ^TlF-l 4...
OJ != — • Ui
3 ■-■ < •••< i.
1.., 4J. • H
ri 1 .. ■•+-
+ > 01
i n 01 >Ti
•Ti +-' Ci
0 £_ y>
ili H O
S u.i T-
O ~S !—
•I. . ... I r..
- 1 1.
I. J I +.
Q i/i T5
4-> 'Tl O
(• 1 4-'
.jl i .'i
OJ !~ OJ
...i .xi .a
0' 01 £
!= S .Tl
■ Ti 01
... 1 4-i' ■— <
14M 0.1 .
Ui 3 IL Ui
0| i/j O 3
•Ti i_ -h OJ
OJ T> -« +-''
-C 01 J=
4.:. ^ i^i
Ol i_ S
1. 1 Li 01
u OJ Si
-1 U. +■> ^1 i.
!•■-■ 01 OJ
i- i X 4-i'
i_ 01 T5 4--' 'Ti
4.:. ::• r
i_. >Ti X
01 JT. 4J- ri
p-4 .xi O
uj . s. rn
S_ O O lL
OJ T> O O
•Ti l.i| -t Ul
X A. u i ^-1 iL
OJ •-••-( OJ
S +-': Xj
i_ LL 4-' Ui 0.,
U_ c: " fi U i £
O JZ O O
01 01 •
£ JT. +-:'
O u i
i. 'i -»
• — »
111 .Tj -
O O l~-
i!T' OJ L'L
-i A. 1.0
ii. . CJ
Ji! O ~»
4J' A- +-i'
■Ti .i4- '.' I
- J.-'1 !k.
3 n 01
z: s - ri
Ill I.I I
H !— i_
0.1 +•:■ rr>
-4 ri J2
1. — 1 O
" " "6
1 1— Ct
1 X o
Q 4J' 4--' 01
x: ri o ix
3 (Li £i O
— 1 • o
01 Ti !T
• Ti £l 01
ri Ol T5 0.1 ji
Cj > >xi X! T>
^ri <r .c +j> .Tj
Ol ni !-
ii Cj _ >ii
ixi T £ i::i "
X Ol C't ;EH
u'i A C'i
ui 'if £1 A..
..j Ol ;== -it.
P i. 4~' 'Ti
Ti O 4-i' it1 1
m x; !~ 1. 1
O "Ti "H
■xi I 01 i~ •—.
ui., '-I- A.. 'Tj ■ -H
i.'i .Ti 1...1 "Ti
ui ui ri A.
h O 01 iH
X 31 £ >'fi
+-• .Ti 'X
ai •■•1 -::
ii 01 "ii OJ
•Tj ;== OJ u'i
4-." 1T4 --4 rtj
H r iji .4. 1.1
ui 1— 1 .4. u.i
in il. .ii St
OJ A. . « != cn
£ rr.Ti -1
0' Ol Jil • "4
X 4-i' 4-i' 4-:' i=
-r, ixi ui — i O
Ol OJ ri 3 O
Al A. Xi X
ii IT. 4.:'
Ol O ill A.
X >Ti iil i n X4 O
Si iH • h <+■
Zf> T" +i' '"I
£ 'il 0' ^
.ii ;a. cr. -4 uj
•Ti X" »-4 T5 3 X
4-' OJ r: 4-:1
LJ X X
•H --1 h 1 £ .'."
'+ Ti 1
j"! a 4...1 f-H
O 01 H >Ti
x i.'i oi x: ri u i
3 I +•"' 'X +i'
h O J' J Ti Al £
l~l iTj O "-'
•Ti 4- :" 'X l/l X —i
r> O O
O i.' m 4-:' £ 0.1
rr. ri .tj •— 1
01 U'i Ui X
ii X Ul Ul 'Ti «
C". 4... ~i 01 (H S~ U i
•Xi — ■> O X
X X +--' T. '.''1 4->
I— 4... I::, iji 4-:' .'ri -r
1 OJ OJ ri 01 O
\~ 2.: 0.J i_ &
■Ti ai o
_l 3 01
CJ A. --4
A. O tli
• iS • D
' - 01 4- >
+.:> • -1
C|l r~i Ti
£ IX !=
+ -' 01
0.1 • -4 z
.Tl A- 4-' >Xi
,~ ~> Xi Uj
Ci i" j 11". ill
■x m- r».
Ci o OJ
~S .... A-
."'. 01 ri
:= •: o j
•x 01 ri •
O A.. C> U.
01 -T. A.
IX 'X !=
fX Ti H 01
U.. >~h • Ci
O OJ > 3
U' i A. IX 4->
UJ 'X ui
d O OJ
H UJ X
3 O Z. 4-:-
u":i h- O
„J — J Oi -X •
IX C 1 iJJ
3 ill i"."i u i
U.. • -4 Ui Cj
M il 4»i' 01 4-i'
0 Z. !-:: A..
4.:. M OJ T5 £
£ Ti 01
.... 'Ti i:
Ui X' X 4-i'
A.. 4-^ 3
OJ Ti • Oj Tj
4- > ixi " Ol
01 TJ! iil Ui
r-4 T5 01 X
cr. !.-.-. u.i
■ni A.. ui
ri ui 'TJ
Z 't>4-:- > 0'
ir lj I ,rj 1-1
UJ A- X Al.
U i lex
o 01 £
^1 o T. u i
—. 01 x oi -
•h £ 3 u i A.
A. --i u i 01
•xi (— 01 X"
£ OJ A. X'
■h -r -13 01
X O T> '-4
Al 0> 'Ti ui
X rri 1 3
4-' !- 'X IJJ
X "Tj ■— I 1=
X' O Ui
4-i" T5 4J"
Oi := -Ti
"Ti 01 !•.,
Ui IJJ !" CJ
Ui 01 X
X Ci O 1
oi :« X
x> ui .xi
m:w: 1= 01
-1 1 J 01 ri
X u i iX
X' 01 I.'i
1= 01 Ui X X
O X -1
iTl X X
1 X OJ Ti s= Ti
1 --4 X X —t 01
N 'Ti >xi X'
jXj U - ni
Z. Ui Ti
Ui Ui At.
a Ol ri
3 .Ti X
I— O !--
ii X X •- ' -Ti
A. CJ Ci
'ti ~ Uj
OJ T> Al
A. 'X A. !~ 01
O O CJ 01
P iil Ci C.i
0' £ 'X 4-'
+.:. • — i Ai. Ti
ui O A... 4-
01 X 01 a' u
O <- Ul
H T> U J 01 At 1
Ti OJ r-i Ui O !
< O Ci
j := o
01 O •-< ir
T. r-4 3 OJ
—4 ill X' £ T>
»-4 > --4 IjJ
£ T. 01 O &'.
1- 01 LTim.. UJ
£ O X' "-4 I—
A. CJ "."I U-
CJ X1 OJ A. Ci
■X X ri .ii Ol At
i- ui Ti a.
O >Ti 0.1 A. X 3
Li LL x c O ' o
I I J.I I.' I 1.1 1
i X ai —i
itrt -4 a'i
x p ai
P' O X
0,1 i_i X OJ
X 3 4-
• h -'-4 0J
0J OJ —4
p. 0.1 i= p>
iji • • — « oj •— i
OJ ai —* i=
P> Mi 4.
0.1 Ml OJ O
X HI X 4-
£ 4-'-' P
P O ai M i
0 v. —«
P P 4.X
4_ 0.1 D t—
ai ai X
•r P' C I P'
01 4- O
X O "it 'il
3: 41. 41 4-:'
0J m 0J
p 4- X
- o cu
4. O >
0J ri — I
>Ti P P
OJ 3 O
4-:* 4- M l
'4 "H « LU
—i ai O UJ
-< O O X
0J P O T>
M i •-« P' P
rJ'Oi P P
4. at oi a
O' •— i X X
01 M l
X M l
IJ.I P P 0J 4-'" I*'
X iXi X O OI
(- p> OJX
• ■— • 01 4- OJ
4-Ll P 01 CLOJ
"4 UJ O +-'■ 4_
mi x ai 4-
p.|jj OJ QJ
•-4 — • XX!
u O OJ
i'l IJJ =3 Ml
Mi O 4- 4_
•Ti O P 01
—I Oi M l >
ir P p ai
i= — » o
-I —I X' Ti
•-4 M l
x 4-=' a
rri sx ai x p
4-' P O
ri 4_ o m i
41 0J OJ •— •
4.-'' 4. Oi
x ri P
O 41. 0 — i
■-< £ O —4
i_i 3 O 2;
- OJ O
4_ ai Ci
4- OJ ri
- • vp ri '4- ttt •ti !—
Mi Mi O O XX' o
oj at XT* -p oi
:■- st p p
01 O P f-
• i. Zfi OJ 'ti O
x x cr 'ti <4- m- oi — <
W f-J 3 OM-hv
01 Ml S
X 111 Ml 4J O — «
4-1 t.> 04 OJ O «ti
•4- O -H OJ P
o 4. ij a 4- u_
Ml 41 ••< M"l Ml »*4 0'
Ml -I "4- -H OJ 4-i'
M l CTlCIJ Ml Ml
OJ C T. £ 4- ni
ir - -4 oi oi ri '4-
3 * - x 4. CJ
0 :- _ >Ti 4-^' CTi 01
—I . :, O
M i *4- Ol 4. 'ti
•-i 4-1 CL OJ £
01 U'i P I-'
X X. OJ 01 01 OJ 4- O
P' OJ X 4_ X X O 4-'
4. 3 +-« 4.
rri-i o x
r~t en o 4-^' X
It) p P'
I— 4^* OJ C* -h C CTi OJ
•-» Vi <3l4-> ii O P £
•4- O ai £•- »-4
g 4~' ai +-*■ O 4.
X P 4. ri f ' Oi
P ai P ST' O 4-1
CC 0' > --4 O 0' Oi 4--'
xx o 4_ :-: 4_ oj
t— iti rri a. oj a: m
•i M OJ 4-
4-' 3 O
O OJ O
4-1 M i 4-'"
X Ol o
P -I "4-
m i ri 3
— l££j _ OJ
r- ?S S
0.1 OJ 5Ti+_'
u_ OJ o
OJ 4_ 4_ 4-'
X O 4J.X
+-' M l ?Ti
•ri ■- <
P O «4-
0,1 O M l
X 0' — <
3 O P
0.1 —4 O
P i.. a
o> oi ri x
OJ "4- ox
4_ *4- ijJ 0'
u --i oi
M l x OJ M-
» '4- uJ
4--' O l' i
oj ri x
P l 'i ai
•Ij lj.1 4-'
4-> rr. •
ri Ml Ml IJJ
O Oi ai »h
-fix uJ X
4J'X P O
Oj 4-^' »Ti —4
+5 i|T" OJ O
3 mi O 01
Ci ri OJ 4.
•— i X ai
m i'Ji £ ri
P £ Ml
Ml L &> "
oj ai O OJ
rn OJ 4. X
ai _i ux 4->
. +-> « j£ : "ii 0.1 ■
I S_ i£ O 4-i" U.I
' O O ni —i P
. 41 -Ti X' ri OJ .
i 01 X' 'ti 4- •
: 4- X '4- 01 •
i OJ Mi "4-
0' =•' "4-
■4- .ti --i
• Mi "O
i 4_ M i O
0 4-'' X 4-^'
4_ 01 01 iTfi«-4
01 --4 '4- P X
i. i .Tj
•h 4. 4-'J OJ
0.1 '4- O P O
X '4- Mi -4 --4
I— OJ 4. O 4-;'
~3 4l o
n> o p
.tl O 4^'
U_ 4- '
ill 4.. '.M - '
X C O J —i
+.:• '4- ^[i 0.1
ill " '
in •— i
•-4 Ml •— I 3
4- ai Ci
4_ 4-j O
4-^' 41 01 4_
"3 £ ."7' 4. OJ
41 O X ai 4-'
£ O O ri
O X 41
O !?i Zj £
01 P O O
X 'ij "fi o
l_l U. 4--' l-l
H ri ri
OJ i? 3
Ol ri O »
•ti QTi 'H X 4^' -
4_ - .tJ ■-•< <ri
^-i 4- i' Mi P
•—I ri 4. 4-* Mi
•-1 X .ti ai ri
3 Ol O
Ol <-i X o
4-> M j > "Ti O
OJ OJ -,4 o
iil P O ~ -'h
h a: 4~> mx £
.-. P o
— i 4--' 5
■ ~> Ml P 'tj t—
r-4. ai 4. u'i 0' OJ Mi
"4 • O
3 O X X Ol
rit >ti ?ti >ti x
.ij _.l iti I. " r-i
ai ai t_ i— oi ri
p '4- P
01 3 4-:' iXi
■-( . . i—t i_ 0.I ZT"
O «-i O 01 X
:= a SL Ol M l ■-■ '4 -4
'4- 4-'' 4-
iji O £ 4. CO C< P
C.l .".' Ml 01
4.. ai — « >=; Ol X
41 -h X
4_ i:; 'Ti 3 01
X I'l ai > • TT. O
nj u_ O O O X
, rj X 4-> P P OJ 01
Ui Ci 1' O
O O P X
01 ai P • -i O lit 4-'
p l;i 4-'
:•- oj ^ £
I'l o' rfi -4 u.
— • '4- Mi Mi UJ 4-> Ml 4-i'
^Tl ri X
— i 3 41.4-' ".•
OJ X Lj Mi
ui X uJ h- ri ijJ OJ
P O 01
•Tj OJ O O 1-
£ Tir ijJ p • -1
U.. -i X 4.
4. 4->--<X 4. XX
lj.1 P .Tj .Tj
i.i _ 41 ai P
ijJ ri > i— X 4-i< 4-i'
X 4. 41
X O O Mi Oi
£ Oi "; ij'
iT n ui x Hi al
X 4. -■ --4 P P X
r« ui O 4.
LX -4 0J
•ti 41 OJ 3 - --4 4->
P rri 41
'.4- 4-> H '-4- '-4
rri ai OJ 4. X
X P P OP
2: Ci O 1
i -4- .jj
C _ . yi CTi
O r-l — • P OJ
Ml f -ii
■Ti O U 4-;,
OJ • "Ti
4- Mi Zfi 41
M i P Ml <4-
4. 0.1 •- < O
O +■> Mi O
■4. iti -4 CTi
OJ -J 4-> P
OJ P <tj ' "4
4-> CO O -4
'4- •-( > ri LL
o oi cr «.o
ai mi <-**?> —
• -4 a* ^
> Xi 4. •
OJ OJ OJ
i_ 01 41 £ •
X ■-• Ml
, rj 4-i' P -P Ti
O 4. •
i'i Mi ai p Mi
— i p 3 P
i_i P rri o
iji ri ai OJ -H
S_ r J 4_ is P
0.1 P' 01 u
X 0" M l 'TTl 0.1 P
X P -Ti X ri
P* **4 41 P 4-
O 4. .-- —
OJ P 4. » — I
p. _ P O
O'l • M »— 41
4l -i ?Ti
ai mi oi — I
0 J Oi M
01 I I
mi x •xr:
ri oi m
01 O P
Mi 4. Mi
01 '4- 4_
t~ X X
. . p =5 Oi m i STi OJ
ui ai O X ai P — i
ZTi O rJ'P 3 --i 41
•ti M | £
i.i P r> ■-!
Mi 'Tj M l Mi *4- Ml
OJ X 0J--4 4. P
£ 3 r= O Ci
• -4 4. O P
• Ci OJ 4- CL
4_X P OJ OJ
O M | O ii
£ — i ai x mi
OJ mi x P OJ 4. -4
£ O X O
ijj iti ri o P P P
X P OJ o
p rji mi "4
X X P
•4 P OJ O rj' 'ti
O X Mi X — • O £
OJ 4_ P X P 4.
P 4_< ««4 3 Oi O
ai ai 4- X <+ <±
St- P P
4- 'Ti OJ ai I— —i
O SIX -4
"4- OJ f— OJ O Ol
Mi X XX"
ai ol F- oi
—4 m i 4. O OJ P'
41 4- OJ X • Oi
S a' —4 4- £ • Mi —4
m i £ 41 4- P OJ O £
ri £ 4. P P O
OJ P -h OJ O OJ O
X mi OJ OJ P
(■-- O Ol P P P P
3 in x •-< oj oj r
X P -4 X M l X
Oi 4. rri mi OJ p
0 aj aj
ti p £ OJ 4-
O 4- OJ
O OJ X
01 Mi .Ti OJ •
4_ x o x oj p rji
ri p p 4. o p
4-> .Ti ri "ti i—
•Tj £ O O
Ol £ rr>'-4 iz:
.4. O -4 ai O J —1
O OJ iX 4- 4- 41
i. Cfi .Ti £
.-. o • o
0.1 '4- £ 4. mi
r-4 '4- ai >ti cl a>
a 0x1 4. p Mt
£ !3^aj O
•-4 P O
mi 4. 4_ Oi rr> m i
— ' P <ti £Li£ 4.
p 0.1 aj aj X
ri —4 ?Ti £ mi I —
X O P Ml
P £ O --4 O OJ •
O aj p p P' o
O p OJ o
ai mi ri rri P rri
M i P 4. 4. p .
x o <ti r> uJ
OJ 'ti Mi M"i
OJ P P' mi ai ri
X -1 O 01 OJ 4. *4-
H- £ P -i- O P- P
— 4 ri ai OJ X O
r-4 4- £ P OJ O
ai oJ 'JJ 4- P ' " » '-iJ u
XXX 01 t_ — • -C 4- '
4... P' P .ti X -H 4->
P lj.1 A.
C I • -I r-4 Mi
•4-P O en mj "i — 1
Ci P OJ O uJ ui •-» ai
X P T >TTi
1 1 1 X OJ "tl '-4
-Tir-4 ai rri 4x 4_ x 4l
4-:- ai 4. Cl P £ ri r-J
•-4 X ai *"4 -h 1..1
1.1 -4 a o uJ '4
•i 41 £ "Ol . '.'i-V u
r-4 O UJ r-4 4—' |"4 4-J
41 4- C- 4r uHT 4-J
£ O u is rri !-
.-4 • £ O -i r
Ml P ^ '- ' " 4* U
P^T IJI--4 i::
•4 ri X 4. 4 ' 'M
Ci O ■'t O >ti ri O
S (JD X P 4~. i ' | —4
ai aj 4-* O • ■< a; -4
i_ . . O — • 01 "tj
ri X P O —4 iL P' 4- isr.
4_' 0.1 01 CO —4 M 1 Mi
ai P Ol X <Ti .4-4- .
ui--* 4 Q -ti '.J oJ 'ti
.4. £ O -* Tj 3 X
-4 Mi 111 a' 4-' M l
t. r-4 OJ OJ 4. O ai
il Pi.fi: O P X
•-4 ai ci c« .ti 'ti
£ X P £ '.-r' P'
p p X OJ O P Mi •-•
OJ Oi P .. .
0,1 Mi iTTirH P P
X --4 'ti X Mi U_ I'l P'
p ol' O' 3 >'ri ••< i.'!
,>: .ti ir.i O O a' X OJ
r J £ OJ X X —4 (— X
0.1 4,. UJ
Ol Ci X C'
4. 4... p.
X 4... P*
P' iji P
OJ X O "ij
- 0." iij
r-H nj i:
■-4 r-4 IjJ '.' I
I.:: >:: -I X OJ
01 f I 'Y P 4.
O ai >Tj --4
Oi 4l £ "tl
3 Mi O O £
iji 4- O
• ~t u_
rri4-> rri 0
r-4 --4 I.. 1 i_. '4-
X 1.1 Ol 'ti
■ s --i rri iii iM
4L r-4 .T4 Mi r-H
.ij 4l mi OJ Hi
Lt £ Mi O X
• -4 01 OJ -4
p Ai oj - mi u
hi P X. UJ ;i O 4->
C.I • -4 P' X
C" "r'' rji o
itl T 4 , r-l X
ui p ai u- _
Iji r-4 .Tj l..| 4-' Ol :-
X -ti i'i 41 O
4-' X —4 Ci
P O 4- 41
O X 4i -4
• -4 p OJ
ri ij.1 p> p X
r-4 X -4 OJ O Mi
(Jl 4..:' p X 4-> Tj 4.
iX * 4.. TTiri 1-- '-1
~i O P O
lf*J[' 1. 1 I. i Ml P 41. Ml
P UI P '■'!
iCXji -1 4. oJ OJ 0l£
.'-4 ij,i + p a' 0'
1 1 1 rJiX P' mi X £ i:
4-> 4_:> .ti • -4 <ti
■ | I •-! X P -4" 4- -'
„: —I 01 0' M i
Ljl.. u ai mi XXO' tJ
'ti ri --4 4. 4-' .- i=
X fT Ci
X P' £ 'Tr» mi
,ji h p mi Oj --j
0.1 4-> O 3 al X X
•4. P . •-» C. I P' r-4
•Tj Ml P' —4 l.'j 3 P'
.|..' I.. I ITj r-4 ljl C.I I.I
ij.i i, 0.1 r« 'ij I A- 01
X C.I O r-4 4- I 'i k.
P 41 Ci ai — 4 P
£ 4_ > P U J P O
-4 41. HI H i'i "i '- '
ai x oj oj
X P PX
P -Ti —4 p
m i P aj P
-4 OJ S— 1
.— . 41 P rJi
O O 3
P O P
Cl CJ 'ti
111 X H OJ
£ .ti i.O -4
p p to
i. Ij.1 — I .Tj .
I_l —4 X M l
- fT« M i 4_
O P HI
•H P' —1 P'
0 .1 s 0.1 a
ir-J iii oi ~ X
P' P 1.1
ai ri iTTiX
X 4l O P ST>
h- £ P d P
O 41 —1
ai P' r 01 —1
ijJ X O Ci
X ai l'i 4-
i: •-» O
O ai -
rri o mi
•ti ai •
4-:- P _:
- 01 P o
r-4 01 n i ai
•ti £ OJ X
OJ P 0'
4-i' I.' 1 4-
ai n ■
£ £ iji X
41. OJ ZTi
Ci 4-' X 4- '
41 41. --4 u
nj 1.1 U
rri i'i --4
4- P P M i
•-4 Cl P
r-4 111 -
•ij OJ £ •-•
ri P Oi rri
7? 'Tj 4.
O 4-> r:i P
p -u- rr ,-ri
C I I j I —4
i'i 4- i_.i
•Ti oj p >Ti oj p 01 m P OJ
Ol 3 P OJ P X Ol X
Mi O OP •-• --4 P
P X M l P H X Mj
O mi a! ai 0< •■<.
4. rri rn 01 P Oi
r-4 r-4 rH £ •Tj rjl
P M i X P .ti O --X
rT' 'Ti "-4 OJ O P —4 Mi
X OJ X OJ CTlr-4 X
3 -4 P X O CL P
ai en Cl Cl O 3 P
X X 01 OJ P O Oi
ijO P03P00 P P
•Tj P' O "4- OJ P OJ Ml
1 i~> P rT' iti X O X i~
Ui 4- Mi P P P 4-> OJ
iulji pp •-»•-• ri ox
0.1 p 4J. O CD - P
r_rr x ai p 4~' • P' p ri
P P OJ P » Oi P H
I — ri P T — 1 ai m o
0 -4 X P .Tj X - _
iT 41 r-J —1 4-' Mj mi u
Ci £ O rri —4 p p p>
muJ p. --4 p r-4 ai .ti x o
p x p p — 1
r^rr mi oj oj p1 01 x ai p*
rri--. —i 4-' cl >ti ox
Mi X 4- P P ri P
••rj p .Tj O Ci P >Ti p ai
al --4 4- O P 01 P
ai •-< ai P M i ■
P X • i P P X P
Mi 01 £00 Ml— 4 'Ti Oj
•H C O "4 "Ti S Mi P OJ P
PPXX P —~* T P P
P' 3 P <ti ijJ
H iTTiX .ti Mi £ X ZTi
01 P O P P P 01 X O OJ
X <ti P X ■-. --4 P >ti P1 X
-rip ai o ri 01 01 - p
•ti ai X P' O X iTT" i'i ill
3 p > p -ti a 01
(I) CL O P
CTi p P' O
M i .TiP' OJ » Mi Mi
- 41 ri X 41 • P
P O P O P 0' 0'
•-4 OJ O P OJ OJ Ti X
P Mi X P P P
O OJ P £ O >ti
Ml P — 4 ri Mi Ml
—4 -. ri O P 01
P M l P' T' i "
X OJ — 4 ijJ OJ uJ >ti !•_
N Ol *P P 4' P £ 0<
c — 1 X P o — • P
OJ O O r-4 O --4 "ti P P
X '''I P' —4 P' I. I 1-1 "ti
p. ' itix ri oJ
r 0.1 r 3 ci -4
.4. o :=• -1 + oj P; .
O 'ti 3 P1 Mi !— .ti a'
mi x o ai 4- • -4 a1 x
M l £ r— I P P r-4 P P'
Ml 'Ti P' r-4 01 I.O —4
al P - O P H P M i v
p CTi P '1 • -1 I 4l uJ ~ U
4.-' O C.I r— 4 Jt. 4
•Ti P X Ol P P* H
OJ Cl X 01 OJ 01 T.
P ri P' X 41X 4-' - 'ti
ZTi O P' rriP1 >Tj P ai
p P > 4- P' ,Tj P
ai —1 o 01 p ;'n oj
X P' • P' 01 P — ' o
P' Ml OJ 4-' "ti rjl 4.-' -4 I. I 4-'
Ci — 4 £ X i- i —4 r P1
|T r-4 --4 CTi— 4 CL4LP Mi rri
CI P P Ti £ £ 'ti - Mi
•4- IjJ P —4 O 4-' 4--' 'Tj
Ci ai •-• i'i i-i mi H al
P i.i itriP'
C'i •-* P H
0J p. iTj p X
O ai P OJ ai
•ti X M i X 0'
41 P P £ P
OJ O P
O O Ml 4-' 'ti
_ Jfl r-|
•Tj ljl I,' I X I.. I
ai " P ai X
X O O
P' al 3 "i
X m Ol £
p p. ai 4- ■
o i~ oj
•ti O 01 O U-
X P' o
p p I'i
■Ti 01 4
xx-- ai nj
3 - -1 Mi X
M i Mi M l P'
3 P oi mi
Ci X P 0'
X O 'ti OJ
■Tj IJ.I 4. 'Tj
ai P 'Tj £
p. 1, i x iTTiX Hi
O n:i X ir nj X
P X ai •-• OJ P'
P ZTi >ti Ci
mi - oj x ai o 4-
P •- • P 3 r-4 P'
O H P Ol
• -4 Cl --i ill CTi
p' Zti - r-4 nj
O OJ P Ml X P
P X 4. -1 >ti P
ri - «ti >ti
'P CC OJ OJ ~i >
O X '-■< P T
1 0 I- ij.i • -4 .ij
z: o j
•-i p X Mi i. ""I Mi
P' Ol £ -4 Ml "-I
• rj 0 1 TTi Ci 0' •
£ P Mi X P X P
Ol i_i £ O P' HI
X Mi nj 1'fi nj 01
H| >ti C|
X HI rri nj --4 £ Hi
1 j 1 1/1 X £ P' aj P
r^ 1 — 1 ai .Tj 0.1 ri !— P
r-4 — I P OJ X LL '-4
'I ai 41 4.. P' £ UJ rri
41 II I —4 nj O X il1
i'i nj £ 1 .1 P' X
* IJ-' !
•J o £
~t - -»
■h Li "J
... H ,-i
~\ O »ri
3 "D to
0.1 _ ui
O ill 4-
-i 01 Ti
til O u i
—I .Ti 0.1
I., r-1 X
-i OJ M"l
.-4 i,i -
r. h 1. 1
n i • -t
.Tj I JZ
oi oj s
- i J "T3
',•1 iTi ri
ijj != U
—» O P
1/1 •""» .jS l»"t
0. 1 I.* oi a:
Mi .Tl Ml cu
£ '.= «D
- !• J
+ •' i_i
7*. L i
• -. .TTi -
••H £ 13 'II
O T5 'Tj ij'i
O 13 4-:' I—
i.i .vj i-
13 — «
>r -» v.- u
O ' Ti ■-<
■H+.' :L. i.
d S_ >Tj O
I .Ti £
N O -C
i_ "Ti U
OJ i.i i~
i.ri iii •.'• *~*
IliUJ J J!lLUH^-3:J•
fuiMI-J -Jj|LU dpW
iii -J -J
r i.o d
Hi .Tj ... C.I — •
I S O i. "C 'f
^_ iL 'i' Ji
f J !U- 'U S- .
S_ . Hi !=
ijl :+: r-t i .i 4~i' !—
4-> O 'Ti 'Tj
4_. .<Z £■ U
HI LU 3 ^ „
— i OL 13
'" 2» .„ :~
21 !- r' iTj *
ill IX S~ != . -Tl
>r ill U-l 'Ti
•+ i_ :s OJ -■
ill O O iii U_ ,
X 4-' 'Il M- 'i'
4_. iL+j .rj s :=
•-* i_ -C Ml — <
O Ml £L U , >J>
'4- 4-' H v.
0J != O "T' OJ
i= ^ _ . 1 :~
0J 3 rri+j r>
4j O 13 £L != N4 iss
l= 01 O 0J Ul
O OI l-l V* • i-
u >-i n ^
O 13 -Tj O 31
iii M l O Ml — * 1=
i_ •P 'Tl
►~ iii a .Ti _ ;= _
jz m x. i= aj i=
4-> L 4"' *"i £ '"^
Ill O 'Tj
o z: o
i_ u i ■
T5 o tu
o o -
™' — : o
UJ u o
K- - T lTj UD
UJ , in ul U- 4_> H
■: I -J ., * O Ul .ti If) H
^ !H S 1= H U 2 " *> % ° % Z %
it fiJ o u 3 iu Lo K a' m r"- «
i 2 ^ ^ 1% « § % « 3, | „r li| 8f i«0-
UJ ^2 , -.„ I;. £ « 10 — ' «-S " . lUiii ":- '4.. "I'* O I'll *? '-i1 ^"s.
s " m rf ^> l.§ r»§ ;;i P ist
1 III m M III 'J3 US ^12 ^5 ^2 8*2 £*8 ^-
II II II
lUt-J "I ■
H i- ..... V' iri ,v;, O L 'il
• .Qu. ^,;( iii to ^ al
W U: ;-.i rl « h h i- ^ yi ^ J$ 1^. -n ^ o ^ 3 u?
iiiia -"'V - Jr. h r=T c nj .ti ^ -Ti <y 9
w ■ ^ ... iii o- ui iSfc iri ^ tj o £ y
,— | -if-l —I i~ — ' . iTl i_Jl "O I tj l_l - >Q .:- U I y
S_ iri -f~- O •• '^ka ^JU-t iii- 5E6i£ 'D S
.Tj U 'ill
il _* i— H 'Ti -,•■*, _ lZ,*. • rf. ri-:- T5 —I » 'il o>o >:- U S 2 —
y ,u • s= r- 13 i.O Tt ..O.Ti £ |-u-,x,-r ,^-7 .TitOChz: 'I wo - != 5 -'^
5 - *gi, -sir sis, -S2r j3. ^ - -3
= 8US3 =S2. *:a|r2 ^3^2 M^-°t »x2^£ o&«S ^SSl
H-;*.I«Jg Hrtli-Ul - .'>i:r,Xi3^ X2t«S "«-|p| . Sng3 ..^m* K^ii" h5x* =X3
-r- - , o in -S Q OS s_ H := o a ~« UJ .Ti O OJ .Ti _l :- _i r- a. -. ^ !-' J -u «f _ r~ g j o 0J
;i!jSS hISs! "5i»S ...IHiSSS «SiS£S h-S^S -pSd ^tfS*. 3^-3 m-I
=i 0) ri O w
S- ^ — i ;• <j:i °-
A Tape Index.... By Les Cottrell
In the last issue of the newsletter it was suggested that we
should write with our problems and experiences. Here is one of
I started looking for a program recently that wouldn't run
properly from disk. I had started to index my tapes a long time
ago by using the CATALOG function in MSCRIPT. That required
sorting thru each tape listing. I wished that I had a program
like the one I use for disks - Bob Mitchell's DISK INDEX
program. I decided that I could accomplish what I wanted by
taking the MSCRIPT file and running Bob's "mssort" program.
First I added any tapes I hadn't previously run into the MSCRIPT
file. They come in looking like:
BAS Beta Basic
58 Beta Basic
58 Beta Basic
After the names are
loaded into MSCRIPT
the header and other
unwanted info is
removed and it looks
like the list under
the first one. My list
was 640 programs long
after removing some of
machine code files.
Since mssort can only handle 200 lines
per pass I divided my file into four
sections and sorted on column four.
Sample result at the left.
Belltower 26,36 After the first four passes I used
3eta Basic 58 MSCRIPT block file moves to put all
A thru M files from each group together,
\" thru a, b thru p and then q and on. Each of these files was
mssort-ed again until my whole file was in alphabetical order.
Eight separate runs were used. The mssort part was the quickest
part of the operation. (Thanks Bob)
The completed file was scanned and a column was selected so no
file name would t extend into the tape numbers. The final file
currently looks like the last example. I may add some remarks
on the right side of the page later.
The final file is 367 lines long after eliminating duplicates.
And I can easily locate any program I have on tape. The bad news
is that the program I was searching for has the same problem as
the disk version.
323 V2 N. Church Street
Bowling Green, OH 43402
February 28, 1992
Well as you can probably tell, I got my new computer. My dad splurged a bit: he cot me a
386SX portable with Windows. This is being written on Microsoft Write for Windows (not
Word; frrite is their bargain word processor). As of ^ I^^y bou^t any oto
programs for it, just a printer cable and a mouse. I will probably get some stuff for it later though
- you know, math stuffand an assembler or compiler .
I had an idea about how to read DOS disks on our other computers without getting a CRC
error every track. There are 2 possibilities. Either you can format a disk on toe 2068 and
artificially put the DOS first track on it - yes, DOS can read a disk properly formatted this way-
or you could write or modifycode to read the disk erectly.
We discussed earlier that DOS disks only have 9 sectors on them, which is what causes the
CRC error - LKDOS expects 10 sectors on every track. DOS will not format a disk with 10
sectors on it, that just isn't an option in the FORMAT program. As it turns out, DOS wiU read
and write properly formatted disks with 10 sectors per track. I've really only tried it with 3.5 inch
disks, but it should be true of 5.25 as well. .
Of course, that raises the question of what is proper format. If we are talking about a 5.2!>
disk with 1 0 sectors per track and 40 tracks, that means we have a total of 800 sectors instead of
720, or 400K instead of 360K. Not a bad deal anyway, but the number 400 becomes significant
in anotoroy^ ^ ^ ^ ^ immediately. The boot sector, the first 5 1 2 bytes of track 0, would
to contain the following information (X means it doesn't matter):
235 60 144 X X X X X
X X X 0 2 2 1 0
2 112 0 144 1 253 2 0
10 0 2XXXXX
The rest of that sector is "don't care". I haven't figured out why the first 3 numbers ; are
there, but they are apparently necessary. The next 2 sectors from 512 to 1535 are the FAT. On a
blank, formatted diskthis would have the numbers 253, 255, 255, and the rest all 0 Since we told
it there were 2 copies of the FAT, naturally 1536 to 2559 are exactly the same as 512 to 1535.
The direectory would start at 2560, run to 1024 on track 1, and should be all 0s on a blank disk.
If you do this on a disk with 10 sectors per track, everything should work out.
The other option is more interesting, though a little more complicated Naturally, the
routines in the cartridge can 't be changed to read only 9 sectors. I have seen that if you ignore the
CRC error it really doesn ' t matter, but of course you can ' t tell if there is a real error or just 9
sectors. We could get around this by modifying the routines from Hcode, the ml part of the
LKDOS format program. They - not in ROM, and include all of the appropriate routines: read,
write, seek, step, Mid select (plus rrnat, ofco< ~se). The only problem is ma^sure ypu have
the right version of the altered co^ ■ Hcode.Cl .or you, Hcode.Ca for my AERCO interface. So
far, Ihave only found 4 locations that would need to be altered (I think). In the Larken version,
these are at 9CE2h, 9CFBh, 9DD7h, and 9EBDh. Of course, I'll check whether the
correspoiiding changes (at different locations) work with the AERCO version. If they do, then we
could simply use the altered versions instead of George's code. Though the fact that there are at
least 3 versions of the code • one foryour Larken i/f, one for my AERCO , and one I think tor
Zebra - would make things more difficult.
As you can tell, I have both the Larken and AERCO versions of Hcode, but not any others.
I know Larry made at least one other cartridge, but he may have made more, and each one tor a
different disk i/f would have its own version of Hcode. My Hcode is larger than yours, since
AERCO used 16-bit port addresses, but I would imagine the others) would be almost identical to
one or the other of ours.
Oh, naturally I have hooked up my good printer to this machine and will be using my old
Fastext with the 2068 from now on. I had to tell both the computer and the printer that it was an
IBM Proprinter instead of a Panasonic, but that is only a minor inconvenience at best. I had more
trouble hooking up the mouse for Windows - 1 accidentally erased the mouse driver and had to use
the 2068 to recover the file. That's why I know reading or writing a 9-sector disk is nothing more
than an inconvenience under LKDOS read track and write track. Write track didn't even tell me
there was anything wrong!
I'll check out whether there are only 4 changes to Hcode for AERCO before I mail this, so
you should find out in the P.S. if that is everything. That will be it for now, though. George has
my corrections to the AERCO printer software to make it work with a Fastext.
'•fowtj y. omJUuv-'
P.S. Yes, at least for the AERCO version of LKDOS FORMAT, there were only 4 places that
needed changing. I had some old IBM 5.25 disks that I wanted to copy the programs to my
laptop, whicn takes 3.5 inch disks, and so used the copy disk command on the modified
FuRMAT to copy from drive 1 (the 5.25) to drive 0. It didn't complain (no CRC errors or
anything) and neither did the laptop. I was able to copy PC-Write (a shareware word processor)
and ISETL (a language) to my hard drive. Nothing to say about actually reading files from one
computer on the other, though.
- r.-sr* r-i/i^ \t Voir -r i^A \l W& cifU\v\\t «t? optw?Vj A ''O'OjiV
SEND IN YOUR LETTERS, TIPS,
QUESTIONS AND ANSWERS. WE
PRINT ADS FOR FREE TOO!
TK2 - NETWORK - DATA_USE - \SER - ALTKEY
by Hugh H. Howie
Recently I asked you to do some work
with TK2 for. your self. I also have been
trying things with it, and have found a
use I never expected to find.
Many may ask what value the DATAJJSE
function may have. Certainly once the
defaults are designated it may be thought
that that is the end of that, but that is
not necessarily so; there are many ways
in which DATAJJSE may be utilised. The
same as there are many ways any given
TK2 function may be used. Have a look at
I am going to show how the commands in
the above header to this article can all be
combined, and used with effect.
I have too many disks lying around with
too much space wasted in too many
backups. I know we should all keep a
back-up of everything but sometimes
things get out of hand and that is what
happened to me, I had too many disks
chasing the same information, so I decided
to consolidate the contents, And that is
when my trouble started. This is my set
QL #1 -Networked To- QL #2
1 x 3 1/2 720 Drive 1 x 5 1/4 720 Drive
1 x 3 1/2 1440 " 1x3 1/2 720 "
Printer 1x5 1/4 360 "
I used to have more disks drives, but
while my fingers wandered idly over the
noisy keys, my feet were getting caught
up in pedals, so I removed some drives
from each QL. Sure cut down on the
draught from all them spinning drives.
My problem started when I wanted a hard
copy of the directory on a 5 1/4 disk
which meant using #2 QL through #1 QL.
I know there are many ways to do this
such as changing the drives around etc.,
but I didn't want to do that.
A lot has been written about the QL
Network, but I was never able to make too
much sense of a lot of it, which resulted
in my having to devise my own methods.
This is part of my experimentation. (I like
that word - it takes up almost a whole
I tried to use the DIR \SER and the
WSTAT \SER in various ways (remember
told you about them last time out?) Next
I thought if I used DATAJJSE command I
could change the default from #1, to #2
It worked! I was now able to get the stats
of the disk in #2 flp1_, to the printer on
Problem was I still wanted to be able to
use the default in #1 QL, so I decided to
put the DATAJJSE on an ALTKEY. In fact
I could put two commands on Altkeys, one
to put me into #2 QL and another to bring
me back to #1.
ALTKEY waVDATA_USE N2_pLP1J" To put
me over, and :-
ALTKEY "kVDATA_USE FLP1_" to bring
me back to #1.
In between the two Altkey commands,
could use "WSTAT \SER" or "DIR \SER
and this would allow me to print from #2
to the printer on #1. All being done with
a minimum of key strokes. (I don't like to
HIT my keys, they haven't done anything
to hurt me!) (yet)
So now when I wanted a printout of flp1_
in #2, all I had to do was press "<ALT> a"
and type "WSTAT \SER" to get my copy,
then type "<ALT> k" and I was back to
flp1_ of my #1 QL.
Now I know that it is not often I want to
do this sort of thing, but if I cared to, I
could incorporate the two ALTKEY
commands in my boot program and they
would always be there when I required
So there you are, I have done what I set
out to do. I have used TK2 to set up the
Network and the Data_use and Altkeys,
and used them all from #1 QL, to send a
D I Rectory from flp1_ of #2 QL, to th~
printer on #1 QL.
Now what else can I adapt to my needs?
11 iZti 1991.
A CHALLENGE TO PROGRAMMERS — i.«#ne««r
Want to play GOD and create a solar system? Want to learn about
astronomy? Want to set up a system to write a story about? Want
to have something more challenging than some of the computer
games? This is it. This is a real challenge to a programmer. I
hereby toss this out for someone to take it from here. I would
tackle it myself but I have too many unfinished projects now and
I am not a programmer. But I am sure that if I tackled this I
would learn a lot about programming and also astronomy. I
received a MSDOS ASCII file disk from Kirk and I converted it
with a program from George Chambers (Toronto) to a MSCRIPT file
and then with a program from Bob Swoger converted the MSCRIPT
file to a TASWORD file. Some of the material may be missing but
that is what happens when computers convert things. You can
either get the material from Kirk or myself. Same price. Except
that I can only supply it in the Larken DOS since I do not have
TASWORD on Oliger and I would need a way to convert it to Oliger
from Larken. Sorry about that, nothing is easy all the time.
II 01 1991.
When I saw the letter in Analog I could not resist writing and
then sending a disk in a SASE disk mailer so that I could get a
copy of the program in ASCII files. I do not have programming
ability but I hereby challenge one of you to take it from here.
I do not know if the T/S 2®68 has enough memory for the program
but I know that the QL does. For those of you that want to work
from the original material write to Kirk Thompson and get it
from him. His price is send in a disk and SASE mailer for the
disk to be returned or else send him Five Dollars.
Why did I wait so long to get the disk? I didn't, as soon as I
saw the letter in the magazine I got a letter in the mail. You
see I am slowly getting caught up in my reading. That is a sign
of a successful 1 retirement. Always have something to do and
never get it all done.
ANALOG SCIENCE FICTION/ SCIENCE FACT. MID-DECEMBER 1990.
I enjoyed your recent excursions into fictional world creation
(Gillette - July '89, and Barnes - March '90 issues). But one
thing which neither of them touched on in any depth was software
assistance in the design process. I remember a Program by
Stephan Kimmel, in June, '83, in the now - defunct CREATIVE
COMPUTING called "World Builder." It was written in Microsoft
B AS I C for' t he aust r a 1 op i t hec i ne Radio Shack TRS-80 Model 1, and;
dealt with the "physics and astronomy" (to quote the lead-m to
Barnes) of the process.
I adapted it for my Neanderthal Heathkit CP/M-based H-909
system. It includes facilities to select 1 of 34 known stars or
"design" your own, create a planetary system, add up to 1©
satellites per planet, and draw some conclusions on indigenous
life and human habitabi 1 i ty. Of course, the assumptions it uses
are simple, but it could be used a base for more sophisticated
effort. Even so, it is quite interesting to tinker with.
If any of your readers are interested, I would be happy to
copy it for them, along with a short ASCII documentation file. I
j ust ask that requests include a FORMATTED disk and postage -
Prepaid return mailer. I can read/write a host or CP/ (though
the Western Digital control lerchi p in ^ J"^1™. *1MI*»* ff* .
such as Kaypro, to single sided) and PC-XT formats. Sorry, but I
can't handle 3 1/2 in. If ir< doubt write me.
KIRK L. THOMPSPON
EDITOR, THE STAUNCH 8/89' ER NEWSLETTER
P. 0. BOX 548
#6 WEST BRANCH MOB HOM VI L
WEST BRANCH, I A 52358
QL YOU MIGHT LIKE TO KNOW ! ! ! !
HOWIE IN THE PAST FEW ISSUES HAS BEEN GIVING SOME
HINTS ON THE BENFITS OF USING TK2_EXT WITH YOUR TOOLKIT II.
SOME OF THE HINTS ARE DEPENDANT ON THE VERSION OF THE
FOR INSTANCE I FOUND THAT I COULD GET A LISTING OF A
PROGRAM BY TYPING : COPY XXXXX TO SER1
REMINDS ME OF THE LLIST COMMAND OF THE 2068.
Q L I P S
by Hugh K. Howie
This little snippet of a program is so
beautiful I cannot understand why we
have not found it long before this.
Remember all those windows we would like
to get rid of when we change programs?
The ones that overlap on the new
windows? We do not want to do RESET
as it might spoil something else; well this
is called WINDEX, and just like the name
of that wonderful blue stuff you are
given in the spring and told
GIT OUT THERE!!!! This little beauty will
clean up all those fancy windows for you;
well not really all, but most of them.
It will not get rid of those EXEC windows
but is a dandy for the S/B (watch your
langwidge) Fl windows.
It is not in the Library yet as I only
received it recently, but it's gonna be one
100 REIark ==============================
105 REIark *****ttt* flWex_bas Mttttttt
110 RMark ==============================
120 REIark Restores Fl Sereeo WIIDOIs
125 REMark fO, fl and 12 to their
130 REMark Normal ? aloes if they are
135 REIark "Trashed" by an unroly program
140 REIark Contributed by Ed Kingsley
150 REIark Bxtraet and add the PROCedure
155 REIark To yoor own graphic programs
160 REIark & Games to clean yoor WIIDOWs
170 REIark LRU! fIIDex_bas
300 DEFine PROCednre windex
304 BODE 4
308 OPEIf 1 , con_256x202a256x0_128 : PAPBRf 1 , 2 :
Illfl , 7 : BORDERfl ,1,255: CSIZEf 1 ,0,0
310 OPBIf 2 , con_256x202a0x0_128 : PAPERf 2 , 7 :
IHf 2 , 2 : B0RDERf2 , 1 , 255 : CS IZEf 2 , 0 , 0
314 ETC DEFine windex (022192)
If sosethinq goes wrong during the print-out of a docuient
on a big printer, often the only way to stop the print
operation is to switch the printer off. This say be a
useful, but certainly not an elegant, sethod. A reset
button, on the other hand, is.
Nearly all printers with a Centronics interface have a reset
input at pin 31 of the Centronics connector (consult the
tanual). That input is used in lany systeis to set the
printer to a defined starting state and at the saie tiie to
eapty the buffer.
The input say, of course, also be used to connect a reset
switch to. The diagras in fig. 1 shows how such a switch lay
be Bade quite easily. The 1 kQ resister prevents a short-
circuit at the coiputer output when the printer is being
piu 31 Chf H
Retyped by R. Bruneau frot ELEKT0R ELECTRONICS July 1989
Ideas for maintaining program confidenti-
ality have been published before in Basic,
requiring the user to input a secret codeword
before the program will run. Such security
checks are easily bypassed in Basic by the use
of Break or Stop keys. This code routine
cannot be circumvented. The machine code is
stored in a Rem statement containing 50
characters, as the first line of the program.
Since many hexadecimal machine-code
loading programs have been published, it is
not necessary to repeat one here.
The routine starting at 16516 prints a screen
prompt, then calls the key-scan subroutine in
ROM many thousand times, seeking for a
secret combination of keys to be pressed. If
this is not found within 27 seconds, it jumps to
the New subroutine in ROM and erases the
program, thus preventing unauthorised access.
To be effective, this idea should be
incorporated in a program which auto- runs on
loading from cassette.
The line following the program line
containing Save should enter the machine-
code routine at 16516 immediately, as
illustrated in the sample program. The routine
will work in both IK and 16K machines,
although it will probably find more use in 16K
programs which might store confidential
information. The screen is cleared and the
counter reset before entry to the main
program, so that further copies of the program
will still feature this security check.
The secret codeword may be two, three or
any number of any keys to be simultaneously
pressed, thus making it impossible for
uninformed users to breach the security check.
Your own secret codeword can be used if you
understand how the key-scan routine operates
in ROM. For those who do not, here are some
16535 16536 codeword
Shift A /J
Uvwll 1 IOI
3P 28 D7
3E 29 D7
Print screen prompt
3E OF D7
CD BB 02
11 9D D9
LD DE, secret code
SBC HL, DE
JR Z, +13
2A 82 40
LD HL, (16514)
22 82 40
LD (16514), HL
JR NZ, loop
C3 C3 03
CD 2A OA
LD A, 63 Reset
32 83 40
LD (16515), A Counter
Andrew Ho's protection program.
9000 SAVE "program name"
9010 RAND USR 16516
9020 RUN or GOTO start of program
Excerpted from a letter from member Harry Miller
A tip about the Larken system and disk drives
"By the way, George, I have found out what my trouble was, trying to
run the three drives with my DEC power supply. The DEC disk system has
2 drives and the power supply in the case has three four-prong male
connectors for supply i ng the disk drives. So I made up a cable and
hooked up a third drive. It worked for a little while with no trouble.
The nejct^t ime I used the set-up it also worked OK for a few times and
then none of the drives would work. I would then take the drives out of
the cases' and try and see what was wrong with them.
What I was doing wrong was was setting them up one at a time with a
separate power supply and they would work. Well, at the time I wanted
to use the computer so I would run with the one drive.
Now, this is not the same trouble as I had last year when I could not
get the drives to load anyth ing. That was another power supply problem.
Then, the voltage would drift down to 2 volts and 8 volts, which was too
Well, to make a long story short I presently have them all going, now
using two power supplies."
Comment by GFC... The older drives (the full-height types many of us
are familiar with) draw more power than modern drives. Therefore a power
supply that can handle the newer drives may not have sufficient power to
service the same number of older drives. If you exper ience drive
problems check the power supply when the drives are in operat ion to make
sure the output voltages do not drop much below the 5V and 12V required
by the drives.
FOR SALE FOR SALE FOR SALE
One of our members, Richard Hurd, has switched to a PC clone, namely
a Packard-Be 1 1 Pack-Mate 386 SX. Consequent ly Richard has some 2068
hardware add-on for sale.
-Larken RAMdisk, with 8 chips... Make an offer.
-Music Machine, a Sampler / M ID I i/f, Runs in Spectrum mode. . Requ ires a
"twister board "... Ask i ng $75 or bio.
-ZAD 2068 Ana log-to-D ig ita I converter i/f with Radio Shack De Luxe
Color Mouse. .. .Ask ing $30
-Two 3- inch Amdek disk dr i ves / power supply, with 25 d isks. . .Ask ing $30
-RS232 Video Terminal "Linger Board" with many terminal emulations.
Comes with IBM max i sw it ch keyboard and power supply, but no monitor.
Monitor capability is very versatile. Composite or TTL comes with both
ch i ps/ crystals. . .Ask ing $50
Write to Richard Hurd, 1020 S.Columb ia #6, Seaside, OR 97138 USA.
May I June 1992
May 15th, 1992
Dear OCT Members,
The S INC- LINK is ready to go and 1 haven ' 1 a thing to say I
I'm not sure that much has happened that I can report on.
Well, BYTEPOWER seem to have bitten the dust. I have had no
response to the two letters that I wrote to them* I had an early
letter from Kr i st i an, a copy of which I have sent to several
members whose orders had not been filled. One consolation; only
one member that I know of is out of pocket. I'll see what I can
do for him.
1 have heard from a member who wants to sell some of his
gear. Also from a non-member who has some TS stuff to sell as
we lle Both of them are going Into MSDOS et al. A common refrain!
I'll itemise them here because they both came in too late to
get into the news letter « Here they are:
James Wilson, 100 Portage Lake Drive, Akron, Ohio V-431 9-230U
Two TS2068 Computers $ 55 each
Two Silver TOS Disk Systems $125 each
One AMDEX III Dual 3 11 Drive $ 30
One 5.25" drive w I power supply $ 40
One TS2050 Modem in case, never used $ 35
One WICO track ball $10
One TS2040 Printer $ 15
Steve Wyman, 2889 St Clair Apt 3A, Toronto, Ont .
Steve is not a member. I think he received this Timex equ ipment
from a former member. I rather think he may have never used this
TS stuff, though he days that it all works.
2 - TS-2068 computers in good working order
1 - TS-2068 computer for parts,,
2 - Jutan Intern. Ltd Tape recorders
1 - OS64 Cartridge for 2068 deck
1 - A & J MicroDr ive unit plus 2 I/F boards that fit on
rear of 2068* There is also a Larken cartr idge which
seems to indicate that the there was a Larken car ridge
for the A & J system. I can't be sure of that.
19 - Microdr ive cassettes.
2 - 5.25" drives, full-height, cased.
One case includes a power supply
1 - Tasman Printer interface
1 - TS20H0 Printer
1 - Green Monitor
1 - TS 2050 modem
6 - YOUR SINCLAIR magazines, about year 1986
12 « SINCLAIR USER Magazines, in a binder,
probably about 1986
Some good Spectrum books, such as "Supercharge your
Spectrum", "Spectrum Advanced User Guiae", "40 Best M/C Routines
for the ZX Spectrum" , and some lesser ones
An Mscript manual, and a 2068 Pro/File manual.
A mess of other papers pertaining to the TS2068.
Steve Wyman does not have an asking price for the above items.
When I asked him he said "best offer". Note to US members, that
this is in Canada, so there may be cross-border problems.
I have been using the B Y TE POWER Utility "COPY II" to copy
several disks. It is a really neat program. It loads about 4 or
5 tracks at a time, and formats the new disk as it goes. That
is, you do not need to previously format the disk. I will
probably use it from now on, instead of the Larken "FORMAT. BL" .
Our Larken library is up to about disk #50 now. I have not
entered them into a catalogue yet. Too many other things on the
go. Here are the titles:
47 - BobSwoger ' s LOGICALL Disk Management System
42 - A modified Tasword 1 1 by Larry Crawford
1*3 - A Sampling of Widjup ut i I it ies. Out of date, but novel.
44 - 2^-pin graphics and screen copy package
45 - Speech Synthes is for the TS2068
46 - Language Tutor, by Joan Kealy. German and French
47 - Miscellaneous 2068 programs, assembled by GFC
48 - Selected Spectrum Board Games
49 - Games of Skill for the Spectrum
50 - Text files from S INC-LINK, in Tasword format
One of our members, John Sampson, died recent ly, of cancer.
His widow says that he had 4 operat ions in 7 months, and it
seemed to be just too much for his system. I'm sorry to lose
him; he had phoned me just three weeks prev ious I y, and we were
comment ing on our respect i ve medical systems. That seems to be
a hot topic in the US these days.
Oh, I know what I should mention to you. I had an operat ion to
remove a cataract from one of my eyes. Actually they scoured out
the cataract material and instal led a new plastic lens. It was
done under local anaest het i c ; I went in at 7am, and was home by
noon. Really a remarkable operation. Sight is still a bit fuzzy;
I'm told that it will clear up once they remove some stitches.
Enough of that.
Our Pres ident , Rene Bruneau, has more free time nowadays. You
may notice that we are getting more material about ZX81 hardware
in our newsletter from Rene. I'm glad. Then the newsletter also
is carrying the ZX-91 news letter , which is very novel and
interesting. Really, when I look at our newsletter , I am always
impressed and a bit amazed at how we continue to put out such
good stuff. Maybe more to the point, how members manage to keep
giving us material to put into it. Remarkable ! .'
I'm going to close now while I'm ahead.