I am trying to write some apps to turn my 30-year-old BBC microcomputer into an everyday productivity machine. Sure, it can't handle multitasking and there is no network connection, but it is still an incredibly sophisticated machine, relatively speaking.
Today I wrote the start of the time app. It is named 'Timely' and features various timing functions:
- clock
- timer
- countdown
- alarms
All in glorious teletext graphics.
The BBC Master has a battery-backed CMOS RAM clock, something my model 'B' computer lacked. This is an incredibly useful thing as it means that the clock stays accurate even when the machine is switched off. This might not seem that impressive when compared to modern machines, however it does make this thirty-year-old brute something of a useful machine.
Timely clock showing current time, date and a friendly message. |
The timer function counts up in seconds. You can flip to the timer display by pressing button '2' and reset the timer back to 0000:00:00 by pressing SHIFT+'2'. You can switch back to the clock display by pressing '1' without affecting the timer.
The Timely timer clock 31 seconds after launching the app. |
The count-down function works like the (count-up) timer, except that it is access used button '3' and reset using SHIFT-3. You can specify the duration of the countdown from anywhere from 1 second to 1000 hours (numbers larger than this causes an overflow error, which although I think I can solve, it is unlikely that I will want to set count downs for times accurate to a second over a duration longer than 41 days!).
Setting a Timely countdown. The countdown will generate an alert when it has finished, regardless of which mode you are currently in. |
I have implemented five different user-programmed alarms. Alarms can be set for any minute of any hour throughout the thrird Millenium. Alarms generate an alert when they complete along with a custom message. The difference between 'alarms' and 'countdowns' is that the alarms are saved on disk between uses of the clock. The only problem is, of course, that the alarm will only sound if the app is actually running at the time!
Setting an alarm. |
What's next?
I would like to implement:
- hourly chimes;
- calendar functions;
- summary of items that are 'due' from the 'Listy' app;
- other time/date functions, eg date of next Easter, or number of days until a due date; moon phase, position of Halley's comet, etc etc.
Well, that's it for now. You might want to roll your eyes and scroll down to this image of my floppy disk collection.
For computing history fans, these are double-sided, double-density 5 and a quarter inch disks.
The BBC disk filing system allows for up to 31 files, or about 200KiB of storage, whichever happens first. |
Still scrolling down?
You might like to read about my chatbot project, or my English dictionary project, or just want to play an adventure game.