BS-DOS: REC - offline disk database recorder

BS-DOS: REC - offline disk database recorder

This is small utility to record file details on selected BS-DOS disks into CSV file. Purpose of this utility is to transfer these files into another application on PC, MAC, PSION, such as Access, Excel or Data.


Main purpose it to substitute currently missing "search on all disks" function in BS-DOS. I decided to make text based off-line database, because it's easy to import into any other common application. I'm using Psion Revo / netBook besides of my Spectrum, database is stored into Data application. I'm planning to make off-line search for BS-DOS (part of the Escape project).


Database format

Format is pure text file, delimited by semicolon (or user defined). Recorded fields are following:

disk, dir, filenumber, type of file, name + "E" if this file is erased (has to be enabled), start, length, variables, date, time.

See example of the database below:

  3;  0;    1;  3;Masterboot ;25600; 2048; 8224;26.07.05;07:32
  3;  0;    2;  3;BSdos308   ;32768;23450;34952;26.07.05;07:32
  3;  0;    3;  3;setup      ;32768; 4144;34952;26.07.05;07:32
  3;  0;    4;  3;09.2+      ;49520;15069;32989;26.07.05;07:32
  3;  0;    5;  3;clock      ;32768;  116; 8224;26.07.05;07:32
  3;  0;    6;  3;ff17       ;24200; 2681;34952;26.07.05;07:32
  3;  0;    7;  3;cdd        ;16384; 1500; 8224;26.07.05;07:32
  3;  0;    8;  0;ccd        ;  305;  305;  305;26.07.05;07:32


In the set-up screen you can define:

Parametter          Description
Start drive no. Starting disk number.
End drive no. End disk number. Start - End defines range of disks that will be searched and recorded into database. You can also use Start=End to record only one disk (floppy).
Erased Option to record erased files. Type 1=yes, 0=no. Note: in the filename will be additional "E" letter in 11th position if this file is erased.
Field delimiter Delimiter of each column. Standard is semicolon ";". Note: each new record ends with CR,LF (13, 10).
db. start Start of the database in memory. This is where REC is going to store the temporary data before it'll be saved onto disk.
db. length Length of temporary buffer.
db. drive no. Disk number where the database will be recorded. For systems without HDD you can also use RAMdisk (disk 9).
db. dir. no. Directory number of database files.
pure ascii Option to clean-up non-ascii characters. Basically ZX Spectrum filename can contain any characters from 0-255. If this option is enabled, all characters outside 32-127 will be replaced by alt.char.
alt. char Alternate character if pure ascii is enabled.


Once your database files are recorded, you can explore it on ZX Spectrum or you can also transfer it to any other system.


REC is not making one long file as you might expect, but it is saving several files (defined in db.start, db.length setup section). I decided to keep it as simple as possible, due to the fact that combining of the files into one big file is easy task for PC. On the other hand, I do not see any benefit of having one big file on ZX Spectrum.



File Description
REC.TAP (3 kB) ZX Spectrium executable with set-up
loc_datarecorder_r3.a80 (18,2 kB) Source code for SjAsmPlus