News: 11 March 2016 - Forum Rules

Author Topic: The Minucce Yard  (Read 16291 times)

minucce

  • Full Member
  • ***
  • Posts: 106
    • View Profile
Re: The Minucce Yard
« Reply #120 on: December 02, 2021, 06:40:05 pm »
Yes, I definitely like it! Like your other work, very nice job.

Not sure what surprise project you'll spring on us next, but I'm glad I could give you some closure.
(and give me another something to look forward to with my 1st playthroughs, eventually)

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1735
    • View Profile
Re: The Minucce Yard
« Reply #121 on: December 02, 2021, 07:46:56 pm »
Awesome, thanks for the feedback!
I'll work on implementing the FastROM hack tomorrow then :)

I'll also attempt to trim the ROM to 3MB instead of 4MB, since there's nothing in that last megabyte. As for the header data for the ROM size, according to what I've read, is it the byte located at 0x0081D7 (or 0x007FD7 without header) in the ROM?

minucce

  • Full Member
  • ***
  • Posts: 106
    • View Profile
Re: The Minucce Yard
« Reply #122 on: December 02, 2021, 07:58:22 pm »
I checked Final Fantasy 6 (3MB HiROM).
- $80:FFD7 = $0C  (4MB).

Super CV4 Uncensored = $0C ($80:FFD7 or $7FD7 raw).

So I guess you just chop the last 1MB and you're done!

---------------

The Kirby report about Kracko rolling the eye in GB Vanilla seems incorrect; couldn't ever get it to happen (always just rumbles).


Which means I should look at Bugs Bunny 2 GB and see what effects are missing.

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1735
    • View Profile
Re: The Minucce Yard
« Reply #123 on: December 03, 2021, 01:42:04 pm »
Indeed, it seems like it already has the header modified for the size, so all that was needed was trimming the last 1MB and it's working properly as a 3MB game :D

I have also already implemented FastROM into it, and seems to be working just fine from the couple of levels I played.
The very last thing I tried to do, was to prepare an optional patch to restore the Chain Whip sound from the Japanese release, but seems like the audio data is compressed somehow.

From the SC4ED source code, I could only find this related to sounds/music:
Code: [Select]
// music
for (unsigned i = 0; i < 0x23; i++) {
DWORD addr;
addr = 0x81 << 16 | *LPWORD(rom + SNESCore::snes2pc(region == 0 ? 0x81B610 : 0x81B5DA) + (i * 2));
addrList.push_back({ addr, numLevels });
}

I tried looking around, as I remember someone already doing it, and I found this:
https://www.romhacking.net/forum/index.php?topic=21867.msg409190#msg409190

However, that IPS patch seems to only work on more modern expanded ROMs by SC4ED (the ones that do have data above 3MB). I'll see what else I can find.

minucce

  • Full Member
  • ***
  • Posts: 106
    • View Profile
Re: The Minucce Yard
« Reply #124 on: December 03, 2021, 08:47:41 pm »
https://github.com/minucce/workbox/raw/c651b0ef8b84fe464fdef549e6d04e5fc3381879/box7/ChainWhipSound.ips
(credit to bogaabogaa)


Source
https://github.com/minucce/workbox/raw/c651b0ef8b84fe464fdef549e6d04e5fc3381879/box7/chain_whip.7z


Summary
1) Add decompressed SPC data to ROM
2) Patch waveform envelope bytes courtesy of bogaabogaa

------------

Bugs Bunny 2 DX

1) Restore warp fade effect


2) Fix black flicker

3) ??

December 03, 2021, 10:32:36 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Original Bugs Bunny 2 game tries to target 20 fps when inside rooms. Experimental patch to limit gbc mode to 20 fps everywhere.
https://github.com/minucce/workbox/raw/ed56371498896d8b59cb106a4dd0deacd537b9ca/box9/dx_plus.ips

(I might make this a "plus" patch later on, as some may want the boosted 30fps)

vs
« Last Edit: December 03, 2021, 10:54:37 pm by minucce »

marc_max

  • Jr. Member
  • **
  • Posts: 83
    • View Profile
Re: The Minucce Yard
« Reply #125 on: Today at 02:46:16 am »
Bugs Bunny 2 DX

1) Restore warp fade effect


You might have already posted it here but I can't find it. Could you share the fade subroutine?
I'm working on a 32kb GB/C game and I'm trying to use the most optimized subroutines. I've done mine but I'd like to take a look at others as well :-) I've found others on the net, but they aim for soft per-frame transitions and code is too long.

minucce

  • Full Member
  • ***
  • Posts: 106
    • View Profile
