ATR26

Atari 800/XL/XE ATR disk images as archives in Total Commander

Type
Packer (WCX)
Version
1.0.11.53
Files
ATR, ATX, CAS
Download Packer (WCX)2,2 MBDownload CLI (atr26.exe)2,2 MBCommand line, no installation: atr26.exe (64-bit) and x86\atr26.exe (32-bit).

Open a plugin zip in Total Commander (Enter) and it installs the plugin itself. Each plugin comes in both 32-bit and 64-bit versions.

What's new

ATR26 is a packer plugin for Total Commander for managing Atari 800/XL/XE disks in the .atr format. Enter a disk with Enter or Ctrl+PgDn and work with it like an archive: copy files out (F5) and in, delete them (F8) and create subdirectories (F7).

Features

The project also includes the command-line tool atr26.exe with parameters compatible with ATRconWCX.EXE. It is available as a separate download (64-bit and 32-bit, no installation).

The DOS 4 and DOS XE formats are implemented from the description in the atrfs project (Preston Crow) and the DOS XE manual.

News (in Slovak)

1.0.11.53 – FreeDOS: kurzor pre program v reťazi, progressbar v NoDOS, spinner a progressbar vo FreeDOS

  • NoDOS: pod Loading / je progressbar [....................] (20 bodiek), plní sa s každým ďalším sektorom súboru a je plný presne s posledným (aj so ZX02, s menu pre každý program zvlášť; sektor prečítaný znova po INIT ho neposunie). Pri -x=screen sa kreslí do prvého rámu [ medzery ] v obrázku. -x=noload vypne nápis, spinner aj bar. Zavádzač: +34 B, rezidentná časť +8 B; boot sektory: 3 (bez zmeny), so ZX02 5 (bolo 4), s hs 6 (bolo 5), s oboma 7 (bez zmeny), noload bez zmeny. atr26 -l spozná hs podľa otázky na mechaniku v zavádzači (aj na starých disketách s 5 sektormi), ZX02 podľa počtu sektorov.
  • FreeDOS 1.1 / 2.1: kurzor sa znova zapne aj pred skokom na RUNAD, takže program spustený v strede reťaze AUTORUN.SYS / *.ARn ho má (skrytý je len počas načítavania so spinnerom). MEMLO +5 B (napr. R $0C90, RW $118B, 2.1 R $0D8C).
  • FreeDOS 1.1 / 2.1: počas reťaze AUTORUN.SYS / *.ARn sa točí spinner / - \ | a plní progressbar (dĺžka = počet sektorov súboru z adresára). Bez AUTORUN.TXT sa pri prvom súbore napíše Loading / a bar do stredu obrazovky a banner FreeDOS 1.1 / 2.1 sa presunie nad nápis (riadok 10); s AUTORUN.TXT sa použije jeho prvý | a prvý rám [ ]. Kurzor je počas reťaze skrytý, po nej sa vráti. Kód beží mimo DOS-u v $0400–$06FF (chránený kontrolným súčtom), vypne sa, keď program nahrá dáta na obrazovku, prepíše ho, zmení obrazovku, alebo sa spustí. MEMLO Free DOS R +88 B, R3/R8 +85 B, RW +73 B, FreeDOS 2.0 R +98 B, RW +86 B; Free DOS 1.0 má o 4–5 boot sektorov viac, 2.0 o 2–3.
  • FreeDOS sa po štarte hlási ako FreeDOS 1.1 / FreeDOS 2.1 (spinner, progressbar, banner nad Loading / a skrytý kurzor z 1.0.11.51). atr26 -n / -i berie verziu z bannera v boot sektore, staršie diskety ostávajú FreeDOS 1.0 / 2.0.
  • Assembler tools\asm6502.py: .rorg adresa … .rend (kód zostavený pre inú adresu, kam sa skopíruje).
  • Assembler: rozdelený na malé funkcie (najhoršie CRAP skóre 1640 → 11, pokrytie testami 0 → 100 %), výstup všetkých DOS-ov bajt po bajte rovnaký. Opravy: stx zp,y / sty zp,x s návestím definovaným neskôr hlásili chybu, .endif / .else bez .if skončili výnimkou Pythonu namiesto chyby s číslom riadku. Nové testy tests\asm6502_test.py (opkódy proti disassembleru py65, programy v emulácii 6502, produkty proti obrazom v repozitári; 16 z 16 úmyselne vložených chýb zachytia) a tools\crap_score.py.
Older versions

1.0.11.49 – XDOS 2.43F, AUTORUN.BAS, rýchle SIO a obrázok v NoDOS

  • Nová šablóna xdos24f (XDOS 2.43F s vysokorýchlostným SIO, SD), xdos24 sa volá XDOS 2.43N. Disketu F zapísal sám XDOS: tools\make_xdos24f.py v emulácii 6502 zavedie 2.43N, spustí XDOS24F.COM a príkaz INI (model POKEY a rýchlej mechaniky v tools\sio_pokey.py). -n rozlíši N a F, MEMLO F = $1D70 + $100 × buffre (overené emuláciou pre 0–9 buffrov).
  • FreeDOS 1.0 / 2.0: ak je na diskete AUTORUN.BAS a je zapnutý BASIC, po reťazi AUTORUN.SYS / *.ARn ho BASIC spustí (RUN "D:AUTORUN.BAS" sa podstrčí cez E:, kód v kazetovom buffri). MEMLO +47 B, boot kód +162 B (FreeDOS 1.0 o 1–2 boot sektory viac, 2.0 RW3/RW8 o jeden).
  • FreeDOS 1.0 / 2.0: súbor AUTORUN.TXT sa pri štarte vypíše na obrazovku tak, ako je (ATASCII aj s grafikou, napr. rám), pred AUTORUN.SYS / *.ARn, bez čakania; MEMLO +20 B (spolu s AUTORUN.BAS +67 B), R, RW, R ED, RW ED a 2.0 R majú o boot sektor viac.
  • NoDOS -x=hs: dátové sektory sa čítajú vysokou rýchlosťou mechaniky (protokol Ultra Speed, príkaz $3F), pri chybe ešte raz, potom cez OS; mechanika bez rýchleho režimu dostane OS SIO. Aj v plugine (voľba NoDosHs).
  • NoDOS -x=screen=súbor: obrázok 40 × 24 znakov (960 bajtov ATASCII alebo text) sa počas načítavania ukáže na obrazovke; v plugine súbor .scr. Text v UTF-8 (rám z čiar ┌─┐│└┘, bloky █▀▄▌▐, ♥♠♣♦, šípky…) sa prevedie na grafické znaky ATASCII, písmená stratia diakritiku.
  • NoDOS spinner: namiesto Loading... je Loading / a znak / - \ | sa po každom sektore otočí (pri obrázku na prvom |); -x=noload vypne nápis aj spinner, -x=noflash blikanie okraja. Upozornenie, keď vynútená stránka zavádzača (-x=PAGE) leží v pamäti obrazovky $BC20–$BFFF.
  • NoDOS zavádzač má teraz 3 boot sektory (so ZX02 4, s hs 5, s oboma 7) a buffer sektora za sebou namiesto $0100–$017F: počas načítavania potrebuje 2 voľné stránky (so ZX02 alebo hs 3, s oboma 4); staré diskety atr26 číta ďalej.
  • NoDOS -x=noload (bez hs) použije pôvodný zavádzač bez spinnera: 2 boot sektory (so ZX02 4), buffer v $0100–$017F, počas načítavania jedna voľná stránka (so ZX02 dve); funguje s menu, introm aj -raw.
  • FreeDOS s rýchlym SIO: šablóny freedosrw8hs, freedosrw8edhs, freedos2rw8_180khs, freedos2rw8_360khs, freedos2rw8_720khs (RW8 zostavené s -DHS=1: probe $3F, čítanie aj zápis vysokou rýchlosťou, pri chybe ešte raz, potom OS); MEMLO RW8 HS $189F.

1.0.11.46 – pásky Turbo 2000

  • Obrazy pások Turbo 2000 (.tur, formát CAS s blokmi PWM z A8CAS / Altirry) len na čítanie, v príkazovom riadku aj v plugine: súbor s hlavičkou sa vypíše pod menom z hlavičky (binárny ako XEX s adresou nahratia a RUNAD), bloky bez hlavičky ako BLOCKnn.BIN, blok so zlým kontrolným súčtom ako [damaged]. Funguje aj pre .cas, ktorý bloky Turbo 2000 obsahuje.
  • Nový inštalačný balík atr26_totalcmd_tur.zip (prípona .tur v Total Commanderi).
  • -i pri páske ukazuje skutočnú veľkosť súboru (predtým veľkosť prevedených sektorov).

1.0.10.43 – prvé vydanie

Prvé verejné vydanie.

Programy

  • atr26.exe – príkazový riadok (x64 aj x86).
  • atr26.wcx / atr26.wcx64 – packer plugin pre Total Commander (32/64-bit), inštalačné balíky atr26_totalcmd.zip (.atr), atr26_totalcmd_atx.zip (.atx) a atr26_totalcmd_cas.zip (.cas).
  • Nastavenia v atr26.ini zdieľajú plugin aj CLI (-s ich otvorí, -w určí cestu k pluginu).

Súborové systémy

  • Čítanie aj zápis: Atari DOS 1, DOS 2.0 / 2.5 / 2.75 (SD, DD, ED) a kompatibilné (DOS II/D, OSS DOS XL, OS/A+, SmartDOS, SuperDOS, TOP-DOS, TT-DOS, Turbo DOS, XDOS), MyDOS 4.x, WolfDOS, LiteDOS-SE, SpartaDOS 2.x/3.x/X, BW-DOS a vlastný FreeDOS 1.0 / 2.0.
  • Len čítanie: Atari DOS 4 (1450XLD), Atari DOS XE, SpartaDOS 1.1, DOS 2 adresár s neznámou VTOC.
  • Obrazy .atx (VAPI, len dáta sektorov) a .cas (boot kód a dáta súborov na páske) len na čítanie.

