- Tech Member: Tech Members
- Active Posts:
- 140 (0.14 per day)
- Most Active In:
- Technical Discussion (60 posts)
- 08-September 10
- Profile Views:
- Last Active:
- Yesterday, 04:12 AM
- 21 years old
- May 29, 1991
- vgm tools and vgm packs, other random projects
- National Flag:
- Wiki edits:
Posts I've Made
12 April 2013 - 08:16 AMThe AS manual has an example in Chaper 3.4.1 where two strings are compared in a sort of case insensitive way.
But there's indeed a lack of documentation for the assemblers. At least a txt with a link to the assembler manuals somewhere in the disassembly would be nice.
12 April 2013 - 02:10 AMThe fixed IncludeDAC macro for the Xenowhirl disassembly is:
IncludeDAC macro Name,Extension Name: label * binclude "dac/Name.Extension" Name_End: label * endm
It took me a while to figure this out when I adding nicer sample tables to S2 Recreation.
08 April 2013 - 02:03 PMHow did you get it to really compile? The included S1 Sound Driver.asm is so broken that it just gave me a few errors at first.
Fix 1 - search for the first and last label of this code block and replace the code with this:
loc_71B82: lea ($FFF000).l,a6 clr.b $E(a6) tst.b 3(a6) ; is music paused? bne.w loc_71E50 ; if yes, branch subq.b #1,1(a6) bne.s loc_71B9E jsr sub_7260C(pc) loc_71B9E: move.b 4(a6),d0 beq.s loc_71BA8 jsr sub_72504(pc) loc_71BA8:
Fix 2: Search for loc_71CAC:, the comment after the rts is supposed to be
; End of function sub_71C4E
Fix 3: The asm file is 1 MB huge - that's because there's a lot of garbage at the end. Just search for EndofRom: and remove the label (s2.asm has it already) and everything after it.
Also, there are 2 typos in the guide: The underwater palette address is $FFFFF080 and has to be changed to $FFFFFA80. (And there's also $FFFFF000 and $FFFFF0E0.)
(After having written this all, I noticed that this is partly mentioned in the How-to's discussion page.)
Using the files from the Sonic 2 Clone Driver would probably be a better choice, btw. It saves you the trouble of fixing all sound effects.
One SFX in the S2 clone driver package had a bad pointer that crashed the ROM though. I forgot which one it was, but IIRC it was used in DEZ.
13 March 2013 - 12:22 PMI think I'll just decompress the driver. Maybe I could even try to find the pointers automatically. I gained some experience about these things when writing my SMPS extractor.
I plan to support pointers within banks sometime. I've seen a few SMPS Z80 games use them (e.g. Dyna Brothers 2, IIRC).
12 March 2013 - 05:06 PMThis is as good a place as any to report my experience with smps2mid, then: It's very erratic at working with files from S3&K, either that or all the ROMs online are messed up, as I had to go through 2 or 3 ROMs and various errors/freezes in order to get all the songs extracted (if I ever got them all; I'm not even sure, as I still need to name/organise them). S1/2 were OK, at least the few songs I tried.
I had lots of problems with the pointer tables in S3K (because they're part of the Z80 sound driver, which is compressed) and half of the pointers it finds are wrong.
Also some songs share data (LBZ2 uses parts of LBZ1 for example), and this causes even more problems when trying to convert the songs.
But thanks for reminding me, the next time I work on it I'll try to fix the issues.
I think Sonic 3 alone worked a bit better than S&K/S3K. I don't remember having issues with any other game (including Sonic 3D).