.IPSO FACTO - COSMAC ELF.IPSO FACTO Issue #9 December, 1978 ... The addword service routine adds the...

42
.IPSO FACTO Issue #9 December, 1978 (A publication of the Association of Computer 'Experimenters) TABLE OF CONTENTS ACE Executive & Meeting Schedule ••••••••••••••••••• Editor's Remarks ••••••••••••••••••••••••••••••••••• Some Thoughts on the CALL and RETURN Technique ••••• COSMAC ELF Reference ••••••••••••••••••••••••••••••• Automatic Program Counter Stepper •••••••••••••••••• Notes on Netronics' TINY BASIC ••••••••••••••••••••• Some ELF II Enhancements •••.••••••••••••••••••••••• Some Simple 1802 Programs •••••••••••••••••••••••••• Programming the DM8577 (32X8) PROM ••••••••••••••••• PING-PONG •••••••••••••••••••••••••••••••••••••••••• ACE Tutorial ••••••••••••••••••••••••••••••••••••••• Fix for 1861 Video Display Jitter •••••••••••••••••• Radio Shack Keyboard Enhancement ••••••••••••••••••• New Basic for COSMAC 1802 Available •••••••••••••••• Netronics Monitor Disassembled ••••••.••••••••••••••• Partial Display Routines for ELF Systems ••••••••••• Interesting Computer Articles •••••••••••••••••••••• ERRATA ••••••••••••••••••••••••••••••••••••• •' ••••••• Running IPSO FACTO Cassette Software on the ELF •••• Netronics' "Giant Board" Notes ••••••••••••••••••••• Letters to the Editor •••••••••••••••••••••••••••••• For Sale .......... •• .......................... •...• Letters of Contact ••••.•••.••.••••••••••••••••••••• STUDIO II Conversion Kit ••••••••••••••••••••••••••• Tic-Tac-Toe with the 1802 •••••••••••••••••••••••••• Key In Loader for ELF II Format Files •••••••••••••• LIFE for an ELF •...•...•...•••.•..•...•••..•••••.•• Nominations and Elections •••••••••••••••••••••••••• Minutes of ACE Meetings ••.••••••••••••••••••••••••• IEEE Microprocessor Course Notice •••••••••••••••••• Renewal and Application Forms •••••••••••••••••••••• lli! 2 3 i 6 7 8 9 10 13 18 18 18 19 20 22 22 24 24 25 25 28 29 30 31 34 36 38 39 41 42 Editor: Invaluable Assistants: Bernie Murphy Wayne Bowdish, Tom Crawford, Vic Sydiuk, Dlane York, and all contributors to this issue. Information furnished by IPSO FACTO is believed to be accurate and reliable. However, no responsibility is assumed by IPSO FACTO or the Association of Computer Experimenters for its use; nor for any infrinsements of patents or other rip,hts of third parties which may result from its use. Send Newsletter correspondence to: Bernie Murphy 102 McCranyStreet, Oakville, Ontario Canada L6H 1H6

