home *** CD-ROM | disk | FTP | other *** search
/ Flop Magazin 52 / Flop_Magazin_52_2009_03_Raster_cs_Side_A.atr / vbivsdli.tch < prev   
Text File  |  2023-02-26  |  3KB  |  5 lines

  1. P②    klad VBI vs DLI¢raster/c.p.u., 2009¢---------------------------------------¢¢⑧e m
  2. əe DLI p②eru③it rozpracovan⑦ VBI jsme si uk⇧zali v p②edchoz    m p②    klad❎. Abych v③ak jednou provədy demonstroval, əe DLI a VBI jsou zcela rovnocenn⇧ p②eru③en    , dovol    m si v tomto p②    klad❎ naopak p②eru③it VBI p②eru③en    m rozpracovanou DLI rutinu. Slab③    m povah⇧m se z t⑦hle p②edstavy m
  3. əe ud❎lat nevolno, vədy④ i samotn⑨ OS ROM budeme muset tro③ku p②esv❎d⇨it, aby na③emu z⇧m❎ru nebr⇧nil. ;-)¢¢Modr⑦ mihot⇧n     op❎t vyzna⇨uje pr⇧ci hlavn     rutiny. Ta je v doln     ⇨⇧sti p②eru③en⇧ pomoc     DLI, kter⑦ nastav     hn❎dou barvu a odpo⇨    t⇧v⇧ 70 mikro②⇧dk
  4. . Na doln     hran❎ je v③ak jeho ⇨innost p②eru③ena VBI p②eru③en    m, kter⑦ 700x opakuje cyklus s n⇧hodnou zm❎nou barvy v zelen⑨ch odst    nech, takəe jeho pr⇧ce je dost dlouh⇧ aby byla vid❎t i na n⇧sleduj    c    m sn    mku v horn     ⇨⇧sti. VBI na sv⑦m konci nastav     ⇨ernou barvu a procesor se vr⇧t     k pokra⇨ov⇧n     v rozpracovan⑦m DLI a dopo⇨    t⇧ je③t❎ zb⑨vaj    c     ②⇧dky. Ty jsou vid❎t jako ⇨ern⑨ ⑤sek (nebo④ barvu opakovan❎ nenastavuje) a na z⇧v❎r zobraz     b    lou linku. Pot⑦ op❎t dostane slovo hlavn     rutina se sv⑨m modr⑨m mihot⇧n    m.¢¢Te⇦ je③t❎ mus    m vysv❎tlit zm    nku o OS ROM a jeho snah⇧m znemoənit v⑨③e uveden⑨ experiment. Va③     pozornosti doporu⇨uji zaj    mavou ⇨⇧st jeho kdu:¢c118    txs¢c119    lda $0104,x¢c11c    and #$04¢c11e    beq $c125¢c120    jmp $c28a¢c125    ...¢Jak vid    te, bere ze z⇧sobn    ku ⇨tvrtou hodnotu pod aktu⇧ln    m vrcholem a ov❎②uje, zda je jej     bit 2 nulov⑨. Pokud ano, pokra⇨uje norm⇧ln❎ ve sv⑦ dal③     pr⇧ci, pokud je v③ak nenulov⑨, sk⇧⇨e na $c28a, kde je okaməit⑦ ukon⇨en     (tedy i bez skoku na vektor na③     VBI rutiny). Kdyə jsem tohle prvn❎ vid❎l, nech⇧pal jsem, co to m⇧ znamenat, neə mi do③lo, co je za⇨ ona hodnota 4 bajty pod vrcholem z⇧sobn    ku. Takəe, ⑤pln❎ na vrcholu se nach⇧z     uschovan⑨ Y registr, pod n    m X, t②et     je A. Pod nimi je status flag, kter⑨ se tam uloəil pr⇧v❎ v okaməiku, kdy se VBI vyvolalo (d⇧le jsou dva bajty n⇧vratov⑦ adresy, ale ta n⇧s te⇦ nezaj    m⇧). Onen sledovan⑨ bit 2 odpov    d⇧ "I" interrupt disable bitu. OS ROM tedy kontroluje, jak⑨ byl stav flagu "I" p②ed vyvol⇧n    m VBI a byl-li nastaven, ukon⇨uje svou ⇨innost stejn❎ jako p②i aktivovan⑦ n⇧v❎sti CRITIC.¢¢Nyn     jiə v    me, əe n⇧m tedy v na③em p②    klad❎ sta⇨     instrukc     CLI vynulovat v DLI rutin❎ interrupt disable flag a OS ROM nebude proti vykon⇧n     sv⑦ kompletn     pr⇧ce v⇨etn❎ vol⇧n     na③     VBI rutiny nic nam    tat. Podstatn⑦ v③ak je, əe onen interrupt disable flag v
  5. bec nezabrauje vyvol⇧n     samotn⑦ho VBI p②eru③en     (pat②    c    ho spolu s DLI do skupiny NMI p②eru③en    ), pouze OS ROM ho sleduje a podle toho m❎n     sv⑦ chov⇧n     - je to tedy z⇧leəitost ⇨ist❎ programov⇧, nikoli hardwareov⇧. (Pozn⇧mka: Pokud si budete NMI p②eru③en     kompletn❎ obsluhovat vlastn    m kdem, je jen na v⇧s, zda si tam takovou podm    nku d⇧te ⇨i nikoliv.)¢¢Op❎t se nab    z     ot⇧zka, k ⇨emu je dobr⑦ tohle v③echno v❎d❎t? Tak na to si odpov    te sami, aə budete p⇧r hodin p⇧trat, jakto əe se z ni⇨eho nic p②estala prov⇧d❎t va③e doposud skv❎le funguj    c     VBI rutina, nebo pro⇨ se ty zatrolen⑦ doln     registry nep②episuj     do horn    ch sleduj    c    ch. Nem⇧te n⇧hodou n❎jak⑦ DLI p②    li③ n    zko na obrazovce a/nebo nen     tak dlouh⑦, əe se jeho ⇨innost nedokon⇨     p②ed dosaəen    m doln     hrany vykreslovan⑦ho obrazu? Pokud ano, v③e je r⇧zem jasn⑦.¢