VOL.8 NO. 6
NOV - DEC '90
SINC-LINK IS A PUBLICATION OF
THE TORONTO TIMEX-SINCLAIR USERS
CLUB AND IS ISSUED 6 TIMES A
YEAR. COPIES OF THE NEWSLETTER
ARE SI. 50 EACH FOR NON-MEMBERS.
CLUB MEMBERS RECEIVE FREE COPIES
AS PART OF THE 920.00 ANNUAL
MEMBERSHIP FEE. A NEWSLETTER
SUBSCRIPTION ONLY IS AVAILABLE
FOR SI 2. 00.
NEWSLETTERS ARE EXCHANGED, FREE
OF CHARGE, WITH OTHER
TIMEX-SINCLAIR USERS GROUPS.
PLEASE CREDIT THIS PUBLICATION
AND THE AUTHOR IF YOU COPY
THE CLUB MEETS ON THE FIRST
WEDNESDAY OF EACH MONTH AT
FOREST HILLS COLLEGIATE
INSTITUTE, 7Z0 EGLINTON AVE. W. ,
TORONTO. START TIME: 7:00 PM.
SEND CORRESPONDANCE TO:
CLUB, 14 RICHOME
CANADA M1K 2Y1
TAPE LIBRARIAN ZX81 :
TAPE LIBRARIAN 2068:
TAPE/DISK LIBRARIAN QL:
( Out-of-town members )
(Area Code 416)
RENE BRUNEAU ( 531-9749 )
BILL LAWSON ( 444-8772 )
GEORGE CHAMBERS ( 751-7359 )
RENE BRUNEAU ( 531-9749 )
LYMAN PAQUETTE ( 482-4479 )
RENATO ZANNESE ( 635-6536 )
HUGH HOWIE ( 634-4929 )
JEFF TAYLOR ( 244-8583 )
JEFF TAYLOR ( 244-8583 )
GEORGE CHAMBERS, 14 RICHOME COURT,
SCARBOROUGH. ONTARIO. M1K 2Y1
( 416-751-7559 )
TORONTO T I M£K-S I NCLrA I R USERS CLUB
I recently came upon a happy
discovery for club members with
modems. A BBS devoted entirely
to Timex-Sinclair 2068s and
running on TS modem software!
I'm talking about "SIR CLIVE'S
CASTLE" running out of Ottawa,
Ontario at (613) -745-8838 . The
system runs at 300 and 1200 baud
and uses Larry Kenny's MAXCOM
terminal software. You can call
in using any of the modem
programs available for the 2068.
I believe this phone number is
more current than the one listed
in the article about this BBS.
I got on using the number above
the week of October 31.
I cannot stress how important
it is to register and
participate in making this BBS
grow. It doesn't cost that much
to call Ottawa, especially late
at night. The BBS is free and
runs 24 hours so what more do
you want? As the saying goes,
"If you don't use it, you lose
it". Let's encourage the
Also, don't forget that the
there is a TS file area on the
TIBM WIZARD BBS in Toronto at -
(416) -743-6703. Get Modeming.
That ' s all for now . . .
Laricen Disk Library
by G. Chambers
Most of the disks in our Larken Disk
Library have a HELP file. Usually this
cosnsists of a Tasword file which is displayed
on screen in 64 column format.
This is a very handy way of providing
documentation about the programs on the disk.
Often though, it is desirable to print this
out to hard copy rather than simply read it
on-screen. We may sometime decide to put in a
"print to paper" option in the disk menu.
However, in the meantime here is an easy way
to obtain printouts to a large printer.
Assuming that you have a large printer
hooked up to your 2068 this is the procedure
you may follow i
1. AUTOSTART the disk to bring up the menu.
2. Break out of the program and enter the
commandi PRINT USR lOOi OPEN #4 3."lP"
(This opens a channel to the large printer,
a channel which the command LPRINT can access)
3. LIST the program to find the LINE which
prints out the "help" file. It will have a
command very much like this PRINT #4 i PRINT
or RANDOMIZE USR lOOi PRINT "xxxxxx.CT"
4. Change the PRINT command to LPRINT.
4. Load your printer with paper, and
5. RUN the menu program and select the HELP
file option. Printing should ensue.
That* 8 all there is to it.
Does anyone have the documentation
for WORD SYNC version 3?
Please contact the Editor-
I 1 0 N A R V
Adapted from Tori Baker's book
"Mastering Machine Code on the
ZX81"by Bob Mitchell 966916.
Throughout these instructions
the operand <r> denotes a single
register A,B,C,D,E,H or L, a
numerical constant or an address
pointed to by (HL) , (IX+d) or
(IV+d); the operand <s> denotes
any register pair BC,DE,HL,SP,IX
Two forms ADC A,r and ADC
HL, s; ADC A,r is a single byte
instruction which calculates the
sum of A+r+carry flag and stores
result in A. ADC HL,s is a two
byte instruction which
calculates HL+s+carry flag and
stores result in HL. ADC A, A
does the same thing as RLA but
ADC alters all the flags.
ASS Similar to ADC except
carry flag is not used in the
initial calculation but is
altered by the final result.
Differences from ADC: ADD HL,s
is a one byte instruction; ADD
IX, s and ADD IV, s are allowed.
AND r is only form. The A
register is altered one bit at a
time. If the bit=6 it goes
unaltered. If the bit~l, it
takes on value of corresponding
bit of r. AND FF leaves A
unchanged; AND alters all flags
with the carry flag reset to 0.
Finds the value of a bit
in a register. BIT 5,B returns a
zero or non-zero which can be
used to exploit using JR Z for
example, or RET NZ. BIT does not
alter the value of any of the
registers nor change the carry
CALL Like GO SUB. PUSHes return
address onto the stack and JUMPs
to the call address. The return
address is used by the RET
instruction. The subroutine must
not alter the stack unless any
PUSH in it is followed by a POP
before the RET. CALL has several
forms (eg, CALL Z,pq which means
CALL pq (an absolute address) if
the last calculation was zero
otherwise continue with the next
CCF Complement Carry Flag. If
zero then it becomes one and
CP ComPare. CP r is the form
and will calculate A-r; the
result is not stored anywhere
nor is A or r changed. It alters
all the flags. CP r followed by
JR Z will JUMP if A=r.
This is like CP(HL)+DEC
HL+DEC BC. Zero flag is changed
as if a single CP<HL> had been
executed. P/V flag is altered
thus: If BC becomes zero then
P/V=Q; if BC not=0 then P/V=l.
So JP PO will JUMP only if BC=6.
JP PE will JUMP only if BC
not =0. Carry Flag is not altered
CPBR Same as CPD but with
automatic loop. Stands for
ComPare with Decrement and
Repeat. Loop ends when A=HL<zero
flag set) or BC reaches 0.
CP I As CPD but Incremented.
CPIR As CPDR but Incremented.
CPL ComPLement. A is altered
bit by bit. 6 becomes 1 and vice
ver sa . 1 1 0 1 0 1 0 1 becomes 00101010.
No flags or other registers are
Decimal Adjust Accumulator
Changes hex number to decimal.
Flags changed appropriately.
Two forms. DEC
register), or DEC s
pair). In DEC r, r is
by one, carry flag is
and zero flag is
appropriately; in DEC s, the
zero flag is not altered nor are
any others. Thus DEC BC followed
by JR NZ,-3 is either an
infinite loop or has no effect.
i on .
B = 7,
BJHZ Decrement B and
ive if Hot Zero,
then it becomes 6; i
it becomes FF. If B=0
action JUMPs to new destinat
Form is DJNZ e where e i
single byte. If e is between
and 2E_, the JUMP is farwapds
between 88 and FF
backwards. Start the count
the next instruction so
DJNZ 00= DEC B, except that
does not alter any flags.
EI Enable Interrupts. See IM
for more information.
EX Exchange values between
register pairs. AF , AF ' DE , HL
(SP),HL (SP),IX (SP),IV. No
flags are altered. Uith the last
three, the old value of HL (or
IX or IV) is pushed onto the
stack and at the same time, the
old value at the top of the
stack is popped and loaded into
HL. The position of the stack
pointer is therefore unchanged.
AF' called AF dash is a register
pair distinct from the real AF
and this is the only instruction
that uses it.
As well as A F '
also BC ' DE ' and
are a set of six new registers
or three register pairs. These
can only be accessed by this one
sin9le instruction. Useful in
preserving the values in the
main registers while calling a
ROM routine which relies on ft
but wipes out the ° t. ner
registers. The examp 1 e 1 s < EXX >
< CALL ROM subrout 1 ne > <EXX>.
Three forms: IM 0 IM1 and
IM2. If zero, the interrupt
device itself must supply an
instruction to be executed. If
one, the instruction RST 38 is
executed. If two, the interrupt
device must supply one byte of
data which is the low byte of an
address. Register I is used to
supply the high byte of the
address. The computer then looks
up this address and should
a second address store there and
this is used as a subroutine
call. But note: The .Jf20^
requires the use of a table of
257 bytes to do this job
IMput with two forms: IN
A,<n> where n refers to an
external device «lin . a
different n for each device,
nne byte is read from device n
and loaded into A. No effect on
flags. IN r,<C> where the C
register specifies the clevice
and the number input is loaded
into rj the flags are altered.
IHput with Decrement = IN
<HL>,<C> + DEC B + DEC HL. The
carry flag is not altered but
the zero flag is altered o show
whether B has decremented to
like IND with Repeat until
B reaches zero.
like IND except that HL is
IHIR like INDR except
INC INC r IHCreases the value
of r by one. All flags but the
carry flag is altered. INC s
where s is a register gfir will
not change any of the flags If
s is FFFF it will zoom around to
9000 and carry on. Do not use a
check for zero ffter INC s 1g l\
will not work. INC HL + JR. Z
means jump if the instruction
before INC HL came to zero, not
if HL has reached zero. INC H +
JR Z does work.
JumP is like GO TO but to
an address. JP NZ, 4300 means
.iump to 4300 if «r°TPl*<m ?
zero flag is not set > . JP
allows for variable
destinations, but no conditions
here. Destination variablescan
be in HL, IX and IV and these
are powerful instructions for HL
can be the result of
calculation, even at random.
Jump Relative and one byte
shorter than JP Four condition*
JR Z, JR NZ, JR C and JR NC.
Urite the instruction as JR e
where e is a single by:*;,
forward if e is 0-7F, backward
Loa9. Transfers data from
one place to another Simplest
of many forms is LD rl,r2 w,here
reregister. LD A,<BC> and LD
ft,(DE) are legal and are one
byte codes; these ,prva£e
^oupr^able , eg, LD tlft^H.
REMEMBER THAT THE BRACKETS MEAN
TurrnNTFNTS OF THE ADDRESS BC
(or DE>. Two special registers R
and I may be loaded to and f rom
A as in LD A, I LD A,R LD I, A
LD R , A <but only A>. R is the
memory refresh register used for
outputting to the screen,; I is
used in IM. Reg i st er . pa l rs may
all be loaded with either
numerical constants or tne
Contents of absolute addresses
e<a, LD s,mn or LD s,<P«l>. LD
<?q>,i is like a double POKE in
BASIC. The register pair SF>, the
stack Pointer, can be loaded
directly with either HL, IX or
IV 5ou can say LD SP,HL but not
DEC DE +
becomes zero i f BC becomes zero,
one otherwise. JP PO will jump
only if BC is zero after the
LD<DE> , <HL>+ DEC HL+
DEC BC all in one
flag, zero flag and
are unaltered but
Like LDD but Repeats until
BC reaches zero.
Like LDD but DE and HL are
Like LDDR but DE
are both Incremented.
Alters the accumulator and
ail flags. It HEGates A. If A
lontainl 1 then NEC will change
it to minus 1 or FF. it h
contains -6 <FA> then NE* £lL
alter it to. +6 <%f>-^ feme effect
achieved using CPL + INC A but
this does not affect the carry
flag as NEG does. NEG is faster.
Ho operation. Uastes time.
Like a REM statement in BASIC
but you cannot put messages
after it. Use it also to
overwrite previous machine code
OR r is opposite of AND r.
If a bit is one then it will be
unaltered but if zeV° tJj?n t ±1
will take on the value ofT rth*
corresponding bit in r
contains 00 then OR r is the
same as LD A.r (except for the
flags). If A contains FF then OR
r will not change it. All the
flags are changed and the carry
flag is reset to zero.
Like IN. Unlike OUT in
BASIC. Instruction OUT(n),A
where n is a one byte numerical
constant, will transfer contents
of A to external device n.
OUT ( C ) , r will transfer
contents of r to the device
pointed to by register C.
OUT is used in ROM to SAVE
things and has no effect at all
on the flags.
Output with Decrement.
Carry flag unchanged; zero flag
depends on the final result of
E. OUTD is equivalent to
OUT(C),(HL) + DEC HL + DEC B.
Output with Decrement and
Repeat. Like OUTD but with
repeat until B = 0 .
Increment ed .
OUTD but HL is
OTDR but HL is
Remove two bytes of data
from stack top and load them
into any register pair except
SP. POP AF will act on the A
register and the flags register.
Low byte is popped first then
the high. The computer remembers
that the stack is now two bytes
shorter and alters the value of
PUSH s is the opposite of
POP s. It stores the contents of
any register pair (except SP but
including AF ) at the stack top.
It alters the stack pointer
accordingly. The high byte is
pushed first then the low so
that the low part is at the top.
After a push instruction SP will
point to the address of this low
RES Alters individual bits of
any register. Set means change
to one; RESet means change to
zero, eg, RES 3,D will Reset bit
3 of D to zero. RES has no
effect on the flags.
RETurn from a subroutine.
It pops an address from the
stack top and jumps to that
address. This address can be
altered by changing the value at
the stack top, eg, POP HL + INC
HL + PUSH HL will increase the
return address by one. Vou can
store one byte of data right
after the CALL instruction, then
POP HL + LD A,(HL) + INC HL +
PUSH HL to store that byte in A
while at the same time ensuring
that the subroutine will return
to the address after that data.
Another trick is to push an
artificial return address onto
the stack and then JP or JR to a
subroutine instead of calling
it. Now it will "return" to
wherever you want it to goi RET
may be used with condtions if
needed. It does not alter the
Used to end an Interrupt
subroutine (see IM>. Its
function is the same as RET, but
RETI must be used instead of RET
because the chip does clever
things if a 2nd interrupt occurs
in the middle of an interrupt
subroutine: a DI instruction is
executed automatically when an
interrupt subroutine is called,
but there are such things as non
maskable (super high-powered)
interrupts that override even
DI. These can cause confusion
if you don't use RETI.
Used to end an NM I . Its
function is like RETI except
that the IM (altered by the NMI
in the first place) is also
restored to its previous value.
Rotate Left Accumulator.
Each bit of A is moved one
position to the left. The
leftmost bit is moved into the
carry and the rightmost bit
takes on the previous value of
the carry, eg, if A=10010101 S. the
carry was O then after RLA, A
will be 00101016 and carry will
be 1. Only the carry fla9 is
altered by this instruction.
RL RL r (which may be RL A
and be taken in error to be
RLA). Like RLA but alters ALL of
the flags; RLA will only alter
the carry. RL may be applied to
any register, not just A. RL A
does exactly what ADC A, A does
down to the last flag, except
one that you cannot get at: the
H flag. The only way to tell the
difference is by following it
with a DA A instruction. ADC A, A
is twice as fast.
RLCA Almost like RLA but not
quite. Each bit of A is moved
one position to the left and
the leftmost bit is moved BOTH
into the carry AND into the
rightmost position of A. If, as
before, A started off with
10010101 and carry was zero,
then after RLCA it will be
80101011. The carry will also be
one. Only the carry flag is
changed - the previous value of
which is lost forever.
RLC RLC r will Rotate Left
with Carry the register r in the
same way that RLCA does with A.
RLC A is a valid instruction
which is not same as RLCA. RLC B
is a valid instruction but there
is no such instruction as RLCB.
Always check the spacing. RLC r
will alter all of the flags-
RLB Rotate Left Dec i ma 1 . Do
not confuse'uith RL D . RL.D works
as follows: Urite the value of A
and the value of address (HL) in
hex. The second hex d 1 9 1 1 of
(HL) is shifted left so that it
becomes the first digit. The
first digit overwrites the
second digit of A. The second
digit of A moves to the second
digit of (HL) . Thus if A
contains 25 (hex) and <HL)
contains EB then after an RLD
has been carried out A will
contain 2E and <HL> will contain
...... Like RL A except
bits are moved Right.
Like RL except
bits are moved Right.
Like RLCA except that
bits are moved Right.
......... Like RLC except
bits are moved Right.
The contents of ( HL ) are
moved 1 hex ligit to the right,
the rightmost digit moving int£
the rightmost digit of A which
in turn becomes the left 01 1 9 1 *
of < HL ) . If A equals 25 hex and
<HL> equals EB then after RRD, A
will equal 2B and <HL>. will
equal 5E. Note that RRD twice is
the same as RLD once and vice
versa. All the flags except
carry are altered.
ReSTart : like CALL except
that it is only one byte }on9-.
But conditions are not legal and
only one of eight specific
addresses may be called: RST 0 -
power down and up; RST 8 = error
number follows; RST 16 = Print
current character; RST 18 ™ 9et
char; RST 28 = get next char;
RST 28 = start Floating Po*"*
Calc; RST 38 = make a space; RST
38 = frames counter and keyboard
Like ADC with two forms:
SBC A,r which will subtract r
from A and then Sultract the
Carry digit. SBC HL,s which will
subtract both s and the carry
flag from HL. SBC A, A is useful:
if the carry is one then A will
be reassigned FF and the carry
will still be one.
w-. The opposite of RES . SET
4,H will change the value of bit
4 of H to one. Any bit of any
register may be set.
Shift Left Arithmetic. The
form is SLA r. It is similar to
RL r except that the rightmost
bit is automatically replaced by
zero. It alters all the flags.
Note that SLA A does the same
thing as ADD A, A except that ADD
A , A is faster .
SRft Shift Right Arithmetic.
Any register may be shifted
right using the forniat SRA r.
The rightmost bit falls into the
carry but the leftmost bit
remains unaltered Thus atter an
SRA instruction bit 6 "It1
always be the same as bit 7uTh?
effect of SRA is to divide both
positive and negative numbers by
two. FC (minus four) become Ft
Shift Right Logical. As
SLA except that the bits are
shifted right instead of left
and the leftmost bit becomes
zer o .
ww- SUB r = SUB A , r . The value
of r is SUBtracted from t he A
register. Note that unlike ADD,
there is no corresponding
instruction SUB HL,s. If^.you
wish to do this you must f*rst
of all reset the carry f la9
(usually by use of AND A) and
then use SBC HL,s.
..... XOR r alters all of the
flags, resetting the carry to
zero and the A register alone r
is not altered; A is a^e^g0* to}*
by bit like with AND and OR. If
a bit is zero it takes on the
value of the corresponding bit
of r. If on the other hand a bit
is one then its new value is the
complement of the appropriate
bit of r. XOR A is very useful
since in one byte it zeroes both
the accumulator and the carry
flag. So does SUB A.
HALT This definition belongs up
above. Halt is not the same as
STOP. It means "do nothing but
keeps repeating NOP instructions
until it gets an i nt errupt .Use
EI before HALT but not BI before
Finally, I have checked thi5
summary against, the referenced
book; even so, it would be wise
to consult a good Z88 manual if
in doubt about any definition.
Ro;g>o:tr-fc from QL L,±to2rs.3rd.s.n 1990
Last year at this time the QL membership was about 20. Today, we have
a list of 27 QL members, some of whom are admittedly only Newsletter
members, but very important members at that. Some of our most active
people are Newsletter_only members. Some of our N/L only members are
our most prolific contributers. Of those 27 members, we can count 8 as
In- town members, that is those who attend the meetings on a
reasonably regular basis; which leaves 19 as Out-of-Town members. I
think the number of N/L members is 5, ( or 6) I am not too sure on that
This leaves us with 19 0/T members. I have had contact by letter with
no less than 11, with the occasional phone call thrown in. 11 out of 19
is I think, very gratifying, and indicates the amount of interest in the
QL Library. The number of letters I have received is well in excess of
fifty in this last twelve-month. Yes, I have them all on file. Yes, I
have replied to them all. (This does not include internal club letters,
or my personal letters)
At this time last year we had about 80 programs in the library. Our
library to-day, consists of over 150 programs. The improvement is not
only in the quantity, but a vast improvement in the Quality. I have
sent out, on request, about 14 full disks, some of which are 80 track
disks, and about a dozen plus cartridges. As a matter of interest, the
40 track disks are just a little more than the 80 track. With a few 3
1/2 tossed in. I will not try to count the number of programs
concerned. I could, but the end result is not worth the toil of counting
them. The most recent catalogue has generated a further number of
To go from nothing to what we have to-day is no mean accomplishment,
and I would like to extend my thanks, the thanks of this club, to all
those people who have contributed so much, in such a short time, to
the benefit of this club. Thanks to those who send in material, and
thanks to those who make use of the library That is my reward.
I am sometimes accused of being too serious, but if I were anything
else, I would not be able to do a good job. As the foremost Sinclair Club
in Canada, and one of the most powerful in North America, I believe
that we must be forever trying to improve our position, and to do that
means a constant effort on the part of every member, no matter who or
where they may be.
In Jeff's editorial in the May issue, he stated we were arguably the
strongest and richest club in North America. That is a very strong
statement to make, but it is not quite correct. With apologies to Jeff, I
would like to amend that statement. We are WITHOUT argument, the BEST
in North America.
Let's keep it that way.
Hugh H. Howie.
In the current issue of HESQLUG
Newsletter, a Member Survey form was
included, and in the process of filling
it out, and adding a few remarks, I came
up with an idea, and I don't know why
someone has not tried it before, and if
they had, why it did not work. Perhaps
there is someone out there who can give
me the answer. All comments will be
welcome on this subject.
Ever since I started using the QL, I
have been looking for some instruction
on SuperBasic Programming. Ho one in my
immediate circle would seem to have the
necessary knowledge, and yet I know
there is a thirst for this instruction,
I know there is a desire for this
Here is my idea, I will throw it out to
the winds and see what blows back. I
will publish the results in this column.
Is there anyone out there willing to
start a correspondence course in
SuperBasic ? Make a few bucks?
Each lesson or group of lessons would be
accompanied by a test paper. Payment of
say $5 for each test? Too much? Too
little? If you have an opinion write and
let me know. If you would be willing to
provide the service, write and let me
know. I am willing to bet there are a
number of takers out there, but if you
do not tell us your opinion, then
nothing will be done. This may be your
last chance to get something going.
The idea may not be viable, but if you
do not take this opportunity to make
your views known, you may never get
another chance. Anyone interested in the
use and in providing this service, would
you please write me giving me your
opinion. Do you want to learn SupeBasic?
As I have said, the results HILL be
published in the next issue of this
Newsletter. — Don 't delay — firite today.
Hugh H. Howie
586 Oneida Dr
There are many wonderful little things
in our QL Library, and few are aware
that they are there. Here is one of
those gens, complete with the doc file
which goes with it.
"DISOE.JAME" by Real Gagnon.
CHANGING THE NAME OF A DISK.
When you format a new disk, you can
assign a name to the disk. But it is
impossible to change this name after
the disk has been formatted unless you
reformat the disk and all the data on
this disk will be lost.
The following program will correct
this situation. You can now rename a
disk without having to reformat this
disk- .„ u
When you run the program, you will be
asked for the number of the disk drive
(e.g. 1 or 2 )." This program will
only work with disk "" floppies "" and
you can not rename microdrive. " The
program will then display the name of
the disk and will ask you for the
proposed name The limit is 10
100 REMark DiskJtEJiame
110 REMark by Real Gagnon
130 REPeat loop
140 PRINT #0,"Disk Drive Number :- 11 ! ;
150 IF d$ INSTR '123456789': PRINT
#0,d$: EXIT loop
160 END REPeat loop
200 PRINT#0 , "Present name : " ! a$ (5 TO
210 INPOTS0, "New name : " !n$
220 LET a$(5 TO 15)=n$
This is a reprint from the last issue
because this article was badly copied.
The C Page
By Timothy Swenson
Last month we looked at a simple program. This month we
will look at how to do input and output in C.
C has no built in input or output commands. Functions
are called that per-Form input and output. Last month we used
the function printf. This month we will use the function
getchar. Getchar gets one character from the standard input
channel, the keyboard. The input from getchar is assigned to
an integer variable.
The opposite function is putchar. Putchar puts one
character to the standard output channel, the screen.
Putchar takes in a single integer variable.
Take at look at program number 2. The program gets a
character from the keyboard, then while the character is not
a lower case q, the character is put to the screen and
another character is read in.
This program takes characters entered from the keyboard
and echos them to the screen. Getchar does not echo any
characters by itself.
Any assignment can be used within an expression. Look
at program number 3. With the assignment statement inside
the logic of the while statement, one extra line can be left
out. The assignment will be executed before the evaluation
on it is performed. This shows you how C can become more
compact (and more unreadable) •
Since we are on the subject of input/output, let's take
a look at string input/output. C does not have a string
type. You have to use an array of characters. Since there
are no string types, there are no string manipulation
commands. Instead there are functions to do this.
Look at program number 4. The variable string is
defined as an array of 20 characters. Now a call is made to
the function gets. Gets is short for "get string." This
function gets a string from the standard input and assigns it
to the variable string.
Now in the while statement a comparison is made to see
if the string is of length 0. Strlen is a function that will
return the length of the string. If the length is greater
than 0, the string is sent to the standard output with puts
(put string) and another string is inputed.
A lot of necessary functions are included in the
standard C library. Most commands in basic have an equal C
function. Plus you may write your own functions and add them
to the library. There has always been a problem that not all
C libraries are equal and some programs may not be ported
from compiler to compiler.
Next month we mil look at how C handles files.
/* Program 2 */
#include <stdio h>
c — getcharO;
while ( c •= *q*) C
putchar (c) ;
c = getcharO;
/* Program 3 */
while ( (c = getcharO ) •= *q') <
/* Prog 4 */
gets (string) ;
while (strlen (string) != 0) C
puts (string) ;
gets (string) ;
olume 1, Number 1
February 19, 1989
A review by Greg Popovich
It has finally happened! Fellow LKDOS users, It has finally
come to pass that the 2068 has finally gotten not only a
terminal program BUT a BBS that will bring us into the 90's!!.'
What would you say to a terminal program that will handle
both the Z-SIO AND the 2050. Either recieve or send a file up
to 110K DIRECTLY TO DISK. Have a 64 column display that CAN
handle 1200 baud without losing characters. Can move either
headerless (TSXmodem/Mterm2) or header type (Specterm 64) files
whether they be Basic or Code. With a choice of 128, 512 OR
1024 byte block protoco 1 (Checksum) . And, ALSO display IBM
Hercu 1 es (Monochrome ) graphics ! AND has a BBS built right in!
You'd say I must be dreaming! WRONG! It is TRUE! It is
REAL! I couldn't believe it myself. Being a seasoned modemer
and BBS sysop I've gotten used to using Telix on my Clone to
get around the BBS world. I've used all of the terminal programs
that are available for all of the Timex's, and IBM & Clones.
My tastes for terminal programs are sweet. I judge a program
not only on how it looks, but on how well it performs and ease
of operation. MAXCOM has it ALL! MAXCOM consists of 2 large
Basic programs (one for the 2050 and one for the Z-SIO) as well
as a 7K code file. When loaded it will display a Main Menu.
From there you can go to the Terminal Mode or run the BBS.
Also from this menu you receive and send files, select Xmodem
packet size, load the BBS message base, Catalog a drive, toggle
duplex, set the modem parameters, close or open the buffer
(write to disk also!), dial the modem, and hangup the phone.
You can, in the terminal mode, send the full ASCII control
character table to the other computer from ACK to NAK. The
terminal mode has a 64 column display that you can read without
eyestrain. You also have a status bar at the top of the
screen telling you your setup and whether or not you are
online. Also, an added feature is that you can access up to
4 MacroKeys that you can utilitize.
Being a Sysop of a BBS (I use RBBS on a Clone). I can safely
say that this BBS is one of the most advanced BBS's for a
Timex computer. I once ran one on my 2068 but soon found
that 64K, 3 800K, 1 400K floppies and 256K of Ramdisk wasn't
cutting it for me. I started with TInyBoard and worked my
way up to Casboard. I also ran modified versions of
Casboard by James Rod 1 in and myself (don't get me wrong, I
still use my 2068! (Like typing in this review) Sometimes I
cannot even get on my own BBS!). Well MAXCOM' s BBS you can:
The Timex/Sinclair Electronic NewsLetter
Volume 1, Number 1
February 19, 1989
Use 300/1200 baud operation
Have Passwords, Security levels, and Time Limits
Multiple Messagebases with search
Downloads, and Uploads without memory constraints
Help files and Bulletins
Access to LKDOS from Remote
Interrupt driven hangup and timeout watchdog
A user log of the BBS activity
Dual Window monitor screen
Can be easily customized and expanded
Some of the features until now you only saw on the Big
till boards. Like the Watchdog and access to DOS. You can
Blue Doar". t t setup y0ur opening screen and
Sune^ns' You "So have to do some customizing to start it up,
like let it know how many drives you have. But for the most
plrt nil much has to be done to be on the axr >n under an
Ko„^ To assist you in setting up the BBS, Larry mciuueu
6 rEdilor^o^etup your screens and a deluxe file manager
that can MOVE individual files to different *lsks V^!"*
in itself). The error trapping is the most advanced fea ore
o? the BBS. MAXCOM uses 2 interrupt traps to trap almost
anything that a user can do to crash a BBS (like dropping
carMerto falling asleep behind to console).
If an error occurs the interrupt routines v 1 1 correct u
by e^ing RUN 9230 (just as if you ^P«- i**".^^ er,
to reboot the system. These routines can handle lost
ti-eout timeup and Basic crashes. The operation of the BBS
is simple to both the Sysop AND the User. This BBS comes a
ong fro. the days of 1 messagebase 20 messages
Board and 300 baud only operation. For the *25. 00
you get more than your moneys' worth -^h this projrt..
This program will work with the straight LKDO. sytem or
LKDOS compatab 1 e setups. I've thoroughly tested MAXCOM and
—found it to be 100% bugfree (but a few minor mispe 1 1 ings ) .
The program is available from:
RR §2, Navan, Ontario, Canada K4B 1HS
RMG Enterprises (503)655-7484 Noon-10PM
1419 1/2 7th Street, Oregon City, OR 970At> iava*va=>
Pacific Time * Tue-Sat
P. 0. Box 2186, Inglewood, CA 90305
a ^ or urite your favorite dealer at the abt
For more information, call or write yuui
numbers or addresses, or myself ats
C/08 Thr^S.I .W.Y.G. RBBS FidoNet 1:lB7/564
^L"9stfssrUo':era(^l>9sI-77«3 <BBS 8-i-N 3../12H/24M BPS,
Taken from THE PLOTTER, the nil of the Clackamas County T/S
by hugh h. howie.
A couple of months ago I decided I
would like to try this wonderful new word
processor, text87. So off went my bucks,
(dear dear) and back caste the word
Now I don't know whether to laugh or cry.
This darned thing is so complex I hardly
know where to start with my diatribe. It
is so easy to get into a rut, and this is
what happened to me, I git into the most
gol darnedest rut you ever saw or
imagined, and even now I can't get out of
This pesky text87 (no capitals please,
we're modest) is the most habit forming
thing I have seldom, rarely, ever come
across. It gets into you, it gets under
your skin, it bugs you. Night and day you
think about it, until there is no other
program on the QL you want to even look
at. You waken up in the middle of the
night and say to yourself, "I must try
this in the morning, N you look at the
clock, and by golly it IS morning.
(3.15AM) so as it is morning, you have to
have a go at your new toy.
Type F3 and you have a whole string of
commands at your fingertips, all operated
by the- initial letter, the reaction time
is instant, no waiting. Each keypress
opens up a new string of commands, and
then another. You are gently led from one
stage to the next.
To scroll from top to bottom or bottom to
top, is adequately fast, giving you time
to have a look at what passes on the
screen. If you want to get there in a
hurry, that is how it can be done,
instantly. Select a page? Done. Select a
line? Done. Fast is the word for text87.
Change from one fount to another in mid
sentence is easy. To change an already
completed document in part or in whole,
from one fount to another, is no problem.
Even a Block in the middle can be changed
in like manner. You can type a document
in Elite, and when ready to print it, you
can do so in Pica Italic Double Width
underlined if that is your thing. I hate
to think how it would look on ^ paper, but
it can be done.
To change from one page width to another
is done with the Ruler command, this can
be a trifle tricky but with a little
effort the way to do it becomes second
nature. Tabs and Margins are set up from
the Ruler command, can be retained in
memory, and switching from one to another
in separate parts of a document is only a
'Tis a pity that the Ruler and Layout
commands are not closer together so that
you could set them both up at the same
time instead of two separate procedures.
Print-out can be obtained in up to four
columns, I find that two is ideal for
Newsletter work. If your text will not
fit inside the Ruler you have set up, you
are told so as soon as you ask for a
print-out; then you have to adjust the
Ruler width, (or layout width) but this
is really no hardship in the general run
of things. After changing the Ruler width
you can Reformat the whole thing to
ensure proper spacing is maintained.
On occasion you will find that a two
column width does not go onto the paper
completely, leaving an odd line to go to
the next page, once again no problem. Go
to the Layout command and alter the
length of your page. text87 makes all
other adjustments which are necessary.
There are so many Founts, and Options for
the founts, there is no need for other
founts to be brought in, but this can be
done. Each printer Driver has its own set
of founts, sufficient for most needs.
Quill files, ASCII files or practically
anything can be imported without too much
trouble, a little editing may be
required, but so simple.
In the latest text87, the one I have,
Qtyp Spelling Checker is included. Now I
don't like to rely on spelling checkers
as I like to think I do not need one, but
when you type a document and edit it,
correcting as you go, then use the
Checker and find an error you have
overlooked, then Qtyp is a very nice
thing! Qtyp, as supplied with text87,
will not correct an error, just points it
out, but the correction is no real
hardship. You- just stop, make the
correction, re-activate the checker, and
carry on; Simple. You can even make your
own dictionary if you wish.
I can not cover all the points of this
program, just how I see it, but there is
one thing I have a problem with, that is
the header and footer section of the
Layout command. Perhaps I am a bit thick,
but I can not surmount this problem. It
just don't work for rae, yet other folks
have no problem. As soon as I write this
the answer will probably come to me. I
It could be my printer, but I find that
in many cases my printer head rattles and
jumps all over the place, not in all
cases, just in some, and this I am
working on. The problem would appear to
be when using right justification. With
no justify the printing appears to be
smoother. Perhaps I have not hit on the
correct driver for my printer. This
column is being printed with FX80DRAFT
and the head is bouncing back and forth,
the wear must be excessive. There are
ample drivers to select from. I try to
use that which works for me. You see, I
have a choice. To be perfectly fair, I
oft-times think the problem is more me
The manual is not the best, but then
again it is by no means the worst. I feel
that a little time spent with actual
screen-display-on-page would be
advantageous. With a little more detail
as to how to achieve a certain
fcject/ target. The Commands and secondary
commands are not too easily separated on
the page, so what I did was draw a line
down through the Commands, with another
line down through the secondary commands,
then the third commands. Makes for faster
and easier reading.
My next step was to use text87 to make up
the commands in columns, First, second
etc, and quoting the page number. Printed
out in small print, mounted on cardboard
similar in thickness to the manual cover,
this can be but-mounted to the back cover
of the manual using cloth tape, and be
used as a foldout of the commands. The
way I did it has three foldout pages, and
it lies flat in front of me as I work.
bound set up, which lies flat at all
times, and does not close up, or the
pages curl up in use. You see, Software
87 have realised that the manual will get
a lot of use, and have used a VERY heavy
paper, almost light cardboard. Really a
great idea, as this manual is going to
get a lot of use, by me anyway.
At one time if I had been asked if I
would purchase this program again, I
would have said probably not. Now that I
have persevered with it, and am gaining
confidence, I will state without any
reservation, yes I would buy it. It is
not the easiest to learn, but once you
start to really get into it, you find
that you like it more and more.
There is so much flexibility about
text87, I cannot imagine where the
variations stop. It is not an editor or
DeskTop publisher, but it comes close.
There is only one way to assess what it
does, you must try it for yourself. Oh
sure, you will have to work at it, but
the reward is worthy of the toil. And
the more you use it, the more inquisitive
you become about what it can't do.
Most folks do a little Quill-bashing when
discussing word processing, not me. I
like Quill, it is simple to use, easy to
learn. Not exciting, but does a job. Sure
it does have problems, but I still like
it because of its simplicity. But, if you
like excitement and exploring, you must
try text87. If you like wide open spaces,
and room to move around, versatility,
control of how you want something done.
Give me text87.
The main thing is to get to UNDERSTAND
the programme, and what it is trying to
Yes it is true, I find myself using
text87 more and more and more.
Where did I get this text87? Why from
EMSOFT of course, and Peter Hale has been
most encouraging with help and advice.
Like the saying goes:- "A farmer is a man
OUT STAND INS in his field"
So also, is text87. OUTSTANDING.
Talking about the Manual. This is a wire
FROM MEMBERS' LETTERS
One of our members, Steven Gunhouse, writes to me
with such interesting material in his letters that I
am excerpting some of it for our newsletter.
I have been attempting to save NMI^type programs
from disk to tape, and mentioned difficulties I was
having* The following is Steven's suggestions on how
this might be done. Some of his ideas may prove
useful in other applications. G.F.C.
Since I happen to have it in front of me, here is a piece
of code that might be useful for your NMl-save to tape copy
program. I had written it for other purposes - part of my work
on transfering files from AERCO to LKDOS - but you will find it
easy to use. Essentiallly it is just a modification on the
first part of MOVE .CI to drop the headers and copy to the right
LD HL, XXXX
LD DE, 2022
LD BC, 000A
LD (2020), A
LD A, 2020
LD A, #0B
LD (2002), A
LD HL, 2045
LD A, (HL)
LD (YYYY), HL
LD (201D), A
CALL 0 07E
LD HL, 2072
LD DE, ZZZZ
LD BC, 0016
LD HL, 2088
LD DE, (207C)
LD BC, (207E)
LD HL, (YYYY)
LD A, (HL)
JR Z, +17
LD (2039), A
LD (YYYY), HL
LD A, (2039)
(wherever you have the name)
(LENGTH OF NAME)
(SET A TO 00)
(FIND DIRECTORY ENTRY)
(FILE NOT FOUND FLAG)
( RETURN IF NOT FOUND)
(GET DIRECTORY ENTRY)
(FIRST ADDR OF TRACKS)
(FILE EMPTY I )
(TRACK TO LOAD)
(START OF NAME IN HEADER)
(LENGTH OF HEADER)
(START OF BLOCK)
(START ADDRESS IN HEADER)
(BLOCK LENGTH IN HEADER)
(IF DONE, TO ??70)
( STORAGE )
(STEP TO NEXT TRACK)
(GET TRACK AGAIN)
65: 21 ID 20 LD HL, 201D
R • RE CP ( HL)
69 : 20 F4 JR NZ, -OC (NOT CORRECT TRACK - LOOP)
6B: CD 00 7B CALL 007B (READ TRACK)
6^ 18 D3 JR -2B ( AND REPEAT UNTIL DONE)
70i etc etc. (set up for tape save, etc.)
^dresses vou will have to choose to be
There are three v ou are . 10 bytes for the
some appropriate safe P°^ion.i ne £or a
name, 22 bytes for the disk header into, an i ^
pointer. Of course you c " the »«• /2 „ tes of the
and block header. I actually left ou tra£.k numfaer_
block header, since you von t need th e ff
you will ne«Vhe\asty2 bytef of the healer (the total length),
address) and the last 2 bytes or ^ stack is> or
Naturally all of this does not or 2Q68 mode. You
whatever, so it ; . " get into this routine
will have to ^ve the f b"£" £?y ignored. Sorry, change
regardless, something I "^""P** aDBr0£riate branch to
all of those RET Z commands to some appropriate
"^For'youfpurposes, the whole point of this routine is that
it wiU completely load a file without trying to run It.
Therefore it defeats the autorun aspect of an NMI Save, and
TL^8^V5hrsss «•*?.... and used
toll sort of appropriate description above.
I mentioned last time that if you did ^f^J^ loader
NMI -Save to tape copier, you would ^^^StUn 0n the
SLS^SJTiS'SI.'Sitr- S hand^bur I can tell you what
Vil1 11 wThThe-copy to tape program the first thin, , you will
have to do is put the stack in . Pla« ' th™taSS.r<J tape
major difficulty, however, since 1£ v°" 1 n,t £lnd3 on the
routines it will print to the screen whatever it f in^ ^
tape. As usual, you have 2 choices . "J* t t0 be a blank
printing ineffective by °«flnln?/v"Kiv rewrite whatever parts
and setting OVER 1. Or you could " probably the
you need and leave out the printing to the screen « ^
easiest way is to presume the NMI-save is ad the
loader, so you won't need to look for it, so :>ust
header and code block directly. succeed in
The hard part, so to speak, is that once y
loading it, you will have to reverse all the register
were done in the original NMI ~ a.Y*' , j[ a file of length A826 (at
coes automatically whenever it inds a le of ^g.^ ^
ipast in version 2, that s now it
executes then consists of the following:
ED 7B FB 57 LD SP, (57FB)
Fl POP AF
Cl POP BC
Dl POP DE
El POP HL
Fl POP AF
57 LD SP, (57FD
LD A, (57FA)
LD I, A
JR Z, +02
LD A, (57FF)
JR NZ, +01
This is the routine from LKDOS at address 01DD (hex)
adjusted for the presumption that it will not be running in the
cartridge. ^ ^ ^ ^ tQ teU . or presume naturally the
interrupts will need to be disabled before you load from the
Turned out to be rather a long P.S., didn't it. I happened
to be examining the cartridge ROM, and recognized this routine
for what it was, and thought you might need it. Then again, you
might have already known where it was - the 01DD is of course
for this version, but it is probably pretty near there in yours
BIDS DMMSEDDSQ HMDQ by tom skwinsm
Corporate Sterns Center, 73© North Pastoria Ave, Sunnyvale CA 9*085
Selling! 720 K 3,5" Drives for S38,ea.i S28,ea, in Quant, of IB
PROFILE+5'i Profile update, Neu Features, Rvaliable fron RMG ENTERPRISES
1419 1/2 7th St., Oregon City, OR 97045 (Phone 503/655-7484)
users manua. nvaiiab.e From Tom moods ■iB.m c mmK RWB For Toms- address.
UPDRTE Computer systems, Quarter iy masaeine Far finMlR computers,
covers disK drives Far aur machines, , ,, and is $15, 00 P'^p^Kn™' ar
Peru in MB310 Subscribe nam Far the upcommB year ( starts nent ysar
with the issue due put aFter this current one) contused ? ■■■■»r^ ^em
FRIRIURRE mi Fiisht Simulator For T5-30BB by 0"K fthtnn available From
Bob SiuoBer,, 513 ParKside Circle, Streamwood IL 60101
COWDDRE 1351 mouse may be used with T5-S05B iF yo u have a LRRKEn d .sK
jPil,B rnnTrnllPr. use thE LarKen uDysttCK port and no Id The muni, dulllii
feile wine up tte TS-aSBB, I alio heard the CoCo mouse also uirKi
Try it uiith HrtuiorKs and Art Studio proErams, I he I i eve thE price For
Smtnadore muse is about $3H, 00, , . checK prices berore buy .he
fuORDHfiSTER and PIXH. PRINT PRO]
^ . . ' J
JULIUS CAESAR said
'omnia gallia est in
tres partes dWisa'.i.e.,
in English: All Ganl is
divided into three
MCMXC 2 4SEF
THE UNITED STATES
Some notes on using uordmaster
for its excellent graphics.
The Seith-Corona Fastext 80
rinter lacks several crucial
ttures needed to
ORDMASTER work proper ly,a
set; Printer reset ;
inadequate bit iaage graphics;
to naee a few. If your printerl
siailar drawbacks, all is
noi xost. Graphics can ______
and saved, then iapprted into
Pixel Print Professional. The
exaeples above show excellent
large fonts that can be used
to enhance desk tog publishing
coluens. Outline, Roaan. lata
Light and Stadiue are shown;
bold and italicized versions
are optional. The U..S.A. mmw
is froe Steve Spalding's PI X
Hints For Timex/Sinclair Users
by G.A. Smith
The following tips, hints and tricks
are for your T/S 1000 & ZX81 and the
T/S 2068 color computers.
T/S 2068 Hints And Tips
The T/S 2068 can use the bottom 2
lines also. You use: PRINT #0;, or
PRINT #1;, or PRINT #0; AT 0,7, or
PRINT #0; TAB 5;. The # symbol must
be used to print on lines 22 and/or 23.
A PRINT #0; AT 1,5;, will print on line
23, five spaces over. To clear the bot-
tom two lines only, use the command
INPUT " " without the semi-colon and
without the variable.
If you miss the good old automatic
scrolling on your T/S 2068, then here
is a solution to your problem. Use
POKE 23692,-1 or POKE 23692,255
to get an automatic scroll feature. You
POKE 23692,1 to turn it off.
Do you have a little machine code
program you would like to type into
the T/S 2068 for your use, but don't
know where the first available byte is
located in your RAM? If you have a
line number, then REM, the first avail-
able byte after that (and your start loca-
tion for your machine code program)
On the T/S 2068 you can "copy pro-
tect" your program by:
1 GOTO 3
3 program starts here.
Start your program by using RUN
9999, with that line reading:
9999 ON ERR GO TO 2 : SAVE
"program's name" LINE 1
Did you accidentally "copy protect'
a program and for some reason want
to look at the LISTing? Well, you can
load and stop any BASIC program by
typing: MERGE "program name." The
program will load into memory, but
won't run automatically.
On the T/S 2068, if you want to
duplicate a line in order to slightly
change it, or even have it as another
line number too, then backspace to the
left of the line number. Put a single
quote mark " there. Move your cursor
to the right of the number, then rub
out the number and replace it with the
new one. This technique works with
line number and every command and
statement except for the "THEN" com-
mand. "THEN" just won't rub out!
T/S 1000 And ZX81 Hints, Helps,
Have you got 16K RAM or more
hooked up to your ZX81 or T/S 1000
and you're still using the byte saving
techniques you used with only IK or
2K RAM? Techniques like:
10 LET T = 25
20 LET Z = T
30LETV = T
Well, normally you will have more
than enough memory to run your pro-
gram. This space saving technique,
though necessary for computers with
limited memory, is not needed for the
16K RAM and larger memory
"If I can save a byte, why not?" you
ask. Though you save a byte or two,
you lose program execution speed! Your
programs will run faster if you do not
use the byte-saver techniques.
If you want to check to see how much
RAM your program is using in your
ZX81 or T/S 1000 then type:
PRINT (PEEK 16404 + 256'PEEK
Would you like to use the bottom two
lines of your display? POKE 16418,0
allows you to use the bottom two lines.
Be sure to POKE 16418,2 before you
use INPUT or SCROLL. If you don't,
then you'll have a nasty display
CRASH, plus you will have to reboot!
If you have a line number 0 (zero)
you cannot accidentally delete, erase,
or replace it. You can have a line
number zero by:
(A) enter your first line as usual, or
load your program.
(B) POKE 16510,0. Your first line
is now zero.
(You can still POKE into line number
Try thisl Enter two or three lines,
REMark lines will be alright. POKE
16509,n (let n = any number from 40
to 60). Now list your program. Look
what happened to the last line you
entered! Enter another line. List the
program again. Your "funny" num-
bered line moved! This technique is
great for putting information in your
program that you don't want deleted
ZX81 and T/S 1000 users, if you want
to show off for all of your friends, in-
stead of using the COPY command, use
PRINT USR 2153 to get the same
Screen Control For The T/S 1000
You want to control the screen for
your program, right? In this section,
you will learn how to put the computer
into slow, clear the screen, then fill it
with whatever character you want to
display, all using super fast assembly
language. Also, as part of screen con-
trol, you will have machine code
routines to scroll the screen up, down,
left, or right!
The T/S 1000 and ZX81 don't allow
DATA statements. By carefully study-
ing the machine code loader program
you will leam-how to simulate READ/
DATA statements!' '
You'll need to make your first pro-
gram line a REM statement line with
as many characters in it as the assembly
routine you plan to use. At the begin-
ning of the program area is where
machine code is stored for our purposes.
This REM statement line will need 24
characters in it. Or you could use the
formula PRINT LEN A$/2 to findout
how manv to use.
First, the machine code program sets
the computer to the "slow" mode, clears
the screen, then fills the screen with in-
verse spaces. You may change this
character and I'll show you how.
Let's get the "machine code loader
program" into our computer. Your
machine code loader program is as
10 REM 12345678901234567890-
20 LET A$ = "CD280FCD09863E-
30 LET A = 16514
40 FOR Q - 1 TO LEN A$-l STEP 2
50 POKE A, 16*CODE A$(Q) +
CODE A$(Q + l)-476
60 LET A = A + 1
70 NEXT Q
Line 20 is your "DATA" statement
line. As much as I hate HEX numbers,
I've had to use them for this applica-
tion. Some of the numbers are single,
double, and even triple digits, POKE
VAL(A$(I)) can't be used.
The string assigned earlier to A$ is
the machine language routine. The
CD280f calls the slow routine from the
ROM. The CD0986 calls the "CLS"
screen routine from the ROM. The rest
of the routine fills the screen with the
inverse space. If you want to fill it with
the period, POKE 16521, 23. On
POKEs, use the decimal value, never
HEX. POKE the code of the character
you want to fill the screen into 16521
then "call" the routine. (Use any of the
In your programs use PRlls i usn
16514, RANDOMIZE USR 16514, or
LET A = USR 16514 to call the routine.
All will give you the same results. Just
one word of caution though, if you are
using the variable A in your program,
then one of the other methods may be
better suited for your program since the
value of A will be changed.
Would you like to know what char-
acter is at the next print position? Here
is a routine that you can use to do just
that. Let line number 20 be A$ = 2A-
0E404E06C9" and use the machine
code loader program.
Have a program with lines:
PRINT AT X,Y;
A = USR 16514
[PRINT LEN A$/2 will tell you how
many characters this routine needs. You
have to adjust the address (16514) if you
use previous screen fill routine. If you
did use it, then your REM statement
would have to have 36 characters and
use the following as A$:
A$ = "CD280FCD09863E800617-
04E06C9" you'd use USR 16533 to ac-
cess the next place routine.]
The PRINT AT X,Y; (use your
variables for "X" and "Y") is needed
Re sure to put the semi-colon at the end
of the "PRINT' statement! The variable
"A" will be the CODE of the character
at position X,Y on your screen. Your
program will then decide if the next
character is a "safe" spot, or whatever.
You've got this great idea for a game,
right? The onlv thing holding you back
from writing it, is the fact you can't
move the screen sideways, or up, or
down. Well, here are four programs
to help with just that!
You'll need to make your first line
a REM statement line with as many
characters in it as the program you plan
to use. The up-scroll uses 24 bytes, the
down-scroll uses 29 bytes, the right-
scroll uses 21 bytes, and the left-scroll
uses 26 bytes. In case your solar
powered abacus is on the fritz, that's
a grand total of 100 characters You
could tell vour computer to: PR1N 1
24 + 29 + 21 + 26 to get the same
answer. Try it!
Use the previous machine code loader
program to convert the REM line into
I generally use PRINT USR to ac-
cess the machine code routine. That
doesn't mean that you cannot use LEI
A = USR 16514, or RANDOMIZE USR
16514. One works just as well as the
other. However, when you use a routine
that is to return a value to your BASIC
program (in this case the variable A),
such as the next print position routine,
then you will have to use the form: L±-i
A = USR 16514 to get the value into
your variable so your BASIC program
can work with it. Of course this USR
address "call" is not 16514; that address
wtsSd only as an example. Eachstep
of the way I'll tell you the correct^ ad-
dresses to use for each assembly routine.
A$ = "2A0C400616C506203E00234-
A$ = "2A1040114300ED520616C50-
You can use any, or all, of these
routines to move the screen as you wish.
Rut remember to put enough characters
in your REM line and to use the cor-
rect address for the routine you want.
If you were to use all four, then:
PRINT USR 16514 would scroll the
screen up one line.
PRINT USR 16538 would scroll the
screen down one line.
PRINT USR 16567 would scroll the
screen right one space.
PRINT USR 16588 would scroll the
screen left one space.
If you have these four routines, then
tack on the screen filler at the end and
next print position routines, you 11 have
136 characters in the REM statement
line. The screen filler would be accessed
by: PRINT USR 16614 and the next
print position routine will be Lb l
A - USR 16621.
With these programs in place, you
should be able to do just about anything
you want to with the screen on your
T/S 1000 or ZX81. Now, can you come
up with the applications to use them.
May you have many hours ofhap-
py computing with your T/S 1000 oi
COMPUTER SHOPPER, SEPTEMBER 1988
Press Enter BBS SOFTWARE BY LARKEN ELECTRONICS
SIR CLIVE'S CASTLE BBS
ZXCVBNMSSP ! LKDOS
NOTE: (613)-745-8838 - Ed.
NOW RUNNING AT 1200 AND 300 BAUD
Ctrl-S to Pause, Ctrl-Q to Restart, (Cap Shift) Z to Abort
Special Welcome New Members: Rod Humphreys, Robert Cazares,
Greg Popovich, Charlie Day,
and Bruno Gagnon!
Sir Clive's Castle BBS is dedicated to all serious users of Sinclair computers and
provides upload and download facilities for the Timex/Sinc lair 2068, ZX Spectrum
emulating Timex/Sinc lair 2068 and the Timex/Sinc lair 206e running the Zebra OS-64
Your sysops are: Michael Dove — BBS Hardware And David Solly — SIG's & Library
This BBS operates free of charge, however; complete access is restricted to
registered and verified members only. Membership applications and enquiries should
be made at the Sysop's Message Base or in writing to: Sysop, Sir Clive's Castle
3BS, 1402-1545 Alta Vista Drive, Ottawa, Ontario, Canada. K1G 3P4
Hours of Operation Sir Clive's Castle BBS is in operation 24 Hours A Day
BBS Software: LARKEN MaxBBS for the Timex/Sinc lair 2068.
Supplied by Larry Kenny of LARKEN Electronics
RR #2, Navan, Ontario
Canada K1B 1H9
20 June 1990 SYSTEM NEWS AND WHO FILES
Two information files are now available on-line and may be read from the Main Menu
by using the " (P)rint" command or downloaded by using the (D)ownload command.
""hese files are: NEWS.CT: System news, Bulletins and Announcements;
and, WHO.CT: The current Sir Clive's Castle BBS User/Membership list.
:?EN ACCESS ===========For a short time I shall be opening the system with a
special log-on and password so that all callers may have access to the messages
bases and the up and download area.
When asked for your name type: Special Guest
When asked for your password type: Clive
"f you have already been assigned a log-on and password, please use it. u you
•ike this BBS and plan to be a regular caller, please apply for an individual
password which will allow me to identify callers and to keep the stats necessary
for efficient running of the system. ^ .
How long this BBS remains open and whether this becomes a permanent se--up aepencs
solely on the conduct of the callers — I sincerely hope that that is enougn saic
cn the topic .
Meanwhile, Enjoy your visit. — David Solly, Sysop 20 August 1990.
User list: BOULT, MARC EL \ BRANDON , ALVARO\ CAZARES , ROBERT \ DAVIS , MIKE\DAY ,
"HARLES \DOVE , MICHAEL ( SYSOP) \DOVE, SYDE\FOSS , LEO\GAGNON, BRUNO\ GAGNON ,
^EAL\HARMER , EILL\HILL, PAUL\HOLDEN, CLEM\HUMPHRES , ROD \ KEN NY , LARRY\KENN"i ,
JOHN\SCHIMX£, ROBERT\ SHADE , ROBERT \ SOLLY , DAVID (SYSOP)\TEN HOLDER, IRIS\WARD, Tin
File Library Help
An option called "File (L)ibrary" has been added to -.he 1 h.lp files J*ieh ~y be
reached by typing "H" at the Main Menu. This option prints a detailed 1 isting of
all the files^ava^ilable for downloading at the time of posting. The file itself may
£3 2 ssss «'rir as»E?aS5 Hi
Pascal Programming SIG
David Solly, your f r "end ly=sysop=at=Sir^ live' s Castle BBS, would like to create
TxTp/c^ U.^l^'S hP f
best to exploit the HiSoft Pascal package, programming problems specific to HiSoft
Pascal! and Pascal programming itself. Those of you "^"interested may leave
a message at the Sysop's Message Area or in writing to: By sop. Sir Clive s Castle
BBS, 1402-1545 Alta Vista Drive, Ottawa, Ontario, Canada, K1S 3P4
A reminder that there are a number of Pascal source c°*\J\}%%r£t\fs\%°n ***
Up/Download disk. Pascal files can be recognized by their .PS extension.
TS 1000 File Transfers
The svsons would like~to~welcome any of you who have called the system using the
Timex/Sinclair 1000 or 2X81. He regret that at the moment we can not supply you
wi?h fuTtrWei facilities and would like to make a special request that you do
"J .£*„Lt to do file transfers using the unmodified version of Wymil Mini-X-Mode
Sfhlve'tLVed th/ K^muTini-X-Mode 'package extensively r on this : BBS and ^ave f ounc
that not only will it not transfer files but is more than likely to cause a sy-tem
We"ave also had little luck with Fred Nachbaur's ZX-Term*60 modem package which
uses a high resolution SCRAM board. Although we have been able to get programs to
usino ZX-T»rm*80 we have not been able to download anything. If any of you
know of a fix for'either one of the above packages or know of a new modem package
for the TS 1000 we would "like to hear from you.
UPDATE ! MAGAZINE
Update! Maaazine is still alive and well although Bill Jones has stepped do.n a.
publisher." The new publishers are Frank and Carol Javls;
Subscriptions to Update! are US$13 ana should be mailed to.
P.O. Box 1095
This i« about the last of the great Timex/Sinclair magazines, folks! When it
is gone there wUl be no more so show Frank and Carol your support ny subscribing
and mailing in those articles and programs^ ^ ^ . *
Taken from the Oct 1990 issue of SWYM, the newsletter of the
Seattle Area T/S Users Group.
IDefauli dwiea on the oil
Say you are writ ting a program and It Is
Important to know from which device the
user l« running It. What can you do?
If tht uttr't QL It equipped with
TOOLKIT II, then It Is possible to set
the default devices for the program and
the data and retrieve them with the
functions PROCDS and OATADi. But If the
user don't set default devices then we
are out of luck.
One solution to this problem Is to look
In the system variable area to determine
from which device the QL was booted. The
following function, B00T.DEUICE*, will
retrieve that information.
DEFlne FuNctlon BOQT.DEUICE*
po Inter 1-PEEK.L (164096) +16
po Inter2-PEEK_L <po lnterl> +36
FOR i«8 to length
bt-bSfcCHRS (PEEK < 1+ leng th+po in ter2) >
END FOR I
The first variable, P0INTER1, contains
SU.FSDEF which give us the address of
the file system physical definition.
From this address, we read the variable
P0INTER2, called FS.NMLEN In the QL
TECHNICAL GUIDE. This word gives us the
length of the boot device name. From
that point, all we have to do Is to read
the device name with the PEEK function.
Type in the function B00T.DEUICE5 and
try the following command to test Iti
PRINT "QL booted from " |B00T.DEUICEl
For txample, the BOOT.DEVICES function
can be used In a menu program to detect
from which device the QL was booted
To load a machine code file In memory,
we have to proceed in 3 steps i
1 . reserve some RAM w I th RESPR
2. load the file with LBYTES
3. execute the machine code with CALL
For example, we have a game called YOYO,
which represents 5080 bytes. To start
the gams, we typei
CANADA H2P 123
It is possible to do the same thing with
only 1 or 2 commands.
-with TOOLKIT III
-without TKII i
LBYTES md v 1 .YOYO , RESPR (3000) :
CALL RESPR (0)
that way we don't have to declare any
variable and It Is faster to type.
I Special ejects with £51251
The appearance Is Important, even with
software. Let's see some techniques to
make the look of our programs more
The command CSIZE Is used to change the
character size. The syntax Is simp lei
CSIZE [channel] , width, he igth
The width parameter can be 0,1 ,2 or 3.
The he igth parameter can be 8 or 1.
Uhen used alone, CSIZE Is boring but
with a judicious comblnaison of INK and
PAPER the result can be quite
Interesting. Try thlsi
0PEN#3 , scr_200x30al 93x23
PAPER#5,8i INK#5,7i BORDERS,
PRINT#3,"fhe Quebec Link"
Ok, now If we use the OVER function and
the CURSOR command, the result Is a
totally unexpected and very good
PAPEIk *w.* , ™,-,r . .w,wmv,
CSIZE#5,2,ii 0UER«5,li CLS#5
test*-"The Quebec Link"
CURS0R#3,1,1 : PRINT#5,testS;
CURSORS, 2, 2 i FRINTft5,test*f
CURS0R#5,1,1 i PRINT#3, tests j
CURS0R#5,2,2 : PRINT#5,test$;
Try to experiment with different PAPER,
INK and CSIZE values.
The screen problem reported by Robin Beaumont
in the July/Aug '90 issue of Sinc.link is really
due to deficiencies in the North American NTSC TV
system. If you have ever visited Europe you will
probably have noticed that the quality of the TV
pictures on quite ordinary sets is as good as you
get over here on a premium model like the Sony
Trinitron series. This is due to better colour
handling (PAL) and the fact that there are 625
instead of 525 lines per screen, and it is the
latter that causes Robin's problem (and anyone
else's who uses a QL with an NTSC TV!). The
difference does carry over into the computer world
too since the basic IBM screen is 200 lines against
256 for the QL or Acorn BBC - but most monitors can
cope, with a bit of vertical size adjustment.
There are differences between the PAL TV and
monitor mode, but they are minor compared with
those on the JSU chip for the NTSC TV ««de (The
monitor mode is the same on both. ) In PAL TV mode
the top 16 lines and 32 pixels down each side are
omitted since they are not normally visible on a TV
screen, but this is just done by choosing
appropriate WINDOW sizes. and using larger
characters (CSIZE 2.0). In line terms this means
that there are 25 lines on a monitor (with six
spare lines) and 24 in TV mode since the characters
are 10 pixels high. The screen memory is mapped
in the same way for HON and TV, and even if you
have pressed F2 on boot up you can access the full
screen using the WINDOW and CSIZE commands. Many
commercial programs seem to use the full screen and
try to avoid putting anything too important
the edges where TV users might not see it. (The
small 0.0 characters must be reasonable legible on
most PAL TVs. )
However. the situation is much more
complicated with a JSU ROM. In NTSC TV mode there
are only 192 lines available. So. so as to keep a
24 line screen the TV mode uses characters only 8
pixels high, omitting the two blank lines of pixels
between characters that normally appear in monitor
mode, making the text rather cramped. In fact the
JSU character set is different from all the others
to make this easier, descenders are only one pixel
instead of two, and underlining runs over them.
In addition the memory is mapped onto the screen
differently in TV and monitor modes and you cannot
restore the full monitor screen after pressing F2;
you can get the full width, but not the height.
This means that programs not specially written to
take this into account behave in the way that Robin
describes, only the top 192 lines are visible, the
bottom 64 cannot be seen. In my experience the
Psion programs that come with the machine are the
only commercial ones that allow for the
peculiarities of the JSU ROM, although it is not
that difficult to write programs that can adapt to
all three formats. (All the major ones I have
written do ! )
As long as you are not in two screen mode with
a MINERVA ROM then PEEK( 163890) returns the value
of a system variable SV.TVMOD that tells you the
mode: 0 for monitor, 1 for PAL TV and 2 for NTSC
TV, and you can make use of this. (Unfortunately
there is a bug in the JM ROM which corrupts
SV TVMOD when the MODE command is used, but that's
another story, and you can code around it. I The
procedure in Listing 1 is an example of the sort of
thing I mean. It defaults to the PAL TV mode and
defines global variables mon, pal, ntsc, and hcX
that can be used elsewhere in your program. (Make
all variables LOCal unless there is a good reason
for not doing so!) A way to avoid the JM bug is
also included. N.B. these are NOT Sir Clive's
The variables mon, pal ntsc and hcX are made
global because they are sometimes useful elsewhere
in a program.
There is another screen problem with the JSU
ROM. the SCALEd graphics commands like LINE. CIRCLE
etc. use a different vertical to horizontal ratio
from all other ROMs. This means that graphics
mixed with text, or commands like BLOCK which
address pixels directly may not come out in the
right place. (In case anyone needs to know the
values are 0.62659 on the JSU and 0 7380 for the
others, you can adapt programs to the JSU if you
multipy all X parameters in the affected commands
by the ratio of these two numbers - I forget which
way up it has to be, but try 0.8490 it will soon
become obvious if it should be the other way!
Tedious, but it does work; I have converted a
couple of programs . ) Get in touch with me if you
want more information.
Vertical hold and flicker problems are due to
the 60/50 Hz difference. As far as I can see in
monitor mode the JSU chip thinks it is in Europe
and uses 50 Hs. My Axdek 300A monitor has a long
persistence phosphor, and is rock steady, but
cheaper monitors and TVs using video input may
require vertical hold adjustment and may give an
unpleasant 10 Hz flicker. Since TV mode is OK
this must be 60 Hz.
Box 9947. Station B,
CANADA, A1A 4L4.
10 REMark h. j. clase 1986.10.11 "
12 DEFine PROCedure Uwindows
14 REMark Adjust windows for monitor or TV (European or N. American)
16 REMark 20 lines in windows #1 & #2. hc% = height of characters
18 LOCal i,f ,w%,x%,y%: mon=0 : pal=0: ntsc=0 : REMark GLOBAL VARIABLES
20- WINDOW 512,256,0,0: PAPER 0: CLS : REMark
22 f =PEEK (163890): SELect ON f
24 =0: w%=512: hc%=10: x%= 0: y%= 0: mon=l
26 =2: w%=448: hc%= 8: x%=32: y%= 0:ntsc=l
28 = REMAINDER : w%=448 : hc%=10: x%=32: y%=16: pal=l
30 END SELect : Moad 8* (NOT mon)
32 WIND0W#2, w%,hc%*20+2*mon,x%,y%: PAPERtf2,4: INK*2,0
34 WINDOWS, w%,hc%*( 5- (NOT mon)) , x%, y%+hc%*20+6*mon : PAPERtfO , 2 : INKttO , 6
36 WINDOWtfl, w%,hc%*20+2*mon,x%,y%: PAPER 0: INK 4:
38 FOR i=0,2,l: BORDER* i, mon* (NOT (NOT i)),0,6: CLStfi: CSIZE#i,0,0
40 END DEFine Uwindows
42 REMark " ----- -
44 DEFine PROCedure Moad(n%)
46 REMark A nasty pun to avoid the JM mode bug!
48 LOCal v: v=PEEK( 163890 ) : MODE n%: POKE 163890, v
50 END DEFine Moad
rjTn Matt Kiddo of the Kansas
u*u area T S Users Group has
developed an overlay for
Pixel Print Plus that
fascinated me. First I
f> couldn't figure out how
; did it. I wrote and he
sent me a tape with the 2
columns required. It was done
using the Professional version.
I had to duplicate 2 "sideways"
fonts in order to make some
overlays of my own. I have sent
G. Chambers a disk with the 2
fonts and the following overlays
Pixel Print, MScript, Tasword,
Artist 2 and a blank one so you
can make your own. < V'ou need to
have RAMdisk<see note at end>,a
dot-matrix printer and the PP
Above is the screen that
would see if. you had the Tasword
left screen in memory and the
right screen in RAMdisk by the
exchange command. Uhen you print
the two columns with Print -a-Doc
yoy ?sk for 64 column mode
and the two columns are printed
touching. A nice overlay can be
made by making a xerox copy on
card stock. Use different colors
so you can easily identify them.
Thanks go to Larry Crawford
Mitchell and George Chambers
Larkenizing the software!
In this effort I hit a sad
-Stan Lemke has sold all
2063 hardware and software
to. lack of interest. Uhen I
him the f airfare fee he
I was only the third person
WE SHOULD SUPPORT ALL OUR
SUPPLIERS. If you are using
fair ware please send those
folks $ome encouragement.
Below is a sample of the
Tasword left hand column.
The "Dip VOU KNQU" icon
was. made with the ICON designer
available on the club disks.
Tne..^View screen was made with
an N M I screen save, and the
small portion of the keyboard
was. made using the screen save
option in PPP .
• Tbf^H^9!?t hand column MUST
be in RAMdisk memory or you will
get a completely black print. Vou
should be able to view what you
are about to print befor you
select print from the Print a
Document menu. I also noticed
that when you load a document
defination file the names do not
appear until you have chosen
OTHER PPP NEUS
* -AMikS felerski's Sinclair
Desktop Publishing Journal will
be incorporated as a feature of
Update magazine. (Refer to
sample issue in S-L vol.8 no. 4.)
Me is no Longer taking new
subscriptions. His column uui I l
start in the October 1990 issue
. Mike says that the PPP is
still alive. He reports that
a version 6.0 is a possibility
if enough interest is shown. If
you would like to see it kept
alive write to:
The Sinclair DT Journal
. 14 . Brushwood Avenue
J hen you order the
Customized PPP from
Steve Spaulding you
also recieve a new
border f ont - ! border4
This is a samp 1 e .
Steve's improvements were
reported on pages 33 and 34. of
volume 8, number 4 of S-L.
£3 Above are
jtti some special
. r* characters
Oro included in
-»0 t he ! sybld. Cf
font for the
o overlay. Ask
r George for
the disk no.
I£~^ou have Pixel Print and
no RAMdisk you can still make
the keyboard overlays! Before
PPP was.Larkenized I made one
by cutting the two columns out
and joining them together. Just
line up the vertical lines and
glue or tape them together and
run off a xerox copy (on card
stock, if possible). The worst
part is cutting out 42 little
rectangles for the keys!
In town members can see the
samples I sent George.
ENJOV ! !
Game Review - "King's Keep"
by Jeff Taylor
Most adventure games for the
Spectrum involve looking at a
non-moving picture and keying in
words until you finally hit upon
the one which will allow you to
move to the next screen. This
can lead to frustration or
boredom very quickly. Now try to
imagine an adventure game which
allows you to move around freely
using the joystick, picking up
and using objects you encounter
along the way. A much more
enjoyable form of game.
King's Keep casts you as the
young prince trying to escape
from your father's castle. You
are allowed to wander throughout
the castle acquiring and using
whatever you find in order to
aid in your escape. Each room
contains either an object or a
person which will help you if
you utilize them properly. Many
of the objects' uses are not
immediately evident so some
thought is required, a feature
which should appeal to the
purists. There are four rooms to
which entrance is forbidden
until you cast a spell to unlock
them. These rooms contain the
final elements you need to
effect your escape. Entering
these rooms before you assemble
the clues needed to cast the
spell causes you to get caught
and the game restarts, so don't
The game can be played using
the keyboard exclusively or you
have the option of using the
joystick ( Kempston or Larken
interface ) for movement and
keys 1 through 0 for object
manipulation. An interesting
feature is the very effective
use of drop-down windows to
TS2068 owners can play this
game as well, however you will
have to use the keyboard to move
the prince unless you have a
Larken disc driver with its
built-in Kempston interface.
King's Keep is an enjoyable,
sometimes infuriating, action
adventure game which will keep
your interest for days not just
a few minutes. By the way, if
you do get stuck, club secretary
George Chambers has the solution
to each clue but he will only
give you a couple at a time.
Just to keep you guessing.
SL ® ill
The DAMSEL soys-
"Oh Qoodi Sou nove found »3,
lucKy chorroi Hove. this shorn os
o toKen of roy grot 1 tude.
The scroll has a roessoge written
on it- "To cost this sleep spell
the user roust 6e in possession,,
of o ticKlish o6^ect an<5 o srooi i
Ouch I The heat froro .the condie
is burning your t*;e£!
The C Page
By Timothy Swenson
As promised last month, I'll talk about how C accesses
The simplest way to discuss how C handles -Files is to
take a look at a C program that uses it. Look at program
number 5. This program asks the user for a file name. It
then opens the -File, reads in a character and prints it out
the screen. This goes on -For the entire file.
The program declares a character array of size 20 to be
hold the file name. It then declares the integer fd to hold
the file ID. When a file is opened, C assigns a number to
it. This number is returned from the f open command to the
Note the syntax of the fopen command. The file name is
sent into the function along with a string that specifies if
the file is for reading or writing. If we wanted to open a
file to write to, we would have used "w" instead of "r".
The next couple of lines checks to see if the file was
opened sucessfully. If the file was not opened (there was
some error like a bad file name) fd will be returned as NULL
(a predefined constant).
Instead of using getch the function getc is used. Where
getch defaults to the keyboard, getc needs a file ID to know
where to get it's input. In our case we use fd.
We exit the while loop when the program reaches the end
of the file (EOF). After the program exits the while loop,
we use the f close function to close the file. We must tell
f close which file to close. If we do not close the file, we
say loose the file.
ft prog 5 */
int c, fd;
printf ("Enter file: ">;
gets (file) ;
if (fd == NULL) i
printf ("File open Error");
abort ( 1 ) ;
while ( ( c = getc(fd) ) != EOF) i
putchar (c) ;
RKGTNNKRS DON'T KNOW WHAT
— (it is) — THEY flflWT WW
Recently I read a statement to the
effect that "Beginners don't know what
they don't know". And after I re-read
the statement, I sat back and thought
about it, and when I applied the
statement to my own situation, I
realised just how true it was, and is.
In my own case I started into computing
fairly recently, and had the usual
problems, both with the QL and
information. When I asked for help, no
one could help me. Why? because they
did not know what I wanted to know.
Why? because I did not know what I
wanted to know; I did now know what to
ask for, except HELP. So we were back
where we started.
Then someone suggested to me that I
start a QL library in the club, this I
The programmes started to come in, and
I was flummoxed, bamboozled, dizzy, you
name it, I was it. Gradually in the
process of trying out all the stuff
which was coming my way, I learned a
I learned how to get into' the various
types of programmes and utilities. What
could and could not be accomplished
once I was there; I learned that the
way to computer literacy was not an
easy one, or one which could be learned
easily. Rather an ongoing process where
one obstacle was overcome only to have
another pop up right in front of you.
When I first entertained the idea of
owning a computer, it was as a tool for
record keeping, later I found that this
was just one of the uses they had. I
also found my interests were changing;
that there were many more facets to be
Because of the amount of material being
passed to me, and the fact that I was
DOING something, made me more critical
of my actions and considerations. I had
to collect the programmes, put them in
sone sort of order, and if I were to
make a catalogue, I had to know a
little of what the programme did, so
that a thumb-nail description could be
made tD tell others the intent of the
Soon I realised I had to have some form
of displaying the material in catalogue
form. This made me look at the Psion
set as supplied, and of course I was
absolutely forced to work with them. I
may not have chosen the best way to do
it, but I formulated an acceptable form
of presentation. To me at any rate.
The whole exercise meant that I had to
work, and work hard at that. But the
end result was I had a working
knowledge of many things.
I also realise, now, that 'way back
then as a beginner, I did not KNOW what
I WANTED, or NEEDED to know.
Therefore, I would advise all beginners
out there, to keep at it. Try all the
wonderful stuff there is going around.
Try each and every one of the Psion
set. Learn by hands-on experience.
Bet the whole darned library and do as
I did, try to make sense out of it all.
Apply it tD your own uses. In the
process you will find how to do
things and all the assistance you
could dream Df is there, just for
Subscribe to "UPDATE" , probably the
best magazine in North America, for
information for beginners and experts
alike. (Apart from our own NewsLetter
of course) Learn from the experts.
I had a slight advantage I must admit,
I had tD go through a lot of stuff
which was duplicated under a different
title, was faulty in some form or
another. In other words I had to be
critical. I was, and I learned.
We are only beginners because we are
beginning, and we "Don't know WHAT we
Hugh H. Howie.
HARDWARE Ti IBRARY
IX) WK HKKD A HARDWARE IiIBRARY ?
Tfi TTTCITC A DKSTRE FOB ONE ?
For some time I have been
pondering if there is enough
interest to form a QL Hardware
Library. If so, I would be happy
to try and set one up. How do you
folks out there feel about it?
My perception is that it could be
set up in a similar manner to the
present QL Software library, and
would be part of that library.
All material submitted should be
accompanied with adequate printed
text, explaining the whys and
wherefors. There would have to be
a clear and precise legible
diagram with a list of all parts
used, and with values clearly
indicated. Too often when I read
some of those articles I find that
the clarity is far from what it
As. I am no Hardware Hack, I would
not' be able to assess the value or
accuracy of anything submitted.
All inquiries for further
information would have to be
directed to the person submitting
the article. This would mean that
the documentation would have to
contain the name and address of
the donor /author.
Owing to the fact that there would
be a considerable amount of Photo
Copy involved, and travelling to
and from such place, there would
have to be a charge for this
service. It must be remembered
that the equipment we use is our
own. This applies to our secretary
and our Editor, to every one of
the Committee, we have to look
after it and are responsible for
the repairs thereto ourselves. Our
services are voluntary.
My suggestion is a charge of $1
for this service, (per project) as
the library would all be on paper.
Submissions would in some cases,
who knows, perhaps in all cases,
be used in the NewsLetter, as and
when space permitted.
As I stated earlier, the QL
Hardware Library would become part
and parcel of the present QL
Software Library, and the contents
would be listed in that catalogue.
There are a lot of projects out
there, and I think it would be a
good idea for a clearing house for
them. Perhaps I am in error, but
who is to know unless an attempt
is made to gather them and make
them available to all.
Comments (and projects) will be
Hugh H. Howie
586 Oneida Drive
With TK2, if you want FREEJiEM you
type "Print Freejnem" ( 85504 )
If you type "Print PEEKJj (163856 )-
PEEKJi( 163852) you will get a
different answer. ( 86016 )
BUT... Where did the 512 come from?
With 512K added the figures are
600064 & 600576. A difference of
With a program loaded the figures
are 371712 & 372736. A difference
of 1024 !
By the way, this is an easy way to
find Free_Mem if you do not have
H. H. H.
Service Charges for SINCLAIR/TIMEX Computers effective January 1_> 1990
Prices no longer include shipping and handling charges.
Shipping charges will vary depending upon weight, distance and method.
I will ship via the cheapest method unless you specify otherwise.
The minimum shipping and handling charge is $2.00.
There may also be a surcharge for repairing modified equiptment.
The minimum surcharge is $5.00.
Definition of modified equipment: Any Circuitry changes on the inside of
the equipment case that involved the addition of components, wires,
integrated circuits, or hardware. Customers who send in computer equipment
that has had modifications done to it, which change the manufacturer's
original design, must pay the additional surcharge for repairs.
1 . The following items will be repaired for $5.00 each ± parts & shipping:
TS-1000 ZX-81 16k Ram Pack Any Memotech Module
2 . The following items will be repaired for $10.00 each + parts & shipping:
TS-1500 TS-2040 TS-2050 PC-8300 ZX-80 Any BYTE-BACK Module
3 . The following items will be repaired for $15.00 each + parts &. shipping:
TS-2068 SPECTRUM A&J Microdrive LARKEN 2068 FDI CUMANA FDI
LARKEN 1000 FDI CST FDI
4 . The following items will be repaired for $20.00 each + parts & shipping:
5 . The following items will be repaired for $25.00 each + parts & shipping:
For repairing add-on modules, printers, monitors, or other computerized
equipment not listed above - write for a price quote for the items you
want repaired. I also service ATARI. COMMODORE. COLECO, and TI computers.
For modifying or upgrading any computer or add-on module - write for a
Customers can expect a 4-6 week turnaround on most repair jobs.
Upgrades and problem cases may take longer.
You will be notified of any delays or execessive repair costs.
( over )
Instructions for sending in computer equipment:
1. For repairs, please use a seperate sheet of paper to describe in detail
the problem you are encountering, and whether or not the problem is
intermittent. List any software or hardware that are associated with the
problem. Also list any modifications that have been done to your equipment.
2. For upgrades, please enclose or specify the magazine article or other
source of information for doing each upgrade.
3. You may include a check or money order as a deposit for repair costs.
You will be notified if a balance is due. Over amounts will be refunded.
4. Carefully pack and ship your equipment to the address below via UPS or
parcel post. UPS is usually cheaper, especially with heavy items.
RT 1, BOX 117
CABOOL, MO 65689
Phone (314) 739-1712 evenings, Sunday through Thursday till 10 PM Central.
Phone (417) 469-4571 Saturdays by chance till 11 PM Central time.
VISA / MASTERCARD accepted with 4% surcharge.
(Charge customers must provide Acct. #, expiration date, and name on card.)
WHERE CAN YOU GET TS1000 SUPPLIES?
Just recently a young lady from California sent an envelope
to ISTUG wanting a TS1000 catalog. I had to let her know we are
a user group, not a seller of software and hardware. I did send
her a small list of places to look for these and hope this will
be of help What this brought to mind is that it would be a good
idea to publish a short list of places to look for software and
other items for the TS1000, ZX81 and the TS1500.
CI) Charles Ridgeway -for software
San Angelo, TX 76901
(2) SMUG -has a fair amount of stuff from Zebras stock
P.O. Box 101
Butler, VI 53007
C3) RMG -has most anything you could want
1419 1/2 7th Street
Oregon City, OR 97045
<4) EKSoft -software and connectors
F. 0. Box 8763
Eoston. MA 02114
Let us know of any others out there that are still doing
some business with the TS1000 and we will try to get the word
out to the users.
20 Uild Briar way
If you load the AUTOSTART on the enclosed disk and then read the help file you'll get the drift of what this is ail
about, .. , „ .
I call the disk Sideways Fonts and it's a follow up to your work on the overlays. Hope you rind the mam file (redet.u:..
and its loadet^redef.Bb) useful,
Rp entering fpvt into the overlays, I found it better to enter each horizontal line (or part line) by the rather tedious
procedure of moving vertically. This rather than your option which became confusing when I altered the spacing. So you
and I will differ there, but so what? Whatever is easier for the individual is what counts.
t Kh-p h roou of tsdfe but lack th* instructions so never explored it. George is getting me a copy of the ones you sent
him. I have a variety of disassemblers and switch around amongst them as the occasion demands because they all have
their strength* and weaknesses. I like to work in decimal so I gravitate to Spectramon which I call Monitor for the
TO068. 1+ ha* the advantage of being usable with RND/SEQ filing since a CR is sent at the end of each line thus
identifying each block. It doesn't decode Floating Point code but HOT Z or others will do that if needed, it doesn't
have a search facility but my Editor file will do that (in hex). So there's usually a way,
George is looking into the schematic thing. But the chip number you wanted is 74HCTLS-32N. He knows what is in the
forbidden area (96 to 112 hex) and says it is not particularly useful. But ask him for it; he said he could send it to
Ken if it would be useful to him.
I'm providing the cl»b library with a copy of the enclosed disk. If you find any bugs in it, let me know. By the way I
fixed up your "sidew.Cf in a couple of spots where the characters were too thin (eg. the letter Y). My version is on the
disk: as !side>.Cf. I also made the m and the u narrower and more like the ones in Spectrum.
All the best to you. Keep in touch.
20 Wild Er i ar way
Thanks for sending along the overlays, a truly fine application
of Pixel Print Professional. George gave me a copy of your most
recent disk with the various columns so I am ready to do some of
these myself. I have used my Exacto knife to cut out the
rectangles. I really know Tasword and Mscript by heart now
(almost) but now and then the overlays will come in handy for
little used commands , etc. It's the seldom used programs where
the overlays will be most appreciated. I'm thinking of Zeus for
one? Profile and Vu-Calc are two others I'll have a go at. I did
a modification of the Mscript overlay to include some new stuff
(H for help? f for fullest after pressing C for catalogue? M for
move (alias Rename) and 0 4 for Drive Select.
This turned out OK although I must admit it's a bit hard on the
neck leaning over to read the sideways characters. Just
k i d d i. n g ! .
So once again, applause for a fantastic job to both you and Matt
Ki ddo i
I checked out the Mon i tor /Disassembler which is quite good
considering how few bytes it takes up. Have you done a
conversion to 2068 ROM by any chance? If not, I'll have a go at
that as it would be a useful, variation.
ye had a fun time getting PPP into working shape? Larry Crawford
(London Ont) did the essential work to make the bank switching
work. George and I added some frills here and there. We were
sorry to hear that Stan Lernke had abandoned the whole project
an d so Id off all his T i mex gear.
I have just finished doing some revisions to my Omnibus disks.
One is for those club members who do not sport a RAMDISK and a
QUAD drive but who have two drives one of which is DSDD. It has
a neat trick built into it that stores the drive numbers of two
drives in addresses 26666 and 26667 and so makes switching more
automatic and, since these addresses are in the systems — - ,..
variables area, makes getting back to the Omnibus disk-^easier
(ie, from other BASIC programs on the disk).
I have not built this device into my Quad version of Omnibus and
doubt that I shall. My latest version is 2.10 and has a lot of
niceties and other user -fr i end ly operations that make the whole
disk easier to use. Many of these frills are included in the
Using the Larken Random/Sequential filing system (disk version)
enabled me to do the 2068 ROM disassembly (55 tracks long) and
the exrom. I put these on a Quad disk along with some tutorial
ma t er i a I „
If any of these things interest you, let: me know and I'll, be
happy to send you. copies.
It's doubtful, if my wife and I will be corning to Florida this
winter but if we change our minds, it'll be for a month. Will
let you know-
Meanwhile, best regards.
Bob M i tc he! 1
7 u RONT 0 "!' 1 \ \\::. X ■• B 1 H C ! A I R LiSE RB CL i i B
0 i : i .; i L m;- r 2D * '; 99! J
14 Richome Court *
S c a r b o r o u g h * 0 n t . ii 1 K 2 Y 1
I e 5 Co i • e I i
I Q'd R i , er He Lgh ! = Di i ve
f d< oa, FL 32922
L;£:'«;:i ! LEE *
Though I have had several letters from yen i recently? I have not
replied. Partly because 1 have been pretty busy lately. But J see that
1 have neglected to send several disks off to you? that you asked for *
Namely #25, 33! and 32 (the Byte power disk),..
I also have to thaffl-: you for the key boar d matrices that you sent me*
Bob* I arry ? and the club.. Of course the club ones went like a snap the
f t r si: mee t i ng '
Alas.. 1 canned., make propei use of them-, since I have an auxiliary
keyboard on my com pi iter * and it sits; right over top of the computer .
I think that Bob is going to write to you to inquire about the
easiest way to use the si dewi se character set,, He? is coping* but is sure
there is a t r i ck of to to using it,,
Actually I have not loaded your ma t r i progr ams i nto PPPr „ and used
them. I simply made a copy a n d sent it 'to Bob,, I think I also sent a
<:; o p y t o I a r r y C v ' a w f (. * i d * a 1 s < „ I i i a v e m a c! e a n e w c 1 u b 1 i b r a r y d i s I ;
number i #37.; which wi 1 ] hold all. the data filers tub i ch are common to PP +
and PPPr ,, Your ..hi st , and i he ' f ont s ' di st t ha t is in PP+ #10.
Vi.,:ii.,i asked ahocci the •. ompt i i er ,, I-IgII, as I said in the newsletter * I
mas going to reduce the price of things that hadn't sold* by 25% in the
next newsletter. So I thin!: you can pick one up* one of these days.
For some reason both computers do not output to a morn, for ? i.e. the
men i tor Jack seemed non functional* But the TV output is good* though I
am spoiled with an RGB monitor , arid am not par ticuiarly enchanted with .
the colors' 1 Both computers are equipped with a reset switch which is
moun ted a t the rear of the computer . *&Q~4S
Tire best computer comes in it's original shipping case?* and seems
0 t her wi se pei feet. I tried them both out with large programs? arid they
seemed to work properly. Tj ieel them out with a barken system* arid with
tape? recorder „
The hesi computer comes in it's original J shipping case* and seems
othei wise pei fee t . no s i yn of key bard wear* and ail toys fumed ion. Mas
••••.11 !di>- at i i-'-i ••»<•-!! j es iiiC.luchi.riq manual •. power supphn arid e.orcis.
^ 50-3-1 El
The< sec unci ccffipu ter (the one 1 originally pr i ced at $50 ) has some
1 .-ibKifc- =• i r, f 3 ams » The key boar d shows no sign of wea.t * the I eg en ds are i n
Bui there is a hide in the up pei case to prcrvi.de access
sc'j een ad. jus ting pert s =, The? bo ! ter in case a 1 so is cut away
ua i of h he RF out put box . Not v i s i b 1 e Pr om the front or
here's a manual to go with it, and the powei supply. I
e no cot cis for the tape recorder err TV * though there is a
pei I' Hi !. si • a i
i one of t!
i :■ g h ! ad M if
i i n h t h e i e
• r :i. g .i n<
I think I have descr i bed them fairly critically,, Take 25% off the
or i gin at prices w:i th each successive newsletter.
I may .have over pi iced the computers. They have not sold,, I thought
the time the1 prices were good- However- ? in reducing the price in stages
we'll find out what the going price is,
thf ,::'( ( j modem had been modified to give it a Sei i a ! pi m ' ■> per some
mods thai were published in some past newsletters- 1 t ui neci i ! nv&r to
Rene Br uneau to see what lie could make of i t., I have noi 5 pel; en ' ■■ ■ him
about it,, I was not sure that it was still working as 5 modem* and I
was not going to gel into expei imenti ng with i t .
Shall close o f f now and get the disks off to you.
S i iicei el y 1
Go en ge Chambers
A*>jruJE\ ..• Aii ^oJp
M /civ, M^'-^^^A
September /October 1990
September 8, 1990
Dear Out-of-town members,
All you Larken RAMdisk owners may be
interested to know that we have
compl eted the mod if icat ions to the PIXEL
PRINT PROFESS IONAL program to make it
compat ible with the Larken RAMdisk.^ This
work has bee done through the combined
efforts of members Larry Crawford, Bob
M it che 1 1 , and myself. It makes use of
the first chip on the RAMdisk.
The program is on disk #28 in our
Larken disk library. The program is
"Fa irware" . That is you are welcome to
use it ; if you I ike it you can send Stan
Lemke a recommended cont r i but ion. So by
all means ask for it and try it out.
In connect ion with this, another of our
members, Les Cottrell, has sent^ me a
keyboard template to be used with
PPProf. Well, actually the template
pattern can be used with any program you
wish. You take the pattern, xerox any
number of copies, and custom ise each of
them to suit each program you choose. By
custom ise I mean mark in the function of
each key used by the program. Ask for a
copy ( copies).
The Indiana T/S user group have
created a PP+ file that prints out this
template. I am hoping to get a copy of
it, in the near future.
I'm not sure if I mentioned it in
the last news I etter. Stan Lemke, of
PIXEL PRINT fame, has sold off all his
Timex stuff, and has gone onto other
We received an "offer to sell" in the
mail a couple of days ago. It was from
Paul Bingham, and he was offering^ to
sell a lot of stuff, including^ Timex
gear. You may remember Paul Bingham as
the author of a series of articles in
Time Designs Magazine, called "Classy
Front End". I think I remember him in
the old SYNC magazine, before that.^
Well, it looks to me as though he is
giving up the candle, also.
We have another disk in our library.
It is from BYTEPOWER, and the programs
i on it are written by Kristian Boisvert.
He has placed them in the public domain.
The programs are a suite of Larken disk
utilities. Quite some novel ideas. Do
try this disk out.
Then there's another disk, #31, whict
cont a i ns a suite of programs for doing
various electronics calculations. The
programs for this disk were supplied by
club member Ronald Ginardi.
And another disk which contains a
TS2068 ROM d i sassemb I y , prepared by club
member Bob Mitchell. It makes use of
the Larken Sequent i a I / Random Access
program, so you will need to be a bona
fide owner of the Larken LKSR LBASE code
to make use of this disk.
We also have a disk, #33, which
contains a "pull -down" menu approach to
the use of the OMNIBUS program suite of
disk #2. Another work by Bob Mitchell.
This " pul I -down menu" program has also
been placed on our "MENUS" disk #25,
I shall write about these new disks
in our next news I etter , but this will
keep you posted in the meantime.
I have been reading a book by Scott
Meu/ler called U pgr ad ing and Repai r i ng
Your PC. A very readable book. It costs
$35; I borrowed a copy from the I ibrary.
I was most interested in the section
about disk drives, but I found the whole
book very en I ighten ing. The author heads
up a service company, and he writes in
a down to earth manner.
I have quite a bit of written material
about disk drives if you are interested ;
ask me for some of it!
Our treasurer and I went out to visit
a member who suffered a stroke some time
ago. Consider yourself I ucky ,be I i eve
Anyway, Bill and I brought most all of
his Timex equipment back with us to
dispose of. I have put an advert in the
news I etter . If any of you wish to add to
your Timex equipment, this would be a
good opportunity to do so. I have put
some suggested prices in the advert. If
it does not sell, I shall lower the
price in subsequent news I et t ers by_25%^-
unt i I it goes. I think that some of the
prices are attract ive. Particularly the
drives. They seem as new.
The 2 computers seem to be in working
order. They both have reset buttons
installed. No, both of the computer have
the TV output working, but the Monitor
output does not seem to work on one of
And there's a load of other smaller
items that I habve not been able to
list. If you are interested in adding to
your collection, ask me about them.1
Please do, I don't want to clutter up
this column with the details.
This may be your last chance, so
don't say I didn't warn you. I shall
quote from the most recent C/CATS
news I etter, the PLOTTER":
LARK EN NEWS
Larry Kenny tells us that he wilt try
to have another 35 cartridge boards made
up. He said that, after almost two
years, he hoped that the company that
made up the PC boards would still be in
business and would still have the
artwork needed to make the boards. If
they do, we will have 35 more systems
ava i I ab I e. Unless Larken and RMG
Enter pr ises receive more than 50 orders
within the next three months, there will
be NO MORE LKDOS systems made by Larken.
Maybe we can get someone else to take
the product on? We can only hope. Order
your system today, or you may be out of
luck. " End of quote.
Larken E I ectron ics
Navan Ont .
CANADA KU-B I H9
tel (613) 835 2680
I have a back-up Larken LKDOS i/f.
Being so involved with the club, I
thought it would be a disaster if mine
failed, so when a used one came up I
grabbed it. well, a couple of days ago
my system stopped writing to disk. I
have installed the second board, and am
trying to figure out the problem. By
chip interchange I've determ ined that it
is not in the removeab I e chips. Even the
big chip tests out OK. So there's where
it stands at the moment. Any of you
serious users might take note!
Another news I etter , from the Indiana
F//r/n*r Gr°UP-' haS a *heet "sting Dan
E"io-fs repair pricelist, etc. We shall
Ts't'lftoJ" Alette": Terns
/ be. clarifications re shipping
charges <$ minimum charges; the repair
a bartaTnl *»' really
I have picked up the August '90 issue
It lanV 13 C°m^ter ^nthly magazine
It looks good. Though they seem to be
having some teething problems. They have
repeated a T/S article by Richard
'Zren°V',C that first geared in the
April issue. Then one month they put in
on article by Bill Ferrabee, but omitted
a listing that he made reference to. But
issue™3 'n evidence tne Allowing
The Sinclair Milwaukee User Group
newsletter, SMUG.bytes ment/ons thQHf
first issue of the UPDATE maaazin*
the new publisher, Frank Davis, nas
appeared. The newsletter continues wit,
the comment, "It has Just as much, if
not more interesting facts and aU
on all Sinclair computers" .
claims court, to trv Z small
r.„. i * • ' Try to recover some
royalt.es from the sales of his tool
of tht I*".' t0 try to hoover control
of the book so that he can market it
rlf'unn d °Tther ^criber has got a
refund as well as the back issue* til*
oZt Vf'j I'-"' HS "'"* *° "e orelon
inform^- 'USt'.cJ- ' <=<"> give you more
,nformat,on ,f you ulsh to fQ,,ow ^
lh,eNoa.St2. 'SSUe WS kn°U °f »as V°'
Oregon City. » VcT/rlT
Anyone for Spectrum games! I Ask for
my tapes/disk listings.
1 J^orkec 1 this listing up using Larry
Crawford's InterBank DataBase program
on d isk If 30. y
Something else. Bob Mitchell has
updated his Pro/Fi,e database of our
newsletters. These Pro/File files now
contain all the data for issues fro/
1985 to the present. I use them quite
often, looking up material that club
members inquire about. Ask me for a
copy of the files.
Also, maybe I mentioned it before
maybe not. Another member (sorry / '
can't credit him at this moment ;' my
pern%y',fai'.S, mG) haS ^PPHed me with a
nSil IS/J* WhiCh '°gs every episode
of the STAR TREK series. Any Star Trek
fan would find this fascinating. I find
it staggering that we have a member who
can go to the trouble of getting all
th/s into a database 1 1
Then Larry Crawford says that he is
going to update the list of movie titles
on his Interbank Database file. When
completed it will have over 2500
entries, he tells me! I understand that
these are titles that he has viewed! How
he finds time for the TS2068 is beyond