Well it's been about 3 years since I last posted about BeebEm5. I had been working with some hybrid of Jon Welch's source code which either used .cpp or .cc for the C++ source files. It was getting a bit confusing and varied from the official StarDot version. I thought that the best next step would be to make a version of BeebEm for the Mac that mirrored the windows version. So I forked https://github.com/stardot/beebem-windows at the end of March and got started ported it all to Mac using C++ with a Swift GUI.
https://github.com/CommanderCoder/beebem-mac
https://github.com/CommanderCoder/beebe ... 406-beta.2
I have attempted to do it in such a way that it has placeholders for all the windows calls so that very little needs to be #defined away. All changes are wrapped in __APPLE__. The biggest difference to the code base is, as you'd expect, anything which interacts with hardware or the GUI needs to call Mac versions instead. This means that this code base will continue to build on windows.
Along the way, there have been a few changes to the windows version which I've mostly kept up with. I've even fixed a few bugs I discovered. I wanted to make these fixes obvious so I've even kept the faulty windows code and wrapped the fix in __APPLE__. These can be stripped out as they become fixed in beebem-windows.
There is still a few things to test and other things to complete but I wanted to get it out there for everyone to try out. Music5000 works, some joysticks will work, and the AMX mouse is not accurate. I'll deprecate BeebEm5 in favour of this version shortly.
As usual, macos will moan when you try to run code I've built, as it won't be notarised by Apple. I'm focused on getting the features fixed but if the version in the DMG really doesn't work I'll spend more time on sorting this out.
Have fun. Post any issues you find on github. I'll keep checking it still works in windows every so often.
https://github.com/CommanderCoder/beebem-mac
https://github.com/CommanderCoder/beebe ... 406-beta.2
I have attempted to do it in such a way that it has placeholders for all the windows calls so that very little needs to be #defined away. All changes are wrapped in __APPLE__. The biggest difference to the code base is, as you'd expect, anything which interacts with hardware or the GUI needs to call Mac versions instead. This means that this code base will continue to build on windows.
Along the way, there have been a few changes to the windows version which I've mostly kept up with. I've even fixed a few bugs I discovered. I wanted to make these fixes obvious so I've even kept the faulty windows code and wrapped the fix in __APPLE__. These can be stripped out as they become fixed in beebem-windows.
There is still a few things to test and other things to complete but I wanted to get it out there for everyone to try out. Music5000 works, some joysticks will work, and the AMX mouse is not accurate. I'll deprecate BeebEm5 in favour of this version shortly.
As usual, macos will moan when you try to run code I've built, as it won't be notarised by Apple. I'm focused on getting the features fixed but if the version in the DMG really doesn't work I'll spend more time on sorting this out.
Have fun. Post any issues you find on github. I'll keep checking it still works in windows every so often.
Statistics: Posted by CommanderCoder — Tue Jun 25, 2024 12:35 am