Skip to main content

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

See other formats


OOOOThe  Boston  Computer  Society 

SINCLAIR-TIMEX  USER  GROUP  NEWSLETTER 


Volume  2,  Issue  7 


July  1983 


This  newsletter  is  produced  to  inform  group  members  of  the  agenda  and 
logistics  for  future  meetings,  as  well  as  to  recap  and  amplify  the  information 
provided  at  the  last  meeting.  It  also  provides  a  forum  for  members  and 
interested  parties  to  communicate  what  they  have  learned  or  developed  relating 
to  Sinclair  and  Timex  computer  products.  Meetings  are  open  to  the  public; 
however,  attendees  are  encouraged  to  join  the  Boston  Computer  Society  (BCS). 
This  newsletter  is  free  to  members.  Back  issues  are  one  dollar  each. 


USER  GROUP  MEETING 


Date:  Wednesday,  July  20,  1983 

Time :  7 : 00  p .m . 

Place:  Large  Science  Auditorium 

UMass ,  Harbor  Campus 
(Directions  on  last  page) 


At  the  July  meeting,  Arman  Toorians  from  Intercomputer,  Inc.,  Boston, 
Massachusetts  will  demonstrate  two  products  that  Intercomputer  has  developed. 
Both  products  are  related  to  real-world  applications  for  the  computer.  The 
first  is  a  controller  used  to  turn  on  and  off  110-Volt  appliances,  such  as 
lights.  The  second  is  a  expansion  module  made  for  the  controller  and  other 
products  marketed  by  Intercomputer. 

FUTURE  MEETINGS 

We  meet  every  month  on  the  third  Wednesday.  The  August  meeting  will  be 
on  the  18th.  Allan  Cohen  has  kindly  volunteered  to  help  coordinate  speakers 
for  the  meetings.  If  you  have  items  to  discuss  at  this  or  future  meetings  or 
suggestions  for  presentations,  please  contact  Sue  Mahoney  or  Allan  Cohen. 
Allan  can  be  reached  at  961—3453.  If  he  is  not  at  home,  leave  a  message  on 
his  answering  machine. 


CONGRATULATIONS  CLIFF! 

With  this  issue  of  the  newsletter,  Cliff  Danielson  (photo  above)  starts 
his  second  year  as  editor.  Cliff  also  has  a  nice  2-page  article  in  the  June 
issue  of  Computers  83,  a  biannual  publication  of  Mechanix  Illustrated.  Much 
of  what  he  said  has  previously  appeared  in  this  newsletter .  Speaking  of 
anniversaries,  any  ideas  for  the  October  meeting? 


HIGHLIGHTS  OF  LAST  MEETING 


Sue  Mahoney  opened  the  meeting  with  an  update  on  the  status  of  the  new 
Timex  computers.  She  said  the  TS-1500  and  the  TS-2000  series  would  be  shipped 
to  the  distributors  in  August.  The  TS-1500  is  an  upgraded  version  of  the 
TS-1000.  It  has  movable  keys  and  16  K  of  built-in  RAM  memory.  Sue  said  she 
has  seen  an  engineering  model  of  the  TS-2000,  now  called  the  TS-2068.  This 
computer  will  have  48  K  of  RAM,  color,  sound,  a  monitor  (as  well  as 
television)  interface,  and  a  lot  more.  The  computer  will  allow  a  64  character 
display  using  a  monitor.  Plans  for  a  16  K  model,  called  the  TS-2048,  have 
been  shelved.  Sue's  hoping  to  be  able  to  show  production  units  at  the  July 
meeting.  Finally,  Timex  is  currently  not  writing  new  software  for  the  TS-1000 
and  TS-1500.  Sue  said  most  of  the  software  efforts  are  aimed  at  the  TS-2068. 
However,  Timex  is  marketing  second  party  TS-1000  software,  and  it  currently 
has  over  eighty  titles. 

Dave  Miller  gave  a  very  informative  review  of  two  high  speed  tape  loading 
programs — Fastload  and  QSAVE.  These  products  save  programs  in  such  ^way  as 
to  make  loading  the  programs  much  faster.  Dave  has  used  both  programs,  and 
has  made  numerous  improvements  to  them.  He  has  found  that  neither  product 
ameliorates  problems  in  loading  tape.  But  this  is  to  be  expected,  since,  in 
general,  it  is  harder,  not  easier,  to  load  tapes  at  a  faster  speed.  For  the 
details,  see  Dave's  article.  Fastload  is  available  from  Gladstone  Electronics 
for  $19.95.  QSAVE,  which  comes  with  an  electronic  filter,  is  available  from  a 
number  of  sources  for  $37.95. 


Bill  Russell  (see  photo),  leader  of  the 
Central  Pennsylvania  Timex/ Sinclair  Computer 
Users  Group,  also  gave  a  presentation.  He 
described  how  he  unexpectedly  landed  in  the 
electronics  business  by  creating  the  Winky 
Board.  He  said  the  passive  (i.e.,  no  power 
required)  device  plugs  into  your  tape  recorder 
to  produce  easier  tape  loading.  It  also  has 
other  functions,  such  as  a  tape  duplicating 
capability  and  an  earphone  eavesdropper.  The 
company,  G.  Russell,  is  named  after  Bill's 
wife,  who  is  doing  all  of  the  marketing. 

Bill's  group  in  Pennsylvania  is  also  developing 
other  products  to  be  marketed  by  G.  Russell. 

ese  include  a  program  that  protects  files,  a 
high  speed  loader,  high-resolution  print 
graphics,  and  a  least-squares  linear  regression 
analysis  program. 


Other  activities  at  the  meeting  included: 

Joe  Gladstone  of  Gladstone  Electronics  and  publisher  of  Timex  Sinclair 
User  attended  the  meeting  and  gave  out  complementary  copies  of  his  new 
magazine • 

Will  Stackman  announced  that  a  company  named  TapeX  in  Boston  was  offering 
C5,  CIO,  and  C30  tapes  with  quantity  discounts.  In  small  quantities,  a 
tape  with  box  and  label  can  be  purchased  for  about  $1. 

Sue  suggested  people  call  Jordan  Kahn  Company  Inc.  in  Framingham  to  get 
information  on  the  availability  of  Timex  computers  and  supplies  in  the 
Boston  area.  Jordan  Kahn  is  the  New  England  district  manager  for  the 
Timex  Computer  Corporation.  The  number  is  (617)  620-1133. 


HIGHLIGHTS  —  Continued 


.  Printer  paper  is  available,  by  mail  order,  from  Timex  in  Little  Rock, 

Arkansas.  Call  the  Timex  information  number,  800-24-TIMEX,  for  details. 
Reportedly,  paper  is  also  available  locally,  from  Cambridge  Paper  Company 
and  Manufactures'  Marketplace  in  West  Roxbury. 

•  BNF  Enterprises  in  Peabody  has  been  selling  old ,  damaged  computers  and 
memories  very  cheaply.  The  computer,  which  sold  for  $9.95,  is  sold  out. 
However,  16  K  RAM  packs,  without  the  case,  are  selling  for  $6.95  (3  for 
$18.00),  and  reportedly  5  out  of  6  actually  work.  Call  (617)  531-5774. 

OCTOPUS  CREDIT 


The  last  issue  of  the  newsletter  featured  an  octopus  on  the  first  page. 
"How  does  an  octopus  relate  to  our  computer?"  you  may  ask.  Have  you  looked  at 
your  system  recently?  With  all  the  perpherals  and  cabling,  our  computer 
resembles  an  octopus.  This  is  not  unique  to  the  Sinclair-Timex ,  however. 

Other  microcomputer  systems,  and  even  hi-fi  component  systems,  suffer  the  same 
maladroitness.  The  octopus  was  sketched  for  the  newsletter  by  Joe  Hamel  from 
New  Bedford,  Massachusetts,  as  a  favor  to  member  Bob  Dyl. 

ARITHMETIC  DISCREDIT 


There  were  two  math  mistakes  in  the  last  newsletter — so  much  for 
proofreading.  In  "Knowing  Left  From  Right"  we  told  you  4+2*3  obviously  equals 
18.  In  the  TS— 1500  article,  we  said  there  are  8  bits  of  bank  switching, 
giving  8+16=24  total  address  bits.  This  means  there  are  2**24,  or  16*(2**20), 
or  16  megabytes  of  addressability  (not  64) . 


FIREWORKS 

If  you  LET  C$="JULY"  and 

PRINT  C$(LEN  C$/4)  +  "  FIREWORKS"  you 
will  get  a  "Fourth"  of  July  Fireworks. 
The  following  program,  written  by  Jack 
Hodgson,  also  has  fireworks. 

110  LET  B=5 

120  FOR  A=15  TO  4  STEP  -1 
130  PRINT  AT  A,B;"0" 

132  PRINT  AT  A,B;"  " 

135  LET  B=B+1 
140  NEXT  A 

150  PRINT  AT  4,16;"*" 

160  PRINT  AT  3,15;"*  *" 

170  PRINT  AT  5,15;"*  *" 

180  PRINT  AT  2,13;"**  **" 

190  PRINT  AT  6,14;"*  *" 

200  PRINT  AT  1,11;"**  **" 

210  PRINT  AT  7,14;"*  *";AT  8 

,13;"*  *" ; AT  9,12;"* 

*" 

220  PRINT  AT  2,10;"*  **  **  * 

" ; AT  10,11;"*  *" 

230  LET  C$="G900X+3SG+NE+ITKX" 

240  FOR  Z=1  TO  LEN  C$ 

250  PRINT  CHR$  (CODE  C$(Z)+1); 

260  NEXT  Z 


i Solve  your  LOADing  problems !\ 
Duplicate  any  TS/ZX  Cassette 
. . .  and  more! 
with 


iuinkv  lionno  u 


cflsserre  computer  intrrfrcr 

c~*  ts  i000,  zx  81/80 

f  •  User  friendly.  Just  plug  into 
cassette  player  and  computer 

t*  Complete  directions  for 
multiple  uses 

•  Protective  case  included 

$19.95assembled  $14. 95  kit  $1  shpng 

MasterCard/Visa  1  -814-364-1325 

6.  nusscu  eiecmoNics 

RD  1  •  BOX  539  •  CENTRE  HfiLL,  PR  16828 

FREE  information  and  list  of  utilities 
on  cassette  on  request. 

*Pa  add  6%  sales  tax 


TWO  HIGH  SPEED  LOADING  AND  SAVING  SYSTEMS  FOR  TAPES  by  Dave  Miller 

Fastload 

Fastload  is  a  machine  language  program  that  uses  memory  locations  31512 
to  32767.  It  requires  16  K  of  memory.  The  Fastload  program,  with  its  BA.SIC 
instructions,  takes  2  minutes  to  load.  I  deleted  some  instructions  in  my 
version  and  got  it  to  load  in  1  minute  15  seconds.  Because  it  takes  three 
instructions  from  the  keyboard,  or  in  a  program,  to  execute  the  Fastload 
function,  it  is  a  little  cumbersome  to  use  at  first.  On  the  reverse  side  of 
the  Fastload  tape  is  a  shortened  bootstrap  loader  that  loads  the  program  which 
follows  it.  The  one  on  my  tape  did  not  load.  However,  it  was  possible  to 
make  my  own  bootstrap  loader  with  the  instructions  provided. 

Fastload  is  selectable  at  four  to  six  times  faster  than  normal  load  and 
save  rates.  Since  you  must  load  Fastload  first,  it  takes  longer  to  load  or 
save  than  l/4th  or  l/6th  the  normal  time.  For  example,  if  it  takes  6  minutes 
for  the  normal  load,  then  it  takes  1  minute  30  seconds  plus  1  minute,  or  a 
total  of  2  minutes  30  seconds,  at  four  times  the  normal  loading  speed. 
Unfortunately,  there  is  no  64  K  version  of  Fastload.  Large  programs  would 
benefit  most  from  Fastload.  And  since  Fastload  itself  takes  up  about  1/2  K, 
you  can't  use  it  for  programs  bigger  than  15  1/2  K. 

QSAVE 


There  are  two  versions  of  QSAVE — a  16  K  version  and  a  64  K  version.  The 
16  K  versions  starts  at  memory  location  32000  and  ends  at  32432.  Locations 
32433  through  32767  are  not  used.  The  64  K  version  starts  at  8300  and  ends  at 
8731.  This  version  has  an  address  error.  POKE  8566,159  and  POKE  8567,33  to 
prevent  program  crashing.  The  last  copy  of  QSAVE  I  bought  came  with  a  note 
that  said  it  was  compatible  with  a  Centronics  printer  interface.  But  after 
loading  the  tape,  I  found  the  code  was  still  located  at  8300  through  8731, 
making  it  incompatible  with  my  interface. 

QSAVE  uses  BASIC  to  move  the  machine  code  from  a  REM  statement  to  the 
appropriate  memory  locations.  I  deleted  their  BASIC  and  substituted  a  machine 
language  routine  saving  5  seconds.  QSAVE  normally  loads  in  50  seconds  and 
loads/saves  programs  16  times  faster  than  normal.  It  is  possible  to  make  a 
bootstrap  loader,  but  some  difficulty  could  arise  because  of  the  filter.  An 
example  of  QSAVE  loading  time  is  50  seconds  to  load  QSAVE  plus  1  minute  30 
seconds  to  load  48  K  of  program  and  data,  for  a  total  of  2  minutes  20  seconds. 
QSAVE  has  three  user  functions — load,  save,  and  verify.  Unfortunately,  the 
verify  function  is  not  very  useful. 

QSAVE  comes  with  a  filter  which  must  be  used  for  loading.  I  encountered 
some  difficulty  loading  regular  tapes  with  the  filter.  Hence  I  installed  a 
bypass  switch.  The  first  two  QSAVE  filters  I  purchased  operated  off  the  9 
Volt  power  supply,  and  had  an  on-off  switch  for  the  filter  and  computer.  The 
third  filter  I  purchased  was  battery  operated.  Since  it  is  easy  to  forget  to 
shut  off  the  filter,  I  replaced  the  battery  with  a  power  jack  similar  to  the 
first  two  units' .  There  is  also  a  small  difference  in  the  circuit  board  of 
this  third  unit,  but  I  have  noticed  no  difference  in  the  performance. 

Recommendations 

I  recommend  using  either  of  the  above  programs  if  you  have  a  good  tape 
recorder.  Regular  cleaning  of  the  tape  heads  and  setting  of  the  volume  as  per 
the  instructions  are  important.  Most  likely  you  will  not  succeed  at  first  or 
second  try  using  either  Fastload  or  QSAVE. 


COMPUTER  IN  A  DRAWER  by  A.  W.  Horlbeck 

(This  is  the  first  in  a  continuing  series  on  the  systems  our  members  play  on.) 


The  night  stand  is  a  little  3-drawer  pine  unit.  The  top  drawer  has  a 
false  top,  covered  in  green  leatherette.  It  has  been  cut  to  size  for:  a 
surplus  TI  keyboard,  purchased  from  Synchronize  in  Herville,  -Texas;  a 
single-pole,  single-throw  rocker  switch  for  power;  a  double-pole, 
double-throw  rocker  switch  for  SAVE/LOAD  select;  a  neon  power-on  indicator 
light;  and  a  small  VU-meter  for  load  volume  control. 

The  television  is  a  Philco  12-inch  black  and  white  model  B437QWA;  and  the 
tape  recorder,  a  Panasonic  Model  2107A,  about  5  years  old.  There  is  a  four 
Ampere,  12.6  Volt,  center-tap  transformer  which,  rectified  and  filtered, 
provides  the  power  for  both  the  Sinclair  ZX-81  (12.6  Volt)  and  the  tape 
recorder  (6.3  Volt  center  tap).  It  replaces  the  original  plug-in 
transformers.  The  little  tables  on  either  side  of  the  top  drawer  were  made 
from  scrap.  They  are  useful  for  the  tape  unit  and  a  notepad.  Miscellaneous 
items  store  neatly  in  the  otherwise  empty  second  and  third  drawers. 


DOES  ANYBODY  KNOW  WHAT  TIME  IT  IS? 


