niedziela, 10 czerwca 2018

Budowa adaptera myszki PS/2

W Commodore 64 możemy wykorzystać myszkę PS/2 budując odpowiedni konwerter.

Konwerter oparty jest na układzie Atmega8 i wykonałem go na płytce uniwersalnej.



Do budowy wykorzystałem:

1. Atmega8
2. Płytka uniwesalna
3. Wtyk DB9
4. Gniazdo mini din 6 pin
5. Rezystory 10K - 4 szt.
6. Kawałki przewodów.

Projekt jest opisany na stronie -> Link

Schemat połączeń.



Programowanie przeprowadziłem programatorem USBasp, który opisałem tu -> Link

Programator należy ustawić w tryb slow, zwierając JP3.



Schemat podłączenia programatora do Atmegi 8.



Programowanie przeprowadziłem w programie Sinaprog -> Link

Najpierw programujemy Fuse bity ustawiając na 8 Mhz i klikamy Program.



Atmegę programujemy plikiem -> Link

Po zaprogramowaniu powinno już wszystko działać.

Adapter testowałem w programie Amica Paint.



Przykładowy napis wykonany myszką.


Podłączony adapter do Commodore 64 z myszką PS/2.


Adapter zaizolowałem koszulką termokurczliwą i owinąłem taśmą.


Adapter może pracować w różnych trybach.

Na wyłączonym Commodore 64 wciskamy przycisk myszy i włączamy Commodore 64:

Prawy przycisk - rozruch w trybie dżojstika
Lewy przycisk - rozruch w trybie szybkim
Środkowy przycisk - rozruch w trybie wolnym

czwartek, 31 maja 2018

Budowa SD2IEC - obudowa i płytka drukowana

Dzisiaj wykonałem SD2IEC z obudową na wytrawianej płytce metodą druku na drukarce laserowej.

Opis budowy we wcześniejszym wpisie na blogu -> Link

Gotowe SD2IEC.


Interfejs posiada dwie diody led, zieloną - odczyt i czerwoną - error.
Trzy przyciski: reset, disk 1, disk 2.



Płytka drukowana wykonana metodą termotransferu z wydruku na drukarce laserowej na papierze kredowym, później prasowanie żelazkiem, moczenie, ściąganie papieru i wytrawianie.



Projekt płytki do wydruku -> Link

Płytka z wlutowanymi elementami i opisem.



Płytka od spodu.



Z tyłu wykonałem gniazdo zasilania i przełącznik zmiany numeru stacji dysków.



Przełącznik w pozycji: 1 -on, 2 - off numer 9, 1 - off, 2 - on numer 10, 1 - on, 2 -on numer 11.

Do zasilania można wykorzystać standardowy zasilacz 5V z wtyczką.

Dodatkowo wykonałem przewód do zasilania z gniazda magnetofonu.

sobota, 26 maja 2018

Pi1541, czyli emulator stacji dysków 1541 na Raspberry Pi

Pi1541 jest to emulator stacji dysków na Raspberry Pi.

W przeciwieństwie do SD2IEC obsługuje wszystkie loadery i pozwala na uruchomienie wszystkich gier i dem, jest pełnym emulatorem stacji dysków Commodore 64, zawiera ROM realnej stacji dysków.

Obecnie działa na Raspberry Pi 3B.

Do budowy wykorzystałem obudowę do Raspberry Pi 3, efekt końcowy.



Z obudowy wypuszczony jest krótki odcinek przewodu z wtyczką 6 DIN.



Użyłem następujących komponentów:

1. Konwerter poziomu napięć 3.3V - 5V
2. Gniazdo żeńskie goldpin 2x20 pin
3. Wtyk DIN 6pin
4. 4 przyciski tact switch
5. Zielona dioda led
6. Rezystor 100 ohm
7. Mały buzzer
8. Przewody
9. Płytka uniwersalna

Schemat Pi1541.


Zmontowany interfejs.



Od spodu zamontowany jest mały buzzer.



Do uruchomienia wymagany jest ROM stacji dysków 1541, romy można znaleźć w folderze DRIVES w emulatorze Vice, wszystkie romy stacji dysków Commodore są do pobrania tu -> Link

Kartę SD do Raspberry Pi należy sformatować na FAT32.

Na kartę SD do głównego folderu kopiujemy pliki: bootcode.bin, fixup.dat i start.elf -> do pobrania tu -> Link

Na kartę SD rozpakowujemy pliki z PI1541.zip -> Link

Do głównego folderu kopiujemy jeden z plików ROM stacji dysków, może to być: dos1541 lub d1541II

