Szukamy "Action!" by Kaz 2010-02-15 13:47:10

Jeden z najsłynniejszych polskich twórców programów dla Atari, znany między innymi z gier "Problem Jasia", "The Warsaw Tetris", "Super Fortuna", "Barbarian" czy demek dźwiękowych jak "Self Control" czy "Your Body, My Body", Jakub Husak znany jest ze swojej sympatii do języka programowania "Action!".

"Action!" to, cytując za Atariki, "strukturalny, kompilowany język programowania dla ośmiobitowych Atari. Dzieło programisty OSS nazwiskiem Clinton Parker, sprzedawane od 1983 roku pod marką Action Computer Services. Właścicielem praw autorskich było kolejno OSS, ICD, a w końcu FTe.

Action! łączy w sobie cechy C i Pascala, czyli wygodę programowania z całkiem szybkim kodem wynikowym. Składnia Action! była wzorowana na języku ALGOL 68. Niemałą zaletą Action! jest dość wygodny, pełnoekranowy edytor. W języku tym napisano sporo programów użytkowych (np. DiskRx) i gier, np. Problem Jasia.

Oryginalna wersja języka występuje na cartridge'u, ale krążyła też niemal w pełni funkcjonalna wersja dyskowa. Język na cartridge'u zajmował 16k - w dwóch bankach po 8k (oddzielnie edytor i monitor) - zajmującym te same adresy, co interpreter Atari BASIC, tj. $A000-$BFFF.

Ciekawostką jest spora biblioteka procedur krążąca w sieci, dzięki czemu Action! stał się bardzo rozbudowanym i elastycznym narzędziem pracy dla programistów. Znane osobistości używające Action! to: Jakub Husak, Gizmo Magic."


Okazuje się jednak, że krążące w sieci wersje obrazu cartridge'a z "Action!" nie są pełnowartościowe, a poza tym nie widać na horyzoncie nowszych wersji (firm ICD, FTe), które na pewno się pojawiły. Sympatia Kuby do "Action!" zaowocowała więc apelem na Forum Atarum: osoby posiadające nowsze wersje cartridge'a niż występujące w naszej bazie, proszonę są o sprawdzenie, w posiadaniu jakiej dokładnie wersji są, i jeżeli to coś innego niż mamy - o zrobienie zrzutu pamięci carta.



Aby ułatwić poszukiwania Kuba Husak przygotował program "Action Cartridge Checker" dla Atari, który sprawdza wersję "Action!". Program pozwala na przetestowanie pliku cartridge'a (CAR, BIN, ROM na pececie), a także włożonego cartridge'a do Atari i zgranie włożonego cartridge'a do pliku. Programik rozpoznaje wersję 0.2 na podstawie prostych sum kontrolnych. Uruchamiać z "Action!" lub bez, ale na pewno bez włączonego BASIC-a.

Help!
jhusak 2010-02-15 14:42:30

Wielkie Dzięki Kaz, być może dzięki apelowi ktoś coś wykopie ze swoich zbiorów ...

Takie małe sprostowanie - do Barbariana napisałem tylko muzykę i efiksy.

Kaz 2010-02-15 14:46:54

Dlatego napisałem, że jestes z tej gry znany, a nie ze jestes jej tworca :). Zreszta moglbym wymieniac dalej, ale kazde dziecko* w Polsce wie, ktore gry pisal lub udzwiekawial JH :).

*mam na mysli dzieci trzydziesto- i czterdziestoletnie :D

nosty 2010-02-15 14:54:02

no mam dwa rozne cartridge Action! sprawdze... Ale bylem przekonany ze co jak co ale te carty sa juz dawno wszsytkie zdumpowane i ogolnie dostepne!

jhusak 2010-02-15 17:57:43

Kaz, tak to wynikało z kontekstu trochę, ktoś mógłby tak zrozumieć i byłaby katastrofa...

jhusak 2010-02-15 17:58:13

nosty, dawaj dawaj ...

gregor 2010-02-15 17:58:40

Mnie w pamięci utkwił utwór Your Body My Body ... zremixowany przez JH :)

The Fender 2010-02-15 18:10:21

No mnie jakoś też, ciekawe dlaczego ;)

Grey 2010-02-15 18:20:56

Jakub Husak - marka w atarowskim światku, niczym Pepsi czy Coca Cola w gastronomii :) Ciekawe, jakby brzmiał kawałek Jakuba zrobiony na YM2149 :) No nic, odpowiedzi na to pytanie raczej już nie poznamy, a szkoda :) pozdr.

Kaz 2010-02-15 18:33:49

jhusak - wyslalem Ci zip z dwoma wersjami od Charliego Chaplina. Mam nadzieje, ze dostales maila.

Hospes 2010-02-15 19:05:03

Ehh marzenie... odnośnie muzyki na yamahe w wykonaniu Jakuba. Tez sie piszę na chęć posłuchania wyciagnięcia takiej "mocy" z ym jak z pokeya na malucha.

Grey 2010-02-15 19:31:19

Z tego co pamiętam (czytałem to chyba w jakimś scrollu) to Jakub miał też Amigę :) Także płonne nasze nadzieje, Hospes :) To się nie uda :P

5eba 2010-02-15 19:40:46

@gregor - mi zawsze podobał się ten remix:
http://www.mediafire.com/file/uwfjqmtgnyt/Laura.xex
pomimo wątpliwego roku wydania, wielki szacun dla Pana Jakuba :)

tdc 2010-02-15 21:00:28

Dzięki Kuba i Kaz za zaangażowanie w temat.

Ja mam na dysku parę wersji z netu (zbieranych przez ~12 lat), ale byłem zawsze pewien, że wszystkie to wersje 0,2 (jest też parę które się nie uruchamiają). Jednak skoro jest program to sprawdzę wszystkie.


Tez bardzo lubię demko Your Body ;)

Krótki 2010-02-15 22:05:01

Kaz, a w Twojej bazie plików Action! (v2).rom i Action!.car są identyczne, wywal jeden z nich.

Kaz 2010-02-15 23:04:30

Wywalilem juz wczesniej, ale jeszcze nie zaktualizowalem danych na serwerze.

Kaz 2010-02-15 23:20:07

Wlaczylem synchronizacje danych katalogu uzytkow z serwerem wiec za kilka minut wszystko powinno byc zaktualizowane.

Krótki 2010-02-16 01:07:00

A z kolei teraz, Action! (v1).rom i Action! (v3).rom są identyczne - jedyna różnica w tym że v3 jest w formacie CART (czyli zawiera dodatkowy 16-bajtowy nagłówek). Standardowym rozszerzeniem dla formatu CART jest .car - sugeruję zmianę nazwy pliku.

Z drugiej strony, dwa obrazy tej samej wersji w bazie mogły myląco sugerować, że są to 2 różne wersje Action. Może zamiast tego zdecyduj się na trzymanie tylko cartridge'y w formacie "raw", albo tylko w formacie CART? Jak to się ma do Twojej idei zbierania plików we wszystkich istniejących wersjach?

Henryk 2010-02-16 02:16:40

Mam 2 cartrigde z Action. Sprawdziłem i na obydwu jest wersja 0.2.

sikor 2010-02-16 10:34:50

U mnie też :(

Kaz 2010-02-16 10:47:34

Krotki - albo sa identyczne albo "jedyna roznica tkwi w tym..." :). No wiec te pliki nie sa identyczne, wiec zgodnie z zasada zbierania wszystkich wersji - rowniez te dwa pliki powedrowaly do bazy. Numerowanie wersji (v1, v2, etc) odroznia wersje plikow, nie wersje programow - numer wersji programu, jezeli jest liczbowy (1.02, 3.05, etc) i znany - staram sie dodawac do nazwy przed nawiasem.

