QPAC 2
QPAC 2 Tutorial
3
QPAC 2 Manual
8
QPAC 2 Files
8
The QPAC 2 programs
Invoking QPAC 2 Programs by Hotkey
Invoking QPAC 2 Programs by Command
Buttons
Making Buttons
The Button Frame
QPAC 2 Utility Program - Button_Pick
QPAC 2 Utility Program - Button_Sleep
9
10
10
11
11
12
12
12
Sysdef Menu
13
QPAC 2 Menus
14
Things Menu
15
Exec Menu
Wake Menu
15
15
Jobs Menu
16
Pick Menu
Rjob Menu
17
17
Hotkeys Menu
18
Hotjobs Menu
18
Channels Menu
Channels Warning Sub-Menu
QJUMP Pointer Accessories
18
18
1
Files Menu
Using the Files Menu
Source Directory
Destination Directory
Directory Sub-Menu
Commands Sub-Menu
Print Sub-Menu
Execute Sub-Menu
Format Sub-Menu
Sort Sub-Menu
View Sub-menu
File Action Sub-Menu
Warning - File Already Exists
File Error Sub-Menu
19
20
20
20
20
21
22
22
22
23
23
23
24
24
Parameters to QPAC 2 programs
25
Configuring QPAC 2
27
RAM Disk Driver and Printer Buffer
28
RAM Disks for Beginners
RAM Disk Creation
Heap Fragmentation
RAM Disk Emulations
RAM Disk Microdrive Imaging
Printer Buffer
QJUMP Pointer Accessories
28
28
29
29
29
29
2
QPAC 2 Tutorial
If you are not fully familiar with the Extended Environment, some of the concepts used in this
tutorial may seem rather strange. If you feel confused, you might find it easier if you read the
introduction to the Extended Environment manual and go through the Extended Environment
tutorial before returning to this tutorial.
This tutorial is intended to be used in conjunction with the tutorial program on your QJUMP
master disk. The QPAC2 tutorial introduces the facilities of QPAC2 firstly for users without a
mouse, then it goes on to set up more complex working environments which are more suitable
for mouse users.
Put the disk in drive1 and press the reset button. When the Computer has finished
initialising, press F1. The BOOT program will load the Extended Environment files into the
resident procedure area, reduce the size of SuperBASIC's windows, and set mode 4.
In reply to the question 'Do you want the QPAC 2 tutorial (Y or N)', press Y. The BOOT
program will MERGE the 'Tutorial_QPAC2_bas' program. The SuperBASIC commands in the
tutorial program are echoed to window #1, so you can see what is happening.
Most of this tutorial makes extensive use of single keystroke menu selection and Hotkeys.
Confusingly, the computer's keyboard is marked with upper case letters although when you
press them, you get lower case letters unless you also press SHIFT. Mostly it makes no
difference whether you use an upper case letter or a lower case letter. But, if the tutorial says
'press F' it is expecting a lower case 'f'. If an upper case 'F' is required the tutorial will say 'press
SHIFT F'.
The tutorial starts off by setting up Hotkeys to 'Wake' the three simplest QPAC 2 menus
(Pick, Wake and Exec), sets up a Hotkey to CONTINUE the tutorial and starts the Hotkey Job.
Now press ALT W, which will 'Wake' the Wake menu. Confused? You have just used the
HOTKEY System2 to Wake a particular resident program. This creates a menu of all the
resident programs (in the form of Executable Things) that have been loaded into your computer.
From this menu you can now Wake any of these resident programs. Since the tutorial has only
loaded QPAC2, this menu lists the resident programs of QPAC2. If, for example, you use the
HOT_RES function to add any other resident programs, then the Wake menu will be automatically enlarged to accommodate these too.
The items across the top of the menu are the standard Move, Resize, Wake and ESC items.
For the moment you can ignore all of these. The rest of the menu lists the resident programs in
alphabetic order. You can select the program you wish to wake either by pressing the initial letter
of the name, or by pointing at the name. Sometimes there will be more than one name with the
same initial letter, for example Hotjobs and Hotkeys. In this case, each time you press the letter,
the pointer will move from one name to the next: try it.
When you are pointing at the name of the program you wish to Wake, pressing the SPACE
bar or left hand mouse button (HITting it) will Wake that program but leave the Wake menu on
top. Whereas pressing the ENTER key or the right hand button (DOing it) will wake that program
and remove the Wake menu. So, point to 'Hotkeys' and DO it.
QJUMP Pointer Accessories
3
You now have a menu of all the Hotkeys that have been set up. So far this is not very many.
In this menu, the items are selected by pressing the Hotkey character itself; this will do the
Hotkey action directly. Alternatively, you can point to the Hotkey action and HIT or DO it. Since
you can invoke these Hotkey actions directly from the keyboard, this may seem rather a useless
menu. To be honest, it is. But as it is convenient to be able to list the Hotkeys that have been set
up, it seemed reasonable to allow you to invoke them from the menu.
Now press W (or point to the item 'w WAKE Wake' and HIT it with the SPACE bar or left
mouse button). You will now have the Wake menu back. Point to 'Hotjobs' in the Wake menu
and HIT it. The Hotjobs menu will appear, but will be covered up by the Wake menu. HIT the
Hotjobs item again and the Hotjobs menu will appear on top again, but be covered up straight
away. If you do this several times, you will still only have one copy of Hotjobs executing. The
Wake menu, like Hotkeys set up using the HOT_WAKE function, will only create a new Job from
an Executable Thing if there is no Job of the same name already executing. To show the
similarity, press ALT W. As there is already a Wake Job executing, you do not get another Wake
menu, the existing Wake menu just gets Woken.
Now press ESC to get rid of the Wake menu. The Hotjobs menu is a reduced version of the
Hotkeys menu which lists only those Hotkeys which will execute new Jobs (i.e. EXEC, WAKE or
LOAD Hotkeys). It works in exactly the same way as the Hotkeys menu. Press ESC to get rid of
it. Move the pointer into the Hotkeys menu and press ESC to get rid of that too.
You should now have SuperBASIC in solitary state. Press ALT X to invoke the Exec menu.
This differs from the Wake menu in two respects. Although the menu lists the same things
(Executable Things), if you HIT or DO these menu items, the Exec menu will start a new Job
regardless of whether there is a Job of that name already executing. For programs such as the
QPAC2 Hotkeys menu, this is not very useful. For the programs such as the QPAC2 Files menu,
it is useful to have more than one copy, each copy dedicated to a different operation.
The second difference between the Exec and Wake menus is that from the Exec menu you
can send a command string to a Job when it is set up. None of the QPAC2 menus accept
normal command strings so you need a special program to demonstrate this. Press ALT C and
the tutorial program will CONTINUE by creating a resident program WCMD. This is a simple
Compiled SuperBASIC program which writes out the command string, and it is listed in window
#2.Meanwhile, the Exec menu has been buried. Press ALT X and it will be Woken. Not only is
the Exec menu picked to the top, but the menu is re-created - it now includes the WCMD
program. Press F3, this will start a cursor flashing in the command string window. Type 'Hello
Sailor' or some other meaningless comment and press ENTER. Now point to the WCMD menu
item (or press W twice) and DO it. The WCMD Job will start and write out the comment, over
and over again.
Press ALT W to get the Wake menu back and, in turn, point to and HIT, the 'Hotjobs',
'Hotkeys' and 'Exec' menu items. If you do not have a mouse, select them using the initial
letters. You now have four menus on the display as well as SuperBASIC and the WCMD
program. If you press CTRL C several times, you will cycle through the Jobs, bringing each one
to the top in turn. Alternatively, if you have a mouse or if the pointer is visible, you can point to a
bit of a window that you can see and HIT it. This will Pick it.It is best to define a Hotkey to Pick or
Wake each of the programs that you use frequently. There is, however, a menu which will pick
any Job. This is the Pick menu. Unlike the Wake and EXEC menus which are lists of Executable
Things, the Pick menu is a list of the Jobs that are executing. Press ALT P to Wake the Pick
menu.
QJUMP Pointer Accessories
4
In this menu, Jobs which do not have any windows (and cannot therefore be picked) are
shown as unavailable. On this occasion, the only Job which cannot be picked is HOTKEY, the
HOTKEY System2 Job. This Job lives very much in the background.
As it is common to have many Job names starting with the same letter, QPAC2 adds a
unique character in front of each Job name. This is the selection keystroke. Press the selection
key for 'Hotkeys', or point to the Hotkeys Job name and HIT it. The Hotkeys menu is Picked and
the Pick menu puts itself back on top. If you have several Jobs of the same name, you can pick
them in turn. If you now press ESC, the pick menu will go away and the Hotkeys menu will be
picked again.
There are two other menus which are similar to the Pick menu. These are Rjob and Jobs.
Rjob removes Jobs, and Jobs gives you more detailed information on the Jobs in the computer.
Press ALT C and the tutorial will add Hotkeys to Wake these menus. (When SuperBASIC was
Picked by ALT C, most of the other Jobs got buried.
Press ALT P to get another Pick menu, press the selection key for the Hotkeys Job, which
will Pick it. Now DO (with the ENTER key or right hand button) on the Hotkeys Job name in the
Pick menu, and the Hotkeys menu will be Woken. There should now be two more Hotkeys in the
list.
Press ALT J to get the Jobs menu. Press the selection keystroke for one of the Jobs, and
the Jobs status menu will appear. This menu is described in more detail in the manual. Press <
or > to cycle through the Jobs.
Press ALT R to get the Rjob menu. Press the selection keystroke for all the Jobs in the list
except Hotkey and Rjob itself. Press ESC. Everything has now been cleaned up. If, by accident,
you removed HOTKEY, type HOT_GO into the SuperBASIC command line.
So much for the Simple menus. The Files menu is the single largest part of QPAC2. With
the Files menu, you can examine, copy, backup and delete files.
Press ALT C to continue. The tutorial sets up some more Hotkeys to Wake menus. These
are ALT F for Files, ALT D for Delete, ALT O for Print (Output) and ALT S for Sysdef. There is
also an ALT SHIFT F (uppercase F) to execute a new Files menu.
Although Sysdef is not strictly part of the Files menu, it is useful to set some defaults for the
files menu before you start. In particular, you need to set a suitable data default and a dummy
output device to throw away any printed output. Press ALT S to invoke Sysdef.
Press D and the data default menu will appear. Before you try using this menu, take note
that if you DO (ENTER or the right button) an item in this menu, after the operation is done, the
menu will go away. If you HIT an item, or press the selection keystroke, the operation will be
done and you will stay in the menu. For the moment, it is better to HIT items, or use the selection
keystrokes, and press ESC when you have finished.
Looking from the top down, the menu has a Wake item, an ESC item to leave the menu, a
list of filing system devices, a list of drive numbers, a default name, an item (<-) to shorten the
default and a menu sub-window which can have a list of possible sub-directories.
QJUMP Pointer Accessories
5
At the moment the default is FLP1_, press 2 and it changes to FLP2_. Press R and the
default changes to ram2_. Press F then 1 to get back to flp1_. Press F2 and you can edit the
name directly: go down one directory level by typing 'FRED_' and press ESC. Press < and
FRED will be removed taking you up a level. Now press > to go down again. The pointer will
move to the menu sub-window, and you will be offered a choice of directories. Press the
selection keystroke for Tutorial. This is added to the end of the default name. If the default name
is now flp1_tutorial_ press ESC. Otherwise press F2 and edit it until it is correct, press ESC to
keep this name and ESC to leave the directory menu.
If you have pressed ESC too many times, press ALT S to get Sysdef back. Now (within the
Sysdef menu) press O for the Output device and edit the name to be SER1i. Press ESC and
ESC to leave the Sysdef menu.
You are now ready to tackle the Files menu. Press ALT F to invoke it. You should now have
a list of the files in the Tutorial directory of the master disk. Press F3 for the commands menu,
press S for statistics. The menu will be recreated giving file sizes and update dates. Some of the
Files have an 'E' in front of the name. These are executable files.
First we will re-sort the file list. Press F6. What no F6? Press SHIFT F1 instead. SHIFT F2
will get you F7 and so on. Now press T for Time and R for Reverse, then ESC. The files will now
be listed with the most recently updated file first. Press F6, N, R and ESC to get back to normal
Name order.
Select the first five files by pressing their selection keystrokes (0 to 4). You can now look at
these files. Press the ENTER key (or right hand button) and the commands menu will appear
again - you have not yet specified a command. Ignore this menu and just press ENTER again.
You now get the View menu for the first file. This is the SuperBASIC Extended Environment
tutorial. Press space and it will scroll up one line. Press ENTER and it will scroll up by a page.If
you press TABULATE the pointer will move to the scroll bar. You can move up and down
through the file by holding the SPACE bar down and tapping the up and down cursor keys.
Pressing CTRL F2 will Wake the menu, re-opening the file and re-reading it. Press > to move on
to the next file. Executable files are not very readable. You can move backwards and forwards
through the list of selected files using < and >.
Press ESC to return to the main Files menu. Now copy these files to RAM disk. Press
ENTER then C for Copy. You have not yet specified the destination, so a Destination Directory
menu will appear. Press R for RAM disk and ESC (or ENTER). The Action menu will appear.
You could change the 'To' filename, but just press Y to copy the first, N to skip the second and A
to copy all the rest. All the files you copied have become available, the file you skipped is still
selected. Note that the Copy operation has only been selected temporarily: the menu heading
still says 'Files flp1_tutorial_'.
Now set up to print the files from the RAM disk (to your dummy SER1I port). Ensure that
there is nothing connected to the SERial port. Press F2 and then R to select the RAM disk;
press ESC or ENTER to return to the Files menu. Press F3 and then P to set up to print. The
Print sub-menu will appear, press D to dispose of each file after it is printed, and then ESC or
ENTER. The heading line of the menu now says 'Print ram1_tutorial'. Press ESC and the menu
will go to sleep.
QJUMP Pointer Accessories
6
As a little diversion, set up a Delete menu. Press ALT F to get the Files menu, press F2 and
R to select the RAM disk and press ESC or ENTER. Press F4 to select View then press F3 and
D to set the menu to Delete. Because you have no files selected, nothing will be done. Press
ESC to put it to sleep. You now have two sleeping menus.Now press ALT O to Wake the Print
menu. Press F5 to select all files, and, pointing at one of the files, press ENTER. When the
action menu appears press A for all files. If you had many files to print, then you could bury this
Job and carry on doing something else. It does not try to print the executable files, you have
Viewed them, so perhaps you can see why. Because you specified Dispose in the Print
sub-menu, the files you printed have been deleted, and are not available. The others remain
selected. Press ESC.
Now press ALT D to wake up the Delete menu. There should only be two files left. Press 0
and 1 to select them, and press ENTER. Because you selected the View option, you get a hybrid
of the View and Action menus, you can see what is in a file before you delete it. Press Y and Y
to delete both files. Press ESC (or CTRL F1 if you prefer) to put the menu to sleep.
QPAC 2 for Mouse Users
If you do not have a mouse, then the rest of this tutorial will be a little difficult to follow. Press
ALT C to CONTINUE. The Tutorial will set up the Button_Pick program on ALT . (that was a full
stop not a spot) and the Button_Sleep program on ALT F1. It then creates sleeping 'buttons' for
most of the programs on Wake Hotkeys. For the Files menu, however, it creates an execute
button, which has a little Wake item at the side. As an extra, it creates a load and execute
Hotkey for Quill.
Press ALT P. the Pick menu is Woken. Note that the ESC item has become a Sleep item.
Press ESC or CTRL F1 and the menu will go to sleep again.
Now onto something more productive. Put a disk with Quill in drive 1 and press ALT Q. You
will get a copy of Quill with 40 kilobytes of working space.
It is time to change the mouse Hotkey. Press ALT S for Sysdef, press H for Hotkey and
press the full stop (the Button_Pick Hotkey). Press ESC. You can now use the mouse to invoke
the Button_Pick program.
Type a little bit into Quill and then press both buttons on the mouse at the same time. Try to
press the left hand button before the right hand button. All of the Jobs in the Button Frame will be
picked. Move the pointer back over Quill and HIT it with the left hand button. Type a bit more,
and then press ALT F1. Quill will join the rest of your buttons.
To Wake a button, either use the appropriate Wake Hotkey, or point to the button and DO it.
QJUMP Pointer Accessories
7
QPAC 2 Manual
I make no apologies for leaving the descriptions of the most useful parts of QPAC 2 until
last. If you have been through the QPAC 2 tutorial, you should understand enough about the
QPAC 2 menus not to be in great need of more formal descriptions. I am therefore diving
straight into the nitty gritty.
QPAC 2 Files
QPAC 2 is supplied on a number of files. This is not to make it difficult for you, but is
because QPAC 2 is support software which needs to be added to your usual working
environment. Much of this software is shared with other packages from Qjump or from other
suppliers. It does need to be kept separate files.
BOOT files
BOOT
BOOT_QPAC2
BOOT_simple
BOOT_Psion
BOOT_another
includes the tutorials
a sample QPAC 2 BOOT file
a simple example BOOT file
a Psion example BOOT file
another example BOOT file
Resident Extensions (which should be loaded in this order)
PTR_GEN
the Pointer Interface
WMAN
the Window Manager
HOT_REXT
Hotkey System 2
MENU_REXT
Menu Extension
QPAC2
all the QPAC2 programs and extensions
RAMPRT
QRAM RAM disk and printer buffer (optional)
Executable Programs
MENUCONFIG
Configuration program
Tutorial Software
Tutorial_xxxxx
QJUMP Pointer Accessories
8
The QPAC 2 programs
All of the programs which form part of QPAC 2 can be accessed in three different ways. The
programs may be invoked using the Hotkeys of HOTKEY System 2, they may be invoked by any
program (including the 'EXEC' program included in QPAC 2) or they may be set up as 'Buttons'
to be activated directly using a click on mouse button. Most of the programs in QPAC 2 are
menus. In addition to these, there are two utility programs as well. In brief, the menus of QPAC 2
are:
Sysdef
Set system default directories and mouse parameters
Things
Exec
Lists all Things linked into QDOS
Executes 'Executable Things' including other parts of QPAC 2
Wake
Button
Wakes 'Executable Things'
Puts any 'Executable Thing' onto a Button
Pick
Rjob
Lists all Jobs Executing
'Picks' a job to the top of the pile of windows
Removes Jobs
Hotjobs
Lists all defined Hotkeys
Lists Hotkeys that will start Jobs
Jobs
Hotkeys
Channels
Gives information on the Channels in use
Files
View
Copy
Backup
Update
Move
Print
Execute
Delete
Format
The main files maintenance program
View the contents of files
Copy files
Backup files
Update files
Move files
Print files
Execute files
Delete files
Format disks
Note that, unlike the other menus which are all directly accessible from Hotkeys, the menus
which are subsidiary to the Files menu are only accessible through the Files menu.
Button_Pick
Button_Sleep
picks all Buttons in the Button frame
puts any Job to sleep as a Button
QJUMP Pointer Accessories
9
Invoking QPAC 2 Programs by Hotkey
The QPAC 2 programs are all Executable Things. Once the QPAC2 file has been loaded
and CALLed, any of the programs can be invoked by a Hotkey set up by the HOT_THING or
HOT_WAKE functions.
With the exception of the Files menu, there is little point in having more than one copy of
each menu at a time. It is best, therefore, to use the HOT_WAKE function to set up a Hotkey for
most QPAC 2 menus. The HOT_WAKE function is described in the HOTKEY System 2 manual,
but, to save you the trouble of looking, here it is again:
hkerr = HOT_WAKE (key, name)
or
ERT HOT_WAKE (key, name)
If you set up W as a Wake Hotkey for the Wake menu, pressing ALT and W will Wake the
Wake menu, which can, in turn, wake any of the other menus.
ERT HOT_WAKE ('w','Wake')
The apostrophes or quotes around the parameters of the HOT_WAKE function are not
always necessary, but they are useful to avoid confusion in the SuperBASIC interpreter.
Similarly, the useful Pick and Sysdef menus can be set up on their own Hotkeys ALT P and
ALT S. The Files menu is best set up on both Wake (ALT F) and Execute (ALT SHIFT F)
Hotkeys.
ERT HOT_WAKE ('p','Pick')
ERT HOT_WAKE ('s','Sysdef')
ERT HOT_WAKE ('f','Files')
Wake Files on ALT F
ERT HOT_THING ('F','Files')
Execute Files on ALT SHIFT F
The choice of Hotkeys is entirely your own, as is the decision whether to use them at all.
You do not, of course, need to type these commands every time you BOOT your computer, you
can add them to your BOOT file. If, at any time, you wish to remove the Hotkeys, just use the
HOT_REMV function: this time you will have to refer to the HOTKEY System 2 manual.
Invoking QPAC 2 Programs by Command
You can invoke the programs using the SuperBASIC line interpreter:
EXEP name
EXEP 'Jobs'
QJUMP Pointer Accessories
execute the Jobs menu
10
Buttons
Buttons are small windows which have only simple actions. There are two types of Button in
QPAC 2. Some Buttons are like visible Hotkeys: you DO them and they do some action such as
Waking or Executing a program. Other Buttons belong to Jobs which are sleeping.
In both cases DOing the Button has the same effect as Waking the Button. The associated
action is done or the sleeping Job is woken. A HIT on the Button is slightly different. If the Button
is slotted into the Button Frame (see below) then nothing will happen. Otherwise a HITting the
Button will allow you to move it.
Making Buttons
There are four procedures for making programs into Buttons.
BT_SLEEP name, optional parameters
BT_WAKE name, optional parameters
BT_EXEC name, optional parameters
BT_HOTKEY key or name, optional parameters
In all cases the optional parameters are the same, so I shall start with BT_SLEEP.
BT_SLEEP can only be used with QPAC 2 type Executable Things. It starts off the required
program in a sleeping state. The full form of the call is:
BT_SLEEP name, title, x origin, y origin, colourway
BT_SLEEP 'Exec'
set up Exec as a Button
If any parameter is missing, and a later parameter is to be given, then you should not miss
out any of the commas.
The name is the name of the Executable Thing.
The title is the name that will appear in the Button. If this is omitted, the Thing's normal name
or symbol will be used.
The x and y origins are the position of the top left hand corner of the Button (inside the
border). If these are omitted or zero, the Button will be put into the 'Button Frame'. If they
are negative, the Button will be placed at the current pointer position. The Button Frame
can be set using the CONFIG program.
The colourway is a number between 0 and 3. If omitted, the default will be used. 0 is
white/green, 1 is black/red, 2 is white/red and 3 is black/green. The default Button
colourway can be set using the CONFIG program.
BT_SLEEP will execute the program, starting off in the sleeping state. The Job may be
Woken using a Wake Hotkey, by pointing to the Button and pressing the right hand mouse
button, or using the Pick or Wake menus.
BT_WAKE Buttons look superficially similar, but BT_WAKE creates a Button which Wakes
an Executable Thing. There are two main differences in effect. A BT_SLEEP Button will often be
quicker to start up as you do not have to create a new Job each time it is used. But when a
BT_SLEEP Job is woken, it leaves the Button Frame until it is put back to sleep. Because of this
it can be more difficult to find a BT_SLEEP job than a BT_WAKE Button. The choice of using
BT_SLEEP or BT_WAKE is one of personal preference. The decision is yours.
BT_EXEC Buttons look slightly different. As well as the program name or title, they have a
Wake symbol. If you DO on the program name, a new copy of the program will be started, even
if there is one already. If you DO on the Wake item, you will Wake the program.
QJUMP Pointer Accessories
11
BT_HOTKEY will set up a Button appropriate to the Hotkey type. If the Hotkey was set up by
HOT_CHP, HOT_RES, HOT_LOAD or HOT_THING, then the Button will be the same as a
BT_EXEC Button. Otherwise, the Button will look like BT_WAKE Button. You cannot put
HOT_KEY Hotkeys into a Button: they would only send the HOT_KEY string to themselves,
which is not very useful.
The Button Frame
The Button Frame is a Thing which organises Buttons into a regular arrangement and
prevents Buttons from overlapping. The Frame need not fill the whole display, you can configure
the size and position using the CONFIG program. If you are going to put any Buttons in fixed
positions (using BT_SLEEP etc) then you should re-configure the Button Frame so that
automatic allocations do not cover these fixed Buttons.
QPAC 2 Utility Program - Button_Pick
Button_Pick is a very transient program which Picks all the Buttons in the Button Frame. It
will only pick those Jobs which have an allocation in the Button Frame and have a priority of one.
When most of your buttons have become covered up by working programs, invoking
Button_Pick will Pick them all back on top. If you define a Hotkey to execute Button_Pick and
you configure QPAC 2 to set the mouse Hotkey to be the same, pressing both mouse buttons
will Pick all the Buttons so that you can Wake any one you like with the right hand mouse button.
QPAC 2 Utility Program - Button_Sleep
Button_Sleep is a Program which puts any reasonably behaved Job to sleep. It locks the
Job's windows, removes them from the display and creates a Button for the Job. When the
Button is woken, the windows are restored and unlocked.
QJUMP Pointer Accessories
12
Sysdef Menu
You can use the Sysdef menu to set the system defaults, to make a directory on a version 2
device and to set the mouse parameters.
The defaults are the Data Default Directory (where programs find their data files), the
Program Default Directory (where SuperToolkit II and HOTKEY System 2 expect to find
programs) and the Output or Destination Device (where printed output usually ends up). The
Data and Program Defaults and the Make Directory are set by the Directory sub-menu (see
below). Unfortunately, at present, the Output device name needs to be edited directly.
The mouse and cursor key acceleration can be any value from 0 to 9 (9 is the fastest). The
speed you need to move the mouse to wake the pointer should also be from 0 to 9 (0 is the
slowest - the most sensitive). The mouse Hotkey (the Hotkey generated when you press both
mouse buttons or the centre button) can be any character. In each case, you HIT, DO or select
the item and press the required key: it must be a digit for the acceleration or wake up speed.
If you HIT an item in the Sysdef menu, or select it using the selection key, you will stay in the
Sysdef menu when you have set the item. If you DO one of these items, the menu will go away
when you have set the item.
Selection Keystrokes
CF4 (CTRL F4)
ESC
DO (ENTER or RETURN)
D
P
O
M
A
W
H
QJUMP Pointer Accessories
move window
leave the menu
leave the menu
data default directory
program default directory
output device
make directory
mouse and cursor key acceleration
mouse wake up speed
mouse Hotkey
13
QPAC 2 Menus
The other QPAC 2 main menus look and behave in a very similar way. I will describe the
general characteristics.
They have four loose menu items along the top with these selection keystrokes:
CF4 (CTRL F4)
CF3 (CTRL F3)
CF2 (CTRL F2)
CF1 (CTRL F1)
ESC
DO
TABULATE
move window
resize window
wake menu
or
put menu to sleep or escape from menu
is ignored if there is no current item
move pointer to menu sub-window or bar
A menu which has been woken from a BT_SLEEP Button will have a Sleep symbol in the
top right corner. In this case either CTRL F1 or ESC will put the Job back to sleep. If the menu
has started full-sized, then there will be an ESC in the top right corner. In this case ESC will
throw the menu away, but CTRL F1 will still put the menu to sleep.
Each menu contains a list of items: files, Jobs, Channels, Hotkeys or Things. If there is
room, they will be organised as a single column. If there are too many items to fit in a single
column, and there is only room for a single column, then the menu is made scrollable. Otherwise
the menu will be organised as multiple columns.
When a menu is Woken, it will re-create the list of items. If there are now more files, Jobs,
Channels, Hotkeys or Things, the menu may be expanded to take them.
If you change the size of the menu, then that size becomes fixed. When the menu is woken,
it will not be increased even if there are more items to fit in.
In general, if you HIT an item in one of these standard QPAC 2 main menus, the operation
will be done, but the menu will remain. If you DO an item in one of these menus the operation
will be done and the menu will go away.
QJUMP Pointer Accessories
14
Things Menu
Things has a main menu and a status menu. The main menu lists all the Things linked into
QDOS. When you press the selection key for a Thing in the menu, the pointer will move to the
next Thing name which starts with that character. If you HIT or DO a Thing name in the menu,
then you will get the status menu. If you HIT a Thing name in the main menu, the Things main
menu will be re-created when you ESC from the status menu. If you DO a Thing name in the
main menu, you will not return from the status menu.
The Things status menu gives the status of one Thing. It has a sub-window with a list of the
language Extensions in the Thing and a sub-window with a list of Jobs using the Thing. You can
examine the status of the next Thing by pressing >, or the previous Thing by pressing <.
Things status menu selection keystrokes
<
>
E
J
examine previous Thing
examine next Thing
select Extensions sub-window
select Jobs sub-window
Exec Menu
The Exec menu lists only Executable Things. If you HIT a Thing name in the menu, the
Thing will be executed, and after a brief pause, the Exec menu will pick itself back on top. If you
DO a Thing name, then the Exec menu will remove itself.
In addition to the standard four loose menu items, there is an item to specify a command
string to be passed to the program when it is executed. This command string is on the stack for
assembly language programs, or in the CMD$ string in Liberated SuperBASIC programs. If you
need a longer parameter string, make the window wider.
Wake Menu
The Wake menu is similar to the Exec menu, except that if there is already a Job with the
same name as the Thing you wish to execute, then that Job will be Woken instead. As you
cannot pass a command string to the Job that is being Woken, there is no command string
option.
QJUMP Pointer Accessories
15
Jobs Menu
Jobs has a main menu and a status menu. The main menu lists all the Jobs executing. The
Jobs are in approximate number order. At the left hand side of each item there will be a unique
selection keystroke. For Job numbers 0 to 9, this will often be the same as the Job number, but
do not rely on it. Where a Job is 'owned' by a previous Job in the List, this is indicated by '> ' in
front of the name.
Pressing the selection key for a Job in the menu will move the pointer to that Job name and
HIT it. If you HIT or DO a Job name in the menu, then you will get the Jobs status menu. If you
HIT a Job name in the main menu, the Jobs main menu will be re-created when you ESC from
the status menu. If you DO a Job name in the main menu, you will not return from the status
menu.
The Jobs status menu gives the status of one Job. It has a sub-window with a list of the
Channels owned by the Job and a sub-window with a list of Things used by the Job.
In the second line of the menu there are items to Pick the Job or remove the Job, to set its
priority lower or higher.
Below this there is a map of the memory usage, and the total memory used by the Job.
Each dot in the memory map represents 1/2048 of the RAM in your computer. The dots are
arranged in columns of 8: each column represents 1/256 of the RAM. Free memory is shown as
green dots (usually a mass in the middle). The memory used by this Job is shown in white. This
is usually divided between the left hand side (in the Common Heap) and the right hand side (in
the Transient Program area). Black areas are either unavailable, or used by other Jobs.At the
left hand edge of the map is the screen memory, then come the system variables and tables.
Next is the Common Heap. At the right, there is the Resident Procedure area, with the Transient
Program area to the left, and SuperBASIC to the left of that. SuperBASIC and any permanent
memory allocations in the Common Heap are all shown the SuperBASIC status menu.
You can examine the status of the next Job by pressing >, or the previous Job by pressing
<.
Jobs status menu selection keystrokes
<
>
P
R
L
H
E
J
QJUMP Pointer Accessories
examine previous Job
examine next Job
Pick Job
remove Job
set lower priority
set higher priority
select Channels sub-window
select Things sub-window
16
Pick Menu
The Pick menu has the same list of Jobs as the Jobs menu, but some of the Jobs may not
be available. This is because they do not have any windows to Pick. The Jobs are in
approximate number order. At the left hand side of each item there will be a unique selection
keystroke. For Job numbers 0 to 9, this will often be the same as the Job number, but do not rely
on it. Where a Job is 'owned' by a previous Job in the List, this is indicated by '> ' in front of the
name.
Pressing the selection key for a Job in the menu will move the pointer to that Job name and
HIT it. If you HIT a Job name in the menu, that Job will be Picked, and the Pick menu will pick
itself back on top. If you DO a Job name, then that Job will be woken and Pick menu will remove
itself.
If you wish to Pick a Job without Waking it, HIT the Job name (or press the selection key)
and then press ESC. If you wish to Wake a Job using the Keyboard, press the selection key and
then ENTER.
Rjob Menu
The Rjob menu has the same list of Jobs as the Jobs menu, but SuperBASIC and Rjob will
not be available. The Jobs are in approximate number order. At the left hand side of each item
there will be a unique selection keystroke. For Job numbers 0 to 9, this will often be the same as
the Job number, but do not rely on it. Where a Job is 'owned' by a previous Job in the List, this is
indicated by '> ' in front of the name.
Pressing the selection key for a Job in the menu will move the pointer to that Job name and
HIT it. If you HIT a Job name in the menu, that Job will be removed together with any Jobs it
owns. If you DO a Job name, then that Job will be removed and Rjob menu will remove itself.
QJUMP Pointer Accessories
17
Hotkeys Menu
The Hotkeys menu has a list of all but the default Hotkeys. The selection keystroke for each
item is the same as the Hotkey itself. Note that if the Hotkey is lower case, then the selection
keystroke must be lower case, if the Hotkey is upper case, then the selection keystroke must be
upper case.
Pressing the selection key for a Hotkey in the menu will move the pointer to that Hotkey item
and HIT it. If you HIT a Hotkey in the menu, that Hotkey action will be invoked, but the Hotkeys
menu will remain. If you DO a Hotkey in the menu, then the menu is removed before the Hotkey
action is invoked. This makes it possible, for example, to stuff HOT_KEY strings into other Jobs
with this menu.
Hotjobs Menu
The Hotjobs menu has a list of the Hotkeys which can start Jobs (Exec, Wake and Load
Hotkeys). The selection keystroke for each item is the same as the Hotkey itself. Note that if the
Hotkey is lower case, then the selection keystroke must be lower case, if the Hotkey is upper
case, then the selection keystroke must be upper case.
Pressing the selection key for a Hotkey in the menu will move the pointer to that Hotkey item
and HIT it. If you HIT a Hotkey in the menu, that Hotkey action will be invoked, but the Hotjobs
menu will remain. If you DO a Hotkey in the menu, then the menu is removed before the Hotkey
action is invoked.
Channels Menu
Channels has a main menu and a warning sub-menu. The main menu lists all the Jobs
which own Channels, together with the Channels they own. The Jobs are in Job number order.
This menu allows you to see which Jobs are using which Channels. If you get an 'in use'
problem when trying to open a file, you can find out which Job is using the Channel.
You can close a Channel or remove its owner Job by HITting or DOing the Channel name in
the menu. But first you will get the Channels warning menu. If you HIT the Channel name, the
Channels main menu will be updated when you leave the warning sub-menu. If you DO on a
Channel name, the Channels menu will remove itself when you leave the warning sub-menu.
Channels Warning Sub-Menu
The Channels warning sub-menu, gives you the choice of closing the Channel, removing the
owner Job or ESCaping with these keystrokes.
ESC
DO (Enter, Return)
C
R
QJUMP Pointer Accessories
escape, no action
if no current item, escape
close Channel
remove owner Job
18
Files Menu
The Files menu is the entry to the major part of the facilities offered by QPAC 2.The Files
main menu differs slightly from the standard QPAC 2 menus. The item in the top right hand
corner is always Sleep. To remove the Files menu, you need to go via the Command sub-menu
and Quit.
The Title incorporates the files action (if any) and the source directory. It is unusual in that it
is a loose menu item. To change the source directory, you change the title.
The next row down has the main menu control items: 'Commands' to invoke the Commands
sub-menu, 'View' to select or deselect the View option, 'All' to select or deselect all the files and
'Sort' to set the file sort criteria. Next comes the "<- directory up" item, which will bring you up a
level in the directory tree (provided, you are not already at the root) and the "sXd" item, which
will swap the source and destination directory (if defined).
At the end of this row, there is the disk medium name and the amount of spare space on the
disk.
The files list itself has two forms: with or without the file statistics. The form is selected in the
Commands sub-menu. With statistics, the file name is followed by the file length and update
date. Whether the statistics are included or not, if the file has a recognised type, a character
giving the type will be put in front of the file name.
Type
>
E
r
-1
1
2
Meaning
directory
executable
relocatable
If you DO on a directory (marked >), you will get "into" this directory, i.e. go down a level in
the directory tree. This is an easier way than going via the subdirectory (F2) menu.
Usually, the first forty files will be selectable using a unique keystroke. These keystrokes are
at the left hand side of each item. If you feel that they clutter up your menu, you can configure
the QPAC2 file to turn them off.
The main menu keystrokes are
CF4 (CTRL F4)
CF3 (CTRL F3)
CF2 (CTRL F2)
CF1 (CTRL F1)
ESC
F2
F3
F4
F5
F6 (SHIFT F1)
TABULATE
<
X
QJUMP Pointer Accessories
move window
resize window
wake menu
or
put menu to sleep
set source directory
invoke Commands sub-menu
select or deselect view option
select or deselect all files
invoke Sort sub-menu
move pointer to menu sub-window or bar
move up a directory level
swap source and destination directory
19
Using the Files Menu
The files menu can be used in three ways. If you neither select View, nor select an action
from the command menu, then the menu is uncommitted. When you DO on a file name, you will
get the Commands sub-menu which will allow you to select an action (or View if no action) which
will be forgotten as soon as it is done. Using the Files menu this way, every time you wish to do
something, you have to select the action.
Secondly, you can select some files, press F3 and DO an action (e.g. Copy). This will
perform the action requested and leave the menu set up to repeat the action.
Thirdly, you can press F3 and HIT an action, or press the selection key for the action. This
will set the menu up to perform the action when you DO a file name. To "uncommit" a commited
Files menu, press F3 and then either ESC or move the pointer to an empty bit of menu and DO.
Source Directory
The Source directory is set by pressing F2 or HITting the Files title. As well as the directory
itself, the source directory name can have a simple 'wildcard'. This is done by leaving a blank
section in the directory name.
flp1_progs_
flp1_progs__asm
list all files in progs directory
list files in progs directory with any name followed by _asm
Destination Directory
Copy and some of the other commands need you to specify a destination directory. If a
destination directory is required, and you have not set one, then the Destination Directory
sub-menu will be pulled down, with a suggested destination directory already set.
There is no facility to change the destination directory, but, the current destination directory
is unset if you change the source directory, or if you select a command (Copy, Move, Backup or
Update) which requires a directory.
Source and Destination directory can be swapped using the "sXd" icon. This will work only
after a destination directory has been defined (i.e. after Copy, Move, Backup or Update). If the
directory is changed directly or via the F2-Menu, the destination is forgotten.
Directory Sub-Menu
The Directory sub-menu is invoked to set both source and destination directories. It is also
invoked from the Sysdef menu to set Data Default and Program Default directories.
The second row of the menu has a list of filing system devices, and the drive numbers 1 to
8. Below this row, there is the current directory and a '<-' item. Below this there is a menu
sub-window for suggested (sub-)directories.
If you press F2 or hit the current directory item, you can edit the name directly. This will be
necessary if you wish to add an 'extension' (e.g. _doc to list only _doc files) to the end of the file
name. If you press ENTER when you have finished editing, you will exit from the menu. If you
press ESC, up cursor or down cursor, you will stay in the menu when you have finished editing.
If you HIT (or select using the first letter) a device name, this will be substituted for current
device name. If you HIT (or press the digit) a drive number, this will be substituted for the drive
number.
QJUMP Pointer Accessories
20
For directories across the network, things are slightly different.If there is a network driver, 'N'
appears in the list. If you HIT N, and the current directory starts with a network node number
(e.g. N3_) then the network node number is removed. If you HIT N, and the current directory
does not start with a network node number then the N1_ is added to the start, and the next digit
you HIT will be the network node number.
If you wish to move up a directory level, press < or HIT the <- item. If you wish to move
down a directory, press > or HIT the menu sub-window. This will fill the sub-window with
suggestions for sub-directories. Note that as digits 1 to 8 are used for selecting a drive number,
these are not available for selecting sub-directories.
There are two ways in which the Directory sub-menu creates a list of sub-directories. If the
device has a version 2 device driver which supports hard directories, then this lists the
directories at the current level. Otherwise, the Directory sub-menu makes a guess at what you
might consider to be a directory.
If there is a blank (wild) section in the current directory name, e.g. flp1_progs__asm to select
all the _asm files in the flp1_progs_ directory, then all the operations to move up and down
directories act on that part of the file name which is before the double underscore.
Commands Sub-Menu
The Commands sub-menu is used to select a files action, to select the files listing options
and to Quit from the Files menu. There are eight actions.
"Copy" is used to copy files from one directory to another. It also copies the file header and
version number.
"Backup" is like copy, but it will not copy a file if there is a more recent version of the file in
the destination directory. To prevent multiple updating, it also copies the update date so
that both files have the same version and update date.
"Update" is like Backup, but it will only copy a file if there is a older version of the file in the
destination directory.
"Move" is like copy, but the original file is removed from the source directory. If the source
and destination directories are on the same drive, the file will be renamed rather than
copied.
"Execute" executes executable files.
"Print" sends files to an output device. It can also print the current file list. It will not print
directories, executable or relocatable files. Beware of trying to print Quill documents,
database files or TEXT87 files. Print can put a form feed at the end of the file, and it can
dispose of the file after printing.
"Delete" deletes files. Once they are gone, they are gone.
"Format" formats disks.
There are also two options which control the form of the File list and also the Quit item.
"Statistics" adds the file statistics to the file name in the file list.
"Tree" selects the expansion of the directory tree so that you can see all the files in all
sub-directories. The tree option is cancelled if you move up a directory, as this can lead
to very long delays in case you move to the root of a large harddisk.
"Quit" removes the Files menu.
QJUMP Pointer Accessories
21
Print Sub-Menu
The Print sub-menu allows you to set up the Print parameters. You can print the contents of
files that have been selected or you can print the complete list of file names (including the
statistics, if selected).
"To" selects the output device name.
"List of Files" will print the list of file names, rather than the contents of the selected files.
"Form Feed at End" puts a <FF> character at the end of each file or at the end of the list of
file names.
"Dispose of File" deletes each file after it is printed.
Execute Sub-Menu
Before executing a file, you will get the Execute sub-menu. This enables you to send a
command string to the program before it starts executing, and also allows you to defend the
system against various types of bad behaviour.
OK
F3
Psion
Guardian
Unlock
Freeze
execute it.
to set a command string.
if it is a Psion program.
if it needs a Guardian window.
if you really must do it.
if all else fails.
Unless you are sure that you know the effect of passing a command string to a program, do
not press F3. Do not select the PSION option if you have already processed your Psion
programs with Grabber. Do select the Freeze option if you are going to execute Solution or the
Conqueror.
Format Sub-Menu
Press F to edit the medium name. When you have finished editing the medium name, press
ENTER to format. Press ESC to give up.
QJUMP Pointer Accessories
22
Sort Sub-Menu
The Sort sub-menu is used to set up the criteria used to sort the File list. Apart from the ESC
item, it has five items to select the file characteristic which is used in the sort, and two other
items.
"Name" is selected to sort into alphabetic file name order.
"Time" is selected to sort according to the update date and time, the oldest files will be first.
"Date" is selected to sort according to the update day (not time).
"Length" is selected to sort into order of increasing file length.
"Flag" is selected to sort according to the file type flag (-1 directory, 0 normal, 1 executable,
2 relocatable).
"Reverse" is selected to reverse the order.
"And" is selected to add another criterion. If you HIT And, then you can set a subsidiary Sort
criterion. If two files are equivalent according to the first criterion, then the second
criterion will determine the order.
You can also have no sort criterion at all by leaving the menu without selecting anything.
View Sub-menu
The View sub-menu is used to look at the contents of a file. The top row has items to Wake
(re-open and re-read the file), to go back to the previous selected file (<), to go on to the next
selected file (>), and to ESCape.
With the pointer in the view sub-window, HITting will scroll down through one line, DOing will
scroll down through one page.
File Action Sub-Menu
This menu is your last chance to say no. This menu shows the file about to be actioned, the
destination (if there is one) and four items to control the menu.
The selection keystrokes are:
N
ESC
Y
A
T
TABULATE
(No) do not action this file
do no more actions
(Yes) do action on this file
(All) do action on all files selected
(To) edit destination (Copy and Move only)
select view sub-window
There will be a View sub-window if the View item has been selected, or if the View Item has
been DOne.
If you HIT All in this menu, then the menu can be buried and it will carry on performing the
actions until all have been done, or a problem occurs.
Note that only files which can be actioned will appear in this menu. Backup, Update, Execute
and Print are all selective in their choice of files.
For those of you who wish to live a little more dangerously, you can configure the Files menu
so that if you wish to, for example, Delete just one file, then the File Action Sub-Menu (Yes, No,
All, ESC) will not be produced: the operation will just be done without further query. The File
Action Sub-Menu will still be be produced if you select more than one file, or if you have the
View option selected. If you wish to Copy or Move a file and change the name, you will need to
select more than one file or select the View option.
QJUMP Pointer Accessories
23
Warning - File Already Exists
If you try to Copy or Move a file to a directory where there is already a file of the same name,
you will get a Warning menu. This gives you three choices:
ESC
N
DO
Y
A
or
(No) do not copy or move this file
or
(Yes) overwrite the old file with the new
(All) overwrite the old file with the new, and likewise all
other files until we return to the main menu
File Error Sub-Menu
If a file error occurs, you will get a small error message menu with two choices:
ESC
A
DO
R
QJUMP Pointer Accessories
or
abandon the operation
or
retry the operation
24
Parameters to QPAC2 programs
With Version 1.12 of QPAC 2 it is possible to pass parameters to the various menu
programs. As the possibilities offered by parameter passing are very extensive, this may seem
very complex. Do not worry, there is no need to do this, if you are in any doubt, please do not
read the rest of this note.
The form of the parameter strings is a "key" followed by a value (usually in the form of a
string of characters. A key is a backslash followed by a letter, followed by the value. There may
be spaces between the key and the value. The keys may be upper or lowercase.
Standard Parameters
\Z xpos,ypos
Start off the menu asleep
This key sets up the menu as a sleeping button. If a button position is given, this
should be in pixel co-ordinates from the top left corner. If the position is not given,
the button will be put into the Button Frame.
\B value
Button Colourway (value 0 to 3)
This key specifies the button colour for a menu set up as a sleeping button. If you
use \B, you do not need \Z unless you wish to specify a button position.
\N characters
Button Name
This key specifies the name that will appear in the sleeping button. If you use \N,
you do not need \Z unless you wish to specify a button position.
\C value,value
Colourways
This key sets the main menu border and menu window colourways.
Files Menu Parameters
\M command key
Menu (Copy, Move etc.)
The command key should be the selection key for the particular command. This is
usually the first letter of the command. If so, you may give the full command name
(e.g. C or COPY).
\O options
Options (V=View, T=Tree, S=Statistics, Z=Sleep)
The option letters should follow the key. If the Z option is given, then when you press
ESC, the menu will go to sleep, otherwise the menu will remove itself. If you give
any options, then you must give all the options you require as this overrides all
defaults.
\S +/- order
Sort Order
The sort order should be given as + or - and a single letter (N for Name, T for Time
etc). The + sign is optional.
\D name
Directory
This specifies the initial directory. If the name starts with an underscore, it is added
to the end of the data default directory.
QJUMP Pointer Accessories
25
Example parameters for a PRINT menu
\M PRINT \D win1__lst \O STVZ \S N
This will set up a Print menu, of all files ending with _lst, in all sub-directories (\\O T),
showing the file length etc. (\\O S), viewing each file before printing (\\O V), ESC puts the menu
to sleep and the files are sorted in name order.
\M P \D _lst \O \S N
This will set up a Print menu, of all files ending with _lst, in the current default
(sub-)directory, without statistics and not viewing each file before printing, ESC removes the
menu and the files are sorted in name order.
Example parameters for an EXECUTE menu
\M E \D flp1_ \S N
This will set up an Execute menu for files on FLP1_, sorted in name order. The default
options for Statistics etc will be used.
Example parameters for a VIEW menu
\C 1,1 \O V \S -T
This will set up a (black and red) View menu, of files in the current default (sub-)directory,
without statistics and sorted with the most recently updated file first. ESC removes the menu.
QJUMP Pointer Accessories
26
Configuring QPAC 2
To configure QPAC2, you need to execute the MenuConfig program. The loading process
for MenuConfig and how to use MenuConfig is described in a later section. If you are used to
using MenuConfig, you can carry on reading this manual, otherwise we suggest you branch to
the MenuConfig explanation and get it started first.
QPAC 2 has four sets of configurable items: QPAC 2 colourways, Files menu options,
mouse defaults and the Button Frame size.
QPAC 2 colourways can be set independently for the main menu background, the menu
sub-windows and the buttons.
Files menu options can be set for the sort order, file statistics (on or off), file tree (on or off),
single keystroke selection in the Files and Directory lists (on or off) and the sub-directory list in
the Directory menu (on or off). Filenames in the subdirectory-menu can be converted to lowercase automatically (default), or the case can be left as it is. Directories can always go in front of
the file list, come first unless the sort criterion is name (the only reasonable sort criterion for
subdirectories, we believe) or not. The files menu can go to sleep after executing a file. Finally,
EXECUTE can be speeded up by skipping the menu which asks for Psion, Guardian etc. It is not
required in most cases anyway. You can pass a command string in the file-action submenu
(Yes/No/All/Quit) which appears before this menu would appear, at the position where usually
the destination filename appears when you copy or backup.
Mouse defaults can be set for mouse and cursor key acceleration, mouse wake speed and
the mouse Hotkey.
The Button Frame size and position can be set.
QJUMP Pointer Accessories
27
RAM Disk Driver and Printer Buffer
For no good reason at all, except that some users might find it useful, we have included the
old QRAM RAM disk driver and printer buffer. This is in the file RAMPRT which should be
loaded (LRESPR) into the resident procedure area. This should not be used with SMSQ/E.
RAM Disks for Beginners
The term 'RAM disk' is a misnomer. It is used to denote a 'virtual' device (one that only
exists in the fertile imagination of the QDOS) that looks and behaves like a very fast disk device.
It is so fast because being virtual, there is virtually nothing to move to get information in and out.
It is, in fact, no more than a reserved area of the computers's main memory (its RAM - Random
Access Memory). This means, of course, that any space taken by a RAM disk is not available to
programs executing in the computer. Furthermore, any data stored in a RAM disk will be lost
when the computer is turned off or reset!
RAM disks may be of any size, subject to there being enough memory. One way of using a
RAM disk would be to copy all working files into the RAM disk; rename the RAM device to be
MDV (to pretend that the data is really on the Microdrives); execute the programs (e.g. Quill,
Archive etc.); and, at the end of the session, rename the RAM device to be RAM before copying
the data files back to Microdrive.
On the other hand, it is just as easy to use a RAM disk without changing the name. All the
normal filing system commands work with RAM disks.
FORMAT ram2_200
DIR ram1_
SAVE ram1_myprog
OPEN_NEW #3,ram2_data
COPY flp1_x TO ram1_x
creates a new RAM disk 2, see below
directory listing of RAM disk 1
save the current SuperBASIC program as 'myprog' in
RAM disk 1
creates and opens a new file 'data' in RAM disk 2
copies file x from FLP 1 to RAM Disk 1
RAM Disk Creation
A dynamic RAM Disk is created just by accessing it with any normal operation (e.g. DIR).
This type of RAM Disk takes memory as required, and releases any memory as files are deleted
or truncated.
A fixed RAM disk is created by formatting it: the size, in sectors, is given in place of the
usual medium name. This pre-allocates all the space that will be available in the RAM disk.
Formatting a RAM disk will throw away all the files in that RAM disk. A RAM disk may be
removed by giving either a null name or zero sectors.
FORMAT ram1_80
set up an 80 sector (40 kilobytes) RAM disk
FORMAT ram1_
FORMAT ram1_0
or
clear out RAM disk 1
The RAM disk number should be between 1 and eight, inclusive, while the number of
sectors (512 bytes) is only limited by the memory available. A RAM disk can be formatted from
the FILES menu of QPAC2.
QJUMP Pointer Accessories
28
Heap Fragmentation
The primary storage mechanism in QDOS for permanent or semi- permanent memory
allocations is a 'heap'. Allocating space in a heap, and then re-allocating this space as a different
size, inevitably causes holes to be left within the heap. This reduces the amount of memory
available to either SuperBASIC or executable programs.
This RAM disk driver has precautions to reduce the possibility of heap fragmentation, but it
is preferable to consider any fixed RAM disk to be a permanent feature until the computer is
reset.
Using a fixed RAM Disk not only reduces the danger of heap fragmentation, but also
provides higher access speeds during file creation. Since it always occupies the maximum
space you ever wish to use, it is much less flexible. QJUMP gives you the choice.
RAM Disk Emulations
The standard driver also includes a SuperBASIC procedure RAM_USE to change the name
of the RAM disk driver. Any three letters may be used as a new device name, in particular 'ram'
will reset the driver.
RAM_USE flp
RAM_USE 'flp'
RAM_USE ram
or
sets the name of the RAM disk driver to 'flp'
will reset the driver to its normal state
RAM Disk Microdrive Imaging
Microdrive imaging is a very fast method of loading files from a Microdrive cartridge. To
produce a Microdrive image, a RAM Disk is formatted with the name of the Microdrive required.
FORMAT ram1_mdv2
loads an image of mdv2 into RAM Disk 1
The RAM Disk can even load a Microdrive with a damaged directory. It cannot, however,
load a Microdrive with a damaged map. The RAM Disk will try up to 3 times to read a faulty
sector. If it fails, the number of good sectors returned from the format will be fewer than the total
number. Any file with bad sectors will be marked with an '*' in the RAM Disk directory.
Printer Buffer
The Printer Buffer has two names: the 'usage' and the 'device'. The default usage name is
PRT and the default device is SER. The printer buffer works by intercepting any OPEN call to a
device whose name starts with its usage name. It substitutes the device name for the usage,
and tries to open the device. If it succeeds, then all the output is buffered within the computer's
main memory. If the device is in use, then the output is also buffered until the device is available.
You can have many buffered output files open at one time.
Using the default usage (PRT) and device (SER) all references to a device called PRT will
use the serial driver SER. Any parameters appended to the PRT name will by transferred to the
SER name:
OPEN #3, prt
COPY flp1_fred, prt2c
QJUMP Pointer Accessories
will open SER with a buffer
will copy to SER2C with a buffer
29
The usage and device can be changed using the PRT_USE command. Two cases are
particularly useful. In the first, the usage and device names are the same. This has the effect of
introducing a buffer transparently into a device. In the second, the device name is of zero length.
This means that the usage name may be followed by any device name.
PRT_USE usage, device
PRT_USE ser,ser
PRT_USE b_,''
buffer all output to SER1 and SER2
b_ser1 is bffered SER1, b_par is buffered PAR etc.
The current printed output may be thrown away by the PRT_ABT command which will
ABORT the file with the message '******ABORTED******' on the printed output.
QJUMP Pointer Accessories
30
QJUMP Pointer Accessories
QPAC2 is a replacement for the system control parts of QRAM. Three years of user's
comments on QRAM have given us a good idea of the type of changes and additional facilities
that our users would like to see. Unfortunately, it has not given us any clear idea about how
these changes could be implemented. So, we have started from scratch to produce a new
product with as many of these additional facilities as seem practical. This means that QPAC2 is
likely to have problems all of its own. QPAC 2 relies on the same combination of the Pointer
Interface, the Window Manager and the HOTKEY System 2 as QTYP 2 and QPAC 1. We
include a complete manual for this Extended Environment. The main difference between the
QRAM menus and the QPAC2 menus is that the QPAC2 menus do much more in the way of
hand holding than the QRAM menus. Although this makes their use much easier for the less
practised or confident user, it does make using them a little bit more cumbersome. We have
tried to offset this disadvantage by providing a number of short cuts. Because QPAC2 is
completely new, there are certain to be a number of changes made in the early days. This
manual should tell you all about QPAC2, but you may find that QPAC2 does not do some of the
operations described, that it may do some operations in a slightly different way, and that it may
do operations not described in the manual.To make life a little easier for users starting to use
QPAC2, we have provided a number of tutorials. These tutorials cover all aspects of the
Extended Environment used by QPAC2 and many other programs, as well as covering the use
of QPAC2 itself. These tutorials require you to reset your computer before using them. This is
not something we normally recommend, but it is the only way in which we can be sure that the
tutorials will work in the way described.
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising