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.
This archive was generated by hypermail 2.1.3 : 2003-06-13 04:12:10 CEST