( locsemege | 2017. 05. 03., sze – 02:14 )

Tetszik a leírás. :)

off

Nagyon nem ide tartozik, de mivel tettél egy utalást a ZX81-re, gondoltam, belenézek, hogyan működött a kép generálása, tudniillik középiskolás voltam, talán másodikos, amikor megpróbáltam disassemblálni, de nem sikerült megértenem a működését. Hát, nem csodálom. Annak érdekében, hogy a video áramkör egy-két számláló, egy shift regiszter, s néhány latch lehessen, óriási ámokfutást csináltak.

Itt a leírás róla.

Azért az igen durva, hogy memóriatakarékosság címén nem fix méretű volt a frame buffer, hanem sor elejétől az utolsó kiírt karakterig tartott, mindez úgy, hogy az ULA NOP-okat kényszerített a CPU-ra, miközben a CPU címezte a karaktereket a RAM-ban. Az utolsó karakternél egy HALT-tal leállították a CPU-t, a memória frissítő regiszter járt tovább, majd az R regiszter túlcsordulása kért megszakítást, s hozta ki a CPU-t HALT-ból. Gondolom, ekkor jött a sorszinkron.

Azért dinamikus framebuffert csinálni, videojelet CPU-val valós időben generálni, a felhasználói programot pedig a teljes futásidő fennmaradó közel 20 %-ában multiplexelve futtatni nem semmi, mindezt az olcsó hardware érdekében. Ennek volt a következménye, hogy ebbe a dinamikus framebufferbe ráadásul nem lehetett akármilyen kódú karaktert írni, mert az részint opkóddá alakult, így az egész gép fejreállását okozhatta.

Hát na! :)

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE