Archive for maj, 2015

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

Batz – En rolig tecknad film

maj 20, 2015

Batz finns nu tillgänglig för visning. Det här är en fantastisk fransk kortfilm om ett par fladdermöss och myggor.

batzDen är både snygg och rolig, se den! Jag rekommenderar den varmt!

Pycon Sweden 2015

maj 16, 2015

I tisdags gick den numera årliga python konferensen pycon sweden av stapeln. Likt förra året var det en fantastiskt trevlig upplevelse.

pyconsweden

Första dagen

En stor del av föredragen behandlade data-analys och datorinlärning. Mycket av detta gick mig över huvudet men intressant att få lite insikt i vilka möjligheter det moderna samhället ger till att samla och analysera data. Också intressant var att gå igenom hur man tränar upp ett neuralt nätverk för bildanalys. Föredragen var väldigt tekniska och eftersom de var relativt korta var de rätt övergripande och gick inte jättedjupt.

Ett annat föredrag som jag tyckte var intressant var föredraget om U2F, en standard för tvåfaktor-autentisering. Dain Nilsson som stod för föredraget arbetar för Yubico och därför var särskild fokus på deras lösning YubiKey. YubiKey är en usb-dongel som agerar som ena faktorn i autentiseringen och verkar vara mycket smidig.

Kvällen

Efter sista föredraget bjöds det på en gratis drink i baren och folk minglade. Jag pratade med diverse människor, en amerikan, en finländare som jobbade med databaser och ett helt gäng andra. Vi åt middag ett gäng och hamnade i slutändan på Oliver Twist.

Dag Två

Andra dagen inleddes med ett föredrag av Kate Heddleston om etik och moral. Vad är vårt ansvar som programmerare när tekniken vi bygger används för hatbrott, förföljelse, riktad reklam, etc? Inga raka svar gavs men det är frågor som måste lyftas fram och diskuteras öppet.

I övrigt var andra dagen lite mer blandad än den första. Ett av de mer intressanta föredragen handlade om Python i inbyggda system. Presentatören använde python i produktionskod men listade mest problem användningen av python resulterade i. Generellt kändes det ganska negativt.

Konferensens sista föredrag var Python for Humans, en diskussion om hur pythonmoduler bör skrivas. Föredraget grundades i PEP20, som är språkets riktlinje men som frångåtts i mångt och mycket. Tanken är att det ska finnas ett (och gärna endast ett) intuitivt, lätt sätt att åstadkomma något. Mycket tankeväckande och nästan inspirerande.

Föredragen spelades in och kommer inom kort läggas ut på hemsidan.