Background:

While preparing for The Next Big Thing™ in floppy speeders, I found out that the existing testing tools were somewhat inadequate for what we wanted to achieve and prove.

Example problems included but were not limited to:
  • invalid time measurement on some systems (timer initialisation)
  • lack of error checking/handling
  • no big/small files access performance measured
  • no large number of files access performance measured
  • no empty/filled disk performance difference measured
  • lack of standardised results export
  • lack of easy selection of device to be tested
  • lack of possibility to run multiple rounds of tests
  • lack of English user interface

Let's quickly fix it then, right? Of course it was supposed to be a "quick-fix" but as usual turned itself into a full scale project on its own.

Rewrite:

The main reason why it ended up being a complete rewrite is that we wanted the finished product to be highly configurable and extendable without another rewriting when some new ideas or needs arise. Therefore it is now possible to:
  • add new tests easily by writing a simple "test module", which can be linked in "no time"
  • add new language translations by adding strings to a centralised, localised strings file (as above)
  • adapt expected test results to various, non-standard device responses
  • replace the whole UI later on as UI calls are vectored hooks
  • build a database of expected behaviour of different storage devices when performing filesystem operations (many of them do not behave the same as Commodore DOS based ones)
User Interface:

One word about the UI: it was modelled after the precursor program's one:

ui

but my feeling is that it no longer optimally serves the purpose, and that was the reason to allow relatively easy UI replacement at some point in time (right…)

Configuration:

User-side configuration is done by following the instructions on the program's BASIC listing:

listing

Of course the actual address values for POKEs will vary with revisions so always use the actual listing before doing any POKEs ;-) For most settings it is enough to move the cursor on appropriate line and press RETURN. The only exception is the numbers of rounds, which is by default set to four and needs to be adjusted before pressing RETURN. Please note that changed value will NOT appear on subsequent listing. Once the program is configured to your liking or need, you can simply SAVE it and your configuration will be persisted. For download check here ->>