11 March 2016 - Forum Rules

Main Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - blipform

I'm not great at explaining but I'll keep poking at it! Let me think ..


You could directly insert back into ROM if you're feeling lucky about it.

-- in_file name: portal_name2.bin
-- out_file name: dwm.gbc
-- out_file offset: $15ad0f

In my case, I'm okay because it's smaller than original.

old = $15ad0f - $15ad7c
new = $15ad0f - $15ad7a (+2 bytes)


The alternate way

-- in_file name: portal_name2.bin
-- out_file name: portal_name2.p.bin
-- out_file offset: -1

This creates a new file named "portal_name2.p.bin". Let me get back on the asar follow-up ..

September 17, 2020, 01:33:14 PM

I chose to re-crunch all 16 names. And created this asar script.

Which we run this way with command-line:
asar --no-title-check gate_names.txt dwm.gbc


-- Enter patch name: gate_names.txt
-- Enter ROM name: dwm.gbc
-- Warning .. title .. lala: yes

note: storall's asar version currently has some dumb bug with incbin. So you'll need to edit "arch gb.cpu" --> "arch nes.cpu" to get the inserter working. I already reported it and hoping for an updated version.

If you only want to re-insert names 2+3, it should be "simple" enough to modify the script. But experience has shown me otherwise many times.
Personal Projects / Re: Dragon Quest I - IV: Delocalized
September 17, 2020, 09:29:31 AM
The official revised scripts match the tone of the newer games, some fantasy fun that doesn't rub off that death, apocalypse feeling of your typical serious, gloomy "horror" story.

But I don't think 1 or even 2 localizations will ever cover the whole entire picture. There's many "valid" interpretations of the content and context that it's worth checking them all, if you're interested in what others bring to the (DQ) scene.

It may not "match" what the original creator intended but there is value in making it your own; go see the lots of fan fiction out there.

tl;dr. Yes! I'm happy there's more "multi-verse" interpretations of these games. I don't consider there to be 1 ultimate definitive forever translation.
I realized that only Quest 1 gives the hints (walls, trees); Quest 2 is full-on blind guessing. So it matters less imo if it stands out.

Use a different foliage, like a Willow Tree? To make things more interesting, spread some fake Tree markers everywhere. Add a bunch of grouped Willows so you won't know which one hides the staircase.

When you get the candle, you'll remember to try them all later. Like when you run out of bombs but know where the cracks were.
Oh, right. That step. I choose 'no' to keep file size the same; otherwise it adds lots more junk bytes which usually you do not want.

portal_name2.p.bin is the new product you want to manually re-insert back into the ROM. But! You'll have to check the old compressed size to make sure it fits first. I use storall's asar mod to do the insertion for me and checking / ptr remapping; it's like xkas but extended for other systems, but more than a bit buggy.

If you are absolutely sure it fits, you can do a command-line insert
dwm1_crunch portal_name2.bin rom.gbc 0x15ad0f
dwm1_crunch portal_name3.bin rom.gbc 0x15ad7d

portal_name1.bin  -- in: $67 bytes, out: $90 bytes, $15aca8 - $15ad0e
portal_name2.bin  -- in: $6e bytes, out: $90 bytes, $15ad0f - $15ad7c
portal_name3.bin  -- in: $61 bytes, out: $90 bytes, $15ad7d - $15addd
portal_name4.bin  -- in: $52 bytes, out: $90 bytes, $15adde - $15ae2f
portal_name5.bin  -- in: $66 bytes, out: $90 bytes, $15ae30 - $15ae95
portal_name6.bin  -- in: $40 bytes, out: $90 bytes, $15ae96 - $15aed5
portal_name7.bin  -- in: $4f bytes, out: $90 bytes, $15aed6 - $15af24
portal_name8.bin  -- in: $65 bytes, out: $90 bytes, $15af25 - $15af89
portal_name9.bin  -- in: $50 bytes, out: $90 bytes, $15af8a - $15afd9
portal_name10.bin -- in: $32 bytes, out: $90 bytes, $15afda - $15b00b
portal_name11.bin -- in: $52 bytes, out: $90 bytes, $15b00c - $15b05d
portal_name12.bin -- in: $63 bytes, out: $90 bytes, $15b05e - $15b0c0
portal_name13.bin -- in: $76 bytes, out: $90 bytes, $15b0c1 - $15b136
portal_name14.bin -- in: $79 bytes, out: $90 bytes, $15b137 - $15b1af
portal_name15.bin -- in: $68 bytes, out: $90 bytes, $15b1b0 - $15b217
portal_name16.bin -- in: $79 bytes, out: $90 bytes, $15b218 - $15b290

