Page 1 of 2
Reproducing Portopia
Posted: Wed Jan 01, 2014 12:06 pm
by Punch
I'm going to have to bump
this thread, I'm interested in doing a Portopia Renzoku reproduction, the first revision of the translation by DVD translations uses Mapper #78 and the second uses mapper #68. Now I don't know if the #78 version is compatible with the Holy Diver specific circuitry? How do I check that?
Also, when they will be available again? I can't find a purchase button.
EDIT: Thanks to our friend, lidnariq, it is possible to use a UNROM board to reproduce Portopia Renzoku Satsujin Jiken, translated by DvD Translations (Rev B)! Just apply their patch into the original rom, then use lidnariq's UNROM + Character ROM patch. I fully tested it with Nestopia, played to the end with no glitches. Have fun!
Patch:
download/file.php?id=1095 (33 bytes).
lidnariq wrote:
Code: Select all
$ sha1sum *.nes
c943a39cb4b4d67395a22138a78f74815b1f82d7 Portopia Renzoku Satsujin Jiken (J) [!].nes
7bc0b7a13495a4aa50272d845c28b3531e8e45fe TranslationFromRHDN.nes
82a7bbf67361aaa3ed72ef2df4623d1c8be4a1d1 UNROMPatched.nes
$ crc32 *.nes
9b2b749b Portopia Renzoku Satsujin Jiken (J) [!].nes
88679d11 TranslationFromRHDN.nes
10650200 UNROMPatched.nes
$ md5sum *.nes
8e2619180062804b3300477ef82a66bb Portopia Renzoku Satsujin Jiken (J) [!].nes
b0e67aa8214af3a4a831ab2e3d569415 TranslationFromRHDN.nes
e10ca85f92e3a318b0f694a116249b8a UNROMPatched.nes
Re: MMC1,2,3,4/Sunsoft-5B reproduction circuit boards. INL-R
Posted: Wed Jan 01, 2014 1:01 pm
by tepples
Look at the game running in an emulator with a nametable viewer, such as FCEUX for Windows. If the #78 version uses one-screen mirroring (all four nametables the same), it's the Uchuusen Cosmo Carrier board. But if it's normal horizontal/vertical mirroring, it's the Holy Diver board. If scrolling is visibly broken, then the emulator is using the wrong mapper variant.
Re: MMC1,2,3,4/Sunsoft-5B reproduction circuit boards. INL-R
Posted: Wed Jan 01, 2014 1:11 pm
by lidnariq
In the readme it says it's the Uchuusen (1A/1B) variant.
That said, they completely redid the translation between the two builds. Not clear why they're using a whole sunsoft 4; their translation requires only a
bus-conflict free UNROM variant with 8KiB CHR ROM instead of RAM.
Re: MMC1,2,3,4/Sunsoft-5B reproduction circuit boards. INL-R
Posted: Wed Jan 01, 2014 1:16 pm
by Punch
So I guess it is unsupported, right? I'll change manually the ines header to see if it is compatible with another mapper with that specification, lidnariq.
Re: MMC1,2,3,4/Sunsoft-5B reproduction circuit boards. INL-R
Posted: Wed Jan 01, 2014 1:21 pm
by lidnariq
Nestopia, at least, supports the Uchuusen variant by default, and makes it exceptionally hard to make hacks/homebrew using the Holy Diver variant.
It'd be really easy to re-hack the revision B translation to the funny UNROM variant I mentioned above; it basically just involves commenting out the CHR bank setup routines they've added. I don't know if any emulators support using CHRROM instead of CHRRAM on UNROM, though, and I know very few support disabling bus conflicts.
.... Actually, with only 4 banks, the bus conflict avoidance table is only 4 bytes long. Gimme a moment.
Re: MMC1,2,3,4/Sunsoft-5B reproduction circuit boards. INL-R
Posted: Wed Jan 01, 2014 1:31 pm
by Punch
Thanks for the insight, lidnariq. I'll read the docs on the Wiki and try something too.
It appears that the bankswitching is used only when text is being rendered and the nametable registers are unused. The graphics are mapped one time only, too, to replicate the character rom setup of the original program (mapper 0). Perhaps something can come out of this? Hmm.
Re: MMC1,2,3,4/Sunsoft-5B reproduction circuit boards. INL-R
Posted: Wed Jan 01, 2014 2:17 pm
by lidnariq
Haven't tested beyond the title screen, but this seems to work in nestopia:
It skips the CHR init sections and changes the banking instruction to use something that (coincidentally) avoids bus conflicts.
Re: MMC1,2,3,4/Sunsoft-5B reproduction circuit boards. INL-R
Posted: Wed Jan 01, 2014 2:29 pm
by Punch
There are some out of place dialog in ceirtain areas... I got a dialog piece from the endgame by using the command hit in the first screen...
I guess the problem is the separate 2K bank swapping that is used in the original patch. Anyway, don't waste much time on it if it is too much trouble. Thanks anyway.
Re: MMC1,2,3,4/Sunsoft-5B reproduction circuit boards. INL-R
Posted: Wed Jan 01, 2014 3:02 pm
by lidnariq
It doesn't use the advanced banking facilities at all. Honestly, at all. It's really just using the Sunsoft 4 as a fancy UNROM variant, very similar to what they were doing before with mapper 78.
Also, what "command hit" ?
Re: MMC1,2,3,4/Sunsoft-5B reproduction circuit boards. INL-R
Posted: Wed Jan 01, 2014 3:18 pm
by Punch
lidnariq wrote:It doesn't use the advanced banking facilities at all. Honestly, at all. It's really just using the Sunsoft 4 as a fancy UNROM variant, very similar to what they were doing before with mapper 78.
Also, what "command hit" ?
You sure about that? Any clues about the cause of the errors? In the readme he says:
"But, I only needed a really basic chip that simply doubles the lower bank of program ROM as this is where all the 496 blocks of text are stored. I would simply swap it based on which of the pieces of text need to be displayed at any moment.
It turned out that Mapper 78, the Irem 74HC161/32 chip was perfect. With it
you could have any number of program banks replace the first program bank, but
not change the second program bank--exactly what I needed."
it fits your description but I wonder why the text shown is incorrect.
Also, the command hit:

