LONG ISLAND SINCLAIR TIMEX GROUP

© Centerport, N.Y. 11721

I. MEETING NOTES -JUNE 3, 1984 A longish 4 hour meeting at Idle Day Drive involved: we could get in, the password (which doen't

typed and the system threw us out. Rather 1) we gave up after 3-4 tries. Rest assured,

a) Paul D. tried to log on to compuserve but, while show on the screen when typed) must have been mis than hold up the meeting (or run up the phone bil the MD-2 Modem and ZCOMM do work.

b) Nazir P. showed us his translation of the ZX Spectrum arcade game "Caldtoids" (Public Domain) and the numerous changes in ROM calls, particularly the use of the "blank" portion of the Spectrum ROM, which were necessary to adapt it to the 2068,

For review by

C) Paul D. demoed “Transylvantan Tower", a Spectrum adventure-maze game sent to aecessary to

Richard Shepherd software. A considerable amount of work (detailed inside) cis get even this BASIC program to run. :

d) Rich B, demoed Vu-file from Psion and its included "Gareteer" prográm. eed seens comparable

to Tom Woods Pro/file, but formatting may be a little more rigid. —

gram from SYNTAX, was tried several times, without success. Heinz H.

e) FIRSTLOADR - ZX81 upload pro; Volume setting is clearly

feels his "smoother", to be demoed next meeting, may be the answer. criti,

£) Group purchasing was dicussed, but little consensus or advantage was found.

) lead to a unanimous voice vote that such was against group

8) A discussion of "piracy" (read theft companies which have folded. More discussion next time.

policy, the possible exception being

II. NEXT MEETING IS SCHEDULED FOR 7 JULY (SATURDAY) AT 3:00PM

port ~ Call 368-9088 for directions, ask for Heinz. Please Remember too, that many of us are tyros. 0 slow or BASIC for you, may be ideal Also, we have begun to create a curse, would like to share such

Location: 9 Dartmoor Drive, East North bring ony special software, hardware items you'd like to deno. That simple game program you wrote last year and which 1s now toi learning aid for the beginner (especially 1f you've documented it). "Library" tape of public domain (or member donated) software and of c programs between members,

INDEX TO ISSUE-JUNE 84 MIX IO ISSUE-JUNE 34

SUBJECT E PAGE Meeting Notes & Index 1 ser ayia ape ic ins asc Patet presen etc., are eagerly solicited for publication in * Software Réviev LISting. (Transylvanian Tower) 2 Supplier/Supply notes, Misc. 2 Hardware Project: 3,4

oPyright 1984 No portion of this publication may be

Byte Back MD-2 ~ Brother EP44 Interface

republished without my express vritten

Spectrum BASIC program conversion 5 Consent - P.J, Donnelly

eft ÜecBpoone e, Sample copy sent upon receipt of large SASE.

Copies provided on exchange basis with other bona fide user groups.

LONG ISLAND SINCLAIR TIMEX GROUP

3

wx) Group

g island Sinclair Tim

TS group

