home *** CD-ROM | disk | FTP | other *** search
/ Flop Magazin 41 / Flop_Magazin_412_1999_Raster_cs_Side_A.atr / mjoyprin.cap < prev    next >
Text File  |  2023-02-26  |  8KB  |  1 lines

  1.        Princip periferie Multijoy¢  -----------------------------------¢¢  Geni*ln) my&lenky jsou jednoduch[ a p@esn% to se d* @)ci o n*padu Radka na p@ipojen) v)ce ovlada'+ ke standartn)m vstup+m po')ta'e bez z*sahu do jeho vlastn)ch ]trob. Je vlastn% velmi divn[, (e se toto @e&en) neobjevilo u( d@)ve kdekoliv ve sv%t% ╱tedy kde maj) ATARI 800$, z@ejm% je nejt%(&) n*pad dostat.¢  Proto(e Radek nen) elektronik, nechal technickou str*nku v%ci na m% a j* tedy na konci roku 1998 vzal na sch+zku klubu p*r sou'*stek, nep*jiv[ kontaktn) pole a m%@*'ek.¢  P*kov` ovlada' je v principu soustava sp)na'+, na n%( je p@ivedena zem po')ta'e ╱z*porn` pl nap*jen)$ a tuto bud sp)naj) na sv[ v`stupy nebo ne. P*ka ovl*d* 'tve@ici kontakt+, z nich( v(dy dva sousedn) mohou b`t sepnuty sou'asn%. Tla')tko, kdo chce fire, je p*t` nez*visl` sp)na'.¢  N%kter[ prameny tvrd), (e toto tla')tko je zapojeno opa'n% - sp)n* kladn` pl. S*m jsem si to tak myslel, ne( jsem si ovlada' rozebral a prov%@il. Tato pov%ra je siln*, dokonce je&t% i po ]sp%&n[m dokon'en) Multijoye se na&li lid[, kte@) j) v%@ili a vykl*dali mi ji jako spr*vou.¢  Tedy shrnuto - u n*s v Prost%jov% tla')tko na ovlada'i sp)n* na sv+j v`stup zem.¢  Na pochopen) principu Multijoye je pot@ebn* znalost chov*n) logick`ch hradel, a to jak principieln%, tak je nutno po')tat s jejich elektrick`mi vlastnostmi. U logiky TTL jsou omezen) v po'tu vstup+, kter[ je mo(n[ p@ipojit na v`stup hradla, prost% nep@et)(it to a ned%lat zkraty.¢  J* dost t%(ce vzpom)nal, jak to vlastn% s ')slicovou technikou je, proto(e co m*m po')ta'╱e$, p*jku jsem prakticky nedr(el v ruce. Nejd+le(it%j&) jsou dv% v%ci - logick[ ]rovn% a chov*n) hradel.¢  V na&em mal[m Atari je pou(ita logika TTL, kter* definuje logickou nulu jako nap%t) 0 a( n%jak[ desetiny Voltu, logickou jedni'ku od 2.5 do 5 Volt+.¢  Nulov[ nap%t) znamen* p@ipojen) hradla na zem, nikoliv nep@ipojit v+bec. Vevnit@ je to toti( d%l*no tak, (e nep@ipojen` vstup se chov* jako kdyby na n%j byla p@ivedena logick* jedni'ka. To je takov* d+le(it* v%c, kter* mi d%lal pot)(e, kdy( jsem se poprv[ s ')slicovou technikou seznamoval.¢  Z tohoto principu vypl`v*, (e ovlada' skute'n% mus) na vstup v po')ta'i p@iv*d%t bu⇦ zem, nebo v+bec nic, vstup s*m bude tvrdit, (e byla na n%j p@ivedena logick* jedni'ka.¢  Radkova my&lenka spo')v* v paraleln)m p@ipojen) ovlada'+ na jeden po')ta'ov` vstup, p@i'em( v(dy jen jeden z nich bude m)t p@ipojen` zemn) ╱nulov`$ p@)vod. Z v`&e uveden[ho vypl`v*, (e ovlada' bez n%j se na vstupu chov* jako by nebyl, proto(e prost% nem* mo(nost dodat logickou nulu.¢  Na @)zen) p@ipojov*n) zem% ╱logick[ nuly$ do skupiny ovlada'+ se pochopiteln% vyu(ije zase po')ta', v na&em p@)pad% se nab)z) druh` ovlada'ov` port, jeho( 4 bity lze d)ky dobr[mu chov*n) obvodu 6520 p@ep)nat do v`stupn)ho re(imu nez*visle na prvn)ch 4 bitech, kter[ z+st*vaj) jako vstupn) v prvn)m portu. Pr*v% na n%j se p@ipoj) hejno paraleln)ch ovlada'+.¢  V`stupn) 4 bity si m+(eme p@edstavit jako 4 v`vody, z nich( primitivn)m programov`m @)zen)m m+(e v(dy pr*v% jeden b`t ve stavu logick* nula, ostatn) v logick[ jedni'ce. P@ipojen)m zemn)ho p@)vodu do ovlada'+ na tyto v`stupy m)sto na tvrdou zem lze tak dos*hnout pot@ebn[ho p@ep)n*n) ovlada'+ do aktivn)ho stavu - v(dy pouze jeden z nich je schopn` dod*vat na sv`ch v`stupech logick[ nuly.¢  4 bity ov&em tak[ znamenaj) 16 kombinac) nul a jedni'ek. Vhodn`m dekod[rem adresy lze tak ovl*dat a( 16 v`stup+. Takov[mu dekod[ru se @)k* jedna z &estn*cti a m* je&t% dal&) odborn[ n*zvy. Prost% m* 'ty@bitov` vstup, ozna'en` jako adresov[ vodi'e a 16 v`stup+, ze kter`ch v(dy jen jeden m+(e m)t stav logick[ nuly.¢  Praktick`mi pokusy jsme zjistili nekolik d+le(it`ch skute'nost). P@edn% vstup obvodu 6520 nesho@) p@et)(en)m, klidn% se na n%j m+(e p@ipojit tvrd* zem, je toti( omezen n%jak do 2 mA mo(n[ho proudu. ╱To m+(e kol)sat u r+zn`ch kus+$ Pozor - logick[ v`vody s[riov[ho portu, ╱kaze④*k, disketovka$ nemaj) ochranu, nap@)klad p@i paraleln)m spojen) sho@). Tyto jsou realizov*ny obvodem POKEY kter` m* v po')ta'i i dal&) funkce.¢  Mo(n` proud do 2 mA je pro na&e ]'ely m*lo, proto(e na ovlada'i je mo(n[ m)t sou'asn% zapnut[ a( t@i sp)na'e - dva sousedn) sm%rov[ a jedno tla')tko. A tyto dod*vaj) proud asi 3 mA. To znamen*, (e kdy( si ho vstup nevezme, vytvo@) se na n%m kladn[ nap%t) kter[ p@ekro') limit pro logickou nulu a je tedy stav &patn% vyhodnocen. Na toto byl nejcitliv%j&) vstup pro tla')tko, kter` zpracov*v* tu&)m GTIA.¢  Probl[m se d* @e&it odd%lova'em TTL ╱v po')ta'i jsou vlastn% obvody CMOS$ kter[ maj) b%(n% pracovat do 10 mA. Proto(e hradla a zmiovan` dekod[r jsou cenov% prakticky shodn*, za'ali jsme rovnou pracovat s n)m.¢  Tento obvod kr*sn% polykal pot@ebn[ 3 mA a udr(oval na sv`ch v`stupech p%knou nulu, p@)mo jako p+vodn) zemn) v`vod. Jedin* chybi'ka je v tom, (e p+vodn% se p@edpokl*dal mo(n` provoz naprosto bez p@)davn`ch obvod+.¢  Druh` probl[m d%l* mo(nost sou'asn% sp)nat na ovlada')ch dv% sousedn) polohy. To je vid%t na n*kresu propojen[ skupiny ovlada'+, jejich( v`stupy jsou propojen[ paraleln%. To znamen* nap@)klad v&echny v`vody p*ka vlevo spolu a na p@)slu&n` vstupn) bit portu, a tak d*le.¢  P@i takov`ch sou'asn`ch stisknut)ch se m+(e dostat logick* nula p@es sousedn) ovlada'e i na vstupy, kam p+vodn% nepat@ila. Proto je nutn[ v`vody ovlada'e opat@it diodami, kter[ zabr*n) zp%tn[mu proudu. To znamen* d*t diody na p*kov[ v`stupy ╱na ka(d` ovlada' 4 kusy$ zapojen) katoda sm%rem k ovlada'i, aby mohla propou&t%t zem na vstup po')ta'e. Ale zp*tky do ovlada'e ji nepust).¢  Cena za@)zen) se p@)li& nezv`&), diody se daj) koupit snad do 2 korun, v)ce jsem m%l strach z ]bytku nap%t) na nich. Na k@em)kov[ diod% je to typicky 0.6 Voltu, co( je na ]rove logick[ nuly a( dost. Na&t%st) na v&ech zkou&en`ch po')ta')ch to fungovalo bezchybn%.¢  M%li jsme princip a zb`valo dohodnout se na realizaci. Po'et p@ipojen`ch ovlada'+ jsme omezili na 8 kus+. Cena periferie je toti( hlavn% z*visl* na po'tu s[riov`ch konektor+ pro ovlada'e a 16 je dvojn*sobek osmi.¢  Z program*torsk[ho hlediska by tak[ ur'it% byl probl[m vymyslet hru skute'n% hratelnou pro 16 ]'astn)k+ z*rove. Proto n*& elektronik Svatopluk Musil sestavil omezenou verzi, v n)( tu&)m pou(il dekod[r 1 z 8, tedy obvod, kter` m* t@i adresov[ vstupy a 8 v`stupn)ch linek, z nich( zase v(dy jen jedna m+(e b`t ve stavu logick* nula.¢  Na m)st% by bylo vhodn[ nakreslit nebo alespo popsat skute'n[ zapojen), ale mus)m se omluvit, j* to p@esn% nev)m. Dostal jsem toti( hotovou krabi'ku a nenapadlo m% zeptat se jak to je. V)m jen, (e se pou()vaj) v`vody portu dva pro ovlada' ozna'en[ norm*ln% jako vstupy p*ka vlevo, vpravo, nahoru a dol+, z nich( jeden je nyn) vynech*n.¢  V sou'asn[ dob% existuje jen jedna hra od Radka vyu()vaj)c) Multijoy. L*kal jsem jin[ program*tory, ale nen) z@ejm% jednoduch[ zvolit t[ma vhodn[ pro v)ce hr*'+ nar*z. Logicky - p@i osmi hr*')ch na ka(d[ho zb`v* jen kousek m)sta na monitoru. Teprve ned*vno dostal Radek dobr` n*pad na Tetris pro 4 hr*'e, to by m%lo j)t.¢  Multijoy m* dal&) nevyu(it[ rezervy. Z+stal toti( nepou(it` p+vodn) druh` vstup pro tla')tko. ╱v&echna tla')tka jsou te⇦ na tom prvn)m$ Teoreticky by bylo mo(n[ m)t ovlada'e se dv%ma tla')tky ╱to jich @ada m*$ nez*visle p@ipojen[ na v`stup ovlada'e, prost% p@)davn`m vodi'em. ╱(*dn` nem*.$¢  To by sem m% nap@)klad moc l)bilo m)t ve h@e Ghostbusters mo(nost zhazovat vnadidlo p@)mo tla')tkem na ovlada'i, a ne uhozenou kl*vesou "n", kdyby to ud%lali alespo na mezern)k!¢  Jen(e Multijoy p@i&el o takov`ch 15 let pozd%, dnes asi nikdo nebude vyr*b%t ovlada'e se dv%ma tla')tky a d%lat spoustu nov`ch her.¢  A to je&t% p@i variant% do 8 ovlada'+ z+st*v* nevyu(it` jeden bit p+vodn)ho portu, proto(e se pro adresov*n) pou(ij) jen t@i. To znamen*, (e by mohl b`t pou(it` jako dal&), ji( t@et) tla')tko!¢¢              -ZB-¢