Git Product home page Git Product logo

saturn-docker's Introduction

Goal

Get a cross platform starting point, with everything up and running out of the box

Usage

build it : docker build -t saturn-docker . --file ./Dockerfile

Run it : docker run -it --rm -v $(pwd):/saturn saturn-docker /bin/bash

Use it in an IDE : TODO

Change GCC version (default 8.4.0) :

  • 8.4.0 : docker build --build-arg GCC_VERSION_ARG=8.4.0 -t saturn-docker . --file ./Dockerfile
  • 9.5.0 : docker build --build-arg GCC_VERSION_ARG=9.5.0 -t saturn-docker . --file ./Dockerfile
  • 10.4.0 : docker build --build-arg GCC_VERSION_ARG=10.4.0 -t saturn-docker . --file ./Dockerfile
  • 11.3.0 : docker build --build-arg GCC_VERSION_ARG=11.3.0 -t saturn-docker . --file ./Dockerfile
  • 12.2.0 : docker build --build-arg GCC_VERSION_ARG=12.2.0 -t saturn-docker . --file ./Dockerfile
  • 12.3.0 : docker build --build-arg GCC_VERSION_ARG=12.3.0 -t saturn-docker . --file ./Dockerfile
  • 13.2.0 : docker build --build-arg GCC_VERSION_ARG=13.2.0 -t saturn-docker . --file ./Dockerfile

Examples :

  • docker build --build-arg GCC_VERSION_ARG=11.3.0 --build-arg INSTALL_SATURNSDK_SAMPLES=0 --build-arg INSTALL_JO_ENGINE_LIB=0 --build-arg INSTALL_JO_ENGINE_SAMPLES=0 --build-arg INSTALL_YAUL_LIB_ARG=0 --build-arg INSTALL_YAUL_SAMPLES=0 --build-arg INSTALL_SBL_LIB=1 --build-arg INSTALL_SBL_SAMPLES=0 --build-arg INSTALL_SBL_EXAMPLES=0 --build-arg INSTALL_SGL_LIB=0 --build-arg INSTALL_SGL_SAMPLES=0 -t saturn-docker . --file ./Dockerfile

  • docker build --build-arg GCC_VERSION_ARG=12.3.0
    --build-arg INSTALL_SATURNSDK_SAMPLES=1
    --build-arg INSTALL_JO_ENGINE_LIB=1
    --build-arg INSTALL_JO_ENGINE_SAMPLES=1
    --build-arg INSTALL_YAUL_LIB_ARG=1
    --build-arg INSTALL_YAUL_SAMPLES=1
    --build-arg INSTALL_SBL_LIB=1
    --build-arg INSTALL_SBL_SAMPLES=1
    --build-arg INSTALL_SBL_EXAMPLES=1
    --build-arg INSTALL_SGL_LIB=1
    --build-arg INSTALL_SGL_SAMPLES=1
    --build-arg MAKEFLAGS_ARG="-j 8"
    -t saturn-docker . --file ./Dockerfile

Docker Hub : https://hub.docker.com/r/willll/saturn-docker/tags

Content

TODO

Build status

Tools

  • SGL (patched)
  • SGL Samples
    • akira
    • akira3
    • demo_a
    • demo_b
    • demo_c
    • demo_d
    • demogun
    • design1
    • design2
    • design3
    • driving
    • driving2
    • fighting
    • s_2_2
    • s_3_2
    • s_4_2
    • s_4_3_1
    • s_4_3_2
    • s_4_3_3
    • s_4_3_4
    • s_4_5
    • s_5_2
    • s_6_3
    • s_7_2
    • s_7_4
    • s_7_6
    • s_8_8_1
    • s_8_8_2
    • s_8_8_3
    • s_8_9_1
    • s_8_9_2
    • s_8_10_1
    • s_8_10_2
    • s_8_11
    • s_8_12
    • s_9_1
    • s_10
    • s_cd1
    • s_cd2
    • s_cd3
    • s_cd4
    • sampsnd1
    • sampsnd2
    • sbklib
    • sega2d_1
    • sega3d_1
    • sega3d_2
    • sega3d_3
    • shooting
    • torus2
    • torus3
  • SGL Samples from SGL 3.20
    • bitmap
    • cdda (Missing tracks ?)
    • coloff
    • expccalc
    • grad
    • linecol
    • linscl
    • pcm
      • seamless
        • all (Error : Stream System open)
        • basic (Error : Stream System open)
        • ff (Error : Stream System open)
        • pause (Error : Stream System open)
      • simple
        • all (Error : Stream System open)
        • gfs (Error : Stream System open)
        • mem (Error : Stream System open)
        • stm (Error : Stream System open)
    • rotatebg
      • coef
      • linecol
    • shadow
      • msb
      • sprite
    • sound
      • mapchg (Black screen)
      • sndtest (no sounds ?)
    • spccalc
      • cel
      • dot
    • spprio
      • cel
      • dot
    • sprcc2bg
      • apply
      • basic
    • window
      • sprwin
  • SGL Demos
    • biplane (Missing files in scroll folder)
    • cdda_sgl (Missing files in src folder)
    • chrome
    • flying