L.1,S.T.ing ie published wonthly by LIST (Lon

a not for profit usc

FOR secpwweRs ONLY;

FIRST LOADR

An outstanding achievement by David Ornsteia and a great public service by SYNTAX, FIRSILOADR leta you upload your TS1000 BASIC programs to the 2068, Unfortmately, several of the beginners (and more advanced programmers too)

have had trouble understanding, entering and/or using FIESTLOADR.

Based oa

the questions most frequently asked, we can offer the following tips:

[m

5.

fa

19.

My first successful ficstload vas "Mecory" a simple ZK Simon Says game from the

The only changes were to redefine variable X, the place to start in the character table, from 28 to 48 (line 140), change the "SAVE" Line to add LINE for autorun and add OR aj "y"'to cover the louer case option for re-

Mixed Game Bag II tape.

The data shown in Syntax (Deceaber 83) an page 14 is a translation table. The machine code (MC) program, (PLS) which runs from 45000 to 45234, uses this table to con- vert ZX/TS code co its 2068 equivalent. That is, each muuber ia the table ta the CODE of one of the 255 char- acters you con use, Several characters are uot directly translatable, and these have been replaced by "32" or a blank space. Check the character tables in the backs of tath aemuels for a comparison. Right mow, CLEAR 43999 &

To get these numbers into the computer, look at Fig.l in this uonths article on Transylvanian Tover. Lines 100

to 140 serve as a rudimentary INPUT routiae which leta

you put in 10 bytes at a time. If you COTO 100, you'd

be expected to put in a value for V. Enter 44000 for example, to begin entering data in che look-up table.

The program will print the current memory location end wait for your input, "t'. Again 4f you were just start- ing out, you would enter 32. Next you'd enter 130,129 etc. ending with 143 (the Loch byte).

Now to check what youve done so far, break into the pro- gree (or add a line-l45 STOP) and GOTO 205. Again you'll ke asked for a "Start", Eater 44 ond you'll see the bytes you just entered arranged just as chey are in Syntax. The program will liat 300 bytes (which caa be changed by editing line 210), so at this each stage you may want to BREAK after you've seen what you want,

Look at that listing. If any numbers were entered wrong,

PORE che correct value directly. That is, if you see: 44009 32 130 1429 135 136

You know the 4th value ia wrong (it should ba 132),

in immediate mode, POKE 44003, 131.

So nov,

Repeat the process of steps 7 through 4 until you reach 44255. Next, enter the actual machine language program by going to 100 and Letting v = 45000, Fill any excess bytes with f or 201.

Triple check the whole entry table and program by GOing to 205 (by the way, Lines 10 to 40 and 300 are not needed in this application) and camparing what you have on the screen with the Listing in Syntax. Correct any errors with direct POKES,

SAVE "FIRSTLOADR" CODE a couple of times, for insurance. (You might even want to do chis befare step 6, just ia case you mistype a FOKE and crash the machine.)

Now, cue up a ing purposes) and about all look like red

2X81 tape (use a 2K or less program for test- as described in Syntax.. Volume is critical

I cea tell you is that the program data should and black Lines in the bowder somewhat similar to the yellow and blue of a 2068 program in width. foo tow or two high a volume will give nothing or just occesional flashes, Make aure there ís no BASIC program ia the machine when you RAND USR 45000.

Enter RANDOMIZE USR 45000, play the tape, and wait for the f OK. Note that you can stop the process, anytime, by press- ing the 'BREAK' key, Note particularly that Ornstein means

“fuse that key - not Capshift and BREAK.

Co through your program as described in Syntax, note changes required and SAVE it before you wake thea.

Playing the gane,

MOONBUGGY :

? Moonlander - line 630 the > siga should be o ^.

A CALL ABOUT A PARROT

John Cox called from the West Coast to find out more about RIST's Parrot.

€ Copyright ss Pt. Connelly

INTO THE TRANSYLVANIAN TOWER,

‘Transylvanian Tower, by Richard Shepherd Softvarw,ls a J-D MALE adventure game written enrirely 4n BASIC, The gane begins uith an exteCual view of the "tower" and } bried inttoduetáry screens of imsttoctions. to read the Anstruetion booklet which comes vith the cassette though, bafore begluntog Play. You'll get a chance co do this in the 2 minete delay, chile cha coo purer sets wp che firse (and each succeeding) cara.

The game ts played on 5 levels of the rover, each level fa an 9 X $ nem of imterconaected rooms, some nf which hold treasures (| and amy of which bold deadly vaepire bara. Your task ts to proceed fesa Ene bottom or Ist level, where chere are oo treenyres or bata, up throu

a stlver cross)

Coughee and tougher challenges co level $, kill Count Kttapie and obrata bia

En the first tevel, and in each aucceeding one, you ara presented with a Aine draving shoufeg J valla, ceiling and floor of che roca a perspective,

Doors, wisdows and objects are alse repri

enced. If there 1s à bae in the Tov. ha wilh fiy around the cetltng incil you etthir kiU hta vith your gua, oe Clee,or are killed by him.

The game 1s a very good example of vhat can be done with SLNCLAIR MASIC and * the Spectrum/TS 2068. The graphtca are very good for BASIC and che pa. adequate, 1€ slow during certain phas

ts

- These alov phases aca che two staute walt becueen levels and the agoniziagly stow draving of your situation cap (whieh cakes about JO seconda).

fry to break the progcam white it i» running or you'll restart your uachize. Hote com, that the Spectrum version vill not ruo om a T$ 2068, virbout signif- deant modifications (see companion article). Ye fond the difficulty oi che Gare on a whole adequate, although, firing your gun vi convenient.

mot in the lease bit

Overall I'd give YT a cating of 7 out of 10. te 1$ aa fcprestive achievement for BASIC, but could have been better documented (e.g. the instructions don't tell you hov co Fire your gun-use che ZERO key), It's price - £6.95 (about

$11.00) te about right for the U.S, market and a reasonable value for eve cccev.

suppliers teen Kost:

Best's 2068 $98.32

aye St Fhoto à $99.95

d 399.95 (Xo Tax)

Timex

Timex 1S1000/16K 50 s0 FT $49.95

zebrl/ Sunset noden $119.95 E Fordham Radic Joysticks (BP) 2138.00

Radio Shack 26-1332 * aise

‘Thermal Paper

t Bob M. has one ond {s hooked up to the Source * Thanks to Rich B for chis tip.

He

couldn't get through to RIST, but fortunately, they had sent me a schematic. I

told John vhat the missing chips and software on his second-hand kit version vere and hope he does vell in assembling it:

IS RIST still in business?

P2

THE TOWER isa E E

Spectrum BASIC is much eloser to 2X81 (TS1000), BASIC than that of the 2068 and it vas this similarily, which enabled me to rework Transylvanian Tower (TT) for

the 2058. TI is SAVED as CODE starting at 23552 for 26,500 bytes. m

En

The Sovctrum the area from 23552 through 23755 to store the system variables and U"3 BASIC Program cen begin anywhere after that. In this case, fortunacaly, SA." oygina at 23755. E Wo Your TS 2068 on the other hand, while keeping system variables at Lil 2 through 23755 (though they differ iu function after 23733), also has einwhber of other housékeeping chores tucked sway in the 16-24K area. Most notable of these is the machine stack which normally sits (with one display tile - mode )-.t 25576 to

25088., Other itemm, Chans, etc. are aleo kept in this area, so having BASIC there is not such a great idea,

ur

OE £d ptaraksr Bae t >

——

WEAR

S mao aod a

In order to find out how a BASIC program is configured,ue need to look at that systems variables file. That is easy enough to do if we use the LOAD ""CODE STARTLOC, BYTES command. Here STARTLOC is the location we vant the TS 2068 to start loading coda into and BITES is the number of bytes to load. If ve don't know how long a program is wa can leave BYTES blank,

bean:

For the purposes of examining rhe aystens variables (203 bytes) and perhaps a little of the BASIC program thea, ve do the following:

UN

l. CLEAR 28551 & NEW - This sets RAMTOP to 28552 and leav. whatever we put above it isolated frow the BASIC Systen.

2. LOAD" CODE 28552 — which will load the tape into 28552 and beyond, To save tine while experimenting, you might want te stop che tape after JÜ seconds or so. The whole Program won't LOAD, but you should get the first IK bytes, more or less.

BUGGY

J. LOAD or type in-at least lines 205 through 295 of the Program shown in Fig.l, Thea GOIO 205. You'll be asked for che starting address. Respond vith Ø or 28552. The program will then List the code you just loaded, but vill offset the effective addresses to reflect the locations the bytes originally had, Typical output [9 shown in Fig.2 {can be obtained either by COPYing the screen or OPEN #2, "P", COTO2GS, CLOSE #2).

4. Prepare a chart, like Fíg,3, which lists the SyStems var- dables end calculate the valves of the codes obtained in step 3. The really important addresses are ERR SP, LIST Sf, virtually ali the bytes from WEMPPC (23618) to MEX (23657), RANTOP 237301-1, and tha CHANS data; 23618 to 23155. "Remember thae the values ara atored LSB first. an example, to find out where che program starts, let's

investigate aud use the variable PROC. (see PP 2671? of TS 2068 manual)

aa

3 5. Calculate the value o£ PROG. from Fig.3 we see this is: ERE i 3$ E 23635 contains LSB - 203 _ 203 3 s 05 z 23636 contains MSB = 92 X 256~ 23553 — — — fry E p Ei à 3 t E F FERES: i ES 3 zai aid al PROGRAM STARTS AT 23755 iioc = Pl ve z à i i 3 = E 23727 N > i i 3 Does it? Take a look at 28754. (offset 5000 from iU $5 lo 5a i, Raar 23754) We see che 128 (BOH) we are supposed to sea fme INS before the program starts (aee Page 255 of 2068 1:28] EE manual). Next comes: E ivi R 3707 E O 1 7? 0 24% 50 etc. 3553 $ H * . yat $ st 3 Line numbers are atcred ín the normal voy in 2 bytos, ing ?. Bi E o the program starts at line #1. The next two bytes 233 3 53 E say the rest of the line ta 77 bytes long. Look at 44232 aoe ae ii 28836 (77 + the 4 bytes we've just looked at), We 33585 ic od ti see code for line d2. You could interpret each byte SEL S. de a of code to determine what the program does, but there 23797 $ a: 3 i4 an easier vay. H Boii Iit Dil CEDOCGH Ci ^£3 3 6. The PROG ve've been looking at ig really at 28635 = Ki i B and the actual value, under which the system 19 operat ~ = i