Transcript of .IPSO FACTO - COSMAC ELF.IPSO FACTO Issue #9 December, 1978 ... The addword service routine adds the...

  • .IPSO FACTOIssue #9December, 1978

    (A publication of the Association of Computer'Experimenters)

    TABLE OF CONTENTS

    ACE Executive & Meeting Schedule•••••••••••••••••••Editor's Remarks •••••••••••••••••••••••••••••••••••Some Thoughts on the CALL and RETURN Technique •••••COSMAC ELF Reference •••••••••••••••••••••••••••••••Automatic Program Counter Stepper••••••••••••••••••Notes on Netronics' TINY BASIC •••••••••••••••••••••Some ELF II Enhancements •••.•••••••••••••••••••••••Some Simple 1802 Programs••••••••••••••••••••••••••Programming the DM8577 (32X8) PROM•••••••••••••••••PING-PONG••••••••••••••••••••••••••••••••••••••••••ACE Tutorial •••••••••••••••••••••••••••••••••••••••Fix for 1861 Video Display Jitter••••••••••••••••••Radio Shack Keyboard Enhancement •••••••••••••••••••New Basic for COSMAC 1802 Available ••••••••••••••••Netronics Monitor Disassembled ••••••.•••••••••••••••Partial Display Routines for ELF Systems•••••••••••Interesting Computer Articles••••••••••••••••••••••ERRATA ••••••••••••••••••••••••••••••••••••• •'•••••••Running IPSO FACTO Cassette Software on the ELF••••Netronics' "Giant Board" Notes •••••••••••••••••••••Letters to the Editor••••••••••••••••••••••••••••••For Sale ..........••..........................•...•Letters of Contact ••••.•••.••.•••••••••••••••••••••STUDIO II Conversion Kit •••••••••••••••••••••••••••Tic-Tac-Toe with the 1802 ••••••••••••••••••••••••••Key In Loader for ELF II Format Files••••••••••••••LIFE for an ELF•...•...•...•••.•..•...•••..•••••.••Nominations and Elections••••••••••••••••••••••••••Minutes of ACE Meetings ••.•••••••••••••••••••••••••IEEE Microprocessor Course Notice ••••••••••••••••••Renewal and Application Forms••••••••••••••••••••••

    lli!23

    i6789

    1013181818192022222424252528293031343638394142

    Editor:Invaluable Assistants:

    Bernie MurphyWayne Bowdish, Tom Crawford,Vic Sydiuk, Dlane York, and allcontributors to this issue.

    Information furnished by IPSO FACTO is believed to beaccurate and reliable. However, no responsibility isassumed by IPSO FACTO or the Association of ComputerExperimenters for its use; nor for any infrinsementsof patents or other rip,hts of third parties which mayresult from its use.

    Send Newsletter correspondence to: Bernie Murphy102 McCranyStreet,Oakville, OntarioCanada L6H 1H6

  • ACE EXECUTIVE COMMITTEE

    50 Brentwood Drive, Stoney Creek,Ontario, L8G 2N8 (662-3603

    60 Chester Road, Stoney Creek,Ont~rio, LSE lY2 (664-5264)

    102 McCrany Street! Oakville,Ontario, L6H IH6 (~45-1630

    P.O. Box 137, Lynden, OntarioLOR ITO (647-3931)

    660 Oxford Road, Unit 32, Burlington,Ontario, L7N 3Ml (681-2456)

    105 Townsend Avenue, Burlington,Ontario, L7T lY8 (637-2513)

    149 East 33rd Street, Hamilton,Ontario, L8V 3T5 (388-7116)

    44 Vfildewood Avenue ~ Hamilton,Ontario, L8T lX3 (385-0798)

    955 Harvey Place, Burlington,Ontario, L7T 3E9 (637-1076)

    In ac~ordance with the Constitution, the 1978-79 ExecutiveCommittee ~pproved at the Annual General Meeting is:

    220 Cherry Post Drive, Missisauga,Ontario, L5A IH9 (277-2495)

    President KEN BEVIS

    Past TOM CRAvlFORDPresident

    Secretary/ GEORGE YORKTreasurer

    Newsletter BERNIE 1'-1UHP HYEdit,or

    Program BERT DEKATCo-ordinator

    Training ROD DORECo-ordinator

    Hardware FRED FEAVERCo-ordinator

    Membership WAYNE BOWDISHCo-ordinator (Temporary)

    Newsletter DENNIS MILDONPublishingCommittee

    JOHN HANSON

    There are still some positions to be filled ego software andmembership co-ordinators. Any volunteers for these positions orto help with any other activity should contact Ken Bevis.

    ACE CLUB MEETING SCHEDULE

    Unless notice to the contrary, the following is the meeting scheduleuntil the end of May. The executive is trying to arrange tour~ for theApril 10 and May 22 meetings. Details will be published in the nextnewsletter. The meeting scheduled for March 13 is to have a flea market

    so start collecting up your surplus.

    DATE TUTORIAL~ETING TUTORIALJan 9 7:00/8:0

    23 7: 30Feb 13 7:00/8:00

    27 7:30Mar 13 . 7: 00/8: 00 (FLEA MARKET)

    27 7:30Apr 10 8:00 (TOUR)

    24 7: 30May 8 7:00/8:00 (ANNUAL GENERAL MEETING)

    22 7: 30 (TOUR)ALSO--unless notice to the contrary, all meetings will be held inthe Stelco Wilcox St. Auditorium.

    2

  • EDITOR,' S REMARKS

    I hope that you have recovered £rom the New Year's £estivitiesby now and have resolved to use your 1802 at least once in 1979.

    From what I have been reading in the trade journals, VLSI orVery Large Scale Integration is going to have a drastic e££ect onwhat we will be doing 2 or 3 years £rom now. With 1 million bitmemories and 500 nanosecond 16 and 32 bit microprocessors comingup in the £uture, we must keep in step with technology or we willbe "snowed under".

    NEW DIGITAL EXPERIMENTER'S LICENSE

    Canada's Telecommunications Regulatory Service has given thegreen light to allow Canadian radio amateurs to experiment with"packet radio". Holders o£ the new Digital Amateur Radio Operator'sCerti£icate can use all modes available to other classes above 144.0MHz. The code requirement has been dropped but if the Digitalamateur later completed the code requirement, he will be given the"Advanced" Certi£icate.

    I£ you are into this £acet of amateur radio, please tell uswhat is going on. (What protocol are you using? what code sets?,what microprocessor(s) are people using?, etc.)

    PROJECTS

    I was investigatinp, the Fuel Save Thermostats that allow youto automatically lower the temperature at night and raise it in themorning. (California readers can skip this sectionl) Sounds greatuntil you ask the price $80.001

    By using an extra regular thermostat, an 1802, a 2758 EPROMand a few gates one should be able to come up with a super timersystem. For example, you could allow for di£ferent onjo£f timesfor the weekends and even have a "I'm goin,e: out £or 4 hours" button.By care£ul and selective shopping you could probably b~ld the abovesystem for less than $75.00.

    THE NEWSLE1"l'ER

    We have been getting several letters lately asking such thingsas: Where is my newsletter?, how come I have not received my backissues yet, where are they?, etc. Remember•••we are not in thepublishing business. There is a v(:y small core o£ devoted peo.Plewho do all the work as VOLUNTEERS 1e. no pay, no travel expenses,no £ree meals). .

    Please be patientl Themail is very slow--it took 3 weeks£or Issue #8 to travel 10 miles, via the mail system!

    Please keep SUbmitting your articles and ideas. We have,according to many people, one of the best microprocessor newslettersin the world. Let's keep it that way!

    3

  • SOME THOUGHTS ON 'rHE CALL AND RETURN TECHNIQUE(FOR RELOCATABLE PROGRAMS)

    address of' the basepage,only the high part of'the low part may be used

    RPCRARW

    RPB

    The callSEXIT:SENTRY:

    Volker RaabRamtenvej )0DK 8:581 Nimtof'teDenmark

    Having just ordered my 1802 ( a Super Elf') the other dayand hoping to receive it bef'ore Christmas, I have spent some timethinking about the sof'tware.

    Despite the examples I have seen in the 1802 manual and byTom Pitman, I plan to use another call and return technique.

    I had just started to write some small pieces of' sof'tware (toget used to the slightly unusual instruction set) when I immed-iately ran into a problem. What if I want to add some code atanother location, what if' I discover a tiny bug? Will I have tochange all ref'erences in all my programs each time.

    I will have none of that.As of now, I have nearly finished one pa~e of' service routines

    for 16 bit word processing (push, pull, add., sub ••• ). The serviceroutines use one dedicated register:RWS .ord sequence program counter

    and know about the folloWing registers used by thecalling program:calling program program countergeneral simulated word accumulatorgeneral scratch register f'or both program and serviceroutinesprogram base page - the memo~ythe f'irst page of the program,the register is actually used,as another scratch register.

    EXAMPLE: additionThe addword service routine adds the contents of' the word pointedto by the current X-register to the contents of' the RA register.The call looks like this: .

    SEP RWS jcall service routinesF9 ;with function code f'or addition

    and exit part of' the service routines looks like this:SEP RPC jreturn to callinR programLDA RPC ;load f'unction codePLO RW juse function code as of'fset toGHI RWS ja service routine function tablePHI RW jLDA RW ;get table contents f'or functionPLO RWS jjump to specif'ic service routine

    In this particular case, I might do without a f'unction table, butI really am af'raid of' hidden bugs.

    Apart f'rom the obvious f'unctions the service routines containthree other f'unctions called: enter, jump and return. The callingsequence looks like this:

    SEP RWS jenter servic.e routinesFX jwith function code f'or enter, jump or exitFY jand in case of enter or jump,

    janother function code for the enter or jump

    4

  • SOME THOUGHTS ON THE CALL & RETURN TECHNIQUE (CONT'D)

    .,;and then exit and jump;get the original program counter back;from the stack

    , .;the current content of the X-reg1ster;is considered as an important parameter;that's why I don't use STXD.,;get jump function (FY);and corresponding entry in program;jump table and finally take the address;from the tahle and put it into the;programs program counter

    JUMP:

    EXIT:

    Now, the three functions:ENTER: GLO RPC ;save program program counter on stack

    STR R2DEC R2GHI RPCSTR R2DEC R2LDA RPCPLO RPBLDA RPBPHI RPCLDN RPBPLO RPCBR SEXITINC R2LDA R2PHI RPCLDN R2PLO RPCBR SEXIT ;

    Now I have made some implied assumptions about my programs. Aprogram consists of one or more pages, that must be all in memoryat the same time. The first page is special, it contains

    an initialization part (I don't know yet what it will look like)a program description part (containing the start address of the

    interpage jump table, to enable afuture program loader to change theaddresses in the table)

    some instructions of the program orsome of the variables used by the program andthe interpage jump and enter table for the pror,ram.

    Apart from the obvious use of memory for the table, I pay anotherprize: No program can use more than at most 128 interpage jumpsand probably not even half as much. But I hope at that time Imight find out, just how one program calls another program, evenone that must be loaded, before it can be entered.

    I will write my programs with as few interpage jumps as possibleand in any case I'll never use a long branch but theinterpage jumptable. I'll write all programs as if starting at address: 0000.When I load it manually or a,utomatically, I'll just have to change

    .the addresses in the interpage jump table either by hand or by meansof a loader program.

    I have written all this because I fear I will end up with apowerful but most unusual system, but I hope my ideas will encourageothers with similar ideas to get started in the same direction.

    5

  • COSMAC ELF REFERENCES M. Skodny80 Weir St. S.Hamilton, Ont.L8K jA6

    I have put together a list of all articles in "PopularElectronics" dealing with RCA-1802 based "Elf" microcomputer.

    - Build the Cosmac "Elf". Part 1.Construction of a low-cost microcomputer and some simpleexamples of programming. August 1976.

    - Build the Cosmac "Elf". Part 2.Some hardware improvements and more programming details.September 1976.

    - Build the Cosmac "Elf". Part 3.How to expand memory, plus more programs. March 1977.

    - Build the PIXIE Graphic Display. Part 4.Adding one chip to the Elf provides complete videointerface. July 1977.

    - How to update a basic "Elf" microcomputer. 'rI'Y Interface.Cassette Read/Write. Musical Programs. Frequency Counter.February 1978.

    - Expanding the Elf II.Boost an Elf from a microcomputer to virtually a personalcomputer. March 1978.

    - Build a Personal Microcomputer for .~100.00.Video graphic on your TV set, machine language programming,games.PEls Electronic Experimenter's Handbook, 1978 Edition.

    - A Tic-Tac-Toe Game for your "Elf".Use a simple light pen and the programs given here.November 1978. '

    AUTOMATIC PROGRAM COUNTER STEPPER Christopher Airhart364 Church StStratford, Ont.N5A 2S1

    I have enclosed plans for a circuit to advance the programcounter in the Load mode. There are two speed selections.

    I have found this circuit especially helpful in de-buggingprograms and examining the contents of the memory.

    6

  • AUTOMATIC PROGR~1 COUNTER STEPPER (CONT'D)

    Rl

    PARTS LISTC1-.02 mfdc2-.068 mi.'dC3-.22 mfdIC l-LM555Rl-l.5M ohmR2-3.3K ohmSl-SPDT switchS2-SPST N.G. switch

    TOPIN2S----0. Q. c~l~ OM\NS2. \. ~

    This circuit is intended to advance the CPU's program counter,R(O), via the DMA-IN channel. By doing so, it is possible to examinethe memory contents and modify them.

    The heart of the circuit is the LM555, The IC is set up ina stable mode. There are two speed settings, fast or slow, selectedby Sl. The output is controlled by S2, and debounced by C3. C3 isconnected to pin 26 on the TEC-1802 bus.

    To use the circuit, switch C/D to C, press RESET, MEMORYPROTECT, and LOAD in the given order. Depressing S2 will advancethe program counter. To modify a certain byte, stop at the memoryaddress one byte before the byte, and take off the memory protect(press CE).

    For machines other than the TEC-1802, certain changes must bemade. The· negative pulse width would require shortening (less than1 machine cycle).REFEHENCES: 1. RCA MP~I-201 User's Manual

    2. National Linear Data Book3. Tectron TEC-1802 Assembly Notes

    NOTES ON NETRONICS' TINY BASIC David A. HerskerBox 802Conyngham, PA. 18219

    Netronics' TINY BASIC is designed to run on the ELF II usingtheir systems monitor/editor to load. TINY requires an absoluteminimum of 4.25K memory to run. If not using the Elf II with the"Giant Board", the following hardware specifications must be met.If you are using an ASCII keyboard with parallel data output,

    7

  • NOTES ON NETRONICS' TINY BASIC (CONT'D)

    it must go to an input port called by the 6F instruction. Also thedata strobe must go to the EF3 line on the 1802. When using aparallel ASCII keyboard, TINY BASIC acts as a character generatorto display the ASCII input/output on the video monitor using the1861 chip for video out. The 1861 must be turned on by a 69instruction and turned off by a 61 instruction.

    When using a TTY with the TINY BASIC as the input/output, itmust interface with the 180~ thru either a 20MA or RS232C Interfacewith Q being the send and Er4 being the receive lines. If, as theELF II does, you use the Er4 line for your Input switch you willhave to install a switch to disable one of the inputs (machinelanguage/ASCII). All this information comes from the "Giant Board"Assembly Instructions but NOT the TINY BASIC Users Manual. I amunder the impression that the Netronics systems monitor/editor taperead/write routines approximate the Kansas City Standard (POPULARELECTRONICS, February 1978 lists tape read/write routines whichthey imply are Kansas City).

    SOME ELF II ENHANCEMENTS Tom Jones1751 King AveFlorence, S.C. 29501

    I am expanding a new Netronics ELF II system on one of theirexcellent prototype boards, and am using the N-line decoder networkshown below. The ELF II kit went together without a hitch,incidently. The quality of the parts and boards is quite good, Ithought, although I would have liked a ceramic 1802CD. I alsofind the enclosed documentation adequate but very sparse. Con-sidering the price, it seems fair value, especially as a spring-board for experimenters.

    The "TRAFFIC" indicator is in imitation of larger inachines,and is a free spin-off of the unused "zero" output on the 4028chip. It lights whenever there is activity on any of the seven I/Oports, and can be a reassuring sign things are going well. Imounted my green traffic led below the Q led, and transistor Qlabove it with R45, R46. .

    I hasten to report the pitfalls of modifying an existingdesign such as ELF II without careful research. After installingthe N-line decoder, strange things began to happen. Data changed,programs ran away or crashed. I never even got a memory diagnosticto run long enough to check the supposed bad memory. The scoperevealed that interrupts were bombing in on the 1802 suddenly andcrashing the programs. Why? Because the 1$61 video chip isjumpered to turn on whenever NO is eenerated, and my paper tapereader is on INP 3. The cure was to remove J9, install JI0, andrun pin 83 of bus 5 to the INP 1 section of the decoder circuits.

    If some other ELF II user would like to copy the circuitdiagram of the original Giant Board, it would help me to keep mysystem monitor board compatible with everyone else and out oftrouble. I would be most grateful for any help.

  • SOME ELF II ENHANCEMENTS ·(COIIT!D)

    ADDRESS LABEL00020304 START05060709OAOB00OF10 STK

    CODEF8TIJAFEF6C64~F3F046C64370B3003C400

    TRAFFIC

    MNEUMONICSLDr(STK)PLO FSEX FINP 4OUT 4DEC XBN4 (START)INP 4OUT 4B4 *-1BR( START)

    DATA "00"

    TLG-IGREEN ,-..

    ~.A

    R-1-S

    SifJ-so

    I use the above code on an ELF II as a subroutine within otherprograms. This routine allows the display to show hex keyboarddata as it is being entered with the appearance o£ shirting to thele£t. This is more convenient £or the operator, allowing correctiono£ an error by simply keying in the correction before pressing the"input" key. It can save keystrokes too i£ you are quick.

    The routine shown can be use£ul to load monitors to high memory.

    SOME SIMPLE 1802 PROGRAMS

    Here is a trivial program.XXOO F8 00 B5

    03 F8 00 A506 E507 6408 F8 7F B6OB 26 96OD 3A OBOF 30 07

    Jim R. Smith4629 North Shore Dr.Wichita Falls, Tx. 76310

    When I first got my 1802 going, I ran the above proeram a lot.It outputs to the hex readouts the memory contents beginning on thepage # at XXOI. (The PGM will run on any page as is). I some-times let it step through memory while I checked a program I'dwritten on another page but mostly I just let it run to make sure

    9

  • SOME SH'lPLE 1802 PROGRAMS (CONT' D)

    it stayed busy. The display time is regulated by the byte at XX09.FF is twice as long and 3F is half as long.

    Here is another simple program:XXOO F8 yy B6

    03 F8 zz B706 F8 00 A6 A7 A8OB E6OC 72OD 57 17OF 28 8811 3A OC13 00

    It is a whole pa~e transfer. "From" pa~e is Ibcated at XXOl (yy)and the "to" page should be at XX04 (zz). When I want to relocatea page, I save it on cassette and play it back where I want it.

    I never can find the paper it is written on, but I can alwaysfind the recorder I It can be written on any page without changes.(Obviously, it shouldn't be written on the page you are transferingt o t )

    PROGR~UNG THE DM8577 (3218) PROM G.F. Feaver105 Townsend Ave.Burlington, Ont.L7T lY8

    In IPSO FACTO #3 we discussed a hex display using a prom andstandard seven segment display. The prom was programmed to takeinputs from the present led readouts, thus utilizing the buffersprovided and reducing the parts count.

    The programmer is discussed below:General information extracted from NSC Memory Data Book 1976

    page 5-17 for the DM 8577 gives the following:1. Apply steady state voltage to the chip: PIN 16=5.0V, PIN 8=

    Ground(O).2. Disable outputs by applying logic 1 to "ENABLE" input PIN 15.3. Address the word to be programmed with specific input

    voltage (0 or 1).4. Select one output at a time for programming. All other

    outputs must be open.5. Apply programming pulse of 20V (20-22V) and programming current

    of 150ma (100-200MA) for 10 to 20 MSEC.6. Verify that output has truly been programmed.7. Repeat steps 4 through 6 for each output of this address that

    must be programmed.8. Advance to next address and repeat steps 3 through 7.

    Programming unit description of operation see FIG 1STEP 1. Turn on power to unit

    2. Set S4, S5. 56, S7 to desired input address per truth table3. Set S2 to desired output pin with the address selected

    (in step 2)4. Set S3 to PROGRM-1

    10

  • PROGRAM1V:ING THE DM8577 (J2x8) PROM (CONTtD)

    5. Turn '~.a to ON posd t f.c n [al Lows burn current)6. After about ~ second turn 51 to OFF7. Turn 53 to "VERIFytt to check that bit has been programmed8. Repeat items 3 through 7 for all outputs to be programmed

    "LOW" in selected address (5tep 2)9. Advance to next address and repeat steps 2 through 8

    NOTE: When programming last row in Truth Table PIN 14 must beconnected to VCC instead of' 0 lGND). This row provided thelamp test and ~s not requ~red l'or the HEX readout. Itis a refinement.

    EXPLANATION OF CIRCUIT

    The PROM is programmed by burning out fusible links.Power at 22.5 to 24 volts regulated is applied to voltage

    regulator Xl providing 5 volts (vec) and 0 (GND).X2-(7400)-provides an R-5 flip flop and bounceless switch

    to turn on3X-MONOSTABLE-(74121)-which provides the burn-in timing.It was found that 45 MSEC was required (instead of the specified10 to 20 MSEC) probably due to rise time of the current powersupply when voltage was suddenly increased.

    When X3 goes, high it turns off the output transistor in X4(75451) which previously had been shorting the 15V zener diode Zlto ground thus limiting the output voltage of X5 (7805 voltageregulator) to 5 volts. When the shorting transistor in X5 turnsoff, the zener voltage (15V) is added to the nominal 5V to providethe 20 volt voltage used for driving the burn current through thefusible line in the PROM.

    A led indicator is connected to the timed output of the monoto indicate that something is happening.

    The verify led indicates that the programming burn has beensuccessfully completed.

    Rotary switch 51 is used to turn on the timer and complete thecircuit for the burn current.

    Rotary switch 52 is used to select the bit (PIN) to beprogrammed. .

    DPDT toggle switch S3 is used for program/verify.DPDT toggle switch 84 through S7 are used to select 1 or O~for

    the input address.It was not found necessary to use pull-up resistors to PINS

    1 and 5 of X2 since no bounce was encountered.

    11

  • CIRCUIT FOR PROM PROGRAMMER

    VER\FY

    PROGRAMoS2.

    X6 DH8STT

    TS..A.

    -.- -. ..

    t5V OUT

    TaoS o..309K1---1

    +22.5-Z-+V ~~---t

    In .at

    -T

    ..,. JjQlE: PI" 14 MUST BE RECONNECTEDTO Vee. FOR PROGItA.MMINCi~ST RaW OF TRUTK TABLE

    SiBSlA

    'T--

    COIIII.cT Te....trS5 ot'

    1Vcc~~{ u.::~r-~~D"'-';'MY~"fl.1--~ 6,~ l)P, .... g J I" M~N ..1elc.c asrr Y4 J. I COMMON

    14 D PROM Y5 - ~NOD£

    Eva· "1 J~ b,d AREG Yl ., . ~ IN LOWER.

    __--....=---18.... II" CASe

    - COIINECTIONS TO- HEX DlSPlAY

  • PINS

    TRUTH.TABLE AND PROGRAM FOR THE HEXADECIMAL DISPLAY

    E-t >tE-t CJ)H ILl «m E-t HH a, ll.c::z::

    ~A :"'\ CJ) II .... :"'\

    t1 H Vl V? V':t Vh V? VR1'""1 ~') m et ~ VI. v'\15 14 13 12 11 10 1 2 3 4 5 0 7 9

    0 0 1 1 1 1 0 0 0 0 0 0 0 1 X0 0 1 1 1 0 1 1 0 0 1 1 1 1 X0 0 1 1 0 1 2 0 0 ·1 0 0 1 0 X0 0 1 1 0 0 3 0 0 0 0 1 1 0 X0 0 1 0 1 1 4 1 0 0 1 1 0 0 X0 0 1 0 1 0 5 0 1 0 0 1 0 0 X0 0 1 0 0 1 6 0 1 0 0 0 0 0 X0 0 1 0 0 0 7 0 0 0 1 1 1 1 X0 0 0 1 1 1 8 0 0 0 0 0 0 0 X0 0 0 1 1 0 9 0 0 0 0 1 0 0 X0 0 0 1 0 1 A 0 ·0 0 1 0 0 0 X0 0 0 1 0 0 Bb 1 1 0 0 0 0 0 X0 0 0 0 1 1 C 0 1 1 0 0 0 1 X0 0 0 0 1 0 Dd 1 0 0 0 0 1 0 X0 0 0 0 0 1 E 0 1 1 0 0 0 0 X0 0 0 0 0 0 F 0 1 1 1 0 0 0 X0 1 1 1 1 1 8 0 0 0 0 0 0 0 X

    NOTE: B, D will be in LOWER CASE as b, dNOTE 2: The Truth Table shown in IPSO FACTO #3

    showed all inputs inverted

    PING-PONG Richard Delombard$02 Seneca AveHuron, Ohio, 44839

    When the program bugs resident in your PL-l cross disassemblerfinally overwhelm you, sit down and load this ping-pong programinto your 1802 system. Challenge the toughest, meanest lookingprogram bug to a duel in ping-pong. Since most program bugs aresimple minded creatures, you should have no trouble handling itin the first game. If you don't have any program bugs ready totake the challenge, invite a friend to play. If you haven't anyfriends, try a left hand versus ri?ht hand tournament, and if thatis too difficult, try a practice game against the flawless 1802.

    The ball speed is adjustable by the data switches. for matchingthe abilities of your opponents. The object is to swing your"paddle" ahen the "ball" is at your end of the court to hit itback to your opponent. If you swing too early or too late, theball sails past you and the score is incremented and displayed.At the start of the game and after ever~ point scored, a serve isinitiated by either player swinging their paddle.

    The pro~ram assumes the r/o hardware shown is Figs 1-3. The8 data LED's are used for the ball bouncing back and forth acrossthe court and also to display the score. The left 4 LED's is the

    13

  • PING-PONG (CONT'D)

    score in hex for the left player and likewise for the right 4 LED's.The two momentary push button switches serve as paddles to hit theball back and forth. The 8 data switches are used to set the ballspeed.

    With proper modifications, other I/O hardware may be usedwith the program. Two keyboard switches can be used for paddles,hex digits to display the score and a TV display (with a CD1861)for the ball, paddles and a court.

    Notice that a delay subroutine is called in several places inthe program. This is accessed by changing the program counter to R5,which has been initialized to 006CH, the starting address of thesubroutine.

    A practice game against the 1802 can be incorporated bychanging the 3E instruction at 0034H to a 36 instruction. The 1$02will then play the ri~l~ paddle and you will play the left. Toswitch sides with the 1802, leave the 3E in at 0034H and change the3C at 0051H to a 34 instruction.

    REGIS'fER USAGE

    RS

    R9R3R5

    OOEIH00E2HOOEOH

    Ball PositionDelayScoreProgram CounterSubroutine Program Counter

    I/O HARmiARE REQUIREMENTS

    Input Port, N=4Output Port, N=lEFl, EF3

    TPB

    OR E_UIVALE'NTLOG-Ie GATES

    Data Switches8 LED's on DAO-7N.O. P.B. switches

    --------.;v,.------.J1802 DATA

    BUS

    FIG. lI1)ATIt. SWtTCHE9

    14

    Fig. 1Fig. 2Fig. 3

  • 5

    7

    3

    LED

    5+------1

    _---I 20 21 t----I

    _---I 6 .., t----I

    4508---I 18 f~ 1-----1

    01\ 7 ---I 22 231---.-...1

    D~S

    DAB

    DA3

    DA4

    1

    14 N~I

    - -- -

    -......jIGDAl

    DA2. 8

    DA¢ -----I 10 II ~---I

    2,14 1,3 12. 4048'3 -=- ISN-3--

    MRD

    TPB -----'"

    OR eQUIVALENT~LOGIC GATES

    t FIG 2.: 8 DATA. LEnS

    +5"

    - -.. ..FIG 3: LEPT ... rtlcaKT

    P~I)[)L£S

    15

  • LOCH OOJ CODE S1MT SOURCE STATEMEti"T 1802 VER 1.6

    • 1 ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••2 •• PING PONG GAME3 WRITTEN BY RICHARD DELOMBARD4 ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

    0000 F8EO 5 LDI A.O(SCORE) • •SET UP R90002 A9 6 PLO R9 • .AS SCORE ADDRESS0003F800 7 LDI 1100 • •CLEAR 0tJI'0005 83 8 PHI R3 • •HIGH OR~R0006 B5 9 PHI R5 • •BYTE

  • I

    SOURCE'STATe14ENT 1002 VER 1.6LOCNOBJ CODE STMT

    0041 324E 59 BZ BAK2 • • IF LAST ONE ON LEFT, core CHECK60 • •FOR PA DOLE SWING.

    0049 3C3D 61 BN1 DISP2 • • IF NEXT TO LAST, CHECK FOR62 •• ..EARLY PADDLE SWING.

    004B 18 63 SEQ • •IF SO, SIT Q.004C 3030 64 N1: BR DISP2 •• IF Nor, ooTO DISP2.004£ OS 65 BAK2: SEP' R5 • •CALL DISPLAY & DELAY SUBR.004F 315B 66 BQ SCR2 •• IF EARLY PADDLE SWING,GOTO SCORE.0051 3C5B 61 BNl SCR2 •• IF BALL IS Nor HIT ,GOTO SCORE.0053 08 68 LDN R8 • • IF BALL IS HIT, GET BALL POSITION0054 F6 69 SHR ' • •AND MOVE TO THE RIGfT0055 3020 10 BR DISPl • .GOTO DISPl TO MOVE BALL TO RIGfT.0051 F810 11 SCR1: LDI 1110 • •GET 1 FOR ADDING TO LEFT SCORE.0059 3050 12 BR SCRUP • .GOTO SCORE UPDATE.005B FOOl 13 SCR2: LDI 1101 • •GET 1 FOR ADDING TO RIGIT SCORE.0050 E9 14 SCRUP: SEX R9 • •SET POINTER TO SCORE.005E F4 15 ADD • • ADD CHANGE TO SCORE.005F 13 16 STXD • • PUT IN NEW0060 60 71 IRX • •SCORE.0061 61 18 olIT1 • .0lJfPlIT NEW0062 29 19 DEC R9 • •SCORE.0063 3463 80 WT1: Bl WTl • .WAIT FOR PADDLES TO0065 3665 81 WT2: 83 WT2 • •BE RELEASED.0067 E8 82 SEX R8 • •SET POINTER BACK TO BALL POS.0068 7A 83 REQ • •RESET Q.0069 3019 84 BR SWT •• GO BACK AND WAIT FOR SERVE.

    85006B 03 86 RET1: SEP R3 • •RETUR N FRCM SUBRom INE•006C 61 87 SUBEN1: our 1 •• 0000PlIT NEW DISPLAY.006D 6C 88 INP4 • • INPUT DATA SWITCHES FOR006E 28 89 DEC R8 • • rELAY.006F B4 90 PHI R4 •• PUT IELAY IN R4.0070 24 91 LOOP: DEC R4 • .O::CREMENT R4.0011 94 92 GHI R4 • •GET HI BYTE

  • ACE TUTORIAL Rod Dore, Training Co-ordinator660 Oxford Road, Unit 32Burlington, Ontario L7N 3Ml

    The tutorial session has finally decided to undertake the design .and construction of a KANSAS CITY STAITDARD cassette interface. Thebasics of data recording up to the hardware and software to imple-ment the stora~e and recovery of data will be studied. This projectshould be veryOinteresting and useful and will also open the doorto many other projects.

    FIX FOR 1861 VIDBO DISPLAY JITTER G. Fournier, VE2AIB10155 ChambordMontreal, PQ H2C 2R3

    If your display sways fr08 side to side and you are using the3.58MH crystal, the clock frequency may be too far off from the1. 76~1H frequency recommended.

    I obtained a 8.810MH crystal (from ZTCO) and divided by 5 toobtain a 1.762MH clock. Now the display is s t ab Le and a p Lea sur-eto watch.(Ed. note: RCA recommends a 1.76064 MHz clock givin!S a line fre-quency of 60; a 3.579545/2 clock rives a line freque~cy of 60.99.)

    RADIO SHACK KEYBOARD ENHANCIDv~NT G. Fournier, VE2AIB10155 ChambordMontreal, PQ H2C 2R3

    To improve this keyboard and obtain HEX 10 11 ••••• IF output,make the following changes:- Isolate the left blank key from the encoder board- Cut the trace of the Q output of lCZ5 and insert an OR GATE as per

    sketch.To get HEX 10 11 ••••• IF DEPRESS LEFT BLANK &.SHIFT KEYS and

    TYPE the letters that ,[",ive HEX 00 01 •••• OF as per the output codingtable. ..

    7475 LATC~G

    Z5

    ...sv ~LEFT BLANK

    KEY j -..

    18

    S.5K

  • NEW BASIC FOR COS~IAC 1$02 AVAILABLE

    IPSO FACTO EDITOR:I would like to invite our readers to participate in the testing

    and evaluation of an 1$02 adaptation of Li-Chen \'lang's "Palo AltoTiny BASIC". If those interested give me 1) The beginning addressof the area for the BASIC code and 2) the beginning address and lengthof the BASIC scratch area, I will furnish an assembly listing ofthe interpreter for a 50 cent (US or US stamps) mailing and repro-duction charge. Details of the implementation are noted below.

    Robert EdwardsT B I 1$02

    TINY BASIC INTEHPRJ£TER FOn THE COm"IAC 1802WRITTEN BY ROBERT EDWARDS

    OAK RIDGE CO~PUTSR ASSOCIATIONP.O. BOX 295 OAK RIDGE, TN 37$30

    This basic interpreter is adapted from Li-Chen Wang's "PALOALTO TINY BASIC" for the $0$0 (PCC'S Refe~ence Book of personal andhome computing -- People's Computer Co •• Menlo Park, CAl. All thefeatures of that implementation are retained in the 1$02 version:

    DIHECTCOMMANDS: LOAD, DUMP, NE'l,', RUN, LIST

    INDIRECTOR DIRECT: LET, IF, FOR/NEXT, PRINT, REM, STOP, POKECOMll'IANDS

    INDIR.~CT

    COI"lI',IANDS: GOSUB/RETUaN, GOTO, INPur

    FUNCTIONS: ABS, RND, PEEK

    ARITIIMETIC:16-BIT INTEGER

    VARIABLES: 26 16-BIT SCALARS (NAMED A THROUGH.Z) AND AN AR.HAY(NAMED~ )OF 16-BIT SCALARS IN THAT PORTION OF THETEXT AREA NOT OCCUPIED BY BASIC STATE~lliNTS

    r-.1El-WRY USAGE

    2000-2FFF TINY BASIC SCRATCH AREA (VARIABLES, INPur LINE, AND STACKIN THE FIRST PAGE; THE ARRAY STARTING AT THE SECOND PAGEAND WORKING UP; AND THE BASIC STATE~lliNTS AT THE SND OFTHE SCHATCH AREA) (SET UP FOR 4K)

    FOOO-F7FF TINY BASIC CODE (2K BYTES)

    19

  • Those of you Elf II owners who have the ';fant" board may haveoccasfonally wondered how the monftor works. The cassette save andload routines are fnterestfng because they are not trivial. Understandinghow the fnitia1fzatfon proceeds will enable you to predict the page of yourRAM that wf11 have its FE and FF bytes mysteriously modiffed (by the monftor).Thfs turns out to be page 03 fn ~ ffve page RAM! Some of the comments beloware more detailed than others. Presumably those who are advanced enough tobenefit from the disassembly wf11 be able to'see what fs unsaid.

    N[TRONICS MONITOR DISA~S£~BLED

    l\)

    o

    LABEL

    INIT(PC=RO)

    DISP &INP(PC=RO)

    INPUT(PC=P'4)

    ADDRESS

    YZ 000100

    1316191C101F2326

    28292030

    BYTES

    90 A1 B3 84 85 86 81F8 FF A2 E2 21 8182 80 52 F3 3A OB

    F8 38 A3F8 29 A4F8 33 AS033F 1022 SA 52 6431 23 6C30 1C

    033F 29 31 2B6C 64 2230 28

    Kenneth Mantef1254 E. 26th StreetSan Bernardfno, Ca1ffornia 92404

    Cl»tIENTS

    YZ .hf order R3-1 & 10 order Rl.~stablfsh scratch area by attemptingstore &retrfeve at FFFF, FEFF, FDFFetc. untf1 successful. Scratchaddress" R2.R3=YZ38 MAIN address.R4=YZ29 INPUT address.R5=YZ33 DISPLAY address.JUIIIP to MAIIl.Wait for Press.RA.O dfsplayed &saved at scratch FE.Whatever keyed when Press releasedfs dfsp1ayed &saved at scratch FF.Return to MAINExft INPUT & return.

    Wait for Press &unpress.Input, display' save byte atscratch area. Return to MAIN.

    DISPLAY(PC=R5)MAIN

    (PC=R3)

    STARTADD

    RUN

    EXAMINE

    CHANGE

    CYCLE

    (PC=R6)

    LEN

    3233

    38

    39

    30,424148404E4F505152

    53

    58

    59

    505E

    SF

    64

    65

    6668

    6A

    606E121416

    0322 52 64 30 32

    04

    F8 40 F4 A6

    02 FO 05 33 41F8 EE 05 1B 00O4BA04AA06 A35358

    5018C8

    F6

    9A 80 SA AO EO (00)

    DO

    4A 05 30 58

    1800

    D5 SA 1A 30 50

    031B

    F8 ID3B 60Fa 01 1052FF 01 33 6E3964

    1A 0230 6E

    E_ft DISPLAY &return.Dfsp1ay &store 0 reg fn scratch FE.

    Input f 'n 00-05 &store fnscratch FF.

    40 + f 'n -+-R6.oaaddress of f 'nsubrout fne.

    If legit f 1n jump to STARTADO.Dfsp1ay EE, turn on Q, &quit.Startfng Address-+oRAGet f 'n sub address from R6 &Jumpto: RUN YZ 53

    EXAMINE 58CHANGE 50SAVE 18LOAD C8SEARCH F6

    Start Add -+ RO; X-O, Run.

    Jump to OISP &INP to show &fnc. 10 order address fromRA while key pressed. Whenreleased. program byte displayed.Repeat.

    Turn on Q light.Jump to OISP &INP to show &fnc.10 order address from RA whilekey pressed. When released, lastbyte keyed fn is input.8yte displayed &placed in pro-gr~ rep1acfng old byte. Repeat.

    Exit CYClE • return.

    Turn on Q. OF=O for "0" bit,1 for "1".

    Half cycle length (decimal 29)100Jump to LEN ff DFaO (mfnus).H.C.L. (decimal 7)~D; Inc RO on"1" bft.sStore ".C.L. fn scratch FF.Decrement by one untfl reach zero.Return if Q off.Turn Q off. Load H.C.L.Count down once a9ain, wI Q off.

  • Be 35 Be Tests cassette signal for "0" orSAVE 78 F8 80 Al Set up for later branch just BE 35 88 "I" bit. If "0", DF=O &RD is

    before HEADER. eo FF 01 not incremented. If "1", OF=l &ENDAOO 7B 0473 Hi order ENDAOO~scrat~h FF, e2 33 BE RO is incremented. Returns to

    70 D4 10 order FE, e4 30 e4 HAIN.pointer left at FE. e6 30 B9

    7E SA F5 At , Bytes, less than full block,to record - Re.O LOAO C8 F8 CO Al Set up for branch just before HEADER.

    81 12 Pointer to scratch FF. CB 307B Jump to EN DADO to calc , bytes82 9A 75 Fe 01 Be , Full + partial pages to save or to be 10aded,_RC.

    load -toRe. GO eo F8 SA A7 Set R7' to point to TEST.87 DO Key press displays 10 order start DO F8 F9 BO F9+RO.l (7 1ess than zero).

    add &begins recording or load. 03 07 Test cassette header for "I" bit.88 F8 65 A6 Set R6 to point to eYCLE. 04 3B 00 Start TEST over until "I" header88 81 A3 J~ to HEA~R in SAVE mode, to bit is seen.

    Go in LOAD mode. 06 90 3A 03 Keep trying until 7 successiveHEAOER 80 F8 80 BO 80 + RD. 1, 14 sec counter. header bits read correctly.

    90 FF DO OF +l. Set up for "I" bi t , READ D9 07 33 09 Wait until see "0" start bit.

    92 D6 Output via Q line one "I" bit, DC F8 01 BO AO RO.O &RO.l initialized to 01.o adding 1 to RO. EO 07 Test bit (inc RO.O if "I") •...

    93 90 3A 90 Repeat until 14 sec of "I" bits El 90 7E BO Ring shift left RO.l; storingcompleted=cassette save header. E4 3B EO bits in RO.l until byte complete.

    BYTE 96 SA 05 7B Get 10 order address &display.Q on. E6 07 Test parity bit (will be "I" if99 4A Load byte to record &inc pointer. E7 80 F6 even' of l's in byte). Quit if9A BB save byte in RS.1 E9 33 45 parity bit + , 1's in byte +98 Fe DO OF-.O to set up "0" start bit. original 01 accumulated In RD.O90 F8 09 AB AO "09"-'RS.O, RO.O is odd.

    BIT Al D6 Output via Q line, one bit sent. EB 90 SA Write byte into memory.

    A2 28 88 32 AB J~ to PARITY if start bit EO SA 05 Oisplay 10 order address of byteplus 8 bit byte completed. just written.

    A6 9B FE BB Shift byte left; bit to be sent EF lA Increment pointer to next address.

    A9 30 Al +1lF. MSB sent first, LSB last. FO 2C Decrement bytes-tO-be-read counter.Fl 9ClAD9 Jump to READ unless all bytes

    PARITY AS SO F6 D6 Send parity bit, "0" for even loaded."I" for odd. F4 3038

    AE 2C ' Decrellent bytes-to-be-sent counter.Return to MAIN.

    AF 9C3A96 Jump to BYTE unless all sent. SEARCH F6 04 Input byte to be sought.

    B2 06 06 D6 D6 30 38 Send 4 garbage end bits.~HAIN. F7 4A Load byte to check.

    B8 10 Increment reg RO.O if ·'1" bit. F8 F3 3A F7 Repeat until find byte.

    B9 03 Return to LOAD. FB 2A Dec. address back to where

    TEST SA Fa 00byte was found.

    FC 9ADS Get &display hi order address.FE 3058 Go to EXAMINE.

  • The graphics test program displaying the Enterprise Spaceship (Popular

    Electronics. p. 42. 44. July 1977. and in Netron1cs Assembly Manual) also

    shows the program bytes. If the graphic-modifying MAIN subroutine is not

    needed. space becomes available for modified INTERRUPT subroutines which

    display cnly the graphic.

    Running f~ OOSO-DOFF. the graphic consists of 22 8-byte rows. Each

    row is scanned 4 times for a total of 88 desired graphic scans. To blank

    the screen during the first 40 (-128-88) scans. two 8-byte rows of zeros

    must be scanned 20 (=14 in hex) times. These are conveniently supplied

    in the original programs at O4OD-04FF; they could however appear anywhere

    on the same page as the graphic.

    In the Top Blank program. the INTERRUPT subroutine puts half the

    number of blank scans in an unused register which is decremented and tested

    during blank scans. When this register reaches zero. the program jumps

    to load the graphic display address into RO. Two zero rows seem to be

    necessary since the decrementing. comparing. and repo1nt1ng of RO takes

    more time than is available in one between-scan period.

    To display the graphic with unused lines at the bottom blanked. it is

    necessary to place the graphic in -emory so that it can be imMediately

    followed. on the same page. by an 8-byte row of zero bytes. The graphic.

    originally at OOSO-OOfF. IIIJst be IIOved to 0048-DOF7. OOF8-~F IIllst be

    zeros to be repeatedly scanned during blanking,

    Program Bottom Blank 1l11pll!llents this •. AtlI1nor complication arises.

    due to the fact that during the last four scans the video chip pulls the

    display status line-low. In the original program. the 3C instruction

    ~.P.g.

    Jan. 68 Z-80 u-P Instruotion Set

    Feb. 45 Hobby Computers Cos' bardware, names & addresses.

    72 Z-80 Addressing modes.

    sensed this only as the last 4 scans were completed. In Bottom Blank this

    "alAlOst-done" signal is sensed with 3 scans still to go. So the FOUR

    subroutine is added to keep repo1nt1ng RO to zeros until the display

    status line again goes high. signaling that the display window in finally

    closed. Without FOUR. the bytes following the zero row get displayed.

    Once the logic of these modifications becomes clear. one should be

    able to write interrupt routines to blank the screen at the top. bottom.

    or top and bottom. Of course. users with IIOre than one page of memory

    can dedicate one page for display. blank anywhere easily with zeros.

    and use the standard interrupt routine.

    "

    C. John WillIams323 Walkers lineBurlIngton, Ontol7N 2C8

    Z-80 Interrupts.

    Hobby Computer Cos., (oonclusion).

    Teaohing digital oounter IC's to eeune ,

    All about the 3-100 Bus.

    Z-80 intertaoing.

    Introduotion to peripherals & their intertaoing.

    6502 u-P & it's instruction set.

    Your Own Camputer - )2p. on who, What, where, haw, eto.

    Video Modulator - roundup ot available units, Mf'rs.

    Intel 8253 progr8llllllB.ble timer IC.

    The REF-02 - a temp.sensor & precision V.Regulater IC.

    Intel 8253 timer IC - it's oharaoteristios.

    6800 U-P bardware & sottware aspeots.

    1olM57l09 - an NOM, (Number-Oriented u-P), a "number-oruncher"tor a CDP1802 u-P.

    INTERYSTING COMPUTER-ORIENTED ARTIC!m3

    (extraoted tram Radio-Eleotronios,l978)

    "

    " 80

    Jun. 37

    Aug. 38

    " 64

    " 82

    May 44

    100

    Apr. 48

    Mar. 68

    70

    72

    Sep. 74

    Oot. 78

    II Deo. 45

    Ken ManteiSan Bernardino. calif.

    Partial Display Subroutines for256 Byte Elf Systems

    l\)l\)

  • Top Blank Progri1JllBotta. Blank Progra.

    Label Address Bytes COIIIIIents

    Label .Address ~ Con1Ients0000 90 Bl B2 B3 B4 B4 unnecessary in this·-ad.0000 90 Bl B2 !l3 B4 -' B4 unnecessary in this mod.05 FB 39* A3 *Address changes from P.E.

    05 FB 39* A3 *Address changes from P.E.!II FB 3F* A2 original Graphics T~st Program

    08 FB 3F* A2 original Graphics Test Program!II F8 11 Al 03

    !II F8 11 Al 03RETURN OF 72 70RETURN OF 72 70INTERRUPT 11 22 78 22 52INTERRUPT 11 22 78 22 52

    15 C4 C4 C415 C4 C4 C4Bytes from 0018 to 003F18 F8 00 BOare 4ifferent from originallB F8 48 AO E2 Spaceship graphic moved to

    Graphics Test ProgramREFRESH lF 80 begin at 0048 instead of 005018 F8 14 AS 'Blank scans/2 (in hex}.R5.0

    DMA scan 1lB F8 00 BO Address of 2 zero lines ~RO

    20 E2 20 AOBLANK lE F8 40 AODMA scan 2 Scan each 8-byte lineDMA zero row 1

    23 E2 20 AO four times as in original21 25 85 32 27 Countdown blank scans by 2 andDMA scan 3 Graphics Test Programl\) '* zero row 2 jump on zero to PIC to display

    26 E2 20 AO\JJ25 30 lE graphics beginning at 0050

    DMA scan 4'* zero row 2 29 FB FO Makes 0-0 if last line.PIC 27 F8 50 AO2B JA lF Get new display line if 1)10.REFRESH 2A E220 80 Save in 0 address of 8 zero'* Scan 1 Scan each 8-byte line

    DMA zero row bytes that must immediately2B E2 20 AO four times as in original

    follow. last line of graphic.'* Scan 2 Graphics Test Progra. BLANK 2E 20 AO Repoint to zero row until2E E2 20 AO

    30 3C2E EFI shows we're in last 4 scans.DMA Scan 3 . DMA zero row31 E2 20 AOFOUR 32 20 AD 34 32 Repoint to zero row untilDMA Scan 4

    DMA zero row EFI shows last 4 scans done.34 80 3C 2A Check for end of display36 30 OF 00

    37 30 Of window.MAIN 39 E2 69 30 3B Do-nothing MAIN loop.MAl,. 39 E2 69 30 38 Do-nothing MAIN loop

    3D xx lUI xx 3D to 3F is stack area.30 xx xx XX 3D to 3F is stack area 40 to 47 is unused.ZERO 40 00 00 00 etc. Bytes 0040 - OOFF containing GRAPHIC 48 7B DE t8 etc. Bytes 0048-0OF7 contain graphic

    found as 0050-00FF in original.GRAPHIC 50 7B DE !II etc. graphic same as original P.E.ZERO F8 00 00 00 etc. Zero row for blanking.Spaceship Progra.

  • ERRATA

    The software for the CMOS 16x32 video system, IPSO FACTO #$, page12 has two errors.

    LOCATION8386$3$9

    WAS9CBC

    SHOULD BE9EBE

    RUNNING THE'tIPSO FACTO" STANDARD CASSETTE SOFTWARE Bernie MurphyON TH~ ELF 102 McCrany St

    Oakville, Ont.L6H lH6

    Some of you may be interested in running the cassette softwareas described in IPSO FACTO issue #$, page 37 but have hesitatedas the timing constants in the article were for a 1 MHz clock.

    There are two solutions to the above problem.SOLUTION 1) Feed an external 4$00 Hz clock to one of the EF lines

    and change the delay code as follows:

    0065 DD DELRTN: SEP R13 •• Actual Delay is 16 ClockPulses, But One May PassUndetected

    0066 F$OF DELAY: LDI 15 •• Thi s Delays006$ 3668 DELOOP: B3 * •• For 15 Clock Pulses006A 3E6A BN3 ~006c FFOl SMI #01 •• Delayed One Bit006E 3A6$ BNZ DELOOP •• Yet?0070 3065 BR DELRTN •• Yes, Return003$ F$O$ LDI #0$ •• Delay $ Pulses

    This new delay routine is 3 bytes larger, so you will have torelocate the cassette dump routine--horrors!

    SOLUTION 2) Change the l.irainp: cons t-urt s ,Eg. The ELF CPU clock is 1.79 MHz

    for 1 MHz, 62 loop delays are requiredfor 1.76 MHz, 62 x 1.79

    =111.-: 6FH delays

    .~ code chan~es are:003$ F$370066 F$6F

    I have not actually testedYou may have to "fine tune" the

    ~ BIT TINE1 BIT TIJlfJE

    the above calculations in practiee.above constants to get exactly 300 BPS.

    If anyone gets this software goin~, I would be pleased to hearfrom them.

    References:1. IPSO FACTO Standard for KC Tapes, IPSO FACTO #$, page 37.2. Cassette Test Routines, IPSO FACTO #3, page 30.

    24

  • NETRONICS' "GIANT BOARD" NOTES

    I acquired Netronics' "Giant Board" for my ELF II a few monthsago. After assembly, I couldn't make it work. It took me severalweeks of checking and rechecking before I realized I didn't haveenough power-even though Netronics claimed no extra power wasrequired for the board. I already had 1 amp on my basic Elf.

    I just mention this in case someone is presently experiencingthe same problem I had.G.R. Gilbert, 304 Vassal, Drumrr.ondville, Que. J2B 5H3

    I have a Netronics ELF-II with the Giant Board and have thefollowing experiences to share. Initially everything worked wellbut after adding the Giant Board, the 1861 video controller didn'twork. A phone call to Netronics yielded the suggestion to try themodification described as step #3 in version #1 for my version #2board. After making the mod •• , the video resumed working. All ofthe neighborhood 7 year olds are now having a good time with DanRubis' Mousetrap (IPSO FACTO #6). The other problem that I had wasthat the cassette I/O on the Giant Board wouldn't read back aprogram which it had written. I am using the least expensive Searsunit that has a tape counter. The difficulty turned out to be thelimited high-frequency response of the record/playback combination.The cure was to put a 0.002 ufd capacitor in series with the ear-phone output of the recorder. The capacitor functions as a high-pass filter (reducing the low-frequency response to balance thehigh-frequency loss of the system). The performanceof the recorder is now fine.Joe Rothberg, 2908 New Castle Ave., Silver Spring, MD, 20910, USA.

    LETTERS TO THE EDITOR

    Dear Bernie,Just a quick note. I just received my Oct. issue of IPSO FACTO

    and in reading over the software for CI\'lOS 16-32 Video System, Irealized I had sent you my original program which contains two errors.1. location 8386 9C should be 9E2. locntion 8389 BC should be BE

    The program works okay until you attempt to scroll with cursor online # nine. Everythin~ will scroll up but the cursor will appearon the bottom line (§-16) rather than line #8. My appologies for notsending mi revised program. I'm presently working on a program "HEXPAWN" using artificial intelligence where the computer learns fromits mistakes and progressively gets smarter. I am trying to eet itinto lK of RMft. (Just a challenge as I have 5K of RAM).Sincerely, George E. Millar, P.O. Box 1412, Parksville, B~C. VOR 2S0

    Dear Bernie,I just received Issue #8 and it was fantastict One note on

    my program - Variations on a theme - which I'm sure was picked up.I show a loop from T1emory location 13ij Object code 85 to ML OlH.When actually it is from ML 14/15H ObJect code 32 01. Also I'vebeen able to run this program on any paf,e of memory by jumpinp: toit from an initialization routine which sets the high order bytes ofthe registers to the par;e address.

    25

  • LS'l''l'~HS TO THE: EDITOR COr-;T'D

    I really appreciate the publication of the "IPSO FACTO"Standard for Kansas City Tapes. I agree that it is very importantthat we be able to exchange tapes with other 1$02 users. UNFORTUN-ATLY I'm afraid I won't be able to use the Standa.. '~ because atleast at this point in time, I have no idea how to determine thevalues needed to replace the values listed for a !MHz clock. Run-ning an Elf II, as many other members do, I'm locked in to a 1.7$MHzclock unless I want to give up my video display with the 1$61 chip.Would it be possible to publish the process (other than Trial andError) to determine the correct value for a particular clock speedor simply a table of values for the "standard" clock speeds of theavailable 1$02 based micro's? (Will do. B.M.)

    I know of one 1$02 system up and running with 16k of dynamicmemory. The developer (who is a dynamic memory designer!) will be,hopefully, marketing his design in the near future. I'll let youknow more when I can. He has also done some remarkable extensionsto TINY BASIC AND MAY TRY TO WORK OUT SOMETHING WITH Tom Pitman tomarket them (sorry about the caps, I forgot to hit the key).Thanks again for a super issue, David A. Hersker, 439 S. River St.,Apt #5, Wilkes-Barre, PA 1$702, USA.

    Dear Bernie,The November 20, 1978, Lss cue of EDN magazine has a section on

    microprocessors. The page about the 1$02 also mentions the 1$04 and1$06. The 1$04 includes 2K bytes of masked ROM, 256 bytes of RAM,and a timer. There are 13 more instructions than in the 1$02, someof which are for the timer. The additional instructions use thepreviously used opcode (6$ hex) for the first byte. The second bytespecifies which of the new operations is to be performed. A versionof the 1$04 with erasable PROM instead of masked ROM is underd eveLopmezrt ,

    The 1$06 is listed as a "possible future enhancement" of the1$02. It would have instructions for conventional subroutine callsand 16-bit load immediate instructions for registers 0 thru F.

    Your mention of floppy disks caught my interest. Does any diskoperating system (DOS) exist for the 1$02? I have designed a ratherambitious DOS for possible implementation on a personal computersystem. So far I have mostly specified the file system and-the inter-face between user pror;rams and the operating system. No coding yet,since among other thin~s, I have no~ decided which processor to writeit for (nor do I presently have any disk drives).

    I now have my "semi-tiny BASIC" for the 1$02 running under asimulator program. (My ELF +1 needs a terminal, more memory, andpaper tape or cassette before "semi-tiny" will run there. All ofthese are presently in the works.) "Semi-tiny 3ASIC" is similar toother tiny BASICs, but includes FOR-NEXT loops and several built-in functions, and uses 4K of memory. The interpreter uses no three-cycle instructions so that it can run with the ~raphics chip on theELF II without a jittery display. I do not know if any other 1802BASICs, tiny or otherwise, have this feature. Sincerely,Jim Howell, 5472 Plays Del Ray, San Jose, CA, 95123.

    26

  • LETTERS TO THE EDITOR coNT'D

    Mr. York,I recently purchased an 1$02 based microcomputer from QUEST

    Electronics. It has 256 bytes of RA~iI and a 32 byte ROI·~ monitor.It also has a video display interface chip (CDPl$61), power supplyand on board provisions for memory and I/O expansion. I would liketo become a member of your ACE club to permit me to receive IPSOFACTO publications.

    I hope I may contribute to your pUblication, although I am anElectronic En~ineer, microprocessors and software programming is anew challenge to me. I am currently working at the Jet PropulsionLaboratory in Pasadena in the Spacecraft Data Systems Group. I ampresently designing the command decoder subsystem for GallileoMission (Jupiter Orbiter Probe '7$) on the command and data system.This is a distributed data system utilizing radiation hard 1$02processors. The spacecraft ~Jill be launched off the space shuttle.After the design phase, I will help write some test software forJamous subsystems. I'm eager to obtain any 1802 related articlesand so I hope to hear from you soon. Sincerely, Robert S. Valencia,266 N. Wilson St., Sierra Madre, Calif., 91024.

    I

    Dear Sirs,My system consists of a Quest Super Elf which has been altered

    and 32K of (seals) memory.I am now in the process of interfacing a computer controlled

    cassette and will gladly provide a more detailed discription of mytoy. (Please dol B.M.)

    Gentlemen, if at all possible, don't send the newsletter bysurface mail. It takes about 6 months.

    Looking forward to hearing from you. Sincerely, C. W. Vlaun,P.O. Box 624, Serce Colorado, Aruba.

    Dear BernieHE: RADIO SHACK KEYBOARD , KEYFurther to my letter of November last, I wish to report the

    following:The manager of the store, Mr. Normanoin took it upon himself

    to see a T.V. repairman and get the work done, pay for it ont of hispocket and advise me to pick it up.

    The serviceman heated the finger on the underside of the encoderboard until withdrawn replaced on the proper side of the plasticspacer and resoldered Voila!

    This incident shows the good will, guarantee and service aftersale of RADIO SHACK!! ;

    If I did not benefit by your intervention, I am sure othermembers of the club will should they be faced vii th similar situations.

    Thanks for all Bernie & long life to the club. Yours,G. Fournier, 10155 Chambord, Montreal, Que., M2C 2R3.

    Dear Bernie,Just a note to let you and the rest of AC~ know how I'm doing

    with my system.I now have 9K (8K+lK) runnin~. A printer and an image sensor

    are planned before Jan '79.The 8K board was S-IOO but isn't anymore ••• I used it only as

    a place to put 642I02's!

    27

  • LETTERS TO THE EDITOR CONT'D

    The ima~e sensor is only theory yet but an article is definitelyin the works: (Any word on the Netronic's Elf-II Newsletter?)Yours truly, Darcy Roberts, 660 Laurier, Brockville, Ont. K6v 5X8

    George York,Thanks for your letter telling us of your activities. We at

    Quest Electronics want to be of service to the 1802 community andinvite your readers to send us questions about the types of productsyou would like to have; and any other questions you like. Enclosedis some literature about the products we are now offering to theCOSMAC experimenter.

    We also have a pUblication, QUESTDATA, which provides a forumfor users and prints interesting software and other information.

    Enclosed is a NEWS RELEASE with information we hope you willmention to your readers. Best Regards, Bill Haslacher, Editor,Questdata, P.O. Box 4430, Santa Clara, CA, 95054.

    QUEST ANNOUNCE~mNT:A new cl~b to support the RCA 1802 COSMAC is QUESTDATA. Owners

    of Elf, Super Elf, Elf II, COS~~C VIP, COSMAC Development System orHomebrew 1802 will find many programs, applications, and experimentsfor their microoomputer in each issue of QUESTDATA.

    QUESTDATA will be showing the complete RCA instruction set andhow to build interesting programs for: graphics, control, games,and business purposes. Coverage will be given to Tiny BASIC, ElfExpansion possibilities (memory, cassette I/O, etc.), light pens,reader questions and music programs.

    QUEST Electronics, pUblishers of QUESTDATA and maker of theSuper Elf (one-board computer with graphics), wants to give thebest possible suP?ort to COSMAC systems. QUEST wants users tolearn and grow in knowledge with their Elf. With a Super Elf andQUESTDATA sUbscription, you can start with a small investment incomputers (the Super Elf kit is $106.95; QUESTDATA is $12 a year)and grow with your knowledge into the system configuration of yourchoosing. The choices for Elf expansion are many, from simplercontroller applications--a long-distance telephone, chess timerprogram appeared in tile first issue--to complex systems using 4K ormore memory.

    QUESTDATA offers users the growth possibilities which all Elfsystems provide. The $12 monthly QUESTDATA--P.O. Box 4430, SantaClara, CA 95054 will give your Elf's memory some microcomputerbrain food. ForeigQ subscriptions, with the exception of Canadaand Mexico, are $6 extra for mailing.

    IT8l1S FOR SALE

    1. For Sale: New ASCII keyboard, never used, as:embled and tested,with detailed manual, asking $35. Jim LaVeck, Route 1, Box 180,Dexter, New York, 13b34 USA, 315-639-6383.

    2. For Sale: Complete Elf II System, up and running. IncludesElf II, 4 amp power supply, Giant Board, Kludge Board, and cassetterecorder, all in perfect working order. Also, over 400 pares ofprograms and applications, very extensive documentation, $175 US.Jim LaVeck, Route 1, Box ISO, Dexter, New York, USA 13634, 315-639-63~

    28

  • ITID1S FOR SALECONT'D

    3. (3) Transformers, Pri taps for 110, 115, 105, 125. Sec: 5V@3A,6.3CT@4A, 700VC~.8A. Solid high quality military surplus, epoxysealed for quiet operation. $10 ea.

    (1) Hex-encod.ed Keyboard using desk calculator keyboard and TTLdecoder logic on wire-wrap panel. Outputs 4 bits hex plus 4 controls(HUN, \'lAIT, LOAD, RS'l') $6.00

    (2)Wirewrap panels. "Dead-bug" type (I.C. inserted legs upand tack soldered on comp side) holds 200 14 pin I.C.s. No wire onthese new panels, a very few easy to cut etches on boards. $5.00 ea.

    (l)Floor optic assy. Provides ideal light source for 80 columncard reader. (End feed machine, 12 lieht points precisely spaced,with lamp. $2.00

    (4)8" Floppy Disks. $2.00 ea.

    LETTERS 01 CONTACT

    My Netronics' "Giant Board" works fine except that I cannotread cassette tapes with it. I tried reversing inputs and eventried two different recorders, varying tone and volume positions.All components are O.K. and I get a signal at EF2. Can anybodyout there offer any help? Thanks. G.R. Gilbert, 304 Vassal,Drummondville, Que. J2B 5H3.

    HELPt I am tryinf, to find a circuit for the ELF-II that willlee me use dynamic memory. I have some MK4096 and TMS4027 dynamicmemory chips but can't figure out how to arrange the refresh toavoid disturbing the timing of the 1861 video. Does anyone havedynamic memory in use with an 1802? or does anyone have any sug-gestions? Also, are there enough US members of AC~ to have somesort of East Coast meeting? Joe Rothberg, 2908 New Castle Ave.,Silver Spring, MD, 20910 USA Ph. (301)585-7322

    If there are any other ACE members in this area (northern Ohio)I would enjoy hearing from them. Dick DeLombard, 802 Seneca Ave.,Huron, Ohio, 44839, USA.

    I'm looking for some people who might be interested in sharingthe work of developing a Tiny Pilot based on the flowcharts byAllen S. Krieger in the April 78 issue of KILOBAUD? Sincerely yours,David A. Hersker, Box 802, Conyngham, Pa 18219, USA.

    On my Netronics Elf, the video display has a little sidewaysshimmy that waves down the screen a~ .out, once a second. An oscillo-scope shows clean sync pulses with no 60 cycle hum and only 0.3 mVof 2Mc clock noise. Seeminr:ly every video/sync pulse combinationhas been tried to no avail. Direct video input to monitors givesthe same little wobble as when an RF modulator is used to a TV. Ifanyone else has met and conquered this problem I \~ould love to knowhow. Kenneth A. Mantei, 1254 E. 26th Street, San Bernardino,California, 92404. (Ed. Note: See G. Fournier's article in thisissue.)

    29

  • LETTERS OF CONTACT CONTID

    I would like to know if you have any information on a largerBASIC or FORTRAN for the 1802. I currently have TINY BASIC up andrunning, but would like FLOATING POINT and a faster execution time.Thank you. Bill Freymuth, 9119 E. 66 St., Tulsa, Oklahoma, USA 74133.

    A question: have any of the members worked up a SIMP-A (StandardInterface for Micro Peripherals as described by the Central StandardsLibrary, 128 Faft Rd., Denver, Colo.)interface for an 1802 system,the VIP in particular? Thanks for your co-operation. Sincerely,Steve Place, 72 Burgundy Hill Lane, Middletown, CT, 06457.

    I am writing on behalf of a small 4 people 1802 usersgroup which includes a Complete Netronics Elf II system, a partialElf II system, a complete Homebrew Elf system, and my own "Complete"Quest Super Elf System (only 4K at present but with SlOO Interface).

    I am looking for a good (better than Netronics) CharacterGeneration and Video interface system. Would also like a Fullfeatured 8K or more Basic for 1802. As Tiny Basic is firm but notenough. Will consider Cassette exchanges. Thank you.Kenneth J. Lynch, 47-05 48tt St., 'VJcods}_c!a, N. Y.) 11 377 •

    I would be interested in hearing from any members in myarea. I presently own an Elf I but also have access to a KIM I,8085 kit, and soon a Starplex developement system by NCS.Best Wishes. Jan Pottinger, 505 E. Lakeside Dr., Florence, Ala.,356~0, USA.

    STUDIO II CONVERSION KIT

    FOR IMMEDIATE RELEASE DECEMBER 26, 1978

    Norristown, PA - - ARESCO has announced the availability ofinformation and components to convert the RCA Studio II videogame into a simple microcomputer. The information packagedescribes how to construct a new cartridge for the Studio II,includes schematics, ROM monitor listing, operating instruc-tions, and program listings, and is available for $5.00.ARESCO also offers a printed circuit board and pre-programmedPROM containing the conversion program, as well as a fullyassembled and tested cartridge. No modifications to the Stu-dio II are required. With the new cartridge, the user canenter machine language programs through the Studio II keypads,and the programs can be controlled from the keypads and generateTV displays on a standard TV attached to the Studio II. Theconverted Studio II is a simple, powerful microcomputer containing512 bytes of RAM, 256 bytes of ROM, an RCA COS~~C 1802 micro-processor, a video graphics interface, an FCC-approved RF mod-ulator, two ten-key keypads, and a processor controlled "beeper".

    Orders for the information package, which contains pricing forthe components as well. as for the assembled cartridge, shouldbe sent to ARESCO, P.O. Box 4J, Audubon PA 19407. MC!vISA/BACorders accepted, but no C.O.D. or billing available. For moreinformatioD or rush orders, contact Rick Simpson by telephoneat (215) 631-9052 or (215) 631-9257.

    30

  • TIC TAC TOE WITH THE 1802 Dave Burniston203-3576 Peter. st.Windsor, Ont.' NgC 1J5

    I wOllld like to make a few comments on what I have beendoing with my TEC-1802 in the recent weeks. When I purchasedmy kit,I also bought an 1861 videa chip, which I h8ve on asecond board, along with a cassette interface and a 1.78 MHzclock.

    When the November issue of Popular Electronics came outwith Ed McCormick's light pen input TIC TAC TOE proeram, Idecided it was time for some more memory. So I dug up thetwo 2114 memory chips that I had and went to work. Usine thecircuit in Fig. 1,1 wire wrapped a board which allows theoriginal 256 bytes to be addressed from 0000 - OOFF and thenew 1K bytes to be addressed from 0400 - 07FF. These locationswere usen to comply with the TIC TAC TOE program. By replacingthe original 256 bytes with two more 2114's, a complete 2K"can be run.

    +51/c04o>'/Y

    .2.C> ~ .t 0, 101'- Act ?'i ?S'~o Q,+-511 Vc.c (~~-v) - S-

    ~I

    S II j(J) ,OJ(.

    AI 02- C. A~ G-ttJD - j ~-.::J +S"--e,

    "OJ(fl2. 1: ~J A,o '10"1'1..-OJ \

    A,o Vcc(rSlJ) - IlOt

  • CE(If/o)

    -I'Ilwr..1

    s 110 110 'if; c!' WE S iJE

    c.s

    (; cfJ ?

    ~ 1./

    j :;. /!'I .3 ~ 1/'12 2-

    I ,.If] Ir'/

    "Ie

    IS IS

    II 1'2. /3 I ., 1:1- 13 I

    00

    :,1./1'-/

    Vc..c.(fSV) - I~

    GItJD 9

    FIG. 2

    Having completed this circuit, I loaded the Elf IIExpansion Monitor into the original 256 bytes and used itto load the TIC TAC TOE program. Usine the suggested lightpen, a question mark kept beinE displayed when the playersmove was made, and no X would be displayed. My logic probeindicated that the photoresistor was constantly holding them line in the low state. This problem was solved by puttinga variable resistor in parallel wi th the EF3 pull-up r-e s t st.o rand adjusting it until the loglr probe just indicated anot-low state with the light pen on a dark square.

    The program now runs fine on my system and when thecomputer makes the first move in a game, in most cases itis difficult to beat the computer. Even a draw is sometimesdifficult, with the computer winning a surprising number ofgames. So be on your toes when playing this game.

    32

  • Now some information on my video monitor. I am using aCarillon 110/12 V, AC/nC black and white television whichI purchased from a Shoprite Catalogue Store. A schematic issupplied with the set, making conversion rather easy. I addedthe circuit in Fig. 3 to convert the set.

    IUELJ Clfl-CUI Tr-IIII1

    1I

    I :- _+-1

    VloEO ~DETEC.Tor?.

    (OR IG-IJ'J A L.CIRCUIT)

    FIG. 3

    GIASSotJRCE

    VIDEoPtmf

    The added circuit provides biasing for the video amp atthe "blacker than black" level so that the TV screen is darkwhen there is no video signal. Adding a 1-2 volt peak to peakvideo signal brings the bias back up to the white level. Theswitch allows the set to be used either as a monitor or as aTV.

    References

    1. Popular Electronics, November~ 1978

    2. Popular Electronics, March, 1977

    3. Popular Electronics, March, 1978

    4. TV Typewri ter Cookbook, D. Lanc a s t e r , ~)am' s Publicatlons

    33

  • hEY-IN LOADER FOR ELFII FORMAT ~ES Tom Jones1751 King Ave.Plorenoe, S.C.

    29501

    It :"ou have a home brewed , or anothor brand ot 18OZ0D S1stem, thisutilit3 program will allow you to read tapes tormatted on a Netronioa LTD EltIIwithout havlngthe;r entire monitor in your system. They alao sell some nioesottware paOkages in this tormat.

    Insert the tirst loeation ot momory ;you wiah to start loading to inlooations 0002 and OOOf. Insert the range in locationa 0009 and OOOC. Range istho blook length ot the reoord. on tape in hex, and is the sarno aa the highestlooation loaded to it loading to starting looations at page boundry. Otherwiseyou must oaloulate it by tinding the ditterenoe botween highest and lowest addresaes.

    The loader givos no ind.1oation until the program 11 loaded unless a parityerror ooours, Where upon the program hal ta and "EE" is displa:ed. It the load isauooessful "05" is displBSed. ("00" looks like O/S to ne: and I nOJ"1T'6.11:l return tothe operating system when a jOb is done. lIn tho eTont that you don't know thelength ot tho program :,'ou are loading (bad news) :,»OU will get an "EE" it youspeoity too large a range and an "05" if too low a rbnge bUt you will get short-ohanged on bytes. B~' braoketing the range and then inoreasing it until :Iou get thetirs t pari t" :,'ou ma::l ee a'ole to determine the tmknown reoord length.

    There are two timing oonstanta in the loader, presentl;y set up tor a systemwith a 1.79 MHZ olook. The following ~rrnulas will caloulate them tor ~stomsusing other olooks. At location 0012, oonstant "F9" sets the minimum numoor atmarks needed to reoognize a valid leader. This turns out to be around .7 seo. of a10- 12 see , leader, interesting enough. At Locatd on O()4l is the "bit d.ela:" oonstant.

    1. Pirst oaloulate "bit del&;'".2.908.380 Whores

    C,::: V.

    Your olook Freg (HZ)11 ::: 8O,-=nEJW oonstant (In deoimal, convert to Hex)

    2. Use 0t above to oaloulate "X", and then O~ • Insert 0. at location 0041and O~ at looation 0012.

    X(l536)C C, + 2048 )::( •689)Q4) - 4.2

    (in deoimal, oonTert to ~ex)

    Bill Freymuth's VIP to ELl oonversion utility should allow reading VIPgenerated tapes and oonverting thom, also, but I have not done it yet.

    Ret, Ipso Faoto .8, p. 21, "VIP to Eg/EliF to VIP program"

    34

  • LOCN DB"" CODE STMT SOURCE STATEMENT 1802 YER 1.6

    1 NETRONICS FORMAT BOOTSTRAP LOADER0 00 - 01 00 2 ADDR EGlU aOl00 · . LOAD ADDRESS0 00 -DOFF 3 RANGE EGlU aOOFF · . LOAD RANGE0 00 E2 .. CASBOOT: SEX R2 · . SET UP )( REG

    01 F801 5 LDI A.1CADDR) · . ADDRESS MSB03 BA 6 PHI RA · . SAVE AWAY0 .. F800 7 LDI aDo · . ADDRESS LBB06 AA 8 PLO RA07 B7 9 PHI R706 F600 10 LDI A.1CRANGE) · . RANGE MBBOA BC 11 PHI RCOD F6FF 12 LDI A.OCRANGE) · . RANGE LSBOD AC 13 PLO RCDE F8"0 1 .. LDI A.OCDITREAD)10 1'7 15 PLO R7

    011 F8F9 16 SYNC1: LDI aF9 .. BET UP CONSTANT013 BD 17 PHI RDOl't D7 18 BYNC2: SEP R7 · . CALL BITREAD015 3Bll 19 BNF SYNCl017 9D 20 GHI RD018 31'1" 21 BNZ SYNC2 · . RESYNC011' D7 22 INSYNC: SEP R7 · . LOOK FOR01B 3311' 23 BDF INSYNC · . START BIT.OlD F601 2 .. LDI aOl · . SET UP01F BD 25 PHI RD · . BIT AND020 AD 26 PLO RD · . PARITY COUNTERS.021 D7 27 READ1: SEP R7 · . CHECK022 9D 28 GHI RD FOR023 7E 29 SHLC B02" BD 30 PHI RD BITS025 3B21 31 BNF READl READ.027 D7 32 SEP R7 · . OK. GET PARITY028 8D 33 GLO RD · . CHECK PARITY029 F6 3 .. SHR · . BIT021' 33 .. E 35 BDF PARITY · . PUNT IF ERROR02C 9D 36 GHI RD02D 5A 37 STR RA02E 81' 38 GLO RA02F lA 39 INC RA

    0030 2C .. 0 DEC RC0031 8C .. 1 GLD RC0032 3A1A .. 2 BNZ INSYNC003 .. 9C "3 GHI RC0035 3239 .... DZ DONE0037 301A .. 5 BR INSYNC0039 EO .. 6 DONE: SEX RO · . SET UP FOR IMMEDIATE MODE003A 6 .. .. 7 OUT" · . AND OUTPUT GOOD STUFF003B 05 '+8 DC aDS · . INDICATION .003C E2 .. 9 SEX R2 · . BET UP X AND003D 00 50 IDL · . WAIT FOR SOMETHING TO HAPPEN003E lD 51 BITRET1: INC RD003F DO 52 BITRETO: SEP RO · . RETURN TO CALLER00 .. 0 F80D 53 BITREAD: LDI aDD · . SET UP "CONSTANT"00 .. 2 35.. 2 5 .. B2 * · . WAIT FOR HIGH-LOW TRANSITION00 .... 353E 55 BIT1: B2 BITRETl · . IF EF2 GOES HIGH BEFORE00 .. 6 FFOl 56 SMI aOl · . TIMEOUT. BIT IS A ONE; OTHER00 .. 8 33 .... 57 BPZ BITJ. · . WAIT FOROO"A 3D .. A 58 BN2 * · . LOW-HIGH TRANSITION.LOCN OB..I CODE BTMT SOURCE STATEMENT J.802 VER J..6

    OO'+C 303F 59 BR BITRETO60 COME HERE IF PARITY ERROR

    OO'+E EO 6J. PARITY: SEX RO · . SET UP FOR IMMEDIATE OUTPUTOO"F 6 .. 62 OUT" · . DISPLAY0050 EE 63 DC aEE EE AS0051 E2 6 .. SEX R2 THE ERROR CODE.0052 00 65 IDL · . WAIT 'FOR SOMETHING TO HAPPEN0053 66 END

    0 DIAGNOSTICS GENERATED13 SYMBOLS

    SYMBOL TADLE:ADDR OJ. 00 RANGE DOFF CASBOOT 0000 SYNCl OOJ.J.SYNC2 OOJ." INSYNC OOJ.A READJ. 002J. DONE 0039BITRETl 003E BITRETO 003F BITREAD 00 .. 0 BITl 00 ....PARITY OO"E

    35

  • LIFE for an ELF David A. Hersker439 S. River St., Apt_~Wilkes-Barre, PA 18702USA

    After reading Ben Hutchinson, Jr.'s "Game of Life" in Issue6 of IPSO FACTO I wanted to get it up and running on my Elf II.After several false starts I succeeded, using the "Giant Board"system monitor and IElf_Bug" (both from Netronics). Then aftercorrecting two loading errors (thanks to suggestions from Ben anda hint in Harley Shanko's letter in Issue 8) I was off and running.

    Unfortunatly, using "Elf-Bug"as an operating system used anextra 4+ pages of memory (LIFE runs in only 4 pagesl) so I satdown to write an operating system tailored to LIFE and the ELF.

    What follows is my second version. This system assumes thatpage 2 is your initial display page but can be changed to operatewith any other page. It allows you to input data to any memorylocation on the page except FF. Keying in FF for an addressreturns control to the main program.

    The only change you need to make in the ori9inal program (thechange is optional, but it does simplify operation) is to changethe Long Branch at address 00278 from CO 01 60 to CO 01 B5. Thiseliminates the need to change that CO to C8 to run the program.In addition it lets you turn the run switch off and still pick upwhere the program left off by holding the Input key down when youturn Run back on. The code is written in two blocks only becauseI didn't want to relocate the "optional" display routine since Ido use it.

    To run the GAME OF LIFE after loading the main program and thisoperating system simply turn the run switch on. At that point theo led should come on (if not you've got a bug in the works). 0 isused as an input prompt. When 0 is on you input a low address byteby keying in the address and pushing input. 0 will then go off andyou input the data you want at that location. (0 on = put in ad-dress, 0 off - put in data) Continue doing that until you've loadedall your data, then, with 0 on key in FF and push the Input key.That will start the main program running.

    LOeN OBJ CODE COMMERT

    0027 CO 01 B5

    0177[7B78 3F 787A 37 7A7C 30 AD

    016D707374

    F8 01 B8F8 CO ASE8F8 02 B9

    This change in ~e original program links themain program to the operating system so you don'thave to keep changing the CO to C8.

    Register 8 is used as an input storage pointer.The CO can be changed to any free 1 byte location.

    Initial display page pointer. (Change if not usingpage 2.)o on - ready for address input.Wait for Input key to be pressedand released.Branch to second block of code.

    36

  • LIP! for en ELF (Cont'd)

    IDC. OBJ CODE COMMENTS

    Get keyped deta input. 1Display data on led's. Low Address.Keep register 8 at OlCO.Sets register 9 to location to be changed.Ready to run program? (Address FF was last input.)Yes-goto 01B31 No-continue.o off - ready for data input.Wait for Input key to be pressed

    and released.Input data.Store data via reqister 9.Continue program (loop).o off - ready to run main program.Skip next 2 bytes and prepare to run program.If Input key up goto Erase subroutine and then tooperating system to input data. If Input keydown run program.

    Branch to main program and run.co 00 2D

    6C6428A9Fe 0132 B37A3F A937 AS6C 64 2859o 77

    7AC83F 60

    olADAlA2A3A4

    01A6ASA9ASAD

    OlBO

    Bl~tt:=..JB3B4B5

    01B7

    If you'd like same more background (and patterns) on the GAMEOF LIFE in addition to the SCIENTIFIC AMERICAN articles cited byBen try the December, 1978 issUe of!!!!. There are severalarticles about LIFE.

    The "Glider Gun" in the first article is the same as thefirst gun in the second article. They're just at different stagesof growth. Happy LIFEing.

    BACK ISSUE R~PRINT POLICY

    The cost of reprints of back issues will be:

    1 complete set of issues #1 to 6 ••••••••••••.•••••••••.• $12.00Per copy price of single issue •••••••••••••••••••••••••• $ 2.50

    37

  • Tom CrawfordPast-PresidentACE

    The Association of Computer Experimenters is well intoits second year of existence. It is time to consider thefuture of ACE, specifically that period from June 1979 toKay 1980.

    Our current executive members, who have been working inthis capacity since June 197$, have done an excellent job ofmaintaining and building the club. The newsletter has grown inboth content and quality. The monthly club meetings are even moreinteresting thanks to the presentations by local electronics andcomputer-related business representatives. And the bi-weeklytutorials continue to meet with a great deal of interest for boththe hardware and software material presented. In addition, thework load involved in running the club and putting out the news-letter has been spread over a larger number of people this year.This results in both less work for each individual, and a largeramount of effort expended overall, resulting in the improvementsmentioned above.

    The dedication and abilities of these people, who numberabout 10, has resulted in amazing success for the club and news-letter. However, these people have served their turn, and shouldbe replaced in the upcoming club elections.

    The problem is to maintain a high quality, dynamic club andstill not overwork individuals. The solution is the careful choiceof a few key executive and a lot of volunteer working committeepeople.

    The particular area that requires a number of "volunteer"workers is the newsletter. Maintaining a current mailing listof over 450 names and addresses can be a formidable task. Theproblems of getting the newsletter printed, collated, stuffed intoenvelopes and mailed can keep 4 people occupied. Editing the news-letter is a task in itself. Another couple of volunteers to takecare of typing and diagrams would be appreciated.

    The direction the club will take under a new President hasyet to be determined. However, some form of software, hardware,standards, 'membership and pr-ogr-am co-ordination has to bemaintained. In most of these cases the tasks are now handled bya committee of one. I suggest a committee of at least 2 wouldlighten the load and tend to keep the ideas and objectives progressing.

    The purpose of this article is, therefore, to point out someof the facts of club life, and to issue a call for nominations orvolunteers.

    NOMINATIONS AND ELECTIONS

    The procedures involved are specified in the ACE Copsti-tution (on pgs 39-41 of Issue #3 of IPSO FACTO, or contact theSecretary/Treasurer, George York). Elections are held at theAnnual General Meeting (Tuesday, May $, 1979), and the followingelection procedures apply:

    3$

  • NOMINATIONS AND ELECTIONS (CONTtD)

    1. A nominating committee shall, as soon as possible, consist of3 past presidents and be chaired by the most immediate pastpresident. For the present, a nominating committee selected andchaired by the past president, shall propose a slate of newexecutive.

    2. The proposed slate shall be published at least six weeks priorto the election, with a proviso that further nominations mustreach the nominating committee chairman in writing (note: nomin-ating committee chairman--Tom Crawford, 50 Brentwood Dr., StoneyCreek, Ont. L8G 2W8) at least one month prior to the election.

    3. The proposed slate shall consist of at least one nominee for thepositions of president, secretary, treasurer, and newslettereditor plus a number of committee executive members.

    4. Election and/or ratification of the proposed slate shall becarried out at the annual meeting. If. there are no contestedpositions on the slate, ratification of the slate shall be bya show of hands of those members present. If there are contest-ed positions, election shall'be by secret ballot as per theConstitution.

    THE ASSOCIATION OF COMPUTER EXPERIMENTERS MINUTES OF CLUB ~lli~TING 78-9HELD AT STELCO WILCOX ST. AUDITORlill1 14 NOVEM3ER, 1978 8: 00 P.r ,

    78-9-1

    78-9-2

    78-9-3

    78-9-4

    78-9-5

    78-9-6

    78-9-7

    The meeting was preceded by a 1 hour tutorial.

    Wayne Bowdish reported a paid membership of 310.

    Rod Dore reported the tutorials will be looKine at cassetteinterfaces. The tutorials w~ll.start at 7:30 P.M. on nightswhen only tutorials are held.

    The next newsletter will be out shortly after the New Year.

    Motion to adopt Minutes 78-7 and 78-8 as inCluded in News-letter Issue #8.Proposed ~ George YorKSeconded - Bob SimpsonCarried unanimously.

    There was no financial report.

    Bert deKat discussed a number of devices ego humiditydetectors, PH electrodes, reed and mercury switches,Display drivers and how they could be supplied with micro-processors.

    78-9-8 Don McAdam, General,Mana8er of Varahts g3ve a very inter-esting talk about memory systems.

    7$-9-9 Motion to adjourn meetingProposed - George YorkSeconded - John HansonPassedThe meeting adjourned at 10: 30 P.n, About 26 people attended.

    39

  • 78-10-3

    78-10-2

    78-10-3

    7$-10-4

    78-10-'5

    78-10-6

    The meeting was preceded by a tutorial.

    George York reported a current bank balance of ~2411.66.Wayne Bowdish reported a paid membership of 329.Rod Dore reported tutorials are progressing with cassetteinterfaces as the main topic.Bernie Murphy mentioned .the shortage of locally generatednewsletter articles.

    Eugene Tekatch gave a talk on developments in 1802 systemsand technology.

    There was a demonstration of a. VIP and a Tektron system.

    There were a numoer of entries for the T-shirt LogoContest. Members at the meeting voted for their choice.The winning entry will be published in the newsletter.

    The meeting adjourned at 11: 00 P.r:.About 32 people attended the meeting.

    79-1-1 The meeting was preceded by a 1 hour tutorial.

    79-1-2 George York, secretary/treasurer, reported a currentmembership of 403 paid members and a current bank balanceof t3318. 53.

    79-1-3 Motion to adopt Minutes of 78-9 and 78-10.Proposed - George YorkSeconded - John NorrisUnanimous

    79-1-4 Rod Dore is developing some suitable hardware for cassetteinterface and tutorial demonstration.Fred Feaver mentioned a bug in the 'fektron system whenaddressing. The fix will be published in the newsletter.Michael Franklin mentioned he had a problem with theNetronics Elf.

    79-1-5 Dave Walton, Manager of Radio Shack (Dundas), gave atalk on TRS-80 systems. Three units were available fordemonstrations.

    79-1-6 The meeting adjourned at 10:45 P.M.26 people attended the meeting.

    40

    -1

  • IEEE MICROPROCESSOR COURSE NOTICE

    The IEEE Hamilton Section will be r~~J~_~~p.!:i~13'Z~_ -cour8e call~~croproees80r--~rogrammirigandInterfacin2 Techniques(RCA-1802)". The previous ~icroprocessors for IndustryK courseincluding the TEC-lB02 microprocessor kit, will be a prerequisite.The new course will provide:

    - review of 1802 programming_ an introduction to Interpretive programming and Macro

    instructions- Editor, Monitor, BASIC- Cassette, Teletype and Video interfacing- EPROM Programming- Industrial application techniques.Included in the course fee is the additional .75K RAM board

    required to run the larger programs needed during this course.Courses will all be given at Chedoke Hospitals' Nash

    Auditorium. To register please indicate courses in order of pre-ference (1, 2, 3 etc.). Also indicate any optional hardware youwish to purchase. Mail the registration with a cheque payable toIEEE Hamilton Section for the tstal payment to: IEEE TrainingCommittee, 196 Homewood Avenue, Hamilton, Ontario, L8P 2M5.

    IEEE MEMBER FEES APPEAR IN ( ) PLEASE CHECK ( )

    1.

    2.

    Refresher course (bring notes "Microprocessors for Industry"and TEC-1802 microprocessor)Saturday, February 3, 1979 8:30 a.m. to 5:00 p.m. with breakfor lunch. $45.00 (35.00) ( )

    April 4 to May 23, 1979 - Wed. evenings 7-l0p.m.

    April 21, April 28, and May 12, 19793 Saturdays 8:30 a.m. to 5:00 p.m. (break for lunch)

    • • • • •

    •••••

    • •••••• • • • • •

    • • • • • •

    ( )( )

    ( )

    NAME IEEEMEMBERSHIP

    ADDRESS NUMBER

    PHONE (Home) (Businessl~ ___

    PLEASE RETURN FOHN AND PAYMl!:NT AS SOON AS POSSIBLE

    Unless you receive further notification assume that you are enrolledin your first choice course.

    41

  • NOTICE OF CLUB MEMBERSHIP RENEWAL & NEW CLUB DUgS ASSESSMENT

    , All club memberships expire )1 May, 1976. Club membersshould complete the.form below and mail to George York,60 Chester Road, St~ney Creek, Ontario, Canada, L6E 112.

    The club dues assessment .for the 1978-79 fiscal year istlO.OO. Make cheques payable to the Association o.f ComputerExperimenters.

    I.f you know o.f anyone who would be interested in joining ourclub, why not give himlher the membership application. We areconstantly looking .for new members with new and interesting ide.a.

    MEMBERSHIP APPLICATION FORM FOR T.BE- Association of Computer Experimenter, \

    tII8lifuJ3~

    ~----------~-----------------~------------------------- ------------------------

    ----------~---

    42