Jump to content
Sign in to follow this  
philipj

MARIA GRAPHIC POWER

Recommended Posts

:idea: It's no surprise that the only thing that sets the 7800 from every other system is the "Maria Graphic Processor;" the chip that actually made the 7800 more powerful then the any other system of it's time including the NES. I think it's time to know exactly what the Maria can do so I'm starting this thread to discuss the raw power of the "Maria Monster Graphic Processor." It's the processor that never really got the kind of optimization, both software wise and hardware wise, that it deserved. If it's powerful enough to handle a laserdisc player, what other things can the Maria do? It's well known what the 2600 can do, but what about the 7800. It's a question that could sadly, but possibly go unanswered if this avenue is not explored. What is your conclusion to this mystery :?:

Share this post


Link to post
Share on other sites

The Maria probably wouldn't have been involved in the Laserdisc playback. The expansion port has a video input pin which gets mixed with the video from the Maria chip, so the Maria graphics would just overlay the Laserdisc playback.

 

I personally think the real power of Maria is it's flexibility. Other consoles locked you into specific types of graphics, fixed size sprites, tile mapped backgrounds, etc. With Maria you had the flexibility to design whatever type of graphics engine you wanted.

 

Dan

Share this post


Link to post
Share on other sites
The 7800 seems to be the first "arcade home console."

 

It certainly was very close to it(being the first). Atari did call the 5200 the "Personal Arcade Machine" at one time though, even though the graphics weren't up to par with the arcade machines of the time...but it sounded cool nevertheless. :D

 

Still, I think the 7800 has the best arcade conversions available for it on a classic home console. With Beef Drop that will become even more of a fact. ;)

Share this post


Link to post
Share on other sites

Ok I think I must be reading this wrong (or getting my hopes up and reading it wrong on purpose :P ) but did I read correctly that the 7800 expansion port is for laserdisc playback? Is there a laserdisc unit for the 7800? And where do I get my grubby little hands on one if there is such as thing? :D

Share this post


Link to post
Share on other sites

It was never produced, I don't think it even made it to prototype stage.

 

Mitch

Share this post


Link to post
Share on other sites

The system basically came to an end when Tramel took over until

he decided to release in I think around 1986 or 87 in order to get

rid of all of the 7800 system in inventory that he had when he first

purchased Atari from Time Warner. Keep in mind, and I'm

referencing what the guy who who's responsible for making the

7800, that Time Warner had property rights to the "Loony Tunes,

Star Wars, Blade Runner, perhaps The Last Starfighter" and a

whole bag of goodies that possibly would've been future laser disc

games for the 7800 back during the "Dragon's Lair"/Laser disc

explosion. :) I don't even doubt that with proper programming,

and this wouldn't be the first forum that I mentioned this, that the

7800 can handle 3D with a little extra RAM. It probably wouldn't

be nothing spectacular, but just look at what other 2600

programmers even here at this forum is able to do with a 2600

8bit TIA at 2 or 3 megahertz (perhaps not even that fast), and all

the time Atari had a system with a 7 megahertz "MARIA" graphics

processor, yet it didn't get half of the type enthusiastic

programming that the NES got and it was well more powerful then

the NES. :| The 7800 is probably the most overlooked Atari

system next to the Atari Jaguar so I taking it upon myself to do a

little research of my own on the 7800 system. :D

Share this post


Link to post
Share on other sites
I don't even doubt that with proper programming,  

and this wouldn't be the first forum that I mentioned this, that the  

7800 can handle 3D with a little extra RAM.  It probably wouldn't

be nothing spectacular...

 

It can and does it not too badly.. I was working on some 3d for the 7800 a few months back, but work demands put a stop to it, and I've never got up to speed again..

 

I had Elite models rendering full screen at 160 x 160 using up to 23 colours, running at 20fps.. Which isn't too bad 8) for a little 6502.. THe Maria is perfect for drawing polygons, if you can draw it in wireframe you can draw it solid on the 7800 for very little, (I mean very little) extra cost.. Though there's a whole host of other limits.. And yes you need 16K of RAM on the cart to make it doable, which negates the use of a pokey which is a shame (well without some custom bank switching voodoo chippery)

 

I shall when time permits, clean the code up and post something to the 7800 list..

 

