INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(
Witam wszystkich. Jest to mój pierwszy post na portalu majsterkowo.pl. Pokażę Wam dzisiaj jak zrobić Sio2Sd z wykorzystaniem Arduino. Nie jest to mój projekt, ja go tylko przerobiłem dla swoich potrzeb.
Potrzebne nam będzie:
- Arduino UNO (ja używam klona, ponieważ ma większą możliwość podpięcia)
- Czytnik kart SD
- Wyświetlacz 16×2
- kabel SIO
- Atari (np. 130 XE)
- Guzik typu Tact Switch
- Rezystor 10K Ω
Całość wygląda tak:
Zabieramy się za budowę SIO!
Po pierwsze potrzebujemy kabel SIO z odpowiednimi wyprowadzeniami:
Obrazek ilustruje odbicie lustrzane kabla SIO! Nie patrzymy od strony wtyku do Atari, tylko od strony kabla!
Nie w każdym Atari piny są tak wpięte jak potrzebujemy, dlatego lepiej rozebrać wtyczkę SIO i upewnić się jak jest podpięte. Nie odpowiadam za uszkodzenie Atari
Atari Data In (SIO pin 3) -> Arduino digital pin 1 (TX) Atari Ground (SIO pin 4) -> Arduino ground (GND) Atari Data Out (SIO pin 5) -> Arduino digital pin 0 (RX) Atari Command (SIO pin 7) -> Arduino digital pin 2
Następnie podłączamy czytnik kart SD:
Czytnik SD CS pin -> Arduino digital pin 10 Czytnik SD DI pin -> Arduino digital pin 11 Czytnik SD DO pin -> Arduino digital pin 12 Czytnik SD CLK pin -> Arduino digital pin 13 Czytnik SD 5v pin -> Arduino 5V pin Czytnik SD GND pin -> Arduino GND pin
Teraz guzik:
Guzik służyć nam będzie do zmieniania gry. Podpinamy go w ten sposób do digital pin 3.
Ostatnią rzeczą będzie podłączenia wyświetlacza:
LCD RD pin -> Arduino digital pin 4 LCD EN (Enable) pin -> Arduino digital pin 5 LCD RW pin -> Arduino GND pin LCD DB4 pin -> Arduino digital pin 9 LCD DB5 pin -> Arduino digital pin 8 LCD DB6 pin -> Arduino digital pin 7 LCD DB7 pin -> Arduino digital pin 6
Ja podłączałem bez użycia potencjometru według tego schematu tylko podmieniłem wyjścia:
Czas na wgranie Sketch’a!
Wszystkie modyfikacje pinów można zmieniać w pliku config.h Do działania SIO potrzebna jest biblioteka SDFat którą dodam poniżej.
Obsługa:
- Na kartę pamięci wgrywamy gry i wkładamy ją do czytnika
- Podłączamy zasilanie do naszego SIO2Arduino i kabel SIO do Atari
- Guzikiem ustawiamy grę którą chcemy uruchomić
- Po wybraniu restartujemy Atari (koniecznie przełącznikiem umieszczonym na tylnej części Atari)
- Gdy Atari nam się uruchomi, gra zaczyna się ładować automatycznie
Pliki do pobrania:
Gotowy Sketch -> SIO2Arduino
Biblioteka SDFat -> SdFat
Uwagi:
- Gry wgrywamy z rozszerzeniem “.ATR” i “.XEX” (nie wiem czy inne działają)
- Arduino powinno mieć swoje zasilanie
- Najpierw wybieramy grę, a potem zestartujemy atari (nie odwrotnie, równocześnie)
Kod źródłowy:
Tak jak pisałem na początku projekt nie jest mój. Ja tylko go zmodyfikowałem. Oto link do projektu: http://whizzosoftware.com/sio2arduino/
INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(
Brak z poczatku opisu co chcesz zrobić. Sio2sd nie każdy może zrozumieć. I brak pokazania efektu :/
Witam, zlozylem sobie dokladnie taki sam Sio2Arduino. Wszystko dziala, mozna grac. Problem w tym ze chcialem uzyc SDRIVE.ATR do montowania obrazow (zeby moc tez uzywac ukladu bez LCD). Program sie wczytuje ale nie widzi plikow na karcie SD. Jak jest u ciebie?
Zmień nazwę SDRIVE.ATR na AUTORUN.ATR ;)
Hello,
New to Arduino, I have a problem.
When compiling the file .ino I have these errors
Arduino: 1.6.7 (Windows 7) Board: “Arduino / Genuino Uno”
SIO2Arduino: 36: error: ‘getDeviceStatus’ was Not Declared in this scope
DriveAccess DriveAccess (getDeviceStatus, readSector, writeSector, format);
^
SIO2Arduino: 36: error: ‘readSector’ was Not Declared in this scope
DriveAccess DriveAccess (getDeviceStatus, readSector, writeSector, format);
^
SIO2Arduino: 36: error: ‘writeSector’ was Not Declared in this scope
DriveAccess DriveAccess (getDeviceStatus, readSector, writeSector, format);
^
SIO2Arduino: 36: error: ‘size’ was Not Declared in this scope
DriveAccess DriveAccess (getDeviceStatus, readSector, writeSector, format);
^
SIO2Arduino: 37: error: ‘GetFileList’ was Not Declared in this scope
DriveControl DriveControl (GetFileList, mountFileIndex, ChangeDirectory);
^
SIO2Arduino: 37: error: ‘mountFileIndex’ was Not Declared in this scope
DriveControl DriveControl (GetFileList, mountFileIndex, ChangeDirectory);
^
SIO2Arduino: 37: error: ‘ChangeDirectory’ was Not Declared in this scope
DriveControl DriveControl (GetFileList, mountFileIndex, ChangeDirectory);
^
exit status 1
‘getDeviceStatus’ was Not Declared in this scope
the problem is solved with older
Arduino IDE v1.0.1
hi, I have built sdio2arduino using Arduino Nano.
I put in the root autorun.atr and my atari xe / gs charge him.
but if I put in the root, examples, autorun and pacman, on fencing comapiono before autorun then pacman then reappears autorun then pacman and alternate way to infinity and I can not load them.
if I put then autorun folder inside pacman, ex / gs charge and I see nothing to say and I open now on LCD comapare pacman.atr, because the folder there is only him.
why he does this? Arduino one works perfectly
I’m sorry for my english
hi, I have built sdio2arduino using Arduino Nano.
I put in the root autorun.atr and my atari xe / gs charge him.
but if I put in the root, examples, autorun and pacman, on fencing comapiono before autorun then pacman then reappears autorun then pacman and alternate way to infinity and I can not load them.
if I put in the root autorun then I create a folder inside pacman, ex / gs charge and I see nothing to say and I open now on LCD displays pacman.atr, because the folder there is only him.
why he does this? Arduino one works perfectly
I’m sorry for my english