yoyofr / modizer

iOS chiptune/module player
http://yoyofr.blogspot.com/p/modizer.html
132 stars 45 forks source link

Errors trying to compile on Apple Silicon DTK from fresh clone #39

Closed tarasis closed 3 years ago

tarasis commented 3 years ago

Trying to compile the repository (to test Modizer running on an Arm DTK), but running into some issues. I was wondering if you had any thoughts

libxsf

First libxsf is throwing up issues

in port.h there were 3 errors:

first line 224 had 'uint32-t' rather than 'uint32_t'

Second, has issues with the operands in 223 and 224

inline uint16_t READ_WORD(const uint8_t *s) { return s | ((s + 1) << 8); } inline uint32_t READ_3WORD(const uint8_t *s) { return s | ((s + 1) << 8) | ((s + 2) << 16); }

Errors:

` Showing Recent Messages /Users/tarasis/Programming/Projects-Others/modizer/libxsf/src/in_snsf/snes9x/port.h:223:67: Invalid operands to binary expression ('const uint8_t ' (aka 'const unsigned char ') and 'int')

Showing Recent Messages /Users/tarasis/Programming/Projects-Others/modizer/libxsf/src/in_snsf/snes9x/port.h:224:68: Invalid operands to binary expression ('const uint8_t ' (aka 'const unsigned char ') and 'int')

`

I assume it should be using FAST_LSB_WORD_ACCESS given LSB_FIRST is defined in modizer_Prefix.pch.

Is this because I am building on the DTK, so its not picked up on the if on line 211? I've tried adding "defined(aarch64)" but that isn't working. (I bypassed this for the moment by forcing it to use FAST_LSB_WORD_ACCESS

Lexical or Preprocessor issue

Xcode reports ao.h is missing when compiling

/Users/tarasis/Programming/Projects-Others/modizer/modizer/aosdk/eng_psf/peops/externals.h:19:10: 'ao.h' file not found

but the file is there

tarasis@DTK modizer % find . | grep ao.h ./modizer/Resources/sc68/Replay/tao_hubbard.bin ./modizer/aosdk/ao.h

libxml

Keeps throwing up different files as being missing, for instance

/Users/tarasis/Programming/Projects-Others/modizer/modizer/libxmp/libxmp-master/src/loaders/sym_load.c:24:10: 'depackers/readlzw.h' file not found

but its clearly there

tarasis@DTK modizer % find . | grep readlzw ./modizer/libxmp/libxmp-master/src/depackers/readlzw.c ./modizer/libxmp/libxmp-master/src/depackers/readlzw.h

vgmstream

Similar issue

/Users/tarasis/Programming/Projects-Others/modizer/vgmstream/vgmstream.h:21:10: 'vorbis/vorbisfile.h' file not found

File is there, and I was able to build the vorbis module successfully

tarasis@DTK modizer % find . | grep vorbisfile.h ./libopenmpt/openmpt-trunk/include/vorbis/include/vorbis/vorbisfile.h

tarasis commented 3 years ago

Returning to this.

1) mod.h was missing from libxmp project (src/loaders/mod.h). It was in the Xcode project but the src file was not there. I copied the version from https://github.com/libxmp/libxmp/blob/master/src/loaders/mod.h 2) sym_load.c issue was fixed by adding changing the include line to #include "../depackers/readlzw.h" 3) had to disable the #define for VORBIS in vgmstream.h 4) Then got the error error: /Users/tarasis/Programming/Projects-Others/modizer/modizer/Resources/DB/databaseMAIN.modizerdb: No such file or directory (in target 'modizer' from project 'modizer')

The last one was sorted by unzipping allmods.zip Then running conv_modland.sh and then create_db.sh

5) Then various headers needed explicitly pointed to (adding file path)

I was then able to build it, and run it natively on the DTK (or for my phone) and was able to successfully play all of the sample files.

I will fork the project, upload my changes and do a PR

Image is the now playing screen running on a Apple Silicon Mac

Screenshot 2020-11-11 at 23 43 10

With visualisations working correctly.

Screenshot 2020-11-11 at 23 47 16

yoyofr commented 3 years ago

fixed in v2.9.4