Co do zamiany rozszerzenia ROM na CAR to mam watpliwosci. O ile wiem, ani ROM, ani BIN ani CAR nie sa jakims przyjetym standardem i sa stosowane zamiennie tak jak XEX, COM, EXE. Emulator Atari800Win wprowadza tylko podzial na ROM/BIN i CAR, ale jednakowo rozpoznaje wszystkie z tych plikow bez wzgledu na nazwe. Moze jednak warto to ujednolicic globalnie - czy posprawdzalbys tez katalog "8.ROM-y" i zbadal, ktore wymagaja zmiany na CAR?

Kaz 2010-02-16 11:24:43

Zamiast "znany" powinienem napisac "widoczny".

Krótki 2010-02-16 17:18:43

Pliki nie są identyczne, ale obrazy ROM w nich zawarte są identyczne. Jest to inna sytuacja niż w przypadku np. programu w BASIC-u zapisanego na dyskietce i w pliku .bas - tam 2 pliki różnią się chociaż sposobem ich wczytywania, używania z emulatorem. W przypadku obrazów cartridge'a jedyna różnica jest taka, że CAR zawiera informację o typie cartridge'a. Prawdę mówiąc, żeby zachować jakąś konsekwencję, musiałbyś dla każdego "czystego" obrazu ROM utworzyć odpowiedni plik CAR i na odwrót - i w efekcie każdy image cartridge'a udostępniać w 2 formatach.

> ani ROM, ani BIN ani CAR nie sa jakims przyjetym standardem i sa stosowane zamiennie tak jak XEX, COM, EXE.

Akurat zupełnie nieprawda. Rozszerzenia ROM i BIM są powszechnie stosowane do nazywania dumpów zawartości kości ROM, EPROM - nie tylko na Atari, i nie tylko dla obrazów cartridge'y, ale też np. dla dumpów OS-a czy firmware'u stacji dysków. Natomiast format CART i propozycja rozszerzenia CAR została wprowadzone w emulatorze Atari800 wyłącznie do użycia z atarowskimi obrazami _cartridge'ów_. Użycie rozszerzenia ROM/BIN dla pliku CART może jest nawet mylące, bo sugeruje, że dany plik jest "czystym" zrzutem danych z kości ROM.

Sprawdzić należałoby nie tylko katalog ROM-y, ale też wszystkie obrazy cartridge'y w katalogu gier. Zrobić to można bardzo prosto: wszystkie pliki ROM, które mają rozmiar większy o 16 od wielokrotności 1KB, są w formacie CART.

Zatem nieprawidłowe rozszerzenia mają pliki:
Ace Of Aces.rom
Airball.rom
Barnyard Blaster (g).rom
Crime Buster (g).rom
Crossbow (g).rom
Fight Night.rom
Flight Simulator.rom
Gato.rom
Lode Runner (v1).rom
Summer Games.rom
Battlezone.rom
Bug Hunt (v1,g).rom
Choplifter!.rom
Dark Chambers.rom
David's Midnight Magic.rom
Deflektor.rom
Desert Falcon.rom
Mario Bros.rom
Thunderfox.rom
Tower Toppler.rom
Crystal Castles.rom
Food Fight.rom
Star Raiders II (v2).rom
SpartaDOS X 4.21.rom
SpartaDOS X 4.22.rom
Microsoft Basic II 2.0 .rom
Test Cartridge.car
Turbo (R.Kujda).car

Przy okazji. AST.rom ma nieprawidłowy rozmiar, o 6 bajtów za duży. Nie jest to poprawny obraz jakiegokolwiek kartridża. Widzę, że plik zawiera nagłówek COM. Co to za plik w ogóle?

Kaz 2010-02-16 19:35:16

Krotki - dzieki za sprawdzenie! Wszystkie podane pliki zmienily nazwy.

