Home

Issue 7 February 1980

image

Contents

1. CHIP 81 CHIP 8III is a modification of the Panett one and code contained in the above referenced articles The purpose is to try to provide an upgraded CHIP 8 completely compatible with the original Hopefully the input output instructions provided will be suitable for most applications dealing with I O If future articles standardize on CHIP 8III readers will benefit by not having a different version of CHIP 8 for each ARTICLE MES the eee ports The following Jn rue ions are added to CHIP 8 by CHIP SIII Se VX input port if key is pressed VX n0 if no key depressed EF4 is used as the input flag FXF2 VX input port Waits for a key to be pressed amp released EF4 is used as the input flag FXF9 Output port VX Make the following code additions to CHIP 8 as given under each function name EE FXOO 0100 3F Db BN4 jif no key pressed set VX 00 exit 0102 E6 SEX R6 set I O pointer to VX 0103 6B INP 3 set input put in VX 0104 D4 SEP R exit The above code is similar to that in VIPER 2 04 05 By changing location 0100 from B4 to BN4 the routine fits into 5 locations By changing location 0101 data D4 to 04 the above routine is exactly equivalent to Tom Swan s But it is one byte shorter making his modification to the interpreter unnecessary The above routine will function 2 07 06 as is in the sample program Tom gave but it s additional feature of
2. VOLUME 2 ISSUE 7 AN ARESCO PUBLICATION FEBRUARY 1980 2 50 TABLE OF CONTENTS ED TORTA Dar ed VPN o NE EE PA O C 2407202 PUBLISHER S NOTES n dae de oar dae Pase aD READER 170 adod ss Seg ae ek Dia 1d ra DD CHIP 8 EE CHL POOL pet dh town deed xa 0s ve Oh OhibveLewSsllssuwa2r072 06 Little LOODS eee v3 OM Walls was vvv 7 09 MUSIC Musicode e o wax scsdalblbertJgeUulllr ux 2075 12 GAMES Killer RODOUSZQe E sek ac css Carmelo Cortese 22622407 716 MACHINE LANGUAGE Super Duper 3 Way Memory Diagnostic Tom Swan 2 07 24 MISCELLANEOUS Advertisements RCA 0 L53 20 1203 Corrections Awtrey s FOOTBALL game iidem 207703 Ordering Informations ARBESO s 66h99 we ce vega 0 31 Please note that the January 15 pre publication price for the third volume of PIPS for VIPS was well received We were able to print 200 copies altogether so there are plenty more at 19 95 with the program tape Thanks to all of you who pre paid and walted so Long for your order ATTENTION We have a new editor Be sure to read this month s Editorial and of course the publisher s notes for a real pleasure 2 07 00 Pr o erro or OOOH OEE eo OTOH HD CEO HPEOH CEES EHEF OE SER OOO SEECHE SH oros 09 90v FOOTE SHEE ES 9o00000b9909 0v Doro 3 504902 9 U9 99 479 HH OHH o osooso SHEED S 000000 EVE DDO ODES eos HEE ser oo ooo oon s o ooo OO SO He 0 o 0
3. Microcomputer Assembled and tested Features e RCA 1802 Microprocessor e 1K Bytes static RAM Expandable on board to 4K Expandable to 32K Bytes total e 512 Byte ROM operating system e CHIP 8 interpretive language or machine language programmable e Hexidecimal keypad e Audio tone generator e Single 5 volt operation e Video output to monitor or modulator e Cassette interface 100 Bytes sec e Instruction Manual with 5 video game listings schematics CHIP 8 much more Ideal for low cost control applications Expandable to full VIP capability with VP 114 Kit User need only connect cables included a 5 volt power supply and speaker 399 New low price The original 091 99 Completely assembled and tested All the features of the VP 111 plus A total of 2K Bytes static RAM Power supply 8 Bit input port 8 Bit output port O port connector System expansion connector Built in speaker Plastic cover Three comprehensive manuals e VIP Instruction Manual 20 video game listings schematics much more e VIP User s Guide operating instruc tions and CHIP 8 for the beginner e RCA 1802 User s Manual MPM 201B complete 1802 reference guide COSMAC VIP lets you add computer power a board at a time With easy to buy options the versatile RCA COSMAC VIP means even more excitement More challenges in graphics games and control functions For everyone
4. Readers are encouraged to submit material of interest to VIP owners However it must be understood that the function of the VIPER is to duplicate the materials and to mail them out to other VIPER readers We cannot pay sigh for your efforts In time perhaps E 9909909999999 9522539200500 9999995999099 t 9090505 5595 520960090099 099909 05909000582 beboere P 5 0900590099002502509900999959U00099 0920600095 90090405 THERES 00802 9525505000025 FHM ES One 2250909505 00 029 992999 SOPH HH HEHE o5s 5 6002908 9090900000p90oc9 900009 592525530060 9282909596009 9055050000 025009092909 EHD L9 99000090803 23523 9590909 0900 52509 0009 50909805909920990029 V 959609 FHM ES DHE 89990065 999000 HH HH HEH 0052 0 9590 ER 6990600909 9 509 5 0 596909989090900200050 500660605b060990622509960060 SEH 05909909 00 580060255 090096009 009 0 000800699 050050059253956099558060 09 00058 505 60000 60 95090 90506 0950995 099 00955 05506506609 00 RR S R tu09a49229560022000025 599090 6 4909500990 9 9002520609000990G00920999 5099000000059256000000900909900909 95220900909 204029230990009 0990502900009 090990 00009 0099 0000 9096000090 0299090 2 7 000999 0900552 55580060009 09090079 DHE 006 EEE EE SEL Se 059089 609000090999 0o00 590 502009990000009099909009206500002009009000060 00090999500909009 0569200006006 00909090800 90009090006029 409 009050 06008099060 092000092 69009999 CHM FF 9290520006005 8060959 0509
5. from youngster to serious hobbyist Built around an RCA COSMAC micro processor the VIP is easy to program and operate Powerful CHIP 8 inter pretive language gets you into programming the first evening Complete documentation provided Send the coupon now Complete the coupon below and mail to RCA VIP Customer Service New Holland Avenue Lancaster PA 17604 Or cali toll free 800 233 0094 to place your Master Charge or VISA credit card order In Pennsylvania call 717 397 7661 extension 3179 Please send me the RCA COSMAC VIP items indicated O VP 111 New low cost Microcomputer See description above O VP 114 Expansion Kit for VP 111 Includes 3K RAM I O Port and connectors 76 VIP The original VIP Microcomputer See description above 1 RAM On Board Expansion Kit Four 2114 RAM IC s Expands VP 711 memory to 4K bytes o 36 D VP 590 VIP Color Board Converts VIP to Color Four background and eight foreground colors sssss O VP 595 VIP Simple Sound Board Provides 256 programmable frequencies For simple music or sound effects Includes speaker O VP 550 VIP Super Sound Board Turns your VIP into a music synthesizer Two independent sound channels On board tempo control Outputs to audio system ssssssss 49 4 Channel Super Sound Includes VP 576 expander demo cassette and manual Requires VP 55
6. 04 59 08 60 88 5B 10 59 59 10 57 58 54 H 4c 58 59 04 59 98 60 59 8 57 88 59 10 57 08 54 94 4a oh 62 65 88 62 19 5B 08 60 8h 6h ob ho 04 60 54 08 57 88 55 10 52 08 50 92 4C Oh Ez ALO BL Figure 1B PITCH CODE DURATION DURATION CODE Full note 01 Half note 02 1 4 note 04 1 8 note 08 1 16 note 10 1 32 note 20 Enter ED or EE at end of mugic list 900 T ANER SKS o ESO ES e N999sd82997888 d99SdEpSSTQQUS EDODERESBSSOSSTSMS OUVOR RH SATANS ORE VASSAVROS eo eae eae psensya Aann OR OS A2SRSRSAVS SL LADA SABRAS 10 57 08 HU 60 08 28 57 88 88 5B 10 0 62 98 88 57 10 00 00 00 FC 2 O AD OOO Nr C e WS UB OON ONDA re CQ NO C CO QN o N MN Q QOr gmoo oou mm BONEA mOoONuodo ONCE AONO ONAF OM NO C fu C2 O O t e M ROA ERSEIADE 3 fe NOA ON t CO OO 3 08 e 08 e Et cz C E CO PA 63 OA aa OSSB2SSESRSSE E 3 SaaS SSORELS SAG AARAG ADS SOHOSH 2 07 13 foo 102 Figure 2 LOC PITCH DUR LOC PITCH DUR LOC PITCH DUR LOC PITCH DUR CODE CODE CODE CODE CODE CODE ___ CODE CODE Moe 78 bo Igo AAA 184 186 e EE 88 0l 06 08 OA OC 8A 8B i 8C SE re DO eS oy oS Be sure to enter ED or EE at end of list Stop playing the tune E E Repeat the tune continuously D B CODING SHEET FOR MUSIC MAY BE COPIED 2 07 14 The VIP hobby computer Start programming for only 99 New VP 111
7. 30 ERROR DETZCTED 00B0 F8 LDI Set RF 00E0 a B1 00 n A B2 BF PHI RF B 3 F8 LDI o EA EO B5 AF PLO RP uw we y B 95 GHI R5 Store error byte in R5 E7 D STR RF 3 At OOEO via RF B9 85 GIO R5 BA SF S TR RF 1 BB F8 LDI 203 tone value BC OF PD AS PLO RE sSound tone PE P8 LD 302 timer value RF 1F 00CO B8 PEI R8 Set timer 2X tone C1 98 GHI RE Test timer c2 3A BNZ If 0 loop to kill time C3 c1 Ch 30 BN Then repeat to beep C5 BB IIA RA eee eee ere eee eve rede n ee eee ee hee KR 880 8188 ropa rr rro rr ee oes s rr rr rr rr II EE rar rss AAA AAA Ar Arras roo rss asas asas III Sme nere Beet Per HOE OH etes obese arm FE HOO HT HD ESTE OEE HED eee RECEDED EHO EOD as b 8eevEgebteoeveasiaedeseut ecos nn meo BETEOD SH EH EOE EERE OOOO DOO Hs prerorsrorosorssosner drove SEI Oe EEE ee OEE OTE E e EET Oe re voee s HE EOTE ETO T SELLE ESE Heme HEH REED D OOOH OOS st OHHE THEO e THEO Ee CHOOSE LOOSE 5986 ORES 9 99606020400002909975085 944 ERRE III munens OH OHH rere OH SOO vere teser t dec CEEEEH HERE HHT eHE REL EEE EEO EE EHS FOO HERES BOER E URES HELO Ee HMO STOO HESS CHOU OLED 09000949900290 v0005200802 9 0 ser eo eee mos booten ORDERING INFORMATION On a blank sheet of paper write your name address city state and zip code And if you plan to use a credit card for payment write the card number and expiration date If you re using Mas t
8. 8589 8674 2364 6D 6A12 6899 690g 23F8 38FF 24FE 39FF 2532 48FF 132E 2608 1316 HOFF 15AA 132A 23BC 0708 23BC A3D6 DgT78 3F l EE D T8 1334 A368 69g 6189 D811 613F Dg11 70491 3049 134A 693F TlFF Dg11 69g Dg11 DO TITLE DO BORDR DO WALLS DO ROBOT DO ROBOT DO HUMAN OF ROBOTS DO KEYP DO RMOV1 DO RMOV2 YES GO NEXT DO MESS GO MLOOP YES GOTO WIN NO GO BACK DO PICK DO PICK RBITS YES RETURN NO ERASE GOTO ROBOT BBIT LOOP TILL DONE 362 3121 64 1358 66 EE J BBIT 368 X 8999 HUMAN 836A 23BC 6C 818g 6E 23BC 376 8299 72 A3DE 74 D128 76 3Fg1 78 ggEE TA D128 T 136A WALLS g3TE 6284 938g 23E6 82 818g 84 23E6 86 A3CE 88 Dg18 8A 3Fg1 8C 1392 8E Dg18 399 1382 92 72FF 94 3208 96 138g 98 EE TITLE 39A 6ggg 9C 6118 9E A3AC G3A8 M244 A2 D 15 Ay 6C9 A6 24AC A8 9238 AA EE MESSC BAC 2G4B AE 494c 3B 4C45 B2 5228 B4 524F B6 424F B8 5453 BA ggg LOOP TILL DONE DO PICK DO PICK HBITS RETURN DO HUMAN OF WALLS DO PICKY DO PICKY WBITS NO GO ANOTHER GO TRY AGAIN dis LOOP TILL DONE RETURN MESSC CALL MESSAGER TIMER ERASE 2 07 17 PICK V3BC BE 0308 C2 C4 BOXES 3C6 C8 CA CC WBITS 3CE 3D D2 D4 RBITS 3D6 D8 DA DC HBITS V3DE V3ED E2 EW PICKY V3E6 E8 EA C T A3C6 FY
9. ABE 2479 14EC HADI 14 FA TAFF 2334 059g 0678 EE 69FF EE A3D6 D348 8Bl 8c2 9B3 1518 8B35 AF RBITS LOOP TILL DONE DBIT1 DO DD1 DBIT2 DO DD1 NOP YES GO SKIP DO ROBOT RBITS YES GO NEXT 73F8 2 07 19 51 12 14 16 18 1A 1C lE 0528 GO SHOW NO GO OVER GO DEAD DO RDES1 RBITS YES GO NEXT GO SHOW GO OVER GO DEAD DO HDES2 HBITS DO HDEST CALL MLS1 MESS5 SUM CALL MESSAGER 5D BACK B5DY D6 D8 DA DC DE 6C8g 24 AC 923g A6TC g24u DDE5 6E198 A688 g244 DDE5 6C8g 2H AC 230 A6B4Y 6E1g g244 DDES A6CA 6E18 g244 DDE5 g5Eg 15D4 15D4 15D4 5E4 23 A696 6E1g g244 DDE5 6E198 AGAN g244 DDE5 6098 24AC 0239 A6B4 o6E1g g244 DDE5 ACH 6E18 g244 DDE5 FF A 3F F 15D4 SEA 23 1342 DO TIMER MESS6 CALL MESSAGER MESST CALL MESSAGER DO TIMER J MESSA CALL MESSAGER MESSB CALL MESSAGER CALL MLS3 GOTO BACK NOP NOP CALL MLS1 MESS8 CALL MESSAGER MESS9 CALL MESSAGER DO TIMER MESSA CALL MESSAGER MESSB CALL MESSAGER NO GOTO BACK CALL MLS2 GOTO START 2 07 00 MESSI 9638 3A 312 12D4 g19B FF3 BBD4 29B FC 3 BBD4 DODD DUDO PLD DDD PHO PLO 290g gggg C T 4ggg QUEE 4991 A638 aggo EE 4993 A648 4Agg QUEE 4995 A656 4gg6 Q PEE AggT A661 6C39 24
10. I can not to introduce errors into an author s code Though the initials of my name suggest a relation to a famous microcomputer my middle initial is R I am only human darn it and errors are bound to occur I will walk the psychological gangplank for each one Carmelo s Killer Robots in this issue is a good example I hand loaded the program directly from the typed code you See printed here and it ran perfectly If it doesn t work for you then something was either dropped at the printer unlikely or you have made a loading error somewhere In the past Terry and Rick understandably didn t have the time to hand load each program We do and in most cases we will We includes my wife Anne who does all my dirty work such as typing this editorial etc Nice game by the way Thank you Carmelo t As Terry has always said your comments and suggestions are welcome The VIPER is building an accumulation of original VIP programming knowledge and we want to add your contributions To those of you who have written we look forward to hearing from you again To you who intend to write go ahead pick up a pencil and send us your ideas Don t be left on shore We sail with the tide Anchors Aweigh Best pegards and good luck with your programming TOM Tom Swan editor 2 07 02 PUBLISHER S NOTE We are delighted to have Tom with us At last we have an editor who is truly qualified to answer technical questions
11. V8 0 If so branch to display the sorted results Here s an undocumented Chip 8 Sort Test 3 that will do this which you may use to test either sort sub as described last month 0200 66 00 67 00 6D OO Ah 00 The insertion sort is made 0208 FD 1E FO OA FO 55 88 OO for this technique of sorting 0210 7D 01 FO 29 D6 75 76 05 on the fly because of the 0218 23 00 38 00 12 06 60 04 assumption that all records 0220 FO 18 66 00 67 08 6C OO are already in order before 0228 Al 00 FC 1E FO 65 FO 29 an insertion is made 0230 D6 75 76 05 7C 01 5C DO me 0238 12 28 12 3A 00 00 00 00 NEXT MONTH PRIME TIME 2 07 11 E MUSICODE by Gilbert Detillieux The advantage of the music program described in the January 1979 VIPER is that both the hardware and the software required are very simple The disadvantage is that encoding music can be long and tedious especial when a lot of 3 4 3 8 and 3 16 notes are to be played These durations must be a since they are not given the table mat oince the computer is betfer equipped for Radius Bonne calculations that we are why not make the VIP do the dirty work This is what I ve done with MusiCode The user can enter simple codes for pitch and duration and the computer will calculate the required frequency and number of cycles to play MusiCode uses the same hardware as was Shown in the January 1979 VIPER The new codes for pitch and duration are shown in Figure LA and 1B For each note ente
12. counter sStack pointer is R2 Prepare to turn on video sVideo on Reset stack pointer Start main loop Increase R4 to next memory page sFor test 0100 first time through Also set display to view page tested Set RF 0 00 test byte holder TEST A FULL PAGE R4 R5 R5 R5 R5 R8 R8 Reset set R5 to test page t 4 3R5 will be work register RF Get test byte from RF O Store at test location Next location Test if R5 0 00 If X 00 loop to fill page with value in RF O Load R8 1 with maximum timer value n v Test R8 1 decremented each interrupt 2 07 27 0054 55 94 B5 BNZ GHI PHI GLO STR LDN XOR BNZ INC GLO BNZ INC GLO BNZ GHI PHI GLO STR STR SEX SEX SEX SEX LDN XOR BNZ INC GLO BNZ INC CLO BNZ GHI PHI sIf 0 loop to waste time here go n st R4 R2 R5 R5 R5 Reset R5 to top of test page R5 om RF 0 holds current test byte sPush test value onto stack Get byte from location being tested Compare with byte on stack If X branch to error byte in R5 R5 1 for next byte Test if R5 0 00 If not 00 loop to test full page sRF 1 for next test value Test RF 0 jIf 0 loop to do full range of test values Test A ends when RF 0 00 again TEST B BYTE BY BYTE R R5 RS sReset R5 to top of test page R5 0
13. into CHIP 8III It should have been done long ago Tom 2 07 07 LITTLE LOOPS by Tom Swan IT S GETTING BETTER ALL THE TIER The little Mexican children when they come to visit love my VIP Their favorite game is the Figure Shooting at Moving Target El Senior chicito con la Pistola The little man with the pistol is what they call him and they all burst out laughing whenever someone reminds them of him They also cannot understand why my CRT monitor does not pick up TV stations So it s bad isn t it they ask me Big kids aren t always so impressed The one comment I hear more often is Well it s ok but it s so slow Ihen a few months ago VIPER ran an article on amp Fast DXYN instruction which is limited to displaying one bit at a time It was amp nicely done program and is quite fast But when I attempted to convert a game such as Wipe Off or El Senior there was no easy way around the one bit limitation 1 certainly didn t want to construct El Hombre out of singie dot DXYN s For a long time this whole question of soeed worried me As I thought amp bout the Chip 8 display instruction I came to realize that Chip 8 s slowness just didn t make sense The computer is certainly capable of top speed graphics but Chip 8 sure doesn t seem to be Why not Then on the upteenth journey through Chip 8 s mysteries I discovered a very interesting fact about the display sub with the help of VIPER s Vol 1 is
14. where the operating system normally begins to run when you flip the run switch up while holding Key C down P is set equal to 2 and the operating system begins running in R2 That s it not too complicated but a neat trick you may want to steal for your own stuff Best of luck REGISTER ASSIGNMENT RO DMA pointer set in interrupt R1 Interrupt program counter at 8146 R2 Stack pointer at OOFF and down R3 Program counter starting at 0013 R4 Holds test page address R5 Work register for byte manipulations R6 e R7 Not used R8 R8 1 timer R8 0 tone both in interrupt R9 Not used but changed by interrupt routine RA Not used RB RB 1 hold display page RC Not used RD Not used RE RE 1 highest page to be tested RF RF O used to hold test values 2 07 26 001F 21 22 24 25 26 27 28 29 2 2B 2C GHI PHI PHI PHI BR LDI PHI LDI PLO IDI PLO LDI PLO SEP SEX DEC INC GHI ADI PHI PHI LDI PLO GHI PHI GLO PLO GLO STR INC GLO BNZ LDI PHI GHI 3 WAY MEMORY DIAGNOSTIC RO R2 R3 R R1 R1 FF R2 3RO 1 00 on start R2 1 00 initialize stack pointer IR 1 00 PC R4 1 00 d test pointer Branch to patch 8 00A0 sInitialize R1 8146 sFor use as interrupt PC 3R2 0 FF to complete sInitialization of stack pointer 00FF R3 is ready to become PC R3 is program
15. 0 you would place the value OF in 00A2 At 00A5 place the address of the last page of memory to be tested If your memory extends to 1FFF insert the value 1F in 0045 Also make the following change 0092 F8 LDI 93 XX Insert high on card address Place the value of your highest on card RAM page at 0093 to insure a proper return to the VIP operating system when testing off card RAM For a 4K system this would be the hex value OF 3K 0B and 2K 07 2 07 25 FURTHER NOTES The program is straightforward an should be understandable with the help of the comments to those of you with a little 1802 experience You do not need to understand it to use it of course Nothing wrong with that If you like developing your own system software you may be interested in the section that causes an automatic return to the VIP operating system without having to reset flipping to run with Key C depressed It offers a unique way to end a program such as this memory test First all memory is cleared except for page O with the routine at 0089 008F though this step is not necessary At 0091 the video is turned off It will be turned on again momentarily but we need to use R1 which serves as the interrupt program counter while the video chip is on After turning the video off R1 is set to the address of the last byte of on card RAM The operating system needs this address to set up the display properly Next R2 is set to 8028
16. 0 and K O VP 711 d6OcO a o ceo s O VP 44 O VP 551 AM ios oi ON 74 O VP 570 VIP OE Expansion Board Plug in 4K RAM memory 95 O VP 580 VIP Auxiliary Keypad Adds two player interactive capability 16 key keypad with cable Connects to sockets on VP 590 or VP 585 20 O VP 585 VIP Keypad Interface Board inter faces two VP 580 Auxiliary 15 Keypads to VIP cc cece cece ee des O VP 560 VIP EPROM Board Interfaces two 2716 EPROMS to VIP 8 34 O VP 565 VIP EPROM Programmer Board Programs 2716 EPROMs With software esee O VP 575 VIP Expansion Board Provides 4 buffered and one unbuffered expansion sockets ss 59 O VP 576 VIP Two Board Expander Allows use of 2 Accessory Boards in either I O or Expansion Socket O VP 601 ASCII Keyboard 128 character ASCII Encoded alphanumeric KGyDOGIQ A si eee EORR 65 Enclosed is Add your state and local taxes O VP 611 ASCII Numeric Keyboard Same as VP 601 plus 16 key numeric Keypad A br eC ei a 80 C VP 620 Cable Connects ASCII keyboards IO VIE otopeni ese droite err erat 20 O VP 700 VIP Tiny BASIC ROM Board BASIC code stored in 4K of ROM 3 O VP 710 VIP Game Manual Listing for 16 exciting games sesee 10 O VP 720 VIP Game Manual i More exciting games Available 2nd qtr 80 10 O MPM CD
17. 1E F 65 EE Trl 1918 2928 3938 DAA5 5ABD BD5A A55A 3C 2424 1824 4208 18 1866 1824 2489 C T A3FY F LE Fgo5 QUEE g020 1918 2428 3418 FEJA A3DE D128 4Eg1 1426 4Eg2 1439 4E 3 1436 EGY 1449 BOXES SBOX HBITS GO UPLF GO UP GO UPRT GO LF 4EgO 1446 4E97 144C 4HE G3 1456 4EgO 145C D128 4Eg1 1566 EE 3198 71F8 3266 72F8 141E 329g T7278 141E 3138 7198 32898 72F8 INIR 3199 71F8 141E 3138 71198 141E 319 71F8 3238 7298 141E 3238 7298 141E GOTO RT GOTO DNLF GOTO DN GOTO DNRT GOTO DEAD GO SHOW GO SHOW GO SHOW GO SHOW GO SHOW GO SHOW 2 07 18 3138 7198 3238 72498 141E D348 6C 8 24AC D348 EE D568 6cg8 24AC D568 EE D348 6Eg1 FE18 A3D6 6EfF D348 D348 EFF 3E BD 1484 AYB6 2466 A4BE 2466 A4C6 2466 HABD 14A8 TAFF 2334 8302 S479 VUEE 68FF EE FC15 FC T 3C 14AE PORE GO SHOW DO TIMER DO TIMER RBITS LOOP TILL DONE DBITI DO DD DBIT2 DO DD DBIT3 DO DD YES GO SKIP DO ROBOT LOOP TILL DONE DBIT1 VUB6 B8 BA BC DBIT2 UBE G4CP C2 C4 DBIT3 G4C6 C8 CA CC RDES2 UCE g4Dg CUED AA55 AA55 AA55 AA55 55AA DDAA 55AA 55AA AA55 AA55 AA55 AA55 D568 6Eg1 FE18 A3D6 6EgF D568 D568 TEFF 3E 14D8 AUB6 2479
18. 2200 90 9 0600400 0999099 EDITORIAL by Tom Swan One year ago almost to the day I dug out one dusty neglected COSMAC VIP and decided to write a group of articles and programs with the hope that some readers would pass more easily over many of the hurdles I had had to claw my way around in my never ending attempt to learn more about programming The project grew into the PIPS FOR VIPS series and the overwhelming response to PIPS publication has shown me just what an insatiably curious eager to learn determined bunch you VIP people are Wonderful 1 feel as though we are all aboard the Santa VIPER Maria headed into uncharted waters set upon discovering new worlds And I can t tell you how pleased I was when Rick and Terry faced with the management of a growing company asked me to become one of the officers of the ship Would I edit the VIPER from now on You bet As your editor however I m more the cook in the galley than the captain on the bridge The VIPER is your newsletter a vehicle for relaying your experiences to other VIP programmers Each issue of the VIPER has been prepared and will continue to be prepared from the stores in the hold You tell us what you want to eat and we ll do what we can to whip it up from the raw material you bring on board One thing I hope to accomplish is a thorough check of the programs printed here Now I can t purchase a new video board just to check out a driver routine but I des do what
19. 709070 0o b 0600992090o009090990 999290000509990 HEODEE OHHH Ds BEBE Le CHEE ESL EES Seve CH TESS bosb t 00 2 deb ES 999 5v Opener 9 09 99 95 CEH OHHH OBESE SESE eee sett BEDE Cred vo rettere APN Sheds 09 96r 659 09020900920090980499599090550080 999990 5 0909952 OHOD HH P9 96 o 290090900699257 0900055 BH seere G9 9009 9495 090 999005 HOSE es COHHED EERE AEE ERE EEE SEH EEHDE se roret oc e ooo pre 05209009 0909 99 05v 49 90 v 09609600962209090 990099090905250000999990 5 999095 ESO 6596509 999990909209 9900 09 9923 c eG0 00 09 Geo 999 5 905 00s SHOE SAHOO Ds 6 500905409a090c00098259090900099 es svoger dte Oa ee ROO OE 002009 000 e 500900 9 GO 96 v 956900000209090900260090060909955000052099990 Seere C000 090909 O 906290000999c0 099029 000909090 O5 009 Soppe 09802 O0 0000 0 92425 0994090509000995002059259090909 0 c 9 5 9995 SUBSCRIPTION RATES ADVERTISING RATES amp OTHER INFORMATION The VIPER is published ten times each year by ARESCO at 6303 Golden Hook Columbia MD 21044 and mailed to subscribers on or around the 15th of each month except June and December The single copy price is 2 per copy and the subscription price is 15 10 issues of the current volume Subscriptions do not carry over from one volume to the next and readers who want less than the full volume should send 2 for each issue desired Renewals are accepted during the last two months of
20. AC SEN g239 6E18 g244 DDE5 6C38 26E2 SEA EE 2852 554E NOT USED tf M MESS1 MESS2 MESS3 MESS4 DO TIMER CALL MLS1 CALL MESSAGER DO ERASE CALL MLS2 284C 494B 452g 4845 4c4c 2199 2 07 21 MESS8 MESSB 696 292 g6cy 2828 98 2024 C6 5354 9A 414C c8 4152 9C 5249 CA 5428 9E 4748 CC 4147 6GA 5421 CE 4149 A2 SOAS ZOD LESS MESSY HDEST SOAL 20240 Q6D2 FE18 A6 594F D4 6E15 AB 5526 D6 D128 AA 4D41 D8 D128 AC 4445 DA TEFF AE 2849 DC 3Eg VOB 5421 DE 16D6 B2 9999 V6EY GEE MESSA ERASE Q6B4 5852 g6E2 24A B6 4553 Ey 923g B8 5320 E6 EE BA 4B45 DE BC 5924 BE 462 DOCU 544F ce POPP LOADING INSTRUCTIONS This program uses the e page display described in the sep tember 1978 issue of the VIPER with the changes made by Tom Swan as described in his book Pips for Vips I These can be found in the Chapter intitled Character Designer on pages 82 amp 83 next you must load his Messager program at 244 making the changes desribed on page 192 Then load 2 pages of the character set at 8744 again from his Character Designer program Last you must change the byte at 25E to 7 and the bytes at 24D and V28B to FD Then load 4 pages of the progran starting at 39g Flip up the reset switch and play HAVE FUN 2 07 22 ASCII encoded keyboards as low as 65 The RCA VP 601 keyboard has a 58 key typewriter format for alphanumeric entry The
21. P1802 User Manual Included 201B with VP 711 Please send more information for items checked plus shipping amp handling charge of 3 00 Total enclosed enclose LJ check or O money order or charge my C VISA Bank Americard O Master Charge Credit card account No Master Charge Interbank No Signature required for credit card orders Name please type or print Street address State amp Zip Expiration date City Telephone Make checks payable to RCA Corp Prices and specifications are subject to change without notice ERR VIPER KILLER ROBOTS By Carmelo Cortes First before I describe the game I d like to thank Mr Tom Swan for his books Pips for Vips I and II For without his utility programs Text Editor 21 Assembler 3 Chip 8 Program Editor and Messager I would have never written this program You see I am the lazy sort when it comes to programing I hate the drudgery of figuring out all those soto and subroutine add resses And with Assembler 3 I don t nave to worry about all thats carn put my full concentration on writing the program Also the Chip 8 Program Editor allowed me to easily work on and debug my program after assembly And the Messager Program lets me display messages so easily I wonder how I did without it before Do E d iik to say Thank You Tom for putting the FUN back in Chip 8 programing for me N
22. P700 BASIC in that it s tiny amp slow When I first connected a keyboard an AMkey to it the automatic repeat on the keyboard 8 sec after a small delay was faster than the BASIC response and led to multiple repeats unless I was fast with the fingers Luckily I was able to get one of the RCA keyboards and my previous problem was not repeated I had intended to use the keyboard BASIC combination to learn new vocabulary words but I was disappointed to find that this BASIC only inputs numeric data and not alphabetic info Aha I thought I ll add a machine language subroutine but this BASIC turned out to be closed to that way also I think there might be some hope if I try working with the CHIP 8 II and some additional routines for display etc At least this BASIC does provide for some nice graphics oriented commands which leads me to start thinking about the light pen recently mentioned in da VIPER Eric Nabel 2 07 04 Dear VIPER In the August 79 VIPER Al McCann requests a one page version of Ben Hutchinson s circuit diagram and also asks if the RAMs are wire ORed together Feeling the need for a clearer diagram myself I prepared the sketch Shown here I followed B H s diagram in the February 79 VIPER as faithfully as I could I hope I have not introduced any errors It is evident that the tri state RAMs are directly connected Since the same diagram also appeared in the April 79 IPSO FACTO and was redrawn w
23. VP 611 15 additional offers the same type writer format plus an additional 16 key calculator type keypad Both keyboards feature modern flexible membrane key switches with contact life rated at greater than 5 million operations plus two key rollover circuitry A finger positioning overlay combined with light positive activation key pressure gives good operator feel and an on board tone generator gives aural key press feedback The unitized keyboard surface is spillproof and dustproof This plus the high noise immunity of CMOS circuitry makes the VP 601 andVP 611 particularly suited for use in hostile environments The keyboards operate from a single 5 volt DC power supply and the buffered output is TTL compatible For more information contact RCA Customer Service New Holland Avenue gt Lancaster PA 17604 RG A Or call our toll free number 800 233 0094 du pe opone user price Dealer and OEM prices available 2 07 23 SUPER DUPER 3 WAY MEMORY DIAGNOSTIS by Tom Swan If you are experiencing unusual difficulties setting your programs to run you may nave a bad memory chip Though your VIP manuel contains a simple memory test it is not e Id io catch what could be subtle defects in RAN Plus it is difficult to test ail of memory as that program was written to do only small seotion at a time way memory diagnostic will put your VIP through the paces E a manipulations that duplicate most any condit
24. about the VIP Welcome aboard Tom About the light pen We ve had enough positive response from readers that we bought up a carload of the pens printed up a bunch of manuals and can offer them to you at 19 95 per package No cassette tapes The manual gives listings of the demonstration programs which are in BASIC so they can be translated into CHIP 8 or machine language So now we can take orders folks anybody interested RCA is doing some advertising with us these days let s en courage them to do so by ordering products from them instead of through ARESCO We don t make a profit through sales of RCA products and they can ship directly to you instead of through us which should help the turn around time a lot Rumored VIP 11 is being retooled to include a conventional keyboard completion date tentatively late February Seems too good to be true in light of past rumors that the VIP 11 was being dropped altogether We ll keep you posted as the plot thickens PIPS IV now only a twinkle in its author s eye is beginning to take form rapidly No orders yet please since we haven t even been able to get Tom to hint about the contents Jeff Duntemann has published an 1802 oriented booklet Captain Cosmo s Whizbang 5 00 It s the most entertaining reading we ve come across in a long time and jampacked full of good hard information for 1802 aficionados A must for your 1802 library and available from Jeff he prefers
25. already 00 RF Get test value RF 0 00 to start R2 Push test value onto stack R5 And also at current test location 3 NOP s kill time R2 3 R2 y et H R2 3 AJ R5 Get back value from test location Compare with value on stack 311 X branch to error byte in R5 Next test value Test RF O If RF O ii 00 P to test next value R5 R5 Next test location Test R50 sIf R5 vio 00 loop to test next ES TEST C SEQUENCER M RS Reset R5 to top test page 2 07 28 GLO STR INC INC GLO BNZ DEC GHI PHI GLO PLO LDN STR LDN STR LDN STR LDI PHI GHI BNZ INC DEC GLO BNZ INC LDI PLO LDN STR GLO XOR BNZ INC INC GLO BNZ DEC R6 R5 RG R5 RF R5 R5 Get initial test value 00 Store value at test location Next test location Next value Test RF 0 I f 00 loop to full page with sequential values 00 FF Reset R5 to last byte on test page Set R6 to first byte on test page 3 i H sBegin exchange Push M R 6 Get M R 5 Store 8 M R sPop old M R Store 9 M R Timer value Put in R8 1 auto decrement Test R8 1 sIf 4 00 loop to ki11 time here Next location down Next location up Test R 0 If A 00 loop to continue exchange TEST SEQUENCE Reset R5 to top of test page Make sure RF O 00 first value i Get value at test locat
26. cash rather than checks and orders must be prepaid by writing to him at 301 Susquehanna Rochester NY 14618 The Studio II RAM Card is ready at last 45 without the two 2114 RAM chips completely assembled otherwise With all the necessary paperwork of course Our thanks to Paul Everitt and David Hall for their contribution they designed it to the effort As many of you have guessed and phoned or written to tell us there were a few errors in the FOOTBALL program by Frank Awtrey see issue 2 05 12 John C Hanner was the first to call and let us know something was wrong with our listing damn I worked overtime on that one and had two other people check it In any event here are the corrections with our thanks to all of you who have helped us spot the errors Change location 05D7 from 20 to 30 O6CA from OD to 00 OD30 from FB to F8 I guess three errors in all that code isn t all that bad but it is such a nuisance to anyone who tries to punch in the E Again I apologize See you next month Joy 2 07 03 READER 1 0 Dear VIPER Don King one of your subscribers and I have developed several programs for VIP Tiny BASIC including a crude version of STAR TREK We are also working on doubling the tape data rate and sending the tape data over the telephone lines acoustically coupled to eliminate problems with direct connection to the telephone lines Thank you for providing a newsletter for and about the most
27. er charge there are four other digits above your name the In terbank number and we need that number too If you want us to ship your order via UPS COD give us a street address not a postoffice box number and write COD instead of the credit card number Then write down the name of the product you d like to receive and put it all in an envelope with your check if you re not using a credit card or COD and mail it to us PIPS FOR VIPS VOLUME 1 19 95 PIPS FOR VIPS VOLUME 11 19 95 PIPS FOR VIPS VOLUME 111 19 95 PIPS FOR VIPS VOL 14 95 VIPER VOL I or VOL 11 15 00 without the program cassette Studio II Stuff PROM Card assembled 55 00 MicroStudio News 10 6 issues RAM Card assembled but without the two 2114 RAM ICs 45 00 Backplane Card 4 connectors mounted not soldered 36 00 Please note that you have to bring two signals out from the S II in order to use the RAM card All appropriate paperwork is in cluded with the card you order We also have the RCA service manual amp Studio II schematic 3 50 and the 1861 data sheet 1 50 You can get the original information package which will tell you how to do the conversion on your own without buying our cards for 5 00 Can t hardly lose can you i Y 200731
28. ion Push onto stack Get current test value Compare with byte on stack 311 X branch to error R5 contains bad byte Next test location sNext test value Test if R5 0 00 rif 2 loop until page is tested R5 set to next highest page R5 points to last byte current page 24 07 29 0083 84 86 87 88 0039 8A 8B oC 9D 8E SF 00A0 AZ Ad AL A4 BE 30 06 GHI STR GHI XOR BNZ LDI STR DEC CHI BNZ DEC OUT SEX GHI PHI LDI PLO LDI PHI LDI PLO SEP PLO GHI PHI BR R5 R2 RE Test R5 1 Push R5 1 onto stack Get saved value of top memory page Compare with byte on stack If loop to do another page Test ends when R5 1 RE 1 NO ERRORS EXIT ROUTINE R5 RB R5 Begin erase of memory sStore 00 byte M R 5 Next byte 3 Test R5 1 If 4 00 loop to erase all but last memory page RETURN TO OPERATING SYSTEM R2 1 e RE R1 R1 R2 R2 R2 R4 Ri RE Prepare for turning off video Turn video off NOP see notes on testing off card RAM RE 1 contains high on card RAM page Put in R1 to duplicate operating System start up conditions R1 OXFF Set R2 no longer stack pointer now to 8028 where the operating system begins running normally on Key C run Call operating system exit memory test PATCH s R4 0 00 Get high memory page Store in RE 1 3 Branch back from patch 2 07
29. ion RAM Likely to experience during normal program runs and then o Even pattern sensitivities are unlikely to escape rutiny Should your VIP pass this test you can be sure your memory is as good as Dumbo s If rot you ll know exactly where the error occurred Y bee r3 im po o 44 C UL E HOW TO OPERATE gt Toad the following machine language program starting at 0000 then save one page also at 0000 on tape for future uses Flip to run and the test will begin All available on card RAM except for 0000 OOFF will be tested if you suspect an error in the first 256 bytes of RAM you should switch that chip first with a known good one then run the test There are three parts to the test and each page is displayed on sereen while it is being tested 1 TEST A Full Page Each page of RAM is filled with bytes from 00 to FF then the full page is checked for accuracy 2 TEST B Byte by Bytes Each byte is filled with values from 00 FF and each value is checked for accuracy 3 TEST C Sequencers An entire page is filled with a sequence from OO FF The sequence is swapped front to back twice then checked for accuracy The test advances through each page and will end automatically when the last page has been tested This will hold true for 2K 3K or 4K systems At the end of the test provided there were no errors all memory from 0100 CXFF OXshighest on card RAM page is cleared to 00 bytes and an automatic
30. ith errors I am submitting a copy of the sketch to ACE as well In PIPS FOR VIPS Volume 1 page 31 Tom Swan presents a cursor on off subroutine for Text Editor 21 located at 03C0 03D2 The function can be performed more elegantly in 10 bytes instead of 19 by substituting an SDI 7F for the XRI 20 at location 03C7 and eliminating the code from 03C8 to 03DO Subtracting 32 from 127 0 yields 95 and vice versa which effectively Compliments the cursor ach time through F Rodgers Switzerland 03C6 OF LDN RF get current value 03C7 FD SDI 7F g Subtract it from itself its alternate value 03C9 5F STR RF put back new alt value O3CA D5 SEP R5 return B T 9 bytes now free RF must be initiated to 20 6 Editor s Note From the sun baked Sierra Madres of Mexico to the snowy peaks of your Alps thanks You are quite correct Tom DOUBLE BUFFER GRAPHICS SPEED UP 2 07 05 CRIBSOT IL Hon John Chmielewski VIPER has published various modifications of CHIP o 7 implement input output instructions Using the VIPER page code scheme the articles are as follows 1 03 04 CHIP 8I by Rick Simpson replaces BMMM with BOKK B1XO amp B1X1 1 07 27 Corrected CHIP 8I code there is still one error in the function B1X1 but it works 2 02 08 I O PORT DRIVER ROUTINE by James Barnes adds i amp FXF5 but has no provisions for VES TAIRE EF y 2 04 05 KEYBOARD KONTROL by Tom Swan adds FXOO to
31. ments If you d like a reply I d appreciate receiving a stamped self addressed envelope due to the number of letters I receive Eventually I make it down to the Burro Express office with all of my return correspondence PROJECTS 3 1 Design an all purpose Chip 8 subroutine that will allow the action in a game to go progressively faster the longer a person plays the game Incorporate the change into the Wipe Off programe 2 Design a machine language subroutine that will automatically togele the DXYN instruction from fast to slow or from slow to fast It should be completely relocatable that is use no branching instructions LAST MONTH S ANSWERS 1 Equal values are always brought together during any sort For either a Bubble or an Insertion Sort like values retain their relative position in memory For this reason the two sorting techniques are said to be stable 2 Bubble Sort Insertion Sort Pass 0 93153 7 236 45835 9315357312163 4 835 1 15337525654585559 13933373236343835 2 13332363437353839 13339373236343835 3 13233343635373839 13337393236343835 132333435363 73839 13233373936343835 13233363739343835 Do not be deceived by the 1323 3343637393835 apparent lengths of these 13233343637383935 results Insertion is 1323 3343536373839 still faster 3 Use V6 V7 for the display X amp Y or other variables not used during sorting Keep last value entered in V8 and sort after each value is entered Test if
32. ons the old has 10 instructions The apparent discrepency is from an additional 2 byte branch in routine 1 Timing 1802 programs is simplified by the fact that all instructions except for 3 cycle types not used here take the same execution time However the inner loon of the second erase sub is two instructions shorter than sub 1 The first loop will execute 256 times the second 255 loops with byte 256 erased by the single instruction at OOEB 2 On the last loop of sub 1 two less instructions will be executed due to the early exit condition at 0088 1 Let s see how this affects the loops relative speeds QOEO 1 OO0EO 42 Number times loop is executed 2 56 255 x number instructions in loop x 6 X hc 153 1020 Less special exit on last looo 2 0 Total executions in loop E 1534 1020 Plus number instructions outside loop ly Total executions each call 1538 1027 Difference 1538 1027 s 511 Sub 2 results in 511 less instruction executions on each use of the 0030 command That s like elininatinz two pages of machine language code and all we did was shorten the looo by Two instructions The rule is simply keep everything that does not have to be in the loop out of the loop Do this even if it results in more code in most cases Good luck with your programming Hay all your little loops be 2 07 10 as short as possible To all of you who have written Thank you I have enjoyed reading your com
33. ow the game I got the program from an artical in To Sonal Computing for the TRS 8 Level 1 basic Mine is a bit different as dictated by the differences in lan guage In this game you are trapped in a room with two manhunt ing personhunting robots that have heat sensors for eyes and so can detect you by your body heat These will track you down and kill you if they can But in the room unseen and unknown by the robots are force beams which give off no heat and will destroy anything that moves into them including humans The human can see and so can avoid these force beams The robots will run into the force beams and or into each other in which case the stationary pobot will destroy the mobile one When a robot is destroyed it will be replaced with anoth er but in a random location lhe object of the game is to manuvoer yourself in such a way that the robots move into the force beams or each other You win when all the OS are SEK CARE There are 2g in all The game arta on a playing field of 64 squares like a chess board on which 4 walls are placed in random locations with the two robots being placed next also randomly Lastly the human is randomly placed You move by pressing keys 1 to 9 lis upperlett 2 is up 3 is upper right and so on Pressing 5 will leave you where you are So will the rest of the keys DM 5 is easier to remember 24074106 9399 239A 2346 23TE 2334 830g 8479 2334
34. powerful as we all know eight bit processor around today the 1802 Please keep some non VIP articles but as your title indicates the majority of each issue Should pertain to the VIP Marvin Kraska Editor s Note Marvin also mentioned he will be sending details on a high speed A D D A analog digital converter with a sample rate of 10 000 samples per Second capable of digitizing storing and reconstructing voice The mouth waterith over Tom III IDA t 80000 o EEE RARA AEREA tots st dt0 baec c ste ener ere ee si Move ett hoe 9 55 ti tti n geteve etetto cs rrr ve EEO OE osas ross c 6 car EEO He rro poroso pr ooo itte e roro ao ooonoprrss ctn to sess HHH eee eee eee EEHH EME ee ie need eee HH OH eH eH ses eg eee norr rro or corso cnr sS p gt onsrro rc psrnnroros rrss S or sor o ooo oporosrr o opor orotors o seo ser eee viti c or beh 5 noo poenpooop osssrrsrrorsnss son gt lt rnsr oorom aas conoser poros Potete et ovs mass EHH EH ER Saree Eee eH ES OEE See HEE HOOEET EERE be stenet eee eee se cosi tero s rosca ono i 00 0n HEHEHE DE HEHEHE HEHE Ears Bebo sar o arras eee ee t020s000005t92o2906 900805909 9 0 0 e2909a 90999005 2 6004 06009590200 0c9006024272 0000909 v0 09090 9 660949692 479090 00909c2 08U08 9 HEHE De HEHEHE HERERO th is eter OHHH e oo HG te ede dere Dear VIPER I have enjoyed the Little Loops columns and I find I agree with Tom in his review of the VI
35. r a moment until the interrupt is completed It was not a design oversight in fact I find it to be quite a clever device but for many programs you will never know the difference Except you may need timing loops to slow the balls down If you want to see some real speed try this change along with the HI RES CHIP 8 modifications and the sample random line drawing program presented elsewhere Holy Warp Drive Batman OPTIMIZATIONS Speed isn t the only factor of a good computer program In fact some applications may neglect speed as a negligible advantage allowing for less expensive design One thing about speed in electronics it usually comes at a higher price Most algorithms however are evaluated in terms of speed vs application The ability to prove the speed of a program may require a mathematics degree but you do not need any special training to discover ways to improve your programs Take Chip 8 again for example and let s look for a way to optimize one of its instructions 00E0 ERASE DISPLAY The first things to look for in optimizing routines are loops Even though a loop may only occupy 10 bytes of computer space it may be executed 100 times If each of those bytes is an instruction the execution time is the same as a routine having 1000 instructions One half the size of a 2K VIP Removing only one instruction from the 10 byte loop will result in 100 instruction executions less each time the loop is used This times
36. r the pitch code first then enter the duration code End the list with ED to stop the ane or with EE to replay the tune from the beginning The program ignores memory locations containing 00 so this code can be used to delete a note or to reserve space for entry of future notes The tempo is controlled by the byte at location eS RES time between notes is stored in location 0064 ON Enter the program beginning at location 0000 through 0006 Then begin entering the music list starting at 0100 To play the tune push key C after having entered RUN mode If you have entered ED at the end end of the List the music will stop at the end of the tune You can start it again by pressing key C The tune will play continuously if you ended the list with EE IE LEE y M le LI The program shown is for the VIP You can easily modify it to run on an ELF by changing location 0000 to 3F and location 001A to 64 Then to hear the tune after it has been entered push the IN button E Figure 2 contains a coding sheet e your music codes as aed as reminders for the appropriate keys to press Hope you all enjoy the Mystery Tune 2 07 12 5th oct 6th oct 9199 0110 0120 0130 0145 0150 2160 E 18 50 51 52 53 35 55 56 Df 5A 5B 60 61 62 63 64 65 REST ho o listing II Mystery Tune 57 88 59 10 57 08 54 Bh 4C 08 57 88 59 54 84 5 08 62 04 62 08 5B 84 4c 08 69 57 8 ka 08 59
37. return to the VIP operating system is performed so you do not have to reset the computer to continue programning 2 07 24 If there is an error the test will halt and a beeper will sound until you shut it off The bad byte s address is then contained in R5 and is also deposited at 00E0 00E1 which you may examine using the VIP operating system To hear what this sounds like change 0040 F8 01 Al 30 06 but reload the original program before an actual test JE The program could be sped up by removing the timing loops but these were included to give a bad byte the time to do whatever it is doing wrong A slow leak indicating a power supply problem most likely could be missed by too fast of a test You may want to increase the timing loop values for an even slower test These are at locations 002A and 0069 for Test A and C Test B s speed can not be as easily changed TESTING OFF CARD RAM When you purchase a new block of memory you should run this memory test to be sure your RAM operates properly The memory test needs to be adjusted however for testing off card RAM Make the following changes i 0040 AS PLO R4 R4 0 00 00 was in D A1 F8 LDI A2 XX Insert start page minus one A3 B4 PHI R4 AL F8 ILDI A5 XX Insert end page address A6 BE PHI RE A7 30 BR Return from patch A8 06 At 00A2 you must insert the starting address of the RAM block to be tested minus one If your off card RAM starts at address 100
38. setting VX to zero at no keypress eliminates the need for the instruction in the program that SEDs VX to zero for the keyboard test FXF2 01F2 E6 SEX R6 set I O pointer to VX 01F3 3F F3 BN4 wait for keypress O1F5 6B INP 3 set input put in VX O1F6 37 F6 Bh wait for key release 01F8 D SEP R exit The above dade is sinter to that in VIPER 1 07 27 starting at location 01F2 Note that the code in that issue still contains an error The corrected code should read OOF2 3F F2 6B 37 F5 D4 FXF9 01F9 E SEX R6 set I O pointer to VX 01FA 63 OUT 3 o0utput VX VX VX 1 O1FB D4 SEP R4 exit The above code is similar to that in VIPER 2 02 08 By eliminating the resetting of R6 the routine by James Barnes fits in the above remaining three memory locations available in CHIP 8 CHIP 8I did contain one additional instruction not included in CHIP 8III That is the BOKK instruction I feel this instruction is of limited use and as such I d rather preserve the complete CHIP 8 interpreter AA One word of caution This implementation of the instruction FXOO assumes DF to be zero as the branch to 01D4 is toa section that rotates DF into VX It seems that this is the case following the decoding of any CHIP 8 instruction but you Should be aware that if DF was equal to one the FXOO would not PC in VX Done set to zero Also do not output F with the F9 CHIP Thank you Jo de Ca will erashl ut outout
39. sue 2 breakdown of the interpreter _ With a Single byte change I have achieved the same speed of the Fast DXYN instruction And it works for all Chip 8 programs Next time someone says Wipe Off is too easy simply change the byte at location OOAC to EC normally 00 and run the program Ihat s all you have to do and I bet you ll have trouble foliowing the ball let alone playing the game Same with kaleidoscope You only need to change the one byte to achieve super fast speed As with many modifications this change has one drawback sometimes but not always a figure will appear to move with less grace Location O0AC in the display sub is normally set to 00 an IDL instruction that causes the processor to wait at that location until receiving an interrupt request Only after the video display chip the 1861 requests data will the program continue past O0AC Therefore the use of a DXYN instruction may actually delay your program up to 1 60 of a second while walting for the go ahead signal That s a lot of time for a computer There was a good reason for the IDL instruction at OOAC however and you must make a careful decision whether to leave it in or 2 07 08 take it out For very smooth graphics it may be needed for super fast wall ball games definitely not The purpose of the IDL is to insure that all changes to the display are never interrupted in midpoint causing whatever figure you are displaying to be cut in half fo
40. the current volume year and the first issue of each volume is published in July The entire contents of the VIPER are copyrighted c 1979 by ARESCO Inc Second class postage paid in Columbia MD 21045 USPS 520 550 Postmaster Send all address changes to ARESCO P O Box 1142 Columbia MD 21044 Subscriptions Subscription orders should be sent to P O Box 1142 Columbia MD 21044 not to the street address given above USA residents 20 10 issues mailed second class 25 10 issues mailed first class Non USA residents 20 10 issues mailed second class 30 10 issues mailed first class VISA MC personal checks cash money orders accepted as payment All funds should be in US dollars Checks drawn on foreign banks should include any exchange rate difference in currencies Advertising rates Non commercial ads by subscribers 10 3 lines of 60 characters each Non commercial ads by non sub scribers 15 3 lines of 60 characters each For commercial ads please write for advertising rates Payment must accompany ad in any event Staff Publisher Terry L Laudereau ARESCO Inc Editor Tom Swan subscriptions Sandy Nolan VIP and COSMAC are registered trademarks of RCA Corporation The VIPER is not associated with RCA in any way and RCA is not responsible for its contents Readers should not correspond with RCA regarding VIPER material Please direct all inquiries to ARESCO P O Box 1142 Columbia MD 21044 Contributions
41. the number of times the loop itself will be needed gives the relative amount of time saved If the 10 byte 100 pass loop is used 100 times for example one less instruction results in a program that is effectively 100 x 100 or 10 000 instructions shorter Things do mount up and they can mount up fast This principal may be used to vastly improve the erase display instruction Let s look at them side by side I ve drawn arrows to help in comparing the loops Qld OOEO ERASE DISPLAY 1 00E0 9B GHI RB Display page address is kept in RB 1 El EF PHI RF RF 1 RB 1 RF is erase pointer E2 F8 FF LDI FF y Eh AF PLO RF RF O FF Last byte E5p 93 GHI R3 R3 1 200 E6 SF STR RF Store zero to erase byte 9 M R F E7 8F GLO RF Test pointer ES 32 DF BZ sIf done exit to OODF EA 2F DEC RF Pointer 1 EBL 30 ES BR Loop until 256 bytes erased 2 07 09 New OOEO ERASE DISPLAY 2 00 9B GHI RB See above comments E1 BF PHI RF set RF last bvte of display E2 F8 FF LDI SFF gt i Eh AF PLO RF n i ES EF SEX F X F eliminating need for STR RF DEC RF pair E6 1993 GHI R3 Get OO byte E7 73 SX Store 3 M R F pointer automatically decremented ES 8F GLO RP Test low byte of pointer E9 3A E BNZ If 00 then loop to continue erasing EB SF STR RF Erase last display byte 3 0X00 iC DA SEP R Return Both routines occupy the same space 00E0 00EC The new subroutine contains 11 instructi

Download Pdf Manuals

image

Related Search

Related Contents

STB一覧PDF - 山陰ケーブルビジョン  KDV-5234_E_ITA r2.indd  USERʼS MANUAL  Estimation of Local False Discovery Rates User's Guide to the  Automne 2014  (平成22年10月21日発行)「業務マニュアルの活用」ほか(PDF  ダウンロード - ピクネット  JVC AV-21L11 User's Manual  Schwinn® IC Bikes  GUIA DE USUARIO  

Copyright © All rights reserved.
Failed to retrieve file