News: 11 March 2016 - Forum Rules, Mobile Version
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia

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.

Messages - Gemini

Pages: [1] 2 3 4 5 6 ... 46
ROM Hacking Discussion / Re: PSX - Relocating pointer table
« on: February 27, 2018, 03:16:30 pm »
That looks like a simple int32 pointer table, hence why you get sll v0, t0, 2 @800164c0 to multiply the index by 4 (the size of int32). Alter the pointer at 800bc070 and you're done with relocating the pointer table.

Newcomer's Board / Re: Final Fantasy IX FMV Replacement
« on: February 26, 2018, 01:10:34 pm »
It's rather useless to do for two reasons: you can't go beyond a certain bitrate for videos on PlayStation, so downsampling would be required. Second reason is, they simply upscaled the original videos instead of rerendering them - again, downsampling those videos would get you nowhere in terms of improvement.

What do you mean by different locations? As in, while decompressing it can write a byte at 0x0100, then next, instead of writing to 0x0101, it writes to 0x0150 or something like that? Because I'm pretty sure it writes them all consecutively, at least it looks that way, not sure how I would check whether there happens to be a byte that is written somewhere else.
In terms of code it means that it writes decompressed data to two buffers: destination and a ring buffer. The latter is also used as source for compressed pairs.

Considering you're adding a fake compression it would take significantly longer to load and decompress bigger data rather than load roughly half the size and perform decompression from memory. You would almost never find small data with compression on top because it would be pointless / counterproductive; given how slow seek is most games would gather as much data as possible to load in one read pass, hence why it's always better to compress as intended.

It's definitively LZS with 1 byte flags and 2 byte pairs, no encryption involved at all or otherwise you wouldn't be able to read a thing. What you need to know is if uses the decompression buffer as a lookup or a ring buffer of 4KB. If it writes two bytes at different locations it's definitively using a ring buffer. There are plenty de/compressors with sources out there, it shouldn't take long to recreate for this game in particular (mind you, I've been recycling the same compression code for years with minor tweaks and it ends up working for most LZS variants). Just make sure you don't make a fake compressor that actually inserts literal data with flags set to 0 or you will end up having making the game load quite slowly (i.e. compression is used to really decrease load time, not as an anti modification protection like many usually point out).

Gaming Discussion / Re: Playing SotN for the first time.
« on: February 08, 2018, 03:00:19 pm »
As if you need healing on most bosses anyway. SOTN is kinda way too easy even if you keep Alucard underleveled.

Personal Projects / Re: Super Mario Land 2 DX [Updated to v1.12]
« on: February 06, 2018, 07:16:29 pm »
Looks quite nice to me.

Woudln't automodifying code need a cache flush before execution? I believe such case would be emulated correctly even on dynarec.

It's definitely something along those lines, but I'm just wondering about the specific choice of the word 'beanpot'. Nearly every demonology source I could find (both primary and secondary) only ever seem to link Ukobach with 'pots', 'cauldrons' and 'boilers' specifically, although these differences in terminology could almost certainly be chalked up to the Dictionnaire Infernal's translation from its original French. The copy I found on from 1863 uses the word chaudière, which directly translates as roughly 'boiler' or 'kettle', but can also apparently be used to describe any sort of vessel that is specifically used to heat liquids (like a cauldron for example, especially in older contexts like fairy tales). The kanji '釜' also appears to read in a similar fashion, with 'kettle', 'iron pot' and 'cauldron' also invariably turning up when consulting several online dictionaries.
I don't remember the specific source from where I got the beanpot reference (it's been almost 10 years now), but to Asian culture it's literally an infernal caldron like the following:

Also this could help:

Ukobach has the same exact description in SOTN. This is what we used for the retranslation:
Demon of the beanpot, appears with a flaming body.<End>

ROM Hacking Discussion / Re: Quintet compiler/decompiler
« on: January 08, 2018, 09:28:48 pm »
Made one myself a few months back in C++:

Personal Projects / Re: Breath of Fire IV [PSX] - palette correction
« on: January 08, 2018, 09:12:48 am »
I did not quite understood this post.
Many games suggesting this:

It was simply the absence of any high-range lights or darks that made me thing the effect looked 'mechanically batch processed' rather than hand selected.
Nope, it's definitively a manual selection of color. See this:

Personal Projects / Re: Breath of Fire IV [PSX] - palette correction
« on: January 08, 2018, 03:21:25 am »
Go tell that to the plethora games having color tuning screens stating that explicitly to the user. Welcome to 90s games.

Personal Projects / Re: Breath of Fire IV [PSX] - palette correction
« on: January 07, 2018, 09:14:11 pm »
It was definitively done on purpose, especially given that you can alter gamma quite easily on a tv, fixing the problem of "bland" colors.

Personal Projects / Re: Breath of Fire IV [PSX] - palette correction
« on: January 07, 2018, 02:35:38 pm »
The original colors aren't really an artistic choice, they look more like the result of a bad color converter.
Nah, they are an actual artistic choice to make a pastel palette.

Personal Projects / Re: Final Fantasy IV Prettified
« on: December 26, 2017, 12:21:53 pm »
Hopefully the prerendered battle font doesn't use every little bit of VRAM left? I was hoping to increase the amount used for background graphics at least a little bit...

I guess I kinda overdid VRAM expansion and left no empty tiles. :P

Personal Projects / Re: Final Fantasy IV Prettified
« on: December 20, 2017, 08:55:33 am »
Has anyone else tried it?
Which ROM are you using? Lenophis did some tests with the xdelta and it's working fine on his end too.

May I ask you, what font format are you using? Is it something standard like Square Font, or something home-brew?

Also I'm interested in some technical details about implementation, like how many tiles are you using to render a page, what are the limitations, maybe share some difficulties ...
Not sure what's a Square Font, but I'm using raw 2bpp fonts for almost everything. They're fast and require no extra code for proportional rendering. :laugh:
As for the actual technical part: dialog rendering uses 168 (24x7) tiles and disables pages scrolling to avoid issues with backbuffers, while messages with the 8x8 font use 192 tiles (24x8). The biggest technical difficulty was rewriting how text parsing is done, since the original does a lot of messy stuff in order to refill a tilemap, while my code goes in little steps: it expands a dialog into a buffer, formats line wraps (still WIP, it's not implemented in any release), then renders text into a canvas buffer, and finally hijacks the NMI routines to copy the canvas to VRAM.

Well... you got Defend to finally be right. The rest of that is... a place I've never looked. I assume at leave 7-8 routines draw characters to the separate menus depending on context. That has always been a bit beyond me, so best of luck!
I looked into how to hack those menus for Tomato.
I recall those menus used their own font basically with their own font encoding.
Defend, Change, and MP needed use 4bpp graphics derived from the actual 2bpp font since they are displayed on BG2. What I did there was replace the upscale + DMA transfer with actual 4bpp graphics. Finding tilemaps was a bit of a mess because battle code tends to use completely different conventions. I'm still struggling with just rendering the other strings.

Personal Projects / Re: Final Fantasy IV Prettified
« on: December 16, 2017, 03:13:41 pm »
Started working on battle stuff:

Basic VRAM "expansion" done (moved BG3 graphics to a previous VRAM page, it exploits some unused ranges which granted me more than 350 tiles to work with), now I just need to find every single damn routine that populates this mess. :P

Personal Projects / Re: Final Fantasy IV Prettified
« on: December 08, 2017, 08:03:56 am »
There is one XML files, which is used to generate static tiles for menus, the rest is stored as simple TXT.

Meanwhile I fixed the issue with BG2 jumping around during NMI transfers, it was some error caused by xkas assembling stuff incorrectly. The patch should be updated, same like if you wanna try it.

Personal Projects / Re: Final Fantasy IV Prettified
« on: December 07, 2017, 12:03:21 pm »
Aaaand done with the last game crashing screen, aka the scrolling Prologue:

It recycles a good portion of dialog and Mysidian legend code, so it didn't take very long to do. Unfortunately I couldn't use the larger font here because there isn't enough VRAM to fit the greater amount of tiles it'd need (and it mimics the GBA prologue, which is for the better).

Also, while I was at it, I included a new control code to horizontally center strings in dialog, similarly to what Prologue and Mysidian legend do:

With these two out of the way the game is currently fully playable and can be tested already. The current patch can be found here:

For those too lazy to downloa and patch the rom, here goes a video with the first 35 minutes of game:

Shouldn't be that hard to make the window text-length-dependent.
Just a thought - take it or leave it.
The way I currently set it up makes that a bit complicated, but it also makes location windows behave similarly to their counteparts on GBA (which is what I was aiming for).

Pages: [1] 2 3 4 5 6 ... 46