SGL 3.20

  • SGL
  • SGL Samples

SBL 6.01

  • SBL Libs
  • SBL Samples
    • bup
    • csh
    • dbg
      • smpdbg1
    • dma
      • dma0
      • dma1
      • dma2
      • dma10
      • dma12
    • dual (required or just sample code ?)
    • fld
      • smpfld01 (Crash at runtime)
    • [?] game (black screen at runtime)
    • [?] game_cd (black screen at runtime)
    • gfs
      • smpgfs1a (Crash at runtime)
      • smpgfs1b (Crash at runtime)
      • smpgfs2 (Crash at runtime)
    • mem
      • smpmem0 (Crash at runtime)
      • [?] smpmem1 (black screen at runtime)
    • mpg
      • smpmpg1
    • pcm
      • pcm2 (Crash at runtime)
      • pcm3 (black screen at runtime)
      • pcm4 (black screen at runtime)
      • pcm5 (Crash at runtime)
      • pcm13 (black screen at runtime)
    • per
      • smpper0 (no output)
      • smpper1 (no output)
      • smpper7 (controls ?)
      • smpper8
      • smpper12
    • sblsgl
      • sblsgl00 (Link errors)
      • sblsgl01 (Link errors)
      • sblsgl02 (Link errors)
      • sblsgl03 (Link errors)
      • sblsgl04 (Link errors)
    • scl
      • smpscl1
      • smpscl3
      • smpscl5
    • sgl
      • demo_a
      • demo_b
      • demo_c
      • s_2_2
      • s_3_2
      • s_4_2
      • s_4_3_1
      • s_4_3_2
      • s_4_3_3
      • s_4_3_4
      • s_4_5 (black screen at runtime)
      • s_5_2 (black screen at runtime)
      • s_6_3 (black screen at runtime)
      • s_7_2
      • s_7_4
      • s_7_6 (black screen at runtime)
    • snd
      • smpsnd1 (Runtime ???)
      • smpsnd4 (Runtime ???)
      • smpsnd5 (Runtime ???)
      • smpsnd6 (Missing header file)
    • spr
      • spr2
      • spr7
      • spr8
    • stm
      • smpstm1 (Crash at runtime)
      • smpstm2 (Crash at runtime)
    • sys (Not tested)
    • tim
      • smp0 (Crash at runtime)
      • smp1 (Crash at runtime)

