Posts Tagged ‘c64’

C64-programmering

maj 26, 2015

För ett par veckor sedan hittade jag cc65, en c kompilator för 6502-processorn. 6502-chip och dess varianter hittas i många retro-datorer däribland Commodores C64 (MOS6510). Tillsammans med boken Programming the Commodore 64, ett antal hjälpsamma hemsidor kom jag snabbt igång med ett litet hello world-program.

Installationen är relativt enkel:

Klona git-arkivet

git checkout https://github.com/cc65/cc65.git

gå till katalogen och bygg kompilatorn

cd cc65
make

Ifall man vill kan man installera den i systemet

sudo make install prefix=/usr/local/

När kompilatorn är installerad är det bara att börja programmera

#include 

int main(void)
{
    printf("Hello World!");
    return 0;
}

Programmet kompileras sedan enklast med

cl65 -t c64 hello.c -o hello.prg

När programmet är kompilerat kan det föras över till en fysisk c64 (exempelvis med uberCasette eller 1541 Ultimate). Dock har jag inte kommit så långt ännu utan kör mina program i vice.

Hello World

När man lär sig mer om c64ans olika minnes regioner kan man börja med diverse enkla effekter på texten:

Text som blinkar i regnbågens färger är inte alls lika imponerande som stillbild.

Text som blinkar i regnbågens färger är inte alls lika imponerande som stillbild.

Se koden här, den är kort och ganska enkel men har ett par rader assembler.

Nästa steg blir att utforska bitmap mode, avrottshantering och kanske lite sköna vågformer i SID-chippet.

Annonser

C64 för den vetgirige

maj 17, 2012

Youtube hittade ett par riktigt intressanta föredrag från Chaos Computer Congress* angående programmering av allas vår fantastiska Commodore 64.

Det första är ett en timmes föredrag som relativt detaljerat beskriver C64ans hårdvara samt hur man kan använda den.

Det andra föredraget är mer fokuserat på hur demo-programmering för maskinen fungerar och hur allehanda effekter uppnås på den begränsade hårdvaran

Två timmars nöje som får en att vilja börja hacka på riktigt på denna fantastiska maskin.

* Chaos Computer Congress anordnas varje år av Chaos Computer Club och tar upp allehanda dator/hacking-relaterade ämnen

Retro-Podcasts!

januari 31, 2012

Sedan LKML-podcasten upphörde uppdatera och med C64-takeaway’s pågående omdefiniering av ”oregelbunden” har jag inte lyssnat på så många podcasts, men sedan jag hittade Commoflage och Bitar till kaffet har jag haft en del att lyssna på.

(CC) Original hämtat från http://www.mesclasonora.com/

Commoflage spelar remixar av C64-musik (eller ”sid-ar i nya kläder” som dess slogan lyder) och sedan senaste avsnittet har även orginalmusiken figurerat frekvent.

Bitar till kaffet (uttalat Bittar till kaffet) spelar musik från allt från spektrum-datorer till Atari och Amiga. Podcastens värd verkar ha goda kontakter med demoscenen vilket innebär att det är ofta musik från demos tillsammans med allehanda anekdoter.

Nu när min podcast-aptit har vaknat känner jag att jag skulle vilja följa fler, därför mottager jag tacksamt tips på fler podcasts!

Lödning

juni 8, 2011

Jag har köpt en på tok för dyr lödstation för den lödning jag kommer att göra men den är fin och har en digital display som visar lödpennans temperatur. Dess effekt är 48 W och temperaturen kan ställas mellan 150 och 450 °C.

Den gör sig också ganska bra på mitt skrivbord

Den gör sig också ganska bra på mitt skrivbord

Igår använde jag lödstationen för första gången, som invigningsprojekt valde jag C64-sidan av en C64-till-komposit-kabel.

Skakigt och med risk för kall-lödningar

Skakigt och med risk för kall-lödningar

Kontakten löddes enligt:

C64 Audio/Video plug:
Pin   Func	    Colour
1     Luminance	    Yellow
2     GND	    Brown
3     Audio Out	    Pink
4     Comp. Video   White
5     Audio In	    N/C
6     Chroma Out    Grey     
7     Nothing	    N/C
8     Vcc*	    N/C

* För senare modeller

Poängen med kabeln är att ge en klarare bild än vad den något instabila antenn-kontakten ger. Hur det blir får jag se när andra änden är klar, men resultatet från gårkvällens övning ser förtroende ingivande ut.

Resultatet

Resultatet

Min förhoppning är att tillgången till en lödstation skall få mina tänkta hobbyprojekt att gå framåt i en snabbare takt, det krävs fortfarande ett spänningsaggregat för att ”labbmiljön” ska vara fungerande.

Hello C64

november 23, 2010
PRINT "HELLO C64"

PRINT "HELLO C64"

I helgen hade jag tänkt att se ifall jag kunde komma igång med ett eller annat hobbyprojekt men jag kom inte längre än att kontrollera ifall den C64 jag fått fungerar. Vilket den gör.

Jag har påbörjat att skissa på audio/video-kontakt så jag slipper den något glappa RF-kontakten och få ut ljudet lite smidigt. Det finns en hel del varianter men jag funderar på att konvertera från C64ans DIN-8 till S-Video (Mini DIN-4) eller SCART och dra ut ljudet till RCA-kontakter.

 

Överraskningar

mars 31, 2010

Hemkommen från fjället upptäcker jag två saker, en nyutslagen ros och en mystisk paket-avi.

Ros som återuppstått

