Video Board XE
From Atariki
Wersja z dnia 09:43, 26 mar 2009 KMK (Dyskusja | wkład) ← Previous diff |
Aktualna wersja Seban (Dyskusja | wkład) (aktualizacja linku do archiwalnej wersji strony Candle) |
||
Linia 1: | Linia 1: | ||
- | Projekt '''Video Board XE''' (VBXE) autorstwa [[Electron|Electrona]], polega na zastąpieniu [[GTIA]] nowym układem. W efekcie, przy zachowaniu 100% zgodności z [[GTIA]] otrzymujemy cały wachlarz nowych możliwości: | + | {{grafr|vbxe_circles.png}} |
- | * wyjście RGB do monitora / telewizora. | + | W skrócie '''VBXE''' - rozszerzenie sprzętowe autorstwa [[Electron|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]]. |
- | * 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. | + | == 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 [http://pl.wikipedia.org/wiki/FPGA FPGA] firmy [http://pl.wikipedia.org/wiki/Altera_Corp. 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 == | ||
+ | {{grafr|vbxe_shades.png}} | ||
+ | * 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: | * nowe tryby wyświetlania: | ||
- | ** low: 128/160/168 [[piksel]]i w linii, 256 kolorów z palety 2 mln. | + | ** low: 128/160/168 [[piksel]]i w linii, 256 kolorów z palety 2 mln, |
- | ** standard: 256/320/336 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. | + | ** 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). | + | ** 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. | + | * wewnętrzne 512 KB [[RAM]] taktowane zegarem 14,18 MHz, |
- | * niezależna od [[ANTIC]]-a [[VBXE Display list]] (XDL). | + | * niezależna od [[ANTIC (układ)|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 | + | * 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 sprite'ów o rozmiarach od 1x1 do 256x256 punktów w rozdzielczości odpowiadającej 320x192, każdy sprite w 256 kolorach. Ilość sprite'ów organiczona tylko wydajnością blittera; ale co najmniej 30 sztuk o rozmiarach 32x32x256 kolorów na ramkę. | + | * możliwość generowania przerwania [[IRQ]] po zakończeniu pracy blittera, |
- | * programowalne priorytety sprite'ów i tła. Prosta detekcja kolizji sprite'ów. | + | * 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 pozycje x i y sprite'ów z dokładnością 1 [[piksel]]a [[hires]]. | + | * programowalne priorytety sprite'ów i tła; prosta detekcja kolizji sprite'ów, |
- | * mapa kolorów pola gry o regulowanej rozdzielczości (od 8x1 do 32x32 piksele), 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. | + | * programowalne pozycje x i y sprite'ów z dokładnością 1 [[piksel]]a [[hires]], |
- | * możliwość mieszania w jednej linii trybu ANTIC-a [[GRAPHICS 8] i [[GRAPHICS 15]] za pomocą odpowiednich definicji w mapie koloru. | + | * 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ść nakładania nowych trybów wyświetlania, sprite'ów, mapy kolorów itd. na obraz generowany przez [[ANTIC]] | + | * 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]]). | * opcjonalnie połowa pamięci karty odwzorowana jest w pamięci Atari jako rozszerzenie do 320 KB RAM ([[Rambo XL]]). | ||
- | Demonstracja możliwości: | + | == 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 [[Phaeron]]a: | ||
+ | * 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 == | ||
<center>[[Grafika:Vbxe-1.jpg]]</center> | <center>[[Grafika:Vbxe-1.jpg]]</center> | ||
+ | Przykład wykorzystania 80-kolumnowego trybu tekstowego (na ekranie edytor asemblera [[MAE]]): | ||
+ | |||
+ | <center>[[Grafika:Vbxe_txt.png]]</center> | ||
- | Widok płyty głównej komputera z zamontowanym rozszerzeniem: | + | == Wygląd == |
+ | Widok płyty głównej komputera z zamontowanym rozszerzeniem w wersji 1.0: | ||
<center>[[Grafika:Vbxe-2.jpg]]</center> | <center>[[Grafika:Vbxe-2.jpg]]</center> | ||
Linia 31: | Linia 86: | ||
==Zobacz też== | ==Zobacz też== | ||
- | * [http://atariarea.krap.pl/pliki/rozne/vbxe.pdf dokumentacja projektu] | + | * [[Rejestry VBXE]] |
+ | * [https://web.archive.org/web/20190304153939/http://spiflash.org/node/10 ostatnia dostępna wersja strony Candle (2019.03.04) zawierająca informacje o VBXE] | ||
* [http://atariarea.krap.pl/forum/viewtopic.php?id=3933 wątek na forum Atari.area] | * [http://atariarea.krap.pl/forum/viewtopic.php?id=3933 wątek na forum Atari.area] | ||
* [http://www.atariage.com/forums/index.php?s=&showtopic=84499&view=findpost&p=1028426 wątek na forum AtariAge] | * [http://www.atariage.com/forums/index.php?s=&showtopic=84499&view=findpost&p=1028426 wątek na forum AtariAge] | ||
+ | * [[S2:]] | ||
+ | * [https://forums.atariage.com/topic/266456-ntsc-core-for-vbxe/?do=findComment&comment=5309247 wątek na forum AtariAge] z kompletem rdzeni | ||
- | {{stub}} | ||
[[Kategoria:Peryferia 8-bit]] | [[Kategoria:Peryferia 8-bit]] | ||
+ | [[Kategoria:Rozszerzenia]] | ||
+ | [[Kategoria:VBXE]] |
Aktualna wersja
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: