logoalt Hacker News

amiga386 • today at 4:24 PM • 5 replies • view on HN

I break out this diagram every time Amiga graphics hardware comes up:

https://amigadev.grimore.org/Hardware_Manual_guide/node02d4....

The Amiga had a great trick. Both the CPU and the display/audio hardware share the same RAM (called Chip RAM), so they have to arbitrate for access to it, through a chip called Agnus, which prioritises who gets to read/write memory, depending on importance. You can starve the blitter, you can starve the CPU, but you can't starve the audio or video or disk I/O. As the 68000 CPU only needed memory access every second clock cycle, the Amiga designers arranged it so that the custom chips preferred odd cycles and saved the even cycles for the 68000. So your 68000 runs at full speed.

But if you need more and more work done by the custom chips, it starts to rob some of the even cycles from the 68000.

If you have a 16-colour lowres screen (4 bitplanes), Denise (the chip that turns RAM values into video signals) only reads display data on odd cycles. But if you add another bitplane for 32 colours, she needs some of the even cycles. If you add another bitplane for HAM or EHB mode, she needs even more.

In hires mode, it needs twice the bandwidth for twice the pixels. So if you have a 4-colour hires screen, it only needs odd cycles and the 68000 is full speed. If you go for 8 or 16 colours, it starts slowing the 68000 down.

This is why the default Workbench screen is 4-colour hires. It's hires to look nice and professional like an IBM, and not like a kid's toy like the Atari ST's default lowres GEM interface. It's 4-colours to show it's colourful and not black-and-white, but it's not 8- or 16- colours because that would nearly halve the speed of the CPU !!!


Replies

dosisking • today at 6:53 PM

> This is why the default Workbench screen is 4-colour hires. It's hires to look nice and professional like an IBM, and not like a kid's toy like the Atari ST's default lowres GEM interface

The Atari ST had a professional resolution of 640x400 monochrome with a 70hz refresh rate. The Amiga had a 640x200 resolution non-interlaced, or a 640x400 interlaced which was basically a kid's toy.

➕ show 3 replies
icedchai • today at 6:20 PM

I had an Amiga 500, then a 3000. You could really feel the slow performance with 8 and 16 color Workbench screens on the 500.

weinzierl • today at 8:13 PM

For everyone wondering why there are so many dollar values in the diagram: $ meant hex in the vernacular of the day.

(Could mean string too, but that'd a different story)

➕ show 1 reply
tycoon666 • today at 9:22 PM

But then there ist fast-RAM

TacticalCoder • today at 4:59 PM

Username checks out!