Discussion of development of software for any "obsolete" computer or video game system. See the WSdev wiki and ObscureDev wiki for more information on certain platforms.
ccovell wrote:I recommend a TFMX-Player for the Amiga Turrican TFMX tunes, then. Try DeliPlayer if you have a Windows PC.
Or try xmp-delix plugin for XMPlay if you want something that's still being worked on (I have the latest beta build here with audio.device support - something that DeliPlayer didn't have).
Or, if you're using *nix, there's UADE.
It sounds good, but the timing is slightly slower than in the actual game. Kingshriek, could you help me with the timings, 'cause I have no idea what is wrong. (I used the Sailor Moon file as reference, as you suggested.)
Sounds okay to me - I'm not detecting any difference in speed between the two (for the few tracks I've sampled at least). Is the problem isolated to a few specific tracks or is it global in scope? Also, are you comparing the two with the same player, because some HES players (particulary NEZplug) can have some strange timing problems at times.
What I'm seeing in the HES (timing-related $E0D8 calls):
LDA #$02 , STA $F8, LDA #$02, STA $FF, JSR $E0D8 (60 Hz base timer)
LDA #$00 , STA $F8, LDA #$00, STA $FF, JSR $E0D8 (use TIQ)
LDA #$2A , STA $F8, LDA #$0A, STA $FF, JSR $E0D8 (use timer index #$2A, which sets $0C00 to #$68)
As far as I can tell, the tempo isn't ever set by the music data itself so I expect $0C00 to be invariant over all the tracks.
Just to check that I'm hearing things ok, I've also checked $0C00 in-game with a sampling of music and I also find it to be #$68. I also verified that the music is indeed driven by TIQ by changing the timer value in a save-state and reloading (the music tempo changed as expected).
OK, I checked the HES file in Mednafen (which has a very useful debugger, by the way...) and the tempo of the Download 2 rip seems to match the real game. I guess NEZPlug just sucks...
OK, today I felt like ripping the sound effects of Gate of Thunder just for the fun (and frustration) of it. Here is the HES:
I've figured out the reason for the sound discrepancy.
In the sequence data for track #$22, the FM data index is set to 03, but this index gives $FF00 as the FM pointer, so the game is pulling FM data from bank 0 of the system card. Checking $FF00 there gives a whole bunch of #$FFs. But in the HES, $FF00 is the start of the RESET routine. Thus, the HES in interpreting code as FM data.
The easiest way to resolve this is to copy $FF00-$FFFF from the system card to somewhere in the HES, and then change the FM pointer so that it points to this location. The address of this pointer is $A3AA ($43AA in the HES file).
I'm not sure whether or not anyone rips HES files anymore. However, I could probably do a VGM rip of it.
I'm lucky, Kingshriek had a rip of Order of the Griffon on his site.