Dags för ett nytt miniprojekt! Blev ett miniprojekt över helgen. Jag är lite av en nostalgiker när det gäller datorprylar och har en gammal C64, två C64C, en Amiga 500 och 1200 i källaren. C64orna kom jag över jättebilligt vilket visade sig bero på att två av dom saknade SID-chip. Den tredje snodde jag SID-chippet från till ett synthbygge som jag har pausat… Bilden nedan visar mitt valda offer för detta projekt.
Mitt mål är alltså att bygga om den här C64an till ett USB-tangentbord. Min tanke är att koppla in den i TV-datorn när jag kör C64 / Amigaemulatorer. Nästa steg blir att fixa till joystickportarna så att jag kan koppla in två TAC2:or också, men det kommer senare.
Första steget var såklart att öppna lådan och se hur grejerna hänger ihop. Jag vill göra så lite skada som möjligt på datorn. Lyckligtvis är tangentbordet ihopkopplat via en kontakt till logikkortet så det var bara att lossna kabeln!
Jag köpte ett färdigt kort med en mikrokontroller med inbyggt USB-gränssnitt (at90usb162). 120 spänn med frakt för ett litet kort som klarar det jag behöver. “Simple USB” heter det. Det finns en massa färdig kod från ett projekt som heter LUFA (http://www.fourwalledcubicle.com/LUFA.php) som gjorde det enkelt att fixa USB-delen av projektet. Behövde löda in ett 10-tal sladdar och en stiftlist för att ansluta tangentbordet, annars var all hårdvara färdig. Kortet har en inbyggd bootloader vilket gör det väldigt smidigt att utveckla. Genom att trycka på två knappar sätts kortet i programmeringsläge som gör det möjligt att ladda upp ny mjukvara direkt via USB-porten.
En bild från början av utveckligen när jag fortfarande försökte mäta med multimeter för att se hur tangentbordet var kopplat. Jag gav upp ganska snabbt och bestämde mig för att koppla in det och hantera kopplingen mjukvarumässigt sen.
Mer utvecklingsbilder…
Ännu mer utvecklingsbilder.
Efter ett par timmars hackande lyckades jag få ihop ett tangentbord som fungerade hjälpligt. Shift fungerar (fast med lite buggar, vänster shift fungerar inte tillsammans med QAZ och höger shift fungerar inte med Ä), flera av specialknapparna fungerar inte bra eller alls och om man trycker in shift lock blir datorn galen. F1, F3, F5 och F7 fungerar. Jag får fixa till buggarna nästa gång jag blir sugen på att koda igen.
En liten film som visar hur det fungerar nu:
{youtube}XDcdYRonhF4{/youtube}
Nästa steg blir tac2-joystickanslutning och buggfixar. Jag kan inte förstå varför jag har problem med shift – det verkar som att tangenter som ligger i samma kolumn i matrisen som den shiftknapp man trycker in inte kan användas.. Men koden är skriven för att ta hänsyn till det. Mummel.
Hur coolt som helst! ska bli kul att se hur det fungerar med en emulator 😀 8)
Roligt projekt måste jag säga. Har många bra minnen från C64 och TAC2 =)
//Jimmy
haha det gick ju betydligt mer smärtfritt än vad jag trodde. Vet inte om du har någon diagnos, men ta det lungt med 9:orna.. 😉
Helt klart spännande nostalgiprojekt i alla fall, ser fram emot TAC2:orna.