Issue 4
Transcription
Issue 4
I \, Eetc,aer - Nsvernber 19gg \, \, \' 4, Nurncer 4 Jc,urnai af the VIP Hc,bby Cornputer flsst1. The VIPER was fc,unded by ARESCO, Ine, in June 1979 Vc,iurrre .*+*{r.FJi**************"f,-**.*fi.*****{".X-****.**{.********.F.*,*****.X.f,.{.**.****** gOvgrt iggrngnt Cc,ntents . r, r . . . . . .. . r .t r r'. . . . . ..1. . r, . . ., . . r . . . r r . r 4. 84, 01 SEFTi^JflRE \, fr C.i:p-B Editgr for thg VIp,'.r.................r..rr' ny Biil Lindiey \, ftOve!.t i sgmgnt \, APPI-ICATiBN \, \, \, \, \, \' \, \, \:, bt 4'gl4,Eg . . . . . . , r . , r . . r . . r . . . . r . r . . . . r r r . r . . . r . r r . 4. 04. E5 BF.ianerfest Ref lexesl sc,ftware and hardware r.. r,. r,, . 4.8r4. by Uda Fernisa EDITBRIBL Le Tnis issue, even with en}.y twe feature articies, nevertheiess is sc' tight for srace that this page is being used fsr the Eiitc'riai anc Annauneernentg- There are c,niy tu+c, mcrre issues sf VipER after this one in the iggg rnembenship year. Arrd April lst wi.ii,Be ileFe befc,re we knc,w it. That ciate marks the end c,f the nc,r.nrai ,twc,-year terrn cf yc,urs truiy as Director c,f VIpHCfl. Sa aeenrding ta c,ur gernc,eratie proces$Fesr any rnember in gc,od stancling rrrey rrclminaie anather merober as Directet^. I tnink msst af yor-r have lfeen happy with yc'urs truiy in the t'riiii.ng tc, serve againo but we shouicl affsrd the -tso, anc Itmfor r-,ppc,rtr.rnity a cnange, shc,ul,ci yott desir^e c'ne. Sc,, Nstninatic,ng ar"e o.3en: :f yc,r.r nrant ts ngrninate Sc.tnec'ne Gr ycunseif serrd in a iet'uer c,r oc,stearci, Fnyc,ne whsse narne is subrrtitte€ wiil be cc.ntaetec, tc, see if the nrrnination is aceeoieci by ihai pet^ssn, Tne nc,rninatic,rrs wiii be pcgted in i;he next VIFER t4.ft5) anc ra":ic'tg sent tc, rnerr"rbersr FR that the resuits of the eiection ean be r'rinteci in VIpER 4, 146, *iasing crate far nc,ntinatians is Deeer,r3er. EEo i9Bg. 4, i7,r4. $E R.AM.O R,OM; for vrP \-il THE l4EPlVl GIVES YOU ALMOST INSTANT , Jusr VP -701 TLoATT NG Por NT BAS r c II S}{ I TCH TO RUN, PRESS lII ON HEX IIlyrj,I IIC'' KEYPAD, AND PRESS OR oN YOUR ASCII KEYBOARD TO SELEcT WARM OR COLD START, UScS 5V 27L6s I \q/ , t, BARE B0ARD t^trrH \/ L, \t/ DArA,,,$ 39,00 A&T LESS EPRoI{s,,r,,,,,$ 59,00 A&T w/ EPRoMS PRoGRAMED ylrrH DATA PROVI DED BY YOUT. . $119 . C(J A&T w/ RCA's VP'7C1TT , , $139 ,00 "DRTA MUST BE oN VI P cOMPATI BLE CASSETTE I N 2K BLOCKS , *II&STATE TH 8K RAtvl cAR v v YOUR HIGHEST RAM ADDRESS AND I F YOU WANT COLOR r \.t/ COIVIMAI\DS v I D G r vE s You rvvo 4K v BLOCKS OF STATIC RAfl ADDRESSABLE TO ANY 4K BLOCK IN VIP },IEMORY, U s r s P oP ULAR 2114 RAlls , BARE B0AP.D w I rH DArA , $ 49 ,00 A&T LESS RAMS,,,,,,,,$ 79,0C A&T w/ RAMS',,, r,,,, $129,00 Norr: BKRAII cARD REoUtRES APRox 600MA FRoM 5V L I NE , rt +r tt ts tt tt t* tt r& {r t& +& +$ It* $ ** * t* * * * ++ +T l& l$ * * * \r/ \r/ \, v t$ PACKAGE SPECIAL * * * * te +$ t$ tstt tt tf * lr tT t3 ts v, +& , 2- BKRAlvi 1- l4EPlvl BARE BOARI)S WITH DATA,, t, ,,,, r ! r r r r r I ,t , , $ 99,00 T SKRAI'{, 1- l4tPlvl ,*,',,::T]rr4e,00 AND VP -7OT BAS I C, * Tl ( CAL I F . RES I DENTS ADD SALES TAX v " 8K RAF1" * )** # *lt ts , ts t+ G, .iF J, KP. IZEK 722 N , |\l0RADA AVE , WEST COVI llA, CA rif 91790 ** tt tt tr te* tt tsts * ** tt* tr ** ts * * ** * ** * v t& * lt * v v \./ \-/ \, A CHIP-B Ed itor for t,he VI P \, \/ \r \, \, \, \, \, \, \, As attested by many previous artieles about CHIP-8, using the monitor provided by the VIP is no way to enler and modify programs or data for CHIP-8. The editor enelosed is deslgned to solve the many drawbacks of the normal VIP monitor. This editor includes such features as bhe following bo allow easler modification and entry of CHIP-8 programs: 2-byte display of address and data for easy reference to location in memory and data; arrow pointing to 2-byte word currently being edited; scrolling five lines of display; blinking cursor to slgnal location of nybble under editing; and automatic timed scrolling for easy checking of programs. The editor, once it is typed in beginning at location $0D00, is invoked by changing the CHIP-8 word at $01FE to $1EEE, and entering the following sequence at $0EEE: 00 48 1D 06. Ttris wiLl branch, upon running CHIP-8, to the editor. Ttre entries at $OEEE are necessary to turn the display on, since the display-on instruction of CHIP-8 has been replaced by the branch to the editor. The editor may be saved as two blocks at location $0D00. When bhe editor is to be calted, simply change the word at $01FE to $1EEE. Normal CHIP-8 nay be run by rechanging this word to lts originat $0048 word. The format of the display used by bhe editor is as follows: b" addr addr addr addr addr \. \, ly word word word word (-- word The top bhree lines and the bottom one display the surrounding words of the one currently under question. The rraddrr indicates the address of bhe displayed word in the same line. The arrob, shows which word is the one which may be modified. The arrow thus acts as a pointer to the current word. The available commands in the editor are: \, \\, \-' (E) Enber a CHIP-8 word at the location pointed to by the arrobr. The first digit of bhe data word will blink; when the first digit of bhe new word is entered, the flashing cursor will move over and the next digit is entered. This is repeated three more times,' unLil four digits, one word, has been entered. The display wi.ll scroll forward one line and the new word wilL be displayed one line above the new word at the arrow. v v (A) Address Select. The first digit in the first column of the display will blink, just as in the trEn command; v digits are entered, and the display will change to reflect the new addresses and the data contained therein. Note lhat the address is not limited to the first four kilobytes of RAM; any address may be specified. The CHIP-8 interpreter may thus be modified while running the editor, but this is not recommended procedure as the editor is writben in four new v v CHIP-8. \r' v (B) Back One Word. This command will scroll the display back one word, moving the byte previously under edlting down one line, not changing the display line of the arrohr, but rather just, the word pointed to. The address and data colunns will change to reflect, this change in address. \3 \,, (F) Forward One Word. This command will move the word previously editlng up one line, in the same manner as the Back command. This occurs automatically in the Check Mode or when the Enter Data command is used. (C) Check Mode. This command will automatically scroll \dr Y/ v., the display forward one word every few seconds; the bime delay byle is located at $0E09, the data byte of the VE=3C instruction. The editor will return to command mode when any key is pressed. This mode is useful for scanning entered programs for errors; first enter the address, press ilC,il and look at the display, the sheet of datai the display; the sheet; the display clear the screen and command will execute the CHIP-8 program at $0200. Note that the CHIP-8 interpreter ilself is not modified with the changes made to it; only the initial sequence of cold start is changed. Ttrerefore,'aII this command does is execute a GO 0200 command V V (D) Do Program. This V \1/ '\t Y \l/ v \J Usefu1 Subroutines Several subroutines have been incorporated in this edltor, and, albhough they may or may nob be of use in other programs, f The ccrnments on have outlined the more useful ones here. the listing will also be of use if you. are planning on implementing them in your programs. 13 (decimal) bytes, ?t location $0E18. Totally relocatable. Ttre CHIP-8 I pointer polnts to the byte to be incrementedi an inline argument is the addend. This ls a sixteen bit add, thus one is able to add to words and not slmply bytes. If one wishes to simply add to a byte, the argtment must be in the upper byte of the argunent, wlth the lower byte belng zero. Thus, to add $00FF to a byte at $0600, the followlng ADD: sequence may be used: I = $0600 call ADD ; argument to add A600 ; OE 1B ; OOFF UNPACK: 24 (decimal) bytes at locatlon $0E3A. Totally relocatable. The two byte word pointed to by trItr is unpacked into four bytes, each containing a zero in the high nybble, and a nybble of the data. These bytes are stored in CHIP-8 variables V0, V1, V2, and V3. Thus, if the memory word at rrltr contained $1234, and this subroutine $ras called, the variables would be as follows: V0 V1 V2 V3 = $01 = $QP = $Ql = $04 This is used for the display of the address and data bytes on the screen. This ls one of the methods of ci.rcunventing the lack of a CHIP-8 command to display ALL of a varlable, and not just lhe low- order digit. PACK: 22 (decimal) bytes at $0E52. Totally relocatable. This subroutine does the exact opposite as the UNPACK subroutine. The low- order nybbles of V0 through V3 are assembled into one two- byte word at a memory location which is determined by the setting of trI.rr KEY: 31 (decimal) bytes at $0E68. Relocatable if branch addresses are changed or located on any page at address $XX68. This subroutine, in bhe manner of CHIP-8 decision instructions, is a skip. A skip over the next instruction occurs lf no key is being pressed on the hex keypad. Otherwise, if a key is being pressed, the next CHIP-8 instruction is executed. This is the subroutine used by the Check Mode for the rrbreakrr state. \J/ V/ All of the above subroutlnes may be easlly called by CHIP-8 with a ltBraneh to I'lIStt instructlon. For'exanple, to erase the screen lf any key is pressed' use the KEY subroutlne as follows: 0E68 ;CAIJ 00E0 ;ERASE Y/ v KET IF KET PRESSED vl v not wish to type this program ln, and rould prefer ,to have the progrm supplled on a cassette, send me a cassette at the foll.owing address., along wltb a dollar for postage and handLlng, and I will record the progril on cassette. I an using a Sears recorder, and have found that Panasonlcrg units do not read my tapes. Iours nay or may not- but then again, you can always type the progr& in..... If anyone does My address is: v \d, v Willian Lindley 21 Haneoek St. Bedford, MA 01 730 v? VIP.MAN IS EEREI Run through ? meze and eat all the dots before the moneters chasing you catch upt Amazing 5l+x6l+ nesolution graphLcs, coJ.on, sound effe6ts, and four digit sconLng make thls a ga4e wor.th gettlng. For a l+K VIP, colon and sound boand.s optlonal-. -VIp-l{AN- $9.95, shtpplng lnclud.ed.. i;;;' il ;;' ;' ; ;;;' ;;' ;; ;;' ;il' ;;il' ;il;;;;;' ;i;' I li! tr,rns v, e r.s e ? vtiiih computer adventu:re gemes, you gg the maln chanacter ln a Jfro-FF storryr trylng to solve puzzles. The computer degcnl.bes events and. sumound.lngsr and you telL it whet to dot Now you oan play ad.ventune on e l+K VIP with an ASCII keyboard. Strest qf the Enchanted. Swond wi]l stant you out ln one of- the raos ames today--gd,veltures. In it you w111 ftnd yor::rse3.f ln the legbndarykingdom of Camelot, shontly after King Anthr::rrs death. ftrdtts wLen the stony begins... Also incLud,ed are three nmlnltr ad,ventunes, wrltten for a 4K VIP with Tlly B-a91c. They are ElmLlar to adventunes, only the obJedtive ls to get a high scolre based on the number of monstens kllled-and. the tneasune gained. -Quest of the Enchanted Sword.- $8.95, shlpping lnclud,ed.. aaaaaaraoaa aaaaaaaaaaa Send ondens to: VIP Adventu:re toaaaaa aaaaaaaaaaraaaaaaaaaaaaa UnLtd., 168 Pond St., ShanonrMA.e 02067 Soon to come: Advanced adventunes with high resolution, scrolli text di splay, and. strine com ression fon dqletba descriptions I 4, fi4, iI5 v v' \, \, Ci.{ I F-g ED I Ti}il hy Fiii Linci iey \, \Y iIJf;IN: UlDOrZr iDE6 ;BRRNC|{ ARBU|\|D DRTA \, ED'AE 'A'EI'TIE ; CURRENT RDDRESS }{ERE iaDa4 rzrrzrrzrgr ; CURRENT DSTR HERE raDrag ED4|A ;CALi FiuL CiDftB FF'iIfl i \- iZinEE f;D'AE ; '*DEn i;rDEC 3Furf, ; TEST ADDRESS CI{RNCE ini4 i IA EDg6 i Cf;LL ftDDR '}Dii. E i Dr3f;' ; inil fiil;4 SFEIF ; TEST FER FnCH-iiP fiDi6 iDiE i Eili8 EIiiS ;CALI.- ftDD \, $iriFi FFrE .-L'F. i F H,tUrL .-t ?r' r {,lU i -C. \/ J tF.,t -g ;EsT Fgft CHECI{ SCRN F .rUErtf -.F.!r.F.l4rL ;}" crDe[i i r]96 eE'si} I CFILL CFiECFi 'ailEe tlDE4 l ftetB ; EDE6 SFfiD i TEST FEIR Dfi PROGRfiiri EiDEg :. DgE ; EDgn FTAETA ; EtftSE SEREEN ED3E i EiAfr ; 6tr TE PRBGRR|Y' SFfiE fiD3E E[rfi6 rf,DEE ; '4D34 SFEIF ED36 ilnS-s i Drls ; CFruL ; ; TEST ; EDSS i. D3E' \, i Diet6 TEST FER ENTER i ENT;R FfiR fiil3Fi EEig i Cft;L BDSC rtlrAEE i +E fiDS= iDfi6 ; F FORi^if,RD ftDD I;L : EID4$ IIIIAE'} ERNSE SCREEN rlD4E EErrlrrzt fin44 fiDEE P0 i i\T TE CiJRieENT RDDR ifrr4E tzieit IEFiL ftDn \, \, - i r'iE I ifi$+S FFFA ; -6 i i il3e i L; NE fiIr4 +E fiD4t |qilr}3 ; ilit4E tltEi8 ; CftLu gnD IFDSU tililtiiE ; +3 *il5;: Efirzilii frij54 tii=];fi I f,fiL; uirFfic/. f, \, \, f,Ir36 3D7[ l?l.$5$ *DifiE: f,il5fi rit=iF r}*5f: iil::;* iliil5r- EITil ; GilSuEt n; SF,.'i .-. F. . Lr{i-i L-i:{t-L l-Fl- ' F.F- t::-; iJi\ F'Ht-ri . rL".-lta. :t f,;f,SUF il;SF,-Y \, 4, t*4. iI6 \, \, DRTFI /'A a | .A { Lfr '+r E 'tt rA {-IfiH a\ 6, ta r.*'-J tnc --ii{l '. I ..J'-i -l-]flf, H3$c -r-tu3 3ilflE B T 3* ;$fis 3$fi8 E,:38 b'ErJ* eSfiU gEfitA EESE GGH {I tu\ a f"l3N E{l5nfl F!3Lldrun -l-ls3 r=s -:-1,5f, f"lu >:3ilc ni_l,Y -?-'rUtr s3!'.! E'-15'.ln Flf,.$c \:n -T-tHJ gEGtt ?I1C& r30e eEffl} UISE FEOfi trfig-H 3ir0fi jr=ff 3H0fi .:*ilLr b'Hgfl Hg FUf]TI *\'*2 BSG* ,J t>\ rA 6\ T -l ._, r'1r l-'t -l.-.-.-l':211..'.. -l ._. _t d.l_. 1'Utf tt ::::Ei.J lJ ._t rT r.J ra -_J i[.]CS Lllff0gl t?'308 3f,-{f} H'i"0 3f,-fitr 3*CS tiE,fl* r T E? F6fir3 rtrrSHB ggf;t} hrLlf l, : -1 i !:3\i i ftA\ n EEUQ lA i'a"r' \ t- i* flr?rH ,.t Y-*s i fi t.. i-r | -t=- -:* i-;=r \-! rs --i i: .__ f1:-3L. AH-'cl$ f-il ar :. r.f !qr';i-1.- i-i -i i t,=H-d / f iI'iC 6 l3r?t -, / MnLrIiH \r.: t?r ) Nb! rvtnll}.tH i ; aJ : :3fitn r/EC$ si}y. L EEO* Egsc $gfi$ trEri =Eflg / 3SfiEI u0cB E*Lf 6;l: ';rrt{i *Ets'l f;,| I _: lq r T. A 1, ..L _. '_l t_ ltr -1 - t- j \r i' *i ti; F:' f.l\: -i i{: : "r {r r? F HgfiB FE'CI* gstJ rl t'Ffll.l e€]{l!;h r}filfl r? }.{. f,r} '--: ,.-- '.* i. i' f,l ,, fT r} I CtrS =3r4i.1 ,;FHfl 'I L{,T!} I il:;f I tT\!:i .J -.i'-' {1 -. *'l - 3r; i _ir-l : -'-' *t ! ft it ii'rlt;l: YC.[!] fir:g F/fl* b!rJ:l \lH 3 .,-_l_t1* lA i- fth\ : r- r^\ ccH -'I-'Si hA -l!li i !-'-.'-' fT H '-j ::r r-T i- 'j' --r -: f:Ji H -l € Cl tV i r..'i'i. ':..i7' ;: q1i.r [,a l-l -t -' J .- i-:rr --".t n--'1- t-' r"T t-1 -t L': Ct i]r.'t..!r' fT I t b ill j 3'3fiiir t'Ecf, -J{it-l '-i'- Fl r,t \..' U5ilrl' F l' l.r? It I jlGil f,"il : ar r 93,; J t * .:! l:i r? t-' J ir \J t7r rl.-\ r- ) f';t 41 ;\y : i ;\' i ty NEi^i: ty iailf,fi EfiiaE iAf fiE eE g4EtE EDDE tre EDCli EDC6 EDCS BEI4EI g4 i a 'aDf,n gilDE 'ADf,C gi4Ul $DCE 8rDD0 g4g8 EDDE *DDE IADD4 Bg4tA ;6OSUB INPUT t , ; ; EOSUB ) : 7 ; BU 1 lrii.,i : Fr!TE; IADDC EtrZlE; rAD[rE F4Eg ENEU' 6EE8 BDEg FEiS EDE4 EDEE RETURN DfrB5 E'E6B CflLL KEY i DFg GBTO Gi '}DEB FE.AT fi[iEg EDEC Ull.)trtr G3; c;iEf,/.: - SKi PS d EDFE l DEAI EDF4 4|fifi mDFg rrnFS EDFB F4E9 t 6OTB -la. , -|.i trtr t t I BLINK FBR NUITBER DISPLRYED I T ERASE iF BN (SriBl^i TitE fiDFf, DRBS EIDFC 7f;85 EIDFE E 'AfiEE ftDEE NEi,\i NUMBER) ;ivlBVE RIGTIT ; R=rURl\ I ! J =renit turE i g 'aEilg Ererer4 fiBEg EEEA elr4ft 'erE8g FEiS EE68 EEIAE fiEiEE ErEiEr FEAT iE trti4 AiE i g ArE NO KEY GOTB NTB lltt-F eLrtrE IZ'DFE DNBS 'AEBfi EEEC IF SEUIE +tFlFt- 6E3C T/.: GBSUB i i\iPUT SBSUET i NPUT iADDft g34ti i N3UT : INPUT t inilDg S43fi $NDg E['DE \, \- ;+g ; RETUti\ t , SErZrE iEEC 1E$tA ;EflLL ;+g ADD ; GBSUB ; sET T i FILL MER DELFTY VnLUE TiiriER iSTRRT ;trf;Ll KEY ; RETURN iF f,NY KEY FRESSED (EHECH FBR ; TIIYIER DONE) ; ;GETCI TK ; GETCI CF|ECK 4. 84, tAS Y/ Y/ *{+ffDil SUE|iiEUTi;u=** *rlfrR ,lfi; riTS Til l st f,DDEND** **iN uiNE ftREijirlE;UT i5 Enc ftDDiuED** *DD ,-L:- t{ltr, r r I I =n 9 i5 INC R5 fi in ii\ic B rilS LDi\i f,F4RN D 5A sTR tr. r:H Utr L F E5 DEC izrEE fi 43 LDR 1 74 nD[ E 5R sTR 3 i5 iNC 4 D4 SEp .-. **Rlq b7 g fl B ,.n' L D E 6ETr : r{H R5 TfrDD LEi^i BYTES} (TETURN TiiE SUM} Vt RR Rfi R5 R5 V/ (RD[r ii i Gii BYTES] ( RETURi\ TI{E SUIYI} \3" RR R5 K+ FTI ' ( YP RETURN} SUBR0UT i i$E'F* I NTS TO ffDDRESS TB pUT Df,TR fiT Rft+E*'r raEeS RR s r.t FIFFI **FUT pO FUT r ** r V/ frft sEX 4N LDR RR BD Pi.i i RD 4A LDrq Rn AD PLO RD 4A LDfi Rfl 5D 5RT RD lD :NC" RD 4R LDR Rf; 3D STR RD D4 sEP R4 iSET flDDRES5 TB 3A BD i4fr enD 34D 45R 5iR 6 rAD 754 geR 9D4 LD$I t-p RR 6t .t ttU ,-iif, frn r.lt-l -t PL6 PUT *-y-^ ' End BYTE) (RETURN} t f-* \tftr i f;DDI?ESS ,ral ,Ur (MtrUE Rfl (iYiEVE sEp n4 Vt/ GET ** Yt, Y, ,F.F DflT*} RS LDN RD STR Rf, DEC Rfl Up (STBRE LDA ND STR RD iNtr v Yt DRTft} (STERE lst BYTE) ** GET SUBRBUTINE 'F* POINTS TB RDDRESS EF DFiTf, TB ** DRTN GEES TB RA+E *{+. IAEEF 4fl Y,/ ist BYTE) End BYTE} (RESTORE RR} (RETURi\i) w \rt Yr w, 4, tzl4. rtl9 Yp' Yt ue' \i+tr U,\FftCi{ S,JBRELIT i,\E ** :r* r(F{ ;rG: r{TS Tfi fr*l; '-E EYTES {r.n n* UitFftCi{Eil itfiiTf; GGES i i\; VtA: V3 ** \, !..\ \/ Lii{Pf;f,,r{,: trl .alr f- F a-a t-t D tP ? r|- \, 4ill .i ,t \, l: :. s-l .t. a? \/ t-. r-' F tl -? I \' EI l-. _t ;"r H ?.. i.J il ,a r-. 3iI d I ** r-'ft L, f\ I -.. r- t.F Eri:.-,f: .-. *. a il li 3 tl F -!4 F6 {FEiiliT TE FiO R6 Vi ) LDA R5 {GET ist BYTE) sTR R6 (STERE i N V } J. sHR SHft 5H'? SnR ilEC Rg (5T0i1t ii R€' ST ,_iitu RFi nIf, tf; i: .\f, AA i.f;f, RE ;;'ic il6 S]-fr frE i rr' Vtit) GET Enci EryTE ( qf Slil,qE i?fi) ( ) {STDRE ffu Rg) S_iR ';rn rt F.r r : F.l sHR F€, Snt HE E'EC Ftg 5g sTR R6 D4 SAP R4 .--. F .F. J..a il t - (STGRE ; N VE} ( RETURi{} t-r-P F. ' '.-- ;6 Ffi SEli j t-D i.{6 \t:c. ,l-L!--F FvJ F. F Hb +6 ; VO .-r il8, LD'u R6 !-r t'i-Lt r rF. VFluLiE ) s;,_. '- r' l)-f l- Irrr lr r fi Rgr i S;L-i RE .+. . .r. -rri.a-. .:r.l i ittr ttH iGET .l t\L RE F F'E [i'{'- ,3 -.- F-. 1. ,. H a-' Fc. $-i* F4 ffnD .-l F- F H '-. L -'. F. .t.! Ff F .i tf, t* .: I r + F h! t-. F -'. -.,.rl-r '. ,- tJH -.t-. rE 5n* : ot. r-; 'd'*,; la t- il: td.i .: F- L1 '' i+ aI t-.' ]t'-r fr. f'r fl Fi ...., ?-., t I f,nlt v j. vf;,_LjE i i st BYTE ) VE Vf;*UEi fttr, ?' iJ'-l!I.tt'{, rJ :- t- i l-..:. a il\, LDi rE f tf r= :.Tr-- *tF Pf;C;t SLjFRilLiT i i\iE ** F'il; TO e ETYTES FER RESLiLTS ** '\ir5 ** j i\ 3L:T FRiliq Vfi : V3 ** Rf, ,-L 5 F.r,-i F8 Fi RE 4f; 56 F6 F-8 FE ;6 sg 5ri #f, i::fi i6 ..6 i& 56 F6 ilt3n \, rra .. il1 x ii.u] Cl i i\ rt i-t JrI-L., 11H .-,:a --. 3|:.'-' Rl* i*ijil VJ Vqi-uill $l--n li; Errci AYTE i { RE5-'-: nr. tFi i ft[Tli-ti'' i ( 4. izi4. l. til Y/ ** riEY SUEttEiiT I IiE tt* *{' 5'{; pS I F ;'.iU ,{EY pftE$sE|t, i/4 ZE.IEED ** I F i'iEYr ;HE'r. Vf;LUE :;{ V4 ** ,-rL t .J I r\iI r -'J rir16 g eF, ?,F8 tt H rl4) Er ft6 PLE T6 :- LD: D tr F 7 iit iEi I (fiDDR=Ss R 1f5 J.EI ;ib 5T'1 i16 'T6 FF triri r F.p e56 36e 486 -3eb-F t:r ...1 F .3tf 77il 9sfl 96F ,qrF. H i3 LIN R6 fr. ffUT (SET ir.EY Sf,Ri\i EAUNT} \t/ I -l l-? V/: V/ .t t- D=C '16 SEX R6 ('\fiP) Ye B3 T6OTE DF} BiUZ (GBTB uEtrF) i NC t?5 i i\iE R5 ir c .t (i\io KEY, Si{ D=E RE V/ 5B f,ND RETURN} Yl w R7 TB Ptri NT -trt 4D7 SEP i17 5iE iNC RE 6D4 sE,l fr4 **** END BF iF (sET TO Frl 3ee Y/ Y/ sr,1 fr6 Bt5 cD4 sEP R4 DFg LDi E gi Ffr7 Pi-t i tl I F6 s 'a HI I efl7 FLil ft7 .a it :-&i t-i L t t-t SEX R6 uDi V/ DEBBUNCE f;lrilRESsi TDEEREiYiNT STflCi(} (DE DEBtriJNCE sUB} I?EST0RE STft{:;{} { RETiiRi\ji Yil Yy ( SRUERfttYi **t* \*v w f,DVERT:SE;VIE5' FOil SRLE: 4r( ViP with rnanuai arrc viciea rnc,citrlaic'r, $54 aius snrpping. Vp-575 Ex,farrEion oc,ar*d, $gS pir.ts ship.oing. Vp-55iZl Super Saunci bc,ard, $EE pius shipling. lric,dei l5 TTY t{itn Foare motsr and case sf paperr $5O pius snipping. Raciis Shac;< pC-i with printer, rnannais, prcgrarn boekr tgAS pius slrioping. AL. aoove irr exeei ierrt canciit isn. Eai 3 Jerry (913-338-e6?6) aiter SPivl Cai ifc,rnia t irne. flnnc,uneernent w/ hlr .i - ,J 'i Vz ll ili rtl I v w ]. it .' $t Fr,=E!*arils in this ViPE;l t"liii be avaiiaoie alsc, frc,nr VipiiC* ,Irrr cagseu t e f c,r $9, ilil, wn i cir i ne i r-tdes :fc.st Ege, I ! ease =leyt* i rr a cneck ( nc' easset i e neecieo ) and be FrJr'g t,r i rrc i ucig yf'Lr.r' accreSs. il: Y/ lr '1, lli ,li I' \a" 4.f1,4. I rll q, i Ua/ \- v v v lb/ lt' \, \/ v tl, tt {/ {' tt \r ffi t\/ \, \, \, ly "f,t tlttoberfest Refleres do Perniez A recurring featurr of a locrl elementsrg school's fund raisino activities ir the Ottoberfeet. It has e succeeEful tendencu to3 uards imitating the otore sElient arnbiente of llunich'g colorful crhibition of attrrctions but lacls meng of the circuaferential and lese conepicuouE machines that neverthelese belong there. Having aluags en;oged drterrnining one'i sensonotoric raflerai roith a nechanical device that usuallg cen be found at Ohtoberfestr r decided to cnulata a Rreponse Time Test uith og cCIsfiAc vrP microconputer. rn tha originar set-up uou fead the device a coin and uait for a g"een ligtrt to cofie onr At thc same tine this happans, e lerge clock hend starts moving from its center position clockroise and pist fieldc that a"€ €pprorinratelg tflO iec apart. hrith e largr button gou trg to stop the hand is fast as Uou cen - it then points to sone funng renerhs about Uour nervoug and other bodilg rgstems ;ust short of invectives. Certainlg this cen be donc uith the VIP, end surelg uith sufficient timing accur€cU. Thie is horo: The basis of the timing lies uith the fact that the COSIIAC,VIP uses the Video Displag Gontrol chip CDP 186l rrlhich sends interrupts to the nicroproccssor (the GDP l8o2l everu llbo s. This ceuses betuern I and 4 pa.ger of RAl.l to be displaged on the monitor bu'e routine that is providrd in the operating sgsten. As uill be sern in the analusis belou, the tine neceesarg to transfer brltes fron RAll to the nonitor Ecreen is just sligbtlg smaller than l/t2o src. Thir alloue to increment E counter ;ust before the video routine, and right after it again, giving t?e counts P€r second. Thus 8.3 ns resolution is obtained for the time interval betueen thc start and a rtop signal, reccived et the I/O port or so,n€ s€nee line tha processor cen Ecan. Since the etart signal rrlould br iseucd bg the computer its relation to the interrupt timing can br deterrnined and accounted for in the progranr The accurecg of determining the tine interval that ulill have clepsed uhen the stop signal is reseived (as generated bg the plager! is thrn given bg the duration of the displag routine refreshing the nonitor scleen. Therefore, the tining eccurecg ie aleo 8.3 ng. Y"J A tuo-gagr displej foroet uer chorrn for thr dirptag of the geor firld uhich rrrultr in r vmticrl rrrotution oi a+ lines. This formrt rllorrlg to lncludr rnstructiong for-ttra-gane anc rtill hrvr thr progrrn flt lnto 4 lbltrr of RAt{. Tith 64 linrr.vmticrllg . queri-enelogour dispreg of tbe rkprrd tinr ir obtrinrd during thc first s"coid i.rii"tr iE the rrngr of intmrrtl ll dirplrttng l tinc rcaac;-, ti; tinc ber, on thr nonitol-rnd loyrlg it vmticrllg bg one linr for each intmrupt routinr thrt tlr vidre contritlir-iiie-iiqr";t;;-" t/ v 1/ tn I ! x ; of thr grogrrn drrign conridmetions ere drterninad bU thr rgrtrn conrtrntr of t[r CffitfAC VIP. Thr nic?opro€esior oprrrtrr utth . crgrtel-dmlvrd clocl frrqunncg of 1.76o,64,!t{t, Thr rrrcution of r rtenderd lrchlnr codr inctruction tales tuo nrchinr cgclr+ for frtch rnd rrlcutr rech conriating of I clocl cgclrc. Durlng dtrplrg thr vldro lntmfrer irruor 128 rtreaoc of I bgtrr mch thrt lttr in thr Z-prge nodr, configurrd into & dirplrg linrr. Erch bgtr rtrun uttr 14 nrchinr cgcles. All thir givrr r totel of l7?2 cgclrr for thr ditpleg iequrncc. The intmrupt routinr ttrrlf ur.t 34 crchinr cgclrr (including the rrturn routinr). Thir rddr uF to 18e6 cgcllr. Thr l/60 rrc intmrupt intarval contrinr 1,7&),64,Of6(tfB r 3668 cgclrr lrving Ifl4'Z cgclcs = ?21 mchinr codr inrtructionr for thr tining progreo. Sincr thr dirphg routinr ir.rqulvrlrnt to l9lkfltZ lc g13 nachine inctructionr onr hlr h?t ;urt 4 lnrtructions in er:ctlg half tbr intmrupt intmvrl ol tllrc rrcondr rllouing to count (and rlro lool for thr 8Tf rlgnrll rvmtl lfl30.rrconds. FouF inrtruetlonr tr] rnough to do thir rr.thr progreil lirting ehous. Thr rrst of thr evrilrblr tinr ir for bool-lceping, enalog digptrl of rlrprrd tlar end for tlor:.drleg loopr thrt do both thr urtttng rnd thr rrect porltlonlng of thc START signel that thr conputer uill irsur rrletivr to thc lnt*rupt routine. Thc tinr flon ch*t in flgurr 2 rhour thrr reletlong. Thr orchinc lrngurgr rubroutinr GBUNT TIIIE both countg and convlrtr thc rrrponn tinr intmvrl into rccondr for displag. Rrgirtm RC countr oultlglrr ol thr rgstrn'unit tinr (1/l?0 s). It lr prrnt to Ol (bU insrmrnting RC rt O41Clr' rftm thc STIF Lutton ser chrclrd for prrnrturr prrrring. Thl prrnt rllous for dtrphging thr pronpt (., eO, rnd for thr tinr,rprnt in the flrrt uriting loop (olo. loc. O42b to O42Bl bcfore thr rtop button lr firrt shrclrd. In thlr rrg thr drrirrd tining .cGur€GU[ o? 8,3 nr lr nrlntrlnrd through thr rtrt-up pcriod brfore the ttntng loopr brgln. Ttrr rtop button it chrclrd rt the end of thr urttlng loopr (glvtng thr plrgm tn ivrptgc rdvantege of .pp?oriortrlg 4 nr). Thr drtrilr 4. 84. l t t'- --*- i3 ii; {t I v i t i I v lt' I v i nb , }ty 1 I I ty \/ i v : i I \/ l I L/ n ) I't' l t, )u' I\, Other'.part's of the COUNT TIt'lE subroutine roill convert the tiner count 'urhich is in unite of lll20 s into ttdo numbers: the f irst one becomes the elapsed time in integral seconds uhile the second one has a value equal to the frectional tine in centisecond.E. This allours ' X. XX B, " Es displag f ormat. A rounding routine shiftr the 8,3 ns accur€cg to an error af.+/- 4.2 mE uhich is less than half of the last digit displaged thus nahing the displaged timc meeningful. , The time conversion f irEt determines the nunber of integra.l ; secondg in the valuc of RC bg eubtnacting 78_h uhich is l?O_d, The remainder in RC {number, of lll20 E fractions totallipg less than 12O) has to be divided bg 1.2 to anrive at the nunber, that represents the same tina in units of lflo,$ a. This diviEion is done bg subtraqting L/6 of RC's value, 6ag V, from V itself since V/1.2 = V - V/6. The division bg 6 is performed,, using proper rounding ulith 03 (nem.loc. O47C), The result of this conrputation is stored directlg into the CHIP-8 variable memorg as VB for the seconds, and as V9 for the centisecond5. ,: Another part of the eubroutine CCIUNT TIHE terminates counting after.2 to I geconds (goftrrrare ad;ustable) if the STOP button n€e not hit (the nuna?ical time displag on the screen Eupports onlg ?.?? sl and - vEtg irnportent - prevente the timer bar from being uri*ten belour the displag peges €s this uould neeult in the Eelf-destruction of the progren. The START and STttP buttons are connected to flag EF4 (inverted) through the emall circuit shoun in figure 3. It conEists of' four NAND gates that debounce the turo suitches. The O-Iine iE f ed into one .'gate roh ich reeats the debounce c ircuits end puts the ftag EF4(invarse) at HI0H. Another gate is used to prevent starting the gemc roith the STOP button and vice varsa stopping it uith the START keg (sequential interlockl. This interlocl circuit is reset each time the timer subroutine is entered. This interface circuit is buitt up on en experimenter's boird (Radio Shack Cat,No. 276-154, ruhith plugs into the COSfleC-ViF,t t/O port that alEo proviiles the supplg voltage for the trrro loupourer Schottlg ICs 74LSOO. After pressing the PAY lteg O (could be done bg e coin-activated suritch I ) the program ueits for the START bution to be hit. It than enters a delig loop ruhose duration is randomlg set betueen one and three secondE, The timing begins uhen the last uord e0 of the starting comnand READY, SET.. eO flashes on the screen. Simuttaneouslg the tirner bar startE moving upuarde uithin the bar frdme. Then one hits the STOP button is fast €s possible to stop the action. Since the STOP button interloc* is rernoved es. soon as the START'button activates the delag/timing routine, it is possible to "stop" the timer before it hes even started. The progrem detects, hourever, urhether STttP u,€s pressed be$ore the GO signel appeared (and the time bar started to move) and displags a "cheated" neesage. Thr gln. rndr uith thr tiorr bm filling thr ber freoc up to the valur of thr rrrponie tlnr, providing r quaci-anrtogour output of thr tinr thr plrgm nrrdrd to rrect on thr OO rignrl uith prcrring STOP. Thir tinr ie elso digibllg dirplrgrd on thr 3crrlnr In eddition to this, . tuo-line comnrnt ic nitten out rrgerding thr plegrr'r rrnrsaotoric rlillr. This eoearnt ir rrlrctrd fron rlrvrn trrte drprnding on thr O. I c intrrvsl into uhich thr rmction tinr fellc betuccn O.OO and )rl.O0 s. Aftr r roftrmr-controllrd dirplel pmiod of thr tim rnd conntnt thc progr.o returnc to brgin . ncu lroa It arg alto br rtmtrd brl prrrring lrg O. I'lhitr uelting for thr PAY lrg O to be prrrrrd (egein) to rtert rnothrr gror it rlternrter brtusrn dirpleging thr rul* rnd thc g.CI. firld. rntmrd into prgrt I rnd 9 bg graphicallg drcorThr rulrt.tr poeing thr trrt into r dlrplet firld oi 64 r 64 pirrlr, r.r l. !r figurr 4. Thrrr tuo p.gr. o.g br reperetrlg chengtd b1 lordlng thr deta froa tagr lnto thr tuo p.gor. Sinil*lg, tlrt comnrnt trrtr' in pegrr 6 end 7, t g be adeptrd to :ng occ.rion bg rrplecing thr mnorg contrntr :ccordinglg. Thr forlet of thr trrt roquirrr too linrr nch fivr bits high end 4 bgtrr ridr to br grrphlcrllg fillrd uith r tit prttmn thet.pprr"t tr chmretmr uhln dirplrlrd ulth CHIP-B'r DXYil inrtruction. Thr detr in nroorg locrtionr O6O9 to O6OF govrrn tiir fornrt. Thrg rhould not br chrngrd ulthout und*rtending thr rorlingr, Thr trrtr rtert rt O6lOe llGh of thr conornts brin! 4O conrrcutivr bgtrr longr rll ln onl contiguour blocl. T[ur, thr 'chrtrd' nltl:gr ir locrtrd rt 0610 right eftrr thr etcering detr. Thr connrnt for e rerction tim brturcn O.(Xt end O. lO s rtrrtr et arnorg locrtion O6tOr brturrn O. 10 end O.2O r et Orb9O end ro on. Ttr titlr of thr grc. ir ttorrd in p.gt 5 in nroorl locrtionr O508 to O548. For drtrilr tll thr ornorrl urignnrntr in front ol thr progren lirtlng, end llgurcr D end 6. In itr prrernt v*rion thr progr.o runi on r 4lbgtrr oechine. Sincr thr inrtructionrr thr hredlinrr, end connrntr are not rsrrntlel to thr rrrponrr tier drtmainrtion ltrrl?' on. could nodifg it to run on e 2 lbgtr nechinr rfter ad;urting the p.gc deta end rlinineting thr cgcling brturrn g.no p.g. dirphg end inrtruction F.gt dlrplrg. Pege t uould .tiurnr tie rolr of p.gr D and thr 2-pagr g.CI. dlrpleg uould br fron prgli 6 and 7. Ths progr.rf, rupportlng thr rstuel tintng progrm ir sritten in tlrr intmprrtrtivr lengurgr CHIP-B thrt RCA nrler rvlileblr to thc usrrr of thr VIP. Thc rtenderd vmrion her brrn nodifird bg thr rddition of rn intmrupt routinr thrt eltous thr dirpirrl of tuo prgrr of RS{ on thr nonltor. Onr porriblr inplmrntrtion of ruch r nodiftcrtion hrr brln ruggrrtrd bg llodlr rnd' l{lnror tn VIPER yol.1, lrrur 3' (Octobrr l?7Brr publishrd et thr tinr bU ARESCB, Tbr GHIP-8 tntmprrtr oodifird for thir Z-prgr intmrupt routinr hrr to br loedrd into otnoru fron OOOO to rbout OztO - it dorr not urr rll of thr third palet Thir prlrror houlylr' rtrtr rt O3OO ohich nrlcr ltr rtructurr oort trenrprrnt end, rt thr ttmt tilr, provides rprcr in pegr O2XX for indivldurl progrto rnodificationc. 4. fi4. 13 l dr_ \/ \' ResponEe Titne \tr{achine: \, fb COS}'|AC Language: druthor: f'femorg Si z e: ql location VIP (RCA ) trri 4 ltbgtes of \' t RAI'f Use O' l, ?-Pege CHIP-B Interpreter . CHIP-8 Progrefi l,lachine LanguegE Subroutines + scale/frarne data Special Octrasion Texts Tirelve conments to the varioug response times 617 Instructions not used partlg used bg CHIP-B Interpreter D CHIP-8 Di sp lag Pag eE E,F This listing dogs not contain pages 6 through L Data fron uhich this program generates the commentsr EDd the instructions, €re user-suppliedr EB€ above end figures 1,4, S and 6. r4, Note: or PageE B'q \/ p Udo PerniEz 5 \r th I lA CHIP-B, ?-fege displeU version 3 4 r\/ Oame B, \, ADDRESS ) CTTDE SYNTAX COHT,IENTS L'osoo &800 VB=O0 define the \rosCI? 13AO CIo oSAo 0304 0306 o400 65FF 6444 F418 F$t 5 F307 EBAl 1330 3300 TI I 30E Gtr 74FF 3401 V4=V4+FF SKP; V4. EO. 01 to dreur the g€me fiet,d pag€ (resumes € o3?Ol Eelect pege I & q for dieplag: inEtructions. set (inner loop) tinrer set (outer Ioop) tirner beep alert start timer 'check if pag keg is pressed if so exit timer loops loop beck if time not up (inner loop') d ecrement outer I oop c ounter I oop bac k i f not d one ( outpr loop ) beep alert if done using counter left-over , \zoeoE o30A o30c ) tyosOE 0310 i lr t-33li 0316 0318 'r t. lyOAlA .. o3lc i V4=TONE HE=V5 V3=TIHE SKPi KEY. NE, VB eB 0330 SKP; V3. E0. OO OSOE etl 030c o320 \r0322 o404 65FF DO HLS C 0404 V5=FF 0324 o3?'6 F51 5 TI F507 4500 I 304 Eg?E 13?6 V5=TIt'lE SKP; V5. NE.0O 00 0304 oseA CI3?C I tyosaE n DrI HLS C 0400 V5=FF V4=O4 V4=TBNE \rO3AB t- L \, O ISPLAY INSTRUCTITINS AND hIAIT FOR PAY KEY I 30C F41B Lo3lE PAY lreU: DISPLAY CAHE FIELD AND I.IAIT FtrR PAY KHY select peges E and F as displag: set time HE=V5 SKP; KEY. EO, VB eCI o3e6 go back to instructions check pag keU loop back if not done if done garne field v/ }IAIN (7F, o330 o332 o334 o336 o33B o33A c?7F V?=RND 7q3lF o33C o33E FqaT 3900 V9=V?+3F DO HLS C O4OB I=O54C DO O3CB TIi'lE=V9 V9=TII.IE SKP; V?. EO. OO o340 o342 o344 o346 0348 0344 I 33C etr o33c A571 eScE DO O3C8 034C 034E 0350 035e 0354 0356 0358 035A 035C 035E o40B A54C 23C8 F?l5 04to A54C escB A57t 23C8 ASBO F465 8780 23Eg I=O571 Dtr HLS e 0410 DTT CI3EE I=OFBE VO: V4-1'lI up in ruhrout ine: erase terts rea I t ime d i sp lau and c ount na points to icretch ped for sesonds displeg read in rtearing veriab leg VB sontains ful I seconds displag digit for seconds pointr to scretch ped for thc IIIOO s displeg V9 c onta ins c ent i sec ond s displeg digits for centiseconds I=O5BO VO: V4-!,lI V7=VB F465 f'7qO loop if time not point to H eO" umite I=O54C DO OSCB I=O57 I DO O3C8 ASBB ROUTINE select rendon number O r. 7F lllA 2 s dclag ad d Gr. I s as e base de lag t ine reget leS debounce eircuit & d i sp leg pag eE point to "READY SET r r r I' ulrite tert set timer to the delag time E3EB V7=V? DO O3E8 3800 Sl(P; VB. EO. 6BOA 6AOO VB=OA VA=OO 790,? B9B5 V9=V?+O? V?=V9-VB SKP; VF. EO. Ol FIESSACE SELECTOR o360 036? o364 o366 o36B o36A o36C o36E o370 a372 a374 o3-7h o378 037A 037C 037E t37* sFOt eo 0374 t37b eo a376 7414 136A VA=VA+14 eo 036A 6ADC VA=DC A60? Fb6A FAIE VO: V6=i'lI FAlE 33CA I=O60? t=I+VA I=I+VA DE OSCA OO for t)=l s prepere for i?pereting tine into lfIA s piece initieliz: table JUnp distancE single out a O.OO s time (STOPped before run routine to divide bg lO begins here if time = zero add (halfl Junp distance for eech O. 1 e piece entrg point for t )= l.OO E begin of meseeges table: Fteering yeriables point to efplicable nessege part (overconing e veriable renge problen) displag tnesEege (modified entrU point!) cheslr 15' I vogBo 6800 03Be ;; O384 rl t'og8a 0388 O3BA rI \zosgc OSBE O3?O \I I" brOSqZ o3?4 03?6 \ ), tyO3?B O3?A o3?c \rOg?E bosAo O3A? o3A4 \tOSA6 0SAB O3AA \rosAc O3AE , 0SBO lzOgB? o3E4 ) OSBA 0SBB ) ITOSBA osBC o3BE ) \tOgCO OSCA 03C4 ) O3C6 6OFF 6102 Fotg F3A7 E0A1 lxxr EBA1 ISOO 33OO rSBg 4100 1300 TLFF 1386 FTER-EVEHT HBUSEKEEPINO reset the PAY keg v8=oo set'timer and define *eg F as progren exit leg VCIllFFF Vl=O? Trt'tE=vo V3=TII{E displeg resulting, gama f ield for sone tinre ehec f if progrem ex it kerl is pnessed uherever gou heve others prolr€tl €. !. editorE checl pag keU bacl to begin if pa1 *eg 'preesed SKPi KEY. NE. VO eo orxx SKP; KEY, NE. VB ; e0" O30O SKP; V3. EO. OO e0 0388 SKPi Vl. NE. OO e0 OSO0 VI=VI+FF eo 0386 xxxx ( not used ) TEXTS FTTR CAHE PAOES (relocated ERASE' uras et OOEO in"1-pg\ ver s i on of CHIP-8 ) sCele o?go ERAsE A6?g I=O6?8 23CB DO OSCB AAA4 I=O6A4 23C8 Dtl O3C8 A6C? I=O6C? 23CB Dtt 03Cs A6DS I=O6DS 23CB DCI OSCS AAE1 I=O6E1 scale numbering vertical bars of box horizontal bars of bor decimal point €nd rtsectr 23Cg A5O0 23C8 A52F aSCB 1320 xxxr rxrr xxxx rrxr BPTI ONAL TEXT T OCCASI ON-OR IENTED "OKTOBER " end "REACT ION" I=Q5OO, DB 03CB uFEgTr and I=O52F DCI OSCg ?eturn into ( not used ) eO 0320 } trT Urff il' game field timing section J i eUosca ti OSCA } L3338 o3DO O3D? r ) \rO3D4 03D6 O3DB r ) hrosDA 03DC O3DE \ ) L'o3Eo OSEA tu O3E4 I U03E6 i a-) TEXT DISFLAY F66s vo: va=ul BB20 VB=V2 BA1O VA=VI 670A V7=0O DABS SHOH 5]'IIGVAVB F61E I=I+Va 77AL V7=V7+01 ?TOO SKPiV7. NE. VO 13DE OO OSDE gA34 VA=VS+V3 13D0 00 03DO BB44 VB=VB+V4 75FF V5=V5+FF 350CI SKP; V5. EO. OO 13CC CCI O3CC ooEE RETuRN SUBRTTUTINE reed the Eteering data : usee diEpleg unit of Eize 5-bg-g: suits text position pointer to nert group of bgtes incretnent hori zontal b loc lr counter checl egainst number of horizontal bloclrs , rnov€ hori zontal lg to shou enother bloclr verticallg decrenent velue of vertical blocks to do and check velue to reset horizontallg to initial velues if done move I OSEB F733 03EA FOTE I=I+VO oSEC OSEE oSFO F165 FA2? D235 74FF 4400 VO: V4-V4+FF St(P; V4. Ng. OOEE RETURN o3F2 o3F4 o3F6 OSFB OSFA oSFC OsFE I=LSDP (VO) slt8t'f 5Hrev2v3 13FO V2'"V2+O6 co oSFo 7206 rTIT F8 08 LASEL * SYNTAX PHI D4 SEP R4 LDI PHI SEP R4 START D4 o410 F8 00 0413 BC AC o4l4 FB 0416 04L7 0419 BD AD LDI PLO O4TA 041C 3F SO BN4 IC INC o41D F8 04 BA FB 97 LDI PHI RA LDI AA EA PLO RA sEx RA 04t? 04rF o420 o422 o4e3 REO sEo LDI 7B OE BB OD ItrSRT * PHI FB F2 IITSRT Blrl4 C$,NT TIHE LDI PLO OF OE RB SEP R4 PHI digits ry- Y, OB and 09 digphg peferr ffi and OF rtturn RB o408 o409 o40A 040c o40D o40F 3F inrtruction priisr Frturn OE D4 FB o8 RE EE 7^ COIIHENTS EAHE FIELD OE bUteg w TPERAND II{STRUCTITINS LDI * IT DISPI.AY SUBROUT I }IE oovt horirontallg to rhour thr digit (not uted ) BB FB C convmt V7 uhich is the dunng position pointe? to nert group of read tuo bgtes (-d ig i ts l displag the first one drcrrnent digit counter checl if done uith drsircd nunbtr of if not p?oceed to nert digit OO (Vll I-LSDP * o404 o4t)6 o4a7 Vl=l'll Fr2? ADDRESS OP-CODE 0400 a4a2 o403 HIESDDE(V7) prrp.rts for nlrt connend uh ieh rcretg the START/STIP suitehes tclrctE games field pigei for dispt utit f or START, i. E. EF+ f lag rrturn if START button prcsged oo RC RC LDI PHI RD RC - tine Gountcr set to ze?o or F2 suln pointg to tine bar start locatiorP c h sc I f or STOP pressed bef ore start t, prr-irt tiaer to lflzo- s RD RD P RC 04 ?7 RA p o inte RA - R(X) to t imc bar sgnb o I e o47ly deta Pointer lj 4. ta4, 19 \ T/ 0424 \rO+23 FO a4?'b F8 ?4 bto+28 AE O4?,q ?E O4?A 8E \ro+?B 3A zq , o4eD 3F 50 ) I bro+?F lc ) ) STR HTLPI LDI PLCI RE WAIT1 DEC RE ELCI RE ENZ BN4 ) bd45o O45? 0453 \ ) bro+55 o45& \ , O45B ) Lo45e li J i o45A o45B o45C o45D ) LBISF 0460 \ ) \ ) L FB 50 OD 32 2b BD FF Og CHI SUI.IUP q4 T.IAITE O0 30 24 5UHUP OD IdTLP 1 08 OO oo suHUP LDI LDI PHI RA LDI FB 04 BA FB 95 AA Bc PLO RA CLB RC 73 STXD 9C SHI 73 STXD LDXA 72, 5CND5 SD 73 STXD LDX sl.fB STXD ?5 O as counter RC RC gets datum 7B-h = l?O-d for determinetion of ful t seconds I INC for seconds RA is Etill data pointer R(Xl RA points to CIEmrloc of lo-count of get counter velue store in scratch ped RD. 04 IRX Fg 60 F4 73 0o PLTI RD AD time bar position address bac k then go bec I to uriting the tima bar (unused fiflerl neur T.IVBAR x FB l counter for re€ch ing upper time limit of .*' 2 s (up to 04 is sensible) and exit loop if erceeded chec I time bar pointer address and stop u,riting into p€ge uhen it points belou, page E else decrement time bar pointer bg B uhich iE the metnorg Iine-to-line diEt. chec OT RD SHBI PHI RD BR BI) r SUT.IUP if not done erit loops if STIIP button pressed else count tine, then urait (interrupt fron TV controllerl checlr STOP button immed.after displag if still not pressed count time enter uait loop 2 for enother llI?CI s PLTT RD AE ?D 7F WAITI g RE BNZ CHI RC XRI BZ EHI RD XR I BZ CLO RD SHI FB 01 0461 FO ty a462 7F oo 0464 73 0465 lD FB FF \ro+66 0468 3A 5D 046A 72 ) Lo46B o46C I Lo46D ELB ?c ?D 94 INC RC 3A 37 32 g p RD IDL 0430 00 BN4 50 I 04sl BF INC RC tc .tt0433 ]'TTLPz LDI 0434 FB ?4 PLO RE 0436 AE HAIT? DEc RE bro+s7 eE gE 0438 ; O439 ) \to43B 043C ;I 043E ) bt044a 0441 i 0443 ) \to443 044d i 0448 ) ; b'044q o44A i 044C ) i bto44D O44F et sgntb o I ut i t into d i Ep IaU pege ureiting loop part I counting III?O I.IVBAR LDX sD oo XRI BNZ LDXA IRX ADD STXD ounts ful I seconds checl if done if done ad;ust for too much subtracted c RD FF SCNDS ,i iI/ ,/ o4&E o46F o470 o47 1 o472 a474 o475 o47b 0478 c,47q o47A o47C 047E 04BO o48 I STR Rtr DEC RD CLB RD 5A 2D 8D BD FB PHI transfer seconds fron re-initialize RD.O RD oo LDI CIO CNT OA IS FF 06 LDN RA Stf I STR 5A INC 73 FC 03 33 83 BDF CNTIS ADI o3 BDF FROAJ round DEC RD 2D 38 00 SKP FROAJ INC RA ELO AD PLTI RD O4BB CI49? BA PHI CI4BB AA BD PLTT RA RA CLO g O4BD 73 STXD 04sE ?D GHI O4BF 73 sTXD 04?0 D4 SEP R4 04? 1 OHI FB F? o4?3 78 o4?4 o4?6 rx X YI,, R6 RA LDI xx xr ing rout ine urhich is (I/h, of count es per l,l(R(AIYl sub trac t to g et cent i sec ond s and store bac t in RD RD F5 qh 1 Y, (tuo fill,ers) CIo gD 04BC RD, divide bg d to get division bg 1,2 a,' (l-Llhl: convert llI?;O s to If tOo E Yl o6 RA RD 1D 33 1A gD into PLTI RD AD o483 0484 o485 o4B6 04B7 RD.0 Fq points to CHIP-8 veriable et cent i sss onds and store in V? g et sec ond s and store in VB ret urn (not used ) RD RD V? =12O-d: counts par integral seconds storege f or ( L/6O) sec fronr RC sgrnbol for the time ber xx -X FF v, ry, v v, DATA STORAEE FtrR TEXTE o4?8 o4?F o4A4 O4AB o4BO o4B5 O4BA O4BF o4c4 o4c? 04D0 o4D5 o4DC o4E 1 O4EB O4ED o,4F? i I I I I I I I i,r". a4F7 04FC o? o0 00 00 01 04 30 10 00 0B 0c 06 OO FO OO OO 00 00 0c 06 0s 10 10 38 lC 14 08 14 SC lC 10 lc 14 5c 10 t4 14 lC 44 lc 04 oB 10 5C 38 ?8 ?B 38 OO 01 10 o0 00 3F 0e oo 3F OO oo CIo o0 o? 10 oo oB 0s oD o0 co co co co co 04 20 2,e 0B oo 01 0s oo 00 00 0B 0B oo oo 00 00 00 00 a7 04 03 07 oo 77 74 44 77 xx xx xx xx steering data; SCALE st, I .B exp lained at 060? d, v .6 .4 A .d CI st. d. horizont al bar of frarnr Et, d, ve?tical bar of frarae gt. d. po int for decimal space ttsgc tt ( unused l c ent i seconds V lju' \" \, SPECIFIC TEXT9 FOR THE OCCASION o500 OO Og OE Oe OA OA OE AE c4 c4 A4 A4 o4 CIE \, 1C OA EE AA AC EE BA cc )lu 3B 2A BB 2A EA T2 EE AA ),U o5?F o? 24 EE E8 EE g4 o54C AA EE 8c EA 38 3? 28 AA AA EA a7 0B oE oe 05 cc g8 BE E4 24 E4 03 lC 32,08 AO ACI E4 \y St. d. "FESTt' 24 09 "TIl*lHrt 02 05 AE o57t ) " REA[)Y, '' $ t=ET hrf-lrll AC EB EE BB EC ?8 EE EO 40 40 49 49 oo 00 00 02 ?o It il ,'RESPONSE" 3A 2A AB 1? 12 ?2 EE A8 EC CB EC AA EA AA ) data 'IOKTOBER" 75 25 3S 25 e5 F7 54 5& 54 37 \' ) OS rteering (here: Oktobarfestl 01 3g 3E 0B OO 01 00 ll rco'' EE 8A BA AA EE DATA AND SCRATCH PAD FOR SECONDS DISPLAY ) ) oSBO o? o58B o1 oo lE 26 01 TT TI TT 00 2& ,2& o? xx rr rx displag control, data for subroutine at loc. O3EB and scratch p€d for the 3-digit decirnal equivelent of sec & c )'L L . lb L DATA STTIRACE FOR COT{HENTS 0600 o60E o60? 060A o4 o60B 32 t lc o60c OB o60D 060E o60F o? 0? 05 0610 \, ent i sec ond s (not used) steering data definitions of horizontal blocks x-coordinete initial, upper left corner of block U-coord inate harirontal increment vert i ca I nunber of vartical blocks menorg pointer increnent commentE (data user-Eupptied): 40 bgtes/massagEr in rours of four bloclts, each block five bgtes high. number turo YIP Hobby Computer Assn. 32 Ainsworth Avenue East Brunswick, N. J- 08816 v v ffi \/ v v v Thr lntmlrcr lor thr ETART rnd ETOP buttonr plugr into tbr I/8 port of tir VIP rnd contlrtr ef tuo Ourd l{A[tlD cbipr ZILSOO. Thrg rrr connrctrd rr tro rrrrttrblr rritch-drtouncl circuitr, lclr'b rnd IC2r'b. Rrrrt undm progt.o eontnol tr bg thr O-linr rhieh lr invmtrd uith 1C26. Tllr ETOP button ir dinbtrd bg IClc unlrrr thr STAnt button lr prrrrrd flrrt (ICld lnvrtr ilrr Slf rlgnrl). Thr rlgnrlr lroa thr drDouncrd Y buttonr .r? connretrd to thr ticrop"octrtor'l fhg tlnr 5K EF4( lnvrrrr) through thr grtr Ic1 IC2c. +ty Y Y TCL Y v I Yi *[ rc !,Lz?ll'1 :; 7q Lsoa Oqcl Nir\rD 6&5 9r.cni- Y v Y tgr-->-'-' Snlf 6np 1.04.?3 v v \r' l