Re: MMC1,2,3,4/Sunsoft-5B reproduction circuit boards. INL-R
Posted: Wed Jan 01, 2014 4:08 pm
by lidnariq
OH. I see what I'm doing wrong.
The original bankswitching calls with A and Y not just in the range of 0 to 3, even though there are only 4 banks, so it'll index past the end of the bus-conflict avoidance table. For emulators (and hardware) that enforce bus conflicts, it'll then switch to bank 0 instead of 1 or 2 as it intended.
This fixes that.
Re: MMC1,2,3,4/Sunsoft-5B reproduction circuit boards. INL-R
Posted: Wed Jan 01, 2014 4:28 pm
by Punch
Have you uploaded the wrong file? I still get the same bugs.
Thanks a lot for taking your time to hack the rom!

Re: MMC1,2,3,4/Sunsoft-5B reproduction circuit boards. INL-R
Posted: Wed Jan 01, 2014 4:43 pm
by lidnariq
... Are you sure you did? The previous patch was 31 bytes, the new one is 33. With the old patch, the "hit" command when in Hanakuma wouldn't ask where to tap and would display some random crud; now it seems to DTRT.
Re: MMC1,2,3,4/Sunsoft-5B reproduction circuit boards. INL-R
Posted: Wed Jan 01, 2014 5:13 pm
by Punch
lidnariq wrote:... Are you sure you did? The previous patch was 31 bytes, the new one is 33. With the old patch, the "hit" command when in Hanakuma wouldn't ask where to tap and would display some random crud; now it seems to DTRT.
Yes... I retried a dozen times with different files to make sure. Here's the log of Lunar IPS:
Code: Select all
Lunar IPS (LIPS) Version 1.01
Apply IPS Patch Log
Offset Size RLE IPS_File_Range IPS_File_Size
------ ---- ID 00000000-00000004 5
000006 2 No 00000005-0000000B 7
00DE97 6 No 0000000C-00000016 B
00E321 2 No 00000017-0000001D 7
------ ---- EOF 0000001E-00000020 3
Total Patches: 3 (3)
And there's still wrong text:

Re: MMC1,2,3,4/Sunsoft-5B reproduction circuit boards. INL-R
Posted: Wed Jan 01, 2014 5:19 pm
by lidnariq
Just out of curiosity, do our hashes agree?
Code: Select all
$ sha1sum *.nes
c943a39cb4b4d67395a22138a78f74815b1f82d7 Portopia Renzoku Satsujin Jiken (J) [!].nes
7bc0b7a13495a4aa50272d845c28b3531e8e45fe TranslationFromRHDN.nes
82a7bbf67361aaa3ed72ef2df4623d1c8be4a1d1 MyPatched.nes
$ crc32 *.nes
9b2b749b Portopia Renzoku Satsujin Jiken (J) [!].nes
88679d11 TranslationFromRHDN.nes
10650200 MyPatched.nes
$ md5sum *.nes
8e2619180062804b3300477ef82a66bb Portopia Renzoku Satsujin Jiken (J) [!].nes
b0e67aa8214af3a4a831ab2e3d569415 TranslationFromRHDN.nes
e10ca85f92e3a318b0f694a116249b8a MyPatched.nes