Re: The Minucce Yard
« Reply #126 on: Today at 08:49:54 am »
Bugs Bunny 2 DX is here
https://github.com/minucce-yard/Bugs_Bunny_Crazy_Castle_2_GB/tree/9beb86aa4ba2bfac87d21ff8d36b7b00ec28d74e/gbc_compatible/fade_screen

https://github.com/minucce-yard/Bugs_Bunny_Crazy_Castle_2_GB/raw/9beb86aa4ba2bfac87d21ff8d36b7b00ec28d74e/gbc_compatible/fade_screen/main.txt


Short story:
There were 6-7 static bgp palettes and ~4 static obj ones. I pre-computed the tables (33%, 66%).

0% and 100% are sent using hacker's upgraded engine (black or white) - basically hard-coded spin loops.


This one is sent during h-blank time; normally it'd make sense during vblank but the engine is setup this way so I went with the flow.

Eas(-ier) version.

---------------------------------------------

And one for Kirby's Dream Land DX.
https://github.com/minucce-yard/Kirbys_Dream_Land_GB/tree/d92c16b7c4ccd5621753199604d4a64efc10e21a/dual_support/recolor_objects/screen_fade

https://github.com/minucce-yard/Kirbys_Dream_Land_GB/raw/d92c16b7c4ccd5621753199604d4a64efc10e21a/dual_support/recolor_objects/screen_fade/tables.txt


Short story:
This one drove me nuts (1st one). You might remember that there's 1 static palette for the whole game, but there's separate patches for LCD pink. And it can fade to black or white.

I didn't want to expand the rom to include the full tables so this is dynamic generated like snes games. And original hacker hard-coded all the colors (in asm) so I read the colors from vram (adds 1-2 frames but most don't care).

Dynamic code is pretty long.


The actual upload is done during vram per old engine.
https://github.com/minucce-yard/Kirbys_Dream_Land_GB/raw/d92c16b7c4ccd5621753199604d4a64efc10e21a/dual_support/recolor_objects/screen_fade/%40__fade.txt

KDLDX has dual mono / color support so you'll notice the branching.


There's also soft-patching color done for various rooms (Lolo, Credits, ??); that's just replacing affected colors per fade frame on-demand.

----------------------------------------

