Skip to main content

Full text of "Time Designs"

See other formats


Roy Wisti Sep/ss BULK RATE 

JULY/AUGUST ’88 275-B Sheldon Rd US. POSTAGE 
ree 5 Voluntown, CT 06384 COLTON, OF 87017 
3.00 U.S. Funds 


POSTM 
PLEASE EXPEDITE DELIVERY 
DATED MATERIAL 


ADDRESS CORRECTION REQUESTED 


The SINCLAIR Computer Technology Magazine 














| (716) 834-1716 T&CSERVICES (716) 834-1716 































The FOOTE PRINT 
PRINTER INTERFACE 


® for Centronics parallel printers 


Summer Westcoast 7S Fatr Special 


works in both 2068 and Spectrum mode 


compatible with OS-64 & Spectrum emulators 
EPROM socket and on/off switch on board 


works with both Tasman and Aerco driver software 


plugs into cartridge dock—door completely 
closes with cable running back under computer 
® frees up rear edge connector allowing other 
peripherals to be used; less chance of a crash 
@ print driver software for LPRINT, LLIST, and 
COPY included for 2068 and Spectrum modes 
FootePrint Interface w/software & cable #539. 95 
FootePrint with OS-64 option included $60.00 
Bare board & instructions only .......... $1500 
~Cable only for use with bare board ....... $1500 


Zero Insertion Force Socket option add $8.00 
SOFTWARE — TS2068 TS1000 










The Best of SUM | 
Some sample articles include: Building Your Own 




















Badgammon (Backgammon)........ $10.00 Spectrum Emulator, Repairing Your TS-1000, Word 

Advanced Math (Calculus).........$10.00 Processing Reviews for the 2068, UDGs on the TS- 

Calorie Counter..................... .. $8.00 1000, Extensive Review of the Zebra Disk System, 
: Adding a Keyboard to the 2068, and Enhancing the 

U.S.A. (Pres. & States 8 Caps.).... $8.00 %5.00 A &JMicrodrive.112 pages ~ 

Gambler (poker).........sccsecsecsscsees #8.00 

CHR$ (chor. & graphics generator) $10.00 $10.00 

Hangman & TIC—TAC—TOE......... eee BFL00 
















The Best of SUM, Part Il 


Articles include Building an EPROM Program- 
mer, Sprites on the 2068, Adding RGB to 2068, QL 
Word Processing, What's Available for TS-1000, 
and much more. 60 pages 


$7.00 


FOOTE <%, SOFTWARE 
P.O. Box 14655 
Gainesville, FL 32604 
(POF) SS38-L273 <(VAN-GPN EDT>S 


All prices are pre-paid and include shipping charges. 
both for £15.00 


Florida residents must add state sales tax. 


SEE THE TIME DESTENS AND FOGTE SOFTWARE BOOTHS 


AT THE NORTHWEST AND MID-WEST TIMEX SINCLAIR SHOWS! 














The SINCLAIR 
Computer Technology 


Magazine 


JULY/AUGUST ’88 
Ree ee tee tees ete Ses ti 


Time Designs Magazine Company 
29722 Hult Road 
Colton, Oregon 97017 
USA 
(503) 824-2658 
CompuServe ID# 71350,3230 


SUM 





BACK ISSUES 


TIHE DESIGNS 
¥¥ VOLUME TWO CLOSEOUT XxX 
(limtted quantity tn stock) 
$2.50 each, or 3 fssues for only £6.00 
NOV/DEC ’85 AUT we 1) 
JAN/_ soLD V™.. no.2) 
MAR/ 4. 36 (Vol.2 No.3) 
MAY/JUN °86 (Vol.2 No.4) 
JUL/AUG *86 (Vo1.2 No.3) 
SEP/OCT *86 (Vol.2 No.6) 


¥X¥ VOLUME THREE ISSUES XxX 
(plenty of these tn stock) 
$3.00 each, or 3 fssues for only £8.00 
NOV/DEC *86 (Vol.3 No.1) 
JAN/FEB *°87 (Vol.3 No.2) 
MAR/APR °87 (Vo1.3 No.3) 
MAY/JUN *°87 (Vol.3 No.4) 
JUL/AUG *87 (Vol.3 No.3) 
SEP/OCT *87 (Vol.3 No.6) 








VISA and an 
v4 | MASTERCARD  |s==te< 
ACCEPTED : 


TIME DESIGNS MAGAZINE Co. 


29722 Hult Rd., Colton, OR 97017 


TIME DESIGNS MAGAZINE is published bi-monthly and 
is Copyright 1988 by the Time Designs Magazine Com- 
pany, Colton, Oregon 97017. All rights reserved. 
Reproduction of this magazine in whole or in part by any 
means without written permission is prohibited by law. 


SUBSCRIPTIONS: $16.95 a year for six issues (U.S. 
funds only), mailed in the U.S. All other countries 
| please write for information on surface and air mail rates. 


CUSTOMER SERVICE: Customer satisfaction is our 
goal. For subscription service problems, or any ques- 
tions and comments, please write.or call. 


CHANGE OF ADDRESS: Please call or write our office if 
there is any change in your current mailing address to 
prevent delay or even loss of service. ~ 


RENEWAL TIME? To determine your expiration date, 
simply read the date posted in the upper-right corner of 
your mailing label (magazine cover). For an example, 
“Nov/89” would indicate that the November/December 
1989 issue would be the last issue received. A form is 
provided elsewhere to renew your subscription. We also 
Send one notice in case you forget. An early renewal is 
very much appreciated, and let us know we are doing an 
adequate job. 


NOTICE: Contributors to TIME DESIGNS are independent of the TIME 
DESIGNS MAGAZINE CO., and opinions expressed in the contents of this 
publication are not necessarily those of the management staff or its adver- 
tisers. Time Designs Magazine Co. will not be held liable for any damage or 
consequences resulting from instructions, assertions of fact, review of pro- | 
ducts or companies provided in the magazine's content. It is recommended 
that anyone attempting to modify their computer or constructing an elec- 
trical project should seek help from more knowledgeable individuals. 





yj 


ER SPECIALS = 







24 hour 
© ORDER LINE 
(503) 824-2658 


For Books, Subscriptions 
and Renewals 


Sinclair Survivalist 


HANDBOOK 
The Sinclair Survivalist Handbook is 


a new 70 page book that is filled 
with revious] un-publi pro- 
gram listings and articles, written 
by regular contributor’s to 

DESIGNS, for the TS1000/2x81, 
TSi500, TS2068, and the Sinclair Q@L. 
Examples include: "Adapting external 
keyboards to your TS1000", "BASIC 
Line Delete Utility", "Strategic 
Football", "Fix Your TS2068 Space 
Bar", "°0S-64 Utilities’, "Little 
League Scheduler", “Homemade ROM- 
Switch", "Draw Poker", "@L Super- 
BASIC Tutorial", "Using Quill With 
The QL Printer", “Inside the QL", 
and much more! If you like TIME 
DESIGNS...you’!11 like this new 
book. Order your copy today! 


































READER: SURVEY RESULTS 
Bore One 


Over 280 TIME DESIGNS readers responded to our 
recent survey. Which is approximately 11 percent of 
our circulation. Some of the results were most in-—- 
teresting. The rest of the results will conclude next 
issue. We sincerely hope that this data will provide 
developers of hardware and software, and the Timex 
Sinclair dealers with a better understanding of our 
TS user community. 


Average Age of TDM Subscriber: 45 Other Computer Owned: 
Oldest Reported Age: 79 4... 251000 
Youngest Reported Age: 22 2.- TS2668 
3; 2X80 
Male/Female Ratio: 22 Male/i Female = oe 
» 
States of Highest TS User Concentration: 
California Most Popular Printer: 
New York 1. 2040 Thermal Printer 
Pennsylvannia 2. Gorilla Banana 
Florida 3. Epson RX-80 
Texas 4. Star NX-10 
Ohio 5. Panasonic KXP-1080 
Illinois 
Virginia Most Popular Mass Storage Device Used: 
Michigan 1. Cassette Tape 
2. Floppy Disk 
10 Most Common Occupations of TS Users: 3. Microdrive Cartridges/Wafers 
1. Retired 4. EPROMs 
2. Engineer 
3. Electronic Technician Most Popular TS2068 Disk Systems: 
4. Supervisory/Management 1. Aerco FD-68 
5. Student 2. Larken LKDOS 
6. Instructor 3. Zebra FDD 
7. Consultant 4. Oliger SAFE DOS 
8. Military 5. Ramex MK 
9. Sales | 
10. Librarian 5 Most Popular Monitor Devices: 
1 = Céleavcaind= B/W TV 
Top 5 Hobbies of TS Users: 2. Magnavox RGB 
1. Computers 3. Zenith 
2. Electronics 4. Sanyo 
3. Photography 2. Commodore 
4. Amateur Astronomy 
5. Gardening 
oe dees Used The Most: 
TS2068 
TS1000 
QL 


IBM (or compatible) 
Commodore 64 


seh sod eck 


\AQONDODODOODODODDGGEDGEDODOEDOODOONEDEOGELODODODDODONDEUOONNDNNOOOOGODRODEOUOONOOODOROEGR ANNA AED EONE GEA ROROOEOHNA 2 THNDGOUEOOODOOEGENOOGEDOOGRNODODROOROODGUNONDRDOODONOEDOUONOANOGENGONOOGANGONODOODOOORGRDOOONDOROOOROOOESEOGoOROLoORM 


TIMEX SINCLAIR NEWS 







FILLY ... 


rut COLOR 


mc? FOF] screen dumps 
aA ¢/ tor the 205A! 


If only TIME DESIGNS were printed in color! Then 
we could show you what the actual "Sir Clive" screen 
dump (above) really looks like. It was produced using 
@ program called THE ARTIST, a TS2068 computer, an 
OKIMATE 20 Color Printer, and a special interface and 
printing utility software. 

To back-track just a bit...a couple of years 
ago, a puzzled TDM subscriber sent a letter to the 
editor, and posed the question whether the OKIMATE 20 
could be used with the 2068. Seems that the Okimate 
was configured to operate with "most popular brands" 
of personal computers, with optional "Plug 'n Print" 
interface/software packages...all of the brands, 
except the Timex (of course). 

Thanks to the research and development of John 
McMichael (who also adapted an inexpensive Commodore 
plotter to the 2068), Timex users no longer have to 
face discrimination. Using the Okimate 20, the 
Commodore "Plug 'N Print" package, and John's new 
“Commodore serial port emulation circuit board", high 
quality screen dumps can now be enjoyed in color. 
John also offers several print utility programs to 
help get the job done. 

Not only is the Okimate 20 a good color printer, 
but it is also suited for normal printer use 
(including NLQ mode). 

Information about the interface, amd related 
2068 software can be obtained by sending a legal SASE 
to: John McMichael, 1710 Palmer Drive, Laramie, WY 
82070. 

The Okimate 20 must be purchased elsewhere, and 
is available everywhere. Try Sears, Target, Best, or 
Lyco Computer Inc. (1-800-233-8760). Typical discount 
price for printer and "Plug ‘'n Print" package is 
right around $180. 


iki 
ii 

Another frequently requested device for the 
TS2068 is a MIDI Interface. MIDI stands for ‘Musical 
Instrument Digital Interface". Which is the means for 
hooking up electronic synthesizer keyboards, drum 
boxes (and much more) to your computer. Other 
computer brands like the ATARI ST and IBM PC are very 


strong in the area of MIDI support, both hardware 
and software. 


eR 7 














MIDI FOR THE 2068 











ii--5--——— 
—_— ce ae ee i ee rere ee 


il 











MIDI is an invaluable tool for music students, 
composers, and live performers. And since MIDI is a 
word-wide industrial standard among electronic music 
instrument manufacturers and computer manufacturers, 
it wouldn't matter if you had an ATARI or a SINCLAIR, 
the hardware compatibility should be the same. 

Recently, Richard Hurd, ‘a TDM subscriber and 
occasional contributor wrote, "I have had success 
implementing MIDI on my TS2068. I also would be happy 
to hear from anyone interested in this." 

Richard has purchased RAM Electronic's MUSIC 
MACHINE, a MIDI interface for the Spectrum, from 
England (see review in the November '86 issue of ZX 


Computing), and also some accompanying MIDI software 
from a company called QUASAR. To operate the Spectrum 
hardware and software on the TS2068, Richard pur— 
chased John Mathewson's ''Twister Board" for the rear 
expansion bus, and also used a Spectrum emulator. 

For further details, addresses, and even tips on 
ordering from Great Britain, send a SASE to: Richard 
Hurd, PO Box 153, Warrenton, OR 97146. 


WHERE GOEST FRED?? 


Fred Nachbaur, formally of Nelson, British 
Columbia, Canada, and highly-respected authority on 
Sinclair computers, has taken several new turns. Most 
recently, he has accepted a position with a firm in 
Ottawa, and will be turning his 1TS1000/ZX81 product 
line over to other Timex Sinclair dealers. 

Fred's own company, Silicon Mountain Computers, 
will be renamed "Silicon Mountain Electronics", 
which, as the name implies, will pursue avenues of a 
more general electronic nature as well as computers. 

As a former TS software/hardware producer and 
supplier, Fred found that he lacked critical time and 
funding for development of various special projects, 
including one particular project...a new type of 
computer. 

Fred recently told TIME DESIGNS that, "It should 
be clearly understood, however, that this project is 
by no means a certainty at this point. It's not be— 
cause of the infamous "big IF", rather it depends on 
a whole lot of "little if's". I have carefully chosen 
a core of potential developers who have expressed an 
interest to investigate the potentials; IF we all 
agree on the route to take; IF we all find the time 
to do our parts; IF the economics fall into place; IF 
the result of our brain-pooling results in a 
marketable product; IF no one comes up with a better 
mouse before we build a better trap...then there will 
be a new computer. But don't believe anything you 
hear, unless you hear it from us. If it does happen, 
it will not be, as rumour has it, a Timex "clone". 
The new machine will have some common features, such 
as elegance in simplicity, but a new machine in its 
own right.” . 

Fred wants everyone to know that he will 
continue to be involved with the ZX81 family of fine 
computers; as a user, writer, and hacker, but not as 
a commercial supplier of TS software. 


SECRET STUFF 


Nigel Searle, a close associate of Sir Clive 
Sinclair for over sixteen years, announced to the 
General Assembly of the Boston Computer Society, on 








June 22, that Sir Clive was involved in developing 
some highly secretive computer equipment, and that he 
(Sir Clive) would personally announce detailed plans 
of the project and launch it world-wide at an 
upcoming BCS meeting. 

The only speculation and possible clues about 
the new computer equipment are coming out of the 
British press. Supposedly, Sir Clive is developing a 
new desktop computer based on transputer chip tech- 
nology, similar to the INMOS transputer, only Sir 
Clive felt that the INMOS was unsuitable for his 
project, and went out and developed his own 
transputer. The new desktop will reportedly out- 
perform any PC technology currently available, 
processing data more than 10 times faster than an IBM 
AT. The new machine will be marketed under the 
CAMBRIDGE COMPUTER LTD label, just as the Z88 Laptop 
is. : 


CLEVELAND 


Saturday, August 27 and Sunday, August 28, marks 
the date for the upcoming MIDWEST SINCLAIR COMPUTER 
CONFERENCE, which will be held at the Beck Center in 
Lakewood, Ohio (a suburb of Cleveland). 

The Conference will feature TS exhibitors like 
Zebra Systems Inc., Sharp's Inc., Time Designs, and 
others; as well as seminars by Bill Ferrebee, James 
DuPuy, Basil Wentworth, Dave Hoshor, Thomas Simon, 
and others. 

For complete details, info on accomodations 
available in the area, pre-registration forms, and 
more, send a SASE to: Andy Kosiorek, 2192 Glenbury 
Ave., Lakewood, OH 44107. For alternate information 
contact: James DuPuy, 6514 Bradley Ave (down), Parma, 
OH 44129, (216) 661-4105. 

If you live in Ohio, any of the surrounding 
states, the midwest proper, Ontario (Canada), most 
anywhere on the eastcoast and southern states (or 
anywhere!)...come to the show and exchange ideas and 
information with fellow Timex Sinclair users. 


i | 4 

NEW RELEASES 
PODNUH is a clever name for a new TS2068 
program, which has been thoroughly tested since its 
conception: in 1986. This Machine Code program in- 
cludes a BASIC programmer (called "Supra-Basic") with 
& swift and reliable method of passing parameters to, 


hacker-types everywhere. It contains a complete 
annotated disassembly of the Home ROM and the XROM, 
along with several other tables of data. Mr. Pederson 
offers a theory which one may or might not accept 
about the development of the Timex ROM ard _ bank- 
switching routines...but it all makes for interesting 
reading. The book is priced at $20.00 + $3.00 postage 
and is available from: The WIDJUP Co., 1120 
Merrifield S.E., Grand Rapids, MI 49507. 

Arnold Ramaker, PO Box 263, Plymouth, WI 53073, 
(414) 893-8865, is busy designing an expansion box 
for the ZX81, TS1000, TS1500, TS2068, and Sinclair QL 
computers. Any one of the computers can be placed 
inside the supplied case. The expansion box will 
feature multi-expansion slots and provisions for 
attaching a monitor, and several other peripherals. 
Mr. Ramaker would like to hear from folks who are 
interested in purchasing an expansion box like this, 
to get an idea on what price range and any additional 
features people would like to see incorporated. 

Matthew Zenkar, 142 Holcroft Rd., Rochester, NY 
14612, (716) 663-2048, is offering a utility program 
which will allow QL owners who use the Digital Pre- 
cision Desktop Publisher software package, to dump 
their files to Hewlett Packard-compatible laser 
printers. Write for information and price. 

The S.A.I.N. (Sinclair Artificial Intelligence 
Network) special interest group is now forming. It is 
for any Sinclair user interested in A.I., Micro- 
PROLOG, LISP, and other related topics. For further 
information, send a SASE to: Pete Fischer, PO Box 
2002, Tempe, AZ 85281, or call the TIMEWARP BRS, 
(617) 481-0555 (setting: 8/1/N, 300 baud). 


LARKEN PRESENTS 2. 
UP TO 256K RAM for your 2068 


- Expand your 2048 with up to 254K of battery backed up Raa 
- Larken Operating system lets you SAVE to memory, just like 
cassette or disk. (Floppy disk not required ) 

~All Cassette commands supported. Very Fast and Reliable . 

- Can be used with ALL existing 20468 or Spectrum software. 

- Uses the new 32K static ram chips, 62254LP or 43254LP 

~ System consists of Larken Cartridge and Rear Mesory Board. 

## PRICE ~- MEMORY SYSTEM with 44K Ram cosesss $129.0 
~ MEMORY SYSTEM with 0 K asenecnsve: 5 95.00 


and calling other Machine Code programs. These 
"other" programs may be customized routines, 
extensions of BASIC, utility programs, or complete 
applications programs. A PODNUH (version 1) package 
is available for $17.00 + $2.00 postage, which in- 
cludes selectable type fonts, a perpetual calendar, 
note pad, scientific calculator, and more. "Add-On" 
options will continue to be added, such as WYNN DOE 
(a windowing utility) for $5.00. The author is 
also interested in sharing his program with pro- 
grammerS or user groups, am is offering a 
disassembled listing with documentation for $1.00, 
with the hope that PODNUH is adopted as a new 2068 
standard. Send check or money order to: Ron Ruegg, 
37529 Perkins Road, Prairieville, LA 70769. 

Many Timex fans have heard or read about the 
research that William J. Pederson of THE WIDJUP CO. 
has conducted on the TS2068 ROM/Operating Systen, 
from articles in several user group newsletters and 
magazines. Now there is a 160 page book by Mr. 
Pederson called "TOURING THE 1TS2068 ROM OPERATING 
SYSTEM". While this type of book isn't for everyone, 
it will be of interest to programmers amd 2068 


LARKEN 2068 FLOPPY DISK SYSTEM 
- The most advanced Dos available for the 2068/Spectrum . LKdos 
uses ALL Commands such as CAT MERGE ERASE LOAD SAVE PRINT OPEN 
etc. Also can support RAMDISK up to 254K and Sequential / Randoa 


Access Files (with additional software). .The Larken Disk 
Interface can handle up to 4 floppys for up to 3.2 MegaBytes of 
storage. Also NMI Save Button and KEMPSTON Joystick 
port on interface Also 10 Extended Basic commands for Windows 
and Graphics. 
AERCO RAMEX or OLIGER Disk users can add LKdos for gore 
commands, Ramdisk and access to all LKdos software 
## PRICE - Larken Floppy Disk System ...ccscecsee $119.95 

- Floppy Disk IF with 0 K Meaory board .. $149.95 

- Larken Disk Edi tor sevnecavese 

~ Sequential/Random access files ....eee 

- Xmodem to Disk Modem package  ..ecoccce 

- 2X-B1 Floppy Interface ({ 15 left)... 

- LKDOS for Aerco,Ramex or Oliger Disk IF 

(All prices are US , Add 4$ Shipping ) 


LARKEN ELECTRONICS RR#2 NAVAN ONTARIO CANADA K4B-1H9 
(613) -B35-2680 














the 


found that 





- 


The 
last four digits of 


following program develops words based on 
telephone numbers. I have 


a phone number is remembered as a word, 


easier than the four numbers. 


16K 


should also work with a T1TS2068, 


This program will run on a TS1000 or ZX81 with a 
RAM pack installed, or on a TS1500. This program 
with only minimal 


changes to the program. 


Line Uses: 


Those 


S"2X... PHONE HOME!" 


A T51000/T51500/2X61 Program 
To Help Remember Telephone Numbers 


by David Hartman 


users with a 16K TS1000/ZX81, should end 


up with "13505" printed on the screen, after entering 
the following line: PRINT (PEEK 16388 + 256 * PEEK 16 


389) - 


If 


likely 


1-24: Opening screen VARIABLES: 
25-40: Instructions and input 
§0~70: Check for *°1”’ and 70’ ngs 


80: See 8000 
110-200: 
202-255: 
260-310: 
500-575: 
600-640: 
53010-5040: 
8000-8040: 


Onn 


10 


BER SPELLS" 


30 
THEY 


Assemble words by slicing 
Print results on screen 
Copy and continue 
Assemble words if a 
Re-establish phone number for printing 
Initialize, set up arrays 

Not useful message 


f? 
*"1’ or ’O0” are involved “xe 


da Ky 


REM WORDS FROM TELEPHONE NUMBERS 

REM 105/1.1 3/20/88 

SLOW 

CLS 

PRINT AT 6,03"WORDS FROM TELEPHONE NUMBERS" 


PRINT AT 21,05"(C) 
GOSUB 5000 
FOR J=1 TO 
NEXT J 

CLS 

PRINT TAB 83"TELEPHONE WORDS",,, 
PRINT "ENTER THE LAST FOUR DIGITS OF 
SPELL. THEN, 


1988 DAVID HARTMAN" 


60 


WILL BE“,"ABLE TO REMEMBER IT WITHOUT","WRITING IT DOWN. 


40 


169 
170 
180 
190 
200 
202 
203 


INPUT N& 

IF LEN N$<4 THEN GOTO 90 
LET F=0 

FOR J=1 TO 4 
IF N@(J)="1" 
IF N#(J)="1i" 
IF N#$(J)="0" 
NEXT J 

IF F>1 THEN GOTO 8000 

GOTO 110 

PRINT AT 15,03;"YOU DID NOT ENTER A 4 DIGIT", 
"NUMBER. PLEASE TRY AGAIN. " 

FOR J=1 TO 60 

NEXT J 
GOTO 25 
LET X=1 
FAST 
FOR J=i 
FOR K=1 
FOR L=1 TO 3 

FOR M=1 TO 3 

IF F THEN GOTO 500 

LET WS(X)=LS(VAL N#$(1),J)+L&(VAL NS(2), 


K)+L$(VAL N#(3),L)+L$(VAL NS(4)yM) 
LET X=X+1 

NEXT M 

NEXT L 

NEXT K 

NEXT J 

CLS 

SLOW 


OR N$(J)="0O" THEN LET F=F+1 
THEN LET N#(J)="Q" 
THEN LET N#(J)="Z" 


59,3 
TO 3 


l; ms 


3AT 14,03"LETS SEE WHAT YOUR NUM 


YOUR TELEPHONE NUMBER TO SEE", “WHAT 
USE THAT WORD WHEN SOMEBODY WANTS YOUR", “NUMBER. 


205 
210 
Z12 
215 
220 
225 
230 
240 
245 
2350 


260 
270 
280 
290 
300 
310 


500 


a1 








THEY PROBABLY 


(PEEK 16396 + 256 * PEEK 16397) 


"13505" is your answer, then you have most 
typed in the program listing correctly. 


Holds entered phone number 

w$: Holds all possible letter combinations 
1$: Holds telephone dial information 

Flag indicates if a 
(Important to know because 1 and O do not have assigned letters) 
Increment control 

For/Next control 


71’ or a ’O’ is in the number 





GOSUB 400 

PRINT “HERE ARE THE CHOICES FOR "3NS3"=" 
PRINT : 

LET J=1 

FOR K=J TO J+5 

IF K=82 THEN GOTO 
PRINT WS(K) 5". "3 
NEXT K- 

PRINT 
LET J=K 
GOTO 220 
PRINT AT 
INPUT A$ 
IF AS<>"C" 
PRINT AT 
COPY 

RUN 


IF N$(1)="Z" THEN LET W#(X)="O"4+L3(VAL NS 


(2) ,K)+LS(VAL N$(3),L)4+LS (VAL NS(4)5M) 
IF N$(1)="Q" THEN LET WS(X)="1"4+L$(VAL NS 


(2) ,K)4+LS(VAL NS$(G),LI+LS$°VAL NE(4),M) 
IF N#®(2)="Z" THEN LET WS(X)=L$(VAL NS(1), 
J+"O"+L$(VAL NS(3),LI+LS(VAL NS(4),M) 


260 


21.0%" (C) COPY? 


THEN GOTO 25 


21,03" : 


330 IF N$(2)="Q" THEN LET WS(X)=LE(VAL N#(1), 


5020 LET L#(1)="" 
J)+"1"4L$(VAL NS(3),L)+LS(VAL NS(4),M) 5022 LET L$(2)="ABRC" 
540 IF N#(3)="Z" THEN LET WS(X)=L$(VAL NS(1), J024 LET L$(3)="DEF* 
J)+L$(VAL NS(Z),K)+"O"+LS(VAL NS(4),M) oe = Sear 
550 IF N$(3)="Q" THEN LET W$(X)=L$(VAL N$(1), 5030 LET SS 
J)+LS (VAL NS(2),K)+"1"4LS(VAL NS(4)5M) 5032 LET L$(7)="PRS" 
560 IF N%(4)="Z" THEN LET WS(X)=L$(VAL N$(1), 5034 LET L$(8)="TuUV" 
J)+L$(VAL NS(2),K)4LS(VAL N$(3)5L) +"9" 3036 LET L$(9)="WxY" 
570 IF N$(4)="Q" THEN LET W$(X)=L$(VAL NS(1), ee te Aes 
J)+L$(VAL N$(Z2),K)+LS(VAL N$(3B),L) +1" B000 CLS 
375 GOTO 169 8005 GOSUB 600 
380 STOP 8010 PRINT AT 14,03"YOUR NUMBER, "3N%5", HAS 
600 FOR J=1 TO 4 Ei TOO MANY ONES OR ZEROS TO BE USEFUL 
610 IF NS(Jo="Q" THEN LET N$(J)="1 IN- CREATING A WORD....SORRY ABOUT THAT." 
620 IF N&(J)="Z" THEN LET NS(J)="0" 8020 FOR J=i To 100 
630 NEXT J 8030 NEXT J 
640 RETURN 8040 GOTO 25 
5010 DIM L$(10,3) 8999 STOP 
9010 RUN 





eT By 


A Cas 


oTUD POKER 


io-Style Game Listing For The 


by William C. Andrews 


This is a TS 2068 program to play FIVE CARD STUD POKER 


against the computer, the dealer. After an ante you bet on each 


card dealt. 
time by betting "9". 


game’s progress. 


The dealer matches your bet. 


You may go out at any 
You must pay to see the hole card if 
needed. The dealer is also the banker and will keep track of the 


When typing the program please note that letters in 


quotes in lines 6919, 6939, 6059, 


6149, 


7828, 


letter in lines 8991 to 89852 are in GRAPHIC mode for UDG’s. 
9992 clears color from the screen for working on the program. 


9991 and the last 
Line 


Ze) 
268 


262 LET FP (3) =V; 








GO TO 3288 


NEXT Ks GO TO 482 


LET X#(2)=AS(F, 


Line 6969 selects cards randomly and line 6119 prevents 4)3 RETURN 
duplication. Cards are shuffled for each game. 265 LET F(4)=@Vi LET X#(4)=AS(F, 
4): RETURN 3 
For a tape of this program send $ 19.99 pp to me at 30 268 LET P(S)=V:i LET X#(3) #AS(F, 
Oak Knoll Drive, San Anselmo, CA. 94949. 4): RETURN 
30% FOR Im18 TO 24 STEP 3 
3i@ LET AsI 
iO LET ST=190 195 PRINT PAFER 4;L$ 328 GO SUB 4000 
15 IF ST<=0 THEN GO TO 467¢ 110 FOR N=16 TO 21: PRINT AT N, 330 GO SUB 3460+( (1/3) -5) 
20 BORDER 4: PAPER 4: CLS : LE @; PAPER 4;" 340 GO SUB 42300+(1+2) 
T T=@: GO SUB 8sgae - “i NEXT N 345 IF Il=24 THEN IF DR>=1 AND 
25 PAPER 7: FOR N=2 TO 14: FRI — ee 4959 alae AND DL>PL THEN GO TO Sii 
ee "s NEXT N aes — Pe@: LET D=@ 35@ GO SUB 4750 
a se = Z@ PRINT FLASH 13 PAPER 6;AT 355 GO TO 26g 
30 LET PR=@: LET DR=@: LET PL fear < peek ke Se $85.50 30268. 
@s LET DL=@: DIM X#(5)s DIM Y#(6 gg eee pe a ee 
) xs 400! 
. i har dil ae 36% LET D(3)=V: LET Y$(3)=A8 (F 
A ai eee 4:" "y PAP GO-SUR 6208 4): RETURN 
ER 2; INK 9; BRIGHT 1;AT @,5;" F Be ea lg Saag S get LET Dis) eva LET, YELAISAGtr, 
ee ye ee Ag a a opti 363 LET D(S)=V1 LET Y8(5)=A8(F, 
ie aes 155 LET P(2)=V: LET X$(2) AS (F, 4)1 RETURN 
4) 
5 $a caineaeselaemiaiaiamiianeainmeein 400 LET B=4: LET A=18 
ne ee ees 160 LET H=i: LET A=18: GO SUB 6 cio 6a ee ieee 
<5 jg 1) otonmntannaanmnermttacacr assoc Doo 420 LET D(1)=Vi LET Y#(1)=AS(F 
rie oc 165 LET H=@: LET A=24: GO SUB 6 4) . 
60 PRINT FPAFER 4:K% 430 GO SUB 4499 
65 PRINT "@"; INK @;" YOUR HA gee LE) As2t LEY Oia) evi LET YS 435 GO SUB 4430 
ND DEALERS HAND "3; INK 13" § (2) =AS(F, 4) 448 GO TO See 
" 175 GO SUB 4606 1@0@ DIM A(5): FOR N=1 TO 5 
70 PRINT AT 3, G;L;AT 3,0; "R"3 169 GO SUB 4750 1918 LET A(N) =F (N) 
AT 3,31)"5" 200 LET Bae 1920 NEXT N: GO SUB 1150: RETURN 
A ee a 218 FOR K=2 TO 8 STEP 3 
80 PRINT "§";TAB 313" @"3;TAB 3 220 LET A=K 193@ DIM A(S): FOR N=1 TO 5 
1; TAB Sis" y <30 GO SUB 6999 1935 LET A(N)=D(N) 
85 NEXT I 240 GO SUB 260+K 114M NEXT N: GO SUB 115@: RETURN 
Be tep Sack oes e 258 GO SUB 4990+(Kx19) 
5; F ge 21 GO SUB 4280 1158 LET STR=@: FOR N=1 TO 4 
fon eee nee Cee eS 252 IF K>2 THEN GO TO 358 4 oo eee 
6 1178 LET C=A(M) 
118@ LET D=A(M+1) 