Återuppstånden ros

Rosen har vuxit ifrån en köpt ros som jag låtit stå och torka i vatten. Jag missade nog dess glansdagar men det var ändå en trevlig överraskning.

Paketavin visade sig vara ett paket innehållandes Programming the COMMODORE 64, den definitiva guiden till programmering av C64:an enligt säkra källor.

Ur förordet:

Programming the  Commodore 64 is the definitive guide. It covers virtually every aspect of the Commodore 64, from simple BASIC commands to complex machine language techniques. Every explanation is written in depth and with clarity. The result is a comprehensive, easy-to-understand reference that thoroughly explains the 64’s capabilities.

Utöver bokens egna försäkran har jag läst bra recensioner av den på (luft-hartass) nätet (slut-luft-hartass). Jag köpte den mest för det stora avsnittet om C64:ans ljudkretsar och hur ljudrutiner skapas. Boken bjuder på annat som verkar intressant, t.ex Vocabulary of the 6510 chip (lista över assembler instruktioner för MOS6510-processorn) och The VIC-II chip (64:ans grafikchip).

"The encyclopedoc reference guide to the Commodore 64 computer" säger allt

13:e December a.k.a. Lucia

december 13, 2009

Idag fick jag äntligen upp min adventsstjärna, anledningen till dröjsmålet var en akut brist på sladd. Efter ett par små inköp lite knipsande med avbitartång och skruvande med skruvmejsel sken stjärnan lyckligt. Det var faktiskt väldigt mysigt att komma hem från träningen till det pappersfiltrerade skenet som är så karaktäristiskt för adventsstjärnor.

Julstämningen håller på att inställa sig ordentligt, utöver adventsstjärnan är mitt kontor pyntat och de flesta klappar är införskaffade. Jag har till och med ett par flaskor glögg i skafferiet. Det största problemet jag har är att jag inte verkar kunna få tag på lakritsstång till lakritskolan jag brukar göra. (Brukar som i har gjort två gånger tidigare.)

Ovan ser ni Commodores jul-demo som de hade snurrandes på C64:or i allehanda elektronik-affärer December -82. Nästan helt orelaterat är de jul-remixer som finns på C64-remix-siten remix.kwed.org:

Jag hoppas även på snö men det ser mörkt ut här nere, kanske när jag kommer upp till hemtrakterna över jul?

MOS Technology 6581

september 23, 2009

Jag har i dagarna fått hem ett stycke MOS 6581-chip, mer känt som SID-chipet.

Mitt SID-chip, siffrorna 2783 är datumkoden som berättar att den här kretsen producerades vecka 27 1983.

Mitt SID-chip, siffrorna 2783 är datumkoden som berättar att den här kretsen producerades vecka 27 1983.

SID står för Sound Interface Device och är ett digitalt/analogt Synthisizer-chip och är ganska känt i Commodore 64-sammanhang pga dess smått unika ljud. SID-chipet har tre kanaler (röster), hanterar fyra typer av vågformer (Sågtand, trekant, fyrkant och brus) programmerbara filter (band/hög/låg-pass), en ringmodulator per kanal och en del smått och gott som jag insett att jag inte är tillräckligt insatt för att förstå.

Min plan är att koppla upp referensuppkopplingen från chipets datablad och ersätta 650x-MCUn med en ATMega-krets från Atmel (som med lite tur kan programmeras så att den externa minnesbussen passar SID-chippet) och sedan se ifall jag kan få något ljud.

Referensschema från Databladet

Referensschema från Databladet

Det är tur att det finns arkiv för gamla datablad så man kan få reda på den här typen av information och så att gammal teknik överlever.

Jag ser verkligen fram emot att få experimentera och lära mig lite om sådant här, men jag blir nog lite ledsen ifall jag bränner chipet. Jag är inte säker på vad det blir av det hela, det vore kul att försöka bygga en Synth men det är ett ganska stort projekt och min kunskap om hur en Synth fungerar är extremt begränsad.

Energetisk

augusti 12, 2009

Efter en lugn helg med en massa bokläsning och lite TV kände jag mig oförskämt pigg och bestämde mig för att ta tag i ett par (väldigt) små projekt som jag haft liggande.

Det första var ytterst litet och enkelt: Byta SMS-signal på min telefon. För ett tag sedan kom jag på att sekvensen som spelas mellan nivåerna i The Great Giana Sisters skulle vara rolig att ha. För att komma åt detta ljud laddade jag ner musiken i sid-format (eller psid om man ska vara noga), sedan använde jag SIDPlayer för att spara ljudet som wav och sedan konverterade jag wav-filen till mp3 och förde över till min mobiltelefon. (SMSa gärna så jag får höra signalen!)

När jag använde sidplayer upptäckte jag att programmet kraschade (segmenterings fel) precis när det avslutades och eftersom jag var så pass pigg satte jag mig och letade efter felet och hittade det. Det gör ingen egentlig skillnad eftersom kraschen inte gör någon skada men det kändes ändå bra. Detta var sent en söndag kväll, vissa har liv men inte jag…dock har jag skoj!

Projekt nummer två var att fixa iordning mitt script som laddar ner och visar den senaste bunny-strippen på mitt skrivbord. Tidigare använde jag libxml2 för att själv parsa seriens RSS-flöde nu valde jag att använda det aningen (läs mycket) smidigare biblioteket feedparser och resultatet blev ett litet smidigt script som jag till och med vågar visa andra. Nu finns det upplagt i menyn till höger under namnet bunny-bg.