Acorn User
1st July 1986
Author: Jeffery Pike
Publisher: Software Services
Machine: BBC Model B
Published in Acorn User #048
Procedural Programming
Here's a useful tool for programmers, a disc-based management system that helps you build up a library of procedures and functions for insertion into your programs.
You can assemble your library by writing new PROCs or FNs, or by lifting them out of an existing program and saving them on a data disc. It's claimed that up to 255 procedures can be saved on a single disc side. Just to get you started, the software already contains 40 resident procedures, and they're a pretty useful selection - simple sound effects (handy for games), simple graphics (circle, ellipse, etc), text routines (double-height, shadow effect, etc), short cuts for defining graphics and text windows, sorting routines, and some which are more like self-contained programs, such as the one which gives you the day of the week for any date, any year. Most useful of all, perhaps, is a machine code procedure called 'overlay', of which more later.
So you've acquired a library of procedures on disc - now what? Proc-Kit enables you to load any PROC into an existing program without disrupting the program, i.e. it automatically makes any necessary alterations to TOP, LOMEM, line numbers, etc. Handy. Best of all, if you include PROCoverlay, it can call a succession of procedures from your data disc while the program is running, thus increasing the potential length of your program. In effect, this means that, according to the capacity of your drive, you can write and run programs of nearly 100K, 200K or even 400K on a simple old 32K BBC B. Now there's a challenge.
The whole system is menu-driven, doesn't seem to allow much room for mistakes, and is all fairly self-explanatory. Which is more than can be said for the documentation. Perhaps I've only seen a provisional version - two pages of grubby close-packed type - but it didn't help me much to understand what Proc-Kit can do. It's a tribute to the writing of this software that you can learn faster simply by using it.