Kojote had the pleasure to conduct an interview with Dwedit recently, who is known to have enhanced a couple of emulators to be used with a Gameboy Advance, and is author of a TI-83 emulator himself.
Make sure to visit Dwedit’s homepage and enjoy his marvellous work he did for the Gameboy Advance and TI-83 community. His page is located here: http://www.dwedit.org/
Kojote:
Hello Dwedit – You are one of the last Gameboy Advance developers, known for regular updates on the emulators PocketNES and Goomba Color. What makes you stay with this platform? But before that, tell us a little bit about yourself.
Dwedit:
Hi, I’m Dan Weiss, also known as Dwedit. I’ve been heavily involved with computers (Apple ][) and video games (NES) about age 5, and have been programming since before age 8. Applesoft Basic, QBasic, ZZT, Klik & Play, Games Factory… They’re all important stepping stones to get into programming. After a while of messing around with all of that, I was decent at programming. Make sure you know basic programming before you try ZZT and Klik & Play though.
The biggest life-changing event in my life was seeing someone run Super Mario Bros 3 on a PC using Nesticle. I was pretty shocked by this; it was the coolest thing ever. The best part was the glitches, how the mushroom drew in front of the item box. Immediately, I was hooked on emulators and romz. Soon afterwards, I got involved in the Romhacking Scene then I wrote a Dragon Warrior town editor in QBasic. Copying the idea from Mario Improvement, I registered a hotmail account for the dragon warrior editor, “dwedit AT hotmail.com.” Then I just kept that as my online name ever since.
In high school, I was very heavily involved in the TI83 scene. Those calculators are just awesome; it’s like being able to be a cool 1980’s programmer on hardware of similar specifications. The 80’s were way before my time, never really got to experience them. Much more of a 1990+ NES kid than anything else.
I was doing some TI-Basic. I actually started out with that when my brother got his TI82 a long time ago, so I already knew how to program a TI83 by the time I finally got one. For a while, I was playing all these awesome TI83 games, RPGs, Arcade Games, awesome stuff. Eventually, by my junior/senior year, I was making Z80 assembly language games for them! Assembly language rocks. I did some awesome stuff on the TI83, even making a Bubble Bobble clone. But you really need the experience that comes from working with binary data, romhacking experience. Get romhacking down, and you unconsciously learn all the concepts needed for assembly language.
I actually did ASM before I did C++.
Kojote:
How did you get into GBA coding?
Dwedit:
First I tried out some crappy tutorials for DevKitAdvance, making the amazing “turn the screen red” program, then I gave up because trying to wait for vblank always crashed.
Then I saw PocketNES get really good, so I got an MBV2 cable so I could finally try it out on a GBA. There was a little problem; you can’t save, so I did my first hack for pocketnes, which was to give it SRAM cannibalism, so I could save in Zelda. Later on I got a flash cartridge so I didn’t need the MBV2 cable anymore.
Diving into PocketNES wasn’t too hard. The first ASM stuff I did for it was finishing up Flubba’s work on speed hacks, and that’s where I wrote my first ever ARM ASM. If you’ve been coding for years on the Z80, picking up ARM takes about a couple days, and it’s a total dream to program for compared with the Z80.
The major thing I did with PocketNES before I really started rewriting bits of it was adding GBAMP support. You finally get to use Virtual Memory concepts.
I still haven’t made any complete homebrew software other than emulators.
Kojote:
You are mainly into writing emulators, what is the fascination behind this? Wouldn’t game coding be much easier?
Dwedit:
I never actually wrote any emulators from scratch, Loopy and Flubba make great code. I only started maintaining it after they finished up all their work. I have rewritten significant parts of their emulators though, like adding Color to Goomba and the many new features for Pocketnes. But writing emulators is much easier than making games, because I can’t draw worth crap. 🙂
Kojote:
Will you continue working on your TI-83 emulator? If so, what are your plans for it?
Dwedit:
That’s something I know I really need to update. I know this because I recently tried to use it on a math test, and it was woefully inadequate to use.
The main reason I made the TI83 emulator is that I knew the TI83 so well. The other motivating factor was some guy making the “I will give a bounty for a TI83 NDS emulator” post on the GBAdev forums, but I didn’t give a damn about the bounty, never even inquired about it anyway.
Kojote:
What is your favorite GBA homebrew product and why?
Dwedit:
Definitely the big 3 emulators (PocketNES, Goomba Color, SMSAdvance). But I don’t know of too many GBA homebrew products. The only other homebrew I’ve tried is Tetanus on Drugs by Tepples.
{image}
Kojote:
If you would have to help out a GBA coding newbie, what would be some of your suggestions?
Dwedit:
Interrupt handlers! Get them in ASAP! Then you can add in your Hello World message.
Also, *Use Object Tables*! You get a structure for your program that way, code that loops over the object table and calls a handler based on the type of that object. Many attributes are shared with different object types, like coordinates and animation. They’re good enough for commercial developers, the M.C. Kids guy even used them.
Kojote:
If you were to completely abandon GBA development, which system would you choose next and why?
Dwedit:
When I abandon the GBA, the successor to the Wii will probably be out by then. I’m not great at doing 3D engines and stuff, never got very far there by myself. Maybe I need to join a bigger development team to make cooler stuff.
Kojote:
If you look away from the GBA scene, which console or handheld would you consider most successful in having the most homebrew releases these days?
Dwedit:
Definitely the TI83+ scene. The high school students are learning ASM left and right for this thing, and making many more cool programs than any other handheld.
However, if you’re asking about “recent”, TI83+ development has definitely slowed down. The original and second generations of ASM wizards have graduated high school and college, and nobody appears to be taking their places.
Kojote:
How do you see the future of GBA homebrew?
Dwedit:
People who love the SNES will always want to try the GBA, since its hardware makes SNES-style games so easy to do.
Kojote:
Thanks for your time and good luck with your future projects!
Dwedit:
You’re welcome.