Jump to content
IGNORED

MARIA GRAPHIC POWER


philipj

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 :?:
Link to comment
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

Link to comment
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. ;)

  • Like 1
Link to comment
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

Link to comment
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

Link to comment
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..

Link to comment
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..

Link to comment
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 ;)

Link to comment
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

Link to comment
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.

Link to comment
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

Link to comment
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.

Link to comment
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.

Link to comment
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

Link to comment
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.

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...