From: uz Date: Fri, 11 Sep 2009 13:56:20 +0000 (+0000) Subject: Changes by Karri Kaksonen to implement interruptor support. X-Git-Tag: V2.13.0rc1~112 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=d95321f489e91d439a6ad97bf2d0b64e59ca00a8;p=cc65 Changes by Karri Kaksonen to implement interruptor support. git-svn-id: svn://svn.cc65.org/cc65/trunk@4144 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- diff --git a/libsrc/lynx/crt0.s b/libsrc/lynx/crt0.s index db107fd94..4f210df7b 100644 --- a/libsrc/lynx/crt0.s +++ b/libsrc/lynx/crt0.s @@ -19,11 +19,12 @@ .export _exit .export __STARTUP__ : absolute = 1 ; Mark as startup - .import initlib, donelib + .import callirq, initlib, donelib .import zerobss .import callmain .import _main .import __BSS_LOAD__ + .import __INTERRUPTOR_COUNT__ .import __RAM_START__, __RAM_SIZE__ .include "zeropage.inc" @@ -132,9 +133,21 @@ sloop: ldy SuzyInitReg,x jsr zerobss +; If we have IRQ functions, set the IRQ vector +; as Lynx is a console there is not much point in releasing the IRQ + + lda #<__INTERRUPTOR_COUNT__ + beq NoIRQ1 + lda #IRQStub + sei + sta INTVECTL + stx INTVECTH + cli + ; Call module constructors - jsr initlib +NoIRQ1: jsr initlib ; Push arguments and call main @@ -149,3 +162,14 @@ _exit: jsr donelib ; Run module destructors noret: bra noret +IRQStub: + phy + phx + pha + cld + jsr callirq + pla + plx + ply + rti +