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 - Reld

Pages: [1] 2 3 ... 5
1
I don't know if this is a "known" thing or not, but I haven't seen it mentioned either here or on The Cutting Room Floor page, so here it is.

I was poking around in the English ROM, specifically looking at the "Overworld Data" at $06FD10. Each overworld has a 23 byte entry, the first 8 bytes of which determine which background tile graphics to load. In the final release, the 8th slot is always unused. It's set to $80 for all overworlds, which causes the game to just skip that loading routine. If you set it to a valid number instead it will decompress the tiles to RAM at $7EB800, where they will just sit and do nothing. This reminded me of how animated background tiles are handled for locations, so I figured this might be part of a scrapped background animation feature for overworlds.

I decided to check the Prerelease ROM to see if it was any different. Instead of all being set to $80/unused, in the Prerelease slot 8 is mostly set to either $24 or $25. So I fired up the game and checked what was decompressed to $7EB800 and saw this:



It might not be totally clear what that is, so here it is with the tiles rearranged and a couple of special palettes made:



These are leftover animated background tiles from the old V-Fes 94 "flat" overworld.

Unfortunately, graphics packs $24 and $25 in the Prerelease appear to be identical, so there weren't any other new old tiles to find. The compressed packets are at $059DD4 and $05A183.

2
Chrono Trigger Modification / Re: Enabling Tile Animations (wip)
« on: December 18, 2022, 11:45:42 pm »
Triple post. These are my old notes on the L1 & L2 tile animation data. I made these notes for myself, so I'm not sure if they'll make sense to anyone else or not.

3
Chrono Trigger Modification / Re: Enabling Tile Animations (wip)
« on: December 18, 2022, 11:02:57 pm »
These are my notes on the actual data itself. Not the most readable thing in the world, but could be useful.

4
Chrono Trigger Modification / Re: Enabling Tile Animations (wip)
« on: December 18, 2022, 10:05:26 pm »
The data Mauron has labeled as layer 3 tile animation data is actually palette animation data like Zakyrus was originally saying. Mauron's right about the number of packets (6), although it's probably worth noting that there's overlap between some of the packet groups. If a packet is unused it just gets a single $00 byte.

It's been a little while since I looked at it, but here are my notes on the format of the data.:

Code: [Select]
***************************************************************************************************************************
MODE 10: PALETTE SEQUENCE, LINEAR ORDER
***************************************************************************************************************************
1T UU VV WW ZZYYXX
---------------------------------------------------------------------------------------------------------------------------
T = number of "sets" - 1
UU = CGRAM offset (start position in screen palette)
VV = number of colors per "set"
WW = delay
XXYYZZ = pointer to start of palette data in ROM (note: pointers are little-endian)
---------------------------------------------------------------------------------------------------------------------------
Loads a series of color "sets" in a linear sequence with VV colors each starting at XXYYZZ
loops back to first "set" at end
---------------------------------------------------------------------------------------------------------------------------
Example:
13 11 03 09 6875F6
---------------------------------------------------------------------------------------------------------------------------


***************************************************************************************************************************
MODE 80: PALETTE SEQUENCE, ARBITRARY ORDER
***************************************************************************************************************************
8T UU VV WW ZZYYXX [Palette Offsets (count varies)]
---------------------------------------------------------------------------------------------------------------------------
T = number of steps - 1
UU = CGRAM offset (start position in screen palette)
VV = number of colors per "set"
WW = delay (number of frames - 1)
XXYYZZ = pointer to start of palette data in ROM (note: pointers are little-endian)
Palette Offsets = multiply by number of colors and add to pointer
---------------------------------------------------------------------------------------------------------------------------
Loads a series of color "sets" with VV colors each starting at XXYYZZ in the order specified by the Palette Offsets
loops back to first Palette Offset at end
---------------------------------------------------------------------------------------------------------------------------
Example:
8F 27 04 10 8075F6 00 00 00 01 02 03 04 05 05 05 05 05 04 03 02 01
---------------------------------------------------------------------------------------------------------------------------


***************************************************************************************************************************
MODE 20: FORWARD CYCLE EXISTING PALETTE
***************************************************************************************************************************
20 UU VV WW
---------------------------------------------------------------------------------------------------------------------------
UU = CGRAM offset (start position in screen palette)
VV = number of colors
WW = delay
---------------------------------------------------------------------------------------------------------------------------
Cycles VV colors in currently loaded palette in a forward direction
---------------------------------------------------------------------------------------------------------------------------
Example:
20 7D 02 0C
---------------------------------------------------------------------------------------------------------------------------

