This might be more a question for at76. It looks like the emulator emulates PS2 keyboard entry, but does it also work with the save/CTRL-F3 mechanism to save BASIC programs? I tried and while save seems to have done something, when I tried CTRL-F3, it didn't look like it worked.

Thanks.

The emulator did initially emulate the PS2 keyboard entry with varying degrees of success, (this was well before the V3 ROM and it wasn't 100% correct on racer), but I haven't updated it as Marcel has updated BabelFish.

There shouldn't be any reason for it it not to be able to emulate any new PS2 keyboard functionality.

In /SUBSYTEM:WINDOWS mode, (which is what the cmake script I wrote sets it to), you don't have to do anything, it just compiles and works.

P.S. As far as how the emulator runs in /CONSOLE or /WINDOWS mode I can see no discernible difference in terms of performance or functionality, SDL2 weaves it's ifdef preprocessor main/winmain magic based on these build variables and compiles the correct code.

There're some quirks. It's reaching 96% speed if I interpret the indicator correctly, but 36 fps? It defaults to a non-standard 64K and the the startup sound is choppy (probably due to the speed). I haven't figured out much the controls. F11 switches between controlling the Gigatron and the hex editor. Delete, PageDown and PageUp seem to be mapped to the correct game controller signals. The emulation of video mode 2 looks quite messy.

- The CPU usage bar only makes sense if you setup the correct fences in the vasm code, (you can do it in GCL code as well), the examples I wrote show you how to do it. It's purpose is to get an approximate idea of how much CPU time you have left per frame after the firmware does it's bit bashing magic and after the vCPU interpreter has interpreted your code outside the fences. I used this to fine tune my tetris example so that the sound never stuttered, (by finding the appropriate places in the code to call playMidiAsync). So the 96% figure you are seeing is probably nonsense as the fences are not set correctly for the code initially running, (the menu).

- If the emulation doesn't hit 60FPS or close, then sound will start to chop/stutter as the the gaps between output samples become too large.

- 'h' will give you a help screen.

- The emulation of video modes is the original native code that I wrote to disable scanlines, I wouldn't expect it to work with any ROM's apart from the original and in fact there are a bunch of patches applied to the ROM at emulator startup that absolutely rely on the correct ROM version. (I just never had a chance to refactor this code, before I ran out of time on this project).

P.S.2: Do you have a GitHub account? I think we should archive the zip file in Contrib/<yourname> instead of just in a forum post.

I'd personally be really unhappy with this, as the implication is that the executable/DLL's were built/obtained from a reliable source with my name attached to them. I am in no way responsible for what happens to anyone who downloads these or any pre-built versions of my code. The only code I will attach my name to and endorse is the original source code that anyone can build as I have shown in this thread.

I followed your steps for windows on a clean windows 10 LTSB. I found that it sets the build to windows/gui as you say but it still wouldn’t build. I totally agree with your point about posting exe, and yes it is a risk for end users. Although to be fair if I wanted to distribute a payload I would want it to hit more than 8 computers.

I’m not a C++ programmer, but it would be helpful to know why I needed to carry out the above steps?

I’m not a C++ programmer, but it would be helpful to know why I needed to carry out the above steps?

I have no idea, we would have to look at the project settings that cmake produced for VS on your system. If I were to guess, I would say that /SUBSYTEM:CONSOLE was being forced in your build somewhere after the cmake settings.

The project is not dead, I just need to find another chunk of time, (probably just after Christmas), I have already completed the foundations of a BASIC compiler and it is producing very fast optimised vCPU code on some simple test cases already; (it's in the repo).

That's great to hear the project isn't dead. I would be happy to help test any builds in the future. I think it would be nice if 'we' could offer a MSI installer for the windows people (happy to do this). We would need to 'be trusted' by the other members of this community, what do you think?