raphnet / vspcplay

vspcplay, a visual spc player
http://vspcplay.raphnet.net/
29 stars 4 forks source link

SPC Emulation does not work correctly when compiled for aarch64 #6

Closed CCF100 closed 4 months ago

CCF100 commented 1 year ago

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

clort81 commented 1 year ago

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!

raphnet commented 12 months ago

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 commented 4 months ago

No feedback - I'll assume it works.