***************************************************************************************************************************
MODE 30: BACKWARD CYCLE EXISTING PALETTE
***************************************************************************************************************************
30 UU VV WW
---------------------------------------------------------------------------------------------------------------------------
UU = CGRAM offset (start position in screen palette)
VV = number of colors
WW = delay
---------------------------------------------------------------------------------------------------------------------------
Cycles VV colors in currently loaded palette in a backward direction
---------------------------------------------------------------------------------------------------------------------------
Example:
30 2D 02 0A

I've also attached a GIF I made that kind of illustrates how Mode 80 works.

5
Chrono Trigger Modification / Re: Temporal Flux Version 3.04 R1 Released
« on: December 16, 2022, 07:30:04 am »
It should. I haven't tested it with plugins that extensively, but they seem to work like they should. I don't think I changed anything that should effect them. Unless you have a secret music plugin in the works. That's the only area I can think of where there could possibly be a conflict.

6
The two big kanji are 覇王 which apparently means overlord(?) and is pronounced the same as the smaller  "HAOH" in the middle. I've never heard of it before though, sorry.

7
For Game On! November 1994 -- I had this for some reason under that category:

https://www.chronocompendium.com/images/wiki/6/69/I-img1200x900-1548056574cajfow199895.jpg (November)
https://www.chronocompendium.com/wiki/index.php/File:Game_On_October_1994.jpg (october)

Do you think I may have had these out of place? I'll go ahead and put your scan under November for now.

That was my mistake. The Game On! scan I posted is from the December issue, not November. I just corrected my post. I scanned that one separately a while before the others and at the time I was putting together a timeline in my head and I was focused on when I thought the issues were actually published, and I think I labeled the image "Nov 1994" for that reason.

Quote
The attached Mystical Knights concept art is totally new, right? Do we think it was done by Toriyama? I'll get it on Official Art. I have to add that Crono timeline explanation art, too, even if the magazine did it...

I could be wrong, but I think that artwork was created by the staff at Dengeki Super Famicom. It shows up in one other issue that I have but haven't scanned yet, plus I believe that Flea artwork showed up in a Twitter post around the same time that the character concept art for the PSX cutscenes did, and I think It was from another Dengeki Super Famicom issue that I don't have (the poster never said which issue).

8
Chrono Trigger Modification / Re: Chrono Trigger - Music Expansion
« on: November 18, 2022, 12:28:14 am »
That sounds good. I'll have to listen closer tomorrow to figure out what you removed during the 12-part polyphony.

I did a bunch of channel juggling and relied a bit on the idea that our brains kind of fill in the gaps when one sound is interrupted by another louder sound. For example, most of the time the kick and snare are on one channel together, but sometimes the snare switches over to the hi-hat channel and the kick moves to the beepy synth channel. You can hear it if you're specifically listening for it, but it's not really noticeable if you're just giving it a casual listen (or at least that's the idea). I also dropped the closed hi-hat sample and just used the open hi-hat with different release values to change the length, and I replaced the superfluous xylophone sample that was in the instrument table with the "french horns" or whatever they are.

Quote
Regarding the drum table, I just.... didn't do anything.  8)  It seemed to be all direct-address loading, rather than loading based on the index number of the song, so I didn't touch it.

Oh wow. This is kind of a problem actually. Just like the instrument table, the drum table has one entry for each song that's accessed by the song number. They're 36 bytes each, starting at $071871 in the ROM. I just tried the latest version of the patch and went to the dance exhibit where One Sunny Day When We Met plays. It tries to load the percussion table from $072441, which is past the end of the percussion table data and into the old echo buffer/volume table. This should have broken the song, but it looks like somebody (Gi Nattak?) went through the song data, removed the "Drum Mode On/Off" commands, and added in a bunch of manual instrument changes. I'm guessing they must've done this for some of the other songs too. It works, but it's kind of a bandaid solution, and it's a problem if you want people to be able to use this as a starting point for adding their own songs.

EDIT: I explained the percussion table a bit in this thread.

