r
ADDRESS
2
3
5
6
7
8
9
Routines
Information and Chairmen — Trea$ury NoteS
Input/Output — bvAbedKahale
QUANTA
Timex 3256
OS-64 — David Solly
Sinclair E-Mail List
FILES
QL Hacker's Journal
MEMORY MAP
ADDRESS
tl
13
15
20
21
FILES
FORTH — GlenHaydon
TS - ZX Spectrum — David Solly
EZ80 Micro Computer — Wilf Rigter
Z-88 — Dave Bennett
SUBROUTINES
Unclassified Ads
ZXir Olive Alive! ©
Established 1991 The Timex/Sinclair NorthAmerican User Groups Newsletter
T/SNUG Information
We wish to support the following
platforms : ZX-80/81, TS-1000,
Spectrum, TS-2068, Z88 and QL. If
you have any questions about any of
these fine Sinclairs, contact the:
Chairman
Chief Motivator
Donald S. Lambert
738 Guraiar Ln.
Forsyth, IL 62535
(217)875-8043
Vice-Chairmen
Tape & JLO PD Library
Luke Perry
3708 NE 109th Ave 115
Vancouver WA 98682
Library
Dave Bennett (HATSUG)
12 75 Timber View Dr.
Mechanicsburg, PA 17055-9146
717732-4374
QL Hacker's
Journal
Timothy Swenson
2455 Medallion Dr.
Union City, CA 94587-1914
swensontc@geocities.coin
Rod Humphreys (VSUG)
10984 Collins PI.
Delta, BC V4C 7E6 Canada
604 583-2819
QL PD Library
John Donaldson (CATUG)
835 Foxwood Cir.
Geneva, IL 60134-1631
630 232-6147
AERCO & Z80 Emulator
Keith Watson
41634 Amberly Dr.
Mt. Clemens, MI 48038
GAIOfc—
Bob Swoger (CATUG)
613ParksideCir.
Streamwood, IL 60107-1647
630 837-7957 Woric 847 576-8068
ZXir QLive Alive!
Is the newsletter of T/SNUG, the Timex/Sinclair North American User Groups, providing
news and software support to the T/S community in a VO L U M E of four newsletters
per year; beginning with the Spring (March) issue.
T/SNUG's main goal is to preserve and encourage the use of
Sinclair computers by providing an open forum for the
exchange of knowledge, building and maintaining of
software libraries. Providing vendors, repair service and
members with free ad space.
It is the user groups and individual subscribers, rather than the vendors, that provide the
pecuniary support for this newsletter. Vendors and developers receive this newsletter free
of charge, though contribution from vendors and user groups is gratefully accepted.
Please support our vendors and service providers whenever possible.
If you have a problem or you have solved a problem, please share it with the rest of us.
No problem will be considered unimportant.
ou can keep T/SNUG alive by an annual contribution of $12 for one VOLUME
made payable to Abed Kahale. Send check to:-
ABED KAHALE
232 WEST OAKS TRL
WOODSTOCK GA 30188
jsfew
the
do not send mail to
ruary 1 O, 2001
111
I am moving into the Atlanta, GA. area (How I hate moving!!)
Back copies are available for $1.00 each postpaid.
Article
iiiiliilllltlli
Send in your articles by disk, hardcopy mail, or e-mail and your inputs to:-
Abed Kahale
E-mail: AKahale@compuserve.com
Q-Box BBS 310 254-9878
Utica, Michigan
SOL BBS 520 882-0388
Tucson, Arizona
0JEBPR6E5
http://users.aol.com/clubbbs/tsnug/
http://www.outlawnet.com/~jboatno4
http://www.unixvilie.com/2068
qi-users@nvg. ntnu. no
J^s of January 13, 2001, we have a balance of $71
ZXir QLive Alive!
2
Winter 2001
Hi Abed,
I do have one request and that, is someone to explain
how to move files from the Z88 to the PC in step by step
procedure. I have Windows 98 and I use WORD 97 for my
word processor. I have tried it a couple of times but no
success since I can't find the rile on the PC afterwards. 1 do
hope that I can read the files in WORD 97 I suspect that
can be a problem but am not sure. I will have to try again
since I have learned more since last time. The manual for
PC-LINK (the ZS8 to PC software and connecting cable)
states that Lotus and Wordstar are used. The manual was
written in 1988 so much has happened since then. T need a
way to use the Z88 for note taking since my handwriting is
bad. Even I sometimes can't read it even if I print.
Smclairly yours,
Don Lambert
dslambert^emait.msn.com
„ , , — , — , . - .,.■„■ .l-rr. -. ,. . ■■
Dear ZX-TEAM friends, please excuse my German
mail to you. (Now I have created an English and a German
distribution list, so 1 hope you will never more receive
German mails ;-))
I would like to ask you to support ZX-TEAM-
MAGAZIN with articles, small unclassified ads, questions
and what ever you think, we should print about you and
your doings with ZX-81 .
With issue 4/2000 we will start out 10th year!
Some dates of interest: 1 6 Sept. 2000 Sinclair meeting in
UfrechtOSfetherlands, I hope to come Spring 2001 5th ZX--
TEAM-meeting.
Peter Liebert-Adelt
P.Lie b ert@t -online.de
I am still looking for WSndOW Print 2000 on
tape (the DOCs as well if possible but no problem if not)
of someone knows of a snapshot posted someplace T could
probably use that since I use an emulator also
I am also looking for a LarKen or OHger Disk
Interface ("combined I hear is nice but do ihey exist?)
I have a drive already, just need the controller, the
cablefs) and the OS cartridge ... 1 wonder if the Oliger can
ran an OS-64 at the same time? Thanks!
Eofeeii L Gilbert
dstar33@juno.com
Abed;
Sorry I haven't contacted you before now. I have not
had much time to work on the interface over the last few
months.
About two months ago 1 decided that my interface
would be most useful if used to support CP/M Plus on the
2068 In the last two weeks T have been working on the
BIOS routines for a 64 column screen and keyboard. I
have nearly completed the screen BIOS routines and will
next will be completing the keyboard and IDE routines in
that order. After I get CP/M Plus up and operating I will
try porting over the Z-System as it has more advanced
features. I have been conversing with Gaby Chaudry in
Munich about the Z-System and an enhancement to the
interface.
JeifBurrell
JBurren@endocardial. com
I am always willing to answer any questions about
how I use the old TS-1000 with my trains. You could
mention my web site since it has the page devoted to the
Timex and Byte-Back I/O board if you would like, but it is
practically the same info you have already included in past
issues.
Joe Rampoiia
ht tp:/yyourp age.bi azen et.nefrjpranipolia _
Dear friends, " ~ ~
In the past months there have been some shortages in
new QL hardware.
Additionally there has been a lot of discussion for the
potential future of the QL. Sooo I just have to show you
something without any other comment.. Just tell me what
you think:-)
Here's a REAL address that you should look at ...
http :/ /virtuals. atlant.ru/peters/e-mdex. htm
http://www.dgonetse/~rsm/z^
Ifs info about the "Splinter" computer ... extended
ZX-Spectrum architecture!
Al Feng
_ alfeng@jun o.com
There seems to be a successor to the QL called the
Q40. Click on the link on the T/SNUG homepage to the
QUANTA homepage. — ==GATOR=--
Robert Swoger - Senior Product Designer
Voice 847 576 8068 Email: CENG108@email.mot.com
bobs@commrnot.com bobswoger@yuno.com
ciubbbs@aol.com
Hello Abed,
I hope things are well with you . I am writing for two
reasons. First is I would like to re-subscribe to the
T/SNUG Newsletter. Please tell me what amount and
where to send the check.
Secondly, I'd like to announce that the one and only
unofficial Timex Sinclair 2068 Website is now
operational! After a 2 year hiatus, I've finally gotten on
the ball and assembled the site with the information I had
available. This is material I've been collecting over 2
years, so there is quite a bit of info to be had
I've got the official history of the TS-2068,
peripherals that will work with it, programming howto's,
and much more. I hope to eventually grow the site into a
highly useful resource for the rest of the TS2068 users to
enjoy.
As always, I welcome comments and material to add.
The site will be a work in progress, as all websites are. I
recently got a digital camera (very nice) and I've
photographed most of my personal collection.
Thanks to Johnny Red, of Portugal, and Jack Boatwnght
who have supplied lots of the information, images, and
other tidbits for the site. Finally, here's the link:
http://www.unixvyie.com/2068
ZXir QLive Alive!
Winter zuui
Hope you will enjoy it. I will be asking the T/SNUG
group how to move TS2068 files over the internet- my
software collection is quite lacking at this time, i would
also like to post the various disk ROMs, if they're available
as files (LarKen DOS, Aerco, etc.) so that you could take
the schematics from the Website and make your own
Aerco drive interface .
One more tidbit: 1 will be restarting the 2068 email
list once again in a few weeks. I still have rnanv of the
original email addresses and will trv to contact the
individuals. Many thanks!
Louis Fiorii
fiorit($unixviUe.com
Hello everyone, If you receive this email, it
means you were originally subscribed to the Timex
Sinclair 2068 emaii list that went offline around the
end of 1999.
Everything has been rebuilt, and the email
list is back online! You can send a message to
all the rest of the people subscribed to this list by
emailing 2068@unixville.com
i would also like to announce that the
unofficial Timex Sinclair 2068 Website is up with
lots of images, information and links to many
interesting resources. If you have any articles to
post, i wouid sure appreciate it if you dropped
me a link
The Website is at
httD://www,unixviS!e.com/2068
Thanks, and hope to see lots of messages
on the pipe again.
Louis Florit
I am wondering who among you has used the
Warjevo Emulator and has any remarks - good or bad --
about it T am especially interested in how the program
loRfta icvftwar^* from ^ao° and then 3 3fy «ort of
inicrodiive emulation. Also, I would like information on
where to obtain the latest version. Thank you ail in
advance.
David Solly
Zabad@freenet. carleton ca
I believe the latest veision should be available from
the Website
http://www.void.jump.org/warajevo/
I haven't used it myself, because of the fact that it is
dos only. (No gui/windows). According to miscellaneous
reports I've read, its supposed to be one for the most
accurate and quickest emulators available.
Louis Florit
Hi,
I have used the Warjevo Emulator a lot and like
it: very much It does support the microdrives in the
Spectrum mode, and with a special driver it can support
the microdiives m Timex 2G&8 mode. The reason i tike it
so much is, it can support OS-64 and the nricrodrives at the
same time. This driver is not vet available on the Warjevo
Fmulation site
microdiive plug-in intended to be uploaded to ihe Warjevo
Emulation site, but it was never done. I don't know why.
Zeljko Jurik may have lost mterest in the project.
Anyway, there are two attached ASCII text files that give
some explanation of the use of the Warjevo Emulation in
Timex 2068 and OS-64 modes. One, titled
SERIESi.TXT, is a copy of me text nle already available
at the Warjevo Emulator site, the other, titled SEkl.TXI,
was to be uploaded by Zeljko sometime in mid 1999 along
with the enhanced code for microdrive eompatiMity with
Timex 2068 mode and OS-64. I hope attachments are
acceptable for this address. Regards,
Keith Watson
2068@ unixville .com
Is there an active users group for Timex/Sinclair
computers any longer?
i have questions concerning using Tasword II with
the LarKen disk system and printing with the Aerco
parallel interface to the Legend 808 printer in
particular... linefeeds, window width. I have misplaced the
documentation that came with the Larken disk system. Isn't
there a screen copy command something like PRINT USR
100: LPR1NT CHR$ 1 to get a screen copy? That is only if
you are in B ASIC this command cannot be typed from
within Tasword. MSCRPT seems to print fine.. Thanks,
Neil
pxxl@netz£rojiet
Here is what I use to print program listings to a
Panasonic printer. For screen COPY. LogiCal! by
Robert Swoger is your best bet.
10 RANDOMIZE USER 100. OPEN #3 "LP"
20 RANDOMIZE USER 100: POKE 16090,132; REM
sets left column
30 RANDOMIZE USER 100: POKE 16092 0: REM
right column
40 PAUSE 10: RANDOMIZE USER 100: POKE
16094,1. LPRINT: REM margin rot right column
50 OUT 127.30: OUT 127.2/: QU f 127,20
60 OUT 127,27- OUT 127,56
70 LUST
Hi Abed,
i redid my opening page on my site with a new
animated photo. If you have the time, take a look-see.
Joe Rampolla
http://yourpag8.blazenet.n8b'jprampGila
jprampoila@biazenet.net
I had a look at the site you marked. I believe that
TC3256 is the "Portuguese" Timex. I understand that it is
almost an exact copy of the T/S 2068 except mat all trie
messages are in Portuguese, the video output is for monitor
or uhf and the bus is a ZX Spectrum bus rather that the T/S
bus that was used in the US Hope this helps
Davit! Sally
'ihe TC2068 doesn't have the messages in
Portuguese. Trie TC2068 have the TS2068 ROMs and 48K
RAM. The TC3256 was a new computer, new ROMs, new
hardware. It had 256KB RAM, network, ZX Spectrum
compatible mode, etc... To know why Timex of Portugal
puiied ihe plug, read ihe Timex oi Portugal pan in me
Timex Historv page.
Johnny Red. Portugal
lxh QLive Alive •:
Winter 200 1
ilttp .// liOilieptige . SaO LuiiCii.p b '~j uiii Ecu. OI*
h^:/ywwwxoiprinterxom/tmx
Keith Watson:
I have used the Warjevo Emulator a lot and like it
very much. It does support fee microdrives in the
Spectrum mode, and with a special driver it can support
the microdrives in Timex 2068 mode. The reason I like it
so much is, it can support OS-64 and the microdrives at the
same time.
I've used it quite a bit too. Its strongest feature, what
makes it special IMO, is the built in monitor/ disassembler.
1 used it a few times to try out some TS2068 snapshots
(MSCRIPT, techdraw, zeus assembler, etc.) and they
worked great. The only problem is, you can't load the
snapshots from within Warajevo - for some reason the
emulator changes to Spectrum mode when it loads
snapshots. I had to start up the emulator with "TS2068
/rMSCRIPT.sna" or something similar.
Ahin Albrecht
Alvin..,.
The only version of "C" for the ZX. Spectrum I have
seen and used is the HiSoft version. The only useful thing
T have «ee about it is that it comes packaged with, an
extensive graphics package which might be great for game
developers, otherwise, it is pretty useless, it has only
integer addition and subtraction and no built-in function
for multiplication or division. To multiply or divide you
have to poke two system variables with values and call the
ZX Spectrum ROM routine. It also uses the hated and
unreliable 128-byte block method for loading itself and
for source or object code you want to save or load. I
believe there is one other version of "C" available for the
ZX Spectrum but I have never seen it.
For fee record, I have tried Abersofi and Hawg Wild
FORTH. It is still integer math only, however, you can do
16 byte math by using specialized functions. For Abersoft
FORTH the storage device is strictly tape with no ability to
change the file name. It saves everything as "DISC" and
that is fee only choice you have unless you w r ant to write a
new function. Hawg Wild FORTH gets most of its
fimctionality by hooking into the T/S 2068 ROM routines
which in some cases makes it slower that calling the
equivalent routine in Sinclair BASIC, There is also
Sinclair- FORTH which I have never been able to load into
my ZX Spectrum emulating T/S 2068 but i have been able
to make it run under Gerton Lunter's Z80 ZX Spectrum
emulator.
Davjd Soily
Hi David,
The one fm thinking about is available here:
http://z88olc.sourceforge.net/features.htnil
If s a cross compiler, meaning you ran it on your PC but it
generates a code block for a z80 machine. It does support
floating point using its own routines (or stabs, which I
presume you can nil in with calls to the 2068 ROM rp
calculator, if desired) and it has a decent subset of ANSI-C
(or it seems to me..) including support for far-pointers: a
method for dealing with bankswitehed memory.
It looks nifty but I haven't had rime to really check it
out. Dominic started a library of routines for the Spectrum
(which we could modify for the TS2068) but his interests
m this C compiler vvould do us a xavoi by working on a
TS2068 library of routines :-).
Arviit Albrecht
I did this with a TS1 000 a long time ago. Y ou pulled
it off by switching from FAST to SLOW mode and as I
recall, the PLOT command (or anything that wrote to the
screen) would do it. It's been years since I did this but
with a little experimentation you should be able to
duplicate it.
/ _/_/
J J J
J J
J J J J
J J
J J J
J J J
jfarr@icubed.com
htip://www.icubed.com/~ifarr
Hello
We are pleased to announce a major upgrade to the
original QL Users Email Database now found on
www.q4iania.iiiii.ee
New features include much cleaner and simplified access,
and a communications facility The database at the time of
writing, has some 388 entries, with numbers steadily
increasing.
Access to database functions is now achieved directly
from Quanta's homepage (which incidentally has also been
completely re-hashed!). For instance, if you have forgotten
your password or simply do not have one, all you do is
enter your email address on Quanta's homepage, select the
forgot/hone option, and press Go!
The communications facility has been introduced to
keep up with inter-computer voice and chat
communications. Two options are available Both use a
pop-up window thus allowing you to continue surfing fee
net. The Comms option displays details of other users
logged on, giving details such as then - IP address and
software package/ID employed for direct voice
commiinications. The QL Users Chat option additionally
displays text input and output windows.
Since it would be ideal to know when other users
might be iogged on, you can place a diary entry in your
database record and this will be displayed on Quanta's
homepage.
Quanta Links Page.
This has been removed due to misuse by advertising
organizations on the net. A new links list is now generated
however from your database LTPJ, and site name entries. If
you placed URL details on the old links page, these will no
longer be visible, so update your database entry .
More on Database Entries
If you have not 3'et updated your entry since the databases
relocation to wi-vw.quanta.uni.ee, please do so. if you do
not have a password simply go to wviw.quanta.uni.ee and
get one. Make sure you enter the email address this letter
ZXir QLive Alive!
.5
Winter 200 i
iux instance, Quanta and. QL Today nieinoership.
Completing these entries are quite important because not
only will these details be used when sending information
to different interest groups, some future facilities will only
be available to certain interest groups. Regards.
Quanta Support
This email has been generated using the bulk email facility
at www.qumta.uni.ee. In the event of a complaint or
enquiry contact
quanta_suppoit@uk2. net
wwwrun@www.jakintemet.co.uk
rime% computer 'Mm
Timex Computer 3256 liad really existed; Not a prototype, but a
Hilly functional atid fiuusktsd iuacidiu>i ii vvas totally developed
by Timex Computer of Portugal. TC3256 have 256K. base
memory and a keyboard like the actual PC's, ii was based in
Z80A CPU and it have live modes of operation.
1- 8ASIC This is the Spectrum mode.
2- TIMEWORD
TIMEWORD is a word processor in ROM. It. uses 80
columns screen, have all the Portuguese charters. It. can use the
RAMdisk, FDD or tape for storage. Have T ABS, copy and move
blocks of text..
3»Terminal CPM This mode was to replace the TT3000. It
sets the TC3256, to use the FDD3000 in CPM mode and it
works in SO columns.
4- Disk Start
litis gives io the programmer 64K of RAM lo development
of software. Ihe biggest advantage is that the 64K RAM starts at
00H.
5- CATR!DGE
Specially designed for the software houses to protect the
software, using cartridges TC3256 have a Network, the TENET
(Timex Educational NETwork)
* .25 stations
4 Maxuauiu length: 100 meters
4 Shadiig Printer aud FDD System
♦ Messaging system
♦ Can be used in Timex Extended BASIC
* Station low cost My transparent to users software
4 P esists to failure or loss of stations
Timex Extended BASIC, has added more commands:
I OAD'.SAVE!, CAT!,' MERGE!, ERASE! and CI .EAR! to
control the .EAM&ivs.
£' Oa-iiVlt u i«t Xui> i , i^iO A ixJ vUUUOi Ul£ i\£>*2*
mrrrrpi . -- nif.n _ J ,1. ; ,
SCREENS, DRAW-!, PLOT J, CIRCLE; to control the high
resolution screen mode, it allows to work with PAPER and INK.
TC3256 doesn't need anymore the FDD/FDD3000 interface. The
FDD3000 is just connected like the TT3000.
TC3256 Specifications
Processor: Z80A
RAM: 256K (208K RAMdrive/48K base memory)
ROM: 64K
\ 6K Sinclair BASIC
16K TIMEWORD word processor
16K Timex Extended Basic (Tenet, disk, RAMdrtve)
16K CPM Temiinal emulator
Screen: s*)ua i ohk^a
Resolution. 256x192 / 512x192
Sound: BEEP and AY-3-8192 (can output to TV)
Joystick: 1 Kempson
Cartridge Port: 1
Disk Drive: TOS/CP/M
TV Output
Monitors: "Video composite and RGB (colour/ monochrome)
Colours: S+BRIGHT^IS
Keyboard: 69 keys, professional keyboard with numeric
keyboard and function keys (Caps Lock, Extended, cursors, edit
delete, break)
RS-232: 1 (300 to 9600 baud;
Mic and Ear: Can use Tape
Timex of Portugal stop selling, repairing and
manufacturing all the Timex Computers range when the TC3256
was about to be launched in the market. The destiny of TC3256
is unknown, but I think IH get this Mo, later!
A. Portuguese guy have send me an email telling that he
hove a working TC3256. He said thai be "would get pictures of it
tome.
Portugal Timex Computer World
http://hom
www.colprinter com/tmx
Here is a translation to fee text on ilie TC 3256 that the
link below refers to. TC 3256 (Computer, Portugal)
Z80A CPU, 256 Kb RAM, 64 Kb ROM (16Kb Sinclair
BASIC, 16 Kb Timeword, i6 Kb Timex Extended BASIC
(TeNet, Disk and RAM-Drive), 16 Kb CP/M Terminal
Emulator)., 32 x 24 and 64 x 24 characters respectively 256 x
192 and' 512 x 192 pixels (8 colours + BRIGHT), five
operating modes:
1. BASIC - Spectrum mode,
2. Timeword - Text processor with SO characters per line,
uses FDD or cassette for mass storage,
3. Terminal CP/M - This should replace the TT3000; uses
the FDD3000 in CP/M mode,
4. DtskStart - Gives the developer 64 Kb of free storage
from address 0000H, and,
5. Cartridge - Software is loaded from cartridge.
Louis Floric wrote:
Anyone ever hear of a TC32.56? I his site makes
mentions of it (in German) [and. saves a nice Timex
Sinclair/computer timeline 1
htrp://miiseiirn .rulir.de/rlocs/timex3 htm
Loafs Flodt
Deal - Abed,
Please find with this letter a copy of TirnexSinekir
ZX Spectrum ROM Routine Look -Up Table
for publication in the next edition of ZXir QLive Alive! I
have referred to tins table a few tunes myself and i hope
readers of ZQA! will find it useful. However, cannot take
credit for having created it, It is something that was
photocopied from somewhere else and given to me. I have
merely made a new copy by scanning the original and
doing some "rly spot" removal. (Someday, when I have the
time and ambition, I might enter all this data into a
database and create a two-way table.) Your friend,
David Solly
(See the next pages)
HelloT"
I would just like to remind people that the following
LarKen manuals are available on the World Wide Web.
Larry Kenny. LarKen disk editor, edited and annotated by
David Soily. HTML conversion by W. McBrine. Ottawa.
BibiiouiecaSagittani@1999. URL:
http://www cl ark net/~wmcbrine./1arkdi sk .html
LarKen disk operating system. Version L3F: operating
manual / edited and annotated by Laviu souy . ti l aLu
conversion by W. McBrine. Ottawa: Biohodieca
ZXir QLive Airvei
lillp./ f WW vv ,oioiis..iicu ~ftiIiC0ffii&iaikenUOS.iifflli.
LarKen sequential/random access rile utility, edited and
annotated by David Solly. HTML- conversion by W
McBtine. Ottawa: Rihliotheca Sagitrarii, ©2000. URL:
htrp:/%ww. cladc.net'-^oiicbiine/larkenseq.htiBl.
In addition, I am euiietuly working on two othci LaiKen
manuals. LDOS tor tne TS-iOGO Manual & LOGS for the
TS-2068. For the TS-2068, LDOS was the forerunner of
LKDOS . T don't know if William. McBrine mil make them
available on his web site because I have yet to hear from
him. I will post a notice to the news group as they become
available.
David Solly
Zabad@ncf.ca
Gentlemen,
I received a question from a man from US News &
World Report asking if there is still a Timex User group
out there. He's considering an article about us diehards. In
my response I mentioned the ZXir QLive Alive! newsletter
as well as the existence of NESQLUG and the Cleveland
group to him. I hope you won't mind that I gave him your
email addresses. You may be getting email from Al
Werner shortly so this may give you some time to think
about it.
John Donaldson
Jiojiidsii@aoi.coni
This site (www outlawnet com/~jboamo4/welcome,htm) is
the only place on the web T got a hit for Gladstone
Electronics. Do you happen lo have a current phone or
address? I am trying to find a uansfomier for some audio
modules I purchased from them m the mid 80 f s. Thanks,
anv help would be appreciated.
JeffiySczepansid
jsczepan@foid.com
Sony, I don't have any info on Gladstone.
But you can try Radio Shack of course.
All Electronics - www allelectronics.com
MCM Electronics ~ www.mcmeiectronics.com
Mouser Electronics - www.mouser.com
James - www.jam eco. co m Newark. . . . . „„ .
Does anyone have a TS-202Q tape player that
they'd care to part with for relatively cheap (25$)? You
can reach me at florit@hudat.com
Louis Florit
fioritffamixville com
LOUIS FLORIT
1 60 PASiTO TER 71 8
SUNNYVALE C A 94086
Hello, does anyone have any experience using the
t,tfVf*-rt ft-** ■*■-"> -to- "» *"V"Wi -£rv+- 4-1-"* £i f~\. A /"> r> -ff^'i rvo*^ A r* e\ i
W.jUiiJUCU y±\J^iuli.x xi-iu-^i* JAJx U.1.W v~t VOiuiUgvi xjiiu U
so, can you use it independent of the cartridge or is the
cartridge needed? I would like to get a different terminal
program for my TS2068, the MTERM software program is
very limited thanks,
cioiuy jH\w~y aiioo.cuiii
Thanks for the great info David. I would love to get
the OS 64 cartridge and ZTerm terminal program for my
TS2068. If anyone on this mailing list has this for
sale/trade please let me know. Also, is the Oliger disk
iieno Ferry....
The OS o4 cartridge is more properly called the
Zebra OS 64 cartridge. It is designed to fit into the
cartridge dock of the Timex/Sinclair 2068 Colour
Computer. However, because my T/S 2068 shares His
same dock with the LarKen DOS chip, i had built an
arrangement that piggy-backs the Zebra OS 64 chip over
the LarKen DOS chip. A small toggle switch is used to
switch the Zebra OS 64 system in or out. The Zebra OS
64 chip is also completely compatible with LarKen DOS.
The terminal program written for
the Zebra OS 64 is called ZTerm.
ZTerm is specifically designed to run
under Zebra OS 64. It is also designed
in such a way that it can only be run
using die Westridge 300 baud modem. All attempts that I
know of to patch it to run on a standard modem failed.
Despite this, it was an excellent telecommunications
program for the time. Because of the Zebra OS 64 chip,
ZTerm can display 64 characters per line in full sized
character, i.e. 8 by 3 pixel characters, which is a great deal
less stressful on the eyes than the compressed character
sets used by such applications as Tasword II. You can
also install a customized character set if you so wished T
used the Amstrad character set myself for terminal work.
Other features of ZTerm are the ability to create and stole
address books, up and download programs using x-
modem protocol, capture text to a text buffer and program
nmctionkeys
Shortly after the appearance of ZTerm, a program
from Britain called Specterm made its appearance.
Specterm has most of the features of ZTerm, however, it
requires your computer to be fitted with a ZX Spectrum
emulator chip. Specterm is not as stable as ZTerm. and
tends to hang up easily. Specterm also uses a compressed
character set to obtain 64 characters per line. This
character set is very suessful on the eyes - even with a
good momtor - after only a very snort time. Where
Specterm outshines ZTerm, however is that it comes with
several overlay packages which allows it to be used with
several mass storage devices and also, with the aid of an
RS232 board, with standard Hays compatible modems in
addition to the Westridge modem. Specterm also used x-
rnodem protocol for file transfers but in addition, it sends
header information with the file. This is both a blessing
and a curse. A blessing in that you do not have to won}
yourself over whether the program was s BASIC, machine
code, a screen save or a data file. The header information
insured that the program will be saved in the correct
format to whatever storage device you are using. Hie
curse is that both parties must oc ruismng Specterm ioi
mis to work otherwise you get garbage instead of a
program.
I hope this information is helpful or at least provides an
interesting history lesson.
It I remember correctly, Zebra Systems is still in
business and the Zebra OS 64 chip and ZTerm program is
still available from them. Zebra is one of the very few
easiness left that still supports Timex/Sinclair.
David Soiiy
Lit,
ZXir QLive Alive I
Winter 200 i
Sinclair E-Mail List
Anderson, Paul
pandersn@peakpeak.com
1 i r — 1
Kahale, Abed
aKanaie^compiJserve.coin
Anson, Gerald
jerrya@aztec.asu.edu
X* Anlvr Lift fyt lAQtl
Reaiy, riamei j oan
iij Jxctiiy (ujauiim i.iiiivui 1CL.1AJ111
Barker Robin
robin@di-ren.demon.co.uk
Kenny, i*any
idiivci i(£i;sionii . vd
Bennett, Dave
aavet>J_> /^juno.com
IviligSlcy, iiu
w\X& c T\C£^cXwi. v will
Bennett, Dave
aaveD^D / zuu i (ujyanoo.com
jvriySii,eK, 1IICUU.01C
ttiiTfppnth^hjt/nTlHnpf aft npt
Boatwright, Jack
jboatno4@outlawnet.com
Jvonarac, MiKe
mKancjiav-^ujdoi.vuiii
Boehm, Al
boehm@ziplink.net
ivomg, urs
lire Vr>/»Tiio'//5SflOTri/latfl f n
Boenm, Biii
Doenm(ajpin.ar.mu
Jvuriiv /
VnT+V7rt5Janl frvm
JS.UI US. / (lX;«lvJi.V/V_Jlll
t\ 11 T^XV
Burrell, Jeii
1 Duneu(fi0enaocarciiai. com
JvWllKOWSKL, rj.ul.np
KW llOU\ujoUi . WLJlll
Burt, Kicnard
aj D^pntranet.ca
LidlllUCILi UUIlalU
Ll^^J4l^llUCl^^{CIliaJUlilOil.wWl
C A. 1 . b.
miwouz^epiii. epriDaito.org
L»ancaaier, vjdixy
Cable, Bill
caDie(t5.cyDerponai.net
LidllUauit, rlailcUli
fhmcois! 1 an ci aolt/d) enersie s . alstoiTL ca
Carpio, Juan
juancnuscanajy anoo . com
LiaSSOV, UdVlQ
p>mftnf\ri/y?ia9 r <ita'mf i t f*nrn
Clllai lVJl lvCt^ O/aS tcU. 1 1 l.^UUI
Castro Antonio
castrox@portoweb.com.br
Lav erne, ivieivin
injaveine^uoi i.iic 1
Catotti, Christopher
kd4ace@compuserve.com
jjcoowilz, uave
UJslvt^UpilV .tiUlll
Chambers, George
gicnam D(u3patncom . com
jbessenDerry, odiy
Collins, Bill
bcoflins@home.ifx.net
Lewis, Jim
jiewisx^t^neo . iruii.uuiii
/~1 —4-1— —If T rt/i
Cottreil, Les
jacottre(a3gte.net
LieDeit-Aueit, reiei
JrClCHctjjtAO i .UC
urtiz-r lguciua, Jaime
cruznguerQojaoi.com
LieDerc-Aueu, reier
jj .UC UCI l Ul Uii lw .
Dansby, Andrew
aaansoy($atiantic.net
jyiauoy, isou
Davis, Frank
fdavis@iquestnet
Jviaiinias, jaap
111 Jaiip^£^a.Ulll^Ulli|JLllci .u.c
T"\. 11 i~~*> _1 _
Delhez, Carlo
carlo@spase.nl
Mcr>nne, William
wrnoonne(^ciarjs..iici
Donaldson, John
ildnldsn@aol.com
iViCivcivey, wiiuam
mr>t'ii»1\i'(!>\/TJtr^iHp1nhi PfMTl
iiiCKcivcy w^iicij/iu.^uiii
Dorinson, Mark
74200.25 /(t^compuserve.com
Merz, jocnen
JlllClZttt} l-OI UH IC . U.C
1*% 1 T~V 1
Dunbar, Douglas
dldunbar@prodigy.net
Mikolajczyk, Dean
aeanmy /4yj(t^aoi.com
Dunnet, Ron
ron@qubbesoft.rreeserve.co.uk
Miller, oeymour
»cyiiiii\u{ticipiu. WHI
DuPuy, James
dupuy@pipeline.com
\/TiUc CranV
Mills, rranK
cULciII'Ha /5MjyaiuJU.\yVJiii
England, William
wengland@iname . com
MUUlj dOD
UUUJS.CCpcl HUfjlUl.uUlll
Feng, Al
alfeng@juno.com
jNorron, vjary
gl IOI IvJi I(ti} W t/iiU. 0 tU.. \sKJLll
Fink, Mike
domino.cubes@excelsior.net
r arrisn, Lrii
gll .pdlTlan^aUal lc L. Olg
rink, Mike
aormno.cuDes(ajpointDiariK.com
raSlllOOTl, iNdZJX
nazir oashtoon(8fe£a^nn.inicro.coin
Fkshman. Tony
tony@firshman. demon, co.uk
rayne, josn
j OS! ipayilClf/; LUgXUUl. vUJ.11
Flont, Louis
florit@unixville.com
razmino, Jonn
jonn.paznimoQu^oonuog.vuiii
Franke, John
j.m.rranke@larc.nasa.gov
r erry, L»uKe
L<UJxc Jrciiyvl^gslVYUiiu.iici
Ganger, Gary
gangerg@dma. org
J 1 ^ ft r T i lira
rerry, lukc
U.U1U-V J^li*{yallUU.^uiii
Gilbert, Robert
weena@netzero.net
Ferry, kuss ji
Gillespie, Doug
aa43 l@cleveland.rreenet.edu
KaoioiL, iooy
lO Uy 1 aUlUJLL\U( WCUlv.ilCl
Girnius, William
girnius w@bls.gov
Kampoiia, joe
jprampoua(£^uidj£.ciiei.iici
Goodwin, Glen
glenatacme@aol.com
Kigier, win
Gowen, Rod
aw /2 J(c5osm.org
ivisn, jofiii
Haberly, Duncan
uuncan(o?nTilitary.com
r\ Tour
onepara, jay
ic1"i(3TvaT7"?//7lwpf v f'a npf
)5IlcpdlU^W^vla.JlCL
Haberly, Duncan
auncan(cpnilitary.com
oimon, i nomas
T^l 1 Tl l^^i^f nTrmiisiPTVf 1 mm
Ijlf / . J JJ\tc{vv>xiipi*ocx vc.vuxxi
Harbit, Ken
icmuj^cvip.tresno.com
oKapmsKi, l nomas
Henderlight, Mike
miKenena(a]microsorr.com
ooiiy, uaviu
/caUaU^u£XXCCilwL.V£U.XWIAJlL.va
Henri, Fred
oranur@juno.com
otegman, uan
Ual les lCg\uy Ul lu . vUX 11
Herre, Cy
cyherre@aol.com
Swenson, Tim
swensonic(u}geociues.vuin
Holmgren, Paul
paulholm@indy.net
owenson, 12m
aWciioCUil^^lsxiUiavc.uau.ajgx.vuxii
Horton, Will
willhort@aol. com
owentKo, waiiy
ws wenij\o(^ijiiiax uuj 1. iv . uiiii i.cuu
Hoshor, Dave
dnhoshor@raex. com
bwoger, Kooert
UeiJftlUot^CXiIdll.lllui.vUlll
Humphreys, Rod
rodh@lightspeed.bc. ca
layior, jeir
Hunkins, James
jdhunki@ibm .net
i lj computer
tej^jps.nei
Impellizerri, John
]impellizerri(fi5compuserve . com
inoresen, jen
'7/t'?nn '7 ^7/'/?!nmnrvn<iprvf :> o.nTrt
/tiuu.iJ / (UJvwllipiiDCl V5.W1H
Jaap, Mattnias
matuiias jaap(^nns.nn.scnuie.ae
w aiaiuaiL, oiepiicii
Tirr\oinp/7SV>ntrnai1 fnm
U 1 UgXl l w V t*£l 1 W U. 1 1 all . \j Ul I i
Jonas, Mike
mjonas@bbn.com
Walterman, Don
walterm@ix.netcom . com
Jones, Dilwyn
a^lwyn.jones@dj.sortnet.co.uk
Watson, Keith
keith watson@juno.corn
Jones, Terry
tjones@iname.com
Wood, Roy
qbranch@qbranch.demon.co.uk
Kaczor, Jon
jazkaczor@aol.com
Zimmerman, George
gzimmer928@aol.com
ZXirQLive Alive! " 8 Winter 2001
Supporting All QL Programmers
#33 October 2000
The QL Hacker's Journal (QHJ) is published by Tim
Swenson as a service to the QL Community. The QHJ is
freely distributable. Past issues are available on disk, via
e-mail, or via the Anon-FFP server, garbo.uwasa.fi. The
QHJ is always on the look out for article submissions.
QT. Hacker's Journal
c/o Tim Swenson
2455 Medallion Br.
Union City, CA 94587
swensontf«)lanset. com
bttp:#www .geocities.com/SiliconValley/Pines/586 5/
Editor's Forum
don't know if I'm old enough to claim that old
age is to blame for why I'm not able to get as
many QHJ issues out in a year as I would like.
Maybe I can blame my oilier attractions, such as family,
house, work, and my other hobbies. I've also been a little
distracted with the Q40 and Q4Q/Linux.
o, here I sit not doing any coding on trie Q4G, but
just thinking about coding. This issue Is mostly
on tilings to help code, but no actual code. As I
putter around the house, fixing this and working on that, I
keep thinking to myself; "I'll get a chance to work on that
program tomorrow." Then tomorrow comes and there is
more disfractions. Ahh, Well
Turbo and TurboPE
, i n the May/June 2000 issue of QL Today, George
S I Gwilt mentions that lie has updated Turbo to
work under SMSQ/E. He also mentions creating
TurboPE, a Pointer Environment interface for Turbo. He
does not go into any details nor give any code examples,
so I can't say how easy TurboPE will be to use over other
PE tools (QFTR, EasyPTR, and Qmenu). He does not
even mention if these existing tools will work with Turbo.
iven that Turbo will be freeware, I'm making a
fair guess that TurboPE will also be freeware As
useful as QPTR, Eas}>PTP.., and esp. Qmenu are,
they are all commercial programs. It is possible to write
freeware applications with these tools, but distributing a
fully working program is limited. Qmenu may not be
distributed with a freeware application, EasyPTR. routines
may be compiled into an application, but permission must
be granted for each application, and QPTR does not
mention if it can be compiled into an application. Granted
the PE can not be freely distributed so any freeware PE
programs must assume the user already has the PE, only
Qmenu is distributed with other programs.
o having a freeware SuperBasic compiler with a
freeware toolkit for accessing the PE will give the
QL programmer a little more freedom in what he
can write and distribute. I look forward to the release of
both Turbo and TurboPE..
Recent Commercial to Freeware Released
ecently a number of commercial programming
tools have been released as freeware. They are
ProWesS, DJToolKit MasterBasic, and the
TurboToolkit.
Of the four packages. ProWesS is the biggest and most
surprising to be released as freeware. If is a major piece of
work, fairly complicated, and gives a lot a capability to the
user (and programmer).
fi"! et me ta ^ s a mrnute m & §i ye a quick description
of ProWesS HI start with something most of
you would already blow about, the Pointer
Environment. Hie PE is composed of two parts, the
Pointer Interface (ptr gen) and the Window Manager
(wman). The PI takes care of the mouse and the WM takes
care of the screen displays The look of the PE is based
upon the Window Manager (wman). ProWesS is another
Window Manager for QDOS. It is used to create a whole
different look for applications and provides some features
(such as scalable fonts) not found in the PE Window
Manager.
nother way of looking at this is to vi ew Windows
3. 1 1 and Windows 95 as two different Window
Managers. A program written for Win 3. 1 1 will
run under Win 95, but it will have the look of a Win 95
program. For users of Q40/Linux, they are finding out that:
Linux has quite a number of different Window Managers
available.
If" 7~i 1L ^ e most Window Managers, PE and ProWesS
II U I prog 131118 can be run at the same time and be
1 S— i displayed on the same screen.
For the programmer what ProWesS gives is another way
to create pointsi driven programs. If piogiaiiiiiiiiiy for toe
PE is a little beyond a programmer, they might find
programming for Pro WesS a little easier. Plus, the various
additional features that ProWesS has over the PE gives the
programmer additional capabilities for the application
=j he DJToolKit * (DJTK) is a collection of
I I SuperBasic extensions written by Norman
mmmm Dunbar, i bought DJTK a few yeais back and
have found it useful in my programming. It contains 44
new keywords, which are broken down into 4 main areas:
File handling, Font handing, Screen handling, and Heap
handling. The distribution comes with die complete
documentation, giving enough information to get started.
I'd recommend that all SuperBasic programmers give this
toolkit a look. You might just find THE extension that
makes your programming easier.
3urboToolKil (TTK) lias been updated to fix a
number of bugs and to have it work with newer
versions of QDOS and SMSO/E Like the DJTK,
TTK is a collection of extension for SuperBasic I have
never used Turbo or the TTK so I don't know any specifics
abour the extensions. Some or toe extensions are
document in the text files that come with the distribution.
/.Air ULive Aiivei
Winter 200 f
reading. I don't plan my code to be syntactically correct
when I write it. My first draft is very similar to a rough
pencil sketch. Once I've done the mental dump to the
editor, 1 can then flesh out the code and make sure it's good
SuperBasie.
LibXmenu
(rfnl ibXmenu is a C68 library, written by Jerome
II L I Grimbert, to help write menu-based programs.
1 Www J When I first heard of ft t was thinking that it was
a library that converted X-windows routines to PE
routines, but (Ms is not what it does.
Jerome described Xmenu as a collection of C routines that
he wrote to assist him in writing PE programs. He found
himself doing the same routines so be jnst created some
Surly generic routines that could easily be used from one
program to Hie next. Looking at Hie routines available, it
iooks a iot iike Qmenu ibr Co8. Jerome did tell me that
this was not his intention.
'■4 quick nindown of the routines are-
^ J Item_SelectQ - Choose from a list, of items.
mmm Iteru_Seleet _Airay() - Same as above, but using
an array.
Message ReportQ - Display some text.
Srring_ Edit() - Get a string from the user (with edit),
XDialogO - Display sprite and text.
Menu_Button_TextO - Text for Hie Button.
Menu_.Button_LogoO - use a sprite in a Button.
List SelectO - Choose 1 or more from a list.
List Seleet_ArrayO - Same as above, but using an array
Check_SizeO Find size of window.
Get CliarSlze - Find size of characters.
DefauitCoiourSetO - Change color set to aetauit.
DisplayXSizeQ - Maximum X value of current display.
Display YSizeQ - Maximum Y value of current display
SetWmdowColourO - Set color of the window.
SetZnfoCoiGiirQ - Change color of Hie info window.
but they look to cover those parts of TTK that have been
updated. Like DJTK, now that TTK is freeware, it's worth ' 1
a look co see what it lias. Maybe better documentation will
be released with Turbo is released.
^^t! asterBasic by Davide Santachiara (and released
^ 1 by Ergon Development) is a SuperBasie tool for
=bseJ assisting in the creation and debugging of
SuperBasie programs. Tills program has recently been
released as freeware and is available on the Ergon
Development web page
must admit that I bought this program a few
years ago, but have not realty gotten around to
trying it out. MasxerBasic is a collection of
routines and programs with a graphical front end. it is
designed to work on a program in memory (i.e. a LISTable
program). It can do things like searching for a string in the
program, quickly find and edit Procedures and Functions,
quickly finding a variable, arid so on. It also comes with
some accessory utilities iike a calculator, notepad, and job
management tool
guess the reason J have never tried MasterBasic
is that I prefer to write SuperBasie in an editor
(like MicroEmacs, ED, etc) and then LOAD and
test it. With an editor I can quickly jump around putting in
bits of code as I think of them. I can easily put more
verbose comments in the code Add white space for easy
hese routines can be used in both Mode 4 and
Mode 8. On Jeromes' web page he has a page
describing libXmenu with example screen shoots
showing Hie results ot some of Hie commands. I'm not
much of a C68 programmer (heck, I hardly have enough
time to program in SuperBasie), but if I was to start, T
would start playing around with libXmenu to see how easy-
it is to write a menu-based program.
Recent Upgrades To Microemacs
t i icroEmacs is becoming my favorite editor, esp.
i ^ J now that I have a Q40. As MicroEmacs becomes
iiaa— 1 more powerful, it needs some more horsepower
to run quickly. On the Q40, speed is not an issue at ail.
There are some new features to MicroEmacs that impact
the programmer. They are:
> Support, for Client-Server Manager (CSM)
> Syntax H^hligliring
> Support ibr CTAGS
SM is an easy way for one program to control
(j, I another. The Server program handles requests
mm& from the clients, and passes back to the client an
acknowledgement of the request or some data. When I
first encountered CSM I was not too sure how it could be
used. It was created to provide scripting for QEM. The
scripts are written in SuperBasie, sending commands to
QEM via CSM.
Now MicroEmacs has CSM support, allowing SuperBasie
programs to send MicroEmacs commands to the editor.
This opens up a number of possibilities ibr having other
program interact with MicroEmacs.
f^^i ow * ^ thinking about using the MicroEmacs-
H I CSM ^ k m Structured SuperBasie (SSB).
LmntJ SSB is just a simple filter mat converts SSB code
to SuperBasie. If SSB encounters a syntax error, it just
reports it and exits. WiHi a link to MicroEmacs, SSB
could connect to MicroEmacs via CSM, move the cursor
to the exact line with the error, then SuperBasie can exit.
The user would switch to MicroEmacs and be at Hie
problem line, ready to edit it. This would move SSB and
MicroEmacs closer to an Integrated Development
Environment
ere is an Structured SuperBasie example of how
easy someHiing like tins would be.
## Make sure MicroEmacs is running as a
server
IF FINDSERVER("emacs") THEN
## Connect to MicroEmacs
CLIENT "emacs"
## Add line count to goto-lme command
commands = "goto-line "&var
## Send a request to MicroEmacs
REQUEST "emacs"ccm^and$/eturn$
IFreton$-"KO ,, THEN
## There was an error
END IF
END IF
2 yntax Highlighting is a way for MicroEmacs to
^ 1 show Hie syntactical elements of a program by
showing the different words m different colors
and italics. Syntax Highlighting supports C (_c and _h
files* SuperBasie ( has, sbas, _ssb files), and assembler
X* J.V jUAWtJ/.
1 fi
I've rvnlv nzprt Sh/r»tax Hi8hli9htin& with Structured
Comment liiies (##) are shown in white and italics. There
is a slight problem here as SSB defines comment iines as
any line starting with ##, excluding any spaces in front of
the ## (thjs allows for indented comments) MieroFrnacs
only supports lines that begin with ## in column 1 .
iT'l^nf- u P ei ^ as * c y0n tioi commands (DEFine, FOR, TO,
jj S I NEXT, RETURN, IF, THEN, ELSE, etc.) are
UmmmJl shown in white. The SuperBasic short cuts (such
as DEF for DEFine) are not supported The case of the
words are ignored. DEFine, DEFINE, and define are all
understood to be die same. The rest of the code is shown in
the normal green.
he color used to highlight the different elements
can be changes by using 4 different MicroEmacs
variables. So, if you prefer comments to be in
xed, y ou can do that.
^ tags come from Unix and w£f£ originally cr^st^d
7 1.
using me program etag. me eoiLOi men reaas
this file to understand the tags.
Ctags is designed to be used on a collection of source files
in a directory. The tag file is sort of like an index file
showing what procedures are defined and used in what
source files. Ctags is not very useful with source code
residing only one hie.
j 77T~ i icroEmacs understands how to read a tag file and
>e used to navigate through the source code
Lsssaai files, by
■fw/vrTf-Miry ir\ r» ■*i.-pr\/\nAi-irn> A /x*r t
seating the
'tag-word' command. Moving forward is accomplished
with the 're-tag-word' command and moving back is done
with the 'back-from-tag-word' command.
Hags understands C, C++, Eifiel. Tava, Fortran, and
SuperBasic. This means that MicroEmacs also supports
these languages with tag files.
an
■
fflYGHE?
Glen 3. Havdon. MD.
Epsiion Lyra Corporation
Route 2 Box 429
La Honda, CA 94020-9726
t would like to build my Forth Philosophy this year (1998)
iarouiul lire concept that (here is strength in diversity. Ovci
the years, Forth has evolved in many divers ways.
Individuals have taken different directions and the vendors
have gone their own wavs Trvmcr to force all Forth into a
eiiilfyljS" mnW Tfrill Aic+rnr-h &y-,t"»-s it*? rvvtvars.i-T.I
k>Jli>^lW iliwlu V/1JU <J£dllUvb j_t.wX4.Jt iiiJ £/v> WSJ ilJXli..
Forth as an Operating System
Oist off. Forth was designed as an operating system. As
I such it improved the efficiency of the application
However, it restricted the system on which it could be
used. Even with that limitation, Chuck brought up most of
his implementations on dedicated systems and directed
them to specific applications including any necessary
operating system It is interesting that again there is
discussion of making Forth the operating system after
having taken a turn as only one program available in other
operating systems Perhaps this idea needs cioser
examination.
Early Public Forth Implementations
^aily on, Tire Forth Primer horn the Kitt Peak National
L.Observatory provided a tutorial to tne implementations
on a set of minicomputers. But it was not until the fig
Forth implementation was made available as the Forth
Installation manual that the language began to spread.
Several groups were taken with the power of Lire
language and the Forth interest Group eventually
published source code for the implementation of Forth on
some 12 different platforms
iuoiiiiily jug Funk meetings weie Well attended. Regularly
150 to 200 were present at these meetings, "there were
problems and individuals contributed to solutions. The
openness of the source and the sohmons was stimnlatinp
vtsnuuf rumi iinpittiiitfiiiiciuuna
O t about this time several vendors developed and
i i
marketed their Forth implementations, there were
numerous discussions about the need for more
implementations of the Forth kernels Each company had a
good one. It was time to forgot about implementing Forth
and get Oil with Lite work ofForth applications.
it is mteresting tiiat most ot the Forth Vendors could
not make a business on sale of their implementations
alone As far as T know thev all provided custom services
•fv-yr ivrtPOlfif! o-j-vnlio^+i/vnc* \Jar\Aryre oftcm -fnilnr +"hair Irarnolp
Sji each appiiuauon.
The early conflicts in goais among forth users
stimulated a wide variety of directions. The differences
were alwavs well discussed at fm meetings and
The
Wcic at times a little 01 i tire sharp side.
The Forth Heyday
This was the time of the heyday of Forth interest We had
I a Byte issue which featured Forth. Wc had nearly 5000
members of fig. Hie FORML meetings were attended by
100 or so interested Forth users For a tew years we had an
annual Forth Day which ran on to two days and were
attended by 1000-9000 interested people
A S™* I— — — —
r\ ui icxi tyc
This review of history is designed to highlight some of
I the diverse events which led to a rapid growth of interest
in Forth. There was something about the philosophy at the
time which was positive and stimulating.
Since then, lire size of (he Forth Interest Group lias
gradually decreased. We hear less and iess about toitti m
the general Hterature. The Rochester Conferences have
ended after 1 R v?>ars
11
continue after 20 years. What happened? lite Standards
Team entered trie picture. Fust with the 79 Standard, tiien
the 83 Standard, and then over a period of years the ANS
Standard was developed At the same time, fig offered no
imj^iwiiieiita.ii\jijitj iWx tj.lv IIv
Tins was left to tlie Vendors.
rrr C 1 +•/-. -r>/lo -vA t ~* £ -s ^ tti/jfr oo-rw^ ont
I see the problem to be that Forth, in contrast with
T%r: ... ,-.t ; *1 : i
1 1
1*4 /Vlt
nttw kncnawfii was nriowft'teH p. knorjaa^ aIa^pIv fleyiof* ^ he merl if D^wloT*rn^nt Platform allows
-_:_ i . i3 — -...-j--.,. j • • s to— ~" *"' -* 1 to to- j -'
■*v>1 r.-trtf-l fv>. rt«*^14>-so+-**^*^ A f i> *-nr r<v#y>-«"* , l t>/3f+^r>- A if *-\£»-f
programmers die noi faiiiiiiai with closely bound hardware
and software.
A second problem was that most users wanted to use
their computers for other programs too These systems
came with an operating system to manage the other
programs.
j^orth became just another program. True, by renaming
I the Forth program C0MMAND.COM, the Forth
program would become the operating system. However, it
1 in1nn -t
envhorutieiri, Forth becomes yet another tool. In many
cases Forth is an ideal tool. This seems to be a direction
that some of Forth is moving.
Embedded Systems
There are a number of simple hardware systems under
l computer control These systems are dedicated to the
application. There is no need for all of the over head of a
full Development Platform The Forth kernel can be very
small and the dialed used is
ther programs on the same
system.
Then there was demand for Forth Libraries and other
tools to which programmers had become accustomed.
Programmers new to Forth thought it had to look and work
like other languages.
Hardware Evoiution
Over the years, the computer systems have become more
Uand mo r e complex Memory managers have been added
disk managers were needed to allocate space on Lire floppy
and then the hard disks m ever increasing size and used tor
many different programs.
Forth, originating as an operating system nlosely
linking the hardware to the program tor optimal efficiency,
lost out for many of the major systems on die market.
Windows Operating Systems
■Hexi came the windows paradigm starting with the Star
S (system at Xerox Palo Alto Park. Over years,
programmers became accustomed io a windows
presentation. The operating system exploded in size and
complexity.
Forth became a smaller and smaller part of the
common computer systems. At present, many people are
working to And a niche foi Foiih in tut evei larger and
more complex world.
A Return to Diversity
fn a review of the history of Forth, we sec that it has been
I used in diverse ways. A major iiend has been away fiora
hardware and implementations. Other features have been
added such as libraries. The problem with libraries is that
they require a standard kernel The advantage is that they
-.4 A ~ 4-V. + 1 r , ~ ~ sh-i-i tint./. t-v-» n >-B ~r~t ...if -ft- n f-
(ire direction that Forth seems to be taking as iar as
development is concerned. But there are many other uses
of Forth being actively implemented in embedded
processors. We need to be aware of these many embedded
The
at/|jiivutis_'ii miuo i. will vail wo u. iiiajui sjkji
programmers.
A Development Platform
O Development Platform includes many tools. Not all of
»' » OiCAli cue tta&iiy iiiipiSiliwiitCU iu lv/iai. wiiv Ox vu%* majui
tools wiiiuh mosi Forth Piogtaiiuners ignore completely is
version control. As applications get large with many
programmers and changing requirements, it is necessary to
maintain version control for mamtaining programs in the
Then there is the problem of drivers for the many
additions to hardware Each controller seems to do things
iust a little differently. Separate modules for each new
program need not be portaole.
With such Systems we are almost back to tire origins
of Forth. There is a surprising number of such applications.
A great diversity of Forth implementations continues to be
developed
embedded Program Development
in many ways, it is convenient to develop the application
jfvn fhf> «rv«tern on which it is °oins? to ran. Often a snrmle
'*6
i.i W tilitiilgt.iiis;j.ti. j.u jiiAiiCi^iiL iliulv io iiaj i.v/i LUij UiU
more complicated.
On toe other hand, a iuliy equipped Development
Platfonn can be convenient. A simulator of the embedded
system can be written The application can be target
compiled for the embedded process. The tools of program
control can be invoked. Trie embedded system can be
tethered to the Development Piatibrm and tested.
It is a choice for the programmer of the embedded
system. How much rime does he want to spend to learn the
power of a folly endowed Development Platform, and how
much time is necessary to develop the embedded
application.
The answer is in diversity. We need to get beyond the
Forth "choir" to the many diverse users and encourage all
of their diverse ways.
A Model Operating System
I inux is an open operating sy stem with many participants
Uworld wide. It can be very large and is certainly
complex.
(Qorne months ago, I attended a Linux Day. Actually, it
-Jwas only an evening, it was attended by about 1000
people. It reminded me of the Forth Days of years past.
The enthusiasm of tht* narnHpa"ts was amazing They
In iimrkmg about what is going on, I can see many
parallels to what we went through with Forth, i can see
where they may well end up with some of the same
problems we have in Forth
HOwCvOA, i\Jl umjbo All IlO^U Ul u. JLUil) Ol^LlipJJwU.
Development System, Linux might just provide die
iramework. Forth could provide another tool on a Lmux
platform. But a minimal Forth as the operating system and
application may be all that is necessary I think that Forth
A Forth Philosophy of Diveisity
It is time to open Form to all. There is no requirement
that any program is necessarily standard.
Conclusion
j.W iJl^Vvii i vJ/J/vi ijtiiv* ill- vr v»j.xv* 1 a J y sj iaivkJuj, i mil
dogriiauually Liridogniatr^J. ,,
r7T7-'. /~\T ' . .. . A 1". I
r' l .. . — nr. l
VV JiitCi ivV *
o er
O
CJCDN
z
/ — '
O O
ID
3 3
tr
ca 3 <n
cr uj
IsC Q
cr 2
o»
LU LU
Q «Uh
2 » Q_
CL 1- O <
a t~ i— o_
1 I CO
<
1 to I
•d- 3 to
< 2
a. tr
UJ
ao
CO 2
< X 2 X
1— ^ O
E H X <
zwzz
XX E
or i ^:
tr t- 3
LU U. 3
_J Q.
to
VO
< <
5- U) > Ul
a >- f-
OiCUUJ<
< UOD
>— 4 I CC
—J
_J O X
cr uj <
tr uj o
> i
t
o
-1 Z
O (— lO 1—
o to to
U. W 2 E Q
U. U LU
CJ
o o o
uj tr a
mom
a.
X
cr
UJ
u
■a
o -a
tr <
2 -O
f cr <
CJ l «Olj.0«0>»4CNtDc0a3<nV)NQ4<-*>^'*<U. Umo^UWthO^COlj.d'U.OvOWU.mO*
^CO<n<DChaklUJLl.O<O<UJN<f4 , -*iri<0N<Oa00vO<O\<<<LLlO-<'Vni/\\0*
OOOOOOOOOOOOOUIUILUUILUWUILUU1UIUILUUIUIUJUJUU.UUUU +
o o o a u u_ p-.
U.U.U.U.U.U.OOO
1—
t—
3
UJ
tr
a
to
2
1
CO
t— 4
u.
CD
CD
o
l\l
VO
c\j
CM
(M
fM
ru
IM
o
o\
—1
CO
CJ
o
o
o
3
cr
t—
o
UJ
a.
to
UJ UJ
CO x
-c <
— I 2
I
IM
I
t—
X
UJ
2
2
«u< 3 a
o i o 2 tr
1 t— I I UJ
to O 1/3 2 O I Q.
< a < tr i- uj o
O Ul 2 — • «NJ 2 2 >- fsj UJ o q cr — «
O NZUl < I — I — CD 3 O -CJ UJ I C K Z M Z -IUJ t
er ui n 3 3 cr z z i cr o i numh i u i i- z
a. cr x cr z < w h i tr ♦— 2 » z o t— » i i er o i to _i ui
I OOIH-IO a I I E CE CO I ECCUJ^U. <czi— t— >-zi— o<>— H-
K»— Q<»— Of- H- »— UJ »QOO <0h03lfl < * l-HZZZZlf Uifla i — >-»
EOx<t-i/)zuiz i-^czzazuujiniciat-DLJu.* ioccmwmh i i t i eta >
JUIJUlUJ(/)Hll.OOUILJ<UJ<lJO0303:HHUJDJJOUlliJUJ<ELJ* ZQ.EEEEEEE£tt-ZZ
usuauuDWHu — izcrocrcreroooo.i— uutrerooot—crcro-cQo* 3_jo.a aao.aaaifl»-iM
CO
\0
O
ru
tni
Ul UJ
co 2
!< <
2
3
tr
CJ
UJ
2 "O
o -a
tr <
2 n
JO xj
' tr <
x o tr 2
cj to uu t— <
tr x to to x z
<OOt»OUJ
ui cr _» to _i a.
2
t- 1—
tr
<
er _i
—J Z -4
2
LU
o o o
X
Ul
<
to to
CO
2
3 I _J
1 U H Z
UJ
a
UJ Z CO z
<
1—
2
i —
_1 »-»
t
CO
(Jl-I
Q CD _l _J
_l
t
cr uj • _j
3
CJ t-
to
JJO
h- •—
<
1 X •
2 • CO CO
CJ
_i
JZt- »
z
-*
CJ
n_ <
1—4
i i a.
3 3
— 1
cr ui uj
i-h a. 3 3
UJ
UJ
LU ( 3 3
>-
tO
X
O CJ
_!
k _j
a. a.
ti-
azo
U. O CO CO
tr
a
a _j ql cl
to
_J
UJ
t- 2
I— UJ
l/> C- I 1 CM f\J
QDQZEM
2 Z 2 UJ tr l-
IU LU UJ ) — UJ I
5f»5y <W ffl ^ H ^ OwftNQQffl *^ w * Omow OO(0iDmDN*IVCNC0UlO9iinN0Vct<ftl^(J
w^ninrt*^<»in^^ininu>i«vovo\ovflvovovo\o\o\oNNNNNNSN<<<<<mcocQcQm<cDciimcDa
3"5
5 ^~ 0 !T|2.0 ^^^^^ mo WO^^^x>CDcocnow euu.-*
\o vovoi^r^r^i^r^r^r^r^cococoancoaic>\cr>o\cAo\cr\avc>cr»cr«<7\c^
• to
a.
tr
INI
CJ t-l
m
UJ
1
— 1
CM t- _J
X
Ul
UI
1
1 111 1 K
UJ UJ
UJ
CO
to
2 2
2 lOWh
CD 2
a
o
o
Ul UJ
ui f- h~ y-* m
< <
z
_J
-J
a. a.
a < 3 _i n
_l 2
o
CJ
o o
~ x or
ui uj to to x uj q n
zz < cr cj cr cm q uj
HHCJ JDI-OKZ
-l-IUIUOUII— tO
I I CO I I u to I UJ — J
i-i-ri-i- i i »- z i
33333ZZ3I-HX
OOZOO-J_JO_JO
-<(MOHM
rtZQ.CC
X Ul
J I Z » I
I < O O t-
Z 3:
a
Ul
t- 2 •
2 2 12 2
2 CJ O Ul
3 Ul
z
to
WOE
HHU 3D
3 to _j < tr
tr z
Ul
3
1 » UJ
< < 2 2 2
2 » i tr i
1 1
1
1
x i— u.
-J _J H 1 1
1 Ul H- < 1-
Ul Ul
Ul
Ul
(J X1l
O O — 1 t— t—
1- Z 2 O. X
z z
z
<UJW
Ul Ul • 3 3
3 •— 4 f— UJ »—
t-l »-*
Ul
I— t
»-l
UJ z o
cr er ui o o
O —I to to to
-J -J
cr
_l
_J
Ul
Ul 0\
rvj m
CJ Cj
l OS I Z I »— Ul
» be i to tr u
*— CJ I— CO O i
X Ui 2 < a. _j
o
cr
x
X
UJ
«1
VOj
o
IM
to
UJ
—I
UJ
Ul
•t:
CO
2
-r
<
■
_i
z
3t
UJ
a.
a
tr
o
CD
i
UJ
a
<
i—
i
er
ui
i- a
t— I o
CO Ul
I I
a en
cr cr
x
;>
to
>-
u.
a
t:
o
o
tr
LU
x
Ul
<
to
U c0UJ*I^C0t^<i5O^^^OCr>O'^CDeD^00<a>l\IUir^CT\ tOOU^OCJvOf*%ir»r\jCJ\U.««'-l<
J2T3 mji^ <couwi%itHrgnh«)<tim<f\inmc^<u.N*OOrt(oyuONLjiAftUNino>
IOT3 O O d-lAlCMAinVO\£l\ONr-.NQOin(»)
er«c ooooooooooooooooooooooooooooooooooooooo
UJO^d-mha3<0-ii'v^O<UOOnjh-COu.iMmintsov
lf\vCI\ci\C)\Ovo\OvOV)Nf>f^l>Na)(r)cotococo(fta>0>C\0\
OOOOOOOOOCJOOOOOOOOOOOOOOO
IVI CO
LU — 1
X T3
CJ Q
U. — I
.o -o
<J- -*
m
tr <
O O
O O
tr
to Ul
CM
UJ o
ex i
1- <
O h-
_j
>- Ul
O l-H
LU UJ
to _j
-J CD
CD 2
i i
1 1
< <C
< ■<
< <
-J z
to to
to to
CO H- tr CO IM -I Ul X O O O QL
i- ui a to ui >- i i _i cj u oat i tr ^ cr er > cr — <
n CT I LJ<OtjHUUEt- I UJ < U LU <J> ia LU b£UI»— CJI— <OH- I UJ I
CO I f-l-UJ<Zt0002LUI-2t-OZCrOZ_J0220Z»-a2Q»-H-
i q oc > cr uj >- iao< ccr<< i i ooh jo<o jo<ko jzz
mjOCOtCJJ(fltOUJUII/1LiJQZQ>>l/lUJ<JZ(JCQUQaUOUJUJ
i ~-- a. < i i i i i i i => a. i i i i i i i i i i i t i i i i i i i
<<UOQQQQQQO<U<<<<<<>r<QQEaQQQWUlJLiJ
LOtoer_j_i_j_i_i_i_j_j(Ocrtotntoto<ototoio_i_i>_j_j_j_jxxxx
o
tr
y- z to
2 O •
LU O — «
I I I
Ul ■< <
2 IO tO
J*
to C
C <T3
—i CO
TJ
c
o u
O 4)
JZ
2 CJ
o +■»
tr t>
x a
Ui ">
--4
V. Q
o
c
v a
a
c *->
n o
— • c
x) u.
V u
JZ -C
o
c
Z» irt
O I)
— ^ o
u -a
> JZ
CJ
TO —I
C J=
13 S
o c
CJ* Zl
c o
•- < u
JZ
o t.
-U 4,
—I £
t •u
<o o
E «
z «
4-> >,
ej CO
V
tx^
tO IM
J= —I •
4J 1) T3
4J CU
c nj
"H C
<n x d
u o
c u
u a.
ex a.
CO V)
c o
3 2
O — I o
ci <v cc
*-> X
CO o u
> -M
«3 <»-
-C < o
<I5
V£>
o
<M
to
LU Ul
CO 2
31
erf
j
Cj\
LU I
Q. I
tOI
Ul Ul
CD X
-c <
o
t—
to
_J
o
o
CO
\ —
to
z>
t— 1
to
UJ
Ul H-
X 2
— >- 1 —
• >— UJ
Q
LU
_l
i- er
eft ex. to
X 1- CL.
o
to
z
z
2
z
to
o
i ex.
crX i
Z
Q Z X
z
o
(-1
<
»—
to
o
o
O LU
muz
t-l
JHU
<c
o
CO
1—
<
<
<
CC
»— to
E - O
CO M S 4
O — 1 VO
VJD u.
VO
r^.
a
.4- o\ <
o
U. UN
— A
<
VO
CO
X XJ
vo r-^
ez> o
— 1
-4 IM IM
m m
UN
CO
O
LU U PN
GO
CO ON
<
<
OJ
CD
tO T3
CO oo
0O CJ\
CN
o\ ej\ ejs
C\ O
On
0\
C7>
ON
ON 0> <
<
<
< <
<
<
<
<
er <:
f \ f\ i*\
r<N r<N
r>N
ry
rr\
PN
PN PN PN
PN
PN
PN PN
PN
PN
PN
u
CJ rr\
o a\
OS
— 1 NO CD
to j-
a
CO
CJ
u
ON UI u
UN
OV
<
VO
U
m
o
X T3
«C CO
CO Ul
o o o
—t IM
CM
CJ\
co
(JOh
-*
VO
CO
CO
ON
<
.o -a
-* J-
j- -*
trt if\ UN
UN UN
UN
UN
UN
in
UN UN VO
VO
VO
VO vo
VO
VO
VO
VO
ce -r
m m
r*\ rt
C*\ l*N
m CN
PN
rn
m
PN
• ■ I PN PN
PN
PN
PN PN
PN
PN
PN
PN
UN < U, Ul UJ UN
CJ CJ O IM ON CJ
•C *C «C CO CO CD
PN PN PN PN PN PN
* U ■* PN PN <
* < CJ — I ao <
* VCJVOtNtNN
* PN PN PN PN PN
O UN
o u
co co
UN
CD Q
PN PN
O Ul
u -*
CD CJ
PN PN
IM PN
Ul PN
PN PN
UJ UN CJ ON
UN VO VO 00
CJ CJ CJ CJ
PN PN PN PN
PN <C ^ *
«N *
ao ao ao *
ro PN pn *
O O
tr »
ui tr
0 !>J LU
C <f> I ►—
1 I I— <
u u to ui i
O -I
Ul O
it
4) <ft V) LU tr O t) fx.
a.3 ri-ozHU.
to
o >— * t3 cr
0 C CTTJ I—
c i v m z
1 «a i i ex
— »
>
I
I U I LiC Ijh U ijtj
Louo^i-rn*) oo
oc«cwtoo>«ouo
N
c
I
u
■»-»
I CL
cox
« 4) 3
min
4)
3 O
u — i e
*-> « i
I o XI
O. I o
EXE
3 C I
n«J c
tzn
i
4-> Q. 4-» W)
C X C 4} O
■HUH WO
c c
u
V
o
ex *
to t* i *
U trO*
uj « u *
4)
ao o
nj Q O
■MOO
PN PN
41
U Ul O
10 vo O
oo O
t— PN PN
X
tr -u
CL, 4)
Ui "
CO I
4) 4J AJ
4J U O
0 ill Li
C Q. U
»— U) -C
- O
x>
o
cx
a.
3
(0
_l z x to
tO < _l z o
o f— i i cr
er lu cr cr <
< o < < <
IO
4J UJ UN u. < U M3
O C CO O UJ U O
c -H r^- r-- co
4-» — < — I -H —4 p~I
10 3
W O * * * * *
o u * * * * *
-a *****
en * * * * *
E C
3 -I
U i
4-> O
O ~<
41
ex o
to *-
*****
a> co + * * * *
JZ JZ * * * * *
H- •»->+*** *
/ — '
Ul UJ
CO
CO 2£
VO
< -c
o
—1 2
rvj
to
u
1— 1
2 "S3
o -o
<r -c
u
x xj
a. cc z K
z a < i
3 a oc u t- <
Q Z O.WHI/)
» 3 JCQZ
x
>-
to
— i
Ul
o
o
5* 3 S co
' ^e O — I UJ I — •— i
— i i ivi ^ mj a q
uzutii i zr uj uj ui
Q HU Q V( h Z -J _|
*- O X t— _)
»— • »— • M(JU X
22XXOOUJO «
» — ^
cc to
to to z
MM I
2 O -J
—i -J x h-
l fj J< 1 UJ
t— 13 UJ CJ I— to
uj o _i i i uj
U _l u X ^ cc
SlsSsssSssSSslsssSSsSi^
OCDU-HM(M/«>^ VO UN
X)
tr
►—
«_>
UJ
Q_
CO
SS5^Su^u J l ?5^gS^^S)C^^S<-!< m ---'-<<Oo,u,^tjg
tr -tr
Huim^ no
rvj
LTV
■*
u
UN
UJ o
U.
UN
O O -i n i .t
UN
un
v0
cn
Ov
On CO
C3
Q
cj
V) M) \o >o V) >o
'O
vo
V0
vo
VO
'0 vo
VO
VO
vfl
- — * — i ■ — « — i — t — »
. — i
—4
— I
—4
>— (
«. cc a
_i ' — a
uj uj -c -tr
m s ■ i
-c <c -i -i
_i z v cj
U. CO UJ uj _J I— CL
u. or z cc ^- 1- cc oaaa u
Q- >~i <>-zt-iujujuj mo(fla.> i
m '- J cc^ 1 -*u.u_jt-o see i 2 a. uj
^'5J OOQO uii-iujzaQ.>-ccfrt-io>
>*>■<>■'-« uj o _» tr o UJ UJ 3 to uj < I o o
aatuaHQ ■ • • t ■ • » « ( , ul>, , ^ >
oooouj<ujujujujujujljujujujoSujccz
UJ
i- to
tr •
-c x
<
cj
UJ
X
UJ — i •*
; i t
Z Z 2
< < <
o
to
x a
I o o
»- < u
CC I 2
o z
a. n ■
uj <r x
or z cj
tr >•
UJ
tO bC
» I
CO
VO
o
rvj
to
_J t~t
UJ UJ o
cn X 3
< <: _i
-J 2 o_
u
X T3
Q T3
cc <
u
x -a
O T3
i cc <
X
o
tr
—3 f>
X UJ
CL _1
X
to
z
(J _J J
2
< be
X X
UJ
CJ •
X 1 1
be
tO Q
UJ o o
o
1 CL
2 Z
h~
* 3
UJ UJ H-
iflC) I I—
<OCiaQU.t- J
aoteuzjccz
I KUJUJ I t I
beCJO_COtOa.CLa.
IM 2 O
UJ X
c
a uj i ujo<
cj o to
cc
-_e
h-
a < cl i _j
< o cc
UJ
o
UJ 2
cc
1-H
bC
t
O I O 1— U be ul CL
CL CC UJ
-> 1—1
o
Q
>—
>—
ut- i <r i • i i
to 1 t—
1
t
cc X
Ul
1
to
— %
< 2 2 O 2 2 2 2
• UJ 2
UJ
UJ
UJ l
1
•
a.
to 1—
t—
o
t—
3ecxuixxxx
X < o
►~l
1 — i
UJ UJ
UJ
Ul
Ul
i— i
ocLotroocjooxa
_J
-J
or to
to
cc
to
V-
3 3 t— to rM
to
cc
XI
<
CJ CI > Ld >
_J
l~
to
to
cn
1
> > OSK
3 UN
1—
-J
X
•
_i
i
t—
1—1— 1 — » — 1
u. or <
o
— 1 to
t—
tr
to
UJ
t— Q H D CC
=> cc
1
1
—J _)
UJ
cj
_j
to
to _) -T CL CL
«— UJ
CC
be
t_J CJ
to
•.o
cj
OOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOO
§gg§g§gg§§§g§§ggggSSSSSSSSSSg§S§SS2§ggg§gggSgggg§ggS
o
UJ
CL
to
Ul Ul
CD X
< <
t— er
tr o
< cc
>— tr
to ui
— i tr
i cc <
< < X
t x cj
>- O i
2 l W-
i-iy- x
cc ui ui
CL O 2
to
U I-
U'JZ
_l <■ >— I
< a i
CJ to 1*
• I to
u co x
-IMC
I— —< CC CC Ul ZQl- UJ
cm m ui + i— 1~ > <tr< o
1 • wQaaoifljo<uiKOE
tT CC V- Ul Q I I I XCOtOOCLtOOUJ
x» i »- tr < h-
O i£ X Ul X to <M
« cj c: t- x ui »
I- < 2 O 3 >
S 2hi f "5 S: °- P *~ • couiuiuia a.2cocrujoo^-
trarvii ixx>-i^>->-^a:»-oujuj>-t i i i ( , ,
. a i^2? :iJJUj::<OUJUJUJ 1 • ' ujluccoooooo
X
uj X cj m
ui cc o tr uj or «
JOK>Jt-OXtC>-
CO>-UJ2_JI— lO<UICJCCtO
<tou<<-*:xtototoocL
I I I • I I I I I I CL. X
OOOOOOOOOOUIUI
Q-a.OCLCLQ.CLCLCLQ.CC>-
CC _J
Ul — I
* < Ul
O Jh 12
J JUOH
I < to to _J
to to I » I I
-J —I —J -J —I —I
O O CJ O CJ o
vo)
o;
rvjj
to I
X
3
cc
(—
o
UI
a.
to
IX
DC <
Li
X T3
o -a
tr <
r» x cv-
CJ
3 lO
I—
a
Ul
Ul
<
to 1-
t 1
O
3
_l H-
o o
to 1-
t>-
X
o
>-
1—
UJ
3ZIAH
1
t z
UJ UJ UJ
CO
< CL
tO U.
t—
Oh Z
Ul <
o
X
i
2
<
<
X
2 o. be o
be
o o a
«\j
rvl l~
X i-l
mo j
CC > 3
X o
cc
o
ie
X
CC
o
<
1 • — 1—4
t— z
a i- >—
CL
Q. 3
3 X
x> a 3
tr i-t or
t-l _l
V—
o
t—
<
cc
Ul
2
<<WO
to
tO t-l
_i to to
U.
U O
to to
to -c X
WOH
t- u
o
cc
to
tr
<
L.
VO CO ON 0\ C vo
A Ov O
a < o
O U
— i < < o\ cv **>
Ul '1 CO
U. 0\ CJ Ul fvj ON VO
J- <C — 1 CO
Utnvoi/Nu-CCJCDOv
Oh J
"O
Ul U. O
>flh(N<^inMAU(jo>o
Nto vfl >0 Q m a) ift
CO --I
VO NO
r-cocOOCJOUIurvjrvjtnvo
TJ
o o o o o o
O O — (
—<—i — i
~i r*~\ fr%
d- Ifl ui 1A O <t vo
•• VO N
Ul ui
CO X
Li
»0
coOmaiN(Dmtau.U.UlJNHiAroaiin<T3<llLCl^O<QU.^m<NwuvcOOJO\JO\ON>OlLOQO<UJNin
C04)0\HlV|ftlNm4N«)<n<UOUJ<)0>(DTJOOH<tJLi<<H(MJ0\ tf> CJ UN < I90UOU.OQ- ««\jrNV0vOON<
CJCJCjQQOQQQQQQaOQCU.U.U.U.OOOOOO^-1— IMMO fvi rjnnmnnrnnddJc|*J-dcf<r
(Njrvjcvjrgn4rvjrgrjr\jrvinjrjrvirvifvjivrJrNj<vf^
o
CJ C5
0.
X
3
z o
<<h-ao
X X l Ul I
a o. u r y
-J _J Ul 3 I—
<<OZIfl
a. x o ui cj o
cj u cj i— cc Cj * — • cl + 02=a.K»— ctuio
<00 ICLt~tOOCO<<U<QI— uoo oo--~.
I I OL.U II— 1-4- I I * < I I ■<■<--• * X
i<ie»— i U.HWONOHO ixi— co ee -u _j ■
CJ CJ I O I 2 t ►— ~-t— 2— 4Q.CJU. If-^XOL
< < i — i — i — *—*} — »o • •— i ii w h m o m -j ii ui — i a. > r> ■
I — 1—2 IZ I 2CLOO_CC<CCUIXQ3'U_ICC DUI-t UUI
intf)HuiHQ.Hii i u. a u a. l. to < to rjxo. E tr tj tr
H3
O —I
>>vO C « 3: >>iC 3
-H I O VI 1 CJ O
OlH- — < T> I CL «C — I
HEM CI I — —4 I— iq
*■» o — < cto «U1 o
— < I
n ui a.
ECU.
Ul CM CL X lO
I— I to 3 < 2
< O I 2 CL I — OX
_l — • ir> i u < CJ UJ
3 n> « 1* i Q i X
OOI — CJ Ul I CL '
_i i to «c > be >-* cj
< cl ui i — o i — be o
CJU-l— tOXtOtO_J
vt>
0 O Ul o
L. I U
a> E 2
M 0) <
1 e x
*-» jz i cj
d) 4_> 4J X
Ci m vi UJ
ul Ul
UJ
-I <
M O C
4) Ul cn C
«> 2 <r> -*
QO
NO
o
rvi
X
3
or
-J
X
or
X
or
>
X
-1
CJ
Ul
_l
t>.
tr
-J
CO
O
1—
=>
tO
Ul
Ul
Ul
to
1-
ca >-
_J
i
2
I—
»-
Ui Ul
X
be
CJ
i-»
o
—J
a
a
to
X
2
CJ
3t
or
a
i—
CO X
cc
t—
t
_l
1
u
cc
3s
to
tr
CL
O O 1—
cc
<
<C
CL
<
< <
cc
o
or
o
o
o
Ul
<
CJ
t
-J -J UJ
or
or
X
z
i
-J z
Ul
2
C3
CJ
CJ
X
to
z
a
to
U,
a a. o
u
o
o
Ul
u.
U
m ui
O
CO CJ
VO
Ul vo
a
Ul
rvj
On
<*N
UN UJ O O
ON
CO
vo
o
j-
(JN
r-»
X -a
vo r>.
CO
OO CO
<
CJ -1
— »
pn
o
CO
o
rvi
m m vo vo
a
O
f— *
UN
a?
Q
o -o
<n
c\ m
m -±
<1-
UN
VO
vo
vo vo vo vo
VO
VO
CO
CO
CO
CO
tr <
»M rvj
<M
<M rvj
rvj
rvj rvj
r\i
rvi
rvj
rvj
rvj
rvj
rvj rvj rvj rvj
rvi
rvj
rvj
rvj
rvj
rvj
rsj
u
ON ^
V0
—A «NJ
CJ
<*• CJ>
<t
*
*
<
□3
c_> m i»s <t
O
rvj
cs
CO
O
o
X n
to a
a
Ul Ui
U.
rn vo
ON
*
*
<
CJ
Q Ul O — I
rvj
CO
CO
U.
r-v
CO
O T3
—* —t
•—i
r-4 — 1
— 1
rvi rvj
rvj
rvj
*
*
rvi
r\l
rvj rvi tr\ m
r»N
m
<f
J-
J-
;-\
UN
or <
IM rvj
IM
rvj inj
rvj
f\l rvj
rvj
rvj
*
*
rvj
rvj
rvi rvi rvj rvj
rvj
rvi
rvj
rvj
rvj
rvi
rvj
>-
Z
Ul -J
z
_i or
or co
tr
tr
be x
1
Ui Ul
H- CJ
►—
CJ
2 1
o
1 CJ
to a
to
to
g a. m i-
z
i—
X Ul
I—
a
i
Z l 1 X
>-4
Ui —J
to <
Ul
o
i— I
u
or u. u. z
u.
o to
CL CL
_i
CL
O
QNiaujvoirtrvi^ok*ou.o*<oi , vjo-*o*eu.o
CJ
z
be
<-i rvj
<*
Ul
CJ
Ul
O X
i
t l
1
I o
1
Q.
t-t 1
z
CL CL
0.
CL Z
CL
to
to 1-
<
X X
X
X «c
X
or
— '
to or
X
Ul Ul
Ul
Ui X
Ul
Ul
Ul Ul
< o
CJ
t— (—
1-
h- CJ
r-
o
*
*
CO X
1 CL
1
1 1
1
1 1
or
*
*
< <
Z Ui
z
o o
o
o o
o
o
*
*
— I z
t-i or
t-l
cj Cj
CJ
CJ
CD
*
Q
Q
CJ
to CO
3 I
tO O
_l t— II—
Ui Z *~ t- I
XHOOVJ
I
O Ui
I— _J
I CJ *
be cc <
to
i
Ul 2 tr>
hzun m to tr cc z
tO I— I 2 i I 3 Ul CO Ul
Z JHXK Jl- lOUi
tr » 2 «c i — cl i— i ca
CLJZV-I- I UZUZ
• < < z «e 3 .
or
ui to o
</> > or or
> o < < tr
ui a. > i <
be be i u >
z to be i i
to ee a. t-i « o be be
—I ui
O I cc
o too
Z I- I — I —
t— « to to to
CJ III
be be be
HO_u»-i-Ha:Qiru>- i i ■ i i ■ i i z o t— »—
Q-CLQQtOtOCJQCJQtOtOtOtntOtOtOtOtOtOU ItOtOtOtOtOtO
-t ^ Ul
I —i Q
CL * *
X Ul -I
Ul Q X
I I
I — I—
2 Ul Ul Ul
MOO
(J
or v> 2
Ul I t-l
t-Of£
2 3 1-
Ul < to
I I I
X
CJ
I— t—
to Ul
or u
t-t i
u be x
_j i _j _j _i to a
£Z80 MICRO COMPUTER©
WilfRigter
Introduction 1 Jan, 1998 revision
H^he EZ80 (pronounced "eazy 80") is an all CMOS Z80
controller with some novel features. The simple
if:
H^design, powerful debugging features and low power
(<10 ma) consumption make it suitable for battery
powered robotics hand-held and/or educational
applications. The EZ80 consists of a CMOS Z80, 32K of
battery backed up CMOS RAM, a CMOS 8255 with 24
I/O lines, and five simple 74HC type glue chips. The EZ80
connects to the world via three connectors: the EZiCE
port, the EZI/O port and the EZKEY port,
g^o EPROM?", you say? The core features of the EZ80
jj'ftlare the BLANK memory and the unique on-board
programming hardware which does not need a
monitor program in EPROM. This makes the EZ80
similar to some single chip micro-controller chips with on-
chip EEPROM prograrnming capability. The programming
functions operate on single bytes or blocks of up to 32K
bytes. Program code is normally stored in the 0-1 6K block
which is non-volatile and write protected. The read/write
data is stored in the 16K-32K block. Actually
programrning is only a small part of the build-in debugging
hardware called the EZiCE port.
Hiring program and hardware development the EZiCE
ll'T/port is connected to a standard IBM PC parallel port.
l^The EZ80 single stepper circuit, when combined with
a control decoder and 3-state buffer can transfer opcodes
and data between the PC printer port and the Z80 data bus
and ultimately the Z80 registers. This method of "stuffing"
opcodes on the Z80 data bus is also used to generate
random access addressing to program the on board non-
volatile memory and perform a range of debugging
functions. The EZiCE software so far provides the
following menu:
1.
2.
3.
4.
5.
6.
FILE
LOAD
SAVE
VERIFY
LIST
STEP
TRACE
8. BREAKPOINT
9. RUN
10. RESET
11. SETUP
12. SHELL
13. USER
14. EXIT
j|)y^he EZ80 uses a 8255 24-bit parallel interface with
four registers corresponding to 3 general purpose 8-
*ky^ bit TTL computable I/O ports and a control register.
The 8255 supports the EZI/O port and the EZKEY port.
The EZI/O port emulates a PC printer port to take
advantage of the many LPT peripheral projects designed
for the PC. Conversely any EZ80 I/O expansion project
should be computable with the PC LPT port as well!
The EZKEY port is connected to 8255 Port B and has
added hardware to interface directly with a scanned 64
contact keyboard matrix. The 26 pin EZKEY connector is
also used for other front panel functions such as the
POWER and RESET switches and 5 LEDs.
||^fhe EZiCE port is a Direct Memory Access (DMA)
W\ interface designed to connect to a PC LP"~
Import during prograrnming and debugging.
interface designed to connect to a PC LPT printer
In the
RUN mode, the EZiCE HC573 latch has a secondary
function as a general purpose TTL level 8-bit input
register.
Circuit Overview
g^lie EZ80 circuit details are shown in the schematic fig
|| fy 1. The basic design is simply a Z80 connected to a
32K SRAM and some I/O. The simple battery backup
for the SRAM is connected to the RAM Vss pin and uses
5V as the common. This has a big advantage over the more
conventional designs in that the WR and CE lines are
automatically pulled up to Vcc during power down. The
RAM is partially write protected providing 16K bytes of
write protected memory from 0K-16K and 16K of
read/write memory from 16K-32K.
H^fhe RESET circuit uses a push button, a decoded reset
IH'T command and a power supply under-voltage monitor
to reset the Z80 and 8255 chips. This prevents
undefined Z80 operations during power cycling which
could corrupt memory or send spurious signals to the I/O
pins.
jbifhe basic I/O circuit consists of a 24-bit I/O 8255 PPI
WV chip and an 8-bit tristate buffer which connect the
Ilx EZ80 to the outside world via the EZI/O port, the
EZKEY port and the EZiCE port.
g^rie EZiCE port is a on-board In Circuit Emulation
II *Y interface used for program and hardware
JsL/ development. A key component is the SINGLE
STEPPER circuit to step the CPU one bus cycle at a time.
The CPU uses bus cycles to access memory or I/O devices
which can be a Ml opcode fetch or any other read or write
cycle. The EZiCE PORT uses the PC LPT control lines to
override the Z80 IORQ, RD and WR control signals.
When these signals are applied in the correct sequence, the
EZiCE port provides a kind of direct memory access
(DMA) to the EZ80 RAM and Z80 data bus. Data from
RAM and CPU bus (and CPU registers) is read in two
nibbles to four of LPT status lines. The fifth, line (ERR)
conveys Ml and HALT.
e EZI/O PORT uses the 8255 Port A and Port C to
emulate a true PC type bi-directional printer port.
l/^The EZKEY PORT uses the 8255 Port B and the A8-
A15 CPU address line to scan a matrix of up to 64 key
contacts.
Z80 Inside
The EZ80 uses a CMOS Z80 CPU for reduced power
consumption. Details of the CPU functions can be found in
the ZILOG Z80 hand book. The section on bus cycles
requires close examination since during "single stepping"
each bus cycle is frozen and the data can be examined.
e Z80 is reset both from a switch, a TL7705A
supervisory circuit which pulls the reset line low
when Vdd falls below 4.75V and reset is also
controlled via the EZiCE port. ZX-81 fans will be happy to
hear that with minor modifications, the ZX-81 ROM code
is compatible with the EZ80 hardware and control
programs can be written in ZX-81 BASIC. Without ZX
video, the INT and NMI lines are now available on the
board for user applications. Future projects will customize
the ZX-81 ROM for use with the EZ80 I/O and such add
ZXir QLive Alive!
15
Winter 2001
on hardware as a DFILE computable LCD interface.
What makes it tick?
B^lhe 4 MHz CPU clock is generated with a text book
II^L low power CMOS Pierce oscillator using one section
fty of the 74HC02 NOR gate as an inverter with the
crystal in the feedback path.
Lest we forget
My^he 62256 RAM chip, which is also low power
j| *y CMOS, uses a 3V lithium cell for non-volatile
mS program storage. Note the novel use of a common
Vdd line and the negative battery connection to the RAM
Vss line. This ensures that the RAM CE and WR lines are
disabled by automatically switching to Vdd during
powerdown. With the simple one chip memory, no address
decoding is required for the EZ80. However the WRITE
PROTECTOR circuit divides the memory map as follows:
16K of program memory from 0K-16K is write protected
during normal program execution and the 16K-32K block
is always accessible as read/ write RAM. All memory is
read/write accessible in the programming mode.
Bootstrap?
M^jlie EZ80 uses a hardware "boot strap" circuit to
If w P 10 ^ 3111 me "Wank" memory from power up. This is
similar to many modem single chip microcontrollers.
Ironically, a similar procedure was used in the early days
of ROMless computers when programs were entered
manually through the front panel switches. That toggling
procedure was tedious and only a short "boot strap"
program was loaded through the front panel which was just
enough to start the paper tape reader to load in the next
layer of operating system software. The way a PC
initializes it's BIOS and DOS in successively more
complex layers follows a similar sequence but has evolved
so that by now the operator's front panel actions have been
reduced to, at most, using in the proverbial three finger
salute! In fact a bank of 12 switches and some LEDs could
still be used to program the EZ80 but instead we have
finally found a useful application for the IBM PC, as a
high priced front panel for the EZ80.
EZ Ports Rule, OK!
gL^he EZ80 circuit in Fig 1 shows EZI/O port using a 26
ipV pin male header which matches a standard IDC DB25
IL-^comieetor. With this, the EZ80 can be connected to a
standard printer or other PC printer port compatible device.
It can also be connected to the PC printer port for high
speed bi-directional data transfer. Future EZI/O expansion
devices also use this bus for data transfer but will be
connected via a 26 pin connector and flat cable. Note the
use of pin 26 to distribute +5 V to EZI/O expansion devices
which can also be powered from a separate external power
supply. The EZI/O port is accessed at I/O address 00.
||yjkhe EZiCE port uses a 74HC541 tristate buffer, a
Sfl74HC257 multiplexer, a 74HC02 NOR gate, a
-^74HC74 D flip flop and a 74HC139 decoder. The
74HC139 is used to decode the PC printer port control
lines during programming to control and override various
internal EZ80 signals. The 74HC139 control functions and
codes are shown in fig 7 for the relevant PC printer port
control line states. The LPT control register codes are used
to reset, single step and run the Z80 and to control the
RAM OE and WR lines. The 74HC541 buffer is connected
to the PC printer port data lines which are used to control
the EZ80 CPU data bus. The tristate buffer is controlled by
the PC to write data from the LPT data lines to the CPU
data bus. It is used by the PC to "stuff' opcodes and data
to the Z80 register or to write data to the RAM.
||^he 74HC257 is used to read the memory data in two
W\ nibbles to 4 of the PC printer port status lines. The
Bl^PC LPT ERR status line is connected to the Z80
HALT and Ml lines to monitor and trap Breakpoints and
Ml opcode fetch cycles during debugging. In the RUN
mode, the EZ programmer port can be read as a general
purpose 8-bit input port at I/O address 04.
The EZKEY port is similar to and compatible with the ZX-
81 keyboard port.
g^his keyboard interface connects up to 64 contacts of a
Wy matrix keyboard. It uses diode isolated A8-15 lines to
Il ^scan 8 rows and 8-bit of column data are read on Port
B at I/O address 01. In order to use the address lines for
scanning the keyboard rows we can use tie Z80 IN A,(C)
opcode to scan each row while rotating a low-bit through
the B register. This opcode uses the C register to address
the I/O port on the A0-A7 lines while the B register
appears simultaneously on the AS-A15 lines. If fewer keys
are required (i.e. 40 keys tor ZX-81 emulation), only 5-bits
of Port B are needed while the other three-bits (D5-7) can
be used for a synchronous serial interface or for a-bit
banger UART application.
One Small Step for Man
M^he novel 74HC74 SINGLE STEPPER circuit controls
the Z80 WAIT line to single step the Z80 one bus
*ky cycle at a time. The WAIT line is normally used to
lengthen CPU bus cycles in order to synchronize the CPLT
bus to devices with slow access time. In the case of the
single stepper, the CPU is held in the WAIT state and is
advanced one bus cycle at a time by "tugging" the WAIT
line with a "step" pulse. When the single stepper is
combined with the 74HC541 and the 74HC139 control
decoder, the PC can force external OPCODES on the Z80
data bus during each instruction cycle while the RAM OE
line is disabled. The RUN signal activates the 74HC74
preset input to force the WAIT line positive and to allow
the CPU to run at full speed. The WAIT line is also used to
enable the NIBBLER circuit to read the CPU data bus to
the LPT status register one nibble at a time. I really like
this simple Z80 single stepper circuit which is destined to
become a classic ( if it isn't already) . It adapts itself to any
CPU clock frequency unlike the usual monostabie pulse
generator designs. The single stepper tuning states are
shown in fig 3.
One Giant Leap for Mankind
Ij^fn the programming mode, the EZiCE software uses
|| T combinations of control codes to enable the 74HC541
'JL/to place externally generated disabling the RAM
Output Enable (OE) line. This can be used to "stuff"
opcodes on the CPU data bus. This is such a powerful
feature that I have only uncovered the tip of the iceberg of
possibilities. For example, the PC software presently stuffs
NOPs to the CPU to increment the Z80 program counter
(and address lines) to desired starting address but it is just
as easy and a lot fester to write a 3 byte jump instruction to
load the PC counter. NOPs are still used to STEP through
and LIST a block of the memory contents. Ideally, the data
read by LIST is automatically disassembled to mnemonics.
ZXir QLive Alive!
16
Winter 2001
(This one is on my wish list :) During TRACE, the single
stepper simply advances the ZSO to Hie next bus cycle
without forcing data on the CPU bus. The PC can use ERR
status line to advance as many bus cycles to get to the next
Ml cycle. At each Ml cycle the contents of the ZSO
registers can be examined with a couple of POP and PUSH
instructions. As you can see (his is pretty powerful stuff for
such a simple circuit! While single stepping through a
program in memory , the PC writes a sequence of opcodes
at each Ml cycle which makes the ZSO describe if s current
register state and then restores everything back before
executing the next memory instruction.
||k£fhe current revision of the PC software does not yet
|| have capability to perform this task in a transparent
ii,/ fashion. Any volunteers? The RUN command
simply releases the WAIT line and allows the CPU to
execute the code in real time from a given starting address.
This is useful to check out subroutines, etc. In order to
return control to the PC after executing the subroutine or
any other code segment we want to be able to insert a
break point at the point where the PC takes over. This can
be done by inserting a HALT in the code e.g. replacing the
RET instruction at the end of the subroutine. The Z80
HALT line is connected to the PC LPT ERR status line (
and the Ml line is disconnected at this time) and when the
HALT instruction is executed, the CPU pulls the HALT
line low and stops. When HALT is active, the PC dumps
the Z80 registers mcluding the Program Counter (PC) and
compares the PC to a list of break point addresses and then
restores the missing instruction. The current PC software
oruy has a rudimentary version of this installed.
Yippee I/O
ll^he 8255 is a general purpose parallel I/O port. The
1 4. 8255 defaults to 3 input ports on reset and to
IlX configure ports for output, a control word must be
written to the control register. Port A and C are used for
the EZI/O PORT, a bi-directional PC computable printer
port. Port B is used as a 64 contact keyboard interface.
The 8255 can also be used in small applications 24-bit
TTL parallel I/O. The 8255 uses the A and B pins,
connected AO and Al to address internal registers. The
8255 chip select is connected to a 74HC139 and is enabled
when A2 is low. The 8255 data registers for ports A, B
and C and control registers are addressed at 00, 01, 02 and
03 respectively. Note: Port C output-bits can be accessed
at two different locations.. Port C is accessed at address 02
but in addition, individual Port C-bits can be set or reset by
writing data values 00 to OF to the control register at
address 03. Use even data, 02 to 0E, to reset-bits 0 to 7
respectively and odd data 01 to OF set-bits 0 to 7. In a
future article, applications will be presented which will
explore all the features of this excellent chip. In the RUN
mode the 74HC541 can be used as a general purpose 8-bit
input port located at I/O address 04.
.jl^he EZI/O port uses 8255 Port A. a true bi-directional
data port, for data lines and Port C for the 4
■"'CONTROL and 4 STATUS lines. The EZI/O
connector matches the PC LPT pinouts except for trie ERR
line, and connects via a 26 pin male header using standard
PC DB25 connecting cables to standard LPT devices like a
printer or PC LPT.
Several EZ80 digital and analog I/O expansion units.
which we will design in future articles are, can be
connected in parallel to the EZI/O CON which also
provides +5V power on pin 26". As a bonus, these I/O
expansion units can be used with any IBM PC.
Who Controls the Controller?
M^fig 6 shows how PC LPT control lines are used to
Wfj control access to the EZ80 internal bus. Plugging in
the PC cable enables programming mode and the
appropriate LPT control codes can be used to read, write,
etc. Fig 7 shows the state of the LPT control lines as well
as the internal control signals and the control code which is
written to the PC LPT control register. This control code
value is made up from binary weighted values (shown in
brackets in fig 6) but some register-bits are inverted with
respect to the control line. Therefore writing a 0 to some
control register-bits will result in a 1 state of the control
line. The STB (1), ALF (2), and SEL (8)-bits are all
inverted but the INI (4) line is true. In fig 7, a plus or
minus indicates a true or inverted-bit.
||/Sro wonder the odd relationship between the control
II U* co ^ e m ^ ^ e sta * e °^^ le conn "°l lines. Note that WR
•Impulses have to be generated by writing three control
codes in sequence. Similarly, writing OPCODES and
TRACING bus cycles require a sequence of control codes.
I have shown one possible sequence but other sequences
which combine stepping and reading the data bus are also
possible. It must be remembered that DATA must be
stable at certain times and the STB line must be held high
while changing the INI and ALF lines to avoid glitching of
the decoder outputs This is important because of the slow
rise and fall times of the LPT port signals. Note the SEL
line, which activates the srngh stepper, is conditioned with
a Schmidt trigger to avoid double stepping. The INI lines
is also used to enable the RAM OE or the 74HC541 . When
the EZiCE port is disconnected from the PC LPT, the
control lines are pulled up and automatically decodes the
RUN control signal and thereby enables the EZ80 RUN
mode. While in the RUN mode, the 74HC541 can be used
as an input port but the control lines must be left
disconnected.
Wrap Up
jl^yhat can I say about the EZ80 that I haven't already
him said twice? I was pleasantly surprised to discover a
O^nurnber of new ideas/features just writing the article.
That's always a good indication that there are more
features waiting to be uncovered. This project feeds my
belief that many interesting things happen at the simple
end of the complexity spectrum. This is the nurture phase
of the EZ80 project where I look for some support. The
simple hardware, elegant design and interesting attributes
make the EZ80 "eazy" to use for a variety of applications.
Let's have those ideas, comments, corrections and let's
have some fun! Use the mail server for group discussion
but feel tree to contact me at: rigter@cafe.net
Revision History
27 Dec, 1997 - released preliminary design.
] Jan, 1998 - Added 74HC54L revised control codes, replaced
74HC138 with 74HC139 replaced MC32164 with TL7705,
changed I/O addresses, reduced number of passive components,
removed run/prog switch, changed port descriptions, refined
article layout. THANK YOU! To Give Sinclair's "small is
beautiful" ZX-81. To all who have commented with helpful
criticism and kind remarks. Enjoy. Wiif
ZXir QLive Alive!
17
Winter 200 i
POWER SUPERVISORY
AND RESET CIRCUIT
5V
f
I
[10K]
f i SENS RST(
RESET — j RESET |
+ + _ [ 1K] - j CT |
| j __!REF /RST|
SI | ! ! "l TL7705 j'
j I .1 I .1
OV OV OV
[lOK]
I
5V
5V
_J_
vdd
DO
Dl
D2
D3
D4
D5
D6
D7
62256
CE
AO
Al
A2
A3
A4
A5
A6
A7
A8
A9
AlO
All
A12
A13
A 14
QE
WR
vss
5V
o o o o o o
! Vdd i
i / RST j
I DO DO i
Dlj'
D2|
D3|
D4|
D5!
D6|"
D7|'
.1-1-1
l-l-l
l ~ i
KEY MATRIX HI 4 4 48
I-!-}-- o >| -AS
■i~J — o >|— A9
j- j o > | — AlO
j j 0 > j — All
j - i o > j --A12
j _ j 0 > j — A13
j-f o > j — A14
| _ | 0 > | — A15
j | E2KEY
0 O PORT
1 I 5V
! I
! I
I I
i f
-I
I !
_ |D1
JD2
~JD3
_ '|D4
_JD5
_|D6
_)D7
j £80 )
— j MREQ !
-| AO AO |—
-jAl Al|
-IA2 ! _
-| A3 IORQI — IE 0|
RDj
1 A4
j A5
1 A6
1 A7
IA8 |
1 A9 |
; A10 |
— — I All |
|A12 Mil
| A13HALT !
|A14 |
A2| — |B 139|
A3 | — | A 1|
j 32 \
+-I /
f
WRj
CLKI
j!32\
- [ 10K] + ! /
+-I32 \
— i r
H/L
BATTERY BACKUP
1N34A
->! ov
luF -f
j 5v
i 1N34A
f — >J — [3V]+- 5V
3V LITHIUM
Vdd
PBO
PB1
PB2
PB3
PB4
FB5
PB6
PB7
RST
DO
Dl
D2
D3
D4
D5
D6
D7
8255
A
B PAO
PA1
CS PA2
PA3
PA4
PA5
RD PA6
PA7
PCO
PCI
PC2
PC 3
PC 4
PC5
PC 6
WR PC7
4
EZI/O
PORT
- PDO 2
- PD1
- PD2
- PD3 5
- PD4 6
- PD5 7
- PD6 8
- PD7 9
- STB 1
- ALF 14
- INI 16
- SEL 17
- SIN 13
- PE 12
- ACK 10
- BSY 11
- OV
EZiCE
PORT
ERR 15
5V 1 i
IG
SI
STB
1
i ! i
DO
1 Y
A|
PDO
2
[ 10K] [ 10K] (
Dl
IY
A|
PD1
3
! 1 1
D2
!Y
A!
PD2
4
1 c ! !
D3
IY
A!
PD3
5
\l II
D4
IY
A|
PD4
6
/! b !
D5
|Y
A!
PD5
7
! e
D6
IY
A|
PD6
8
| 2N3904 j
1 i
D7
_J Y
i 5
A|
73)
PD7
9
WRITE PROTECTOR
ZXir QLive Alive!
IS
Winter 2001
OSCILLATOR
j 4Mz j
|-[10M3 — |
i [2K]
+— 102 \_|_
+ — I / I
ov
ov
DO __!B1 Gj
Dl ^_ |B2 A/3|
D2 _|B3 !
D3 _fB4 J
IA1
|A2
j A3
|A4
D4
1.7 "I |
D6
D7
Y2|
Y3f
Y4 |
257 |"
NIBBLER
SINGLE STEPPER
3 -STATE
LATCE
i ic s Qi i
I 74 | |
ID /Q|_J
I R I
l_ic s Qi_i i
I 74 j j
_JD /Qi !
! R I I
CONTROL
DECODER
/132!~
~\_ !-
/132|-
\ |-
i >l '
IH/L— >j
A|
II
12 3j
I 0 /E |
|3 139|
/ 1.32 |
RESET
EZiCE
POB.T
SIN 17
EN
ALE 15
EN
DO 2
Dl 3
INI 16
EN
SEL 13
PE 12
ACK 10
BSY 11
Figure 1 - The EZ80 Complete Circuit
IC S QI
! 74 |
ID /Q|
! R I
Figure 2
I I __ I C S Q I ) _
I I 74 |
I ID /Q|_
The Single Stepper
CLOCK
/ RUN
/WAIT
STEP
CLOCK
STEP
/ RUN
/WAIT
>
>
>
l l l I I I i I I l i l l
Figure 3 - Single Stepper Timming
! - I +5V
11-11 IF CPU /WR = 0 I
I 4Mz I AND A14 = 1 I
I - [10M] — I THEN RAM /WR = 0 [10K]
I [2k] _ _ | RAM /WR
+•—102 \_| _ | | J |_ |/c
+— 1__ / i A14 [10K]~bl
I " ! I\e
== 82p === 22 Op | CPU /WR
I I
OV OV
Figure 4 - Oscillator Figure 5 -- Write Protector
Control Decoder
LXxr QLive Alive!
1 A
Winter 2 00 i
FUNCTION CODE -
<- LPT C
STB -ALF
* -Jri 1 KL
J.T'M' 7 '
T -v
_ OT7T
— OJiii
jjir i < -..
•iX I
7P O r
-•'-•U.M j. iiU
U /T
r otp
— %
STTTv
READ RAM LOW*
vx
1
-L.
n
u
-\
X
A
o
n
-]
"1
X
1
X
-i
X
READ RAM HIGH
on
-1
X
^-i
X
v
i\
"1
X
-1
X
X
WXVX 1 St
KJ 1
X
X
V
A
n
i
i
X
1
X
1
X
1
X
WKX i SL
l^rluKi ( <£. ;
X
u
1
X
£>L AHliht
0
-1
X
X
U
X
-)
WfrvX I Jii
n "i
f \
\j
fi
X
1
u
X
i
X
'i
X
1
X
X
WRX 1 &
OfLOUJli i. X }
H
\J
U
u
X
Y
A
u
1
X
X
X
X
1
X
Wr\X A Hi
"1 n
n
w
U
u
0 1 ADXiJSi
u
1
X
1
X
1
X
■1
X
X
WRITE
OPCODE (3)
m
u
u
U
1
X
X
1
X
X
X
X
TRACE
OPCODE (1)
1
J.
u
X
A
u
u
1
1
X
1.
X
TRACE
OPCODE (2)
n
VJ
1
X
u
u
A
U
U
-l
x
X
X
X
TRACE
OPCODE (3)
m
ux
U
-1
X
u
X
V
A
X
n
1
X
X
X
X
RESET
02
1
0
i
x
X
A
U
X
1
1
X
u
T
-X.
RUN*
06
1
U
U
-1
X.
A
1
X
-1
X
'1
X
X
U
NO FUNCTION RAM
01
0
1
u
1
X
A
A
U
n
X
1
X
1
a-
1
4.
NO FUNCTION I/O
03
0
o
0
1
A
0
1
X
1
X
X
1* = positive pulse for
2 elk periods
LOW* =
= also reads Ml line on ERR
RUN* = also reads HALT line on ERR
Figure 7 - Control Func tion Codes
EZ80 Parts List
1
Z80 CMOS
3
IK 1/4 WATT RESISTOR
1
82C55 PPI
3
10K 1/4 WATT RESISTOR
1
HM62256 SRAM
10
.1 iiF CERAMIC CAPACITOR
1
74HC02 QUAD 2 INPUT NOR
3
1 uF TANTALUM CAPACITOR
1
1
74HC14 HEX SCHMITT TRIGGER
1
X
100 uF 25V CAPACITOR
1
74HC139 DUAL 1 OF 4 DECODER
1
82 pF CERAMIC CAPACITOR
i
74HC257 4X2 MULTIPLEXER
i
220 pF CERAMIC CAPACITOR
I
74HC541 OCT AL BUFFER
1
4 MHz CRYSTAL
7
IC SOCKETS (OPTIONAL)
4
1N34A GERMANIUM DIODE
3
26 PIN MALE HEADER (. 1)
1
RESET PUSH BUTTON
5
9 X 10K RESISTOR SIP
1
2N3904 TRANSISTOR
2
PC 26 PIN TO DB25 CABLE
1
64 KEY MATRIX KEYBOARD
1
EZ80 PCB
1
26 FEMALE IDC WITH CABLE
8
1N4448 SMALL SIGNAL DIODE
1
3 VOLT LITHIUM CELL
Don and Abed,
A couple things come to mind.
It is possible that Word 97 can not
read Wordstar files. Maybe you can
try sending a text file. You create a text file in Pipedream
by Saving as Plain Text. Text files on the Z88 and the PC
are formatted differaiuy. The ends of lines on the Z88
include a carriage return. The ends of lines on the PC
include a carriage return and a line feed. PC-Link may
convert the file correctly . If not you have to run the file
through a conversion program. You say you can't find the
file on the PC afterwards. It is possible that your files did
not have the proper three letter extension. That is the only
way PCs recognize files. Or you may have to look for the
file with Find on the Start Menu
I have a PC and a Mac. I do not have Word or PC-
Link on (lie PC. I do have Mac-Link on the Mac. i can
provide step by step directions to send files with PC-Link
but I do not have PC-Link. If you want you can send me a
copy of your PC-Link disk. I already have the Z88 PC-Link
ROM (which is the same as the Mac-Link ROM) and a
cable. I can borrow my laptop from woik which has W T ord
on it.
Here is a disk with Z88 communication files on it.
You can use this instead of PC-Link to send files back and
forth. You must install the Z88COM program first. Use
HypeiTerminal on your PC. It is built into Windows. I have
included a shortcut to HyperTerminal. Z88.ht You must use
the built-in Import-Export program on the Z88 and send the
files phone.log and z88eom.cli to the Z88. You send them
as text files. Wait until the numbers have finished counting
up. Once Z88com.cli is in your Z88 select it in Filer and
choose Execute. You will see all the lines of the file scroll
by one at a time. Once it has stopped at Line 51 50 type on a
new line SAVE "Z88com.bas" Now when you want to run
it type RUN "z88com.bas" from BASIC. This procedure is
also in the manual. Now try transferring some files with
XModem. There is another XModem program on the disk
zcp.bas. Try sending that over to the Z88.. Select Transfer
and Send File on the PC and Receive file on the Z88. Type
the filenames on both maciiines and press entei at the same
time on bolh maciiines . Now you will notice that it does not
seem to be working. Don't be alarmed. Z88COM and ZCP
use Checksum for Error Checking. HyperTerminal initially
uses CRC but changes to Checksum on the third retry.
Actually if all y ou are doing is sending text files y ou
oily need the built-in HyperTerminal and Import-Export
programs. But if you want to transfer BASIC programs then
you need to use Z88COM or ZCP You can convert the
BASIC programs to text (cli) files but it is easier to transfer
the BASIC programs as is. The disk also includes
fadder.bas. This is a fast line feed adder for text files going
from the Z88 to the PC. Kermitbas is another transfer
program which uses the kermit protocol. ZFU is a file
utility to archive files. It is nice for backups. Finally I
included the Patch to extend BASIC graphics commands.
Let me know how you make out with the disk.
Dave Bennett
ZXirQLive Alive!
20
Winter 2001
U n c I a s s i f i e d
Ads
Place your ads here, it is free!
Please inform and/or update the Editor of any changes in your ad/s
We have been a part of the Sinclair scene since 1982, repairing
IX Spectmms for Sinclair Research in England.
We provide Sales, Service, and Software for the
QL, Spectrum, ZX-81 and Z88
www. members. Mpodxorn/hescomputing/hesLhtrnl
E-Mail 74601.1535@compuserve.com
Hours of Operation is Monday - Friday 1300 hrs. to 2100
hrs. central time zone.
Phone 210 661-4376
Home Electronics Service
John R. Rish
5222 Kazen Dr.
San Antonio TX 78219 USA
Pro Digital Electronics
323 SE 28th Ave.
Portland, Oregon 97214
503-232-3200
Pro Act Consulting, Inc.
2660 N. Houghton Rd.
Tucson, AZ 85749
520-749-5395, fax 520-749-3626
email <proactmd@aol.com>
The John Oliger Co.
11601 Widbey Dr.
Cumberland IN 46229
The John Oliger Floppy Disk System
FOR THE TS-2068
2068 U ser Cartridge
DISK BOARDS W A W & "B"
2068 Parallel Printer Fort
2068/SPECTRUM Joystick Port
DFh Mapped Universal I/O Port board
User Manual only : $5.00 (Read before you buy)
joliger ^mindspring. com
QLAMBer $20
SeekQL $10
jPLATYPUSf
QLuMSi $20
Upgrades $5
91 4 Rio Vista Cir SW
Albuquerque NM 87105
(505)843-8414
ARCHIVE Based QL Software
QLerk - A complete financial program for the QL
QLerk software (v3.21 ) with tutorial $29
QLerk manual $29
QLerk software & manual $50
DBEasy - A menu based database system
DBEasy software (v1 .6) $24
DBEasy upgrade from V1 .5 $7
DBProgs - A toolkit of ARCHIVE procedures
DBProgs software (v1 .8) $18
DBProgs upgrade from V1 .7 $7
DBTutor - A general purpose learning program
DBTutor software(v1 .5) $12
PC DBEasy - Just like QL DBEasy
PC DBEasy software (v1 . 3) $ 1 2
Bill Cable
Wood & Wind Computing
RR3BOX92
Cornish NH 03745 USA
Phone (603) 675-2218
ID € m i n c C ui ib e s
Hardware & Software
352 7 th Ave. 15 th Fir.
New York, NY 10001
Phone 212 631-7563
Fax 212 947-5069 Voice mail pager 917 490-8407
Domino.cubes@excelsior.net
QL
Hacker's Journal
Supporting All QL Programmers
Timothy Swenson, Editor
2455 Medallion Dr
Union City, CA 94587-1914
swensontc@geocities. com
http.'/Avww. geocities. com/SilconValley/Plnes/5865/
ZXir QLive Alive!
21
Winter 2000
NESQLUG
X£!WS
New England Sinclair QL Users Group
Ed Kingsley, Editor
16 Highland Avenue
Saugus MA 01906
(781) 233-3671 EdK4@aoi.com
Keith Electronics
224 North Grove St
Lock Haven, PA. 17745
Peter Liebert-Adeit
LUETZOW STR 3
D-38102 BRAUNSCHWEIG
GERMANY
Email: p.liebert@t-online.de
http://home.t-oirlme.de^
Amateur Radio: DK4BF@DB0FC.#NDS.DEU.EU
QL Today is published by Jochen Merz Software. The
representative in Britain is Miracle Systems Ltd. who take sub-
scriptions and do the distribution.
English Office
Miracle Systems Ltd.
20 Mow Barton
Yates, Bristol, UK BS17 5NF
Tel. +44 1454 883602 Fax. +44 1454 883602
Editor
Dilwyn Jones
41 Bro Emrys
Tal-Y-Bont, Bangor, Gwynedd, UK LL57 3YT
Tel. +441248 354023 Fax. +441248 354023
The ZX Spectrum 48/128 Emulator
for IBM & Compafables: Z80 Version
Turn your PC into a real ZX Spectrum 48/128
r> Full Spectrum emulation, border, flash, beeper, Interface 1,
Microdrive in cartridge file, RS232 input and output redirection
to file, COM or LPT, joystick support, 128K sound through
Soundblaster or internal speaker, built-in monitor,
Runs okay under DOS, Windows and DesqView,
Runs on any 640K PC; too slow for practical use on PC/XT's
but fast enough on AT's, uses VGA/EGA/CGA or Hercules.
This program costs US $20. You will receive a 3.5" DD disk
(5.25" disks on request), and you'll be kept informed about up-
dates. Please send bank notes (bills), name and address to:
Gerton Lunter
PO Box 2535
NL-9704 CM Groninaen
Netherland
Zebra Systems, Inc.
122W26thSt. Suite. 904
New York, NY 10001
Basics of Timex Sinclair 1500/1000 BASIC
BASIC Basics for the Timex/Sinclair 1500/1000
The Ins and Outs of the Timex TS-1000 & ZX-81
Computer Interfacing Technique in Science TS-1500/1000
^ Resources
Keith Watson (AERCO & Z80 Emulator)
41634 Amberly Dr.
Mt. Clemens, Ml 48038
Jcctien Merz Software
SMSQ/E for the QXL
SMSQ/E for the Super GoldCard
QL Games <& Upgrades QL Applications
ProWesS + Applications
Jochen Merz Software
Imstiiien Winkel12
47169 Duisburg, Germany
* 0203-50201 1 Fax 0203-50201 2
Credit Cards accepted
http://wvw.j-m-s.com/smsq/
e-mail smsq@j-m-s. com
RodGowen (RMG)
14784 S Quail Grove Cir
Oregon City OR 97045-8843
: ;S UfDlUS
JOHN J SHEPARD 11!
281 130 th ST
OGDEN1A50212
< jshepard@wccta.net >
Mostly QL &TS-2068
JACK BOATWRIGHT
67325 FRYREAR RD
BEND OR 97701
< jboatno4@outlawnet.com >
Mostly ZX-81 /TS-1000 & TS-2068
Items for the Timex\Sinclair Computer
Timeworks Programming kit #1 For T/S 1000 & ZX81 $4.95
Mindware Gulp Game Timex 1000 & Sinclair ZX81 $4.95
Timex Horace & The Spiders for the 2068. $5.95
Chess (16K RAM) qty 5 price $2.95 ea
MC, VISA, American Express. Phone 717-748-1747
QL TS*2068 ZX-81
Books msi^mmsm
Software
ZXir QLive AJive! 22 Winter 200 1