Re: [stella] Space Savers

Subject: Re: [stella] Space Savers
From: "Edwin Blink" <edwin.blink@xxxxxxx>
Date: Fri, 3 Sep 2004 18:06:42 +0200
Dennis Debro Wrote:

>I don't understand why you need to subtract the values from START in the
>RESET vector. Shouldn't this work without that?

With CPU vector at $FFFC start will be at FFFE after executing the two
instructions
the program counter will roll over to $0000 and starts execution in TIA
range !
By using -$1000 Start will be at $EFFE and will nicely rollover to $F000.
the offset can be ommitted if rombase starts at $E000 but then  the reset
vector should be
at $EFFC. These addresses may be a bit confusion once used to $Fxxx range.
You could also define START as START=*-$1000 so the inconvenience is just
once.

>Also I think we should point out this works if your startup code is at the
beginning of ROM.

The reset code was just an example. you could put any code there including
main kernel.
it does not matter what you put there.

This is nice when you're in a ROM crunch :-)

It's just two bytes. But it could be the difference between can and can't :)

Manuel Wrote:

>Well, that is only when you're not using the BRK vector.

Correction .... Interrupt vector
Interrupts are not implemented in the VCS anyway.

>And you can always just place two data bytes there.

Yes but you would waste more bytes to acccess them.


Current Thread