tschak909 / platoterm64

PLATOTerm for the Commodore 64
GNU General Public License v3.0
35 stars 11 forks source link

[C64] Color support causes up2400 driver to crash. #33

Open tschak909 opened 5 years ago

tschak909 commented 5 years ago

When color support is enabled (with appropriate define in makefile) for color support, the up2400 driver fails and PLATOTERM crashes.

The swiftlink driver is The color support requires an NMI trampoline to alter color ram, and I've in-lined it with the text output code, here: https://github.com/tschak909/platoterm64/blob/master/src/c64/screen.c#L311

The existing NMI trampoline is here: https://github.com/tschak909/platoterm64/blob/master/src/c64/nmi-trampoline.s#L1

and the user port 2400 driver for cc65 is here: https://github.com/nanoflite/c64-up2400-cc65/blob/master/driver/c64-up2400.s

I suspect I may not be properly accounting for the NMI trampoline when flipping things in and out for color ram access.

-Thom

rhalkyard commented 4 years ago

Just as a data point, I don't see any crashes when running with colour enabled, at least not on a fresh build of the master branch - text gets coloured as expected. Not sure if that's anything to do with my UP2400 issues in #37 though.