Quote:
For the time being I will use a x2 clock and tri-state the FPGA pins, it makes the hardware interfacing a lot easier
Modern 6502's do have a BE (bus-enable) input pin, as well as a ML\ (memory-lock-not) output pin and a VP\ (vector-pull-not) output pin. Without being a microprocessor designer myself, I have thought that if the input clock were a multiple of the output clock, you should be able to remove most of the dead bus cycles.
Quote:
It would be nice to use the true return address for JSR and RTS. Any thoughts on this ?
and
Quote:
The only programs that I think of that would use this behavior would be something along the lines of stack tracing.
I have often used subroutines with literal data immediately following the subroutine call, and then made a macro for it, like:
Code:
DISPLAY_IMMEDIATE "Enter fuel"
which would assemble
Code:
JSR DISP_IM
.DB $0A, "Enter fuel" ; (The 0A is the length of the string.)
so the subroutine uses the return address on the stack to know where to find the string to display, and its first byte is the length byte which the subroutine uses also to know where to jump back to to pick up the next instruction after the string. Anyway, there are a lot of things that would be affected by changing the return address.
As for the BRK, there are multitasking/multithreading systems that depend on BRK. Better not mess with it.
Quote:
Good to hear about your project - I hope you intend to open source it! Even if not, it would be interesting to see some snippets of the micro-assembly.
+1.