History of development

This development report in English has been started recently, though Clocky
is developed since 1989 when I bought my first 520STM. Currently the
development continues on Falcon with Afterburner040 and NOVA Mach64 graphics

Clocky were inspired by several utilities: QuanTOS, Maccel, Dunkel,
KbdSwitch and others.

Direct jump to latest Clocky version:

1998/3/7 - Clocky 2.09beta
o first English version of Clocky and SETCLOCK. Quick translation of
  non-existing Clocky's documentation.

o invers colors (white on black) re-implemented. Hotkey is 'B'. Works in
  monochrome on SM124 and in 2, 4, 16 and 256 colors on Falcon.

o external keys handling made easier - it also allows several EHC at once.

o MegaSTE switching 8/16 MHz is re-implemented again. Please test.

o Cookies "DATE" and "TIME" are searched for twice (when Clocky starts
  and also after start of GEM). That means you need not to put DTCOOKIE
  before Clocky anymore :-) It also allows me to put these Cookies into
  MiNT kernel so you won't need DTCOOKIE under MiNT then...

o screen saver and invers colors on non-Falcon machines test the presence
  of SM124 and do not work on TV.

o The pointer to CookieJar in SETCLOCK is get by Setexc() - hopefully it
  will improve compatibility (no need to switch into Super mode)

1998/3/10 - Clocky 2.10beta
o Thanks to English version Clocky were exported to Norway :-) Heh, in
  return I got a lot of bug reports :-)

o algorithm for EHC was changed: the external hotkey (actual_key in the
  Clocky cookie struct) is valid for only 105 milisecond now. If the
  actual_key is changed anyhow in this time period, the key is lost for
  system (i.e. it's used as a hotkey and so system must not detect it).
  Otherwise the pressed key is put back to keyboard buffer and actual_key
  is zeroed. Since the timeout is just about 0.1 second, the keypress-lag
  is minimal.

1998/3/14 - Clocky 2.11beta
o Printer conversion can be enabled/disabled by hotkey again (bug fix)

o Clocky now estimates the 1 second period even when DTCOOKIE is installed
  (DTCOOKIE and system time goes in 2 second step). That means you should
  have DTCOOKIE installed always, because Clocky gets only better with it.

1998/3/15 - Clocky 2.20beta - Clocky's CookieJar struct changed!!
o old bugfix concerning MegaSTE Turbo hotkey

o Jo Even Skarstein suggested a very reasonable idea about EHC registering.
  See and use his EHC-lib when you program your own External Hotkey Client.

o dead keys can be defined freely (up to 30 dead keys). Need to update

o internal's Clocky hot keys can be defined freely. But please wait for
  new version of SETCLOCK...

1998/3/24 - Clocky 2.21beta - I've got NOVA graphics card in my Falcon!!
o Clocky is now finally compatible with graphics cards (at least with NOVA
  in 256 colors)

o CPX module from JAY Soft is included - great work, guys!

o thanks Jo Even Skarstein for his EHC-lib

1998/3/29 - Clocky 2.22beta - a beep tone when a hour is over
o Clocky makes a beep tone at new hour. You can enable/disable this feature
  in CPX module only (SETCLOCK hasn't been updated yet).

o NOVA graphics is supported in 2 and 256 colors now

o fixed a deep hidden bug which could affect system stability under
  certain condition.

o optimized print routines - Clocky is much shorter now.

1998/4/21 - Clocky 2.30beta - English TOS is emulated
o if you have got a non English TOS and you prefer English before German,
  you can turn the "Emulation of English TOS" on. Several programs start
  talking in English even when they always talked in German with you.
  Namely ICD harddisk driver, HDDRIVER and also several CPX modules and
  perhaps other multilangual programs...

o you can turn on/off the beep at new hour in SETCLOCK now.

1998/5/6 - Clocky 2.31beta - NOVA Falcon screen saver!
o English TOS emulation fixed and enhanced (now affects also the _AKP Cookie)

o NOVA Falcon screen saver implemented - it simply turns off the horizontal
  sync for monitor output, which should yield in screen saving (on VESA
  Powersaving compatible monitors at least).

1998/6/14 - Clocky 2.34beta
o internal/external hot keys work better now, as the key auto-repeat is

o EHC handling has been changed - there's no 105 ms timeout.

o Clocky contains an experimental code for displaying free RAM under MiNT.
  Unfortunately the code does no work at all :-)

1998/6/19 - Clocky 2.36beta
o great news - Clocky can uninstall itself cleanly! Just start Clocky
  second time and if it detects another running instance in memory they
  uninstall itself from VBL, IKBD, mouse and prntout interrupt vectors as
  well as remove the JCLK Cookie. It also returns back the original
  keyboard layout and updates the screen if time/date was shown.

  So do not reboot your computer if you just want to remove Clocky! :-)

o keyboard layout switching on-the-fly (using hotkey + O, N or C) is much
  much safer now. Previously I've been calling XBIOS Keytbl() from VBL
  interrupt, which was not too safe (even if I tried to ensure its safety
  as much as possible). Now I just set the keyboard tables' vectors. Thanks
  for idea goes to Julian Reschke.

  So do not hesitate to switch between the keyboards - it's safe and fast!

o the 'hour beep' is the last XBIOS Dosound() call in VBL in Clocky. Since
  this version I lock all interrupts around the Dosound() call to make it
  even more safe. The Dosound() call itself does nothing but sets one
  vector (in TOS 4.04), so it should be OK to call Dosound(). But if
  something bad happen during the 'hour beep' just turn this feature off
  and let me know what happened. You have been warned... :-)

  I personally use it without problems under TOS/MiNT.

o I have removed the experimental code for displaying free RAM under MiNT.
  It will return into MiNT-Clocky, a new version of Clocky designed
  specially for MiNT operating system.

1998/6/21 - Clocky 2.37beta
o fixed bug with displaying in 15 and 16bit color depth on NOVA graphics

o new SETCLOCK can edit the dead keys (up to 30 keys can be defined)

1999/4/11 - Clocky 2.38beta
o added checking for Carrier Detected (modem on-line) on ports Modem1 (MFP)
  and Modem2 (SCC B). You can configure this feature with Clocky.CPX, the
  SETCLOCK.PRG does not support that yet. If you turn this on, the screen
  saver will not turn your screen off while you're on-line (say on a BBS or

o Milan graphics support added (untested).

o a little piece of self-modifying code (for saving the screen background
  in upper right corner) was removed. It was not very 68040/68060 friendly
  (write back instruction cache).

1999/4/17 - Clocky 2.40beta
o 1999/4/22 - first version of transparent display routines

o 1999/4/25 - still playing with proper screen output

o 1999/9/25 - LED Stacy screen saver

1999/10/10 - Clocky 2.41beta
o ET-4000 detection and support

o 1999/12/26 - new data structure, OnBoot block introduced
               configurable time after AES start

1999/12/31 - Clocky 2.50alpha
o first Y2K bugfixes in Clocky

o 2000/01/01 - tried to release 2.50 but failed

o 2000/01/08 - trials to stabilize new data struct

2000/01/29 - Clocky 2.60beta
o XBIOS vector and keyboard driver fixes

o 2000/02/05 - first real working Y2K fix for corner clock

2000/02/06 - Clocky 3.00alpha
o beep at new hour doesn't use XBIOS anymore. We gain more stability

o 2000/03/09 - various fixes to corner clock routines

o 2000/03/12 - scancode is editable, corner clock follows _IDT

o 2000/03/19 - color corner clock

o 2000/03/21 - important fixes to Clocky woken up after long sleeping

o 2000/03/24 - fixed beep for 68000 machines

o 2000/03/29 - fixes for non-DTCOOKIE timer stuff

o 2000/04/02 - Alt key table implemented in keyboard driver
             - SCC A CD check (Serial 2)

o 2000/04/05 - fixes in keyboard driver
             - fix in Y2K workaround for 68000 machines

o 2000/04/08 - don't check the availability of Alt-keys keyboard files by
               looking at the system date but better at system version

o 2000/05/08 - MegaSTE turbo keys are editable

o 2000/05/21 - fixes in keyboard driver

1999/6/15 - Clocky 3.00
o errors in manual time incrementation

o search the Alt tables from beginning and stop at scancode 0

1999/6/19 - Clocky 3.01
o if the ClockyTools run as an accessory there was a problem with
  registering the same hotkeys after every resolution change. After
  detailed discussion in MiNT mailing list where we agreed that it's
  impossible to cleanly detect when an accessory is terminated by AES
  due to resolution change. Thus it's impossible for ClockyTools
  to unregister the hotkeys before they get killed by AES and then reloaded
  second time. As a certain solution of this problem I implemented a
  special switch in Clocky called ResetEHC.

1999/11/24 - Clocky 3.02
o Clocky now reads time from GEMDOS, not XBIOS. This should make it
  TimeZone aware under MiNT >= 1.15.