5. Złącze krawędziowe 2x6 pin Pitch 3,96 mm - do kupienia tu -> Link
Do zaprogramowania Arduino Mini Pro będziemy jeszcze potrzebować konwerter TTL na chipie FTDI
Moduł karty Micro SD wygląda tak.
Montaż zaczynamy od przylutowania goldpinów do Arduino Pro Mini, ja robię to płytce stykowej, wkładając najpierw goldpiny do płytki stykowej, goldpiny zagięte pod katem prostym lutujemy do środka płytki Arduino, jak na pierwszym zdjęciu.
Po przylutowaniu goldpinów do Arduino przystępujemy do programowania.
Łączymy przewodami Arduino z konweterem FTDI jak pokazano niżej.
Po podłączeniu konwertera TTL do portu USB komputera powinno samo wykryć i zainstalować sterowniki FTDI, jeżeli nie, to sterownik FTDI są do pobrania tu -> Link
Plik tapecart.hex który wgramy do Arduino Mini Pro jest do pobrania tu -> Link
Na tej samej stronie znajdziemy plik browser.prg, który kopiujemy na kartę Micro SD do głównego folderu.
Do zaprogramowania Arduino służy program Xloader do pobrania tu -> Link
Po rozpakowaniu uruchamiamy program Xloader, wybieramy wcześniej ściagnięty plik tapecart.hex, odpowiedni port com i resztę jak niżej.
Klikamy Upload i zaprogramuje się Arduino Mini Pro.
Lutujemy Arduino Mini Pro do płytki i pozostałe elementy, goldpiny czytnika kart Micro SD trzeba wyprostować oraz między czytnik a płytkę wkleić izolację, może być z taśmy dwustronnej lub izolacyjnej.
Na kartę SD do głównego folderu wgrywamy plik brower.prg oraz pliki .PRG lub .TCRT.
Wkładamy kartę Micro SD do tapecart.
Tapecart przy wyłączonym Commodore 64 do gniazda magnetofonu.
Wciskamy równocześnie SHIFT + RUN na klawiaturze Commdore 64 i powinien uruchomić się program browser.prg.
Po uruchomieniu programu browser.prg pliki wybieramy strzałkami i zatwierdzamy klawiszem Return.
Po zaprogramowaniu Arduino lutujemy je do płytki nie zapominając o pinach A4 i A5.
Lutujemy pozostałe elementy, czytnik kart SD lutujemy od spodu płytki, podklejając taśmą izolacyjną, aby obudowa czytnika kart nie powodowała zwarcia na płytce.
Zmontowana płytka.
Płytka pasuje do obudowy Kradex Z5A.
Pozostało podłączyć wyświetlacz OLED przewodami zgodnie z oznaczeniem na płytce i wyświetlaczu.
W panelach należy wyciąć otwory pod czytnik kart SD, wyświetlacz, przycisk i z tyłu pod gniazdo jack i zasilania.
Zasilamy typowym zasilaczem 5V.
Gotowy odtwarzacz.
A tak gra i prezentuje się gotowy player.
W poprzednim wpisie na blogu opisałem jak uruchomić odtwarzacz -> Link
Player AY-3-8912 umieściłem w obudowie Z5A firmy Kradex.
Z przodu posiada wyświetlacz SSD1306, przycisk do zmieniania utworów i wejście na kartę SD.
Z tyłu posiada wejście zasilania na zasilacz 5V i wyjście audio na chinch, wyjście kanałów układu AY-3-8912 jest w trybie stereo.
Player AY odtwarza pliki w formacie PSG z karty SD.
Aby odtwarzać pliki PSG przygotowujemy kartę SD, formatujemy ją na format FAT, lepiej użyć kart o małej pojemności.
W internecie znajdziemy zbiór plików muzycznych -> Link
Pliki mają format .AY do przekonwertowania na PSG użyjemy odtwarzacza ZX Spectrum Sound Chip Emulator do pobrania tu -> Link
Po uruchomieniu emulatora i otwarciu plików AY klikamy na PL wybieramy plik, który chcemy przekonwertować i klikamy prawym klawiszem myszy i wybieramy Convert to -> PSG
Tak zapisane pliki wgrywamy na kartę SD. Pliki muszą znajdować się w folderze głównym, nie mogą być w folderach.
Zbiór kilkunastu plików PSG jest do pobrania tu -> Link
W moich zasobach zostały mi 2 układy AY-3-8912, jest to 3-kanałowy programowalny
generator dźwięku zaprojektowany przez firmę General Instrument wykorzystywany w
popularnych komputerach ZX Spectrum, MSX, Atari ST, Amstrad CPC.
Postanowiłem
ożywić ten układ i wykorzystać go do odtwarzania muzyki z retro komputerów,
tutaj z pomocą przychodzi popularne Arduino.
Do budowy wykorzystałem:
1. Arduino
Mini Pro
2. Układ AY-3-8912
3. Podstawka DIL-28 i DIL16
4. Czytnik kart SD dla
Arduino
5. Wyświetlacz OLED SSD1306
6. Układ 74HC595 - rejestr przesuwny
7.Płytka uniwersalna 6x8 cm
8. Rezystory 1K, 470R, 4.7K
9. Kondensatory 10 nF i
2.2 nF
10. Przełącznik Tact Switch
Jak wyjście dźwięku zastosowałem przewód z 2 wtykami typu chinch.
Układ połączeń jest jak na zdjęciu niżej.
Piny układu AY-3-8912 łączymy od DA 0 do DA 7 odpowiednio do pinów Q0 do Q7 układu 74HC595.
Dodatkowo 0E układu 74HC595 łączymy do masy GND, a MR do VCC.
Dalej: DS do 6 pinu Arduino,
ST_CP do 5 pinu Arduino
SH_CP do 4 pinu Arduino.
Piny układu AY:
BC1 do pinu 8 Arduino
BDir do pinu 9 Arduino
Reset do pinu 2 Arduino
Clock do pinu 3 Arduino
BC2 i A8 do VCC
Podłączamy VCC i GND układu AY do pinów nr 3 i 6.
Czytnik kart SD:
Arduino - SD Card Reader:
VCC - VCC
10 - CS
11- MOSI
13 - SCK
12 - MISO
GND-GND
Wyświetlacz OLED SSD1306 łączymy do Arduino:
SDA- A4
SCL- A5
VCC-VCC
GND-GND
Do przełączania utworów wykorzystamy przycisk TACT Switch podłączony do pin 7 Arduino i masy.
Teraz podłączamy wyjście kanałów A,B,C układu AY.
Do testów wykorzystałem schemat z komputerów ORIC gdzie wyjście kanałów A,B,C układu AY jest miksowane do kanałów mono, używamy 3 rezystorów 1K, 470R, 4.7K i 2 kondensatorów 10 nF i 2.2 nF , dzięki temu uzyskamy dobrej jakości dźwięk.
Schemat podłączenia kanałów A,B,C układu AY:
Teraz przygotowujemy kartę SD, formatujemy ją na format FAT, lepiej użyć kart o małej pojemności, odtwarzacz będzie odtwarzał pliki w formacie PSG.
W internecie znajdziemy zbiór plików muzycznych -> Link
Pliki mają format .AY do przekonwertowania na PSG użyjemy odtwarzacza ZX Spectrum Sound Chip Emulator do pobrania tu -> Link
Po uruchomieniu emulatora i otwarciu plików AY klikamy na PL wybieramy plik, który chcemy przekonwertować i klikamy prawym klawiszem myszy i wybieramy Convert to -> PSG
W kodzie programu zmieniłem wejście z przycisku 7 z input na input_pullup, bo działy się dziwne rzeczy, wystarczyło dotknąć przewodów i przełączały się utwory, poprawiony kod do pobrania tu -> Link
Układy AY-3-8912 są drogie i trudno dostępne, tańsze i bardziej dostępne są układy AY-3-8910, które mają takie same wyprowadzenia i możemy je wykorzystać w projekcie odtwarzacza.
Aby uzyskać dźwięk stereo z wyjść kanałów A,B,C można wykorzystać schemat miksera audio z komputerów ZX Spectrum.
Można zastosować prostszy układ miksera kanałów A,B,C jak pokazano niżej.
Test odtwarzacza na filmie niżej, zastosowano mikser kanałów A,B,C w trybie stereo jak na schemacie powyżej.
Tapecart to proste w obsłudze urządzenie ładujące pliki z rozszerzeniem .PRG i .TCRT do Commodore 64.
Wygląda tak.
Wkładamy je do portu magnetofonu przy wyłaczonym Commodore 64 jak pokazano niżej.
Przedstawiony egzemplarz posiada obsługę kart Micro SD, na kartę Micro SD wgrywamy plik broswer.prg do głównego folderu, jest do pobrania tu -> Link
Pliki .PRG i .TCRT mogą znajdować się w folderach.
Po włożeniu do portu magnetofonu włączamy Commodore 64 i wciskamy klawisze „SHIFT” + „RUN”
Po chwili pokaże się.
Nastepnie pojawi się browser.
Wybieramy pliki .PRG strzałkami i zatwierdzamy klawiszem Return, po chwili załaduje się plik.
Do wyodrębnienia plików z programami z obrazu dysków d64 używam programu DirMaster -> Link
Po zainstalowaniu i uruchomieniu programu otwieramy obraz dysku D64, wybieramy z menu File-> Export i zostanie zapisany plik w formacie PRG.
Aby zaprogramować pamięci 27C160/322/400/800 programatorami TL866 i TL866II Plus wymagany jest adapter, taki jak niżej.
Przełącznik po lewej stronie dla pamięci 27C160/322/400/800 ustawiamy jak niżej.
Dla pamięci 27c322 ustawiamy w górnym położeniu.
Czerwony przełącznik służy do przełączania banków pamięci, które programujemy.
Pamięć 27C800 posiada 2 banki pamięci po 512 kb, pamieć 27C160 posiada 4 banki pamięci po 512 kb, 27c322 8x512 kb, a 27C400 1x512 kb.
Banki które programujemy ustawiamy czerwonym przełącznikiem DIP.
Dla 27C400 wszystkie przełączniki ustawiamy w pozycji ON, Dla 27C800 pierwszy bank pamięci programujemy z ustawieniem - wszystkie na ON, a drugi bank pamięci pierwszy na OFF i dwa pozostałe na ON, tak jak pokazano w tabeli powyżej.
Ustawienia pozostałych banków dla innych pamięci pokazano w tabeli.
Pamięć wkładamy do podstawki tak jak pokazano niżej.
W programie do obsługi programatora wybieramy pamięć AM27C4096 i odznaczamy Sprawdź Id, a Puls Delay ustawiamy na 50, tak jak pokazano niżej.
Po zaprogramowaniu przełączamy na następny bank przełącznikiem DIP.
Pamięci tego typu stosowane są między innymi jako kickstart w Amigach.
Układ PIC zaprogramowałem programatorem JDM, ale można innym dowolnym.
Układ do obsługi klawiatury zbudowałem na płytce uniwersalnej.
Później dodatkowo dolutowałem 2 rezystory 220 ohm do pinów Status i Inuse, podłączyłem do nich diody led z obudowy, które pokazują włączone zasilanie i pracę dysku twardego, Reset tak jak schemacie podłączyłem do przycisku power z obudowy i działa jako reset Amigi.
Status pokazuje, że włączona jest Amiga, a Inuse pracę stacji dyskietek tak jak na filmie.
Po otworze na gniazdo kluczyka dopasowałem okrągły włącznik zasilania.
MYSZKA NA PS/2
Teraz przyszła kolej na wykonanie interfejsu dla myszki PS/2 dla Amigi.
Wykorzystałem do tego celu:
- Arduino Mini Pro
- obudowę HH-004 jasną o wymiarach 35x50x20 mm
- gniazdo PS/2 na kabel
- wtyk DB9 żeński z obudową
- kawałki przewodów
Arduino programujemy wsadem -> Link
Wymaga jest biblioteka PS/2, którą po rozpakowaniu kopiujemy do folderu Moje Dokumenty/Arduino/libraries -> Link
Poszczególne piny Arduino z wtykiem DB9 i gniazdem PS/2 łączymy według schematu:
Wtyk DB9 ma opisane numery pinów.
Widok gniazda PS/2 od przodu.
Zmontowany interfejs, Arduino Mini Pro bez problemu mieści się w obudowie.
Gotowy interfejs z myszką kulkową, nie testowałem myszek optycznych.
Testowanie myszki i klawiatury.
Przedni panel poddałem wybielaniu i zaprojektowałem nalepki, teraz wygląda tak.
GOTEK DLA AMIGI
Doczekałem się zamówionego Goteka z Chin, jak go zaprogramować opisałem w innym projekcie -> Link
Po zaprogramowaniu na pendrive umieszczamy pliki zawarte w ściągniętym pliku ze strony Flash Floppy oraz gry ADF, mogą być w folderach.
Przygotowany pendrive z plikami.
Wykorzystałem wyświetlacz LCD, należy podłączyć rezystory podciągające 4,7K, co zostało opisane na stronie Flash Floppy Wiki -> Link
Na otwory w obudowie zamówiłem pleksi wraz z wycięciem otwory pod wyświetlacz LCD, po zamontowaniu wygląda tak.
Po zamontowaniu goteka, odpalamy Autoboot, wybieramy pliki ADF i umieszczamy w wirtualnych stacjach dyskietek, po zapisie robimy Save i restart i wybieramy wirtualne stacje dyskietek przyciskami na goteku.