80-Bus News


March–April 1983, Volume 2, Issue 2

Page 23 of 55


Written by CCaoft, NAS-GRAPHPAC links with the standard Nascom ROM BASIC to provide twenty additional commands for controlling the Nascom 2’s low-resolution graphics. We are grateful to CCsoft for giving us permission to publish the object code and System Manual for this package, and to Gemini Microcomputers for giving us permission to publish the Command Manual. The documentation, therefore, is in two parts.

The System Manual.

This gives specific details for implementing Graphpac on the Nascom and a summary of relevant commands.

The Command Manual.

This gives the general description of the commands and features provided by all current versions of Graphpac.

Copyright and right to make backup copies

On receipt of this computer program and associated documentation, you are granted a non-exclusive license to execute the enclosed software and to make backup copies of the computer program for single user use only. Mbaslink and Graphpac are subject to copyright and all rights are reserved.


No representations or warranties with respect to the contents hereof are made and any implied warranties of merchantability or fitness for any particular purpose are specifically disclaimed.




This package has been introduced for the Nascom microcomputer to give greater flexibility while controlling the low resolution graphics. It is recommended that the user becomes familiar with the use of the Nascom system and ROM BASIC before any attempts are made to run Nas-Graphpac. Nas-Graphpac in fact consists of two modules, Graphpac, the graphics subroutines and also Mbaslink which handles all the interfacing with the Nascom ROM BASIC.

Existing graphics commands (SET, RESET and POINT) are still available while Nas-Graphpac is active, existing BASIC programs will therefore run without modification.

The MONITOR command will re-initialise Nas-sys by jumping to location zero instead of doing an SCAL MRET.


This package requires a Nascom 1 or 2 fitted with the Nascom graphics ROM and at least 16k of RAM.


The program is supplied in relocatable format and once configured for the host system, it will be 2K in length and can reside anywhere in the memory map above 4800 hex. (including ROM if required). Workspace RAM can optionally be set at 0D00, 0E00, 0F00 hex or just below the relocated package.


Nas-Graphpac is fully software compatible with the Nas-sys series of Monitors, however, because provision was not made for extending the command table in the Nascom ROM BASIC it has been necessary to use the flexibility of the Nas-sys monitor to achieve the interface. The method used is to copy out the SCAL table from the Nas-sys ROM into workspace RAM. Various modifications are then made to the entries allowing BASIC to link with Nas-Graphpac. Once Nas-Graphpac is active on the system it fools the Nascom ROM BASIC into thinking a non-maskable interrupt has occurred. Control then passes to Nas-Graphpac via the Nas-sys SCAL table. As the SCAL table is copied into RAM and modified, it is unlikely that other Nascom software that also does this, will be compatible.

Because of the number of different system software and hardware options available on the Nascom it is impossible to support them all, Nas-Graphpac has therefore only been tested on a standard cassette based system running an unmodified Nas-sys monitor. Having said this, we would like to hear of successful interfacing to Polydos 1, Polydos 2, Nas-dos etc.

If Nas-Graphpac does not operate correctly on your system because of software incompatibility with your uprated operating system, all is not lost. A USR mode has been incorporated inside Nas-Graphpac and graphic commands can be used via the USR function. See appendix 3 at the back of this document for detailed descriptions.


Load Nas-Graphpac into memory from the listing given at 1000 hex and using the Nas-sys Write command make a tape copy. Decide where you want Nas-Graphpac to execute on your system. Normally this will be in the top 2k of available RAM which will depend on the size of your memory board and whether you have system firmware in ROM (Nas-Dis/​Debug or Zeap). Execute Nas-Graphpac at 1000 hex followed by the address where the program is to eventually run:

E 1000 7000 (enter)

will generate a Nas-Graphpac that will run at 7000 to 77FF hex.

Page 23 of 55