As mentioned in the earlier posts, a large amount of this Christmas vacation was spent on the Windows version of M.A.C.E. runtime, and creating something for Windows users to try out. Now all the core work has been done, and we have the first prototype of the Windows port of runtime – with all of the existing test applications now available also as Windows executables. Now, there are a couple important points:
- The windows executables are currently built only for the 64-bit x64 architecture
- They have only been tested on Windows 10 (and only on Toni’s brand new 3.06Ghz Xeon W3550, and whatever processor Pukka’s new PC has). We have no idea on what other computers they work (or do not work)
- You might want to avoid running them under certain virtualization software applications, as at least on Toni’s VirtualBox the performance was… not very stellar, at least compared to a physical PC without virtualization.
- The PC keys are (for now) mapped permanently as follows:
- Left alt = Left command
- Left ctrl = Left option
- Right alt = Right command
- Right ctrl = Left control
- Under windows 10, the “windows square” key (between Ctrl and Alt) cannot be used by the emulator as command or option key, because the Windows OS doesn’t seem to allow it to be fully captured (only partially).
- AltGr key does NOT work as Right alt, because on Windows AltGr actually simulates Left Ctrl + Left Alt key presses. We need to investigate this more in the future.
- The filesystem package is cached under Users -> username -> AppData -> Roaming -> MACE, with individual cache folder for each pre-packaged test application. So, if you for example create cool Continuum Galaxy files, this is where you’ll find them. And as AppleDouble files, they are exchangeable between M.A.C.E. on Windows, M.A.C.E. on Mac OS X, and theoretically (but not tested) with the Executor emulator which also uses AppleDouble files.
Below is a screenshot of the currently available test apps running on Windows 10:
If you have Windows, you can right now try them out in the Downloads section on this page.
Screen mode control: Full-screen mode and pixel doubling
Another neat new feature that was added to the new M.A.C.E. runtime version, besides the Windows compatibility, is the ability to switch between windowed/fullscreen modes on the fly, and also toggling the pixel-doubling feature. The shortcuts for these are:
- Cmd+Shift+1: Toggle pixel doubling mode
- Cmd+Shift+2: Switch between windowed and full-screen modes
These keyboard shortcuts were chosen (for now) as they should conflict very little with existing Mac applications, as they were used as disk eject FKEYs on real Macs.
This new feature has been both updated into the existing Mac OS X test app bundles, as well as in the new Windows versions.
Full list of changes since last post
2020-01-07 00:39:56 +0200 • Skip unwanted packaged VFS entries 2020-01-06 23:40:32 +0200 • Don't cache OSX 10.6 vs 10.9 target in CMake 2020-01-06 20:32:52 +0200 • Fix typo in scaline range check in _StretchBits 2020-01-06 19:10:24 +0200 • Bump runtime version & tweak version info format 2020-01-06 07:08:39 +0200 • Load package VFS from Win32 resource on Windows 2020-01-06 07:07:18 +0200 • Include dynamically generated .rc in win32 targets 2020-01-06 07:06:34 +0200 • Fix encoding of special symbols in two test apps 2020-01-06 06:05:01 +0200 • Add extracting VFS archive in initialization code 2020-01-05 04:30:25 +0200 • Add file archive reader, and clean up CMake files 2020-01-04 23:20:46 +0200 • Sign-extend <32bit args to prevent ARM optimizat.. 2020-01-04 04:18:12 +0200 • Try fix Raspberry hMenu bug, enforce 16-bit menuID 2020-01-03 22:22:10 +0200 • Lock SDL window data during screen mode switch 2020-01-03 21:52:42 +0200 • Refactor display toggles to use DynamicConfig keys 2020-01-03 21:50:30 +0200 • Add first part of DynamicConfig system (UserPrefs) 2020-01-01 17:54:41 +0000 • Disable JSON parser tests from build 2020-01-03 01:20:14 +0200 • Fix DynamicConfiguration JSON dependency + bin dir 2020-01-03 00:39:24 +0200 • Merge branch 'master' of 2020-01-03 00:39:21 +0200 • Add missing header search path for JSON lib 2020-01-03 00:36:54 +0200 • Fix OSX target, CMP0066 and set SDL2 debug/release 2020-01-02 23:08:12 +0200 • Merge branch 'master' of 2020-01-02 23:08:06 +0200 • Specialize OSX Cmake config to 10.6 and 10.9 bases 2020-01-02 20:36:10 +0200 • Add JSON parser to the MACE runtime (for configs) 2020-01-02 19:09:33 +0200 • Also fix the Mac icns for previously invalid icons 2020-01-02 18:51:14 +0200 • Add stub for DynamicConfiguration module 2020-01-02 18:50:30 +0200 • Sanitize Windows key mappings to be more usable 2020-01-02 04:13:26 +0200 • Add ICO files to EXEs, & use console only in debug 2020-01-02 04:11:18 +0200 • Use debug/release SDL2 lib depending on app target 2020-01-02 04:09:56 +0200 • Reconvert Windows ICO files 2020-01-02 04:09:39 +0200 • Fix incorrect icon assignments of couple test apps 2020-01-02 04:08:20 +0200 • Make SDL2-static compile on VC release mode 2020-01-02 00:51:30 +0200 • Add processing of Windows ICO files 2020-01-01 23:49:58 +0200 • Fix trap glue generator to use new byteswap macros 2020-01-01 23:48:56 +0200 • Refactor cmake to use offline icon conversion 2020-01-01 20:39:58 +0200 • Add lpng 1.6.37 to ThirdParty external libraries 2020-01-01 17:10:36 +0200 • Force redraw of screen on SDL expose events 2020-01-01 15:38:09 +0000 • Haiku compilation fixes