If it doesn't fit, you'll have to manually move your portal_name2.bin somewhere else in ROM (like $15b2xx-15bfff area) and remap the pointer table. Or recompress all 16 and remap the ptr table to fit in-place. There's lots of empty space though.

September 15, 2020, 04:34:02 PM

Fixed command-line. $ hex support doesn't exist yet, only 0x. I'm going to modify the crunchers to accept $ and prompt for insertion support.

September 15, 2020, 06:09:13 PM

Both crunchers are updated.
Personal Projects / Re: storall's backend bakery
September 14, 2020, 08:57:22 PM
I've got a bug report for the asar mod. This script looks rather harmless

except it bugs out with the incbin but only for gb.cpu mode (nes.cpu actually works correctly). Something about invalid number reported.

Was wondering if you know of a better way to fix this problem. I really like your asar hack btw, I've used it several times over for my own stuff. Having a full Z80 SMS/PCE mode would be great also.
Tilemap locations:
german rom 17e4f3  [$77 bytes]
usa rom 17e4f1  [$92 bytes]

Which gives us this patch

I'll add some user prompt support to the exe and note an update here when it happens.


Summary of previous posts:

1. LZ just means dictionary compression, based on previous data. So
abcdeabcdabc ==>
abcde[abcd][abc] ==>

We can copy from the previous "abcde" string to recreate the next strings. Save space.

2. The teleporter names have a ptr table @ $15801f, 2 bytes each entry or 16-bits. If the new packed data doesn't fit, you'll know to look here when shuffling everything around.

3. German logo uses same packing math as the gate names. I chose to make it smaller since it doesn't fit in the USA rom so easily.

Tilemaps are basically stored "raw" and copied over. So using the bgb vram viewer -- bg map window, I was able to find the rom locations. Turns out German uses smaller maps than USA so I didn't need to move anything around.

A tilemap is a bunch of painting codes that draws the screen: [tile 00][tile 01]..[tile 50].

Hope that simplifies everything.


Exe tools are updated and now ask for input if run directly
Oh no! Didn't think of checking the intro sequence. I'll locate and update the logo patch.

You can open the bin files using a tile editor like YY-CHR.

Just drag-drop file into editor. Switch format to 2BPP GB. Then draw away! Although you could draw mixed-case for the whole list to get fancy.

Exe file is command-line driven.

But otherwise I have no idea why it would fail.
Didn't stratoform post some asm for standalone brick physics earlier?
Thanks for the correction! :)
Sure! That works for both of us. I think both are stable from several hours of playing. Great game to play so far.
Thanks for the save assist! Started some work and it's doing some type of vram copy routine @ ROM0:1590. Source comes from R056:6CAB [$15acab]. Some type of hand-painted vwf tiles.

15acab = 8 raw - [code 01] [02 05]

Some decompression routine kicks in here. I'll update as I understand more.

September 12, 2020, 11:46:56 AM - (Auto Merged - Double Posts are not allowed before 7 days.)

It's a LZ* copier routine, 12-bit window + 4-bit length (with extension to 8-bit). The buffer wrap code I don't get but I'll see if I can cook some tool to help along.

September 12, 2020, 03:02:49 PM - (Auto Merged - Double Posts are not allowed before 7 days.)

Here's the unpacked bitmaps.

With the source code here.

Still have to figure out the packer.

September 12, 2020, 10:49:18 PM - (Auto Merged - Double Posts are not allowed before 7 days.)

So the good news is my packer works, and produces slightly tinier sizes (often 2-3 byte savings).

There's a 16-bit ptr table @ 15801f-15803e for the bitmaps. I'm not sure if your edits will fit in-place but you could either: recompress all graphics for some savings or just shove the large ones at end of bank $56.

I expect some problems using the tools but I'll hang around for this part.

As a side-note, this LZ was decent. Instead of using bitflags, it reserves an unused byte code as the escape. Which saves some shift math time and space. And you can use the pre-buffer space for zero'es compression.

September 12, 2020, 10:59:31 PM - (Auto Merged - Double Posts are not allowed before 7 days.)

I am now somewhat interested in trying to port the German title logo over to USA also. As much as I think it should be simple, I've been surprised many times over before though. Let's find out!

September 12, 2020, 11:11:10 PM - (Auto Merged - Double Posts are not allowed before 7 days.)

Uploaded new cruncher exe tools; forgot to static link the gcc dependency libs so no one has to hunt them down.

September 13, 2020, 12:03:11 AM - (Auto Merged - Double Posts are not allowed before 7 days.)

And title logo patch for USA rom.

Short answer is:
1. Found German logo (16f455, 16faf7)
2. Recrunched it to save some bytes
3. Replaced original English logo (16f455, 16fa8d)
4. Remapped ptrs (16c041, 16c043)

