September 5th, 2016 - Some random additions posted. My Famicom Disk System to Cartridge conversion of Almana no Kiseki is now available. Thanks to Guntz
for mentioning the BPS patch format to me. The older IPS fomat wouldn't
allow for the FDS file to be patched into a cartridge ROM as nearly
everything in the file is moved around which IPS doesn't support. I
meant to release the patch over a year ago but forgot about it. I added
a Zombies Ate My Neighbors hack which allows for editing your inventory and skipping levels. Since the last news update I did further my progress on MZSNES
to include things like HDMA and IRQ support. I haven't worked on it in
awhile though. I changed my IDE/Compiler awhile back as I was so used
to an old MSVC that I was running it in a VM since Vista didn't support
it and I finally got tired of that. Using Dev C++ although I haven't
installed it on my new machine I built recently. Before migrating
machines I had started to work on a 68000 core to further my experience
with that CPU. I was planning to try to emulate some arcade games.
Hopefully I'll get back to that eventually. I also played around a bit
with Playstation homebrew with ideas to continue the Ninja Gaiden IV
project on it possibly. I guess that's enough rambling for now.
December 31st, 2014 -
During the last two months I have been working on my own SNES emulator,
MZSNES. For most of that time I've been working on adapting my 6502 cpu
core from my NES emulators to become a core for the 65816. The core has
all the instructions and is basically complete but needs debugging
still. Certain games show problems that are likely due to some cpu
bugs. Graphics emulation is pretty basic and tile based. No support for
HDMA or IRQ mid-frame effects. I do have sound emulation through
Blaarg's SPC emulator but the integration isn't even close to perfect. MZSNES
November 18th, 2012 -
After developing the patch that allowed for multiple saves on the
SmartCard I was interested in doing more. I have created a whole new
menu for the SmartCard. The main feature is a whole new memory
management system. Unlike the previous patch this one doesn't care what
slots games are stored in on the FlashROM. It doesn't matter if you
change which games are on the card, save data is managed independently.
Also the new menu has some support for detecting if a game needs a
patch to run correctly. All the games I currently know of that need a
fix are included. It's just an advisory, incase of a false positive or
error on my part you can still start the game. But this should warn
people that don't know about a patricular game if they will have
trouble. Castlevania 2 for example runs fine until later in the game
where I believe it crashes which would be very frustrating. So having a
warning about this should be helpful. The menu's database for fixes
could be updated later if more games are discovered to need fixes. Get
the menu from the SmartCard section to the left.
November 7th, 2012 - I
have developed a patch for the Gameboy 64M SmartCard that adds SRAM
management. Normally you can only have 1 game save on the cartridge at
a time. This is annoying since the cartridge has 64 megabits of space
which can easily fit multiple games which may or may not need SRAM to
save data. Now with this patch the 1 megabit of SRAM is broken up into
pieces allowing for up to 13 game saves on the cartridge at once. I
have also added some more game fixes and now there are save fixes for games that normally
are not compatible with the new SRAM management system. The SmartCard
section is on the menu to the left.
September 15th, 2012 -
Update for NESSIM. Little changes and additions I can't remember, plus
I added mapper #78 for Holy Diver. I added this because other emulators
apparently use a CRC or other detection of the Holy Diver ROM to decide
on which style of mirroring it uses. And recently a prototype version
was dumped and it did not run correctly on the other emulators I tried.
NESSIM Build 120915)
March 1st, 2012 -
I've updated my Ninja Gaiden III hack and renamed it. It is now the
Restored version as I finally have restored a password feature to the
game by programming a new password system into it while still using the
old symbols and passwords from the Japanese version. Get it on the Hacks page.
February 29th, 2012 -
I added a new little hacking project, Mega Man X Debug Menu, to the Hacks page.
- I added a Codes
share some of my interesting Game
Genie/Action Replay codes. I also finally added some of my Hacks
to the website too. I also updated the Mapper Ports
page. I also redesigned the
website to make it easier to maintain.
- 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
July 5th, 2009
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
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)
- 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
it a beta program.
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.
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.
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.
- 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.
23rd, 2008 - Some few
refinements to NESSIM and probably most important is the support for
loading roms from ZIP files.
- 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
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.
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.
11th, 2008 - Updated the
Mapper Ports page with Saiyuuki World 2 - Tenjoukai no Majin and Kid
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..
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.
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.
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.
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.
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.
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.
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.
- 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.
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.
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.