Ondra Server

… protože nahrávání není jenom kazeťák.

Dneska se mi zrovna nechce nic dělat.
Přitom by mělo, čeká tady na mne sériový kabel k Sinclairu QL, který ne a ne se tvářit funkčně. Pak musím přivést napájení +5V na jednu CF redukci. Stroj, kterých je v Evropě (a tudíž na celém světě) tak dvacet, čeká na instalaci systému. Potřebuju opravit utrženou klávesu. A když nic jiného, skončilo mi předplatné mého oblíbeného francouzského časopisu a ještě jsem je neobnovil. A mám tu nedomixovaný nový VideoCast.

Ale buď je toho moc, nebo za to může Cuma Torrontés 2008.
(Vinná odrůda torrontés u nás není moc známá, ale zrovna tohle je z kráteru sopky, kde ji vinařství Michel Torrino pěstuje ve výšce pro běžného středoevropana – tedy obyvatele lužické placky – nepředstavitelných 1500 metrů.
Zajímavé je, že jinak voní a jinak chutná, voní sladce po tropickém ovoci a chutná jako trpce kořeněný sauvignon.)

Jednolu z věcí, co tu mám rozdělaných je Ondra Server.
Víme, že tesla Ondra SPO 186 (i jeho repliky) podporují (v případě instalace SSM ROM §87, tedy ViLi ROM) kromě kazetofonového úložiště i síť.
Rozlišení při čtení a ukládání se činí prvním znakem v názvu souboru – pokud začíná #, jde na síť. A díky velmi systémovému přístupu autora lze mezi sítí a kazetofonem kopírovat pomocí utility COPY FILE – prostě jen přidáte nebo uberete uvozující znak #.

Už jsem několikrát zvažoval, jak toho využít.
Protože pro propojení více Ondrů bude potřeba dodatečný síťový hardware (otevřený kolektor), uvažuju pro jednoduchost jen připojení jednoduchého serveru, který by sloužil jako úložiště jednomu Ondrovi.

Kde ale vzít server a nekrást?
PC jsem zavrhnul hned – jednak v podstatě žádné nemám, druhak tahat s sebou kisnu s půlgigem RAMěti a gigahertzovým dvoujadřincovým procesorem jen proto, že chci něco elegantnějšího, než je kazeťák, je kravina.

Díky výpisu ROM Ondry máme potřebné síťové rutiny pro Z80.
Daloo by se tedy znásilnit například ZX Spectrum, které by dělalo Ondrovi derver, nebo postavit specializovaný CP/M počítač.
A na co potřebujeme při síťování barevnou grafiku a diskový interface ZX Spectra? Kdo se bude crcat se stavbou specializovaného Z80 computeru?

Je samozřejmě možné jít cestou módního trendu a použít Arduino nebo Raspberry Koláč, ale proprietární programovací jazyk Arduina jsem ještě neovládl a Raspberry Koláč bych, pokud bych si ho koupil, uměl využít i jinak (Risc OS!).

Volba tedy padla na zařízení, které:
je co nejmenší,
je levné,
má hardwarový sériák splňující nároky pro komunikaci s Ondrou – tedy 9600 Bd v základu, asynchronní, správný počet stopbitů (neomezeny) a bez parity,
může uložit soubory na mass storage nejlépe ve FAT (teoreticky ve formátu shodným s emulátorem),
snadno se programuje.

Tyto nároky podle mne splnilo DuinoMite ve verzi mini, které:
je roztomile malé,
inzerované jako „nejlevnější počítač na světě“,
má hardwarový sériák splňující nároky pro komunikaci s Ondrou (má jich několik, já se rozhodl použít tuším COM4), dokonce umí vyvolat (a obsloužit) přerušení při příchodu znaku,
ukládá na FAT formátovanou MicroSD kartu (radši bych normální SD, ale co už),
programuje se normálně. To znamená v Basicu.

Ano, počítač se skládá v zásadě z jednoho PICu, nějakýých odporů a konektorů okolo a to je tak všechno.
Má mohutné vstupy a výstupy (ve větších verzích je kompatiiblní i s Arduinovskými shieldy – to pro Ondru nepotřebujeme).
Sériák, který jsem vybral, je 5V tolerantní, takže by si s Ondrou měl umět pokecat (jde ho sice přepnout do režimu otevřeného kolektoru, ale to už by Ondra 3,3 V nemusel „slyšet“, takže propojení s více Ondry asi nehrozí).
Dá se k němu přistupovat při připojení PS/2 klávesnice a VGA monitoru, nebo přes USB přes virtuální sériák a terminál.
DuinoMite je sice monochromatické, ale umí i jemnou grafiku.
Programuje se v Basicu, obsahuje i celoobrazovkový editor.

Z toho hlediska by mělo být celkem triviální napsat v Basicu odchycení dat ze sériáku, analýzu hlavičky a uložení na SD kartu, a obráceně podle zvolených dat na SD kartě odeslání souboru do Ondry.

Pro účely testování už stroje nějak prodrátuju, ale stále víc dumám o redukci – malém plošném spoji, který by signály z FRB konektoru rozdělil na Canon 9 pin pro joystick, Canon 25 pin pro tiskárnu a nějaký síťový konektor pro Ondru (tři dráty – uvažuju o stereo jacku nebo čtyřkolíkovém miniDIN).

No ale dneska to už dělat nebudu.