Page 1 of 1

Collector's Recording System

Posted: Mon Apr 21, 2025 11:07 pm
by David G
Another in the series "Uncommon ZX81 software" is Collector's Recording System by ICL from 1982

It is a simple database program for cataloguing your collection, be it stamps, coins, what have you

This was published in three versions:
* Collector's Recording System by ICL (red cover)
* Collector's Recording System "Manufactured for W.H. Smith by ICL" for (orange cover)
* Collector's Pack by sinclair "SOFTWARE BY ICL"

There is almost no info on the web about this program, except for the ZX81 Collection
Image

On LOAD, the program will autorun at line 3260
Collectors_Autorunt.png

The only necessary instruction to know about is DO NOT RUN. Instead GOTO 1000
Collectors_Menu.png

Total of all fields is 25 characters. So it is limited for collections that require big descriptions, e.g. an album or VHS tape collection
Collectors_List.png

The program is 100% BASIC code and instructive in two ways:
* demonstrates how to save space
* how to implement simple database on the ZX81

SAVE SPACE WITH YOUR CODE
The program is around 7K but only 243 lines of code. The rest of your 16K will be used by the database.
To save space these common techniques were used:
* No REMs
* single-letter variables
* calculated GOTOs
* all BASIC lines that declared variables were deleted before shipping the cassette. SO, DO NOT RUN

Re: Collector's Recording System

Posted: Mon Apr 21, 2025 11:59 pm
by David G
SIMPLE DATABASE
Collector's Recording System implements a database in BASIC. It is stored in the variable N$

features
* sort (only upon entering an item, no re-sort is implemented)
* list
* search
It doesn't have a database query to return a subset of results, but you can List starting with a particular entry

The databased is fixed width, and fully populated with blanks

Code: Select all

VAR N$(400,25)='BEATLESABBEY ROAD      17','EAGLES GREATEST HITS   10'','                         ', ...
* Upon first load the program only has 54 entries, used for startup messages (program size: 6K)
* After you initialize, add your own field names, it is expanded to 400 fields (program size: 16K)

To help understand how it works, I started a commented file (attached below). It is a plain text file, but uses extended ASCII for the inverse characters. To see them as intended you may use the font Sinclair.ttf