Back and Better than Ever! Hmmm.... Well, Better than SOME things anyway!
(2/1/97) YES!!!!!!!!!!!!!!!!!! I finally fixed that bastard bug! I really don't believe it; I was shifting left instead of right with "LSR A". The damned weird part is, I did that in 0.10 too! It was the same totally random typo bug crashing two completely different emulators! So, incidently, 0.10 runs mario world now too. :) Note that it runs, but is not yet playable. My PPU implementation is still pitiful. Now that the 65816 core is bug free, I can REALLY get to work! Here's a screenshot of mario world (note that the PPU can't really handle the gfx yet, but the 65816 core obviously works now)
(1/31/97) Argh! My new SPC skip system dies on the only games that were playable before. I'm fed up with SPC skipping; time to put some real effort into the SPC700 emuation... But on the plus side, several more games are running. Here's the latest screenshots (without the buggy sprites turned on): (NUKEMOM.SMC, SOS.SMC)
(1/30/98) Blah. Every time a new ZSNES is released, I lose my enthusiasm for RSRSNes. Stop being so damn good, ZS!!!! :) Seriously, I'm not going to drop RSRSNes, but I'm bumping down its prority a bit. Before you cry out in anguish, let me explain: RSR64, SNES BASIC, and RPGWriter 5.0 are all much more useful projects at this point. ZS runs at 60fps in all modes on my computer, and only looks to get better; SNES is in good hands.
(1/28/98) Aack. People keep posting the URL to my personal web server; the correct URL is http://www.vt.edu:10021/R/rogrubb3/index.htm. It's not like the other URL is wrong, but my personal server is only online at sporatic times. Well, on to interesting news. I've implemented HDMA support, at least from the register point of view. It's not yet incorperated with the rendering engine, since I intend to rewrite most of the PPU anyway. I stuck in my Translation-Hint Overlay (THO file) support that I've been developing for translations to see if it would work; it does. A few more random bug fixes here and there; I'm still missing a key bug that crashes most ROMs. Also, I tried for two hours to dump the DSP ROM from Mario Kart, but it's just not dumpable. I'm trying to figure out all of its functions via debugging, but it will take too long, and it's not as important as many other parts of the emu. I wrote out on paper (during Engineering classes) my sprite rendering routine; now I just have to type it in and debug it. More progress on the debugger has been made; the mouse does useful things now. :)
(1/25/98) More interesting progress: SOS.SMC (a small homebrew game) is playable, as are parts of a few other ROMs. Still tracking down a few 65816 bugs that make most games go nuts (similar but not related to the fatal bug of RSRSNES 0.10). I've triple checked 60% of the CPU core. By the time I'm done triple checking the rest, most games should be running (aside from SPU skip problems and PPU related issues, and minor initialization issues.) HiROM support added, but incorrect in places (Save RAM, for instance). NEC 77c25 DSP emulation finished and debugged, but useless without a dump of the Mario Kart DSP's ROM. A first stab at SPC700 debugging; I've fixed 20 or so bugs in various SPC opcodes. I may or may not release the sound or DSP stuff yet (0.30 maybe?); they add nothing to the program and are still bug ridden junk. I also redid (again) my memory map emulation, setting the stage for cutting the system requirements from 12mb to 8mb of RAM. That may increase again, as I've developed some nifty methods of video rendering that require significant LUTs, hence memory.
(1/22/98) A few minor bugfixes; most of my attention today went to SNes Basic and homework. I did add first draft code for joypad emulation, so I can press a button in SONIC.SMC and run the code for the mosaic effect... not that it does the mosaic yet. I've written a new set of tile rendering routines; not yet tested, but should be fast. Maybe I'll finish writing them in Physics tomorrow... my professor's accent is so hard for me to follow I get little out of the class anyway.
(1/17/98) Progress is being made; SONIC.SMC, SNES9X.SMC, and parts of various other ROMs are now working on 0.20. Mario World's title screen sorta comes up. Hopefully (no guarantees!) I'll have 0.20 officially out by the end of the month; I know I'm late, but I have so little time.... I've written a first draft of the SPC700 and sound output routines, but they have a billion bugs still...
BTW, here's 0.20b; it's not the official release yet, but I've had it sitting around since the 7th. It runs SONIC.SMC, but that's about the limit. :) The debugger looks nice, anyway. Link to RSRSNes 0.20b source code and binaries.
Link to DOS32.ZIP (just the DOS32.EXE file, needed for 0.20 and 0.10)
Sorry to anyone who tried to run it without DOS32.EXE (thanks for pointing it out, lil)
I've removed 0.10 from the website; 0.20b has surpassed it in all areas anyway.
Well, after initially being discouraged from the SNES emu scene by ZSNES's awsome entry into the fray, I've finally decided that RSRSNes CAN make a niche for itself, with a little creative programming. Thus being inspired again (and with some really awesome ideas for HOW to make RSRSNes the greatest SNES emu), I've started on RSRSNes 0.20. Unlike 0.10, the new version was designed LOGICALLY. ;) I laid out the program's structure before writing the 65816 core this time, so it isn't as complicated. Being less complicated means it is less buggy! I've also written a decent interface this time, so the program doesn't look like a refugee from the VT100 terminal days. I learned a lot from 0.10 that is having tremendous impact on 0.20's speed; It should match any other SNES emu out there in raw 65816 emulation speed. I've also learned my lesson on Flat Real mode; 0.20 was written with DPMI in mind this time, rather than converted to it after most of the code was already written. In short, forget what you know about 0.10, because 0.20 is completely from scratch.
Version 0.20 features (so far) (as demonstrated in .20b, 1/7/98)
(C) 1998 Realtime Simulations and Roleplaying games, Inc.
All trademarks are property of their respective companies
Back to the Grog Connection