KryoFlux software (DTC, GUI) v3.00 BETA for macOS

All news about KryoFlux go here.
User avatar
mr.vince
Posts: 2200
Joined: Tue Oct 05, 2010 5:48 pm

KryoFlux software (DTC, GUI) v3.00 BETA for macOS

Post by mr.vince »

Hi everyone,

we have a fresh beta for you to test. It's release 3.00 (beta 3, 2021-06-14) of the host software package for macOS:
https://www.kryoflux.com/download/kryof ... _macos.dmg

This version is made for macOS 10.9 or higher and supports Intel and M1 devices.

Your feedback is appreciated. Please do not use this version in a production environment. Please note that we might not be able to respond to individual bug reports directly. All reports will be read and we will reach out if we need further info.

This version was produced as an interim release as the Covid-19 pandemic has slowed down our development process for the completely new host software package, which is planned for Q4 this year.

Stay safe everyone.
sky76
Posts: 49
Joined: Sat Jun 27, 2015 1:27 pm

Re: KryoFlux software (DTC, GUI) v3.00 BETA for macOS

Post by sky76 »

Wow, great. I'll give this a try hopefully soon.

Here is the changelog BTW - I'll post it here just for convenience:

- DTC 3.00 requires features only available in firmware 3.00 or later; DTC will stop with an error if the firmware file downloaded to the KryoFlux board is an older, incompatible release.

- Full automatic hard-sectored disk support - it is even possible to mix & match hard-sectored and normal tracks in a single disk image if needed.

- Any disk operation is guaranteed to use the user-defined or preset number of disk revolutions, regardless of whether the disk is soft or hard-sectored. This is fully automatic, the user does not have to know or specify the disk type currently being used.

- Hard-sectored disks are automatically detected and hard sector information is shown for any read operation. Write operations are not allowed to hard-sectored disks, since they'd only damage the existing data.

Soft-sectored formats written on hard-sectored disks (as it was once popular for systems not having index sensors at all in the drives) can be imaged and decoded, just like as if they were written to a normal disk, e.g. it is possible now to image and decode C64 or Apple 2 content written to a hard-sectored disk with any number of hard-sectors.
Additionally, real hard-sectored disk content can be imaged now. We'll add support for decoding genuine hard-sectored disk formats in later software updates.

The beta download is available from our forums; no registration is required to access the post and download the beta. But we recommend registering to submit any bug reports, which will be highly appreciated.
A1200 + Indivision AGA + ACA1233 & Blizzard 1230IV+SCSI + easynet
A600 + Indivision ECS + ACA620 + A604n // CD32 + SX32 MK2 + Indivision AGA
A500 + ACA500 + 5 spare A500's (one with the C= key, Serial No 3358)
Dominus
Posts: 64
Joined: Tue Mar 01, 2016 10:32 am

Re: KryoFlux software (DTC, GUI) v3.00 BETA for macOS

Post by Dominus »

FINALLY! Thank you!
I've just did a quick test on macOS 11.4 (intel) and the app won't start.
In the console I get the errors:

Code: Select all

com.apple.xpc.launchd[1]: Coalition Cache Hit: app<application.com.kryoflux.kryoflux-ui.182233152.182233161(501)> [25482]
com.apple.xpc.launchd[1] (application.com.kryoflux.kryoflux-ui.182233152.182233161[28785]): Service exited with abnormal code: 1
When I open the app bundle and doubleclick the "JavaAppLauncher" I get:

Code: Select all

