Video Board XE
From Atariki
W skrócie VBXE - rozszerzenie sprzętowe autorstwa Electrona, przeznaczone dla ośmiobitowego Atari. Polega na instalacji (dość wyrafinowanego) układu, który naśladując działanie GTIA generuje sygnał wizyjny RGB (o częstotliwości odchylania poziomego 15 kHz, aczkolwiek prowadzone były obiecujące prace nad wygenerowaniem sygnału w standardzie VGA). Wbrew nazwie układ można montować nie tylko w komputerach XE ale też XL.
Spis treści |
Wersje
VBXE występuje w dwóch, kompatybilnych wersjach: pierwotna, VBXE 1.x oraz, powstała we współpracy autora z Candle'em, 2.0. Obie wersje nie różnią się możliwościami, jedyna większa i zauważalna dla użytkownika różnica to fakt, że 1.x potrzebuje około sześciu sekund na zainicjowanie się po włączeniu zasilania. W 2.0 czas ten to grubo poniżej jednej sekundy.
Do listopada 2010 wyprodukowano łącznie 20 egzemplarzy wersji 1.0, 1.1 i 1.2 oraz 125 egzemplarzy wersji 2.0.
Emulację VBXE wbudowano w emulator Altirra.
Rdzenie
Sercem VBXE jest układ FPGA firmy Altera. Po włączeniu zasilania z wewnętrznej pamięci karty ładowany jest rdzeń definiujący funkcje VBXE. Wewnętrzna pamięć mieści do czterech rdzeni (12 w przypadku VBXE 2.0), jeden z nich, wybierany przez użytkownika z poziomu Atari dedykowanym programem narzędziowym (FC) aktywuje się po włączeniu zasilania.
Pamięć rdzeni może zostać zapisana z poziomu Atari. W chwili obecnej dostępny jest rdzeń emulujący GTIA oraz rdzeń FX rozszerzający (dość radykalnie) możliwości graficzne komputera. Prowadzone są prace nad rdzeniami VGA.
Charakterystyka rdzenia FX
- zgodność z GTIA,
- 21-bitowa paleta RGB (po 7 bitów na składową): 2.097.152 kolory,
- cztery definiowalne palety po 256 kolorów, możliwość wyświetlenia do 1024 kolorów na raz,
- nowe tryby wyświetlania:
- low: 128/160/168 pikseli w linii, 256 kolorów z palety 2 mln,
- standard: 256/320/336 pikseli w linii, 256 kolorów z palety 2 mln,
- high resolution: 512/640/672 pikseli w linii, 16 kolorów z palety 2 mln,
- tekstowy: 64/80/84 kolumn, niezależnie regulowane kolory każdego znaku (2 z 256 z 2 mln),
- wewnętrzne 512 KB RAM taktowane zegarem 14,18 MHz,
- niezależna od ANTIC-a VBXE Display list (XDL),
- blitter pracujący z częstotliwością 14,18 MHz; wydajność kopiowania 6,75 MB/s i wypełniania 13,5 MB/s,
- możliwość generowania przerwania IRQ po zakończeniu pracy blittera,
- możliwość generowania sprite'ów o rozmiarach od 1x1 do 256x256 punktów Graphics 8, każdy sprite w 256 kolorach. Ilość sprite'ów ograniczona tylko wydajnością blittera; ale co najmniej 30 sztuk o rozmiarach 32x32x256 kolorów na ramkę,
- programowalne priorytety sprite'ów i tła; prosta detekcja kolizji sprite'ów,
- programowalne pozycje x i y sprite'ów z dokładnością 1 piksela hires,
- mapa kolorów pola gry o regulowanej rozdzielczości (od 8x1 do 32x32 piksele Graphics 8), dla każdego takiego prostokąta można wybrać 1 z 32 zestawów kolorów (wszystkie kolory pola gry ulegają zamianie), możliwe jest skrolowanie mapy kolorów w pionie i w poziomie z rozdzielczością 1 piksela,
- możliwość mieszania w jednej linii trybu ANTIC-a Graphics 8 i Graphics 15 za pomocą odpowiednich definicji w mapie koloru,
- możliwość nakładania nowych trybów wyświetlania, sprite'ów, mapy kolorów itd. na obraz generowany przez ANTIC,
- opcjonalnie połowa pamięci karty odwzorowana jest w pamięci Atari jako rozszerzenie do 320 KB RAM (Rambo XL).
Palety
Domyślna paleta dostępna po starcie VBXE jako paleta 0 zawiera definicje kolorów dla systemu PAL (Laoo.act). Taką paletę mają wszystkie rdzenie w oryginalnej dystrybucji, czyli:
- v1fx126a.xbf - rdzeń FX 1.26 dla VBXE1 w Atari 400/800/XL/XE
- v1fx126g.xbf - rdzeń FX 1.26 dla VBXE1 w Atari 5200
- v1fx126r.xbf - rdzeń FX 1.26 Rambo dla VBXE1 w Atari 400/800/XL/XE
- v1g106a.xbf - rdzeń GTIA 1.06 dla VBXE1 w Atari 400/800/XL/XE
- v1g106g.xbf - rdzeń GTIA 1.06 dla VBXE1 w Atari 5200
- v1g106r.xbf - rdzeń GTIA 1.06 Rambo dla VBXE1 w Atari 400/800/XL/XE
- v2fx126a.xbf - rdzeń FX 1.26 dla VBXE2 w Atari 400/800/XL/XE
- v2fx126g.xbf - rdzeń FX 1.26 dla VBXE2 w Atari 5200
- v2fx126r.xbf - rdzeń FX 1.26 Rambo dla VBXE2 w Atari 400/800/XL/XE
- v2g106a.xbf - rdzeń GTIA 1.06 dla VBXE2 w Atari 400/800/XL/XE
- v2g106g.xbf - rdzeń GTIA 1.06 dla VBXE2 w Atari 5200
- v2g106r.xbf - rdzeń GTIA 1.06 Rambo dla VBXE2 w Atari 400/800/XL/XE
Na przełomie lipca i sierpnia roku 2018 Rocky opublikował swoje rdzenie zawierające zmodyfikowaną paletę PAL (Rocky_Real_Atari2.act):
- v1x126a2.xbf - rdzeń FX 1.26 dla VBXE1 w Atari 400/800/XL/XE
- v1x126r2.xbf - rdzeń FX 1.26 Rambo dla VBXE1 w Atari 400/800/XL/XE
- v2x126a2.xbf - rdzeń FX 1.26 dla VBXE2 w Atari 400/800/XL/XE
- v2x126r2.xbf - rdzeń FX 1.26 Rambo dla VBXE2 w Atari 400/800/XL/XE
3 września 2023 na prośbę Piotra Kaczorowskiego Electron skompilował dodatkowe rdzenie zawierające domyślną paletę z definicjami kolorów dla systemu NTSC (NTSC_Contemp.act) opracowaną przez Phaerona:
- v1x126a3.xbf - rdzeń FX 1.26 dla VBXE1 w Atari 400/800/XL/XE
- v1x126r3.xbf - rdzeń FX 1.26 Rambo dla VBXE1 w Atari 400/800/XL/XE
- v2x126a3.xbf - rdzeń FX 1.26 dla VBXE2 w Atari 400/800/XL/XE
- v2x126r3.xbf - rdzeń FX 1.26 Rambo dla VBXE2 w Atari 400/800/XL/XE
a Rocky opublikował rdzenie GTIA ze swoją zmodyfikowaną paletą PAL (Rocky_Real_Atari2.act):
- v1g106a2.xbf - rdzeń GTIA 1.06 dla VBXE1 w Atari 400/800/XL/XE
- v1g106r2.xbf - rdzeń GTIA 1.06 Rambo dla VBXE1 w Atari 400/800/XL/XE
- v2g106a2.xbf - rdzeń GTIA 1.06 dla VBXE2 w Atari 400/800/XL/XE
- v2g106r2.xbf - rdzeń GTIA 1.06 Rambo dla VBXE2 w Atari 400/800/XL/XE
Demonstracja możliwości
Przykład wykorzystania 80-kolumnowego trybu tekstowego (na ekranie edytor asemblera MAE):
Wygląd
Widok płyty głównej komputera z zamontowanym rozszerzeniem w wersji 1.0: