tormod wrote:The CPU looks at the reset vector at $fffe when it is reset. On the Dragon/CoCo $fff0-$ffff is a mirror of $bff0-$bffe (I think the SAM does this). The emulator should do it the same way to work correctly with any ROM.
So the vecors are just harcoded in the ROM at $bff0-$bffe and just mirrored by SAM ?
Have the 6809 hardcoded addresses and the SAM overlay them?
... too many ideas and too little time ... Related stuff written in Python:
Dragon 32 emulator / PyDC - Python Dragon 32 converter: https://github.com/jedie/DragonPy
DWLOAD server / Dragon-Lib and other stuff: https://github.com/6809
... too many ideas and too little time ... Related stuff written in Python:
Dragon 32 emulator / PyDC - Python Dragon 32 converter: https://github.com/jedie/DragonPy
DWLOAD server / Dragon-Lib and other stuff: https://github.com/6809
tormod wrote:The CPU looks at the reset vector at $fffe when it is reset. On the Dragon/CoCo $fff0-$ffff is a mirror of $bff0-$bffe (I think the SAM does this). The emulator should do it the same way to work correctly with any ROM.
read interrupt vector $fffe redirect in SAM to $bffe use value $b3
read interrupt vector $ffff redirect in SAM to $bfff use value $b4
So, PC set to $b3b4
and CoCo:
read interrupt vector $fffe redirect in SAM to $bffe use value $a0
read interrupt vector $ffff redirect in SAM to $bfff use value $27
PC set to $a027
... too many ideas and too little time ... Related stuff written in Python:
Dragon 32 emulator / PyDC - Python Dragon 32 converter: https://github.com/jedie/DragonPy
DWLOAD server / Dragon-Lib and other stuff: https://github.com/6809