July 2007 Archives

This post is about perl emulator of 6502-based machine called Orao.

screen.png

It was my first computer (I attended BASIC introduction course several times so I can work on machine). I never owned one (and almost nobody did back that), since most of machines where installed in schools (like the one near to my place offering basic computer literacy courses).

When I found out that Josip Perušanec wrote Orao Emulator, I was very excited. After all, who can resist temptation of running his old BASIC programs? But, since his version runs only on Windows (to be fair, it runs also under wine), I had to write my own. Credits where credits are due: without Josip's emulator (and especially ROM images) you wouldn't be looking in screenshot above.

I wanted to write it in perl, so at first I used Acme::6502 to do processor emulation and wrote screen interface in SDL. However, that seems slowish, so in the end, I wrote perl bindings for great 6502 emulator M6502 and implemented Orao emulation as embedded perl interpreter inside CPU emulator. I used Extending and Embedding Perl from Tim Jenness and Simon Cozens as my guide, and I can really recommend this book if you want to learn perl-C interaction. If I didn't already owned pdf copy, I would surely buy both pdf and paper copy. It's so good.

Both versions can startup Orao, but pure perl version probably won't receive much love and care. As you can see on screenshot, on the left is display (Orao didn't have text mode, this is graphic display) and on the right is graphic representation of memory map. It doesn't support keyboard at this moment, but it's just a few commits away :-)

Update: Changed link to source code. It's part of the bigger VRač project, but that will have to wait another post...

Finally OpenMoko is is available for order. So, I ordered mine yesterday. Still no confirmation e-mail, but let's be hopeful.

On a side note, on-line store yesterday didn't have selection of model (black/gray or white/orange) so I didn't made a pick. Today there is choice, but I somehow hope that mine will be black :-). But, it doesn't really matter...

People who know me shouldn't be surprised that I would buy a phone which real demonstration is answering a phone call from command line (on device which doesn't have a keyboard!) - just look at
this video from 1:15:00 or so and you will know why you really want this device :-)

Here are some of fun stuff which I would like to hack on:

  • record GPS route and on second occasion estimate arrival time (even integrate with calendar with option to send apology sms 5 minutes before time with estimate of your arrival :-)
  • make all kind of confirmations and informations using speech synthesis... I usually listen to podcasts so it would be real nice to have it mute and read you incoming sms
  • sms sorter, initial reason for buying a phone which can run perl
  • blue tooth keyboard - seems like no-brainer, but I don't really know much about blue tooth devices

I have been somewhat busy with other stuff in my life (including writing compressed filesystem using gzip with fuse -- but that is topic for another post), so I just managed to update my svn checkout of openmoko before by main build server started freezing again. Oh, it seems that constant kernel updates won't be enough to create stable development machine...

But, than I looked around and found out that I can have simple (emulated) openmoko environment by just installing qemu-neo1973. I went so far to install it on Toshiba Tecra with touch screen to get a feel for user interface. I can guess that hacking this device will be fun.

About this Archive

This page is an archive of entries from July 2007 listed from newest to oldest.

May 2007 is the previous archive.

August 2007 is the next archive.

Find recent content on the main index or look in the archives to find all content.

Pages

  • pics
OpenID accepted here Learn more about OpenID
Powered by Movable Type 5.04