Nézd, én nem akarom azt állítani, hogy te hülye lennél, csak én vagyok helikopter,
Hát ez szép tőled ...
de még ha nem is olvastam végig és elemeztem részletesen az összes rögzített állításodat, az olvasmány élményeim és más gépen összegereblyézett ismereteim alapján próbáltam felhívni a figyelmed a tényleges gyakorlati megvalósítás során előtted álló problémákra,
Hát mégis úgy éreztem, hogy túl nagy az a gondolkodó sapi, és a szemed elé csúszott egy pillanatra.
illetve arra hogy valós tesztekkel gyorsabban eljuthatsz a szükséges tudás megszerzéséig, mintha próbálnál elméleti konstrukciókat gyártani jelenleg nem pontosan ismert bizonytalanságok figyelmen kívül hagyásával.
Ijesztő számomra, de kezdek hajlani eme igazságra, de azért még van bennem remény, hogy valaki másképp idomul a kérdéshez, és mégis tud valami ennél ügyesebb közelítést ismerni fel és adni, megmentve engem a dolog potyára kipróbálásától.
Megszakítási rendszer bizonytalankodása: igen van, attól függően, hogy milyen utasítás fut éppen és az hol tart, változó számú ciklust késhet a kezelő indulása.
Hát igen, de azt gondolnám, hogy mondjuk 1-20 BIZONYTALAN ciklus ideje az 1/4KHz -es időhöz képest nem egy nagy eresztes, elhanyagolható ... ennyi jöhetne kb. egy utasításból, gondolom ... ezt sztm be lehetne áldozni. De vajon milyen BIZONYTALAN késlekedések lehetnek még ...
Valahogy nehezen fér bele a világképembe, hogy ha én pld. mást sem csinálok, csak video RAM -ot írok egymás után folyamatosan egy 1/4KHz "időtartamig" (kibontott kód, semmi más), akkor egy komolyan ingadozó idejű kódot kapnék, mondjuk az említett NICK működésből fakadó bizonytalankodás miatt.
Vagy mégis ? És ha igen, akkor mondjuk egy ilyen teoretikus esetben vajon ez mekkora lehet ? A bizonytalankodás ? A minimum és maximum idejű lefutás közötti különbség ?
[ul]- videoszegmensben fut a kódod?
[/ul]
(Hát még persze, hogy) nem.
[ul]
csak írja a videószegmenst vagy olvassa is?
[/ul]
Ír csak a képre.
[ul]- mindig csak kereten fut a kódod, vagy a képernyő aktív területén is?
[/ul]
Hát eddig nem akartam ezzel vacakolni, de ha ettől lenne stabil, beküzdhetem a keretre.
Egyébként lehet hogy túl erős lépés lenne ez ... túl komplex optimalizálási lépés az eredményhez képest ... Ez az egész megszakításba pumpálás ...
Van pld. egy ilyen verzió, amihez 1 db szegmens (adat) kell, és simán tudna működni a főprogramból (nincs benne SP használat):
ld d, (hl)
ld (de), a
inc l
inc e
ld d, (hl)
ld (de), a
inc l
inc e
ez egy csillagot törölne, majd kiírna új helyre, kettő között persze lenne nem csillagonkéni inicializáló kód
ez csak a magot tekintve 11 us -ig tartana,
és ehhez képest lenne a gyorsabb, megszakba kényszerülő verzió, aminek mellesleg 2 szegmens (adat) is kéne
:
pop hl
ld (hl), a
pop hl
ld (hl), a
ami 8.5 us lenne ... szoval a 11 -hez képest azért jelentős, de nem biztos, hogy feltétlenül fontos olyan áron, amiket itt beszélünk.
Pláne, hogy eddig 21 us körül volt ... és már azt is elfogadtam lélekben.