▚ computopedia.com

TopView

IBM's DOS-based multitasking and windowing shell that arrived just early enough to matter and just late enough to be overtaken by everything that came after it.

TopView was IBM's answer to the obvious problem with PC-DOS: it ran one program at a time, and by the early 1980s that felt increasingly inadequate. Rather than replace DOS, IBM built TopView on top of it. The result was, technically speaking, not an operating system at all (IBM said so explicitly in its own FAQ literature) but an extension that ran on top of DOS version 2.00 and higher, adding multitasking, windowed display, and data transfer between co-resident applications.4 Whether that distinction comforted the users who paid for it is another matter.

What TopView Was, Precisely

IBM's own documentation is careful about the label. The product FAQ states flatly: "TopView is not an operating system. It works in conjunction with DOS version 2.00 and higher to provide a multitasking and windowing operating environment."4 Under DOS 3.00 and 3.10, TopView supported only the subset of functions available under DOS 2.00 or 2.10, a meaningful constraint that the documentation acknowledges without apology.4 The environment was strictly single-user.5

When you ran TopView, you could load as many applications as physical memory permitted, switch between them, view their screens in separate windows, and copy text from one to another.5 Paste was not universally available; it depended on how cooperative the underlying application was.1 Background execution worked the same way: available in principle, contingent on application behavior in practice. The constraint was architectural. Because TopView needed to control the hardware directly to arbitrate multitasking, applications that wrote directly to hardware interrupt vectors or grabbed video buffers without going through TopView's interfaces could not be fully managed. Program switching was the one feature that always worked, regardless of how an application behaved.3

TopView was sold as two separately priced packages. The first was TopView itself, the runtime environment. The second was the TopView Programmer's ToolKit, which contained the application programming interface documentation, language interface tools, and programming guidelines for developers who wanted their software to take full advantage of the environment.5 The ToolKit was the means of reaching the deeper features; without it, developers were largely guessing.

Hardware Requirements

The minimum hardware list was modest by the standards of what TopView was trying to do. IBM specified an IBM Personal Computer, XT, Portable Personal Computer, or AT; at least 256KB of RAM; and either two double-sided diskette drives or one diskette drive plus a fixed disk.4 Display support covered the IBM Monochrome Display, IBM Color Display, and IBM Enhanced Color Display running in emulation mode.4 TopView would not run on the PCjr.4

IBM recommended 512KB of RAM for practical use, along with an XT or AT with a fixed disk.3 The 256KB minimum was technically honest but operationally stingy: on a 256KB PC running DOS 2.00 or 2.10, approximately 80KB remained available for actual application programs after DOS and TopView claimed their share. Under DOS 3.00 or 3.10 that number dropped to roughly 68KB.4 Multitasking several large programs on 256KB was possible in the same sense that crossing the Atlantic in a rowboat is possible.

For the IBM 3270 PC specifically, the recommended minimum rose to 384KB, and only the 3852, 5152, and 5182 printers were supported in that configuration.1 TopView runs on the 3270 PC with Control Program version 1.20.4 IBM PC 3270 Emulation compatibility considerations for IBM TopView 1.1 are documented in IBM's PC 3270 Emulation Program Version 2.00 User's Guide.11

A mouse was optional. TopView supported the Microsoft Mouse (both parallel model 037-099 and serial model 039-099), the PC Mouse by Mouse Systems (part number 900120-214, serial), and the VisiOn Mouse by VisiCorp (part number 69910-1011, serial).6 The keyboard could substitute as the pointing device throughout, and applications were not required to support a mouse to run under TopView.6 When using the IBM Professional Graphics Adapter, TopView had to be configured for the keyboard or a parallel mouse, as the PGA path was constrained.3

Application Compatibility & the API

TopView sorted applications into three tiers, a classification scheme that captures the product's central tension neatly. A plain DOS application got program switching at minimum, and possibly copy if it followed certain behavioral guidelines, with no guarantees beyond that. A TopView Aware application used two TopView-provided Interrupt 10 BIOS calls to write to the screen instead of going directly to the video buffer, gaining multitasking and windowing support while remaining usable in a plain DOS environment. A TopView Specific application was written against the full API and had access to everything, including paste without a filter table.7

This hierarchy mattered because most software in 1984 and 1985 fell into the first category. Applications that wrote directly to the hardware video buffer (which was most of the commercially important PC software of the era) created conflicts that TopView could not fully resolve. The product documentation is candid about this: existing applications "in general, may not be able to use every TopView feature."3

Each application required a Program Information File supplying TopView with its title, executable path, default data directory, minimum and maximum memory requirements, screen type, the range of software interrupt vectors it modified, window size and offset, and behavioral flags.6 Maximum memory for a single application was capped at 512KB.8 The system memory overhead per application (for TopView's own control blocks and video buffer) was a minimum of 7KB, rising by 16KB for any application using graphics.8

Batch files were not supported. IBM's Application Guide acknowledges this directly while noting that many programs launched via batch files could still be made to run under TopView with appropriate configuration.1

The Programmer's ToolKit & Third-Party Development

The Programmer's ToolKit documented the TopView API and provided language interface tools and sample code for developers targeting the environment.5 Third parties moved quickly to wrap it in more accessible form. Lattice, Inc. produced the Lattice TopView Toolbasket, developed for them by Strawberry Software, which added window, cursor, and pointer functions, printer controls, cut-and-paste utilities, a debugging layer, an assembler interface, and master file and data definition headers, along with sample programs with source code.9 It ran on the IBM PC, XT, AT, and compatibles with 256KB minimum (512KB and the IBM ToolKit recommended), and sold for $250; binary plus source code was available for $500.9

The TopView API was open: any developer could obtain the ToolKit documentation and write applications against it.4 IBM distributed and updated a compatibility list through authorized dealers and marketing representatives.3

Specifications

TypeMultitasking and windowing environment; extension to PC-DOS, not a standalone operating system4
RequiresDOS version 2.00 or higher4
Supported hardwareIBM Personal Computer, XT, Portable Personal Computer, AT; not compatible with PCjr4
Minimum RAM256KB; 512KB recommended for practical use34
Maximum RAM supported640KB4
Max memory per application512KB8
Available RAM for apps (256KB system, DOS 2.x)Approximately 80KB4
Available RAM for apps (256KB system, DOS 3.x)Approximately 68KB4
System memory per application (TopView overhead)Minimum 7KB; graphics applications add 16KB8
Display supportIBM Monochrome Display, IBM Color Display, IBM Enhanced Color Display (emulation mode)4
3270 PC minimum RAM384KB recommended1
Mouse supportMicrosoft Mouse (parallel 037-099, serial 039-099), PC Mouse by Mouse Systems (900120-214), VisiOn Mouse by VisiCorp (69910-1011); mouse optional6
Versions cited in sourcesVersion 1.107; IBM TopView 1.111
Package contentsTopView User's Guide, Program diskette, Tutorial diskette, Quick Reference2
NetworkTopView for PC Network listed as associated product12

Reception & Legacy

TopView's timing was awkward in a way that no amount of IBM backing could fix. It appeared in a market that was already being reshaped by the prospect of graphical environments; Microsoft Windows 1.0 shipped in 1985, and the Macintosh had arrived in 1984. TopView was text-mode and keyboard-driven at its core, with mouse support bolted on and optional. Its windowing was functional, not visual in any inspiring sense.

The deeper problem was the compatibility tier structure. A product whose headline feature (multitasking) worked fully only for software specifically written to its API, while the existing installed base of software got little more than program switching, was selling a promise more than a capability. IBM's own Application Guide table showing which features were available for which IBM programs, with columns of Y and N for Window, Copy, Paste, and Background, makes the gap concrete.1 Paste, in particular, showed up as N frequently enough to be telling.

TopView's lasting contribution may have been forcing the conversation about what a multitasking PC environment needed to look like, and providing a published, open API against which third-party developers could write. The ToolKit documentation, the Programmer's ToolKit ecosystem, and IBM's compatibility classification scheme gave developers a vocabulary for thinking about well-behaved PC software that influenced how the platform evolved. That is a real legacy, even if TopView itself did not survive long enough to benefit from it. By the 1988 IBM product reference, TopView appears only as a line item under network software, a considerable demotion.12

References

  1. 6481060 TopView Application Guide jan85
  2. 1502480 TopView Nov84
  3. PC Seminar V02 N06-1 198503 (1985)
  4. G320-0845-0 198509 (1985)
  5. PC Seminar V02 N06 198409 (1984)
  6. G320-0846-00 198510 (1985)
  7. PC Seminar V04 N02 198604 (1986)
  8. G320-0843-0 198507 (1985)
  9. 1985 07 BYTE 10-07 Computers and Space (1985)
  10. 59X8423 PC 3270 Emulation Program Version 2.00 Users Guide Mar1986 (1986)
  11. IBM Personal System 2 and IBM Personal Computer Product Reference Ver 4.0 Sep88