Clock Signal — an Oric emulator for macOS and Linux

Comments, problems, suggestions about Oric emulators (Euphoric, Mess, Amoric, etc...) it's the right place to ask. And don't hesitate to give your tips and tricks that help using these emulations in the best possible way on your favorite operating system.
ThomH
Flying Officer
Posts: 238
Joined: Thu Oct 13, 2016 9:55 pm

Re: Clock Signal — an Oric emulator for macOS and Linux

Post by ThomH »

Minor addendum: I've played with the Snap packaging a little further and there's a much increased chance of the Snap Qt distribution working properly. But let me know.
User avatar
iss
Wing Commander
Posts: 1466
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Clock Signal — an Oric emulator for macOS and Linux

Post by iss »

ThomH wrote: Sun Jul 17, 2022 12:48 pm...
Ha, I was just preparing to write some feedback on recent changes.
The problem is that I'm almost unable to compile CLK on any platform :(.

1. macOS Monterey on mac-mini late 2012 (yep, it's old but still good for me):
Using XCode compilations is OK but the binary refuses to start because:
clk-1.jpg
clk-1.jpg (16.32 KiB) Viewed 836 times
clk-2.jpg
When I tried command line build with OSBinding SDL the result is:
clk-3.jpg
2. Linux Fedora 36 latest stable (wayland and x11) SDL build fails because
scons can't find any *.cpp files in the 'Concurrency' subdir.
Of course a simple:

Code: Select all

touch OSBindings/Qt/../../Concurrency/dummy.cpp
solves the issue but it's ugly :).

So, any help for macOS build and run with Intel CPU is highly appreciated!
Thanks for your work!
ThomH
Flying Officer
Posts: 238
Joined: Thu Oct 13, 2016 9:55 pm

Re: Clock Signal — an Oric emulator for macOS and Linux

Post by ThomH »

Late 2012 Mac Mini, native build:

I'm a bit surprised; everything I can find quickly suggests that Mac should support Metal. The mainstream macOS builds no longer include OpenGL at all, per my assumption that it'll be a liability 'soon', so there's no fallback. I actually made that change when I bumped the minimum OS version to 10.14, under which all Macs support Metal, but was talked into allowing 10.13 again subsequently so have ended up in this position inadvertently.

Have you any idea whether you'd expect Metal to be supported?

Mac Mini, SDL build:

Admittedly I've never tested a command-line build on a Mac — I use the 'Clock Signal Kiosk' target in Xcode, but you'd need manually to download and place the SDL Framework into an appropriate location. It's really just there for my convenience when developing. I don't actually intend to support SDL on the Mac.

That said, top tip would be: either open SignalProcessing/FIRFilter.hpp and kill the #define USE_ACCELERATE on line 17, or else modify the Scons file to link against the Accelerate framework. The only thing Accelerate is being used for is SIMD application of the FIR filter, and that's hardly vital since it'll just be for audio processing, and that's already on a separate thread.

Fedora:

Should be fixed on master. Everything was fine with the automatic builds, but I guess some versions of Scons care differently than others. This is indeed an issue that will have arrived in the last week, as I've consolidated three separate types of queue into a single one, undoing some of the younger me's naivety about STL collections.

EDIT: or you could install Qt Creator and build the Qt version, under any environment, I guess. But it's mainly geared towards X11. Qt doesn't do a very good job of game-style keyboard abstraction so that's the main issue you might face if trying to run a Qt build on the Mac. That and Qt's perpetually-broken Mac-'style' widgets.

---

As a further aside, one other improvement I forgot to mention: if you use the SDL build, you can of course try running an Oric with a 16-bit 65802 processor rather than the regular 6502. Since I've recently fixed a couple of bugs in my 65816, that should now be more accurate.
User avatar
iss
Wing Commander
Posts: 1466
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Clock Signal — an Oric emulator for macOS and Linux

Post by iss »

ThomH wrote: Sun Jul 17, 2022 7:56 pm... 65816 processor
SDL and Qt builds under Linux are fine and 65816 works :).
clk.jpg

Is there a way quickly to switch to "nitro mode" i.e. run emulated CPU at highest speed possible for the host machine?
ThomH
Flying Officer
Posts: 238
Joined: Thu Oct 13, 2016 9:55 pm

Re: Clock Signal — an Oric emulator for macOS and Linux

Post by ThomH »

There is no such feature at present; I'll have a think about it. I guess you'll just have to play with the [SDL-only] speed multiplier in the short term.

It would actually be a useful thing to support, though — it existed very early on but then vanished; assuming the rest of my code isn't too slow (a heavy assumption), letting the emulator toggle that mode itself might be a more natural way to support fast loading.
User avatar
iss
Wing Commander
Posts: 1466
Joined: Sat Apr 03, 2010 5:43 pm
Location: Bulgaria
Contact:

Re: Clock Signal — an Oric emulator for macOS and Linux

Post by iss »

Just say: now Clock Signal works for me on my old mac mini (late 2012):
Screenshot_20220803_220158.jpg
Metal issue fixed after patching proper video drivers for Intel HD 4000.
Post Reply