DOWNLOAD THE C-128 80 COLUMN DISPLAY MANAGER

Started by BigDumbDinosaur, November 28, 2008, 03:59 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

BigDumbDinosaur

The link to download version 1.2 of the C-128 80 Column Display Manager (80CDM) is at the end of this post.

Included in the ZIP distribution is the 80CDM binary, a status line writer BASIC interface binary (with source code) and an Adobe PDF containing full documentation.  Please peruse the README.1ST file and PDF documentation before trying to integrate the display manager with your software.  If you have been using version 1.0 or 1.1 of 80CDM please note that 80CDM's load address and access table structure have been changed.  Versions 1.0 and 1.1 cannot be integrated with Clock-Calendar 128.




The C-128 80 Column Display Manager adds some display management functions that should have been part of the original C-128 kernel but were not included for a variety of reasons.  The main feature is the ability to buffer screens for later recall, thus enhancing the basic "window" functions that are part of the display kernel (screen editor ROM).  The display manager implements the following functions, the availability of which depends on whether the computer has 16K or 64K of video RAM (VRAM):


  • Screen Save: copy the visible display to any of 10 hidden screen buffers.  Such copying includes all related display variables that define window margins, cursor location and mode (e.g., static, flashing, etc.), current character attributes, etc.  It is also possible to copy one hidden screen to another.  Only one hidden screen is available on a 16K machine.


  • Screen Restore: copy any hidden screen to the visible display and establish the associated display parameters that define the window margins, cursor location and mode, etc., that existed when the screen was previously saved.


  • Display Redirection: redirect display output to any of the hidden screens, as well as the visible screen, permitting the build-up of a screen "behind the scenes."  Later, the resulting hidden screen can be copied to visible space, resulting in a display that pops into view at lightning speed.


  • Screen Exchange: swap the visible display with a temporary buffer, allowing rapid flipping between two screens (e.g., presenting a help screen from within a running application).  As with save and restore, the associated display parameters are copied.  The temporary buffer is independent of any of the 10 hidden screen buffers but is accessible for display redirection.  Not available on a 16K machine.


  • Status Line: generate a static, reverse video status line that is unaffected by any other screen activity.  Included is a function to write text into the status line, starting at any desired column, and a function to make small adjustments to vertically center the display on the screen to compensate for the added display row.  A separate assembly language program (included in the ZIP download) may be used to drive the status line from BASIC.  Not available on a 16K machine.


  • Display Blanker: turn off the visible display to reduce static image burn-in on the video monitor screen.


  • Video RAM Sizing: automatic detection and reporting of the amount of VRAM attached to the 8563/8568 video display controller (VDC), with appropriate reconfiguration if 64K is detected on a C-128 with 1985 ROMs.


  • Export/Import: export a screen to system RAM (which can be saved to a file) or import a screen from system RAM.  Exported screens include all relevant display parameters.  This feature can be used on a 16K machine to make up for the lack of multiple buffers.


  • In-Use Semaphore: a feature that allows both foreground and interrupt-driven programs to access certain manager features on a non-interference basis.


  • Presence Signature: a test feature to determine if the display manager has been loaded into RAM.

The C-128 80 Column Display Manager loads into RAM-0 under the kernel ROM, and when initialized, adjusts the top-of-BASIC pointers to protect itself from a large BASIC program.  This has minimal effect on the size of BASIC program text space, reducing it by less than 8K total, leaving approximately 50K in which to load a BASIC program.

If you have any questions about the use of the display manager please peruse the documentation.  If that doesn't help then feel free to post questions and comments here.  If you are reporting what you think may be a bug, please be as specific as possible as to the nature of the problem.  Posts that lack adequate information or aren't germane to the topic will be ignored.
x86?  We ain't got no x86.  We don't need no stinking x86!