6647c004b86e2

6647c004b9483
1 Guest is here.
 

6647c004ba123eisnerguy1

6647c004ba192
°SS1src

the first steps in my opinion:

-get the current development environment running: this is the only (working) reference available

clean full description how to install/compile/run shockmac

maybe someone can provide a complete image based on
https://www.macintoshrepository.org/ (MacOS 9, CW 10 Gold Tools (IDE 1.7), System Shock for Mac)
or http://macintoshgarden.org/

for SheepShaver or the latest qemu seem to start supporting MacOS 9 good enough to be also useable
->this part can be done by anyone - even non programmers to support programmers who just don't want
to fiddle with the installation problems

-get all the included Library test projects running (helpfull for porting)

-get a simple unit-test for size of short/int/long on the reference platform - sizes could be sometimes strange

-replace the PPC asm with C - while testing on original platform

-understand how the Mac game data needs to get changed due to the big endian nature of PPC, major work can be needed if the data format is not endian aware - for example: direct reading/casting of integers

- start to think about porting to other platform, this is the time when CR+LF gets interessting etc......, and yes CMake would be great

keep the communication here: the forum works and is well known, and some github fork will become the master over time - that is nothing which can be decide beforehand - without having already serveral developers working together on the port

So, I joined just for this.  I've actually already got the code to build a bunch of times. Here's my setup:
01 February 2014 build of SheepShaver for Mac OS X
Mac OS 7.6.1
CodeWarrior 10 Gold

The How to compile section in the Read Me is actually really helpful.
How to compile:

1. Double-click on the CodeWarrior IDE 1.7 icon to start the IDE
2. Open one of the projects inside the folder ShockMac:Libraries
3. Click on Project -> Make to build the library.
4. Move the generated library file to the folder ShockMac:Lib
5. Close the project by clicking on File -> Close
6. Repeat steps (2) to (5) for the following projects:
             *ShockMac:Libraries:2d:2dLibPPC.µ
             *ShockMac:Libraries:3d:3dLibPPC.µ
             *ShockMac:Libraries:DSTRUCT:DSTRUCT.µ
             *ShockMac:Libraries:EDMS:EDMS.µ
             *ShockMac:Libraries:FIX:FIX.µ
             *ShockMac:Libraries:FIXPP:FIXPP.µ
             *ShockMac:Libraries:INPUT:INPUT.µ
             *ShockMac:Libraries:LG:LG.µ
             *ShockMac:Libraries:PALETTE:PALETTE.µ
             *ShockMac:Libraries:RES:RES.µ
             *ShockMac:Libraries:RND:RND.µ
             *ShockMac:Libraries:SND:SND.µ
             *ShockMac:Libraries:UI:UI.µ
             *ShockMac:Libraries:VOX:VOX.µ
7. Open the project ShockMac:LIB:LGHeadersPPC.µ
8. Precompile by clicking on Project -> Precompile
9. Close the project
10. Open the project ShockMac:Shock.µ
11. Click on Project -> Make to build the game.
12. Make sure the game resources are in the folder ShockMac:Data
13. Launch the game.

I know it says Mac OS 9 but, CodeWarrior 10 Gold runs great in 7.6.1.  I'm actually recording a quicktime video of the whole process of building the code (from unzipping the source zip file to compiling & running).   I could even record a separate video of installing CodeWarrior if needed.  I'll upload it to YouTube when I'm done.  I'm also investigating the process of porting the code to Carbon (which would allow it to run on Mac OS 8.6 with CarbonLib & Mac OS X 10.0-10.6) and then Cocoa and then making it a Universal Binary (running on PowerPC & Intel).  Just getting it to Carbon is the first step.
« Last Edit: 20. November 2019, 22:27:31 by Moderator »
Re: Getting the mac source to build reproducably
6647c004ba3c5
@eisnerguy1

Great! (for poeple like me who never touched any MAC-stuff at all)

-do you think its possible to share your sheepshaver disk image - or are the tools still under licence restrictions?
-would be great to give it a test under windows/linux sheepshaver
-and linux/qemu (lastest git-build i think)
-would be also nice to have a dependency list of the used MacOS libs/functions (or external libs) for people like me without MacOS/Dev-Environment knowledge

