Post#2 » Sun Jan 16, 2022 4:57 pm
Hello,
Just tried here on an Ubuntu pc, with sh & arm compilers generated via the latest kos previously, and this worked for me:
(NOTE: don't use compilers built for kos. Build them specifically for libronin, otherwise you will get problems later)
1) launch a terminal
2) add the /bin paths to your elf & arm compilers, eg:
export PATH=$PATH:/opt/toolchains/dc/sh-elf/bin:/opt/toolchains/dc/arm-eabi/bin
(you can see your path with the command: echo $PATH
3) if your arm compiler is arm-eabi* like me (ie, arm compiler generated via the latest kos), add the following symbolic links inside your arm bin folder:
eg for me:
from within the folder /opt/toolchains/dc/arm-eabi/bin:
ln -s arm-eabi-as arm-elf-as
ln -s arm-eabi-ar arm-elf-ar
ln -s arm-eabi-gcc arm-elf-gcc
ln -s arm-eabi-objcopy arm-elf-objcopy
(or you can modify the names of the executables in the libronin makefile of course)
4) be sure that pike is installed, if not run something like: sudo apt-get install pike8.0
5) rename the function itoa to itoaronin in following files:
report.c
report.h
vmsfs.c (9 instances to modify)
examples/ex_vmsfscheck.c
6) launch make from the main libronin folder to generate libronin.a
7) launch make from the /libmad folder to generate libmad.a
8) if later you want to use libronin's functionality to send a program via serial to the dreamcast, be sure to modify these references in the Makefile:
replace all references to: /home/peter/hack/dreamsnes/dc/
into: ./tools/ (eg: /home/peter/hack/dreamsnes/dc/ipupload.pike would become ./tools/ipupload.pike
9) same as 8), if you want to use ipupload.pike, you need to modify the 1st line of /tools/ipupload.pike:
change
#!/usr/local/bin/pike
into
#!/usr/bin/env pike
10) Remove any references to those 2 examples from the main Makefile, since these examples do not exist anymore:
examples/ex_purupuru
examples/ex_compress
11) Add those 2 examples in the main makefile, since they are not foreseen yet:
examples/ex_control
examples/ex_clouds
12) to compile an example with serial output (this generates an .elf file, eg for example ex_video.c):
make examples/ex_video.elf
13) to compile an example without serial output (this generates a .bin file, eg for example ex_video.c):
(I think you need to modify 1 line in the main Makefile: TYPE = elf <- change elf to bin.
I think they wanted to make it work just by letting the user change the extension of the example in the command line, but this does not seem to work - it linked the file with libronin.a, not libronin-noserial.a)
make examples/ex_video.bin
This resulted in a succesful compilation, I didn't check it by running examples or so
Last edited by
T_chan on Mon Jan 17, 2022 2:16 pm, edited 8 times in total.