💾 Archived View for mirrors.apple2.org.za › archive › apple.cabi.net › Languages.Programming › MAB.B… captured on 2023-04-26 at 16:46:18.

View Raw

More Information

⬅️ Previous capture (2023-01-29)

-=-=-=-=-=-=-

CodeMaster Library Window Management Demo

The CodeMaster library for Micol Advanced BASIC GS is nearing
completion.  The demo file MAB.DEMO1.SYS16 is intended to show off the
window management routines which constitute my modest contribution to
Walter Hurt's effort.

This library has lots of routines and will really help simplify
development with MAB.  It does lots of things, like all kinds of math,
conversion of measurement units and string manipulation.  But the
library really shines as a tool for implementing the desktop interface
with Micol Advanced BASIC.

This demo shows that the library facilitates management of multiple
windows with smooth scrolling and fast updates. The window scrolling
and updates are supported by an assembly language routine, included
with the CodeMaster Collection Library, that is linked into your Basic
program automatically by the Micol Advanced BASIC linker.

The assembly language routine uses a memory cache to store a bitmap
image of the entire document for each window.  When a window needs
updating, Taskmaster calls the assembly language routine copy the
appropriate portion of the image into the window.  This technique is
demonstrated in the Apple Computer source code demo program "Jiffy
Windows" which was my inspiration for solving the problem of
implementing smooth window scrolling in MAB.

Here are some other interesting things about the demo:

The demo uses the new System 5.0.2 quickdraw Fastport aware and
Shadowing speedup techniques.  I accomplished this by patching the
Micol Basic Library.  According to the Apple II GS toolbox Reference,
Volume 3, these techniques speed up Quickdraw by 8-20%.

The sys16 file was compacted and expressed using the new APW tools. 
Accordingly the file loads quickly via expressload under 5.0.2.

If you have any questions concerning the library in general, please
leave E-mail for CodeMaster.  If you have any comments or questions
about the demo or the window management techniques, please leave E-Mail
for RMY.  I would appreciate your comments and suggestions.

Mike Yost 6/30/90