Jump to content
IGNORED

Why only 5 "sprites"?


Recommended Posts

There are actually 8 objects, since the 5th object is split into 4 2-bit objects (missiles) by default. Since p/m functions are basically an interrupt built into Antic, the chosen number of them is probably due to the speed limitations of the hardware. That is to say that when Antic is chugging along passing the display data to the monitor, p/m taps it on it's shoulder and says "By the way, throw this on the screen". The object's memory area starting addresses are on rounded memory "pages" to allow ample interrupt time to allow this (or rounded "nybbles" in the case of dual-line DMA...which the hardware is probably able to compute since the object locations are only updated every other scanline in this mode). I can't find any info to back this up, but since the total space set aside is equal to the area that would be consumed by 8 full player objects, I figure that the hardware was originally designed to use two bits out of each byte for the missiles in seperate bitmaps, but were later combined into one bitmap area...leaving the gap equal to 3 complete bitmaps at the start of DMA (rather than reprogramming the kernal to take advantage of this additional space). This is not a drawback in machine language programming, since the area can easily be used for program area (just as any other memory location). And is only a drawback in Basic as far as actual program space is concerned, since you can use this area for data (in fact, it often comes in handy as redefined character space...or string variable space when using that speedy method of updating p/m).

Link to comment
Share on other sites

Like many machines (the C64 excepted) of the time the 8bit had limited sprite capabilities - the TI99, MSX and Colecovision could all only manage 4 sprites in any one horizontal line...

 

I would assume from a design POV they went with 4 ports = 4 players and 4 missiles maybe? Just as the 2600 has 2 ports and therfore 2 players and 2 missiles...

 

The BIG advantage the 8bit has over its contemporaries is that because each sprite is 8bits wide, but the whole screen tall, vertical resue of the player means its absolute cake to get LOADS of seperate moving objects on screen (albeit with a little DLI work)...

 

Of course the 8bit had enought horsepower to do raster sprites too (unlike the C64) hence games like Donkey Kong or Gremlins where there are LOADS of independent moving objects...

 

sTeVE

Link to comment
Share on other sites

There are actually 8 objects, since the 5th object is split into 4 2-bit objects (missiles) by default.

 

True, but that is sidestepping the issue a bit...

 

Since p/m functions are basically an interrupt built into Antic, the chosen number of them is probably due to the speed limitations of the hardware.  

 

That's my feeling too, but I'd love to know for sure.

 

I can't find any info to back this up, but since the total space set aside is equal to the area that would be consumed by 8 full player objects, I figure that the hardware was originally designed to use two bits out of each byte for the missiles in seperate bitmaps, but were later combined into one bitmap area...leaving the gap equal to 3 complete bitmaps at the start of DMA (rather than reprogramming the kernal to take advantage of this additional space).

 

Hmmm, sounds interesting.

 

This is not a drawback in machine language programming, since the area can easily be used for program area (just as any other memory location).

 

True, but I still find it somewhat curious. Like why there was a keyboard speaker on the first machines. I get the feeling they were thinking of doing something that they never got around too.

 

Another mystery is why they didn't use X and Y offsets for smaller sprites, instead of the Y-only offset the Antic had. I assume this was because it made the circuitry easier to design, but it seems like a trememdous waste of RAM and programmer time.

 

Maury

Link to comment
Share on other sites

BTW the keyboard speaker was built into the early computers because of the 400's mesh keyboard (where it was only really necessary)...the 800 just used the same hardware programming. Why they chose to pipe the clicks to the TV speaker in the XL line is anyone's guess, though.

 

In the X-only pointer vs. X/Y location pointers issue, I believe that the former was chosen simply because it is faster (Antic simply spills a bitmap over the entire height of the screen). The latter method would require additional instructions as to WHEN to start drawing an image.

Link to comment
Share on other sites

