I have now created a second code repository with external Vircon32 software (programs not running on the console itself). This contains mainly the desktop emulator for PC and the development tools. All of these programs can now be compiled using CMake, and they should now be multiplatform. I have only tested them on Windows for now though.
Also, there have been a few minor changes on the console design that are already incorporated in that code.
RAM and memory card sizes were innecessarily large, so I have reduced them to 1/4 of their original value: RAM is now 16 MB and memory cards are 1 MB. These new sizes are still larger than what was available at the 32-bit era, but they no longer seem disproportionate.
The GPU has had its penalties reduced when drawing using scaling and rotation. This makes it more capable of making heavy pseudo-3D games such as After Burner.
Note that these changes only influence the emulator. All ROMs you may have will continue working, and all source code will keep compiling the same way as before.
So, Vircon32 is about to go multiplaftorm. I switched compilation to CMake and have been testing things under Linux. Here is how things are looking in Ubuntu 22.
As for Mac I'm not sure I will be able to test that without an actual Mac machine, so for now it remains untested.
Unexpectedly I was able to build and run the emulator OK, but the development tools (which are just command line programs) have some errors when trying to build the games.
I'm not sure if any of you use macOS. Do you know if there is a way to distribute binaries without the $99 notarization from Apple? Maybe just use a DMG or a plain ZIP file?
Yeah; you can certainly distribute stuff without needing all the signing stuff. That's really only required if you want to get on the App Store for distribution there (and avoid being checked on launch by Gatekeeper, see below). Either a dmg or a zip will be just fine.
Note that generally Gatekeeper is going to try to avoid launching your app on other people's systems because it's not signed.
One of two things will happen
- It'll pop up a dialog saying the file was obtained from the internet. The user will be given an option to launch it anyway
- It'll pop up a "scary" dialog indicating the app isn't signed or whatever and should be put in the trash
For either case, the user can bypass all of that by right clicking on the app's icon and choosing "Open" from the contextual menu that appears. This tells Gatekeeper you are intentionally wanting to run the unsigned binary on purpose, and it'll stop pestering your users after that point.
----
If you need help testing any Mac builds of anything out, let me know. Happy to help!
Well, it took much longer than expected but the console is now fully working on MacOS too.
To do this I had to port the whole graphics system of the emulator to modern OpenGL and use shaders (I had been using the old render pipeline). In a few days I should be able to package binary distributions to create a release in GitHub that can be downloaded from the website too.
Release texts also include instructions for installing. I have set version numbers to be based on date, in the same format used by software like Ubuntu or Code::Blocks. I will shortly link these releases from the website downloads.
With this, Vircon32 should now be completely multiplatform, at least on PC.