Sonic and Sega Retro Message Board: OSX support in S3&K dissassembly - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

OSX support in S3&K dissassembly Working locally, does SVN want it?

#16 User is offline Orangy Tang 

Posted 17 July 2011 - 05:04 AM

  • Posts: 9
  • Joined: 24-June 11

View PostMainMemory, on 17 July 2011 - 04:46 AM, said:

Also for some reason you commented out the line that defines Sonic3_Complete.

That's deliberate - it's done in the build scripts now. There's separate scripts for S3Complete and S&K. The advantage being that the buildAndVerify script can build both off the same source and check they both build (and S&K is byte accurate). Theres a more complete description in the readme (or a few posts up).

Would have been nice if you've have read the posts or asked me about this first, because by reverting it you broke the build scripts. :( I've fixed it up again now.
This post has been edited by Orangy Tang: 17 July 2011 - 07:04 AM

#17 User is offline flamewing 

Posted 17 July 2011 - 12:13 PM

  • Emerald Hunter
  • Posts: 766
  • Joined: 11-October 10
  • Gender:Male
  • Location:Brasil
  • Project:Sonic Classic Heroes; Sonic 2 Special Stage Editor; Sonic 3&K Heroes (on hold)
  • Wiki edits:12
Did you notice that you have completely reverted my extensive modification of the sound driver? Damn it, man, next time update from SVN before you merge changes!

On other news: I now remember hos AS was misassembling: it is because of its truly boneheaded handling of strings. In the S2 disassembly, several macros are used that automatically include/binclude parameter files. If AS is not in case-sensitive mode, it converts the parameters to uppercase and can't find the files in a case-sensitive file system API. If AS is in case sensitive mode, it can't correctly handle the macros anyway and fails spectacularly. As far as I am concerned, I will keep using AS through Wine until FraGag's assembler is finished, at which point I will ditch AS completely.
This post has been edited by flamewing: 17 July 2011 - 12:42 PM

#18 User is offline Orangy Tang 

Posted 17 July 2011 - 01:34 PM

  • Posts: 9
  • Joined: 24-June 11

View Postflamewing, on 17 July 2011 - 12:13 PM, said:

Did you notice that you have completely reverted my extensive modification of the sound driver? Damn it, man, next time update from SVN before you merge changes!

Damn. I'm very sorry about that - I *did* update before merging, honest. I'm gonna ditch this SVN client and find a different one I think. Although I don't know how it happened since I branched *after* those changes were checked in. Oh well. Again, sorry about that.

Quote

On other news: I now remember hos AS was misassembling: it is because of its truly boneheaded handling of strings. In the S2 disassembly, several macros are used that automatically include/binclude parameter files. If AS is not in case-sensitive mode, it converts the parameters to uppercase and can't find the files in a case-sensitive file system API. If AS is in case sensitive mode, it can't correctly handle the macros anyway and fails spectacularly. As far as I am concerned, I will keep using AS through Wine until FraGag's assembler is finished, at which point I will ditch AS completely.

That sounds like a nasty bug. Do you know of any specific cases where it fails in case-senstitive mode? Presumably this isn't an issue with the S3k disassembly since it's building fine, but it would be good to know/avoid.
This post has been edited by Orangy Tang: 17 July 2011 - 01:34 PM

#19 User is offline flamewing 

Posted 17 July 2011 - 02:00 PM

  • Emerald Hunter
  • Posts: 766
  • Joined: 11-October 10
  • Gender:Male
  • Location:Brasil
  • Project:Sonic Classic Heroes; Sonic 2 Special Stage Editor; Sonic 3&K Heroes (on hold)
  • Wiki edits:12
The S&K disassembly is safe for now because it doesn't use macros to include/binclude files -- the moment it does, it will start to fail to build as described. Examples of the problem abound in the Sonic 2 disassembly: search for 'palette macro' and look at the table below it, for example. Zone ordered tables (done using zoneOrderedTable) with zoneTableBinEntry entries also fail. And so on.

#20 User is offline flamewing 

Posted 04 July 2012 - 12:59 PM

  • Emerald Hunter
  • Posts: 766
  • Joined: 11-October 10
  • Gender:Male
  • Location:Brasil
  • Project:Sonic Classic Heroes; Sonic 2 Special Stage Editor; Sonic 3&K Heroes (on hold)
  • Wiki edits:12
Recently, I became unable to build due to changes in Wine again. When I went to do a regression testing, I found out that Canonical is rolling out a new method of distributing dependency libraries (multiarch) which basically prevented* me from building Wine (since multiarch is buggy and prevents installation dev packages for amd64 and x86 at the same time), which prevented* me from doing regression testing. So I decided to try this again, and tried harder to figure out what was causing assembly to fail.

I have now built S2 successfully on Linux with native tools only. I have fixed SVNHg to build correctly. Here is how to build it:
  • Install unzip and g++ through your favorite package manager.
  • Get the asl source code, compile and install. I recommend this version I made based on Tang's code, applied to the latest AS source code.
  • When you want to build your hack, run the build.sh script at the root of the disassembly. This script will do the following:
    • If needed, it extracts the source files from build_source.zip and compiles all binaries needed;
    • everything else done by the bat file, but natively.
  • Profit.
* Unless, of course, I want to install a virtual machine with 32-bit Ubuntu just to make regression testing...
This post has been edited by flamewing: 13 July 2012 - 06:28 AM

  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users