ing is at 23635. We know that the progrem begins at an 28755 so we can POKE that data into PROG and fool the system for a while. 28755 = 83,112 So:

m

PLE

oret

D oa

FOKE 23635,83 sa POKE 2363$,112 rae

7. LIST your program. The very heginning of the first line i» garbage Like Fig.4, but you can figure out from Fig.2 or 3 what those few bytes vere (in thts case it vas Ol POKE» Try COPY or LLIST 1f you wane a aore permanent record, You could now sinply type in the program and, given that the author didn't enter any variables as direct commands, it would work. There is an easier way, however.

i p 3 LONG ISLAND SINCLAIR TIMEX GROUP

The FOKE 23613,9 Lines, which mess up the error Band Ling

e.g. causing a system reset when you try to "break" the progr enough, and maincains program lengthor simply eliminated, if they are eliminated, the program becomes shorter and faster,

LONG ISLAND

Kv SINCLAIR TINEX ^ Tum eff your machine and perform steps 1 through 4 contents ‘> GROUR * in. Remenber that wa have loaded the code 5000 bytes SEa DESIRED — ONTENTS higher than vhen it was esed. If the program doesn't LOCATION NAME hisp me HET ms dynamicatly define too many new variables we can stick EDEL E with this 5000 byte offset. TT does hovever, and if ve isz K STATE N/A 65280 redefine all che systems variables ro points $000 higher — i^ 5i we end up running out of memory later. We'll move the program down another 1792 bytes to allow it to grow. " H 23413,14 ERRSB 0,255 65280 26332 Now look at the old system variables VARS (28627) toc JEN T 23615,16 LISTS? 81,255 65361 24913 81,97 MEM (26656).* m each case, ve must redefine che z location to which they point. VARS, for example, points ~ ko 62593 (which aeans it was origninally at 57,593). Ue 23627,8 VARS 269,224 57593 60701 29,237 want it to be at 60801 (1792 less) so we change the old 23629, 30 DEST 28,234 59932 63140 166,246 Valuk 23631,2 CHANS 182,92 — 23734 26942 62,195 POKE 29627, 23633,4 CURCHL* 182,92 23734 26910 30,105 ] PORE 28628, 23635,6 PROG 203,92 2355 26963 — 83,105 23637,8 NXITLIN 28,93 23836 27044 168,105 23639,40 DATADO 202,92 23754 26962 82,105 Th same must be done for most of the rest of these 23641, ELINE 242,233 59890 63098 — 122,256 varistles. A particular exception, however 15 CHANS 23643,4 KEUR 244,233 59892 53100 124,246 {& CURCHL) which, an you can see, point to 23734. Look- 23645,6 CHADD 27,93 23815 27043 — 163,105 ing at Page 255 in the manual, ve vant the CHANS data 23647,8 XPTR N/A - E = (those bytes from 23734 through 23754 in the original 23649 50 Worksp 252,233 59900 $300 — 131,246 program) to be juat below the PROGRAM area. There are 23651;2 STKBOT 13,234 59917 $3125 — 129,246 sone 21 bytes and they will start, therefore, at 76942, 23653,4 STREND 13,234 59917 63125 149,246 while PROG vill ead up at 26963. 2355 BRER 162 NA m 142 23656,7 MEH 146,92 N/A ga 166,92 A little confusing at this point, so lets recap: 23730 parno T a) We loaded the code 5000 bytes higher 1) ALL ef these variable: a through peiin iiy d tede. TP 4 ARS BUFI safer ta do te ehis om ete TOE be reasigned, fe'e- b) Thac-code contains the sybtem variables and the progran, c) Still fooling around above RAMTOP (28552) we poked new values into the systems var- fables which would reflect the relative offset of 5000 (actual) lesa 1792 (desired) E » or 3208. This was to give more space for 18. VARS to grow. c3 it d) Lf we could now move this corrected code 29 where ít belongs: i.e., the variables From E 28552 through 28733 down to 23552 and, ai- “33 1231 ' multaneously, the program (& CHANS) down to 409 $13 26963 (26942 for CHANS), we vould have a T p runnable program. yid The following obje . found around tà 9. The first fev lines of Fig.l do that for us. They ace a LE Balt machina code LDIR routine. All that nee» to be done now PRINT “a m is to RUN the little program and then:' 2. LET A = USR 24606: STOP u The information will be put where ic's supposed to be and the prograa ran ba run by typing CLEAR. F E Goro 2, t e aa The machine Code is given in Fig.5 4 anes You'va now got a working copy of Transylvain Tower. The save technique should Peel work for most such Spectrum BASIC prograns.*? Be careful thwugh, to check each 4 ein : variable, one at a tine, as they realiy can point anywhere, TT vas "easy" be- z4 gou cause everything was in order, Other programs may not be that vay. Also nore .iiz en that you still have to do a little BASIC “cleaning” of the program. Lines | and Barlig 7720 contein the statement SAVE "tover" CODE 23552, 15.500 ~ which aust be changed Gee she to reflect your new configuration. Also, the keyword "STICK" vill appear where- PES ever Ehe graphic "1" exists on the SPECTRUM. eio FS

If you've developed on this system, let us know and we'll add your conments to this report. “As an example, lines 106 to 140 allow input of values ro be POKED, starting at address "U", A more sophisticated program might ask for a starting address (e.g. 28635) and ending addtess (e.g., 21653) and an offset and then automatically adjust the bytes at those locations for you.

THE MACHINE cope

LOBE with 181 - $ Bytes co be Transfered #1,181,9

LODE with Deatinatton address (23552) 17,8,92 LDHL vith Source of Code (28552) 33,136, 11 LDIR Transfer the code t 237,176, LDBE with 36,500 bytes 61,148,142

XDDÉ with Destination 26942 (CHANS & PROG) — 17,62, 105 LDüL with Source 28734 (original CHAMS §PROG)33, 62, 112

LDIR Transfer the data 237,176 5 RET Return to BASIC 201

Fig. 5

$A Ie works, fot example, oa "Everest Ascent”, Worfut iude ORE

23 PRINT "yog 3notnev rag

i @ 1984 P. DONNELLY

E

TIMEX APPLICATION NOTE: INTERFACING WITH BROTHER'S EP44 TYPEWRITER MTM EEE SRG SE PEWRITER

EQUIPMENT REQUIRED: 1) TS 1000/ZX 81

