Fajnie jest - po przepisaniu blittera XEP80 tak, żeby był zgodny ze specyfikacją NS405, udaje mi się zaemulować wygląd ekranu dokładnie jak na Twoim zdjęciu. Problem w tym, że efektem zgodności ze specyfikacją jest zmiana obsługi znaków migających. Zmiana ta mi nieco śmierdzi, toteż chcę zweryfikować, że wszystko zrobiłem dobrze. Mam tu kolejny test dla Ciebie, jeśli masz jeszcze cierpliwość.
10 XIO 20,#1,12,218,"E:"
20 ? CHR$(27);CHR$(255-16);:XIO 20,#1,12,244,"E:"
30 ? CHR$(27);CHR$(255-16-4);:XIO 20,#1,12,245,"E:"
40 ? CHR$(125):POSITION 36,12
50 ? CHR$(216);"S X";CHR$(30);
60 GOTO 60
Programik wyświetla dwie litery "X" w podwójnej szerokości - lewą w inwersie, prawą normalną. Lewa połówka X-a w inwersie ma włączone miganie, natomiast na lewej połówce X-a normalnego umieszczony został migający kursor. W emulatorze obecnie wygląda to jak na obrazku - lewe połówki obu X-ów migają w tym samym tempie.
Będę wdzięczny jak zweryfikujesz, czy u Ciebie wygląda to w 100% tak samo. Powiedz jeśli są jakiekolwiek różnice, w szczególności:
- czy prędkość migania w obu X-ach jest taka sama? Specyfikacja NS405 jest niejasna, podejrzewam że kursor (tj. prawy X) może migać 2x szybciej niż atrybut "blink", ok. 2x/sek.
- czy w lewym X-ie miga tylko połówka znaku, czy cały? Czy miga sam znak X (czarne piksele) czy tło (białe)?
To już będzie koniec mojej pracy przy XEP-ie. W ROM-ie XEP80 pozostawiono możliwość sterowania wprost rejestrami NS405, co pozwala m.in. na zmianę prędkości transmisji do max. 19200 bps, czy też dowolną zmianę geometrii ekranu (ilość wierszy, ilość kolumn, szerokość/wysokość znaku). Nie ma sensu żebym próbował to emulować póki sam nie mam XEP80.
Zdeasemblowany ROM też załączam.