Zawartość karty SD powinna wyglądać jak niżej.


Gotowa do skopiowania cała zawartość wszystkich plików potrzebnych do uruchomienia Pi1541 jest do pobrania tu -> Link

Pliki wystarczy wypakować i skopiować na kartę SD do głównego folderu.

Po skopiowaniu plików na kartę SD do folderu 1541 kopiujemy obrazy dyskietek, programy, gry dema itd..

Po włożeniu karty SD do Raspberry Pi, podłączeniu przewodu HDMI i zasilania ukaże się widok emulatora Pi1541.



W menu poruszamy się za pomocą przycisków Select, Up. Down i Exit.

Select - wybór pliku lub folderu
Up - góra
Down - dól
Exit - wyjście



Po wybraniu obrazu dyskietki d64 mamy:



W Commodore 64 wydajemy standardowe komendy, takie jak dla stacji dysków:

LOAD"$",8 - załadowanie listy plików
LIST - wyświetlenie listy plików
LOAD"nazwa_programu",8 - załadowanie programu
RUN - uruchomienie programu



Nie trzeba jednak podłączać dodatkowego telewizora i można obsługiwac jak standardową stację dysków i użyć programu FB64 do poruszania się po zawartości kary SD.

Po uruchomieniu wystarczy wpisać:

LOAD"FB64",8

i

RUN



Uruchomi się program CBM-Browser i poruszamy się w nim na Commodore 64.



Na karcie SD znajduje się plik options.txt, gdzie możemy zmieniać opcje emulatora, usuwamy // sprzed opcji.

deviceID = 9 - możemy zmienić numer napędu na 9

ROM2 = Jiffy.bin
ROM3 = d1541II - możemy załadować inne ROM-y stacji dyskietek

OnResetChangeToStartingFolder - opcja ustawiona na 1 - z każdym resetem Commodore 64 będzie następował powrót do głównego folderu 1541.

SoundOnGPIO = 1 - używanie buzzera.

SplitIECLines i InvertIECInputs - opcje dla innego schematu Pi1541.

piątek, 18 maja 2018

Budowa joysticka typu Arcade do Commodore 64

Joysticki do Commodore 64 nie są już praktycznie produkowane, istnieje jedynie jedna firma w Polsce, która produkuje jeszcze joysticki do Commodore 64, jednak joysticki te są dosyć drogie i kiepskiej jakości.

Postanowiłem zbudować samodzielnie joystick typu Arcade na mikrostykach.



Do budowy wykorzystałem:

1. Wtyk DB9 z obudową
2. Przewód z co najmniej 6 przewodami
3. Obudowę Z59
4. Joystick typu Arcade
5. Przycisk typu Arcade
6. Przewody z wtykami
7. Płytkę uniwersalną
8. Goldpiny
9. Śruby oraz wkręty
10. Gumowe nóżki

Jako obudowę wykorzystałem obudowę hermetyczną Z59 jasną o wymiarach: 125x115x58 mm.



Obudowę można kupić na Allegro.

Joystick zakupiłem w serwisie Aliexpress -> Link

Przycisk typu Arcade również na Aliexpress -> Link

Schemat budowy joysticka jest bardzo prosty i nie zawiera praktycznie żadnej elektroniki.



Poszczególne piny w gnieździe DB9 są zwierane do masy.

Piny są zazwyczaj opisane na samym wtyku numerami jak na schemacie.

Wystarczy je podłączyć do mikrostyków w joysticku.



Wykorzystałem wtyki z krótkimi przewodami, które zostały mi z budowy maszyny arkadowej.

Przewody podłączyłem do goldpinów na płytce uniwersalnej, do której zostały dolutowane przewody z wtyku DB9.



Przycisk okazał się zbyt wysoki do obudowy i na dole wywierciłem otwór.



Na spodzie obudowy przykręciłem gumowe nóżki.



Joystick przykręciłem śrubami z nakrętkami do obudowy po wywierceniu otworów.

Gotowy joystick.




niedziela, 13 maja 2018

Budowa XU1541

XU1541 to interfejs oparty na Atmega8, podłączany do portu USB komputera i stacji dysków 1541, umożliwiający kopiowanie plików bezpośrednio z komputera PC na stację dysków 1541.

Projekt jest opisany na tej stronie -> Link

Schemat XU1541.


Interfejs wykonałem na płytce uniwersalnej bez gniazda SV1 i gniazd DIN 6, z wtykiem DIN6 i gniazdem USB-B.


