What fun! Last night I spent a few happy/frustrating hours writing some routines in Archive to restructure and update some databases.
Its been many years since I last did anything remotely serious with Archive. Still, I was amazed at how much my fingers seemed to remember (and how much my old brain has forgot)!
A pity this program wasnt developed further. To me, it seemed to have great potential: quite powerful while relatively simple to program and use - and of course "free" at a time when similar software could cost more than a QL!
One needs to get quite creative to get round some of the limitations of the programming language (APL?) For example, there doesnt seem to be an exit or break equivalent to get out of a loop. One way I found was to make the loop a subroutine and then use return instead of exit. Another problem is if you dont know whether a database is open or not. If its already open and you try to open it you get an error. If its not open and you try to close it you also get an error and the program stops. Again, a subroutine comes to the rescue: put the close command in its own subroutine called closerr and call it with error closerr. Etc.
A pity there is no BEEP. But apparently this has been fixed with an external machine code procedure and called with the usr() function - a function not available in all versions of Archive. Interfacing machine code procedures with Archive seems pretty limited and theres not much by the way of documentation to go with it, IIRC. (Does anyone have the full details?)
The main problem to my mind is that theres no proper way to interface Archive with S*BASIC. I guess that is why DBAS and DataDesign were invented..
Archive revisited
Archive revisited
Per
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
Re: Archive revisited
I have a video management program under Archives, written by the then vice chairman of the German Sinclair QL Club, Dirk Nitschke.
The program makes extensive use of screens and has many search and printing options.
The program was originally sold through the club's program library; unfortunately, I don't know if it's allowed to be published.
I took the trouble back then to list my 200 video cassettes precisely, including the actors, content, and time stamp. It was a lot of work, but it was worth it if you wanted to find something.
BTW: The USR way to implement MC is described by Tony F. Dilwyn has it on his site.
The program makes extensive use of screens and has many search and printing options.
The program was originally sold through the club's program library; unfortunately, I don't know if it's allowed to be published.
I took the trouble back then to list my 200 video cassettes precisely, including the actors, content, and time stamp. It was a lot of work, but it was worth it if you wanted to find something.
BTW: The USR way to implement MC is described by Tony F. Dilwyn has it on his site.
7000 4E75
Re: Archive revisited
Runtime Archive and documentation: https://dilwyn.theqlforum.com/psions/archrtm.zip. The manual contains a lot of useful information about facilities added to later versions of Archive, such as information about control codes, graphics (line and box) characters, use of user-written machine code routines and so on.
and Tony FIrshman's example sound usr routines: https://dilwyn.theqlforum.com/psions/usr.zip
Another thing where we had to think laterally at one stage was the use of auto-incrementing fields (getting Archive to automatically add a system-generated auto-incrementing integer when a record is created). Someone (sparrowhawk on here maybe?) asked how to do this, we realised it wasn't directly possible, but later found an indirect way to do it. I'll have to try to find the code I came up with at the time - it was just devious use of standard Archive commands - and post it somewhere for posterity.
EDIT:I think it might have been this thread: https://www.theqlforum.com/viewtopic.ph ... +increment
As ever on the QL scene, there are these snippets of information about, just hard to find unless you know.
and Tony FIrshman's example sound usr routines: https://dilwyn.theqlforum.com/psions/usr.zip
Another thing where we had to think laterally at one stage was the use of auto-incrementing fields (getting Archive to automatically add a system-generated auto-incrementing integer when a record is created). Someone (sparrowhawk on here maybe?) asked how to do this, we realised it wasn't directly possible, but later found an indirect way to do it. I'll have to try to find the code I came up with at the time - it was just devious use of standard Archive commands - and post it somewhere for posterity.
EDIT:I think it might have been this thread: https://www.theqlforum.com/viewtopic.ph ... +increment
As ever on the QL scene, there are these snippets of information about, just hard to find unless you know.
--
All things QL - https://dilwyn.theqlforum.com
All things QL - https://dilwyn.theqlforum.com
Re: Archive revisited
Thanks, Dilwyn. Helpful as always
I'll check it out.

Per
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
Re: Archive revisited
Oh well, that wasnt too hard. I wish Id had this years ago when it might have been of some practical use.. I guess this cost a bit back then.
I see the PSION license text is still attached..
I see the PSION license text is still attached..
Per
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
Re: Archive revisited
Archives programming language was later developed to OPL Organiser (this was the original name!) Programming Language. Published with their legendary Pockets like PSION 3/5.
EDIT 2025-08-26 Tue:
Typo: Organizer->Organiser (PSION is a British company, so British English).
EDIT 2025-08-26 Tue:
Typo: Organizer->Organiser (PSION is a British company, so British English).
http://peter-sulzer.bplaced.net
GERMAN! QL-Download page also available in English: GETLINE$() function, UNIX-like "ls" command, improved DIY-Toolkit function EDLINE$ - All with source. AND a good Python 3 Tutorial (German) for Win/UNIX
GERMAN! QL-Download page also available in English: GETLINE$() function, UNIX-like "ls" command, improved DIY-Toolkit function EDLINE$ - All with source. AND a good Python 3 Tutorial (German) for Win/UNIX

Re: Archive revisited
There is extra Xchange info in the Thor F2 manual, including the extended character set (very useful) and use of the USR command (never used). But I don't know if this is available somewhere in TXT or PDF format.pjw wrote: Mon Aug 25, 2025 4:26 pm Oh well, that wasnt too hard. I wish Id had this years ago when it might have been of some practical use.. I guess this cost a bit back then.
I see the PSION license text is still attached..
BSJR
Re: Archive revisited
All the available information and software is present in the zip file Dilwyn links to, above. It seems to have been packaged by PSION itself.BSJR wrote: Tue Aug 26, 2025 11:10 amThere is extra Xchange info in the Thor F2 manual, including the extended character set (very useful) and use of the USR command (never used). But I don't know if this is available somewhere in TXT or PDF format.pjw wrote: Mon Aug 25, 2025 4:26 pm Oh well, that wasnt too hard. I wish Id had this years ago when it might have been of some practical use.. I guess this cost a bit back then.
I see the PSION license text is still attached..
BSJR
Per
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen