ZX Spectrum 48k
Badly Configured Clients, Inc.
vf at elte.hu
Tue May 28 16:57:00 CEST 2002
Thus spake Borka Zsolt:
> Hello !
Hi!
> A baj a megszakitasokkal van... De pl. ha megelegszunk azzal, h.
> periferiahelyenkent valtoszik az IRQ cimzese, es kartyankent pl. 8
> megszakitast szamolunk, igy meg eles sok kartyahely lehetoseg marad :)
Intelligens szoftverrel eleg sok problemat meg lehet oldani.
Ha a pc operencias rendszerek intelligensen mukodnenek, nem okozna
ennyi gondot az IRQ.
Valaki emlegette az Amigat. Nos en tovabbra is Amigarol levelezek,
ezt a levelet is egy A1200-n irom, es lelkesen programozgatom is.
Az m68k procikon van 7 mexakitas-keres, ebbol 1 nem maszkolhato,
de azt az AmigaOS nem hasznalja. A tobbi fixen fel van osztva a
periferiak kozott, igy a prioritasok is kotottek. Az OS segitsegevel
handlereket vagy server chain-okat lehet hozzajuk rendelni. A handler
egy szimpla exception handler, ami lekezeli az osszes azon a szinten
erkezett mexakitast, kozvetlen ugras a vektorra, ezert nagyon gyors.
A szerver chain pedig egy ketszeresen lancolt, prioritas szerint
rendezett szubrutin-lista, melyek sorrendben addig hivodnak meg, amig
az egyik vissza nem jelzi, hogy neki jott a mexakitas. Igy ugyanarra
a mexakitasra korlatlan szamu periferiat lehet kotni, melyek
tokeletesen egyuttmukodnek, soha sem zavarjak egymast. (Akkor sem, ha
veletlenul egyszerre ket irq aktivizalodik, legfeljebb mivel nem
torli a server a mexakitast, ketszer fut le a lista egymas utan,
eloszor a magasabb majd az alacsonyabb prioritasu szerver aktivalodik)
A megvalositas rendkivul egyszeru, mindosze ket nyulfarknyi fuggveny
(AddIntServer/RemIntServer) kezeli az exec.library-ben. Ugyanakkor
hihetetlenul hatekony, a pc-s interrupt kezeles osszes problemajat
kikuszoboli. Meg rengeteg hasonlo otlet van az AmigaOS-ben, ha
felmerul valami egyeb problema amit hasonloan elegansan oldottak
meg, majd megirom.
> Udv: Zs.
--
Valenta Ferenc <vf at elte.hu> Visit me at http://ludens.elte.hu/~vf/
"A hosszu elet titka: legyen nalad bicska!"
More information about the Elektro
mailing list