So I've been making Illicit modifications to VICE to make it more 128 dev friendly.
The key take aways for 128 are
You can now set a bank for break points with bbreak so now you can tell if the code is in bank ram bank ram1 bank rom bank extf or bank intf because you need it (however this is bearly tested so any testing you can provide is greatly appreciated, its get complicated fast)
The other big ticket item is
Long Non-Linear file loading, using the 64TASS non-liner file format you can now load from a single "direct injection ram" file, parts into multiple banks. So you can direct inject into bank 0 bank 1, VDC RAM, Ext Func RAM or Ext Func RAM all in 1 file that will autoboot.
Also the keyboard shortcuts are now WinVice spec, so Alt + M opens the monitor again
I have a local change that addresses memory linearly so breakpoints can be set at $10000 and above to trigger in the second bank. It’s so much work to get it tested on all platforms so I never did that. I can send the patch if you want to have a look at it.
I guess the patch just takes the &$ffff off the address(maybe it needs to expand the 16bit addr param to an int, as the ram is just a linear 128K inside VICE's memory(maybe it is a linear 256K when you enable banks 2&3?). It could be done as well as the bank break, but could be hard to only do it for x128, where if you do a break 10000 on x64sc it will just crash.
A bunch of casts of PC to uint16_t is removed and I added address translation functions. HAVE_MEMSPACE24 is enabled. The monitor is patched to handle labels with larger address space.
It is a hack basically. VICE needs to be redesigned a bit to improve breakpoints to make a cleaner solution. It’s not good to get breaks in ROM code that overlays RAM sometimes. For me this is good enough for now.
I think the main advantage to this solution is that it is possible to have breakpoints in both banks at the same time.