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!