2) Byte Back MD-2 Modem with RS232 Port 3) Brother EP-44 portable typewriter 4) 14 pin dip header, wire & 25 PIN "D" connector

Brother's EP-44 hi-resolution, dot-matrix printer uses regular and/or thermal paper (up to 8 1/2" wide), can be battery operated and is a full function- typewriter. It also has 4K memory for text and an RS-232 port. Priced between $269 and 300, it is a good buy simply as a portable typewriter, With Byte back's MD-2 Modem/RS 232 port, the EP-44 can serve as your printer.

To make this connection, begin by removing the right hand cover plate of your

- MD-2 unit. Inside, you'll see the backward mounted 14 pin DIP socket shown in Fig. 3. The numbers on the pins are tricky because of this back-side mounting, so be particularly observant.

Assemble your interface cable using the pinouts shown in Figs. 1,2, & 3. Only 3 wires (and possibly just 2) are needed for this interface, they are:

1) Ground-connect pin 7 of the DB 25 connector to pin 7 on your Byte Back board (use a DIP HEADER).

2) DATA TO THE PRINTER This means the Timex will be transmitting (pin 2) and the EP-44 will be receiving (pin 3 on DB-25)

3) EXTERNAL READY - CLEAR TO SEND - (In fact, we could probably dispense with this one or use RTS). External Ready (pin 20) on the printer tells the Timex's Clear to Send (pin 5 or DIP) that it is ready to listen to data,

Now plug in the EP-44 and MD-2 using your cable. Put the MD-2 on the back of

a TS 1000, power up and LOAD or Key in the Byte Back software. Switch the EP-44 on and put it in terminal mode (OFF Line). Enter the configuration shown in Fig as the printer modes. The BASIC software listing Supplied, free, by Byte Back was used to generate the character set and message shown below:

THIS IS TO INFORM YOU THAT

!'SE*R'O*-,-./0123456789 pqrstuvwxyz(|)^

` ?RABCDEFGHIJKLMNOPQRSTUVWXYZ(X)^. ^ abcdefghijk

As supplied, you can only use LPRINT, not LLIST & COPY. This also limits you to 32 characters per line for standard text. Byte Back has a program which will give you full features at $29.95.

» i t

This system is easy to hook up and quite reliable. I don't know which RS-232 interface chips the Brother uses, but appears quite rugged and flexible, as is the MD-2 modem. We only tested the':P-44 as a printer, but by connecting

the remaining RXD and TXD lines and “27S, CIS, you could use the EP-44 as a "big keyboard". wt

Finally, though we've not 100% sure of this, it may even be possible to tap into the EP-44's 4K of CMOS, battery backed-up RAM. This means you could add 4K RAM and, have "almost" instant load software, as long as it was under 4K.

say ByteBack ‘SINCLAIR TIPE

EF Ad ot wand an tnit pri fr prea toten. 1. CONNECTION

ByteBack RS~232 Output Plug

1 reset te font (FEI 2 rremenbenad pete (PHB) 9

m—

$ lee Te dnd (61896

4 bam tenir tn |

1 EB a sot, ER hoa 9 ON whan data can da rcsived, But becames OPP hen uty loris bute ramander flow and dais canot be cecnived

12) Trango ‘aca v venom’ whet OM and CS ore OM.

LONG ISLAND SINCLAIR TIMEX GROUP 6