This is a Larken disk of Larry Crawford’s programs for using the Larken RAMdisk as extra memory instead of as a solid-state drive. It needs a TS2068 with the Larken disk interface and the Larken RAMdisk, and it has not been converted for tape. Its main program is a record database whose files grow from the top 32K of home RAM into as many of the eight RAMdisk banks as they need. A second package sets up a RAMdisk bank as a simulated BASIC cartridge (an AROS) and runs BASIC programs from it.
Disk synopsis title: “An Interbank Data Storage/Sorting Utility and an AROS Maker/Runner,” by Larry D. Crawford of London, Ontario, amended 28 Jan 90 from George Chambers’ synopsis. Crawford placed the database and the RAMdisk utility in the public domain on 27 January 1990. A MENU.B1 program titled “Menu for ‘George V’ disk” lists the programs and shows the Tasword documents on screen.
Contents
Interbank Database
DB27J.B1 (“Interbank Database Sort, Larry Crawford 27 Jan 90”) is the BASIC front end. Its menu offers add, correct, list records, change output device (screen, large printer or TS2040), sort by any column, search for a string of up to 32 characters, save, and start a new database. Records can be up to 127 characters long. Each bank of 32768 bytes holds as many records as fit, plus one marker byte per record that the search routine uses. The demo file has 2242 records of 26 characters, at 1213 per bank, so it spills into RAMdisk bank A. On loading, the program first saves each RAMdisk bank it is about to use (RD1.C1, RD2.C1 and so on) and then loads the matching data bank (BNK1.C0 and up). The save option writes the data back out and restores the saved banks. The working routines are BASIC compiled with the Timemachine compiler at 29100, together with machine-code sort, search and bank-switching routines. The two sides pass values through a block of addresses at 32093–32099 and 32760–32767.
DBS27J.B1 is a copy of the front end that uses its own file names. SLIDES.B1 (dated 900203) is Bob Mitchell’s version for cataloguing a colour slide collection. It adds a delete option and a wide-printer output, and comes with its code SLIDES.CC and data SLIM.C0. IBDB.BT is the uncompiled source of the slide version’s compiled code, with Timemachine REM ! directives (“Interbank Database 16 Feb 90 version”). Crawford’s letter to Bob Mitchell of 17 February 1990 explains the single-record delete and outlines a way to delete records by category.
BASIC in the RAMdisk Banks (AROS)
maker.B1sets up a bank file as an AROS: it writes the cartridge header bytes and the controller code, and saves the result asDOCKn.C1. Its second part (from line 100) POKEs and savesmov20j.C3, a 39-byte routine in the printer buffer that switches back to the home bank and copies a BASIC program from home RAM into the dock bankloader.B1asks for a bank from 1 to 8, saves that RAMdisk bank asRDBNKn.C1, loads the matchingDOCKn.C1, and runsNEWto start the AROSPRGMV.B3andCORE.C1are the same controller, as BASIC and as code. Its menu runs a program in either bank, merges a program into home RAM, moves it into the dock bank, and saves both and restores the RAMdisk. Cyan and black show that the dock bank is active, and blue and white show the home bankDOCK1.C1,RDBNK1.C1,HOME1.B1andtest.B1are sample files from a session with bank 1
Other Files
TIME.B1, withTSET.C1andTIME2.C1: a clock utility that sets up an interrupt-mode-2 routine and deletes its BASIC- Tasword documents, all included as text: the disk synopsis (
helpme.CT), the database documentation (DBDOC.CT), the RAMdisk utility documentation (dokdoc.CT), a tutorial (tutor.CT), Crawford’s article “Other Uses for the T/S 2068 Larken RAMdisk” (articl.CT), and the letter to Bob Mitchell (letter.CT)
How It Works
Crawford’s article explains the method. The Larken RAMdisk banks appear in the TS2068’s dock bank. Writing 240 to the Horizontal Select Register at port 244 maps RAM chunks 4–7 (addresses 32768–65535) to the dock. Port 7 then selects the RAMdisk bank, A to H with the codes 7, 3, 5, 1, 6, 2, 4 and 0, and adding 64 turns off write protection. OUT 244,240: OUT 7,71 therefore opens bank A for writing, and OUT 244,0: OUT 7,0 returns to normal. A bank loaded with AROS header bytes and a BASIC program behaves like a cartridge: OUT 7,code: NEW starts it. Poking the AROS flag at 23750 with 0 or 128 chooses whether the home or the dock program runs.
Notes
- Any program that switches banks overwrites the RAMdisk contents. The documents ask you to turn off the write-protect switch, remove the protect sticker from the floppy, and finish each session with the save option, or by switching off, so the RAMdisk is restored.
- Neither database front end can run as it stands: the compiled code files they load (
COD07J.C1andCODS7J.C1) andBNK0S.C0are not on this disk. The slide version is complete. - The menu also lists
MT27J.B1(the uncompiled database) andtaswrd.B1, and the synopsis mentionsSRCH.CT. None of these is on the disk.
This package comes from a Larken disk in the TS User Group collection (disk l-30). It is archived as the raw LKDOS disk image, with every disk file also provided as a TAP and the Tasword documents converted to text. It was not converted for tape, because it depends on the Larken RAMdisk.
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.