Jump to content
IGNORED

Open Lara engine on the ATARI Jaguar


Gunther

Recommended Posts

20 hours ago, XProger said:

Just tried jagdev_102.exe SDK for Windows XP, after successful compilation the binary file won't start under Virtual Jaguar. I will check m68k-elf.

Did you add appropriate startup code to the project though? The jag BIOS and/or VJ startup stuff don't automatically run main() like a normal OS unless you've borrowed some startup stub code from somewhere else in the SDK or linked with main() at the appropriate address. Sorry if this is way off base and you're already past that. Just worth asking the obvious questions sometimes.

Link to comment
Share on other sites

On 1/22/2022 at 3:28 AM, roots.genoa said:

What is this 'Jaguar' everybody's talking about? Is this related to the car or something?

You remember Tom and Jerry cartoons right?   Well apparently Atari captured them and put them inside a plastic box.   We all thought Tom was domestic house cat,  turns out he was actually a Jaguar.   We aren't quite sure what Jerry the mouse has to do with it, or 64-bit,  maybe that's how many times Jerry bit the cheese.   We will understand how this all works someday when we uncover the complete developer documentation :P

  • Haha 5
Link to comment
Share on other sites

You can build the C/C++ compilers fairly easily in linux. I build gcc for 68K and SH2 for my Sega Genesis/CD/32X/Saturn programming. I modified that to just 68000 targeted compilers to use with a Jaguar devkit: https://pastebin.com/UUTEwppM

 

You also need a link map file for the architecture you are targeting. There would be two for the Jaguar - one that ran from cart, and one that ran from a loader like BJL. I made a couple you can check out here: https://pastebin.com/nMPppfm0

and here: https://pastebin.com/rijygrT1

 

Well, there could also be a third targeting CD, but I have yet to work on that. :D

 

Of course, then you need a gcc compatible Jaguar system include file. Here's the H file I made: https://pastebin.com/BAz68AYm

 

Then you need a makefile for the project. Here's one for a simple example I am working on for this toolchain (not complete yet): https://pastebin.com/tprpnGd5

 

And of course, a compatible crt0.s file to start up your C/C++ program: https://pastebin.com/Cv5gvBUC

 

And if it's C++, you need this for the constructors/destructors: https://pastebin.com/2cy4xZLn

 

  • Like 4
  • Thanks 4
Link to comment
Share on other sites

2 hours ago, Clint Thompson said:

 

I mean no offense or disrespect by this (it's just a laugh) because getting Tomb Raider to run at all (even at 2FPS) is insane in itself...

 

 

But I guess that answers the long baited question of: Can Tomb Raider can run on the Jaguar ;)

 

GBA port running on the 68K I assume....

Nothing insane really.

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, agradeneu said:

 

GBA port running on the 68K I assume....

Nothing insane really.

 

Lol! People thought we expected the full game running at 60fps. Lol!

 

