This library was developed around 1987 to provide a more flexible UI framework for a series of other applications. The library provides a simple window and menubar abstraction for Apple II systems in 80 column text more (with mousetext). One thing of note, this library makes use of 65C02 instructions. It will not run on basic 6502 systems or systems w/o an 80 column card in slot 3. Machines like the enhanced Apple //e and the //c will support the library.
Around the end of 1987, the library was entered into the Compute!'s Apple Applications programming contest. It took second place and was published in binary form in the October 1988 issue of that magazine.
In 2024, the original source code to the library was unearthed and the original programmer decided to fix up the project enough so that it could be rebuild and run again. The resulting source code is in this repo and one can download a generated disk image from itch.io.
At the core of the library is a simple assembly language dispatch table at $300. An '&' interface is supplied for easy use from Applesoft programs. There is a fairly extensive demo program which includes documentation for the APIs. The core of the library is located in the auxiliary 64k memory on the 80 column card, preserving the maximum amount of memory for Applesoft applications at the expense of the /RAM drive.
The library is written in 65C02 assembly, but some of the dispatch code was entered in the mini-assembler. Source code for 95% of the library exists in Merlin format along with support programs in Applesoft basic.
There is a build script in the repo capable of generating a .po file from the sources. It requires several tools be installed:
- Python
- Merlin32 Assembler
- CiderPress II
If one places the CiderPress CLI in a subdirectory named 'ciderpress' (ciderpress/cp2.exe) and places the Merlin package in a subdirectory named 'merlin32' (merlin32\Windows\Merlin32.exe), then the following commands will build the Windowpack_Release.po file:
python -m virtualenv venv .\venv\Scripts\activate.ps1 python build.py
One can adjust the pathnames to CiderPress and Merlin at the top of the build.py file.
Most of the documentation can be found by interacting with the DEMO basic program. Additional documentation can be found in the Compute! article.
Normally, one would download the .po file and use it with an emulator or burn a 5.25" disk with the image. Thanks to the great work by Chris Torrence and Michael Morrison on the Apple2TS browser hosted Apple II emulator, one can run the program via a web browser.
Please feel free to post issues and other questions at DigiSim Issues. This is the best place to post questions and code.
The game is also hosted on itch.io which provides a simpler download option and forum to discuss more gameplay related issues.
TBD
WindowPack source code is licensed under the MIT license.