EDIT 2: I think this is the code that needs modifying (probably just the three lines that set the base address)
Code: [Select]
lda $05        ;C7059C Load song number
and #$00ff    ;C7059E
sta $82        ;C705A1 Multiply by 36...
asl a          ;C705A3 Multiply by 36...
clc            ;C705A4 Multiply by 36...
adc $82        ;C705A5 Multiply by 36...
asl a          ;C705A7 Multiply by 36...
asl a          ;C705A8 Multiply by 36...
sta $82        ;C705A9 Multiply by 36...
asl a          ;C705AB Multiply by 36...
clc            ;C705AC Multiply by 36...
adc $82        ;C705AD Multiply by 36...
tay            ;C705AF Transfer to Y
sep #$20      ;C705B0
lda #$71      ;C705B2 Setting the base address for the Percussion Table (C71871) at $1e12
sta $12        ;C705B4
lda #$18      ;C705B6 Setting the base address for the Percussion Table (C71871) at $1e12
sta $13        ;C705B8
lda #$c7      ;C705BA Setting the base address for the Percussion Table (C71871) at $1e12
sta $14        ;C705BC
lda #$f1      ;C705BE
sta $2143      ;C705C0
lda #$20      ;C705C3
sta $2142      ;C705C5
lda #$03      ;C705C8
sta $2141      ;C705CA
lda $84        ;C705CD
jsr $09da      ;C705CF
sta $84        ;C705D2
lda #$03      ;C705D4
cmp $2141      ;C705D6
beq $05e0      ;C705D9
ldx #$000c    ;C705E0 Number of 3-byte entries
lda [$12],y    ;C705E3 Loading percussion table data and sending to SPC
sta $2141      ;C705E5
iny            ;C705E8
lda [$12],y    ;C705E9 Loading percussion table data and sending to SPC
sta $2142      ;C705EB
iny            ;C705EE
lda [$12],y    ;C705EF Loading percussion table data and sending to SPC
sta $2143      ;C705F1
iny            ;C705F4
lda $84        ;C705F5
jsr $09da      ;C705F7
sta $84        ;C705FA
dex            ;C705FC decrement entry number
bne $05e3      ;C705FD if there are entries left, loop back to C705E3


9
Chrono Trigger Modification / Re: Chrono Trigger - Music Expansion
« on: November 17, 2022, 04:39:51 am »
Lesson learned: always listen to Reld.

Nah, I'm wrong about stuff way too often for that to be sound advice  :lol:

I did my own arrangement of A Meeting With Destiny. I wanted to see how much of the song I could cram in there, and also tweak a few things. There are tradeoffs no matter what you do due to the polyphony issues you mentioned before, so it's not necessarily "better". The attached zip file has the binary data for the song in case you want to use it, but if not that's cool too.

By the way, what did you do with the percussion tables? They aren't listed in the spreadsheet with all the moved stuff (unless you've added it to the new version. I've still been messing with the old one). I didn't use it for this arrangement so it didn't really matter, but I assume you must've moved them or else a bunch of the songs would be broken.

10
Chrono Trigger Modification / Re: Chrono Trigger - Music Expansion
« on: November 15, 2022, 01:14:57 am »
Quote
Scattering Blossoms also works at $04, unless I'm missing something.

Are you using the newer version where you dropped an instrument? With the older version a value of $04 messes up the tambourine sample causing it to randomly glitch out and loop. I did my calculations earlier with the older version because I was assuming you'd prefer not to cut out an instrument.

11
Chrono Trigger Modification / Re: No Helmet Lucca Patch
« on: November 14, 2022, 04:28:43 pm »
Totally unsolicited, so no worries if you don't like it, but what do you think of this for the portrait? I was trying to bring it a little more in line with the existing portraits. Whether I succeeded or not is debatable.

12
Chrono Trigger Modification / Re: Help needed - manually changing an event
« on: November 14, 2022, 11:59:20 am »
Quote
when you edit a compressed event packet with Temporal Flux, rather than making edits to the event itself, it instead abandons the original code (leaving it in its usual place in the rom) and creates an uncompressed copy in the rom's free space

As far as I'm aware the new copy of the events should still end up compressed, although there might be little chunks of identifiable raw event data within the compressed packet.. Probably what happened with that Piano Player event was that the modified packet ended up slightly larger than the original when recompressed, so TF moved it to somewhere it would fit. If it didn't have anything else to stick in the old space at the time you'd end up with an abandoned old copy. I don't know exactly how TF decides when and where to move stuff .though

