I've got RSC-Forth running on a 65C02 simulator now. The biggest issue was that the change to the stack required absolute addressing rather than zero page, and that altered the size of the code and therefore the addresses of the words. I've got that all sorted out now and than should mean that the code is relocatable, but I'm not certain of that yet.
The next issue is the hardware. I'll need to rewrite the serial I/O for a 6551 and take out some of the setup code for the Rockwell microcontroller, and reconfigure the ports for a 6522 I guess. It's not currently running on a 65C816 (in emulation mode), but so far that has been bugs in my assembler.
Required: recommendation for a Forth variant to use
Re: Required: recommendation for a Forth variant to use
jds wrote:
I've got RSC-Forth running on a 65C02 simulator now.
[...]
The next issue is the hardware. I'll need to rewrite the serial I/O for a 6551 and take out some of the setup code for the Rockwell microcontroller, and reconfigure the ports for a 6522 I guess. It's not currently running on a 65C816 (in emulation mode), but so far that has been bugs in my assembler.
[...]
The next issue is the hardware. I'll need to rewrite the serial I/O for a 6551 and take out some of the setup code for the Rockwell microcontroller, and reconfigure the ports for a 6522 I guess. It's not currently running on a 65C816 (in emulation mode), but so far that has been bugs in my assembler.
Maybe I can add something here. With my Sorbus Computer, you can do the hardware (except for the 65C02) as C code, so you can reimplement the interfaces instead of trying to modify the 65F11 code. Imho that would make a good interim step. If you think that this is a good idea, I'd send you one.
Re: Required: recommendation for a Forth variant to use
SvOlli wrote:
Maybe I can add something here. With my Sorbus Computer, you can do the hardware (except for the 65C02) as C code, so you can reimplement the interfaces instead of trying to modify the 65F11 code. Imho that would make a good interim step. If you think that this is a good idea, I'd send you one.
My emulator runs the original code with the only changes being to move the stack to zero page and a very basic emulation of the serial interface. The recompiled code now runs under 65C02 emulation as well. This was a little harder than I thought as moving the stack to page one did require some extra bytes in the code, so all the addresses changed. As long as they are symbolic constants in my source they are ok, but there were a few I didn't notice. For the next step I'm planning on altering the serial code to work with a 6551 so that a 65C02 system could be produced. The only issue with this is getting the time to make the changes, but also it would be useful to have some real hardware to try it out on.