LONG ISLAND SINCLAIR TIMEX GROUP
INCORPORATING % NYTSE OF NEH YORK СТІ ISSUE: APRIL 1920
PTECiRERVES = SUPPORTED: A = ДЕНСО- NEXT MEETING MAY 80 i’
LIST MEMBERSHIP IS 545,00, pring TAPES ARE ДА ТАВ, WRITE THE ADDRESS PRINTED BELOW, ve e
A Cheap and Simple ЕРКОМ::: Programmer :
ZX81 Software
NS 5 PERI LANE VALLEY STREAM, NY = 11581 Ж.
т Т0: роп Lambert JAN/91 3310 Clover Dr. S.W. Cedar Rapids, IA 52404
FIRST CLASS MAIL
CORNER OF “DATED MEETING NOTICE YOUR LABEL Last “ISSUE. 1
| | |
іш H
шж Wu
шым X ің арр kt, E ашса + un
[Тар Ми ПЕ и и
Ш Та ui OI ш “ыл алғы Zu zu) „] PA A EE СС LI A з (з ШП. М Иче ит
re
Mca t
Okt ж”
ші гіш ІЗ OCH Е Lc CE Wc “Ет Э к с Eé е ! мра FA I Seu Ch OH.
2 ZO. ИЕ kO. км eu HI UC ee тилишш ZZZ) Hu
т
ма к
wë
м „ал + De mum st Be шше “„ ТАШ. Be Ch pe Oo bd
өз 4.
Е = Е ЕЕЕ Е
из.
o EE інші
SUD |. Li OZ,
Gell
LOCH. қы DO VI
30 Ju
rie
к
ші E tC j ШУУ LO +
ТИ
ыг кап.
17 =
шш
сі
2.52.
OCI O 2Р4 We р fe OL и кіш
Ш
С:
А) vu) ШЕ шалт. кий C OO WC
2 ш шы
D ТЕПТІ wed fee WO AAI ШЕШЕ
ZOU
шет р Ee C y EE Du
һ- uJ
поши ei “ "Ш Uu)
Ww
"иын ры кал ICC Zi “EOE UI а
ІС гы из pe ei
ыса
WHEE gl ШЕ К
LONG ISLAND SINCLAIR TIMEX GROUP
Isidore Goldsmith AUG/90 537 Monaco L, Kings Point
Delray Beach, FL 33446
(305)495-4318
Harvey Rait JAN/91 5 Peri Ln. Valley Stream, NY
11581 (516) 791-6247
Bob Malloy JAN/91
412 Pacific St.
Massapequa Park, NY 11762
516-541-6731
Don Lambert JAN/91
3310 Clover Dr. S.W.
Cedar Rapids, IA 52404
Robert Gilder JAN/91 69 Jefferson РІ. Massapequa, NY
11758
Jim Doucas JAN/90 1633 Crosby Rd. Bronx, NY
10461
Hugo DiGiovanni JAN/90
6 Wallingford Dr. Melville, NY 11747
Ike Walker JAN/91
253 Kenna Drive
So. Charleston W VA 25309-2646
304-346-2929
John Pazmino JAN/91 979 E 42 St. Brooklyn, NY
11210
Stoney McMurray JAN/91 473 Westminster Rd Brooklyn, NY
11218
(718)469-5948
Steve Kaye JAN/91 1281 E 86th St. Brooklyn, NY
11236
Myles Cohen JAN/91 10 E 95 St. New York, NY
10128
Ken Diederich NOV/90 312 N. Bailey Jacksonville, AR
72076
Thomas SKapinski JAN/91 7 Atkinson Lane Coram, NY
11727
(5162732-1825
Fred Stern JAN/91 214 Roberts St. Holbrook, NY
74 (516) 757-0963
Philip Florio JAN/91 28-35 Jordan St. Bayside, NY
11358
Ed Lee JAN/91
17 w. 17th St.
New York, NY 10011
Joeseph F. LaPunzina NOV/90 91 Bay 31 St Brooklyn, NY
11214
Thomas М. Јеппепз MAR/91 33901 Lawton Ave. Eastlake, OH
44095
John D. Solomon Jr. JAN/91 139 North Terrace Ave. Mount Vernon, NY
10550
Charles J. Musumerci МАН/90 Coler Memorial Hosp. Ward A-42 Roosevelt Island, NY
10044
Поп & Eleanor Lamen МАҮ/90 R.D. #3 Box 3404 Windsor, NY
13865
Mark Scheck JUN/90
86 Holmes St. UE s Statford, CT ` i tio | 06497 db
(2032378-4186
Charles К. Byler SEP/90 P.O. Box 5061 APO SF, CA
96519
Jay Siegel MAR/91 5213 Oth Ave. Brooklyn, NY
11220
(718)436-5367
Armand R. Martin ОСТ/90 431 Dubuc Street Winnepeg, Manitoba CANADA R2H 164
John J. Rossi III OcT/90 6 Beech Ct. College Point, NY
11356
Jess Wyder DEC/90
17 Academy St.
Fishkill, NY 12524-1301
Nicholas I. Oshana,Jr. МОУ/90 101 Treble Rd. Bristol, CT
06010
Dr. Armand Drucker ЈАМ/91 194-02A 67th Ave. Fresh Meadows, NY
11356
Dr. Raymond Kaufman FEB/91 3755 Henry Hudson Pky. Apt АҒ Bronx, NY
10463
Richard K.Norek FEB/91
188 St. Felix Ave
Cheektowaga, NY 14227-1228
Robert M. Curnutt FEB/91 10400 Truxton Rd. Adelphi, MD
20783
Paul W. Chomitz JAN/91 95 Delancey St. New York, NY
- 10002
LLST. Кы.
TRY THIS
A Cheap and Simple EPROM |
Progr ammer Dan Schaaf
issues of SYNC have had several articles to remedy heart-felt deficiencies in the Sinclair Basics: SCROLLs, PAUSEs, READs, DATAs, string handling routines, etc. This article will show you how to build an add-on device which will allow you to have ‚ any of these routines, plus апу you can design yourself, permanently and instantly available
“What more could I want?” That’s what you usually say before you buy something. But you learn after you have had it for a while that there is a lot more to be wanted. Past
Dan Schaaf, 306 N. Carroll, Michigan City, IN
LOAD those routines from tape into the ma- chine (a waste of time and of RAM). Those interested in peripherals for the Sinclairs (floppy disk, electronic typewriters, etc.) can design monitors and controllers for those de- vices. Eventually you can program indepen- dent microprocessors for special purposes. An EPROM programmer can become a real liberator of the power inherent in the Z80. 4K EPROMs now cost less than $10.00. 4K was chosen because of its cost advantage and simplicity of programming. 4K is a good
46360. to you іп one 4K EPROM without the needto healthy chunk of memory as witnessed by the Figure 1. Schematic Diagram. он сомғитес-- -оы PROGRAMMER АТА А | н ul- = | 74.432 Мара Se Go "Met ай d "Regie 3 BA. EB 2A [2] ее. Aig Bl A, Ao P ~~e с A = 1,04 Жом Је | ба A, Zem D ©. | ы 28 Je g ese Е ть п oor el Ер, | п Е ы Lët, ! Elone 45 D К . x D Бары ут Tence > el юк red Pin 20 1 БАЯУ Lë ром PIN7, 166 | Б (Pm 7, 04 FOR Миғоксе) | R4 а Asbl ЧА --<--------:-56 E ! АЦ. 165 МЕЛЕР aug] ` Е FROM Тор + PANOT РЕР FoR ГОЙ Я Zx- ga ФКОЧ\р6 НЕРЕ > NNEC. из- ne- ко to lon
Refer to SYNC 1:1 for ZX80 schematic.
See the ZX81 manual for the edge con ы “песіог assignment. ; - z T е. “ЛЕР
EF OM <- GOES TO EPGE CONNECTOR
da -JUMPER се SwiyH
55 «==> AR
Figure 2. Timing Diagram
DA
| DNA % ADpREss IN |
"TS (һыу
Figure 3. Block Diagram.
Ul- 7415139 в:
The Block Diagram shows how the basic EPROM timing needs are met by the circuit. As soon as a Memory Request is made into the EPROM, a Wait state is initiated. This holds data and addresses on the bus line until cleared by the timing loop. The beginning of
Sinclair 4K Basic. Although not necessary |
since EPROMs come “erased” from the fac- tory, it is useful to have or have access to an ultraviolet lamp for erasing the EPROM. They can be bought new for $70.00, but some can be found at flea markets and are sometimes known as rock hound lights used to fluoresce organic and other materials in rocks. At $70.00, it should be noted, however, seven fresh EPROMs could be bought.
Once built, programming proceeds Бу
POKEing data into the proper addresses. USR is then used if the data was a machine language program, or PEEK if the data was a table, and also PEEK to check that program-
ming worked properly.
What Is an EPROM?
EPROM stands for Erasable Programmable Read Only Memory. An EPROM has some of the same characteristics as the ROM in your machine that contains the Basic language:
1) Data may be read from the EPROM once an address has been presented to the address bus.
u2- то 74.5122
the 50 ms pulse to the PD/PGM pin is delayed 2 ws (capacitor C2). 2 us (capacitor Сб) after the 50 ms pulse ends, a 4 ys pulse from the second mono clears the Wait state and allows the computer’s bus lines to operate as normal.
2) Data is retained when the power is turned -
off, almost forever.
There are differences: EPROMs need to be programmed a byte at a time; ROMs are made in large batches each with the same program on them. EPROMs can be erased (for repro- gramming) by the use of ultraviolet radiation; ROMs can never be erased. In a sense, an EPROM is midway betway a ROM and a RAM. Typically an EPROM has the same gross dimensions as a ROM and the same pin-out as a ROM (since the computer uses both the same way) but in addition it has a little quartz window on top that allows the ultraviolet light into the EPROM for erasing. Erasing results in all data being lost at all ad- dresses. There is no selective erasing.
How Does an EPROM Work?
The basic element of the EPROM is a ca- pacitor which holds a charge. The estimated life time (time constant) of the charge is 7 to 10 years. Each bit is represented within the
-EPROM by-one capacitor. A sensing
amplifier converts this static charge to a TTL
є
!
level voltage that appears on the data lines as either а “1” ог “0”. Ultraviolet radiation has sufficient energy to dislodge electrons on the capacitor surface, and as these photo- electrons are generated the capacitor will dis- charge and data will be erased. Most EPROMs read a discharged capacitor as a “1” and acharged capacitor as a “0””. 25 volts are used to charge the 32,768 tiny capaci- tors on the chip. A typical ultraviolet lamp
‚ takes about half an hour to discharge the - EPROM. ‘Manufacturers advise that a tape
cover be put over the window to prevent accidental erasure.
How the EPROM Programmer Works
Looking at the data sheets for the EPROM ` selected, one sees various requirements:
1) Data and address information must be at TTL compatable voltages.
2) For programming, 25 volts must be applied to pin 21 (Vpp ):
3) Data апа маса must Бе held соп- stant for 50 milli-seconds.
4) A certain timing sequence must be car- ried out with regards to the activation of the programming pin, pin 18 (See Timing Di- agram.)
1) and 2) are easily met. The Z80 has TTL compatable voltage levels and four 6 volt bat- teries will provide 25 volts. 3) and 4) are harder to meet. А POKE command only holds address and data information on the busses for about 550 nanoseconds, almost 100,000 times too short for proper EPROM Í programming. :
The solution is to use the WAIT pin on the Z80. When the WAIT pin is active (low volt- age) all bus information is held constant until the pin voltage goes high again. The circuit
-shown has a one-shot whose time period is set
to 50 microseconds. The other timing re- quirements are taken care of by the circuit as well, as explained next. | When the EPROM is addressed (a proper combination of А13, Al4, and MRQ, mem- ory request) by the 780, 01 switches the internal ROM off f (via O,-pin 4) and turns on the EPROM (via I,-pin 5). If Ji is in, a WAIT state is started when Op pin 12 of U1 goes low. At the same time, pin 1! Ip of U1 goes high initiating the 50 millisecond one-shot of U2 (VRI + R2, C4). Qi of U2 goes low for 50 milliseconds as does PGM, pin 18 of U3, which then programs the EPROM. 2 mil- liseconds after the end of the 50 millisecond programming period, the second one-shot of ` U2 (КІ, C5) disables the Enable pin, pin 15, of 01 thus clearing the WAIT state and allowing the computer to process the next instruction. The design was such as to use a minimum of parts. Certain problems therefore exist which can be avoided by being aware of them. The main concern is that a PEEK command, ` or USR command into the EPROM when the EPROM is in the “program” mode will write useless data into the EPROM. Therefore, do
_ not PEEK or USR into the EPROM without
disconnecting the 25 volts (J4 out).
If you are familiar with dynamic RAM spe- cifications (the type of RAM used in the 16K-64K expansion units), you will know that they specify a maximum refresh fae usu- ally of 2 milliseconds. During a cycle there is no refreshing. So if the data sheets are to be believed, dynamic RAMs should not work with this EPROMer. However, I have found that dynamic RAMs can tolerate as
much as опе or two seconds without refresh
and without loss of data. I have used my EPROM programmer with 16K and the newer 64K dynamic RAMs and have had no trou- bles. If you run into trouble, disconnect the dynamic RAMs and use the itnernal static RAMs, which need no refresh.
Making It
The construction method described here is the one I used and may not be best for you.
What I usually do is lay out the ICs (or IC sockets) on a board, making sure that there is enough room for miscellaneous components and that the wiring which will interface with the computer is conveniently close to the edge of the board. I seek to minimize runs, еѕре- cially power runs (5 and 25 volt). I then put in the other components and use the leads as much as possible to wire the circuit. Every step of the way I check and double check that my wiring corresponds to the schematic. ICs get confusing since you must look at them Dom the top and the bottom. (See schematic.) -~ Many years ago I got a lot of color-coded telephone wire (what more could I want?) from an abandoned factory in my home town.
Program 1.
FOR Lep TO 399
10 20 POKE 160900,0 30 NEXT L
Program 2. R Leg TO 4191 4% те PEEK 1.12526) «әББ.тнЕМ PRINT L, PEEK (1.912286) зе NEST L
Program 3.
Б ІР INKEYs<>"“Pp” 28 POKE 16383,8 28 SAVE "Р" зе GOTO Se
THEN GOTO e
Program 5. = 5 IF NOT INKEY@="P™ THEN GOTO 10 POKE M,N 20 POKE Mi, N2 ЗӨ POKE M+2,N3 + {RE OF MACHINE LANGUAGE D рғ ) ы 1000 SAVE “P 1010 GOTO 10800
Note: M = first address at which the data is to be put. МІ, etc. is the data.
I use that to wire the rest of the circuit. I recheck the circuit against the schematic and
` then solder all the points. After that I use a
Volt-Ohm Meter to test the continuity of each run as well as that two runs have not acci-
‘dently shorted. Good, clean, logical construc-
tion habits save hours of needless trouble shooting later. I try to document what and how I have wired it after I am done.
So now you have a board wired as in the schematic. Next it must be interfaced with the computer. Here again I used a method which may not be right for you. Any method is ac- ceptable, including hardwiring it with color coded telephone wire. However, this could limit future expansion. AP Products (as shown on page 42 of the 1982 Jameco Cata-
Figure 4. Parts List.
log) has jumper headers arid cable assemblies which can be used. I used two straight double row, 40 post jumper headers. One set I sol- dered onto the EPROM board. The other set I soldered onto the computer’s edge connector lower forty.
I then interconnected the two boards with a 6” AP flat ribbon cable. Long runs of data lines can cause problems and should be avoided. Of the four remaining edge connec- tor positions, only two are needed: D7 and 5 + volts. These I hard wired with a connector in . between for disconnecting.
The EPROM is a MOS device and is sus- ceptible to damage due to static discharge. I have not been overly cautious, yet I have never had trouble with static charge destroying a
Part. Radio Shack Number. (If more than one of item in package, then number is listed only the number of times needed.) ICs 01 7415139 ** (See below) 02 7415123 t . U3 TMS 2532, 450 ns. = Resistors Rl 271-034 R2 100K 271-045 R3 1.8K 271-1324 R4 1.8K R5 1.8K R6 3.3, 5 watt (optional) 271-028 Capacitors Сі . 272-1069 C2 .005 mfd 272-130 c3 .1 mfd c4 1 mfd 272-1419 c5 470 pfd 272-125 c6 .005 mfd c7 33 mfd, 16V. 272-1426 Diodes | р1 оде 276-1101 р2 Diode D3 LED (optional) Various‘ available Variable Resistors УВІ Miscellaneous 21, 24 umpers or опе way switches Any suitable J2-3, 3-post jumper or 2-way switch Any suitable PC Board 276-153 IC socket for U3 - 24 ріп” 276-1989 Batteries (4) - 6 volt lantern
Connector Cable.
* The other IC's can be soldered
fear of damage or aa (o replace them.
and any MOS device, rea
(See article "Making It")
Eveready 509 or equal
into place without too much But the EPROM,
y should be in a socket.
%% Available through many mail order houses, such as Jameco,
Active Electronics, JDR Microdevices, etc.,
Addresses and
prices can be found in the back of most hobby electronics
magazines.
MOS device. One should, however, make sure
before handling the EPROM that you are dis- charged to the ground of the computer board. Do not place EPROM into socket until both the timing and the 25у circuit have been checked out.
In making the EPROM programmer I ran into difficulties. The main one was that the EPROM pin (address 7) was defective and only one half of the memory was addressable. At first I assumed that my circuit was in error. After several days I convinced myself that the EPROM was bad and returned it for exchange and bought another chip as well. The ex- changed chip had the same problem while the new chip appears to be working fine. (1 also accidently applied 25v to the Sv supply which fried 2 RAMS but in the process fortunately spared the rest of the computer.)
Trouble Shooting Before Putting the EPROM In
In SYNC (2:1) I showed a method of monitoring computer activities by injecting Signals into the video output. This method is useful in dynamically testing the board and connection to the computer. With the com- puter on and the board connected, note the different patterns that the pins on the Z80 make relevant to the EPROM. For instance, the patterns for Ag at the edge connector should be the same as An at the EPROM.
- Redundant EPROM SE resses
DZ Тор ӘК BASIC
KIN 74 {7 Ж” Тор 4K BASIC.
POLS -
The microprocessor starts at zero and proceeds up in addresses, doing each instruction in turn until it eventually loops back to a lower address.
Program 6. A Machine Language Program to be POKEd Into the EPROM.
LD HL (E-file) 3 Load HL with E-file location the end of the variables list. A string must be at the end of that list.
EX HL,DE
LD H, в sClear HL for addition
LDL, B Е
NEXT: DEC DE LD др) 15ее if it's a variable name , JRC -NEXT 11# not check next byte AGAIN: INC DE H
LD А, (DE) А
СИР , gl 314 quote token (#1) then you're done and
RETZ 94-22 return to the BASIC program with
ADD HL sthe number in HL. USR returns HL to the
ADD HL ipro ram.
ADD HL 3 hift HL four places: 16 times,
ADD HL
SUB, 28 Convert letter to number
JRC, +ERROR sError if string token less than Ø
СМР, 16 35ее if token is EE than "f"
JRC +NO ERROR 314 not, 3 %о ERROR
ERROR: RST gp, 9 sERROR ends IC program with ERROR code "А" NO ERROR: LD C,A ADD HL,BC 3А4д4 converted token to HL JR AGAIN 3Do again Decimal] listing for Program 6. 0-42 1-10 2-64 3-235 4-96 5-104 6-27 7-26 8-254 9-129 10-56 11-250 12-19 13-26 14-254 15-01 16-200 17-41 18-41 19-41 20-41 21-214 22-28 23-56 24-4 25-254 26-16 27-56 ` 28-2 29-207 30-9 31-79 32-9 33-24 34-233
ee WEE
Repeat for Ag to Aj; and Dg to D7 as well. Make sure that there are five volts where there should be on the board. If all looks good, then you are ready to check the timing circuit. Program 1 will allow you to set VRI for timing the one-shot. First, put the pro- grammer into the test mode (see Chart 1). Then run the program. It should take as close to 20 seconds to run as you can measure. Ad- just VRI until the program takes 20 seconds. If you cannot adjust the programmer to 20 seconds, then R may be changed, lower value to make it faster, higher value to slow it down.
Applying the 25 Volts
The 8K user should read the next section before going further.
Since the 25v can be so damaging, triple check that the 25v line only runs to pin 21 of the EPROM and that the diode is in properly and works properly. Then turn the power off.
Put the EPROM in, turn the power back on, and RUN Program 2. If Program 2 ran badly,
‚ Bo back and check the wiring. If it ran okay,
then RUN Program 3. (4K ROM apply 25v before RUNning the program; 8K ROM, dur- ing the run.) After the program is over and the 25v are removed, run Program 4. Program 4 checks to see that your wiring has not created redundant addressing in the memory. If the program prints more than one address, then most likely an address line is open (or the
EPROM has a defective address pin), and you must go back to the previous section and dynamically check the address and data lines.
If program ran okay, then you are ready to Program the EPROM with real data. : Verify that when the 25v are connected to the Vpp that only 3 to 30 ma are drawn by that pin. Also, if some other 25v source is used, make sure it is well regulated to within + 1v of
25v.
Programming the EPROM
Programming is simple. Put the Eprom programmer into the program mode (Chart 1) and then POKE data into the EPROM ad- dresses. Because of the way the 8K ROM uses the Refresh cycle, I have had trouble on occa- sion while the video is on. Therefore, for the 8K ROM the video must be “off” while the EPROM programmer is in the program mode. Program 5 is used for the 8K ROM. Do not have the 25v on when the 8K ROM video is
——Program 7. Entering Hexadecimal Оаба.__
Бе POKE L+M,USR М бе NEXT L
Note: M = first address to which data is to be POKEd. N = address of Program 6 in the EPROM. This program cannot be used to POKE into the EPROM.
оп, or else bad data may be written into the EPROM. Line 5 of the program is a loop which waits for the “Р” key to be pressed. While the program is waiting, you must set the EPROM programmer to the “program”
` mode. Then press “Р” and the program will POKE the data into the EPROM. You will know that the programming is done when the screen starts to gitter with garbage as the pro- gram gets SAVEd in line 1000. Now place the EPROMer into the “read” mode. Then press BREAK.
Two sample programs are shown which work for the 4K Basic. One converts a hexidecimal string into a number (Program 6). The other program converts a number into a hexidecimal representation which can be PRINTed (Program 8). Programs 7 and 9 show their uses in Basic programs.
Putting It to Work
This construction project is really an open ended affair, just as computers are. Once operating, your limits are your imagination, patience, and money. Though not particularly difficult to build, like all projects it will take fortitude to keep on going when things look hopeless (and they will).
Published programs should be checked to see if any changes must be made when relocat- ing them to the EPROM addresses. Relative jumps and calls to inside the program have to be changed. An example of one particular problem is illustrated by trying to adapt the
Program 8. A Machine Language Program to be POKEd into the EPROM.
LD HL, (VARS) sLoad HL with location of first Variable. sVariable must be there from BASIC EES and must be а опе letter name.
3
INC HL et past variable name. LD A, (HL) |
Ір В, А
AND A, ØF h Mask last four bits ADD A, 28 sConvert to number token
LD HL, (E-file) | ;Load HL with the address of the end of i ¿the variable list. A two character ¿string must be there from the BASIC
іргодтап, DEC HL DEC HL sMove past quote in string to DEC HL ¿last charactor in string LD (HL), A sLoad converted token into string DEC HL sMove pointer to first charactor in string. LD В, A ¿Get rest of number. AND A,FØ h Mask upper four bits. RR RR ¿Shift upper bits into lower bits RR RR ADD A, 28 sConvert to number token. LD(HL) , A sPlace in upper charactor of string. LD HL, Go ¿Clear HL just for neatness' sake. RET sReturn to BASIC with the last string
152700 а hexidecimal representation sof the number in the first variable. sNote: Only numbers Ø to 255 are converted,
ммм...
“Scroll” routine of Logan (SYNC 1:4). The routine requires three bytes of RAM, one to pass the “Leave” parameter, the other two for
ч internal program register. The addresses of ne RAM bytes were immediately before the subroutine. Obviously, an EPROM can not be used for RAM. My solution was to pass the “Leave” parameter through the RANDOM- ISE command and use the Syntax pointer ю- Cation for the INTERNAL PROGRAM regis- ter since no Syntax pointing is required during the subroutine.
There have been many good subroutines in SYNC and the general techniques outlined in such articles can be used as long as they are not used blindly but understood and modified as needed. A good book on Z80 machine lan- guage programming will help a great deal.
A log of the addresses should be kept so that you know where what is and that you do not over write onto existing programs. Also tape copies of all programs should be kept in case it
becomes necessary to reprogram the whole .
EPROM.
К i A Cheap and Simple EPROM Programmes (3:1) I have run my programmer with the power The author asks to have added at the end of the section supply provided with the computer. However, “Ном the EPROM Programmer Works,” р. 80, the following
р 4 ` paragraph: when I started to add other devices, it quickly As designed. the EPROM programmer will not work with became necessary to supplement the power 64K memory modules. The reason is that they generate their supply. If your system is already taxing the own ROM C/S signals which would conflict with those ; . generated by the programmer. However, once programmed, Power supply, you will have to consider ex- Ёсе ррком the prog placed into a ROM socket, provided
panding it. that the pin configuration is compatible or is made compatible. А The problem here is that по опе EPROM pin assignment Construction Outline scheme exists. To make a “standard” ROM socket compatible
> with the EPROM, the following modifications to the ROM 1) Gather parts into one place and fit them circuit (not the programmer) are required: traces to pins 18 into the PC board. Use the IC socket for the and 20 shouid be reversed. The trace to pin 21 should be cut
EPROM and ріп 21 should be tied to Усс (+5V). (Note: 1 have 3 dd reversed the usual assignments of pins 19 and 20 to aid іп 2) Solder the circuit together. compatibility.) In all probability, the ROM circuit provided 3) Test the board for proper connections. Would require such modifications. `4) Check and adjust the timing resistor. Program 9. Display of Data Check the 25v line. — as Hexadecimal Number, 5) Place the EPROM in and test it with the various programs (2 through 4). | S LET č 26 то ТИИ 6) If it is okay, program in some simple 2 LET 18-755. routines and see if they work. 58 BRINT C5 Z.B ce, ` Ge NEXT L
Note: Line 5 reserves the first variable іп the variable list for the subroutine. This
must be done before the FOR command Decimal шім for езе sets up its variable. The FOR variable
0-42 1-8 2-64 3-35 4-126 cannot be used for the first variable, nor
5-71. 6-230 7-15 8-198 9-28 can variables with more than опе char- 10-42 11-10 12-64 13-43 14-43 acter in the name. Line 30 makes sure 15-43 16-119 17-43 18-120 19-230 that there is a two character String at the 20-240 21-15 22-15 23-15 24-15. end of the variables list. М = first address 25-198 26-28 - 27-119 28-33 29-0 of the area to be displayed. М = address 30-0 31-201 of Program 8 іп the EPROM.
CN С
Ə. `
ZX81 Software
1 REM ZX-81/ TS 1000/TS1500
2 SLou
3 REN ШЕТІН PRESS RUN,BUT USE
GOTO 1 INSTEAD
5 КЕН V.3.PARTS.B3,PARTSDATAR- SHSE. COPYRIGHT BY BILL HARNER. ATTAUA » 19S6.FLACED IN PUBLIC Бом
{ТМ зосо
B35 LEF KEE oem E pae ЖЕЛ ORATABRSE”
SS REM GO +o STARTING DISPLAY
Бо GOSUB 260e
65 REM GO TO INTRO INFO
70 GOSUB 92850
сЕ БЗВ SITE)
ісе GOSL SS 110 PRINT " 151218] 115 РРІМТ
120 PRINT “1-START A NEW DATABA SE |
12S PRINT |
130 PRINT “2-APD TO AN EXISTING DATABASE” Ы Е
135 PRINT |
140 PRINT “3-SCAN рата”
145 PRINT | |
150 PRINT “4-SAVE PROGRAM WITH рата"
155 PRINT
180 PRINT “S-@UIT PROGRAM”
185 PRINT
186 PRINT “G-LIST DATA
195 PRINT AT 20, э; Ёз THE NU MBER OF YOUR CHOTCE”
2600 INPUT MENU
210 CLS
220 IF MENUS THEN LET 5%=° Ф"
250 GOTO МЕМО 1000
зоо сото ee
STO. CLS
300 PRINT “THATS ALL FOLKS"
292 PRINT
995 PRINT “PROGRAH USED="; PEEK 16404 +256#РЕЕК 16405- 16384; BYT ES?’
a99 STOP 1025 LET P=" | 1910 GOSUB Звае 1015 PRINT AT 20,0; "ENTER ""ӘМІТ
то CoO TO НЕМІ” 1920 PRINT AT 4,0; “Ешанча PARTS N SMBER-MAxX 12 рІбІТ5” 1925 PRINT AT 21,0; “
1026 IF Р%<>"" THEN PRINT AT 17,
o: "PREVIOUS PART NO.” P$
1030 INPUT N$
1035 IF N$¥="QUIT” THEN COTO 1400 1040 IF LEN N$>12 THEN GOSUB 110 teas IF LEN М%>і2 THEN COTO 1030 1050 IF LEN N$<12 THEN GOSUB 120 loss PRINT AT ваа".
1050 PRINT AT 4,0; "PARTS NUMBER= ee
2665 PRINT AT 21,0;"-
197A PRINT AT 6,0; "EIMI OUANTIT
жо (uP TO 999)” 1050 INPUT O$
10827 IF LEN Ыф=2 THEN LET “Әфе"ә”
+0 $
1Q383 IF LEN O$=1 THEN LET ©ў=”О0@ “405
1085 IF VAL 0¢:99939 OR VAL OF<O T HEN PRINT AT 21,0; "UNACCEPTABLE QUANT ITY -RE-ENTER=:"
1596 IF VAL ӨФ›999 OR VAL 0%0 Т
HEN COTO 1080 ; 1091 PRINT AT 6,0: “QUANTITY="5 Os
1092 PRINT AT 20,0; "
‚1100
m
SE
1093 1094 1095 1096
GOSUB 9520 ЕТ ВЕ eo SS" LET PS$=N GOTO зоте | REM TOO LONG PART NUMBER PRINT AT 21,0; "PART NUMBER LONG #RE-ENTERS ”
ae
1130 тоо 1140 PRINT AT 4,0; "MO. He" IS ТОО. LONG* 1160 RETURN
1200 REM SUB TQ LENGTHEN PARTS / NO. FIELD
1205 LET M§="" `
221@ LET L=LEN N$
1220 FOR Х=1 TO 12-L
1230 LET NS$=N$+" ”
1240 NEXT Х
1250 LET N$=M$+N$
1250 RETURN
1409 GOTO 255 ;
2000 REM ADD TO EXISTING DATABAS
GOTO 1000 REM DATA SCAN ROUTINE PRINT AT 17,0; ”
GOSUB 9800 3015 IF 5%ш”%” TR. IN FILE” 3029 LET E=ttLEn 5%- - 23 зәзе PRINT AT 19, Bie
TQ GO TO NENU,” cAn‘ TO
"5° TO STOP,” ”C”” TO CONT- “DTO DELETE FILE”
Cet Сел
FOR X=1 TOE
PRINT AY 127,8;”
PRINT AT 4,0; "FILE МО.
LET Қ-Ұ(ХхХ-12 416) +1 IF S$tK+126) ="#" THEN
THEN PRINT "МО DA 4/416}
ке е | .. у" oe ~REPEAT," INU
{Л һы ppn: Л NoN:
“іс;
GoTo з
ЛС)
LET C=C+1 PRINT AT 6,0; "PPT NUMBER=" (қал то кэлгі
ә PRINT AT 8,0; "OUANTITY="; 5% 23 ТО K+15)
50 FOR 2-1 ТО 35 avdk INKEY$="5"
100 IF :INKEY $="0"
10 NEXT Z `
150 NEXT X
3156 PRINT AT 17,0; "FILE END REA
CHED”
3160 IF INKEY$="0" THEN GOTO 320 THEN GOTO 300
ә 3170 IF INKEYS$="A"
vr DH 110 (дї
02 + Ман deu aoe
THEN GOSUB 33 THEN GOTO 320
Me UD ZDupOU0 D Gory.
UUD y h) m б)
E dinn GOTO 3150.
Ken | BSS aN ere ates 3500 REN CONTROL SUBROUTINE ‘77% "$310 IF ‘INKEY$="C" THEN GOTO 333 3312 IF“ INKEY$="0" THEN GOTO 320 3513 IF INKEY$="A” THEN GOTO зва (Эзі4 IF INKEY$="D" THEN LET 54 (K кеш ы”
3317_IF 5$(K+16) ="2" THEN PRINT AT 17,6; "FILE DELETED”
3320 бото 3318 3330 RETURN азса REM SAVE 4640 CLS
4250 PRINT PI 9,4;°
én
PROGRAH WITH DATA
‘SSS TE
KAS
“<>
,
Ka ()
57 2 -
1080 CLS 4090 SAVE “PARTS 09"
a5 бота 1 А Seee REM OUIT PROGRAH s010 GOTO 970 ) ғ REH LIST ROUTINE 56005 LET L=15 GC ТЕ 5$=" $” TA IN FILE” D20 IF S$=" $” THEN CALCULATE TS NOS.
THEN PRINT
STOP NUMBER ОҒ
“NO DA
=i (LEN 5%-1) 716) 16 THEN LET N=1 IF Е‹16 THEN LET L=INT Е IF €116 THEN GOTO 6055 FOR N=1 ТО (INT (E715) +1) CLS
GOSUB 9300
PRINT "FART NUHBER”
HUNGOAUNG А А
> QUANTI
AFT TN Oi Ке е е е е г С) ШТУ
ча 0000 E 00001
On 90 т 5 3
м GOTO 61 THEN GOTO 6 PRINT S$tK42 ТО К+12) ,5$ (K+
TOQ-K+415)
35 IF 7-і AND = (ІМТ (&716)4+1) HEN GOTO 6170 | NEXT Z
GQOSUB 95080
IF INT £416 THEN GOTO 6178
a NEXT М NO MORE ITEMS".
H ) 6085 IF K+16>LEN 5% T IF S$(K#16) sis"
0 ©
PRINT GOSUB 9580 бото 255 БЕН PROGRAM SAVE ROUTINE CLs
CLEAR
% g
a
MOO LO MN ON 0 D C C be pea He bes a Be dd pe) HA
d
(гу)
4. d Б 6 7 8 2 Q 1 1 2
олоооооФОІЛО
D 19
NAW COGNI D NOYAN
526
ft
STOP
БЕМ FLASH ТО GO ON PRINT AT 21,22; PRINT AT 21,0; “HIRSH ANY КЕ со an"
FOR X=1 TO З
_IF_INKEYS$.< 27-7--THEN „БОТО. 958.
NEXT X
PRINT AT 21,0; “PRESS”
FOR Х-1 TO З
‘JF ІМКЕУ%Ф<»>"" THEN GOTO 9258
110
SUBR.
а SH
a ат аз CHAT =
ІЛ 0 ел W Ae ШТЛ
ЛЕЛ ЛЯ
ыш шй MDI
RE DELETE
SS6Q@ NEXT X
өс?ө GCTO 9510
2580 CLS
9590 RETURN
250a REM INITIAL DISPLAY o:
9630 PRINT AT 7
PRINT AT 8,0; ”
IF LEN T%>28 THEN PRINT "ЄН ANGE TITLE PRINT LINES 9650-9700
PRINT "EB"; :
9662_ PRINT AT Ә,імт t(3@-LEN T$) SEH VC
абт?ӛ PRINT AT 9,31; "J,"
аура PRINT AT 10,8;
2730 PRINT AT
EE, E
SS 9740 PRINT AT 15,5; “PROGRAM (БЕУ 1990) BY BILL. HARMER, аттама”
9760 PRINT AT 21,6; "НШЫ ““ЕМТЕ в”"" ТО GO ON”
9765 INPUT A$
9770 CLS
ӨТӨӨ RETURN
эзор REM TITLE PRINT SUBROUTINE эва ЕРЕН. AT 2,ІМТ (t32-LEN T$) fe); :
9815 PRINT
2820 RETURN
95508 REM PRELIMINARY INFO HERE 39860 GOSUB 9800 | 9870 PRINT “PARTS DATABASE 15 A SIMPLE DATA-BASE WHICH WILL HOLD A PARTS NUMBER UP TO 12 DIGI TS LONG AND A З DIGIT QUANTITY ғ OR EACH PART”
9875 PRINT
9850 PRINT “THIS DATABASE NAY PR QVE USEFUL FOR FARTS INVENTORY QR AS A BUILDING BLOCK TO AD о TO TO MAKER MORE SOPHISTICATED DATABASE”
9885 PRINT 9890 PRINT N DOES NOT H FACILITY
“THIS DATABASE VERSIO HAVE A SORT OR SEARC BUT DOES HAVE A RECO ABILITY” Е
9060 GOSUB 9520
эзо RETURN
9991 БЕН | 9997 REM SUBROUTINES: 9600 START- ING DISPLAY 9508 FLASH TO GO ON 98ee@ PAGE TOP TITLE
9055 TITLE REPEAT PAGE
LopEEN SYSTEM
DISK DRIVE MENU LOADER
En EASY TO USE AND СОМЈЕІЕМТ
Just piace the hi эһ? ghteg tar an the program mame you wich ta LOAD. This program uses the CAT semble the list of с 1 сад. Ce can Гес, and you сап GO over the entire
written for 1 X
(Q)
er ч“ D
мең
е а
в
SG әп” D аһ Gt
= Li 4 шпур с на аст “Чоз т” Fi
e o MI “фе ңы” Dor С) OI [ЮП
anq
қы
e
— чә
құстан)
Dor: кое © wir?
7
4
~
Kä
=
т 44 Fi
hp OO
2
Du Ge ы.
Si Bref tie
DAA oor +;
as
be)
on Su Dich
OCOD
DS" msm
b| Ki e DO" ағам" тт
т D “ DN т; Op (Л бл" [0 som er талы
pase
bi
Si
co ыг лш ДОЗА 3 @
D
~ Te oy
“yom гт бо 0 ee meee OMS
ес SS Op жуды” NIM отар д сту
од
Ф
- 5259
2129
Ф. 2
Boo Теда (п
ү
© ерсе
к-
BRADH E) 70) —
Kobe Oo
mo’ oO
Pe Sete
"VK
т
Ек пш“
Leg эго
we [2]
ісе? (Л
а)
OO ` Oe Or - ki Dr rot gy ~ к?
ei ma соле Or
chy т с ош.
їйї)
on толот" ох
rom D CD :ГгУ IM
сег 10
їй
SCH г
œ 9 о
SCCM" Cl ыла рч 2 ~
E
Hu
юа" шй HOG:
АП к. - --- One
OI- ЕҺӘО-ӘӘОӘЯ tic r “а же!
бо -- Spe D we Б Hu
да сео носне
С OO ТЕ... © те но D © |
OT ПП б; Oth D UD
ü Drm
заар’ то VAL "6
1
із e
спр
NEXT і п. VAL
-ы.
CO "D PI ~ cm -4 IO р г 2
De г
Cab жіп om
DIG С I г
- А їй шш [и] йй Ka ry om т e + Z D EC vu p Mm
G- г 1 =f
D
[1] +f -5
0) CC 1“
i
Tı OCL
ra vu ТІ в т
mp ГІШ
~~ Te т г
~ 10
MIATA ШГІПГІЕ
с D E
Siw TIMEA C
-H сә ЮГ NI crn „InG
Г Gët DOE
ce
Nie OL
Tie Wie
{ ADE- (0
Г-
+ гэр ~ fic] 2D
OI (А
~ OP I~ кер:
MAZ
r
4 tye LI SÉ
TT "DO:
Dn
yi
ei
be ІЛ r~
e ~.
ADHD
e Mm т) €D- DO
©
:®
mi- ~ H
гг mam =: =
Z ~ DOIT
MEOT сн) D>
Гш-- AR GECOBGDDS-INGNDIWT © Тін!
ІП Ію
ch D
p4 Гох і g
л! “н- D H
mu DI DD ій г Ы
с m D mo. OLN DZ m с т
-.
HIT DH ANAToMI
Hanah res
m -хӘюЮЕӘәФзӘБІЛӘ [ш]
(name ыр "37 SVR ET name =nane+3¢: шо
РІ ТО WAL 484: LET РЕСЕ {гате +0): МЕХ Р ГІ:
т н
4 apy
man - 19
TZ Шы OI с.с 4
= R isvAL "1°" SCH "зва": i,VAL 1") =" " THEN GO TO
7 =
~
155
=,
ә
2, ќа 3} faM 3002 SAZTITIN “Zoid єтчї
220 LET psi -YAL 1 Е 75 SLA PRINT BPIe-RPI; AT с сі INVERS E БІ/БІ; '<SPACE> =NOVE CURSOR ER TER > =LOHO< F>=PG UP <B> =BREAR < Zo =PG рым” S20aLET x=p/URL "Sea": LET хауніы "АІ AND ao ANC x<=1) +12 АМС х2 `1 ANC х+=2)+(3З АМС х>з ANG х<-32 тоз AND хоз AND х<=4) +15 AND zz 3:55 ы sga LET саат S3S LET ісік E40 PRINT AT 2,09;: ІР zz THEN FOR isfVAL "“(c#*#20) -13" ТО VAL CS 29" E sso IF х-с THEN FOR v=VAL (сас o) -19" TO Р і ОАР Е EG EE TAB UAL LTS 22 Ek, S70 МЕХ i ЕРЕК sað IF x=c THEN FOR ісі ТО Ctex 20) -p): PRIN pad NEXT -i Жел ERENT AT 4,11; QVER 1; INVE во PAUSE Ө: LET As$=INKEYS: IF іш” THEN GO ТО Ера Ж 2698 IF Оз-”"В” OR OS="b" THEN ST С езе ІР а=”, " THEN PRINT AT 4,1 1; QUER 1; INVERSE 1; " віЗ IF а=” “ THEN LET «тізі Ga IF d=22 THEN LET dasz G22 IF c=x АМС ісші2-( (r420) -Ff) THEN LET d=2 | B25 IF а=” “ THEN GO TO S29 630 IF a$="6" THEN LET c=crl . балд IF с>» THEW LET c=x: BEEP à 01.10: со To eee вез IF q$="7" THEN LET с=с-1 GG IF cso THEM LET cH=l BEEF . 01,10: шо То Go 665 IF 4s5="6' Tids=VAL "2" әуе IF ав-бс 8 GG GO Ta S Gap LET Le: BSS FOR іші THEN LET Lë Fae есу? NEXT i Fea CLS : Е: 7ә- РОБ Іше: 2 POKE OT Se i: FORE I,coa = 740 REH TI CG SE SOOO CLEAR : FPRIWT #4: SQUE “рт KME.BT" LINE 1 Le DEn CISK MENO LORCER 41% RANDOMIZE USR 100: ОРЕМ #4, 2а cls SO FPRINT #4 Loni ӘТК we DE сосооо. ; - 40 БКЫМООМІГСЕ WSR сосооо 4 59 IF PEER Geess THEN Go ТО 120 Go LET іш-”" LET LtL=6S368 TO IF PEEK Lad THEN GO TA o GO LET lsa=lS$+CHRs PEER |, CEF {=1+1: Go To Fa SQ IF СЕМ 15-1) ="C" THEN РЕ INT #4: LOŪAC LDOCE : STOF ісе PRINT #4 LIAC Ls Lea 5тос 120 CLs 150 PRINT "“BsBreak proaran and за to BASIC Сс-сһагав Current dri JE Urbar" 140 PAUSE o: LET Q8=INKEY Е іе б THEN GO "TO 14а teg IF 4ав-“Е" DR 4=='"Ь' THEN 3T me 160 ІР 45<3:"c" ANC ка» idl лы ТЕМ Go Tū 148 KE С THE! 179 CLS : PRINT “Which drive (с 1. ІМРМТ 4 i130 FRINT #4: GO TO d: со TO ас 209 КЕМ SAVE 219 PRINT #4: SAVE "OLTSKME.BL"- LINE .10 220 PRINT #4: SAVE "СІБКМЕ. CLC ОСЕ Goooo, 3745