would be great for starters to just grab the original-development environment with everything up and ready

and then Cocoa and then making it a Universal Binary (running on PowerPC & Intel)
i think the PPC asm stuff will prevent that :)

-did you try to compile the test projects under Library?
would be great to have a list of all available projects plus if compileable
« Last Edit: 09. April 2018, 08:19:34 by Bert3 »

6647c004ba982eisnerguy1

Re: Getting the mac source to build reproducably
6647c004ba9df
@eisnerguy1

Great! (for poeple like me who never touched any MAC-stuff at all)

-do you think its possible to share your sheepshaver disk image - or are the tools still under licence restrictions?
-would be great to give it a test under windows/linux sheepshaver
-and linux/qemu (lastest git-build i think)
-would be also nice to have a dependency list of the used MacOS libs/functions (or external libs) for people like me without MacOS/Dev-Environment knowledge

would be great for starters to just grab the original-development environment with everything up and ready
i think the PPC asm stuff will prevent that :)

-did you try to compile the test projects under Library?
would be great to have a list of all available projects plus if compileable

I should be able to.  I'll create a new clean disk image tomorrow.  Qemu requires a guest os to be running Mac OS 8.5 or higher.  Ah, damn.  Well, I can stop spending time on that porting idea  :/   I didn't try to compile the test projects under Library but, I can give it a shot.   

edit:
I've uploaded 4 videos to this Mega shared folder (I hope that's ok):
  • *Vid_01_CW10Gold_Install.mov:                  CodeWarrior 10 Gold installation
  • *Vid_02_SystemShock_Mac_Setup.mov:     Extraction of the "shockmac-master.zip" file.  Deletion of the ShockMac folder (some important files got wrecked when this folder was included in the zip file) & extraction of the ShockMac.sit file (this contains a clean version of the ShockMac folder).  At the very end of the video, I tried compiling the "2dLibPPC.µ" file.  SheepShaver froze and crashed, hence why I split the compiling part into it's own video.
  • *Vid_03_SystemShockCompiling.mov:        Compiling of the various libraries & where to move them.  16 warnings are found during compiling of the "Shock.µ" file but, no errors are found.
  • *Vid_04_Running_Compiled_App.mov:       Running the newly compiled "Shock" app.  Everything works as expected.
             
There might be some slight glitches or lag in the video.  Probably due to my using QuickTime Player X to do the screen recording.  I need to find a better tool for that.  I'll work on creating a fully setup disk image for compiling this code tomorrow at some point.  Hope these videos are helpful  :thumb:
« Last Edit: 09. April 2018, 09:49:53 by eisnerguy1 »
Re: Getting the mac source to build reproducably
6647c004bab5c
thanks for the videos - could be youtube a better place? and smaller size :)

I'll create a new clean disk image tomorrow.

with MacOS 9?

can you just write a clean step by step instruction from where to get Sheepshaver, ... config steps up to compile and run

6647c004bad5deisnerguy1

Re: Getting the mac source to build reproducably
6647c004badab
thanks for the videos - could be youtube a better place? and smaller size :)

with MacOS 9?

can you just write a clean step by step instruction from where to get Sheepshaver, ... config steps up to compile and run

Probably with Mac OS 7.6.1 as that's what I'm using.  I tried YouTube but the videos ended up super blurry on there.  The source videos are super clear.   Will try and just do screenshots and some sort of write up.
« Last Edit: 09. April 2018, 10:58:15 by Moderator »

6647c004baf37icemann

Re: Getting the mac source to build reproducably
6647c004baf85
On a side note, this is the sorts of stuff actual game devs had to go through long ago (80s - 90s) when porting games to other systems. The fun.

Used to be very commonplace. Nowadays not so much.

6647c004bb235eisnerguy1

Re: Getting the mac source to build reproducably
6647c004bb289
thanks for the videos - could be youtube a better place? and smaller size :)

with MacOS 9?

can you just write a clean step by step instruction from where to get Sheepshaver, ... config steps up to compile and run

Currently working on a write-up of how to get System Shock installed, getting the source code prepared, installing CodeWarrior 10 Gold (these 3 steps will already be done for the disk image I'm preparing but, I'm including the steps in the write-up for those that want to do it all on their own) & then compiling the code.  I'm taking screenshots at every step for those not familiar with Mac OS at all or for those who never used Mac OS 7.6.1.

