UNIUTIL.COM – Utility pro Sharp RAMDisk (RRD) a Unikartu

Abych jen „nehardwarařil“, tak jsem se chvíli věnoval i softwaru. Připravil jsem utility pro Sharp Unikartu a RRD pod CP/M. Prográmek umí pracovat s RTC Unikarty a hodinami CP/M, umí uložit a načíst RAMDisk na/z SD karty Unikarty a umí kopírovat soubory mezi CP/M a SD kartou.

Unikarta_final   RRD_final_Accu_front

Program se pod CP/M spouští pomocí příkazu UNIUTIL (nebo UU, podle toho, jak ho máte přejmenovaný) a jeho funkce se řídí parametry. Samotný program bez parametrů vypíše stručnou nápovědu.

UNIUTIL /GETRTCTIME – zobrazí RTC čas v Unikartě
UNIUTIL /GRTR – zobrazuje RTC čas z unikarty do zblbnutí, resp. stisknutí klávesy (používal jsem pro testování a porovnávání se CP/M časem)
UNIUTIL /SETRTCTIME HH:MM:SS – nastaví RTC v Unikartě, nenastaví čas v CP/M, na to je potřeba pak ještě použít /SETCPMTIME
UNIUTIL /SETCPMTIME  – nastaví čas v CP/M podle RTC Unikarty (tohle je dobré dát do AUTOEXEC.SUB)

UNIUTIL /SAVERD page(0-1) bank(0-16) size(0-16) [filename] – uloží size stránek o velikosti 64 kB z RAMDisku na SD kartu počínaje zadanou stránkou a bankou. Pro uložení celého RRD je potřeba spustit 2x, jedno spuštění uloží max. 1024 kB.
Např. pro uložení CP/M RAM disku 1024 kB do rootu SD karty použijte příkaz
UNIUTIL /SAVERD 0 0 16 /rd.bin
UNIUTIL /LOADRD page(0-1) bank(0-16) size(0-16) [filename] – načte size stránek o velikosti 64 kB z SD karty do RAMDisku počínaje zadanou stránkou a bankou. Pro načtení celého RRD je potřeba spustit 2x, jedno spuštění načte max. 1024 kB.
Např. pro načtení CP/M RAM disku 1024 kB z rootu SD karty použijte příkaz
UNIUTIL /LOADRD 0 0 16 /rd.bin
Před přepsáním RAMDisku si program vyžádá souhlas zadáním ‚Yes‘.

UNIUTIL /FILETOSD [filename|ASK] – okopíruje soubor ze CP/M na SD kartu
UNIUTIL /FILEFROMSD [filename|ASK] – okopíruje soubor ze SD karty do CP/M
Pokud uvedete jméno souboru je tento soubor kopírován do/z rootu SD karty, pokud uvedete ASK, program se zeptá na jméno zdrojového i cílového souboru.
Např. pro uložení souboru UU.PAS na SD kartu použijte příkaz:
UNIUTIL /FILETOSD UU.PAS

Program jsem testoval sám na sobě, ale je vysoce pravděpodobné, že obsahuje chyby, proto ho používejte obezřetně. Program je napsaný v Turbo Pascalu 3.0 a můžete si stáhnout i zdrojáky. Chyby na které narazím nebo které nahlásíte určitě opravím. Program budu postupně rozšiřovat o další funkce. To stejné se týká i optimalizací. Program je napsaný „aby to jelo“ a na optimalizacích chce ještě pořádný kus práce. Některé funkce jedou po bytu a jsou proto prozatím docela pomalé.

UNIUTIL.COM – spustitelný program pro CP/M

UNIUTIL_SRC – zdrojové kódy

UNIUTIL_DSK – zdrojové kódy i spustitelný program na CP/M disketě 720 kB

Příspěvek byl publikován v rubrice MZ-800, SHARP. Můžete si uložit jeho odkaz mezi své oblíbené záložky.

3 komentáře: UNIUTIL.COM – Utility pro Sharp RAMDisk (RRD) a Unikartu

  1. uunek napsal:

    Koukam, ze jsi skutecny UNIVERZAL! Dokonce pises i prehledne pascalovske zdrojaky. V SetCPMTime bych misto real asi pouzil LongInt a DIV s MOD. Jestli to neni blbost.

    • Martin napsal:

      😉 Tomu kodu se moc nediv, pouzil jsem, co mi prislo zrovna vhodne. Programoval jsem naposledy seriozne nekdy pred 20 lety. Od te doby tak po ruznu vzdycky na neco sahnu a vzdycky se to musim znovu ucit 😉

    • Martin napsal:

      Jo, promiň, koukám, že jsem neodpověděl na ten LongInt. Bohužel TurboPascal 3.0 tento typ nemá. Dalo by se to udělat jinak a pohrát si stím, ta cesta přes Real je fakt prasárna, ale bylo to nejrychlejší a nejjednodušší, co mě napadlo.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *