ipso facto - cosmac elfipso facto is published by the association of computer-chip experimenters...

40
ISSUE 33 . Ipso Facto FEBRUARY. 1983 A PUBLICATION c:R THE ASSOCIATION c:R THE CQfPUlER-QllP ElmRD£N'JERS (ACE) 1981 Executive Corner Editor's Corner Meabers' Corner 1861 Line Drawing PrograDl A "Craps" ProgralR for Quest Basic Cross-Reference Chart - 1802 OP Codes The EIA RS-232C Standard 1802 Tiny Pilot Infestation II A Scanning Hex Keyboard Encoder Notes on Netronics Tiny Basic Catalogue Sheet - ACE CPU Board Club C01l1llUIlique 2 3 4 8 11 12 13 20 29 33 35 36 39 IPSO FACTO is published by the ASSOCIATION OF COMPUTER-CHIP EXPERIMENTERS (A.C.E.), a non-profit educational organization. InforlRation in IPSO FACTO is believed to be accurate and reliable. However, no responsibility is assulRed by IPSO FACTO or the ASSOCIATION OF COMPUTER-cHIP EXPERIMENTERS for its use; nor for any infringelRents of patents or other rights of third parties which lRay result from its use•

Upload: others

Post on 06-Feb-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

  • •ISSUE 33

    .

    Ipso FactoFEBRUARY. 1983

    A PUBLICATION c:R THE ASSOCIATION c:R THE CQfPUlER-QllP ElmRD£N'JERS (ACE) 1981

    Executive Corner

    Editor's Corner

    Meabers' Corner

    1861 Line Drawing PrograDl

    A "Craps" ProgralR for Quest Basic

    Cross-Reference Chart - 1802 OP Codes

    The EIA RS-232C Standard

    1802 Tiny Pilot

    Infestation II

    A Scanning Hex Keyboard Encoder

    Notes on Netronics Tiny Basic

    Catalogue Sheet - ACE CPU Board

    Club C01l1llUIlique

    2

    3

    4

    8

    11

    12

    13

    20

    29

    33

    35

    36

    39

    •IPSO FACTO is published by the ASSOCIATION OF COMPUTER-CHIPEXPERIMENTERS (A.C.E.), a non-profit educational organization.InforlRation in IPSO FACTO is believed to be accurate and reliable.However, no responsibility is assulRed by IPSO FACTO or the ASSOCIATIONOF COMPUTER-cHIP EXPERIMENTERS for its use; nor for any infringelRents ofpatents or other rights of third parties which lRay result from its use •

  • 1982/1983 EXECUTIVE OF THE. ASSOCIATION OF COMPUTER-CHIP EXPERIMENTERS

    President: Tony Hi 11 416-689-0175Vi ce- Pres i dent: John Norris 416-239-8567

    Treasurer: Ken Bevis 416-277-2495Secretary: Fred Feaver 416-637-2513

    Directors: Bernie MurphyFred Pluthero Membership: Bob Sil cox 416-681-2B48John Norris Earle LaycockMi ke Frank1i n

    Program Convener:Newsletter:

    Tutorial/Seminars: Ken Bevi sProduction Fred FeaverManager: Mike Frankl in 416-878-0740Edi tors : Fred Feaver Software: Wayne Bowdi sh 416-388-7116

    Tony Hi 11Product Mailing: Ed Leslie 416-528-3222

    Advertizing: Fred Plutero 416-389-4070 (Publication)Fred Feaver 416-637-2513

    Publication: Dennis Mildon (Boards)John Hanson

    Hardware & CLUB MAILING ADDRESS:

    R. and D.: Don McKenzie 416-423-7600 A.C.LFred Pluthero c/o Mike FranklinKen Bevi sMike Franklin 650 Laurier AvenueMilton, Ontario

    CanadaL7T 4R5

    CLUB MEETINGS 416-878-0740

    Meetings are held on the second Tuesday of each month, September through June at 7:30 in Room B123, Sheridan College, 1430Trafalgar Road, Oakville, Ontario. A one hour tutorial proceeds each meeting. The college is located approximately 1.0 kmnorth of QEW, on the west side. All members and interested visitors are welcome.

    ARTICLE SUBMISSIONS

    •The majority of the content of Ipso Facto is voluntarily submitted by club members. While we assume no responsibility forerrors nor for infringement upon copyright, the Editorial staff verify article content as much as possible. We can alwaysuse articles both hardware and software of any level or type relating directly to the 1802 or to micro computer componentsperiferals, products etc. Please specify the equipment or support software upon which the article content applies. Articleswhich are typed are prefered, and usually printed first, while handwritten articles require some work. Please, please sendoriginals, not photocopy material. We will return photocopies of original material if requested. Photocopies usually willnot reproduce clearly. ---

    ADVERTISING POLICY

    ACE will accept advertising for commercial products for publication in Ipso Facto at the rate of $25 per quarter page perissue with the advertiser submitting camera-ready copy. All advertisments must be pre-paid.

    PUBLICATION POLICY:

    The newsletter staff assume no responsibility for article errors nor for infringement upon copyright. The content of allarticles will be verified, as much as possible and limitations listed (i.e. Netronics Basic only, Quest Monitor required,require 16K at 0000-3FFF etc.). The newsletter staff will attempt to publish Ipso Facto by the first week of: Issue 31 -Oct. 82, 32 - Dec. 82, 33 - Feb. 83, 34 - Apr. 83, 35 - June 83, and 36 - Aug. 83. Delays may be incurred as a result of lossof staff, postal disruptions, lack of articles, etc. We apologize for such inconvenience, however, they are generally causedby factors beyond the control of the club.

    MEMBERSHIP POLICY:

    A membership is contracted on the basis of a club year - September through the following August. Each member is entitled to,among other privileges of membership, all 6 issues of Ipso Facto published during the club year.

  • ••

    3

    Editor's Corner

    I would like to thank the one person who cared enough about 'ACE to writethe Editor, and the four persons who sent programs for publication. Allare reproduced in this Newsletter.

    CLUB BOARDS

    We had a significant run on ACE boards over the last four months, withmany boards being sold out and even re-orders sold out. For those ofyou who had to wait - our apologies; we hope you soon receive the boardyou ordered.

    For those of you who ordered the new VDU Board (ver.2) you shouldreceive it shortly after receiving this Newsletter.

    Board projects currently underway: a modem using the new LSI chipAH7910 - the board will be available within four months.

    CLUB CONFERENCE

    RCA have agreed to assist ACE in holding another conference this year -probably in late August or early September. The conference will be heldon a Saturday, either in Oakville or WeIland.

    More information will be given in the next issue. Plan to attend (RCAgives out lots of goodies)l

  • 4

    Members' Corner

    •FOR SALE:

    B. Willem, R.R.12, Fisherville, Ontario. NOA IGO (416) 779-3057.

    1 Aluminum Card Rack wi th 1 TEC CPU Board with IC'sPlastic Guides with ACEBackplane ver. 1 mounted 1 TEC IFI Board with IC'son it, c/w sockets.

    1 TEC 6K Memory Board1 ACE 64K Dynami c Memory Board

    1 Keyboard1 ACE 8K Eprom Board

    1 ACE Kluge Board

    1 ACE VDU Board, rev.l, MC6847 s 1372

    Complete Set of Instructions. COMPLETE LOT: $300.00 or BEST OFFER

    W. Steiner, 1204 2725 Melfa Rd., Vancouver, B.C. V6T IN4 (688) 228-1733

    ACE NAB (Netronics - Ace Adapter Board) BOARDNever been used. Partially socketed with 2 86 pin connectors. Completewith schematics and documentation. $20.00.

    •O. Hoheisel, Hermann-Bossdorf-Str.33, 2190 Cuxhaven, {lest Germany

    a) Netronics Video Display Board (300 Baud max.), assembled,all ICs in sockets, includes dip headers and switches forquick characters/line change US$ 70 (Can$ 84)

    b) Netronics 4k static BAH Board assembled by Netronics(i.e. without sockets), with DIP switch US$ 45 (Can$ 55)

    c) Same as b), except nedds troubleshooting (probably74C902 chip) US$ 30 (CanS 36)

    d) Quest Super Monitor Ver. 1.1 in 2708 EPROM, runs ataddress COOO with stack page D800 (not 8000 and 9800as in Quest system). No manual or other info availableUS$ 12 (Can$ 15)

    e) Integrated circuit MC 3480 1 US~ 8 (Can$ 10)f) Integrated circuit MC 3242 AP US$ 7 (can$ 9)All prices include shipping (to US or Canada) and •(except d) ) all original documentation. Payment bybank draft, order cheque, etc. or money order (preferred).

  • 5

    Thomas E. JonesBer1inerstr. 206944 Hemsbach (FRG)

    Even though the ACE COSDOS is being released, I suspect wecan still use sophisticated cassette based O.S. 's as well. thispaper describes an expanded version of Steve Nies's MONITOR andTEXT EDITOR, reviewing them a bit, and introduces UPII which addsvalue to both of them. Each section will run in a 2716.

    The 6K package offers a good full screen text editor forall terminals, and now includes for the 6847 an upper/lower caseemulation (like the TRS80 Color) and auto-scrolls a "window" accross80 columns of text. Cassette motor controls are now-included.

    The major advance is the use of device independant I/O.Existing programs can now be linked to "Logical Channels" in theMonitor, and then your device drivers assigned to that channel byusing the command: IASsign N=dv~. Compatible drivers can be swap-ped at will,(video and printer, for example.) There are selecteddevices assigned to the channels, also, on a cold start of monitor.Judicial selection of channels when installing a program willallow "load and run" ability without use of AS commands. The AScommand can still over-ride any of these initial defaults. In fact,programs can be written to change output (input) devices directly,and since Monitor also uses I/O channels for it's services, evenit's console devices can be re-assigned.

    The basic monitor provides a means of: running programs,continuing after a break, examining/modifying both memory and reg-isters R2-RF, stepping through memory, setting breakpoints in bothRAM and ROM, tracing programs, filling blocks of memory with anyhex code, searching blocks for hex strings, copying blocks of mem-mory to other areas, and file handling on cassettes. Named filescan be saved, loaded and verified either to the original memory itwas recorded from, or the memor[ block specified.

    The Text-Editor commandTE 'NAME' 10001' will start the cas-sette motor, find the file labeled 'NAME' and load it, stop the cas-sette, reserve 1000 (hex) bytes for the text buffer, and displaythe first page of text ready to edit. The text-ed Save, Load, Move,Copy, etc. commands use a pointer on screen to define the start andend of blocks of text they op~rate upon •... not hex addresses.

    UPII has a BOot command to execute non-SCRT programs withX=O, P-O on entry. It also features Netronics Elf II format Save andLoad commands. If the load does not finish, the last location ofmemory loaded to will be displayed on the screen.

    A disassembler command will generate full mneumonic lists,with addresses and codes, and also has options for formatted hexlistings and legal-ascii only lists. This command is based. on thework of Harley Shanko, Van Nuys, Calif.

    The HEX command is a data entry service to allow quickerentry of hex programs from dumps, using the hex keypad while dis-playing in the hex-dump format on screen as you enter. The TYPEcommand uses the printer and ascii keyboard as a typewriter to addfootnotes, corrections, etc. to hardcopy.

  • 6

    •Device drivers presently included in the UPII eprom include

    a hex-pad driver, uart driver, printer driver, and paper-tape Rdrdriver. The Monitor contains the 6847 driver and ascii keyboard I/O.The initialization sets up. the ACE Vid-Bd. The PTR DRVR will readIntel hex-ascii tapes and output hex only.

    Since the listings for UPII alone run 30 pages, I think itwill be best for anyone interested to contact me direct and we canarrange for listings, tapes, eproms, etc. I also have patches forinstalling other programs to the monitor. For Elf II serial VID-BDusers I have some patches and serial drivers for Monitor that weredeveloped thanks to work by Fred Hannan, of East Lyme, Ct.

    This operating system does have some hardware associated withit, of course. It is possible that I could arrange to produce aSystem Monitor Board containing the Cmos Uart, memory mapped decoders,special break/trace interrupt circuit, cassette relays, and aparallel I/O port. ACE or Elf II buss. Let me know if you want it.

    Residents of the USA can write to me easier to this address;Tom Jonesc/o 295th AVN CO., SFTS DET.APO N.Y., 09028

    December 20, 1982

    Dear Mi ke:I think Wes Steiners comment in IF #32 is appropiate.

    FRET') HAr...;NAN.10 Filosi ?oad

    East Lvme~ Conn. 06333

    The small cadre of authors submitting articles are those most deeplyinterested in "High Tech" modifications~ disk ooerating systems~ etc.which~ I believe~ are beyond the desires and understanding of themajority of the membership. Since the "High Tech" trend has been goingon for quite some time, it may account for the decline in generalinterest articles and~ possibly, membership.

    Speaking only for myself~ I found nothing in IF #32 that I wanted toread twice. The last articles I really dug into were yours on yourEPROM BURNER and SYMON. Again, echoing Wes~ if I wanted or needed adisk system~ I wouldn~t bother trying to kludge up an 18lZ12 but wouldbuy an Apple or Lobo or Morrow or some such. I wouldn~t be too muchsurprised if most members keep their 1802s because they are easy toprogram and simplistic in design. Asking the average member to hangdisks on his system or replace his motherboard is just driving himaway. Not too many of us have really realized the full potential ofthe original system and have been left behind by the "High Tech" group.

    I don~t know what the membership count is at oresent but sellingONLY 70 copies of Forth to a membership that used to number in theneighborhood of 500 seems to illustrate mv point. Those of the membersthat are fortunate enough to be able to attend the meetings in personcan iron out ~heir problems together, patch UP Forth together, etc ••but where does that leave us who cannot attend?

  • ••

    .7

    I believe you once stated that you did not wish to put large codelistings into IF. This was a good idea when the trend of the articleswas still fairly elementary. Now~ it might be the only way to getusable~ working, programs out to the members and start raising ourprogramming abilities, as well as raising the interest level of members.As far as I can recall~ the various monitors have been the only largecode articles in the past year or so that might be called "GeneralInterest". When was the last time a game article was printed? Any utilityprogram?

    In memory serves me right~ the last membership survey showed that thevast majority of members owned ELFs - either Netronics or Quest. Mostof these members are probably happy with their system as it is and arenot "High Tech" hardware tinkerers~ in spite of the fact that theyjoined a club named "Association Of Computer-Chip E>:perimenters".I guess what I am trying to say is that the FEW "High Tech" members areleaving the MANY "Low Tech:' members behind and may be the only onesleft in the club in time.

    I hope I have not offended you or anyone else but this is how I feel.

    Dear Fred:

    Thank you for your comments. I appreciate the time you took to write -the only letter I received in response to my editorial.

    You may be right, that most of our members don't appreciate "High Tech"and need "Lo Tech" articles - but where do those articles come from?HoW do people learn to be "High Tech"? I print what I get, wi thin anissue or two of receiving it, and after I have verified that it worksI write what interests me and at my current level - as do most of oxu:members. The sad truth is that few of our members care enough about theClub to contribute anything to it, and quite possibly this will be thelast year we have a publication to turn to.

    One of the great joys of being part of something is contributing to theorganization, and being recognized by others as contributing. I willprint anything and just about everything from the Membership. ACE cameinto existence in response to a need for an information exchange on the1802. We have been quite possibly the most prolific and diverse clubanywhere - we had to be, for there was no one else to support the 1802.

    Perhaps the time has come for the club to fold and for you to go yourown way •••• I will be saddened by its passing.

    Mike Franklin

  • 8

    1861 Line Dra..ring Program- by J. Munch, 20228 Clark Street, Woodland llills, Ca. USA 91367

    I h r s pr o q r em demonstrates a LINE DRt\WING program on the. ubiq,uitous 1861. •

    A subroutine (0016-0024) generates random values for a zig-zag display. InputsXO, X1. YO and YI are used for the current line. ,Xl and Y1 are saved in RB to beused the second time around as beginning points for the next line.

    Many variations for inputting the lines are possible,such as loading viaa register and a dv artc i n q (4NL Then by storing each line (XO, Xl, YO, Yl> in a reg.as many lines as memory available/4 can be drawn. For the 1861 (in the lK mode)the range for X=OO to 3F, and for Y the range is 00 to 7F.

    The program has also been used with the 6847 chip in the Resolution Graphics Twomade, with but slight adJustment in the plot routine to account for the grid.This mode has 128 pixels horizontally by 96 vertical where each dot is the sizeof the c har-a c t e r-v p e r-Lo d " in the standard alpha-numeric mode.

    On a standard TV set the pixels are square, an~ the available dots are sixtimes that of the 1861 operating with a 64 X 32 display.

    Some background:A search for a plot routine led me to an article in EON, May 27,1981, where

    the RS Color Computer,also using the 6847, was discussed. Some 6809 machine codeshowed how the plotting of points were performed. This code was then laboriously~onverted to "1802". Being able to plot dots on the screen, ur ib h Tinys VSR callsLe d to a search for a line routine. Another article in the August 81 Byte,Programming Guickies, by Mike Higgins, showed how to use his Form of the DDA,(Digital Differential Anal~Jzer). A sample Basic pr-o q r am. where lines of any •slope between -1 and 1 !ould be drawn was given. Converting to Tiny was easy.

    ~1any evenings were spent playing around with variations of this Basic linedrawing method. The lina draw routine, now a proven program,was then writtenin 1802 code, ~nd then made part of the code that the USR called.

    From Basic it was then possible to generate lines by prOViding four inputs:beginning points XO,Yl and end points X1,Y1.

    (If XO=X1 and YO=Yl a single point is plotted)

    ******** THE 1861 IN THE HI-RESOLUTION MODE, 64 HOR 128 VERT. ************.ll-The program uses one page for the code and four pages Tor th e display.0 1 2 3 4 5 6 7 8 9 A B C 0 E F

    . . . . . . .. . . .. . . . . . . . .. . . . .. .. .. . .. . .. . . . ..................................................0000 90 131 B2 B3 D4 B7 B8 F8 FF A2 F8 27 1\3 F8 17 A70010 F8 El Ai B9 D3 00 03 99 FE 52 FE F3 FE 89 7E A90020 99 7E B9 30 16 00 00 EA F8 00 A4 F8 04 BA F8 FF0030 AA F8 00 73 9A 3A 31 lA E2 69 D7 37 3B 84 FB iF0040 32 27 14 F8 00 BE AF F8 01 AE BF 9B 52 A8 99 FA0050 3F BB F7 DO 33 5C FD 00 BD F8 FF 13F 8B 52 AA 890060 FA 7F AB F7 AD 33 60 FD 00 AD F8 FF AE 9D 52 800070 F5 33 81 90 AC 80 BD 8e AD 9F BE 8E AF F8 00 AE0080 BF 90 F6 BC Fe 01 AC 8A 73 88 73 F6 F6 F6 F9 F80090 52 88 FA 07 FC FO A8 F8 20 BA 8A FE AA 9A 7E BAOOP-,O 313 9A 8A F5 AA F8 04 52 9A 75 BA 08 52 OA F1 5A00130 60 72 A8 FO AA 8C 52 90 F5 3B BD 3A 38 88 52 9F •OOCO F4 AS 8A 52 SF F4 AA 9C 52 80 F4 BC 1C 52 90 F5OODO 3B 87 DC 88 5;::! 9E F4 1'.8 8A 52 BE F4 AA 30 87 72OOEO 70 C4 22 78 22 52 E2 E2 F8 01 130 F8 00 AO 30 OFOOFO 80 40 20 10 08 04 02 01 00 00 00 00 00 00 00 00

  • Ex e c u t e i~ 0000, INP 1(69) @ 0039, Pres~ing INPUT KEY halts motion.

    • REGISTER: VALVE: OESeR IPTION:. . . . . . . . . . .............f~O 01 00 1861-DI'1ARl 00 El INTERRUPT PTRR2 00 FF TOP OF STACKR.3 00 27 START OF MAINR4 00 00 R4. 1 NOT USED, R4.0=LINE CTR, (Us,er can adjust @ 003F)RS SPARE REGISTER'-l" SPARE REGISTERi-.'::lR7 00 17 RANDO!"l SUBROUTINE PTR.R8 00 RA 01 (Y) RA. l=SCREEN PAGE{ 01 TO 04) , RA.O=:Y COORDINATERB XX YY RB. l=TEMPORARY X, RB.O=TEMPORARY Y, NEW BEGINNING PTS

    RC {D3 Nt> LINE DRAWING REGISTERS.RD (DX DY) II " IIRE (S1 52) II " IIRF (AI A2) LINE DRAWING REGISTERS .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Ple-ase refer to flow chart.

    If this routine is to be modified for some other application it should notedthat HOt-1E is at; the lower left corner of the screen, 1st quadrant.

    7F

    Center:..20,40

    X Y

    IIII

    H 1III

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :>3F

    1II1 .1I1

    00.....

    •==================================================:=============================

    new sub J ec t ...

    T. Hills WINDOW is a program that should have been delivered with any news'Jstem. Thank you..

    When bringing up Window, a usually flawless tape recorder, gave me a lotof trouble. The problem was traced to a faulty lever arm inside the recorder,

    The end result was to put WINDOW in EPROM. Some spare space ?? at 03F3 -03FFand 04F2-04FF was used for a specific routine to down load Window to RAM @{in my case)2000 H. Even if this space is used in Window, having it in RAMshould present no problems. Now that WINDOW is resident it is being put to gooduse, probably more so now, than if it had been on tape.

    Even if it takes a 6847, or similar display generator, to use WINDOW, do it!Comments on the line drawing program would be appreciated.

  • 10LINE DI2AwIN6~ p>CJINr PLCJT- U5JNc; S B/7 VALUES :D7= SIGN EIT

    AZ52

    NO)lJ'T

    f

  • • • •102030405060708090

    100no120130140150160170180190200210220230235240250260270280290300310320330340

    CLS: PRINT" CRAPS" : PRINTB=100PRINT" A TOTAL OF 7 OR lION THE "PRINT "FIRST THROW WINS. YOU CAN ALSO"PRINT "WIN BY THROWING A 4, 5, 6, 8, 9,PRINT "AND MATCHING IT BEFORE THROWING"PRINT "A 7. IF ON THE FIRST THROW A 2"PRINT "3 OR 12 COMES UP, YOU LOSE."PRINT "HIT LINE FEED TO CONTINUE";X=INP(l)IF x HOA GOTO 100C=O:CLSPRINT "ACCOUNT=$";B," "INPUT "BET"B1IF Bl>B GOTO 120D1=INT (6*RND)+1D2=INT (6*RND)+1T=D1+D2FOR N=l TO 10: PRINT : NEXT NGOSUB 480C=C+1IF C>l GOTO 310TO=TWAIT (200)IF T=7 GOTO 360IFT=ll GOTO 360IF T

  • 12Cross Reference Chart - 1802 OP Codes to User Manual Page Number (MPC201C)- by Derek Claridge, Nelson B.C.

    •ox IX 2X 3X 4X 5X 6X 7X 8X 9X AX BX ex DX EX FX

    iI

    38 16 16 31 18 20 16 41 17 17 17 18 35 39 39 19 ; xoI

    18 33 42 41 36 21 ! xiI32 19 35 22 IX233 20 36 22 'X3

    Ii

    34 26 38 25 i X4i

    34 28 38 27 ; X5

    34 24 37 23 x6

    34 30 38 30 X7

    32/37 '40 35/37 19 X8 •34 41 36 21 X933 40 36 23 XA

    33 39 36 22 XB

    34 27 38 26 XC

    34 29 38 28 XD

    34 25 37 24 XE

    34 31 37 30 XF

  • 13

    THE EIA RS-232-C STANDARD

    AN INTERFACE BE'IWEEN mTA TERMINAL EQUIPMENr

    AND

    D!\TA

  • EIA RS-232-C STANDARD14

    Interchange Circuits (defined by pin number of a Db 25 connector). DB25pins 1 to 7 and 20 form the "typical micro-computer circuit".

    1. Pin 1 - Protective GroundDirection: Not applicable

    This conductor shall be electrically bonded to the machine orequipment frame. It may be further connected to external groundsas required by applicable regulations.

    2. Pin 2 - Transmitted DataDirection: TO data ccmnunication equipment (canputer to device).

    Signals on this circuit are generated by the data terminalequipment and are transferred to the local transmitting signalconverter for transmission of data to remote data terminalequipment.

    The data terminal equipment shall hold transmitted data in markingcondition during intervals between characters or words, and at alltimes when no data are being transmitted.

    In all systems, the data terminal equipment shall not transmit data •unless an ON condition is present on all of the following fourcircui ts, where implemented:

    1. Request to Send2. Clear to Send3. Data Set Ready4. Data Terminal Ready

    All data signals that are transmitted across the interfaceTransmitted Data during the time an ON condition is maintained onall of the above four circuits, where implemented, shall betransmitted to the canmunication channel.

    3. Pin 3 - Received DataDirection~ FROM data cammunication equipment (device to computer)

    Signals on this circuit are generated by the receiving signalconverter in response to data signals received from remote dataterminal equipment via the remote transmitting signal converter.Received Data shall be held in the binary ONE (Marking) conditionat all times when Received Line Signal Detector is in the OFFcondition.

    On a half duplex channel, Received Data shall be held in the Binary •Q1.e (Marking) condition when Request to Send is in the ON conditionand for a brief interval following the ON to OFF transition ofRequest to Send, to allow for the completion of transmission.

  • •15

    EIA RS-232-C STANDARD

    4. Pin 4 - Request to SendDirection: TO data communication equipment (computer to device)

    This circuit is used to condition the local data communicationequipment for data transmission and on a half duplex channel, tocontrol the direction of data transmission of the local datacommunication equipment.

    On one way only channels or duplex channels, the ON conditionmaintains the data communication equipment in the transmit mode.The OFF condition maintains the data communication equipment in anon-transmit mode.

    On a half duplex channel, the ON condition maintains the datacommunication equipment in the transmit mode and inhibits thereceive mode. The OFF condition maintains the data communicationequipment in the receive mode.

    5.

    6.

    Pin 5 - Clear to SendDirection: FROM data communication equipment (device to computer)

    Signals on this circuit are generated by the data communicationequipment to indicate whether or not the data set is ready totransmit data.

    The ON condition, together with the ON condition On interchangecircui ts Request to Send, Data Set Ready and, where implemented,Data Terminal Ready, is an indication to the data terminalequipment that signals presented on Transmitted Data will betransmitted to the communication channel.

    The OFF condition is an indication to the data terminal equipmentthat it should not transfer data across the interface oninterchange Transmitted Data.

    The ON condi tion of Clear to Send is a response to the occurrenceof a simultaneous ON condition on Data Set Ready and Request toSend, delayed as may be appropriate to the data communicationequipment for establishing a data communication channel (includingthe removal of the MARK HOLD clamp from the Received Datainterchange circuit of the remote data set) to a remote dataterminal equipment.

    Pin 6 - Data Set ReadyDirection: FROM data communication equipment (device to computer)

    Signals on this circuit are used to indicate the status of thelocal data set.

  • EIA RS-232-C STANn.2W> 16

    1he ON condition on this circuit is presented to indicate that -

    a) the local data communication equipment is connected to a ~canrmmication channel ("OFF HOOK" in switched service),

    AND b) the local data communication equipment is not in test (local orremote), talk (alternate voice) or dial* mode.

    AND c) the local data communication equipment has completed, whereapplicable:

    1. any timing functions required by the switching system tocanplete call establishment, and

    2. the transmission of any discreet answer tone, the durationof which is controlled solely by the local data set.

    7. Pin 7 - Signal Ground or Cammon ReturnDirection: Not applicable.

    8. Pin 20 - Data Terminal ReadyDirection: TO data canmunication equipnent (canputer to device)

    Signals on this circuit are used to control switching of the data ~communication equipment to the communication channel. The ONcondi tion prepares the data communication equipment to be connectedto the communication channel and maintains the connectionestablished by external means (e.g., manual call origination,manual answering or automatic call origination).

    When the station is equipped for automatic answering of receivedcalls and is in the automatic answering mode, connection to theline occurs only in response to a combination of a ringing signaland the ON condition of Data Terminal Ready. However, the dataterminal equipment is normally permitted to present the ONcondition on Data Terminal Ready whenever it is ready to transmitor receive data, except as indicated below•.

    The OFF condition causes the data communication equipment to beremoved from the canmunication channel following the completion ofany "in process" transmission. The OFF condition shall not disablethe operation of Ring Indicator.

    * The data communication equipment is considered to be in the dial modewhen circuitry directly associated with the call origination function ..is connected to the communication channel. These functions include W'signalling to the central office (dialing) and monitoring thecommunication channel for call progress or answer back signals.

  • •17

    EIA RS-232-C STANDARD

    The following signals are typically implemented in a modem installation:

    1. Pin 8 - Received Line Signal DetectorDirection: FROM data communication equipment (device to computer)

    The ON condition on this circuit is presented when the datacommunication equipment is receiving a signal which meets itssuitability criteria. These criteria are established by the datacommunication equipment manufacturer.

    The OFF condition indicates that no signal is being received orthat the received signal is unsuitable for demodulation.

    The OFF condition of Received Line Signal Detector shall causeReceived Data to be clamped to the Binary One (Marking) condition.

    The indications on this circuit shall follow the actual onset orloss of signal by appropriate guard delays.

    2.

    3.

    4.

    On half duplex channels, Received Line Signal Detector is held inthe OFF condition whenever Request to Send is in the ON conditionand for a brief intervai of time following the ON to OFF transitionof Request to Send.

    Pin 15 - Transmitter Signal Element Timing (DCE Source)Direction: FROM data communication equipment (device to computer)

    Signals on this circuit are used to provide the data terminalequipment with signal element timing information. The dataterminal equipment shall provide a data signal on Transmitted Datain which the transitions between signal elements nominally occur atthe time of the transitions from OFF to ON condition of the signalon the circuit. When this circuit is implemented in the DCE, theDCE shall normally provide timing inf~rmation on this circuitwhenever the DCE is in a POWER ON condition. It is permissible forthe DCE to withhold timing information on this circuit for shortperiods, provided Data Set Ready is in the OFF condition. (Forexample, the withholding of timing information may be necessary inperforming maintenance tests within the DCE).

    Pin 17 - Receiver Signal Element Timing (DCE Source)Direction: FROM data communication equipment.

    Signals on this circuit are used to provide the data terminalequipment with received signal element timing information. Thetransition from ON to OFF Condition shall nominally indicate thecenter of each signal element on Received Data. Timing informationon the circuit shall be provided at all times when Received LineSignal Detector is in the ON condition.

    Pin 21 - Signal Quality DetectorDirection: FROM data communication equipment (device to computer)

  • 18EIA RS-232-C STANDARD

    Signals on this circuit are used to indicate whether or not there •is a high probability of an error in the received data.

    An ON condition is maintained whenever there is no reason tobelieve that an error has occurred.

    An OFF condition indicates that there is a high probability of anerror. It may, in SOme instances, be used to call automaticallyfor the retransmission of the previously transmitted data signal.Preferably the response of this circuit shall be such as to permitidentification of individual questionable signal elements onReceived Data.

    5. Pin 22 - Ring IndicatorDirection: FROM data communication equipment (device to computer)

    The ON condition of this circuit indicates that a ringing signal isbeing received on the communications channel.

    The ON condition shall appear approximately coincident with the ONsegment of the ringing cycle (during ri ngs) on the communi cationchannel.

    The OFF condition shall be maintained during the OFF segment of ther Lngfng cycle (between "rings") and at all other times when ringing •is not being received. The operation of this circuit shall not bedisabled by the OFF condition on Data Terminal Ready.

    6. Pin 23 - Data Signal Rate Selector (DTE Source)Direction: TO data communication equipment (computer to device)

    Signals on this circuit are used to select between the two datasignalling rates in the case of dual rate synchronous data sets orthe two ranges of data signalling rates in the case of dual rangenon-synchronous data sets.

    An ON condition shall select the higher data signalling rate orrange of rates.

    The rate of timing signals, if included in the interface, shall becontrolled by this circuit as may be appropriate.

    7. Pin 23 - Data Signal Rate Selector (DeE Source)Direction: FROM data communication equipment (device to computer)

    Signals on this circuit are used to select between the two datasignalling rates in the case of dual rate synchronous data sets orthe two ranges of data signalling rates in the case of dual rangenon-synchronous data sets.

    An ON condition shall select the higher data signalling rate or •range of rates.

    The rate of timing signals, if included in the interface, shall becontrolled by this circuit as may be appropriate.

  • EIA RS-232-C STANDARD19

    • 8. Pin 24 - Transmitter Signal Element Timing (DIE Source)Direction: TO data communication equipment (computer to devi ce)Signals on this circuit are used to provide the transmitting signalconverter with signal element timing information.

    The ON to OFF transition shall nominally indicate the center ofeach signal element on the Transmitted Data. When the circuit isimplemented in the DTE, the DTE shall normally provide timinginformation on this circuit whenever the DTE is in a POWER ONcondition. It is permissible for the DTE to withhold timinginformation on this circuit for short periods, provided Request toSend is in the OFF condition. (For example, the temporarywithholding of timing information may be necessary in performingmaintenance tests within the DTE).

    The following signals are typically a duplicate or secondary circuit.

    1. Pin 12 - Secondary Received Line Signal DetectorDirection: FROM data communication equipment (device to computer)

    • 2.This circuit is equivalent to Received Line Signal Detector exceptthat it indicates the proper reception of the secondary channelline signal instead of indicating the proper reception of primarychannel received line signal.

    Pin 13 - Secondary Clear to SendDirection: FROM data communication equipment (device to computer)

    This circuit is equivalent to Clear to Send except that itindicates the availability of the secondary channel instead ofindicating the availability of" the primary channel. This circuitis not provided where the secondary channel is useable only as acircuit assurance or an interrupt channel.

    3. Pin 14 - Secondary Transmitted DataDirection: TO data communication equipment (computer to device)

    This circuit is equivalent to Transmitted Data except that it isused to transmit data via the secondary channel.

    4. Pin 16 - Secondary Received DataDirection: FROM data communication equipment (device to computer)

    • 5.This circuit is equivalent to Received Data except that it is usedto receive data on the secondary channel.

    Pin 17 - Secondary Request to SendDirection: TO data communication equipment (computer to device)

    This circuit is equivalent to Request to Send except that itrequests the establishment of the secondary channel instead ofrequesting the establishment of the primary data channel.

  • BRANCH VECTORS FOR EXTERNALLY DEFINED SUBROUTINES

    *NOTE* TINY PILOT USES A MODIFIED SCRT CALL/RETURN TECHNIQUETO SAVES/RESTORES REGISTER-7 ACROSS A CALL AND RETURN

    THE FOLLOWING TABLE CONTAINS LONG BRANCHES TO ROUTINES WHICHMUST BE SUPPLIED BY THE USER. THESE ROUTINES ARE CALLED USING

    ; THE SCRT CALL/RETURN TECHNIQUE. BEFORE USING TINY PILOT THESE; BRANCH VECTORS MUST BE MODIFIED TO POINT TO YOUR SUBROUTINES.;

    TINY PILOT HAS 2 ENTRY POINTS ( COLDST AT 10000 AND WARMST AT10002 ). IF THE PROGRAM IS ENTERED AT 'COLDST', THEN THE SCRTREGISTERS AND STACK POINTER ARE INITIALIZED AND THE DATA PAGE

    ; AND TEXT BUFFER ARE INITIALIZED. IF THE PROGRAM IS ENTERED AT-; 'WARMST' THE SCRT REGISTERS AND STACK POINTER ARE ASSUMED TO

    BE SET UP AND THE CONTENTS OF THE TEXT BUFFER ARE PRESERVED.

    PAGE 1

    07-NOV-82 11:58:15

    OUTCHR ; TERMINAL CHARACTER OUTPUT ROUTINE; ( CHARACTER PASSED IN D-REG. )

    INPCHR ; TERMINAL CHARACTER INPUT ROUTINE; (CHARACTER RETURNED IN D-REG. AND RF.HI)

    $CRLF ; OUTPUT ROUTINE181A4 ; CASSETTE CHARACTER OUTPUT ROUTINE

    ; ( CHARACTER PASSED IN D-REG. )18140 ; CASSETTE CHARACTER INPUT ROUTINE

    ; (CHARACTER RETURNED IN D-REG. AND RF.HI)11000 ; ENTRY POINT TO SYSTEM MONITOR ( EDIT

    ; MODE "M" COMMAND EXITS VIA THIS LBR)

    PILINZ ; COLD START ENTRY POINTPILWRM ; WARM START ENTRY POINT

    ORIGINAL AUTHOR: R. W. PETTY

    1 802 TIN Y P I LOT

    20RC1802-V01D PILOT.RCA

    .ORG 10000

    .TITLE TINY PILOT V1.0

    REVISION HISTORY:

    MONXIT: LBR

    .SLW

    CASINP: LBR

    CRLF: LBRCASOUT: LBR

    TTYINP: LBR

    ;COLDST: BRWARMST: BR

    TTYOUT: LBR

    ;;

    SEP./82 W. BOWDISH - REARRANGED CODE TO CONSOLIDATE FREE; T. HILL SPACE AND MADE MINOR CODING CHANGES

    - ADDED EDIT MODE REPLACE LINE COMMAND- ADDED EDIT MODE COMMAND TO PRINT THE

    ADDRESS OF THE LAST USED BYTE IN THETEXT BUFFER

    ; - ADDED PILOT CALL TO SCRT CALLABLE; MACHINE LANGUAGE SUBROUTINES

    1 = 00 0023456789

    1011121314151617181920212223242526272829 0000 30 1630 0002 30 33313233343536373839 0004 CO 07 704041 0007 CO 07 694243 OOOA CO 00 F644 OOOD CO 81 A44546 0010 CO 81 404748 0013 CO 10 004950

    TINY PILOT V1.0UTILITY SUBROUTINES

  • TINY PILOT V1.0UTILITY SUBROUTINES

    RC1802-V01D21

    PILOT.RCA 07-NOV-82 11:58:15 PAGE

    FOR ASSEMBLY, THIS SYMBOL SHOULD BE REDEFINED

    NOTE: NUMERIC VARIABLES ARE SINGLE BYTE ENTRIES IN THE VARIABLEPAGE WITH OFFSET EQUAL TO THEIR ASCII CODES. IE. VARIABLEA

  • COMMAND SYNTAX

    22

    PILOT EDIT MODE C01MANDS

    FUNCTION •BEGIN B move text po irit.er to start of text buffer and

    display current ( first ) line

    CLEAR C

    Dam Dnnn

    END E

    HIGH H

    INSERT I

    KILL Knnn

    LOAD L

    MONITOR M

    PILOT P

    REPLACE R

    clear text buffer ( Le , delete all program linescurrently in the text buffer

    move text po i.rrcer down 'nnn' lines and display newcurrent line. If there were less than 'nnn' linesof text after the text pointer then the textpodrit.er is posLt.Loned immediately after the lastcharacter of the last line.

    move text p:>inter to end of text. The text p:>interis left pointing to the byte past the last enteredprogram byte.

    display the address ( in hex ) of the last byteused in the text buffer. This is useful if you aregoing to use a monitor cassette dump routine towrite out the contents of the text buffer. Notethat the text buffer starts at address #0900.

    insert one line of in front of the curre.line.

    kill ( delete ) 'nnn' lines of text, starting atthe current line, and display the new current line.

    load text from cassette. The text lines areappended to the text currentlyy in the text buffer.

    return to the system monitor

    execute the pilot program

    replace the current line with the line

    STORE

    UP

    WRITE

    note:

    S

    Unnn

    Wnnn

    nnnn

    store entire contents of the text buffer oncassette.

    move text pointer up , nnn' lines and display newcurrent line. If there were less than 'nnn' linesof text above the text pointer, then the pointer isp:>sitioned at the start of the first line.

    write 'nnn' lines to the tenninal starting with thecurrent line. The position of the text poirrt.er' isnot changed. •

    represents a number in the range 0 to 255

    represents a line of text up to 60 characters long

  • 23

    canmand may beWhere execution

    • COMMANDASK

    CCMPUTE

    END

    JUMP

    CONTROL

    SYNTAX

    A:

    A:#v

    A:$v

    C:n=exp

    E:

    J:exp

    K:exp

    PILOT INSTRUCTIONS

    FUNCTION

    Request input from the tenninal. The input is notsaved in a variable but is available for matching( see the M: canmand ).

    request numeric input from tenninal and store innumeric variable 'v'

    request string data from tenninal and store instring variable 'v'

    compute the value of the expression ' exp' andassign the value to numeric variable 'n'.

    stop execution of program. Thisplaced anywhere in the programshould logically stop.

    jump ( branch ) to statement with the same labelnumber as the value of the expression 'exp'.

    output the ASCI I equ i valent of the value of 'exp ,to the tenninal. The control canmand may be used tooutput any ASCII character to the tenninal.

    ex. K:13 outputs a carriage return to the tenninal

    MATCH M: sl ( , s2 ••• ) compares the strings 'sl' 's2'. •• to theresponse from the previous ask canrnand. If a matchis found the match flag is set 'yes' otherwise thematch flag is set 'no'.

    NO

    RETURN

    cN:xxx

    R:

    if the match flag is set to 'no' then the commandc:xxx is executed. 'c' represents any pilot canmandand ' xxx' represents any text required by thecanmand. for example:

    IN:123 will jump to the statement labeled %123 ifthe match flag is set to 'no'. If the match flag isset to 'yes' the jump canmand will not be executedand the next sequential statement will be executed.

    Return from subroutine ( see USE canmand )

    •SCRT CALL S:laddr(,al,a2,a3) calls a machine language subroutine using

    the S.C.R.T. technique. 'addr' is the address ofthe machine language subroutine in hex. ' an ' areoptional arguments of the fonn #v or $v ( Le ,either numeric or string variables). The addressesof the arguments are passed in registers RC, RO,and RE.

  • U:exp

    TYPE

    USE

    24

    T:(text) (:jf:v)($V)(i) type text and/or variables on theterminal. Text and variable may be present on thecannand line in any order. A carriage return andline feed are output at the end of the line unlessa semi-colon Ii' is placed at the end of the linein WhiCh case the carriage-return/line-feed aresuppressed.

    call a pilot subroutine with a label number equalto the value of the expression 'exp I. Subroutinescan be nested to a depth of 24.

    •EXAMINE X:exp sets match flag to 'yes' if 'exp' evaluates to 0

    otherwise the match flag is set to 'no'

    X:v«>=exp) sets the match flag to 'yes' if the condition istrue, otherwise the match flag is set to 'no'.

    YES cY:xxx if the match flag is set to 'yes' then the canrnandc:xxx is executed. 'c' represents any pilot commandand ' xxx' represents any text required by thecommand. for example:

    RANIXM Z Z:exp

    JY:123 will jump to the statement labeled %123 ifthe match flag is set to 'yes'. If the match flagis set to 'no' the jump command will not beexecuted and the next sequential statement will beexecuted.

    assigns a randan number in the range 0 to 'exp'-lto the numeric variable Z. •

    note: exp

    (xxx)

    tv

    $v

    v

    %nnn

    represents an expresion consisting of constantsand/or numeric variables with operators + - * and/. Expressions are evaluated fran left to right andmust evalute to a value in the range 0 to 255.

    represents an optial part of a statement

    represents a numeric variable

    represents a string variable

    variable names are the upper case letters A to Z

    line labels consist of a number in the range 0 to255 preceeded by a percent sign. Statements neednot be labeled but if they are the label mustpreceed the command. For example:

    %123 T:HI •

  • 250000 30 16 30 33 CO 07 70 CO 07 69 CO 00 F6 CO 8:1. A40010 CO 81 40 CO 10 00 F8 lC A3 90 93 D3 F8 08 B2 Fa0020 FF A2 93 B4 B5 F8 9A A4 F8 BO A5 F8 OC D4 00 O~

    • 0030 D4 00 CF D4 00 Cl D4 00 D6 D4 ()O £9 D4 01 19 000040 32 51 D4 01 21 F8 3F D4 00 04 D4 00 OA D4 01 5A0050 00 F8 3E D4 00 04 D4 01 6E D4 01 01 93 B7 Fa 670060 A7 4B D4 01 D8 30 3C 42 0'') 2D 43 00 CF 44 02 47.:.0070 45 01 13 48 03 3D 49 02 6E 4B 03 4A 4C 02 B3 4D0080 00 13 50 03 FB co.') 02 68 53 02 94 55 02 El 57 02iJ.:.0090 CB 03 03 03 03 03 03 03 9F D3 BF E2 96 73 86 73OOAO 97 73 87 73 93 B6 83 A6 46 B3 46 A3 30 98 9F 113OOBO BF E2 12 96 B3 86 A3 72 A7 72 B7 '/2 A6 FO B6 30OOCO AE F8 08 BF F8 5F AF F8 00 2F 5F 8F 3A C'l D5 Dft,OODO 00 D6 F8 03 5A D5 F8 09 BA F8 00 AA Fa 02 5A lAOOEO D5 46 32 EO D4 00 04 30 El D4 00 OA D4 00 El 45OOFO 44 49 54 00 30 OA F8 OD D4 00 04 F8 OA D4 00 04

    0100 D5 D4 01 OC 38 lB OB FB 20 32 05 D5 F8 08 B13 F80110 61 AB D5 D4 01 CO 03 03 D5 46 AF F8 08 :8F OF A90120 D5 F8 00 A8 89 B9 F8 64 D4 01 33 F8 OA D4 01 330130 99 30 41 A9 99 B7 D4 01 17 89 3A 3F 88 32 46 180140 89 F9 30 D4 00 04 D5 89 52 32 57 F8 00 A9 9"7 380150 19 F7 33 50 F4 B9 D5 F8 01 ~S8 46 52 Fa 00 30 670160 AF 89 52 30 68 52 46 AF Fa 08 BF FO 5F D~5 D4 010170 OC Fa 00 A7 D4 00 07 5:8 FB 08 32 A8 fB 10 32 B40180 FB 15 32 B9 FB 04 32 94 17 8"7 FB 3£ 3') B9 4B D4.:.0190 00 04 30 74 F8 20 5B 17 lB \)4 00 04 87 FB 3E 3201AO B9 87 FA 03 32 74 30 94 87 32 74 27 2:8 Fa 08 D4

    • 01BO 00 04 30 74 D4 00 OA 30 6E F8 OD 5B D4 00 OA D501CO 46 B7 46 A7 EA F8 03 F3 32 D5 8"7 F3 32 D.... 97 F3..I01DO 32 D7 lA 30 C5 F8 01 D5 0::"") 07 FB 03 32 Fl 47 F3.:I.:.OlEO 32 E6 17 17 30 D9 93 B8 F8 EC AS D8 4·7 B3 4"7 A301FO D3 D4 01 5A 0" D5 D4 01 19 t)2 FE :;2 F8 OF F4 A8.:.

    0200 F8 08 B8 D5 D4 01 F6 9A 58 18 8A 58 D5 D1 0:1 F60210 48 BA 08 AA D5 OA FF 41 3B ~) ") OA FF 5B 33 22 F8"-"-0220 00 D5 F8 01 D5 4A 57 17 FB 03 3A ")1: DS D1 00 D6.:..:10230 9A B8 8A A8 08 FB 03 32 43 FE! OE 32 43 48 D4 000240 04 30 34 D4 00 OA D5 D4 03 23 32 30 D1 0') 51 30.:..0250 30 4A FB 03 32 5F FB OE 3A 51 29 89 3A 51 38 2A0260 D5 D4 01 CO 03 03 30 04 F8 01 A9 D4 03 56 EA 9A0270 B7 8A A7 4A FB 03 3A 73 9A FB 20 32 FB 07 52 F80280 02 57 2A 72 73 FB 02 3A 82 17 02 57 4B 5A lA FB0290 OD 3A 73 D5 D4 00 D6 4A 87 F8 FF A7 27 87 3A 9C02AO 97 D4 00 OD 97 FB 03 32 Bl FE! OE 3A 97 F8 OA 3002BO 98 2A D5 D4 01 13 38 lA 9A FB ~O 32 FB D4 00 1002CO FB OA 32 B8 9F 5A FB 03 3A B"7 D5 D1 03 23 32 EO02DO 9A B8 8A A8 D4 02 34 48 FB 03 32 EO 29 89 3A D402EO D5 D4 03 23 32 F7 2A OA FB 02 32 F6 2A OA FB OD02FO 3A E7 29 89 3A E6 lA D4 02 30 D5 ~~A F8 03 SA D4

  • 26

    0300 01 SA 03 [IS B9 FF 30 3B 20 99 FF 3A 33 20 99 FA0310 OF B9 89 FE FE S2 89 F4 FE ti2 99 F4 A9 F8 00 D50320 F8 01 DS D4 01 OC F8 00 A9 A'7 38 17 4B D'1 03 0

  • 27

    0600 07 04 00 04 05 FS 00 B7 A7 38 lA OA FB 20 32 OA0610 FB 20 32 43 FB 31 32 43 FB 01 32 13 FB 03 32 430620 FB 15 32 OA FB 06 3~) 4S· FB 0"7 32 4B FB 05 32 4E• s:0630 OA 04 02 15 32 53 OA 04 03 04 32 ::iA D4 01 5A 090640 FS 01 It5 97 A9 FS 00 115 F8 01 C8 F8 02 C8 F8 030650 A7 30 OA OA 04 01 lA A9 .30 50 04 05 31 S7 32 6B0660 27 S7 32 71 27 S7 32 77 27 30 7I:1 97 5.2 89 F4 300670 81 97 52 89 F5 30 81 (14 05 D2 89 ~30 81 D4 01 4706S0 S9 B7 30 OA 04 06 05 3A B3 FS 00 A7 OA FB on 320690 co FB 31 32 B8 FB 02 32 BA lA 89 B7 [14 06 05 3A06AO B3 97 52 89 F5 32 AA 3B BO 27 S'7 32 Bl F8 00 3006BO B7 FS 01 It4 01 65 01 U5 27 ~~S 17 30 99 17 30 AA06CO S9 32 Bl 30 AO 04 01 co 21 OD 3A FC 1(\ 01\ 0'7 010600 33 FC BS 04 07 01 33 FC AS \)4 07 29 33 FC 32 F706EO BC SF AC 04 07 29 33 FC 32 F7 BIt SF . Afl D4 0'/ 2906FO 33 FC 32 F7 BE 8F AE 9S 86 8S A6 ))5 04 01 5A OE

    0700 05 04 07 06 33 26 4A FF 30 3B 26 FF OA 3B 19 FF0710 07 3B 26 FF 06 33 26 FC 06 FC OA tj2 SF FE FE FE0720 FE Fl AF FC 00 05 FF 00 05 01\ 01 co 2C OD 3t-l 640730 lA OA FB 24 32 49 OA FB 23 :~A 26 lA OA D4 02 150740 3A 26 4A AF FS OS BF 30 62 lA OA It4 02 15 3A 260750 9A Bl SA A7 D4 03 B2 :~A 26 lA 9A BF 8A AF 97 BA0760 S7 AA 9F CS Fa 00 FC 00 05 3C 69 69 F(.) 7F O~j C40770 'FS 9F AD FS OS BIt 1\ It BC OIt AC 9F FB OC 32 A2 F807S0 20 5C 9F FB OS 32 BB FB 05 32 C4 FB 07 32 99 9F0790 FA 3F 5C lC 9C FB E2 32 DE F8 ::iF 5C 8C :iIt 2D 9C07AO 50 05 FS FF BF FS 00 AF AC FS 02 5F F8 EO BF BC'. 07BO FS 20 5F lF 9F FB E2 3A BO 30 99 2C 9C FB [IF 3A07CO 99 lC 30 99 SC FA EO AC SC FC 20 3B 09 52 9C 7C0700 00 FB E2 32 (lC FB E2 BC FO t~C 30 99 BC CS FS EO07EO 50 20 FS El 50 10 FS EO BC BF FS 20 AC FS 00 AF07FO 4C SF lF 9C FB E2 .3A FO SF AC 9F BC 30 BO 00 00

  • --------

    OUT F' 1...1 T ~:: F F=- >'.; 'I 'J -r p ::;' :::' p

    T:f'F'F'-rtF' F'U:20/TOP F'U:20/T:F'F'F'F'U:20./T~F'II' '7'0,1Ti is .U:20/T" c·u120T:I I + ,••) t\'.,} " ..:...../J::LO

    !

  • Infestation II - A Simulation Game in Quest Basic- by P.B. Liescheski III, Dept. of Chem., U. of Texas, Austin, Texas 78712

    INFESTATION II is a computer modeling algorithm which simulatesthe propagation of disease in a forest. It is similar to the LIFEalgorithm except that it models disease propagation instead ofgrowth. This program was inspired by an article written by Frank C.Hoppensteadt (1). The basic idea and rules were obtained from thisarticle.

    This program simulates disease propagation in a forest accordingto certain rules. Each tree which is loosely defined as a unit ofvegetation, can exist in one of three states. These three states aregreen, infested and defoliated. The state of a tree for the nextseason or generation is determined by applying the four basic rules:

    1) A green tree remains green as long as it is notinfested.

    2) An infested tree becomes defoliated in the nextseason.

    3) A defoliated tree becomes green in the- next season.4) An infested tree can infest its eight nearest neighbors

    with a seventy percent chance.

    These rules determine the manner in which the disease travels in theforest. It should be noted that Rule #4 introduces chance into thealgorithm, so the rules are not deterministic in nature. As a resultof this, the same initial forest pattern will produce differentresults on every run.

    In order to give the program some color, it has been writtenwith the Quest Gremlin color video board in mind. The graphicsgenerated by the program is not at all sophisticated. A healthy treeis represented merely by a green square. An infested tree isdisplayed as a red square while a defoliated tree is a yellow square.Since the graphics is quite simple, it can be adapted for othervideo boards including black-and-white boards. This adaptation canbe implemented by modifying the video memory parameters (line #13)and the graphics color-codes (lines #22-24). For example, INFEST-ATION II can be adapted to the Solid State Music VB1B video boardby the following modifications:

    13 B=@FOOO: W=64

    and:

    22 G$="*": G=ASC(G$)23 1$="0": I=ASC(I$)24 D$="+": D=ASC(D$)

  • 30

    •In this case, the VBlB video memory begins at address FOOO, so B=@FOOO. In theVBlB, 64 bytes of memory are alotted to a line; eventhough, only the first 32are displayed on a conventional television screen, so w=64. Also a green tree isrepresented by an asterisk. An infested tree is displayed as an 0, while a defoliatedtree is a plus sign. If one is interested in a forest of different size, the valuefor N can be changed (line # 9). Using this as an example, the modification ofINFESTATION II should pose no problems.

    INFESTATION II has been written in Quest Super BASIC V3.0. To use this program,one must boot-up the 1802 system with the Quest Super BASIC interpreter. For properoperation, the Gremlin video board must be set for the Alphanumeric/Semigraphics-4mode. After the BASIC program has been typed and executed, it will display theinitial forest pattern as a N by N color grid (N=9). This grid is updated aboutevery half-minute for each season (generation). The program will continue until thepestilence has past (if it does). With this, the message: "DISEASE HAS PAST" willbe displayed on the screen.

    The initial forest pattern is stored in DATA statements (lines #61-69). Theinitial pattern can be changed by modifying these DATA statements or by exchangingthe READ with an INPUT statement (line #85). This will allow the operator to enterthe initial pattern interactively. It should be stated once again that one need notchange the initial pattern to get different results, since the rules of the gamecontain some element of chance. As the symbol table indicates, the letter Grepresents a healthy tree in the input string of the initial forest pattern. Theletter I indicates an infested tree, while D is a defoliated tree.

    The operation of INFESTATION II is quite simple. Basically, the initial fores.pattern is read into matrix F. The program checks for errors in the initial forestpattern. Next the video screen is cleared (CLS) and flag T is checked to seewhether the infestation has past. If not, then the contents of F are transferredto matrix L and matrix F is refreshed. The contents of L are displayed on theGremlin video memory via the POKE command. With this, the four basic rules areapplied to determine the state of the forest for the next season. After this, theprocess is repeated until the pestilence has past or until the 1802 system isunplugged. Finally to simplify the logic, the boundaries of the forest are avoided.This is the reason for dimensioning the matrices Land F as N+2 by N+2 (where N=9).

    INFESTATION II is based upon a simple modeling algorithm. Its major flaw isits speed. Since the algorithm is simple, the task of writing it in a faster,low-level language, such as machine code, should not be too difficult. In a fasterlanguage, the program can operate faster with larger forests. INFESTATION II ismeant to demonstrate the basic principles behind population simulation. Like LIFE,it will also produce very interesting and colorful patterns.

    Reference

    1 "1 C "M thematical Aspects of Population Bio ogy.Hoppensteadt, Frank • a 1 297-320. Edited by Lynn Arthur

    In Mathematics Today: Twelve Informa Essays, pp.Steen. New York: Springer Verlag, 1978. •

  • 31

    TREE

    SYMBOL TABLE:G-GREEN=LIVING TREEI-RED=INFESTED TREED-YELLOW=DEFOLIATED

    "GGGGGGGGG",. GGGGGGGGG",. GGGGGGGGG' ,• 'GGGGGGGGG' ,.. GGGG IGGGG""GGGGGGGGG't"GGGGGGGGG' ,"GGGGGGGGG' ,.. GGGGGGGGG"

    NEXTNEXT RREM **REM ** CLEAR THE SCREEN AND BEGINCLSREM **REM ** CHECK IF INFESTATION IS GONEIF T()O GO TO 217REM **REM ** DISEASE HAS PASTPRINT "DISEASE HAS PAST": ENDT=OREM **REM ** DISPLAY FOREST PATTERN

    REM '**REM ** INFESTATION - VERSION 2REM **REM '** PHILLIP B. LIESCHESKI III ** 12/17/82REM ** GREMLIN VIDEO BOARD IS USED FOR COLOR GRAPHICSDEFI NT ZREM *REM * FOREST GRID SIZE AND INITIAL PARAMETRERSN=9: T=1DIM LCN+2,N+2),FCN+2,N+2)REM *REM * VIDEO MEMORY PARAMETERS - STARTING ADDRESS, SCREEN WIDTHB=liEOOO: W=32V=B+«16-N)/2+1)*WREM *REM * GREMLIN GRAPHICS COLOR CODEG=#8FI=ffBFD=n9FREM **REM ** ENTER INITIAL FOREST PATTERNREM '*REM *REM *REM *REM *REM *DATADATADATADATADATADATADATADATADATAREM *FOR R=2 TO N+l

    READ L$FOR C=2 TO N+ 1

    REM *REM * REQUEST EACH TREE STATEAS=MIO$(LS,C-1,l)IF AS="I" THEN F(C,R)=I: GO TO 160IF A$="D't THEN F(C,R)=D: GO TO 160IF A$="G" THEN FCC,R)=G: GO TO 160PRINT "ERROR IN FOREST PATTERN": ENDC

    123Ii

    .~18CJ1011121314202122232430353840455055606162

    •6364-656667696910AD85909910011012013014015016017018018119020A209

    21 0211212213217220221

  • 2302402412422452482492502582592602702782792802903003103113123133203303383393" 0348349350355358359360369370375380390400410420"30

    "" 0"50460470480999

    FOR R=2 TO N+l 32FOR C=2 TO N+l

    Rl::M ..REM * TRANSFER NEW GENERA1ICN PATTERNLCC,R)=FCC,R)REM *REM .. REFRESH TEMPORARY FCREST MATRIXF(C,R)=GREM •REM * CALCULATE VIDEO MEMORY ADDRESSX=C-l+(32-N)/2Y=V + CR-2)*\JREM .•REM * PUSH COLOR CODE I NT C VIOEO MEMORYPOKE(X+Y,L(C,Rl)

    NEXT CNEXT RREM **REM ** DETERMINE PATTERN FOR NEXT GENERATIONREM ** ••• BOUNDARIES OF FOREST ARE AvrOOED TOREM ** SIMPLIFY THE LOGIC •••FOR R=2 TO N+l

    FOR C=2 TO tHlREM·REM" IF DEFOLIATED, MAKE GREENIF LCC,R)=D THEN F(C,R)=G: GO TO 460REM ..REM * IF NOT INFESTED, LEAVE IT ALONEIF LCC,R)(>I GO TO 460T=1REM *REM * IF INFESTED, DEFOLIATE•••FCC,R)=DREM"REM * ••• AND INFEST NEIGHBORS WITH 70% CHANCEP=70: H=100IF L(C+l,R+l)=G IF RNDCH)(P THEN FCC+l,R+l)=IIF L(C+l,R-l)=G IF RNOCH)(P THEN FCC+l,R-l)=IIF L(C-l,R+l)=G IF RNOCH)(P THEN FCC-l,R+l)=IIF LCC-l,R-l)=G IF RNOCHl(P THEN FCC-l,R-l)=IIF LCC,R+l)=G IF RNOCHl(P THEN FCC,R+l)=IIF LCC,R-l)=G IF RNOCH)(P THEN FCC,R-l)=IIF LCC+l,R)=G IF RNOCH)(P THEN FCC+l,R)=IIF LCC-l,R)=G IF RNOCH)(P THEN FCC-l,R)=I

    NEXT CNEXT RGO TO 210END

  • 33

    A SC.~WNING HEX KEYRO.~~D mfCODER-by Grant Thomson, 3793 The Boulevard, Westmount, Quebec H3Y lT3

    Here is a scanning hex keyboard circuit that I think is eleg~~tand economical. It is adapted from 'A Scanning ASCII KeyboardEncoder' from Don Lancaster's CMOS Cookbook o Only four IC'smake up the scanning and encoding circuitry. Two four-bit latches,a flip-flop, and a Schmitt trigger (here I used a spare 4050 withfeedback) are also needed. Here's how it works.

    The two 4011 gates form a 4 kHz clock that is gated. If the clockis allowed to run, the 4520 binary counter continuously cyclesthrough its counts.

    The top two bits of the counter are routed to a 4051 which is usedas a one-of-four selector that sequentially connects rows of thekeyboard to ground. Meanwhile, the lower two bits of the counter,which are cycling faster, are routed to a second 4051 which ismonitoring sequential columns of characters. When a key ispressed, the output through both selectors goes to ground andstops the gated oscillator and holds the count. The output of thecounter is the binary representation of the key that is pressed.A Schmitt trigger prOVides a keypressed output which is used tolatch the binary data and to clock a flip-flop that alternatelyselects high and low four-bit latcheso(The flip-flop is reset wheneither the INPUT or CLEAR IDL~OR key is pressed.)

    When the key is released, scanning resumes until a new key ispressed. If a second key is pressed while one is already down,nothing happens right away. But, when the first key is released,scanning resumes and then stops at the second key location. Thisis called "two-key rollover" and helps to minimize errors.

    The keyboard is fully debounced by the 0.47}4F capacitor and .theSchmitt trigger. I used a spare 4050 gate and two resistors tomake a Schmitt trigger. I found the values of the resistor~ and thecapacitor were quite critical for proper gating of. the oscl.~at~r.It may be necessary to experiment with the values l.n your cl.rcul.t.

  • ---

    .... '0"C.LEA~

    E ~OI2.. ~71:...L 13 14

    .J;O I~PO-r- 12. -ll-

    10 +I5V~.l-- - .

    c: 4013_12Q-

    _A.±C,~~---'i3

    _. i_IJ2

    9 ~ otrrpol'Ef...IAeLE

    U-'--t5V(

    -u-

    I 1 1jj~~ 4!>201 2. 4 ~

    31 4TST 6

    IlOK..

    JV\Iv -::L--.''-

    --.• •

    ~ 407b E D;2.1~4J 0\

    DO

    ~,IO 7 1/2-

    JI EW a Ell ~ D3L ......+-t-.... 1J...l our t::'

    12.

    l--

    6,7':1--. ...~"0r;b.

    -.~6

    CDS F ',~ 34051~I

    8 9 A 6 :2. 104 5" 6 7 ,4 I B (}o I 2- 3 '3 0 C.

    I"-J!OU"(

    .3

    IO~

    ~

    4oSo

    ,",EX K.EyBoA,RD-

    ~AC." Key SHca~W\lc~ES Of..!Deg II

  • • Notes on Netronics Tiny Basic- by o. Hoheisel, Herm. - Bossd. - Str. 33, 2190 Cuxhaven 1, W. GermanyVlhile experimenting with Netronics Tiny Basic, I found the rol l.owi ngvery interesting capRbility. Type or lORd a program that at some timestops and enters the command mode. RUN it to test it and then executea POKE 1897,167 command. The program will run as if you entered a RUNcommand, and when it reaches an END statement (or an error occurs),it will automatically start at the beginning again. This Can be veryuseful if only a small amount of memory is available, but you want towrite large programs, because now you can store several parts of a programon cassette, and at the end of a part the following lines will loadand start the next part.

    30000 PRINT "PRESS 'PLAY' ON TAPE DECK, PLEA,SE"30010 REH TURIJ ON .~ UTO-RUN30020 POKE 1397,16730030 REM NO';! LOAD NEXT PART300Lt0 LOAD

    With cassette 'motor control, this could be done completely automa-tically. By the way, if you want to turn auto-run off again, usea POKE 1897,39 command or use your monitor to write a (hex) 27 into(hex) address 0769. This is also a great tool to make your programsfail-safe for all users since error stops and even a break will just

    •s t a r t the urogram over.While looking at Tiny's command table, I found that Netronics' versionhas an additional function not mentioned in any of their manuals.The syntax is FLG(X), and it will return the logic value (0 or 1) ofthe EF-flag determined by X. This X Can be any valid expr-esuton fromo to 4, but FLG(0) will always return -256, because there is no suchflag. The following example will wait for the user to press the 'I'switch to continue.

    30000 PRINT "PRESS ' I' ro CON'['INUE"30010 IF FLG(Lt)=0 GOTO 3001030020 REM CONTINUE: H'~RE

  • ACE CPU Board

    Size: 6" x 9.5"

    36

    •Function: to provide - a system micro computer ( 1802 -04 -05 -06)

    - control logic, power on reset, fully decodedINTERUPT, DMAIN and DMAOUT.selectable BOOT to any PAGE ADDRESS

    - 4 JEDEC EPROM/RAM sockets, with DUAL ADDRESSdecoding for 2 locations or sizes of memory.

    - INPORTand OUTPORT- UART with selectable baud rate- RS 232 C with 2 Db 25 connectors- extensive prototype area (1.5" x 8.5")

    CPU Board is designed to be a system or standalone microcontroller board.

    Power: +5 v. Gnd. +12v for RS 232C circuit.

    Documemtation: assembly and test instructions, software for UART.

    •PROTO TYPE AREA

    22

    8Y Fl.SS CAP ACE CPU BOARDPARTS PLACEMENT •

  • MEF 82.10

    ....:ICj\(J'1"'" ~O-N

    #'o060~!0600~ If)Vl~fTl ....r:

    ACE CPU BOARD

    CPU and CONTROL CIRCUITS

    IlC\ ---tv -O--V'l

    .....-0~

    37

    (">

    ..... -0C

    0 o~ ~0 "0 .....

    ;;: :> .t'1 o:::: t'10::0 0(')

    :::: >::0~ .... 00 Z

  • ACE CPU IlOI\RD PARIS LIST

    Resistors

    Diodes

    7 - IN 914

    tlC'l

    . 0."

    ----

    ::;;~ ....

    .--

    ~

    Vlc>c·.-1

    ~ ~s::;jo);-..i~~~

    .~~

    wX...,N

    "

    ota::O/ n Vl-< --< :";1:;::0. V'I l.nj _..

    '-e-

    n...,-0

    C

    ... °10 -0 r..., m::o= IL]~

    en - ""-i(Jl tl:l

    0;p

    El

    flr~

    1m~ .~T",-

    I L4 0 L~t-:::I~C; '-;8-wL..:_:~--;- I.Q 0

    EPRCM/lW4

    2 Db25 Female(wire BOlder type)

    4 22K 1/4 watt 5\

    9 x 22K SIP or 9-22K 1/4 watt

    20

    2 22K 1/4 watt 5\

    9lIitch

    2 8 pe6ition dip

    Port, UART, RS232C

    IC t

    16 1853

    21 1854

    22 SMC-ooM 8116 (P)

    23 1852

    24 1852

    25 1488

    26 1489

    Resistors

    ~

    5.0688 meg.

    Connectors

    17

    18

    19

    Mes1PryIC •8 4042

    9 4042

    10 4556

    11 4556

    2 - 9 x 22K SIP or 18-22K 1/4 watt

    2 - 20 p.f. ceramic

    3 - 10 mf tantalum (buss filters)

    1 - 2.2 mf tantalum

    Diode

    6 - 0.001 mf ceramic (bypass ceps .)

    1 - IN914

    ~

    1 - 1.0 meg to 5.0 meg

    10 - 22K 1/4 watt 5\

    1 - lOOK 1/4 watt

    1 - 10 Hffi 1/4 watt

    Resistors

    Capacitors

    Switch

    1 - 8 position dip

    CPU Control , BootIC •1 4013

    2 4013

    3 4011

    4 4093

    5 4556

    6 4077

    7 1802/4/5/6

    12 74C244

    13 4073

    14 4073

    15 4073

  • CLUB COMMUNIQUE

    DATE: _

    NAME:---------------PRODUCT ORDER

    CPU BoardBackplane and I/O Board, Ver. 2Front Panel (with EPROM Burner, Clock)I/O Adapter for Backplane, Ver. 164K Dynamic (4116) BoardEPROM (2716/32) BoardKluge (wire wrap) Board8" Disk Controller BoardNetronics - Ace Adapter BoardNetronics - Quest Adapter BoardDMA Adapter Board (ELF II)VDU Board

    Software

    Fig FORTH - Netronics Cassetteformat (6K)

    Tiny Pilot - Netronics Cassetteformat (2K)

    Back Issues

    "Defacto" Year 1 - 3 (Edited)Year 4 ReprintYear 5 Reprint

    Membership

    Current Year - Sept. '82 - Aug. '83includes 6 issues of Ipso Facto

    CanadianAmericanOverseas

    PRICE NOTE

    QUANTITY UNIT PRICE

    $40.0040.0035.0020.0050.0040.0025.0040.0025.0020.00

    3.0040.00

    $10.00

    $10.00

    $20.0010.0010.00

    $20.00 Cdn.20.00 U.S.25.00 U.S.

    TOTAL

    •Prices listed are in local funds.Funds, Canadians in Canadian Funds.$10.00 for air mail postage. Pleaseprompt shipment. Personal chequesclearance prior to shipping orders •

    SALE POLICY

    Americans and Overseas pay in U.S.Overseas orders: for all items adduse money orders or bank draft forrequire up to six weeks for bank

    We guarantee that all our products work in an A.C.E. configurationmicrocomputer. We will endeavour to assist in custom applications, butassume no liabili ty for such use. Orders will be shipped as promptly aspayment is guaranteed.

  • NAME:

    MAILING ADDRESS:

    PHONE NO.:

    Note: Ensure mailing address is correct, complete and printed.Please ensure payment is enclosed.

    ASSOCIATION OF COMPUTER-CHIP EXPERIMENTERSc/o M.E. FRANKLIN690 LAURIER AVENUE,MILTON, ONTARIOL9T 4R5