[Atari] AtariOnLine: Nowy RECOIL, jego historia i język Ć

[4] # AtariOnLine | Czwartek, 10 Września 2020 20:26CET

[Atari] AtariOnLine: Nowy RECOIL, jego historia i język Ć

Piotr "0xF" Fusik napisał:

Retro Computer Image Library (w skrócie RECOIL) to biblioteka programistyczna i oparty o nią zestaw programów umożliwiających wyświetlanie grafiki z przeróżnych komputerów 8- i 16-bitowych z XX wieku. Grafika w tamtych czasach była zapisywana w wielu formatach, zwykle dostosowanych do konkretnego modelu komputera. RECOIL obsługuje przeszło 400 takich formatów plików. Ta strona zawiera pełen wykaz formatów oraz examples.zip z testowymi obrazkami.

W skład RECOIL wchodzą:
  • apka na Androida
  • apka RECOILWin na wszystkie Windowsy
  • apka w sklepie Windows 10
  • wtyczki do XnView, Imagine oraz Paint.NET
  • wtyczki wyświetlające miniatury w Windows Explorer, Quick Look (macOS), GNOME (Linux)
  • strona wyświetlająca grafikę bezpośrednio w przeglądarce, bez dodatkowych wtyczek ani wysyłania danych na serwer
  • przenośny program recoil2png umożliwiający konwersję na PNG z linii poleceń

    Ponadto RECOIL jest wbudowany we wtyczkę "Formats" windowsowej przeglądarki IrfanView.

    We właśnie wydanej wersji 5.1.0 została dodana obsługa następujących formatów:
  • Apple II: Apple Preferred Format (GS/IIGS/PNT/SHR), Multi-palette (32K), 3201
  • Atari 8-bit: Mad Studio (GR0/ASC/SCR, SPR, MSL, MPL)
  • C64: CharPad (CTM), Centauri Logo-Editor (CLE)
  • NEC PC-88: DaVinci (IMG)
  • NEC PC-98: Mapletown Network (ML1, MX1, NL3)
  • ZX Spectrum: ZX Spectrum Next (NXI), Border Screen by Trefi (BSP)

    Ponadto:
  • RECOILWin ma lepszą obsługę wielu ekranów (np. laptopa podłączanego do monitora)
  • w RECOILWin dodano skróty klawiszowe dla powiększeń 5x-9x (przydatne dla posiadaczy ekranów 4K)
  • apka Windows 10 ma tryb pełnoekranowy

    Programy pobieramy ze strony projektu. Apki na Androida i Windows 10 są dostępne w sklepach.



    Wiadomości o nowej wersji RECOIL, takie jak powyższa, pojawiają się w serwisie AtariOnline od wielu lat, mniej-więcej dwa razy w roku. Wykaz zmian w projekcie można znaleźć tutaj. Tym razem nieco więcej o historii RECOIL i o tym, jak jest zbudowany w środku.

    Historia projektu zaczyna się w marcu 2009 roku, kiedy to stwierdziłem, że przeglądanie grafiki 8-bitowego Atari na PC nie jest wygodne. Należało przenieść pliki na obraz dyskietki w formacie ATR, uruchomić emulator z odpowiednim programem graficznym i wczytać w nim plik. Każdy program graficzny obsługiwało się inaczej, często przy pomocy skrótów klawiszowych, na które nie było standardu jak Ctrl+O na Windows. Natomiast odtwarzanie muzyki z 8-bitowego Atari było już dość wygodne: istniały programy SAP Player oraz mój Another Slight Atari Player (ASAP) wraz z wtyczkami m.in. do Winamp. Pojawił się więc pomysł stworzenia programu analogicznego do ASAP, ale wyświetlającego grafikę. W projekt zaangażowałem Adriana "Epi" Matogę i zaczęliśmy od wymyślenia nazwy. Jedną z propozycji było Another Slight Atari Viewer (ASAV), ale w końcu zdecydowaliśmy się na First Atari Image Library (FAIL). Przewrotna nazwa dla projektu mającego odnieść sukces. ;)

    Wersję 1.0.0 ukończyliśmy 25 sierpnia 2009 roku i zawierała ona przeglądarkę na Windows o nazwie FAILWin, przenośny konwerter fail2png oraz wtyczkę do XnView. Programy obsługiwały 19 formatów graficznych 8-bitowego Atari: AP3, APC, CCI, CIN, CPR, FNT, GR8, GR9, HIP, HR, ILC, INP, INT, MIC, PIC, PLM, RIP, SXS, TIP. Kolejne wersje dodawały wtyczki do ImageMagick, Windows Explorera i GNOME oraz obsługę coraz większej liczby formatów.

    W roku 2012 postanowiłem nie ograniczać projektu do 8-bitowego Atari i tak FAIL 1.3.0 obsługiwał też kilkanaście formatów Atari ST oraz Atari Portfolio, a FAIL 1.4.0 również formaty Atari Falcon.

    Projekt od samego początku był programowany tak, aby działał na różnych systemach operacyjnych. Zamiana zawartości plików na bitmapy była zrealizowana w języku C, przestrzegając jego standardu. Umożliwiało to kompilację FAIL dla Windows, macOS, Linuksa oraz innych mniej popularnych systemów.
    Jednak w 2013 roku dysponowałem już technologią jeszcze bardziej przenośnego oprogramowania. Mowa o języku programowania Ć, który pierwotnie posłużył do uczynienia bardziej przenośnym wspomnianego wcześniej projektu ASAP. Ć został zaprojektowany tak, aby możliwa była automatyczna translacja jego na inne popularne języki, bez narzutu skomplikowanych maszyn wirtualnych i rozbudowanych bibliotek. Tłumaczenie wykonuje się z linii poleceń programem "cito", wskazując pliki źródłowe i docelowe. W chwili obecnej możliwe jest tłumaczenie na C, C++, C#, Javę, JavaScript, Pythona, Swift oraz OpenCL C. FAIL 2.0.0 miał już bibliotekę zaimplementowaną w całości w języku Ć. Umożliwiło to wyświetlanie grafiki w przeglądarce WWW z użyciem HTML 5.

    Również w 2013 roku postanowiłem, że projekt nie musi się ograniczać do grafiki komputerów marki Atari. Nazwa projektu, zawierająca "Atari", została zmieniona. 26 lutego 2014 ujrzał światło dzienne RECOIL 3.0.0, obsługujący grafikę z komputerów Amiga, Commodore 64 oraz ZX Spectrum. Numeracja wersji nie została więc zresetowana wraz ze zmianą nazwy projektu. Technicznie zmiany w kodzie polegały głównie na zmianie nazewnictwa. Pojawiły się też nowe porty: apka dla Androida (korzystająca z tłumaczenia Ć na Javę) oraz wtyczka do Paint.NET (wykorzystująca tłumaczenie na C#).



    Od tamtego czasu projekt wzbogaca się głównie o nowe obsługiwane formaty oraz porty, co jest o tyle łatwe, że język Ć umożliwia korzystanie z języka programowania natywnego dla danej platformy, np. C# dla aplikacji Windows 10. Wersja 4.0.0 nie zawierała wielu zmian technicznych, lecz dodawała dziesiątki formatów z komputerów Atari ST/TT/Falcon.

    Wersja 5.0.0 zawierała natomiast głównie zmiany techniczne, polegające na aktualizacji do nowej wersji języka Ć. Dla ciekawych, jak wygląda kod w tym języku:



    To fragment klasy służącej do dekompresji DEFLATE, stosowanej w plikach G2F. Widać podobieństwo do C#. Jest ono na tyle duże, że stosuję po prostu kolorowanie składni C# w edytorze dla programistów SciTE, obsługującym wiele języków programowania. Obecnie RECOIL zawiera przeszło 18 tysięcy linii kodu w języku Ć.

    Warta uwagi jest też baza formatów w postaci pliku XML:



    Jest ona przekształcana na kod specyfikujący obsługiwane formaty w poszczególnych portach, pliki konfiguracyjne zawierające skojarzenia typów plików, a także tabelkę dokumentującą formaty (podlinkowaną na początku tego artykułu). Wszystkie te przekształcenia są wykonywane transformacjami XSLT. Dzięki temu dodanie nowego formatu wymaga zmian wyłącznie w plikach recoil.ci oraz formats.xml. Proces kompilacji jest oparty o Makefile, z wyjątkiem apek na Androida i Windows 10 stosujących standardowe pliki projektów. Do testowania nowych formatów stosuję RECOILWin. Skrót Ctrl+2 w SciTE mam skonfigurowany na kompilację i uruchomienie RECOILWin.

    Na koniec chciałbym podziękować osobom, które pomagały przy tworzeniu RECOIL. Lonny Pursell włożył ogrom pracy w opisywanie formatów i zbieranie przykładów grafik z Atari ST i Falcona. cholok wyjaśniał wszelkie zawiłości formatów z komputerów Amiga. FRS wciąż pomaga przy formatach z japońskich komputerów (m.in. NEC i MSX). Nieżyjący już Mariusz "Ramos" Rozwadowski pomagał przede wszystkim z grafiką komputerów C64. Petri Pyy zaprogramował wtyczkę do Quick Look i opiekuje się wydaniami na macOS. Paweł "Ripek" Szewczyk narysował ikonę RECOIL, a Sławek "Slaves" Śledź przeprowadził wiele testów.

    2020-09-10 20:26 by Piotr "0xF" Fusik
    komentarzy: 2
  • → NOWSZY [Atari] AtariOnLine: Gra "Literally"
    → NOWSZY [Atari] AtariOnLine: Środa z prasą (cz.6)
    → NOWSZY [Atari] AtariOnLine: Nowy "Atari Font Creator"
    → NOWSZY [Atari] AtariOnLine: Nowa książka o Atari
    → NOWSZY [Atari] AtariOnLine: "Atari Fan" po angielsku już jest!
    → [Atari] AtariOnLine: Atari wieczorową porą
    → [Atari] AtariOnLine: Środa z prasą (cz.3)
    → [Atari] AtariOnLine: Narzędzie do tworzenia scrolli
    → [Atari] AtariOnLine: Żużelek dla czterech graczy

    Tagi: Atari, Atarionline.pl, Atari Xe, Atari Xl, Retroserwisy, Ataionline, Fusik

    wstecz10/09/2020 20:26
    Inne treści związane z tematem
    [ATARI] Altirra x86 i x64 4.00 test XVIII 22/10/2020 [ATARI] Altirra x86 i x64 4.00 test XVIII 22/10/2020
    Nowe wersja testowa Altirry, emulatora ATARI XE/XL/5200.  Ostatnia pełna wersja tego emulatora, jaka publicznie została udostępniona to Alirra 3.90 z 14 czerwca 2020 r.
    [Atari] AtariOnLine: Gra "Literally" [Atari] AtariOnLine: Gra "Literally"
    W grze, toczącej się w latach osiemdziesiątych, wcielasz się w rolę motocyklisty Marka, posiadacza motocykla WSK 125, polskiej produkcji, którym przemierzasz kontynenty, w różnych krajach i odmiennych warunkach pogodowych ścigasz się, na zwykłych drogach, z innymi miłośnikami jednośladów. Masz możliwość przejechania aż ...
    [Atari.Area] LiteDOS 3.06 [Atari.Area] LiteDOS 3.06
    Ukazała się nowa wersja minimalistycznego w rozmiarze DOS dla ośmiobitowych komputerów Atari. Nowości w wersji 3.06: sterownik IDE dla wewnętrznych i zewnętrznych urządzeń zgodnych z MY-IDE, możliwość formatowania RAM-dysku, funkcje XIO 39 i 40 mogą ładować binarne pliki wykonywalne, pięciocyfrowa liczba podająca liczbę wolnego miejsca. Poza powyższymi LiteDOS charakteryzuje ...
    [ATARI] Altirra x86 i x64 4.00 test XVII 10/10/2020 [ATARI] Altirra x86 i x64 4.00 test XVII 10/10/2020
    Nowe wersja testowa Altirry, emulatora ATARI XE/XL/5200.  Ostatnia pełna wersja tego emulatora, jaka publicznie została udostępniona to Alirra 3.90 z 14 czerwca 2020 r.
    [Atari] Steem Steven Seagal Edition (SSE) 4.0.2 R23 26/10/2020 [Atari] Steem Steven Seagal Edition (SSE) 4.0.2 R23 26/10/2020
    Pojawiła się kolejna pełna wersja STEEM'a w mutacji o dźwięcznej nazwie Steaven Seagal Edition z całkiem pokaźną ilością zmian i poprawek.  Autor forku powrócił również do rozwoju wersji dla Linuxa - xSteem. Do pobrania pod "okienka" trzy wersje - "DD" (Dx7) i "D3D" (DirectDraw3D9), ta ostatnia powinna fajniej chodzić pod Windows 10. ...
    Komentarze

    T-shirt "Taito"

    Retro T-Shirt Taito - męski podkoszulek
    Newsy Linkownia Emulatory na PC Wideoteka Screenshoty Bajtek Reduks Ready.Run

    © Try2emu 1999 - 2020 | Krzysztof 'Faust' Karkosza Google+Kontakt