Commodore 64 and Amiga 500 video hardware characteristics?

You can talk about almost anything that you want to on this board.

Moderator: Moderators

User avatar
Bregalad
Posts: 8055
Joined: Fri Nov 12, 2004 2:49 pm
Location: Divonne-les-bains, France

Re: Commodore 64 and Amiga 500 video hardware characteristic

Post by Bregalad »

Oziphantom wrote: A sprite is only 12 pixels wide, you can't set a half pixel, you can place it anywhere on the 404x312 resolution of the VIC-II with a single pixel resolution, however the sprite it self only has 12 individual pixels.
There's no such thing as "half pixel", but there's such a thing as "double pixels", which are unfortunately confusingly refered to as "pixels" in most documentations. As far as I know, both sprite positioning and scrolling is always done in native pixels increments, half the width of "double pixels" which are used when multicolour is enabled for either a sprite or background tile.
Which leads to a philosophical question: Are the sub-screen columns in Super NES pseudo-hires "pixels" or "half pixels"?
I might be wrong, but the Super NES in both pseudo-hires and real hires still uses "whole" pixels of sprite positioning and scrolling, so it make sense to call them "half pixels".
User avatar
TOUKO
Posts: 306
Joined: Mon Mar 30, 2015 10:14 am
Location: FRANCE

Re: Commodore 64 and Amiga 500 video hardware characteristic

Post by TOUKO »

If you want some reliable technical infos on amiga hardware you have this :
http://amigadev.elowar.com/read/ADCD_2. ... e0000.html

Or this :
http://codetapper.com/amiga/sprite-tricks/

It explain how sprites trick are done on amiga in some games .
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: Commodore 64 and Amiga 500 video hardware characteristic

Post by Drew Sebastino »

Oziphantom wrote:you have ~1 million bits per second, so it depends on how you want to use them.
Actually, that one website TOUKO just linked said it could transfer 4MB in one second, so 32x as much data, which is a world of difference...

4 * 8 * 1024 * 1024 / 60 = 559,240 bits per frame,
6 * 320 * 200 = 384,000 bits per screen,
559,240 / 384,000 = about 1.46 screens per frame.

Of course, this isn't including any sort of overhead for setting everything up. Does the Amiga have some sort of display list for Copper, or what?
lidnariq
Posts: 11430
Joined: Sun Apr 13, 2008 11:12 am

Re: Commodore 64 and Amiga 500 video hardware characteristic

Post by lidnariq »

Yup. Read some random subset of the articles that ccovell linked to ("sprite tricks") for examples.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: Commodore 64 and Amiga 500 video hardware characteristic

Post by Drew Sebastino »

Looking more into it, the Amiga only has 32 colors (the sixth bit only halves the brightness) that the "sprites" must share as well. That's not exactly stellar, even for something released in 1987...
lidnariq
Posts: 11430
Joined: Sun Apr 13, 2008 11:12 am

Re: Commodore 64 and Amiga 500 video hardware characteristic

Post by lidnariq »

Yeah, but the Copper unit lets you change colors awfully fast. I don't know if it's enough to completely replace the entire palette on every scanline, but I think I remember descriptions of updating at least 16 of them per scanline for HAM mode.

Also note that if you want parallax, you have a layer of sprites and a you can staple the 6 bitplanes together in any combination (I think?) and you'll quickly run out of bits to index through the palette anyway.
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: Commodore 64 and Amiga 500 video hardware characteristic

Post by Drew Sebastino »

The Amiga just looks like a real bitch to work with; The blitter seems really cool, (I'm not aware of other computers from the time having such a thing) but I'm still asking wtf at its "sprite capabilities". Was their intended purpose to be multiplexed to form backgrounds, or what? It's not like they could have been free to implement.
lidnariq wrote:Yeah, but the Copper unit lets you change colors awfully fast. I don't know if it's enough to completely replace the entire palette on every scanline, but I think I remember descriptions of updating at least 16 of them per scanline for HAM mode.
I guess you could do this during HBlank, and use Copper to multiplex the sprites during active rendering. Is the pointer for sprite graphics data fixed, or can it be moved? I don't know the feasibility of making a non-repeating background.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Commodore 64 and Amiga 500 video hardware characteristic

Post by tepples »

I have a feeling that Amiga sprites were intended to represent GUI elements in Intuition, such as the mouse pointer, the text insertion point, and an icon being dragged from one Workbench window to another.
lidnariq
Posts: 11430
Joined: Sun Apr 13, 2008 11:12 am

Re: Commodore 64 and Amiga 500 video hardware characteristic

Post by lidnariq »

Espozo wrote:Is the pointer for sprite graphics data fixed, or can it be moved? I don't know the feasibility of making a non-repeating background.
There's only 8 sprites × 16 pixels × 2bpp per sprite of data. This would look like a limitation of 128 pixels (40%) of overdraw of 3-color sprites, or 64 pixels (20%) of overdraw of 15-color sprites, except that the Copper can be configured to program new X coordinates mid-scanline.

You do run out of bandwidth at some point. Presumably it lies somewhere between "updating 4 words containing X coordinates multiple times per scanline" and "updating 4 words of X coordinates and another sixteen words containing pixel data".

Sprites are arbitrarily high because they have associated DMA hardware (pedantically not part of Copper) that will update the sprite blitters with new data every scanline.
ccovell
Posts: 1045
Joined: Sun Mar 19, 2006 9:44 pm
Location: Japan
Contact:

Re: Commodore 64 and Amiga 500 video hardware characteristic

Post by ccovell »

Espozo wrote:Looking more into it, the Amiga only has 32 colors... released in 1987...
"The Amiga" = 1985 release.

That was a lot more colours (at an acceptable resolution) than any home computer until the VGA adaptor came to PCs in 1987.
lidnariq
Posts: 11430
Joined: Sun Apr 13, 2008 11:12 am

Re: Commodore 64 and Amiga 500 video hardware characteristic

Post by lidnariq »

Early computers went preferentially for more pixels over more colors. The modern retreaux "lots of colors but super chunky pixels" is almost entirely without historical precedent.
Oziphantom
Posts: 1565
Joined: Tue Feb 07, 2017 2:03 am

Re: Commodore 64 and Amiga 500 video hardware characteristic

Post by Oziphantom »

Yes it has a larger bandwidth if you are willing to saturate the entire bus for it. Remember the CPU needs the bus as well and if Paula is playing music it needs the BUS as well, so you don't get all of the max stats on everything you have to comprise as you see fit.
Also you can't just copy a sprite over the bitmap, you have to AND OR mask it. AND to make a hole in the background, then OR in your sprite. To remove the sprite you have to copy in the "background" again over it. Yes software sprites suck ;)
So by the time you do FETCH AND OR STORE that is 4 bits per 1bit on screen ~4,000,0000 -> ~1,000,000 sure with the background you can just Blit so its swings and roundabouts. However you are free to use it as you wish and as it suits your needs.

Yeah the A500 is the Cost reduced A1000 of 85, and for 85 it is a total power house. The Amiga 500 can rival a 486DX4 100 in terms of productivity, its Multitasking capabilities and multimedia capabilities leave the others in the dust. At the same time the A1000 could emulate the Mac faster than the Mac could run it self. Only the Amiga multi-tasked and was in colour. You also have to look at the price in 87 an A500 was less than double a VGA card (The A500 was $700 while a VGA card was only $450, but you needed a $2000 machine to put it in ;) )

Yup the PS2 is the NEW Amiga in terms of being a total pain. To get the best performance out of an A500 takes care and optimisation but when you get the bus signing and the bits flying she punches way above her weight. Sure the PC VGA has 256 colours, but with a screen you can use differing ( I've turned 4 greens into "can't believe its not a 16bit gradient on mine" ) to boost the shades, and then you have music and not a beep.

The Amiga has a fascinating development history but I will try to summerise it.
Jeff Minter gets annoyed with Atari ( he designed the 8bit series and the POKEY ) leaves Atari with some engineers and promises to make a new console for them.
They then set up and start making the Lorraine. While Atari wants a video game console, they really want to make a multitasking computer so start making a console with a multitasking OS and disk drive support.
Atari starts to fall badly, and starts to want out of its deal
Commodore steps in and promises to fund and take the "computer" and leave Atari with the console tech.
Jack Trimeil is fired from Commodore, Takes over Atari and does everything he can do to get the Lorraine tech back from Commodore. Commodore decided they want the lot, massive fight. Commodore wins.
Commodore gets them to push on and make it a full fledged computer. But then had budget issues and wants them to cut the amount of RAM. The A1000 only has 256K it needs 512K ;)
Commodore limps on in 85/6/7 the C64 and C128 are keeping them strong, but the C64 is really starting to show its age and the 128 falling behind in the business markets, while the Amiga is still pricey. They cut the A1000 down to make a new 128 and try to replace the C64 and 128 with it. The C64 still keeps kicking though, so basically the A500 becomes the new C128, by this point the A1000 has evolved into the 2000.

The Sprites in the Amiga are basically Atari sprites, the tech is identical to the A8 series.

If the A500 is too limiting for you there is the A1200 with AGA which boosts everything. More planes more colours more blitter more RAM, more bits in the audio samples, more Mhz, more instructions etc etc (although maybe not the sprites... )
User avatar
Drew Sebastino
Formerly Espozo
Posts: 3496
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: Commodore 64 and Amiga 500 video hardware characteristic

Post by Drew Sebastino »