The disk image "SystemShockDev.dsk" will end up being a 2GB .dsk image but will be a compressed "SystemShockDev.dsk.zip" file at around 200MB.

edit:
Ok, have the first 3 of 4 guides written up.  Just going over them a bit.  Creating the base .dsk image now as well.  This will already have System Shock installed, the source code prepped & CodeWarrior 10 Gold installed.  These steps will be covered in the Parts 1, 2 & 3 guides.
« Last Edit: 10. April 2018, 07:43:02 by eisnerguy1 »
Re: Getting the mac source to build reproducably
6647c004bb3c2
FYI:
-i tried with latest qemu (replaced the win executable) under linux/windows with the macos 9.2.2 image from
https://www.macintoshrepository.org/9641-qemu-for-windows-ppc-emulator-runs-mac-os-9-1-9-2-osx-10-0-to-10-5
seems to work fine

6647c004bb60ceisnerguy1

Re: Getting the mac source to build reproducably
6647c004bb667
FYI:
-i tried with latest qemu (replaced the win executable) under linux/windows with the macos 9.2.2 image from
https://www.macintoshrepository.org/9641-qemu-for-windows-ppc-emulator-runs-mac-os-9-1-9-2-osx-10-0-to-10-5
seems to work fine

That may be but, System Shock was coded with Mac OS 7 in mind, hence why I chose that for the disk image that I just finished.  If I changed it over to a Mac OS 9.2.2 for qemu, I'd have to take all new screenshots for the 4-part guide that I'm finishing up.  If someone else wants to use my guide & disk image as a base and do a 9.2.2 image for qemu, sure but, I'm sticking with Mac OS 7.6.1 for SheepShaver.  I hope that isn't a problem for people.

6647c004bb779JosiahJack

Re: Getting the mac source to build reproducably
6647c004bb7d0
eisnerguy1, your method sounds closest to emulating the original, so thank you.  8)

6647c004bba13eisnerguy1

Re: Getting the mac source to build reproducably
6647c004bba6b
eisnerguy1, your method sounds closest to emulating the original, so thank you.  8)
Glad to help.  Just finishing up Part 04 & going over Parts 1-3 again to tweak some stuff.  May have taken too many screenshots.  Part 4 alone has over 100.  Wanted to cover all bases especially for those not familiar with Mac OS at all or just Mac OS 7.6.1.

edit:
So, apparently, there might be an incompatibility with compiling the code in anything above Mac OS 7.6.1.   
« Last Edit: 11. April 2018, 01:15:04 by eisnerguy1 »
Re: Getting the mac source to build reproducably
6647c004bbb94
but the NightDiveStudios Readme on Github says they tested it with MacOS 9 and CW 10 Gold - thats why i thought MacOS 9 would be the "best" Platform

6647c004bbeb8eisnerguy1

Re: Getting the mac source to build reproducably
6647c004bbf15
but the NightDiveStudios Readme on Github says they tested it with MacOS 9 and CW 10 Gold - thats why i thought MacOS 9 would be the "best" Platform

This also summarizes some other reasons why I chose 7.6.1:
Why System 7?
System 7 Benchmarks

tl;dr: Mac OS 7/System 7 uses much less resources that Mac OS 8 -> 9.2.2.  Much quicker overall.  The UI uses less real estate.  I've seen this a bunch.  I've got a few Mac OS 7.6.1 & Mac OS 9.0.4 SheepShaver setups & a Mac OS 9.2.2 Qemu setup.  The Mac OS 7.6.1 SheepShaver setup is far quicker than running 9.2.2 in Qemu.

But. like I said before, if someone else wants to use my guides and dsk image I'm creating to create a 9.2.2 system image for Qemu, be my guest.  I should be done with part 4 of the guide some point later today.  Didn't have too much free time to work on this stuff yesterday.

6647c004bc088eisnerguy1

Re: Getting the mac source to build reproducably
6647c004bc0f0
Ok, my 4 part guide is finished
https://mega.nz/#F!2xgnHT6Z!-yHASpoKoriPK6G7P-cySw