Opis sygnałów w gnieździe USB-B.


Na schemacie jest widok gniazda serial od przodu, czyli wtyku DIN6 od strony lutowania.

Gniazdo SV2 służy do programowania Atmegi8, ja wykorzystałem programator USBasp, programator opisałem we wcześniejszym wpisie na blogu -> Link

Do zaprogramowania Atmegi8 używamy programu Winavr, wersja instalacyjna do pobrania -> Link

Po zainstalowaniu zmieniamy sobie nazwę na Winavr, program powinien zainstalować się na dysku C w katalogu Winavr.

Do katalogu C:\winavr\bin kopiujemy po rozpakowaniu plik -> Link

Teraz uruchamiamy wiersz poleceń, w Windows 10 prawy przycisk myszy na okienku na dole po lewej stronie -> Uruchom, wpisujemy cmd.


Teraz wpisujemy: cd c:\winavr\bin

Podłączamy interfejs xu1541 poprzez programator USBasp do komputera i programujemy Atmegę8 poleceniem:

avrdude -c usbasp -p m8 -U lfuse:w:0x9f:m -U hfuse:w:0xc8:m -U flash:w:bootldr-avrusb.hex



Po poprawnym zaprogramowaniu.


Teraz dioda led będzie świecić na stałe.

Odłączamy programator USBasp i podłączamy interfejs poprzez przewód USB-B do komputera, instalujemy sterowniki po rozpakowaniu z folderu windrv -> Link

Teraz programujemy właściwe firmware, odłączamy interfejs od komputera, zwieramy piny 9 i 10 w gnieździe SV2 i ponownie podłączamy do komputera przewodem USB-B.

Na dysk C po rozpakowaniu kopiujemy folder update_tool -> Link

W wierszu poleceń wpisujemy: cd c:\update_tool i następnie polecenie:

xu1541_update firmware.hex

Po zaprogramowaniu mamy:


Odłączamy interfejs, zdejmujemy zworkę z pinów 9 i 10.

Podłączamy ponownie interfejs przewodem USB-B do komputera oraz do stacji dysków.

Instalujemy program OPENCBM -> Link

Po rozpakowaniu klikamy prawym przyciskiem myszy na install.cmd i wybieramy uruchom jako administrator.

Po zainstalowaniu mamy:


Program zainstaluje się w folderze C:\program files\opencbm

Program uruchamiamy plikiem gui4cbm4win.exe.

Po uruchomieniu Klikamy w Options i Detect Drive, powinna zostać wykryta stacja dysków.


Teraz możemy już normalnie używać programu OPENCBM, aby obsługiwać stację dysków 1541 pod Windows.

Initialize inicjuje stację dysków, Directory wyświetla pliki na dyskietce, Scratch kasuje pliki z dyskietki.


Z innych programów działa CBM-Transfer, który opisałem na blogu -> Link oraz QTCBM -> Link

Stację możemy obsługiwać w emulatorze Vice, opisałem to tu -> Link

poniedziałek, 7 maja 2018

Program QTCBM nakładka na Opencbm w Windows 10

We wcześniejszych wpisach na logu opisałem programy Opencbm i CBM Transfer do obsługi stacji dysków na Windows 10 z konwerterem XUM1541 USB.

Jeszcze jednym programem jest program QTCBM, do pobrania tu -> Link

Program wygląda tak.


Po zainstalowaniu w programie trzeba podać ścieżki dostępu do plików Opencbm w menu Edit -> Preferences.


Po kliknięciu Save funkcjonalność podobna jest do OpenCBM.

niedziela, 6 maja 2018

Program CBM-Transfer do obsługi stacji dysków w Windows

Wcześniej opisałem budowę przewodu XUM1541 do obsługi stacji dysków Commodore 64 w Windows -> Link

Stację obsługiwaliśmy w programie Opencbm.

Lepszym programem jest CBM Transfer.

Program jest dostępny tu -> Link

Na stronie dostępna jest wersja do instalacji -> Link

Po zainstalowaniu program zainstaluje się w folderze C:\Program Files (x86)\CBM Transfer

Do tego folderu kopiujemy pliki z folderu c:\opencbm\amd64 dla Windows 10 64-bit, dla innych wersji Windows z folderu i386.

Możemy dodatkowo skopiować pliki Cbmlink i Nibtools z powyższej strony.

Program po uruchomieniu działa podobnie jak Opencbm, ale ma więcej opcji.

sobota, 5 maja 2018

Podłączenie stacji 1541 II poprzez XUM1541 USB w Windows 10

Stację dysków 1541 II do Commodore 64 możemy podłączyć poprzez konwerter XUM1541 do komputera z Windowsem 10 bez portu LPT.

Konwerter XUM1541 jest bardzo prosty w wykonaniu, jest to Arduino Pro Micro z podłączonym przewodem zakończonym wtyczką Serial.

Schemat XUM1541.


Po podłączeniu do komputera z z Windowsem 10 powinno automatycznie wykryć Arduino Pro Micro.

Wchodzimy w Menadżer urządzeń -> prawy klawisz myszy na okienku Windows na dole po lewej stronie i wybieramy Menadżer urządzeń.

Jak widać u mnie Arduino Micro jest porcie COM8.


Teraz programujemy Arduino plikiem -> Link

Jeżeli nie mamy WinAvr, to instalujemy go -> Link

Po instalacji będzie na dysku C, zmieniamy sobie nazwę na Winavr.

Kopiujemy plik xum1541-PROMICRO-v07.hex do folderu Winavr/bin.

Wcześniej trzeba jeszcze zrobić sobie reset, będziemy zwierać pin Reset do masy według zdjęcia.


Teraz uruchamiamy wiersz poleceń -> prawy klawisz myszy na symbolu Windows po lewej stronie -> wybieramy Uruchom i wpisujemy cmd.


W wierszu poleceń wpisujemy cd c:\winavr\bin

I teraz polecenie:

avrdude -p m32u4 -c avr109 -P com10 -U flash:w:xum1541-PROMICRO-v07.hex

Wcześniej trzeba zewrzeć pin Reset do masy GND i szybko wcisnąć Enter.

Jest to opisane na stronie -> Link

Mi się to jednak nie udało, trzeba dobrze trafić z puszczeniem Resetu i wciśnięciem Enter.

Ostatecznie zaprogramowałem Arduino Pro Micro programatorem USBasp.

Programowanie opisałem wcześniej w wpisie -> Link

Potrzebne sygnały do połączenia.


Łączymy:

USB-ASP Arduino
1 MOSI D16
2 VCC VCC
5 RST RST
7 SCK D15
9 MISO D14
10 GND GND

Po połączeniu wkładamy programator USBasp do portu USB.

Sprawdzenie komunikacji robimy poleceniem:

avrdude -c usbasp -p m32u4

Jak widać jest poprawna.


Programujemy poleceniem:

avrdude -c usbasp -p m32u4 -U flash:w:xum1541-PROMICRO-v07.hex

Jak widać programowanie przebiegło poprawnie.


Po odłączeniu programatora USBasp i podłączeniu Arduino Pro Micro do portu USB powinno zostać wykryte nowe urządzenie.

Jak widać w menadżerze urządzeń jest to XUM1541


Najnowszą wersję programu do obsługi stacji dysków możemy pobrać stąd -> Link

Sterowniki do XUM1541 są dostępne w tej wersji programu -> Link

Pobieramy plik zip.

Po rozpakowaniu kopiujemy sobie na dysk C, ja zmieniłem nazwę na opencbm.

W katalogu będzie folder windvr, gdzie są sterowniki do XUM1541, instalujemy je szukając w menedżerze urządzeń XUM1541.

Klikamy prawym klawiszem myszy na Właściwości -> Sterownik -> Aktualizuj sterownik -> Przeglądaj mój komputer, podajemy ścieżkę do c:\opencbm\windrv



Klikamy Dalej i Zamknij.

Instalujemy obsługę XUM1541 w Opencbm w wierszu poleceń, czyli Uruchom cmd

cd C:\opencbm\amd64

wpisujemy:

instcbm xum1541



Pobieramy plik Gui4cbmwin -> Link

Jeżeli nie będzie tam pliku GUI jest do pobrania tu -> Link

Pobieramy plik zip i po rozpakowaniu kopiujemy pliki do folderu opencbm/amd64 - jest to wersja dla 64 bitowego Windowsa 10, dla innych kopiujemy do i386.

Po uruchomieniu programu gui4cbm4win.exe klikamy w Options i Detect Drive, powinno wykryć podłączoną stację dysków.


Po kliknięciu Initialize i Directory stacja powinna się uruchomić i powinny pokazać się pliki na dyskietce.


Do wyodrębnienia plików D64 używam program DirMaster, gdzie opisałem to we wcześniejszym wpisie na blogu -> Link

Działa również emulator Vice, opisałem to tu -> Link



W następnym wpisie opisałem program CBM Transfer, który ma więcej opcji -> Link