Szpony Sikora by Kaz 2008-11-29 17:40:45

Konkurs "Napisze se" zatacza coraz większe kręgi, co powoduje też, że oprócz wzrostu zainteresowania programowaniem na Atari, dostajemy też przydatne procedury i, jak się za chwilę okaże, programy narzędziowe, przydatne do pisania własnych gierek.

Paweł "Sikor" Sikorski podesłał mi napisany na szybko w Turbo Basic XL i skompilowany program BMP Converter 0.1, który, jak sama nazwa wskazuje, służy do zamiany plików BMP na atarowski format hi-res. Plik BMP musi być jednokolorowy w rozdzielczości 320 na 192 piksele. Nadajemy mu nazwę TEST.BMP, wrzucamy na dyskietkę przygotowaną przez Sikora, odpalamy program BMPCONV1.COM i... mamy efekt w postaci odpowiedniego pliku. Proste i skuteczne. Na dyskietce znajdują się także źródła w TBXL, gdyby ktoś zapragnął udoskonalić program. Wtedy i ja proszę o przesyłkę.



---
Update z tego samego dnia: Sikor podesłał kolejną, znacznie usprawnioną wersję programu. Teraz można sobie wybrać dowolną szerokość i wysokość obrazka do konwersji, z tym, że musi to być wielokrotność 8 pikseli (a więc jednego znaku) - jeżeli nie jest to program sam zaokrągli w dół do właściwego rozmiaru. Nie trzeba też zmieniać nazwy na TEST.BMP, bo program pozwala wczytać dowolny plik. Jak pisze jeszcze Sikor: "Błąd przy wstępnym wyświetlaniu wczytanych szerokich obrazków (ale konwertuje już o.k.). Struktura zapisu pliku: linia po linii, na ustaloną wcześniej (przed konwersją) szerokość w bajtach. Wszelkie uwagi mile widziane, ale z powodu braku czasu pewnie poprawki z mojej strony nieprędko. Za miłe słowa dziękuję, ale ten "program" to naprawdę nic wielkiego."

Niby nic wielkiego, ale ja idę właśnie konwertować moją grafikę do gierki konkursowej, bo w ten sposób uniknąłem alternatywy w postaci pisania sobie samemu takiego programu... Dzięki Sikor! Nowa wersja w tym samym katalogu.



---
Kolejny update: zalała mnie fala programów podobnych do Sikorowego BMP Convert. Jerzy "Mono" Kut przypomniał o istnieniu swojego świetnego programu graficznego Graph8, który równie dobrze może przecież służyć do konwersji plików BMP o dowolnych rozmiarach w ramach grafiki Atari! Ach ta skleroza... chyba czas na lecytynkę w większych dawkach :).



Niezawodny Andreas "Charlie Chaplin" Koch, kopalnia wiedzy o programach i posiadacz chyba wszystkiego, co na Atari się kiedykolwiek pojawiło, też podesłał programy do konwersji plików BMP. Jeden z nich to BitMap File Converter, bardzo przyzwoicie wykonany program autorstwa Sebastiana Moździocha (Polska). Drugi to BMP View Karola Meciara (Słowacja). Program, który pozwala przerzucić BMP nie tylko do GR.8, ale także do GR.9.



Linki:
Graph8
BMP View
BitMap File Converter
sikor 2008-11-29 17:57:29

Wersja nosi oczywiście numer 0.1, a nie 1.0. Jeśli będzie większe zainteresowanie tego typu "narzędziem" - to może w wolnym czasie powstanie i wersja 1.0 ;)

nosty 2008-11-29 18:32:26

Tytul "SZPONY SIKORA 2" brzmi zajebiscie! Juz czekam na "SZPONY SIKORA 3 - POWRÓT SZPONÓW" :)))

sikor 2008-11-29 18:44:19

A otrzymałem od kogoś taką "etykietkę na carta do 2600" - po tym, jak napisałem, że "ktoś się załapał". Już nie pamiętam kto mi to podesłał, ale fakt-faktem, też mi się tytuł i grafa podoba ;)

Kaz 2008-11-29 19:50:22

Poprawione na 0.1.

glowas11 2008-11-29 20:30:42

@sikor mam pytanko ponieważ za ząb nie rozumiem niemieckiego co znaczy cytuje - " Fehler-163 in Zeile 252 ($23AC)
Takie coś mi wyskoczyło po obrazku na real Atari .

Pomysł ciekawy za co oczywiście ukłony .

Pozdrawiam

larek 2008-11-29 20:34:38

Fehler-163 in Zeile 252 - Błąd nr 163 w linii nr 252