Have  you  ever  noticed  how  one  program  will  run  very  fast  and  another 
seems  to  take  forever?  The  time  it  takes  to  run  the  program  is  not  always 
dependent  on  the  number  of  iterations  or  the  amount  of  data.  This  article 
will  which  address  the  question  of  execution  time.  Specifically,  we  will  look 
at  the  relative  amount  of  time  required  to  do  various  computer  operations.  In 
addition  to  illuminating  the  black  art  of  execution  time,  this  information  can 
be  useful  in  programming  real-time  or  process  control  applications. 

The  first  table  shows  the  time,  in  milliseconds  (ms),  to  execute  various 
functions.  The  definition  of  function  given  in  the  ZX-81  manual  is  "a  rule 
for  giving  a  number  (the  result)  in  exchange  for  another  (the  argument  or 
operand) .M  Most  functions  in  the  ZX-81  or  TS-1000  computer  involve  unary 
operations.  That  is,  they  take  a  single  operand  to  produce  the  result.  PI 
and  RND  are  exceptions.  They  are  nullary  operations,  not  requiring  an 
operand.  The  execution  times  were  derived  in  the  following  manner.  First, 
the  time  to  compute  ,fLET  A=0+f unction"  was  computed.  From  this  the  time  to 
compute  "LET  A=Of result"  was  subtracted.  For  example,  for  the  ABS  function, 
the  time  to  do  LET  A=0+ABS  0  was  computed.  Then  the  time  to  do  LET  A=0+0  was 
subtracted,  since  0  is  the  result  of  ABS  0.  Note,  although  the  square  root 
function  SQR  appears  fast,  this  really  is  not  the  case.  It  is  only  the  result 
of  the  processing  for  the  zero  operand.  SQR  1  takes  35.32  ms.  USR  47  is  a 
call  to  a  location  in  ROM  where  a  return  instruction  (C9  hex)  may  be  found.  It 
demonstrates  the  overhead  of  the  USR  function. 

As  expected,  the  evaluation  of  functions  is  quite  slow  when  compared  to 
the  underlying  speed  of  the  processor.  The  Z-80  processor  only  requires 
0.00123  milliseconds  (or  1.23  microseconds)  to  do  a  typical  arithmetic 
operation.  These  machine  operations  usually  require  four  clock  cycles.  And 
the  duration  of  a  clock  cycle  is  0.000308  milliseconds  (or  308  nanoseconds). 
This  is  the  reciprocal  of  the  clock  frequency,  3.25  MHz. 


Function 

Time  (ms) 

Function 

Time  (ms) 

(0) 

0.18 

USR  47 

1.22 

variable 

0.36 

RND 

10.34 

PI 

0.46 

SIN  0 

37.08 

ABS  0 

0.48 

EXP  0 

39.78 

NOT  0 

0.50 

COS  0 

40.26 

SGN  0 

0.50 

ATN  0 

56.76 

(-0) 

0.60 

LN  1 

64.88 

SQR  0 

0.98 

TAN  0 

77.56 

PEEK  0 

1.06 

ASN  0 

166.88 

INT  0 

1.12 

ACS  0 

168.56 

When  PEEKing  at  memory,  for  example  in  a  loop  with  PRINT  PEEK  I,  you  can 
notice  that  zero  values  get  printed  much  more  quickly  than  nonzero  values. 

This  is  indicative  of  the  fact  that  the  value  zero  is  represented  by  a  unique 
set  of  symbols  and  receives  special  processing.  Usually,  a  zero  is 
represented  by  a  floating  point  number  with  zero  exponent,  and  the  last  four 
bytes  of  the  number  are  ignored.  The  second  table  shows  the  time  required  for 
arithmetic  operations  involving  the  numbers  one  and  zero.  In  this  table,  "|" 
stands  for  the  operation,  or  / .  In  all  cases,  except  for  addition, 

operations  involving  zeros  take  significantly  less  time  than  the  same 
operation  without  a  zero  operand. 


TIME  —  Continued 


0 1 0 

0|1 

no 

Ill 

1.96 

1.00 

1.00 

1.02 

0.68 

1.12 

0.62 

2.10 

0.70 

0.70 

0.84 

2.04 

•  •  • 

0.74 

... 

2.90 

The  third  table  shows  the  execution  times  for  many  commonly  used 
statements.  These  times  don't  appear  very  large.  But,  when  a  program 
executes  hundreds  or  thousands  of  lines,  minutes  or  even  hours  can  be  consumed. 


Statement 

Time  (ms) 

FOR  J=1  TO  1 

NEXT  J 

10.88 

FOR  J=1  TO  10 

NEXT  J 

54.52 

FOR  J=1  TO  10  STEP  2 

NEXT  J 

29.50 

GOTO  100 

1.86 

IF  1  THEN  GOTO  100 

2.72 

IF  0  THEN  GOTO  100 

1.08 

LET  A=0 

1.50 

LET  A=B 

1.86 

PLOT  10,10 

4.34 

POKE  10,10 

1.94 

How  were  the  times  actually  measured?  One  way  to  get  accurate  timing  of 
machine  language  programs  (in  this  case  the  ROM  routines)  is  to  trace  through 
the  operation  of  the  program  and  add  up  the  times  for  each  operation.  The 
number  of  clock  cycles  (at  308  nanoseconds  each)  for  each  operation  can  be 
found  in  many  Z-80  programming  books.  This  method  is  slow,  and  prone  to 
errors.  It  is  possible  to  miscalculate  the  path,  or  branch,  the  computer  will 
follow  after  a  conditional  jump.  Such  calculations  are  especially  difficult 
for  a  program  as  complex  as  the  Sinclair  ROM. 

