vspcplay icon indicating copy to clipboard operation
vspcplay copied to clipboard

SPC Emulation does not work correctly when compiled for aarch64

Open CCF100 opened this issue 1 year ago • 2 comments

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

CCF100 avatar Jul 08 '23 23:07 CCF100

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!

clort81 avatar Jul 15 '23 07:07 clort81

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!

raphnet avatar Oct 12 '23 08:10 raphnet

No feedback - I'll assume it works.

raphnet avatar May 17 '24 01:05 raphnet