Mike Dawson's Interview

 

Mike Dawson's website can be found here!

 

Hooka: When did you get your gamepark?

 

Mike: Autumn 2002.

 

Hooka: What dev environment do you use?

 

Mike: I use Linux (Gentoo). I started with devkitadvance and Jeff Frohwein's gp32 libraries, and since then I've installed newer versions of gcc over the top of it. Since getting a gp32 I've learnt more about breaking and fixing gcc than is healthy for anyone.

 

Hooka: Why did you decide to port a c64 emu to the gp32?

 

Mike: The possibility occurred to me when I first read about the Gameboy Advance, though it was only when the gp32 appeared that I knew it'd be possible for the likes of me to do it, what with it having much greater power and being open for anyone to develop on.

 

Mike: When I got a gp32 I started about a dozen projects that failed miserably - various Genesis emus, a port of newlib and so on. Nothing came of any of that but it was great fun and addictive anyway. Then I got quite far with a port of Vice, but the poor gp32 wasn't quite up to it speedwise so I went on to port Frodo instead. Frodo I persevered with because the c64 is one of the greatest machines of all time and was my first computer, so having a portable one is a wonderful thing.

 

Hooka: TomVS told me that he had contacted you about writing to a .d64 image and that it was impossible to do in the current gp32 version but the new computer version supported it, so I was wondering have you worked on implementing it into gp32 frodo?

 

Mike: Christian Bauer has put d64 write support into the main version now. I've done some work on moving this into the gp32 version and in theory it should be easy but I hit a bunch of compiler issues - I need to fix some of my C++ libraries or something.

 

Hooka: Do you have plans to implement the chatboard?

 

Mike: I have basic support in and I plan to get a chatboard at some point so I can finish it off.

 

Hooka: I noticed a crackling in the sound are you working on a fix for this?

 

Mike: It's on the long list of things to do :)

 

Hooka: How complete do you feel the gp32 port of frodo is right now?

 

Mike: I think it's most of the way there but there are just a few things that would be very useful additions like save states. The problem is that all of the stuff that can be done relatively easily has been done and what's left to do are things that take a lot of effort - as with save states for example I've already spent countless hours trying to figure out why they don't work and getting nowhere.

 

Hooka: You also made a useful tool called gplink for linux, did you feel you needed someway to upload from linux because you just prefer linux or because it's where your dev environment was?

 

Mike: I use Linux all the time and I don't have a separate card reader so it was a matter of necessity for me.

 

Hooka: Would you suggest using gplink-tk with gplink or do you think console input is easier/better than using a GUI?

 

Mike: I'm happy using the console most of the time but sometimes a GUI is more appropriate. Other people prefer GUIs so it's good to have the choice.

 

Hooka: Do you think you'll ever try to implement 2 player RF-play?

 

Mike: No, since the original Frodo doesn't support network play.

 

Hooka: What is you favorite c64 game?

 

Mike: There's not one in particular since there's so many great games but Paradroid, Boulderdash 3 and Bruce Lee spring to mind.

 

Hooka: What is your favorite thing to play on your gamepark32?

 

Mike: gpFrodo :) I only ported it because I wanted it.

 

Hooka: What is 1541 Emulation and how does it work?

 

Mike: The 1541 was the c64's external 5.25 inch floppy disk drive and it was big and complicated. Most of the time Frodo can just use simple file accesses to fetch data for c64 programs but sometimes this doesn't work. Some programs use tricks for speed and copy protection. The 1541 emulation emulates the 1541's cpu and timings more accurately which is why it's slower when enabled.

 

Mike: I don't know much about its inner workings myself. I only ever dreamed about owning a 1541 drive and had to make do with cassettes.

 

Hooka: I noticed you used some of Groepaz's Sound and Video code, did it prove to be adequate for what you needed?

 

Mike: Adding Groepaz's code made an excellent improvement - he'd been working on a Frodo port as well which he didn't finish and contributed what he'd done to me. Until then I'd been using a very slow method of rendering the graphics - having them rendered one way and then rotating it for the gp32's screen. Groepaz modified Frodo at a lower level for the best possible gp32 performance, which made it possible to boost the speed from 25 to 50 frames per second.

 

Hooka: You used Sasq's Pogo lib, so is this a port of the GBA version of frodo?

 

Mike: Sasq ported his Pogo lib from the GBA to the gp32, and I then used that for porting Frodo, but this version of Frodo hasn't ever been near a GBA.

 

Hooka: What other projects have you worked on?

 

Mike: Not much that sees the light of day, I'm better at starting things than finishing them. The odd thing like adtool which lets you admin active directory from the linux command line, which is more related to my day job.

 

Hooka: Flack did an Unofficial Frodo FAQ here (http://207.44.176.77/~admin28/gp32emu/faq/frodo.htm), do you think he missed anything or is it pretty thorough?

 

Mike: That's a really useful introduction, especially for people unfamiliar with the c64 - I've used a c64 most of my life and it hadn't occurred to me that for some people gpfrodo might be the first time they come across one.

 

Hooka: What suggestions may you have for gp32 programmers who want to port their favorite emulators?

 

Mike: Coding for the gp32 can be painful - things you might take for granted as working when programming for a PC can be a lot more obscure so there can be a lot to learn if you're new to it. That's half the fun of it too though so you just have to keep hacking away at it and not be discouraged.

 

Thank you Mike Dawson for doing the interview and have a good day!

 

Made with Namu6