tepples wrote:I have a feeling that Amiga sprites were intended to represent GUI elements in Intuition, such as the mouse pointer, the text insertion point, and an icon being dragged from one Workbench window to another.
Yeah, I had that feeling too.
lidnariq wrote:
Espozo wrote:Is the pointer for sprite graphics data fixed, or can it be moved? I don't know the feasibility of making a non-repeating background.
There's only 8 sprites × 16 pixels × 2bpp per sprite of data. This would look like a limitation of 128 pixels (40%) of overdraw of 3-color sprites, or 64 pixels (20%) of overdraw of 15-color sprites, except that the Copper can be configured to program new X coordinates mid-scanline.
Can it also program new graphics pointer data for sprites mid-scanline?
ccovell wrote:
Espozo wrote:Looking more into it, the Amiga only has 32 colors... released in 1987...
"The Amiga" = 1985 release.
Oh, yeah, that's quite a bit more impressive actually. Still a shame they cheaped out on the color ram; a sixth bit that leads to nothing couldn't have been the original intent...
lidnariq wrote:Early computers went preferentially for more pixels over more colors. The modern retreaux "lots of colors but super chunky pixels" is almost entirely without historical precedent.
Yeah, if I'm not mistaken, the resolution can actually go beyond 640x480, even though you'd be dealing with like, 1bpp.
Oziphantom wrote:Yes it has a larger bandwidth if you are willing to saturate the entire bus for it. Remember the CPU needs the bus as well and if Paula is playing music it needs the BUS as well, so you don't get all of the max stats on everything you have to comprise as you see fit.
Okay, do the 4MB isn't really a real-world number...
Oziphantom wrote:Also you can't just copy a sprite over the bitmap, you have to AND OR mask it. AND to make a hole in the background, then OR in your sprite. To remove the sprite you have to copy in the "background" again over it. Yes software sprites suck ;)
So by the time you do FETCH AND OR STORE that is 4 bits per 1bit on screen ~4,000,0000 -> ~1,000,000 sure with the background you can just Blit so its swings and roundabouts. However you are free to use it as you wish and as it suits your needs.
To rephrase that, you have to redraw the background over sprites, OR the sprite shape over it, then AND the sprite on top of it.
Oziphantom
Posts: 1565
Joined: Tue Feb 07, 2017 2:03 am

Re: Commodore 64 and Amiga 500 video hardware characteristic

Post by Oziphantom »

Espozo wrote:
ccovell wrote:
Espozo wrote:Looking more into it, the Amiga only has 32 colors... released in 1987...
"The Amiga" = 1985 release.
Oh, yeah, that's quite a bit more impressive actually. Still a shame they cheaped out on the color ram; a sixth bit that leads to nothing couldn't have been the original intent...
Die space gets to be an issue, RAM eats space ;)
Espozo wrote:
lidnariq wrote:Early computers went preferentially for more pixels over more colors. The modern retreaux "lots of colors but super chunky pixels" is almost entirely without historical precedent.
Yeah, if I'm not mistaken, the resolution can actually go beyond 640x480, even though you'd be dealing with like, 1bpp.
ECS can do 1280x200/256 at 2bpp. OCS can't. So A500+ can,although most A500s I have seen can also. A1000 can't(mostly) and A500 officially cant but its an easy upgrade.
Espozo wrote:
Oziphantom wrote:Also you can't just copy a sprite over the bitmap, you have to AND OR mask it. AND to make a hole in the background, then OR in your sprite. To remove the sprite you have to copy in the "background" again over it. Yes software sprites suck ;)
So by the time you do FETCH AND OR STORE that is 4 bits per 1bit on screen ~4,000,0000 -> ~1,000,000 sure with the background you can just Blit so its swings and roundabouts. However you are free to use it as you wish and as it suits your needs.
To rephrase that, you have to redraw the background over sprites, OR the sprite shape over it, then AND the sprite on top of it.
Draw Background over sprites, AND the sprite shape over it, then OR the sprite on top of it. However the AND OR operation is done by the blitter in "one step", so the Blitter will read Buffer AND mask OR Src write Buffer on a word at a time it has a built in barrel shifter so you don't have to pixel shift the data in RAM. Rather than get it to do all the ANDs, then all the ORs.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Commodore 64 and Amiga 500 video hardware characteristic

Post by tepples »

lidnariq wrote:Early computers went preferentially for more pixels over more colors.
Because they were primarily used to manipulate text and possibly line art as opposed to photos. That's also why many computers starting in the mid-1980s abandoned composite output (and hence the living room video game use case) in favor of faster-scanning, incompatible progressive output at medium resolution (342p-384p, Mac and EGA), enhanced definition (480p-600p, VGA/SVGA), or higher (720p-768p, XGA). This would separate the "open platform" and "couch gaming" worlds for about two decades until 2007, when TVs caught up to HD input.
lidnariq wrote:The modern retreaux "lots of colors but super chunky pixels" is almost entirely without historical precedent.
That depends on what you define as "super chunky". A bunch of old systems had 160-pixel-wide modes, such as CGA (160x100), EGA (160x116), PCjr (160x200), Game Boy, and Game Gear.
Post Reply