_@¡ použijte menu „FILTROVAT TÉMA...“ pro výběr

Moderní náhrada ATARI 1050...

Jak funguje SIO2Arduino

Krátce
    Pokud hledáte instatní náhradu disketové mechaniky pomocí SD karty, postavte si [SDrive-MAX]. Je to dospělý, dobře zdokumentovaný  a velmi snadno realizovatelný projekt. Pár drobností, které bylo třeba doladit zmiňuji dále.

Malinko podrobněji a baslířsky přívětivěji
ATARI810, ATARI1050 nebo XF551 jsou 5¼ disketové mechniky k osmibitovým počítačům ATARI.

Máme k dispozici staré Atari a hodila by se náhrada disketové mechanika pomocí SD karty – třeba už jen proto, že spoléhat při ukládání programů na starou audio kazetu by dneska už nikdo nechtěl. Stejně tak, když hledáte v online [archivu] nějakou oblíbenou hru, najdete otisk diskety ve formátu ATR nebo spustitelný soubor XEX.  

Propojení s Atari
    TXD <=> Pin 3 [Data–In]  – bílý (připojit přes Schott.diodu (katodou k Arduinu)
    GND <=> Pin 4 [Ground]   – černý
    RXD <=> Pin 5 [Data–Out] – zelený
    A5  <=> Pin 7 [Command]  – červený
Jak se připojit k [SIO konektoru]?
Zkusme dupont 1 pin
    – Funguje dobře, jenom je potřeba malinko rozšířit vstupní dírku špičkou nože nebo malým vrtákem
ilustrační obrázek  zde červený kabel bere 5V přímo k napájení Arduina. Pozor maximální rozumná zátěž jsou pouze desítky miliamérů!

Vyrobit si kopii původního konektoru 
    – Konektor [STL] pro 3Dtisk.
    – Potřebných pár pinů Molex 08-50-0105|08-50-0106 dodal [Offical electronic].

SIO2Arduino
[git] a [web] projektu SIO2Arduino (vznikl už 2011) [interview] s autorem 
– Umožňuje použití LCD displeje typu 1602 pomocí knihovny [LiquidCrystal], já mám v šuplíku tyto displeje pouze ve verzi s převodníkem I²C. Knihovna [LiquidCrystal_I2C] je zcela kompatibilní, pouze ovládání podsvícení je jiné.
– Umí ovládací tlačítko na přepínaní mezi otisky disket.
– Celé se to napájí 5V z Atari SIO konektoru (připojeno do 5V Arduina, nikoli do pinu VIN!) RESET Arduina pro jistotu podržíme než nám naběhne stabilní napájení (220k rezistor a 330μF kondenzátor)
– Poznámka o nutnosti [SdFat] ve verzi 2.1.2 je relevantní.
– SD kartu naformátujeme pomocí Examples – SdFat – SdFormatter; jinak ji nelze číst.
– Nechá se zkompilovat a nahrát přímo z Arduino IDE
– Na nepájivém kontaktním poli to celé postavíme za dvě hodiny.


SIO2Arduino v praxi
Existuje snadnější cesta?
SDrive-MAX    Ano existuje. [SDrive-MAX] je dospělý, dobře zdokumentový  a velmi snadno realizovatelný projekt. Pokud máme k Atari pouze jednu periferii, není důvod řešit připojení [uno2sio] s 7407 (neivertující budič s otevřeným kolektorem) a můžeme připojit Arduino napřímo podle výše zmíněného plánu (TXD s diodou). 
Displej
    Správný 2.8" dotykový displej ILI9341 dodal [hadex].

Trocha nostalgie
    Sám jsem mechniku 1050 u svého počítače měl a než jsem všechno poslal, před snad desti lety, přes Aukro dál, tak jsem pořídil otisky všech disket do PC. Použil jsem [XRZDISK], který jsem v ranné verzi používal na gymnáziu v devadesátých letech pro přenos zdrojových kódů; kdy jsem doma měl jen osmibit a ve škole bylo jedno sdílené XTéčko a učebna plná slušovických TNS se systémem CP/M. Běžel tam Turbo Pascal 3; pro Atari jsem měl Kyan Pascal a na úrovni zdrojového kódu byly programy s pár úpravami dobře přenositelné.
    V 8bitovém Atari byla komunikační část naspsaná v [kompilovaném] Turbo Basicu, později pak v assembleru a pro PC byl program napsaný v Turbo Pascalu.

Jak nahrát HEX soubor do mikrokontroleru Arduino UNO?
V Linuxu
avrdude -carduino -pm328p -P /dev/ttyUSB0 -U flash:w:eeprom_writer.hex
avrdude -carduino -pm328p -P /dev/ttyUSB0 -U flash:w:Sdrive.hex

Ve Windows
    V nastavení Arduino IDE (Ctrl + čárka) File – Preference je možnost zapnout podrobné výstupy u kompilace i nahrávání a pak je pěkně vidět, co přesně IDE spouští a jak postupuje.
"C:\Users\USERNAME\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" "-CC:\Users\USERNAME\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v -V -patmega328p -carduino "-PCOMX" -b115200 -D "-Uflash:w:eeprom_writer.hex:i"
"C:\Users\USERNAME\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" "-CC:\Users\USERNAME\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v -V -patmega328p -carduino "-PCOMX" -b115200 -D "-Uflash:w:SDrive.hex:i"