From 16f312a9ae6e2f25a32bc4f18e2b20a5f611f7b1 Mon Sep 17 00:00:00 2001 From: cuz Date: Sun, 21 Dec 2003 18:47:29 +0000 Subject: [PATCH] Interrupt problems git-svn-id: svn://svn.cc65.org/cc65/trunk@2812 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- doc/cbm610.sgml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/cbm610.sgml b/doc/cbm610.sgml index d9c3bcdf9..f70757b26 100644 --- a/doc/cbm610.sgml +++ b/doc/cbm610.sgml @@ -229,6 +229,16 @@ While this simplifies things, it should be noted that the wrappers do have quite an impact on performance: A cross bank call has an extra 300µs penalty added by the wrapper. +Interrupts

+ +Compiled programs contain an interrupt handler that runs in the program bank. +This has several advantages, one of them being performance (see cross bank +call overhead mentioned above). However, this introduces one problem: +Interrupts are lost while the CPU executes code in the kernal bank. As a +result, the clock may go wrong and (worse) serial interrupts may get lost. + +Since the cc65 runtime does only call the kernal for disk I/O, this means that +a program should not do file I/O while it depends on interrupts. Other hints