The  only  practical  way  to  get  the  execution  times  is  to  measure  them.  To 
get  maximum  accuracy,  the  operation  to  be  timed  should  be  put  in  a  loop  and 
executed  many  times.  In  this  way,  the  timing  error  is  divided  by  the  number 
of  iterations,  so  that  the  error  per  iteration  is  small.  Still,  if  times  are 
estimated  manually,  errors  are  likely.  Great  care  must  be  taken  so  that  the 
start  and  stop  times  are  accurately  measured. 

The  times  quoted  in  these  tables  were  obtained  using  a  second  computer 
(Cliff  Danielson's  homebrew)  which  was  interfaced  to  the  Sinclair.  The  second 
computer  functioned  as  a  clock.  The  Sinclair  computer  told  the  homebrew  to 
begin  the  clock.  The  Sinclair  would  then  perform  50,000  iterations  of  the 
function  being  tested,  using  a  FOR... NEXT  loop.  Upon  completion  of  the  loop, 
the  Sinclair  computer  asked  the  homebrew  for  the  time.  It  then  substracted 
the  time  required  for  the  FOR... NEXT  loop  processing  and  printed  the  result. 

As  a  result,  fairly  accurate  timing  was  possible. 


INCREASE  THE  POWER  OF  YOUR 
TIMEX  SINCLAIR  1000  with 
INTERCOMPUTER  PACKAGES 


We  offer  up  to  20%  DISCOUNT  for  user 
Groups  and  Students  on  our  Peripherals  and 
Software  in  the  areas  of: 

•  Education  •  Home  Management 

•  Entertainment  •  Programming  Tools 

•  Utilities  •  Word  Processing 

AND 


•  Memory  Expansion  •  Printers 

RAMS  •  Flexible  Ribbon 

•  Interface  Connector 

•  QSAVE-Quick  •  High  Resolution 

Loading  Graphics 

AND  MORE 

NEW:  Software  on  cartridges,  Softbox, 
and  Intercontroller 

To  order  or  for  more  information  and  free 
brochure,  write  or  call  Intercomputer,  Inc. 
RO.  BOX  90,  Prudential  Center,  Boston,  MA 
02199  Tel.  (617)  437-1190 
Coming  soon:  A  full  line  of  Software  and 
Hardware  for  Timex  2000  and  other 
small  computers. 


ATT:  Programmers,  better  royalties 
for  your  high  quality  programs 


LINE  NUMBERS  by  Dave  Wood 


The  original: 


ZX-FORTH 


Don’t  Be  Misled  By  Cheaper  Imitations! 

ZX-FORTttM ,  from  The  Forth  Dimension,  is  the  only  full- 
function  alternative  language  available  for  the  ZX-81 
+TS/1 000  computers.  Just  a  few  of  the  many  functions 
that  are  part  of  ZX-FORTH™  are:  auto  repeat  keys, 
pixel  graphics,  customized  backups  and  a  full  screen 
editor.  Code  written  in  ZX-FORTHtm  is  easily  trans¬ 
portable  to  any  other  79-Standard  Forth  System. 
Included  with  ZX-FORTHtm  is; 

1.  Comprehensive  Users  Manual; 

2.  2  Sample  Programs  —  BREAKFORTH  —  An 
arcade-type  action  game; 

SCRATCHPAD  —  A  simple  word  processor. 

3.  ZX— FORTHtm  quick  reference  card. 

ZX-FORTHtm  16K  Cassette  .  $42.95 

Manual  Only . . —  $10.00 

+  $2  -  Shipping  &  Handling 
+  $7  -  Shipping  &  Handling  outside  North  America 

The  Forth  Dimension 

1451  N.  Union  Street 
Middletown,  PA  17057 
Phone:  (717)  944-6000 

PA  Residents  Add  6%  Pa.  Sales  Tax 
Mastercard  &  Visa  Accepted 


Did  you  know  that  you  are  not  limited  to  9999  BASIC  lines.  If  you  have 
enough  memory  for  them,  you  can  create  up  to  16383  lines.  The  system  won  t 
let  you  edit  lines  with  statement  numbers  greater  than  9999,  but  you  can 
create  these  higher  numbered  lines  by  POKEing  the  line  numbers  into  the  BASIC 
line.  These  "high”  BASIC  lines  are  executable  and  listable.  The  line  number 
after  9999  will  LIST  as  A000.  The  highest  line,  16383,  will  LIST  as  G383. 
GOTOs  and  GOSUBs  to  "high"  lines  work  fine.  Since  you  have  to  POKE  the  line 
number,  a  "high"  line  is  most  easily  generated  by  entering  it  as  the  lowest 
line  in  your  program,  then  POKEing  the  high  byte,  which  is  always  located  at 
16509.  Enter  the  following  to  observe  how  this  works: 


1)255  PRINT  "TOP"  2)P0KE  16509,63  3)254  PRINT  "ALMOST"  4) POKE  16509,63 

5)253  PRINT  "AT  THE"  6)RUN  7)9999  GOTO  16383  8) RUN 


DOES  ANYBODY  REALLY  KNOW  WHAT  DAY  IT  IS?  by  Jack  Hodgson 

