Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Sariohara/DreamShell

 
 

Repository files navigation

DreamShell

The Dreamshell is the operating system for the Sega Dreamcast based on the KallistiOS kernel. It has a dynamic loadable modular system and interface for creating applications with XML UI and both C/C++ and Lua script on. You can see examples in ready-made applications and modules, drivers for various devices, formats and interfaces. Examples for audio and video decoding, compression, packaging, binding, network, emulation, scripts and more. From hardcore low-level assembler to high-level applications. There are also large subproject is the ISO Loader, which contains emulation of BIOS system calls, CDDA playback and VMU, also it can hooking interrupts for various SDKs and more.

Build

Setup environment

Packages
sudo apt-get install -y genisoimage squashfs-tools texinfo git
sudo apt-get install -y libpng-dev libjpeg-dev liblzo2-dev liblua5.2-dev
sudo apt-get install -y libmpc-dev
cd /tmp
git clone https://github.com/LuaDist/tolua.git
cd /tmp/tolua && mkdir build && cd ./build
cmake ../ && make && sudo make install
Code
sudo mkdir -p /usr/local/dc/kos
sudo chown -R $(id -u):$(id -g) /usr/local/dc
cd /usr/local/dc/kos
git clone https://github.com/KallistiOS/kos-ports.git
git clone https://github.com/KallistiOS/KallistiOS.git kos
cd /usr/local/dc/kos/kos
git clone https://github.com/DC-SWAT/DreamShell.git ds
git checkout `cat ds/sdk/doc/KallistiOS.txt`
cp ds/sdk/toolchain/environ.sh environ.sh
cp ds/sdk/toolchain/patches/*.diff utils/dc-chain/patches
Toolchain
sudo mkdir -p /opt/toolchains/dc
sudo chown -R $(id -u):$(id -g) /opt/toolchains/dc
cd /usr/local/dc/kos/kos/utils/dc-chain
cp Makefile.default.cfg Makefile.cfg
make
SDK
cd /usr/local/dc/kos/kos
source ./environ.sh
make && cd ../kos-ports && ./utils/build-all.sh
cd ${KOS_BASE}/ds/sdk/bin/src && make && make install
cd ${KOS_BASE}/ds
ln -nsf `which tolua` sdk/bin/tolua
ln -nsf `which mkisofs` sdk/bin/mkisofs
ln -nsf `which mksquashfs` sdk/bin/mksquashfs

Use environment

for each new terminal type:
cd /usr/local/dc/kos/kos/ds && source ../environ.sh

Build code

Full build
make build
Full clean
make clean-all
Make release package
make release
Update code from GitHub
make update
Update code from GitHub and re-build
make update-build
Re-build toochain (if updated)
make toolchain
Core and libraries only
make
Modules, applications and commands only
cd ${KOS_BASE}/ds/modules && make
cd ${KOS_BASE}/ds/commands && make
cd ${KOS_BASE}/ds/applications && make
Firmwares only
cd ${KOS_BASE}/ds/firmware/bootloader && make && make release
cd ${KOS_BASE}/ds/firmware/isoldr && make && make install

Running

  • dc-tool-ip: make run
  • dc-tool-serial: make run-serial
  • lxdream emulator: make lxdream
  • nulldc emulator: make nulldc
  • flycast emulator: make flycast
  • make cdi image: make cdi

Links

About

Operating system for the Sega Dreamcast

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 87.9%
  • Shell 2.9%
  • Assembly 2.9%
  • Makefile 2.0%
  • C++ 1.4%
  • HTML 1.0%
  • Other 1.9%