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.
[wiki]
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
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
– 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"