Castlevania II (Simon's Quest) - Multilingual enhancement

Started by Bisqwit, December 19, 2012, 01:38:36 PM

Previous topic - Next topic

Bisqwit

Quote from: kwik on February 09, 2013, 02:40:57 AMI confirm that everything is fine in 2.2.6 version, on MMC1 cart.
That is very nice to hear!

Still, I just added a release version 2.2.7 for two reasons:
― If one chooses a patch without SRAM support, and the cartridge does contain SRAM, selecting SAVE/LOAD on a menu crashed the game. That is no longer the case. This change does not affect you, unless you used the without-SRAM-support patch.
― The version number string on the title screen was one pixel too wide in English NTSC version, causing it to wrap and look bad. The version number 2.2.7 is one pixel narrower due to kerning, and thus does not suffer from that problem. This change does not affect you unless you used the NTSC version of the English retranslation.

Yes, this was a meta reason for a version bump!

EDIT: I just received a report that there are still some crashes on PAL, MMC1 and MMC3 map screens. I'll take a break from this. Sorry.

keropi

Quote from: Bisqwit on February 09, 2013, 04:32:26 PM
[...]

EDIT: I just received a report that there are still some crashes on PAL, MMC1 and MMC3 map screens. I'll take a break from this. Sorry.

does this affect only PAL mmc1/mmc3 versions or NTSC as well?

ChronoMoogle

A simple list of compatible MMCs would do the job too. People could simply avoid incompatible ones ;)

Bisqwit

Quote from: keropi on February 10, 2013, 11:34:10 AMdoes this affect only PAL mmc1/mmc3 versions or NTSC as well?
The report was about PAL. Nobody has reported to me of crashes with the latest NTSC versions.

EDIT: Version 2.2.8 released. No crash detected in my own tests either on PAL or NTSC, on MMC1 or MMC3, in any of the scenes nearby town of Jova at the start of the game.

keropi


Bisqwit

I found two save related shortcomings:
- Save does not include cleared evil walls. Therefore, if you make a save inside some rooms guarded by disposable blocks in the floor (such as the garlic vendor in Aljiba), when loading the save, you will be permanently trapped in the room.
- Upon loading a save made in a house, the screen refuses to scroll up where it should. This can also lead you into being trapped in the bottom of room. Scrolling down works and clears the problem, but it is no help, if the screen is already at the bottom.

EDIT: Version 2.2.9 released! Addressing these two problems. It also includes a minor dialog improvement for the hermit.
This brings the save size up from the previously mentioned 83 bytes into 105 bytes.

Vanya


Bisqwit

Quote from: Vanya on February 15, 2013, 08:19:53 AMHave you expand the ROM at all?