My first goal in mind was something like I'Robot on the 7800, but that was just too much, then a Virus/Zarch/Lander type thing, but that was to special cased to do used a generic polygon system.. It's certainly doable on the 7800, just very hardcoded ;)

 

So I settled on just getting 3D up and running using Elites models..

 

It's a shame as the 7800 could certainly do some wonderful solid 3D stuff, especially with 23 Colours available to you..

Share this post


Link to post
Share on other sites
Now that's just teasing everyone! :-)

 

Hmm, okay :)

 

1.png

2.png

3.png

 

This is nothing special, I just fired up the last binary I had lying around from months ago, so the text is scruffy, the stafield is broken, but this does run around 16 fps.. The general purpose text printing slow it down a bit, but you can see it does the business...

 

There is a frame rate counter buried under that text somewhere, but the last thing I was working on was some generic verison of printf essentially to allow me to display sensible info..

Share this post


Link to post
Share on other sites

ummm, okay but bear in mind this was the state in the middle being distracted months ago.. It's got some horrible glitches in it, but.. bah no more excuses, it's simply VERY work in progress.. Oh, and there's no perpsective transform or clipping on the geometry yet.. The perspective is a small thing, the clipping a big thing ;) I never sent it out to the 7800 list before, simply because it's so early in it's stages, whatever it becomes.. It was simply an experiment in polygon rendering.. And yeah, it's proper polygons, the backside of the cobra model is one 7 edged polygon, rendered in one go ;)

 

There's some odd glitches here and there, dunno why, I don't recall it doing that last time I was playing with it, maybe it did, it was a while ago..

 

I've no idea if it even works on a real 7800 yet :roll: never got that far, all development was done under Mess until I sorted out some Ram cart thing for my 7800.. I doubt it'll run on a real 7800 judging by the other demos and things posted on atariage, that work on mess but fail on a real 7800 until some tweakge is done..

 

Here's a .a78 and .bin..

 

http://homepages.nildram.co.uk/~csaba/7800/elite.a78

http://homepages.nildram.co.uk/~csaba/7800/elite.bin

 

There's no user input on it.. That's what I was working on along with general printing and debugging stuff when I slowed to a halt on it..

 

The config is any need the bin is:

 

SuperCart bankswitching, 8 banks, 16K SuperCart RAM at $4000 PAL..

 

or if I've missed something out this is the complete .a78 header I use..

 

; This automatically generates the A78 header information

SEG	ROM

ORG $0000

RORG $0000 

HEADER:

DC.B	1  ; 0   Header version     - 1 byte

DC.B	"ATARI7800"	; 1..16  "ATARI7800   "  - 16 bytes

DS	7,32  ;

DC.B	"m00"  ; 17..48 Cart title      - 32 bytes

DS	HEADER+49-.,0	;

DC.B	$00,$02,$00,$00	; 49..52 data length      - 4 bytes

DC.B	$00,$06  ; 53..54 cart type      - 2 bytes

   ;    bit 0 - Pokey cart

   ;    bit 1 - Supercart bank switched

   ;    bit 2 - Supercart RAM at $4000

   ;    bit 3 - ROM at $4000

   ;    bit 4 - Bank 6 at $4000

   ;    bit 8-15 - Special

   ;   0 = Normal cart

DC.B	1  ; 55   controller 1 type  - 1 byte

DC.B	1  ; 56   controller 2 type  - 1 byte

   ;    0 = None

   ;    1 = Joystick

   ;    2 = Light Gun

DC.B	0  ; 57 0 = NTSC 1 = PAL

ORG	HEADER+100	; 100..127 "ACTUAL CART DATA STARTS HERE" - 28 bytes

DC.B	"ACTUAL CART DATA STARTS HERE"

 

Anyway, if anyones really interested I can post the source sometime, if only to show how I render the polys and hopefully provide someone with the motivation to do some proper 3D on the 7800, if I never get going again on this that is ;)

Share this post


Link to post
Share on other sites

20fps...? That's outstanding. :D This is the first real proof that I

seen that actual proves that 3D is possible on the 7800. Man that

don't inspire anybody I don't know what will. If were I'd try and

finish that project on my spare time. Those images look great. :)

Now I know I got to put the 7800 to the test. :D

Share this post


Link to post
Share on other sites

Wow, that is great to see. The way it looks, you could probably do something like a simplified Cybercon 3 (the control scheme is too complex for a joystick though...maybe if it had video pad support). But I hope that you'll be able to continue to develop this. :wink:

Share this post


Link to post
Share on other sites
That's some interesting information to know. I suppose it's that flexibility that allows it to pump out games with the quality we find in Ballblazer and Tower Toppler.

 

Ballblazer and Tower Toppler were both XL/XE titles before they were 7800 titles, and they played just as well. Frankly I really didn't notice any difference in the 7800 version. All the same, the 3D demo above looks quite impressive and very much beyond an 8-bit Atari's capabilities. From the look of it there's some simple (but very pretty) poly shading going on there, and doing that at 20FPS is quite a feat.

 

It'd be very interesting to see what you can really pull off on a 7800 in the right hands.

Share this post


Link to post
Share on other sites

I'd like to see Arcade Star Wars, or Tempest on the 7800... Tha woul.d be cool.

Share this post


Link to post
Share on other sites
Posted: Mon Dec 27, 2004 10:06 pm    Post subject:  

 

I'd like to see Arcade Star Wars, or Tempest on the 7800... Tha woul.d be cool.

 

I'm willing to bet people pay more attention to 7800 if anybody

manages to pull that off. They'll be buying 7800 just to get there

hands on such collectables. 20fps... that's outstanding... Another

10 more frames and it would be past what's considered to be

the standard in fps. I read in an old video compression book that

24fps is considered normal for human vision; the 7800 pulls off 20

of them. I'm ready start programming the 7800 now. :D

Share this post


Link to post
Share on other sites

I've done a fairly detailed comparison of the 7800 versus the NES at http://atari7800.xwiki.com/xwiki/bin/view/Main/NES. The biggest limitation of the 7800 is time: CPU time to create the display lists, CPU time stolen by MARIA to render the display lists, and render time versus the raster.

 

Andy's 3D demo is interesting, but I believe what he is doing is calculating the X position of each edge for each raster, then creating an X1-X0 wide sprite at X0. So he's using MARIA in a very different way than an NES could be used.

 

Oh, and if that 20fps is from MESS that's incorrect. MESS doesn't model MARIA CPU cycle stealing, nor does it limit the rendering time.

Share this post


Link to post
Share on other sites

Well, I'd like to try the 3D code on the CC2. Back in my VRML97 days I read somewhere that anything over 10 fps is considered playable. Even if the framerate falls a bit, it could still be a fun 3D engine.

Share this post


Link to post
Share on other sites
I've done a fairly detailed comparison of the 7800 versus the NES at http://atari7800.xwiki.com/xwiki/bin/view/Main/NES.  The biggest limitation of the 7800 is time: CPU time to create the display lists, CPU time stolen by MARIA to render the display lists, and render time versus the raster.

That's the real problem here. There is no 7800 emulator which even tries to be cycle-accurate, much less emulate MARIA DMA cycle stealing. And don't even get started on accurate RIOT emulation, what with the variable clock speed depending on memory address.

 

Even starting on real hardware, I was bitten by this because I wrote some really nice code to build a fresh DLL and DLs every frame. It took more than one frame's worth of time to execute.

 

Someone at Nintendo was pretty smart to take the separate video chip bus idea that was used in the Colecovision, and bring it out to the cartridge slot.

Share this post


Link to post
Share on other sites

This sort of reminds me of another post: Did F 18 Hornet used polygons? I think we have our answer now...it did.

 

Atari dropped the ball on more than just the 7800, Jaguar is right along there with it including the Lynx. I actually knew a programmer at Atari when the 7800 first hit the store sleves. When Tramel took over the running of Atari they only lived by 1 rule: Make it cheap and make it fast. Do I need to say any more

Share this post


Link to post
Share on other sites

One thing I'm sure most would agree is that the 7800 is somewhat

uncharted territory I'm just glad where discussion is leading to

because we'll never know exactly what the 7800 is capable of

doing unless we put the 7800 to the test. I would like to see

some more homebrew 3D images performed by the 7800.

Share this post


Link to post
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...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...