Pointer Environment & Toolkit 2 |
Updated: 15/03/2024
Pointer Environment | Download PE | Toolkit 2 | Download TK2| QPAC1 and QPAC2
The original QL and compatibles (machines using QDOS) as well as some emulators are command-line driven only. In other words, you have to type in commands to run programs etc. It gives absolute control over the machine, but 2 decades later more and more people are using pointer environment in some shape or form. Pointer environment gives an on-screen pointer which is controlled by a mouse or by cursor arrow keys to point to certain items on the screen (hence the name Pointer Environment) to select items from lists or menus. It also saves and restores the contents of screen windows as you switch between programs. The SMSQ/E version of the operating system includes the equivalent of pointer environment.
Pointer environment consists of three basic items:
Pointer Environment files PTR_GEN, WMAN and HOT_REXT can now be made available free of charge. These are the latest versions I have to hand, along with a few older versions which may prove useful for software authors to test programs against, for example. You should try to use combinations of ptr_gen and wman from the same row across and a close version of hot_rext, although hot_rext is not tied as closely to particular versions of ptr_gen and wman. If anyone has versions to fill the gaps I would happily add them to this list. Hot_Rext comes in English and German language versions. For normal use, you should choose the highest version number of PTR_GEN which works on your system, the matching WMAN version from the same row in the table below, and the closest version of HOT_REXT available.
In order to install these on a QL system, you need to add the following lines to your boot program to reserve resident procedure space with the RESPR function, then load them into memory with LBYTES and finally a CALL statement to install them. xxxxx is the file size of PTR_GEN given below for each version, yyyyy is the file size in bytes of the WMAN version used, and zzzzz is the file size in bytes of the HOT_REXT version used.
100
base1=RESPR(xxxxx) : LBYTES FLP1_PTR_GEN,base1 : CALL base1
110 base2=RESPR(yyyyy) : LBYTES FLP1_WMAN,base2 : CALL base2
120 base3=RESPR(zzzzz) : LBYTES FLP1_HOT_REXT,base3 : CALL base3
They must be loaded early in the boot program (usually before any extensions, but after Toolkit 2 or Lightning installation commands if used. If your system has the LRESPR command available (systems with Toolkit 2 will definitely have this extension, as will most disk interface system, but on a few systems Toolkit 2 may not become active until a TK2_EXT command is issued):
100
TK2_EXT
110 LRESPR FLP1_PTR_GEN
120 LRESPR FLP1_WMAN
130 LRESPR FLP1_HOT_REXT
Please note: I experienced some difficulty with using ptr_gen v2.02 and resorted to v2.01 which seemed to be more reliable on my system at the time. Also, please note: from V2.03 version JS or higher, preferably Minerva, is required to use its full capabilities. It may not work on version AH or JM QL ROMs for example. If, like me, you have a QL system with a JM ROM I recommend using PTR_GEN v2.01, WMAN v2.05 and HOT_REXT v2.29.
PTR_GEN | WMAN | HOT_REXT (English) | HOT_REXT (German/French) |
ptrgen206.zip v2.06: 21,538 |
wman208.zip v2.08: 17,146 bytes |
V2.31: 12,802 bytes
|
hotrext231_d.zip German V2.31: 12,856 bytes hotrext231_f.zip French V2.31: 12,908 bytes |
ptrgen205.zip V2.05: 21,002 bytes | wman207.zip V2.07: 20,242 bytes | hotrext231_e.zip V2.31: 12,802 bytes | hotrext231_d.zip German V2.31: 12,856 bytes hotrext231_f.zip French V2.31: 12,908 bytes |
ptrgen203.zip V2.03: 20,904 bytes |
wman205b.zip V2.05b: 19880 bytes |
hotrext231.zip V2.31: 12,768 bytes |
- |
ptrgen202.zip V2.02: 18,388 bytes |
wman205.zip V2.05: 18,886 bytes |
hotrext229.zip V2.29: 11,792 bytes |
- |
ptrgen201.zip V2.01: 18,480 bytes |
wman201.zip V2.01: 19,218 bytes |
hotrext229.zip V2.29: 11,792 bytes |
- |
ptrgen172.zip v1.72: 15,172 bytes |
wman153.zip V1.53: 10,520 bytes |
hotrext229.zip V2.29: 11,792 bytes |
|
ptrgen171.zip V1.71: 15,140 bytes |
wman153.zip V1.53: 10,520 bytes |
hotrext228.zip V2.28: 11,830 bytes |
hotrext2d28.zip V2.28: 11,830 bytes |
ptrgen169.zip V1.69: 15,130 bytes |
wman152.zip V1.52: 10,516 bytes |
- | - |
ptrgen168.zip V1.68:15,122 bytes |
wman148.zip V1.48: 10,392 bytes |
- | - |
ptrgen165.zip V1.65: 14,754 bytes |
wman147.zip V1.48: 10,392 bytes |
- | - |
ptrgen161.zip V1.61: 14,672 bytes |
wman147.zip V1.47: 10,392 bytes |
hotrext226.zip V2.26: 11,708 bytes |
hotrext2d26.zip V2.26: 11,762 bytes |
ptrgen159.zip V1.59: 14,666 bytes |
wman147.zip V1.47: 10,392 bytes |
hotrext225.zip V2.25: 11,684 bytes |
hotrext2d25.zip V2.25: 11,738 bytes |
ptrgen157.zip V1.57: 14,554 bytes |
wman147.zip V1.47: 10,392 bytes |
- | - |
ptrgen155.zip V1.55: 14,544 bytes |
wman145.zip V1.45: 10,382 bytes |
- | - |
ptrgen154.zip V1.54: 14,534 bytes |
wman143.zip V1.43: 10,360 bytes |
- | - |
ptrgen153.zip V1.53: 14,522 |
wman140.zip V1.40: 10,132 bytes |
- | - |
ptrgen142.zip V1.42: 14,418 bytes |
wman134.zip V1.34: 9,994 bytes |
- | - |
ptrgen139.zip V1.39: 14,276 bytes |
wman133.zip V1.33: 9,992 bytes |
hotrext224.zip V2.24: 11,566 bytes |
- |
List of changes (plain text file, 4K)
in various versions of the pointer environment. Information from Marcel
Kilgus's website. You can always get the latest versions of the pointer
environment files from his website at https://www.kilgus.net/smsqe/pe/ , along with loads of other QL goodies.
The Pointer Environment is usually bundled with the Hotkeys System, and hotkeys have been a source of difficulty for new users - these articles set out to provide an easy to follow introduction to Hotkeys and a limited introduction to writing Boot programs for use with pointer environment. Apart from the QPAC2 manual, there is very little by way of documentation for users new to the system, so I have added the following files to this page, with grateful thanks to the authors concerned, and to the publisher of QL Today magazine from whence the Hotkeys articles were reproduced.
P.E.Idiot's Guide
(86K) - Norman Dunbar's excellent introduction to the Pointer
Environment. Alternatively, click
here to read it online (thanks to Tim Swenson for the online
version).
Hotkeys Part 1 (7KB) -
Part 1 of the QL Today series about the Hotkey System
Hotkeys Part 2 (6KB) -
Part 2 of the QL Today series about the Hotkey System
Hotkeys Part 3 (6KB) -
Part 3 of the QL Today series about the Hotkey System
Hotkeys keywords (15KB) -
Keyword guide for the Hotkey system (3KB)
SerMouse
Albin hessler has kindly givenm permission for the Serial Mouse software to be made available as freeware. This allows a 2 or 3 button serial mouse to be used (with an appropriate cabling adaptor as described in the instructions) with a QL. The manual is currently an extract from the SMSQ/E manual in the hope that this will be close enough to the original SerMouse instructions.SerMouse304.zip - SerMouse software v3.04 (42K)
SERMouse.docx - SerMouse manual as a Word .docx file (23K)
SERMouse.pdf - SerMouse manual as a PDF file (294K)
As
some users have had difficulty with SERMouse 3.04 on some systems, here
is a copy of version 3.03 which seems to work on some of those systems:
sermouse303.zip - SERMouse v3.03 as a zip file (27KB)
SerMouse3_03.img - SERMouse v3.03 as a 720KB disk image file (720KB)
This is the original and best toolkit software for the QL. Just about every QL disk interface released contained some variant of this toolkit, and it was also available as a plug in EPROM for the QL. With the increasing use of emulators, most of which do not include Toolkit 2, free release of the Toolkit 2 has been agreed. Two versions are presented here, a 16K ROM image version and the reconfigurable disk version of Toolkit 2, complete with manuals and a tutorial. I keep some older versions on here for posterity. The Toolkit 2 ROM image may be installed in one of two ways:
100 base=RESPR(16384):LBYTES FLP1_Tk2_Ext,base:CALL base
If that does not work, it is because ROMs have a header which must be skipped. There is a word value at offset 6 bytes from the base which is an offset from the base of the eprom (an image in this case) to the rom initialisation routine - see page 66 of the QL Technical Guide for details. So we can try this alternative version:
100 base=RESPR(16384):LBYTES FLP1_Tk2_Ext,base:CALL base+PEEK_W(base+6)
If using an emulator such as QLay or QemuLator which have the facility to load 16K eprom image, use that facility. Of course, QPC2 and SMSQmulator users need not load either pointer environment or Toolkit 2 since the equivalent of them is built into QPC2! Copies of Toolkit 2, manuals and a tutorial may be downloaded via the links below.
tk2v203.rom - Early version 2.03 of the Toolkit 2 ROM, for use with emulators. Ideal for testing software with older toolkits. (Tony Tebby) (16K) [06/02/14]
tk2v205.zip - Another early version of the Toolkit 2 ROM. (Tony Tebby) (13K) [27/03/21]
tk2ext.zip - This is a Toolkit 2 ROM image v2.12, for use with emulators. (Tony Tebby) (13K) [30/01/05]
tk213_rom.zip - This is a Toolkit 2 ROM image v2.13, for use with emulators (Tony Tebby) (13K) [12/03/09]
tkii220.zip - This is a Toolkit 2 ROM image v2.20, for use with emulators (Tony Tebby) (13K) [22/04/11]
tk223asm.zip - Extracted from a Trump Card v1.31 ROM image, the Toolkit 2 part (16784 bytes, and that is not a typo, it really is a little longer than 16KB) has had a little initialisation code added so that it can be CALLed when loaded into RESPR area. This verson is level-2 aware when used on a system which supports hard directories/level 2 filing system, such as hard disk systems. Includes source assembler and a short text file showing to install the toolkit. (41K) [23/01/16)
tk226.zip - Extracted from a Trump Card v1.36, this is v2.26 of Toolkit 2. (14K) [29/01/16]
tk2_bin (17K) - a version of Toolkit 2 v2.12 patched (using Magnetic Eprom) with an extra header to run from RAM instead of from EPROM. While this may be useful for unexpanded QL users who can transfer it to microdrive from another computer over a serial link, note that timing differences between running it from the EPROM slot and in RAM may mean that some time-critical routines such as the network may be affected. This does not have a QL executable file header so can be transferred without having to use Zip and Unzip which may not work on an unexpanded QL. An article concerning setting up serial links between PC and QL may be found on this site at ../gen/pcqlxfer/index.htmlDownload
and copy the file tk2_bin to a microdrive cartridge on your QL. To
install the toolkit file you will need to run a short BASIC program
like this on your QL - I suggest you type in and save this program on the same cartridge:
1 LET adr=RESPR(17396)
2 LBYTES "mdv1_tk2_bin",adr
3 CALL adr+1380
TK223-16K.zip (14K) - A version of Toolkit 2 v2.23 trimmed (by removing the CLOCK and ALARM procedures, which are supplied as a stand alone binary file in the package) to fit in a 16K EPROM address space. This version updated on 03/03/16 fixes a problem when QL ROM slot at $0C00 also being shadowed/recognised at unused address $CC000 (Like earlier TK2 versions, detects false call and returns). The version updated on 16/03/16 fixes an issue whereby the CHAR_USE command may not work. (David Westbury) [03/03/16]
Toolkit 2 v2.32
- In the first major revision of Toolkit 2 for many years, Marcel
Kilgus has
issued an update based on the latest SMSQ/E sources, and has added many
SBASIC features such as LOAD adds a _bas extension to filenames, plus
several SBASIC extensions such as EXF, EX_M, FET, FEW, FEX, FEX_M,
HGET, HPUT, JOBID, LGET, LPUT, UPUT,
WGET and WPUT. The Altkey commands have been removed to make space for
new features, although Alt-Enter for last line recall still works.
Network code cannot be run from RAM due to the critical timings
involved, so as the total code is larger than the 16K available space,
some code has been removed and made into an LRESPR file to allow the
critical timing network code to reside in the main ROM. Full details of
the changes (and the latest versions, v2.34 at the time of writing) are
on Marcel's blog at https://www.kilgus.net/2017/03/19/toolkit-ii-the-sequel/
tk232_rom.zip
(16K) - the ROM image, with the speed critical network timing routines
in ROM and other parts of the network code as an LRESPR NET_bin file.
tk232_net_rom.zip
(15K) - this version has the ED SuperBASIC editor moved into an LRESPR
ED_bin file so that the network code can be fully included in the ROM.
tk232_respr.zip
(15K) - this version can be LRESPRed into RAM and includes everything,
though the network code will not work unless burned into a ROM or
executed from zero waitstate RAM.
tk230_src.zip (35K) - the source files
tk2.zip
- Plain text manual for Toolkit 2 (40KB) [30/01/05]
TK2.pdf - Toolkit 2 manual, as a PDF file (269K) [24/02/16]
rtk206b.zip - Reconfigurable disk version of Toolkit 2 v2.06b (27K) [30/01/05]
recontk2.zip - manual supplement for Reconfigurable Toolkit 2 (2K) [30/01/05]
tk2tut.zip - Toolkit 2 tutorial article as Quill DOC and plain text files (Stephen Bedford) (33K) [30/01/05]
tk2_and_flp_updates.pdf - list of updates to earlier versions of Toolkit 2 and the FLP drivers (188KB). Also available as a Word .doc file (29K)
Toolkit II Update Record v234.pdf - list of updates to Toolkit 2 up to and including v2.31 (113K). Also available as a Word .docx file (16K)