Hi Darrel,

my fears came truth. I've inherited the codebase and suspected that those parts need updates as I visited your page and saw that updates were released after 2003 BTW: The ELAPSED-18.bas still list 12/16/2003 as date.

But I lucked out as your promise from the thread holds true: Your *-18.bas files are drop-in replacements for the old versions. No line modified, just the extension changed to .pbp as .bas is reserved for the Visual Basic code.

The code is reduced to the clock output shown below, the clock counting is working without errors, but the display has artefacts, as about every 10 seconds the display has wrong information in the places of the clock, never where the separators are appearing.

I need a hint:
Do we have to protect instructions like ARRAYWRITE or is it rather the SPI were the interrupts are interfering?

actually: scratch that, it must be the ARRAYWRITE as else the separators would be influenced too. time to read assembler. Stuff that I avoided since 1990.

if the PAUSE before the last GOTO is removed, the problem isn't visible bt I think the updates are simply happening more often and the problem is still appearing.

Code:
'Code is licensed as http://creativecommons.org/licenses/by-sa/3.0/de/
'(c) 2010 Ing Buero A. Czech

DEFINE DEBUG_MODE 1    'Auf 1 setzen, wenn keine Debuggen notwendig
DEFINE DEBUGIN_MODE 1

INCLUDE "BS1DEFS.bas"
INCLUDE "EBS18F2423.pbp"
INCLUDE "EBSMasterKonf.pbp"
INCLUDE "EBSMasterVar.pbp"
INCLUDE "Elapsed-18.pbp"
INCLUDE "LCDAusgabe.pbp"

'===============================================================================
'VP: LCD Initialisierung
'===============================================================================
GOSUB EBSLCDINIT
LCDTextAnz = 16

GOSUB ResetTime
GOSUB StartTimer

'===============================================================================
' Hauptprogramm
'===============================================================================
HauptSchleife:
    GOSUB EBSLCDZeile1
    ARRAYWRITE LCDText,[DEC2 days, "+", DEC2 Hours, ":", DEC2 Minutes, ":", DEC2 seconds, REP 32\11]
    GOSUB EBSLCDTEXTOUT
    'DEBUG
    PAUSE 500
    GOTO HauptSchleife