Squidge's Interview

Squidge: Ordered 16-November 03, signed onto GP32X the same day :) Received a few days later.

Hooka: When did you get your Zodiac? Was it hard to get one in Europe and also get a DDA?

Squidge: I bought my first Zodiac from Ebay on the 11-Jun-04. I sold it once Gbax had some in stock and bought one from them in case of needing a warranty. I've recently bought another Zodiac, so I now have both the Z1 and Z2.

Squidge: Signing up as a developer was quite painless, and getting the DAA took just a few days as I had described my past projects with the GP32 and other systems. I suppose my main job also helped, being an embedded software engineer.

Hooka: I think you mentioned one time about GBA development, what did you do?

Squidge: I've written numerous programs for the GBA, none which were ever released. I didn't do any ports, games, or emulators - just mainly small utility programs that I found useful. I remember one of the programs being a reminder/todo application.

Hooka: Why did you decide to get a gp32?

Squidge: My full time job is an embedded software engineer, and I've always wanted to play with an ARM processor. The GP32 seemed the ideal device to play with. An almost open-source console with usb connector, storage, display etc and access to the outside world via the EXT connector. Far cheaper than the official ARM development kit, and with support from other people developing for the same console. I actually started GBA development shortly after getting a GP32.

Hooka: What dev environment do you use?

Squidge: For the GP32 I use the Visual Studio IDE with GCC 3.4 for the compiler. I also have access to ARM ADS, thanks to work, but rarely use it.

Squidge: For the Zodiac, I use Codewarrior 9.3, but developed around 95% of the application under Visual Studio and PalmSim first, which allows me to run and debug the application before uploading the code to the device itself for optimization and final testing.

Hooka: Why did you decide to make a pc-link replacement?

Squidge: To be honest, I thought the original PC Link which you download from Gamepark after registering the GP32 was terrible. Far too restrictive with the filenames, and annoyingly slow considering the usb linkup. I also noticed things like it using 100% CPU usage whilst transferring a file, which I could only describe as poor software coding. After monitoring the data between the GP32 and the PC for a number of hours, I started to write my own replacement.

Hooka: Was suspending SquidgeLink in exchange for working on gpdrive a good change?

Squidge: Yes, it felt much better. After proving with SquidgeLink that faster transfer rates were possible, I wanted to easily integrate it into my preferred file manager (Total Commander). Also, rather than writing Windows software, I thought writing the GP32-side instead would give me the best experience of using the hardware of the gp32.

Hooka: GPDrive is a USB Mass Storage Device Drive, could you explain what that mean?

Hooka: The first released beta of GPDrive(on the gp32x forums) said it was reading at 350Kb/sec and writing at 120Kb/sec, now GPDrive 0.5 reads at 515Kb/sec and writes 266Kb/sec, that's over double the speed for a write! Do you think you'll get the transfer speeds going any faster than this?

Squidge: The current speed increase was obtained by rewriting the SMC routines to be extremely specific to the GP32 and certain SMCs, rather than being generic. I do believe it is possible to get faster rates than this, but only on the 64mb and 128mb SMC's (due to additional commands being available in these cards). However, the complications and time involved however, I don't think this will ever be done. The speed increase would most likely be another 50kb/sec.

Hooka: Do you know how fast the original pc-link is(you can calculate it WITH the break after every three megs if you want :))?

Squidge: Last time I checked it, I was comparing it against SquidgeLink, and the write speed was 75Kb/sec with the read speed being much slower - somewhere like 30 - 40kb/sec.

Hooka: Are 4 meg and up SMC's now supported with the integration of firefly's code or is it still limited to 16 meg SMC and up?

Squidge: It's still limited to 16mb SMCs and above due to the optimization methods included. It's possible to support smaller SMCs, but only at the expense of slowing down transfers, and I believe that people are not going to be using SMCs smaller than 32mb anyway.

Hooka: What prompted the inclusion of the utility to rescue dead SMC cards?

Squidge: The utility was written after my pre-alpha SMC routines managed to create a card that could not even be formatted due to corrupt information in the system areas of the cards which are used to store ECC (data integrity information) and bad block mappings, etc. The rescue utility simply erases the entire card, including these system areas, so the format routines assume the card to be completely blank with no bad blocks. The bad blocks can be found again (if there are any) by the normal write/verify mechanism included with all SMC routines.

Hooka: Reports from yourself and others on the board say Windows XP Home and Pro and windows 2k work, would it possibly work on windows NT?

Squidge: Highly doubtful, as like Windows98 and previous operating systems, WinNT will not have the required drivers to support gpDrive. The drivers could be written, but I simply don't have the time.

Hooka: Would you be willing to help someone if they wanted to try at writing the USB driver for win9x and ME?

Squidge: I don't know what I could help with, as I have no experience of writing device drivers for Win9x. In theory, it should work with WinME however already as I have been told it already contains the required drivers. There are apparently example drivers on Microsoft's website that can be tailored to suit. If anyone would like to write such drivers, then they will need the VID (Vendor ID) and PID (Product ID). These can be found using a USB bus monitor, but I think they are 0x03E6 for the VID, and 0x1234 for the PID. I don't have access to the code base at the moment, so can not check.

Hooka: Are you planning to continue work on SquidgeLink eventually or do you feel that GPDrive renders SquidgeLink inferior?

Squidge: I believe that gpDrive renders SquidgeLink obsolete, as it's now far more flexible and faster than SquidgeLink.

Hooka: Do you plan to keep on working on GPDrive?

Squidge: Not anymore. I did have plans for GPDrive, but I highly doubt I'll ever go back to it now, simply due to the amount of other projects I want to do or upgrade.

Hooka: When you are done do you plan to release the source code like you did earlier with GPDrive?

Squidge: The latest version of GpDrive is available on GP32X.

Hooka: What do you think about PhodaDrive, GPMadMp3, GPBios and all the other projects that have used your code?

Squidge: They have my full support. I believe Phodrive is simply a continuation of my project, and I recommended to the author that he should change the name to avoid confusion if I ever brought out a new version in the future.

Hooka: What happened that you didn't think you'd have time to carry on the project, hence your source release?

Squidge: I simply had very little spare time left. I didn't really have enough to do anything big to the project, so decided to discontinue it. Not wanting the project to die, I decided to make it open-source. Phodrive is a continuation of the project by another author, whilst other people integrated it into there applications.

Hooka: What changed your mind?

Squidge: I got almost two days with nothing to do but the usual chores, and my gp32 was begging for a faster version of gpDrive. I started work and managed to do the bulk of the work over the two days. I spent upto 1 hour each day after tweaking the routines to make them work correctly.

Hooka: You ported Beats of Rage to the GP32 and made a wonderful amount of changes to get it into the smaller memory, how long did it take you?

Squidge: A couple of full days in total, which was spread over several weeks at a few hours per day. The bulk of the time was spent trying different techniques to get a good balance between memory usage and speed.

Hooka: What made you decide to make a port of Frodo to the Zodiac?

Squidge: One day I had an urge to play some C64 games, and naturally got my BLU out to play them. Then I considered that the Zodiac has a bigger screen and is taken to more places with me due to it's size and PalmOS organizer functions. So I thought it was a nice project to start a proper application on the Zodiac.

Hooka: On the GP32X boards you mentioned a BBC Micro Emu for Zodiac and a GP32 relese thereafter, are you porting an existing emulator or coding it from scratch?

Squidge: I'm not doing either at the moment, but it'll most likely be a port of an existing emulator.

Squidge: At the moment, I'm working on Gex which is a Vectrex emulator for the GP32, and is being written from scratch. Once that is complete, I'll be continuing Frodoz, and will probably start the BBC Emu shortly afterwards Frodoz and Gex are complete enough.

Hooka: You also hinted about a SNES emu for GP32 on the GP32X boards and I thought you mentioned a vectrex emu on #GP32DEV, are these also projects you're working on?

Squidge: I've got a half-working SNES emu, but it only runs some homebrew games. It was written to learn more about the SNES to see if I could optimize Yoyo's emulator.

Hooka: You mentioned on the ZodiacGamer boards that you were thinking of doing a CPS1 emu for Zodiac aswell, have you done any work on this yet or are you still busy with FrodoZ?

Squidge: I've done an initial investigation and believe the Zodiac is capable, but I've yet to write any code.

Hooka: What ever happened to GPLynx?

Squidge: I've been unable to find enough documentation about the Lynx to optimize the emulator to a state where it would become playable. It seems like the author of Handy had full documentation (as in, the official developer manuals), which would explain why it's the most popular and only proper emulator around for the Lynx. The other emulators seem to be just based on Handy.

Hooka: Do you still intend to try and do a Duke3D port at some point in the future?

Squidge: I doubt I'll be doing a Duke3D port any time in the near future. I've looked at the code, but it seems quite difficult to port.

Hooka: Why did you say that GPLynx ran at 166Mhz when it's actually running at 160Mhz? (I think I heard you mention that your GP32 BLU could only run 160Mhz once so I think that's what it is but wanted to make sure)

Squidge: GPLynx ran at 166Mhz as it was developed on my FLU which did > 200Mhz. My BLU only does 160Mhz stable, but can do 166Mhz for a few minutes before crashing. It'll probably be stable with a voltage mod, but I don't think it's worth it for the extra 6Mhz.

Hooka: Really? Cause when I decompressed it and searched for a clockspeed setting to change all I could find was the hexx value of 160Mhz not 166... Meh, who knows :P

Hooka: What do you see/want to see for the future of the GP32?

Squidge: More games being released by homebrew authors, more coding compos, and upgrades of existing emulators. It would be nice to see GPAdvance run it's first commercial title, regardless of speed.

Hooka: What do you see/want to see for the future of the Zodiac?

Squidge: A few more people getting to grips with the system and producing a few more games and emulators for it. With it's 200Mhz processor and upto 128mb of RAM, it has great potential, but needs more developers to realize it. The zodiac is getting some more commercial games, but I don't think it'll ever be the huge commercial success that the manufacturer's hoped.PalmOS however (the Zodiac's operating system) seems to be going strong, and moving into the area of phones that contain PDA functionality.

Hooka: How did you wind up getting the nick Squidge?

Squidge: It goes back to the days of high school, when we had a VAX network installed. During the last year, I wrote a chat program so people could talk to each other regardless of where they were in the building. It was only simple text, but got quite popular. I got the nick 'The Squirrel' for some reason or other (I don't remember now), and sometime afterwards it got shortened by a few people to 'Squidge'. It's stuck since then, so you could say that my nick is about 14 years old or so :)

Hooka: What other projects have you worked on(gp32 or non gp32 related)?

Squidge: Most of my projects are internal and only designed for myself or a very small number of people. The recent "big" projects are a newsgroup reader which is discontinued, and RTA (http://ibiblio.org/paulc/rta/), which is also discontinued now.

Hooka: Do you have any plans for future projects?

Squidge: Not at the moment. I think I've disclosed most of them in this interview.

Hooka: What happened to the LSD Main Page <http://www.ibiblio.org/paulc/lsd/>? (well, there's still remnants there... seems to be a linux update email thing)

Squidge: I was using Linux heavily at the time as my main desktop, and that started out life as an easy way to identify new linux uploads to ibiblio. It worked great for a good few months, then the underlying directory changed and I've not updated the scripts since as I moved to Windows.

Hooka: An interesting quote:

"The what?" "The squidge--that means the fellow who does all the worrying and gets nothing out of it. Now, before you return to what you call the palace, and which looks to me like the main building of the Allegheny Brick Works, will you do me the honor of going into that cave of gloom, known as the American bar, and hitting up just one small libation?"

from: The Project Gutenberg EBook of The Slim Princess, by George Ade (yeah, it was hosted on ibiblio so I figure you know about it :P)

So does this have anything to do with your nick?

Squidge: I've not seen that, and no, it doesn't have anything to do with my nick :)

Hooka: Are you in University?

Squidge: No. I got my ibiblio address about 12 years ago when I asked for webspace for one of my open-source projects. Remnants still remain of that project, but I just keep odd bits there at the moment, a lot of which isn't accessible to the public.

Thank you Squidge, You've done great things for the GP32!

New: I just found this pic on my HDD, must've been from when I made this interview and found it somewhere online or something but I noticed it wasn't used in the interview so I'll add it now