
| MottZilla's
NES / Famicom Stuff |
April 6th, 2010 - I made a
MultiCart program for NES which is available on the HomeBrew page. It lets you put a bunch of
games into 1 cartridge and select the one you wish to play via a simple
menu.
July 5th, 2009 - It's been awhile since I've been able to work on any programming projects in part because of Windows Vista. Vista doesn't like my Compiler and the newer version of the Compiler won't build my projects. I ended up setting up a Virtual Machine to run Windows XP and it seems to solve my problems. Since I worked that out I decided to add a feature to NESSIM that I think is cool and useful in some games. NESSIM now features overclocking the NES CPU which can eliminate slowdown in games. One good example is Teenage Mutant Ninja Turtles. In the second sewer if you don't kill any enemys and swing your weapon you notice slowdown and the status bar flickering. When overclocked these problems are eliminated. Also TMNT helped me find out there was a bug in PPU emulation reguarding so called negative scroll values. Apparently TMNT 1 has been broken since the latest renderer was introduced. So some games you might want to try the overclocking feature on to see the effect, TMNT1 is great but also Kirby's Adventure and parts of Mega Man 2. Read the readme.txt file for more information on how to use the overclocking option. I also added keyboard control in the GUI for accessing most options since I realized it's possible you may not have a mouse. (Download NESSIM Build 090705) January 13th, 2009 - Here is the
first release of DMGSIM. Be aware that this is still very early in
development. I have been working on it since the last news posting but
not as much as I would have liked to work on it. One this is I fixed up
the mid-frame effects that some games use for a Status bar (similiar to
NES games). This means that Duck Tales and Mega Man 1 as well as others
have their status bar now. It also fixed a scrolling flicker issue in
Castlevania 2. And speaking of the status bars, I added some quick
Window layer support. So now all games seem to have their status bar,
such as Kirby and Mega Mans 2 and onward. Anyway you can check out the
early build on the project's page. Consider
it a beta program.
January 8th, 2009 - I did a bunch
of things to DMGSIM. One was a line based renderer. This brought about
being able to add rendering status flags. A number of games required
these to read back correctly. I also fixed some bugs with the scanline
interrupt and the result is another bunch of games working. It also got
Mega Man 2 scrolling properly and Mega Man 1 actually gets into the
game. So in general there has been progress. There are still plenty of
bugs and many games that don't work yet either at all or only work
partially or work with bugs. However some games seem to be working
alright, like Super Mario Land and Dr. Mario. I'll get around to
uploading a build of it soon.
January 6th, 2009 - I realized
today that the various documents I was using for Gameboy info varied in
their Cycle numbering. Some used "Machine Cycles" while others used
"Cpu Cycles". The result was I had the emulator running the CPU at 25%
of the speed it was supposed to, which was the cause of various games
not running. The CPU timing is fixed now and several other games are
now working properly. I also added sound emulation with Blargg's
Gameboy APU library. I also added some scrolling to the graphics
display. Still the main focus is the CPU core being debugged and then
I'll worry a bit more about the Gameboy hardware emulation.
January 5th, 2009 - Progress
continues on DMGSIM. I've got many more games showing some action on
the basic graphics display. Among them are Kirby's Dreamland, Super
Mario Land, Tetris, Duck Tales, Contra, and more. I've been busy
filling out the rest of the opcodes in the cpu core and fixing some
that were flawwed or broken. One area was the Rotate opcodes where
uncear in the documents I'd seen before but I fixed them and it had be
improvements on games such as Kirby which when the Rotates were bad,
Kirby had no level map collision and fell to his death. Similar things
happened in other games. So I'm still working on the CPU emulation. I
did add Input emulation and basic Sprite emulation to actually play
some of the games a bit more than before. I'll upload a binary of
DMGSIM when the CPU core is more complete and it's actually work using
to play a game.
January 1st, 2009 - A few days ago
I started work on a Gameboy emulator I'm calling DMGSIM
which has a page now. It's in the early stages right now. Some CPU
emulation, some graphics display, basic MBC-1 mapper support. It's got
to have the CPU core debugged and fully filled out and then I can work
on graphics rendering and sound support. So far Tetris and Super Mario
Land seem to be performing best. Asteroids may be working well too but
due to extensive use of sprites it is hard to tell what is going on.
November 23rd, 2008 - Some few
refinements to NESSIM and probably most important is the support for
loading roms from ZIP files.
September 26th, 2008 - I decided
to finally sort out MMC-6 support for NESSIM. MMC-6 is the slightly
different MMC-3 used by the two Startropics games. I also realized that
Player 2's input wasn't hooked up so it is now. No FDS saving support
yet, though that is on the todo list. The new version is on the NESSIM page.
August 17th, 2008 - Releasing a
new mapper hack today that has been done for awhile but was still in
testing. Bio Miracle Bokutte Upa! by Konami. This is ofcourse the
cartridge version by Konami using the VRC-4 patched to use the MMC-5.
You can grab it on the Mapper Ports page. I've also been working some
more on NESSIM, adding some support for some more random mappers and
such. I'll post anew version when I get time to do so.
August 11th, 2008 - Bug fix for
NESSIM. Fixes a FDS bug so now games like Kid Icarus and Zelda should
work though without saving support. Also fixed an issue when loading a
ROM with a bad header containing the "DiskDude!" tag. The emulator now
trys to load games with these tags as a regular iNES headered ROM and
not an iNES extended headered ROM.
August 11th, 2008 - Updated the
Mapper Ports page with Saiyuuki World 2 - Tenjoukai no Majin and Kid
Niki 3.
August 11th, 2008 - I've finished
some more improvements to NESSIM. All mappers have been rewritten now,
with the latest things being fixes to MMC-2, MMC-4, and MMC-5.
Castlevania 3 now appears to be fully functional as one last IRQ issue
was sorted out that was causing vertical scrolling areas not to scroll
in increments less than 8. MMC2/MMC4 more accurately emulates the
graphics bankswitching. All games uses those 2 mappers seem fine now.
Also a bug with the palette memory was fixed which fixes some strange
palette problems with MT's Punch-Out. Other mappers have had their code
rewritten as well. Save States should work in all mappers now too. You
can get the latest version from the NESSIM page..
August 8th, 2008 - NESSIM Update.
All of the previously mentioned refinements and additions are here.
Mapper #068 and #075 which are VRC-1 and Sunsoft4. I've rewritten some
mappers, including Nintendo MMC-1. It now supports SUROM however not
SOROM or SXROM yet. Most MMC-1 games should work fine now. The Save
States work with more mappers now though not all mappers. But most
important is accurate sprite priority. Sprites are now drawn with
correct priority in relation to eachother and the background which is
important for some clipping effects. Super Mario Bros 3 uses this for
masking sprites going into pipes so they appear behind them, as well as
mushrooms coming out of blocks. Castlevania also used this for secret
bonus point items coming out of the floor. You can get the latest
version on the NESSIM page.
August 6th, 2008 - NESSIM WIP
Update. I've been busy refining some things and adding more mappers.
Mapper #068 used in Afterburner was added as well as mapper #075 which
is Konami VRC-1. I've also been working on the QSV (Save State) feature
as it hasn't been updated in awhile. Many newer mappers don't support
it yet. I've been changing how I deal with state states and mappers in
general making things more organized. I'm going through and cleaning up
each mapper's emulation code and making sure save states work properly.
Another recent fix was a bug in the CPU core with the BRK instruction
which was part of why Dragon Warrior 3 isn't working, but also the only
reason why the Kid Dracula translation wasn't working. That's all I can
think of to mention for now. I'll upload a new version once I get a few
more things done.
August 4th, 2008 - NESSIM Update.
I've been working some more on the emulator. One new feature is Konami
VRC-3 support which as far as I can tell is only used in Salamander.
I've also added configuration menus for Video and Input so now those
options in the GUI are useful. I moved the Disk option above Quit, and
renamed it to Disk System. I've been refining other little things here
and there. You can set your own image as a wall paper when no game is
loaded. Just name it 'bgpic.pcx' or 'bgpic.bmp'. I've also added all of
the VRC-4 and VRC-2 games to a small database so all of those games
should run with the proper settings. I plan to add support for more
mappers, improve FDS emulation, and see about adding sprite clipping
that is used by Super Mario Bros 3, Castlevania, and Almana no Kiseki I
think. The new build is available on the NESSIM page.
August 3rd, 2008 - NESSIM Update.
After fixing SMB3, I took a look at trying to fix what was wrong with
Castlevania 3 which was requiring a hack to run and not crash. I
managed to remove the need for the hack. There is still an issue in
vertical scrolling areas where it doesn't scroll quite right. It will
be looked into. I also took another look at MMC4 and Fire Emblem which
wasn't working. I got it to run and then fixed some graphics issues so
it is playable now. Finally, I decided I wanted to add Konami VRC4
mapper support. I actually managed to get it all working in one night.
This makes games like Gryzor (japanese Contra with superior graphics
and cutscenes), Gradius II, Wai Wai World, Akumajou Special (Kid
Dracula), and Crisis Force playable. There is a problem though, the
iNES mapper number VRC4 uses is not specific enough about which version
of VRC4 is used. I've added some detection for the games I'm aware of
but if you try to play one I haven't added detection for it will
attempt to use default settings which may fail. If they do you'll have
the wrong tile graphics but the game should still play.
August 2nd, 2008 - I was bothered
by the fact that Super Mario Bros 3 didn't work in NESSIM so I finally
decided to investigate what was up with it. Other MMC3 games worked
just fine. Turns out I forgot to stop counting with the scanline
counter when the screen was disabled. It seems that Nintendo just
turned off the screen but didn't bother to disable the IRQs. Every
other developer apparently did. Atleast all the games that worked
before did as they didn't crash. Anyway, an updated version of NESSIM
has been uploaded.
July 31st, 2008 - I've been
working on several different things lately. One project which is in the
later stages of testing is a mapper port of Bio Miracle Bokutte Upa.
There are 3 versions of this game, the Disk System, the Cartridge
re-release, and a pirate hack cartridge of the FDS version. This mapper
port is of the official cartridge version which used VRC-4. The game
was originally planned to be hacked to MMC-3 but that failed because
the game fetches sprites from the background table side and screws up
the scanline counter which the game needs for the status bar. So the
game was instead hacked to MMC-5.
NESSIM also received a minor update today. It adds IRQ support to the FDS games. Bio Miracle for FDS I believe uses it as well as some other games. You'll find the updated NESSIM on it's section here. Sometime I'll get around to fixing up NESSIM some more. July 23rd, 2008 - New mapper hack
today. It's a hack of Quattro Arcade. It patches "Quattro Arcade (Unl)
(U) [h1]" to run on UxROM (iNes mapper #002) as well as removes the old
multi-cart menu making Go! Dizzy Go! look like a stand-alone game.
You'll find it on the mapper ports page. Saiyuuki World 2 and Kid Niki
3 ports are still being tested to ensure they work properly.
July 19th, 2008 - I have uploaded
a recent build of my NESSIM
emulator for anyone to check out. It is not polished and certain
features like the configuration menu in the GUI doesn't work. Read the
readme for details on how to configure it. I haven't actually worked on
the emulator in quite awhile as I have alot of projects and I felt that
I accomplished what I was going for with it already. The original goal
was not that big, just to run simlpe NROM games like Donkey Kong. When
you check it out you'll see it went way beyond that.
July 19th, 2008 - I have rewritten
the Splatter House MMC-3 patcher program. This is the third but final
change to the patch package. Previously it consisted of an IPS patch
file you had to apply and a BlitzPlus program that moved CHR data
around, then it was updated to have an integrated IPS patcher. Now I've
dumped BlitzPlus as it's bloated and unneeded. I rewrote the patcher in
C++ and now the package is a fraction of the size it was before. That
is pretty much the primary benefit.
July 18th, 2008 - Changed the
website from a single page to one of many pages. Created seperate
and new pages for everything. Upcoming mapper ports include Saiyuuki World 2 - Tenjoukai no Majin
and Kaiketsu Yanchamaru 3 -
Taiketsu! Zouringen also known as Kid Niki 3. I'm not sure when
they will be released but they are in the testing stage now.
|