Action26

Cross-compiler for the Action! language targeting Atari 800

Download

Download Action26

Program, handbook (HTML and EPUB) and Sublime Text plugin in one zip (3,5 MB)

What's new

Windows 10 or 11 (x64), a single action26.exe, nothing to install. The atari800 emulator for graphics and sound.

Language help

Handbook version 1.3.0.361

Grafika: domček v režime 7
Grafika: domček v režime 7
Textová obrazovka
Textová obrazovka
Hráči a strely
Hráči a strely

Action26 is a Windows cross-compiler for the Action! language for 8-bit Atari XL/XE computers. It turns an .act source file into a runnable XEX in a fraction of a second. Programs run without the Action! cartridge: the cartridge library is replaced by a runtime bundled with the program.

Action!
PROC Main()
  BYTE i
  FOR i=1 TO 10
  DO
    PrintB(i) Put(' )
  OD
  PutE()
RETURN
action26 hello.act --run

Features

Action26 is free software under the MIT license.

News (in Slovak)

Action26 1.3.0.359

  • Rýchlejší pohyb hráčov (PMVPos, PMMove) – pri zvislom posune sa zmažú len riadky, ktoré objekt odkryl, a tvar sa skopíruje naraz ako blok, nie po jednom riadku. Posun o rovnaké y nerobí nič. Benchmark bench5 (hráč prejde všetkých 256 riadkov) beží 9 snímok namiesto 24, rovnako rýchlo ako ručne napísaná rutina. Programy s PMG sú asi o 200 bajtov väčšie, programy bez PMG sa nemenia.
  • --strict a DEFINE W – upozorní na DEFINE s menom W. Originálny cartridge program preloží, ale monitor jeho príkaz W"D:PROG.COM" (zápis programu) rozvinie ako tento DEFINE a skončí chybou 2.
  • --sim a bajt $0A – simulátor zapisuje výstup bajt po bajte; nový riadok vznikne len z konca riadku Atari (EOL $9B). Bajt $0A (v národných znakových sadách písmeno, napr. Ž) predtým Windows zmenil na koniec riadku, teraz prejde nezmenený. Ostatné výstupy sa nemenia.
Older versions

Action26 1.3.0.346

  • Zbalený XEX (--pack-xex) – prekladač zbalí hotový program formátom ZX02 a pridá krátky rozbaľovač (180 bajtov), ktorý každý kus rozbalí hneď po nahratí, ešte kým DOS číta ďalší. Z diskety sa číta menej sektorov, takže program sa nahrá rýchlejšie a na disketu sa ich zmestí viac – podobne ako so starým Super Packerom, ale s hocijakým DOS-om a bez straty dát v RAM pod ROM a v bankách. Pamäť programu sa nezmenší: rozbaľovač a zbalené dáta ležia na stránke 6 a za programom len počas nahrávania. Program s 18 KB sa zmenšil takmer na polovicu a od zapnutia počítača beží o 4 sekundy skôr; malým programom do kilobajtu to nepomôže. Dá sa zapnúť aj v hlavičke zdrojáka (;@compile --pack-xex). Popis v príručke (kapitola 32) a v docs\reference.md §8.2.
  • Zbalený a zakódovaný XEX – --pack-xex spolu so --scramble (aj --scramble-level 2 a --scramble-key) efekty --scramble-fx sa so zbalením kombinovať nedajú.
  • Prečo ZX02 – ZX02 balí lepšie ako DEFLATE, rozbaľuje rýchlejšie ako Exomizer a jeho rozbaľovač je malý; samorozbaľovací súbor Exomizeru by navyše nezachoval spúšťacie rutiny (INITAD) ani dáta pod ROM. Ten istý rozbaľovač ZX02 používa aj Unpack pre dáta zbalené cez PACK.

Action26 1.3.0.315

  • --unpack podľa prípony – súbor .w8p číta najprv ako W8P, ostatné najprv ako zbalené dáta. Zbalené dáta s veľkosťou 256 až 511 bajtov mali aj platnú hlavičku W8P, takže poškodený .pak dostal hlášku o W8P. Teraz chyba patrí formátu z prípony.
  • Nové testy – --memory, --set, --sim s klávesnicou zo vstupu, --verbose, --scramble, --atr, --pack/--unpack, --pack-text a disky sa skúšajú celé, tak ako ich spustí príkazový riadok. Pokrytie kódu testami stúplo z 91 % na 95 %.

Action26 1.3.0.308

  • --run bez ROM Atari – keď vedľa emulátora nie je ATARIXL.ROM, spustí sa s voľnou AltirraOS.
  • --sim s AltirraOS 3.44 – desatinné čísla z REAL.ACT počíta simulátor rutinami novej AltirraOS, rovnako ako emulátor s ňou. Posledná číslica sa môže líšiť od ROM Atari.
  • Zmena štruktúrovania kódu a dokumentácie – popis volieb --run a --sim, kapitola o operačnom systéme v dokumentácii runtime, príručka (kapitoly 1 a 24).

Action26 1.3.0.302 – prvé vydanie

Action26 je prekladač jazyka Action! pre 8-bitové Atari XL/XE, ktorý beží na Windows. Zdroják .act preloží do súboru XEX, ktorý beží bez cartridge Action!.

Čo prináša

  • Kompatibilita s Action! 3.6 – rovnaký jazyk, knižnica aj chybové kódy. Preloží RunTime disk, Tool Kit aj stovky starých programov a výsledok je zvyčajne menší než z originálu.
  • Jeden súbor bez závislostí – action26.exe, tri úrovne optimalizácie, chyby vo formáte Visual Studia.
  • Spúšťanie a disky – rovno v emulátore atari800 (--run), vo vstavanom simulátore 6502 (--sim) alebo z diskety ATR s autorunom pre DOS 2.5, MyDOS, SpartaDOS a ďalšie.
  • Beží aj s AltirraOS – programy volajú operačný systém len cez jeho oficiálne vstupné body, takže fungujú s ROM Atari 400/800 aj XL/XE a rovnako s voľnou náhradou AltirraOS. Overené v emulátore, vrátane práce s disketou, klávesnicou a grafikou.
  • Nastavenia v zdrojáku – voľby prekladu sa píšu do hlavičky programu (;@modern, ;@compile …, ;@version …), originálny cartridge ich preskočí ako komentáre.

Moderný Action! (--modern)

Nepovinné rozšírenia jazyka: CONST, ENUM, CASE, IF a CASE ako hodnota, viacrozmerné polia, pretypovanie, assembler 6502 priamo v rutine (ASM … ENDASM), premenné na pevnej adrese (ORG, ALIGN), escapy v reťazcoch a výpis dlhého textu. Ku každému rozšíreniu je lekcia v examples\modern\.

Grafika, pamäť a dáta

  • Player/Missile grafika – hráči, strely, zrážky a sprity cez jednoduché rutiny PM….
  • Rozšírená pamäť – banky 130XE a ďalších rozšírení až do 1 MB a RAM pod ROM, aj s dátami nahranými priamo pri štarte programu.
  • Kompresia – obrázky, dáta aj texty sa zbalia už pri preklade (ZX02, RLE+, W8P) a rozbalia na Atari.
  • Prehľad pamäte – --memory ukáže, koľko miesta ešte ostáva.
  • Nečitateľný XEX – --scramble zakóduje program, dekóduje sa pri nahrávaní s grafickým efektom.

Príručka

Action! pre začiatočníkov – príručka v slovenčine od prvého programu po Player/Missile grafiku. Každý príklad je overený prekladom aj výstupom. Vychádza ako jedna stránka HTML a ako e-kniha, ktoré ležia v bin\ hneď vedľa action26.exe. Príručka má rovnaké číslo verzie ako action26.exe, takže je hneď vidieť, ku ktorému prekladaču patrí.

READY