Re: [cc65] Restoring vectors (CBM machines)

Date view Thread view Subject view

From: Greg King (gngking_at_erols.com)
Date: 2003-06-13 04:02:31


From: MagerValp
Date: Thursday, June 12, 2003, 08:25 AM
>
> >>>> "js" == josef soucek writes:
>
> js> The problem with this solution is that I/O vector area is 'reset'
> js> to 'default', but if there is a cartridge installed which depends
> js> on the I/O vectors 'redirecting', e.g. IDE64, it is snipped off.
> js> My suggestion is to remove the RESTOR call from crt0.s, and
> js> 'restore' only those vectors which are absolutely necessary.
>
> Wouldn't it be more elegant to have the cartridge patch, e.g., the BASIC
> warm-start vector?  That way, the cartridge would restore its needed
> vectors every time it ends up at the ready-prompt.  Or, the NMI vector,
> so you can just hit stop+restore to fix the vectors.  Either way, to me,
> it looks like a problem with the cartridge rather than cc65.

It would not work if those vectors were the ones that had been changed.
Even when it did work, it might destroy daisy-chains of cartridges/wedges.
----------------

From: Ullrich von Bassewitz
Date: Thursday, June 12, 2003, 10:33 AM
>
> Calling RESTOR when terminating is a relic from very old versions.
> Since the runtime library doesn't change any of the Kernal vectors,
> it would be OK (and would save 2 bytes) to remove it.

I had been saving and restoring the vectors, in crt0.s; but now, I see that
it makes more sense to do it in a constructor and destructor, on the
occasions when a program actually does change them.

[So ... I _can_ be persuaded to change my mind -- about some things, at
least. ;-)]

----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo_at_musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.


Date view Thread view Subject view

This archive was generated by hypermail 2.1.3 : 2003-06-13 04:12:10 CEST