INMHO the limited sprites and the missing color ram made it later difficult and too much cost producing when converting c64 stuff on atari... (remember an old thread here on atariage.com) relativly to the expected sales...

 

i guess the the 8 24x21x3 (? do not know exacty) sprites of c64 including stretching+3 independend colors for each+individually positioning plus colision detection...made it a lot of easier to came around the 0,9 mhz 6510...

 

and even with some raster splits you could have more sprites on screen... (terra cresta f.e. )

 

atari told us or tried to believe...you have 256 colors...but to be very honest... but for what??? mostly unusable in games except for some nice DLI color shades in the background and more freedom in choosing colors for objects BUT... 4 colors in 1 scanline...in the most common gfx modes (not counting mode9 etc...and not counting the background color...)

 

hve

Link to comment
Share on other sites

atari told us or tried to believe...you have 256 colors...but to be very honest... but for what??? mostly unusable in games except for some nice DLI color shades in the background and more freedom in choosing colors for objects BUT... 4 colors in 1 scanline...in the most common gfx modes (not counting mode9 etc...and not counting the background color...)

hve

 

That's a rather loaded argument. One could also say "what good is having 16 colors available on each scanline if you only have 16 basic and rather garish-looking colors to work with for your entire screen??"

 

The C=64 is basically like CGA graphics. Pretty ugly if you ask me. Dithering winds up being used to simulate missing colors. At least with the 8-bit and the 2600 you _can_ create displays which appear to be close to 8-bit color through palette shifting. That's why 2600 and 8-bit emulators on the PC require at minimum 8-bit color depth screens.

 

Games like Enduro and Archon take full advantage of Atari systems' wide color palette for gameplay features.

Link to comment
Share on other sites

The two, and in my opinion the only two issues that the C64 created for the 800 were that:

 

On one hand it sold huge numbers of units so it became the dominant platform to originate software on and these games used the C64 capabilities in very straighforward ways - hence we all got the poor 800 ports of crappy C64 games - always ugly!!!!

 

And the 8bit Atari did not have the same video hardware as the C64 - and it had TWO different features - extended background color mapping and bigger sprites...

 

On the other hand the Atari had LOADS of cool features which make well programmed games designed for the 800 IMPOSSIBLE to port onto the C64 ever played C64 Ballblazer, Rescue on Fractalus or Koronis Rift?!?!?!

 

Which only means that great 800 games cannot come from porting C64 games, and game design needs to respect the hardware plaform to get the best out of it...

 

With a kernal or two you can get more colors per scanline on the Atari - a vertical split midway across the playfield is doable....

 

If you really want to see the 8bit kick the C64's butt at the types of games the C64 was very good at (sprite based platformers) go find Henry's House (by Chris Murray who also did Myrax force and Last Guardian - now that was EXTREMELY pretty) - compare the C64 and Atari 800 versions - WOW - not all 8bit games need to be in 3 shades of one color in low resolutions and use software sprites!!!!!

 

All of which reminds me - the SATANTRONIC demo discs that were mentioned on this board the other day have non artifacted multicolor 302X192 pictures - its a cheat with players - but it does look AWESOME (well if the art were better anyways)!

Link to comment
Share on other sites

BTW the keyboard speaker was built into the early computers because of the 400's mesh keyboard (where it was only really necessary)...the 800 just used the same hardware programming.  Why they chose to pipe the clicks to the TV speaker in the XL line is anyone's guess, though.

 

This was probably done to cut the manufacturing cost of the system. Wouldn't have saved a lot itself, but combined with a lot over other simplifictions between the 800 and XL line they probably brought the manufactuing costs down quite a bit.

 

In the X-only pointer vs. X/Y location pointers issue, I believe that the former was chosen simply because it is faster (Antic simply spills a bitmap over the entire height of the screen).  The latter method would require additional instructions as to WHEN to start drawing an image.

 

