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

[2] # 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: Silly Venture 2k21 (Winter Edition) – aktualności
    → NOWSZY [Atari] AtariOnLine: KWAS 24 już teraz!
    → NOWSZY [Atari] AtariOnLine: Filmowy weekend
    → NOWSZY [Atari] AtariOnLine: Spotkanie z demosceną: Muro
    → NOWSZY [Atari] AtariOnLine: 500 programów w Action! prezentuje Amarok
    → NOWSZY [Atari] AtariOnLine: Nowości w High Score Cafe
    → NOWSZY [Atari] AtariOnLine: Wkrótce KWAS nr 24!
    → NOWSZY [Atari] AtariOnLine: Fight Night TDC vs. RAF
    → NOWSZY [Atari] AtariOnLine: Wywiad z Brodatym
    → NOWSZY [Atari] AtariOnLine: Co na weekend u nas?

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

    wstecz10/09/2020 20:26
    Inne treści związane z tematem
    [Atari.Area] flop 66 [Atari.Area] flop 66
    Sikorki ćwierkają, że na dedykowanej stronie pojawił się nowy, 66 już numer magazynu dyskowego "flop". Tym razem mamy trzy strony dyskietki, chociaż - jak sami spojrzycie - o dość dziwnych wielkościach... A zawartość? Oceńcie sami, download we wskazanym miejscu.
    [Atari] AtariOnLine: Silly Venture 2k21 (Winter Edition) – aktualności [Atari] AtariOnLine: Silly Venture 2k21 (Winter Edition) – aktualności
    Zostało już niewiele czasu do zimowej edycji Silly Venture, największej imprezy demoscenowej poświęconej platformom Atari. Oto najnowsze wiadomości od Greya:Już za niecałe 2 tygodnie spotykamy się po raz kolejny w tym roku! :) Z niektórymi z Was fizycznie, z pozostałymi wirtualnie. Od 9-go do 12-go grudnia czekają nas 4 dni zabawy z ATARI.Mimo ...
    [Atari.Area] TURGEN 8.8.9 - Eta-Xi-Omicron [Atari.Area] TURGEN 8.8.9 - Eta-Xi-Omicron
    Kolejna wersja multiplatformowego narzędzia do zarządzania, konwersji, tworzenia (oraz wszystkiego, czego można sobie wymarzyć) taśm przynosi następujące zmiany: The ExpressLoading conversion is now available also for the Omicron Turbo plugin Loading bars of all Omicron Turbo loaders have enhanced and unified color scheme Loading bars of the ExpressLoader of the Turbo 2000 plugin have ...
    [Atari.Area] Laser Squad dla Atari XL/XE [Atari.Area] Laser Squad dla Atari XL/XE
    Aktualnie trwają prace nad portem hitu znanego m.in. z ZX Spectrum, C64 i Amigi - Laser Squad. Gra jest taktyczną grą turową, wielu uznaje ją za protoplastę takiego szlagieru jak seria X-COM. Pracami kieruje znany z wielu świetnych portów, takich jak m.in. Fairlight, Highway Encounter, Jack the Nipper, czy Saboteur - MariuszW. Najprawdopodobniej gra będzie działać w kilku trybach na ...
    [Atari] AtariOnLine: KWAS 24 już teraz! [Atari] AtariOnLine: KWAS 24 już teraz!
    Ostatnie przypomnienie - w tę sobotę, o 13:00 nastąpi rozpoczęcie dwudziestego czwartego KWAS-a - na Uniwersytecie Jagiellońskim, ul. Łojasiewicza 4, Kraków. Plan spotkań umieszczony jest poniżej, jak zwykle spontaniczny, bez spiny - więc ostateczna kolejność może być inna, ktoś może się pojawić znienacka albo odwrotnie - ...
    Komentarze
    Ostatnio dodane pliki

    T-shirt "The Goonies "

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

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