A downloadable tool

Download NowName your own price

Stand up timer v2

By Donkeysoft (c) 2021 - 2022 Shaun Bebbington

Preamble

This program began life when I was working as a Scrum master for Retro Games Ltd [RGL]. With the exception of our industrial designer, we were working remotely and needed a way in our daily Scrum to time-box people so that the daily stand up did not become a technical nor a problem solving discussion, and take more of our morning than it should. As RGL is the team behind the world-famous THEC64 Mini, THEC64 Classic and THEVIC20, I decided to create a timing program with powerful Commodore BASIC. There are now two versions on the disk image containing STAND UP TIMER 1 and STAND UP TIMER 2. The latter is the latest version and is compiled BASIC, the source for this is also on the disk, called TIMER V2.BAS.

This may be loaded into a suitable PC emulator and shared over the online meeting using Zoom's screen sharing facility. Note that this is also suitable software for office meetings too; with THEC64 Mini*, THEC64 Classic or THEVIC20 hooked up to a compatible screen, you may load this software, and run it for your time-boxed meetings in real-world locations. This works for the Ultimate 64 and Ultimate 64 Elite too. And it will of course work fine on an original Commodore C64 too, or the C128 in C64 mode.

* This software requires keyboard input, so if using THEC64 Mini, please attach a compatible USB keyboard.

Loading the program

Emulator

Most modern-days PC emulators will allow you to drag the disk image icon onto the emulator screen or window, and it will autoboot. If this is the case then you do not need any further instructions, just follow the on-screen prompt.

In the case where you must manually attach a disk image, go to the file menu or options, select the Open or Attach disk image option, navigate to where the D64 image is stored on your PC (it is called scrum-master.d64), and attach it to drive 8, select the disk image and click open.

If your emulator returns you to the BASIC prompt, type the following:

LOAD "STAND UP TIMER 2", 8

After a short while, the emulator will inform you that the program is loaded by returning you to the READY. prompt. Now type

RUN

and press RETURN.

I recommend using version 2 as it is newer and has some bugs fixed.

The suggested time limit per contribution in the stand up is 3 minutes and 30 seconds, but this may be set by typing SETTIME or SET TIME and press RETURN on the start screen (where you are prompted to press RETURN to begin). Follow the onscreen prompts, and on starting the timer, you will see it count up. Once the time limit is reached, the border will turn red by default.

THEC64 Mini, THEC64 or THEVIC20

Copy the D64 image to a compatible USB2 flash drive, power off unit, insert your USB flash drive into a spare USB port on THEC64 Mini, THEC64 or THEVIC20, and power on the unit. From the Carousel, you should see a USB icon at the bottom. Using THEJOYSTICK, navigate to the icon and press and fire button. This will then present you with a File Loader screen. Find scrum-master.d64 on your USB drive and press the third button from the left on the back of your joystick. The program should auto-boot. Now follow the on-screen prompts.

Using the software

On loading the unmodified program or version 2, you should see a black screen with white text and a READY. prompt, as you would see in Commodore BASIC. Press the RETURN or Enter key when you are ready to start your stand up (i.e., the first person is relaying their update) - a timer will start just above the centre of the screen, and will count upwards to 03:30 by default.

Once the time exceeds this, the border will turn red. When the next person is ready to start talking - or at any point - you may reset the timer by pressing the space bar.

To return to the title screen, press the STOP key (otherwise known as RUN/STOP) - this is usually the Escape key (ESC) on your PC keyboard if you are using an emulator or external USB keyboard with THEC64 Mini.

Technical notes

This program is written in a non-conventional and non-optimised way for Commodore C64 BASIC, and is very easy to customise from the BASIC interpreter. The listing for version 1 not protected, so can be stopped and viewed by typing EXIT and pressing RETURN on the start screen. Then type LIST. For more information about C64 BASIC V2, see here -> https://www.c64-wiki.com/wiki/BASIC

Version 1 variables

Lines 10 - 80 contain the parameters for the software, changing some of these values will alter the way the program works. These parameters are stored as single variables, as follows:

BKCOL** is the background or border colour. The default value for this is zero. Expected values are zero - 15.

FGCOL** is the screen colour. The default value for this is zero. Expected values are zero - 15.

CRCOL** is the text colour. The default value for this is one. Expected values are zero - 15.

ALTCL** is the alert colour. This is the colour the border will turn to once the recommended time per update has elapsed. The default value for this is two, and the default time for each update is set as 3 minutes and 30 seconds (see below).

TMALT and TSALT work in tandem. TMALT is the number of minutes suggested for the time-box, and TSALT is the number of seconds. TMALT is set to three as default, and TSALT is set to 30 as default. This therefore gives people 3 minutes and 30 seconds to give their update before the border colour is set to the ALTCL value.

MIN$ is a string literal value of the minutes elapsed. It has a default value of 00.

SEC$ is a string literal value of the seconds elapsed. It has a default value of 00.

Sub-routines

Unlike Commodore BASIC conventions, and no doubt all other production Commodore BASIC listings, there are a number of sub-routines from line 1000 onwards, these are explained with BASIC REM statements, but for convenience, are as follows:

1000 - 1020 will reset the timer.

1100 - 1140 will set the default colours set in BKCOL, FGCOL, and CRCOL.

1200 - 1220 will clear the screen.

1300 - 1320 will set the cursor position to the top left of the screen (for subsequent printing to the screen).

1400 - 1430 will set the MIN$ and SEC$ strings to the current minute and second respectively.

1500 - 1520 will set the border colour to the alert colour set in ALTCL. This sub-routine is called when the minutes and seconds exceed the values set in TMALT and TSALT.

1600 - 1620 will disable the STOP (otherwise known as the RUN/STOP) key.

1700 - 1720 will enable (or re-enable) the STOP [RUN/STOP] key.

1900 - 1980 will display the title screen. From here, type HELP (with no leading spaces) and press RETURN to see a small page of information. type EXIT (with no leading spaces) and press RETURN to return you to the BASIC interpreter and end the program.

2000 - 2270 will display the help information, which is shown by typing HELP (with no leading spaces) and pressing RETURN from the title screen.

As you may be able to tell by listing, this program is presented in an easy-to-read (for Commodore BASIC) format. I have favoured white spaces over BASIC speed (as how efficient this program is doesn't really matter), and it should be simple enough for any programmer to understand, and therefore modify it to requirements, for instance, if you want to increase the time per speaker or per update, modify the TMALT and TSALT values to minutes and seconds as integer values up to 59 minutes and 59 seconds. Or, change the colour scheme by modifying the BKCOL, FGCOL, CRCOL and ALTCL values to an appropriate value between 0 and 15 for each variable. Please ensure though that the FGCOL and CRCOL are different, as if they are the same, it will print the text as the same colour as the screen and you won't be able to read it.

If you want to modify and improve this program for your own purposes then please do so. If you want me to make some improvements, then please let me know through the itch.io comments. If there is interest, I will be creating (or re-creating) other Scrum master programs that I used at RGL. But many thanks for downloading this, if nothing else, I hope your team will appreciate using a real personal computer as part of their Agile day.

** Refer to your Commodore 64 user manual or other appropriate documentation for information on the colour values available to the Commodore 64.

Version 2 technical information

Version 2 is an improved and compiled version which fixes a couple of bugs. As this is compiled, the source for it is included TIMER V2.BAS which will still run, but is much slower than the compiled version. If you want to use this, please consider using an accelerated C64 or C128 in C64 mode with a CMD SuperCPU or an Ultimate 64.

I will update here with further technical information soon.

About the author

Shaun Bebbington is an author and full-time PHP developer, and certified Scrum Master with the Scrum Alliance. His first computer was the Texas TI99/4a when he was 5 years old, which he would attempt to program with the TI BASIC interpreter, and later he got a Commodore C64 and became an avid BASIC programmer, later learning some machine code, and much later becoming a weekly columnist for the now defunct Micro Mart magazine, as well as Retro Gamer (issues 2 - 15), gamesTM and some other printed-matter publications. His other hobbies include drinking tea and eating biscuits.

Download

Download NowName your own price

Click download now to get access to the following files:

scrum-master.zip 9.8 kB

Development log

Leave a comment

Log in with itch.io to leave a comment.