Skip to main content

Full text of "Boston Computer Society - Sinclair Timex User Group Newsletter"

See other formats

O  Boston 
O  Computer 
O  Society 


xttiirvTTK*  &  noaw  &  Azmwd  Q&&Q 


The  Aug.  meeting  was  quite 
lively.  Don  Weiss,  our  librarian, 
exhibited  his  word-processing 
system,  which  begins  with  a 
TS1500  +  16K,  using  a  Compusa 

disk,  drive  for  mass  storage, 
feeding  a  Seikosha  150  printer 
driven  by  a  Memotech  Centronics 
parallel  interface.  He  also  has 
seperate  keyboard  with  a  space¬ 
bar.  Unfortunately  a  system  bug 
ft££,Yented  his  demonstrating 
wORD-SINC,  a  popular  program, 
but  he  was  able  to  show  other 

Marty  Warner,  from  Games  to 
Learn  By,  demonstrated  MSCRIPT, 
the  wordprocessing  program  which 
was  to  Rave  been  available  for 
the  TS2068  along  with  a  Mannes- 
mann/Talley  printer  which  was 
also  planned  as  a  TS  product. 
Marty  has  alsoe  tried  TASWORD  II 
and  discussed  pros  and  cons  of 
both  these  superior  programs. 
She  offered  a  copy  of  MSCRIPT  as 
a  door  prize,  which  was  won  by 
John  Kemeny. 

Then,  as  an  encore,  she  ex¬ 
plained  how  to  make  internal 
color  adjustments  on  the  TS2068. 
Watch  for  details  in  our  next 

Finally,  "Things  move  fast  in 
the  computer  industry."  Our  dir- 
e  c  to  r.  Sue  Mahoney,  brought 
copies  of  the  Connecticut  Com- 
puter  Spciety  News  ,  which  among 
other  items  of  interest,  an¬ 
nounced  her  engagement  to  Todd 
Tolhurst,  after  a  brief  court¬ 
ship  conducted  largely  over 
CompuServe.  Details  next  issue. 




The  Absolute  Beginner 1 s  Guide  to 
Machine  Code  Programming  on  the 
by  Jack  Hodgson 

Over  the  years  I've  been  amazed  at 
the  number  of  beginner  programmers 
who  are  interested  in  machine  lang¬ 
uage  programming.  Others  might  say 
that  a  beginner  should  avoid  this 
type  of  stuff  because  it's  far  too 
complicated  for  them  but  I  don't 
agree . 

Susan  Mahoney 

News  -from  Sinclair  .  .  . 

Maggie  Bruzelius.  Executive  VP 
o-f  the  U.S.  branch  of  Sinclair 
Research,  Ltd.,  resigned  on  July 
20,  1984  to  take  a  position  as 
marketing  director  -for  Alpha 
Software  of  Burlington,  MA. 

The  search  for  a  replacement 
is  being  handled  personally  by 
Nigel  Searle,  Managing  Director 
of  Sinclair  Research,  Ltd., 
Cambridge,  England. 

Over  the  years,  our  group  has 
always  enjoyed  and  appreciated 
the  support  of  Sinclair  Research 
(Clive  Sinclair  is  a  patron  mem¬ 
ber  of  BCS) .  Best  of  luck  to 
you  Maggie,  and  thanks  for  all 
of  your  help. 

*  *  * 

Sinclair’s  QL  (Quantum  Leap), 
based  on  Motorola’s  32-bit  68008 
microprocessor  chip,  is  still 
slated  for  release  in  the  U.S. 
this  November.  However,  since 
production  of  U.S. -bound  QL’s 
will  not  Deal?  until  the  first 
quarter  of  1985,  initial  quan¬ 
tities  will  be  limited. 

If  you’re  interested  in  purch¬ 
asing  a  QL,  Sinclair  Research 
will  be  happy  to  take  your  name 
and  mai 1  you  an  announcement 
when  they  are  ready  to  take 
orders.  Write  to: 

Sinclair  Research.  Ltd. 

50  Stamford  Street 
Suite  800 
Boston.  MA  02114 

con . 


Con.  p.9 


It  If 

With  any  luck,  most  of  you 
have  received  the  late  April 
issue  of  this  newsletter.  It 
seems  the  Postal  Service  mis¬ 
placed  a  bag  or  two.  We're 
planning  an  extra  issue  this 
fall  anyway,  for  the  upcoming 
East  Coast  Computer  Faire,  which 
will  be  part  of  our  4th 
Birthday”  celebration  this  Fall 
Your  suggestions  and  contrib¬ 
utions  will  be  appreciated. 



The  July  main  meeting  was 
attended.  Mike  Coughlin  explain¬ 
ed  the  nature  of  T.V.  sets  and 
their  idiosyncracies  when  hooked 
up  to  a  computer.  Future 
activities  were  discussed  and 
programs  proposed  for  future 
meetings.  The  August  MC  meeting 
at  Mitre  featured  as  promised  a 
presentation  by  Dave  Wood  on  the 
secrets  of  the  ZX81's  internal 
juggling  act,  whereby  it 
concurrently  processes  up  to 
three  signals  at  once.  Just 
what's  inside  the  NOP  generator 
anyway  ?  Future  meetings  prob¬ 
ably  won't  be  so  intense;  all 
those  interested  in  Machine  Code 
at  any  level  are  encouraged  to 
attend.  Next  meeting: 

September  6,  1984 


The  next  three  issues.  Sept., 
Celebration,  and  Oct.  will  offer 
an  excellent  opportunity  to  reach 
an  interested  and  active  section 
of  the  surviving  TIMEX/Sinclair 
community.  Contact  either  Sue 
Mahoney,  Group  Director  or  the 
editor  for  special  rates  for  all 
three  of  these  issues.  Members 
wishing  to  sell  off  equipment, 
offer  services  or  software  are 
also  reminded  that  classified 
ads  are  available  at  economy 
rates . 

This  newsletter  is  produced  by 
the  Sinclair/Timex  User  Group  of 
the  Boston  Computer  Society  in 
addition  to  regular  meetings  and 
activities.  It  is  mailed  free  to 
members  and  supporters;  back 
issues  are  available  for  a  small 

We  meet  in  the  Large  Science 
Auditorium  (Room  8/2/009)  on  the 
Harbor  Campus  of  U/Mass  Boston, 
which  is  located  3  miles  from 
downtown  Boston  just  off 
Morrisey  Blvd.  Follow  signs  from 
the  SouthEast  Expressway,  Exit 
17.  During  reconstruction, 
Columbia  Road,  which  comes  in 
from  Dorchester  may  be  a  better 

On  the  MBTA,  take  the  Red 
Line  (Ashmont)  to  Columbia  Sta. 
Use  the  free  University 
Shuttlebus  from  the  T  parking 
lot  to  get  to  campus. 

The  Sinclair  TIMEX  User  Group 

Sue  Mahoney  Director 
c/o  BCS  Office 
or  203-755-2699 

Will  Stackman  Editor 
210B  Summer  St. 
Somerville  MA  02143 

Jack  Hodgson  Correspondent 
P.O.Box  526 
Cambridge  MA  02238 

John  Kemeny 

User  Group  Correspondent 
284  Great  Rd.  Apt.  D5 
Acton  MA  01720 

Allan  Cohen 
Meeting  Coordinator 

Don  Weiss 
27  Mitchell  St. 
Randolph  MA  02368 
(617)  986-8449 


The  newsletter  exchange  con¬ 
tinues  provide  us  with  the 
doings  of  TS  Users  across  the 
continent.  Triangle  Sinclair 
User's  Group  is  in  hot  pursuit 
of  the  64  column  screen  and  has 
published  the  detailks  of  an  RGB 
hook-up  designed  by  John  Oliger 
of  Cumberland,  IN.  Doug  Dewey, 
their  fearless  leader  is  ready 
to  market  his  Chameleon  for  $60. 
Call  919-929-3079  for  details 

Want  an  audible  keybeep  ?  ZX 
World  News  Bulletin  suggests 
POKE  23609,  (#from  1  to  255). 
What's  your  favorite  ?  They  are 
publishing  programs  from  an 
Italian  correspondant ,  Oriani 

Fred  Nachbaur's  Syncware 
News  is  now  coming  out  under  the 
aegis  of  our  northern  friend, 
Tom  Woods.  The  magazines'  new 
address;  P.O.Box  64,  Jefferson, 
N.H.  Nov. -Apr.  (delayed  issue) 
had  instructions  for  using  a 
Votem  to  make  a  cassette 
controller,  a  "Caveman"  BASIC 
Wordprocessor  for  both  TS100  and 
TS2068  (the  differences  are 
instructive) ,  a  page  of 
schematics  for  small  loading 
aids,  plus  some  high-powered 
math  articles.  May-June,  Fred's 
last  has  an  improved  monitor 
driver,  more  math,  and  a  Data 
Acquisition  Development  program 
for  using  the  Votem  or  another 
V-F  circuit  board  with  the  1000. 

TUG  from  Gainesville,  Fla.  is 
getting  into  the  Westridge  Modem 
and  will  be  on  line  to  talk. 
Roger  Hunsiker  of  the  group 
suggests  that  green  PAPER  and 
BORDER  with  black  INK  makes  the 
most  readable  B&W  screen  for  the 
2068.  Any  comments  ? 

David  Hosher,  from  ATSU  in 
Central  Ohio,  gets  into  the 
colored  cursor  on  the  2068  and 
uses  it  to  highlight  listings 
(how  about  red  REM  statements  ?) 
To  activate  a  colored  cursor,  go 
to  E  mode,  then  shift  the  color. 
If  you  shift  8  or  9,  which  are 
"colorless"  you  can  create 
flashing  statements  without 
using  the  FLASH  0/1  commands;  9 
for  on,  8  for  off. 

We  continue  to  receive  issues 
fron  the  T/S  User's  of 
Vancouver.  June/ July  reviews  Z- 
Speak,  a  simple  allophone  speech 
synthesizer  and  offers  a  short 
program  to  compute  your  pulse 

From  issues  early  this  year, 
which  are  beginning  to  swamp  our 
faithful  correspondent,  John 
Kemeny,  (more  about  which  later) 
comes  headline  sized  printing 
from  New  Brunswick. 


10  DIM  A  $  { 4-0 ) 

20  INPUT  A$ 

30  FOR  Y  =4-3  TO  4  STEP  -1 
40  hOR  X=0  TO  7 
50  LET  5=43-7 
50  LET  N=X+S* INT  (S/S) 

70  LlT  SCRN=S-8*INT  (S/S) 

80  LlT  P=Pt:EK  (76S0+8*CODE  h$ ( 
N+l) +SCRN) 

90  FOR  1=7  TO  0  STEP  -I 
1 0  0  R  L  OT  b  X  4-7-1  ,  Y 
110  UNPLOT  Q*X+7-I.Y 
120  IF  P<2**I  THEN  GOTO  150 
130  LET  P  =P -2 ■+•■+■  I 
1 4 0  P  L  OT  8  ■£  X  +  7  -  J  .  Y 
158  NEXT  I 
160  NEXT  X 
170  NEXT  Y 

Unfortunately,  this  doesn't  seem 
work  on  the  2040  printer.  Anyone 
see  a  fix  ? 

Finally,  from  TIMELINEZ ,  the 
newsletter  of  the  Triangle  Timex 
ser's  Group  of  N.C.  a  method  for 
darkening  the  display  file 
image  on  the  screen  which  will 
also  COPY  or  LIST  to  the  printer. 
See  lines  1  through  9. 

The  rest  of  program  is  derived 
from  several  British  sources. 
For  an  explanation  of  this  "toy" 
see  the  last  few  issues  of 
Creative  Computing,  the  Math  and 
Art  series. 

There  is  a  wealth  of  material 
out  there.  We  need  help  mining 
it  for  the  newsletter  and  for 
your  use.  Volunteers  are  needed 
to  compile  an  index.  TS2068 
users  especially  should  want  to 
participate  in  such  a  project. 
Contact  John  Kemeny  for  more 


On  the  Magazine  Scene 

One  of  the  most  interesting 
magazines  on  the  news  stands  in 
Harvard  Square  is  a  British  pub¬ 
lication,  Your  Computer,  which 
covers  all  the  smaller  personal 
computers  on  the  English  market. 
Naturally  the  ZX81  and  the 
Spectrum  figure  prominently  on 
its  pages.  Among  the  tips 
published  so  far  this  year  is 
the  secret  to  INPUTing  anywhere 
on  the  TS2068  (Spectrum) 
screen.  Key  in; 

10  INPUT  AT  22,0; AT  1 , 10 : "Promp 
t  message";  var. 

Experienced  BASINC  users  will 
recognize  this  as  a  variant  on 
the  technique  for  speeding  up 
screen  displays.  The  second 
screen  location  can  be  anywhere 
legal.  So  much  for  that  gripe! 
Courtesy  of  Hubert  Surrer  from 
somewhere  in  Germany. 

Programs  range  from  the 
weird  to  the  wonderful.  The  May 
issue,  (the  latest  I've  seen) 
has  a  software  generated  speech 
synthesizer!  for  the  ZX81,  as  a 
follow  up  to  an  article  last 
year  on  the  same  feature  for  a 
Spectrum,  a  Quickload  for  the 
latter  with  a  top  speed  of  over 
3600  Baud,  arcade  games  for  both 
machines,  and  other  goodies. 

Even  the  ads  are  of  some 
interest.  Watch  for  the  Floopy 
from  'Phi  Mag  which  uses  a  loop 
of  standard  sized  cassette  tape 
and  a  nine-track  recording  head 
(one  for  error  checking) .  Claims 
an  average  access  time  of  3 
seconds,  data  transfer  of  10K 
bytes  per  second.  Will  load  32K 
in  just  over  3  seconds. 

Earlier  issues  this  year 
contained  items  of  interest  such 
as  "Function  Keys"  for  the 
Spectrum  (which  would  require 
some  address  changes  for  the 
TS2068)  and  definable  printer 
characters  for  the  ZX81. 

Other  general  interest 
British  magazines,  such  as  "What 
Micro?"  support  Sinclair 
computers,  but  none  to  the  depth 
of  "Your  Computer" 



ReM  set  rairitep 


LET  s =57736: 

REM  start  addr 


kLhD  Fi 


IF  Fi  =— 1  THEN 

GO  TO  8:  REH  d 

a  t  a 

f  lag 


POKt:  S  -  Fi 




GO  TO  3:  REH 

POKE  next  addr 



S  DATA  17,0,221,213, 1,0, 3, 4-2, 
34- ,  02 , 3b ,  12S  ,  157 , 31 , 132 .13,35,19 
,  13 , 32 , 24-b  ,15, 24-4- , 225 . 37 , 34- ,  54- ,  9 

10  RtH  iSPYRG—  GYRGi 
20  BORDER  6:  PRPER  0:  INK  7 
30  LET  OV  =0 :  CI_S  :  GO  TG  150 
50  LET  3=0:  LET  h=0:  LET  F=0: 
LET  i=.i:  LET  hl=0:  LET  vl=0 
100  LET  b=—  CaiL)  sS  :  LET  V=INT  i 
CCL-SiiSIN  Csi-piSIN  CfaJJ+.S):  L 
ET  h=INT  CCCL-Si^COS  (a } -peCOS  C 

110  II-  f  =2  THEN  PLGT  I2S+hl,8S+ 
Vl:  DRRU  h-hl  ,  V-Vl 
115  IF  f  <2  THEN  LET  f  =  f+l 
120  LET  hl=h:  LET  V 1  =v :  LET  3=3 

125  LET  3  * = IN  KEY  4 :  IF  a$=““  THE 
N  GO  TO  10@ 

130  GO  TG  310 

150  PAPER  0:  INK  6:  CLS  :  PRINT 


1B0  INK  7:  PRINT  ' 11  This  prog 
ram  drams  patterns  mhich  can 

he  generated  by  tso  gears  shorn 

n  be  i oai-” 

170  CIRCLE  60,51,40:  CIRCLE  34-, 
51,1b:  INK  3:  PLOT  60.51:  DRRU  0 
,4-0:  PLOT  -34-, 51  DRRU  0.16:  PRIN 
T  RT  12 , 7;  “L“  ;  RT  14 . 10 ;  ”s  “  :  PLOT 
94-, 51:  DRhU  15,32:  PLOT  94-, 51: 
DRRU  13.-30 

130  INK  6:  PRINT  RT  11.12: “pen" 
190  INK  7:  PRINT  RT  10 j 16 ; “  Th 
e  smaller“;RT  11,16; “gear  rotate 
s " ; RT  12,lb; “around  the“;RT  13,1 
6;  “inside  of  the“;RT  14,16; "larg 
er  gear,” 

200  PRINT  RT  IS , 16; "producing  a 
pen" ; RT  15,16; “trace . “ 

210  PRINT  RT  17,16;“  Input  L,s 
,and“;RT  13,1b; “pen  position“;RT 
19,16; “in  small  circle." 

220  PRINT  Ri  21.11; “Hit  a  ley": 
^TIU5£  0  ' 

225  INPUT  “  Load  a  Pattern  from 
Tape?ji/n “;x$:  IF  x$=“y“  THEN  I 
NPUT  ”i-i  lename  ?"  ;  f  S:  CLS  :  LORD 
fSCGDb  :  PAUSE  0:  GO  TO  130 
227  PRPER  7:  INK  0 
230  INPUT  “Radius  L  10-35J^":L- 
PRINT  L ‘ : 

240  INPUT  “Radius  S  7";s:  PRINT 

250  INPUT  “Pen  position  inside 
B  ?“;p:  PRINT  p 

255  INPUT  “In SCO  lor  ?“ ; i c :  INK 

i  S~ 

i^u i  raperco lor  ?  .pc 
300  PnUbt  50:  IF  ov=0  THEN  PRPE 
R  PC:  CLS  :  GO  TO  50 
305  GO  TO  50 

310  INPUT  “overprint  another  pa 
item  ?  y,n“; if  qs="y“  then 
LET  OV  =1 :  GO  TO  230 
315  If  qf=”y“  THEN  GO  TO  30 

320  INPUT  “Print  Hard cony 
“;q$:  L PRINT  L;“  “;s;“  ";p 
$=”y“  THEN  COPY 

j.npUT  “save  Tape  copy 
“;qs.  IF  q*=“y“  THEN  INPUT 
name  7“; y*:  SRUE  qSSCREENS 
340  GO  TO  lb@ 

7  y,Ts 
XF  q 

?  y  .rn 
"Fi  le 


RfiHDGHiZE  UsR  8773b  to  durteii 
POKE  23607,6©  to  restore 

A  Comparator  to  Use  on  Lad  2068  Cape 3'*. 
by  Chuck  Ludiwsky 
aa  told  to  Hike  Coughlin 

The  program  loading  end  saving  process 
on  the  152068  is  a  great  improvement 
over  the  131000.  The  signal  recorded 
a  series  of  square  pulses,  with  ones 

shorter  than  zeros.  There  is  no  DC 
component  and  reversing  plus  and  minus 
has* no  important  effect.  Square  waves 
are  difficult  to  record  and  some  tapes 
are  being  sold  that  may  not  loaa. 

A  tape  would  have  to  be  in  re all y 
dreadful  condition  before  the  point 
where  the  signal  changed  from  plus  to 
minus  was  effected.  A  handy  elect¬ 
ronic  circuit  known  as  a  comparator 



is  specially  designed  to  take  a  tao 
scmare  wave  ana  make  it  into  a  good 
sauare  wave.  An  ordinary  op— amp 
makes  a  good  comparator  for  our  pur¬ 
pose.  Chile  an  LF^N  was  used  in 
our  example,  any  op-amp  that  will 
work  at  low  voltage  is  suitable. 

A  comparator  is  a  very  high  gain 
amplifier  whose  output  is  designed 
to  go  from  one  extreme  of  the  power 
supply  to  the  other .  Think  of  it  as  ^ 
a  constantly  overloaded  amplifier  and 
a  one  Lit  A  to  D  converter.  The  output 
is  equal  to  the  power  supply  voltage. 
The  values  of  the  components  are  not 
critical,  so  don’ t  be  afraid  to 


Try  this  on  your  TS2068 !!!!!!!! 

experiment . 


Most  TS1000/1500 (ZX81)  owners 
and  not  a  few  TS2068  users  have 
Psion  Ltd . s  VU-CALC  and  VU-FILE 
(The  Organizer)  .  But  even  those 
who  have  applications  developed 
for  these  two  utility  programs 
probably  do  not  use  either  as 
much  as  they  might.  The  in-box 
documentation  which  accompanies 
these  programs  is  sketchy  at 
best,  and  barely  scratches  the 
surface  of  their  potential 
usefulness . 

"Getting  Serious  with  Your 
TIMEX/SINCLAIR"  could  end  the 
under-use  of  either  program. 
Expanded  from  tutorials  BOB  has 
given  at  S/T  Users'  Group 
meetings,  this  book  walks 
through  a  range  of  examples 
which  can  yield  results  of  the 
sort  we  usually  claim  we  bought 
a  computer  to  get. 

The  appendix  by  Mark  Fisher 
on  VU-CALC  for  the  2068  will 
allow  those  of  us  with  color 
computer  to  benefit  from  this 
book  as  well.  Although  this 
spreadsheet  can  be  as  large  as 
50x50  (Rows  from  A  to  AX, 
columns  from  01  to  50) ,  the 
templates  included  with  this 
book  will  serve  for  most 
applications.  Larger  forms  can 
be  created  on  fullsize 
accounting  paper. 

Both  versions  of  VU-Calc  can 
be  printed  out  using  the  2040 
Printer.  In  vertical  format,  a 
TS100  version  can  be  pasted  up 
on  8  1/2  x  11  to  6  columns  by  26 
rows;  horizontally,  9  columns  by 
18  rows.  (Six  screens  in  either 
case).  On  the  2068,  vertical 
yields  8  by  50;  horizontal,  12 
by  36 . 

TS1000  users  should  also  con¬ 
sider  following  Fisher's  custom¬ 
izing  notes.  Carefully  entered, 
these  improvements  are  worth 
adding  to  most  uses  of  VU-CALC. 

The  whole  secret  to  getting 
the  most  out  of  this  book  is  to 
sit  down  and  use  it.  As  with 
most  spread  sheets,  developing 
formulas  is  really  a  form  of 
programming  using  simple 
accounting  and  the  "language"  of 
the  program  at  hand. 

VU-FILE  (The  Organizer)  seems 
at  first  a  simpler  piece  of 
software,  but  may  be  harder  to 
use  effectively.  Bob's  sugges¬ 
tions  for  formatting  are 
ingenuous  and  increase  the 
usefulness  manyfold.  His  demyst¬ 
ification  of  print  formatting 
procedure  is  invaluable.  Again, 
most  explanations  are  clear  only 
after  use. 

Anyone  seriously  expecting  to 
use  VU-FILE  will  need  to  study 
the  formatting  templates 
supplied.  Otherwise  you'll  spend 
(waste)  hours  trying  to  get 
records  the  right  size.  Perhaps 
the  major  lesson  of  this  book  is 
that  effective  planning  before 
using  an  application  program, 
applying  an  old-fashioned  pencil 
to  an  appropriate  form  will 
yield  maximum  results. 

Too  often,  users  assume  the 
computer  will  do  it  all.  There's 
not  a  little  laziness  in  the 
demand  for  "user-friendly" 
software.  A  good  tool  may  take  a 
while  to  learn  to  use  well. 

To  reiterate  a  point.  If 
carefully  though-out  document¬ 
ation  were  supplied  with  more 
software,  it  would  be  more  often 
worth  its  price.  Unfortunately, 
many  programs  are  released  hot 
off  the  printer.  It  will  be 
interesting  to  see  what  the 
documentation  for  the  software 
bundled  with  the  QL  is  like. 


A  BUG  IN  TS2068  VU-CALC  ! 

Option  2  on  the  end  menu, 
which  clears  the  sheet  for  a  new 
model  crashes  the  program.  GOTO 
9000  will  not  display  the  error. 
Variables  have  been  overwritten. 

Repairs  are  simple.  Enter  #q 
to  exit  to  BASIC.  The  LIST  3200, 
and  bring  it  down  to  EDIT.  Add 
the  following  statement  to  the 
head  of  the  line  before  the  DIMS. 

3200  CLEAR  29327; 

and  leave  the  DIMs,  etc  in  place. 
Return  to  VU-CALC  by  entering 
GOTO  3200. 

Discovered  by  Gary  Szekeres, 
T/S  Users  Group  of  Cincinnati 


Reserving  Space  in  a 
REM  Statement 

When  storing  a  machine  code 
program  in  a  REM  statement,  the 
programmer  must  have  written  the 
statement  with  at  least  as  many 
bytes  as  the  program  requires; 
often  a  tedious  and  time 
consuming  task,  especially  if 
the  program  is  large.  Assuming 
that  the  first  line  in  BASIC  is 

the  REM  statement  (1  REM  xxx - ) 

the  first  addressable  byte  is  at 
16514  (hex4082 ) .  The  following 

procedure  will  simplify  loading 
MC  into  1  REM. 

Step  1  :  Enter  1  REM;  10  Program 
loader . 

Step  2  ;  Place  this  short  MC 

program  above  Ramtop,  at,  say, 
30000  (hex7530) . 

Address  HEX  Mnem 

7530  21  82  40  LDHL  4082 

Addr.lst  byte 

7533  01<st  qr >  LDBC  qrst 

No. reserved  bytes 
7536  CD  9E  09  Call  099E 

Make  room 

7539  C9  Ret 

Step  3  :  RAND  USR  30000  (safe 

address  above  Ramtop) 

Step  4  :  POKE  into  16511  and 

16512  the  number  qrst  +  2  (low 

byte  into  16511,  high  byte  into 

Following  Step  4,  the  machine 
code  program  may  by  entered  by 
POKEing  the  code  into  addresses 
beginning  at  16514,  using  any 
standard  loading  program. 

For  example,  suppose  the  MC 
program  uses  1000  bytes.  The 
number  qrst  =  03  E8  in  hex;  the 
instruction  at  address  7533  is 
01  E8  03  (note  reversal)  .  After 
Step  3,  the  number  1002  would  be 
POKEd  into  addresses  16511  and 
16512  in  the  immediate  mode,  i.e 

POKE  16511,234  <enter> 

POKE  16512,3  <enter> 

on  your  microcomputer" 

Czes  Kosniowski,  from  the 
Computer  Dept,  of  the  University 
of  Newcastle  on  Tyne,  has 
written  a  maths  book  for  those 
who  always  suspected  that 
computers  probably  could  be  used 
as  mathematical  tools,  but  that 
somehow  that  wouldn't  be 
"friendly" . 

This  moderately  advanced  text 
(at  last  past  freshman  year  of 
highschool)  contains  very  clear 
discussions  of  important 
principles  which  support  the 
screen  display  of  mathematical 
functions . 

The  accompaning  BASIC  programs 
can  be  run  on  most  Microsoft- 
based  home  computers  including 
all  Sinclair/Timex  models. 
Several  have  been  specifically 
converted  into  BASINC,  most 
require  some  knowledge  of  its 
idiosyncracies .  The  polar  graphs 
which  accompany  this  review  show 
some  of  the  posibilities 
inherent  in  mathematically  based 
computer  "art". 

Published  by  Cambridge 
University  Press;  ISBN  0  521 

27451  6.  Available  locally  under 
$10.  Get  this  one  into  your 

/  *  *•’ 

(Note;  3  x  256  +  234  -  1002) 

Contributed  by  Arthur  Kant,  139 
Woodridge  Rd.,  Wayland  MA  01778 

T i  me;. 

Computer  Fairs/East  .  . 

News  -from 

Where.  0,  Where  are  the  TS2068 
technical  manuals?  I’ve  scoker. 
with  many  people  who  ordered  the 
new  tech  manual  -from  Little  Roc) 
in  April  or  May  and  still  have 
not  received  them,  while  several 
ether  oar sons  have.  Why  should 
this  be'-' 

It  turns  out  that  Timex  orig¬ 
inally  produced  200  copies  of 
the  approximately  300-page  man¬ 
ual  on  a  Xerox  machine.  As  the 
orders  began  to  outnumber  the 
manuals,  it  was  decided  to  send 
the  manual  to  the  printer 

Three  months  later,  during  the 
week  of  July  30,  Little  Rock 
mailed  1,000  tech  manuals  -  bulk 
rate.  So,  it  may  be  near  the 
end  of  August  before  you  find  a 
present  from  Timex  in  your 
mai lbox . 

One  final  notei  Timex  is  now 
putting  all  new  orders  for  the 
manual  on  "hold"  until  they  have 
enough  to  warrant  a  second 
printing.  For  those  of  you  who 
wish  to  order,  send  your  request 
(along  with  a  check  for  *25.00) 


P.G.  Box  1378 

Little  Rock,  AR  72203 

ATTN:  Material  Sales  Div. 

And  Good  Luck! 

*  *  * 

Timex  has  sold  its  entire 
inventory  of  computer-related 
products  to  wholesalers  and 
retailers.  This  means  that  you 
CANNOT  purchase  any  of  these 
items  directly  from  Timex  any¬ 
more.  From  this  point  forward, 
it  will  be  very  important  for 
all  of  us  to  share  information 
on  the  whereabouts  of  Time; 
computer  products. 

You’ve  heard  of  the  West  Coast 
Computer  Faire°  Well,  it’s 
coming  East  to  Boston.  The 
producers  of  the  three-day  show 
(October  2-4)  are  providing  a 
booth  for  the  Sinclair/Timex 
User  Group  (all  those  other  BCS 
groups  get  a  booth  too) .  What 
we  need  are: 

-  Ideas.  What  are  we  going 
do  with  this  opportunity? 

-  Volunteers.  For  planning, 
staffing,  and  generally 
hanging  around  the  booth. 

Since  the  show  will  fall  near 
our  third  anniversary,  let’s  try 
and  make  this  opportunity  into 
a  showcase  and  celebration  for 
our  group.  Please  get  in  touch 
with  me  if  you  have  ideas,  or  if 
you’d  like  to  help  out  in  the 

(RETurns ) . 

Originally,  I  wanted  to  show  you, 
in  this  first  installment,  how  to 
load  this  program  into  your  compu¬ 
ter  and  run  it.  But  I've  run  out  of 
room  and  you  have  enough  to  chew  on 
anyway . 

Next  time  I ' 11  tell  you  about  load¬ 
ing  machine  language  programs;  get¬ 
ting  "letters"  from  the  keyboard, 
and  the  infamous,  "Hex  numbers". 

Machine  language  is  not  mysterious. 
It  is  a  little  more  complicated 
than  some  "high-level"  languages 
because  in  machine  language  you 
must  keep  track  of  many  details 
yourself.  But  it  can  add  to  the 
sophistacation  of  your  programming 
and  speed  up  you  routines.  And 
finally  many  programmers  like  to 
simply  "work  closer  to  the  mach¬ 
ine  .  " 

If  you  got  this  far  you'll  love 
installment  two. 


I  was  only  a  beginner  when  I  first 
plowed  my  way  through  Toni  Baker ' s 
book.  If  I  learned  it,  anyone  who 
wants  to  can. 

The  biggest  problem  I  had  in  learn¬ 
ing  all  this  was  that  the  Z80  pro¬ 
cessor  chip  that's  in  the  Sinclair 
is  so  sophisticated  that  it  had  too  i 
many  instructions  for  me  to  deal  j 

with.  I  didn't  know  where  to  start,  j 


What  I'm  going  to  do  in  this  series 
of  articles  is  to  present  a  simpli¬ 
fied  view  of  Z80  programming.  I 
won't  show  you  all  the  instructions 
or  make  you  understand  all  the 
details  of  how  it  works.  I  will 
give  you  enough  info  to  write  sim¬ 
ple,  useful  machine  language  pro¬ 
grams  . 

This  series  will  deal  with  the 
ZX81/TS1000/TS1500  series  of  compu¬ 
ters.  Many  of  the  priciniples  I 
demonstrate  will  apply  to  the 
TS2068  as  well,  but  some  of  the 
details  will  have  to  be  adjusted. 
Ask  me  or  another  machine  language 
programmer  at  the  meetings  about 
the  differences.  If  there's  enough 
interest  the  editor  of  this  letter 
may  allow  me  to  write  an  updated 
TS2068  version. 

OK  let's  get  started. 

A  computer  is  just  a  collection  of 
storage  places  where  one  puts  num¬ 
bers.  The  instructions  tell  the 
computer  to  move  numbers  from  one 
place  to  another,  do  arithmetic 
with  them,  compare  them,  and  do 
things  as  a  result  of  those  compar¬ 
isons  . 

First  let's  look  at  how  these  stor¬ 
age  places  are  set  up. 

The  processor  has  a  bunch  of  stor¬ 
age  locations  built  into  it.  They 
are  called  "registers".  There  are 
alot  more  storage  locations  in  the 
area  we  all  call  RAM.  The  registers 
have  names  that  are  letters:  like 

A,  B,  C,  H,  and  L.  The  RAM  loca¬ 
tions  have  names  that  are  numbers : 

0  up  to  65,535. 

The  computer  understands  instruc¬ 
tions  that  tell  it  to  move  a  number 
from  one  location  to  another,  for 
example,  "move  the  contents  of 
16514  to  A".  That  instructions  is 
actually  called  "LD  A,  (16514)". 
That  means  load  the  A  register  with 
the  number  that  currently  in  loca¬ 
tion  16514. 

The  parentheses  tell  the  computer 
to  load  A  with  the  contents  of  the 
"address"  16514  instead  of  the 
number  16514  itself.  If  we  wanted 
to  put  a  particular  number  into  A 
we  would  say  "LD  A,  16514"  without 
the  parenthesis. 

An  important  note  here .  The  compu¬ 
ter  can  only  deal  with  certain 
sized  numbers.  Our  second  example, 
using  16514,  would  not  work  because 
16514  is  too  big  for  the  computer 
to  handle.  The  computer  can  only 
handle  numbers  up  to  255. 

What  follows  is  as  complicated  this 
is  going  to  get.  So  please  take  a 
deep  breath  and  understand  it. 

The  number  "fifteen"  can't  be  un¬ 
derstood  by  a  desktop  calculator 
when  it's  written  that  way.  You 
need  to  divide  it  into  "digits" 
between  0-9.  We  all  know  that  "fif¬ 
teen",  turned  into  digits  is  "15" 
but  understand  how  that  happened. 
"15"  is  "1"  times  10  plus  "5"  times 
1.  That's  called  "base  ten".  Compu¬ 
ters  use  "base  256"  (Please  don't 
everyone  holler  at  me.  I  know 
people  always  says  computers  use 
base  two.  They  do,  but  you  don't 
need  to  know  anything  about  that 
here.  Just  THINK  BASE  256). 

Converting  numbers  from  base  ten  to 
base  256  is  easy.  You  look  it  up  in 
a  chart.  For  the  stuff  we'll  be 
doing  here  I'll  supply  the  conver¬ 
sions.  Next  installment  I'll  show 


OK.  Enough  of  this  fooling  around. 

Let's  write  a  program.  Here's  a 

BASIC  program: 

10  PRINT  " 



How  would 

we  do  that 

in  machine 


It's  really 

not  too  hard. 

















LD  HL,  64-144 



LD  A,  (HL) 



CP  255 






CALL  8-8 






JP  64-133 






ADRS  is 

the  RAM  location  where 

these  instructions  are  going  to  be 
stored.  OP  CODE  is  the  numbers  that 
the  computer  understands  as  instr¬ 
uctions. The  numbers  starting  at  64- 
144  are  the  code  numbers  for  the 
letters  "HELLO  WORLD." 

The  first  instruction  LD  HL  puts 
the  starting  address  of  these  let¬ 
ters  into  the  HL  register.  LD  A, 
(HL)  puts  the  first  "letter"  into 
A.  CP  255  compares  whatever ' s  in  A 
to  see  if  it's  equal  to  255.  RET  Z 
ends  the  program  if  the  comparison 
we  just  did  is  equal  to  255  (notice 
that  the  last  "letter"  is  255). 

CALL  8-8  tells  the  computer  to 
executea  routine  that  is  already  in 
the  computer,  at  address  8-8.  That 
routine  causes  the  "letter"  in  the 
A  register  to  be  printed  on  the 
screen.  INC  HL  causes  the  HL  regis¬ 
ter  to  be  increased  by  one  so  it 
now  is  the  address  of  the  next 
"letter".  JP  64-130  causes  the 
computer  to  go  back  to  the  LD  A, 
(HL)  and  get  the  next  "letter". 

It  does  all  this,  getting  letters 
and  printing  them,  until  it  gets  to 
the  "letter"  255  then  it  stops 

you  how  to  make  a  chart  of  your 
own . 

Anyway,  where  were  we?  Oh  yah. 
16514  is  64-130.  That  is,  16514  is 
"64"  times  256  plus  "130"  times  1. 
LD  A,  16514  is  written  for  the 
computer  as  LD  A,  64-130.  LD  A, 
(16514)  is  written  LD  A,  (64-130). 

Sometimes  we  want  to  store  numbers 
bigger  than  255  in  a  register.  We 
can  do  this  by  combining  two  regis¬ 
ters  into  a  bigger  one.  Some  regis¬ 
ters  are  set  up  to  be  used  in 
pairs.  B&C  and  H&L  are  ready  to  be 
combined.  They  are  then  called  by 
their  combined  name:  BC  or  HL.  We 
can  put  numbers  in  them  by  using  LD 
HL,  64-130  or  LD  BC,  64-130. 

Up  above  we  asked  to  computer  to 
load  A  with  the  number  stored  at 
adresss  64-130.  We  can  also  tell  it 
to  load  A  with  the  number  stored  at 
the  address  that's  currently  in 
register  HL.  For  example: 

LD  HL,  63-130 
LD  A,  (HL) 

This  does  the  same  thing  as 
LD  A,  (63-130) . 

Before  the  computer  can  execute 
these  instructions  we  must  convert 
them  into  numbers.  The  computer 
can't  understand  the  letters  LD  A, 
28.  It  only  understand  numbers. 

The  number  for  the  instruction 
LD  A,  28  is  62-28.  The  62  means  LD 
A  and  the  28  tells  what  to  load  it 
with.  62-255  would  mean  LD  A,  255. 

When  your 're  loading  a  register 
pair  you  have  to  do  something 
strange.  LD  HL,  64-130  becomes  33- 
130-64.  33  means  LD  HL  and  the 

number  to  be  loaded  is  tacked  on  in 
reverse  order.  Whenever  the  compu¬ 
ter  is  reading  a  two  section  number 
like  that,  it  must  be  given  to  it 
in  reverse  order. 

concl .  p.8. 


T/S  2068  ROM  BUGS  by  John  Kemeny 


Well,  the  Technical  Manual 
from  Timex  finally  arrived,  and 
it  has  lots  of  interesting 
things  in  it.  Unfortunately,  it 
is  no  longer  available  from 
Timex.  Since  the  manual's 
audience  is  software  developers 
and  not  consumers,  most  of  the 
material  concerns  arcane  machine 
code  interfaces  with  the 
cartridge  system  (via  LROS  and 
AROS).  Of  interest  to  the  BASIC 
programmer,  however,  is  Section 
Six  -  "Known  'Bugs'  and  'Work- 
Arounds'";  here's  the  list  • 

1  -  Pressing  ENTER  multiple 
times  with  an  invalid  LOAD, 
SAVE,  or  other  tape  command 
causes  a  system  reset. 

2  -  If  a  non-existent  line 
number  is  specified  for  an 
ON  ERR  GOTO  statement,  followed 
by  an  error,  the  system  will 
hang.  In  case  youte interested 
in  the  details,  "the  ROM  code  is 
in  an  endless  loop  trying  to 
report  the  absence  of  a  valid 
error  handler  to  the 
non-existent  error  handler  !  !  !  " 
That's  what  happens  when  you  do 
recursion  without  defining 
initial  conditions. 

3  -  Parameters  to  the  SOUND 
command  are  not  fully  validated. 
This  leaves  the  possibility  of 
accidentally  changing  the  I/O 
ports  for  reading  the  joystick. 
The  remedy  is  to  execute  SOUND 
7,63  to  enable  the  joystick  for 
input . 

4  -  If  you  respond  to  the 
SCROLL?  message  using  multiple 
keys  you  will  get  strange 
results,  e.g.,  Cap  Shift/4 
scrolls  two  pages,  Cap  Shift/2 
dumps  ROM  data. 

5  -  When  Cap  Shift /0  is  held 
down  to  delete  characters  in  the 
Edit  Line,  it  sometimes  outputs 
the  DELETE  keyword  instead.  "It 
should  not  do  this  in  autorepeat 
mode.  This  is  especially 
noticeable  when  the  input  line 
is  long." 

These  are  all  the 
documented  bugs.  Here's  an 
extra,  undocumented,  bug. 

6  -  The  UP-ARROW  function 
Lor  **  on  the  T/S  1000,)  which 
for  x~y  is  supposed  to  give  you 
x  raised  to  the  y  power,  doesn't 
work  for  negative  x's.  That  is, 
-5~2  gives  -25  which  is  okay( 
is  done  before  the  unary  minus). 
But  (-5)~2  gives  an  error,  and, 
as  everyone  knows,  the  answer  is 
(-5)*(-5)=25 .  The  problem  is 
that  the  algorithm  computes 

EXP  (y  *  LN  x)  if  x  is  not  zero. 
LN  x  is  undefined  if  x  is 
negative.  If  x  is  zero  it 

returns  zero  if  y  is  positive;  1 
if  y  is  also  zero  (i.e. ,0**0=1) ; 
and  overflow  error  if  y  is 

That's  a  suprisingly  short  list 
of  bugs  for  a  system  as  complex 
as  the  2068.  Please  let  us  know 
if  you  find  more. 

OOQOThe  Boston  Computer  Society 

Annual  membership  in  The  Boston  Computer  Society  includes 
mailings  from  any  two  user/interest  groups  (attendance  at 
monthly  meetings  is  unlimited). 

□  Regular  (1  year),  $24 

□  Regular  (2  year),  $45 

□  Regular  (3  year),  $62 

□  Youth  (under  18),  $15 

□  Senior  citizen,  $15 

□  Family,  $36 

□  Overseas,  $48 

□  Institutional,  $100 

□  Sustaining,  $120 

□  Corporate,  $200 

□  Lifetime,  $2000 

Sign  me  up  for  these  user  groups: 

□  Apple/Boston 

□  Atari 

□  Commodore 

□  Digital  Equipment 

□  Displaywriter 

□  80/Boston  (TRS-80) 

□  Heath/Zenith 

□  Hewlett-Packard 

□  IBM  PC 

□  Kaypro 

□  Macintosh 

□  NEC 

□  Osborne 

□  Otrona 

I  Sinclair/Timex  v 

□  Tfexas  Instruments 

□  Victor 

□  Other _ 


Sign  me  up  for  these  special  interest  groups: 

□  Artificial  Intelligence 

□  Business 

□  Consultants/Entrepreneurs 

□  CP/M 

□  Database 

□  Education 

□  Family/Home 

□  Graphics 

□  Investment 

□  Legal 

□  Logo 

□  Medical/Dental 

□  Pascal 

□  Real  Estate 

□  Robotics 

□  Science  &  Engineering 

□  Social  Impact 

□  Telecommunications 

□  Tteining/Documentation 

□  Unix  &  C 

□  Other _ 


10>R£H  **  bt€¥£  bCOVilie'S 
IS  REH  Pasting 


S0  input  T*4pe  a  number  “;n$ 
se  IF  n*="C”  THEN  CES  :  GO  TO 

70  EET  n=URE  Os:  PRINT  RT  0=0; 
“* Iffpu t  38;n:-~  produces  : 

100  FOR  i =0  TO  OS  STEP  n 

110  PEOT  213-i  ,OS 

120  DRRU  i -OS f i 

130  PEOT  4-3 -ri  ;  30 

140  DRRU  OS-i , i 

ISO  PEOT  213-i , OS 

1S0  DRRU  i — BS  -i 

170  PEOT  4-3-#- i  ,80 

130  DRRU  OS-i  «  -i 

100  NEXT  i 

200  GO  TO  50 

The  Boston  Computer  Society 
One  Center  Plaza 
Boston,  MA  02 1 08 



PERMIT  No.  1138 

Circle  Chess  Group 
A,  F •  Stanonis 
P.0.  Box  63 

Des  Plaines,  IL  60017