Jo Engine Forum

Sega Saturn Development => General discussion about the Sega Saturn => Topic started by: dave5678 on December 13, 2018, 06:37:04 pm

Title: Porting games like System Shock a dumb idea?
Post by: dave5678 on December 13, 2018, 06:37:04 pm
I am not a programmer at all but I have always loved the Saturn. I want to be a part of this team. Is there anyway I could port something written in C to the Saturn using Jo Engine? Or am I just not understanding this?

...back to my nonstop YouTube videos regarding C++, lol!
Title: Re: Porting games like System Shock a dumb idea?
Post by: XL2 on December 13, 2018, 08:50:18 pm
I would suggest you to start small, porting such a game would require a ton of work.
Title: Re: Porting games like System Shock a dumb idea?
Post by: dave5678 on December 13, 2018, 10:44:15 pm
Maybe just some little 2d game to try to understand it all?
Title: Re: Porting games like System Shock a dumb idea?
Post by: XL2 on December 14, 2018, 11:43:03 am
Yes, I would suggest you to start with 2d, it's much easier.
Title: Re: Porting games like System Shock a dumb idea?
Post by: ponut64 on December 15, 2018, 05:57:45 pm
Ports require a lot of work because you need to translate the 3D, audio, drive access, you know all hardware functions of the game into things the Saturn understands. This is no trivial matter.

It's obviously best to start small and work your way up the ladder of hardware understanding. I wish you skill & patience.
Title: Re: Porting games like System Shock a dumb idea?
Post by: dave5678 on December 18, 2018, 10:57:44 pm
Really appreciate the dumb'ed down explanation  ;D. I was trying to bite off wayyyyyyy more then I can chew.

Since I have demo1 in netbeans working. Since the file name ends in just "c" that means I can only code in c for the Saturn in Jo engine?
Title: Re: Porting games like System Shock a dumb idea?
Post by: ponut64 on December 19, 2018, 12:12:29 am
If a programming language supports the SH2 (Hitachi name) or J2 (Open-source name) processor as a build target / compiler target, you could theoretically write a program for the Saturn in that language, as the program target is the SH2's [it goes to their memory].

However, you can only practically use the C program language because SGL, SBL, and Jo Engine (as well as all other available extensions/snippets) for the Saturn are in C (as well as the process of making iso's set up for C). If you wanted to use another language, you would still ultimately have to go back to C to translate the hardware access functions back into a usable form (unless you wanted to find the Assembly function tables for everything but the SH2's/J2's.. which you still might need.

In other words, yes only C. And not even all of C, only some of it, and some C functions are done better by SBL or SGL functions (dividing numbers when decimal points are desired, for example, can work more desirably using FIXED data type with slDivFX). Jo Engine also has a number of handy shortcuts, look in math.h.

For more information on this, you can find SGL/SBL documentation around the net. I think some of it even on Jo website?