I can't reproduce your issue with CTRL+H or SDL on multiple PC's and Laptops here at home and no one else has ever reported anything like what you seem to be experiencing.

I am not really sure what your issue is with SDL; are you saying other SDL programs have problems on your PC?

I would update ALL drivers that can be updated, i.e. GPU, (internal Intel?), Chipset, etc.

Try some of the sample SDL graphics programs, the way I am using SDL is so simple it's hard to imagine what is going wrong. Basically I create a texture, copy the Gigatron's emulated memory buffer to it and then display it once per frame, (60Hz), using a basic SDL render pattern, i.e.

If you like I can build you a version without the renderHelpScreen(); as that relies on hardware Alpha blending.

Also I had a look at xa.gasm, it's very nifty!

A few suggestions:

1: Don't fall into the habit of relying on the _callTable_ as it becomes increasingly hard to juggle as your code gets bigger, (even though it offers a substantial performance and code size benefit).

2: Also the system requires some parts of page 0 to be constant free at .gt1 load time, due to the way it works, (if you want specific detail I can point you to a thread discussing the gory details). Currently 0x30 to 0x44 and 0xC0 to 0xFF must be constant free at load time, otherwise the loader will not be impressed, (you can still use variables in your code at these locations, just NOT constants). e.g. You can't let the CallTable enter these zones and you can't use DB or DW in these zones. Also be careful of the vCPU Stack colliding into your data, the Stack grows downwards from 0xFF, (it points to 0x00 when it is empty and grows for every PUSH).

3: Parts of your code use LDWI for positive constants less than 256, you can use LDI and they are expanded to their full 16 bit values in vAC. LDI is faster and shorter.

To change from using the CallTable to manually setting up and calling, you would do something like this:

P.S. If you are just using the emulator to assemble your code, there is also a standalone console version of the assembler in the tools directory. I checked it and the one I built for you assembled your code fine, use it something like this:

ROM4 is best here with most intuitive keys when set to PS2 which means PC host keyboard or whatever. maybe use more clarified terms in input.ini in the keyboard section, to avoid users resorting to trial & error methodology .

The emulator gives you a good feeling of what the real thing is that you are going to sink your hard-earned 100+ € into... and its worth every penny!