13
Chrono Trigger Modification / Re: Help needed - manually changing an event
« on: November 14, 2022, 02:22:34 am »
If you're doing it in a hex editor the pointer for touch is at $0145 (value = $AD05), and the one for Arbitrary0 is at $0147 (value = $AE05) in the decompressed event packet. If you change those to $AB05 and $AC05 (1 less than the address Temporal Flux shows) it should work.

14
Chrono Trigger Modification / Re: Chrono Trigger - Music Expansion
« on: November 13, 2022, 07:57:36 pm »
That's really useful information. I was wondering what all of the pairs of "05 FF" were about. I think I can use that to smooth out "Ascend to the Light" a little bit. In this instance though, that wasn't the case. The tracks "Scattering Blossoms" and "A Meeting With Destiny" were written with the Chrono Trigger soundfont, but they were not written to be playable on SNES. (Example: there is one point in the original "A Meeting With Destiny" where there are 12 individual notes playing at the same time, far exceeding the SNES's maximum of 8.)

The actual problem was that CT uses remarkably high-quality BRR instrument samples for its time, and they were surpassing the SNES's maximum RAM. Both Gi and I still use ZSNES as our main emulator, and that does not cap the RAM, so we didn't notice until I started recording videos on SNES9X.

We don't know why we didn't catch this during the arrangement phase, but if I had to venture an educated guess, it's that Gi probably arranged these using the lower-quality FF6 instrument BRRs, since he is more familiar with them, and then once he had everything right, found the equivalent instruments in Chrono Trigger.

I'm sorry if this comes across as rude, but this doesn't appear to be accurate. I had downloaded the old version a while ago and just done nothing with it. I just patched a ROM and investigated Scattering Blossoms. The total size of the instruments is $8bd1 bytes, which would put the start of the echo buffer at $d900 (so a value of $03 in that table instead of $05). I tried that and the glitchy sounds went away. For that song at least it doesn't exceed the total size of ARAM. It just overflows into the echo buffer like I suspected. I'm gonna check A Meeting With Destiny now, but I'd bet it's the same deal.

EDIT: Yeah, same deal. Instruments cross into the echo buffer, but don't exceed the available space in ARAM. For A Meeting With Destiny the echo buffer needs to start at $e100, so a value of $02 instead of $05.

15
Chrono Trigger Modification / Re: Chrono Trigger - Music Expansion
« on: November 13, 2022, 06:58:51 pm »
Finally, the arrangements for "A Meeting With Destiny" and "Scattering Blossoms" exceeded the available RAM of the SNES. In ZSNES, this was no problem, but in BSNES or SNES9X, or on original hardware, the RAM overflow would cause popping and glitching in these 2 songs. Gi Nattak and I have done a slight re-arrangement of the songs so that they require 1 less instrument each, and fit in the SNES's available RAM.

If the problem with those two tracks is what I think it is, it can be fixed without dropping instruments. The tail end of the sample data is probably overflowing into the echo buffer and being constantly overwritten. You have to move the start of the echo buffer, which can be accomplished by changing the first byte in the list of two-byte entries at 07241D/C7241D in the original ROM (haven't checked where you moved it to in this hack). The second byte appears to be a master volume for each song, but I haven't really investigated it much. Could be useful if some of the new songs seem too quiet compared to others.

For the first byte, these are the valid values, and where they put the start of the echo buffer in ARAM:
Code: [Select]
$00 = $f100
$01 = $e900
$02 = $e100
$03 = $d900
$04 = $d100
$05 = $c900
$06 = $c100
$07 = $b900
$08 = $b100
$09 = $a900
$0a = $a100
$0b = $9900
$0c = $9100
$0d = $8900
$0e = $8100
$0f = $7900

So basically you have to add up the total size of the instrument samples used, add $4700 (which is the starting address for the samples in ARAM), and then round up to the closest value in the above list so that the echo buffer will be sure to start after the end of the samples. I just discovered all of this fairly recently when somebody asked me to fix some things in Prophet's Guile and Flames of Eternity for them so they could play on a flash cart (off topic, but maybe I should post patches for those in another thread?) For Prophet's Guile and Flames of Eternity I slapped together a quick and dirty command line tool to calculate it automatically. I can probably modify it to work for this hack. Should just be a matter of changing the start addresses for the pointer tables and the number of songs. I'll give it a look later if you want.

Pages: [1] 2 3 ... 5