Today  is  6/13/83  or  today  is  6-13-83  or  061383.  If  all  that's  not 
difficult  enough,  some  might  say,  "Today  is  13/6/83!"  Whatever  way  you  say 
it,  my  question  is:  How  many  days  ago  was  April  9?  It  be  a  lot  easier  to 
figure  this  out  in  a  system  where,  for  example,  today  were  10215  and  a  week 
ago  10208.  Such  a  system  does  exist.  It's  called  the  Julian  date  system,  not 
to  be  confused  with  the  Julian  calender.  The  date  in  a  Julian  date  system  is 
determined  by  the  number  of  days  from  a  base  date.  For  example,  if  March  1, 
1900  is  Julian  0,  March  5,  1900  is  4,  April  1,  1900  is  31,  and  so  on.  The 
advantages  of  this  system  are  that  it  is  much  easier  to  compare  dates,  put 
them  in  order,  calculate  the  days  between  two  dates,  etc. 


DAY  —  Continued 


Below  is  a  routine  that  will  convert  a  conventional  date  to  a  Julian 
date.  March  1,  1900  is  used  as  the  base  date  because  it  helps  simplify  some 
of  the  problems  caused  by  leap  years.  Unlike  other  years  divisible  by  four, 
1900  is  not  a  leap  year  (neither  is  2000).  Oh,  by  the  way,  June  13,  1983  is 
30419  and  April  9,  1983  is  30354.  There  are  65  days  between  the  dates. 

10  PRINT  "TO  COMPUTE  JULIAN  DATE 
(BASE=1  MARCH  1900)  YEAR? 

20  INPUT  YR 
30  PRINT  YR 
40  PRINT  "MONTH? 

50  INPUT  MTH 
60  PRINT  MTH 
70  PRINT  "DAY?  "; 

80  INPUT  DAY 
90  PRINT  DAY 
100  LET  Y=YR-1900 
110  IF  MTH>2  THEN  GOTO  170 
120  LET  MTH=MTH+9 
130  LET  Y=Y— 1 

140  LET  JDATE=INT  ((1461*Y)/4 
+( 153*M+2775+DAY-l ) 

150  PRINT  MTH;"/" ;DAY;"/" ;YR; 

"  =  JULIAN  DATE  " ; JDATE 
160  STOP 
170  LET  M=MTH-3 
180  GOTO  140 


How  will  you  take  your 
SYNTAX  /  Syntax  Quarterly? 


The  Combination  — 12  issues  SYNTAX,  4 

issues  SQ  $39 

The  Catch-up-SYNTAX  Jan.  82-Dec.  83, 

SQ  Nov.  82-Nov.  83  (5  issues),  1  binder  $77 

The  Works -SYNTAX  Nov.  80-Nov.  83, 

SQ  Nov.  82-Nov.  83  (5  issues),  2  binders  $97 

12  issues  of  SYNTAX  $29 

4  issues  of  SQ,  Syntax  Quarterly  $15 


1  issue  SQ  □  Winter  □  Spring  □  Summer  $  4.95 
1  Magazine  binder  to  hold  your  SYNTAX  or  SQ  $  9 

To  order  or  request  more  info,  call  617/456-3661.  Or 
write  SYNTAX/SQ,  RD  2  Box  457,  Harvard,  MA  01451. 

SYNTAX /Syntax 
Quarterly  for  Timex 
Sinclair  computer 
users. 


announcing 

***  ZX  PRO/FILE  *** 
a  16K+  file  manager  for  the  Timex 

ZX  PRO/FILE  is  a  machine  language  data  base 
that  gives  you  tremendous  versatility: 

*instant  access  to  any  file  stored  in  memory 
*files  of  any  size  in  the  same  program  run 
^single  or  multiple  word  search  capabilities 
*ordered  file  displays 

Comprehensive  programmable  printer  functions 

A  59  page  manual  comes  with  the  cassette.  In  it 
are  complete  instructions,  examples,  directions 
for  upgrading  to  larger  memories,  modifications, 
program  listings,  and  a  detailed  explanation  of 
how  the  program  works.  There's  even  an  intro¬ 
duction  to  machine  coding  for  beginners. 

ZX  PRO/FILE  is  the  best  file  manager  you  can 
get  for  your  Timex.  In  fact,  users  report  that  it 
provides  data  handling  functions  found  only  on 
the  most  sophisticated  systems. 

Price:  just  $16.95 

Let  me  send  you  full  specifications.  Write  to: 

Thomas  B.  Woods 
P.O.  Box  64,  Jefferson,  NH  03583 
Phone:  (603)  586-7734 


SERIOUS  PROGRAMMERS 

“MUST-HAVE"  UTILITIES 
For  ZX-81  and  T/S  1000  Computers 


Guarantee 

If  ever  you  feel 
TIMEX  SINCLAIR  USER 
isn’t  helping  you  get 
the  most  from  your 
computer,  you  may 
cancel  your  subscription 
and  we  will  refund  the 
value  of  all  unmailed 
issues  —  and  you  may 
still  keep  your  Packrabbit! 


Phone 

•4r  1 -800-543-3000  ^ 

Operator  243  ^ 

Have  your  VISA  or  MASTERCARD  ready1 


BONUS  OFFER 

Free  ’Packrabbit’ 

Retail  value  $15.00 
A  good  reason  to  order  now! 
Receive  a  software  program 
cassette  of  an  exciting,  new 
arcade  game!  "Packrabbit” 
is  a  regular  $15.00  retail  value 
Free  with  subscriptions  for  a 
limited  time  only. 


Wail  to:  Subscriptions  Timex  Sinclair  User  49  La  Salle  Ave.f  Buffalo,  N.Y.  14214-1414 


Please  print 

Bill  me  □ 

NAME 

MONEY  ORDER  Q, 

Check  □ 

VISA  cr 

STREET 

MASTERCARD  □ 

FILE*SYS  (fast,  flexible,  reliable)  &10 
.Read/ Write  Cassette  Data  Tape  Files  * 


FILE* BASIC  (includes  FILE+SYS  functions) 

_  Saye/Merge/Erase  BASIC  Segments  * 

FILE*  VARS  (requires  FILERS YS  or  *BASIC)  e  5 
.  Save/Restore  Strings  &  Arrays 

BASIC* OLAY  (permits  fuN  use  of  64K  RAM)g10 
Overlay /Copy  BASIC  Segments 

COPY  *  (dupicates  protected  tapes)  $10 

Copy  Standard  Cassette  Tapes  * ,u 

HEXAS*  (generates  relocatable  code)  $10 

Symbolic  Hex  Assembler  -  on  basic)  * 

