Przeglądarka BMPVIEW przeznaczona dla systemu SDX wyświetla za pomocą VBXE niekompresowane obrazki w formacie "BMP Windows 3.x" o rozdzielczości 336x240. Większe formaty zostaną zaprezentowane fragmentarycznie i wypozycjonowane do lewego-dolnego rogu (specyfika formatu BMP - obrazki zapisywane są od najniższej lini na ekranie).
Do działania przeglądarki wymagana jest obecność karty VBXE z rdzeniem FX oraz sterownika S_VBXE.SYS dostępnego na stronie Draco.
Eksperymentalnie obsługiwana jest metoda kompresji RLE, lecz jest to póki co rzecz nie przetestowana do końca.
Ponieważ VBXE pozwala na wyświetlenie 256 kolorów z 21-bitowej palety(każda składowa jest w VBXE 7-bitowa), to każdy możliwy format piksela konwertowany jest do palety 256 kolorów. Każdy piksel obrazka TrueColor konwertowany jest do palety w formacie 332 (domyślnie), 323, 233 lub odcieni szarości. 332 oznacza, że ze składowej R i G brane są po 3 najstarsze bity a ze składowej B tylko 2. Wybranie palety B/W powoduje przetworzenie piksela do 256 odcieni szarości (wg wzoru 0.2989 * R + .5870 * G + 0.1140 * B).
Najprościej wywołać program za pomocą:
BMPVIEW RETWIZ (rozszerzenie .BMP jest dodawane automatycznie)
Program pozwala również na zapisanie najczęściej używanych przełączników w zmiennej środowiskowej BMPVIEW. Parametry zapisane w zmiennej są przetwarzane najpierw, a dopiero później przetwarzane są parametry linii poleceń, tak więc np.
SET BMPVIEW=/X
spowoduje wyświetlanie szczegółowych informacji o bitmapie nawet jeśli w samej linii poleceń nie zostanie wyszczególniony parametr /X.
/B pozwala na sztywne ustawienie indeksu koloru tla z palety obrazka -domyślnie program szuka w palecie koloru zbliżonego maksymalnie do czarnego i taki właśnie ustawia jako tło,
/P pozwala na wybór formatu palety przy wyświetlaniu obrazków TrueColor - domyślnie jest to 332, a można też ustawić 323, 233 lub BW,
/T pozwala określić czas wyświetlania obrazka - domyślnie w nieskończoność,
/X wyświetla szczegóły o budowie pliku bitmapy.
Wciśnięcie dowolnego klawisza pozwala w dowolnej chwili zakończyć wyświetlanie obrazka i wrócić do DOS-u.
Na koniec dodam jeszcze, że posiadacze twardych dysków (lub SIDE) mogą sobie ułatwić życie ustawiając kilka zmiennych systemowych:
SET PATH=A:>BIN>;CAR: SET MANPATH=A:>MAN>;CAR:
Kiedy skopiujemy pliki BMPVIEW.COM i BMPVIEW.MAN za pomocą:
COPY BMPVIEW.COM A:>BIN> COPY BMPVIEW.MAN A:>MAN>
w jakieś miejsce na swoim dysku, wtedy program będzie można wywoływać z poziomu dowolnego katalogu na dowolnym dostępnym urządzeniu. Z kolei dokumentację będzie można zawsze podejrzeć za pomocą:
MAN BMPVIEW
Oczywiście ścieżki można ustalić sobie dowolnie - ja podałem przykładową własną konfigurację.
Po skonfigurowaniu RUNEXT.SYS wpisem do RUNEXT.CFG: BMP,A:>BIN>BMPVIEW.COM,%
można uruchamiać obrazek wpisując tylko jego nazwę w linii poleceń:
RETWIZ.BMP
lub też nazwę z parametrami np.:
RETWIZ.BMP /T 1:30
Ustawienia zmiennych systemowych można dodać do pliku CONFIG.SYS lub AUTOEXEC.BAT dzięki czemu będą się one wykonywały automatycznie przy starcie systemu.
Program można pobrać stąd (dostępne też jako .atr/.arc/.atr.bz2 - wystarczy zmienić rozszerzenie).
2014-12-20 20:09 by Jerzy "Mono" Kut
komentarzy: 34
xeen @2014-12-20 20:36:19
dzięki, mono :)
Jacques @2014-12-20 21:05:05
Ja też dziękuję, biorę się za testowanie :)
mono @2014-12-20 21:05:37
Nie ma za co. Smacznego :)
Jacques @2014-12-20 21:22:00
S_VBXE v. 1.02, rdzeń FX 1.26, BMPVIEW krzyczy "Missing VBXEBASE". So jeft? ;-)
larek @2014-12-20 22:38:54
Dziękuję. Niestety nie mam VBXE... Może kiedyś... Kusi mnie zrobienie ładnej i kolorowej gry... Co to się porobiło z tym światem? Normalnie koniec świata ;-)
mono @2014-12-20 22:58:24
Stary S_VBXE - poproszę Draco, żeby zreleasował. Przepraszam za kłopot :/
mono @2014-12-20 23:06:25
Tymczasem można uzyć wersji prerelease takiego oto sterownika VBXE.SYS (jest w tym wątku http://atarionline.pl/forum/comments.php... ), który zostanie wypuszczony później. Wykrywa toto VBXE i zostawia symbol w pamięci.
Licz w całości do 400pln. Zyskujesz obraz generowany po składowych RGB, i rdzenie do wyboru: GTIA (praktycznie 100% zgodnosci, nawet z dowolnym interlace), FX (nowe fjuczery w tym tryb 80 znaków i rozdziałki typu 640x240), lub rdzeń emulujący SoundBoard (zamiast kabla video custom audio i masz kartę dźwięku), lub rdzeń chyba gtia, lub fx + rozszerzenie 320kB ram.
Całość konfigurowana z poziomu Atari, czyli konfigurator w pliku, możliwość wgrania rdzenia do FPGA, lub możliwość zmiany konfiguracji rdzenia z poziomu Atari.
Wsparcie z poziomu Sparta Dos X - sterownik obsługi ekranu na karcie - 80 znaków konsola, nawet z kolorowymi fontami ;)
Ciekawa rzecz jest to zaprawdę powiadam Ci ;)
Anon @2014-12-21 09:01:02
No kurde, 400 za konsolę z kolorowymi fontami to must have ;)
kris3d @2014-12-21 11:31:24
@mono, gr8! i szacun na dzielni!:-) Gra na VBXE zaczęła chodzić mi po głowie:) Te kolory, ta rozdzielczość...:)
mono @2014-12-21 13:09:15
Pin koncentruje się na rzeczach, które są dzisiaj oprogramowane. Najmocniejszą stroną VBXE są NOWE możliwości: - mapa atrybutów - mechanizm znany z ZX Spectrum i C64, ale tutaj daje znacznie więcej możliwości (regulowane rozmiary atrybutu od oidp 2..32 pikseli hires), - nowe tryby graficzne i tekstowe - 2, 16 i 256 kolorowe, - całkowicie niezależny od CPU sposób generowania obrazu - CPU działa z pełną prędkością bo ANTIC nie musi generować obrazu i nie spowalnia procesora (realizowane jest tylko odświeżanie pamięci Atari - VBXE ma swoją pamięć i sobie nią sam niezależnie zarządza), - 4 palety po 256 kolorów do wykorzystania naraz na ekranie, - blitter do operacji na pamięci VBXE - oidp można przesłać ok 130KB na ramkę - VBXE ma 512KB własnego RAM Warto spojrzeć na: - opis VBXE w Atariki: http://atariki.krap.pl/index.php/VBXE - programy demonstracyjne dostarczane z rdzeniami karty na stronie Candle'a http://spiflash.org - dema grupy Lamers - zmodyfikowane gry, tryb i480 Rybags'a i inne opisane w kategorii VBXE w Atariki: http://atariki.krap.pl/index.php/Kategor... - i na koniec demo naśladujące cartridge Tomek8 Nosty'ego: http://atarionline.pl/forum/comments.php... a zrobione przeze mnie - tam widać możliwości blittera
mono @2014-12-21 13:10:45
A no i można łączyć standardowe możliwości graficzne Atari (ANTIC+GTIA) z trybami VBXE, ponieważ każdy tryb VBXE wyświetlany jest na tzw. overlayu - dodatkowym ekranie rysowanym NAD obrazem z Atari
Anon2 @2014-12-21 14:06:02
No za 400 zeta to można mieć kilka atarynek, hehehe. I skoro to takie cudowne, to czemu nie ma w sobie gniazda do podłączenia wprost do monitora PC? :->
mono @2014-12-21 14:33:45
Był kiedyś taki eksperymentalny core przygotowany. Trzeba by pytać Konstruktorów (Candle, Electron).
tebe @2014-12-21 15:36:12
bo rdzeń jest upchany po brzegi, 1 bajt więcej i się nie skompiluje, jak ma być coś więcej to nowy układ FPGA i koszty jeszcze większe
mono @2014-12-21 15:46:54
@kris3d: Mówisz, że drechy nie oklepią mi już facjaty? :D Swoje gry możesz już na VBXE realizować bez ograniczeń :)
voy_ @2014-12-21 18:33:12
@Anon2: część monitorów i TV chwyta taki sygnał co do reszty, to potrzebujesz dowolnego scandoublera albo kabla DB9/DB15-->SCART.
@Anon2 - mimo wszystko warto. Koszt jest wysoki z racji na cenę układów FPGA - jeśli się nie mylę to sam ten układ w wersji użytej w VBXE kosztuje około 200pln. Całość bez montażu coś koło 350, a 50 to jeśli nie umiesz przylutować kilku kabli ;)
Każdy ma to, co chce mieć, dowiedziałeś się jakie są możliwości. Oczywiście nikt nikogo nie zmusza do zakupu, montażu itd. W tym względzie każdy ma możliwość wyboru.
@mono, Kraków przyjazny Atari z przeróbkami;) Jak będziesz to zapraszam na dłużej, na jakieś mikroParty:) Co do VBXE: muszę przetrzeć szlaki z pomocą gorgha w HiRes, później coś z VBXE, chociaż statyczne obrazki kuszą:)
mono @2014-12-22 13:27:55
@kris3d: hi-res to mocny i bardzo niedoceniany tryb (mój ulubiony zresztą). Dzięki za zaproszenie - na pewno skorzystam.
@0xF: Konwersja TrueColor do B/W wygląda następująco: piksel obrazu (24,32 bit) jest konwertowany do 256-odcieniowej palety wg podanego wzoru. A sama paleta odcienii szarości zawiera wartości (identyczne dla każdej składowej) od 0..255 (oczywiście indeksy parzyste i nieparzyste nie różnią się od siebie bo VBXE ma 7 bitów na składową a nie 8, ale jeśli w przyszłości zostałby zmieniony rdzeń i przetworniki wyjściowe pozwalające uzyskać 8 bitów na składową, to będzie jak znalazł). Czy gdzieś jest błąd w takim podejściu? Palety typu 332 itd. obliczane są podobnie choć tutaj ze względu na 256 kolorów w palecie mamy mniejsze pole do manewru - biorę n bitów ze składowej i ustalam nr indeksu w palecie. Składowe palety z kolei obliczane są za pomocą równego podziału 256 możliwych wartości przez odpowiednią ilość bitów i tak dla 2 bitów (4 możliwe wartości składowej) dostaniemy: 0, 85, 170, 255, dla 3 odpowiednio 0, 36, 73, 109, 146, 182, 218, 255.
mono @2014-12-22 14:00:23
Można by oczywiście zrobić to lepiej - zrobić sobie histogram kolorów i dopiero ułożyć paletę, ale wtedy trzeba 2x przelecieć treść obrazu - najpierw do histogramu, potem do konwersji piksela na indeks w palecie. Wolne :/
electron @2014-12-22 14:41:57
można też dodać mapę kolorów i wykorzystać 4 palety na raz na ekranie
mono @2014-12-22 15:09:16
Faktycznie! Dzięki Electron. Zrobi się.
electron @2014-12-22 19:38:55
Z tym, że należy pamiętać o przywróceniu domyślnych kolorów z zestawu 0, albo użyć tylko zestawów 1,2,3.
Mono: chodziło mi o to, aby zamiast palety np. 332, w której jest 8 stopni czerwonego, 8 niebieskiego i tylko 4 zielonego dać paletę, w której jest 6 stopni czerwonego, 6 niebieskiego i 6 zielonego. 6*6*6=216. Każdą składową redukujesz niezależnie z 256 do 6 poziomów przy pomocy tablicy. Potem tylko złożyć te składowe w indeks w palecie. Dzięki temu żadna składową nie jest poszkodowana.
mono @2014-12-24 00:45:41
Jasne. Konkretnie podstawą jest pierwiastek sześcienny z 256 = 6.3496042078727974 - stąd 6 i 216. Bardzo dobry pomysł - dzięki.