Co do standardu rozszerzen to absolutnie nie masz racji. Zbieram od lat pliki takie, jak wystepuja "w przyrodzie", takie jak zostaja znalezione badz podeslane. Nie zauwazylem trzymania sie zadnego standardu nazewnictwa dla plikow BIN, CAR, ROM, jak mi to przedstawiles. To raczej sluszne, ale pobozne zyczenie niz rzeczywisty standard nazewnictwa. Co wiecej, pliki z rozszerzeniem CAR wystepowaly juz przed powstaniem emulatora Atari800Win, jako naturalny skrot od "cartridge" i zawieraly surowe dane, bez naglowka. Uzywano ich do oznaczenia zrzutu z cartridge'a w przeciwienstwie do zrzutu z kostek pamieci w komputerze, stacji czy innych urzadzeniach, ktorym nadawano zazwyczaj rozszerzenie BIN. Z rozszerzeniem ROM praktycznie sie nie spotkalem.

Ten brak standardu jest niewygodny i mylacy, dlatego przyjalem w katalogu AOL, ze wszystkie pliki bedace zrzutem pamieci stalej dostaja rozszerzenie ROM, obojetnie czy sa to czyste dane czy z naglowkiem. Bylo to jeszcze w 1998 roku, gdy nie mialem bladego pojecia o istnieniu emulatorow, a Atar800Win PLus jeszcze nie istnial, tym bardziej format CART.

Czasy sie jednak zmieniaja... "emulatorowy punkt widzenia" przewaza :), a tez w koncu od tego jest katalog, zeby tworzyc coraz wiekszy porzadek. Twoja propozycje podzialu na pliki, ktore beda oznaczac czyste zrzuty pamieci (ROM) i te, ktore beda oznaczac pliki emulatorowe, z naglowkiem (CAR) uwazam za sensowna, wiec... zrobione! :)

Historii pliku AST.rom nie pamietam, przybyl jak inne, z czelusci internetu badz dyskietek.

Krótki 2010-02-16 22:10:58

W kilka sekund można wygooglać mnóstwo przykładów użycia rozszerzeń BIN/ROM (głównie BIN) jako nazw zrzutów kości ROM. Cartridge do Atari 2600, cartridge do 7800 (tu nawet mamy analogię do formatu CART - ichni format A78), cartridge do MSX, obrazy BIOS-u kart graficznych... Tak się po prostu przyjęło przez lata.

Format CART istnieje w Atari800 od czerwca 1997. http://www.atarimax.com/freenet/freenet_material/3.AtariNews/showarticle.php?528

:P

AST.rom jest o tyle dziwny, że zawiera nagłówek DOS-owy zawierający adres wczytywania 0000-1fff - czyli m.in. stos procesora, cienie rejestrów systemowych... Plik jest bezużyteczny dla Atari w tej formie. Jeśli urżniesz nagłówek, to co innego - plik staje się działającym obrazem cartridgze AST Utility - aczkolwiek różni się on kilkunastoma bajtami od tego dostępnego u Michała Szwanke: http://ftp.pigwa.net/stuff/mirror/www.atari.cuprum.com.pl/ast.htm.

Zatem proponuję usunięcie nagłówka DOS-owego, oraz oczywiście dodanie do bazy obrazy ze strony Michała.

0xF 2010-02-17 11:34:32

Zgadzam się z uwagami Krótkiego. Różnica między CAR a ROM jest analogiczna do różnicy między ATR a XFD. Są to inne formaty i to, że ludzie używają nieprawidłowych rozszerzeń, a programy sobie z tym radzą, nie usprawiedliwia wprowadzania bałaganu. Plik CAR można przerobić na ROM wycinając 16-bajtowy nagłówek. W drugą stronę jest trudniej: trzeba znać rodzaj cartridge-a. Jeśli zawartość cartridge-a jest identyczna, sugeruję aby różnica w nazwie sprowadzała się do rozszerzenia.

Krótki 2010-02-17 11:42:36

