Jump to content
IGNORED

Open Lara engine on the ATARI Jaguar


Gunther

Recommended Posts

21 minutes ago, alucardX said:

I found some info for the 68k family of cpus. Is it helpful to select the 68000 in this way?

This is dependent on the toolchain build. On the whole, the gcc m68k support left the 68000 side behind and 68020 and above were maintained.

The relatively recent work on ones like m68k-ataribrown, GGN's work have sought to rectify this and there is then the added complexity of the libraries that need to be linked too and generating native/cross binaries.

So in theory you could just build a toolset that only works for/defaults to -mcpu=68000

And interesting exercise to study was Paul Coene's work on getting ucLinux to build and boot under emulation. With the non-MMU support having been since merged into the main Linux codebase combined with more modern gcc better supporting 68000, I would be fun (but yes, of little practical use) to see that re-attempted. 

Link to comment
Share on other sites

16 hours ago, PeterG said:

You should try it with a Skunk or a GameDrive if you have one. It's reaaaally slow but still an interesting experience to try out if you got the patience. ?

I know, but finding a Jaguar for cheap on eBay is easier said than done. The GameDrive is the least issue, however. And yes, I've been trained by the N64 and the Jaguar (I had two previously before no more) to tolerate low framerate ;)

Link to comment
Share on other sites

1 hour ago, KidGameR186496 said:

I know, but finding a Jaguar for cheap on eBay is easier said than done. The GameDrive is the least issue, however. And yes, I've been trained by the N64 and the Jaguar (I had two previously before no more) to tolerate low framerate ;)

Well this is beyond low framerate truth to be told. :-D But still incredibly cool in my book. And I am very curious to see if any progress happens to port the code to the more capable processors of the Jaguar. Even 5 FPS would be double the speed and I would explore the cave a bit further. ;-)

Good luck finding a relative cheap Jaguar I think it is worth to look out for it. Then again easy for me to say having mine since 1994 or 1995 . ?

  • Like 1
Link to comment
Share on other sites

41 minutes ago, PeterG said:

Well this is beyond low framerate truth to be told. :-D But still incredibly cool in my book. And I am very curious to see if any progress happens to port the code to the more capable processors of the Jaguar. Even 5 FPS would be double the speed and I would explore the cave a bit further. ;-)

Good luck finding a relative cheap Jaguar I think it is worth to look out for it. Then again easy for me to say having mine since 1994 or 1995 . ?

Double the speed would be 1FPS. ;-) He said 1 FPS per 2 Secs on twitter.

So even an an increase of 5x would mean some measly 2,5 FPS.

 

Keep in mind the GPU was not designed for running C compiled code. For any meaningful performance, rewriting large parts of the renderer in assembly was required. 

 

 

  • Like 2
Link to comment
Share on other sites

1 hour ago, agradeneu said:

For any meaningful performance, rewriting large parts of the renderer in assembly was required. 

Question is how much it is re-writing as compared to starting from scratch?

If it's not only C code, but if it's code using floating point variables? This is something that needs to be emulated (very slow) even if run on the GPU. E.g. the Jaguar does not have a FPU (Floating Point Unit), nor did the PSX, nor did any other non-high-performace-computing-system at that time (with the exception of systems equipped with the Motorola 68881/2, 486DX, or Pentium II processors) So in that case it's not only about re-writing some code in assembler, but to completely redo the math.

 

Unfortunately every code example for 3D today uses floating point variables, even many code examples for 2D games does, because everyone programs on PC these days.

 

The most useful code examples I find are usually for the Arduino, for example the ATmega 3D engine.

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

3 hours ago, agradeneu said:

Double the speed would be 1FPS. ;-) He said 1 FPS per 2 Secs on twitter.

So even an an increase of 5x would mean some measly 2,5 FPS.

 

Keep in mind the GPU was not designed for running C compiled code. For any meaningful performance, rewriting large parts of the renderer in assembly was required. 

 

 

It is impressive that this is running at all using only the 68000. If the 68000 were cut out of the picture entirely and all the routines were moved to RISCs, I would think the frame rate would at least be somewhat playable. That's just a total guess on my part though, no number wang going on or anything like that.

Link to comment
Share on other sites

2 hours ago, phoboz said:

If it's not only C code, but if it's code using floating point variables? This is something that needs to be emulated (very slow) even if run on the GPU. E.g. the Jaguar does not have a FPU (Floating Point Unit), nor did the PSX, nor did any other non-high-performace-computing-system at that time

Does the GBA have a FPU?

Link to comment
Share on other sites

1 minute ago, alucardX said:

So there is no advantage for the GBA to run this type of math over what the Jaguar can do then?

ARM7TMDI is better MIPS wise and in the GBA slightly quicker (16 instead of 13MHz).

Big plus is the barrel shifter. While a shift in the 68k cost 2 cycles per shift, the ARM7TDMI always shifts (no matter how much) in 1 cycle.

Same for multiplication: 68K needs 74 cycles, where as ARM7TDMI in the worst case 5.

 

  • Like 2
Link to comment
Share on other sites

6 minutes ago, 42bs said:

ARM7TMDI is better MIPS wise and in the GBA slightly quicker (16 instead of 13MHz).

Big plus is the barrel shifter. While a shift in the 68k cost 2 cycles per shift, the ARM7TDMI always shifts (no matter how much) in 1 cycle.

Same for multiplication: 68K needs 74 cycles, where as ARM7TDMI in the worst case 5.

 

And how would the RISCs handle this?

Link to comment
Share on other sites

33 minutes ago, 42bs said:

ARM7TMDI is better MIPS wise and in the GBA slightly quicker (16 instead of 13MHz).

Big plus is the barrel shifter. While a shift in the 68k cost 2 cycles per shift, the ARM7TDMI always shifts (no matter how much) in 1 cycle.

Same for multiplication: 68K needs 74 cycles, where as ARM7TDMI in the worst case 5.

 

Hm, are you sure? The GPU is clocked 26 MHZ and does all the math for 3D, including barrel shifter, Matrix multiplication, support for FPU?

 

The 68K is not supposed to do any 3D heavy lifting. Its should not be a reference for Jaguars 3D computing. 

Edited by agradeneu
  • Like 3
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...