Home
Ipso Facto Issue 16
Contents
1. 3 1 361 StX OFF SLT wih BIT TO 1 Ap y 352 C548 Fi 362 CH 563 0549 dt 363 SIR OCF 354 CLAN 364 StF 5 RETURN TG MAIN 565 305 3656 551 245 258 368 355 569 INTERRU T RCUTINE es 213 315 311 0545 12 371 ENIKTN LEXA RESTORE 0 REGISTER 3 2 0 312 RETURN FRUM INTEKKUPT 343 0545 22 7513 CEC 2 REGISTER 2 IS SIACK 314 78 374 SAV SAVE 1 REGISTER CN STACK 315 _ d 316 CEC 2 P 3 22 375 SIR 2 SAVE REGISTER UA STACK 7 377 C581 317 NCP SYNC 375 2542 376 NE s SYNC 379 319 SYNC 335 9554 59 380 LET 05 PUT ADDRESS OF PAGE INTG REGISTER O 331 9555 eO 381 PHI 0 382 NU to 22 382 LUI 353 i AC 383 FLC 30 39 AttKSH CLC va GET LINE START ADCRESS 325 tZ 585 SEX E 33 2 266 ftx 2 NCP 351 20 357 9 254 32 PLC 5 m Sate c rd 2 SEX 2 NOP 352 26 2389 0 EE 551 0561 AG aol P CE WEE 372 E2 392 Sex 2 NCP 333222 5923 29 353 prc 9 394 0564 FLC 3 My i MERE 295 9505 3C 399 bal REFRSH TIL OLSFLAY STATUS Liw 326 C307 30 Ad 395 ER __INTRIN 391 C5LS 4 351 poe eee YU 395 CILA 398 359 0 399 OUMMY Ce OuMMY LOCA
2. 61 Cosb 29 515 5 515 Guat f 515 SHR RIGHT 4 TIMES TC UNPACK COMMANDS Slo Cu Fo blo StR 3 517 0051 511 SRR 513 0552 Fe 514 SER ol o 0 0 652 aloo pls STE T COMMAND PUT INTO REG 1 E 549 us 04 529 SEP CALL SUBRCUTINE CURSOR 21 6655 06 31 521 Cw CURSCR 522 UT 522 7 543 C tb SF 223 sur rh CCMMAND 5 524 Du 32 52 b2 529 2 0856 2 262 LON 2 226 9520 FADE 526 ANI lt 27 CASE b7 bed STR 7 NEXT COMMAND PUT NTO REG 7 528 92A SEP 4 CALL SUBROUTINE CURSOR 525 7261 0 31 53 Uh 4 M 53C 7 531 Suth iL OF 531 SEI OFH CUMMANC F 552 Cuch 32 48 532 e2 BEGIN 533 1 Cece aN 533 IC 34 69 534 55 Cook f 25 535 St v 536 OcuC 32 4E 536 BEGIN END CF STURACE SPACE 15 CUNSEUERED 45 537 30 951 NEXT BEGINNING OF CESPLAY PAGE ut Gut st Sod ASPLAY PAGE 539 53 9 549 4 a mna PAGE 40 PROTO BOARD Eugene E Jackson lt 3637 Snell Ave 385 San Jose Calif 95136 ph 488 224 9837 Last year I published a small article in Questdata mag effort to form a local 1802 club in this so called silicon valley I received only 3 responses from people too far away to make a meeting practical Even though I was dissappointed with the first attempt
3. IPSO is published by the ASSOCIATION OF COMPUTER EXPERIMENTERS A C E a non profit educational organization Information contained in IPSO FACTO is believed to be accurate and reliable However responsibility is assumed by IPSO FACTO or the ASSOCIATION OF COMPUTER EXPERIMENTERS for its use nor for any infringements of patents or other rights of third parties which may result from its use Send newsletter correspondence to Bernie Murphy 102 MeCraney St Oakville Ontario Canada L6H 1H6 2 1979 1980 ACE EXECUTIVE COMMITTEE PRESIDENT TREASURER ASSOCIATE EDITOR ASSOCIATE EDITOR ASSOCIATE EDITOR CONSULTING EDITOR DRAFTING MEMBERSHIP CO ORDINATOR HARDWARE CO ORDINATOR PROGRAM CO ORDINATOR PUBLISHING COMMITTEE Ken Bevis Mike Franklin Vic Kushnir Earle Laycock Bob Silcox Bernie Murphy J Myszkowski Blair Gerrish Fred Feaver Fred Pluthero Dennis Mildon John Hanson 220 Cherry Post Rd Toronto ONT 15 1 9 416 277 2495 24 Duby Rd Acton ONT 519 853 3421 L7J 2 1 2640 Barnstone Cr Mississauga ONT L5K 2C1 416 822 6505 2772 Hollington Cres Mississauga ONT L5K 1E7 416 823 1345 562 Forestwood Cr Burlington ONT L7L 4K3 416 681 2848 102 MeCraney St Oakville ONT L6H 1H6 416 845 1630 99 Augusta St Hamilton ONT 416 529 0250 2110 Prospect St Burlington Ont 416
4. 151 101 1 2 dF 182 AREA7 GLL OFH 1 3 Sars FO 2B 183 Stl Oat hag 19 5 FF 15 NULT8VI 155 C FT 185 CLC JCF Cat Eb CY 46 Sef 09k 137 O FA AE 187 PLU 138 FB 91 133 19 GELO LOPE 157 C4FE 05 192 SEP 5 RETURN TC CURSOR 191 191 CLC DEH 192 0524 US 192 13 C5C2 193 FLC 194 0503 IF 194 OFF 1 5 6204 195 SEP 5 RETURN TC CURSCR Emu 150 195 137 187 9 9 005 4995 9 0 00909 99 5 9 6 9 HET 133 SL3ROUTINE 159 193 3 222 29C 21____ __ _ 0505 201 ARFA3 CLE OER TIE 252 O0 Co rf 28 202 sh Vd 233 AE 203 FLC OER 20 0559 05 20 SEP RFTURN TU CURSCR 235 8 205 59 225 206 SLBRUUTINE AREA9 2 7 qve 7 228 20 di NT 253 209 ARCAS GLG 242 2504 FU JI 21 SCt _ 211 6556 17 211 EN NCTIVI 212 OSuF 214 13 CIC 27 213 SFI 07H 2 E 214 Dole AE 214 FLC 215 Cols Fo 98 215 LOL 214 315 AF 216 217 3316 05 211 5 RETURN TC CU
5. 51 A third Executive member is required for incorporation and since both the President and Treasurer occupy two poistions a third member was required Bernie Murphy was nominated and elected unanimously to serve for the remainder of the club year Mike Franklin advised the members present of his intention to seek ammendment of the constitution at he annual meeting May to the effect that the executive be re organized into committees an executive committee comprising the President past President Secretary Treasurer and three members who would each represent one of the other committees newsletter publication hardware software projects and club activities committees Each committee would report to the Executive through their representative and maintain their own budgets and minutes Mike stressed the advantages of more autonomy and smaller woking units as the advantages of his proposal Fred Plethero advised the club of his intention to seek ammendment of the constitution to change the election of the executive for specific positions to election to the executive at large with the executive choosing their own positions Fred maintained that in this manner people may be more willing to run for office with the prospect of being able to do what they liked and possibly changing positions during the year to learn new jobs and make it more interesting Should any of the membership wish to seek ammendment of the const
6. 05 291 _ SEP 5 RETURN TO CURSCR 232 9563 92 NOILIV3 GLC 273 2961 FC 33 293 ACI 274 562 AE 29 272 2t 295 Cee OFH y 236 C505 vd 290 SEP 5 RETURN CURSCR 251 das ace pes Nh 29 TRE ET 453 298 6 8099 9 9 9 99 829 000 900 6 08609 0 8 6 00 86069 96 9 4000609 00 0 7 255 293 SUBROUTINE MASK 239 i 3 l 301 322 0500 202 MASK GLC COPY REGISTER F INTC REGISTER 323 _ 9564 393 PLC OCH ui vut 324 FB 21 30 325 OSEA wl 30 5 PHI OCF HIGH ORDER REGISTER 0 325 ge 2 44 C QCH 327 C50L 8C 307 GLC 328 0560 32 74 304 EZ DZERC 0 2329 o sof yC 309 _ 0 HIGH CRDER REGISTER C 2 219 65702 FE 3123 SFL SHIFT C LEFT 311 0571 BC 11 PHI OCH HIGH CRDER REGISTER D 2 39 5 MASK 343 C514 4C 313 UZERC CsREG Col NTH BIT 1 OTHERS 0 314 C575 05 314 SEP 5 RETURA 315 EE 315 oe MON PR aid 315 316 559259994299 25 4099 33533 5 805931534 694595599349 3559 0 4099 9094 496044 490 44898 494 4 45 317 317 SUBRKUUT INE DOT 2 2 5 aly 315 EI MAR M 325 U4 323 DUT SEP 4 CALL SUBROUTINE MASK del 6511 C5 66 321 MASK BANNERS Mus dtu ue 322 0979 LE 322 Sex O h 323 rl 323 CP Bih 34 FLC 325 2570 5 325 SD 326 0570 30 320
7. 37 CB K 69 BE 8D AE D4 K 37 38 8C 90 BF SD AF 04 3B 8C p4 K 2E Ase 3B AG 8D SE 1E 30 Al REGLOAD INTERRUPT A6 501 FALL Restore Registers Continue through Interrupt Skip SST if Q Reset Wait for Operator Return to Interrupted Program Go Execute Subroutine U and DF Save R 3 and R 6 Get Interrupt Vector Set Up Return Pointer PC to R 1 Restore R 3 Restore DF and D Sct PC to R 0 Restore R 6 Restore R 3 Restore DF and 0 Restore R 2 Jump to SWI Program Vector Get From Paramcter Invalid Character No so Save in R E Get Parameter Save in R F Gct Filler Byte Finished Yes so Return No so Store Byte 04 K 37 38 8C 9D BE 8D AE 04 37 3B 8C 90 BF SD AF D4 K 37 3B 8C D4 K 2E 3B EC 4E SD 1D 30 C2 04 37 3B 8C 92 B7 FS 63 7 E7 40 73 4 73 OD 73 F8 D1 5D 2D F8 79 5D 2D F8 22 5D 80 75 9D 73 DS D4 K 37 3B 8C 9D BE 8D AE D4 K 37 3B 8 9D BF 8D AF 8B FA FC AB 89 FF 40 33 16 49 AA 27 3A 03 04 2E 3B 50 D4 CB K 69 EE 80 F3 32 28 29 09 FB 27 15 19 8B FA FE AB 30 34 8B F6 33 34 1B 8E AC 9E BC 1E 09 FB 27 3A OE MOVE BREAK SEARCH Get From Parameter Invalid Character No so Save in R E Get To Parameter Save in R F New Location Finished Moving Yes so Return
8. 12 volts typic 44 me 550 ma maximum 65 me 520 ma 12 volts typical 54 210 ma maximum 45 ma 360 me INSTALL JUMPER FOR BUSS EDGE CONNECTOR ACCESS OMIT FOR 6K BANK SELECT z 4050 READ ONLY ACCESS 1 JUMPER REQ D 2 2 299 5 E GND O1 X4 l2v 24 1802 SYSTEM 8K ROM BOARD St at Of NI Oi A Ni of 9 gt m 30 EDGE CONNECTOR o x 8K BANK SEL 90000000 20000000 COMPONENT LAYOUT FOR THE 8K ROM BOARD Some Thoughts on the Future of the 1802 Bob Silcox 562 Forestwood Cres Burlington Ont L7L 4K3 Various speculations on the future of the 1802 of A C E have appeared in these pages so this Is not a new issue However it seems to me that it is a subject which could still stand some more thought Below is a letter which was sent to our treasurer Ken Mantel 1254 E 26th Street San Bernardino Calif 92404 Dear Mike Franklin Thank you for explaining why had not received 50 FACTO since October Editor s note Mike explained to him that among other reasons the decreasing volume of good quality articles has caused delays the appearance of some issues The problem of decreasing contributions by readers struck me so am returning comment and suggestion
9. 1 26 8 I 0 now store seq RB O 29 F8 40 BC set display timer to HO in RC 1 2 point X to data in RA 2D 64 2B Display data advance RA decr RB 2 2C 9C 2 Decr timer return if not 0 33 8B time up check sequence count 34 3A 29 if not zero reset timer get next byte e Sbr Selects starting point on Pg OF with keypad entry Jumps 0036 37 39 3A 3B 3C 1 3D 40 43 to selected location and displays the first 8 bytes in succession for 40 duration The sequence may be any value and is always followed by the 4 Byte Sbr The timer SBR was added just to give a slow visual display of the 8 byte sequence 0 32 104 64 72 A6 16 72 1 5 1 11 Load current Data via RA to D If current Dz00 return amp display last location entry in RD wait for new keypad entry If current Data NOT 00 15 byte display and advance RA to 2nd byte Load current Data via RA to D and advance RA to 3rd byte Copy current Data to LR6 Inerement R6 by 1 to assure 01 00 does not become FF on a Dec instruction RA on 3rd byte Save 3rd byte in LR and LR5 and imm D with FO to cancel the Least significant Digit and Str Inc to assure 01 PAGE 45 85 FA OF Copy LR5 to D and AND IMM with OF to 4y cancel the Most Sig Digit AT FE FE FE FE Shift D left 4x to recover as MSD 4B A5 15 Copy to LR5 and increment R5 t
10. 123 C10 103 SEX RESET X 7077 12 O4 TE 30 84 104 ER JUMP 125 0342 90 165 21 Ghi IUE TEPORE ERR 12 1 5 1 3 84 195 ENZ JUMP IF JUM SET CN DRANCH TC JUMP 127 Oars 7A 107 KEG 5 158 Qaya FO 193 JUMP Lox ee ee 12 C42 FD 193 1 Kea g T 1 0 04 7 80 Liv lli C44 U 111 SEP 4 CALL SUBROUTINE INIT M T 112 C4c 54 03 112 INIT 15 05 113 SEP 5 RETURN MAIN 114 C430 FO 114 NCTA LEX 11 04st FD Of 115 501 OfH ilc 6430 93 116 ENZ 117 C452 117 SEF 5 RETURN TO MAIN 11 0495 118 NOTE GHI IF ALIU SET CFF BRANCH TL AAUTU2 11 C454 32 90 119 ai NAUIO2 Uv ab 121 PHT otn led Cass 2C 142 UCLAY cic OCF 123 123 GHI 124 Cryo GY 12 CELAY 225 Canli FJ 125 NAUTICA LEX 121 Fo 01 120 SCL Kal 127 AT 127 uh 145 0442 U lee SEP 4 CALL SUBRLUT NE AREAL 125 9 3 gt 38 129 Ch AREAL Tea TC n 13 3C Et 13 1 1 0 47 131 Lox 3 E 32 scl 92 K 2 2 2 153 Cena ul 133 2 E 134 De 134 SEP CALL SUBRGUTIAE AREA2 155 05 4E 155 Ch ut AREA2 E e A _ 126 0442 30 EE 136 BR DCTV 2 2 2 ua 137 Jaci FO 137 NGT2 153 03 138 SEI 03k Kz 3 159 3i 139 WOT 152 Cano 0 149 4 CALL SUBROUTINE AREA3 141 O43 Ob 5
11. 3x DEVICE SELECTED 050 aren BYTE CONTROL 84 LATCHED 48 v DS DY PAGE BYTE CONTROL 784 IOM TO OTHER 4042 5a p TO SN76477 QUAD LATCHES 4 TO ANALOG CONTROL O P TO AUDIO AMP REGULATED 5V NC 47K 47K JUMPER PATCH irr IL 45 DIGITAL DIGITAL LATCH C P 2 TO SN76477 LOGIC VCO L 22 gg L7 luf pHa 6 ONE SHOT NOISE DIGITAL TO DIGITAL FILT LATCH O P I DAYS 24J 5 5876477 LOGIC NE ENV 4049 28 ENV SEL2 gg INVERTER SN76477 BIT 8 4 2 BIT 2 4 8 Q FROM FROM 50 li MINUTES OF MEETING NOV 13 1979 Mike Franklin Eugene and Anthony Tekatch and John Myszkowski prsented new products from Tektron for the 1802 Eugene presented positive reportof the acceptance by industry of the 1802 and highlighted some of the remote sensing and multi processor controlling application currently under development Anthony demonstrated the prototype of the NS57109 Number Oriented Microprocessor NOM Dec 78 Jan 79 Radio Electronics and John presented his MC6847 colour video board proto type Eugene also presented his company s versatile EPROM programmer The Executive were directed during the business portion of the meeting to investigate methods or incorporation of the club and to review alternatives such as liability insurance
12. 7 1 PUT IN REGISTER 070777991e FH CB 23 DUMMY LC ADOKESS GF DUMMY LCCATILN 29 O 10 AT 2 PLO 7 1 PUT IN 7 deni luu cuf ur OF tor SEN C 7 3 Chit 51 INP I TURNS UN 1851 l v CHIP 32 Chet 28 32 LEI 09 FiGH CRUER ACLRESS OF iNiTIAL POSITION 33 2422 53 PEI 15 PUT iN REGISTER 33 Cae 4 34 LEI olst LOw ADORESS UF INITIAL CURSCR PCSITICA 55 9479 35 IS PUT IN REGISTER E 2 35 95 Y E 21 25 tCl 1 FCC SUE 0429 S SiR FIRST CF CURSCR bYTE 1 29 s 0 98924 33 _ FEC Q 0 42 C425 Fb IC LCL OCF 942 of 41 SET AUTU 0 0925 42 FLL ERASE OFF 0 refe 55 43 PHI OCH JUMP 0 430 05 4 SEP 5 RETURN 45 Paes 45 56 NEEDS HERE EES oH 47 41 SULRUUT INE CURSOR e scc Be 24 sh ae EEE 43 5 Cail 53 CURSCK SEX 7 21 FO 51 INPUT K GUES INIU D 22 7322 F0 Db 52 OOH 93 24 5 38 53 2 2 Cee AUTU UN 1 55 tay 09 o o ERLO pa cou T 56 US 56 SEF 5 RETURN TO MAIN 27 C426 FS 5t iN IO LX INPUT GCES INTC D 28 Fu UE 55 Sut NE 29 043 44 55 2 0 60 Fe 20 22 101
13. Ipso Facto The A C E Magazie CTS MARCH 1980 A C E EXECUTIVE COMMITTEE EDITORIAL 5 3 THE Terre e t A COMPARISON OF NETRONICS AND QUEST FULL BASIC 19 ROLL OVER HEX WHILE sia ues sawed SOFTWARE FOR THE ETI 2708 EPROM PROGRAMMER 22 LETTERS TO THE 5 21 SOME THOUGHTS ON DEVICE INDEPENDENT Ife 25 THE 1 Nth 27 8 EPROM MEMORY BOARD gt SOME THOUGHTS ON THE FUTURE THE 1802 30 FUTURE MEETINGS AND NEW 32 ITEMS FOR 5 933 ASSEMBLY LISTING FOR COSMAC GRAPHICS PROGRAM 33 PROTO BOARD 4 40 BYTE CONTROL 488 43 MINUTES 5 50 64K DECODING FOR TEKTRON MEMORY 51 CUDDLY SOFTWARE PRODUCT REVIEW sco eue EE 4 4 54 PALO ALTO TINY BASIC 55 NEW PRODUCT SUPER ISOLATOR MEMBERSHIP INFORMATION
14. 31 The same decline has hit the Los Angeles Elf of the Valley club We have not published a newsletter since last summer At our meetings it is clear that everyone is moving apart as each person grows and builds his own unique system Many have purchased TRS 80 s too or VIP s or modems to connect their terminals to subscription telephone timeshare systems Articles were getting so specialized that only one two other members really got anything out of most of the construction articles My interest moved to Assembly language and 2716 EPROM programming did a lot of work but didn t feel it worthwhile to write up accounts of most of it Oral presentations of my work meetings elicited little response think this phenomenon may be widespread We watched IPSO FACTO and our Elf newsletter grow for two years Then when contributions fell off we qult publishing and waited for enough material to accumulate to make full sized respectabie issue This may be a mistake think the publication should continue with a reduced number of pages if necessary It s important to keep the lag between contribution and publication small When submitted articles don t show up quickly authors will stop writing 50 suggest IPSO stay bi monthly schedule even it is only 10 pages It may experience a permanent size decrease But if Its appearance becomes irregular think it will die very quickly ac
15. Comman ag 3 Wait for Low Cycle 3 2 Load Data 59 8 90 Init Period Delay Constant Finishod 66 FF O1 3E 86 Dec Period while flag is low FE E Get Resultant Bit 7 F 52 2D Compare Checksums 8B 33 91 8D 21 Decrement Cycle Ctr 55 4B print CHECKSUM A 32 7E Return if done all cycles 5 OD OO 91 1 Dssrement fycle Sher Return 92 81 3A 82 Repeat 12 all 1 8 not Done F5 3A 3E Verify Data 95 30 7E Finished Go Compare Checksums Print ERROR 52 E 20 00 Print Address Return 39Vd Li INPUT P97 3097 Wait for entry 7 99 6D D5 Read keyboard port OUTPUT 9C 8A FF 20 C9 Test for ASCII character Al 8A 58 18 Print character A4 98 FF E2 3B C5 Test for end of screen A9 F8 EO B7 B8 F8 20 A7 Yes 50 scroll up one line 47 58 18 B3 297 FF E2 3B BO B8 F8 20 58 18 Blank bottom line BC 98 FF E2 3B B8 C1 28 F8 EO A8 C5 F8 2E 58 D5 Print cursor and return C9 FB ED 32 F4 Test for CR OD CD FB 01 32 Test for Form Feed 0 01 FB 04 C8 Test for Backspace 08 05 98 FF El 33 DD Yes so test for beginning of screen DA 88 32 C8 Ignore backspace if cursor is at home DD 28 30 C5 Backspace and print cursor EO F8 1 B8 FF 8 Clear the screen E6 F8 20 58 28 EA 98 FF EO 33 E6 EF E365 Reset the Video Display I C see note F2 30 A3 F4 88 FA EO FC 20 8 Start new line FA 98 7C 00 B8 FE 30 A4 Note This I O package is depend
16. 327 TB 521 SEC m 324 6 40 BC 324 NZERU CLC CCH 329 268810 5E 229 518 350 0952 92 330 DIN Q2H TIME CELAY 331 053 of 331 PhI OCH 332 5 2 332 VELAYL LFC JCF 353 sons 0930 333 GhI OCH RM IS 5 ues 32 C337 95 324 DELAYI 355 95 9 05 335 SEP 5 RETURN TC CURSCR 2t 35 2 3517 334 99 1595 0 5 0 09 9000 995 59 90969 96 000006 840 9 00049 06 06669 06060066 0690090 00 533 338 SLBRGUTINE BLINK 239 Lina Cose poo dit ai Mai e Vah 34 34C 4 3 1 rb 19 341 cot TIME COLAY wiTh CHECK FER INPUT 3 2 ol 342 Phi 343 eb 343 OFLAY2 CEC OCF 35 Cost 37 44 34 B4 KE Y2 345 cou C980 345 i CFI Q9 h eMe PE MEET inem AR 345 6551 346 BAZ DELAY2 d 7 6293 04 347 SEP 4 CALL SUBROUTINE MASK 343 554 C5 66 343 MASK 349 Cost FB FF 348 ART SET ATH BIT TC O 355 Cove CE 355 SEX OEH 354 F2 251 AND 352 OvGh 392 SIR OCH LN 353 0598 FB LO gt 353 LCi TIME DELAY 41TH CHECK FOR INPUT 334 054 AC 354 PHI OCh 355 QF 2C 355 CtLAY3 CIC OCH 356 1 37 4 350 4 KEY2 2357 20541 Wl 357 OCH eem OSA un gp 9324 ERAN sia 0 353 KEY2 SEF 4 CALL SUBROUTINE MASK 355 Cn MASK 302 66 05 054 38
17. hope some improvements can be made While I think of it have any members had experience relating micros with handicapped or bedridden people I ask because this is part of the reason I got involved in electronics as a child There is a vast resource of talent in such people if a few were willing to take the time to teach programming and theory I ll get back on the project now sorry sometimes I tend to wander and wonder i i As to the Proto Board questions yes several other chips and designs could accomplish the same thing but I designed this for maximum flexability with the least hardware I think you will find PAGE H1 the extra work well worth the effort I have made certain important changes in the program amp design that make the board easier to live with Namely the 63 instruction N N1 is now used to strobe data to the board This prevents the usual 64 output instruction from falsly strobing a D amp I am including specific details about the board in the event may publish or modify the design The 4515 decoder was chosen so that the extra 7 output lines could be used to select notes if a 50240 chromatic tone generator is added I have an idea how to use the Hexkeypad for 8 octave note selection by direct entry no conversion charts necessary but more about that some other time 4042 outputs were selected so that during a program loop that decrements a register the suc
18. 85 AA DA AZ E2 D3 75 OO N 00 N 80 85 L L 46 001 89 95 45 001 01 5 6D B5 Cc AB ED Test for Start of Buffer Get Character Print Character Is it a CR Yes so Return Is it a Backspace Is it a Be11 Ignore Char if Buffer Full Print Backspace Ring Bell Valid Character Yes so Store it in Buffer Initilize Command Table Ptr Initilize Buffer Ptr Test for any other Tables Yes so Load New Ptr End of Table Yes so Print COMMAND Return Test for Match Inc Ptr to next Command Test for end of Command Test for Delimiter Set PC to R A Load Command Address and Exec Execute Memory Examine Register Examine Save Load Verify Breaky Move Fill Search End of Table Ptr fey in FF FF FF 8A 8 FF FC 8E 52 9E 52 D5 F8 F8 02 97 A 89 F6 40 AA 3B i 0 8F F 8 40 55 49 D4 OF F6 3B 58 3B 3D 27 87 8A FE 20 3F BA 52 FE FE 8D FI F6 BA BA OB AA 2B H A S A H TEST Split Byte into two Hex Characters Convert High Hex Nibble to ASCII Convert Low Hex Nibble to ASCII Return Return Test for Valid Character Return Hex Nibble Set DF Return Reset br Return Compare Ad resses DF Set if R F X R E EXPR INBYTE 2B FE AD AD Expr Entry Inbyte Entry Test for No Parameters Call A H Invalid
19. All that is needed by the monitor is the abbreviation that would make the command unique Later on in the discussion of the commands the abbreviation of the command will be shown as both capitalized and underlined letters with optional letters being lowercase i e BReak Concerning the second part of my notation all references to the high order byte of an address will be given by underlined capital letter with I being the base page This was done to enable the user to easily relocate the monitor to any 2K block of memory Any future references to the monitor or any subroutines should also use this notation This Way everyone can maintain software compatibility while having the flexibility of locating the monitor anywhere Also any future expansion of the monitor will use this notation beginning with the letter Q One exception to this convention was that the letter S was chosen to represent the page where the System RAM resides As an example to this notation I debugged this program this monitor beginning at 0800 with my System RAM at 9800 Therefore I would equal 08 J equals 09 and so forth Also S would equal 98 One last t thing should be mentioned While discussing the commands the first parameter will be symbolically represented as AAAA with the second parameter as required being BBBB and so on If parameter only needs two digits it will be shown as AA for the first parameter BB for the second parameter
20. Get Location Invalid Character Save Old Contents of Location Insert SW Pscudo Op Save Location Get irom Parameter Save in R E Get Parameter Save in R F Reset Flags Search for Open Quote Test for End of Search Range Get Byte to be Searched For Test for Match No Match so Back Up Pointer to Open Quote Reset Found Flag Set Found Flag Save Location of String Increment Scarch Pointer Continue Scarch if No Close Quote BB 46 20 9C D4 D4 oD D4 22 8B D4 5 4F D4 OD D5 D4 3B D4 D4 20 D4 20 FF F8 D4 D4 20 8B BA FB FB FB FB BA D4 D4 8B 20 8 2B F8 D4 20 0 c EG gt F 660 6 ES o s Quee cdm FA F8 a A FB OD 05 32 02 32 2 32 3B 32 FF 20 30 D2 F6 3B 08 5 67 4 2 20 44 20 OF 32 EC F6 6F 3B 44 6F 46 00 3B 9C Set Found one Flag Print FOUND ki E9 EC FO F Print Location F Print CR FA dait until key is pressed FE Print FOUND N oo Print CR 205 Return 00 12 Get Location 2e Print Location eu Print Be Get Byte at Curreat Location Print Space io If Byte 45 a valid ASCII us Character Print It 4D WF Print Space 25 5 Reset Flags SD Get new data or operation oF Test
21. and to report the results at the next meeting The club members in attendance endorsed the ACE hardware proposal and buss pin assignment with further discussion to be held at the December meeting MINUTES OF MEETING DEC 11 1979 This meeting was devoted to club business the subject of club incorporation and the hardware project Mike Franklin presented a review of information supplied by Netronics on new products to be introduced soon These products include a 10 slot 86 pin expansion board an Epromer Eprom board A D D A board and new software support With active interest evident from various manufacturers in the production of more 1802 products the club discussed the merit of producing competing products trying to establish standards in clock frequency monitor location and I 0 conventions The club formally adopted the 44 pin buss and the ACE buss pin assignment as the club i standard see Ipso Facto 14 and the use of a CPU clock rate of 1 758Mhz derived from a standard colour burst crystal and the use of a regulated buss for board design To facilitate other systems each hardware board will have the provision for pin wee ment changes by the use of two pads with a removable strip between on each buss lead at the edge connector By removing the strip users will be able to easily jumper the leads to any pin assignment desired club was directed to produce a 10 slot back plane with buffering between slots 1 and 2 fo
22. 0 CSC Fd CC 44 2440222 447 44 CF3 Fo 05 48 Oa O5F5 b5 49 92 05 8 CF 450 LF I RET SELLP SET UP REGISTERS 4 ANC 5 FOR CALL AND RETURN RCUTINES LETS PFT LETS PLO LEIA PHI CALL CALL 04H RET 05 451 452 553 454 455 5 A2 455 536 USEF LQ 069 492 457 451 05 O5Fu 5 F5 az Fo 9 1 52 453 454 PAGE 9 Fee 9 STACK SET REGISTER 2 FOR THE STACK Line STACK PLO 02h LR MAIN 7 LONG bRAN F MAIN CAN BE nALTTEN ANY anERE x 45d Ne 45 vu wp b0 wth ul 461 5 4 49 VAIN Sif 4 CA d CUTINE INIT 25 4 5 46 gt Oe INIT Ps o1 404 1 18 CMNC ADDRESS PAGE WHERE COPY 4 5 0027 9 465 POI 9 5 5 Siu Ouse Fo 90 60 LET CAND VLA REG 91 AG aol v ANKE Y B4 KEY BRANCH LF KEYP AL 459 Coon u 407 5 4 CALL SUBROUTINE BLINK 415 C62 amp 95 475 BLIAK 471 0012 3U Ou 471 NKEY MEM 4172 E 2012 472 KEY GHI OFF 413 0615 17 413 Ly ALTO AUTC GN BYPASS CHECK FOR UEPRESSEO KEYPAD 414 1 0015 37 15 47 8 NAUTU a aa gg 575 Coli Lt 41 SEA 47 Ould 41 4 REAL INPUT FREM KEYPAC 477 Coly FA 471 ALT
23. 4 SL 16 55 AC A 3B 2 03 FF 03 32 03 32 5 SAVE 8D F7 55 C9 BD FF 3F 55 B8 27 5 CC f 57 7 BF F8 EA AF DF FB 00 10 39 06 AD AE ED eD 52 BC DF DF AF 05 OD 3A 05 Init Test for Last Register Ring Bell if Last Nibble Print Space Get From Block Get Block Calculate Length Return if Negative Length Test for end of Buffer Search for Open Quote Init Name length Cycle Ctr Init OSC Subroutine Set PC to R F Init Header Delay Call OSC Decrement Header Delay Set PC to R 3 TX UART Subroutine Test for File Name of S Divide Cycle by 4 Eng of File Name Yes so pad with blanks Transmit File Name Finished File Name Zero Checksum Transmit Starting Address Transmit Length Transmit Data Decrement Length Finished Transmit Checksum Return 00 FF 2 F6 AA 36 Fl E2 30 A1 5e 1B 52 3A 74 3A 68 C8 BC TX UART AB AC 2c BB 22 ec OSC E2 68 LOAD VERIFY BD 8F AD P BF B7 56 10 00 FF FB 2e FB oe A AF AS 9 3F 27 55 C8 C5 K 69 3A 9D 32 B2 Return Save Character to be Transmitted Init DF Parity Bit Ctr Get Bit to be Transmitted Cali OSC Finished Get Parity Nop Transmit Parity Add Byte to Checksum Set
24. AUTU SET 0 al 17709270 ci Wap m 05 u2 TEP 5 4 63 NCTE LEX 2 2442 FE 98 5 95H n Tha 4 NUTS tite 05 t SEQ 0444 F 90 LUI 228 44C BU PRY OCH B3 3440 AD 63 FAC JCH 19 Jehat Jb 7 5 71 C FO 71 ACTS LEX 12 6455 F2 00 72 SLI 00H 73 C352 3A OA 73 ENZ NUTO 74 C354 74 222222220455 F2 20 18 LUI 76 C451 76 Fri n AD 11 O CI 14 635 05 73 SEP 5 S 0 2 73 NCTO LEX 82 t45b FD 08 OBR 3I 0459 7 ul NOTB Tb 52 SEG 33 0460 FE 01 3 34 3462 RD 54 __00 85 C4c2 Fe oC 52 20h 35 C405 bo PLC OOH 37 6966 05 UT C re _ SEF aT 68 9461 38 NCTE LEX 99 C438 FD 2C B9 SCI 33 M M M M M M RETURN TU MAIN 52 ez SET JUMP AND ERASE UFF x0 RETURN MAIN K 0 SET JUMP AND ERASE 0 RETURN TE MAIN SET JUMP ON 1 SET ERASE OFF 0 RETURN MAIN Fo JL L I ER SE ON sl 35 SERS RETURN TO MAIN PAGE NuTC GLC Y ERASE ERASE SET CN BRANCH ERASE TO 1 CALL SUBROUTINE MASK MIS C HAS MASK MAKE BIT ZERO E ___ j 7
25. End of Page now Halt Sbr determines pause time repeat sequence and end of page sequences may be speeded up by shortening the pause timer and loading and checking LR3 e To use Sequence all memory to 00 90 AE BE EE 73 30 03 Enter the program in memory as shown from 0010 to 0087 56 Enter an 8 4 byte sequence on Pg as shown in the e the example location OF20 to OF2B Reset and enter a jump to the program using a 3010 Reset and run enter 20 on the Hexpad and press I key Program will jump to 0 20 and do the sequence Operating I upon completion of the sequence will cause a repeat provided the same Location is selected Address Code Comments 0010 90 BB AC BD 14 F8 1B AD Insert Point on Keyboard entry TT F8 OF BA F8 00 AA Work Pg and Loc insert Display 1D ED 6C 64 2D 1D location 24 37 24 T 26 F8 08 AB i 29 F8 40 BC Initial D A Set 8 Seq 2 EA 64 2B D A Set timer 2 2 9C 2 Display ist 8 bytes 8B 3A 2 exi 20321 64 72 TO Byte disassembly 3D 2 1 5 restore 40 FA FO A1 11 85 FA OF FE FE FE FE 5 15 4D 90 81 51 23 83 3A 51 39 5A 51 30 5B TB i 5B 14 84 A2 5 22 82 5 39 67 0 21 0 50 64 30 68 7B a Vary duty cycle 68 21 81 34 50 39 11 i SE 30 2 TB TS 72 85 B3 23 93 74 31 3D Pause timer 26 86 32 82 57 2 2 30 3 Backup 2
26. GET HIGH BIT INTO DF 0087 AD 92 PLO R13 SAVE SHIFTED VALUE 00 8 CF 93 LSDF TEST IF BIT WAS THERE 0099 9t NO SO SET SPACE 00 rA 38 95 SKP SKIP THE SEG 00 7B 96 MARK 00 DF 97 SEP R15 DELAY ONE BIT TIME 0040 2E DEC RI NUMBER OF BITS TO GO 004E BE 99 GLO R14 INTO D 3A S 100 BNZ TXSHIFT BRA IF NOT DONE YET 0051 7B 101 SEQ SET STOP BIT MARK 0052 DF 102 SEP R15 DELAY FOR 1 STOP BIT 0053 DF 103 SEP R15 ANOTHER ONE 005 303E 10 BR TXRTN RETURN TO CALLER 105 0056 D7 106 DLYRTN R7 BACK UP 1 LEVEL 0057 107 DELAY LDI 62 1 BIT TIME AT 1MGHZ 108 NOTE ABOVE VALUE WORKS ONLY FOR 1 MHZ CLOCK 109 USE HEX 71 FOR A 1 795 MHZ CLOCK 0059 AC 110 PLO R12 SAVE AWAY 005A 2C 111 DECR DEC R12 COUNT DOWN 005 112 GLO R12 RESULT INTO D 005 113 BNZ DECR DONE 005 3056 11 BR DLYRTN RETURN TO CALLER 115 0060 116 END 0 DIAGNOSTICS GENERATED 32 SYMBOLS SYMBOL TABLE STACK DOFF NEwcyc 001c NXBYTE 0025 TIMOUT 0032 TXRTN 003E TXENT 003F TXSHIFT 00 5 DLYRTN 0056 DELAY 0057 DECR 005 Shepard 903 12th St Huntsville Tx USA 77340 I have an ELF II Is anybody else Sassembler to load Mine won t uses to answer my requests to re record Looks 1 surely do enjoy IPSO FACTO having trouble getting Netronics di load and Netronics ref like I have been had Ke
27. I will be willing to have my name address amp phone number published IPSO FACTO with hope that there are now enough 1802 fans nearby to form a club I like the idea of the project boards using the 44 buss Quest made a design error by not buffering data befor hitting their 44 pin but this can be remedied by immediately buffering data on the interface adaptor that I will have to use before rearranging the pin assignments to yours If one wants to get fancy bells and lights can be added at this point for debugging purposes I suggest Someone draw a Sketch of this proposal for the next issue I have taken considerable time to provide as much detail possible on this project in hope that someone may wish to try it The sound generator chip was used to test the feasibility of the control board This interface board was really the main goal of the project an avid experimenter hobbiest this board provides means of evaluating hardware and theories The SN76477 is a bargain and a compromise and if one wants to produce more exact effects there are better more expensive ways to do it A large gap seems to exist between the versitile micro and the real world due to lack of standards Until the manufacturers can get their acts together the home micro will remain just an expensive toy There is one thing to consider as we wire our circuits play the games program our micros are evolving a new form of life
28. Radians SF 1 2 set flag 1 or 2 SL or SR shift left or right multiply or divide by 10 SQRT square root TENX raise X to ten power MAX 7 XM XY math register date exchange YX raise Y to X power Cuddly Software A Product Review John McLaren 41 Walker Street Coorparoo Queensland Australia 4151 I recently purchased CSOS and software from Cuddly Software in the United States I was pleasantly surprised with the programs they work they work well they do precisely as the advertisement says they will and the documentation is excellent full user manual and hex program listing provided with the manual giving good details of 11 the commands plus examples of usage The guy Paul is obviously not making much money from the deal because the standard of documentation 15 high with crisp reproduction the manual looks like it probably was printed using an offset printer with paper plates Yes as a throw away line I happened to mention to him that I have two Elf II s one without a VID board for the kids the neighbourhood apparently the rest of Australia and one with a VID board which is mine mine mine So guess what happens Cuddly Software send two versions of their programs One for a non VID system and one for a VID system and all for the same price That is service 53 Cuddly Software Trace Program is good On
29. STOP programable break point CTL control cursor command HELP list command set Unique Quest Commands RUN expr run from selected line DIM var ARRAY DSAVE cassette save data only DLOAD cassette load data only DFUS define user space start location EOP prints address of end of program EOD prints address of end of WAIT programable delay CHRS print ASCII character ASC string returns value of ASCII characeters in string LEN returns of ASCII characters in string Continued on Page 52 Bill Eckel 7711 So 73 Avenue Omaha Nebraska 68128 ROLL OVER HEX WHILE LOADING PAGE 21 I am very limited in my programing experience Never the less I am slowly learning Your request for members to share their programs matter how small they are because others will learn by them and eventually be able to submit their own or even improve upon them is very true as seen by modifications to members programs already submitted by others This is the case with me Ispo Facto 9 on page 9 Tom Jones submitted a little program on entering data with a rollover effect on the hex displays before pushing the input key Although I have the Elf II with monitor system I have found this program very useful It will tell you if you depressed your keys completely or if the wrong information got entered before you load it into memory I modified this program so that is may be entered on page one and l
30. bytes 82 8A 3A 36 77 85 00 00 00 end of page Halt Register assignments HRA WORK REG LRA LOCATION INSERT POINT LRB D A SETUP SEQUENCES HRC D A HOLD AND DISPLAY TIME 181 INITIAL VALUE 182 SCRATCH FOR 0 ON DURATION LR3 SCRATCH FOR Q OFF DURATION LRA SCRATCH FOR A AND D VALUES LR1 ATTACK OR DECAY VALUE SAVE LR5 PAUSE VALUE SAVE 186 REPEAT VALUE EXAMPLE OF A SEQUENCE Noise and one shot 3 pauses OF 20 ores 1 2 22 3 AA 02 8 2 gt 0 TRIGGER OUTPUT 1 47 40 50 61 86 gt Initial display sequence PRESETS 8 D A S 0 0 pause 0 0 Ro cuu 0 20 dur decay speed SICUL 0 1 dur pause 0 1 0 21 dur attack speed 2 repeats 3 cycles total Note 00 here causes pgm to return Index Byte be used to alter the effect 11 FF on page OF will take about 28 6 hours to complete 248 bytes divided by 4 62 seq 256 rep 6 5 sec DD 1 ENVELOPE SELECT 256 8 103 168 seconds Byte 4 Data 10 12 14 16 DD 2 MIXER SELECT e e m Byte Data 20 21 2e 23 24 25 26 27 Parameter Test 0000 7A E2 6C 07 F8 FF OF 37 08 30 e Example If on LOGIC INPUTS 4 2 1 Pin 28 Pin 1 Pin 3 0 0 VCO External N input 0 1 One shot 1 0 M
31. every division in lines 80 to 120 so that 11 fractional parts are truncated as Tiny does in division e gt 55 PALO ALTO TINY BASIC INTERPRETER Robert Edwards 104 Montreal Lane Oak Ridge IN USA 37830 The Palo Alto Tiny Basic Interpreter for the 1802 is alive well Now that its checked out the subsidy on its distribution is being withdrawn Thus the current price for a copy of the source listing is 2 00 US which just covers expenses have distributed some 70 copies of the source code to date I would like to hear from experimenters on their success or lack of it with the interpreter Also I would like to hear from US and Canadian owners of Netronics and Quest systems who could serve as distribution centers for cassette copies of the code This means that experimenters can send the center a quality cassette and 1 00 for postage and package and would receive a copy of 1802 on the cassette in the return mail SUPER ISOLATOR NEW PRODUCT RELEASE ESP Electronic Specialists 171 South Main St Natick Mass USA 01760 IPSO FACTO has received the following new product announcement which may be of interest to readers Severe AC power line spikes surges noises and hash prevelent in many MicroProcessor installations Operators plagued with unexplained crashes memory loss and program glitches Disks printer
32. this time We hope to be able to supply this information before too long in issue 18 at the latest Facto will be sold as loose leaf pages with 3 hole punch a cardboard and plastic wrapping so that it will survive the rigors of travelling through the postal system This format will among other advantages keep the cost at minimum and make it fairly straight forward to supply supplementary volumes for issues beyond number 12 at a later date We have received two offers to serve as Education Co ordinator and hope to feature material from one or both of these people in upcoming issues The annual meeting is still a couple of months away but it is not too soon to start thinking about candidates for next year s for next year s executive In particular the position s associated with editing of the club newsletter may prove very difficult to fill The success of Ipso Facto and its consequent growth from a small newsletter into substantial publication has brought with it new problems in that producing it no longer be handled by one person as it was originally Availability of word processing equipment or similar automatic equipment is almost a necessity producing it at its present size hand typing a manuscript of this size for each issue would keep a typist busy for a long time A recent executive meeting addressed this problem without any definite solution after considering a number of ide
33. 10 and load the following sequences page F starting at 0 00 R2D2 Versus The Telephone OF BO 12 28 3C 4E 5A 60 70 8E 80 04 11 11 4F 01 0 10 50 04 00 O1 BF 00 5F 00 00 40 00 00 OF 0 20 2D 03 11 11 5C 03 FO OF 20 01 64 5C 03 F OF 9F30 2 01 00 04 20 00 00 28 02 11 11 4E 00 00 OF 0 44 50 04 11 11 2D 66 11 11 The sequence tells a little story in sound you have used the same component values and wired your board like mine the message will be quite plain and is good for a laugh It s hard to believe that such unusually complex sounds can created using just one chip If no sound results from a particular sequence suspect either a 2F inbibit has been latched or the one shot parameter is too fast for the attack period A chart of the parameters is included to help in custom designing particular sound I think I will wire this circuit as a permanent part of my Elf to replace the click buzz output of the speaker Right a small transistor radio with a phono jack wired to the volume pot provides my audio amp PAGE 43 BYTE CONTROL 84 c Eugene Jackson 3637 Snell 4385 San Jose Calif 95136 This is a control program suitable for use with the sound effects chip the SN76477 Included in this article i
34. 3 141 AREAS _ Ee 2 142 30 EE 142 OOTY 2 502 FR UPS 143 9 143 NCT3 Lex 144 0480 Fi 144 501 42 19 4 C5 145 BAZ NCT4 146 04 146 SEP 4 CALL SUBROUTINE AREAS 147 95 10 147 SUM QAREAS nA si Ree ENT RERO 198 3 30 193 DCIV 4 g 145 65 146 ACTA LEX 132 FO 96 152 Sti 151 iA CF 151 BENZ NCT6 122 152 sre 4 CALL SUBROUTINE AREAS 153 05 2C 153 ARFA o a n E E une 1 4 Call 3G CE 154 ER CCIV 555 125 tJ 15 NETO LEX 13 150 sel _ OTF Ka 2 25 151 ERZ NCI t 121 SEP 4 CALL SUBRCUTINE AREA 24 F2 153 Cn ARCAT MN es 30 162 161 NUT LCx va 162 SCl 08H 161 UNZ NETS Ds los SEP 4 CALL SUBROUTINE AREAS 05 25 163 Cin ARCAS e 8 33 les tk FO lo 18 _ 168 e sol OSH Kis 9 S 169 U 179 Str 4 CALL SUBROUTINE AREAS 05 OA 171 uh AREAS _ 7 52 DN T 172 173 US 173 NUTG SEP 5 RETURN TO MAIN ili 04 174 SEP CALL SLBRCUTINE 90 119 C5 76 175 Ce oct 14 O4Fl 05 116 5 RETURN TC MAIN 171 117 NC 172 EUN ETSI 178 1 1 179 SLBRCUTINE AREAT AC 4 PAGE 36
35. 6 26 06 9 06 255 SUERCUTINE AREAL 257 C230 257 1 GLC _ 4053 6536 2298 sci 43 054 258 NLISV3 eos 25420082 260 GLG 291222 19544 261 OTH 202 0543 262 FAC JEH um pax gc S 263 C544 Fu Ol gt 263 Cid 25 2546 AF 54 __FLC OFF 265 C541 05 265 SEP 5S RETURN CURSCR 256 BE 265 NCloV3 GLC 451 422225549 C8 IT xs SUBE LLL eus ns 253 0548 Ak 264 2 Phe OER 269 26 INC Orr 6752 3 7 5 RET R PAGE 37 27 271 2 212 212 923 30949944659950911232100509 369900000090 0000912099995299490909999309850096000095 996696 edi LM uiuos 273 SUBROUTINE AREA ce eel 415 27 215 054 8 215 AREA2 GLC 15 24 e 21 E 217 0551 244 PLC 218 0552 15 273 SEF 5 RETURN TO CURSUR 273 ue 2229 E E PUDE qct 252 250 190 99 6 9 98 90 92 45948 900 800899 9 000 9646 006 6 686600096906 6 0 0 231 481 SCPROUTINE 222 2 9 253 0553 oF 283 Art 619 OFF ae 354 0554 FU 01 284 SCI 255 9556 90 285 T 236 cote of etb GLC 251 0929 FC 99 267 AUI CSH 232 0555 AL 233 PLC OCF 22 Coot ts 08 265 LCI Q6h m 259 299 PLC 221
36. 634 0268 Apt 3 L7R 1Y9 105 Townsend Ave Burlington ONT L7T 1Y8 416 637 2513 1013 Upper Wellington St Hamilton ONT L9A 3S4 416 389 4070 44 Wildewood Ave Hamilton ONT L8T 1X3 416 385 0798 955 Harvey Place Burlington Ont L7T 3E9 416 637 1076 EDITORIAL COMMENTS As mentioned elsewhere in this issue A C E meetings will be returning to the Stelco Auditorium in Hamilton beginning in April The Oakville location which we have been using for the past few meetings excellent in almost every respect but unfortunately turnout at these meetings has been rather poor consistently so and so we felt that if we were getting fewer members out to meetings then apparently the membership in this area generally prefer the old location If there are any who have not been coming out because of the move to Oakville we hope to see you again starting with the April 8 meeting starting time 7 30 P M As noted on the back cover we are now entirely sold out of back issues 1 12 please do not send in any further orders for them Work is currently in progress on our collection of the best material from these issues and this collection tentatively titled Facto should be available before too long We cannot yet specify the exact price this will depend on a number of factors such as number of pages that we wind up with or the exact date of availability so please do not send in orders at
37. Character Shift Nibble to High Order Half of Byte Merge Nibbles to get Byte Set DF if Finished D4 5 67 12 02 AA D4 J E BA QA D4 5 67 12 02 S 67 M CHAR STORE 4D 45 3F OD OO 8B FE 5D AA AA AA 32 16 FE FC 5 49 8D 59 3F 00 32 EB 40 AO EO D1 FE F1 5D PWORD PCHAR EXEC Call A H Valid Character No so Print PARAMETER Return Place Nibble in High Order Half of Byte Place Nibble in Low Order Half of Byte Return Convert First Two Bytes to ASCIT Print First Nibble Print Second Nibble Continue through PCHAR Convert Next Two Bytes to ASCII Print First Nibble Print Second Nibble Return Test for No Parameters Call EXPR Valid Character Get X P Store Address in Correct Register Print 551 Get Answer Print Answer If Yes Set Q Jump to REG LOAD 39Vd l F8 700 14 08 10 18 20 28 72 B2 72 A2 72 83 72 3 72 B4 72 72 BS 72 AS 72 B6 72 72 B7 72 7 72 BS 72 48 72 89 72 9 72 BA 72 AA 72 BB 72 72 BC 72 AC 72 BD 72 72 BE 72 72 BF 72 AF 72 1 6 72 39 37 3D 35 70 38 03 El 71 21 22 78 22 73 71 73 93 73 83 75 96 73 56 73 F8 B6 07 FC 70 46 B3 46 A3 91 60 30 39 93 B1 F8 52 66 42 A3 42 B3 42 F5 42 30 37 66 Al 01 93 BO FS 77 DO 12 42 AG 42 86 42 A3 42 B3 42 16 42 12 12 12 S 6A
38. DF Transmit Stop Bit Nop Set Stop Bit Transmit Second Stop Bit Restore Character Return Is the Bit a 1 Divide Cycle Ctr by 2 Init Period Delay Delay one Period Decrement Cycle Ctr Alternate 0 On Off Return if Finished all Cycles Delay to balance half cycles Restore Period Delay Load Entry Point Verify Entry Point Reset Parity Error Indicator Init File Name Storage Ptr Init Init PLL Subroutine UART Subroutine Init Name Length Ctr Reset Buffer Test for End of Buffer Search for Open Quote Decrement Stack Test for File of S Set Baud Rate for 1200 Baud e Set Baud Rate for 300 Baud Restore Stack Init Header Length Delay Call PLL Test for Header RX UART BA i 55 D3 Return 52 DO meek der Quote 56 O8 AB AC Init Parity Ctr Bit Ctr D5 Test for Match as 55 07 Weit for Stop Bit e 30 68 1 22 79 D7 Get Bit No Save File Name 64 3B 67 1B Increment Parity if Bit 1 F8 10 AE Init File Ptr File Name Length et ee 36 33 MM E EU 1 2 Print FOUND 6B 8C 5A 62 Finished Byte Print File Name p A4 1B Get Parity EC 75 Fh BB Add Byte to Checksum Print CR 76 8B F6 78 02 58 55 Return Byte Go get Next File 7B 7B 30 55 Set Q if Parity Error Clear Checksum AE Bee Starting Address PLL AD et Length 7E 71 Return Abort Load 25 Ee 55 A1 Init Cycle Ctr s
39. ERS c o M E Franklin Treasurer NEW SUBSCRIPTION A C E 24 Duby Road RENEWAL ACTON Ontario Canada L7J 2P1 LEER Lou s AST NAME EJUS eee TE FIRST LINE OF ADDRESS SECOND LINE OF ADDRESS IEEE IIIIN ATTACH OLD MAILING LABEL HERE FOR CHANGE OF ADDRESS e
40. I routine location L 71 Cassette file name storage Note the file name is stored backwards Unused Monitor stack rau 58 rot 212 wes lalaan SP 1 WOO AW 102 o 1 102 8 1 ieu 1 elu Figure 1 While on the subject of 1 0 I should mention that all input to the monitor is first stored in buffer This allows the user to backspace over any errors and correct the mistakes before typing a CR The only exception to this is in the Memory or Register Examine commands While in this mode any input from the I O device is used directly by the command Before continuing on to discuss the commands two bits of information concerning my notation might be helpful First the monitor does not require the commands to be entered in any particular format The monitor will ignore any excess characters entered As long as the information is in there somewhere the monitor will accept it For example suppose the operator types Memory Examine Location 0300 Hex the monitor will interpret this as ME 0300 There are a few basic syntax rules however 1 All commands must begin in column 1 2 There must be at least one space E Neen the command and any parameters 3 All parameters must consist of either 2 or 4 consecutive hex digits depending on the parameter Note that with this arrangement commands can be abbreviated
41. Ip eres TT Tiel 478 STR LE INPUT GOES INTC 9 061 FE 419 SEL 0 LEFT 4 TIMES 5 1 f 42 Culf FF 452 SFL 463 06207 55 33 SIR 9 SHIFTED INPUT PUT INTO NON 454 0021 44 SEP CALL SUBURUJT INE CURSCK i 435 2 04 31 485 Ch CLE SCR fe ul N 7 457 6625 45 SCL OFH 438 2027 32 48 488 2082 BEGIN 439 25 3T 3C 489 AKLYL E4 KEYI E TEE MENO Mn 490 0520 0 492 SEP 4 CALL SUBROUTINE BLINK 4 95 dA 491 Ch BLINK 4542 Cof Y NEKEY 493 452 KEYI CHI 434 0031 35 494 EN AUTOL 435 0613 37 34 4S5 NALTUL t4 NAUTCL n 436 0555 ET ALTUL SEX 7 2 2 431 441 4 e 428 0037 FA 493 AAT _ 459 Gu33 5 438 NEXT INPLT STORED iN PIRITI 502 EY 599 SEX 9 521 s 8 501 ACE ed ance pue AE ee 522 502 STR 9 INPUT PACKED INTO MIRISNO e 623 Gu 40 19 503 TAC 9 INCREMENT 55 REG 9 524 Cust 04 594 SFP 4 CALL SUBRLUTINE CURSOR 25 562 CURSCR 506 6541 97 506 7 527 8 6542 FD OF 507 Sol INPUTsF 2 525 32 42 508 ed BEGIN 7 515 0646 30 OB 503 BR NKEY 512 Quae Fa 07 510 BEGIN CMND PUT ADORESS OF PAGE WITH STCREO iN REG 511 bY 511 mn 9 i eget ICE et 512 Coat 90 514 LCIE 513 A9 513 29
42. LD ROUNDED UP 1080 IF B C RETURN 1085 REM CHECK FOR OSCILLATION OF RESULT 1090 IF B C D GOTO 1130 1100 D C B 1110 1120 GOTO 1070 1130 REM PICK LARGEST OF B OR C 1140 IF B gt C RETURN 1150 1160 RETURN RUN ENTER NUMBER AND ROOT 49 2 THE 2TH ROOT OF 49 IS 7 ENTER NUMBER AND ROOT 64 3 THE 3TH ROOT OF 64 IS 4 ENTER NUMBER AND ROOT 100 2 THE 2TH ROOT OF 100 IS 10 ENTER NUMBER AND ROOT 1024 8 THE 8TH ROOT OF 102 IS 2 ENTER NUMBER AND ROOT 55 2 THE 2TH ROOT OF 55 IS 7 ENTER NUMBER AND ROOT 32767 2 THE 2TH ROOT OF 32767 IS 181 ENTER NUMBER AND ROOT 27 3 THE 3TH ROOT OF 27 IS 3 gt 8K EPROM Memory Board e ERATE E Tom Crawford 50 Brentwood Drive Stoney Creek Ont L8G 2W6 This printed circuit board wes developed to meet the requirement cf keeping system softwere Monitor Tiny BASIC etc readily available in ROM It is designed for the 44 pin bus used with the TEK 1802 micro computer See Figure 1 with several smell modifications The boerd will hold up to 8 2708 EPROM chips These chips occupy contiguous 1K areas in an 8K block of memory space The 8K block can be selected as 1 of 8 blocks in the CPU s 64K memory address space using on board DIP switches The address end data lines fully buffered see the schematic Figure 2 Power requirements for the board ere as follows Voltage installed 8K installed 5 volts typical 7 me meximum 10
43. RSCR 218 9517 218 NCTIVI CLC gt OCh 4922 22 0918 FF 38 24 08H Shas de e ECL ED 222 031A AE 222 PLC OEH Eg 21 0518 2F 224 CEC OFF 222 Cal 25 222 5 RETURN TO CURSCR 223 223 NOR IEEE AM CER 22 22 9 Jean A 222 SUBROUTINE AREA4 EN 2 22 i eer 2227 0510 227 AREAS GLC OFF 225 osit 28 228 SO OSH 22 0520 2A 229 87 NL B8V2 uet 230 0522 230 GLC OEH 231 o 0223 FF OI 231 SMI m m 2424 77 6525 432 FLL Otr 223 0226 Fe l 253 23 0328 At 23 Ofh 225 0529 55 235 SEF 5 RETURN TC CURSCR 256 0525 1F 236 uCl8v2 INC OFH 27222 6526 95 237 SEP 5 RETURN TO CURSCR 256 1 23 2 239 KOSERSESES SHES SESS TE SESE TSE SS 0046099006 666660666066 6090 0038929007001 4848 998 985444 240 SUBRCUTINE AREAS 2 242 Co2C BF 242 AREAS Oth 252 200522 Fu DL 243 __ 220086 01H E 522 gt 33 222 E NE disegni 2 5 0521 245 OCF E OEE MR OB r ACi OLH PET 234 241 FLO UE quoe ye UU ME UE 4 C535 ce 245 2839 0537 OR 28S _ PLU OFH 524 eet 255 ER N 221 Chay tk 261 NeTiv2 CEC 222 Qad 25 252 3 KETURA TU CURSCR 453 253 5 225 25 4 06 9 6999 99 99 00000949
44. T CURRENT PAGE SET UP R7 SET UP R13 SET UP R15 SET UP THE STACK SET UP TX ROUTINE 4 UP DELAY TO MARK MODE SET UP AND READ PAGE WHERE DATA IS SAVE IT OF TIMES TO PGM 2708 SAVE AWAY CLEAR OUT STACK AND SIZE SIZE OF PGM AREA IS 1K BYTES ADDR OF RAM AREA SET UP IN R2 GET DATA BYTE DISPLAY amp INC R2 CALL OUTPUT ROUT DEC BYTE COUNT GET IT ARE WE DONE CHECK HI BYTE CHECK AGAIN SET UP LOOP ee SSS s eses VER 1 7A RUN 1 SEC 2 DONE DONE 7 TIMES TO PGM ARE WE DONE JUST SIT THERE PAGE 24 LOCN OBJ CODE STMT SOURCE STATEMENT 1802 VER 1 PAGE 3 702 n n n n 71 OUTPUT ROUTINE 72 73 REGISTER USAGE 15 FOR DELAY SUBR 7 1 COUNTER 75 R13sCHAR INPUT 76 R12 LOOP COUNTER TT FOR TXENT 78 79 INPUTS D DATA TO BE SENT 80 81 OUTPUTS Q LINE SERIAL OUT 82 83 44 003E D3 8 TXRTN SEP R3 RETURN TO CALLER 003F AD 85 TXENT PLO R13 SAVE CHAR IN D 0 0 F808 86 LDI a 8 BITS PER CHARACTER 0042 AE 87 PLO R14 NUMBER OF BITS TO GO 00 3 88 REQ SET START BIT DO t r DF 89 SEP R15 DELAY ONE BIT TIME 00 r5 8D 90 TXSHIFT GLO R13 GET BITS TILL NOW 00 6 76 91 SHRC
45. TION USED REGISTER 7 22 2d s d U D USTD OY REGISTER 21 401 59908 5905 9655 69 6 09 95 0599908 090 0 5 5 06 695 2 665609 69299 9 5 422 402 403 402 E XT 424 45 CALL AND RETURN ROUTINES 425 405 a wee TET 2 i ER P ee ka 427 Chuo 88 407 CALL SAVE 2428 t 40 Sex Q2H 429 OYLE 96 Pa re 412 0525 13 419 S1XE 411 0561 86 411 aio CIR oO OE Ea ee E 13 Cove 55 13 03k 414 0254 bb 41 PHI 3 ais Cony 415 416 FLC Ook 417 0567 46 417 O6H 414 Osou 53 413 Pri 03k us Mes is 419 46 41 lca 06H 422 220 pic PLC SEX INC LEXA FLC LEX Pr GHI BRL kRE YGRO 08H SAVE O RESTORE 3 3 4 8968 9946 SEE ASE 5 SETUP P 9528 3 1 su 424 2 E 21 424 425 Gott 03 425 426 UB 426 421 6 421 923 056193 423 LAPI 020222220562 40 23 433 0965 43C 451 O t4 E2 31 432 9955 12 432 433 72 433 434 CCL 43 435 cuu 6 06966 455 4 VEY 96 35 437 98 457 438 05 30 DE 438 459 39 44 449 _______ LI 442 442 443 443 544 Saco 25 4 4 445 84 445 445
46. akville Ont Canada L6H 3H6 A question by one of our readers prompted me to write this short article His question was how to easily compute the cube root of a number using integer arithmetic a la TINY BASIC Going back in the memory banks I recalled that it can be shown that the Nth root of a number A can be computed by the iterative formula X n 1 1 N 1 A Xn n 1 for a square root we have the familiar X n 1 1 2 Xn A Xn The derivation of the above formula can be found in any good College Numerical Analysis text Taking Tom Crawford s article on A Tiny Basic Square Root Routine IPSO FACTO 7 page 44 a basis I came up with the general solution as shown on the following page Lines 1070 to 1075 evaluate Xn N 1 and line 1076 is the iterative formula Some sample data values and the corresponding results as found following the program High math strikes again Sample Program and Output 50 PR ENTER NUMBER AND ROOT 100 INPUT A N 200 GOSUB 1000 300 PR THE N TH ROOT OF A IS B 400 GOTO 50 1000 REM NTH ROOT ROUTINE RETURNS NTH ROOT OF A 1010 REM IN B WORKSPACE IS C D T Q 1020 IF gt 1 1050 1030 1 1040 RETURN 1050 B A 18242 1060 D 0 1070 REM COMPUTE B N 1 1071 1072 0 1 1073 0 0 1074 TS T 1 1075 IF T lt gt 1 GOTO 1073 1076 C N 1 B A Q N 1077 IF A A 2 B B 2 gt B 1 PAGE 28 1078 REM ABOVE TO SEE IF SHOU
47. and processor often interact aggravating the problem ELECTRONIC SPECIALISTS recently announced SUPER ISOLATOR is designed to curb these severe electrical problems Incorporating heavy duty surge spike suppressors the SUPER ISOLATOR features 3 individually 1 filtered 3 prong sockets Equipment interactions are eliminated and disruptive damaging line spikes and hash controlled The SUPER ISOLATOR an 1875 watt load with each socket capable of handling 1000 watts Severe power line spike surge and hash control is combined with interaction free operation for 79 95 Model ISO 3 PAGE 56 MEMBERSHIP RENEWAL CHANGE OF ADDRESS e The dues for the new club year September 1979 to August 1980 are as follows 515 00 Elsewhere ese rr woe 18 09 Canadian These new rates include provision for FIRST CLASS POSTAGE which should ensure that your of IPSO FACTO arrives as quickly as possible Do you have any friends If so they might well appreciate a gift subscription to IPSO FACTO New members are required to pay the full dues for the current year and will receive all the IPSO FACTO issues for the current year September 1979 to August 1980 issues for IPSO FACTO 1 12 are completely sold out Please make cheque or postal money order payable in Canadian funds and send to ADDRESS CHANGE CJ THE ASSOCIATION OF COMPUTER EXPERIMENT
48. and so forth Also CR will be shown as Jj With this in mind the commands will each be listed separatly with amp short description on each e 1 Execute AAAAd This command will transfer control to the user s program beginning at AAAA Before transferring control to the program D DF and all registers are restored In order to use a different X and or P value for the program change the byte at location S 5E to the desired value The new value of X P is what the computer will use for the user s program 1b Execute This command has two subfunctions If X P have not been changed X P defaulted to 2 3 execution of the user s program will begin at location 0000 If X P has been changed execution will be transferred to the location pointed to by the register defined by This second function is useful after a breakpoint has been serviced To resume execution after a break simply type This will transfer control back to the point of the break with the original value of X P that the user s program established Before control is passed to the user s program the monitor Will print SST and wait for an entry This will allow the user to activate his single step circuitry Note that the single step operation is accomplished by hardware only If single step circuitry is not implemented on the system change the byte at location L 33 from 39 to 30 7 If the user does have single step capability he ca
49. as such assigning responsibility for each issue to a different group of people Ideas on how we can keep Ipso Facto going at its present level in terms of both quantity and quality would be much appreciated Even better would be offers to take part in this undertaking Please give it some thought gt Steve N1es THE MONITOR Bossier City LA 71111 I did more and more machine language programming my Elf I realized that I needed monitor with more than the usual memory cassette routines After looking over all the monitors available for the 1802 I decided that none of them would meet all of my needs That s when I decided to design custom monitor for my Elf I then sat down and tried to think of what commands I would need now and in the future After much consideration the following 10 commands Were chosen 1 Execute X P can be set to any value except O or 1 2 Memory Examine Load 3 Register Examine Load Breakpoint Insertion Fill memory with byte Move block of memory from one location to another Search memory for amp varible length string of bytes Cassette Routines Save Load Verify either 300 or 1200 baud using named files of any length up to 16 characters modified Ipso Facto standard Another feature of this monitor is the ability to add to the command set without having to change any code in ROM This is accomplished by having the table lookup routi
50. at makes a voltage dependent resistor use it to modulate the output level by varing Q duty cycle but it could also be used to alter some other parameter as well Fairly fast attack decay periods be implememted using the optoisolator under program control Radio Shack supplies an excellent data sheet on the SN76477 and I have tried to design around their parameters PAGE H2 The program I have included is a modified version of Four Byte Delight with 8 Byte D amp setup sequence tacked to the beginning It references to page for the sequence tables and includes the 63 output strobe feature It you want to reference some other page change the byte at 0017 to the page desired I use page 0 because of chip 8 The short program at 0090 is independent of the first program and can be used by itself to check out the different byte effects Run this test program then enter the sequence 12 28 3C 4E 5A 60 70 8E via hexheypad using I key entry between bytes of course Presto Elf becomes R2D2 Now every I operation produces new sound checkout a new value simply enter the new byte and operate I again Example to lengthen the decay period BE enter and operate I sure to write down what you have entered for parameters because this simple program only shows the new entry and the resulting sound depends upon all the previous entries as well Now try test of the main program Enter 30
51. be read only file obviously on cassette tape or floppy disk They may be entered subsequently from a keyboard or written to a printer or display screen A directory is just another file A system directory contains all directly accessible files i e the physical devices or rather their descriptions Another directory contains the working files or rather their descriptions including a reference to the physical device in case of multi file devices Other directories on cassette or floppy are updated to and from this working directory This is one of the ideas of the UNIX system One of its benefits is the fact that i o handling is exactly the same thing as file handling as seen from a progam 3 Programs Internally programs use references numbers for the files which they using It is the task of the operating system or operator to connect a logical file of a program to a meaningful file of the current directory and thereby to a meaningful physical device before invoking the program 4 I O as Seen from the Program 26 A file is a sequence of bytes and is identified by unique identification in the program A file may be divided physically into blocks or lines and may be addressable byte addressable for RAM or ROM file block addressable for a floppy disk file What can a program do to a file a read the next byte b write the next byte increase decrease or set the byt
52. ce you accept that 8 bit hardware has limitations then you will find that CSTP is one of the best debug aids available for 1802 s As Paul says it turns your machine into a super 1802 if the program being traced manual or automatic single step by the way wants input then you have to give it input if it wants an interrupt then you have to give it an interrupt So set it into automatic single step set the time for each step and sit back to watch your program go Lovely The one which excites me though is CSOS Cuddly Software Operating System which is a rudimentary operating system hereinafter denoted OS that has great possibilities Let s see it allows you to add change delete and eraSe bytes in any page and block move data forward or backward within the entire address space 64K It displays full and successive pages on your TV It has 64x32 64x64 and 64x128 resolution if you have the memory and allows you to run programs you enter or load behind it Additionally there is a good discussion on how to alter and by implication design the characters displayed on your screen if you don t happen to like them Plus there are a few freebies in the form of patches which Cuddly Software will give you if you ask nicely However the beauty of OS is that it is task driven through task select table which can be altered e g ERASE PAGE fills the page with 0 use judiciously please but you could alter the function name t
53. cessive data will result in an increasing frequency Note that 56 toggles faster than SF This can be inverted replacing the 4049 buffer with a non inverting 4050 type but be wure to switch to Q outputson DD 4 1 amp 2 for active High logic The active High outputs of 1 5 TPB are combined through diode and gate inverted and applied to the 4515 decoder to Provide the data accept strobe pulse for the 4042 latches 1 ohm range trim pots may be added to the common leads of the amp A outputs which also presents a minimum value when all outputs are active High Two D A s may be combined to form a single 256 step unit if the resistor matrix is changed but each D amp A must be addressed by Separate program bytes 5F 67 step 247 or 15 X 16 7 Once the logic amp parameters have been set for the 5 76477 the only thing needed is the q output trigger pulse to activate the Sound This facilitates a wide variety of user programs since once the parameters have been latched all that is needed to produce sound is the 0 trigger you see one doesn t really need the 1802 at all it mearly adds speed and variety to the sounds one wishes to produce few switches and a push button could do well but much slower The little gadget wired to pin 11 of the SN76477 is a homemade optoisolator Just take an LED amp a photoresistor put them together using a bit of heat shrink tubing to exclude outside lignt and th
54. e included to preserve memory from being wiped out by misread tape 6 Verify 000 00 This command is the same as Load in every way except that instead of file being loaded into memory the file on the storage device is compared to the file already in memory If the two files match control will be passed back to the monitor If the two files differ the monitor will print ERROR IN XXXX One application for th s command is for checking if file was transmitted to tape successfully 7 BReak AAAA This command is used to set a breakpoint at AAAA Before breakpoint is inserted the bytes at this and the next two locations are saved along with the address of the break A SoftWare Interrupt Pseudo op bytes 22 79 D1 is then inserted When the SWI is executed by the user s program D DF and all registers except R 0 and R 1 saved and control passes to the monitor The monitor will then print BREAK AT AAAA and then restores the bytes that were saved earlier Note that due to this process only one breakpoint may be inserted at time However immediately after break has been serviced another breakpoint may be inserted One word of caution for the break routine to work properly either Priority Interrupt I C must be connected to port 6 or the port must not be used If this port is being used change the bytes at locations L and L 67 to free port If the routine still does not work make sure t
55. e a universal 2708 programmer it uses a 300 BPS serial interface The majority of the program involves serializing the data via the Q line HOW TO RUN THE PROGRAM Set up the EPROM programmer UART for 8 data bits no parity and 1 Stop bit Having connected the programmer via serial 29 ma loop interface serial 853232 interface or just a 4050 buffer key in the program on any memory page of the 1802 Next load the 1K of data you want to program 4 consecutive memory pages Call the program using R3 as the program counter If you want you can use RO as the program counter by changing location 1 to 90 and location 3e to a DO Once running the program expects you to enter the page number where the data to be programmed resides Key in the page number hold down the reset button down until the EPROM programmer is powered up Next hit the I key and go for supper it takes about 50 minutes to program the 2708 at 300 bps POSSIBLE ENHANCEMENTS ou could speed things up by increasing the interface speed to 1200 or 2400 BPS This could be done by re adjusting the 555 timer to run at 1200 16 Hz or 2400X16 Hz respectively speed constant at location 52 would also have to be changed If you are only programming 256 bytes of information you need not program all 1024 locations do this simply change location 21 to a 01 Well thats the software story the article is very complete on the hardware side Remember tha
56. e counter if the file is byte addressable d increase decrease or set the block counter if the file is block addressable e read a block 1 i e initialize a block transfer if f write a block the file is divided into blocks g open a file h close a file And that s most of it Whether a file is buffered queued nothing at all is of no concern to the program Example if the program issues a read byte the program may immediately receive a byte from a buffer continue or it will have to wait until Someone types a character on the keyboard Obviously program should be able to ask any file about its status and the actual values of its byte or block counters in order to be able to manipulate them Error recovery may require in some cases that the program provides procedure that handles errors but the normal situations Should be Input 1 Open the file for input read first block 2 Read all bytes one at a time 3 Close the file Output 1 Open the file for output 2 Write all bytes one at a time 3 Close the file write last block Update 1 Open the file 2 Set the byte counter 3 Read a byte 4 Decrease the byte counter 5 Write a file 6 Close the file All the work should be done by a file handler or i o manager i e blocking waiting for transfers and so forth 27 THE 1 Nth DEGREE Bernie Murphy E 102 i O
57. e printed to indicate to the user that a new command may be entered If the monitor does not find the string it will print NOT FOUND and return control back to the monitor One very useful application of this command is in converting programs from one 1802 system to run on another system I have already used this command to convert Netron c s monitor to run on my system and in relocating Quest s monitor to lower memory by finding and changing all long branches Besides these 10 commands it is possible to add more commands to the monitor This feature is due to the way the monitor handles unrecognized commands After searching the table contained in the monitor the COMM REC routine will then run across a 01 byte This byte signals the routine that the next two bytes contain the address of the next table to be scanned This address in the monitor ROM points to the location 5 6D This location in System RAM was initilized to 01 Q 00 After the search is transferred to 5 60 the COMM REC routine hits another 01 byte This time the new location 13 9 00 the first location past the monitor After transferring the search to Q 00 where there should not be any memory e the monitor will start the search again Since the byte at this location should be greater than 60 hex the monitor will realize that the command table has been exhausted Finally the monitor will print COMMAND In order to temporarily add commands to the monitor the user sho
58. ed hore end in Mr Mentei s letter if we wish our long term prospects to continue to be favourable Future Meetings The March 11 meeting will be held at Sheridan College at 1 30 P M as previously announced However the April 8 and May 13 meetings will be held back at our former location the Stelco auditorium in Hamilton These E will also begin at 7 30 P M 33 FOR SALE A L Van Ceulart o mom 4102 Tree Top Crescent Mississeuga Ont Canada 151 218 Tel 416 828 7799 Evenings 1 ASR 33 TELETYPE with Tape winder 1 ASR 38 TELETYPE with Tape winder 1 KSR 38 TELETYPE 1 INTERDATA MOD 4 16 bit CPU with 32K bytes of memory together with NCR305 Cabinet muffin fans and support rails Architecture of this machine is near 560 femily 1 SYS 3 MOD 10 Computer System 1 5410 Processor 16K bytes 2 5440 Disk Drives 20 Meg bytes 10 fixed 10 removeable 1 5424 Multi Function Card Unit Capabilities of print punch interpret merge sort collate 1 5415 200 LPM printer with 122 print positions 1 Set of maintenance documentation with cart 1 Card Cabinet for 96 col cards 1 Wright Line Optiomedia Cabinet for disk Packs 30 Disk packs for 5440 Disk Drives Complete Price only 20 000 Individual items can bc negotiated Assembly Listing for COSMAC Graphics Program inting here In response to a number of requests we are pr the assembly listing to the graphic
59. ent on both the type of memory mapped video display and the computer system itself This package was designed to drive a video display based on the 568047 or MC6847 If the display is not based on this I C change the three bytes at P EF to E2 E2 E2 These locations if left unchanged will output a byte to the 568047 to reset it to the alphanumeric mode Since both the port and the byte itself is dependent on how the user has the I C wired the control byte was left blank in the listing This I O package assumes the video display is mapped at location 000 If the video board is at another location change locations P A6 P AA P B5 P BE P D7 P El and P EC to reflect this difference The only three locations that are system dependent are P 97 P 99 and P These locations are used to drive the input and output Sortir of a Quest Super Elf Owners of different systems should change these locations to match their requirements 19 Mike Franklin 24 Duby Road Acton Ontario e A Comparison of Netronics and Quest Full Basic J 2 1 GENERAL NETRONICS QUEST Program address 0000 17 0000 29 Work space last RAM page 2A00 2BFF User space 1800 2 00 1 0 RS232 out 0 RS232 out 0 4 EF3 Variables unlimited any combination of 26 7 characters ARRAYS 2 none 26 A exp Z exp max DIM 255 STRINGS unlimited any combination of 26 A 75 characters ter
60. ep up the good work Eugene Hope someone out th can help Have in case there is a second file copy Edibor Some Thoughts on Device independent 1 0 Volker Raab Ramtenvy 30 DK8581 Nimtofte Denmark In issue 12 Wayne Bowdish presented a fine article about deviceindependent i o with just one mistake It s the same mistake that most of us software people including myself make most of the time he is aiming far too high Frankly I must admit that I rather like his ideas but we must not forget that our aim should be a powerful but TINY i o system What Wayne does suggest is an essential part of an operating system Of course no one can suggest any meaningful future software systems without an operating system in mind I feel that we should not invent operating system in bits and pieces and am not sure that the time has come to decide on THE 1802 operating system On the other hand Jim Howell has convinced me that an 1802 operating system should be a TINY UNIX system I would like Wayne to discuss his ideas with Jim before he gets too far There are however some principles I want to add to the discussion 1 About operating systems Any system should be a tiny system meaning that it should be based on a suitable collection of simple but powerful ideas 2 Files and Directories Files can be placed anywhere in RAM or PROM must
61. es a carriage return When I was designing this monitor I was using an output device that simply used CR byte OD to start a new line Therefore I designed the print routines based on this fact However the terminal on my friend s system needs a carriage return and a line feed This is not major problem All that is needed is to change the output vector to a free space in memory In this space the user needs to insert a little routine that tests the output characters for CR When a CR is detected CR LF should then be output Note that if the user has a memory mapped display he may use the video driver already in the monitor without worrying about this problem MONITOR LISTING J 8 62 Cl 02 7A 38 7B 05 1 06 F amp I ee F8 OD 05 OD E3 n 10 F8 5 0 8 5 16 81 75 7E FA 01 75 1C 93 F8 po Al DI Turn off 1861 Save Accumulator Set R 3 as PC Disable Interrupts Save D DF in System RAM Call RSGSAVE 22 90 B9 B2 F8 J BS B4 Initilize Registers 29 F8 16 Au eC F8 26 5 ar F8 FF 32 D4 I FD Call RAM INIT 35 5 6l RAM Load Address 57 CO p 47 46 System I O Vectors 3D CO I Ok SWI Program Vector 01 G 00 End of Table Ptr 45 Lec Lec Lg LEC Interrupt Vectors 7 4 L EC L 71 Interrupt Vectors 5 0 55 FF Subroutine Delimiter 51 78 02 AD Store T Register 50 F8 5E A Save X P Default Value 5 25 57 5D D4 J 11 Clear Screen 60 627 59 98 Do BREAK Routine i
62. ex D output Upon operation of the I key the program jumps to the selected location and displays the first 8 bytes from the table in sequence This sets and latches each D A converter on the 64 instruction The program then looks at the following data in 4 byte sections The first byte of this data is displayed on the hex display If 00 is encountered here the program returns for a new location to be Specified The second byte Sets the number of repetitions and the third sets Q gt 1 time and pause duration The fourth sets 0 20 time and pause If for example data continues for sixteen bytes four separate sequences will occur with new data displayed with each four byte set Upon PAGE 44 completion of the display the last to be repeated by desired merely enter sequences 00 detected the program returns to location selected This enables the same sequence just operating the I key If a new table is location and push I Any number of separate functions or devices can be software controlled using this method Program Listing Address Code Comments 0010 90 BB AC BD Set RB 1 RC 0 RD 1 to 00 14 F8 1B AD Define insert point in RD O 17 8 Define work page RA 1 1A F8 400 AA Access to RA 0 for location insert 1D ED Set index pointing to data in RD 1E 6C 64 Keypad entry loc display put RA O 21 2D Prevent advance of RD 22 3F 1D Return for new entry if I 0 C21 37 24 Hold loop
63. f Q Set 64 Dh J 11 Print BREAK AT 67 12 52 Al hB Save T Register 8D 59 19 77 49 49 AA Restore Saved Bytes 7B 1 EA 7E 19 75 49 75 09 DA 8 80 OF FE FC 3C AS Save Location of Break 9A 59 19 59 90 95 Print Location 95 D4 J 11 Print CR 96 OD 00 98 D4 J 11 Print Prompt 9B 3E 00 9D F8 40 A9 Fill Buffer with Blanks AO 29 F8 20 59 Ak 89 3A AO D4 J 36 Call INBUFF Dh J 65 Call COMM REC 13 BO B8 DO D8 EO 8 7 7B 3A 3A F8 58 Fh ED 20 A 52 OB 86 6 5 75 A5 A6 FO B6 REGSAVE 75 9E 75 RAM INIT Return Save Registers Initilize Duration Pitch Alternate On Off Do Pitch Delay Do Duration Delay Get Load Address Test for Delimiter Store Data Byte PSTRING CALL RETURN Return Save Character Print Character Test for Delimiter Return Return Save R 6 Save PC in R 6 Load Sub Address into PC Return Load Return Address into PC Restore R 6 89 32 56 e FB 08 FB 07 FF 3F J 11 00 EA 36 FF 20 59 19 7 8 OO A9 FB O1 17 B B 8A 6A 411 GF 4D hh 3F F3 32 5 96 6A 91 FF FB 20 BA F8 47 B5 45 00 41 00 00 0 00 42 52 4D FF 60 3 3A 3e 32 3B 25 3A bo 47 BD INBUFF 42 32 5B 36 36 COMM REC A7 7E AA 92 11 OO
64. for CR 64 Backspace 66 Line Feed 6B Space 6c Zscape 20 Check for valid character 23 Print it 78 Store it 7D Test for complete byte 81 Print CR 82 85 88 Increment Pointer e 030 BA Test for First Nibble 8F No so backspace 92 Print Backspace 2D 30 D2 8D FC 08 9D C 00 30 D2 8B Fb 33 1B F8 20 AA 30 E4 92 BD F8 8D F6 FF D4 J E Dk 67 D4 J 11 20 2D 20 4D BA OD D4 95 411 20 00 8B FA F8 D4 S 64 8A FB 1B 8A FB OD 8 FB 08 8A 20 8 FF 20 8D FF 5C Dh I EA 8B FA 02 eD 30 81 AD BD REXM HO AD 1E AA 00 AA 2D AB C2 M 6F 52 66 52 75 52 96 3B 28 28 5 05 33 4A 5 55 70 52 8 52 92 2D 50 5A Decrement Pointer Increment Pointer by 8 Test for First Nibble Yes So Space Print Space Set Up Register Pointer Calculate Number of Register Convert Number to ASCII Print It Print Print Register Contents Print Space Reset Flags Get New Data or Operation Test for ESC CR Backspace Space Test for Valid Character Test for Last Register Yes So Ring Rell Print Character Store It Test for First Nibble Print CR Test for Last Register Yes So get Operation Only Test for Last Register No So Increment Pointer to Next Full Register Location Test for First Register Yes So Ring Bell if First Nibble Print Backspace Decrement Pointer to Next Full Register Word 39
65. had the board After talking to some friends they asked if it would be possible to add a driver routine for a RS 232 device Since the monitor was designed to be independent of 1 0 there no restrictions on the type of 1 0 software used Even though I have not given much thought to an RS 222 scheme I am sure the software Uart routines in the monitor could be used to accomplish this 5 Input Buffer 64 characters wide Register Storage R 2 1 at S R 2 0 at S 41 RC 0 at S 5B DF of user s program Stored D register stored X P of user s program stored This value defaults to 2 9 For other values of X P change this location to the desired value Break location and contents stored Long jump to Input routine defaults to P 97 Long jump to Output routine defaults to P 9C Long jump to SoftWare Interrupt routine When the user s program executes a SWI bytes 22 79 D1 control is vectored through EA defaults to monitor location I 5 6D 5 6F End of table pointer This pointer defaults to the area immediately after the monitor It is in this area that I plan to put future additions to the monitor If the user wishes to add other commands this pointer can be changed to point to his table elsewhere in memory 5 70 S 7F Interrupt Vector storage Vector 7 is stored first followed by vector 6 and so on All vectors except vector 0 default to NOP Vector 0 defaults to the SW
66. hat when the interrupt port is read an FF is returned One disadvantage to this command is that a breakpoint can only be inserted in RAM However in later extensions of the monitor I plan to add interrupt driven breakpoint and SST software to eliminate this problem After a break has been serviced execution of the user s program can continue by using the Execute command Please refer to the Section on this command for further information 8 MOve AAAA BBBB The purpose of this command is to move the contents of the memory from AAAA to BBBB to the new location beginning at 9 Fill AAAA BBBB CC This command will fill memory from AAAA to BBBB with the byte CC 10 SEarch AAAA BBBB 00 CC This command is used to search memory for a string of bytes The general form for this command is SE AAAA BBBB CC CC CC where AAAA is the search starting address BBBB is the search ending address 10 and CC CC CC is the byte string to be searched for Note that the string can be any length up to 25 bytes long After this command o is entered the monitor will begin searching the target area If the string is found the monitor will print FOUND AT XXXX for every occurance of the string After the monitor prints location it will then wait for any key on the keyboard to be pressed The user should then press key to start the search again After all searching is finished a prompt will b
67. itution they must advise the club of the subject of their ammendment and have it distributed to the menbership prior to the May meeting Fred Feaver moved that the next meeting at Sheridan College begin at 7 30 Feb 12 to permit more time for club discussion The motion was approved The topic for the night was a demonstration by Vern Lowe of AMP of Canada a manufacturer of electrical connectors He presented a talk on the use of industrial connectors and answered questions on particular applcations and on problems d buss expansion gt 64K Decoding for Tektron Memory Dan Carrigan This circuit has been designed to decode and enable memory boards which only decode for 16K The decoder enables memory in 16K blocks The two most signifi cant bits of the address are latched by a latch 741 574 and decoded by the AND gates 741 500 One immediate application that comes to mind is for people who own Tektron TK memory boards These boards only decode 16K of memory so if anyone wants to expand beyond 14K and still use the Tektron A memory it can be done easily with this little circuit Continued on Page 54 52 Continued from Page 20 Unique Netronics Math Chip Function DEG radians to degrees INV inverse trig IX I X EX LWX natural log MS memory store MR memory recall PI PI constant POP pop stack ROLL roll stack RAD degrees to
68. ixer 1 1 VCO Act 4 2 1 8 Pin 27 Pin 25 PIN 26 Pin 22 0 0 0 VCO 1 INT 0 0 0 1 SLF 0 1 0 N 0 1 1 VCO N 1 0 0 SLF N 1 0 1 SLF VCO N 1 1 0 SLF VCO 1 1 1 INHIBIT Program 64 22 00 Display keypad entry B5 25 95 3A OB Q gt 1 Pause on 1 00 Return on 0 the keyboard a 36 is output latched to level 6 D A 3 is selected and 36 INSTRUCTION LATCHES 3 AvALUE 0 4 pk Tm 62 63 63 61 62 556 T Q Syo CR VALUES FIELD n RF RS T RANGE OF 12K TO TE ALEE Tur 705 Zw ji STEPS QV Dy Q3 BY ay ag 13 0 ALAP ta ev SEL vo VCO iM DIODES TO 4042 5476477 PREVENT HIGH Qi ST D 2 Ete DEC TRIG NTT out ER our TNPUTS FROM 7 DY EC 3 V COMBINING IN THE t R LADDER OUTPAT 00 m REVERSE DIopES ENABLE T S HANDSHAKE To IS ENABLED UE LATCH FROM pe 10K Q INSTEAD 65 4 ius L Ex OUTPUT 19 18 0 26 15 3 INH puoro snot AMP 4515 adir on ies jo WIR pp DIGETAL To DEGETAL LATCHED 2 INPUTS LA e ph TO ANALOG LATCH 3 INfw7S CIRCUIT SELECTS THE GE LATCHED ON D A DIA DIA DIA DIA DD DD Gy OUTPUT INST 9 663127 THE
69. knowledge my share of the guilt have some ideas 1 been meaning to write up but just haven t done it Shame on me also want to thank you and the rest of the IPSO FACTO staff past and present for your efforts have reaily enjoyed IPSO FACTO It is the main reason went 1802 instead of buying a Z 80 starter kit Good luck Ken Mantei In reviewing this letter must first acknowledge that the large gap between issues 14 and 15 was partly the fault of the editorial staff it really Is hard to get around to things during December with Christmas shopping parties and so forth points he raises however are as relevant to A C E as to the Elf of the Valley club Our articles have tended to become quite advanced and speciaiized both in the hardware and software areas and while the response to the newsietter has been generaliy good can t help wondering how much of most issues is really useful to most members PAGE 32 A major root of these problems is the fact that a large number of our members have never expanded their systems beyond the 1K level and so are unable to run the majority of the software which we have published On the hardware side people who do not have a technical background are often Intimidated by the amount of knowledge necessary to get the hardware projects working properly We have not experienced as steep a fall off in contributions as Mr Mantel s group has knock on wood bu
70. lso a routine has been included the PLL routine to receive and decode these tones into a binary 1 or 0 The only other difference is the checksum byte In my software I did not complement the checksum mainly because for a long time I did not know how this method worked However it took about the same number of bytes to do it either way and I really did not want to hand re assemble the monitor all over again Since the standard was modified anyway I decided that this difference was insignificent 5 Load ccc cc 2 This command is used to load memory with a file name of 000 0 from storage device The monitor will search for this file name while printing FOUND CCC CC for every other file 1 skips over If the programmer wishes to only load the first file found he can type L UP Also there is no need to select the baud rate The monitor will select the baud rate from the first letter of the file name Please refer to the Save command for an explanation of this format 3 9 There are two possible error indications associated with this command If parity error occurs the 0 light will come on but loading will continue If checksum error occurs the monitor will then print CHECKSUM One exception to these conditions is if parity error occurs in loading the header information If an error occurs here further loading will stop and control will be returned to the monitor This featur
71. minated with 72 characters max 95 characters max MATHAMATICS Reverse Polish Notation normal format Scientific notation 8 digit Floating point 8 digit mantissa Floating part and 2 digit exponential value 0 17 E38 5 digit mantissa Interger 2147483648 Line range 0 to 65535 to 65534 65535 is Qo auto END line length 72 characters 95 characters Execution mode direct direct program with line program with line Serial Baud rate to 300 to 3000 BASIC COMMAND SET identical or equivalent commands in both languages REM LE 1 5 clean screen clear data NEW clear program area RUN PRINT or PR END e LET GO TO IF aas THEN 20 INPUT input data form keyboard LIST GOSUB RETURN FOR STEP NEXT PEEK POKE BYTE MEM calculate available program space SAVE cassette programme Save LOAD cassette programme load DATA load and read data string READ RESTORE resets data pointer TOG F I MODE sets math function RND random number generator TAB cursor contro math operators math comparitors gt lt SIN COS TAN SQUARE absolute value LOG INTERGER Unique Netronics Commands DEVICE 0 3 selects I 0 device SETK P Q select serial baud rate EXAM list all variables in use EXCL delete variable from program INPORT input hex data via ports 1 7 OUTPORT output hex data via ports 1 7
72. n chose to single step through the program by pressing a Y on the keyboard The program then loops until the hardware is activated Once the circuitry has been activated pressing any key on the keyboard will start the single step operation If the user does not want to single step through the program any key on the keyboard except Y can be pressed Control will then be passed to the target program 2 MEmory examine AAAA This command is probably the most used command in the monitor It s purpose is to examine and or load data into memory After the command is entered the monitor will print the location hyphen and then the data If the byte is also valid ASCII character between 20 and 7F the monitor will also print the character This feature is useful for observing text in memory There are five subcommands available They are the carriage return line feed space back space and escape keys There functions are as follows carriage return key will close the current location and then open up the next location for examination modification The line feed key will close the current location increment the pointer by 8 and then print the contents of the new location Pressing the space bar will step through memory one nibble at time Any bytes spaced over are not changed Pressing the back space key will accomplish one of two things 1 If the second nibble of the byte is being observed the back space key will mo
73. ne vectored through System RAM The first application of this feature 111 be the addition of EDITOR ASSEMBLER to the monitor Also future plans include a BASIC Pseudo Compiler to be called by monitor command The actual operation of this feature will be discussed in more detail later on in the article Other miscellaneous niceities of this monitor include 1 Totally transparent to the calling program D DF and all registers except R 0 and R 1 are saved 2 I O vectored through System RAM This allows the user to dynamically change the I O device while the program is executing 3 Eight Level Interrupts supported 4 12 utility subroutines available to the caller s program through the SCRT subroutine convention As mentioned earlier in the article this monitor requires a block of memory to be dedicated as System RAM This block 256 bytes can be located anywhere in memory However I recommend 9800 since the Quest Super Elf already has memory there The purpose of the System RAM is for temporary storage of the buffer register save area stack and other varibles used by the monitor Future additions to the monitor will also use this RAM A memory map of the System RAM is shown in Figure i After this monitor was written and debugged I noticed I had a little memory left over in the P page Not wanting to waste good memory I decided to include software to drive a keyboard and memory mapped video display since I already
74. o ZERO PAGE and relocate it within the task table Thus by implication you could add your own routines e g read write totape or disk write to printer display graphics jump to language etc which means thatyou could come up with pretty good operating system Finally Paul is helpful you can t answer the questions on his configuration sheet just tell him what you have got the hardware line e g a standard Netronics Elf II with Giant Board etc does the rest 11 in all a very good package worth the money Editor s note We have had other favourable comments Cuddly Software well Their address is Cuddly Software 98 Thorndale Terrace Rochester N Y 14611 PAGE 54 Continued from 51 AT A6 TPA 0 74 574 741300 I6K BLOCK ENABLE DECODING Errata Day of the Week Program Michael Mirsky INC 10 De Quincy Blvd Downsview Ont M3H 1Y5 Following are some corrections for the day of the week program that appeared in issue 15 Line 170 was omitted It should read 170 IF 999 GOTO 60 Line 80 should read 80 K 60 10000 100 M 100 Sorry about these errors I don t know how I let them slip by Also it should be pointed out that the program works because of Tiny s integer arithmetic If full Basic with floating point arithmetic is used the program will have to be modified using the INT function for
75. o assure 01 Sbr Selects Byte sequwnce if 0 00 and disassembles the byte into nibbles These are restored in the original registers after being processed OO4D 90 Set LR4 to 00 to initialize 81 LR1 to LR3 8 251 23 83 51 Dec R3 and loop until 00 0 0 times 55 39 SA MS If 0 0 and R3 0 jump to Q to 1 5T 30 5B otherwise 0 20 goto R4 timer 58 5 9 gt 1 14 84 A2 Ine R4 and to LR2 22 82 5 Dec R2 and loop until 00 0 1 time 62 398 7 if 0 0 goto 0 to 1 63 64 30 68 0 20 goto R1 timer 67 7B TUR 9 gt 1 68 21 81 50 R1 and loop until 00 6C 39 if 0 0 goto 0 to 1 30 T2 0 50 goto pause timer now 71 0 21 start pause timer Sbr e If 0 enters this Sbr as 0 it leaves as 1 and v versa Sbr transfers Data through R1 2 3 making 0 1 0 decisions to achieve and incrementing 0 21 or decrementing 0 20 duty cycle DATA 708 gives short D cycle DATA FT long duty cycle E 0072 85 83 Save LR5 pause in HR3 slow p 74 23 93 3A 74 Dec R3 and loop until 00 p timer 78 31 3D T If 0 1 0 attack and pause is complete 3rd byte return to get Decay and pause 26 86 32 82 Dec R6 Rep value if 00 goto Pg check TE 2A 2A 30 302 Rep NOT 00 then backspace 2 bytes D and return to reinitiate Att P cycle 82 8A 3A 36 LRA 0 0 nto end pf pg return to start next Byte sequence 85 00 00 00
76. oad on any page in memory Address Code Mneumonics 00 5 LDI set high address of page to loade should be 00 if 1st page 02 BF PHI F 03 F8 LDI set low starting address of area to load If on page 1 must be 12 05 AF PLO F 06 EF SEX F 07 6c INP 4 08 64 00T 4 09 2F DEC X 0A 3F 07 oc 6C IMP 4 OD 64 OUT 4 OE 37 OE B4 10 30 06 BR 12 STK if set for page 1 Address 01 will be the high address of the page to load Example 00 for page 1 01 for page 2 etc Address 04 will be 00 if loading any page but 1 If loading on page 1 first 256 bytes address 04 must be 12 After loading display and appear to shift to left Pushing input will load data into memory starting at the address sent into the program If program is set to load on page one address 01 is 00 and address 04 is 12 after loading reset computer and load the first 12 bytes as normal Perhaps some one can take this program and incorporate it with some existing monitor systems SOFTWARE FOR THE 2708 EPROM PROGRAMMER Murphy 192 McCraney St PAGE 22 Oakville Ont Some of you may have considered building the EPROM programmer that was written up in the December 1978 issue of ETI but hesitated due to the lack of software This article solves the 1802 software problem for you program to run the EPROM programmer is shown in listing 1 11 60 hex bytes of it HOW IT WORKS nce the ETI programmer was designed to b
77. of the ending page and CCC CC is the file name The file name can be any length up to 16 characters If name is not 16 characters long it will be padded on the right with blanks If the name is longer than 16 characters it will be truncated Before going on to the next command some discussion on the format is needed When I first designed these routines I wanted it to be compatable with the Ipso Facto standard However I also wanted longer file names than one character After thinking over the possibilities I decided on the following format 1 At least five seconds of mark 2400 hz at the beginning of a file 2 411 data bytes are 8 bits plus one start bit even parity and two stop bits 3 Tape format file name 16 bytes Any ASCII characters between 20 and 7F Start address 2 bytes hi then 1o do byte count 2 bytes hi then lo byte data bytes n x 256 bytes checksum 1 byte Checksum formed by adding all bytes excluding file name and checksum Besides the obvious advantage of having longer file names another advantage of this format is the ability to have the data rate at either 300 or 1200 baud In order to Save or Load files at 300 baud the file name should begin with 5 as the first character of the name If the file does not have the preceeding S the monitor will assume a 1200 baud rate Finally the monitor does not reguire any additional hardware All Kansas City tones are software generated A
78. r data address timing and MRD and MWR leads to facilitate system expansion A system interconnect from Netronics to ACE buss will also be given proiority Two boards are already proto typed and debugged an 8K Eprom board and a wire wrap board A 16k 2114 RAM board with the MC6847 colour video circuit on board is currently being debugged Boards in design include a Kansas City Digital Cassette interface Real Time Clock and dynamic RAM Production and sale is expected to begin in the spring All boards will be sold etched drilled and plated through with gold edge connectors No parts will be sold with the boards On the subject of incorporation the club directed the Executive to investigate further the insurance option and to report the cost of insurance verse incorporation at the next meeting MINUTES OF MEETING JAN 8 1980 The president reported that liability insurance was not available at a reasonable price compared to the cost of incorporation The Executive had examined the two options and concluded that incorporation offer the best protection to the Executive Editors article Authors and to the membership at large should a law suit arise from slander economic or physical damage to an individual using hardware or software writes up in Ipso Facto or from the use of one of the club s boards The Executive will continue t develop the requirements for incorporation and proceed with the process them selves to minimize costs
79. s program for which object code was presented in the last issue to use and will It is hoped that this will make it easier aid in overcoming any problems which might be encountered Continued next page eee 38 C WOSURIYDTRUHUTTOE GIU n us 77 4 2 TSE 3 i M 4 4 SLERCUT INE INIT 5 5 e amp o SRM Nix 1 0400F FF 8 STACK ECL ACCRESS STACK STARTS S 0920 09 y CMND ECU 9 PAGE WHERE COMMANDS START 10 BE KREADO CR 95 19 ECL AT THIS FIGH ADDKESS CUMMANUS RECYCLE TO CMN 2400 0 2350 11 LER SituP LONG BRANCH USED TJ AVLIC CFFPAGE SHORT RANCE 42 3 te 95 12 INIT HIGH URDER INTERRUPT ADDRESS 13 0405 ul 13 PRI 1 14 6456 Fa 14 114 CROER INTERRUPT AJDRESS 15 Ai 15 FL 1 16 2 C4CS9 FE 99 16 LCI QSH CLEAR 256 BYTE PAGE 090 OsFF 17 17 Pri OAH le Call Fu FE 18 OFFF e 15 J 5b AA 13 PLU OAH greco ag ge ae che ee eo 22 O40F EA 29 SEX OAR 0410 20 21 CLEAR LEI OOF E t 22 0 12 73 22 23 28412 oh 25 OAK 2 tu FF 2 XRD 25 C416 19 25 7 UNI CLEAR a E 22 2414 FU 25 25 DUMMY HIGH ORCCR ADDRESS CF DUMMY LUCATIGN ed 200414 ut 21 _
80. s the circuit and program for my 44 pin experimentor s board The board incorporates a small Super Strip to accomodate any configuration of or parts All inputs and outputs are tied to Molex type pins to facilitate patching via small jumpers to this strip This way the user can assign functions of hardware The board could include 8 more D A converters but space didn t permit Rather than flowcharts the listings have been presented with a number of symbols Underlined bytes are relative jumps with an arrow indicating direction The numbers indicate the LSD of the jump address A bracket under a byte indicates a byte altered within the program 0072 85 B3 Save LR5 pause in HR3 slow p that can be modified to produce other effects I like to start programs at 0010 to leave room for expansion so be sure to use 30 10 for access end of page halt at 0082 provides a gate to some other program Program Narrative The program starts at location 0010 occupies a half page of memory takes data sequentially from tables on page OF These tables preset 8 D A converters and very 0 on and off duty cycles The D amp and Q outputs set parameters on an experimental 44 pin expansion board Parameters can be defined as logic levels Dto R or D to values on a Super Strip socket 0 functions as an overall output level control and trigger The table location on page OF is selected via keypad entry and is displayed on the h
81. t if you decide to build the programmer do not skimp on the capacitors You should only use high quality mylar capacitors in the timing circuits Good luck References 1 EPROM Programmer Electronics Today December 1978 p 29 2 An RS232 Interface IPSO FACTO issue 5 p 4 LOCN OBJ CODE 1B 0031 0032 0033 003 0036 0037 0039 0034 003B 0030 00FF OBJ CODE BB 3432 9B 3A32 28 88 1 00 STMT STMT SOURCE STATEMENT 1802 VIA THE 0 LINE REGISTER USAGE STACK EQU 00FF SEX R2 GHI R3 PHI R7 PHI R13 PHI R15 LDI A OCSTACK PLO R2 LDI 2 5 PHI R2 LDI OCTXENT PLO R7 LDI A OCDELAY PLO R15 SEQ BN t BY INP OUT PHI Ra LDI 125 PLO R8 LDI 0 PLO R2 PLO RS LOI PHI RS GHI R8 PHI R2 NXBYTE LDX OUT SEP R7 DEC R9 GLO R9 BNZ NXBYTE GHI R9 BNZ NXBYTE LDI SOURCE STATEMENT 1802 PHI R11 TIMOUT DEC R11 GLO R11 BNZ TIMOUT GHI R11 BN2 TIMOUT DEC R8 GLO BN2 NEWCYC IDL PAGE 23 VER 4 eee THIS PROGRAM IS DESIGNED TO PROGRAM A EPROM RO RI FREE R2 5TACK R3eMAINLINE P C R7 TX 0 OF TIMES TO R8 1 WORK R9 ADDR OF DATA R1LO FREE R11 0 WORK R1i2 DELAY WORK R13 TX SUBR WORK 1 COUNTER R1S DELAY P C STACK ADDR STACK IS R2 GE
82. t the appearance of advanced articles in IPSO FACTO seems to have had the effect of Intimidating potential article writers whose projects are not the same lofty level This is really pity because it is precisely these more elementary leve submissions which are of use to the largest number and which can help reduce Instead of enlarging the gap or should say chasm which seems to be appearing In the membership On the hardware side club sponsored projects such as the standerd backplane memory boards and various other items will it Is hoped help a large number of members to build their systems up to the point where they will have access to more of the material which we have published This is e fairly necessary development since do not think that the club or newsletter can be vieble for very long if we cannot present material requiring at least 8K memory without bypassing a majority of the membership Applications for smaller systems have certainly not been exheusted one area that comes to mind is use of micro s to control household systems end eppliences but It would be very difficult to put Together a whole newsletter or even a significent portion of it dedicated solely to topics of use to systems in the size arca hasn t been my intention here to present a picture which 15 an gloom and doom The possibilities for continuing success are ere must however address the problems rais
83. uld change locations S 6E and S 6F to point to his table of new commands This table should consist of the new commands in the following format Command Abbreviation Delimiter Byte Address of routine XXXX 00 XXXX Following the table of new commands a FF byte should be inserted This will signal the COMM REC routine that no more tables will follow Note that if the user adds some temporary commands he must change the end of table pointer in System RAM every time he enters the monitor If he wishes to add permanent commands all that is required is to locate the new command table at location Q 00 There will be no need to change any other locations As mentioned elsewhere in the article this monitor was designed to be system independent However there are a few locations in the listing that should be changed to reflect differences in the 1802 systems These locations are shown below Location Byte Purpose I 00 62 Turn off 1861 Video I C L 35 3D Loop on no keyboard input flag L Read interrupt vector port eo L 67 66 Write to interrupt acknowledge port 82 36 Cassette input flag P 88 3E Cassette input flag This monitor has been extensively tested for any errors on several systems So far the monitor has been successfully used on the Quest Super Elf and Netronics Elf II However one quirk was discovered while running the monitor on a friend s system This quirk concerns the way the output handl
84. ve the cursor back to the first nibble 2 If the first nibble of the byte is being observed pressing the back space key will close the current location decrement the memory pointer and then open up the new location Finally the escape key will exit the Memory Examine command and reenter the monitor 3 Register examined This command is used to examine or modify the registers that were saved from the user s program After the command is entered the monitor will print the number of the register being observed R 2 is the first register examined a hyphen and then the two byte contents of the register These registers are later restored to the original program through the use of the Execute command There are four options associated with this command They are the carriage return space back space and escape keys These options are basically the same as the Memory Examine options but with a few differences The first difference is that the options now operate on two byte data instead of one byte The second difference is that the monitor will not allow the user to space beyond R F or back space past R 2 If the user attempts this the console bell will be rung 8 SAve AA COC CC This command is used to save memory blocks in increments of 256 bytes on storage device The general form for this command is SA BB OCC CC where AA is the number of the starting page is the number
Download Pdf Manuals
Related Search
Related Contents
Pioneer DRM-6NX User's Manual User`s manual for diving lights FINN LIGHT Polycom VSXTM 6000 User's Manual [ MANUEL D`UTILISATION ] OA機器基準(PDF:468KB) Руководство по эксплуатации Hot Dog 2 1 Seleccionar Imprimer le manuel de MiteGone Copyright © All rights reserved.