LOGIC*  (provides  true  logic  functions)  ^  e 

AND,  OR,  XOR,  NOR,  NAND,  NOT  *  5 


-Simple  user  interface  via  USR  function 

-Welt -documented  user  manuals 

-  On  tape  cassette  in  relocatable  machine  language 


S/p 

inns  Ware 


Check  or  MO  delivers  now 
SASE  for  info. 


6  Turning  Mill  Road,  Lexington,  MA  02173 


The  NEW  independent  magazine  for  the  ZX81,  T/S1000 


MACHINE  LANGUAGE  GROUP  MEETS 


The  Sinclair-Timex  machine  language  special  interest  group  met  for  the 
first  time  on  July  6th.  In  attendance  were  nine  enthusiast  users  of  Sinclair 
or  Timex  computers.  At  the  meeting,  Bob  Heath  demonstrated  his  computer 
system  and  some  of  the  machine  language  software  he  has  written.  This 
provided  the  focus  for  discussions  about  many  aspects  of  Z-80  machine  language 
programming,  the  use  of  the  subroutines  on  the  Sinclair  ROM,  and  hardware 
modifications  to  the  computer. 


Bob  has  a  very  impressive  system.  Built  around  a  ZX-81  computer,  his 
system  features  a  large  keyboard,  real-time  clock,  analog-to-digital 
converter,  and  parallel  input/output  (I/O)  capabilities.  He  demonstrated  many 
of  his  program  development  tools,  including  programs  for  easy  entry,  display, 
and  movement  of  machine  language  code,  and  a  disassembler.  He  also 
demonstrated  a  program  he  developed  for  controlling  lights  in  his  house.  This 
program  featured  table  driven  software  to  turn  house  lights  off  and  on.  The 
lights  can  be  controlled  either  according  to  the  time  of  day  or  the  lighting 
conditions  as  sensed  by  a  photocell  (interfaced  to  his  analog-to-digital 
converter).  Bob  can  use  different  criteria  for  controlling  each  light  on  each 
day  of  the  week.  To  actually  turn  the  lights  off  and  on,  he  has  interfaced  a 
Sears  BSR  Home  Control  System  to  the  parallel  I/O  ports  of  his  computer. 

The  next  meeting  for  the  group  will  be  in  August.  A  meeting  is  planned 
for  September  also.  The  meetings  will  be  held  at  7:00  p.m.  on  the  first 
Wednesday  of  the  month  at  ITEK  Optical  Systems  in  Lexington.  Anyone 
interested  in  machine  programming  or  hardware  modification  to  the  computer  are 
encouraged  to  attend.  Contact  Bob  Heath  for  details  and  directions.  He  can 
be  reached  during  the  day  at  (617)  276-2424. 


REVIEW  OF  GRAPHICS  KIT  by  Burt  Fisher 


The  comments  on  this  item  of  software  must  be  prefaced  by  the  fact  that 
the  reviewer  lives  in  computer  isolation  (Cape  Cod)  and  my  vocation  is 
broadcasting  which  is  not  exactly  synonomous  with  logic.  Graphics  Kit  loaded 
on  the  first  try,  so  I  knew  I  had  a  rare  find.  The  most  valuable  part  of  this 
program  is  not  the  program,  but  rather  the  DEMO  which  is  also  included  on  the 
tape.  The  DEMO  quickly  shows  the  full  range  of  capabilities  in  the  main 
program.  If  VUCALC  had  a  similar  demonstration,  I  would  not  have  had  to  spend 
the  first  part  of  my  life  trying  to  figure  it  out. 

Graphics  Kit  resides  above  RAMTOP  and  consumes  about  2  K  of  memory.  It 
consists  of  23  machine  code  routines  and  may  be  used  in  your  BASIC  program  by 
the  use  of  POKE  and  USR  instruction.  It  even  has  its  own  error  code.  Among 
the  capabilities  of  Graphic  Kit  are:  instant  borders  on  and  off,  instant 
foreground  and  background,  scrolling  in  four  directions,  and  draw  and  undraw 
of  a  multicharacter  shape.  Although  the  instructions  are  not  very  clear,  they 
far  outdistance  Timex  software  instructions.  However,  a  magnifying  glass 
would  have  been  helpful  for  reading  them.  Graphics  Kit  opens  many 
possibilities  and  it  will  be  an  asset  to  many  programmers.  It  costs  $14.95 
and  is  available  from  Softsync,  Inc. 


