Video Board XE
From Atariki
Wersja z dnia 22:57, 28 lip 2010 KMK (Dyskusja | wkład) ← Previous diff |
Aktualna wersja Seban (Dyskusja | wkład) (aktualizacja linku do archiwalnej wersji strony Candle) |
||
Linia 1: | Linia 1: | ||
{{grafr|vbxe_circles.png}} | {{grafr|vbxe_circles.png}} | ||
- | 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 są 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]]. | + | 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]]. |
== Wersje == | == Wersje == | ||
- | VBXE występuje w dwóch, kompatybilnych wersjach: pierwotna, VBXE 1.2 oraz powstała we współpracy autora z [[Candle]]'em VBXE 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.2 potrzebuje około sześciu sekund na zainicjowanie się po włączeniu zasilania. W 2.0 czas ten to grubo poniżej jednej sekundy. | + | 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 kwietnia 2010 wyprodukowano łącznie 20 egzemplarzy wersji 1.2 oraz 65 egzemplarzy wersji 2.0. W przygotowaniu jest następna seria VBXE 2.0, licząca 50 egzemplarzy, a na stołach kreślarskich autora powstaje już nowocześniejsza wersja 3.0. | + | 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]]. | Emulację VBXE wbudowano w emulator [[Altirra]]. | ||
Linia 12: | Linia 12: | ||
== Rdzenie == | == 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, jeden z nich, wybierany przez użytkownika z poziomu Atari dedykowanym programem narzędziowym (FC) aktywuje się po włączeniu zasilania. | + | 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. | + | 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 == | == Charakterystyka rdzenia FX == | ||
{{grafr|vbxe_shades.png}} | {{grafr|vbxe_shades.png}} | ||
- | * wyjście RGB do monitora / telewizora. | + | * zgodność z GTIA, |
- | * 21-bitowa paleta RGB (po 7 bitów na składową): 2.097.152 kolory. | + | * 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. | + | * 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 [[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ę. | + | * 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 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. | + | * 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]]). | ||
+ | |||
+ | == 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 == | == Demonstracja możliwości == | ||
Linia 46: | Linia 80: | ||
== Wygląd == | == Wygląd == | ||
- | Widok płyty głównej komputera z zamontowanym rozszerzeniem: | + | 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 52: | Linia 86: | ||
==Zobacz też== | ==Zobacz też== | ||
- | * [http://spiflash.org/block/15.html Strona domowa] | + | * [[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:]] | * [[S2:]] | ||
+ | * [https://forums.atariage.com/topic/266456-ntsc-core-for-vbxe/?do=findComment&comment=5309247 wątek na forum AtariAge] z kompletem rdzeni | ||
[[Kategoria:Peryferia 8-bit]] | [[Kategoria:Peryferia 8-bit]] | ||
[[Kategoria:Rozszerzenia]] | [[Kategoria:Rozszerzenia]] | ||
[[Kategoria:VBXE]] | [[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: