
Rattboi's WonderBoi page can be found here!
Hooka: When did you get your gp32?
Rattboi: I got it like April, 2002, I got it from lik-sang
Hooka: Cool, did ya send away for your free mug plus bonus shipping
charge?
Rattboi: No, I'm stupid
Hooka: Lol, not really I'm stupid, I ordered at Play-Asia and was
actually considering paying for the cup (don't have the money so too
bad for me)
Hooka: So, did you wind up switching over to Mr. Mirko's SDK for
the latest beta?
Rattboi: Actually, no. I did *try* to switch over to MMSDK, but I was
having some real problems porting the menu code, and since I'm
extremely lazy, it just didn't get done. All the menu code uses stuff
like GpTextWidthGet and functions that aren't in MMSDK yet (or maybe
ever, I'm not sure what he considers lowlevel/highlevel). Anyways, I'm
a fan of his SDK, and maybe someday I'll try again, since sooner or
later I want to scrap my ugly menus (I stole them from SMS32, the best
early gp32 emu).
Hooka: Is wonderboi32 v0.6 fully in c or is there some assembler?
Rattboi: Yes, it's fully C, except a few ARM CPU tweaks at init, and
the entire screen copy functions. Vertical mode should actually be
fastest, since then the screen is already rotated the correct way (got
lucky there, eh? :P)
Hooka: Would an asm core or atleast some asm routines for certain op
codes help to speed things up?
Rattboi: Absolutely. For a long time, I thought that the slowest part
of Wonderboi was the graphics code, so I started recoding it from
scratch. I had it displaying just the BG color and the background, and
I noticed that the speed hadn't really increased significantly. That is
when I wrote up a little profiling code (pretty crappy, anyways), and
found that about 2/3 of CPU cycles for every scanline were taken by
emulating the CPU (could be more like 3/4. Anyways, it was a big
number!). I then realized what I should have realized a long time
before. MAME CPU cores (which is where the WB's V30 core come's from)
suck big ass! I've scoured the Internet looking for more optimized
cores, but I really couldn't find anything that was fast and accurate.
Really, I haven't found much at all.
Rattboi: I'd really like to implement a new core in ARM ASM, but really
that is out of my league at the present time. If I had some help, I
could probably do it though. YoyoFr has told me he's really interested
in helping with it, as soon as he's finished some of his other
projects. I haven't talked to him for a while, and who knows when he'll
be done with his other projects, seeing how big and grandiose he likes
them to be.
Hooka: Could you make Wonderboi automatically make the save folder if
it doesn't exist? (I know pretty useless function, but is
semi-convenient)
Rattboi: Yeah. I think that's easy enough. I'll slate it for the next
release.
Hooka: Did Rlyeh help you with your new beta or are you still
independent and just gave him your source to play with if he wanted?
Rattboi: No, I didn't get any of rlyeh's code. I think maybe he figured
he could get a lot more speed out of it, but never released it when he
hit the same wall as I did with the crappy MAME CPU core. He *did* redo
the graphics code though. I never saw that code though. I think this
project is mostly just so I can learn stuff and figure out stuff, and
pass along the outcome to whoever wants it. At the present state, I
can't imagine a lot of people use Wonderboi all the time, but hopefully
it'll get to a point where a few people can actually show it off as a
great program for gp32.
Hooka: What other projects have you worked on/ have you helped with?
Rattboi: Well, not much.... Back in the day, when Spiv just got on the
scene, he was starting to do some stuff with the LCD hardware that I
really didn't know much about. I thought it was pretty cool, so I
started reading the documentation too, and I made a little virtual
screenbuffer demo just to see how it works. I never released it because
it was basically worthless. It worked, anyhow. Hmm, for a while (1-2
days) I was working on a text editor based off of the text editor in
GPFM from hunee. I was hoping that I could make it*NOT* word-wrap and
actually have left-right scrolling, but when I got to that part the
output started getting garbled and I ended up dropping it. Uh...the
crappy profiling code for Wonderboi... and a port of Mithris' GDB
server to win32.
Hooka: I heard something about you asking some closed source wonderswan
emulator author for his source, what was the name of the emulator and
did it work out?
Rattboi: Yeah, there's quite a few wonderswan emu’s out there, but I'm
almost certain 98% of them are based on Cygne. What seems really
strange is that almost none of these have source available, even though
Cygne is supposed to be GPL'ed. I've never really paid a lot of
attention to licenses for my own stuff, I just release the code
whenever I actually think about it, but really, all these Cygne ports
and updates to Cygne ports *should* be releasing their code, I think.
The best WS/WSC emu is Wscamp, by toshi, some Japanese guy. I e-mailed
him a long time ago and he got back to me but his English wasn't so
good. I think I asked him for his source and he didn't give it to me. I
can't be sure if he even understood what I was asking though. Also,
there's an emu called PocketWS for Pocketpc that says it's based on
some code from Wscamp that they got from toshi, and I e-mailed them and
got no response. Also, there's a guy that did some code enhancements to
OSwan, which is what Wonderboi is based off of, but I also got no
response from that guy (he didn't even have a page, just posted them to
some forum). Anyways, I haven't had too much luck with all that, but
I'll keep trying....
Hooka: Wow, a total of 69 cumulative posts on gp32x board! How's that
for ya? (Well, when I wrote this question it was ;P)
Rattboi: Hmm, is that too many? :P Nah, I'm mostly a reader, not a
writer. There are rarely chances when I think that a comment from me
will be helpful. When I *do* see an opportunity, I'll take it, but
mostly I just badmouth retards on gp32x :P. Sorry, whoever I flamed. I
can be easily irritated sometimes.
Rattboi: Sorry about so little posts. I know it directly affects this
interview, as you pulled most of the questions from the little you
could find about me on the board.
Hooka: Excellent, you listen to Hardcore Punk! What are your favorite
bands? (Do you like guttermouth at all?)
Rattboi: Hey, music! Yeah! I'm really into a lot of different music,
but I'm pretty picky. I don't really like guttermouth, and I stay away
from a lot of the thrashmetal and most newer HC bands. I like stuff
like Refused, Kid Dynamite, Reatards, Paint it Black, Zeke, F-minus,
and Virus. That's most of the newer punk I like. I also like Minor
Threat, of course, Bad Brains, Battalion of Saints, Adicts, Birthday
Party, and Crass. Other than punk, I like a bunch of stuff that
nobody's ever heard of, and other stuff like ATDI, Mars Volta, Built to
Spill, Modest Mouse, Pixies, Mindless Self Indulgence, Radiohead,
Reverend Horton Heat (will see him again next month!!! :P), Ugly
Casanova, White Stripes and White Zombie.
Rattboi: Also, just recently I've been listening to Pretty Girls Make
Graves, Franz Ferdinand and Melt Banana.
Hooka: Are you still looking for someone with webspace to host a gp32
source repository?
Rattboi: Yeah, I bring it up sometimes, but nobody ever gets back to
me. I guess only non-programmers have webspace or something. I'm
looking for a good host and also someone to do the webdev part, since
that's not my bag, baby.
Hooka: You mentioned that large ROM support is trick, how do you plan
to implement it?
Rattboi: Well, there's only about 6 games that are > 4MB. Actually,
this could be a lie, but that's about how many there were a year ago.
The WS memory is banked, so it should really be as easy as loading in
the mem from the file when the bank gets changed. This would definitely
not be fast, but I have a feeling that the banks don't get changed much
in-level and stuff. I'll have to see sometimes. I imagine that it does
the bank-switching at the beginning of a level, and there'd be a few
seconds load time for the emu to swap in the correct banks from the
file. It's nothing pretty, but it'd work.
Hooka: Would you be interested in supporting Robster's 32/64MB Mod as
an easier option?
Rattboi: Sure. I don't know much about it, but I'll help out the 4
people with 32/64 MB gp32s. If Craigix starts modding them left and
right, it'll be in there quick. It shouldn't be hard to add, I imagine.
Hooka: "I tried FF4 and it worked, but I don't know why you'd want to
play it, since there's no translation." -Rattboi, have you noticed that
there's a partial (30%) translation now on zophar.net?
Rattboi: Yeah, I saw that. I think it is only for menus or something
though. Other than that, just try the game. It's godawful slow. I'm not
even sure why it's so slow compared to the others. It must be doing
some crazy stuff in the background or something.
Hooka: You mentioned that the next beta of Wonderboi will get announced
at Gamikaze first, what prompted the Gamikaze exclusive?
Rattboi: Well, it's just as easy for me to post at Gamikaze as it is
for me to post anywhere else, except the only difference is that
Gamikaze is the only board I know being run by a good friend, Atrkid.
Some people have issues with him, but I actually know him in real life,
and I've slept on his couch. He's a good guy with great inspiration, so
I'm trying to help him out.
Hooka: You said TinyGL wasn't used in any projects, well what if I told
you if it supported the glVoxel command I would have used it to compile
LAB3DSDL? so in essence your still right... (I was three errors away!
All glVertex, but I had to tear out the sound volume code to get it
like
that ;P)
Rattboi: You actually tried to use TinyGL? I never would have thought!
I imagine it must have been slow as hell.
Hooka: I dunno, those three errors were with the compiler so it never
got compiled ;P and I wouldn’t even know where to start to get glVoxel
to work :(
Hooka: How could you tell Mr. Mirko wasn't using the gpSDK for lgfx.fxe
just by the size?
Rattboi: Have you ever seen a GP SDK program that was < 90k? I can't
think of one offhand. Those libs are just so bloated and crappy. IIRC,
that program was like 20k, so I knew it couldn't be written with GP
SDK. Somebody prove me wrong here, though, and show me a < 50k GP
SDK program, ok?
Hooka: So you like Iria, Ranma ½ and Cowboy bebop, I haven't
watched Cowboy bebop but excellent choices! Have you watched geneshaft
or Ebichu the house keeping hampster?
Rattboi: Like I said in that post, I'm not much of an anime guy. I used
to *try* to be back like when I was a junior in highschool, but it
never worked out between us... Oh well. I've never heard of either of
those animes above, but "Ebichu the house keeping hampster"
sounds like it must rock.
Hooka: Yeah, take the idea of a hampster cartoon, make sure the
hampster is a pervert and there you have Ebichu....
Hooka: So you seemed to be interested in the idea of a gp32 port of
Half-Life 2D, are you still hoping they'll port it?
Rattboi: Of course I'm hoping they'll port it. I hope everything ever
written gets ported to GP32. But I think if it actually *were* getting
ported, we'd have heard something by now. Wasn't the original made in
Flash or something. Good luck with that... :P
Hooka: What happened to all of the downloads on your Damien
Entertainment page? And how come the Me section was never implemented?
Rattboi: Well, I made that site back when I was in highschool just to
have a place for some of my projects. When I started on GP32 stuff, I
figured I'd need a page, so I moved my old page over to teoarsa with
the idea that I'd actually update it and add the gp32. This never
happened. Instead, you just get to see my crappy old site with my
crappy old projects that aren't even for the non-crappy GP32.
Rattboi: You can attribute this to my extreme laziness which I'm just
now starting to grow out of (I hope). Other examples of this would be
wonderboi's site, and the gp32stuff folder on teoarsa that doesn't even
have a site because I'm just THAT lazy!
Hooka: What exactly is GeoShell?
Rattboi: Geoshell is an alternative shell for Windows operating system
that replaces the start menu, task bar, desktop, etc. Somehow, windows
explorer is both the filemanager AND the desktop, and it sucks at both
and uses a lot of memory. I used to think there was nothing that could
be done about that, until I found Litestep, the most popular
alternative windows shell. I thought it was pretty neat, but just not
what I was looking for. Then I found geoshell and I never went back. In
Geoshell, you start with nothing. Then you can add a tiny bar (called a
gripper) and it will do nothing :P. But THEN.... you can add a plugin
to that bar and totally customize it how you want. You can have as many
bars as you want, and plugins go from the basic task list and tray
manager to plugins that report weather and pull RSS feeds from site and
stuff like that. There's really a lot of good plugins to be found on
the site (www.geoshell.com). I even wrote a few of them. I think
they've all been superseded by others by now though. That's ok.
Hooka: So did you ever post that USB communication with gp32 (pc side)
code?
Rattboi: Yeah, it's on the teoarsa site
(http://info2.info.tampere.fi/~teoarsa/Rattboi/Downloads/GP32Stuff/).
There's also some of the source of other unreleased stuff I did, and
also the source to GPFM by hunee, which is a great program.
Hooka: How hard was it to port Mithris' GDB server app to Win32? What
prompted you to do so?
Rattboi: Well, kinda hard, and kinda not. I think it took me about a
week to get it working, but I never would have gotten anywhere I think,
if it weren't for Firefly giving me some of his win32 usb code. I
really don't do much PC coding, and I knew jack about USB stuff, so I
think I learned a lot with that.
Rattboi: I thought having a tool where you can step through your code
line-by-line and actually having it run on hardware would be great. I
had never used gdb, but I knew what it was and I liked the idea (what
programmer wouldn't?). Since I have always used win32 as my dev os, I
thought it'd be easier to just port Mithris' program instead of
learning all about linux so I could run it just for that. Also, I know
a lot of other programmer use win32, and I wanted it to be available to
them as well.
Hooka: Are you actually going to update the documentation for GDB?
Rattboi: I guess I forgot about that, huh?
Hooka: So did you upload all the source code to gp32dev yahoo group or
just some of it?
Rattboi: I haven't added anything that's come out in the last 6 months,
but up till then, it's pretty current. I put anything I could find on
there, including any of my code I could find on my computer.
Hooka: What do you want to see for the future of the gp32?
Rattboi: Hmm, future of gp32? Well, I think the linux port sounds
really cool. It's the only reason I would think about modding my gp32
for more mem. I'd like to see a few more 3D homebrew games, too. But
really, I like how things are going in the scene, and I hope to stay a
part of it.
Hooka: Feel free to add anything I may have missed or if you just want
to say something feel free to do so!
Rattboi: Hmm, other stuff you missed....
Rattboi: Well, I'll go over my plan for Wonderboi. Here's my actual
plan, so nobody gets confused. I plan on adding every feature
imaginable, even though the speed will likely not increase in the near
future. Once I have every feature I can think of added, I'm hoping it
will draw in some unsuspecting awesome hacker (think YoyoFr, or maybe
Flubba, who's gp32 should be on the way to him, right Craigix?) and
he'll help write me up a new CPU core for it. This is my actual serious
plan. Don't laugh.
Rattboi: Also, I have plans for some other programs. I will list
probably 5 here and maybe 2 will get done, so don't hold it against me.
Rattboi: 1. A card-game suite extensible with LUA, so anyone can add
their own games using scripting.
Rattboi: 2. A graphing calculator program, also extensible with LUA
(mostly this program is for me to learn stuff).
Rattboi: 3. A port of Noiz2sa, which is a great shooter by ABA Games.
I've looked into this, and it'd be harder than hell, but the game just
seems so perfect for GP32!
Rattboi: 4. New filemanager modeled after Pacrom, only able to load
modules and support fxes with dynamic libs.
Rattboi: 5. Well, I guess that's only 4, sorry.
Rattboi: Other than that, I saw in Mr. Mirko's interview that he got a
few pix in and showed off his girlfriend (indirectly). Well, I won't be
left out, so I included 2 pix of me with my girlfriend. I got to say,
she's way better looking than that guy with the Zodiac/FLU/BLU pix
website's girlfriend. (Hooka's Note: We don't suggest you see this but
if you don't know what Rattboi is talking about, you have a strong
stomach and are over 18 years old, click here!)
Sorry, dude.


Hooka: Hmm, the one pic is titled Brandon+Curry2.jpg... now what would
you think if I told you that I read something on #GP32DEV that may
interest you? Well, here’s the quote:
<RobB_afk> I'm going pretty good, just having a bite to eat
before going to the pub
<RobB_afk> (last night's left-over curry)”
Hooka: Sorry Curry, I couldn’t just sit by and let you do this to them
;P (Thanks empee for helping me get the quote ;) and please note this
is a little joke, which is a good thing for Robster cause nobody should
have to eat someone else’s “leftovers”)
Thanks for your time ;P Thank you for Wonderboi, I really enjoy playing
the better GFX versions of Final Fantasy sometimes (too bad they didn't
give ff3(j) the treatment, would've been good to see it looking a
little better than those original Cabbage kids (can't remember it's
been too long ;P) or whatever look funny) Have a Good Day!