Príkazový riadok

  • Výpis (-l, -L so zmazanými), extrakcia (-e, -E), pridanie (-a), zmazanie (-d), obnova zmazaného (-u), premenovanie (-m), podadresáre (-k, -p), cieľový adresár (-o), informácie (-i).
  • Príkazy sa vykonávajú v zadanom poradí, zástupné znaky * a ?, podadresáre DIR\NAME.EXT.
  • -c=šablóna: nová disketa z viac ako 60 šablón DOS-ov (DOS 1, DOS 2.x, MyDOS, WolfDOS, SpartaDOS, BW-DOS, DOS XE, FreeDOS a ďalšie; -c=? ich vypíše).
  • -r[=N]: autorun *.AR0–*.AR9 (MyDOS, FreeDOS) a *.WR0–*.WR9 (WolfDOS).
  • -n[=jednotky[,buffre]]: počet jednotiek a sektorových buffrov v boot sektore, teda nižšie MEMLO (DOS 1, DOS 2.x, OS/A+, DOS XL, SmartDOS, MyDOS, WolfDOS, TOP-DOS, XDOS…). Bez hodnoty vypíše MEMLO, pre priečinok MEMLO všetkých *.atr v ňom. Vzorce sú overené behom init kódu DOS-ov v emulácii 6502.
  • Pridanie DOS.SYS nastaví boot sektor (ako DUP), pri SpartaDOS sa nastaví boot súbor z *.DOS.
  • Mená zariadení Windows (CON, AUX, NUL, COM1…) a mená líšiace sa len veľkosťou písmen sa pri extrakcii bezpečne premenujú.

FreeDOS – vlastný minimalistický DOS

  • FreeDOS 1.0 (SD a ED 130 KB): Free DOS R (len čítanie) a RW (aj zápis), po 1, 3 alebo 8 otvorených súboroch; MEMLO od $0BF0, o 2–3,8 KB menej ako DOS 2.5. OPEN, CLOSE, GET, PUT, NOTE, POINT, binárne súbory, reťazové spúšťanie AUTORUN.SYS a *.AR0–*.AR9, DOS načíta DUP.SYS.
  • FreeDOS 2.0 (dvojitá hustota, 180 / 360 / 720 KB, 18 šablón): rovnaké funkcie pre 256-bajtové sektory, súborový systém MyDOS so 16-bitovými odkazmi, rýchlejší zavádzač binárnych súborov.

NoDOS – disketa s programom XEX bez DOS-u (-x)

  • Malý zavádzač v boot sektoroch a XEX surovo od sektora 3, bez súborového systému. Zavádzač sa sám presunie do stránky, ktorú program nepoužíva; atr26 prehľadá kód INIT rutín a upozorní na kolízie s pamäťou zavádzača.
  • Na XL/XE sa vždy vypne BASIC; ak OS štartoval s BASICom, nastaví sa aj RAMTOP = $C0 a znova sa otvorí E:.
  • Nápis Loading... a blikanie okraja počas načítavania (-x=noload, -x=noflash, -x=quiet ich vypnú).
  • -x=pack: kompresia segmentov formátom ZX02.
  • Menu až 10 programov na jednej diskete (klávesy 1–9, 0), text menu zo súboru .txt.
  • -x=intro: intro, ktoré beží pred menu (končí RTS alebo JMP (DOSVEC)).
  • Veľkosť diskety: -x=sd, -x=ed, -x=big (koľko sektorov treba, aj viac ako ED) a -x=sectors=N (3–65 535 sektorov po 128 B, pre SIO2PC, SDrive, FujiNet a emulátory).
  • -raw=súbor@sektor: zápis surových dát od daného sektora (aj na existujúcu disketu).
  • Z diskety NoDOS sa dajú programy a zavádzač vypísať a extrahovať (PROGRAM.XEX, MENU.XEX, BOOT.BIN).

Total Commander

  • Listovanie, extrakcia (F5), pridávanie (F5 do archívu), mazanie (F8), nové ATR a podadresáre (F7).
  • Nová disketa zo šablóny z nastavení: prázdny .atr (Shift+F4) alebo Alt+F5 s novým menom.
  • Nastavenia: zmazané súbory ako skryté, zachovanie malých písmen, šablóna pre nové ATR, voľby NoDOS.
  • Šablóna nodos: Alt+F5 na súbory XEX vytvorí disketu NoDOS (s menu pri 2–10 programoch, .txt = text menu), voliteľne so ZX02. Intro a obrazy väčšie ako ED sú len v príkazovom riadku.

Známe obmedzenia

  • NoDOS len pre 128-bajtové sektory (nie DD); program, ktorý potrebuje D:, na diskete NoDOS nefunguje.
  • DOS 4, DOS XE, .atx a .cas sú len na čítanie; -n nemení SpartaDOS 3.2 ani BW-DOS.