I'm not sure how many ways to do fading but I haven't needed to do a very tight one (fortunately only 2 with some room to spare). You're likely to keep running into more gb faders with your future colorizers. :-]
(which hasn't stopped you from releasing full quality builds!)

Today at 10:07:32 am - (Auto Merged - Double Posts are not allowed before 7 days.)
I suppose for a small rom, you could rle pack the graphics and compress the palette data + code. Use the gbc wram 1-7 to your benefit.
« Last Edit: Today at 10:07:32 am by minucce »

marc_max

  • Jr. Member
  • **
  • Posts: 83
    • View Profile
Re: The Minucce Yard
« Reply #127 on: Today at 12:32:18 pm »
Dynamic code is pretty long.
This response works. I'll stick to hardcoded fades then, seems to be the smallest way.
In a GBC colorization hack is totally different since there are no space limitations as you can always double the ROM size and hardcode all palettes there, which it's what I've done with Mega Man World 5 DX. Indeed, I'm storing all fades (including all white or all black) in different banks but same pointers and offsets, so I just need to select a bank depending on DMG palette registers.

(which hasn't stopped you from releasing full quality builds!)
Thank you! Let me add, you've been lately doing great contributions to GBC colorization hacks with your recent fixes :-)


I suppose for a small rom, you could rle pack the graphics and compress the palette data + code. Use the gbc wram 1-7 to your benefit.
Yeah, almost everything has been compressed using Mobile Golf's compression algorithm, which seems to give impressive results. The game is just 11.5kb at the moment, so I've got enough room for music, new levels and enemies!


Anyway, sorry for the little offtopic, keep up the good work!

minucce

  • Full Member
  • ***
  • Posts: 106
    • View Profile
Re: The Minucce Yard
« Reply #128 on: Today at 01:41:24 pm »
At the Yard, nothing is really off-topic here; there are a surprising number of quiet readers.

Anything here is fair - makes the place more interesting to visit. :)

--------------------------------------------------------

Quote
Yeah, almost everything has been compressed using Mobile Golf's compression algorithm, which seems to give impressive results. The game is just 11.5kb at the moment, so I've got enough room for music, new levels and enemies!

Holy! That is amazing statistic. I heard that Phantasy Star Gaiden (GG) has a pretty efficient graphics algorithm (I think it was documented by the PS1 (SMS) team).

----------------------------------------------

Quote
This response works. I'll stick to hardcoded fades then, seems to be the smallest way.

My Kirby generator is $6b30-$6a17 = $119 asm bytes. (8 tables generated = $800 bytes)

(maybe not that big after all but it will eat up cycles if done on-demand; I do at it at boot because it's just 1 palette. I really don't want to hear complaints about making things noticeably slower = loading times, game lag).


I imagine you're going to have a lot of tables for something big like Mega Man World 5 DX. Having everything uncompressed though does make it easier for other hackers though to privately addendum your post-project.

---------------------------------------------------------------

Quote
Indeed, I'm storing all fades (including all white or all black) in different banks but same pointers and offsets, so I just need to select a bank depending on DMG palette registers.

Bugs Bunny 2 DX hacker did the same thing.


DKLDX hacker used wram 1-7. For any bank switch, places new code right afterward.

So it was like this all over the place:
3:D800 = ldh ($70), a
4:D802 = (new code)

I think same with ROM switches too. Drove me crazy trying to debug it for Goomba.

---------------------------------------------------------------

Quote
Thank you! Let me add, you've been lately doing great contributions to GBC colorization hacks with your recent fixes :-)

To be fair, I do small work. Stuff that others ignore and I can stay a blip at the edge of radar.


It took KDLDX hacker 2 weeks to make colorizer, which seems awfully fast. That would take me several years at best, I imagine because investing that amount of effort would turn me off.


And you work on a variety of larger, massive, time-consuming, higher-profile games. But the great stuff takes time; people seem to expect translations and colorizers released at the speed of "instant oatmeal".

(it's why I stopped participating with many non-rh projects even as a consultant, plus other things here and there. Too many greedy expectations)

-------------------------------

Something I eventually want to do is give small reviews for the site. Even for my own stuff later as a post-mortem when they're fresh out of my system.


Right! Back to whatever makes one happy!

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1735
    • View Profile
Re: The Minucce Yard
« Reply #129 on: Today at 03:22:22 pm »
https://github.com/minucce/workbox/raw/c651b0ef8b84fe464fdef549e6d04e5fc3381879/box7/ChainWhipSound.ips
(credit to bogaabogaa)


Source
https://github.com/minucce/workbox/raw/c651b0ef8b84fe464fdef549e6d04e5fc3381879/box7/chain_whip.7z


Summary
1) Add decompressed SPC data to ROM
2) Patch waveform envelope bytes courtesy of bogaabogaa

Oh you figured out the pointer!
That's where I left off yesterday, I was trying to find which pointer and where the SC4ED editor was decompressing the data, so that it could be manually imported into the 3MB uncensored ROM.

Neat stuff!
The patch you provided doesn't work tho, it's the plain Chain Whip IPS by Bogaa.
I downloaded the main.txt you uploaded, compiled the ROM with asar...
And it still had an awful SPC bug, where all the music was playing with some screeching instruments (almost ear piercing).

I did some digging and found out the issue:
Code: [Select]
org $df8000

.whip_sound_data:
dw $b803 ; end ptr
db $80 ; uncompressed flag


The end pointer was wrong, it's supposed to be this:

Code: [Select]
org $df8000

.whip_sound_data:
dw $3803 ; end ptr
db $80 ; uncompressed flag

With that, I have also made an optional patch that restores the original US SFX for the chain whip, for those that want it.
I sent the update already, it's awaiting approval, but all in all, thank you yet again for all the help with this! I have also added you to the credits for Uncensored :)

minucce

  • Full Member
  • ***
  • Posts: 106
    • View Profile
Re: The Minucce Yard
« Reply #130 on: Today at 03:57:27 pm »
Quote
The patch you provided doesn't work tho, it's the plain Chain Whip IPS by Bogaa.
..
And it still had an awful SPC bug, where all the music was playing with some screeching instruments (almost ear piercing).

Wow. My hearing must be off or I'm confusing all the ROMs. For some reason, I was thinking the music was passable. (Laugh!)


And people don't believe me when I claim how many bugs I end up creating.

Thanks for the correction!

Today at 04:03:20 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
You might want to credit Vitor also for the FastRom.. :)

Today at 09:04:49 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
My luck ran out for Ys 1 again.






This will definitely take some work. It requires maintaining 2 hud fonts (normal, indoor npc) and possibly 2 alphabet fonts also.

At this point, I may just force switch to MMC3 and fix the Sprite 0 hud tile pixel glitch. Plus expand the rom if needed.


I will update for Datchy compatibility plus other new fixes (minus the black burn). Guess now we know why they left the portraits that way.
« Last Edit: Today at 09:04:50 pm by minucce »