Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Weird freezing with Circle of Blood CD on Linux #177

Open
Grieverheart opened this issue Oct 9, 2023 · 9 comments
Open

Weird freezing with Circle of Blood CD on Linux #177

Grieverheart opened this issue Oct 9, 2023 · 9 comments

Comments

@Grieverheart
Copy link

Grieverheart commented Oct 9, 2023

On Linux, I mount https://macintoshgarden.org/games/broken-sword-the-shadow-of-the-templarscircle-of-blood as a cdrom. Then copy the installation executable to the desktop, and run the installer on the desktop, after which Basilisk II hangs. This is with the commits of 8th of October. Checked with gdb, and Basilisk II is in an infinite loop running opcode 0x0. Not sure how it gets there. The weird part is that I had a similar issue on Mac. Then I deleted BasiliskII.app and re-downloaded it, and after running it again, it was not hanging anymore...

Note that this is with a Quadra 950 ROM, with a 68040 cpu.

Another issue is that I don't have a physical cdrom on my PC, so /dev/cdrom does not exist. That means I cannot drag and drop a cd rom image because there is no drive already (drives.empty()).

@kanjitalk755
Copy link
Owner

Then I deleted BasiliskII.app and re-downloaded it, and after running it again, it was not hanging anymore...

Nothing can be done without reproducibility.

Another issue is that I don't have a physical cdrom on my PC, so /dev/cdrom does not exist. That means I cannot drag and drop a cd rom image because there is no drive already (drives.empty()).

Drop mounting is possible even without an optical drive.

@Grieverheart
Copy link
Author

Grieverheart commented Oct 10, 2023

Nothing can be done without reproducibility.

Did you try to reproduce on Linux?

Drop mounting is possible even without an optical drive.

It's not working for me. When it reaches this line if (!drives.empty()) { in CDROMDrop, the drives are empty. Why does this fail? It tries to add this PrefsAddString("cdrom", "/dev/cdrom");, but Basilisk fails to open /dev/cdrom.

Maybe worth noting that I'm using Arch Linux.

@Grieverheart
Copy link
Author

Possibly related, but on Linux, when I expand something on the desktop with Stuffit, the expanded folder does not appear on the desktop until I restart.

@Grieverheart
Copy link
Author

Also, not sure if it helps, but here are all the opcodes it ran before running into the 0x0 opcode. Left column is pc_p, and right column is the opcode.
opcodes.txt

@Grieverheart
Copy link
Author

Another update: On windows it worked fine. I installed it and copied the dsk to Linux. On Linux starting game, but freezes nearly immediately.

@kanjitalk755
Copy link
Owner

Did you try to reproduce on Linux?

I tried it on Debian 12.
Then, I fell into an infinite loop with pc=0xc0,instruction=0x0208.
The UAE CPU core seems to operate differently under Linux, but it's difficult to debug it.

It's not working for me.

Working well under Debian.

@Grieverheart
Copy link
Author

The UAE CPU core seems to operate differently under Linux, but it's difficult to debug it.

I see, didn't know Basilisk uses the UAE 68k implementation. So then it is a bug in UAE's implementation?
By the way, I moved the same disk image with the installation to a Mac, and the Mac would also freeze when the game starts. Again, I deleted the BasiliskII.app, unzipped a fresh one and the problem disappeared. The funny thing is, that I also have a BasiliskII in a different location, which I compiled myself, but this fixes both! What could cause such weird behaviour?

Is this something you think you are going to work on?

Working well under Debian.

Do you have a physical cd-rom drive on your PC? I had the same issue under Windows. If no cdrom is already mounted, drop mounting does not work on Windows either.

@kanjitalk755
Copy link
Owner

So then it is a bug in UAE's implementation?

Certainly, the problem isn't necessarily within the UAE core, but it's also difficult to pinpoint.

What could cause such weird behaviour?

I don't know because I have never encountered such a phenomenon.

Is this something you think you are going to work on?

I might debug if I find any clues.

Do you have a physical cd-rom drive on your PC?

The reason why it was okay even without a CDROM drive was because there was the following line in .basilisk_ii_prefs.

cdrom /dev/poll/cdrom

@ualaa1
Copy link

ualaa1 commented Nov 24, 2023

I somehow got the game to work on Basilisk II.
On the Prefs file, add this line cdrom C:\whereever your cd image is located\Broken Sword.iso
I did notice that Basilisk II crashed when I set the iso as a disk drive instead of a cd drive when running the installer, but it seemed to work fine if the iso was set as a cd drive
And I made sure to set the installer at minimum so I don't have to switch disks
My computer also doesn't have a CD drive and it works fine
bandicam 2023-11-23 16-02-57-446
bandicam 2023-11-23 16-04-39-056

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants