‹ BackHN Continuity

Thread

Amiga Screens: A Primer

140 points · 69 comments · msephton

  1. amiga386 · · focus · HN ↗
    I break out this diagram every time Amiga graphics hardware comes up:

    <a href="https:&#x2F;&#x2F;amigadev.grimore.org&#x2F;Hardware_Manual_guide&#x2F;node02d4.html" rel="nofollow">https:&#x2F;&#x2F;amigadev.grimore.org&#x2F;Hardware_Manual_guide&#x2F;node02d4....

    The Amiga had a great trick. Both the CPU and the display&#x2F;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&#x2F;write memory, depending on importance. You can starve the blitter, you can starve the CPU, but you can&#x27;t starve the audio or video or disk I&#x2F;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&#x27;s hires to look nice and professional like an IBM, and not like a kid&#x27;s toy like the Atari ST&#x27;s default lowres GEM interface. It&#x27;s 4-colours to show it&#x27;s colourful and not black-and-white, but it&#x27;s not 8- or 16- colours because that would nearly halve the speed of the CPU !!!

    1. icedchai · · focus · HN ↗
      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.
      1. snvzz · · focus · HN ↗
        &gt;You could really feel the slow performance with 8 and 16 color Workbench screens on the 500.

        Until you added FAST RAM (e.g. via lefthand expansion slot), exclusive to the CPU.

        The system prefers allocating there unless CHIP is explicitly requested.

        1. icedchai · · focus · HN ↗
          I eventually added another 2 megs of fast RAM to my Amiga. It was a huge boost! 3 megs of RAM in 1990 felt insane.
          1. snvzz · · focus · HN ↗
            Neat. 3MB would have been insane. That year, my family bought the 512KB trapdoor expansion for A500, so that we could play Monkey Island. It was every bit worth it!

            Of course, the extra 512KB made our Amiga that much more useful, and eventually we did the solder-jumper change to make it chip, as our A500 is a rev6 with the 1MB ECS Agnus.

            I still have this A500; now it also has 8mb fast on cpu slot, an ECS denise and a 68010.

            1. icedchai · · focus · HN ↗
              Cool! I never knew anyone who did a 68010 upgrade back in the day.

              I also had a 30 meg hard drive on my A500 (Supra, which included the RAM expansion.) It was a pretty decent Amiga setup. I taught myself C on that machine (Lattice &#x2F; SAS C)

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.