5. Found German nametable (17e56a)
6. Replaced USA nametable (17e583)
I've made two fixes to the original game engine, which so far is compatible with your English translation.

1. Fixes menu border tile colors.

Engine failed to cache 1 byte for tiles at odd addresses.
(I haven't fully tested this one through entire campaign)

2. Correct amount of EXP now printed.

Game failed to notify you about the bonus exp added. So it said 2 exp when you gained 3 actually.
(This one seems working)

I should upload these to rhdn but I have to get pics created.

As for the header patching issue, you could invalidate the base rom with 16 bad bytes so that your patch will force recreate the correct expanded header and always be included with the ips.

The game can work with Mesen using a patch.
Quote from: Jorpho on September 10, 2020, 11:03:56 AM
Is there a good established news source cataloging all these details yet?

I haven't seen a real centralized source, just a bunch of twitter and reddit postings.

But I guess some places cover the basics.

And some older recent stuff.

Something I'm not getting is.. if N had all this unreleased stuff in cold storage, couldn't they have polished and released in their virtual store? They managed to pull off some good retro surprises.
Basically an impressive computer that had redbook CD audio (talkies!) and was a successor to their older 9801 and 8801 models. A PC clone that costed $3000 on release!

(if you know what the Commodore 64 is, then you'll understand the comparison to its Amiga successor)

The graphics could approach Arcade ports.

And it was one of several Japan ideas that never floated over here.
That's actually interesting to learn about the LV2 delay. The SNES EU release just dims in-out between stages, while the USA and JPN releases have a fancy zooming spotlight special effect. Although now I'm wondering if they tweaked the soundtrack also between regions..
Personal Projects / Re: The Legend of Zelda: A New Light
September 11, 2020, 09:58:18 PM
are you trying to look for the meat or bait item?

burn some trees in the OW as a few underground shops have it but after burning some trees

Yes, that's what I was thinking. Found so many secret entrances but clearly missed some bushes somewhere. I'm determined to find it; thanks for the hint! :)

September 13, 2020, 12:16:50 AM

Hilariously found Dungeon 6 and 8 first, and basically every other entrance. Then I finally find the secret blowout shop. I was sure I burned that tree before but I must've got sloppy with the hit detection each time.

All's good and I'm finally back on my way. Thanks again for the hint!

September 14, 2020, 11:38:02 PM

A:20 X:00 Y:0A S:FA P:nvUBdIZC      $887E: A4 EB     LDY $EB = #$72
A:20 X:00 Y:72 S:FA P:nvUBdIzC      $8880: B9 7E 69  LDA $697E,Y @ $69F0 = #$53
A:53 X:00 Y:72 S:FA P:nvUBdIzC      $8883: 48        PHA
A:53 X:00 Y:72 S:F9 P:nvUBdIzC       $8884: 29 3F     AND #$3F
A:13 X:00 Y:72 S:F9 P:nvUBdIzC       $8886: 85 02     STA $02 = #$08

So it loads enemy $13 for Dungeon 4, Room 1 (entrance). Which is visually some type of single digdogger?

Went to ROM $18882 and replaced $53 -> $18 (no enemy?). Seems to work for me after exiting and re-entering dungeon.

ROM $18812 = Triforce, Dungeon 4. $13 -> $18 (no enemy?).
How do I access that portal screen? I'd like to try debugging it.
I'm wondering if anyone knows some games where you thought the English script was better than the Japanese original? Or the other way around with original English and Japanese afterward? I'm thinking more of additions, reworked, embellished, expanded or flat-out new edits that don't resemble the original incarnation.

Might and Magic (NES) had an interesting number of Japan dialog edits including puzzles to be curiously different, not to mention the large number of gameplay and graphic changes. Soul Blazer (SNES, EU) had some of the hints changed to be less direct so I lean more towards that revision.

I'll also include NA vs EU also to the list. Like the Professor Layton (GBA) series had large parts of the v1 English cleaned up and redone with other various improvements that I actually prefer those more. Lost Vikings 2 EU came first but a decent amount of the script was changed for NA; some jokes I thought made more sense with original UK humour.
All I could suggest is to keep asking around every 3-6 months. You'll keep fishing out lots of different, new opinions. And everyone else will keep asking the same thing also on top. :)

Like I've pulled up a few threads
(- insert infinite number of threads -)

There's so many masterpiece hacks that I'm likely never going to play or get around to or even learn about. :(

Of which I haven't even tried the 3 hacks you mentioned on OP. And the 1 homebrew.
I'm wondering if it's doable to make audio hints for secret trees, rocks, walls? For sword or boomerang testing. The visual clues are great for novices but they stand out.