/Applications/KryoFlux\ UI.app/Contents/MacOS/JavaAppLauncher ; exit;
/Applications/KryoFlux\ UI.app/Contents/MacOS/JavaAppLauncher ; exit;
Error occurred during initialization of VM
Could not reserve enough space for code cache
Saving session...completed.
BUT when I finally doubleclick the kryoflux-ui.jar in the app bundle the gui launches and I was able to calibrate my drives (that's all I tested for now). So the actual gui works, the USB connection works, only the java launcher app bundle has a problem.
Could it be an entitlements problem?
User avatar
mr.vince
Posts: 2200
Joined: Tue Oct 05, 2010 5:48 pm

Re: KryoFlux software (DTC, GUI) v3.00 BETA for macOS

Post by mr.vince »

Just assuming that you have another JavaVM installed that works, whereas the one we're allowed to bundle does not work on your config. We'll need to investigate this.
Dominus
Posts: 64
Joined: Tue Mar 01, 2016 10:32 am

Re: KryoFlux software (DTC, GUI) v3.00 BETA for macOS

Post by Dominus »

I have installed and running JRE 8 Update 291.
If there is anything you want me to test or need more information, let me know. Happy to help
Dominus
Posts: 64
Joined: Tue Mar 01, 2016 10:32 am

Re: KryoFlux software (DTC, GUI) v3.00 BETA for macOS

Post by Dominus »

Hmm, I just used codesign to sign it with my developer ID and that works. So I'm pretty sure that it is *only* a question of entitlements.
I guess you are using "--options runtime" when you codesign to be able to notarize the app bundle. Seems the hardened runtime requires you to add some entitlements.

Edit: Ok, I did some quick testing with the possible entitlements and was able to pin point it at these two entitlements:
- com.apple.security.cs.disable-library-validation
- com.apple.security.cs.disable-executable-page-protection

So in your codesign command add

Code: Select all

--entitlements entitlements.plist
with the content of the entitlements.plist:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.cs.disable-library-validation</key>
    <true/>
    <key>com.apple.security.cs.disable-executable-page-protection</key>
    <true/>
  </dict>
</plist>
With this I was able to run the app.
(btw. the copyright year of the info.plist says 2014)

Edit2: I also used --deep in codesign and apparently it signed the JVM as well. But you can't always trust this (and --deep is often discouraged), so you might have to add an extra step to codesign the libjli.dylib as well.
Alexco
Posts: 15
Joined: Tue Mar 26, 2013 5:51 pm

Re: KryoFlux software (DTC, GUI) v3.00 BETA for macOS

Post by Alexco »

Hi Dominus,

thanks for the report. My Intel iMac is only capable to run macOS 10.15, for macOS 11.4 I have a M1 Mini, so I am missing BigSur on Intel.
In fact, I used entitlements, but only security.cs.disable-library-validation. And this works on my M1 with 11.4 in Rosetta mode. Strange that I need additional entitlements for plain Intel.

I did not use (and if possible will not use) the --deep thing, this often broke things here. The embedded JVM is already signed by a different development team, so there should be no need for that.

Edit:
You can use the excellent app Apparency to check signing and entitlements.
Dominus
Posts: 64
Joined: Tue Mar 01, 2016 10:32 am

Re: KryoFlux software (DTC, GUI) v3.00 BETA for macOS

Post by Dominus »

I'll give it a try on my M1 tomorrow as well, maybe it just behaved differently on your machine. Or maybe it's because of different team codesignings. I thought this was asking for trouble.
Dominus
Posts: 64
Joined: Tue Mar 01, 2016 10:32 am

Re: KryoFlux software (DTC, GUI) v3.00 BETA for macOS

Post by Dominus »

Just tested again, with the app bundle unaltered from the dmg:
- on my M1 mini (macOS 11.4) the app runs right away
- on my intel iMac (macOS 11.4) I needed to add *both* entitlements (--deep is indeed not needed)

It's really strange that it page protection is needed on the intel mac.

Edit: thanks for the Apparency app hint. Much more useful than to verify via terminal.
Last edited by Dominus on Sat Jun 05, 2021 3:40 pm, edited 1 time in total.
Alexco
Posts: 15
Joined: Tue Mar 26, 2013 5:51 pm

Re: KryoFlux software (DTC, GUI) v3.00 BETA for macOS

Post by Alexco »

Thanks for verifying this. I already added the entitlement into my build script.
Let's see what's coming up next...
Locked