nukeykt / Nuked-SC55

Roland SC-55 series emulation
Other
383 stars 40 forks source link

Fix base path on Linux #66

Open nvllsvm opened 5 months ago

nvllsvm commented 5 months ago

When the path is /usr/bin/nuked-sc55, the absolute path must be used to determine the correct base path of /usr/share/nuked-sc55.

Wohlstand commented 5 months ago

Should be fine! Going to test this soon.

UnBeatWaterGH commented 5 months ago

Everything seems to work fine as long as you don't run nuked-sc55 from /usr/bin. It correctly manages to recognize the existence of /usr/share/nuked-sc55 but it has problems accessing the files. I think the usage of .. might be causing problems as Copy-pasting the path from the error and running ls on it shows that the files exist.


nuked-sc55:

Base path is: /usr/bin/../share/nuked-sc55
ROM set autodetect: SC-55mk2
FATAL ERROR: One of required data ROM files is missing: /usr/bin/../share/nuked-sc55/rom1.bin, /usr/bin/../share/nuked-sc55/rom2.bin, /usr/bin/../share/nuked-sc55/waverom1.bin, /usr/bin/../share/nuked-sc55/waverom2.bin, /usr/bin/../share/nuked-sc55/rom_sm.bin.

ls /usr/bin/../share/nuked-sc55:

rom1.bin  rom2.bin  rom_sm.bin  waverom1.bin  waverom2.bin

Tested on Debian 12.5 with GCC 12.2.0.

nvllsvm commented 5 months ago

Hm - it works fine for me, though I'm able to reproduce your error after removing read permissions from the *.bin files. Do you still get the error after adding read permissions to the rom files (sudo chmod +r *bin)?

$ pwd
/home/ar
$ ls -l /usr/bin/../share/nuked-sc55
total 4396
-rw-r--r-- 1 root root  794352 Apr 28 19:29 back.data
-rw-r--r-- 1 root root   32768 Dec 24  1996 rom1.bin
-rw-r--r-- 1 root root  524288 Dec 24  1996 rom2.bin
-rw-r--r-- 1 root root    4096 Dec 24  1996 rom_sm.bin
-rw-r--r-- 1 root root 2097152 Dec 24  1996 waverom1.bin
-rw-r--r-- 1 root root 1048576 Dec 24  1996 waverom2.bin
$ nuked-sc55
Base path is: /usr/bin/../share/nuked-sc55
ROM set autodetect: SC-55mk2
Audio device: Default device
Audio Requested: F=S16LSB, C=2, R=66207, B=128
Audio Actual: F=S16LSB, C=2, R=66207, B=128
Unknown write e400 4
Unknown write e403 1
Unknown write e406 0
Unknown write e407 0
Unknown write e406 40
Unknown write e403 1
UnBeatWaterGH commented 5 months ago

Works perfectly fine on Debian