Komputery z Z80 > JUPITER ACE

Jupiter ACE - 96K + AY

<< < (11/11)

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

[0] Indeks wiadomości

[*] Poprzednia strona

Idź do wersji pełnej