SDK Samples

  • SDK Samples
    • Basic
    • Sprite
    • Textured Sprite
    • CDBrowser
  • Jo Engine
  • Jo Engine Samples
    • demo1
    • demo - homing laser
    • demo - 2D storyboard
    • demo - line scroll
    • demo - 3D
    • demo - map
    • demo - 3D map
    • demo - mode7
    • demo - 3D - programmatically
    • demo - multitap
    • demo - 8bits tga
    • demo - nbg2 font
    • demo - advanced 3D
    • demo - paint
    • demo - audio
    • demo - printf
    • demo - background
    • demo - shooter
    • demo - backup
    • demo - simple water effect
    • demo - bullet
    • demo - software rendering
    • demo - debug console
    • demo - sonic
    • demo - everydaycute
    • demo - sprite animation
    • demo - filesystem
    • demo - tileset
    • demo - gamepad
    • demo - vdp2 plane
    • demo - gouraud shading
    • demo - video
    • demo - hardcoded image
    • demo - visual novel
  • Yaul
    • Yaul Library
    • Yaul Examples (https://github.com/yaul-org/libyaul-examples)
      • arp-comm << This example is disabled
      • bcl
      • c++
      • cd-block
      • cpu-divu
      • cpu-dmac
      • cpu-dual
      • cpu-frt
      • cpu-wdt
      • dbgio-font
      • dbgio-menu
      • dbgio-usb-cart
      • dma-queue
      • dram-cart
      • fibers
      • fileserver
      • gdb
      • mm-stats
      • netlink-template
      • scu-dsp
      • scu-timers << This example is disabled
      • smpc-rtc
      • usb-cart
      • vdp1-balls
      • vdp1-drawing
      • vdp1-interlace
      • vdp1-mesh
      • vdp1-mic3d
      • vdp1-normal-sprite
      • vdp1-software-blending
      • vdp1-st-niccc
      • vdp1-uv-coords
      • vdp1-zoom-sprite
      • vdp2-24bpp-bitmap
      • vdp2-all-nbgs
      • vdp2-back-screen
      • vdp2-effect-tunnel
      • vdp2-line-scroll
      • vdp2-nbg0
      • vdp2-normal-bitmap
      • vdp2-rbg0-bitmap
      • vdp2-rbg0
      • vdp2-reduction-bitmap
      • vdp2-special-function
      • vdp2-zooming

Misc notes :

https://github.com/RetroReversing/retroReversing/tree/master/pages/sega/saturn

Boost preprocessor introduction : https://www.boost.org/doc/libs/1_76_0/libs/preprocessor/doc/AppendixA-AnIntroductiontoPreprocessorMetaprogramming.html

saturn-docker's People

Contributors

rtoumazet avatar tiagosr avatar willll avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

tiagosr

saturn-docker's Issues

GFCB_GetLenData not declared

/opt/saturn/tmp/sbl6/segalib/stm/stm_loc.c: In function 'STL_GetSctInfo':
/opt/saturn/tmp/sbl6/segalib/stm/stm_loc.c:232:12: warning: implicit declaration of function 'GFCB_GetLenData'; did you mean 'GFCD_GetLenData'? [-Wimplicit-function-declaration]
232 | nsct = GFCB_GetLenData(flow, STM_LONG_MAX, NULL);
| ^~~~~~~~~~~~~~~
| GFCD_GetLenData

STMMNG_ResetLstStm undeclared

/opt/saturn/tmp/sbl6/segalib/stm/stm_svr.c: In function 'STMSVR_SetReadEnd':
/opt/saturn/tmp/sbl6/segalib/stm/stm_svr.c:503:17: warning: implicit declaration of function 'STMMNG_ResetLstStm'; did you mean 'STMMNG_GetLstFad'? [-Wimplicit-function-declaration]
503 | STMMNG_ResetLstStm(grp);
| ^~~~~~~~~~~~~~~~~~
| STMMNG_GetLstFad

sega_per.a is corrupted

[ 93%] Building C object per/CMakeFiles/sega_per.dir/per_prt.c.obj
cd /opt/saturn/tmp/sbl6/segalib/bin/per && /opt/saturn/toolchain/bin/sh-elf-gcc -DMODEL_S -D_SH -I/opt/saturn/tmp/sbl6/segalib/include -Wfatal-errors -Wfatal-errors -Wall -Wpointer-sign -m2 -Os -finline-functions -fomit-frame-pointer -MD -MT per/CMakeFiles/sega_per.dir/per_prt.c.obj -MF CMakeFiles/sega_per.dir/per_prt.c.obj.d -o CMakeFiles/sega_per.dir/per_prt.c.obj -c /opt/saturn/tmp/sbl6/segalib/per/per_prt.c
/opt/saturn/tmp/sbl6/segalib/per/per_prt.c: In function 'PER_GetPer':
/opt/saturn/tmp/sbl6/segalib/per/per_prt.c:501:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
[ 94%] Linking C static library sega_per.a
cd /opt/saturn/tmp/sbl6/segalib/bin/per && /usr/bin/cmake -P CMakeFiles/sega_per.dir/cmake_clean_target.cmake
cd /opt/saturn/tmp/sbl6/segalib/bin/per && /usr/bin/cmake -E cmake_link_script CMakeFiles/sega_per.dir/link.txt --verbose=1
/opt/saturn/toolchain/bin/sh-elf-ar rv sega_per.a CMakeFiles/sega_per.dir/per_prt.c.obj ../../per/per_prt.o
/opt/saturn/toolchain/bin/sh-elf-ar: creating sega_per.a
/opt/saturn/toolchain/bin/sh-elf-ar: warning: ../../per/per_prt.o has a corrupt section with a size (20000000) larger than the file size
/opt/saturn/toolchain/bin/sh-elf-ar: warning: ../../per/per_prt.o has a corrupt section with a size (1b000000) larger than the file size
a - CMakeFiles/sega_per.dir/per_prt.c.obj
a - ../../per/per_prt.o
/opt/saturn/toolchain/bin/sh-elf-ar: warning: ../../per/per_prt.o has a corrupt section with a size (20000000) larger than the file size
/opt/saturn/toolchain/bin/sh-elf-ar: warning: ../../per/per_prt.o has a corrupt section with a size (1b000000) larger than the file size
/opt/saturn/toolchain/bin/sh-elf-ranlib sega_per.a
/opt/saturn/toolchain/bin/sh-elf-ranlib: warning: sega_per.a(per_prt.o) has a corrupt section with a size (20000000) larger than the file size
/opt/saturn/toolchain/bin/sh-elf-ranlib: warning: sega_per.a(per_prt.o) has a corrupt section with a size (1b000000) larger than the file size
/opt/saturn/toolchain/bin/sh-elf-ranlib: warning: sega_per.a(per_prt.o) has a corrupt section with a size (20000000) larger than the file size
/opt/saturn/toolchain/bin/sh-elf-ranlib: warning: sega_per.a(per_prt.o) has a corrupt section with a size (1b000000) larger than the file size

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.