vspcplay
vspcplay copied to clipboard
SPC Emulation does not work correctly when compiled for aarch64
I have been experimenting with Linux for ARM, and I noticed vspcplay does not emulate the SPC700 properly on ARM. The file attached is vspcplay attempting to play "Aquatic Ambience." https://mega.nz/file/hZZRUBxD#VtY-nAU5LA0Nb_kQseCdls5xMIJvwbUSylLZxFlQJss
I confirm program compiles and runs on aarch64 but i get strange noises instead of music testing with Secret of Mana Soundtrack. By comparison Audacious on same hardware plays .spc from SoM fine. I attempted build with g++ version 10.3.0. I also attemped conservative make options -O2 and no funroll-loops. Same behavior. Since the gui looks ./runs fine, I try swapping in other versions of spc700.cpp but differences are too large.
Congrats and thanks for wonderful / fun looking program. :) Maybe someday we fix the problem!
Hello! I pushed a change which should help, if not even fix this.
In commit 4d8d8c9fba865d30dffaf8ebfd5cab0a23e48c95 I updated the place in port.h where the byte order for the target architecture is determined to also handle arm architectures. (I just copied this from the port.h of a newer Snes9x). Without this MSB first byte order was assumed..
I don't have an arm machine setup to testing, so please let me know if this helps at all!
No feedback - I'll assume it works.