Remeber that the GTIA in the computers was a direct descendant of the TIA in the 2600. The disaply data on the 2600 was generated on the fly one line at a time, so it had no concept of vertical positions, thus no vertical position registers. The 2600 also had no directly controllable horizontal position registers, so at least we gained that in the GTIA :)

 

Dan

Link to comment
Share on other sites

BTW the keyboard speaker was built into the early computers because of the 400's mesh keyboard (where it was only really necessary)

 

I guess that makes sense, but I don't understand why they wouldn't pipe it to the TV like they did on the XL's. That had to add a few points to the production cost.

 

In the X-only pointer vs. X/Y location pointers issue, I believe that the former was chosen simply because it is faster (Antic simply spills a bitmap over the entire height of the screen).  The latter method would require additional instructions as to WHEN to start drawing an image.

 

That's my feeling too, but it's too bad in a way. It certainly would have made programming easier, and faster too I'd bet.

 

Maury

Link to comment
Share on other sites

I guess that makes sense, but I don't understand why they wouldn't pipe it to the TV like they did on the XL's. That had to add a few points to the production cost.

 

Maybe they used the speaker originally because they felt it sounded better for the clicks to be coming from the keyboard then from the TV.

 

That's my feeling too, but it's too bad in a way. It certainly would have made programming easier, and faster too I'd bet.

 

Maury

 

Well it's really a trade-off. If they where horizontally positionable then they would have to had a limited height, say 8 or 16 lines. This would have reduced thier flexibility. Having the sprite the full height of the screen makes vertically muxing the sprites very easy, since at the start of each frame you can draw the appropriate images into the correct sections of the PM memory, then just change the horizontal positon of the sprite on the correct scan line.

 

Dan

 

PS: I find the subject of the trade offs made in hardware design a very interesting topic of discussion. :)

Link to comment
Share on other sites

Steve, I love henry's house and "MIRRRRAX FORCE"... but compared to uridium etc... well... ;)

 

the VIC 20 version of Dig Dug, done by Atarisoft has better & nicer sprites than the atari 8bit version... imho... because they are all multicolor ones... (software based)

 

and unfortunatly atari has no color ram... which even my 1st computer VIC20 had... so in converting large charmaps from c64 it would help in creating much more colored games on atari...

 

hve

Link to comment
Share on other sites

Hve,

 

Uridium - more fun than most Atari shooters of that there is no doubt, but Mirax shows what can be done - with some better game design it could have been AWESOME...

 

Last Guardian is incredible tho' - all with a character mapped display and 4 PMG!!!!!

 

Try the OLD version of Dig Dug by atari - horrid really - but all Antic E with multicolored Pooka and Fygar - I still have my old cart :-)

 

Whilst using S/W sprites can give GREAT results - Grelins for instance, its hard to do scrolling games in hi-res bitmapped modes (eats RAM) and also you can go for really great fullcolor charmapped backgrounds with overlaid sprites for maximum colors and characterset animation for the MOST color and movement possible - its really easy to get over 30 colors on screen and in proper use, not just shaded menu bars and borders -show me a C64 that can do that

 

sTeVE

Link to comment
Share on other sites

old version of digdug??? i need it... i have it for GBA...excellent! i just know the 2600 & 5200 version... where can i get the "old" one you mentioned, steve??? :)

 

btw. spelunker is great, too... but f.e. the david crane's ghostbuster the c64 version is far better... compare the "end boss"...or the player sprites...

 

steve...it would be nice if you could find some spare time and code (again) on the g'old atari ;) and btw... not possible to get a screenshot of the last ninja???? pleeeeeassse...

 

hve

Link to comment
Share on other sites

The 'old' one is horrid - Why do you need it? I have it on disk and can convert it if someone REALLY wants it -

 

I spoke to the guy who wrote DK for te 800 (great port!) - He told me a story where they couldnt believe the guy they gave Dig Dug to originally :(

 

Thank the 5200 for the version you have today :twisted:

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