A well known feature of Amiga is the ability to have multiple Intuition screens (ViewPorts in graphics.library parlance) that coexist and can be laid out on the screen so that they overlap vertically. Additionally, the screen depth buttons allow one to reorder the priority of each screen, and also allows for a "screen switch" effect (if you keep all screens to the top).

This is possible because the generated video output parameters (resolution, where to fetch the bitplanes, color palette, etc...) can be reprogrammed at at any time, by virtue of the Copper.

By 1985, it was already expected for an OS to provide for multiplexed video output (i.e. the ability for different programs to have graphical output at the same time), but pretty much every other OS went with the idea of overlapping windows, and nobody provided the option of independent screens, not even a simple implementation where one could just switch between them.


  • who came up with the idea of multiple screens as a OS feature?

  • who came up with the idea of allowing screens to be dragged up and down?

  • could it be that the original idea was to give each program its own screen, and little to none widget toolkit, and Intuition and overlapping windows came at a later phase in the development of the machine? (by later phase I mean when it was already decided that Amiga would become a desktop computer).

(yes, I know that Dale Luck wrote the graphics.library, but I'm wondering who took the final design decision to go with screen as a UI feature).

  • 1
    Switchable screens predate the Amiga; Andy Hertzfeld had the Switcher, an add-on for the Macintosh that allows switching between applications, each on a separate desktop, working before the end of 1984 — and his inspiration for that was a DOS TSR that he happened to notice someone using (though, sadly, it doesn't seem to be clear which TSR). Cf. en.m.wikipedia.org/wiki/MultiFinder ; Apple bought and incorporated that into the OS in April 1985, a few months before the Amiga. I'm not sure whether that's the first, but it's a contender.
    – Tommy
    Feb 19 '19 at 11:39
  • 1
    Just some opinions, therefore only as a comment: to your second bullet point, I'd say the idea is quite obvious, once you decided to have several virtual screens on a machine with the "copper" :) And to the last one, I don't think that's all there is: Windows were probably part of the design from the beginning, still virtual screens offer things that aren't possible with just windows, like different color palettes, an easy "full-screen mode", etc. Feb 19 '19 at 12:15
  • 1
    The Atari 2600 Basic Cartridge (1980!) had several vertically-stacked "windows" that could be switched on and off. Every window that was shown would be shown full-height, in order, until the bottom of the screen was reached (the height of e.g. the "variables" window would vary with the number of variables the program used). Much more primitive implementation than the Amiga screens, but if I remember it properly it's somewhat the same principle of stacking things until the bottom of the screen is reached.
    – supercat
    Feb 19 '19 at 16:41
  • This is anecdotal, but my gut would go with Jay Miner right from the start. The Hi-Torro Lorraine was supposed to be a video game system, so it makes sense that manipulation of the bitplanes and inclusion of the copper were incorporated very early into the hardware design. I suspect Intuition and the graphics library probably came later when the decision was made to adapt Lorainne into a desktop computer.
    – Geo...
    Feb 20 '19 at 1:38
  • Also, you might be interested in this series: arstechnica.com/series/history-of-the-amiga and especially this bit: arstechnica.com/gadgets/2007/08/a-history-of-the-amiga-part-2/3
    – Geo...
    Feb 20 '19 at 1:47

R.J. Mical, the primary author of the Intuition GUI built into the Amiga OS firmware, is most likely responsible for the concept, but certainly responsible for the detailed design and coding.

The functionality with screens that really set the Amiga apart from lesser systems of the time (MacOS Switcher, DOS TSR's) was that the screen was the main UI primitive that allowed application programs to fully utilize the multitasking kernel. This is because regardless of the type of graphical rendering the application required, it could co-exist with other multitasking applications by either sharing or uniquely owning a screen. The number of simultaneously active screens only being limited by RAM availability.

As you noted, the Amiga's unique hardware capability of changing its display registers/parameters on any given scan line makes partially or completely overlapping screens easy to implement. But the piece that ties it together is really the System Gadgets, which are part of Intuition. These gadgets on the top border of the screen gives each screen a UI for reordering screens, and for sliding them up & down to reveal underlying screens. From AmigaOS Intuition manual:

System gadgets are predefined gadgets provided by Intuition to support standard operations of windows and screens. System gadgets have a standard image and location in the borders of screens or windows. Intuition manages the operation of all system gadgets except the close gadget.

The drag and depth gadgets are automatically attached to each screen in the system...

Without Intuition's System Gadgets, there is no consistent user metaphor for accessing multiple screens, and thus no in-built feature of the OS. So, while it is true that hardware and the low-level graphics.libary enable the feature, and preemptive multitasking makes it a practical and desirable feature, it's Intuition that ties it all together and provides the UI elements for both programmers and users to manage the screens.

  • "Amiga's unique hardware capability of changing its display registers/parameters on any given scan" - not unique. As noted elsewhere, this feature originated on the Atari machines that led to the Amiga. Every line could have its own screen dedicated to it and easily switch among them. Feb 20 '19 at 22:42

nobody provided the option of independent screens

This was common on the Atari 8-bit machines, who's designers went on to make the Amiga and included many of the features from the original designs. In this case, one could change the base address of the screen buffer by setting a bit in the display list and then putting the 16-bit address in the following two bytes. This way you could have multiple screens in memory and change them about with a little bit fiddling.

The Atari did not have independent programs (ie, multitasking) to take advantage of this feature, but may programs did use this internally to make multiple displays, and at least one I recall, which my friend Oliver wrote, allowed the text and graphics display to be moved in real time using the joystick.

  • On the Atari ST, the logical screen (the one being written to) and the physical screen (the one being displayed) could be changed at any time using XBIOS(5) a.k.a. void Setscreen( void *laddr, void *paddr, int16_t rez ); Though not very commonly done, one could mix the resolutions being displayed (320×200 16-color low or 640×200 4-color medium) mid-display. IIRC, this was done by setting an interrupt to fire at the appropriate scanline or by watching the video address pointer ($FF8205, $FF8207, and $FF8209). Jul 1 at 14:43

who came up with the idea of multiple screens as a OS feature?

This feature was likely present in earlier mainframe systems (no time now to figure that out). It existed in the microcomputer world in 1983 with Concurrent CP/M-86

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.