My BBC Master 128 projects part 01

I have owned a refurbished BBC Master 128 computer for just over one week.  In order to justify its position as pride of place on my desk, I am determined to write some apps for it that I will be able to use every day.  Thus turning this vintage games machine into a productivity machine.

The first program is a note-taking app called 'Listy'.

Listy allows me to add notes of up to 256 characters, sorted alphabetically.  The notes can be searched by content and 'tagged'.  Notes are automatically saved to disk.

Listy displays all its lists in glorious teletext graphics.

An early version of Listy showing the help screen, banner and command line running on vintage hardware and captured on my Lumia 950.
Source code showing the insertion sort algorithm. This puts new records into the correct place alphabetically.

Continued code for the insertion sort.

Further routines used by the sort algorithm, also showing the code for the blue banner at the top of the screen.
Algorithm for finding a record by name using binary search.  Binary search is a VERY fast algorithm for finding a single record typically requiring less than eight checks before a record is found (or not).

Algorithm for displaying word-wrapped text on the screen.

Current Progress

I am currently working on Listy 2.1 which has been modified to allow for shorter commands.

Records are created/modified using the command: +<name>.

Records are found by simply typing their name <name>.

A full readout of all records is achieved using the command: @.

All records displayed alphabetically is achieved using the command @keys.

Still to do

Deleting records using the command: -<name>.

Searching for records by content: ?<search term>, or by tag #<search term>

Future work

I want Listy to be able to sort records by 'date created' and by 'due date'.  This will require minor modification to the insertion sort algorithms.  I also want Listy to display records that are 'due today' when the application first loads.

Currently Listy saves all lists to a single file on the DFS floppy disk. It would be useful to be able to specify a filename to allow for multiple lists.

Well that's all for now.  If you are still awake then you might like to read my other BBC Micro posts, or just some random Programming posts.