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