Komputery z Z80 > JUPITER ACE
Jupiter ACE - 96K + AY
KWF:
W sumie nie ma co opisywać, ponieważ wszystko zostało już opisane tu: AMI LCD Screen
A w skrócie, potrzebny jest AY z działającym portem A (AY-3-8910 lub AY-3-8912) wraz dekoderem adresów, takim samym jak dla bzyczka, wyświetlacz LCD z układem zgodnym z HD44780 (czyli prawie dowolny LCD 16x2), potencjometr 10K, kilka przewodów oraz 30 minut wolnego czasu.
LCD pracuje w trybie 4 bitowym, ze znakami w 5x8 pikseli, a 8 znaków można sobie dowolnie zdefiniować, pamiętając, że Jupiter operuje domyślne na liczbach w systemie dziesiętnym.
Te osiem definiowalnych znaków jest umiejscowione od adresu 64 (0x40) kontrolera LCD i każdy zajmuje 8 bajtów. W każdym bajcie zapisana jest wartość każdej linii (na 5 bitach) w znaku. W każdym bicie piksel włączony to logiczna "1", a piksel wygaszony to logiczne "0". Jeśli chcemy zdefiniować nowe "s", takie jak na fotce, definicja wygląda następująco:
Matryca 5 x 8 pikseli:
B4B3B2B1B0Dec000000000000011111501000801111150000110111115000000
W takim razie, kod w Forth wygląda następująco:
--- Kod: ---8 wc -- wyłącz LCD, ponieważ na ekranie kursor będzie przemieszczał się oraz mogą być wyświetlanie "śmieci"
64 wc -- wskazanie kolalizacji początku piewszego nowego znaku (adres 0x40 = 64 dziesiętnie)
0 wd -- wysłanie danych dla pikseli w pierwszej linii pod adresem 0x40
0 wd -- druga linia (adres 0x41)
15 wd -- trzecia (0x42)
8 wd -- (..)
15 wd
1 wd
15 wd -- (..)
0 wd -- 8 linia (0x47 = 71 dzisiętnie)
2 wd -- powrót kursora na początek ekranu, w pierwszej linii
1 wd -- wyczyść ekran
--- Koniec kodu ---
Nowy znak zdefiniowany i jego wywołanie na ekran w miejscu kursora:
--- Kod: ---0 wd
--- Koniec kodu ---
Kolejne definiowalne znaki mają początkowe adresy:
0x48 = 72d
0x50 = 80d
0x58 = 88d
0x60 = 96d
0x68 = 104d
0x70 = 112d
0x78 = 120d
Maryjan:
Hmm, można dołożyć taki wyświetlacz do interface z AY-kiem i wykorzystać go, jako np. wskaźnik widma dla AY.
Tylko trzeba by sobie samemu napisać player-a.
KWF:
Grajek jest co wyświetla poziomy w 3 kanałach, bo z AYka można odczytywać. Teraz należałoby przeliczyć te 3 kanały na zmiksowane do dwóch wg. standardu ABC lub ACB i wysłać dane do AYka, aby wyrzucił je na LCD :)
Nawigacja
Idź do wersji pełnej