Błąd 163 to błąd operacji I/O (błędne wykonanie operacji przez DOS)

glowas11 2008-11-29 20:49:38

Dzięki Larek .

larek 2008-11-29 23:16:28

Sikor, teraz właśnie sprawdziłem Twój konwerter w działaniu i musze powiedzieć, że to świetny programik! Do tej pory męczyłem się wgrywając bitmapę do G2F, później zapisywałm jako MIC i ładowałem do Design-Master'a, aby później zapisać jako GR8. Trochę z tym roboty było. Kiedyś chciałem taki konwerter stworzyć, ale jakoś sił i czasu nie starczyło. Znając budowę pliku BMP, jak się okazuje, to całkiem prosta sprawa. Brawo! Dobrze byłoby rozbudować program o bardziej uniwersalną komunikację ze stacją.
"Małe i dobre" chciałoby się powiedzieć ;-)

Kaz 2008-11-29 23:30:44

Tez juz wlasnie napisalem Sikorowi w mailu, ze uzylbym jego programu nawet dzis (do gry, ktora szykuje na konkurs), bo to jest naprawde strzal w dziesiatke!

Tylko, ze mnie potrzeba niestandardowej szerokosci obrazka. Napisalem o tym do Sikora i ponoc prace juz trwaja... :). G2F pozwala zapisac MIC tylko na szerokosc 256/320/384 czyli w standardowych rozmiarach. Gdyby programik Sikora pozwalal regulowac wysokosc obrazka oraz szerokosc (nawet gdyby to miala byc wielokrotnosc np. znaku czyli 8 pikseli) to bylaby rewelacja. Sikor, dzialaj!

sikor 2008-11-29 23:42:13

Paczka do Kaza poszła. Nadal niski numer wersji - 0.2. Pewnie da update ;)
Uwagi:
1. Właściwie dowolna szerokość obrazka, ale będąca wielokrotnością bajtu
2. Obsługa wyłącznie bitmap monochromatycznych (chyba - nie pamiętam budowy kolorowych bitmap)
3. Dowolne nazwy wczytywanych/zapisywanych obrazków (trzeba wpisywać pełne ścieżki)
4. Błąd przy wstępnym wyświetlaniu wczytanych szerokich obrazków (ale konwertuje już o.k.)
5. Struktura zapisu pliku: linia po linii, na ustaloną wcześniej (przed konwersją) szerokość w bajtach.
Wszelkie uwagi mile widziane, ale z powodu braku czasu pewnie poprawki z mojej strony nieprędko. Za miłe słowa dziękuję, ale ten "program" to naprawdę nic wielkiego.

Kaz 2008-11-29 23:52:24

Staszek szybki jest!
A apdejt tez zrobiony szybko.

sikor 2008-11-29 23:57:34

Aha, bufor na obrazki to $2600 czyli 9728 bajtów. Powinno starczyć.

mono 2008-11-30 01:10:39

:) Graph8 pozwala na zapis obrazków w hires o dowolnych rozmiarach...

Kaz 2008-11-30 02:03:44

Sklerozis bakteriozis :). No to kolejny update - i dodatkowo dwa programy do konwersji BMP.

DAK 2008-11-30 02:46:00

Sikor. Super robota, nie przyglądałem się co prawda jeszcze wszystkim błędom :), ale v.0.1 jest już zadowalająca.
Jak będę miał czasu więcej (może przerwa od 24.12) to coś zasugeruję.

Pozdrawiam Ciebie i pozostałych.

DAK 2008-11-30 02:51:27

Jeszcze raz :)
Dlaczego piszesz w programie w dwóch językach ("programmed by.. itd, a potem po naszemu?) - przyjmij jakąś metrykę i trzymaj się jej.
Nie każę, tylko proponuję (zboczenie programisty po 20 latach)
pozdrawiam

DAK 2008-11-30 02:56:54

karzę to się chyba przez "rz" pisze llllooooollll słabo sie już byśli w sobotę o 3:00 AM :D no dość ode mnie.

larek 2008-11-30 03:41:49

O w mordę jeża, ale tego jest. A ja tam pod lasem nic nie wiem i "na piechotkę" bawiłem się z tymi bitmapami... ;-)

sikor 2008-11-30 07:59:13

No, jak tyle tego jest to nie muszę pisać nowej wersji. W każdym razie - powstało przez przypadek coś nowego dla potomnych ;)

mono 2008-11-30 10:47:25

@sikor: Świetny konwerter.
@Kaz: Graph8 potrafi jak na razie tylko eksportować BMP i IFF/ILBM, ale postaram się w najbliższym czasie dołożyć funkcje importu i wtedy będzie komplet. Za to obecnie potrafi zapisywać fragmenty obrazka o dowolnych rozmiarach (0..320 x 0..200).

larek 2008-11-30 10:57:18

Hmmm... same problemy :(
Po szybkim przejrzeniu programów:

Graph8 - umożliwia eksport grafiki do bmp, ale czy odczyt? Poza tym stosuje własny format zapisu. Da się zapisać w GR.8?

BMP View - mało przyjazna obsługa. Trzeba pamiętać nazwę pliku, bo program nie wyświetla katalogu dyskietki.

BitMap File Converter - wygląda na ładny program, ale u mnie nie działa! Po uruchomieniu (z xex, z atr pod DOS-em) mogę sobie naciskać i naciskać dowolny klawisz. Nic się nie dzieje oprócz mrugania ekranu. Coś robię nie tak? Help!

larek 2008-11-30 11:00:42

O, właśnie Mono odpowiedział na jedno z moich pytań. Dzięki.
Szybki jesteś :D
A jak z zapisem w normalnym formacie: GR.8 - 7680 bajtów danych?

mono 2008-11-30 11:29:28

@larek: Na początku znajdują się dwa bajty z szerokością bloku, i bajt z wysokością. Dalej lecą dane dla trybu gr.8 basica.

mono 2008-11-30 11:38:31

@larek: Ponieważ domyślny rozmiar grafiki to w Graph8 320x200, więc trzeba zaznaczyć sobie blok o rozmiarze 320x192 (cltr+b, wciskamy przycisk na lewym górnym rogu obszaru i trzymając jedziemy do prawego dolnego rogu; po zwolnieniu przycisku mamy zaznaczony blok do operacji) i zapisać go (ctrl+s). Możesz przy odczycie obrazka we własnym programie po prostu pominąć 3 pierwsze bajty i załadować resztę danych bezpośrednio na ekran. Nie są w żaden sposób kompresowane.

larek 2008-11-30 17:18:39

Dzięki za wyjaśnienia.
Jednak nadal pozostaje zabawa w obcinanie zbędnych bajtów. Może dało by się wstawić zapis w standardowych rozdzielczościach bez dodatkowych danych. Wiem, że marudzę, ale i tak jeśli masz przerabiać program aby odczytywał bitmapy, to może dałoby się dodać możliwość zapisu w kilku standardach - m.in. czystym gr.8? Z pewnością podniesie to funkcjonalność programu. No i przydałoby się mieć możliwość wyświetlić katalog dyskietki...
Dobrze, dobrze - już milknę ;-)

sikor 2008-11-30 17:58:44

Znaczy się, ktoś używa moich wypocin...? ;) Mam nadzieję, że mimo wszystko się komuś przyda ;)

sikor 2008-11-30 18:00:54

@larek: jak użyjesz bitmapy 320x192px, to mój konwerter zapisuje dokładnie 7680 bajtów w trybie gr8.

larek 2008-11-30 18:22:44

Sikor, wiem i jak na razie Twój program jest najlepszy :-)
Prosty i robi to, co ma robić!

Kaz 2008-11-30 18:53:08

Sikor - Alez wlasnie jest przydatny, bo pozwala swobodnie manewrowac szerokoscia i wysokoscia. Do mojej gry tylko Twoj program robi to co trzeba i w sposob prosty, bez posrednictwa innych programow.

Ale mimo wszystko warto znac alternatywy. I licze tez na to, ze Mono wprowadzi postulaty Arka w zycie. Zreszta ten program ma w sobie potencjal - a najwazniejsze, ze jego autor czyli Mono, nie zarzucil rozwoju. Prawda jest bowiem okrutna - wiele teoretycznie lepszych programow nie bedzie nigdy wykorzystanych, bo drobiazgi, ktorych potrzebuja uzytkownicy, nie beda w nich wprowadzone.

mono 2008-12-01 01:11:46

Jasna sprawa - import z bmp i ilbm, oraz raw i directory będzie w kolejnej wersji.

Kaz 2008-12-01 03:18:53

Mono - dzieki!

axe/ssg 2008-12-01 22:11:55

@sikor: "Już nie pamiętam kto mi to podesłał, ale fakt-faktem, też mi się tytuł i grafa podoba"
jam to nie chwalac sie uczynil :) pozdrawiam!

sikor 2008-12-01 23:09:12

@axe: jeszcze raz dzięki. To teraz też stałeś się sławny ;)

Kaz 2008-12-09 16:31:02

Sikor podeslal nowsza wersje konwertera (0.25) z poprawionym bugiem - przedtem pierwsza linia obrazu po konwersji byla pusta, teraz jest ok.

Plik w katalogu uzytkow.