Hello, Guest the thread was called5.1k times and contains 205 replays

last post from LGB-Z at the

XEMU - VIC-IV implementation update

  • Would it be possible to make $DD00 hot ONLY if writing to it changes bit 0 or 1?

    That was my first thought too, but for me, it looks like there is not "best" solution. As CPU can write only bits for real. Yes, what you say makes sense, to detect bits 0,1 written are the same or not. However that may creates a problem that a legacy program want to set VIC-II bank and it turns out the same as bit 0/1 already in DD00 and already VIC-IV specific precise address is used, then that request would be ignored :( Quickly it becomes very unclear when it works and when it doesn't. I think it's more clear solution to disable HOTREG feature first, if this wanted to be used. But also I am not sure what's the best thing to do in this case .......

  • From Open ROMs point of view - this is not a serious problem. If legacy software is detected (cartridge with CBM80 signature, autostart software loading below $0800, or machine code launched using SYS command instead of native NSYS - these should probably cover 99% of cases), I simply switch (or will switch, as not all these mechanisms are already implemented) to legacy compatibility mode, where VIC-IV features are disabled, we have 40x25 screen starting from $0400, etc.

  • I see, however a change like this (change = the proposed change to trigger hotreg event only if bits 0/1 are not the same as they were) affects anything not just OpenROMs, since it's kinda of a beheviour of the hardware itself (in FPGA). At the other hand, this $DD00 is kinda interesting, maybe (as far as I can mention now ...) the only thing which is considered "hotreg" other than an actual VIC register. But honestly I see problems with both of the behaviours in some respect ... For OpenROM, maybe you should disable HOTREG behaviour as whole, if not needed, then you don't have surprises :) Though for sure you need to turn back on for some compatibility with existing software using VIC-II specific video mode/etc settings ...

  • We'll see what's the opinion of Paul.

    In MEGA65 native mode we don't need to be fully compatible with anything - if the official way to use RS-232 or IEC with VIC-IV flexible addresses feature is to completely disable hot registers, than MEGA65 native mode will run with disabled hot registers 99% of the time (or maybe even 100% of the time), and I'll re-enable them again when switching to legacy/compatibility mode.

  • We'll see what's the opinion of Paul.

    In MEGA65 native mode we don't need to be fully compatible with anything - if the official way to use RS-232 or IEC with VIC-IV flexible addresses feature is to completely disable hot registers, than MEGA65 native mode will run with disabled hot registers 99% of the time (or maybe even 100% of the time), and I'll re-enable them again when switching to legacy/compatibility mode.

    That sounds like a good approach in my opinion, but indeed, I am not the right person for making hardware decisions about MEGA65.