TAPE  HINT:  Mark  Tepper,  a  BCS  member  in  New  York  State,  sent  in  the  following 
hint  regarding  tape  loading.  Adjust  the  azimuth  of  your  recorder  by  sticking 
a  Philip's  head  screwdriver  down  the  small  hole  near  the  tape  read  head  and 
turning  in  either  direction  until  the  tape  sounds  clearest  or  the  volume  is 
loudest.  (CAUTION:  this  may  affect  whether  previously  saved  tapes  will  load.) 
Mark  is  interested  in  starting  a  user  group  in  the  Finger  Lakes  Region  of  New 
York.  Write  to  him  at  67  North  Main  Street,  Geneva,  New  York  14456. 


TIMEX  1000 


8USIMBSS 


Budgeting  . . . 

Inventory  Control  . . 

Financial  Analyzer  ..♦♦♦. 
Stock  Analyzer  ••••••«••• 

Critical  Path  Analyzer  •• 
Bookkeeping 

*9.95 

*9.95 

*9.95 

*9.95 

12.95 

1^.95 

GAMES 

Leap  Frog  . . 

Star  Voyage  . . 

Fungaloids  ........ . * 

Invaders  . . . 

Chess  . . 

Snakebite  ••••••••••••••* 

Packman  . . 

*9.95 

$9.95 

59.95 

59.95 

*9.95 

*9.95 

*9.95 

UTILITY 

Assembler . . 

Disassembler  * . . 

Compiler  . 

Graph  . . . . . 

*9.95 

*9.95 

*9.95 

*9.95 

AMD  MAHT  MOBS  HXdTEIG  PROGRAMS 


CALL  FOR  FREE  CATALOG 
Shipping  extra.  No  tax  out  of  state. 

DISCOUNT  SOFTWARE,  INC 

ROT  PO  BOX  2530,  New  York,  NT  10185 


IT  S  HERE!! 

•v  .  .  '  . 

The  keyboard  you  have 
been  waiting  for! 


ONLY  $84.95 


A  LARGE  60  KEY  TACTILE  FEEL  KEYBOARD 
(MEASURES  10"  x  4")  THAT  PLUGS  INTO  THE  SAME 
CONNECTORS  AS  EXISTING  KEYBOARD  ON  YOUR 
ZX81  OR  TIMEX  SINCLAIR  1000.  IT  HAS  ALL 
SILKSCREENED  LEGENDS  IN  3  COLORS  ON  THE 
BASE;  MOLDED  LEGENDS  &  GRAPHICS  ON  KEY  TOPS; 
8  AUTOMATIC  SHIFT  KEYS  (NO  SHIFTING  REQUIRED) 
FOR  EDIT,  DELETE,  SINGLE  &  DOUBLE  QUOTES, 
COLON,  SEMI-COLON.  FUNCTION  &  STOP;  5"  SPACE 
BAR;  2  SHIFT  KEYS;  NUMERIC  KEY  PAD. 


MASS.  RESIDENTS  ADD  5%  SALES  TAX 
SHIPPING  &  HANDLING  54.00/UNIT 

QUANTITY  DISCOUNTS.  WE 
WILL  ACCEPT  MC/VISA.  PLEASE  INCLUDE  #  S,  EXP. 
DATE  AND  SIGNATURE.  FOR  MORE  INFORMATION 
SEND  SASE.  SEND  INQUIRIES.  CHECK  OR  MONEY 
ORDER  TO:  KEY 

SUITE  75 

711  SOUTHERN  ARTERY 
QUINCY, MA  02169 


FOR  MORE  INFORMATION 


Sue  Mahoney,  Director  of  the  Sinclair-Timex  User  Group 
c/o  The  Boston  Computer  Society  or  call  (203)  573-5816. 

Jack  Hodgson,  Publisher 

P.0.  Box  526,  Cambridge,  MA  02238,  (617)  354-7899. 

Cliff  Danielson,  Editor 

14  Davis  Road,  Chelmsford,  MA  01824,  (617)  256-4638. 

John  Kerne ny ,  Contributing  Editor  and  User  Group  Correspondent 
284  Great  Road,  Apt.  D5,  Acton,  MA  01720. 

Beth  Elliott,  Librarian. 

Allan  Cohen,  Meeting  Coordinator,  (617)  961-3453. 


ADVERTISING  INFORMATION 
Computer  Related  Products  and  Services  Only 
Open  Rate:  $40  per  Quarter  Page 
For  Rate  Card  and  Discount  Information  Contact  the  Publisher 


DIRECTIONS  TO  THE  MEETING:  The  Sinclair-Timex  User  Group  meets  in  the  Large 
Science  Auditorium  (Room  8/2/009)  of  the  University  of  Massachussetts  of 
Boston,  Harbor  Campus.  The  Harbor  Campus  is  only  3  miles  from  downtown  Boston 
and  easily  accessible  by  public  and  private  transportation.  From  the  north  or 
west,  take  the  Southeast  Expressway  to  Exit  17.  Turn  left  onto  Columbia  Road. 
Enter  the  rotary  and  take  the  first  right  (Morrissey  Boulevard) •  Bear  right 
on  the  traffic  island,  following  UMass/Boston  sign.  Turn  left  into  the 
Campus.  From  the  south,  take  Morrissey  Boulevard  northward  to  the  campus.  On 
the  MBTA,  take  the  Red  Line  (Ashmont  Train)  to  Columbia  Station.  Transfer  to 
the  free  University  shuttlebus  in  the  T  parking  lot. 


DO  The  Boston 
OO  Computer  Society 


Three  Center  Plaza 
Boston,  MA  02108 
617-367-8080 


Nonprofit 
U.S.  Postage 
Paid 

Permit  1138 
Boston,  MA 


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

Des  Plaines,  IL  60017