na, egy 0.1-es verzió:
1Hz-es megszakításból megy az idő kijelzése
végül nem kötöttem be azt, amivel ellenőrizni lehet, hogy foglalt-e az LCD (épp dolgozik, vagy tud-e már újabb parancsot / adatot fogadni), két okból is:
1., egyszerűbb volt így bekötni, és megspóroltam egy chip-et.
2., annyira nem lassú az LCD az EP-hez képest:
sima karakterírás az adatlap szerint 40us alatt fut le.
Csináltam próbaképpen egy üres "busy_check" nevű rutint. Erre ugrana rá írás előtt, ha be lenne kötve a LCD-->EP128 irányú kommunikáció is.
Ekkor még hülyeségeket csinált, de kipróbáltam, 3 NOP már elég a rutinban, hogy megfelelő időköz legyen két írás végrehajtása között.
A rendes "busy" bit vizsgálata sokkal több idő lenne, mint amíg lefut 3 db NOP, szóval nem is érné meg megírni.
Az egyetlen hosszú idejű utasítás a képernyőtörlés és a cursor home, ezek akár 1,64 ms is lehetnek. Az összes többi parancs lefut 40us alatt.
A következő lépés, hogy egy EXOS eszközt csinálni az LCD-nek, ami értelmezné a VIDEO: eszköznél már megszokott escape szekvenciákat is
A harmadik lépés pedig, hogy az LCD, mint EXOS-periféria, megszakítást is igényelne magának, és egy rendszerváltozóban lehetne állítani, hogy legyen-e, vagy ne.
EXOS-perifériát még nem csináltam, majd ha elakadok, számítok a segítségetekre, persze majd egy másik topikban