Monday, March 2, 2020

Nearing completion of the 6502 to 6803 AGD runtime code

As the title indicates, the runtime library code is almost complete.  If I had just focused on working on the translation, this would have been done some time ago. but I hope to finish this today.  Then I can look at the compiler.

There are some questions with the code that will require looking at the original Z80 code.  Why did they do this, why didn't they do that... not sure if the 6502 programmer lacked experience, if I have outdated code, or whatever, there's just some odd looking stuff in the code. 

There are sure to be some mistakes in the translation.   At the very least, the Z80 & 6502 store 16 bit variables in little endian format, and the 6803 uses big endian.  I'm assuming big endian for the translation, which may cause some problems.  There may also be a few times where I tried to optimize the code, and I shouldn't have.  Likewise, there's probably room for more optimizations where I wasn't sure if they are okay.

Before anyone gets too excited, just remember this requires the internal RAM mod that lets you use hi-res RG6 mode (PMODE 4), and a new ROM or external RAM expansion that lets you disable the internal ROM.  The only RAM expansion that lets you disable the ROM is the MCX-128, but I'm not sure that has a memory map setting compatible with the internal RAM upgrade.  This should work with an emulator though, and we can worry about the hardware issues later.

No comments:

Post a Comment