Właśnie - w przypadku, gdy identyczny obraz cartridge'a jest i w formacie "czystym" i w CART, powinna być w jakikolwiek sposób prezentowana sugestia, że te dwa obrazy są identyczne.

Kaz 2010-02-17 12:18:05

@"nie usprawiedliwia wprowadzania bałaganu."

Nikt go nie wprowadza, balagan juz jest :). Dlatego wlasnie przeprowadzilem akcje czyszczaca w katalogu na ROM i CAR, bo z ta uwaga Krotkiego o potrzebie podzialu tez sie zgodzilem.

Jednak przypomne, ze sami autorzy emulatora :) zdawali sobie sprawe z braku standardu, o czym mowa w helpie do "Atari800Win": "There is no special extension for raw cartridges, but most common are ROM and BIN (recommended is ROM)."

PS. Krotki - a sprobuj wyguglac zawartosc dyskietek atarowskich, zobaczymy, czy tez jest tam taki standard :)

PS2. Czym i ile obciac naglowek DOS-owy pliku, zeby zostalo tyle co trzeba?

mono 2010-02-17 13:33:06

Na linuxie:
$ dd if=file.car of=file.rom bs=1 skip=n
gdzie n to ilość bajtów do obcięcia od początku pliku.

Krótki 2010-02-17 15:06:12

Albo dowolnym hex-editorem.

Zaraz, a co ma dyskietka atarowska do obrazu kości ROM?

Kaz 2010-02-17 15:45:43

Moze juz nie pamietasz tych czasow ;), ale kiedys wiekszosc tego typu plikow byla przechowywana na dyskietkach, bo niby gdzie? Tak krazyly zarowno obrazy cartow do wypalenia jak i zrzuty z pamieci np. stacji XF551, Turbo2000, etc. Doskonale pamietam, ze nazewnictwo bylo rozne, CAR, BIN, ROM, EPR, MEM i tym podobne, a dyski trafialy do mnie z roznych zrodel, wiec na pewno nie bylo tak, ze panowal jakis standard.

Atari800 nie mogl wypromowac CAR w 1997 roku,bo wtedy to Atarowcy uzywali Atari, a Linuxa mialo 0,01 procenta uzytkownikow peceta :). Dlatego napisalem "Atari800Win PLus" - od tego mniej wiecej czasu mozna moim zdaniem datowac szalona obecnie popularnosc emulatorow Atari.

Krótki 2010-02-17 18:22:59

Przecież nie mówię o tym, jak kiedyś było w zacofanym Atarowskim zaścianku, tylko o powszechnie stosowanych konwencjach nazywania dumpów, ogólnie. Sam mam trochę dumpów o różnych dzikich nazwach, np. rozszerzenie .256 określające typ kości EPROM. Przynajmniej u Ciebie już nie będzie śmietnika.

Kogo obchodzi linuks, Atari800 od wersji 0.6.0 (ok. września 1996)wspiera MS-DOS.

0xF 2010-02-18 10:16:37

Pisałem tego helpa. :)

Jeśli chodzi o edytor hex pod Windows to polecam HxD.

Kaz 2010-02-18 15:13:14

Krotki - nie obrazaj zascianka ;). Podalem Ci przyklady z podworka Atari, bo akurat z takim mialem stycznosc. Zaloze sie jednak, ze wszedzie i wszyscy uzywali oznaczen tak jak im bylo wygodnie. Przyklad masz na stronie o 7800, ktora sam podales: "If you are looking for the plain bin files without the A78 header, check...". Tam pliki ROM maja naglowek, a wiec wcale nie sa czystym zrzutem pamieci, ktorej to z kolei konwencji trzyma sie emulator Atari800 i pochodne.

Ile trzeba wyciac tego naglowka?

Krótki 2010-02-18 17:46:22

Pisałem, 6 bajtów.

Ale zauważ, że ROMy z nagłówkiem na tamtej stronie mają rozszerzenie .a78, a bez nagłówka .bin. Jest to więc jakby wsparcie dla mojej teorii ;)