1198 IF C<=D THEN GO TO i229 
1208 LET A(M)=D 

1219 LET A(M+1)2C 

1228 NEXT M 

1238 NEXT N 

1249 FOR N=2 TO 5 

1258 IF A(N)#=A(N-1)+1 THEN GO T 
0 1279 

1268 return 

1278 NEXT N 

1289 LET STR=1: RETURN 

3999 STOP 


4000 IF P(2)=P(1) THEN LET PL=p 

(2): GO TO 4150 

4G1® RETURN 

4020 IF P(3)=P(1) OR P(3)=eP(2) T 

HEN LET PL=P(3): GO TO 4156 

4%21 RETURN : 

4030 IF PR=1 THEN IF P(3)=P(1) 

AND P(3)=P(2) THEN LET PL=P(3)3 
GO TO 4199 

4842 RETURN 

4050 IF PR=1 THEN IF P(4)=P(1) 

AND P(4)=P(2) OR P(4)=P(1) AND P 
(4)=P(3) OR P(4)=P(2) AND P(4) =P 
(3) THEN LET PL=P(4): GO TO 419 

g 

4060 IF P(4)=P(1) OR P(4)=P(2) O 

R P(4)=P(3) THEN LET PL=P(4): G 

0 TO 4150 

497% RETURN 

4080 IF PR=3 THEN IF P(5)=P(1) 

AND P(5)<>P(4) OR P(S)=P(2) AND 

P(5)<oF (4) OR P(5)=P(3) AND P(3) 

<>P(4) OR P(5)=P(4) AND P(5)<>P( 

3) THEN LET PL=P(5): GO TO 4290 

4090 IF PR=3 THEN IF P(5)=P(2) 

OR F(S5)=P(3) OR P(S)=P(4) THEN 

LET PL=P(5): GO TO 4209 

4190 IF PR=2 THEN IF P(5)=P(1) 

AND P(5)=P(2) OR P(S5)=P(1) AND P 
(S)=@P(3) OR P(S)=P(1) AND P(S) 

=P (4) OR P(5)=P(2) AND P 
(5)=P(3) OR P(5)=P(2) AND P(S) 

=P (4) OR P(5)=P(3) AND P(5) =P (4) 
THEN LET PL=P(5): GO TO 4192 

4119 IF PR=1 THEN IF P(5) =P (1) 
AND F(5)=P(2) OR F(5)=F(1) AND 
P(S)=P(3) OR P(5)=P(1) AND P(5) 
=P (4) OR P(5)=P(2) AND P(S) = 
P(3) OR P(5)=P(2) AND P(S) =P( 

4) OR P(S)=P (3) AND P(S) =P( 

4) THEN LET PL=P(5): GO TO 4199 
4120 IF P(5)=F(1) OR P(S) =P (2) 
OR P(5)=P(3) OR P(5)=P(4) THE 
N LET PL=F (5): GO TO 415@ 

4148 RETURN 

4150 LET PR=PR+1 

4168 IF PR=1 THEN PRINT INK 23 
AT 16,2;"0NE PAIR", INK 1,AT 17, 
25 "ates BEEP 3,19 

4170 IF PR=2 THEN PRINT INK 23 

AT 16,2;"TWO"s BEEP .3,19s 

BEEP .3,10 

418 RETURN 

4198 LET PR=PR+1 

420 LET PR=PR+1 


4219 IF FR=5 THEN GO TO 426@ 

4220 IF PR=3 THEN FRINT INK 23 

AT 16,13" THREE 2 AT 17,13 "OF 

A KIND"; INK 1sAT 18, 15 “ateMaMaMeMaMe” 

"; BEEP .2,10: BEEF .2,14: BEEF 
tote 

4230 IF PR=3 THEN RETURN 

4249 IF PR=4 THEN PRINT INK 23 

AT 16,143" FOUR “3AT 17,15"0F 

A KIND"; INK 15AT 18, 15 “eteMeMatataMeM” 

*"'; BEEF .2,10: BEEF .2,1@: BEEP 
-2,10: BEEP .2,1% 

4250 RETURN 

4260 IF PR=5 THEN PRINT INK 2; 

AT 16,@;"FULL HOUSE"; INK 13;AT 1 

7 ; By ii ee te! 3 BEEF a bed ; 1s BE 

EP .2,1%8: BEEP .2,1@: BEEP .2,19 
: BEEP .2,1@: BEEF .2,1@: 

BEEP .2,1@: BEEP .2,1@: BEEP 
2,18 

427% RETURN 

“4280 IF X$(1)=X#(2) THEN IF x@( 


2)=X$(3) THEN IF X#(3)=X%(4) TH 
EN IF X#$(4)=#X$(5) THEN LET FR= 
& 

299 IF PR®& THEN PRINT INK 2; 
AT 16,13" FLUSH "3 INK 13AT 17 
pig atetete"e"e"e"e"s"" 3 FOR N=1 TO 10: B 
EEP .2,1@: NEXT N 
4291 GO SUB 14%: IF STR=1 THEN 

LET PR=7 
4292 IF FR=7 THEN FRINT INK 23 
AT 16,13; "STRAIGHT "3; INK 13AT 17 
pig ates eee "e"e”' s FOR N=i TO if: B 
EEP .2,19: NEXT N : 

4299 RETURN 

4320 IF D(3)=D(2) THEN LET DL 
=D(2): GO TO 4499 

4321 RETURN 

4323 IF DR=1 THEN IF D(4)=D(2) 
AND D(4)#D(3) THEN LET DL=D(4): 


440% IF DR=3 THEN IF D(1)#D(2 
) AND D(1)<>D(5) OR D(1)=D(3) AN 
D D(1)<>D(5) OR D(1)=D(4) AND 
D¢(1)<>D(5) OR D(1)=D(S) AND D1) 
<7D(4) THEN LET DL=D(1): GO To 
4546 
4410 IF DR=2 THEN IF D(1)#=D(2) 
OR D(1)=D(2) OR D(1)=D(3) THEN 
LET DL=D(1):.G0O TO 4530 
4426 IF DR=1 THEN IF D(1)=D(2) 
AND D(2)=D(3) OR D(1)=D(2) AND 
D(2)=D(4) OR D(1)=D(2) AND 
D(2)=#D(5) OR D(1)=D(3) AND D 
(3)=D(4) OR D(1)=D(3) AND D3) 
=D(S) OR D(1)=D(4) AND D(4)= 
D(S) THEN LET DL#=D(1): GO TO 45 
4d 
4430 IF DR=1 THEN IF D(1)=D(2) 
OR D(1)=D(3) OR D(1)=D(4) OR Dit 


GO TO 4548 )=D(5) THEN LET DL=D(1): GO TO 
4324 IF D(4)=D(2) OR D(4)=D(3) T A4e0 


HEN LET DL=D(4): GO TO 4499 4440 IF D(1)=D(2) OR D(1)=D(3) O 


4525 RETURN R D(1)=D(4) OR D(1)=D(S5) THEN L 
4326 IF DR=3 THEN IF D(5)=D(2 BT Baws 1134200 7o"kaes 


Y AND D(S)=D(3) AND D(5)=D(4) TH 4450 RETURN 
EN LET DL=D(5)1 GO TO 4540 4460 LET DR@DR+1 
4370 IF DR=1 THEN IF D(5)=D 

. 4488 GO TO 4590 
(2) AND D(S)=D(3) OR D(5)=D(2) A 4490 LET DReDR+i 


ND D(5)#D(4) OR D(5)=D(3) AND D( 
; 4592 IF DR=1 THEN PRINT INK 2 


alias 215 "ate": BEEP 3,2 

4560 IF D(S)=D(2) OR D(S)= 451% IF DR=2 THEN PRINT INK 2; 
DL=D(5): GO TO 4499 =. 

429% RETURN 


3-D mathematical plot of the moon’s surface (appeared in TDM J/A '85) 
Converts astronomic coordinates to altitude/azimuth (in TDM N/D ’85) 
Ultra-easy designer graphics for redesign of U.D.G.s (in TDM J/A '86) 
“udg” version 2 allows multiple fonts and much more (in TDM N/D ’66) 
BASIC full-screen window facility + restores screen (in SWN N/D ’86) 
BASIC Classy Front End new fonts utility (as appeared in TDM M/A ’87) 
Complete Classy Front End fonts M.C. version (as in TDM J/A-N/D ’87) 
PLUS this addition if you wish: 
“wkp” Windows & Portholes complete--can work with “ofe/mc” (New this issue) 
BINGHAM’S BEST 9.95 ppd 
12.95 ppd 


“UDG+" The popular & useful "son" of udg program as found in BINGHAM’s BEST 
“cfe/mc” Complete M.C. version of Classy Front End (use alone or with “wkp" ) 


“wkp" The complete M.C. version of Windows & Portholes (stand-alone also) 
JAZZOFIRE : 95 vod 


Mail all orders to: 
PAUL BINGHAM 
P.O. BOX 2034 
MESA, AZ 85214 


& 
(please US funds only) | includes 
i 
e @ 
Ounag Fire Windows 
WHS 2 ¢O0 cB 


| 
co ott ee Hons le ovine os al Sle tat cee JE cas a ss SS, 
EBIQEsSeREEIIE; | (2 
Se Wy 
Portholes 


TaPUVASASHRU ASSAD EAA SSSUIANSSASISONSLSSSISSSSISHASHBMHHBIE 


» 





GE 


SUnoHE Y 
‘ 


* New sted — er sal: 
sh RM ToT POS ated? THRE OCT CHILD 
EST UVURY 2]. Ox 66 gta dl oes pes tree ryr 
Ayse (Noe JOLT ¢Se Oat)? TFET COP CHILI 


FUOAODEDUGODED OR ETATERODopengoNS 
BU 





452@ RETURN 

4520 LET DR=DR+1 

4540 LET DR=DR+1 

4550 LET DR=DR+1 

4548 IF DR=S THEN GO TO 4610 
4570 IF DR=3 THEN FRINT INK 23 
AT 16,213" THREE "sAT 17,213 "0 
F A KIND", INK 13;AT 18, 215 "etwtetets® 
ee": BEEP .2,2: BEEP .2,2: BE 
EP .2,2 

4580 IF DR=3 THEN RETURN 

4590 IF DR=4 THEN PRINT INK 23 
AT 16,215" FOUR “sAT 17,213"0 
F A KIND"s INK 1; AT 18,21) "etette’? 
e""": BEEP .2,2: BEEP .2,2: BEE 
P .2,2: BEEP .2,2 

460@ RETURN 

4619 IF DR=S THEN PRINT INK 23 
AT 16,21;"FULL HOUSE";AT 17,213" 
aeeteee"e"ee”' 1 FOR N=1 TO 8: BEEP 
.2,2: NEXT N 

4620 RETURN 


4620 IF Y#(1)=Y$(2) THEN IF Ys( 
2)=Y$(3) THEN IF Y#(3)=Y#(4) TH 
EN IF Y#(4)=Y#(5) THEN LET DR= 
& 

4640 IF DR=6& THEN FRINT INK a 
AT 16,213" FLUSH.-"sAT 17,21; "oe 
ofaMe"e"e"e"e"e"" : BEEP .2,23 BEEF .2, 
2: BEEP .2,2: BEEP .2,2: B 

EEP .2,2: BEEF .2,2: BEEF Pr 4 
465% GO SUB 193%: IF STR=1 THEN 
LET DR=7 

4655 IF DR=7 THEN PRINT INK 2} 
AT 16,215" STRAIGHT "sAT 17,213" 
anata eee ees FOR N=1 TO 8: BEEF 
e2,28 NEXT N 

4660 RETURN 

467@ BORDER 6: FPAFER 6: CLS 

468% PRINT INK @;AT 9,18;"YOU’'R 
E BROKE" ;AT 11,1;"SEE YOUR BANKE 
R AND COME BACK." 

469% FAUSE @ 

4728 STOP 

4719-PRINT AT 19,@;"YOU NOW 

"SAT 20,8; "HAVE-8 "3ST 

4720 IF ST<1@ THEN PRINT AT 28, 
83" is 

4730 IF ST<18G8 THEN FRINT AT 22 
9 73 8 ie 

4746 IF ST<=8 THEN GO TO 467% 
475% PRINT FLASH 1; PAPER 6;AT 
ios. sai.” 

£760. PRINT AT 17,153" —" 

47708 FRINT AT 19,@3;"YOU NOW er 
AT 20,M;"HAVE-$ ";ST: IF ST<190 
THEN FRINT AT 20,93" " 

4780 .INFUT W 

4790 PRINT AT 16,1233" . 

4890 LET W=INT W 

4810 IF W>16 THEN FRINT AT 17,1 
S;"SORRY,"sAT 18,13; "LIMIT"sAT 1 
9,113" "SAT 19,133 "% 10" 
4820 IF W>18 THEN FAUSE 150 
4830 IF W218 THEN FRINT AT 17,1 
33" "SAT 18,133" "SAT 
9, 415" rs 

4849 IF W>1@ THEN GO TO 474¢ 
4858 IF W<1 THEN FRINT AT 16,11 


3 PAPER S; FLASH 1;" YOU "SA 
T 27,1325" CHOSE. "SAT 16,11, " 
TO GO “sAT 19, bas” imei =*%: 3 


EEP 1,-15: PAUSE 15@: GO TO 512% 
4868 LET ST=ST-w 
4878 LET T=T+2xW 
488@ PRINT AT 17,133" "SAT 
18,12;" "SAT 19,113" 
“SAT 17,13; "8 "sW 
489% PRINT AT 20,7;ST 


49090 IF ST<1@ THEN PRINT AT 29, 
8, i i : 
4919 IF ST<19@ THEN PRINT AT 2g 
V3 a de 

4920 IF T<1@@ THEN FRINT AT 19, 
11;"TOTAL=$"3T 

4930 IF T>=19@ THEN PRINT AT 19 
»ils"TOTALS"3T 





4948 RETURN 

4958 FOR 1=16 TO 20 

4966 PRINT AT 1,10; PAPER 4; "8"; 
AT 1,20; "a" 


497% NEXT I 

4980 PRINT AT 15,10; PAPER 4; "" 
ae 

4985 FOR N=16 TO 19: PRINT AT N, 
lis PAPER 73; INK 13" my 
NEXT N 


4999 PRINT AT 20,10; PAPER 4)" 9" 
s PAPER 2; INK 93" THE POT "3; PA 

PER 4;"8" 

4995 RETURN , 

S@1i@ IF PR>DR THEN GO TO 5a@6o 
S@15 IF DR>PR THEN GO TO 5119 
520 IF PR=@® AND DR=@ THEN GO T 

O 5130 

5@30 IF PR=DR AND PL>DL THEN GO 
TO 5049 

5049 IF PR=DR AND DL>PL THEN GO 
TO 5119 

5050 GO TO Size 

5068 PAUSE ao 

5S@70 PRINT FLASH 13 INK 1;AT 16 
,13;" WINNER "3 FLASH @; INK 3A 
T 17,43" "SAT 17,33" "3 

T: FOR N=1 TO 8: BEEP .1,19: NEX 
TN 

5080 LET ST=ST+T 

5090 PRINT AT 20,7;ST 

5108 GO TO Size 

5118 PAUSE ag 

S120 PRYNT FLASH 13 INK 1;AT 16 
»21;" WINNER "3 FLASH @} INK Q} 

AT 17,213" 
"sT: FOR N=1 TO 8: BEEP .1,-191 
NEXT N 

S13@ PRINT AT 16,113 PAPER 4; FL 

ASH 15" PLAY "“sAT 17,113" ANO 

THER "s3AT 18,113" HAND? "sAT 4 

9,113" (Y/N) " 

514@ PAUSE @ 

S150 IF INKEY$="N" THEN GO TO 3 

149 | 

5i55 GO To 11 

S16@ BORDER 3: FPAFER 3: INK 7: C 

LS 

5170 PRINT AT 1@,1;"HOPE YOU HAD 
FUN---COME AGAIN." 


5i8@ PAUSE @. 

5192 STOP 

600% FOR C=1 TO 2 

6918 PRINT AT B,A;"FJJIG" 

6%20 FOR N=B+1 TO B+5 

693G PRINT AT N,A;"K kK" 

6848 NEXT N 

6850 PRINT AT B+46,A;"HJJJI" 

6968 NEXT C 

6W@65 BEEF .@1,10 

697@ IF H=1 THEN GO TO 61239 

6W88 GO SUB 7oa" 

6090 PRINT AT B+i,A+1; INK X;A8( 

F,4)sAT B+3,A+1; INK @,AS(F,2 TO 
3)s;AT B+S,A+3; INK X;AS(F, 4) 

6100 LET V=@: GO SUB 7040 

6110 LET AS(F,1)="4" 

6128 RETURN 

6138 FOR N=B+1 TO B+5 

6149 PRINT AT N,A;"K"3 INK 13 "EE 

EE‘, INK By Wiee 

615@ NEXT N: RETURN 

6608 LET F=INT (RNDXKS52) +1 

6610 IF AS(F,4)<>"9" THEN GO TO 
1628 

6628 LET X=@ 

6630 IF AS(F,1)="2" OR AS(F,1)=" 

4" THEN LET X=2 

6648 RETURN 

7088 LET F=INT (RNDX52) +1 

7019 IF AS(F,1)<>"@" THEN GO TO 
7230 

7029 LET X=@: IF AS(F,4)="A" OR 

AS(F,4)="D" THEN LET X=2 

7830 RETURN 

7049 IF AS(F,2 TO 3)=" A" THEN 

LET V=14: RETURN 


8 





"SAT 17,23; "8 


7050 IF AS(F,2 TO 


LET Vell: 


RETURN 


7W68 IF AS(F,2 TO 


LET V=12: 


RETURN 


7070 IF AS(F,2 TO 


LET V=13: 


RETURN 


a4, prem! (a" 


3) =" 


2)=" J" THEN 


THEN 


Kk" THEN 


7080 LET VeVAL AS(F,2 TO 2) 
7098 RETURN 


B98 DIM 
D(S) 
BOG1 LET 
89S2 LET 
BOSS LET 
8004 LET 
B05 LET 
8986 LET 
BOd7 LET 
8408 LET 
B89 LET 
8418 LET 
8411 LET 
8412 LET 
8813 LET 
8914 LET 
8215 LET 
8016 LET 
8817 LET 
8@18 LET 
B8B19 LET 
8829 LET 
S021 LET 
8922 LET 
BO23 LET 
8W24 LET 
BG25 LET 
BG26 LET 
BW27 LET 
8928 LET 
BY29 LET 
8038 LET 
8831 LET 
88932 LET 
B32 LET 
8934 LET 
BOIS LET 
8826 LET 
B837 LET 
8438 LET 
BWI9 LET 
8848 LET 
68041 LET 
8042 LET 
B43 LET 
8344 LET 
8845 LET 
8846 LET 
8847 LET 
8848 LET 
B49 LET 
8058 LET 
8851 LET 
8852 LET 


A$ (S52, 4): 


AS$(1)="g 

AS (2) ="g 

AS (3) ="9g 

AS (4) ="g 

AS (5) ="g 

AS (6) ="g 

AS(7) ="g 

A$ (8) ="g 

AS(9)="g 

AS(19) ="g 
AS$(11) =" 
AS(12) ="g 
AS(13) ="¢ 
AS (14) =" 
A$(15)="¢ 
AS(16) =" 
AS(17) =" 
A$(18)="g 
AS(19) ="g 
AS (20) ="g 
AS (21) ="¢ 
AS (22) =" 
AS (23) ="g 
AS (24) ="g 
AS (25) ="g 
AS (26) ="g 
AS (27) ="¢ 
AS (28) ="g 
AS (29) ="g 
AS (3B) ="g 
AS (21) ="¢ 
AS (32) ="g 
AS (33) ="¢G 
AS (34) ="9g 
AS (35) ="g 
AS (36) ="g 
AS (37) ="g 
A$ (38)="g 
AS (ZI) ="g 
AS (4G) ="g 
AS (41) ="g 
AS (42) ="9 
AS (43) ="g 
AS (44) ="9 
AS (45) ="g5 
AS (46) ="g 
AS (47) ="g 
AS (48) ="g 
AS (49) ="g 
A$ (50) ="g 
AS(Si)="g 
AS (52) ="9 


BG52 RETURN 


9000 RESTORE : FOR a=USR 


USR “"k"+7 


9018 READ 


9028 NEXT as GO TO 


9O28 DATA 


60, 24 


9940 DATA 


29 


9250 DATA 


16,56 


9260 DATA 


6,40, 24 


DIM F(S): DIM 


AA Tt] 
2A" 
3A" 
4A" 
SA 1) 
6A" 
70 i 
8A" 
9A iT) 
1A" 
JA" 
QA" 
KA 1] 
AB" 
-B “ 
3B" 
4B" 
SB" 
6B" 
7B" 
BB" 
9B" 
195" 
JB" 
QB u 
KB" 
AC iy 
yd lag 
3 ‘i 
4C" 
SC ty 
EC 
di LT) 
8c" 
9C “ 
19C" 
gia 
fits 
KC" 
AD" 
oT) u 
3D" 
4D" 
SD" 
6D" 
7D" 
8D" 
9D" 
19D" 
JD" 
@D" 
KD" 


16 


ahi At TO 


user: FPOKE a,user 

24,606,126, 255, 255,126, 
28, 28,8, 197,127,197,8, 
16,56,124, 254, 254, 254, 


192, 255, 255, 255, 255,12 


9370 DATA 284,204,51,51, 204, 204, 


sl,ol 


9080 DATA @ 
9898 DATA ® 
9190 DATA 2 
9118 DATA 
9120 DATA 
9138 DATA 


4 


O,, 
B, 
td 


»15,12,24,24 
, 192,249, 48, 24, 24 
24,12,15,7,8,8,@ 
24,24, 48,240, 192,9,9,8 
,0,0,255,255,9,8,90 
24,24, 24,24, 24, 24,24,2 


9990 REMabcdefghi jk 
9991 REMABCDEFPGHIJIK 


9992 BORDER 7: 


LS : STOP 
9995 SAVE "STUD FO 
9996 GO TO 18 


FAPER 7: 


KER" 


INK @: C 


LINE 9899 


WARREN'S 2068 BASIE’. 
BOR Z OG bei ede 


Warren Fricke 


HORIZONTAL BAR CHART is a routine in BASIC for 





the TS2068 with an attached TS2040 printer. The APPLES = 180 units. 
purpose of the routine is two-fold. One, it is a — a | 
relatively short program that provides a bar chart to AVOCHDOS = 20 units. 
illustrate the comparative status of a number of items wOnNOs —" “si 
(up to 20) in an inventory. Two, it demonstrates one fia ae ee ito: 
way in which the 2040 printer can print out and BLUE BERRIES = S@ units’ 
“couple” automatically several screens full of data, — a = 
and print it as a single illustration. CHERRIES = 72 units.. 
This program will print out one screen full, or ng P : 
two screens full, as the number of items requires. GRAPES = in units. 
For example, we input data on 15 assumed and PROPE FRUIT = 25 units. 
related items, in this case various fruits. We also ee ci oe Rite Seal 
included make-believe quatities and ae title, in LEHONS = 88 units. : 
response to LINE 55 of the program. The routine is —_ ¥ 
universal. You may enter any related items and LINES = ii units. 
respective quantities. The item name is limited to 12 Peery 23 ner ey 
characters, in LINE 20. We also elected to call this reeiies ge SLES 
FIGURE 1, but again, this may be changed to suit your PERCHES = 562 units. 
application. Usually bar charts are used for a group ee . 
of related items of 5 or more. Less than this and a PEHRS = 35 units. 
pie chart may be a better choice. es x x ; 
In order to understand the arithmetic of the PLOT PINEAPPLES = 27 units. | 
and PRINT AT lines, such as 240, 250, 630 and 640, you © PLUMS = 12 units. 
should refer to a screen chart for the computer. There 
is one on page 152 of the User Manual. TANGERINES =z ¢ UNALS. 
H 
1 REM ## HORIZONTAL SAR CHART 
2 REM #4 "“D-36", 3-17-33, WF 
S REM #4 ENTER CATA 
8 LET max=@: POKE 23658,3 
18 INPUT “How many items, 5 to 
BO? “7s 
iS IF I920- THEN -ee. Ta 108 
223 ye AR(I,12): DIM OCT) 
32 FOR n=1 To I WUE ¥ , 
48 INPUT “Enter item No. “; in) Baer Es re eer | 
» amd quantity “;Asind ,O Cn) 
45 IF QOtn) +max THEN LET max=01 
rh) 
S@ NEXT n S68 PLOT @,0: GRALW @,175: ORAL 
SS INPUT “Ernrtver- tittle. Maxtemu 255,06: DRAW O,-175: COPY : CLS 
m of Se Characters a S10 IF I+=1l2 THEN GO SUB 6ae8 
2@8 REM *#+# PLOT CATA =e AS re B$/2;84,; 
2190 LET V=160 HH) 20 ,iz GU ral 
220 FOR m=1 TO I ents PLOT @,375: ORAW @,-17S:- DR 
230 FOR n=@ TO 2 Wy 255,08: CRAY @,175: coPyY : sTa 
240 PLOT @,V484n: DRAW S550 tm) Pp 
fiiax,@: NEAT ni 668 REM #4 PLOT CONTINUATION 
25@ PRINT AT e21- »1;AR(MI;" = oF DATA 
“;, Bimr:; | Ofrs tee 665 LET V=sil6e 
2608 LET VsV-16 618 FOR ma=1le TO I 
2708 IF m=108 AND T=10 OR m>10 AN 623 FOR m=8 TO 2 
D +e a GO TO 580 630 Ag Nk Poe aad CRAW 25340 (mn) 
238 NEAT m : f/fiax 5,2: NEXT 7n 
en dee ee taken Se B$/2;,BS; 540 PRINT AT 2l-VrS,1; Agim = 
28, ;‘> GUR Sas eS pei 5 ~ URALS. 
3608 PLOT ©,@: ORAV 8,175: DORA 650 LET V=V-16 
255,88: 4 @,-175: ORAW -255,6: 678 NEAT m: RETURN 
COPY : .STOP i 
A BROKEN 2068 x FIX IT YOURSELF! 
by John M. Bell 
IMPORTANT NOTE: The following article describes a 5 aes BS: SOO ORR ec ae Pie ree ge 
method of testing for, and repairing a Timex Sinclair sue SOE Ee pe seri ey chips, © chip(s) = 
2068 with bad RAM chips. Though it is a simple project usually destroyed when turning on the computer with a 
that most people with basic soldering skills are printer or disk interface attached. Though I have no 
capable of completing, and the information presented way of proving it, the most likely cause is a high 
here is believed to be correct, the author and pub- voltage “glitch” produced by the switching regulator 
lisher take no responsibility for any damage done to when it is "“powered-up" under a heavy load. Note that 
the computer (or hobbyist) as a result of, or while one or all of the chips can burn out, and in any 


combination. 

There are three symptoms that may indicate bad 
RAM chips. The first is a blank screen when the 
computer is turned on. This suggests either a "brain 


using this information. 








5 


rear 
4 


Sresire 
i 


GT-STtP cq = 
ae 
GT-STtrr ¢c = 


RAM CHIP LOCATIONS IK TIMES 2068, CHIPS ARE HARKED 4416-15 


GTt-STttrr de 


@> seria. no.[ | 


Syne EDGE OF PRINTED CIRCUIT BOARD 





~ J 


TIMEX TS-2000 
335-5000 1-@3A 


CARTRIDGE CONNECTOR —— 


FIGURE ONE 


dead" 2068 (the SCLD...or "square chip" 
and is VERY difficult to replace, 
or that most of the 


is destroyed, 
IF you can get one), 
RAM chips have burnt out. The 


second symptom is a display that consists of a white 
border around ae screen of "garbage". This indicates 
that at least one of the RAM chips in the first 16K 


bank is bad. The last and most obvious symptom is the 
free memory after power up is less than 38652 bytes 
(using the PRINT FREE command). If a Spectrum ROM is 
installed in the computer, the original Timex ROM will 


have to be replaced to use the FREE command. 
If your machine exhibits any of these symptoms, 
there is a chance it can be easily repaired. First, 


the computer's PC board must be completely removed 
from it's case. Save all the screws and be careful to 
avoid damaging the keyboard ribbon cable. Place the PC 
board on a non-conductive work surface and plug it in. 
Leave it turned on for a few minutes and then check 
each of the RAM chips for overheating (see Figure One 
for the chip locations). If any of the chips are hot 
to the touch, they are bad and need replacing. Mark 
them for removal. If none of the chips are hot and the 
computer still displays a black screen, the problem is 
probably not with the RAM chips. Consider sending the 
machine out for repair (to Dan Elliott of Promise Land 
Electronics—--see May/June '88 issue of TDM for address 
listing). If the computer displays a border around a 
screen of garbage, chips U6 and/or U7 may have gone 
bad. If a normal sign on the screen is displayed, but 
only 22268 bytes are "free", chips U16 and/or U17 may 
have gone bad. If 5884 bytes are free, chips U12 
and/or U13 and possibly U16 and/or U17 may have gone 


bad. 

The chips that are hot to the touch should now be 
removed. Don't bother trying to remove them in one 
piece. Just cut or clip pins near the body of the 
chip, and remove the remaining pins from the PC board 
with a hot soldering iron and tweezers. If the chips 
are suspected to be bad but are not getting hot, a 
more difficult problem exists. The chips can be 
clipped off the board and discarded, or removed in one 


piece. If the chip is clipped off, you will never know 
if it was good or bad, and it will have to be re- 
placed. If the chip is removed in one piece (a very 


difficult task), the chip can be saved for testing and 
possible re-use...but only at the risk of possibly 
damaging the PC board. Make your own decision. 


Once the chips have been removed, the computer 
should be tested again. Connect it to a monitor and 


turn it on. If any of the remaining RAM chips are now 
getting hot, they should also be removed. If the 
display was formerly black, and now displays the 





10 


normal copyright message, but with 
availabie, the chips can be 
should work fine. If a border is displayed around a 
screen of garbage. and chips U6 and U7 are still on 
the board, one or both of them may also be bad. Remove 
them for replacement or testing. 

New RAM chips for the computer will have to be 
purchased. The 2068 uses 4416-15's, which are 16K*4 
RAM chips. The 15 in the chip number designates speed. 
In this case 150 ns (nano seconds). Purchase either 
120 or 150 ns chips, as the slower 200 ns chips will 
not work. Radio Shack does not sell them, so they must 
be mail-ordered (suppliers listed at the end of 
the article). Consider purchasing extra RAM chips, so 
that if one of the RAM chips left on the board is bad, 
you won't have to re-order. Don't even think about 
soldering the chips in. Purchase IC sockets along with 
the chips. Sockets make it easy to remove a chip for 
testing, and at twenty cents each, are a lot cheaper 
than cutting a $4.00 RAM chip off the board. 

The sockets should now be soldered in place where 
the RAM chips once were. If the holes on the PC board 
are filled with solder, they will first have to be 
cleared. The best method I have found is to hold the 
PC board vertically ina vice, melt the solder from 
one side of the board with a soldering iron and use a 
solder pump to suck the molten solder out from the 
other side. Remove any solder splashes or excess flux 
from the PC board and solder the sockets into place 
using rosin core solder. ; 

Insert the new RAM chips .into the sockets with 
the notch end of the chip pointing to the back of the 
PC board. Test the computr out of the case once again 
as described in paragraphs two and three. If every- 


thing checks out fine, the computer can be re- 
installed in the case and used as normal. If the 
computer still does not work or has reduced RAM 
available, there are two possible reasons. Either 
there is yet another bad RAM chip (new or old), or 
another chip in the computer is damaged, but still 
operates. Re-test the computer for bad RAM chips, and 
if none can be found, consider having the computer 
professionally repaired. 


reduced RAM 
replaced and computer 


SUPPLIERS: 
JDR Microdevices, 110 Knowles Drive, Los Gatos, CA 
95030, (800) 538-5000. Takes VISA & M-CARD, $10 min. 
order. 
JAMECO Electronics, 1355 Shoreway Road, Belmont, CA 
94002, (415) 592-8097. Takes VISA & M-CARD. $20 min. 
order. 


Curry P.O. BOX 54607 
or ee 
Computer [Reiss seem 


H#eHeHeHEH SUMMER CLEARANCE SALE **#*%%% 







SOFTWARE for the T/S 1000: All $2 ea. 

Mixed Game Bag I\Presidents\ Stk Mkt Calc\ Red Alert\ 
Night Gunner\ Hangman\ Fin Mor & Rec Keep\ Alien Invasion\. 
Meteorites\ Chess\ Gambler\ Cube Game\ Mixed Game IIN 
Organizer\ Home Asset\ Home Improve.\ VuCalc\ Geometry\ 
Pioneer Trail\ Damper-Glooper\ Croaka Crawler Plus many 
more — Write for a list. 


T/S 1000 Computer (2K) with 3 Programs — $22.95 
SOFTWARE for the T/S 2068: 

Budgeter...%5 Stk Mkt Calc...€$3.50 

F2zohter Pilot...%12.95 


SOFTWARE for the Spectrum: 


Storm Bringer... #5 I, Ball...%6 Bigqgles...%8 
10th Frame...%10 Mag Max...%10 Snowman... $5 
Speed King ia « ores Skyranger...%6 Plus many “One 


Onlys’, write for a list. 


SOFTWARE for the QL: 


Super Disk CTKII req.)...%$19.95 Cribbage...%14.95 
SuperBoot...%$14.95 (disk) QRAM. .. $39.95 

Graphic TK. ..%18.95 Wanderer CRGB only)...%18.95 
Archive 22 0G. «2 $14.95 Grab Bag Il...%$14.95 
Fresidents...%$9.95 Nucleon...#19.95 

Super Checking... %#14.95 Thompson Case Ci22. = « BE. 99 
Assembler... #34.95 

MAGAZINES: 

QL Worlds: Current Issues -—- €#$4.25 \ Back Issues $3 
(Jan/Feb/Mar/Ap/May/June/Oct °87) 

Sinclair User: Current Issues —- $4.50 \ Back Issues $2 


(call for list) 

We also have: Commodore User; Commodore International; 
Amiga Users; Atari Users Atari ST Users Computer & Video 
Games; PC Amstrad; Amstrad User; Amstrad PCW...Call for 
Pricing. 


S/H Charges: Under #15 = $1 \ Under $30 = $2 \ Under $50 = 
$3 \ Under $100 = $4 \ Under $200 = $6 \ Over $200 = $8 


Sale Prices Good for 30 Days from Publication. 


Mass-Storage 


CADDETTE TAPE OTORAGE 


2068 PROGRAM INDEX 


by V. Phillip Hosey 








This simple program is easily adaptable to productive activities while passing the few minutes 
virtually any computer. It not only provides a delay required for LOADing lengthy data. One last 
modicum of security, but files all your’. stored note: LINE 0O was obtained from Randall Larson's "NO 
programs by digital location on tape, eliminating a DELETE PROGRAM" listed in the NOV/DEC '87 issue of 
lengthy title-by-title search. I always incorporate TDM ("In The Mailbag"). Originally intended for the 
an attention-getting BEEP at the beginning of each Spectrum, it functions perfectly without modification 
program SAVEd LINE 1 so that I may divert to other on the TS2068. 


il 











O>REM 1985:V. Phillip Hosey 


1 PRINT "STOP TAPE:CODE?": INPUT A$: IF a} I use my computer's serial 

$<>"(any CODE you want)" THEN NEW number as an access code. ; 

10 BORDER 0: PAPER 0: FOR 1=0 TO 21: CLS : oe. 
PRINT INK 7;AT 1,0;": V. Phillip Hosey/T So EF abe sa Or EN eee 
S-2068:1985": BEEP .01,-1: NEXT 1 Si TE INKS e~ 1) Aas pee 

20 INK 2: CIRCLE 80,92,81 ee et ee en Geese 

ag Ee 4: CUNGLE 201.5843 gc ip imecgceae tue HEP ES to ine eae 

30 PRINT INK 6;AT 2,10;"1";AT 3,7;"Progra So TF ST TREN Se ale ae 
m";AT 4,7;"-INDEX-";AT 14,23;"16k=90";AT 15 see 6 ee ee os oe 
,23;"second";AT 16,22;"loadtime";AT 4,22;"I 87 IF INKEY$="7" THEN LET t=165 (ignoye these samples) 
NKEY$"; FLASH 1;AT 5,24;"#2": FLASH 0 ee ee eee 

40 FOR n=0 TO 9: READ A$: PRINT INK 3;AT oo SF Teer ee" ss pew LET t=300 F 


50 FOR y=0 TO 31: PRINT 
,AT 224 ,¥3"* * 

60 IF INKEYS=""_THEN NEXT y: BEEP .01,9: 
GO TO 50 


ENS 45AT “21, 93"." 


"; INKEYS; 


oo Guo % 
1;"REWIND TAPE THEN’ SAVE ": 
99 DATA "Index Editor","BattleStarXEMIT"," 
Se MSCRIPT Master","Printer Drive","Accounts:1 
= 987","TS-2068 CDP","File Matrix","SmartMode 
m","WordWright","Dive Guide" 












Do you have lots of programs on tape? Do you gO crazy 
waiting For them to load? If you answered yes then you may bs 
interested in this program to double the speed of your taps 
loads. 

I was in the same position when I received the May 1S86 


issus of "Your Sinclair”. Even though I have the AERCO FD-68 SI 
still have lots of programs on tape I really didn’t want to move 
to disk and I still make backup copies of important progams for 
long term storage. Using disk made my tape deck seem so slow. 


In the magazine was a program by Esben Hansen for the 
Spectrum that allowed you to save and load programs at variable 
baud rates From 1500 (normal rate) to 3500 (mors than double). 
I wanted to do this on a 2068 so I vowed to convert the program 
to work on my machine. 

This was not as easy as I had thought. While a lot of the 


program was compatable with the 2068, by just changing the ROM 


calls, the calls to the tape handling routines were a problem. 
On the 2068 the tape routines are all in EXROM. It was either 
bankswitching or a rewrite to do the tapes handling routines 
within the program. I chose the second and by some Fiddling 


managed to gst the program to work with most of the Functions in 
the original and only use a little over 200 bytes more. 


The program supports all the tape commands - Saves, Load, 
Verify, and Merge. Turboloader is invoked by a RANDOMIZE USR 
63600. This is followed by the Turboloader commands - EIisti; 
PRINT, INPUT, or RUN. And Finally your tape command - SAVE, 
LOAD, etc. 


To save a screen at double speed: 

RANDOMIZE USR 63600: RUN 3100: SAVE "pic” SCREENS 

The keywords List, Print, Input, and Run will still work as 
normal except when they Follow a RANDOMIZE USR 63600. When used 
as.Turboloader commands they have the following meaning: 


LIST - This command reads a header from tape and lists it on 


the screen. It displays program length, data ‘length 
For code, start line, etc. 
ex: RANDOMIZE USR 63600: RUN 3100: SAVE "test” CODE 


63600,600: LIST 
RUN - This changes the baud rate. It must be Followed by a 
number ranging from 1500 to 3500, in steps of e200 
€1500,1700,1900, etc.). A good tape recorder should 
be able to handle at least 3100. 





Tape "°;AT-5,22;" 
AT 15,23;"Forward";AT 16,22;" Tape To"; FLA 
SH iI:AT-17,252¢;AP..21,7;"* PAUSE. TO- LOAD 
FLASH 0: 


2068 TURBOLOADER 


by Floyd Chrysler 
(adapted from an original Spectrum program, 
with permission, by Esben Krag Hansen) 


Now ";AT 14,23;"Fast- "; 


INK 7: LOAD INKEYS$ 
BEEP 1,30: PRINT ; 
FLASH 0 


Lior 99; FLASH 


You can list program names 
in order prior to storage. 
(Ignore these samples) 


\ 


INPUT- This deals with the message start tape on SAVE’s 


INPUT 2 prints the Turboloader message and the start 
tape message and waits for a keypress. 

INPUT 1 print the Turboloader message only and waits 
for a key press. 

INPUT O prints nothing and goes right into the 


save 
without waiting for a key press. 


PRINT- This deals with LOAD/VERIFY commands 
Print 2 prints the turboloader message 
names as they are found. 

Print O nothing is printed. 


and program 


PRINT 2 and INPUT 2 are the initial default values. 


There is a lot of code to enter for Turboloader. I 
included a Hex loader program to make it a little esasier. 
the loader program and save it. The code ¢s listed in 
columns. The first is the address for that code line. 
thse code in blocks of B hex bytes. 


have 
Enter 
threes 
Next is 
Last is;a check digit. 


start 
then 
and 
Enter 


When you run the hex loader it will ask you for a 
address. The first time you should enter 63380. It will 
ask For the code. Enter all 16 characters (8 hex bytes) 
press enter. You will then be asked for the check number. 
it and if all is ok the program will display the next address 
Cwhich should match the next address in the code list), if there 
is an error the program will beep and redisplay the same address 
For you to reenter the line in error. 


At any time you may enter STOP to the enter code message and 
you will be prompted to save the code entered to that point. 
You can then restart at a later time by reloading the code and 
loader program and entering the next address from where you left 
off at the prompt. When you have entered all the code ths 
program will prompt you to save the code. Once you have all 
the code saved you can start speeding! Enter CLEAR 63379: LOAD 
"TURBO” CODE 63380. Remember the entry point to the program for 
all user calls is §3600. 


Don’t be intimidated by all the code. I’m sure you will 
Find it worth the time to enter. If you have not yet spent the 
Family Fortune on a disk drive you will Find this program 


invaluable, 


12 








160 POKE adr,FN h(€cS)*16+FN hCa 


(ready 


addr 


63380 
63388 
63396 
63404 
63412 
63420 
63428 
63436 
B3444 
63452 
63460 
63468 
63476 
63484 
63492 
63500 
63508 
63516 
63524 
63532 
63540 
63548 
63556 
63564 
63572 
63580 
63588 
63536 
63604 
63612 
63620 
63628 
63636 
63644 
63652 
63660 
63668 
63576 
63684 
63682 
63700 
63708 
63716 
63724 
63732 
63740 
63748 
63756 
63764 


63772 
63780 


63788 


637396 
63804 
63812 


63820 


$) . 
1S0 PRINT cSC(1);a$S; 
Hex Loader eC00 LET cS"cSC(3 TO D 
30 DEF FN HCaS)=CODE aS-48-(7 210 LET sum=sum+C(CPEEK adr) 
AND aS>"9") ecO LET adr=adr+1 
4O POKE 23658,8 230 NEXT i 
SO INPUT "Start Address:”;star e+O INPUT "Check Number=”; check 
= 
60 IF start=63380 THEN GO TO e2SO PRINT ” ”;sum 
sO e60 IF sum<>check THEN GO TO 3 
70 INPUT "Have you re-loaded c ‘tO 
ode?”; 2% e270 NEXT t 
BO IF zS<> "Y”" THEN PRINT "Lo ©2680 PRINT "END OF CODE” 
ad code and re-start”: STOP 230 SAVE "TURBO”CODE 63380,2066 
SO LET adr=start | 
100 FOR t=start TO 65444 STEP Bg 300 PRINT "VERIFY” 
310 VERIFY "TURBO”CODE 63380 
110 LET sum=0 320 PRINT ”"FINISHED” 
120 PRINT adr;” ”; 330 STOP 
130 INPUT "enter code ";cS$ 340 LET adr=adr-8 
140 IF cS=”"STOP” THEN GO TO 38 gaw BEEP .5,1 
0 360 PRINT "ERROR - RE-ENTER” 
150 IF LEN cS<>16 THEN BEEP ,2 370 GO TO 110 
S, 2565S 0 +30 380 INPUT "Do You want to Save 
160 FOR i=1 TO 8B your work? CY or N)”;z$% 
170 LET aS=cS$(2) 350 IF zS=”"Y”" THEN GO TO eso 
400 STOP 
333 SAVE "hexload” LINE 10 


Turboloader Code 
for Hex Loader program) 


code 


CF1A7EE6CO20191A 
13BE2320021ABE1B 
eCB3I008ESEBCD2017 
F118ECCDFOF718E2 
7EYFFEBOCBES214B 
SC7EFEBO02825B928 
08C5CD2017C1EB18 
FOEGEOFEA02012D1 
DSE523131ABE2006 
1730F7E11803E118 
EO3EFFD1EB3C37CD 
FOF718C420100822 
SFSCEBCD2017CDS0 
17EBeASFSCO808DS 
CDe0172eSFSCeAS3 
SCE3CS0838072BCD 
BB1l2231803CDBB1e 


-€3C1D1EDS3S3S5CED 


SBSFSCCSDSEBEDBO 
FiC10SCDS017D1ics 
3D20FDA7O4CB3E7F 
DBFE1FDOASEG2028 
F3792F4FE607F608 
D3SFE37CSFS3AN85C 
E6380FOFOFD3FE3E 


. 7FOBFE1FFB3802CF 


OCF 1CSo0o00000000 
OCOOQOOOCDFFEOD2s8 
47FESAC8O02CFOBFD 
StOD2ASDSCESE721 
7OFBESFEFS285DF5 
ESCDCDFSE1F1FEEE 
C8SFFEF7CAC7FAFE 
FOCA78FAOGOOFEFS 
CB86104FEEFeCSSCO4 
FED628S704FEDS28 
SseeeSDSCFDSSODE1 
CDOCYFSEDYB76SCCS 


' SASBFFFEO2COC3AS 


O83A3CFFFEO2COCD 
AS081160FEAFCD3F 
O7EDYB37FFCD8817 
SEODD7CSCDOOFSFE 
O3D276FA323BFF18 
DSCDOOFSFEO330F1 
3e3SCF FCSE7CDESIB 
CSLELF783239FFE7 
CDEF 1BCD8S28283D 
0111003A3SFFA728 
O20E22F7DSDDE106 
OB3E20121310FCDD 
3601 FFCDAFe2F21F6 
FFOBOS0330103A339 
FFA72003C3701478 
B1280A010A00DDES 
E123EBEDBODFFEEY 


check 


seu 
S21 
B23 
1427 
1124 
902 
917 
1367 
750 
B13 
1305 
797 
367 
716 
606 
B35 
677 
1169 
1336 
1349 
306 
1183 
981 
1188 
BSE 
1147 
454 
530 
896 
785 
1464 
1845 
1381 
1320 
770 
1106 
BYS 
1372 
1184 
1034 
987 
993 
1199 
969 
1216 
1258 
969 
gs 
535 
962 
631 
1016 
457 
so4 
688 
1613 


63828 
63836 
63844 
63852 
63860 
63868 
63876 
63884 
63892 
633900 
63908 
63916 
63924 
63932 
63940 
63948 
63955 
63964 
63972 
63980 
63988 
63996 
64004 
64012 
64020 
64028 
64036 
BYO44 
54052 
64060 
64068 
64076 
64084 
64092 


‘64100 


64108 
64116 
64124 
64132 
64140 
64148 
64156 
64164 
64172 
64180 
64188 
64196 
64204 
64212 
64220 
64228 


64236 
B4Y244 
64252 
64260. 


64268 





20473A3SFFFEO3CA 
ED1BE7CD702CCBFS 
300C2100003A3SFF 
302816C3911BCeED 
1BCD8S282818237E 
DD770B237EDD770C 
230D710E3E01CB71 
€68013CDD7700EBE7 
FEeSe0DAE7EBC3ED 
FBFEAA2O1C3A39FF 
FEOSCAED1BE7DD36 
OBOODD360C1B2100 
YODD7SODDD740E18 
SAFEAF2O4D3A3SFF 
FEOSCAED1IBE7CDE7 
21200C3A3SFFA7CA 
ED1BCD511C180FCD 
ES1BDFFEeCe80C3A 
3SFFA7CAED1BCDS1 
1C18O4%E7CDES1BCD 
231F0D710BDD700C 
CDe31FDD710DDD70 
OEGO6SDD360003C3 
6DFBFECA2B07DD36 
OESOC34DFB3A3SFF 
A7CeEDIBE7CDES1B 
C344FBE7CDES1BCD 
231 FCSCDES300164 
OOCDES3S0EFOS38CD 
LE1LFFEOF3S834FEC4% 
SO30D60FCBY47202A 
CBe7CBe7el4tDFFOG 
OOYFOSEB213DFFO6 
O8CS1A134Ee2346e3 
O2C110FS3A1BFE32 
4SFECIEDY3S37FFC3 
COFSCFOSE7FEOD28 


. OGFESAe2BO2CFOB11 


1100DD2126FFAF37 
CDOCBFD30Fe23A26FF 
FEOY3SO0EBCDCYFB3E 
O2CD301e11F6FECD 
3FO71127FFO60A1A 
FE203001AFD71310 
FG3EQDD73ACEFFA7 
eBeeFEO3Se8SD3SE0S 
1160FECD3F073A34 
FFFSE61FC640D7F1 
CB7728033E24D73E 
ODD71B84%EEDYBS3FF 
7BE6CO2010CS3E0e2 
1160FECD3FO07C1iCD 
68173E0DD73E0611 
6GOFECD3FO7EDYB3S 
FFCSCD3AFB3E0711 
6OFECD3F07C12A31 


13 





932 
1308 
463 
921 
634 
B64 
762 
S07 
1315 
1105 
1229 
358 
730 
982 
1390 
816 
B22 
B87 
1231 
953 
756 
951 
ES9 
1138 
1035 
1317 
1411 
gS0 
991 
728 
673 
BSS 
678 
468 
B4YS 
1329 
1207 
S35 
734 
1302 
1252 
935 
423 
760 
1054 
531 
752 
1479 
740 
348 
B51 
1040 
S34 
330 
1052 
gog 


‘64276 
64284 
64292 
64300 
64308 
64316 
64324 
64332 
64340 
64348 
64356 
64364 
64372 
64380 
64388 
64396 
64404 
64412 
64420 
64428 
64436 
S444 
5%+52 
64460 
64468 
64476 
64464 
64492 
64S00 
64508 
64516 
SYsSe4 
64532 
64540 
64548 
64556 
64564 
64S7e2 
64580 
64588 
64596 
64%60% 
64612 
64620 
64628 
64636 
BY6%4 
64652 
64660 
64668 
64676 
64684 
64692 
6%700 
64708 
64716 
647c% 
64732 
64740 


FFA7EDY24¢44DCD3A 
FB160F3E031160FE 
CD3SFO7EDYB33FFCD 
JAF B3E04%1160FECD 
SFO7EDYB31FFCDES 
30CDA1313E0DD7cC9g 
CD231FDD710DDD70 
OEDD3600002ASS5C 
EDSBS35C37EDS2eDD 
7SOBDD74O0C2AYXYBSC 
EDS2@DD7SOFDD7410 
EB3A3SFFA7CAODFD 
FS011100DD0ScDcpD 
FBDDES111100AF37 
COCBFDDDE130EF3A 
SBFFA7280CCDCYFB 
JEFECD3012FD36S5e2 
O3SOEBODD7EOODDBE 
EFCOO20EFEFEO430 
CD4¢73A3BFFA776828 
O811F6FECSCD3F07 
C1DDESD121FOFF19 
O60A7E3C20037380 
4F131ABE2320010C 
SASBFFA728021AD7 
1OEFCB7S20983A3B 
FFA72B063E0DD7CD 
COFSE1DD7EOOFEO3 
eBOC3A3SFF3DCAY41 
FCFEOCCAEEFCESDD 
GEFADDG6FBDDSEOB 
DDS60C7CBS280EED 
52€38272808DD7E00 
FEO3C2S4F7E17CB5 
eOO6DDBEODDDEE0E 
ESDDE13A3SFFFE02 
372001A73EFFCDCB 
FDDSC3S4F 7DDSEOB 
DDSS0CES7CBS2005 
131313EB180CDDG6E 
FADD66FBEB37EDS2 
380911050019444p 
CDBB1FE1DD7EOOA7 
e€83D7CBS528132BY46 
eCBYE2BO30303DD22 
SFSCCDS017DD2ASF 
SCe2ASSSC2BDDYEOB 
DDY60CCSO30303DD 
7EFDFSCDBB1223F 1 
77012373237223E5 
DDE1373EFF188FEB 
CASSSCeBDD22SFSC 
DDYEOBDDYSOCCSCD 
4D17C1ESCSCDBB1e2 
DD2ASFSCe23DDYEOF 
DDY6100S224BSCDD 
650E7CE6CO200ADD 
GEOD22+2SCFD360A 
OOD1DDE1373EFFC3 


1133 
722 
1098 
S47 
1124 
954 
951 
512 
1098 
685 
1025 
1240 
BB7 
962 
1452 
1182 
376 
S03 
B39 
975 
997 
1405 
485 
334 
B22 
BBO 
963 
1282 
750 
1650 
1260 
915 
S72 
1376 
713 
1301 
980 
1385 
B91 
6s3 
1433 
257 
1162 
578 
428 
BS3 
e568 
730 
1310 
891 
1220 
708 
1015 
1129 
733 
738 
925 
632 
1222 





te Praca Siete 64972 OB1SF33EOFD3FE21 847 ceeaG. Ge aneeaai es oe 
64748 3AFCDDYEOBDDY60C 823 eee ee ee 65228 YISSZO¥EYIYDYSBA 661 
64756 CSO3F73680EBD1E5 1302 64995 30FA211S50410FE 6Se36 = SOSeHFY7See1eDeO SEB 
64764 ESDDE1373EFFCD3A 1310 Een04 Se casrar i ee ee BSett SCYSES7SEHBBAYC 712 
64772 FCE1EDSBS3SCC396 1325 | 6SeSe YSHEY7SY4BcOuFYG = SSS 
647680 F7ES3A3CFFA72824 1092 eae. EBOReL Che PEoet iets 6Se60 9 eOS6itSersiitesyC SHS 
64788 3D200A3EFDCD3012 689 65020 3ECSBB30E02420F1 1025 65268 Y4SS3SBAODSOS24F47 653 
64796 CDD9111817CDASOS &86B 650e8 OSCSCDOSBFE30D578 1138 65276 Se2414DBAODYESSYD 653 
64804 CDCDF83E011160FE 1088 65035 FEDYSOFYCDSBFEDO 1516 6S2e84 424kSS22041S5e5e41 S43 
64812 CD3FO7CDDS11CDAS 1088 BSOnt =7SEEOSYFEGOO06B0 E6't 65292 SSBAODYS4B8415241 639 
64820 OBCDCDFBDDES1111 1150 oe Shy ars eg tl one 65300 4354455220415252 563 
64828 OOAFCDS2FDDDE10§ 1167 tes See ee Goa 6S308 4ISSBAODYeSSS4u4S 661 
64B36 327610FDDDSEOBDD 384 Gian peneenieaicccon ces 65316 S3BAO00000000000 263 
64844 SSOC3EFFDDE121S0 974 les bere ceeeeeiney 3os1 65324 oO000000000000000 oO 
64852 FSES21801FCB7F28 1033 65332 OOO000ODCeSO00002 227 
64860 O321S80C0813DD2B 491 6309e CBBBCBISOGBO30F3 1084 65340 O2S8BFDA7FDADFDBB 1424 
64868 FSSEOQU4710FED3FE 1115 65100 7CADS77AB320CB7C 1060 65348 FDIBFESCFEYYFESC 1262 
64876 EEOFOSA4Y2D20FS0S 750 a FEOICSCDSBFEDO3E 1276 65356 FESBY23E31BOB2CB 1047 
64884 2SF268FD062F10FE 359 116 16C334F880S45552 B96 65364 16373D3A2DB7BSD0 817 
64892 D3FESEOCOS3710FE 870 BSlet FeePeCHFYl44eO7F Sse 65372 1532393528BDBFDY 6813 
64900 D3FEO1OD3BO86F18 681 B513e 31393836204S482B 432 65380 132E343124C4CEDS 813 
64YSO8 OS7AB32BOBDDSECO 692 G6S1%0 4HG6ESeO0eOte41SSY4 = 4BS 65388 1229302CiFCACCDD 803 
64916 7CADS73E02371817 SEG 651468 BAeOeOS3SH41SeSt B64 65396 10252B281BD1D3E2 80S 
64924 6C1BFS7SCB7B10FE 1091 BSiS6 ecOSth1SOeSeo04l4E SOS 6S404 OF21272417D7DSE6 808 
64932 3O004064210FED3FE 859 65164 $4e0S0Se24S535320 Seg 65412 OD1C221F1i2DEFOFB 80S 
6YS4O OB3E20EFOSAF3CCB 782 oe ee ee ie 65420 OC181E1BOEE4EGEF 804 
eigi® iseoesisnoesoss: Scien usesewsicesi0 eos esis opiaisioseseDrs 60: 
64964 20C70S63B10FECS14 787 65196 F1GHReSeySS3S53BA 704 65444 oO700000000000000 7 
65204 4YC4YS4EY7SY4B204F 561 
q ; 
- J 
by Stan Lemke 

Although some bank-switching applications might 
encompass seemingly insurmountable programming 
obstacles...there are many others that can be Lie chk HWemor-w 
accomplished with ease! I'd like to present three 


bank-switching 


examples/applications 
adapted and expanded on for a wide variety of uses. 


that can 


be 


4 
a 


. 


BANK SWITCHING THEORY--FROM A LAYMAN'S PERSPECTIVE 


What is bank switching? In very simple terms, it 
is a way to direct the computer to switch between 
Gifferent "banks" of memory circuits. This is 
accomplished in a program with the OUT 244,VALUE 
command, where VALUE defines which memory "banks" are 
being used. Although the computer can only talk to 
64K of memory (8 banks of 8K each) at any given time, 
BANK-SWITCHING can switch in/out different banks of 
memory...and make it appear like more memory. One 
little detail that makes this all possible, is that 
when you swtich out one memory bank for another, the 
memory in that bank remains just the way you left 
it...so when you return to it, you can continue on 
just as before! 

Another important detail is that we will only be 
working with memory above location 32768. By doing 
this, we will not interfere with the computer oper- 
ating system and greatly simplify our work. This 
means that we will only have an additional 32K of RAM 
to work with, but that almost doubles the memory 
capacity we are currently working with after sub- 
tracting that used by the operating system! 

Memory is "bank-switched" in 8K chunks using the 
OUT 244,VALUE command. VALUE determines which chunks 
are being used. The following table defines VALUE and 
the "DOCK" memory addresses that are used. 


Now, by adding various values, one can activate 
multiple banks of dock memory (i.e., VALUE = 64+128 = 
192 operates on addresses 49152 —- 65535). To reset 
all banks to the standard memory, use VALUE = 0. 
NOTE: We will only be activating chunks with 
addresses above 32768 (VALUE = 16 and above). AERCO 
FD-68 Users: The AERCO disk system requires that 
chunk 1 be active to utilize the disk, therefore, add 
1 to your VALUE to keep the disk active. 





14 


‘ magazine for a 32K RAM cartridge). Other 


fi. es 


i 
4 


te] 
oh wh fh 


fe ToT) ot 


Mn 
CT) eR] tt Cl ct 


CT] Cd ee te me) LT] fd 
Oe On) ee A 
LT fade ote] LT] i 


as eS 
tira t 
mb ob GI ble oo 


[J 1 OJ 

Mm fh. tI mM 

Tl yf fs GI OJ 
Til ee 1 


ts 
is { i} 





BANK-SWITCHING RAM (where to get it) 


Add-on bank switchable RAM can be obtained from 
&@ variety of sources. The AERCO disk interface comes 
with 64K of additional bank-switchdble RAM built 
right in. Another source is RAM cartridges that plug 
into the 2068 cartridge dock such as the one designed 
by Tom Bent (Quantum Levels), and once marketed by 


Thomas B. Woods, or the one available from Lem 

Software (see the ad on the back cover of this 
sources of 
RAM are available, like the new RAMdisk from LARKEN, 
and there are probably others that I am not aware of. 


WHAT CAN WE DO WITH IT? 


OK, what can we do with this add-on memory? What 
is the #1 complaint about 64K computers? They have so 
little memory to work with! There is always more data 
than memory to hold it! The #1 use for more memory 
will be to store more data. So, my first example is a 
short data transfer program. 


XFER_1 (LISTING A) 


XFER_1 is a ZEUS assembler source listing, ready 
to be assembled. LINE 270 is set to assemble this 
routine starting at 39000 (RANDOMIZE USR 39000). 
Following the source file is a dis-assembly of the 


routine identifying the memory address, the value at placing the destination byte back into the source! 


that address and the assembler instruction This routine works much like XFER_1 above. The key to 
associated with that address. I would like to thank this seo Se the use of the AF and alternate AP 
AL Schremmer, an active member of the Kansas Area TS registers, and exchanging these to easily allow the 
User Group for writing this very helpful and unique exchange of the source/destination values. 
dis-assembler! 

XFER_1 is a simple program that will transfer XFER_3 (LISTING C) 
(COPY) data from one bank to another bank. As ~ ; - : 
written, 24064 bytes of data are copied from The third example is a merging of the source/ 
standard memory starting at address 41300 to the dock destination data. This application superimposes the 
bank, also starting at address 41300. The "“scurea" source data on the destination data using the "OR" 
bank is the source of the data to be copied...and Sipser and pee rans Ps oe ee 
could be the dock bank. The "destination" bank is Pictures on a light board...ending up with one. I've 
where you are copying data to, and could be regular used this function with my PIXEL PRINT PROFESSIONAL 
memory (with a little modification). Also, this (desktop publisher) program, to combine (or merge) 
example copies data to the same address in the dock two PIXEL PRINT files. As you can see, the operation 
bank, but you can see that this also can be changed of the program is quite Similar to the two above with 
easily a simple modification for the "OR" function. NOTE: 

The way it works is this: after assigning the both the source and destination addresses contain the 
destination and source addresses, and the number of merged data. ; 
bytes to be copied (LINES 290 to 310), the source Now, I don't pretend to be a very good assembly 
bank is activated (LINES 430 and 440) and 1 byte is programmer, so I am sure there are many other ways to 
copied into the accumulator and saved by pushing it do these jobs. But, if I have been able to show you 
onto the stack (LINES 450 and 460). Then the enough to get your interest peaked, and convinced you 
destination bank is activated (LINES 570 and 580) and chat: BANE SWITCHING is not an°iinpossible “task, “then 
the saved byte is recalled and stored at it's I've accomplished my goal! 
destination address (LINES 590 and 600). The Keep 152068-ing, and start taking advantage of 
destination and source addresses are incremented 2068 BANK-SWITCHING. 


(LINES 670 and 680) while the number of bytes that 
are to be copied is decremented (LINE 690). The 


number of bytes remaining is checked to see if it is XFER_1 
zero (LINES 700 to 720), and if not, the process is a : sey 39017 > 211 > out (N),a 
repeated. When complete, the source bank is activated Secs 4 aa > epee ig $9018 > 244 <244> 
: 3 39019 > 241 > pop af 
LINES 730 a Oy, d he fe) end WwW i 
pe ites nd 740), and t program Ss ith a 39002 > 141 39020 > 119 > 1d (hl),a 
: 39003 > 17 > 1d de,NN 39021 > 19 > ine de 
39004 > 84 <41300> 39022 > 35 > ine hl 
XFER_2 (LISTING B) = batt Anew slapd 
$7005 > 161 39023.>.11° “= dec be 
39006 > 1 > ld be,NN . 
A second form of data transfer useful in 39007 > O pretest pad e4 * 120 > 1d a,b 
bank-switching is the ability to "swap" data between = $7025 2,477 _>.OF © 
igo panel 39008 > 94 39026 > 32. > > DIS 
banks. This is the function of routine XFER_2. Where 39009 > 42 > ld a.N —eag ce IF Nes 
XFER_1 merely copied data from one bank/address to : S9027 > 237 <257> 
— ¥ : ‘ e7010 > 1 <i> 39028 > 62 > ld a.N 
another, XFER_2 performs a swap function, copying the 39011 > 211 > out (N).a w = 4 
data from the source into the destination, and then BOOS + oa4 2445. $9029 > 1 <i> 
yap denna Saeene 39030 > 211 > out (N),a 
39013 » 26 > 1d a, (de) 39031 > 244 £244> 
: ay : we re 39032 > 201 > ret 
a 
: 39033 > O > 
39016 > 225 <225> See 
LISTING B 
LISTING A 00390 ; SOURCE BANK = 1 (AERCO) 
: ' “ae 00010 ; XFER_2 
00010 ; XFER_1 00400 5 SOURCE BANK: = 0 (OTHER) lg ee 
00020 3 ~—--—<- ~~ = 00420 « 00030 ; PRACTICAL 
: - <0 5 . BANK-SWITCHING 
O00S0 ; PRACT SOR 00430 XFER1 LD A,1 ; SOURCE BhK —. 
00040 ; BANK-SWITCHING gr ee pokey Lease F 00050 ; 
: 3 S34 4 4 ; 00060 3: t+tt++ettettet+t+etts+ 
vos 00450 LD A, (DE) ; LOAD S. VALUE ; 
(0100) 10 eee Gok eA AP Ok SAU iy 00070 ; + THIS SAMPLE PROG. + 
00070 ; + THIS SAMPLE PROG. + : : : O0080 ; + WILL SWAP 24064 + 
00080 ; + WILL COFY 24064 + G0470 -; 00090 ; + BYTES FROM MEMORY + 
00090 ; | + BYTES FROM MEMORY + a. 00100 ; + ADDRESS 41300 OF + 
00100 ; + ADDRESS 41300 OF + ise 2 00110 ; + STD RAM AND 41300 + 
00110 ; STD. RAM TO 41300 pein ‘a 
060120 ; + OF THE DOCK BANK. + eet hope, ABU STORES IME OOLSO 5 +H+ttt tte et tettet tet 
QOLSO 4 FFF Heeet tte eee tttttt wvee 3 SLE Ble Gee 00140 ; . f 
GOLA 4 Se: ; DEST BANK = 225 (AERCO) le Re eae li oe 
00150 3; (c) S D LEMKE 1988 Aoeeate Heat BANE a ae prea 00140 ; 
00160 ; Rice ts , as 00170 ; LEMKE SOFTWARE DEVELOP. 
00170 ; LEMKE SOFTWARE DEVELOP. : : aoe 00180 ; 2144 WHITE OAK 
00180 ; 2144 WHITE OAK ot Ss 00190 ; WICHITA, KS. 67207 
00190 ; WICHITA, KS. 67207 MSeO_ EET (244) 58 3 ENABLE a alt £2 ces hentia remeron cance 
OB800° 6 SR ange 00590 FOP AF ; RECALL S. VALUE so ree ee Oa 
00210 3 ----------~-------+------ 00600 LD (HL),A 3; STORE IT 00220 ; 
00220 ; 00610 2pt $9 8 00230 ; GETTING STARTED... 
00230 ; GETTING STARTED... 00620 ; 00240 ; SET SOURCE, DEST, AND 
00240 ; SET SOURCE, DEST, AND 00630 3; INCREMENT THE SOURCE 00250 ; NUMBER OF BYTES 
250 - 00640 ; AND DEST. ADDRESSES. 00260 : 
00250 ; NUMBER OF BYTES : 
00260 ; 00650 ; CHECK TO SEE IF DONE. 00270 ORG 39000 ; CODE ADD. 
00270 ORG 29000 ; CODE ADD. 00660 3; 00280 ; 
00280 ; 00670 INC DE ; SOURCE + 1 00290 LD HL,41200 ; DEST. ADD. 
00290 LD HL,41300 ; DEST. ADD. 00680 INC HL ; DEST. + 1 00300 LD DE, 41300 ; SOURCE ADD. 
00300 LD DE,41300 3; SOURCE ADD. 00690 DEC BC ; LENGTH - 1 00210 LD BC,24044 ; LENGTH 
00310 LD BC,24064 ; LENGTH 00700 LD A,B 3; "B" INTO ACC. 00320 ; 
00320 ; 00710 OR C 3; SUM WITH "C" 00330 ;--------------~-------~-- 
00330 ;—------------------------ 00720 JR NZ,XFER1 3; "BC" = 0 ? 00340 ; 
00340 ; 00730 LD A,1 ; RESTORE S. BANK 00350 ; BEGIN BY ENABLING THE 
00350 ; BEGIN BY ENABLING THE 00740 OUT (244),A 3; ENABLE IT 00360 ; SOURCE BANK AND SAVING 
003460 ; SOURCE BANK AND SAVING 00750 RET 3; ALL DONE 00370 3; THE SOURCE BYTE 
©0370 ; THE SOURCE BYTE 00380 ; 
OO380 ; 00390 ; SOURCE BANK = 1 (AERCO) 
15 00400 ; SOURCE BANK = 0 (OTHER) 





00410 
00420 
00430 
00440 
00450 
00460 
00470 
00480 
00490 
00500 
00510 
00520 
00530 
00540 
00550 
00540 
00570 
00580 
00590 


00600 
00610 
00620 
00430 
00640 
00550 
0046450 
004670 
00680 
00590 
00700 
00710 
00720 
00730 
00740 
007350 
00740 
00770 
00780 
00790 
60800 
00810 
00820 
00830 
00840 
00850 
00860 


5 
XFER2 LD A,1 


; SOURCE BNK 
OUT (244),A 3; ENABLE IT 
LD A, (DE) ; LOAD S. VALUE 
EX AF,AF? ; SAVE IT 


“ee we 


NEXT, ENABLE THE DEST. 
BANK, AND STORE THE 
SOURCE BYTE THERE 


@e ‘at we 


DEST BANK 
DEST BANK 


225 (AERCO) 
224 (OTHER) 


we ‘ae 


LD A,225 ; DESTINATION 
OUT (244),A ; ENABLE IT 
LD A, (HL) ; LOAD D. VALUE 


EX AF,AF’ ; SWAP VALUES 
LD (HL),A ; STORE DEST. 


ENABLE THE SOURCE 
BANK, AND STORE THE 
DEST. BYTE. THERE 


ae “66 ‘4¢ ‘40 @ 


LD A,1 H 
OUT (244),A 3; 
EX AF,AF’ ; SWAP VALUES 
LD (DE),A ; STORE S. BYTE 
EX AF,AF’ ; RESTORE AF 


Se ee eS SS EE SE ee ES ES EE NE SE OY SE SD Se 


SOURCE BANK 
ENABLE IT 


INCREMENT THE SOURCE 
AND DEST. ADDRESSES. 
CHECK TO SEE IF DONE. 


wo "28 we We ‘46 ‘2 


INC DE ; SOURCE + 1 

INC HL ; DEST. + 1 

DEC BC ; LENGTH - 1 

LD A,B ; “B" INTO ACC. 
OR C=: SUM WITH "C" 

JR NZ,XFER2 ; "BC" = 0 ? 
LD A,1 3; RESTORE S. BANK 
OUT (244),A ; ENABLE IT 
RET ; ALL DONE 


AFR SOFTWARE ® 


Presents: 
Powerful And Inexpensive 
Business Software 
For "Timex-Sinclair" 
Computers 


T/S-ZX Financial Report Generator 


Printout Of Same 


Send S.AS.E. For Free Catalog 
Or Check Or Money Order To: 
AF.R. SOFTWARE 
1605 Pennsylvania Ave. 

No. 204 
Miami Beach, FL 33139 
(305) 531-6464 
“FLORIDIANS ADD SALES TAX” 
Dealer Inquires Invited 





00010 
00020 
00030 
00040 
00050 
00060 
00070 
00080 
00090 
00100 
00110 
00120 
00130 
00140 
00150 
00160 
00170 
00180 
00190 
00200 
00210 
00220 
00230 
00240 
00250 
00260 
00270 
00280 
00290 
00300 
00310 
00320 
00330 
00340 
00350 
00360 
00370 
00380 
00390 
00400 
00410 
00420 
00430 
00440 





LISTING C 


; XFER_3 
§ tot 00450 
3 FRACTICAL 00460 
: BANK-SWITCHING 00470 
: 00480 
: THEE EEE EEE HEHEHE 00490 
s + TRIS SAMPLE PROG. + 00500 
; + WILL MERGE 24044 + 00510 
s o> BYTES FROM MEMORY + 00520 
; + ADDRESS 41300 OF + 00530 
3 + STD RAM AND 41200 + 00540 
3; + OF THE DOCK BANK. + 00550 
ee 00560 
3 00570 
3; €¢c) $ D LEMKE 1988 00580 
; 00590 
; LEMKE SOFTWARE DEVELOP. 00600 
5 2144 WHITE OAK 00610 
: WICHITA, KS. 67207 00620 
+ ett ehan eterna entententanieeneteatenentetentans 00630 
$n nr nnn rr 00640 
: 00650 
; GETTING STARTED... 00640 
3'= SET SOURCE, DEST,. AND 004670 
; NUMBER OF BYTES 00680 
3 00690 
ORG 39000 ; CODE ADD. 00700 
3 00710 
LD HL,41300 ; DEST. ADD. 00720 
LD DE,41300 ; SOURCE ADD. 00730 
LD BC,24064 ; LENGTH 00740 
; 00750 
een an are er are ern rere min wm Sem ca ae en om ee 00760 
: 00770 
3; BEGIN BY ENABLING THE 00780 
s; SOURCE BANK AND SAVING 00790 
; THE SOURCE BYTE 00800 
; 00810 
; SOURCE BANK = 1 (AERCO) 00820 
3; SOURCE BANK = 0 (OTHER) 00830 
3 00840 
3 00850 
XFERS LD A,1 ; SOURCE BNK 00860 
OUT (244),A 3; ENABLE IT 
XFER_2 

39000 > 33 > 1d hl,NN 

39001 > 84 <41300> 

=sF002 > 161 

sF7003S._> 17 > ld de,NN 

29004 > 84 <41300> 

39005 > 161 

=9006 > 1 > ld bc, NN 

39007 > 0 ~24064> 

39008 > 94 

39009 > 62 > ld a,N 

araidg > i <1> 

wri, 2 wil > cut Mea 

S9012 > 244 <244> 

s7013 > 26 > ld a, (de) 

39014 > 8 ? ex af,at’* 

ein 2 Ge > ld a,N 

27016. > 2235 Ee 

39017 > 211 > out (N),a 

39018 > 244 <244> 

mrUiT 2 i246 > ld a, (hid 

7020 2 8 > ex af,af’ 

weGe. 247 —* Id thi) ,.@ 

Be 9 <a ae De > ld a,N 

5 Se i | <t> 

w7Tu2e + 2ti 7? Gut Wya 

29025 > 244 <244> 

~VG2Z6 >-G > @x at,at’ 

o7G2ZF ->-18 > ld (de),a 

STOLE > - 8 > ex af,af’ 

SI02Ze S19 > inc de 

37030-5335 > thc. Ki 

SIGS FS? 71 > dec bec 

ores F°tZ0 > 12d a,b 

2tGSo 7-177 > ore 

390234 > 32 2 jr nz,DIs 

BIOS > 229 - €229> 

29036 > &2 > ld a,N 

SIOS7: > U1 <i> 

39038 > 211 > out (N,a 

39039 > 244 <244> 

39040 > 201 > ret 


16 


LD A, (DE) ; LOAD S. VALUE 
PUSH AF ; SAVE TT 

3 

3 

; NEXT, ENABLE THE DEST. 


BANK, AND STORE THE 
SOURCE BYTE THERE 


3 (AERCO) 


DEST BANK 2 
D 24 (OTHER) 


EST BANK 


os 
2 


© a6 ‘86 We ‘48 


LD A,225 ; DESTINATION 
OUT (244Y,A ; ENABLE IT 
POP AF ; RECALL S VALUE 
OR (HL). ; "OR" DEST VALUE 
LD (HL),A ; STORE DEST. 
PUSH AF ; SAVE SUM VALUE 
NPt cage ENABLE THE SOURCE 
BANK, AND STORE THE 
"SUM" THERE 


3 

LD A,1 

OUT (244),A ; 
; 


SOURCE BANK 
ENABLE IT 


POP AF ; RECALL. “SUM 
LD (DE),A STORE S. BYTE 


Be ee ce Ere ae ee Se) oe ee eee pes ee a ee cee one ete 


3 

3; INCREMENT THE SOURCE 

; AND DEST. ADDRESSES. 
3 UMELK TO SEE IF DONE. 


3 
INC DE 3 SOURCE + 1 
INC HL. ; DEST. + 1 
DEC BC ; LENGTH —- 1 
LD A,B 3; "B&B" INTO ACC. 
OR C s- SUM -aitTn *c” 
on HL, AFERS §-*BC* = 'O*? 
LD A,1 ; RESTORE S. BANK 
OUT (244),A 3 3; ENABLE IT 
RET ; ALL DONE 
XFER_S 
27200 > 33 > ld h1l,NN 
39001 > 84 £41300 
39002 > 161 
=TOOS 2.47 > ld de,NN 
39004 > 84 <41300> 
29005 >: 161 
Z9006 > 1 > ld be,NN 
39007 > O < 240647 
39008 > 94 
37009 > 62 > ld a,N 
39010:> 1 <1> 
S9011 > 211 > out (N),a 
S9012 > 244 <244> 
s97013 > 26 > ld a, (de) 
39014 >» 245 > push af 
s701IS > 62 > ld a,N 
39018 > 225 K{2252 
39017 >/211 > out (N),a 
39018 > °244 <244> 
39019 >'241 > pop af 
29020 > 182 > or {hl) 
soles? £29 - > 38 «nD ,2 
39022 > 245 > push af 
avOgo. > G2 > ld a,N 
39024 > -1 Ci 
svOZze > 2it > out (N),a 
39026 > 244 <244> 
39027 > 241 > pop af 
39028 >» °'18 > ld (de),a 
39029 > 19 > inc de 
SISO 2 So * inc Al 
soi > 12 > dec bc 
wives »£ AZO > 1d «ways 
Sie sae YO DOF 
39034 > 32 yar nz,ois 
39035 > 229 <229> 
s7036 > &2 > ld a,N 
s70S7 > 1 <1> 
39038 > 211 > out (N),a 
39039 > 244 <244> 
39040 > 201 > ret 


AERCO FD-68 DISK SYSTEM 





AERCO MERGE FUNCTION 


by Larry Zunk 


Larry Zunk of Zunk Custom Electronics (4800 East 


Cedar lane, Norman, Oklahoma 


73071), shares ae few 


routines for the AERCO FD-68 disk drive system. Larry 
has programmed a powerful software package for the 


FD-68 called "CADZ" 


issue, or write to the 


details). 


This is a tip for all Aerco FD-68 users. The 
basic MERGE function has never been available, but a 
simulated merge can‘be accomplished. 

Rule #1: line numbers must be consecutive. Rule 
#2: get rid of all variables. Rule #3: is make sure 
there is enough room for both listings. 

It works like this. In the immediate mode, type: 

CAT "first program.BAS", 

CLEAR 65535 


for review in upcoming 


above address for further 


POKE 23635,PEAK 23627 
POKE 23636,PEAK 23628 
CAT "second program.BAS", 
(NOTE: Execution will stop here, and all you 

will see is the second listing.) Then also in the 

immediate mode, type: 
POKE 23635,86 
POKE 23636,104 
LIST 


(POKE prog,vars) 


(POKE prog, 26710) 


SUPER DETAILED DISK DIRECTORY 


by Larry Zunk 


The following program listings are for the AERCO 
FD-68 Disk Drive System. I must give credit to Mowgli 
Assor for his user tips in the SEP/OCT '87 issue of 
TDM. His machine code routines are the heart of these 
programs... 

Listing 1 is a 32 column detailed disk direc-— 
tory. Listing 2 is a 64 column detailed directory for 
use with the Advanced Video Modes software by BEAVER 
COMPUTER PRODUCTS. Either version can be run in BASIC 
or compiled with the TIMACHINE compiler by NOVELSOFT. 

The directory gives file name, type, length, 
location, auto start line numbers, length of vari- 
ables, active chunks, and tracks allocated for each 
file. Although the information is the same, I prefer 
the 64 column version because everything fits on one 
line and it gives a much cleaner screen display. 

My system is double-sided double-density, so 
some changes to the machine code in the data state-— 
ment may be required for other systems. The disk 
directory is on track 0 sectors 2 and 3. The code 
sets the start of the buffer at E290h (58000 decimal) 
and reads track 0 sector 2, then increments the 
buffer address held in the HL register by 512 bytes. 
Then it sets the B register to 3 and reads sector 3. 
The AERCO user manual states that a single-—density 
system has 256 bytes per sector and a double-—density 
system has 512 bytes per sector (I assume that a 
quad-density system would have 1024 bytes per 
sector). This is what will need to be changed for 
systems other than DD/DD. 


LISTING 121 


10 REM !USR 6280090 

20 REM {INT +LEN,LNLOC, VAR, BUF 
»TYP,LOC,F,E 

30 REM 1LEN PS<a87 

40 REN ! LIS 

9@ REM ! OPEN tt 

60 FOR F=59967 TO 59999: READ 
E: POKE F,E: NEXT fF: RANDOMIZE U 


SR 59967 
78 1-26 INT 62,3,211,244,205,6 
6,53,1, Sa, 364, 226, 205, 86, 53, 


= 2 35° 144, 2D8, 205, 86, 53, 205, 1 
30, 53, 52,1, eit, Bad, 201 
88 Ler BUF =58a32 


90: P$="BASDATCHRBINSCRARGL 
ROBUTUAR™ 

198 CLS : PRINT INVERSE 1; d it 3 

= . LINER VARS NA 


ME TYPE BYTES LOC CHUNK"; I 
See aaa ae S,;a.3; UVER 25 


3 AJ 3 








430 LET LOCsBUF: LET TYPsFPEER LL. 
OC43+1:..LET LOCsLOC4+3: LET E=Loc 
+10 

120 IF PEEK LOC<¢>0 AND LOC<E TH 
EN PRINT CHRS PEEK LOC;: LET LOC 
=LOC+1: GO TO 126 

L3@.LEFLOCsE 

146 GO. SUB S098: LET LEN=E 

158 GO SUB S@@: LET LNLOC=E 

160 GO SUB S3BS: LET VAR=E 

178 IF TYP=13 THEN LET LEN=6912 

180 PRINT TAB 16;".";P8(TYP TO 
TYP+2);TAB 15;LEN; TAB 21; 

130 IF TYP=1 AND LNLOC<10000 ‘TR 
EN PRINT “U";LNLOC;TAB 27;LEN-UA 
R; 


2060 IF TYP=10 THEN PRINT LNLOC; 
TAB 27; INT, (VAR/256) -2; 

210 IF TyP=13. ae PRINT 16384; 

220 PRINT TAB @;' 

230 IF Ce Loc THEN PRINT P 
EEX LOL; ‘3: LET LOC=LOC+1: GO 
TO 238 

240 POKE 23659, PEEK 23689+1: PR 
A Ue Be Bai Ee ee ee ee 


B80 LET BUF =BUP +32 

250 PRINT TAB 

270 IF PEEK. 23689=2 THEN PRINT 
HI; AT 1,0; INVERSE 1;" HIT E 
NTER TO CONTINUE "; INVERSE 
®: PAUSE 8: GO TO 190 

280 IF LOC>58992 THEN STOP 

298 GO TO 110 s 

300 LET E=PEEK LOC+256*PEEK (LO. 
C+1): LET LOC=S=L0C+2: RETURN 

310 REM ! CLOSE tt 

999 ERASE “S2COLDIR.BAS",: MOVE 

“S2COLDIR.BAS", | 


LISTING 2 


16 REM !USR 5a000 


20 REN re +LOOP,LNLOC,VARS,L 
FN,LOC,B(), 


30 REM 1LEN "pg ¢=27 
460 REM ! LIST 
5@ REM !: OPEN t 


Listing Continued Next Page 


SS CATA INT 62,3;,211,244,2 OS, 
6,33, Ljnge 833; ‘tad, 226, 205,86, Bo: 
A a, 33, 144,208; ‘205, 86, 53, 205, 
30, 53.82, 1,211, Daa, 20 

56 FOR F= 59967 TO 33999: READ 
N: POKE F;WN: NEXT: f: RANDOMIZE U 
SR 59967 

60 RANDOMIZE USR ‘61450: POKE 2 
ae PRINT #4; CHRS S34+CHR4 62 

Te Let LOOP= 46: LEFT Loc s889si: 

DIN Bl25). 

60 LET P$5"BASDATCHRBINSCRAROL 
ROBUTVAR". 

96 PRINT. AT. a, @; INVERSE : eee 
ilé Name Tup: Butes+Vars -Line: ‘Ad 
dr: Chunks: Tracks ee4444E¥EEEEHE"5 

INVERSE 9O - 

1685 FOR F=1 TO LOOP 

110 FOR Nei TO 25: EET BitWN) -=PEE 
K, (LOC+N) : NH 

: 23s TF bin) F 
HEN PRINT AT sN-2;CHRS bin 

1585 NEXT n: LET VARS=B(1) = 
PRINT TAB 18; "°."; PS CUARS TO 
+2);TAB 15; 

1490 LET LEN= -B (12) +256+#B(135) 


>SG1 

) 5 

in Se 
VARS 


150 LET LNLOC=B (14) +256+B (15) 

160 LET VARS=B.(16) +2564#B(173 

170 IF Rey = THEN PRINT VARS; ‘9 
AB 29; > LBN-VARS; TAB 27; (LNLOC 

AND i NLOG<19080) 

180 IF B(1)=3 GR B(1) =8 THEN a 


INT LEN; TAB S2;LNLOC; TAB 36&;.: 
b(1) =G THEN . PRINT B17) -2; 
190 IF B(l1) =4° THEN PRINT 6912;T 
AB 32; 16384; 


2008 PRINT TAB 44;: FOR N=18 
23: IF Stn) >@. THEN PRINT (BIN) —( 
S87 AND BIN) >99))°" “5 

210 NEXT N 

220 LET LOC=LOC+32 

230 NEXT Ff: 

240 PRINT ” INVERSE : ATT 
CENTERIJ OR: CFIRE BUTTON] TO 
CONTINUE | - INVERSE @ 


{2,1 


3: IF LOOP=15 T 
HEN PRINT CHRS. 3+CHR# 0; CHRS BO: 
POKE 253578,6: STOP 
270 LET LOOP=1i5: oe TO 90 


250 IF tus te ase STICK 


260 REM ! CLOSE 
9999 OUT 244,1: ERASE “newdir.ba 
67s: - MOVE “newdir.bas", 


oO YNX 


by Jack Dohany 


SYNX is a 46-byte relocatable 
AERCO disk drive system users. 


for 
the 


MC routine 
It is given into 


"public domain". SYNX is short for "Syntax Checker 
Switch". This routine allows you to turn off the 
BASIC syntax checker when writing or editing BASIC 
lines...and to turn it back on. Syntax checking 


during program execution remains in effect. 

Why? Perhaps you may want to write a BASIC pro- 
gram that can be used on a non-AERCO disk system 
(perhaps for ALL disk systems). You may want to write 
a line like this: 

300 SAVE. *"TEST": 

Well, 
syntax 
<3 ae 


REM for Zebra disk 
you can't write it because it will fail 
checking. But with the syntax checker turned 
you can write it. 
SYNX works by changing some locations in the 
BASIC operating system...normally in ROM, but in RAM 
with AERCO disk. A more detailed explanation is 
beyond the scope of this article. 

Assuming you have the code on disk or tape as 
.BIN or CODE file, it can be loaded wherever there's 
no conflict with other software. Let us say you want 
to load it at Loc 64000: CAT "SYNX.bin",64000 or LOAD 
"SYNX'' CODE 64000 will do it. 

To SAVE the code: MOVE "SYNX.bin", 


64000,46 or 


TIMACHINE ON AERCO DISK 


Here is the SYNX code as ae decimal 


64828 24 64028 24 54848 
64001 27 64021 221 64041 
64002 24 64022 197 64042 
64083 18 64023 225 64043 
64004 @ 64024 1 64044 
64005 2 64025 11 64845 
64006 @ 64026 2 
64087 253 64027 24 
64908 54 64028 «5 
64009 «a 64029 197 
64818 255 64930 255 
64G1i @ 64031 1 
64012 @ 64032 4 
64014 15 64034 9 
GABBA 24S 64035 17 
64016 253 64036 76 
64017 34 64037 14 
64018 @ 64938 1 
64919 255 64039 9 


Of course, 
computer is likely to crash when you attempt t 
SYNX. So it ig a good idea to SAVE before you t 
out. 


by Carl Green 


SAVE "SYNX" CODE 64000, 46 

To use SYNX (assuming the code is at 64000): 

RANDOMIZE USER 64000 turns the syntax checker 
OFF. RANDOMIZE USER 64002 turns the syntax checker 
back ON. 

Here is a hint for putting TIMACHINE (Novelsoft) 
on the AERCO disk drive system. I found the FD-68 


does not like: 
1) equations 
2) VAL a i) 
3) more than one period (.) 
4) scientific notations (eg: 6e4) 
in the CAT and MOVE statements. Try the following for 





TIMACHINE: 

1) LOAD the whole program from tape. 

2) Move the cursor to the right of the quotation 
marks. 

3) DELETE the quotation marks. 

4) Press STOP once, then ENTER twice. 

5) Change line 8070 to read: 


8070 PRINT AT 19,0: 
- BAS", 9997s. MOVE 
O614, 4922: MOVE 
QOOQ» 933 MOVE 
»11458° 


MOVE "TSTIME 

"TSTMLGO.BIN",6 
“TSSETUP. BIN", 60 
"“TSTIMEZ. BIN", 26688 





6) Change line 9997 to read: 


3997 CLEAR GO61S: INK 6: PAPER & 
: BORDER 6: CLS : PRINT. AT. 19,0: 
CAT "TSTMLGO.BIN",: RANDOMIZE U 
SR 60614: INK 6: PRINT AT 15,0: 
CAT oe ee BIN", : RANDOMIZE 11 
458: LET =USR’' 60000: PRINT AT li 
193-03 INK: 6: CAT "TSTIMEZ.BIN",: 
INK Oo: GO TO 89000 

7) OUT 244,1 

8) GOTO 8000 

9) Put formatted disk in. 

10) At the “BACK UP?" option, press "Y". 


TIMACHINE should now be on disk with the 
option operational. 


18 


if you get a single number wrong, 


listing, 
ready to be POKEd into memory however you wish: 


243 
Zot 
176 
21 

201 


the 
o use 
est it 


backup 


LARKEN 2068 DISK DRIVE SYSTEM 





CASSETTE TO LARKEN DISK 


by Gaylen W. 


From the time I first bought my Timex Sinclair 
1000 for a close-out price of $29.95 (around 1982), I 
have always dreamed of the day when I could have a 
"complete" computer system. 

I moved one step closer with the purchase of a 


used TS52068 in November of 1986. But I was still 
stuck with using cassette tapes. : 
Next I moved up to A&J Microdrives (for my 


TS2068). It was so much faster and easier to use. 
Over the next few weeks I spent a lot of time con- 
verting all of my cassette software to the A&J. I was 
happy with the A&J for almost six months...maybe even 
a little longer. 

Then one day I was over at a friend's home and 
saw how nice his computer worked with a disk drive 
system. Now that would really be something to have a 
disk system for my hard-working Timex Sinclair. But, 
it was just too expensive to add one to my computer 
system. 

Then along came Mr. Larry Kenny of LARKEN 
ELECTRONICS, and his floppy disk drive system for the 
TS2068. The cost was low enough to give it a try. Now 
about a year later, my present system includes the 
used 2068, a Larken disk drive system, a dual Amdek 
Amdisk III, one Quad 5 1/4" drive, an RX-80 Epson 
printer, an Aerco printer interface, a TS2040 
printer, a 2050 modem, a green screen monitor, and 
lots of software. If I had the money that I have 
spent on this system over the last six years, I could 


buy a "basic" PC compatible, with NO software or 
peripheral hardware. I'm going to stick with my 
Sinclair. 

Now that you know a little of the history of my 
hardware system, maybe I can help you convert 
cassette (or A&J Micro Drive cartridge) software to 
the Larken Disk Drive system. During this last year, 
I have, with the help and advise of some fellow 
Sinclair users, converted the following software to 
the Larken: 


Tasword II, Pro/File 2068, Pro/File +5, 
VuCalc, Timemachine, Pixel Print, Zeus, Loader V, Jet 
Set Willy, Voice Chess, Greeting Card Designer, 
Banner Designer, Personal Accountant, Kruncher, pro- 
grams on the original tape supplied with the 2068, 
and many other pieces of software taken froma 
variety of sources. 

Changing all of this software to the Larken DOS 
(Disk Operating System) has one thing in common: the 
changes made in each program is a modification of the 
BASIC save and load commands, to save the program, to 
load and save code, to load and save data strings, to 
load and save screen strings. Refer to the Larken 
operations manual for instructions on how the 
“RANDOMIZE USR 100" is used before each load or save 
command in your BASIC program. The following listing 
is an example of how these changes were made in 
TASWORD II (2068 word processor): 


VuFile, 


15 RANDOMIZE USR 1a@: OPEN #4, 


"dd": PORKE VAL "S36@a",UAL “ea”: 
CLEAR VAL "335279": GO SUB VAL "4 
@@G": BORDER VAL “2”: FPARPER UAL 
“d": INK VAL "a": PRINT #4: LOAD 
“TW.Ct "CODE : CLS : LET asUSR V 
nL... “SSeei": GO FO Vat “i6" 
25 GO SUB VAL “4080": PRINT AT 
VL. @ pve. © 3 BTERT “CERT Fit 
e”"; TRE Vat “3i"; “p” 
23 PRINT : PRINT “save text fi 
Le as ; TRE UAL ates, Be er "s ae 


32 PRINT : PRINT “load text fi 
Le; TRE URL ii. late ; ae = 


~ 
8 


35 PRINT : PRINT “merge text F 
1126 3.088. VAL og! 345m, 

48 PRINT : PRINT "return to te 
Kt Fite" TAS Val. °32";.*u" 

45 PRINT : PRINT “define graph 
ics/printer”’;TAB VAL "31"; "9" 


19 






Bench 
Sa PRINT PRINT “save tasward 
Sent en Vee "ODS LES 
55 FRINT ‘RINT “inta Basic"; 
TRE VA “3i"; “5S” 
of PRINT PRINT "“GIRECTORY';T 
HE *3 3 a3 st 
*Q PRINT_AT UAL “ee” VAL "@";” 
eo AF. b6SUeL “338" THEN LET ..2V 
a3 e a3 
igs IF b=VAL "106" THEN LET i=V 
: eS 
125 IF bsVAL “116" THEN LET is¥V 
..° ae. 
jereese b=asVAL “11ie" THEN LET i = 
140 IF b=sVAL "121" THEN LET i =¥V 
AL “i2" 
150 IF b=VAL "109" THEN LET i= 
AL "ie" 
160 IF bsVAL "103" THEN LET i=¥ 
AL "14" 
ean boVAL “S8" THEN LET i=UA 
yo IF b=VAL "100" THEN GO TO WV 
AL "Sora" 
OO CLS ecrkhET -<eVAL a SO Sua 
WAL "Fea": SO SUB VAL EM TGTS Be = 
ET a$="TW": PRINT tad: SAVE a $+". 
St” LINE Vai “45" 
71i@ PRINT #4 SAVE a$e”"°,. Ct "Cope 
VAL “547384" ,VAaL “1a7s1' GO Ta 
URL Vee" 
1230 LET <#=VAL 12": GO SUB UAL 
“Sag: GO SUB VAL "9980": PRINT 
#4: SAVE a8+",.0t "CODE 6,4 4 
e830 LET b=FN pPI(VAL "62215"): GO 
SUB VAL "S998": PRINT #4: LOAD . 
ags+" .Cti"Cope ta+b),(0(FN pivaL "5 
ee2l")I+VUAL "SS" UAL "Bd" -ai: GO 
TO VAL “ie” 
S398 INPUT "Brive So. 25 2.3 = 
;Ofr: PRINT #4: GO TO Er RETURN 
99°20 CLS : GO SUB VAL "S908": PR 
int @é" “Gar -** , PAUSE @: CLs 
SO TO VAL "25" 
Line 15 sets up the PRINT #4 command that will 


be used before each save and load command in the pro- 
gram. Line 60 adds a disk directory choice to the 
tasword menu. Line 175 is the IF..THEN statement used 
by the menu to call Line 9970. Line 9970 calls the GO 
SUB Line 9900 which gives you a choice of which'drive 
you want and then returns to do the catalog of that 
chosen drive. After the directory is done, the  pro- 
gram will return to the main menu. Please note that 
the drive selection GO SUB Line 9900 is also called 
by both the load and save lines of the ‘program. Lines 
700-710 are the save lines that will save Tasword II 
to disk. Line 1030 is the save line that will save 
all files (letters or documents) to disk. Line 2030 
is the load line that will load your chosen file from 
the disk to Tasword. 

I know that this is a brief description of how 
these lines are changed. But there is one area of 
concern that has to be dealt with in making these 
changes. That area is the memory spaces for the basic 
program. You will note in Line 15, that RAMTOP is 
lowered to 33279, and then the Tasword ‘code is loaded 
above that. The basic program cannot be written above 
that address. If you change that address...well, 
that's another complete article. 

There are a number of ways that the original 
basic program can be changed to free up memory space 
to allow for these changes. If you are going to 
dedicate the program to disk use only, you can go in 
and DELETE the cassette VERIFY routines. The Larken 
system uses the VERIFY command asa "disk check" 
command (refer to the Larken manual for further 
details). You can also change or eliminate any 
prompts that are displayed on the screen concerning 
the loading, saving, or verifying of cassette tapes. 











One more way to free up program memory space is 
the use of the KRUNCHER program (written by Syd 
Wyncoop and available from RMG Enterprises) . KRUNCHER 
will "modify" the basic listing. It places all 
numbers found in the listing inside VAL "" state- 
ments, and replaces the number 0 with NOT PI, 1 with 
SGN PI, and 3 with INT PI. These tokens have the same 
value as the number. There is one problem in using 
the KRUNCHER program: it does not change negative 
numbers correctly. A -250 will be changed to VAL 


"-250", which causes a syntax error in the basic 
program. The way to correct this is, before you 
"krunch" the program, list it out and put any 
negative number inside brackets (-250 will be 


-~(250)). The KRUNCHER program will now convert this 
number correctly. 

There are some other problems encountered when 
converting cassette software to disk. One of the 
first ones you may come across, is the program (or 
file) name. Cassette allows a name to be ten char- 
acters long. Larken allows up to six characters plus 
an "extension". You can see how the program (file) 
name and extension are used, by looking at the load 
and save lines of the Tasword listing example (please 
refer to the Larken manual for rules concerning the 


to contact me. I'm Gaylen W. Bench, and my address 
is: 900 N.W. Mawcrest Dr. #110, Gresham, Oregon 


97030. You can also contact me via CompuServe (ID# 
73720,755), or on the RMG BBS (503-656-8072; settings 
8/1/N). I will gladly pass any updated information to 
TDM readers in a future article. 

The information provided in this article is a 
long way from being complete on how to convert every 
program to disk. If any of you would like assistance 
in making these changes, please contact me, and we 
will work out some arrangement on how to get the job 
done. 

One more important find. If any of you have 
attempted to put a choice in your basic program to 
Switch between the Timex 2040 printer and a full-size 
printer, you will run into a problem using the Larken 
system. For some reason the Larken system over-writes 
the 2068's print buffer. You can find out if you have 
this problem by doing an LLIST to the 2040 printer. 
If the first thing printed is garbage, then you’ have 
the problem. I tried for about a year to find a 
solution. Whenever I would use the PRO/FILE +5 pro- 
gram, I could not switch back to the 2040 printer 
after using the full-size printer...the program would 
“crash". The correction to this problem is so simple! 


use of extensions). Some basic programs include a When you change back to the 2040, the first thing you 
"test statement", testing for the cassette ten need to do is a simple "LPRINT". This clears the 2068 
character name length. These statements will have to print buffer and now you can print with the 2040 
be changed to conform to the Larken file name length. without any trouble. 
I hope that I have been able to help some of 
you with the change from cassette to Larken disk. If 
any of you have suggestions on how these changes can 
be made easier than I have listed, please feel free 
Article by David Solly 
Programs by David Solly and Larry Kenny 

Access to the Larken Disk Drive System from within 

a compiled HiSoft(TM) Pascal program is now 

possible thanks to the procedures developed by 

David Solly and Larry Kenny. This article 

demonstrates how to install these procedures and 

gives a practical demonstration on how they may be 

used within a simple directory program. The 

procedures described in this article are valid for 

both the Timex Sinclair 2068 and the ZX Spectrum 

versions of HiSoft Pascal. 

I have owned HiSoft Pascal, (henceforth Pascal), for the The crux of the problem is that, although both 
Timex Sinclair 2068 and the ZX Spectrum for a number of 


years now but the drawback with Pascal, as it is implemented 
on Sinclair computers, has been that there was no way to 
access a DOS from within a compiled program. It seemed 
ridiculous to put the effort into creating programs’ which 
ran like machine code once the source code was debugged, 
compiled and transfered to disk only to be forced to go back 
to a plodding tape operating system, (henceforth TOS), when 
I needed to save or enter data from within the compiled 
program. Finally I sat down and did some serious study of 
the problem, some head scratching, some question asking 
(especially of Larry Kenny, who is the creator of the Larken 
DOS, and Ken Schieman) and some experimentation. The result 


of this is the creation of the Pascal disk handler described 
below. 


The needs of LKDOS are the same as for the TOS. You are 
required to provide the name of your program, the starting 
address of the program and the lenght of the program. This 
is exactly what happens when you type within Basic: 


SAVE "Myprogram” CODE start, length. 


Pascal also passes the same information to the TOS when it 
saves out a variable through the use of the procedure: 


TOUT (’Myprogram’, ADDR (the name of the variable 


being 
saved), SIZE (the name of the variable being saved)); 


20 





generate identical information, LKDOS can 
from within the 
programming is need in order to transfer the 
parameters to LKDOS from within the Pascal environment. 


The first steps towards transfering t 
form Pascal to LKDOS are to 
address, and the length of the 
loaded in a safe area of the RAM. This is a 
thanks to the very 
Unlike the POKE command 
function can DOKE a number or POKE the contents of a 
character array starting at a 
fifteen bytes of the printer buffer proved to be the 
area to which all the transfers can be 
following lines: 


POKE (23300, 


You can see 
demonstration - 
DISKSAVE and DISKLOAD. 





extract it 


Basic environment. Therefore, 


save or 


store the name, the 
varialble to be 
simple 
function in 
Basic, this 


POKE () 
available in 


versatile 


given address. The 


achieved 


"Myprogram’); 


POKE (23311, ADDR (name of variable)); 


and 


POKE (23313, SIZE (name of variable)); 


these 
program 


lines in a 
within the 


modified form in 
procedures 


languages 


additional 


he required information 


saved 
matter 
Pascal. 
Pascal 


safest 
with the 


GETNAME, 


Upon completion of these steps the next step is to copy the 
information from its storage place in the RAM to the 
appropriate routines in the LKDOS. Again to HiSoft includes 
within their implementation of Pascal the procedure INLINE() 
wich allows us to embed Z80 machine code within a Pascal 
procedure to accomplish our ends. 


The following is a disassembly of the machine code used in 
the procedure DOUT 


00010 NAME EQU 23300 
00020 PROGNM EQU 8226 
00030 TEMP4 EQU 8243 

' 00040 TEMP2 EQU 8241 
00050 NMIF EQU 8194 
00060 ADDR EQU 23311 
00070 SIZE EQU 23313 
00080 SVI1 EQU 0204 
00090 SV2 EQU 0207 
00100 ORG 40000 
00110 DI ; Disable interrupt 
00120 CALL 98 ; Turn on LKDOS cartridge 
00130 LD HL,NAME ; Transfer file name 
00140 LD DE,PROGNM ; to prognm 
00150 LD BC,09 
00160 MOVE LD A, (HL) ; Loop to catch any 
00170 CP 0 ; occurance of CHR$ O 
00180 JR NZ,NZERO 
00190 LD 44L14,22 ; & replace with a space 
00200 NZERO LDI 
00210 LD A,B 
00220 OR C 
00230 JR NZ, MOVE 
00240 LD A,11 
00250 LD (NMIF),A 
00260 CALL SV1 ; save name 
00270 LD HL, (ADDR) ; Retrieve start address 
00280 LD (TEMP4) ,HL ; set start address 
00290 kat 4, 4ASTZS) > Retrieve length of save 
00300 LD (TEMP2) ,HL ; Set length of save 
00310 CALL SV2 > second save data 
00320 LD A, (100) ; Exit cartridge 
00330 EI > Enable interrupt 


(Program provided by Larry Kenny of Larken Electronics, #2 
Navan, Ontario, Canada K4B 1H9, Tel: (613)-835-2680) 
(Listing made using Zeus Assembler) 


The procedure DIN contains the same code except that SV1 and 
SV2 are replaced with LD1 EQU 198 and LD2 EQU 201. The MOVE 
loop insures that the file name is padded out with the 
correct number of spaces so that it totals nine characters 
and spaces otherwise the file name may be corrupted and fail 
to reload. 


The following listing demonstrates how all the procedures 
described above are used within a complete Pascal program. 
The object of the program is to create a simple telephone 
directory which will allow you to store ten names. and 
numbers, read the information stored in the directory, and 
read and write the information stored in the directory to 
disk using the Larken LKDOS. There is also a summation of 
this article contained in the procedure SONGANDDANCE. 


Pascal source code listing 


10 {PROGRAM BY: } 
20 {DAVID SOLLY } 
30 (1402-1545 ALTA VISTA DRIVE} 
40 {OTTAWA, ONTARIO } 
50 {CANADA K1G 3P4 } 
60 {TEL: (613)-731-2120 =h 
70 

80 


90 {THIS PORGRAM IS FOR 

100 {DEMONSTRATING HOW THE 

110 {(LARKEN DISK DRIVE MAY BE 
120 (ACCESSED FOR STORING AND 
130 {RETRIEVING DATA WITHIN A 
140 {HISOFT(TM) PASCAL PROGRAM. 
150 {THE PROCEDURES DESCRIBED 
160 {IN THIS PROGRAM ARE VALID 
170 {FOR BOTH THE ZX SPECTRUM 
180 {AND THE TIMEX SINCLAIR 
190 {2068 VERSIONS OF HISOFT 
200 {PASCL. 


Rag aD Neg Ned eg Nat et ed et te 


4i 





210 
220 
230 
240 
250 
260 
270 
280 
290 
300 
310 


320 - 


330 
340 
350 
360 
370 
380 
390 
400 
410 
420 
430 
440 
450 
460 
470 
480 
490 
500 


510 
520 
530 
540 
550 


560 © 


570 
580 
590 
600 
610 
620 
630 
640 
650 
660 
670 
680 
690 
700 
710 
720 
730 
740 
750 
760 
770 
780 
790 
800 
810 
820 
830 
840 
850 
860 
870 
880 
890 
900 
910 
920 
930 
940 
950 
960 
970 
980 
990 
1000 
1010 
1020 
1030 
1040 
1050 
1060 


PROGRAM LARKENDEMO; 


CONST 
LENGTH = 10; 
PN = 23300; {ADDRESS WHERE THE NAME FOR THE SAVE/LOAD} 
{ROUTINES IS STORED} 
PB = 23311; {CONTAINS THE ADDRESS WHERE THE DATA BEGINS) 
PS = 23313; {CONTAINS THE NUMBER OF BYTES USED BY THE DATA} 
CAPSLOCK = 23658; {ADDRESS OF THE CAP SHIFT LOCK CONTROL) 
ON = 8; {SWITCHES CAPSLOCK ON} 
OFF = 0; {SWITCHES CAPSLOCK OFF} 


TYPE 
ENTRY = RECORD 
NAME : ARRAY (1..10] OF CHAR; 
NUMBER : ARRAY (1..10] OF CHAR; 
END; 


VAR 
DIRECTORY : ARRAY (1..LENGTH] OF ENTRY; 
I : INTEGER; 
FINISHED : BOOLEAN; 
ANS : CHAR; 


PROCEDURE DOUT; {INVOKES LKDOS WRITE} 
BEGIN 
INLINE (#F3, #CD, #62, #00, #21, #04, #5B, #11, 

#22, #20, #01, #09, #00, #7E, #FE, #00, 
#20, #02, #36, #20, #ED, #A0, #78, #B1, 
#20, #F3, #3E, #0B, #32, #02, #20, #CD, 
HCC, #00, #2A, HOF, #5B, #22, #33, #20, 
#2A, #11, #5B, #22, #31, #20, #CD, #CF, 
#00, #3A, #64, #00, #FB); 

END; 


PROCEDURE DIN; {INVOKES LKDOS READ) 
BEGIN 
INLINE (#F3, #CD, #62, #00, #21, #04, #5B, #11, 

#22, #20, #01, #09, #00, #H7E, #FE, #00, 
#20, #02, #36, #20, HED, #AO, #78, ¥#B1, 
#20, #F3, #3E, #0B, #32, #02, #20, #CD, 
#C6, #00, #2A, #OF, #5B, #22, #33, #20, 
#2A, #11, #5B, #22, #31, #20, #CD, aC9, 
#00, 43A, #64, #00, #FB); 

END; 


PROCEDURE GETNAME; 
VAR 
PROGNM : ARRAY (1..9] OF CHAR; 


BEGIN 
WRITELN; 
POKE (CAPSLOCK, OFF); 
WRITELN (’NAME FOR DISK OPERATION? '); 
WRITELN; * 3 
WRITE ('9 CHARACTERS MAXIMUM: '°); 
READLN; 
READLN (PROGNM) ; 
POKE (PN, PROGNM); {STORES THE NAME IN RAM} 
END; 


PROCEDURE DISKSAVE; 
BEGIN 
PAGE; 
WRITELN; 
WRITELN (’LARKEN DISK SAVE ROUTINE’); 
WRITELN; 
GETNAME; 
POKE (PB, ADDR (DIRECTORY)); {START ADDRESS FROM WHERE THE} 
{DATA IS TO BE SAVED} 
POKE (PS, SIZE (DIRECTORY)); {NUMBER OF DATA BYTES TO SAVE} 
DOUT; 
WRITELN (’SAVED!’); 
FOR I := 1 TO 100 DO {PAUSE LOOP) 
END; 





1070 
1080 
1090 
1100 
1110 


1120. 


1130 
1140 
1150 
1160 
1170 
1180 
1190 
1200 
1210 
1220 
1230 
1240 
1250 
1260 
1270 
1280 
1290 
1300 
1310 
1320 
1330 
1340 
1350 
1360 
1370 


1380 ~ 


1390 
1400 
1410 
1420 
1430 
1440 
1450 
1460 
1470 


1480 
1490 
1500 
1510 
1520 
1530 
1540 
1550 
1560 
1570 
1580 
1590 
1600 
1610 
1620 
1630 
1640 
1650 
1660 
1670 
1680 
1690 
1700 
1710 
1720 
1730 
1740 
1750 
1760 
1770 
1780 


1790 — 


1800 
1810 
1820 
1830 
1840 
1850 
1860 
1870 
1880 
1890 
1900 
1910 
1920 
1930 
1940 


PROCEDURE DISKLOAD; 


BEGIN 
PAGE; 
WRITELN; _ 
WRITELN (’LARKEN DISK LOAD ROUTINE’); 
WRITELN; 
GETNAME; 
POKE (PB, ADDR (DIRECTORY)); {START ADDRESS AT WHICH THE} 
{DATA IS TO BE LOADED} 
POKE (PS, SIZE (DIRECTORY)); {NUMBER OF DATA BYTES TO LOAD} 
DIN; 
WRITELN (’LOADED!’); | 
FOR I := 1 TO 100 DO (PAUSE LOOP) 
END; 
PROCEDURE FILLDIRECTORY; 


BEGIN 
PAGE; 
POKE (CAPSLOCK, OFF); 
FOR I := 1 TO LENGTH DO 
BEGIN 
WITH DIRECTORY CI] DO 
BEGIN 
WRITELN (’ENTRY NO. ', I, ° OF ', LENGTH); 
WRITELN; 
WRITE ('NAME PLEASE (10 CHARS) ’); 
READLN; 
READ (NAME); 
WRITE (’NUMBER PLEASE (10 CHARS) ’); 
READLN; 
READ (NUMBER) 
END 
END; 
WRITELN (’DIRECTORY FULL ’); 
WRITELN; 
WRITELN (’HIT ANY KEY TO CONTINUE’); 
READLN 
END; 


PROCEDURE READDIRECTORY; 
BEGIN 
PAGE; 
POKE (CAPSLOCK, OFF); 
FOR I := 1 TO LENGTH DO 
BEGIN 
WITH DIRECTORY C1] DO 
BEGIN 
WRITELN (NAME, ’ ’, NUMBER); 
WRITELN; 
END 
END; 
WRITELN (’END OF DIRECTORY’); 
WRITELN (’HIT ANY KEY TO CONTINUE’); 
READLN 
END; 


PROCEDURE SONGANDDANCE; 

BEGIN 
PAGE; 
WRITELN (’Larken Disk Access Routine’); 
WRITELN (’for’); 
WRITELN (’HiSoft (TM) Pascal’); 
WRITELN (’for the’); 
WRITELN ('ZX Spectrum’); 
WRITELN (’and the’); 
WRITELN (’Timex Sinclair 2068’); 
WRITELN; 
WRITELN (’by’); 
WRITELN (’David Solly’); 
WRITELN (’and’); 
WRITELN (’Larry Kenny’); 
WRITELN; 
WRITELN (’Hit any key to continue’); 
READLN; 
PAGE; 
WRITELN (’Many ZX Spectrum and TS 2068’); 
WRITELN (’programers have long wanted to’); 
WRITELN ('do serious programing in other’); 
WRITELN (’languages than the resident’); 
WRITELN (’Sinclair Basic. Although such’); 
WRITELN (’languages as Forth, Logo, C,’); 
WRITELN (’Prolog and Pascal have long been’); 
WRITELN (’available to Sinclair users one’); 
WRITELN (’of the main drawbacks for’); 





1950 WRITELN (’serious programing in these’); 

1960 WRITELN (’languages has been the lack of’); 
1970 WRITELN (’disk I/O routines. This program’); 
1980 WRITELN (’will demonstrate how the Larken’); 
1990 WRITELN (’disk drive system may be’); 

2000 WRITELN ("accessed for storing and "); 

2010 WRITELN (’retrieving data within a’); 

2020 WRITELN (’HiSoft(TM) Pascal program. The’); 
2030 WRITELN (’procedures described in this '); 
2040 WRITELN; 

2050 WRITELN (’Hit any key to continue’); 

2060 READLN; 

2070 PAGE; 

2080 WRITELN (’program are valid for both the’); 
2090 WRITELN (’ZX Spectrum and the Timex’); 

2100 WRITELN (’Sinclair 2068’); 

2110 WRITELN; 

2120 WRITELN (’The two disk drive procedures’); 
2130 WRITELN (’are found in the procedures DIN,’); 
2140 WRITELN (’and DOUT. A third procedure, ’); 
2150 WRITELN (’called GETNAME, supplies the’); 
2160 WRITELN (’above procedures with a name for’); 
2170 WRITELN (’storing or retrieving from the’); 
2180 WRITELN (’disk. All these procedures work’); 
2190 WRITELN ("’in conjunction with the resident’); 
2200 WRITELN (’procedures ADDR(), SIZE(), and’); 


2210 WRITELN (’POKE() ’); 
2220 WRITELN; 


2230 WRITELN (’The authors hope that these’); 
2240 WRITELN (’procedures will stimulate Pascal’); 
2250 WRITELN (’programing for the ZX Spectrum’); 
2260 WRITELN; 

2270 WRITELN (’Hit any key to continue’); 

2280 READLN; 

2290 PAGE; 

2300 WRITELN (’and the Timex Sinclair 2068 and’); 
2310 WRITELN (’encourage other Sinclairests to’); 
2320 WRITELN (’write disk routines for the’); 
2330 WRITELN (’other languages mentioned’); 

2340 WRITELN ('’above.’); 







TIMEX 2068 and GRINATE 20/7 
iE LON RI 


NEW for your 2068!!: 


COPY A SCREENS IN COLOR? YES! 
Now a T/S 2068 artist can copy to paper his/her favorite 
screen$ ....e. JN FULL COLOR!! All eight Timex paper & ink 
colors are accurately reproduced for a full 24 line X 32 
coluan graphics screen duap. The user friendly software 
provides for two copy sizes in color or in black & white. 


HARDWARE REQUIREMENTS? - An OKIMATE 
20 printer w/ COMMODORE PLUG ’n PRINT CARTRIDGE are inter- 
faced to a 2068 via a simple COMMODORE serial port emu- 
lator circuit; (The same circuit also interfaces a 2068 to 
a COMMODORE 1520 4-color printerdplotter.) The I/F hard- 
ware sells for $14.95 (bareboard only), $20.95 (complete 
kit), and. $30.95 (asseabled & tested) - all postpaid. 





























OTHER SOFTWARE? - The OKIMATE 20 is a many 
featured 80/156 col. printer, able to print in draft, NLQ, 
italics, reverse (white on black), underline, super/sub- 
scripts, six char. sizes, and do 7 or 24 pin color or b/w 
graphics. A “patch kit” software program allows CMScript 
versions 9/5.2 to print to the OKINATE 20. A hi-ses driver 
code block is also available for LPRINT/LLISTing to the 
OKINATE 20 from BASIC. All software is priced at $8.95 
postpaid each and comes with coaplete user notes. 


Send LSASE for additional information and order fora to: 
¢4 John McMichael ¢4¢ 
#€¢¢ 1710 Palmer Drive ¢¢¢ 

#¢¢@ Laramie, WY 82070 ¢¢4¢4 












22 





2350 WRITELN; 
2360 WRITELN ('’David Solly’); 
2370 WRITELN (’Larry Kenny’); 
2380 WRITELN; 
2390 WRITELN; 


2400 WRITELN (’Hit any key to continue’); 
2410 READLN 

2420 END; 

2430 

2440 


2450 BEGIN {BODY OF THE PROGRAM} 
2460 REPEAT 

2470 PAGE; 

2480 POKE (CAPSLOCK, ON); 
2490 FINISHED := FALSE; 

2500 WRITELN; 

2510 WRITELN; 

2520 WRITELN (’MENU’); 

2530 WRITELN; 

2540 WRITELN (°SELECT ONE OF THE FOLLOWING’); 
2550 WRITELN (’OPTIONS ’); 
2560 WRITELN; 


2570 WRITELN; 


2580 WRITELN (’1) READ THE INTRODUCTION’); 
2590 WRITELN ('2) CREATE DATA’); 

2600 WRITELN ('’3) READ DATA’); 

2610 WRITELN (’4) SAVE DATE TO DISK’); 
2620 WRITELN (’5) LOAD DATA FROM DISK’); 
2630 WRITELN ('’6) EXIT THE PROGAM’); 


2640 WRITELN; 

2650 WRITELN; 

2660 WRITE ('MAKE YOUR SELECTION '); 
2670 READLN; 

2680 READ (ANS); 


2690 

2700 

2710 CASE ANS OF 

2720 ’1’ : SONGANDDANCE; 
2730 ’2’ 3 FILLDIRECTORY; 
2740 *3’ : READDIRECTORY; 
2750 '4’ : DISKSAVE; 

2760 ’5’ : DISKLOAD; 

2770 ’6’ : FINISHED := TRUE 
2780 END; 

2790 

2800 


The Pascal 


2810 UNTIL FINISHED = TRUE; 


2820 
2830 
2840 
2850 
2860 
2870 
2880 
2890 
2900 
2910 END. 


disk handler 
program works only within a 


{FINALE} 
PAGE; 

WRITELN; 
WRITELN; 


WRITELN (’END OF DEMONSTRATION’); 


WRITELN; 
WRITELN 


described 
compiled Pascal program and, 


in this article and 


regretfull , can not be used to save Pascal source code. The 


procedures DIN, DOUT, and GETNAME 
They may be copied directly from 


are completely modular. 
this program into the 


appropriate section of any Pascal program you care to write 


which requires access to LKDOS. 


The procedures DISKSAVE and 


DISKLOAD may also be used but remember to change the name 
within the parentheses of ADDR() and SIZE() to the name of 
the variable within your program that you wish to save or 
load. The ”.C” extension required by data file saves within 
Basic when using LKDOS is not required by the Pascal disk 


handler, however, 
extension 


is intended for a 
program. All the LKDOS error codes are operational and will 


stop your program 


compiled code is accessed through a 


it may be good practice to use the 
".P” to indicate that the data that has been saved 
Pascal program 


rather than ae Basic 


without crashing providing that the 


Basic loader progran, 


that a PRINT USR is used rather than RANDOMIZE USR and that 


there is at least one line of 


Example: 


Basic 


after the USR call. 


10 REM TYPICAL COMPILED PASCAL PROGRAM LOADER 


20 BORDER O: PAPER 0: 


30 PRINT #4: LOAD 
40 CLS: PRINT USR 27000 
50 STOP 
9000 REM SAVE LOADER TO DISK 
9010 PRINT #4: SAVE 


INK 7: CLS 


"MYPROG.C1” CODE 27000 


"LOADER.B1” LINE 1 


On behalf of Larry and myself I hope that this Pascal disk 
handler will prove to be useful 
serious programming in Pascal which requires disk access. 


all who wish to do 


7FBRA/TIMEX FDD DISK SYSTEM 





MACHINE CODE TRACK 


by Mike Finn 


In order to write more advanced programs for the 
Zebra FDD disk drive system, we need to know more 
about it's operating system. To write disk utilities 
we need to be able to see exactly what is on disk 
without a basic program using basic TOS (Timex Oper- 
ating System) commands as intermediary. Since TOS is 
stored on the first four tracks of the disk and 
downloaded to controller RAM, we need disk reading 
and writing utilities to make any desired changes’ to 
TOS, or to develop utilities such as a program which 
would recover disk data after accidental erasure. 

The following machine code program will read all 
the sectors of any given track on the disk and store 
the 4K bytes of disk track data in Home RAM at 7000 
hex for access by a monitor disassembler machine 
code program. The track reader code resides at EOOO 
to E050 hex. I have used both Zeus Monitor and HOT-Z 
AROS with it. In fact, I have used HOT-Z AROS in all 
3 banks: home, dock, and exrom with 32K non-volatile 
memory board in the dock cartridge slot with this 
track reader program. The code can be readily modi- 
fied to be used at some other location if you are 
using some other disassembler. 


E000 
E001 
E002 


E005 
E008 
E009 
E00C 
EOOD 
EOOF 
E013 
E016 
E018 
EO1A 


E01C 
EO1F 
E020 
E021 
E022 
E025 


E028 


23 


00 
00 
210070 


3A01E0 


FDES 
FD210000 
CDO800 
FDE1 
1E00 
3E1B 


320021 
CS 
DS 
ES 
CDO8C6 
CD2606 


3A0221 


READER 


LD HL, 7000 


LD A, (E001) 
LD D,A 
LD A, CEOOO) 


LD IY,0000 
CALL 0008 
POP IY 

LD E,00 

LD A,1B 


LD (2100) ,A 
PUSH BC 
PUSH DE 
PUSH HL 
CALL 0608 
CALL 0626 


LD A, (2102) 


Storage space for drive # 
Storage space for track # 
Beginning of home ram 
storage for disk track 
contents 


D contains track # 


C contains drive unit # 
Page in ZEBRA interface 
rom/ram 


E will hold sector # 

Disk command to read sector 
contained in E of track in 
D of drive in C 

Command buffer 

Save request parameters 


Save current home ram 
download address 

Calls command sending 
routine 

This routine controls for 
reply from disk 

This system variable holds 





E001. I use the GOTO command to rerun the code at 
E002. For HOT-Z, the normal read mode can disassemble 
code and the display switch (SS-G) will read data. I 
can enter the edit mode (SS-A) to input new parameter 
values and use the run command (CSS-RUN) to rerun the 
track reader code. HOT-Z has an advantage over ZEUS 
for reading files containing basic programs. ZEUS 
won't display the characters corresponding to codes 


calls are to a jump table in Zebra ROM, as 
in Appendix F of the user manual, 


the FDD should run this code. 
need to be changed to relocate this code for use with 


another monitor/disassembler 
You will need to change the absolute 


The only 


are lines 3, 4, 


TOS error code 


EO02B A7 AND A Test for error. 
E02C 0600 LD B,00 If an error occurred return 
EO2E 4F LD C,A to basic with error 
E02F 201C JR NZ,EO4D reason in BC 
E031 El POP HL Restore home ram address and 
E032 110020 LD DE,2000 download from ZEBRA ram 
E035 EB EX DE,HL buffer to home 
E036 010001 LD BC,0100 
E039 EDBO LDIR 
EO3B EB EX DE,HL 
EO3C Dl POP DE Restore sector/track 
parameter 
EO3D 7B LD A,E Pick up next data sector of 
EQ3E C607 ADD A,07 track 
E040 E60F AND OF 
E042 SF LD E,A 
E043 Cl POP BC Restore drive parameter 
E044 20D4 JR NZ,EO1A If all 16 sectors not read 
then loop back for next one 
E046 010000 LD BC,O0000 If all 16 read set error 
report code to 0 
E049 CDO306 CALL 0603 Page out ZEBRA rom/ram 
EO04C C9 RET Return to basic to call up 
either monitor or error 
message 
E04D El POP HL Clear stack and return to 
-EO4E El POP HL basic 
EO4F El POP HL 
E0SO 18F7 JR E049 
Relative addressing is used as much as possible 
within the machine code. The only absolute address 


described 
so all versions of 
lines that 


and 6. 


addresses used 


in those lines to match your memory layout. 


A basic 


you must 
your own monitor/disassembler loads and calls. I use 


program 


run the code, 


is used to load the code from 
disk, poke the track and driver parameters, 
favorite monitor, 
program to view the disk data. 


load your 


and enter the monitor 
In the 
replace lines 30 to 38 and 140 to 148 with 


basic program 


over 127. 


For those whose 


assembler, 
the code. 


10 
20 
30 


34 


36 
38 
40 


monitors do not 


the following loader may be used to enter 


REM ZEBRA Disk Drive 
Track Reader Utility 
by Mike Finn 

REM This utility requires a 
monitor/disassembler 
machine code program 

REM Program allows for 
monitor code to occupy 
addresses from 8000 
to DFFF Hex or from 
E051 to FFS7 hex 

REM E000 to E050 is reserv- 
ed for track reader m/c 

REM 7000 to 7FFF is reserv- 
ed for disk data 

CLEAR 28671 

LOAD *''TRACKRDR.COD''CODE 

REM 2% ORR RRR RIO KK 

REM 

REM Replace this REM with 
a LOAD * instruction to 
load your favorite mon- 
itor disassembler from 
Disk 

REM 

REM 46K ROR ROR KOK 


PRINT ’TAB 5;''DISK REVIEWIN 


GS UriLitr’ 


90 


INPUT ''Source Drive (A TO D 


) "Ds 


60 
70 


LET D=CODE Ds 
IF D>=97 AND D<=100 THEN L 


ET D=D-32 


80 
HEN 
90 
100 
110 
100 
120 
130 
140 
142 
144 


LET D=D-65: 
GO TO 50 
POKE 57344,D 
INPOr “Track (0 to 39) ";T 
IF T<O OR T>39 THEN GO TO 


IF D<O OR D>3 T 


POKE 57345,T 
LET BC=USR 57346 
REM 6 OR ORO ORK OK OK 
REM 
REM Replace this REM with 
IF BC=0 THEN RAND USR 
€ monitor address ) 


one of following depending on my _= system 
configuration. 
ZEUS monitor: 
30 LOAD * "ZEUSMON.COD"CODE 
140 IF BC=0 THEN PRINT USR 62137 
HOT-Z AROS: 
Home : 30 LOAD * "HOT-Z2,5.COD"CODE 
140 IF BC=0 THEN RAND USR 32776 
Dock: 140 IF BC=0 THEN OUT 255,0: OUT 244, 
240: RAND USR 32776 
Exrom: 140 IF BC=#0 THEN OUT 255,128: OUT 24 
4,240: RAND USR 32776 
Mostly I keep HOT-Z in Exrom. There are several 
"bugs" in the FDD's initiation routines when dock 


bank cartridges are present. I avoid these conflicts 
by keeping HOT-Z AROS in exrom from 8000 to DFFF hex. 

Once you enter the monitor you shouldn't need to 
return to basic. Parameters at E000 and E001 hex can 
be poked using utilities in the monitor program and 
both ZEUS and HOT-Z have code execution routines. For 
ZEUS, I use the DISASSEMBLE command to read code and 
the EDIT command to read data. The EDIT command is 
also used to change parameter values at EOOO and 








24 


146 REM 
148 REM RRR ORK 
150 PRINT "ERROR '"' sBC; nk Please 


see user manual," 


10 REM Machine code loader 

15 RESTORE 

20 FOR I= 57344 TO $7425 

25 READ A: POKE I,A: NEXT I 

30 DATA 000,000, 033, 000,112,05 
8, 001,224 ,087,058,000,224 079. 

3§ DATA 253, 229. ,203, 033, 000,00 
0,205 ,008,000,253,225,030,000 

40 DATA 062,027,050,000,033,19 
7,213,229,205,008,006,205,038 

45 DATA 006,058,002,033,167,00 
6,000,079,032,028,225,017,000 

SO DATA 032,235,001,000,001,23 
7,176,235,209,123,198,007,230 

55 DATA 015,095,193,032,212,00 
1,000,000,205 ,003,006,201,225 

60 DATA 225,225 ,024,247 


Tee rANL: Qo oKE Yo» WEPH= "CAPs": COMMAND 


by Mike Finn 


After reading Ronald Havlen's FDD Express (Oct. 
'87) newsletter about the problem with stopping the 
scrolling on the CAT* command with keys "S" and "Q", 
I began to experiment and I soon discovered that 


from the data buffer before it has to return to the 
original calling routine. If a directory printout 
contains less than 257 bytes, the "S" key will not 


these keys will work occasionally. Here is a= small Seer 2% Sear Oi ee erates trensren wince It eon 


A tested prior to the data printout. 
ae eas which shows that an even larger problem Can a long directory be contained in just 256 
exists. 


bytes? If look at th b i i 
First, make sure you have a disk with a large dag is sg e TOE By ene DEIBkeUy OF 


: : ‘ _ the previous sample directory, you will notice that 
enough directory to require screen scrolling. One it is mostly empty spaces. The TAB function can 


fast way to do this is to run the following program: easily generate all those spaces in just a few bytes 


of machine code, so pressing "S" may not necessarily 
10 FOR I = 1 TO 40 stop even a large directory from scrolling. 
“ ce STR$ I Zebra ROM subroutines called by the "S" and "Q" 


40 NEXT I key routine: 


Now delete that program and enter the following: go9, FpcBO1AE RES 5,(IY+01) RESET SYSTEM VARIABLE FLAG WHICH 


10 LET I = 0 TRACKS KEYHITS 
20 CAT* OOOE FDCBOI1DE SET 3, (IY+01) SET CURSOR MODE L 
30 LETI=<«I+1 0012 CD3003 CALL 0330 CALL KEYBOARD SCANNER IN 
40 GOTO 20 0015 BOO02 DEFB O020B HOME ROM 
0017 AF XOR A CLEAR FLAG REGISTER 
: : > @ f 0018 FDCBO16E BIT 5, (1Y+01) TEST WHETHER KEYHIT FOUND 
Run this program and while it is running, press 001C C8 RET 2 IF NOT, RETURN TO CALLING ROUTINE 
and Held Ehe 28. Bays 20,0arient. 88 S058 DAY take 8... oO1D SA0SSGs CED 7Ay Sene) SYSTEM VARIABLE - LAST KEY 
minute or so. Eventually, the scrolling will freeze 0020 FE61 CP 61 TEST FOR UPPER CASE 
and will remain this way until the "Q" key is 0022 D8 RET C RETURN IF UPPER CASE 
pressed. Press the "Q" key and the screen will begin 0023 E6DF AND DF IF LOWER CASE. CONVERT TO 
scrolling again. Immediately press CAPS SHIFT and 0025 C9 RET UPPER CASE AND RETURN 
BREAK. Enter as a direct command PRINT I. The first 0026 3E0D LD A.OD CARRIAGE RETURN 
time I tried this it took 33 repetitions of the loop 0028 CD3003 CALL 0330 CALL RST 10 IN HOME ROM 
from lines 20 to 40 before the scrolling stopped. 002B 1000 DEFB 0010 TO TRANSMIT CARRIAGE RETURN 
Other times it took -as few as four loops. 
This shows that the "S" and "Q" keys do work %92D C9 RET 


sometimes...the problem is why don't they work all of 
the time. 

I've also noticed another problem which may be 
Similar to the systems non-response to the "S" key. 
Let's clean up our disk's directory with the 
following program. 


10 FOR I = 1 to 40 
20 LET A$ = STR$ I 
30 ERASE A$ 

40 NEXT I 


BIE OU MISS 
G@HE FAIR? 


re) If so, you’ll be glad 


to Know that you too can 
get in on the specials that were. 
offered! We want to send a list of 
our special “AFTER THE FAIR" sale 
items so that you can get in on 
the savings! All you do i‘s send a 
legal sized SASE and we’!l] send it 
out to you with all due haste! 
AND...1¢ you would like to order a 
souvenier packet of specials and a 
program from the show, just send a 
check or MO for $3 and we’ll send 


it out! (Packet includes specials 
from most attending vendors.) 


For RMG’s BIG 70+ page 
catalog, send $3, 
refunded first order. 


RAG ENTERPRISES 


1419 1/2 7TH STREET 
OREGON CITY, OREGON 97045 
903/655-7484 *# NOON-10 TUE-SAT 

















When you run this program, TOS (Timex Operating 
System) will ask you to confirm that you want to 
erase each directory entry. Answer "Y" each time and 
take notice of how long a wait there is between when 
you press "Y" and when TOS recognizes that you 
replied. The first six times I answered "Y", TOS 
recognized my input immediately, but the following 
two times, there was noticeable lag. on one occasion, 
I tapped the "Y" key several times before the system 
finally responded. I have not had this problem any 
other time, so I assume the problem is not a 
defective keyboard. (I would like to know if these 
things I've written about are peculiar only to my 
setup or if they are universal among all Zebra FDD 
owners. ) 

I have been working on a disassembly of the 
Zebra interface ROM. I believe the I've identified 
the subroutine that deals with the use of the "Q" and 
"S". I am still investigating this routine and have 
nothing final to report, but on my first glance, I 
see no reason why it shouldn't work consistently. 

My initial review shows that when the Zebra in- 
terface ROM sets up a TOS command to the disk 
controller, it then controls a response using a sub- 
routine which the Zebra Disk Drive Technical Manual 
(page 28) calls RESPOSTA. This routine lies between 
0688 hex and O6DB. If TOS wants a write out of text 
in the data buffer (2000 to 20FF hex) or from the 
error message section of the command buffer (210D to 
212D), the routine at O3EB to 0423 is called. It is 
this routine which contains the "S" and "Q" key 
tests. One noteworthy point about this routine is 
that it only tests the "S" key at the beginning of 
the screen printout of text. It can print 256 bytes 


23 








printout routine: 


IF SO, RETURN TO CALLING ROUTINE 





O3EB ES PUSH HL SAVE HL, ADDRESS OF TEXT TO BE 0418 C8 RET Z , 
Pe PRINTED OUT 0419 7E LD A, CHL) PICK UP TEXT BYTE POINTED TO BY 
O3EC 3E02 LD A,02 OPEN CHANNEL # 2; 0330 IS THE HL aes: 
O3EE CD3003 CALL 0330 i CBAS ROUTINE USED TO CALL HOME 041A B7 OR A TESTS TO SEE IF WE REACHED END 
O3Fl 3012 DEFB 1230 ROM ROUTINES OF DATA MARKER, O00 HEX | 
O3F3 3EFF LD A,FF POKE SYSTEM VARIABLE WITH FF FOR 041B C8 RET 2 IF SO, RETURN TO CALLING ROUTINE 
O3F5 328C5C LD (5C8C),A CONTINUOUS SCROLL OF SCREEN 041C 23 INC HL IF NOT END OF DATA OR END OF 
O3F8 CDOA0O CALL OOOA KEYBOARD SCANNER ROUTINE 041D ES PUSH HL BUFFER THEN GET NEXT ADDRESS TO 
O3FB FES3 CP.53 « IS IT THE ''S" KEY? BE PRINTED OUT AND SAVE IT 
O3FD 2007 JR NZ,0406 IF NOT,CONTINUE WITH PRINTOUT 041E CD3003 CALL 0330 USE CBAS TO RUN HOME ROM RST 10 
O3FF CDOA0O CALL OOOA IF IT IS ''S'', KEEP SCANNING 0421 1000 DEFB 0010 FOR TEXT BYTE IN THE A REGISTER 
0402 FES1 CP 51 IS IT THE ''Q'' KEY? 0423 18EE JR 0413 REPEAT THE END OF DATA AND END OF 
0404 20F9 JR.NZ,03FF IF NOT, THEN KEEP SCANNING BUFFER TESTS 
KEYBOARD UNTIL ''Q'' IS PRESSED 
0406 CD2600 CALL 0026 THIS DOES HOME ROM RST 10 TO Note that the keyboard is only tested once for 
TRANSMIT A CARRIAGE RETURN the "S" key, then up to 265 bytes are printed out. 
0409 El POP HL RESTORE POINTER TO BUFFER BYTES When this is completed we return to REPOSTA which 
040A ES PUSH HL sends a DONE message to TOS. If TOS has anything else 
040B 7C LD A,H THIS TESTS WHETHER HL POINTS TO to output to the screen, it repeats the request for 
COMMAND BUFFER 210D HEX OR TO data printout and up to 256 bytes can again be 
DATA BUFFER 2000 HEX printed. So we only get the chance to stop the screen 
040C 1F . RRA CARRY WILL BE SET FOR COMMAND scrolling every 256 bytes. 
BUFFER, AND RESET FOR DATA When you try the program, you will see _ the 
BUFFER READOUTS scrolling freeze occasionally and will have to press 
040D 0600 LD B,0O THIS SETS UP A PRINTOUT OF "Q" to restart it. This shows that the routine does 
UP TO 32 BYTES, THE MAXIMUM work. I see no software bugs to prevent it from 
SIZE OF THE MESSAGE AREA IN THE working all the time (i.e., every 256 bytes). I don't 
COMMAND BUFFER know enough about the hardware mechanisms involved in 
O40F 3802 JR C,0413 paging in and out the Zebra FDD shadow ROM, but I 
0411 0621 LD B,21 THIS SETS UP A PRINTOUT OF UP TO suspect a timing problem or a keyboard debouncing/ 
256 BYTES, THE MAXIMUM LENGTH OF. reading problem more than a software problem. Does 
THE DATA BUFFER, 2000 TO 20FF anyone have any suggestions for further study so we 
0413 El POP HL RESTORE BUFFER TEXT ADDRESS can nail down the source of this problem? 
0414 04 INC B TESTS THAT WE DON’T EXCEED THE 
0415 78 LD A,B MAXIMUM SIZE OF BUFFER 
0416 FE21 CP 21 
USING OLIGER SAFE DOS VERSION 2.52 
by Dick Wagner 
The final OLIGER SAFE DOS (Disk Operating Now the user can change disk names at will with the 


System) on EPROM is now available as version 2.52. 
The system is more than just a disk operating system. 
The additional utilities that John Oliger provides 
are interesting and useful. 

Here are some of the latest features: 

1. A fast FOR--NEXT loop routine 

2. ERASE /"Filename" command 

3. improved cataloging (CAT command) 

4. RESTORE /"New disk name" command 

5. MERGE /"Name" command 
Along with these, there is a well-coordinated 
version of the MSCRIPT word processor available to 
use with SAFE DOS, and it is now possible to operate 
two disk drive operating systems at will, without 
changing disks! (i.e., OLIGER and LARKEN) 

The fast FOR--NEXT loop utility provides a con- 
stant speed whenever it is used in a program, giving 
9 to 50 times faster operation. Only one such loop is 


permitted, but it may be mixed with regular BASIC 
loops. It is simple to implement. The variable must 
be assigned at the beginning of a program, such as: 
S LET /k=1 
200 FOR /1 TO 100 
255 NEXT 
The ERASE /"Filename” command permits erasing 


any disk file, which is great for cleaning up a disk. 
All consecutive files following the erased file are 
moved up and the catalog is corrected without blank 
lines. 

The new CAT extended command produces an 
improved screen display with an added column which 
shows the starting address for code and data files. 

The extended command FORMAT /"name" has been in 
use from the beginning, as it is always necessary to 
give the disk a name (even if the name is only " "). 





26 


RESTORE /"New disk name" command. This is handy for 
formatting disks in advance. 
With the new MERGE /"name" command, Oliger makes 


it possible to append a program to an existing 
program, without seriously polluting the current 
program! 


Printing a hard copy of the disk catalog is a 
snap. In the immediate mode, type: LET /P=0 and OPEN 
#2,"p". Now type CAT, and the display is shunted to 
the printer in place of the screen. 

The OLIGER SAFE disk system and hardware has the 
unique ability to be compatible with the LARKEN DOS 
(Disk Operating System), which is supplied in cart- 
ridge form, and is available from LARKEN (and RMG 
Enterprises). Now the user can operate both systems 
interchangeably at will (with the LARKEN disk in 


drive 0O and the OLIGER disk in drive 2.1 OT 
example). The extended commands can be sent to either 
disk, and even some OLIGER commands can be used in 
LARKEN programs, such as the fast FOR--NEXT loop 
routine. As I prefer using the OLIGER DOS, I can 
purchase programs available only for the LARKEN DOS, 
make the appropriate program changes, and save a 
version on the OLIGER. 

My personal favorite (and much used) disk oper- 
ation is in conjunction with MSCRIPT version 5.3. I 
make a MSCRIPT utility save on each disk I use with 
this program. A special FILE 0 program is used with 
LOAD to display the catalog with a moveable cursor. 
Select MSCRIPT, press ENTER and there it is. Issue 
the CAT command in the MSCRIPT menu and the catalog 
is displayed. Select a program to LOAD into MSCRIPT 
as text, and there is the complete text, including a 
list of printer commands used with that particular 
text. A quick delete of the text leaves the printer 
codes to use as reference. 





For convenience, I also have the printer codes the OUT 127,n direct port approach for this type of 
(S2 possible) stored on the same disk as text. It can programming. I prefer to use the LPRINT method 
be loaded at any time, referred to, codes added to commonly used in many computer programs. The LET /P=0 


the 
deleted. The alternative is a printed listt. 


Many large printers provide graphic capabilities 
every print pixel is defined. John Oliger uses 


where 


list already in the reference lines, and then be 


command will not properly send printer codes greater 
than 127. The word from John, is to make 2 pokes: 
23300,60 and 23301,3 to overcome this problem, so 
that LPRINT CHR$ n will work properly. 


ROTRONICS WAFADRIVE 








The following utility program was 
TIME DESIGNS by Dave Maccarone, 
distributor of the Rotronics Wafadrive. 


supplied to 
a former authorized 
Rotronics is 
not longer in business. It should be noted that the 
following "Tape Transfer Utility" is for the Spectrum 
computer or the Spectrum-Emulated Timex Sinclair 
2068. 


When transferring software from cassette to 
wafer, some kind of transfer utility program is 
virtually indispensable. The program given here is 
written largely in BASIC and sets up its own machine 
code subroutines. The three facilities provided by 
the program are: 

1. READ HEADER: Essential for analysing the 
attributes of files on cassette. Displays the auto- 
run line number of BASIC programs, location and 
length of code files. It works by reading the program 
header which preceeds the file on tape. Beware of 
false headers! 


2, RECLAIM RAM: This option effectively de- 
initializes the Wafaderive Operating System and 
reclaims all RAM used. The BASIC program is pre- 
served. 

3. STOP: This can be used to load a BASIC 
program such that it is prevented from auto-running 
once loaded. It will thus cope with "anti-merge" 
programs. The auto-run line number is displayed on 


screen with the program name. The utility program 
itself is overwritten. 

The machine code subroutines used by the program 
are all relocateable and can be lifted for use in 
your own programs. Memory saving techniques have been 


used in the BASIC to assist when working in "con- 
fined spaces". The program can be further reduced in 
size if required by splitting it into three parts 


and/or by loading the machine code straight into 
printer buffer as a separate file. 


the 


TAPE TRANSFER UTILITY 


10 PAPER VAL “5”: INK NOT PIs BORDER VAL “5S”: GO SUB VAL “1le3” 
20 CLS =: PRINT “Enter number:”’7?? 
30 PRINT “” 1 READ HEADER”?” - loads header from cassette 

% displays file attributes.” 


40 PRINT ’”’” 2 RECLAIM RAM“?” - de-initialises WOS & 

reclaims RAM.” 

SO PRINT **" 3 St0Gr-** - loads BASIC program from casse 
tte, preventing auto- rune” 


60 LET a$=INKEY$: 
70 CLS : GO TO VAL 
100 REM HEADER READ 
110 PRINT *” HEADER READ ”’’“Play tape...”: 
3320”5 CLS & LET a®VAL “23296” 
120 LET t=PEEK as: LET a=a+SGN PI 
130 PRINT “TYPE:”,”“Program” AND (NOT t)3“Number array” AND (t#S 
3N PI) 3”String array”. AND (t#VAL “2”)3"Bytes” AND (t=INT PI) 
140 PRINT ’°”NAME:”,: FOR n=SGN PI TO VAL “10”: PRINT CHR$ (PEEK 
a)3s LET aza+SGN PI: NEXT n 
150 PRINT °’”“LENGTH:”,PEEK a+VAL 
+9 
160 LET b=*PEEK a+VAL 
TO-RUNS”,s IF BCVAL “1e4” THEN PRINT b 
170 IF t#INT PI THEN PRINT ’”START:”,b 
180 PRINT £NOT PI;3”Press a kay to return to menu”: PAUSE NOT PI 
: GO TO VAL “20” 
200 REM RECLAIM 
210 PRINT ~” RECLAIM RAM ” 
220 GO SUB VAL “2e3”: CLEAR #5 
VAL “20” 
300 REM STOP 
310 PRINT ~ STOP “”***WARNING! 
ted.”s GO SUB VAL “2e3” 
320 PRINT “The number shown on screen is the line from which 
the program would normally auto-run.”’’”Play tape...”’’"sUSR VAL 
"25369": STOP 
1000 RESTORE 
i020 DASH. fal» Soy O 5 Ve 9 aan. » #ae pit iP ee , W178" 5 
a” ¢ 205°» G6" ,°5S", "221" 5" 229", "48", "242" “SSt*, “201I* 
L020 DATA “219%,°12”,"205" ,"46",°%10" , "205", "159", "0". "42", "99" 4” 
Fag SO" gp AOL 5 22s Say 148” 4 “OZ” "54" 4" 104" 4°92", "SS" 182" ,” 
Tag & ¢ 28% «9 ©» 199 5 eee 5 20. 
DSO: DATA ag SS” 5 Og "247", S2AS" 9 Zeke eee 5 22k» Se", "1", "2 
oy aad 9 Oe» 10 5 128" » "62", "1" "SO", "126" 5. Fa", 20S" 5" SS" "7 
"9 2.4 Bow ¢ 30" 5° 68" 9°92” 6° 237" 9°75" "66.5 “Fa” 5 “208 , "27" "26" 
» 207" , “285” 
1040 FOR a=VAL 
EXT as RETURN 
2000 REM CONTINUE? 
2010 PRINT °’”Press Y to proceed or any other key to return to m 
enu” 
2020 PAUSE NOT PI: 
»CODE “y” THEN RUN 
2030 CLS = RETURN 


IF a$¢<"1”" OR a#>”“3”% THEN GO TO 60 
“LOO” #VAL af 


RANDOMIZE USR VAL “2 


“2S6*#PEEK (at1)"3 LET a=a+VAL 


“256"PEEK (at+1)”s IF NOT t THEN PRINT ’“AU 


RANDOMIZE USR VAL “23340”: GO TO 


- this program is lost when selec 


“23320” TO VAL “23405”: READ a¥: POKE a,VAL af: N 


LET a=PEEK VAL “23560”: IF a<>CODE “Y” AND aX 


KAKA AAAS 


Pee ee ai 


Oo F 


Bee ee ma OWN TH 


MERE A RRA AERA K KAKA RR AAA RARER A ERATE ERR EERER RE KKEE EES 


The GIVENS of this puzzle are: 


CEDRIC R. BASTIAANS 


A. There are S children, all more than 1 year old and younger than 25. 
B. Their combined ages total 40. 


C. The product’ of the boys’ ages is 39 times the product of the girls’ 


ages. 


D. Next year, the product of the boys’ ages is an even number of times the 


product of the girls’ ages. 


CAN YOU COME UP WITH A PROGRAM FOR OUR COMPUTERS TO FIGURE OUT THE AGES OF THE 


FIVE CHILDREN??? 





send real money. Thanks to 


not 


Mlease do 


This is NOT a real ad. 


William Scott 


Notes: 


his humerous little ditty from Australia. 


OF caaktranutcing ¢t 


ot 
oe 


+ 


Exclusive advance 
“purchase! 


SINCLAIR 2X83 


We've done it again! Be the first in your street to own 
Sinclair’s new baby, the incredible Z X89! Just look at 
these features: 


* Powerful, Cray 1 compatible processor on one chip! 

* 14 Megabytes of RAM on one chip!! 

° Advanced touch-sensitive multifunction keyboard — each 
key has 27 functions!!! 

* Twin 10 Mbyte winchester disks — new, ultra-mini design 
exclusive to ZX89!!!! 

°* Plugs into your own TV, run: ‘ora year on two micro batteries 


All this for just $35.00 inc sales tax, post, packing, all connecting 
cables, and all the software you can get into your house! (Send 
cash only — no cheques, credit cards, POs, Lan Choo Labels, etc 
accepted. Strictly mail order only.) 


Wlicrobee Pacemaker 


That's right! Now you can control your own heartbeat with 
this powerful software package. All connectors pilus scaipel 
blades supplied — install it yourself with our easy-to-follow 
instructions. Lifetime quarantee. Supplied on cassette for 

just $15.95 inc p&p (no refunds). Ask about our very own 

life insurance scheme exclusive to Microbee Pacemaker owners! 


Games software 


Dam: Build your own Franklin below Gordon obstruction, tend off 
the Greeny attackers by puncturing thei rubber dinghy. With 
full colour, sound, fast-moving graphics. $20.00 


' invading 
Orphan attack: Defend the food-laden table from inva 
hordes of hungry orphans. Can you eat it all before they do? $16.00 


hiker appears in the gloom. Can you run him over before he 
jumps clear? $520.00 


The Stones of HI’Fydgra: Ultimate Adventure’ type game, lasts 
for weeks, no-body has yet Managed to win — will you be the first? 
Explore the caverns of Ygnbs, the Magician of Ggon; fight Typo 
the mystic Gzknw and his followers, the Pfinds of Tzdi. Find the 
Treasure of Pjjjj and you've won! $2.00 inc free dictionary. 


Hitch-hiker: You're driving along a dark road. Suddeniy a hitch- 
| 
| 







Zap the Zits: Can you stop those pesky zits from spreading? 
The faster you zap them, the faster they come back! Find the 
secret ‘Clearasil’ button to win. Full sound and colour. $45.00 





WILD BILLSCOMPUTER 


RODEO 


PO BOX 835539A SYDNEY 
(02) 747 6311 


Buy yours NOW! 


DON’T WAIT TILL NEXT MONTH 
FOR THE VZ200 


Beat the delay — buy your VZ200 Dick Smith color computer 

now from us orer the counter! How do we do it? Simple! As soon as 
we heard of the VZ we bribed security guards at the Hong Kong 
factory to shoot machines out the side door}! 


Standard Machine $853.02 


Prices exclude post, packing, sales tax, case, bribe, keyboard, 
ma.ucl and connecting cables. 





UNUSX 


Now you can have the power of this incredible Unix-like 
Operating system on your ZX811 Just like Unix but “pruned’”’ 
to fit into basic Ik ‘81! 

Don’t be !eft out when your neighbours switch to Unix! Just 
$23,427.63 (on cassette only). 


Business software 


MoralStar: New addition to your word processing suite. Auto- 
matically searches your text for dirty words, expletives, double- 
entendres, etc, and replaces them with ‘clean’ text which even 
F Nile would approve. A ‘must’ for TV scriptwriters! 

$750.00 


TLO Toolkit: Trying to get to grips with The Last One? Our TLO 
Toolkit makes the job a cinch, gets TLO working, produces exactly 
the code you want. Definitely the jast program you'll need to 

buy (revised version coming in September). $540.00 


V1IC-370: Give your VIC 20 the power of an 1BM 370 with this 

super conversion program! You too can have mainframe computing | 
power at your fingertips in the comfort and privacy of your own 
home. Requires 1.432 16k RAM packs. On cassette only $37.50 


processing system. Scans your text and inserts dirty words, exple- 
tives, double-entendres, etc, in place of ‘clean’ words. A ‘must’ 


innuengo: Not a game but an indispensable addition to your word l 
for TV scriptwriters! $23.95 
, 
| 









é 
‘Bumper’ Bundle: All your favourite packages On one disk! Word- 
star, The Last One, dBase I!, Visicaic, Unix, MBasic and seven 
versions of Pascal, all available for the first time on a single disk! 
$9.20 (discounts for bulk orders and educational institutions). 
{Manuals not available at time of going to press.) 


The Editor: Incredible new ‘artificial intelligence’ Program replaces 
Magazine editors with a computer. You too can produce your very 
Own micro Magazine in the comfort and privacy of your own 
home} As used by J Pierce, L Belle and several others. $2500.19. 


SSS TPT F se S FFs cote s ees sects esses sesteccsesesesse sees sss ese Sess ese ST est thes ti 
THE SOLUTION OF THE FUZZLE OF THE MONTH 
WIPE SL TITS TLS PSPS SESS S SSeS ese sessesesececesss esses sess esses eee eee eae sss eset S| 


First, we'll give the children some simple names, very simple like Ay - OB, €,5 O 
and e. 


Then, we will assume that there are 3 girls and 2 boys. Maybe it’s the other way 
around, but we’ll see. 


Furthermore, the number 39 can only be composed of 1x39 or 3x13. What this means 


is that one of the boys simply HAS to be 13 years old, while another boy’s age 
HAS to be divisible by 3. We may thus write: 


a=13 and 
b=St, where t=1,2,3....8 (maximum 8, because no one can be older than 24). 


The girls being called c,d and e, we may write (algebraically): 


S9cde = 13(3t) or cde =t 


Also: 

ctdteti13+(3t) = 40 or COGtGi % 27 SE i Sin b oo 600 tees (2) 
Since c,d and e are older than or as old as 2 years, we can write: 

COG 2 Bains 04 eh Een OEE SAG Wid ou O 0 1S S KAS ewe bake (3) 
MO CO EB a a oes ip a he ee hoes CELA BK RE ERA (4) 
From equations (1) and (3) follows that: 

Se -4 ak 6a ia ios ae ee KG a We ba Re We A % hk (3S) 
On the other hand, from (2) and (4) we find: 

t <= 7 


CP CRED Cee eBes enc eees cach coeaweseseresbee sie owed bic (4) 


‘Equations (5) and (4) contradict and the truth is therefore that we have THREE 
boys and only TWO girls! 


The situation for the 3 boys a, b and c and the 2 girls d and e is therefore a 
trifle different: 


CEDRIC R. BASTIAANS 


We may thusly write the following program: 


10 LET A=13 

20 FOR T=2 TO 7 

SO LET B=38T 

40 REM EQUATION (8): LET SUM=T%(27-2%T) 

SO FOR D=2 TO 24 

60 FOR E=D TO 24 

70 REM EQUATION (7): LET C=DKE/T 

80 IF C=INT(C) AND (D+T)*(E+T)=SUM THEN 
GOSUB 1000 

90 NEXT E 

100 NEXT D 

110 NEXT T 

120 STOP 


1000 REM NEXT YEAR AND SOLUTION 

1010 LET X=(A+1)%(B+1)*(C+1) 

1020 LET Y=(D+1) 4%(E+1) 

1030 IF X/Y=INT(X/Y) THEN PRINT 
“THE BOYS ARE "sA;"“, “sBs 
"  AND";C;" YEARS, THE GIRLS 
ARE "3D3" AND “sE;"." 

1040 RETURN 


S9de = 13(3t)c or de=tc or ie: aa ee (7) 

while, however, equation (2) still holds true! 

Substituting for c in (2) yields: With this program keyed into my TS2068, it displayed the solution in 11 seconds 
Stt+tde/tt+td+e = 27 BOYS 13, 9 and 8; GIRLS 4 and 4. 


or 3t*+detdt+et = 27t 
or t#tdetdttet = 27t-2t2 
Or. thee) rt) we Sa ck Sok Siac a oa ec Sec ee (8) 


A Letter From Fred Nachbaur 


(concerning the PC8300 


Dear Tim, 


"Timex Clone") 


[I read with interest Bruce C. Taylor’s article on the PC8300, 
since I have been quite deeply involved with this machine. I would 
like toa clarify some of the points brought up by Mr. Taylor. 


The S0/60 Hz. signal diode serves exactly the same function ‘as pin 
22 of the 2xX81/TS1000 ULA. The video frame rate has nothing’to do 


with the power-line frequency; instead, 


it is determined by the 


that unique blend of hardware and software that constitutes the 2X 
display system. In the PC8300, the 50/60 Hz. diode goes to an 
input port. Each time through the display loop, the software 
checks whether this port is high or low, adjusting the MARGIN 


system variable accordingly. 


It should be noted that the machine 


matter) runs about S0% faster, averall, 


the 2x81, for that 


in SLOW mode, if it is in 


the SO Hz. mode. This is because the system has more time between 


frames to work on your program. My ROM 


improvement (€more about 


that later) allows MARGIN to be changed by the user, and always 
defaults on power-up at 60 Hz. regardless of whether the diode is 


connected or not. 


29 





There is most certainly a clock component on the FPC8&300 board. It 
is exactly the same as on a ZX81, a 6.5 mHz. ceramic element just 
to the left of the ULA, in front of the madulator. This behaves 
electrically just like a crystals; the only significant difference 
is that the frequency stability and precision is less than that of 
a crystal. For most jobs, however, the variance is negligible. 


There is also most certainly a Z80A on the board. This is the 
large chip in the centre. Mr. Taylor may have been confused by the 
fact that some manufacturers of the 280A give it their own part 
number. The designation 780C is particularly common. There is 
absolutely no difference between such chips and 280A’s marked as 
such. 


Regarding place of origin, it does say "Made in Hong Kong." 
However, the manual is written in the Chinese dialect of the 
mainland. Draw your own conclusions. 


There is nothing strange about the fact that the 1 REM location is 
??3 bytes higher on the PCS300, than it is on the 2X81 family. 
There is also nothing mystical about memory allocation. The only 
difference is the location af the display file. On the 2X81, it 
rides above the BASIC program. It therefore moves about as BASIC 
lines are added and deleted. On the PC8300, however, the display 
file is always at a fixed location BELOW the program area. What do 
you get when you multiply 24 lines by 33 bytes per line and add 1 
for end-of-file marker? That’s right, 73. 


The PCS300 will successfully load 2X&1 programs that are entirely 
in BASIC. It does this by looking at the VERS variable, adjusting 
how it perceives the incoming data as required. However, because 
of the way the display file location was modified, it will NOT 
load any BASIC variables associated with the Sinclair program. Sa 
if your program is, for instance, a mailing-list, you can load the 
program but mat your data. 


Worse, the different location of the first program Jine means that 
machine-code wan’t run unless it was written to be position- 
independent, and you adjust al? USR calls accordingly. Even worse, 
no ROM calls are allowed since the ROM routines were campletely 
scrambled, presumably to help prevent copyright hassles. For all 
practical purposes, one can coansider that it is completely 
incompatible with 2X81 machine-code. 


There are also some relatively minor, though potentially 
troublesome changes in the system variables. You have to be aware 
of these if you intend to write machine-code for this computer. 


It is not possible to use a straight Timex or Sinclair ROM with 
the PCS300. Rather, it isn’t practical. The reason is that the 
hardware of the display system is sufficiently different to cause 
the display toa be "wonky," far lack of a better word. 


I have developed a Timex-compatible ROM which runs all Known low- 
res Timex programs, including machine-caode. The only pregrams that 
won’t run, are high-res programs and SOME "banner" programs. 


The other hardware-dependent factor is the character set. These 
are NOT housed in the top Siz2 bytes of the ROM, as on the 


30 


Sinclair. Rather, they are cantained within the custom chip, and 
are the reason that high-res won’t work no matter what we do. 
There is mo point, even, in trreing to revector the I register; 
actually a blessing, since it is now available to the programmer. 
For instance, IM2 Cinterrupt mode 2) is theoretically usable with 
this machine. On the down side, some of the Sinclair punctuation 
¢€: 2? and the pound sign? still remain game characters, and the 
grey graphics are right triangles and a "race car" 


Otherwise, the PCS300 behaves just like a TS1000 with the new ROM. 
Even the keywords were reverted to their original Key locations. 
Keywords are, of course, entered with a single Key-stroke. 


To make up for the few remaining shortcomings of my _ Timex- 
compatible ROM, it sports a few added features, same of which are 
not available either on the 2X81 or the stock PC8300. A new BEEP 
Keyword turns beeping Keys on or off. The REM command is now used 
to turn the blinking cursor on or off, in addition to its use as a 
REMark statement. A BASIC single-stepper ("debugger") is included. 


The machine can be set to make an audible noise when Jloading or 
saving a program. 


Hardware-wise, there is nothing "different" about the electrical 
characteristics of the edge-connector lines. The problem is’ that 
some of them are missing. That’s right, the edge traces go 
absolutely nowhere. Most of these (WAIT*®, BUSRQ*, BUSAK*, HALT, 
NMI*#, etc.> are nat commonly used by external peripherals. At 
least one, however, is relatively vital; this is Mix. If this line 
is brought out, the FC&S0G will work with Timex/Sinclair-—- 
compatible 64K RAMpacks. Incidentally, na modification is needed 
to run machine-code in the 32-48K regian. In this respect, it is 
like the TS1500. 


Even without the Mix® or other lines connected, the ‘8300 works 
with most ordinary Timex peripherals, such as the 2050 modem, 16K 
RAM, 2040 printer, many “big-printer" interfaces, and so an. One 
notable exception would be the Oliger Video Upgrade, again because 
the ROM does not contain the character patterns. Other devices 
that would not work include anything with an EPROM that overlays 
the ROM Ce.g. the Memotech parallel interface> , or cantains ROM 
calls €e.g. the A&J Stringy-Floppy>. 


In my Cadmittedly biased) oapinion, the PCes00 is virtually 
useless, unless its ROM is changed to make its claim of "Timex 
compatibility" at least 0% justifiable. 
















Regards, 
Fred Nachbaur 


d JP IDA TET 


WORLD?S 
SVIMPLEST 
VOLT-METER 


THIS LITTLE CIRCUIT DETECTS 
ANY ¥OLTAGE FROM 2 TO 12s 
VOLTS, A.C. OR B.C. 


RED LED - DC, Probe positive 
GRN LED - BC, Probe negative 
BOTH LEDS - alternating 












INPUT: | my 
a6? lanp indicates higher | Aca pe | Le oi Se 
indi i or EU: NAIF A AV, 
voltages, starting about 15 (oad ALL : LAH Wi 
volts, RC. OF B.C ee 
967 Lap way be ordered = 5 LED’s 
through any electronic 








Supporting the Sinclair QL, 288, and TS-2068 
RAR Fo St PS len drawn by: Subscription $15.00 Year. UPDATE Magazine, 


supply house or catalog 






Build inte pen or = 1317 Stratford Ave., Panama Cit FL 32404 
Swall plastic ell ’ Yr 


Re Oe ee ete eee ee ee he 








BEYOND THE FS i900 t242AaA8TY FS Foc: 


Le TYPE &¢ Cat 


Pt t, 


LISoerF FIGMUAEL 


AE Flos T tard 3 


by Earl V. Dunnington 
Now thanks to Earl, we have a sum-checker program for 


the 7S81000/TS1500/ZxX81, Just 


The Machine Code is not relocatable 
and the program requires a minimum of 14K 
RAM. Those readers who wish to use the 
CKTYPE listings should LOAD the final BASIC 
version before proceeding. 

Listing K is the final decimal machine 
code data, after deleting the unused 
portion of the Run Time Package. Included 
in the code is a routine to load a program 
fram tape, defeating the autorun. This is 
necessary as some programs may contain 
machine code that would be loaded into the 
area where the code for CKTYPE 1000 will 
reside, if they were allowed to autorun. 
The loading routine will not work if you 
Play the tape before the end of any program 
Proceeding the one you wish to load. 

Listing L is a program that will 
convert the machine code data into the 
corresponding character (CHR) and enter it 
into the dimensioned string At. This 
program will also produce a printout in the 
same format as Listing K,; so that you can 
check the data. To correct an error, use 
the direct command: 


LET AS(n)=CHRS c 


where n= the string character number and 
c= the correct decimal code. 
WARNING: FROM THIS POINT ON, DO NOT USE 
CLEAR, DIM A$, NEW, OR RUN. These commands 
wolld erase As. 

Listing M is the CKTYPE printout for 
the program of Listing L. 

After entering and checking all of the 
M/C data, program lines are to be deleted 
or added so that the program will now 
appear as in Listing N. After POKEing some 
additional machine code into the REM 
statement using the direct command GOTO 2 
and deleting lines 2 to 6, this becomes the 
final CKTYPE 1000 M/C program. To SAVE the 
program on tape, use the direct command: 
GOTO 20. 

Listing @ 15 the CKTYPE for Listing N 
before using the command GOTO 2. 

When LOADed, the program will: 
Set RAMTOP to 32085 
POKE the machine code stored in At into the 
addresses above RAMTOP starting with 32084 
Clean the memory below RAMTOP in 32 


like the one 
introduced for the TS2068 in TDM, May/June 


Stan Lemke 
'88. 


preparation for either typing in a program 
aor LOADing a program from tape for which a 
CKTYPE listing is desired 

Instructions for operating the 
programs will be displayed on the screen. 
Anyone needing more detailed instructions, 
send an S.A.5.E. to me at 4356 King 
Theodore Dr. Boynton Bch., FL 33436. 
Comments on this series af articles are 
also solicited. 


LISTING kK 

AS (1) wo a2eo 64  32~ “116 “i2t¢ 
AST) 3S 15 64 265 252 127 
AS(13) 235 33 @ 1 205 1/3 
A(19) teOs 82S: 33=- 12 64° -285 
H$(25) Que i2/ £05 g25 25. 34 
AS(S1) LtG i226 42-176 126 Sa 
AS (ST) 128. ten. So i 8 oa 
AS (435) tee” 125 SS * @ a om 
H#(49) iat 426 33>, 0 e oa 
HE(S5) 126 i265 d2 120 126 205 
AS(61) eve 127 235% 35: 2 BS 
AHS(67) 205 173,326 £22398 17 i 
AS (7S) 8 42 #120 126 25 205 
As (TS) 252 L2@7~235 225 25. 3a 
AS (S5i) tee ietb if 2 a d= 
As (91) 120 126 25 S34 120 126 
AS(97) « ae 3 a d= i120 126 
AStLOS) -25 “205 252 127 235 3s 
HS(109) © 4 205 1/73 126 e223 
A$(115) 42 128 126 205 252 127 
AS(1l213 235 e25 25 Sd 124 126 
HStie7) if -e 8 42 120 1265 
AG(133S) 25 34 120 126 33 1 
AS11359) 8 34 128 126 33 1 
AHE(145) 8 34 1230 1265 42 124 
HSLi52) 1265.34 i132 126.33. .2 
H$(157) @ 34 154 126 33 252 
A$(165) 125 34 156 126 237 gl 
AS(i69S) jizs i268 42 125 126 25 
ASti“‘s) sy =F @ 25 e225 42 
H$(1iS1) i28 i226 205 252 i277 235 
AS(167) 225 25 3d 126 126 42 
HE(2L9S) 26.126 205 10 ila? 34 
HSt(Ie0) ieo i26 ir i @ 42 
A$(205) 120 126 25 34 i12e@ 126 
AS(211) 205 201 i227 150 1265 253 
AS(217) 265 1 #06 42 jee 126 
H$l(223)} 265 44 127 33S 6 a 
H$(229) 205 1635 is? 205 106 le? 
AE(255) id 6 ilj2 42 ged 126 
HEl(241) 205 44 #127 SS 1s 8 
AGi2d7) 205 1635 lea? 205-108 ie? 
AS(255) 14 8 ile 42: 126° i256 
ASiL259F" 2OS“44 if/ Ge. 115.215 
AS26565) 255 2653 1 id2 237 31 
Agade71I© 115 125 42 “128 i265 205 
HEte 77) e2d- ler 205 146 127 Ted 
AS (2635) 425 265 246 Is? 8 o 
AS(259i 2 a & 8 a 
RS(295) 8 & o a S & 
H$(GA1) 8 @ @ a a & 
HS(se7) 8 o 205 231 265 
MEiSis) Bali 2/7 295.57 -.6 201 
AE(G19) 1 gi @ ae Dar ee 
AS(S25) 17 S 16 ied 7 Ss 
AS(SS1) 8 8 41 203 1d? ‘23 
AS(SG7)I 45 1 25.16 -2d7 195 
AP(SIS) 21 id 4 d24 170 238 
AS(S49) 123 71 215 205 6 Le? 
AF(GSS) eer 205 O 12? 235. 225 
MSE CSE62Z7 321 i67 40 34° te20"i77 
AS(3S67) e229 237 898 e237 62 e225 
AS(3S73) 193 2069 3s. 8 e ka] 
H$(379) 63— 245.122 63 38 ¢& 
H$(SSG5) 41 45 #5 143 e257 “a4 
HS(G91) 2 =) 135 e237 ‘74 S56 
AS(SO7) S 23/7 66° 61°86 e393 
AS(4035) G2 25365 95 e241 465 226 
AGS(4069) 205 79 j%Se 1 235 263 


A$(415) 127 200 24 11 205 154 2Q4 LPRINT TAR 
AS(d21) 126 293 16 208 24 3 B 8:CODE Asin) ; 
AS (427) sd F 208 235 i167 237 1};TAB 16; 
A$(433) 98 237 82 261 124 161 DE As IN43)5, TRE 
A$(d59) 35 68 8 192 d4 201 AB 23; cCOLE Ag (N45) 
AS (445) 1 3 126 24. 4 225 2a5 NEXT Hi 
AS(d51) 1 > i265 led 166 195 206 PRINT AT &.@: 
AS(457) 122 168 87 |S? B82 36 ERRONEOUS VALUE,’ 
A$(d65) 8 d2i° 142 S15 2539-1 T COMMANL:- 
A$(469) 111 201 58 33 64 203 % DATA 
AS(475) 71 32 26 203 79 32 HARACTER NUMBER IN 
Ag(481) 10 203 124 40 6 62 Do DATA IS THE corR- 
AS(487) 22 215 205 3 127 1 210 sToOP 
AS(495) 240 215 30 255 197 205 
A$(499) 225 7 205 173 10 229 
AS(505) 193 33 93 64 87 30 aie ise 
AS(511) 2B 112 283 122 40 1 LISTING # 
A$(517) 113 151 237 111 131 215 e : 
AS(523) 151 257 111 131 215 203 “ = 
A¥(529) 122 203 250 40 239 201 =i@ s4 
A$¥(535) 225 126 35 254 112 40 et 21 
A$(541) 47 254 118 32 3 #4215 eat a 
AS(547) 24 2243 205 146 126 24 aoe 2 
AS(S553) 233 151 24 2 62 i144 eve Sos 
AS(559) 75 69 33 48 64 865 2oi iié¢ 
AS(555) 119 213 229 205 178 11 al a2 
AS(S71) 225 285 114 201 205 16 cea 463 
AS(S77) 127 124 161 227 94 35 aa aoe 
AS(583) 86 35 e227 192 225 ass aaa > 
A$(589) 233 125 2350 31 79 253 eg isi 
A$(595) 203 1 78 40 10 253 =2e = 
A$(601) 1509 56 283 255 198 60 
AS(607) 212 113 8 253 1354 57 
A$(513) 254 35 58 58 64 222 
A$(619) 1 285 258 8 253 202 LISTING @ 
A$(625) 1 198 281 225 94 35 
A$(631) 86 35 229 213 353 7 1 6 
AS(637) @ 25 6 4 86 43 2 21 
A$(643) 94 43 213 16 249 225 3 22 
A$(649) 195 289 122 25 235 225 4 22 
AS(655) 227 115 35 114 197 225 5 23 
A$(661) 7 45 1 £2355 205 18 6 23 
AS(667) 127 225 216 193 253 ass 19 2 
AS(673) 115 281 193 229 193 201 20 10 
AS(679)} 118 38 @ 281 3a 2. 
“a if ond 
5a 23 
LISTING L 6a 22 
7a 21 
20 DIM AS(5e2) 3a 21 
170 PRINT “WORKING FROM LEFT To 90 23 
RIGHT, ENTER A DATA VALUE" 188 22 
180 FOR N=1 TO 682 118 23 
185 INPUT DATA 120 14 
199 LET AS(N} =CHRS DATA 138 18 
2080 NEXT N 148 198 
281 PRINT AT 8.8; "TO OBTAIN A P 158 146 
RINTOUT OF Ag, TURN ON PRINT 160 a1 
ER AND PRESS A LET-TER KEY OTHER i7a is 
WISE PRESS BREAR' 180 ei 
202 PAUSE 32768 1928 22 
283 FOR N=1 TO 682 STEP 6 200 3 
210 2 


THT HTH AT aT aT S Teel aT eT eTay sy ey- 


"TO 


Pies =e Gees Das ae 
TAB 12; CODE ease 
cope Ag (N42) >; TAB. 2O; 
2#4;CODE AS I(N4+4) 5;T 


THE 


aT) 


1D 0) 


a) 


Cee fe C0 Te Be Be Te 
#* U0 bs Fb OR Po 
ete ee 


HO OD 00 


Noe POLI) Re eo 


-.J 


Be Re ISIE LeE CTT UD bet best fet bee pt fect a face te dd ed) Id ae ee a Bt 
Oe Bag 00 ne a Oo no oO ee 2 no no ho na oo 


$1) 
PO ee EO Oo 0 OT he fe oe 
i) 


fa 
be 
~J 


354 


FOR YOUR QL 


ARLHIVE SECRETS 


by Real Gagnon 


ARCHIVE is a powerful database program but there are some little 
known secrets that can make life easier to every programmer. 


ARCHIVE version 


2.00 introduced a whole new control characters 


set which are undocummented in the ARCHIVE reference manual. 

These characters adds more options to the ARCHIVE PRINT command. 
A complete list can be found in the ARCHIVE RUN-TIME manual only 
avallable from PSION or maybe from a few QL dealer. 


We learn that some characters with ASCII code inferior to 32 get 
special attention from the ARCHIVE screen driver. 


Some of these characters have their equivalent in ARCHIVE 


language, for exemple, take CHR(1), it can be used 


to set the 


INK color, the form is CHR(1)+CHR(n) where n is the color number 
(same number as in SUFERBASIC). 


PRINT "This a"+CHR(1)+CHR(2)+"test" is equivalent to 
PRINT “This a “gink 2s"“test" . 





But some of these codes 


CORRECT AN 
USE.THE DIREC 
LET A$ (NN) =CHR 
WHERE N=THE C 
STRING 
RECT VALUE" 


: TA 


co 


AN 





POKE 


Secu 
Cie eeieiic 





LISTING WN 


REM lesd 

POKE 165198,8@ 
POKE 16514,49 
POKE 16515,.81 
POKE 16515,125 
POKE 16517,2@1 
RETURN 

SAVE “CKTYPE" 


FRST 
POKE 16358,85 
POKE 16359,125 
POKE 32854,62 
PORE 32883 .¢ 
POKE 32852,65 
POKE 32851,1186 
POKE 16355,831 
16357,125 
RAND USR 16514 
GOSUB 12 
PRINT AT @,9;" 










=¥* 7 Re: 


LeGS 


“;AT 2,0; “1. RANTOP HAS SEEN SET 
AT 32 1885"; AT 4,0;"2. PRESS A LE 
TTER KEY TO HOVE M/C ABOVE RAN 


TOP AFTER NAKING A NOTE OF THE F 
OLLOWING" 


150 PRINT AT 8,90; 


us 
Js 


WHEN CURSO 


R APPEARS, EITHER TYPE IN A PRO 
GRAM OR LOAD A FRO-GRAM FROW TAP 
F USING THE CIRECT COMMAND: RAND 
USR G2so4" 

1650 PRINT AT 13,0;"4¢4. TO LPRINT 
A CKTYPE LISTING, USE THE DIRE 
CT COMMAND: RAND USRS2086" 

170 PAUSE 3275s 

180 FOR N=1 TO 6é82 

196 PORE N+32855,CODE Agini 

2<@0 NEXT WN 

210 NEW 

os nl te ese 3c 


some of them. 


CHR (4) +CHR (c) +CHR (rr) 


CHR (3) 


CHR (4) 
CHR (8) 


CHR (9) +CHR (c) 


CHR (10) 
CHR (11) 


have a more unique effect, let’s see 


is very useful, CHR(c) will be repeated 
"r" times. 

If we have PRINT CHR(4)+"xk"+chr (80), 
the character "xX" will be displayed 80 
times on the screen. 


is an 
PRINT 


underline switch. Try this: 
CHR (5) +"SINCLAIR"+CHR(5)+" QL" 


moves 
moves, 


the cursor to the right 
the cursor to the left 


Same as SUPERBASIC PRINT TO c, 
where c is the column number. 


moves the cursor down 
moves the cursor up 


BHR ALA) erases the screen like CLS. These graphic characters are similar to those found on IBM 








GRAPHICS compatible printer. Run the following program to print 
CHR (14) then you see the cursor flashing a reference sheet for the 11 new characters with the 
= corresponding ARCHIVE codes. Your printer must be set for the 
CHR (15) then you don’t see the cursor flashing IBM GRAPHICS character set #2, but anyway if your printer do not 
CHR (18) +CHR (n) is the equivalent to the SUFERBASIC OVER eee eS te ae Se A 
command. 
n=O then PRINT with INK on current FAFER 
n=1 then FRINT with INK with TRANSPARENT 
paper, it’s overprinting. SuperBasic program to print a 
n=2 then PRINT with INK but XOR the data re hei 
on the screen. 5 
1 REMark by Real Gagnon Montreal May 1988 
CHR (20) +CHR (a) +CHR (b) creates a WINDOW. >. 
+CHR (c) +CHR (d) The coordinates are in "characters". 10 OPEN #4,ser1 
"a" is the left margin from the left 2 s 
side of the screen. 30 PRINT #4,°.ARCHIVE graphic characters (SEDIT) 
“bY is the top margin from the top of 35 PRINT #4,° function key FS then one of the following keys:’ 
the screen. — 37 PRINT #4, CHR$(27)3°A73CHR$(18) : REMark set line spacing (opt.) 
“c" is the right margin from the left 40 FRINT #4,°KEY *,°  CHARACTER’,” ARCHIVE code’ 
side of the screen. 45 RESTORE 
"d" is the bottom margin from the top 47 + 
of the screen. 50 REFeat loop 
60 READ sed,ibm,ql$ 
An exemple will help to understand the 70 PRINT#H4, CHR$(sed),,CHR$(ibm),,q1$ 
ARCHIVE WINDOW creation. 80 IF sed=107:EXIT loop 
90 END REPeat loop 
PRINT CHR(20)+CHR (10) +CHR (15) +CHR (20) + 95 : 
CHR (30) | 100 DATA 97,179,° 224" sREMark a 
110 DATA 98,180,7225° :REMark b 
will create the following WINDOW. 120 DATA 99,191,7226* sREMark c 
130 DATA 100,192,°227*:REMark d 
TOP 140 DATA 101,193,°228*:REMark e 
oe ; ee ee 150 DATA 102,194,’ 229° :REMark f 
7 = 160 DATA 102,195,* 230? sREMark gq 
: i bels 170 DATA 104,194,° 231° :REMark h 
ine Sek den ati 3 180 DATA 105,197,* 232*:REMark i 
Pee ks Sn sees . 190 DATA 106,217, 7235" :REMark j 
Rae a ee ra) a ' 1 ry a 79 TAF OM 
LEFT } aia «SENN ees ST OHO tRIGHT eee eee 
c=20 
Archive screen}! 
ie »ARCHIVE GRAPHIC CHARACTERS (SEDIT) 
There is only one active WINDOW at FUNCTION KEY F5 THEN ONE OF THE FOLLOWING KEYS: 
one time. 
The initial ARCHIVE WINDOW is defined KEY CHARACTER ARCHIVE CODE 
with the following parameters: A 224 
CHR (20) +CHR (0) +CHR (0) +CHR (80) +CHR (25) 
8 225 
CHR (21) +CHR (n) scrolls up "n" lines. C 226 
CHR (22) +CHR (n) scrolls down "n" lines. 
CHR (23) +CHR (n) scrolls left "c" columns. D Zeaf 
CHR (24) +CHR (n) scrolls right "c" columns. E 228 
CHR (26) exchanges the PAPER with the INK, it’s F 229 
INVERSE printing. 5 230 
CHR (27) +CHR (n) is for special CLS. H 231 
n=65 , CLS from the cursor position to + 232 
the end of line. : 
n=466 , CLS from the cursor position to J 233 
the end of the screen/window. K 234 
n=67 , STORE the cursor position. 
n=68 , RESTORE the cursor position. 





CHR (30) puts the cursor at the position 0,0 
without erasing the screen. 


CHR (31) +CHR (a) +CHR (b) Same as AT ayb . FRINT at line “a", 
column "b", 


ma, WM iuradn, 


y 





There is more control codes, but these are the most useful ones. he Sve ee 


"SST S TOS eee 
: ; Sat e Ox Seevesse 
A very useful undocummented feature with the SEDIT command is PORES TS 


hidden in ARCHIVE version 2.25. — . 


When designing a screen, ARCHIVE provides some graphic 
characters to draw boxes. To use them, in SEDIT, do FS and after 
press any key between "a" and "k". When drawing a box, you don’t 
have to press each time FS and the right key because SEDIT gives 
an easy way to repeat the last typed characters, just keep your 
finger on SHIFT and press a cursor key. 


34 








PC-IMPORT 


How Does This IBM Translator Software 
Package From MINNY ELECTRONICS Stack Up?? 


reviewed by Michael E. Carver 


This package bills itself as "a file transfer and 
BASIC language dialect translater". PC-Import will 
allow the user, who has access to an IBM Personal 
Computer (or compatible) equipped with a communication 
board anda QL, to "download" and translate MicroSoft 
BASIC programs into SuperBASIC, which will run in- 
dependently on the QL. After a couple of false starts, 
I was able to successfully import IBM BASIC programs 
into my QL. 

The first problem was hardware oriented. The 
manual assumes the user has a ready-made RS-232 cable. 
As I built my own cable, there were some problems not 
addressed in the accompanying manual. The QL serial 
ports only have 5 lines (GND, Txd, RxD, DTR, and CTS). 
The IBM serial ports have 9 different lines. In order 
for IBM BIOS to send messages out the serial port, 
both the DSR and CTS lines must be "true". I had to 
"tie" the DSR and CTS pins on the IBM together, to 
achieve communications from the IBM to the QL. This 
was accomplished by soldering a "jumper" wire between 
pins 5 and 6 (CTS & DTR) on the IBM cable end. 

The other false start was due to an error in the 
manual. The manual provides step-by-step instructions 
on preparing MS-DOS to send information out its RS-232 
port. To accomplish this, the printer output (LPT1) is 
directed to the communication output (COM1). The in- 
structions successfully got me to this point, but the 
steps to direct a copy of the BASIC program to the 


printer output was in error. "COPY A: {file _name} 
LST1" would not work. This should have read, "COPY A: 
{file_name} LPT1i". With this minor correction, I 


received data from the IBM successfully every time. 

Before a BASIC program is transferred to the QL, 
it must be in ASCII format. The manual provides 
sufficient instruction on how to insure the BASIC 
files are in ASCII. As the program is "sent" to the 
QL, it is written to a file ona user-specified micro- 
drive. The transfer portion of PC-IMPORT is straight-— 
forward and quick. The transfer rate is 4800 baud and 
only takes seconds. 

The most important part of the program is the 
translation of IBM's BASIC into SuperBASIC. As 
PC—-IMPORT is written entirely in BASIC, the 
translation is slow. Approximately 2.8 bytes are 
translated per second. A 4551 byte program took 27 
minutes and 16 seconds to translate. The manual claims 
that up to 90 percent of the translation work can be 
achieved by PC-IMPORT. I found this figure to be 
highly overstated. Only a portion of non-compatible 
MicroSoft BASIC is translated into SuperBASIC (see 
Table 1). A fair knowledge of BASIC programming, and 
an ability to follow a BASIC listing to fathom the 
flow and logic are required to successfully get most 
imported BASIC programs to run on the QL. 


As an acid-test, I took a text-—manipulation 
program I had written on an IBM at work as an example. 
The program includes no graphics and simply accepts 
input from the keyboard. It then breaks up the text 
into proper spacing for book card labels. Due to major 
differences between the way the IBM BASIC handles 
string manipulation and undefined variables, I ran 
into many problems getting the program to run on the 
QL. Even though I had written the program, it was hard 
to follow the logic and correctly make the "“hand- 
translations" required. One of the major problems was 
caused by the incomplete PC-IMPORT translation of the 
MID$ command. 

A 2048 byte program (translated in 12:09 minutes) 
took me about 20 to 25 minutes to re-edit and hand- 
translate to achieve proper execution. I would not 
have .been able to achieve this without the constant 
referral to the MicroSoft BASIC manual. I have had 


limited experience in BASIC programming on an IBM. (I 
would like to take a second to applaud the Sinclair 
BASICs. They are far easier languages to program, than 
MicroSoft BASIC.) If you do not have access to a 
MicroSoft manual, check your local library, you'll 
probably need it. As SuperBASIC will mark any BASIC 
line with "MISTAKE", the “hand-translation" job is 
made easier. The PC-IMPORT manual does provide a small 
table of BASICA commands with SuperBASIC equivalents, 
if any. 

Most of the programs I imported dealt with 
graphics, but none of the graphic commands are 
translated by PC-IMPORT. One thing to keep in mind 
when translating most BASICs into Sinclair BASIC, is 
that their graphic screens are upside down (point 0,0 
is in the upper-left-hand corner). Many of the IBM 
graphic commands’ can be imitated by creating 
procedures with SuperBASIC, to achieve the proper 
results (see Listing 1). 

Some other uses for PC-IMPORT, which aren't 
mentioned in the manual, include: downloading BASIC 
ASCII files from bulleting boards and translating them 
into SuperBASIC. Using QUILL to type in a BASIC 
listing, printing it to a microdrive file and using 
PC-IMPORT to translate. The printer drive with QUILL 


SHARPS IS THE 
CARGEST QL 
SOFTWARE AND 
HARDWARE 


DEALER! 


WRITE FOR FREE CATALOG 


Sharp’s, Inc. 
Rt. 10, Box 459 


Mechanicsville, VA 23111 
(804) 746-1664 or 730-9697 














will need to be altered to print a useable file to the Table 1 -- IBM commands translated into Super BASIC 
microdrive (see Table 2). One may also use a simple 


program to enter an IBM listing directly into a INPUT DATA THEN 
microdrive file (see Listing 2). GOTO GOSUB TAB 

I have mixed feelings about PC-IMPORT. It is slow To , ASC 
and incomplete. PC-IMPORT must be viewed Only as a COLOR SQR SGN 
programmer's tool. To achieve full usefulness from LOCATE LEFTS MIDS 
PC-IMPORT, the user must be a fair to accomplished RIGHTS STRINGS ELSE 
BASIC programmer. If one has access to an IBM (or VAL 


any other "on-line" source of MicroSoft BASIC), a lot 
of typing and raw translating can be avoided. I 


Table 2 -- Quill Printer Driver for ASCII BASIC 
believe that PC-IMPORT could have been a much better 
program had other IBM BASIC commands been supported 
(i.e., PSET, INSTR, SPACES, a eae Interger Division, DRIVER NAME *BASIC 
LOG). Also commands such as MID$ should have been PORT oseri 
fully translated, or RANDOMIZE should have been BAUD RATE =9600 
translated to the British spelling. I only hope that PARITY : NONE 
Minny Electronics will provide updated versions of LINES/PAGE 2255 
this product in the future. CHARACTERS/LINE 2255 

This program was obtained for review from: RMG CONTINUOUS FORMS :YES 
Enterprises, 1419 1/2 7th Street, Oregon City, OR END OF LINE CODE :LF 
97045, (503) 655-7484. PREAMBLE CODE : NONE 

POSTAMBLE CODE : NONE 

LISTING 1 All other options : NONE 
19450 REMark ---- MicroSoft BASIC command to draw a box 
1452 REMark ---- The two co-ords are adjacent corners of the box NOTE: To send the ASCII BASIC to 
1454 REMark ---- followed by ink color -- B = box or BF = Fill microdrive, the above printer 
1460 REMark ---- LINE (IxX1,1Y¥1)-(IX2,1Y2),RND¥2+1, BF driver must be installed or be 
1462 : . present on the default drive 
19464 REMark ---- SuperBASIC translation using PROCEDURE box (usually #1) as "PRINTER_DAT". 
1466 box IX1,1Y1,1xX2,1Y2,RND(1 TO 7),1 Select the Print option from 
1468 : within Quill and direct output to 
1470 REMark ---- LINE (IX1,1Y1)-(IxX2,1Y2),0,B [Device_filename] instead of the 
19472 box IX1i,IvY1,1X2,1Y2,0,0: REMark SuperBASIC translation printer. 
1474 : 


9000 DEFine PROCedure box (x,y,xc,yc,crayon,all) 
9005 FILL all: INK crayon 

7010 LINE x,y TO xc,y TO xc,yce TO x,yc TO x,y 
9015 FILL O 


MANDELBROT THE MOST COMPREHENSIVE 


RESOURCE FOR THE SINCLAIR 
- A Fractal World QL. GET YOUR COPY TODAY!! 


More and more QL owners are discovering the excellent new book by 


| ] >} Mike de Sosa — TAKING THE QUANTUM LEAP: The Last Word On 
\_ ; The Sinclair QL. 

: This 280 page book is chock full of useful programs and original 
by Michael E. Carver programming examples. Chapters on using the bundled software and a 


look at the latest hardware and software releases. Written for both the 
novice and more advanced users. Priced less than most software 
packages and nearly two pounds of information!!! 


As I was developing the mandelbrot program, I $26 (USA). 
was unable to drive my monitor in Fl mode. I was un- Exclusively available from: 
aware of the difference between the height of the 
characters as sent to the Screen. The following TIME DESIGN 
listings will allow complete viewing of the mini_menu 29772 Hult Road, Colton, Oregon, 97017, USA. Telephone (503) 
area and the "canvas" while the Madelbrot Sets are 824-2658. 
being drawn (when the QL is in Fi-Monitor mode). 
Key-in and run the following Listing. This VISA and MASTERCARD accepted. 


contains a short machine code routine to send only 8 For a sample QL and Spectrum magazine, send $3 
lines of pixel information for each character (as 
opposed to 10 in Monitor mode). The program will 
self-install into the machine and save to MDV1 





Insure that your Master Mandelbrot cartridge 
contains a copy of the newly created code 


19 REMark +*# (YINC_code). Insert (or merge) the following listing 
29 tihieen cece 2D. VINE aes Sn into the BASIC listing of the Mandelbrot program: 

3@ FOR x=8 TO 67 STEP 2 

4B READ num: POKE_W (atx), num 19835 CALL yinc 

S52 END FOR x 2555 yinc=RESPR(68): LBYTES mdvi_yinc_code,yince: CALL 
69 SBYTES mdvi_YINC_code,a,68 yinc 

1928 DATA 17914,56,8316,1,1, 28681, 38463, 20935 2995 CALL yinc 

1919 DATA 8316,2,2, 28681, 39463, 20035, 28688, 9326 S755 CALL yinc 

1228 DATA 48, -16132, 49, -19816, 8319, -22528, 17914, 12 4695 CALL yinc 

1238 DATA 28681, 39463, 20935, 28672, 20885, 12668,8, 42 4665 CALL yinc 


1948 DATA 28672, 292385 


36 





=3 
ea) 


ba) 


RA Pee EA Pied Pts Mee Bs | 


it Pint nF pel es | 


ch Se, | 


41 


PSEC IC 5 SC IC 


Ct Bod Cad bad bod 


DEERE eee RRO ROAR RATATAT A ARIA REED ERE E 2222320009 9933333 99559909999 99999 9929983009908R8888 


time Uesigns Tesis 


QRAMN, Archivist MP, Text8?, & Mailbag 


QJump’s QRAM v. 1.16 * * kK * 1/2 


Farlier versions of Tony Tebby’s QRAM, 
tested as part of the Sandy SuperQBoard 
system, troubled me, but now I realize that 
this was mainly due to flaws in the system 
and not in the QRAM software, itself. Then 
there were the spurious rumors that Tony had 
designed QRAM to be incompatible with the 
software of some of his competitors (Super- 
charge and QLiberator, to name two). What- 
ever the whole truth, much is now improved. 
QRAM now seems to work well with SPEED- 
SCREEN, Trump Card and other disk interfaces 
and RAM packs, but not with FLASHBACK or 
TurboQuill+—-two top-notch programs. 

QRAM comprises RAM-based utilities for 
the QL: a full multitasking front end, pap- 
up menus (within your Psion programs), fast 
and versatile RAMdisk software, dual- 
keystroke hotkeys, screen and window dumps, 
spoolers, a good compatibility with Tebby’s 
QDOS and SUPERTOOLKIT II and other software, 
and many other utilities. 

QRAM, already very efficient as it comes, 
offers many opportunities for customization. 
In its "stock” configuration, it "comes up” 
in the standard QL dual-screen format. 
Keying Alt / from the SuperBASIC format or 
within Psion or other programs presents the 
initial pop-up menu with six main options 
(FILES, JOBS, CHANNELS, PRINT, WINDOW DUMP, 
OPTIONS, and several redundant controls for 
QUIT, HELP, and moving the menu window. Two 
methods of selecting options are always 
available: by means of a pointer control- 
lable with the cursor or QIMI (QL Internal 
Mouse Interface) and by keying the first 
letter of an option. The SPACE bar is 
usually used to select an action or file, 
and ENTER to execute a selected command. 

QRAM is most economical in the use of 
keystrokes required to get into, out of, and 
between programs, especially if one custom- 
izes the BOOT and HOTKEY files. AS many 
runs of one or more programs can be 
multitasked and switched between as memory 
permits and this capability is enhanced by 
Grabber, a utility which modifies programs 
such as Psion’s QL QUILL so that they don’t 
gobble up all available memory. A fraction 
of a star is deducted for its sometimes dif- 
ficult or skimpy documentation and because 
it is not, at least in this version, compat-— 
ible with some important new programs. If 
TASKMASTER is the Mercedes Benz of full- 
featured multitaskers, QRAM is the BMY, 
handier and superior in some ways. 


by Nike de Sosa 


HOT TIPS: Grabber-modified Psion programs 
and RAMdisk software (RAMprt) is usable 
separately without QRAM. 

About $55, but make sure it’s version 1.16! 


A.R.K.’'s ARCHIVIST MP * XK * * 1/2 


Applied Research Kernel Distribution’s 
ARCHIVIST MP database manager is not an up- 
grade of ARCHIVIST 128, but a quantum leap 
forward. MP is for Multi-file Programmable: 
it can open and use up to 20 files at a time 
and may be programmed at several levels and 
in many ways to meet special requirements-- 
it can access up to 200,000 records (over 
100,000 with Trump Card). (It is also com 
patible with ARCHIVIST 128 files and screen 
formats and can use QL ARCHIVE database, 
screen, and export files.) 

Making use of Run-time ARCHIVE, it runs 
alone but is programmable using QL ARCHIVE 
v. 2.38 (ARCHDEV). A control file option is 
available by which one can set up a 
multi-file system and automatically copy 
selected database and screen files to 
RAMdisk at turn on, enabling rapid access to 
data. Entering the name of a single control 
file can initiate use of a comprehensive 
system of database files and multiple screen 
formats. Global searches of various types 
can be undertaken among open files. 

To simplify matters, ARCHIVIST MP makes 
use of a standard 22 renamable fields of up 
to 69 characters, one field per line. This 
arrangement is extremely practical--most 
database designers fail to "keep it simple, 
stupid,” and create their own; pitfalls. 

ARCHIVIST MP is in many ways comparable 
to high-capacity database ‘handlers like 
dBase 3: rational menu structures offer 
Single keystroke access to various functions 
and "external” utility programs can be 
executed froma "Tools Menu’--the example 
program supplied has many useful utilities 
including one to sum values in a given field 
throughout a file and those to globally 
delete, insert, or replace strings of text 
in any field of every record. Documentation 
is excellent and a tutorial on database use. 

A fraction of a star was deducted because 
all ARCHIVIST MP fields are string fields, 
making it more difficult to compute and 
insert the value of interactive mathematical 
values than it is using QL ARCHIVE, and 
because data is not directly transferable to 
external programs as it is using FLASHBACK. 


> 


- 
4 


= 
' 


BG S25 eo ee See 





Requiring a minimum of 256K total RAM, 
ARCHIVIST MP is supplied on Microdrive cart- 
ridges and 3.5” or 5.25" disks... Available 
for about $76 ($56 if you return the origi- 
nal ARCHIVIST 128 cartridge), using UK 
checks, Eurocheque, International GIRO, or 
VISA card, directly from ARK Distribution, 
Corve Farmhouse, Chale Green, Ventnor, PO38 
eLA, U.K. (Telephone 0983 79 496). ARK will 
also supply QL ARCHIVE v. 2.0; for about 
$36, and other software. 


Software87's Text®7 v. 1.06 * * kK x 1/2 
Digital Precision’s excellent text editor 
THE EDITOR was subtitled "Chuck Quill Out!” 
by its designers, but even the advanced 
Special Edition of THE EDITOR failed to oust 
QL QUILL from its WYSIWYG (What you see is 
what you get”) supremacy, especially after 
such great QUILL-enhancers as SPEEDSCREER, 
TurboQuill+, and FLASHBACK greatly increased 


the performance of QL QUILL without 
decreasing its user-friendliness. 
Text°7 promises, repeat, promises to do 


just that, but it has a little way to go 
before it will supplant the cheapest and 
easiest of them all. 

Text®7 is billed as a full-featured 
WYSIWYG word processor designed for easy use 
by amateurs, The printer driver permits con- 


figuration for "any type of printer,” but, 
if yours is not one of the several pre- 
programmed types, it is not directly 


configurable without an assembler. 

Text®7 is menu-extensive and typeface- 
and typesize intensive: it will print any- 
thing that your printer can-—-assuming compat- 
ibility--and offers comprehensive functions, 
including easy block transfer to other 
files, QL QUILL’s main drawback. It also 
loads QL QUILL _doc files. 

Text*7 is very compact (64K) and requires 
a minimum of 64K RAM expansion (a total of 
192K RAM)--more is better. With 256K RAM, 


Text®7 is said to load a 3400-word QUILL 
_doc file in 12 seconds and a 33000-word 
file in 52 seconds. Printers directly 


Supported in this version include the Epson 
FX80, LX800, ena -DSI0G: the Silver-Reed 
EXP500; the Brother HR10 and HR15; and the 
Diablo 630. The FX80 printer driver seems 
to work well on my old Star Delta 10 
printer. An ASCII printer driver is also 
supplied for use with obsolete or 
nonstandard printers. 

Text?7 is compatible with QRAM, 
MASTER, SPEEDSCREEN, FLASHBACK, 
BOUND. Founted®7, by the 
compatible and easy to use font (or fount) 
editor; Fountext8& is a graphic printer 
driver for Text®7 that provides more than 20 
printer typefaces in different sizes for 
Epson-compatible dot-matrix printers. 2488 
is a set of dedicated printer drivers for 
Epson and NEC 24-pin printers that supports 
different print styles and sizes and propor- 
tionally spaced typefaces. 


TASK— 
and SPELL— 
same firm, is a 


Text?7 lies in complexity somewhere 
between QL QUILL and The Editor, perhaps 
closer to the latter. But, if you are ready 


and able to undertake learning some new word 
processor concepts, and have a compatible 
printer, and can afford it, Text®7 should do 


38 


about anything very quickly. 
sent a hybrid, 
between a 
publisher. 

The documentation 


It may repre- 
rather futuristic combination 
word processor and a desktop 


I have is in the form 


of a not always clear or complete 60-page 
manual; for example, not all commands and 
options found in the submenus are covered. 
But a revised manual, including a new 


tutorial is probably available now. 

I had intended to do a full article on 
the capabilities and operation of Text®7 for 
this issue, but late notification of a short 
deadline made this impossible. Next time 
for sure. 

Text®7 is now available 
Software 87, 33 Savernake 
2J¥U; UsKs Airmailed prices for Text®7 and 
Founted®7 are $75 and $15, respectively. 
Fountex®? and 2488 are $45 and $15, 
respectively. Payment must be made by 
traveler's check, International GIRO postal 
money order, or other check directly payable 
at aU.K. bank; add about $8.50 for checks 
not so payable! 


directly from 
Road, London NW3 


EMSOFT’S MAILBAG * Xk X XK 1/4 


MAILBAG is American software consisting 
of database handling programs and screens 
for use with QL ARCHIVE, a minimum of 256K 
RAM is required. It provides a versatile 
database for purposes ranging from a simple 
address to small-business use. Its designer 
Peter Hale of Boston is high on it, saying 
that it is "the most exciting program for 
ARCHIVE that has yet been released,” dis- 
tinguished from other database applications 
for the QL by its great flexibility in 
handling names and addresses, its lack of 
protection from illegal pirating, and in 
offering menu-driven QL ARCHIVE programs. It 
also offers mailmerge facilities using 
specially prepared QL QUILL documents. 

Documentation consists of a 4-page flyer 
and a 12-page doc file, but I understand 
that you may never have to use the latter. 
5 Gi 

Peter claims that MAILBAG is 
four respects: 


unique in 


a. It prints labels to a U.S. 
Service standard 

b. It is unprotected and may be fully 
user edited for screen displays, prograns, 
and listings jz 8 

c. It prints with versatility without 
having to change printer dat files. 

d. The user may design custom formats 
oz record display on printouts or as 
mailmerge documents. 


Postal 


[I didn't have a lot of time to really 
"wring it out” and I am not a database 
person, but from what I have seen it is a 
winner. I shaved part of a star because it 
should be on runtime ARCHIVE and stand 
alone--maybe in its next version. 

Excellent work Peter! 

MAILBAG is available directly from 
EMSOFT, Box 8763, Boston, Mass. 02114-8763 


for $19.95 on 5 1/4” 80-track floppy disk or 
$21.95 on Microdrive cartridge. No credit 
cards. Dealer prices are available. 


NEXT TIME: A complete and thorough treatise 
on Text®7 and more hot software. 











“ COLUMN 


by Tim Woods 


There is a lot to report on this issue, as Z88 
activity keeps moving along. But first, an ex- 
planation is in order, for those joining us for’ the 
first time. The “Z-COLUMN" is a regular feature that 
discusses the newest member of the Sinclair computer 
family...the Z88 Laptop. While maintaining some of 
the characteristics of earlier Sinclair machines (Z80 
CPU, very light-weight/compact design, use of func- 
tion keys or combination of keys to execute ma jor 
commands, etc.), the Z88 achieves a whole new 
standard of performance and power. If you haven't 
seen one or tried one out yet, there just might be a 
computer dealer in your area. 

As of this writing, there are three 
organizations involved in marketing the Z88 in the 
U-S.As First, there is SSI Computer Systems in 
Portland, Maine, who distributes the 288 inventory 
from their New England warehouse. SSI is being 
advised by The Marketing Clinic, which is run by long 
time Sinclair associate, Nigel Searle, who is also 
the former head of Sinclair Research, U.S. division. 
And finally, there is another organization near 
Chicago, Illinois, called Cambridge Direct Ltd., 
operated by President, Kevin Jeffers. Cambridge 
Direct is the exclusive direct marketing arm for the 
288. To date, I feel that an adequate job is being 
conducted to pomote and market the 2Z88. There are 
Several hundred dealers around the U.S. that are 
Stocking them. A large ad recently appeared in the 
WASHINGTON POST newspaper, and very favorable reviews 
of the machine are in the most current issues of BYTE 
and COMPUTER SHOPPER. 

The first issue of Z88 USER, "the official Z88 
computer magazine" hit the streets in April. The 34 
page publication is being produced by the publishers 
of QL WORLD Magazine. It looks like it will be a good 
magazine as soon as they get rolling along ona 
regular schedule. A question and answer column 
covered two items that are undocumented in the 288 
User Guide. 

Another publication, which I am personally 
involved in is called CLUB Z88. It is a non-profit 
bi-monthly newsletter. One unique feature, is that 
subscribers can earn points, free gifts, and a chance 
to sit on the exclusive "board of directors" by con- 
tributing articles, tips, and programs to the 
newsletter. You can obtain a sample issue, by sending 
a SASE to: CLUB Z88, c/o Time Designs, 29722 Hult 
Rd., Colton, OR 97017. 

New products are just now coming on the market: 
a spelling checker, the official Cambridge 300/1200 
“matchbook" modem, A "C" Compiler, the Advanced User 
Guide, a cassette tape interface to provide security 
back up for the RAM cards, and the elusive one meg 
RAM cards are still being promised before the year's 
end. 

As a tip for PIPEDREAM (the on-board word 


processor): I have found that following the guidlines 
specified for moving the cursor position around, 
using TAB, arrow keys, diamond key, etc., that 


getting into the habit of using these will develop 
faster manipulation of your text. I know this sounds 
like common sense, but more often than not, we use 
old typing habits in word processors that can really 
slow things down. 


3? 








THE Z88 
IS HERES 


And we have it! 


Sir Clive’s LATEST is now in stock 
at RMG'!] This SUPER little laptop 
computer with features like: 
128K RAM, 32K ROM, BUILT- 
IN S/W PACKAGES AND SMALL 
SIZE AND WEIGHT (2 LBS!) 
make it a GREAT addition to our 
line. AS our way of introducing 
you to the 288, we are offering, 
for a limited time only, with any 
288 purchased before 9/30/88, 


H FREE CENT. PAR. I/F 
Ah 32K RAM CARTRIDGE 


THE PRICE? TOO LOW TO aa 


PLEASE CALL OR URITE 


RNG ENTERPRISES 
1419 1/2 7TH STREET 
OREGON CITY, OREGON 97045 
503/655-7484 * NOON-10 TUE-SAT 





FOR SALE: EYE-Q, retail $50, sell 
for $35, or best offer. MATCHPOINT, 
retail $28, sell for $18, or best 
offer. Shipping included. WANTED: 
TECHNI_QL. Chia-Chi Chao, 73 
Sullivan Dr., Moraga, CA 94556. 





Cla if 1c0 
FORTH 79,83 USERS, I would like you 


WANTED: Z-TALKER FOR TS1000. Please FREE ADS FOR SUBSCRIBERS to drop me a line to swap in- 


contact Merlin J. Raymond, 16822 formation and help. George David 
Farmington Ra. , Beaverton, OR Johnson, Beaufort Naval Hospital, 
97007. PO Box 6204-A, Beaufort, SC 29902. 


WANTED: Booklet on 2050 Modem and 
any relevant software. Also full- 
Sized keyboard. N. Oshana, 187 
Morningside Dr. E., Bristol, c¢T 


WANTED : I/O PORTS FOR TS1000. 
BYTE-BACK preferred, but others 


BOOK WANTED: '"S.U.M.-—Small User's 
Math- Powerful Algorithms". Willing 


considered. Contact Merlin Raymond, 06010 to pay any reasonable price. Jaime 
16822 SW Farmington Rd., Beaverton, , A Cruz—Figueroa, Rt 2 Box 245-M, 
OR 97007, (503) 591-7392. Lillington, NC 27546. 

WANTED: ZEBRA GRAPHICS TABLET, 

w/manual, working or defective (if 
FOR SALE: bound copies of SYNTAX . WILL TRADE: PRO/FILE 2068 for ZX 
vol«%.1 to vol 5.1 plus three: $0 repairable). New or used wafers for PRO/FILE. St mer trade BYTE-BACK 


A&J Microdrives. Send description & MD-68 for MD-2B, or sell. out-riqht 
price to: W.E. Powden Sr., R#1 Box (make offer). D.G. Smith, ate 
eet. Bridgeport, IL 62497. Stone St., Johnstown, PA 15906. 


Quarterlies. $40.00 or free to non- 
profit. Peter Hale, Box 8763, 
Boston, MA 02114. 


Do you have some equipment or a program that you would like to sell? Looking for something hard to find? Place an 
ad in THE CLASSIFIEDS! Subscribers can place one free personal ad in each issue. Ad size is 32 Col. wide (like 2040 
paper) and maximum of six lines. For additional lines - $3 each. NON-SUBSCRIBERS and DEALERS: $4 a line. 
DEADLINE FOR ALL CLASSIFIED ADS: Two weeks before publication date. Mail your ad to: 

TIME DESIGNS MAGAZINE, The Classifieds Dept., 29722 Hult Rd., Colton, Oregon 97017. 


nemo SPECTERM—44 (1T5—4.1) 


1200 Baud Terminal Software For The 2068 


On JLO, AERCO, Larken disk or tape 
MOnNoOOOnOODoOODOoDO! CO sr : 
pouoooooer Se £-51/0 Bare Boards 
i= = = = Greece's = =e) RS-232 Serial Interface For The 2068 

SSE SURES Seer ee Se ee Se ee ee . With FREE 2050 — 


Subscribe loday $B50.00 ne pier S&H 


‘ + 
only $16.95 ( Oureme 48 conricuous stares, $4.50 StH ) 
year 
This is a TDM special offer. To order 


TIME DESIGNS MAGAZINE CO. or for additional info contact: 
29722 Hult Rd., Colton, OR 97017 


P----------------- Ed Grey Enterprises 


L] New subscription (1) Renewal P.O. Box #2186, Inglewood CA 90305 
(213) 759-7406 


Name 


S52 = ASP EL ES The Grey Hatter BBS & RCP/H 
Oo Fees RT Sy TET (cL) 97-860 


State SS Ap 


nn ne pee ee ee ee ee 














APPLICATIONS SOFTWARE for the QL THE Z88 UNDER 2 LBS. 
A Computer Without Compromise 


MAILBAG An address database you 
won’t believe. Labels, 
Rotary index cards, Zip 
sorting, tickler filing 
3 column printout, many 
automatic features, not 
protected 256K+ 


TAX-I-QL Spreadsheet for IRS tax 
returns 384K+ 


QLAHDLORD Manages up to 99 units 


Or buildings and does 
© Where laptops compromise on display and RAM capacity to achieve portability, and 


Schedule E (Soon) 256K+ desktops seem to equate price with power, the Z88 is a personal computer which makes no 
compromises © A CMOS-technology computer with the power to address 4 Mbytes of 
memory ® Acomputer with a work-free display of 8 lines of 80 characters, an LCD screen 


$ 1 9 O05 ea : p p d on 5 1 / 4 99 D SQD which outdates all others, and a unique dynamic page map on screen ¢ A computer with 


solid-state permanent storage * A computer with advanced word-processing, spreadsheet 


(+ $2 ‘ OO on microc artr idge ) and ingenious time- and data-management software built-in © A computer which is 


completely self-contained, which gives you up to 20 hours active computing from just 4 AA 
batteries, yet which talks and listens to your|IBM © A computer witha full-size keyboard, ina 
package less than the size of an 82x11, with a total weight of less than 2Ibs. © The Z88. A 
Ag ents for ZxXx/TS Siriusware computer without compromise. 
4K Wordprocessor with 
TS 2040 lower case printer driver 
WRITE FOR FREE CATALOG 


Orders, Catalogues & Dealer info: 


Sharp’s, Inc. 
PM SOFT Rt. 10, Box 459 


.QO, Box 8763, Boston, MA 02114 | Mechanicsville, VA 23111 
s a 2 ms 889-0830 = (804) 746-1664 or 730-9697 


LET YOU IMAGINATION Some! i 


Be sure to stop by our booth at 
THE 38RD ANNUAL INTERNATION AL 
GREAT NW TS MINI-FAIR! 


SAVE! = LARKEN SYSTEMS 
: [| ioe FEATURED HERE! 


| The LKDOS disk I/F 
and EXTENDED BASIC 
Valuable Coupon! CARTRIDGE and the NEW 


LARKEN RAMDISK will be on display at 
$5 OFF RMG’s booth and you are invited to stop 


by to see these GREAT PRODUCTS demoed! 


MINI-FAIR SUPER BUY! 
Order any COMPLETE LKDOS SYSTEM and get 





Any order for $50 or more 


when you include a Copy of the LARKEN DISK EDITOR and 2 other disk 


thi yU + the Fai packages AT ABSOLUTELY NO EXTRA CHARGE! 
: = = oo Order the LKDOS system WITH a RAMDISK 


or any tim Q until {| /| f 9 g : ae - pes aye yeu ‘ et est Bh: A Se : ; 
items! 


ey, RMG ENTERPRISES 


3 eM: 
SE yy 1419 1/2 7TH STREET * OREGON CITY, OR 97045 * 503/655-7484 








“, 
f 
i 

rd 


Prent 


are Develo 


~ 
d 
5 
# 


re Developrent 


hite Qak 


ne 


a 
i 


x 
t 
{ 

# 


Pmrent 


ware Develo 


4) 


5} 





par ty 
Th 

a 
4 
| 


ae es 


: Pawel Promnt PLUS! =: 
2 THE DESKTOP PUBLISHER | 
3 Lemke Softvare : 


eee eeeese eer eeesss seer ee eeee Cee ee DOSE OSE Oeeeeese see Os SOE OEOOEe Eee ees eeseeseeseasecseeeesccecsecoeeecs ¢ 


SR SE RE 


PERFORMANCE! 


Checkout these SPECS: 


WYSIWYG 
What 


What's the PLUS? 





0) 


Ae qe ii 
ra eo 


RESTORE FONT f 
BOLD -MODEREHA ITAL 
j Ee 


if 
EFEEFA“UNMDO “Satl NMaAn/“Loat 
LOAD SCREEHS “SAUER SCREENS 
WIDE -HIGH/TCLE“SCROLL SPEED 
OURER“INUERRSE-CAFPS LOckK 

UF TO 16 FOINT FONTS 

[font pPackadwe in developmen t } 


 CUOPY“ERASE/ INSERT“DOELETE*NEW 


irs 


° 
* 
Pod 


HERCOMTAHSMAH ASB AS J 


IEM.EPSONFPEOWUEI TEE 
Printers. 


tyre 


‘Tl 
he 


1 


ee TH ih 
1 be i 
My 


me a 


! 
tt, 


ie 

AN 
18 
— 





it 
Vhs 


since 
op‘ 


= 
Terie g de 
wt TO ot 


i] as 


A 
mitt 


Cd 
on 
Lad 


s HIte Tr 


bd tt 
ard on Ls 
qj 


ae er we ee hee ee he ee tee te. 
a eee en ee ae a 


ee ee ee ee ee ee 
ape 
if 


iy 


ae 


-—+1 
sae 


a‘ 
a 


— fr Ir 
~~ 9a 8 oe 


eS a et ea ot 


aw) 


m0 
sik 
a 
; 
ra 
“= 
wit 
Lad 
wa 


m HHA eds 


ee 
tse 
“oor. 
aa 
i 


ae 


a 
| Bali Soma | 


or ae 


-* — 
io 
a 





a 
iy 
a 


“2 o— F--3 o—— 
7 
os 
1 
cc) 
= 
28 


= Tri 


a 7 


I AN SO, A er 


ote Coe a 2 
egy ee, Seer 
we Beeese «slimes wom 


; 
HRY Wt? 

DRY EF ies EES 

DINT FONT DESIGNER #1432 

[REL Shel cers a5 

HECK BOON HAETER eve es a8 
xe] Print PLUG! 


F 


DEVELOF MENT 














t Using the 
Il modifiers. 


IloH 





Faxed Pront Professional 
seemed  RERLO USK VERSION! 


* Pixel Print Plus vdi.2 
* Create up to 28 page 
documents 
* Print a complete oc 
Meader. lefts @& right 
€no more printer adyustments!) 
* Uses bankeswitching to print 


left and right columns together 

€* Print multiple Copies! 

* Wewsletter Format or 

* BY Column Letter Format 

MOTES printers must be capab!e 
of fe to 8B Hots per inch 
CS76 to feb dots per fine? 

Bit tmage Graphics!!! 

* Hutomated Printer Customizing 

*€ SGDUD diskette tor AUTO-SAVE TAFE: 

* ontyu $2935 ped. <ORDER Now!> 





ULIGER USK VERSI OG! 


* Same as the RAERCO sets 
VEPSlOnN SBOOvVe Bxcept Bist 
for use with the ° 

Dliger Disk tnterface 





* Requires a minimum af 3aek 
rriti expansiones. CSee the 
3Jer RAM Cartridge below!» 

* Program comes on CRSSETTE 
ang AUTO SAVES to OGkK. some 
Bditing recuired €removwe PERS? 


# onty $6932 ped. (ORDER mow!> 





Fare] Frat 
Frofessicnal 


* Game as RAerco 
except for use 
Mit tr TEPESess 


NOTES Gpecify eBeither TAPE 
or WitEROORIVE... 





* FPegquires 3s minimum of 32k 


FRAT expansion.,: €see the 
der RAM Cartridge below!? 


# only 593] ped. CORDER mow!> 


ick RAM CARTRIDGE 


* 3e&hF Volatile Memory 


* Fits into the TS2£068 
Cartridge Dock : * 


HG plus SY shipping 
nty GPSS ele handiine