No. Except in the VRAM version (for UOROM boards), where I had to double the PRG-ROM size, because I could not fit all the CHR-data in the unused PRG regions, along with the added features, despite compression. (It wasn't short by much, meaning almost half of the expanded PRG-ROM is completely blank.)

EDIT: Released version 2.2.9.1. Fixes the hitpoint display bug on SRAM screen that occurs when hitpoints remaining=1.

keropi

Bisqwit , what is your opinion on using Madara ( http://bootgod.dyndns.org:7777/profile.php?id=1784 ) as a donor for your hack? Should be the best donor as far as I understand, right?

Bisqwit

Quote from: keropi on February 16, 2013, 07:10:37 AMBisqwit , what is your opinion on using Madara ( http://bootgod.dyndns.org:7777/profile.php?id=1784 ) as a donor for your hack? Should be the best donor as far as I understand, right?
Aside from the sentimental points, yeah, it should be the most robust choice, along with MMC4, because those chipsets have atomic mapper reprogramming (no separate command & data writes, or multiple writes per one data item, that can be interrupted by an NMI).
I now added support for both variants of VRC6. Akumajou Densetsu = VRC6a, Madara & Esper Dreams = VRC6b. They have slightly different wiring.

By the way, has anyone else noticed the odd thing that in half of the game's scenes (such as mansions, cemeteries, and wastelands), the italic colon character, :, that shows up only on the status screen, appears with a shadow, and in the other half (such as towns, forests, and caves), it does not? This inconsistency did not exist in the original Japanese FDS version, but was present in both NAR and PAL cartridge releases of the game. I kept it in this patch. Should I change it?

The original Japanese version also does not have the little glitch that allows a skillful player to cross the Carmilla Cemetary three-block obstacle the wrong way, or to make a shortcut in the stairs when returning from under a lake. It exists only in the cartridge versions (both NAR and PAL) for some reason.
All versions, however, do have the falling through floors glitch.

P.S. It's the first time that I notice that the water is different in towns and in wilderness.
P.P.S. These animations are not from an experimental multiplayer hack. It is simply an animation that was looped into itself.

keropi

Quote from: Bisqwit on February 16, 2013, 09:58:15 AM
Aside from the sentimental points, yeah, it should be the most robust choice, along with MMC4, because those chipsets have atomic mapper reprogramming (no separate command & data writes, or multiple writes per one data item, that can be interrupted by an NMI).
I now added support for both variants of VRC6. Akumajou Densetsu = VRC6a, Madara & Esper Dreams = VRC6b. They have slightly different wiring.

awesome!  :woot!: :woot!: :thumbsup: thanks!!!
but slightly different wiring? I was to use the Akumajou Densetsu wiring tbh... got any link handy with the wiring Bisqwit ? can't seem to find "good" info on this...

As for the other stuff you mention, never noticed them or even knew of these glitches  ::) :laugh:

Bisqwit

Quote from: keropi on February 16, 2013, 11:56:21 AMbut slightly different wiring? I was to use the Akumajou Densetsu wiring tbh... got any link handy with the wiring Bisqwit ? can't seem to find "good" info on this...
It is internal into the board. The A0 and A1 lines coming into the VRC6 chip are swapped in Madara & Esper Dreams. Nothing you can do about or really even need to worry about. Or then I misunderstand, in which case I am sorry. In any case, it is documented e.g. at NESDev Wiki.

Bregalad

NO ! DO NOT DO THAT !
All 3 VRC6 games are rare you should not destroy them under any circumstances ! Seriously. Especially to put Simon's Quest on it.

keropi

Quote from: Bregalad on February 19, 2013, 06:15:12 AM
NO ! DO NOT DO THAT !
All 3 VRC6 games are rare you should not destroy them under any circumstances ! Seriously. Especially to put Simon's Quest on it.

madara is rare?  :huh:

Bregalad

By rare I mean, if you go to your local garage sales and have no chances to see the game then it's rare enough so that it should not be destroyed.

In my opinion only games which are really bad or which are really common should be destroyed. For anything else, use a power pak.
Since this hack apparently supports so many mappers there is probably a million of options to get it to run without destroying a rare game.

Bisqwit

Quote from: Bregalad on February 19, 2013, 07:46:14 AMBy rare I mean, if you go to your local garage sales and have no chances to see the game then it's rare enough so that it should not be destroyed.

I would think that chances of authentic Famicom cartridges to pop up in European garage sales are neglible in general.

EDIT: Released version 2.3.0. I added an extra NPC in the game in a fairly insignificant location. This should be the final release, unless a need for additional bugfixes arises, or I get a sudden inspiration for adding the achievements support.

Turambar

Fantastic hack Bisqwit.
There is something that has always bugged me about Castlevania 2 that maybe you would be interested in changing.
On the inventory screen it has 4 digits for hearts, but you can only hold 256.
Maybe change it so that you can hold more than 256 or else make it have only 3 digits.

I think it looks better this way, how about you?

Vanya

Quote from: Bisqwit on February 15, 2013, 12:22:02 PM
No. Except in the VRAM version (for UOROM boards), where I had to double the PRG-ROM size, because I could not fit all the CHR-data in the unused PRG regions, along with the added features, despite compression. (It wasn't short by much, meaning almost half of the expanded PRG-ROM is completely blank.)

What about space for new graphics and meta-tiles? The original seems lacking in space for these.

Bisqwit

Quote from: Turambar on February 21, 2013, 12:36:37 PMThere is something that has always bugged me about Castlevania 2 that maybe you would be interested in changing.
On the inventory screen it has 4 digits for hearts, but you can only hold 256.
Maybe change it so that you can hold more than 256 or else make it have only 3 digits.

I think it looks better this way, how about you?

I agree that the 256 hearts limit is stupid, and there is really no in-game reason for the limit, considering that the number is stored in BCD, and never converted into binary. It would be trivial to increase the limit to an arbitrary new value (though if the lower two digits of the limit are ≥ 94, the code must be relocated). Does someone have a suggestion and rationale for a new limit?

However, for rendering the hearts count in 3 decimals rather than 4...  The game actually contains code only for rendering two digits at once, and not for rendering one digit. Four digits are rendered in sets of two two digits. That is why the herbs are also rendered in two digits each, even though the maximum for both is 8. Not an insurpassable problem, but also not something worth expending effort over.

February 21, 2013, 01:23:32 PM - (Auto Merged - Double Posts are not allowed before 7 days.)

Quote from: Vanya on February 21, 2013, 12:49:57 PMWhat about space for new graphics and meta-tiles? The original seems lacking in space for these.

I'm not sure whether the game actually uses meta-tiles or not.

If one actually utilized a particular mapper efficiently, you could get a much higher mileage out of the VROM space.
- MMC1 (the game originally): Can swap 4 kB VROM pages. (Whole pages of 256 tiles must be swapped at once)
- VRC6: Can swap 1 kB VROM pages. (64 tiles can be swapped at once)
- MMC3: Can swap 2 kB VROM pages for background graphics and 1 kB VROM pages for actors.
- MMC4: As in MMC1
- MMC5: As in MMC1, but also can do as in VRC6.
- VRAM: Arbitrary.
Because of the 4 kB VROM granularity of MMC1, many of the VROM pages in Castlevania II are mostly similar with only small changes, repeating the same data over and over again, wasting space.

I am not willing to sacrifice the multi-mapper support though.

But as for new graphics, even after the cursive font support that I added, the game still has a few unused VROM pages that technically could be used for new graphics. E.g. you could have three different tilesets for different mansions instead of having them all use the same tileset. But I'm not enough a graphics artist to do something like that, and such graphics changes are beyond the scope of this project in any case.

One thing that I could consider, though, is to add an escape button to the password entry screen. It has been in the designs (thanks to Bob Forgan) for quite some time, but I have not gotten around to doing it.

MathUser2929

Why not just increase the limit to 999 like what is common in many games. It'll probably break balance a little bit but I figure many people won't care about that.