readme, some cleanup

This commit is contained in:
kub 2023-09-03 22:47:36 +02:00
parent 31a082519a
commit 324dbe0473
2 changed files with 36 additions and 31 deletions

View file

@ -5,7 +5,7 @@ too, like SH2 recompilers for MIPS (mips32r2), ARM64 (armv8), RISC-V (RV64IM)
and PowerPC (G4/2.03). and PowerPC (G4/2.03).
PicoDrive was the first emulator ever to properly emulate Virtua Racing and PicoDrive was the first emulator ever to properly emulate Virtua Racing and
it's SVP chip. its SVP chip.
Currently the main development happens in the Currently the main development happens in the
[irixxxx's fork](https://github.com/irixxxx/picodrive), [irixxxx's fork](https://github.com/irixxxx/picodrive),
@ -13,6 +13,16 @@ Currently the main development happens in the
### compiling ### compiling
For platforms for which release builds are supplied the most easy way is to
use the release script in tools/release.sh. The script requires toolchains
to be installed locally, depending on the platform to build. See the release
script for details. To make a platform release build use
> tools/release.sh [version] [platforms...]
This will deliver a zip files for each platform in a the release-[version]
directory.
A list of platforms for which this is possible can be obtained with A list of platforms for which this is possible can be obtained with
> configure --help > configure --help
@ -23,49 +33,44 @@ platform list, just use
> configure --platform=generic > configure --platform=generic
If DRC is available for the platform, it should be enabled automatically. If DRC is available for the platform, it should be enabled automatically.
For other platforms using a cross-compiling toolchain I used this,
assuming $TC points to the appropriate cross compile toolchain directory:
platform|toolchain|configure command
--------|---------|-----------------
gp2x,wiz,caanoo|open2x|CROSS_COMPILE=arm-open2x-linux- CFLAGS="-I$TC/gcc-4.1.1-glibc-2.3.6/arm-open2x-linux/include" LDFLAGS="--sysroot $TC/gcc-4.1.1-glibc-2.3.6/arm-open2x-linux -L$TC/gcc-4.1.1-glibc-2.3.6/arm-open2x-linux/lib" ./configure --platform=gp2x
gp2x,wiz,caanoo|open2x with ubuntu arm gcc 4.7|CROSS_COMPILE=arm-linux-gnueabi- CFLAGS="-I$TC/gcc-4.1.1-glibc-2.3.6/arm-open2x-linux/include" LDFLAGS="-B$TC/gcc-4.1.1-glibc-2.3.6/lib/gcc/arm-open2x-linux/4.1.1 -B$TC/gcc-4.1.1-glibc-2.3.6/arm-open2x-linux/lib -L$TC/gcc-4.1.1-glibc-2.3.6/arm-open2x-linux/lib" ./configure --platform=gp2x
dingux|dingux|CROSS_COMPILE=mipsel-linux- CFLAGS="-I$TC/usr/include -I$TC/usr/include/SDL" LDFLAGS="--sysroot $TC -L$TC/lib" ./configure --platform=dingux
dingux|dingux with ubuntu mips gcc 5.4|CROSS_COMPILE=mipsel-linux-gnu- CFLAGS="-I$TC/usr/include -I$TC/usr/include/SDL" LDFLAGS="-B$TC/usr/lib -B$TC/lib -Wl,-rpath-link=$TC/usr/lib -Wl,-rpath-link=$TC/lib" ./configure --platform=dingux
retrofw|retrofw|CROSS_COMPILE=mipsel-linux- CFLAGS="-I $TC/include -I $TC/include/SDL -Wno-unused-result" LDFLAGS="--sysroot $TC/mipsel-buildroot-linux-uclibc/sysroot" ./configure --platform=retrofw
gcw0|gcw0|CROSS_COMPILE=mipsel-gcw0-linux-uclibc- CFLAGS="-I$TC/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include -I$TC/usr/mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL" LDFLAGS="--sysroot $TC/usr/mipsel-gcw0-linux-uclibc/sysroot" ./configure --platform=gcw0
rg350|rg350|CROSS_COMPILE=mipsel-linux- CFLAGS="-I$TC/usr/include -I$TC/usr/include/SDL" LDFLAGS="--sysroot $TC -L$TC/lib" ./configure --platform=rg350
miyoo|miyoo|CROSS_COMPILE=arm-miyoo-linux-uclibcgnueabi- CFLAGS="-I$TC/arm-miyoo-linux-uclibcgnueabi/sysroot/usr/include -I$TC/arm-miyoo-linux-uclibcgnueabi/sysroot/usr/include/SDL" LDFLAGS="--sysroot $TC/arm-miyoo-linux-uclibcgnueabi/sysroot" ./configure --platform=miyoo
For gp2x, wiz, and caanoo you may need to compile libpng first. For gp2x, wiz, and caanoo you may need to compile libpng first.
After configure, compile with After configure, compile with
> make > make
### helix MP3 decoder for ARM ### helix MP3 decoder for ARM
For 32 bit ARM platforms, there is the possibility to compile the helix MP3 For 32 bit ARM platforms, the optimized helix MP3 decoder can be used to play
decoder into a shared library to be able to use MP3 audio files with CD games. MP3 audio files with CD games. The helix source files are however not supplied
The helix source files aren't supplied because of licensing issues. However, if due to licensing issues. If you have legally obtained the sources, put them in
you have obtained the sources, put them into the platform/common/helix the platform/common/helix directory.
directory, set CROSS to your cross compiler prefix (e.g. arm-linux-gnueabi-)
and LIBGCC to your cross compiler's libgcc.a To compile the helix sources, set CROSS to your cross compiler prefix
(e.g. arm-linux-gnueabi-) and LIBGCC to your cross compiler's libgcc.a
(e.g. /usr/lib/gcc-cross/arm-linux-gnueabi/4.7/libgcc.a), and compile with (e.g. /usr/lib/gcc-cross/arm-linux-gnueabi/4.7/libgcc.a), and compile with
> make -C platform/common/helix CROSS=$CROSS LIBGCC=$LIBGCC > make -C platform/common/helix CROSS=$CROSS LIBGCC=$LIBGCC
Copy the resulting ${CROSS}helix_mp3.so as libhelix.so to the directory where This will result in a shared library named ${CROSS}helix_mp3.so. Copy this
the PicoDrive binary is. as libhelix.so to where the PicoDrive binary is on the target device.
Also, the support for helix must be enabled in PicoDrive by compiling with
> make PLATFORM_MP3=1
This switch is automatically enabled for Gamepark Holdings devices (gp2x,
caanoo and wiz). Without installing libhelix.so those devices will not play
MP3 audio.
### installing ### installing
You need to install the resulting binary onto your device manually. The release scripts produces zip files which need to be installed on the
For opendingux, gcw0, and rg350, copy the opk to your SD card. target device manually. Usually that means unpacking the file to some
For gp2x, wiz, and caanoo, the easiest way is to unpack directory on the device storage or on an SD card. See device specific
[PicoDrive_191.zip](http://notaz.gp2x.de/releases/PicoDrive/PicoDrive_191.zip) descriptions on the net.
on your SD card and replace the PicoDrive binary.
For legacy dingux, unpack the dge zip and copy the files to your SD card.
Send bug reports, fixes etc to <derkub@gmail.com> Send bug reports, fixes etc to <derkub@gmail.com>

@ -1 +1 @@
Subproject commit a20e04c12c0c20048bf771da6df7aa2e51f5e0cb Subproject commit 4ad57f9e71ea35a8e62be20a059463bfe3abf043