DCEmu Interviews is the site that asks the questions everyone wants answering, Part of the DCEmu Homebrew & Gaming Network.

DCEmu Interviews Go back to Main Page

Interview with: AndrewK

Homepage:

Date: 2001

The Interview

Wraggster: Where was you born, live and family details etc?
AndrewK: I was born in Houston, TX, and lived there until I moved to Austin, TX for
college. I liked Austin enough that I stuck around after graduating, so I'm still there, working as a System Administrator. My father was a computer programmer for a long while, but got tired of his job strongly resembling a giant Dilbert cartoon; he is now a high school math teacher. My brother (another videogamer, but with more time for it than me, so he actually finishes games :) ) is getting close to escaping high school. My sister is currently here in Austin attending college.

Wraggster: What qualifications do you have?
AndrewK: I've been programming since god knows when; I started with Logo on the Apple
II, then Basic on the Apple II and PC, moved on to Pascal on the Mac and PC, and finally C and C++ (on just about anything I own that I can get a compiler for :) ). Along the way I've messed with assembly on a variety of processors (x86, mips, sh4, mc68hc11, mc68hc12, pic, etc).I have a computer engineering (basically electrical engineering, with emphasison computers) degree, and in the process took some programming courses, some embedded system courses, a couple of graphics courses, and all sorts of other stuff..

Wraggster: What made you get into computers?
AndrewK:Videogames, probably. :) I'm not sure how much initial interest I would have
had otherwise - I'd guess that something else about them would have interested me, but it probably wouldn't have drawn me in quite so early.

Wraggster: What projects/coding have you done?
AndrewK: A lot of stuff for classes over the years, and a lot of stuff that amounts to just my screwing around. The most interesting of any of that was probably the parallel raytracer a friend and I wrote for a class.I got involved with console coding with the psx, but never released anything that ran on the console itself, just various tools. A bit of my psx-related code lives on at http://psxdev.de/.

Wraggster:What made you get into Dreamcast Development?
AndrewK: It was pretty simple really - I had a Dreamcast, and its (foolish :) ) ability to boot normal cds was discovered.

Wraggster: Was coding Burritro a good learning step onto bigger things and how
complex was it to code and get running nicely?
AndrewK:Its not quite the biggest thing I've coded (it is the biggest thing I've released though), and I personally think I did a poor job as far as organization / style / etc of the code goes, mostly due to how quickly I put it together. The original version was tossed together extremely quickly, over the course of a little over 1 day (I did have some of what went into it
already written at that point, but not everything, and it was in a bunch of pieces). I didn't really clean up the newer version much either, just added more stuff to it and optimized some of it (Dan did some of the optimization actually).It wasn't hard to code, as its all pretty basic stuff (what I would consider the hard parts were essentially done for me, in KOS). Getting it running
nicely was a bit more work, although that mostly just involved tuning various bits of code, recompiling, running, and repeating until I was happy with it.

Wraggster: How did you start and what programs did you use to start coding?
AndrewK: I sort of answered this in the general sense in Q2, so I'll give a more
DC-specific answer here.

* binutils/gcc
* Marcus's serial slave
* Info from Marcus, Bitmaster, and the SH4 manuals

That was about all there was when I started with DC...

At some point I got tired of waiting around for SRECs to upload, so I wrote
dcload/dc-tool.

Its still pretty similar now, except I use dcload/dc-tool, KOS, and there are
a few more sources of information.


Wraggster: Tell us about your Dcload and various enhancements to projects such
as KallistiOS and did you have any idea that your work is looked on as some of the most significant piece`s of hobbyist software on the Dreamcast?
AndrewK: I wrote dcload/dc-tool because Marcus's serial slave didn't do everything I
wanted (and because sending SREC as ascii is slow). A lot of the features are based on what the PSX AR/GS rom replacement Caetla could do (console, pc file access).Patches/etc I make to other projects (like KOS) are usually because I either encountered a bug, or wanted a new feature.I know people consider some of my work important. They should not forget thatmy work is based largely on either the information or work of others - without which my stuff would have taken longer to develop or might not exist at all.

Wraggster: What plans for the future do you have for DcLoad?
AndrewK:At this point, the future will hopefully just be minor bugfixes, since dcload
has all the features I wanted it to have.

Wraggster: What programs have helped you on the dreamcast and how significant
is a hardware opengl driver and to what programs emus would be made
accessible with it?
AndrewK: Marcus's serial slave was very useful, until I had a usable version of
dcload/dc-tool written. KOS is very useful, as everything I do now with the
DC (except dcload) uses KOS. But its not exactly a program itself; I guess the
only actual program I generally use on the DC (except whatever it is I'm
working on) is dcload.

The opengl-like lib in KOS is cool, as it cuts down the time/complexity to
write 3-d stuff with KOS. It doesn't really enable you to do anything that
couldn't be done before, but it should save time and effort. I'd consider it
pretty significant, as it could really save a lot of time in development.
Also, its similiar enough to real opengl that anyone knowing opengl will be
able to start using it quickly, and information from opengl tutorials will
mostly apply.

Emulators for older 2-d consoles will have trouble taking advantage of it,
the same as they have trouble taking advantage of the ta (beyond using it for
scaling the image to fullscreen, its hard to use the ta for emulating the sort
of video hardware that was present in the older consoles).

Wraggster: What programs/apps/emus would you most like to see come out on the
Dreamcast?
AndrewK: I like demos and games, so thats what I really like to see. I'm not all that interested in emulators, and I've got perfectly good computers for running apps. :) I can still be impressed by an emulator doing something difficult though - a full speed SNES emulator would be impressive, etc. There are also some apps I'd consider cool - for example, a Dreamcast BBS would amuse me greatly (if someone were to figure the modem out). Basically anything that
required some creativity or skill is cool.

Wraggster: Whats your opinion of the new super consoles like X-box, Gamecube, Game Boy Advance and the Playstation 2?
AndrewK: The GBA would be a lot better if the screen wasn't nearly impossible to see. :)
Its still a pretty cool little console though (and I'm hoping that portable monopoly's frontlight hack fixes the screen problem, certainly looks like it will).

I'm very fond of the PS2, a whole lot of good games coming out there.

I still don't think the X-box game lineup is particularly good; its better than it was, but theres really nothing there to make me want to buy the console.

The Gamecube looks like it will probably have some good games, but the launch in Japan was not very impressive. The first round of preselling in the US sold out very fast though, and I imagine it will do well. I don't currently have much interest in getting one myself.


Wraggster: What are your favourite games for every system you have owned?
AndrewK:This list is pretty incomplete; I'm certain I'm leaving out lots of games that
I really liked, but I don't want to spend much time thinking about it. :)

Atari 2600 Nearly any classic arcade game that had a decent 2600 version
NES Super Mario Brothers 3
SNES Super Mario World, Super Mario Kart, Super Bomberman 5
Gameboy Tetris, Super Mario Land 2
PSX Gran Turismo, Tekken 3, Metal Gear Solid
DC Soul Calibur
PS2 Dynasty Warriors 2, Gran Turismo 3
GBA Mario Kart Super Circuit

Wraggster: Which console looks the best for devving on?
AndrewK: Of the new ones, GBA is the easiest - its a far simplier piece of hardware
than the others, with two ways to get your code on it (MBV cable or flash cart)
and there is a good bit of documentation, tools, etc for it.

PS2 is not the easiest console to code for, but its definitely possible (and
there has been homebrew PS2 development going on for a while). There is also
the PS2 Linux Kit, which is a rather nice package - even if you don't want to
use linux on the PS2. The kit includes enough hardware to be worth the price,
and it comes with very good lowlevel documentation on critical parts of the
PS2 - I'd personally consider just the documentation to be quite valuable.
Hopefully the kit will be available in the US and Europe at some point in the
not-to-distant future.

Gamecube is currently impossible - presently there is no way to boot anything
but licensed games, and the media is rather nonstandard, so I wouldn't expect
this to change soon. If someone finds a way around that, it should be
relatively simple to code for (based on what I know about the hardware).

Xbox isn't out, but it probably will be possible, since I believe it uses
standard media (will have to defeat some sort of protection probably, but
should be possible).

DC is still a very nice console for homebrew development, since all you need is
a DC and a serial cable (or BBA, but those are a bit expensive now), and there
is a good amount of documentation, software, and tools available. If you don't
care that the console is dead (at least commercially), its probably the best
choice.

Wraggster: Your thoughts on the Dreamcast Emulation/Development Scene and how
can it be improved?
AndrewK: It'd be nice to see a few more original works (or even semi-original stuff,
like new versions of classic games, etc), instead of just a bunch of stuff
ported from the PC. Some ports are cool (doom, sarien, etc), and theres nothing
wrong with porting stuff - it just seems a lot of people want everything
imaginable ported to the DC, which I think is pretty pointless.

People actually reading documentation / searching for information themselves /
etc. would be nice. A huge portion of the questions asked on the mailing list,
in forums, and on irc can be answered straight out of documentation or with one
visit to a search engine.

Better documentation for some things would be good too, but I really wonder how
much it would help, since no one seems to read what there is anyway...

Wraggster: What new platforms are you creating demos for?
AndrewK:I'm currently working on the PS2.

Wraggster: Have you figured more stuff out concerning networking DC's ?
AndrewK:The only thing missing for networking is a tcp/ip stack. There are people
working on one for KOS 1.1.x, which has a pretty solid ethernet driver.
It should be possible to use slip or ppp over a serial cable also. I am
doubtful the modem will ever be usable in a homebrew program.

I don't currently have much personal interest in networking the DC beyond
what was needed to make dcload-ip, so I'm not working on anything network
related myself. Once a tcp/ip stack for KOS comes along, I will fix fs_dcload
to work with it (otherwise dcload-ip users will lose their console + /pc when
using KOS's tcp/ip + ethernet).

Wraggster: Are you or others planning on doing a follow up to DcTonic and some
of the programs/apps that were on the first one will they be released and improved on ?
AndrewK:Moving Target is still working on Cool Herders. I don't know if Ganksoft is
still working on their game that was on DC Tonic. The Cryptic Allusion game
(Tryptonite) is pretty much dead I believe.

I don't believe we have any plans to make another disc like it.