lgblgblgb / xemu

Emulations (running on Linux/Unix/Windows/macOS, utilizing SDL2) of some - mainly - 8 bit machines, including the Commodore LCD, Commodore 65, and the MEGA65 as well.
https://github.com/lgblgblgb/xemu/wiki
GNU General Public License v2.0
208 stars 32 forks source link

Add MEGA65 feature sub-set to allow easier development/testing of Kickstart #8

Closed gardners closed 8 years ago

gardners commented 8 years ago

Please add support for the SD card controller, Kickstart 16KB memory and boot via Kickstart functions, so that we can use your emulator to aid debugging and development of the Kickstart ROM. Related to this, it would be great to be able to trace back through recent instructions, and also have the machine break if it tries to execute code outside of the hypervisor 16KB while in hypervisor mode, all to help detect bugs in the hypervisor code (i.e., kickstart).

gardners commented 8 years ago

(naturally poke me for details on implementing these things if required)

lgblgblgb commented 8 years ago

This seems to be really a challenge :) I'm a bit unsure how to implement Mega65 features not to break the intent to have "original" C65 compatibility as well, I mean in general, not just this feature. OK, that's my problem, however the question if there is any documentation of these features, or can I read only the VHDL code of Mega65?

gardners commented 8 years ago

Would it be easiest for you to make a separate MEGA65 target, and we can then make the changes conditional for that? If you create such a target, I can try to find a little time to work on these features then.

lgblgblgb commented 8 years ago

I've just created a new target, but please read my private email as well about the topic, would be too much to put it here :)

gardners commented 8 years ago

Hello,

Thanks -- I'll take a look when I get a moment to do so.

Paul.

On Sat, Aug 13, 2016 at 9:03 AM, LGB notifications@github.com wrote:

I've just created a new target, but please read my private email as well about the topic, would be too much to put it here :)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/lgblgblgb/xemu/issues/8#issuecomment-239584089, or mute the thread https://github.com/notifications/unsubscribe-auth/AAonT_WnmYEW1q1lz75WuGbawHqInnTMks5qfQLYgaJpZM4JjAtF .

lgblgblgb commented 8 years ago

I think, I close this issue as a "feature request". As the mentioned things are added - well most of them :) Surely, not everything (hmmm) works, or not in a way it should be :) however those are bugs and/or incompleteness now of the existing implementation and thus should be handled separately depending on the actual issue :) What "should" (but clearly not fully ...) work is the hypervisor mapping, DMA with hypervisor area, SD card reading, some UART monitor functionality, out-of-bound execution detecting of hypervisor code and some needed support for mega65 I/O, including hypervisor enter/leave, etc.