home *** CD-ROM | disk | FTP | other *** search
/ Flop Magazin 49 / Flop_Magazin_49_2006_05_Raster_cs_Side_B.atr / mjswbug.tch < prev    next >
Text File  |  2023-02-26  |  4KB  |  20 lines

  1. Chybn⑦ programov⑦ ②    zen     MultiJoye¢Raster/c.p.u. 2006¢---------------------------------------¢¢Moən⇧ n❎kte②     pamatujete, jak loni na Atari⇧d❎ 2005 prob❎hlo kl⇧n     ve h②e ⑥ervi2. Cht❎li jsme tam poprv⑦ v historii vyuə    t pln⑨ch moənost     interface Multijoy - tedy 16 sou⇨asn❎ hraj    c    ch hr⇧⇨
  2. . Protoəe v AKPV m⇧me jen Multijoy8, poə⇧dali jsme -XI-ho, aby na akci p②ivezl jejich dva kusy stohovateln⑦ verze MultiJoy16/2. P②i zprovozov⇧n     sice nastaly podivn⑦ probl⑦my jejichə p②    ⇨inu jsme nech⇧pali, ale nakonec to n❎jak za⇨alo fungovat a mohlo se hr⇧t. Kdyə jsme si tut⑦ə hru ⑥ervi2 cht❎li zahr⇧t na akci Unconventional v N❎mecku s na③    m MultiJoyem8, ⇨erv    ci op❎t zlobili a v
  3. bec neposlouchali. S Robertem Petruəelou jsme to pak za⇨ali po②⇧dn❎ zkoumat a s p②ekvapen    m odhalili d
  4. vod pot    ə    .¢¢Od po⇨⇧tku v⑨roby na③eho prvn    ho MultiJoye8 v roce 1998 uplynulo sice mnoho let, ale popis programov⑦ho zp
  5. sobu ②    zen     tohoto interface je pops⇧n v na③     dokumentaci nevhodn❎. Po zvolen     poəadovan⑦ho joysticku z⇧pisem na adresu $D300 (PORTA) mus     b⑨t totiə p②ed n⇧sledn⑨m ⇨ten    m jeho stavu z adresy $D300 mnohem v❎t③     ⇨asov⇧ prodleva, neə jsme p
  6. vodn❎ p②edpokl⇧dali. ¢¢V dokumentaci jsme doporu⇨ovali 3x instrukci NOP - tedy prodlevu 6 strojov⑨ch takt
  7. . S⑦ri     praktick⑨ch pokus
  8.  s r
  9. zn⑨mi modely po⇨    ta⇨
  10.  Atari (800XE, 130XE, Atari s roz③    ②enou pam❎t    ) a s na③imi MultiJoy4 a MultiJoy8 jsme v③ak zjistili, əe odezva hardware je daleko pomalej③     a prodleva pro z    sk⇧n     spr⇧vn⑨ch hodnot by m❎la b⑨t minim⇧ln❎ 22 strojov⑨ch takt
  11. . Zkou③el jsem pak je③t❎ v na③em MultiJoyi vym❎nit pouəit⑨ ⇨ip MH3205 za modern❎j③     74LS138, ale nijak v⑨znamn❎ se to neprojevilo.¢¢Rozhodli jsme se proto nov❎ v dokumentaci zve②ejn❎n⑦ na webu doporu⇨ovat prodlevu minim⇧ln❎ 30 takt
  12. . Ov③em pravd❎podobn❎ to z⇧vis     tak⑦ na zp
  13. sobu technick⑦ho ②e③en     MultiJoye. Konkr⑦tn❎ na③e ②e③en     s jedn    m integrovan⑨m obvodem demultiplexerem a diodami se p②i velk⑦m po⇨tu hr⇧⇨
  14.  (nap②. p②i propojen     s druh⑨m MultiJoyem s dal③    mi 8 hr⇧⇨i) ob⇨as chov⇧ "nejist❎".¢¢Zvaəujeme navrhnout a sestrojit nov⑨ MultiJoy se zcela jin⑨m zapojen    m, z②ejm❎ podobn⑨m jako m⇧ ten od -XI-ho. (Pozn⇧mka: Cht❎li jsme to jejich sch⑦ma prozkoumat uə d⇧vno, ale bohuəel ho z -XI-ho marn❎ dolujeme uə n❎kolik let. ;-)) Nezb⑨v⇧ neə doufat, əe pak jiə budou v③echny tyto probl⑦my definitivn❎ pry⇨.¢¢Prozat    m tedy doporu⇨en     zn    : Prodlevu mezi z⇧pisem do registru PORTA a jeho n⇧sledn⑨m ⇨ten    m d❎lejte rozhodn❎ minim⇧ln❎ t❎ch 30 takt
  15. , l⑦pe v③ak v r⇧mci moənost     je③t❎ v    ce (zejm⑦na pokud m⇧ hra podporovat maxim⇧ln    ch 16 hr⇧⇨
  16. ). Ide⇧ln     je, pokud se v⇧m poda②     m    sto pr⇧zdn⑦ ⇨ekac     smy⇨ky tento ⇨as vyuə    t n❎⇨    m produktivn    m, nap②    klad vypisov⇧n    m skre p②    slu③n⑦ho hr⇧⇨e nebo jin⑨mi operacemi, kter⑨mi m
  17. əete ⇨ten     registru PORTA odd⇧lit co nejv    c (v tom p②    pad❎ je samoz②ejm❎ nutn⑦ si spo⇨    tat takty t❎chto operac    ).¢¢Kompletn     programov⑦ ②    zen     MultiJoye s 30-ti taktovou prodlevou vypad⇧ tedy takto:¢¢;Inicializace¢    LDA #0¢    STA $D302  ;PACTL¢    LDA #$F0   ;4HORNI=OUT,4DOLNI=IN¢    STA $D300  ;PORTA¢    LDA #60¢    STA $D302  ;PACTL¢¢;⑥ten     poəadovan⑦ho joysticku¢    LDA #N     ;N=⇨    slo joye 0 aə 7¢               ;(resp.0 aə 15 pro MJ16)¢    ASL A      ;posun o 4 bity¢    ASL A¢    ASL A¢    ASL A¢    STA $D300  ;PORTA¢    LDX #$06   ;prodleva 30 takt
  18.  p②ed¢WAI DEX        ;⇨ten    m PORTA kv
  19. li¢    BNE WAI    ;zpoəd❎n     hardware¢    LDA $D300  ;PORTA¢    AND #$0F¢;Te⇦ je v A stav p⇧ky¢    LDA $D010  ;TRIG0¢;Te⇦ je v A stav tla⇨    tka¢¢Pokud v⇧m vrt⇧ hlavou, jakto əe jsme tuto z⇧sadn     v❎c neodhalili jiə p②ed lety p②i hran     prvn     prototypov⑦ hry ⑥ervi nebo u druh⑦ hry Multris, vysv❎tlen     je jednoduch⑦. Hra ⑥ervi i Multris totiə prov⇧d❎ly po z⇧pisu do $D300 pr⇧v❎ je③t❎ jin⑦ akce a ⇨ten     stavu n⇧sledovalo aə daleko pozd❎ji, takəe u nich byla tehdy nevhodn❎ doporu⇨en⇧ prodleva p②ekro⇨ena mnohon⇧sobn❎ a k ə⇧dn⑨m pot    ə    m proto u nich nedoch⇧z    . Aə ve h②e ⑥ervi2 jsem prvn❎ pouəil opravdu jen ty 3 NOPy (6 takt
  20. ) a bylo vymalov⇧no.¢