Seeing as it has been all of a week since it was started, the fact that image exsists (if it's even really running on a Jaguar) is cool.

 

 

 

 

 

 

Edited by Gunther
  • Like 2
Link to comment
Share on other sites

7 hours ago, Clint Thompson said:
 

I mean no offense or disrespect by this (it's just a laugh) because getting Tomb Raider to run at all (even at 2FPS) is insane in itself...

 

2 Seconds per frame, not 2 Frames per second... ?

 

I think that this is the speed that you could get in a stock Atari ST or Amiga 500, it's just the GBA port using the C drawing routines.

 

Also, the rendering code reads a texture pixel, then remap the color using the light map and then writes the pixel, this is two reads and one write per pixel. If you use CrY mode you only need one read per pixel and you'll have better lightning, no color banding.

  • Like 6
  • Haha 1
Link to comment
Share on other sites

2 hours ago, phoboz said:

Isn't it now they would start moving the performance demanding code to the GPU?

Now that is the hard work: Rewrite the whole renderer in Assembly for 4K RAM of the GPU and 8K DSP, for any meaningful performance??

 

I mean devs programmed the GPU to the metal to achieve a game like Iron Soldier 2.

 

Now, why ppl expect compiling C code on GPU or 68K would be a proper way to get out better performance of the Jag, for a fully texture mapped game like Tomb Raider?

Hm....

 

 

 

Edited by agradeneu
  • Like 2
Link to comment
Share on other sites

1 hour ago, agradeneu said:

Now that is the hard work: Rewrite the whole renderer in Assembly for 4K RAM of the GPU and 8K DSP, for any meaningful performance??

 

I mean devs programmed the GPU to the metal to achieve a game like Iron Soldier 2.

 

Now, why ppl expect compiling C code on GPU or 68K would be a proper way to get out better performance of the Jag, for a fully texture mapped game like Tomb Raider?

Hm....

 

 

 

It was a much easier task on the GBA, e.g. you have a single processor system using one powerful ARM chip. A CPU with support for C compilers etc.

 

I think projects like this will only be meaningful once you have a powerful 3D engine, optimized for the Jaguar. That's why I propsed to start this project by looking at Atari's 3D demo:

https://github.com/cubanismo/jaguar-sdk/tree/master/jaguar/3d

 

 

Doing this pixel-per-pixel processing using the 68k was definately not what Atari meant when they said that we have a console that can do 3D graphics. Because 3D graphics with rendering times of several seconds per frame is more like the performance times for a software raytracer, rather than a 3D engine for a game.

Edited by phoboz
  • Like 1
Link to comment
Share on other sites

24 minutes ago, phoboz said:

I think projects like this will only be meaningful once you have a powerful 3D engine, optimized for the Jaguar. That's why I propsed to start this project by looking at Atari's 3D demo:

https://github.com/cubanismo/jaguar-sdk/tree/master/jaguar/3d

 

I think the other way around, you can write a better 3D engine if you have a real game to test it, instead of a couple of cubes spinning around.

 

  • Like 3
Link to comment
Share on other sites

5 minutes ago, alucardX said:

I think it is just hopeful that someone is willing to attempt getting this running on the Jaguar. Now that it is "running", different issues can be addressed one thing at a time.

Its way too early to expect anything. I wish they would have come forward if the had something really nice to show, or some sort of proof that it was actually doable.  

 

This community was burnt by individuals like Vlad, so I am not cynical. 

  • Like 3
Link to comment
Share on other sites

2 minutes ago, agradeneu said:

Its way too early to expect anything. I wish they would have come forward if the had something really nice to show, or some sort of proof that it was actually doable.  

 

This community was burnt by individuals like Vlad, so I am not cynical. 

It is pretty early, but seeing progress at all is promising. I'd rather see each step of the way and see improvements over time than to see nothing at all. Do you think John Carmack had Doom running nicely on his first attempt at porting it to the Jag? I'm guessing his experience went something like this as well. Get SOMETHING working, fix things. Test, fix more things. Look at where this started with wacked out colors. Now the colors are looking okay and pixels are out of place. Nothing is fast but that is okay right now. 1fps will be a big milestone...and so will 12fps.

  • Like 1
Link to comment
Share on other sites

1 hour ago, alucardX said:

It is pretty early, but seeing progress at all is promising. I'd rather see each step of the way and see improvements over time than to see nothing at all. Do you think John Carmack had Doom running nicely on his first attempt at porting it to the Jag? I'm guessing his experience went something like this as well. Get SOMETHING working, fix things. Test, fix more things. Look at where this started with wacked out colors. Now the colors are looking okay and pixels are out of place. Nothing is fast but that is okay right now. 1fps will be a big milestone...and so will 12fps.

Like I said, you expecting way too much. And using Carmack as reference only underlines that.

Carmack knew his DOOM engine inside out and he would never give the 68K a shot to "run" this. 

Now, we are talking about Quake and Tomb Raider, not Doom. There is not a chance in hell to get these games running at even 5FPS without expertly tackling the RISCs chips.

  

 

 

 

  • Like 1
Link to comment
Share on other sites

1 minute ago, agradeneu said:

Like I said, you expecting way too much. And using Carmack as reference only underlines that.

Carmack knew his DOOM engine inside out and he would never give the 68K a shot to "run" this. 

Now, we are talking about Quake and Tomb Raider, not Doom. There is not a chance in hell to get these games running at even 5FPS without expertly tackling the RISCs chips.

  

 

 

 

This is just a starting point. It is running.

 

I'd guess that the only reason this is running on the 68K at all right now has to do with the fact that this engine is written in C++ and nothing has as of yet been moved to the RISCs in assembly. The first rocket to leave the atmosphere wasn't the rocket that delivered a man to the moon. These things happen in stages.

  • Like 1
Link to comment
Share on other sites

14 minutes ago, alucardX said:

This is just a starting point. It is running.

 

I'd guess that the only reason this is running on the 68K at all right now has to do with the fact that this engine is written in C++ and nothing has as of yet been moved to the RISCs in assembly. The first rocket to leave the atmosphere wasn't the rocket that delivered a man to the moon. These things happen in stages.

We also didn't go from 5MPH in a Model A Ford to 200MPH in the same car.  There's only so much that certain hardware can do, I wish people would understand this.

  • Like 4
Link to comment
Share on other sites

6 minutes ago, Stephen said:

We also didn't go from 5MPH in a Model A Ford to 200MPH in the same car.  There's only so much that certain hardware can do, I wish people would understand this.

The 68K is not exactly the engine of the Jaguar. Sometimes its the handbrake ;-)

Actually it was never intended to do any heavy computing with 3D gfx. 

Edited by agradeneu
  • Thanks 1
Link to comment
Share on other sites

It's way too early to draw any conclusions.

I like to set my expectations really, really low and observe how much more intelligent than me some people are.
Probably a better experience than to set the "Jaguar is more powerful than the GBA and the Playstation" mentality and wait for a miracle next day.

Great to see that they got the code to work on the Jaguar. I didn't make any effort nor did I spend a single cent on it, so it's all a bonus to me.
 

Edited by Barone
  • Like 5
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...