This folder includes:
Part_00_Read_Me_First.docx
Part_01_Installing_System_Shock.docx
Part_02_Setting_Up_System_Shock_Source.docx
Part_03_Installing_CodeWarrior_10_Gold.docx
Part_04_Compiling_System_Shock_Source.docx

SystemShockDev.dsk.zip (This is running Mac OS 7.6.1, has System Shock installed & CodeWarrior 10 Gold installed)
System_Shock.iso.zip

Let me know if there are any errors/questions/issues with the write-ups or the disk images.  Definitely read Part 0 first though.
Re: Getting the mac source to build reproducably
6647c004bc291
Could you provide them as PDF files?
Re: Getting the mac source to build reproducably
6647c004bc39c
thx for the Docs and Dsk

could you add an download link for the SheepShaver Version and Settings needed?
Re: Getting the mac source to build reproducably
6647c004bc5b4
I'm attaching the files eisnerguy1 posted above (converted to PDF and 7zip archives).
Also some people on the discord channel seemed to be looking for the mac assets, which presumably can be found here.
[Part_02_Setting_Up_System_Shock_Source.pdf expired]
[Part_01_Installing_System_Shock.pdf expired]
[Part_03_Installing_CodeWarrior_10_Gold.pdf expired]
[Part_04_Compiling_System_Shock_Source.pdf expired]
[Part_00_Read_Me_First.pdf expired]
[System_Shock.iso.7z expired]
[SystemShockDev.dsk.7z expired]
Re: Getting the mac source to build reproducably
6647c004bc82c
Excellent work, eisnerguy1 - I was able to follow it and build the source with your instructions :)

I used SheepShaver on Windows following the guide here but without downloading the Mac OS 9.0.4 ROM: http://www.fitzweekly.com/2017/03/how-to-use-sheepshaver-on-windows-10.html
It would be useful if you include the warning about "The MP library could not be completely initialized due to insufficient memory" being expected (and harmless) in Part 0 as I thought I hadn't allocated sufficient memory to the machine.  Guidance on what memory should be allocated would be also be helpful (I allocated 512MB and didn't run into any problems but it may have been overkill).

It's also worth noting that Part 3 of the guide appears to be redundant as CW10 is already installed on the image - perhaps having it as an appendix for reference would be an idea if you do any updates.

6647c004bcebaeisnerguy1

Re: Getting the mac source to build reproducably
6647c004bcf17
I'm attaching the files eisnerguy1 posted above (converted to PDF and 7zip archives).
Also some people on the discord channel seemed to be looking for the mac assets, which presumably can be found here.
Thanks for doing that!

Excellent work, eisnerguy1 - I was able to follow it and build the source with your instructions :)

I used SheepShaver on Windows following the guide here but without downloading the Mac OS 9.0.4 ROM: http://www.fitzweekly.com/2017/03/how-to-use-sheepshaver-on-windows-10.html
It would be useful if you include the warning about "The MP library could not be completely initialized due to insufficient memory" being expected (and harmless) in Part 0 as I thought I hadn't allocated sufficient memory to the machine.  Guidance on what memory should be allocated would be also be helpful (I allocated 512MB and didn't run into any problems but it may have been overkill).

It's also worth noting that Part 3 of the guide appears to be redundant as CW10 is already installed on the image - perhaps having it as an appendix for reference would be an idea if you do any updates.

Great!  Glad I could help.  Sorry that I haven't responded.  I've been a bit busy with my business that I'm trying to start.   Good idea to mention the MP library error in part 0.  I'll edit the beginnings of parts 1-3 saying to go to part 4 since those steps have been completed.  I included that message in Part 0.  Will go overt the docs and tweak them a bit over the weekend.

edit 4/16/18:
Still busy with job stuff.  Not much free time.  Will try and take care of that stuff by this Friday.  Sorry for the delay.
« Last Edit: 17. April 2018, 01:12:30 by eisnerguy1 »
Acknowledged by: Kolya
1 Guest is here.
Robo-boy and the Gigolo are brought into an arena where the scum of humanity (fast food munching Americans) cheers and yells as the good vagabond robos are burned and torn into pieces.
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
6647c004bd03d