Jump to content
IGNORED

the atari Jaguar theory


2600problems

Recommended Posts

With a few extra registers you could draw a trapezoid with the blitter (2 trapezoids make a triangle), drawing a square with a texture is useless for 3d games,. You can still do the rasterizing with the GPU, well I mean calculate the edge slopes not the edges coordinates.

 

With a write buffer or cache you will be using the 64bit bus of the blitter at full, now when you are doing texture mapping you write pixels one by one, using only 16 bits per write. That means 1/4 of the real bandwith.

 

Writting a list of primitives just like the OP works has nothing to do with DirectX or OpenGL, also it's the way that the PSX works, you only need to write that list of commands as fast as you can, then the blitter will render it as fast as it can.

Link to comment
Share on other sites

With a few extra registers you could draw a trapezoid with the blitter (2 trapezoids make a triangle), drawing a square with a texture is useless for 3d games,. You can still do the rasterizing with the GPU, well I mean calculate the edge slopes not the edges coordinates.

 

With a write buffer or cache you will be using the 64bit bus of the blitter at full, now when you are doing texture mapping you write pixels one by one, using only 16 bits per write. That means 1/4 of the real bandwith.

 

Writting a list of primitives just like the OP works has nothing to do with DirectX or OpenGL, also it's the way that the PSX works, you only need to write that list of commands as fast as you can, then the blitter will render it as fast as it can.

 

 

I kind of know what you're saying... but I've only ever developed business applications, and never anything related to graphics. You're saying obviously that the Jaguar could do it, but it would be slow as shit.. hahah...

Link to comment
Share on other sites

 

 

I kind of know what you're saying... but I've only ever developed business applications, and never anything related to graphics. You're saying obviously that the Jaguar could do it, but it would be slow as shit.. hahah...

 

Much faster than having the GPU waiting for the blitter to finish to send the next triangle scanline to be drawn...

Link to comment
Share on other sites

How about we flip the question around?

 

What is it about the Jaguar that makes people wonder "what if it just didn't get a fair shake" and "why didn't it do better?"

 

Guesses:

Atari brand nostalgia

Made in America

Lots of Tramiel promises

Confusion between Atari Corp and Atari Games

64-bit, do the math

Atari brand Nostalgia I guess. A lot of us were reared on Atari, and stayed loyal to the brand, so of course we wanted to see the hardware do well.

 

As for '64-bit do the math'. I did the math, I still can't figure out how it can legitimately claim to be 64-bit :P

Link to comment
Share on other sites

Atari brand Nostalgia I guess. A lot of us were reared on Atari, and stayed loyal to the brand, so of course we wanted to see the hardware do well.

 

As for '64-bit do the math'. I did the math, I still can't figure out how it can legitimately claim to be 64-bit :P

 

We're also used to the progression of things. (below, "better" = more memory, graphics, complexity)

 

Pong was better than nothing

Atari was better than Pong

Intellivision was better than Atari

ColecoVision was better than Intellivision

NES was better than Colecovision

Genesis was better than NES

Jaguar was ... next

Link to comment
Share on other sites

Atari brand Nostalgia I guess. A lot of us were reared on Atari, and stayed loyal to the brand, so of course we wanted to see the hardware do well.

 

As for '64-bit do the math'. I did the math, I still can't figure out how it can legitimately claim to be 64-bit :P

 

 

YOUR DOING THE MATH WRONG!!!! haha...

Link to comment
Share on other sites

With a few extra registers you could draw a trapezoid with the blitter (2 trapezoids make a triangle), drawing a square with a texture is useless for 3d games,. You can still do the rasterizing with the GPU, well I mean calculate the edge slopes not the edges coordinates.

Sorry, I was talking about the trapezoid, when I mentioned "angled quad". My English vocabulary is unfortunately missing that particular terminology and I didn't have time to search for proper translation.

 

More specifically, I got a Rhombus/Parallelogram textured via single Blitter call. So, it's already possible.

 

 

 

 

With a write buffer or cache you will be using the 64bit bus of the blitter at full, now when you are doing texture mapping you write pixels one by one, using only 16 bits per write. That means 1/4 of the real bandwith

Not necessarily. Just because it would be implemented in the silicon does not at all mean Blitter would be able to texture in phrase blits.

Is it technically possible ? Sure, anything is. But I doubt the amount of resources needed for implementing something like this (in a silicon) would actually be spent by Atari.

Just write it down on paper, if you want to do the texturing in horizontal scanlines, how much trigonometry is involved on top of default perspective-correct texturing. It's stagerring. I have made initial research on paper, but have very quickly discarded the idea, even for GPU.

 

It's true, that at that time, my engine could not page chunks of code, and I didn't have Blitter code running from GPU, so in future I may revisit it, and while Blitter will be blitting horizontal scanlines, GPU may be burning shovels of black coal while preparing second horizontal scanline in parallel with Blitter blitting the first scanline. Note, that in this case, the Blitter would be actually veeeery probably waiting for the GPU :)

 

So, even in the alternate reality, if the Blitter would be able to texture any generic triangle via a single Blitter call, it would only be in pixel mode, not phrase mode.

 

Thus, everybody would be still bitching, that it's not really full 64-bit power and you gotta roll your own renderer anyway :)

 

 

 

 

Writting a list of primitives just like the OP works has nothing to do with DirectX or OpenGL, also it's the way that the PSX works, you only need to write that list of commands as fast as you can, then the blitter will render it as fast as it can.

While I never worked with PSX, from what I read a decade or so ago, you still had to do all the transforms and culling on the cores in ASM by yourself. I don't recall that PSX actually rasterized the triangle soup for you in HW, but perhaps it did. Either way, PSX was designed in a different timeframe and with different visual target in mind (than Jaguar), so we can't unfortunately directly compare the two.

 

You do have the point though, that jag already supports the high-level API way, even though for 2D bitmaps only. On the other hand, the algorithmic complexity of drawing a primitive rectangular bitmap compared to full 3D engine pipeline, makes it obvious why they drew the line there :)

Link to comment
Share on other sites

 

Much faster than having the GPU waiting for the blitter to finish to send the next triangle scanline to be drawn...

Correct. But, what if you, instead of throwing all that GPU performance away, use it for something else ?

 

You can be reusing the engine functionality you already have in the current 4 KB chunk. For example, I'm currently trying to rewrite it in a way that will compute the mipmaps and 3D transformations of the scaled bitmaps (for the roadside objects), all the while the Blitter is blitting current horizontal scanline.

 

Or, you could compute something else (bilinear filtering of the scanline, shadows, lighting, other effects). I can see now, I should have rather designed each effect around discreet substages, but that's the price of experience :)

 

 

It's not easy, it's very messy, there's a lot of additional overhead (so it's not entirely free, as one might initially think, as you gotta store the original register state somewhere - it's basically like an inner interrupt) but it's entirely possible.

  • Like 1
Link to comment
Share on other sites

When I do a program for the c64 (I use Simons basic) I try to use the least amount of memory possible. why could Atari make it so that the processors have a reserved Cache of Memory (say 512k of ram) for extra memory, while using its base load for graphics and sound. in short, one processor for graphics, one for sound and when the Data is used up, switch to its reserve and go from there. the Atari 2600 did it.

 

obviously bank switching died before 1990

Link to comment
Share on other sites

When I do a program for the c64 (I use Simons basic) I try to use the least amount of memory possible. why could Atari make it so that the processors have a reserved Cache of Memory (say 512k of ram) for extra memory, while using its base load for graphics and sound. in short, one processor for graphics, one for sound and when the Data is used up, switch to its reserve and go from there. the Atari 2600 did it.

 

obviously bank switching died before 1990

What? Care to elaborate?

Are you hinting at dynamically reserved memory or actual dedicated memory for each chip?

Link to comment
Share on other sites

I thought one of the design tenet of the Jag was the unified 64bit access bus that hid "everything".

 

Likely they miscalculated the requirements in terms of bandwidth for the kind of games that were to become popular in that period. Once you want to support sw rendering (aka 3D or 3D-ish as opposed to tile/sprite based games) and have textures there's a lot of accesses that are needed for each and every frame.

 

Multibus systems with dedicated memories were all the rage in the arcades, and in some (but not all) of the consoles of its time, I believe most of Atari designs wrt home consoles/computer were shared bus (no actual dedicated memory/bus), not that it matters giving the project was acquired but kind of fitting anyway. I am not sure about the Atari Arcade machines, I'd be surprised if they were shared bus/mem as all competitors afaik had dedicated subsystems with dedicated bus & mems.

Link to comment
Share on other sites

I think the 90s 64 bit consoles didn't do well at all.

N64 = fuzzy graphics, worse looking than PS games, not many good games on N64 when compared to PS, Superman (nuff said)...Funnily enough, it's my favourite Nintendo console, maybe I'm a sucker for bad consoles.

Edited by high voltage
Link to comment
Share on other sites

I think the 90s 64 bit consoles didn't do well at all.

N64 = fuzzy graphics, worse looking than PS games, not many good games on N64 when compared to PS, Superman (nuff said)...Funnily enough, it's my favourite Nintendo console, maybe I'm a sucker for bad consoles.

N64=fuzzy .... turns out that was a design choice. Questionable but still a choice. The recent discoveries on how to turn off the "smearing" in N64 games via AR codes (or SW patching if you prefer) shows the HW was plenty capable of unblurred rendering.

In that mode it also shows how the textures were "speckled" that I speculate was used to simulate a higher color count (via blur/smear/anti-aliasing) while using very little underneath.

 

I agree that blurring at 320x200 or whereabouts was a bad decision in hindsight, not sure why they didn't allow devs to go unblurred much earlier (there were games that did that if memory serves it was towards the end of the lifecycle of the N64 ... but I may remember wrong)

Link to comment
Share on other sites

I believe one of the most important things about a console is the controller design. I don't understand how Nintendo had 6 buttons with the SNES, and later Genesis comes out with 6 button controller to compete with that, and then the Jaguar when it comes out way after has a 3 button controller at launch(and no, the keypad buttons don't count). To me that was just plain stupid putting a system out to compete with those 2 systems and even next gen later but take a step back from them on controller design. As far as graphics, speed, etc. I have no clue because I never bought one to play due to the controller design. Bought a Genesis instead.

 

I completely agree. I often think that it would have also been awesome to have 4 controller ports standard as later consoles went this method. It would have been groundbreaking.

Link to comment
Share on other sites

I think the 90s 64 bit consoles didn't do well at all.

N64 = fuzzy graphics, worse looking than PS games...

Play Tomb Raider and Mario 64 back to back. N64 games, especially early on, certainly had their problems texture- and storage-wise, but a lot of PlayStation games are unplayable pixelated messes.

  • Like 1
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...