dc-swat / dreamshell Goto Github PK
View Code? Open in Web Editor NEWOperating system for the Sega Dreamcast
Home Page: http://www.dc-swat.ru
Operating system for the Sega Dreamcast
Home Page: http://www.dc-swat.ru
I followed all of the instructions in the toolchain Makefile (installed gcc 8.1.0 and exported path correctly).
Patching fails on one file for some reason, one of the KOS headers but I was able to easily make the patch changes manually.
Then running make build
compiles for a while then I hit this error:
../../../gcc-7.1.0/libgcc/libgcc2.c \
-fexceptions -fnon-call-exceptions -fvisibility=hidden -DHIDE_EXPORTS
../../../../gcc-7.1.0/libgcc/libgcc2.c: In function ‘__divdi3’:
../../../../gcc-7.1.0/libgcc/libgcc2.c:1091:9: internal compiler error: Segmentation fault: 11
d0 = 1 / d0; /* Divide intentionally by zero. */
~~~^~~~~~~~
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
make[5]: *** [_divdi3.o] Error 1
make[4]: *** [multi-do] Error 1
make[3]: *** [all-multi] Error 2
make[2]: *** [all-target-libgcc] Error 2
make[1]: *** [all] Error 2
make: *** [build-sh4-gcc-pass1] Error 1
Any ideas? I see that the macOS toolchain build instructions were literally added days ago by @yevgeniy-logachev, so I assume it should work.
Hi,
I'm trying to create a Docker-Container to build DreamShell within.
I already created a container including the KOS-Toolchain, which works just fine.
Based on that container, I build the DS-Toolchain & libs, patched & rebuild KOS. Every Makefile exits with Returncode 0. See the Dockerfile for details. [0]
I forked DS to fix KOS-Patching & change KOS-Location in Makefile. See [1] for details.
But I still got a problem linking DS:
/opt/toolchains/dc/kos/utils/genexports/genexports.sh exports.txt ./src/exports.c ds_symtab
/opt/toolchains/dc/kos/utils/genexports/genexportstubs.sh exports.txt ./src/exports_stubs.c
make -f Makefile.stubs
make[1]: Entering directory '/opt/toolchains/dc/kos/ds'
kos-cc -c src/exports_stubs.c -o src/exports_stubs.o
rm -f ./sdk/lib/libds.a
/opt/toolchains/dc/sh-elf/bin/sh-elf-ar rcs ./sdk/lib/libds.a ./src/exports_stubs.o
make[1]: Leaving directory '/opt/toolchains/dc/kos/ds'
kos-cc -c src/exports.c -o src/exports.o
/opt/toolchains/dc/kos/utils/genexports/genexports.sh exports_gcc.txt ./src/exports_gcc.c gcc_symtab
/opt/toolchains/dc/kos/utils/genexports/genexportstubs.sh exports_gcc.txt ./src/exports_gcc_stubs.c
make -f Makefile.gcc_stubs
make[1]: Entering directory '/opt/toolchains/dc/kos/ds'
kos-cc -c src/exports_gcc_stubs.c -o src/exports_gcc_stubs.o
rm -f ./sdk/lib/libds_gcc.a
/opt/toolchains/dc/sh-elf/bin/sh-elf-ar rcs ./sdk/lib/libds_gcc.a ./src/exports_gcc_stubs.o
make[1]: Leaving directory '/opt/toolchains/dc/kos/ds'
kos-cc -c src/exports_gcc.c -o src/exports_gcc.o
/opt/toolchains/dc/kos/utils/genromfs/genromfs -f romdisk.img -d romdisk -v
0 rom 5a699a15 [0xffffffff, 0xffffffff] 37777777777, sz 0, at 0x0
1 . [0xc4 , 0x97ca6c ] 0040755, sz 0, at 0x20
1 .. [0xc4 , 0x97c281 ] 0040755, sz 0, at 0x40 [link to 0x20 ]
1 logo.kmg.gz [0xfd18 , 0x4a958f ] 0100644, sz 31403, at 0x60
/opt/toolchains/dc/kos/utils/bin2o/bin2o romdisk.img romdisk romdisk.o
/opt/toolchains/dc/sh-elf/bin/sh-elf-gcc -O2 -fomit-frame-pointer -ml -m4-single-only -ffunction-sections -fdata-sections -I/opt/toolchains/dc/kos/include -I/opt/toolchains/dc/kos/kernel/arch/dreamcast/include -I/opt/toolchains/dc/kos/addons/include -I/opt/toolchains/dc/kos/../kos-ports/include -D_arch_dreamcast -D_arch_sub_pristine -Wall -g -fno-builtin -fno-strict-aliasing -I/opt/toolchains/dc/kos/ds/sdk/include -I/opt/toolchains/dc/kos/ds/sdk/include/SDL -DTARGET_NAME= -DDS_ARCH_DC -I./include -I./include/SDL -I./include/fatfs -I./include/ntfs -DHAVE_SDLIMAGE -DVER_MAJOR=4 -DVER_MINOR=0 -DVER_MICRO=0 -DVER_BUILD=0x24 -ml -m4-single-only -Wl,-Ttext=0x8c010000 -Wl,--gc-sections -T/opt/toolchains/dc/kos/utils/ldscripts/shlelf.xc -nodefaultlibs -L/opt/toolchains/dc/kos/lib/dreamcast -L/opt/toolchains/dc/kos/addons/lib/dreamcast -L/opt/toolchains/dc/kos/../kos-ports/lib -L./lib -o DS.elf \
./src/main.o ./src/video.o ./src/console.o ./src/gui/gui.o ./src/commands.o ./src/module.o ./src/events.o ./src/fs/fs.o ./src/lua/lua.o ./src/lua/lua_ds.o ./src/lua/packlib.o ./src/app/app.o ./src/app/load.o ./src/list.o ./src/img/pvr.o ./src/cmd_elf.o ./src/vmu/vmu.o ./src/irq/exceptions.o ./src/irq/setjmp.o ./src/settings.o ./src/drivers/spi.o ./src/drivers/sd.o ./src/drivers/enc28j60.o ./src/drivers/asic.o ./src/drivers/rtc.o ./lib/SDL_gui/SDL_gui.o ./lib/SDL_gui/Exception.o ./lib/SDL_gui/Object.o ./lib/SDL_gui/Surface.o ./lib/SDL_gui/Font.o ./lib/SDL_gui/Callback.o ./lib/SDL_gui/Drawable.o ./lib/SDL_gui/Screen.o ./lib/SDL_gui/Widget.o ./lib/SDL_gui/Container.o ./lib/SDL_gui/FastFont.o ./lib/SDL_gui/TrueTypeFont.o ./lib/SDL_gui/Layout.o ./lib/SDL_gui/Panel.o ./lib/SDL_gui/CardStack.o ./lib/SDL_gui/FastLabel.o ./lib/SDL_gui/Label.o ./lib/SDL_gui/Picture.o ./lib/SDL_gui/TextEntry.o ./lib/SDL_gui/AbstractButton.o ./lib/SDL_gui/Button.o ./lib/SDL_gui/ToggleButton.o ./lib/SDL_gui/ProgressBar.o ./lib/SDL_gui/ScrollBar.o ./lib/SDL_gui/AbstractTable.o ./lib/SDL_gui/ListBox.o ./lib/SDL_gui/VBoxLayout.o ./lib/SDL_gui/RealScreen.o ./lib/SDL_gui/ScrollPanel.o ./lib/SDL_gui/RTF.o ./lib/SDL_gui/Window.o ./lib/SDL_gui/FileManager.o ./lib/SDL_Console/src/SDL_console.o ./lib/SDL_Console/src/DT_drawtext.o ./lib/SDL_Console/src/internal.o ./src/utils.o ./src/utils/gmtime.o ./src/utils/strftime.o ./src/utils/debug_console.o ./src/utils/memcpy.op ./src/utils/memset.op ./src/utils/memmove.op ./src/fs/fat/utils.o ./src/fs/fat/option/ccsbcs.o ./src/fs/fat/option/syscall.o ./src/fs/fat/ff.o ./src/fs/fat/dc.o ./src/exports.o ./src/exports_gcc.o romdisk.o -lcfg -lmxml -lparallax -lSDL_1.2.13 -lSDL_image_1.2.12 -lSDL_ttf_2.0.11 -lSDL_rtf_0.1.1 -lSDL_gfx_2.0.25 -lfreetype -lkmg -ljpeg -lpng -lz -llua_5.1.4-2 -lkosext2fs -lkosutils -lstdc++ -lm -Wl,--start-group -lkallisti -lc -lgcc -Wl,--end-group
/opt/toolchains/dc/sh-elf/lib/gcc/sh-elf/7.1.0/../../../../sh-elf/lib/libstdc++.a(eh_throw.o): In function `__gxx_exception_cleanup':
/opt/toolchains/dc/kos/ds/sdk/toolchain/build-gcc-sh-elf-7.1.0/sh-elf/libstdc++-v3/libsupc++/../../../../gcc-7.1.0/libstdc++-v3/libsupc++/eh_throw.cc:44: undefined reference to `__gnu_cxx::__exchange_and_add(int volatile*, int)'
collect2: error: ld returned 1 exit status
Makefile:141: recipe for target 'DS.elf' failed
make: *** [DS.elf] Error 1
The command '/bin/sh -c bash -c 'source /opt/toolchains/dc/kos/environ.sh; make'' returned a non-zero code: 2
Any advice?
[0] https://github.com/Nold360/docker-kallistios-sdk/blob/dreamshell/Dockerfile
[1] master...Nold360:master
I'm building per instructions in the readme, but after setting up the SDK, DS seems to fail to compile:
kos-cc -c src/mat3d.c -o src/mat3d.o
src/mat3d.c:42:28: fout: ‘PLX_MAT_COUNT’ undeclared here (not in a function)
42 | static matrix_t trans_mats[PLX_MAT_COUNT] __attribute__((aligned(32)));
| ^~~~~~~~~~~~~
src/mat3d.c: In functie ‘plx_mat3d_perspective’:
src/mat3d.c:120:9: let op: implicit declaration of function ‘plx_mat3d_frustum’; did you mean ‘plx_mat3d_store’? [-Wimplicit-function-declaration]
120 | plx_mat3d_frustum(xmin, xmax, ymin, ymax, znear, zfar);
| ^~~~~~~~~~~~~~~~~
| plx_mat3d_store
src/mat3d.c: Op bovenste niveau:
src/mat3d.c:130:6: let op: conflicting types for ‘plx_mat3d_frustum’; have ‘void(float, float, float, float, float, float)’
130 | void plx_mat3d_frustum(float left, float right,
| ^~~~~~~~~~~~~~~~~
src/mat3d.c:120:9: note: previous implicit declaration of ‘plx_mat3d_frustum’ with type ‘void(float, float, float, float, float, float)’
120 | plx_mat3d_frustum(xmin, xmax, ymin, ymax, znear, zfar);
| ^~~~~~~~~~~~~~~~~
src/mat3d.c: In functie ‘plx_mat3d_push’:
src/mat3d.c:159:14: fout: ‘PLX_MAT_MODELVIEW’ undeclared (first use in this function)
159 | case PLX_MAT_MODELVIEW:
| ^~~~~~~~~~~~~~~~~
src/mat3d.c:159:14: note: each undeclared identifier is reported only once for each function it appears in
src/mat3d.c:168:14: fout: ‘PLX_MAT_PROJECTION’ undeclared (first use in this function)
168 | case PLX_MAT_PROJECTION:
| ^~~~~~~~~~~~~~~~~~
src/mat3d.c: In functie ‘plx_mat3d_pop’:
src/mat3d.c:185:14: fout: ‘PLX_MAT_MODELVIEW’ undeclared (first use in this function)
185 | case PLX_MAT_MODELVIEW:
| ^~~~~~~~~~~~~~~~~
src/mat3d.c:194:14: fout: ‘PLX_MAT_PROJECTION’ undeclared (first use in this function)
194 | case PLX_MAT_PROJECTION:
| ^~~~~~~~~~~~~~~~~~
src/mat3d.c: In functie ‘plx_mat3d_peek’:
src/mat3d.c:211:14: fout: ‘PLX_MAT_MODELVIEW’ undeclared (first use in this function)
211 | case PLX_MAT_MODELVIEW:
| ^~~~~~~~~~~~~~~~~
src/mat3d.c:219:14: fout: ‘PLX_MAT_PROJECTION’ undeclared (first use in this function)
219 | case PLX_MAT_PROJECTION:
| ^~~~~~~~~~~~~~~~~~
src/mat3d.c: In functie ‘plx_mat3d_lookat’:
src/mat3d.c:373:9: let op: implicit declaration of function ‘mat_translate’; did you mean ‘mat_transform’? [-Wimplicit-function-declaration]
373 | mat_translate(-eye->x, -eye->y, -eye->z);
| ^~~~~~~~~~~~~
| mat_transform
src/mat3d.c: In functie ‘plx_mat3d_apply’:
src/mat3d.c:386:21: fout: ‘PLX_MAT_SCREENVIEW’ undeclared (first use in this function)
386 | if (mode != PLX_MAT_SCREENVIEW) {
| ^~~~~~~~~~~~~~~~~~
src/mat3d.c: In functie ‘plx_mat3d_apply_all’:
src/mat3d.c:420:32: fout: ‘PLX_MAT_PROJECTION’ undeclared (first use in this function)
420 | mat_apply(trans_mats + PLX_MAT_PROJECTION);
| ^~~~~~~~~~~~~~~~~~
src/mat3d.c:421:32: fout: ‘PLX_MAT_WORLDVIEW’ undeclared (first use in this function)
421 | mat_apply(trans_mats + PLX_MAT_WORLDVIEW);
| ^~~~~~~~~~~~~~~~~
src/mat3d.c:422:32: fout: ‘PLX_MAT_MODELVIEW’ undeclared (first use in this function)
422 | mat_apply(trans_mats + PLX_MAT_MODELVIEW);
| ^~~~~~~~~~~~~~~~~
src/mat3d.c: In functie ‘plx_mat3d_init’:
src/mat3d.c:434:23: fout: ‘PLX_MAT_PROJECTION’ undeclared (first use in this function)
434 | matrix_mode = PLX_MAT_PROJECTION;
| ^~~~~~~~~~~~~~~~~~
src/mat3d.c: Op bovenste niveau:
src/mat3d.c:42:17: let op: ‘trans_mats’ defined but not used [-Wunused-variable]
42 | static matrix_t trans_mats[PLX_MAT_COUNT] __attribute__((aligned(32)));
| ^~~~~~~~~~
make[2]: *** [/usr/local/dc/kos/kos/Makefile.rules:14: src/mat3d.o] Fout 1
make[2]: Map '/usr/local/dc/kos/kos/ds/lib/libparallax' wordt verlaten
make[1]: *** [Makefile:16: _dir_libparallax] Fout 2
make[1]: Map '/usr/local/dc/kos/kos/ds/lib' wordt verlaten
make: *** [Makefile:173: /usr/local/dc/kos/kos/ds/lib/libSDL_1.2.13.a] Fout 2
any ideas?
I downloaded a build folder from this GitHub page and renamed build folder to DS folder and place it to root of SD Card. After boot to DreamShell. VMU Manager App is not there anymore!
Can you please add VMU Manager back in next build version on GitHub? Or you're just waiting until the next major update version on main website?
If possible I'd like to request two features for the next release.
Option to automatically connect the Broadband Adapter and start FTP server during DS startup.
This is the first step towards remote debugging.
Controller hotplug support.
I'm using a BlueRetro (bluetooth) adapter and when I connect (pair) controller after DS has been started, it will not work.
The controller has to be connected before DS boots (during boot swirl).
I've tried both Quake 3 Arena and Unreal Tournament in todays build.
Both are working fine with the same settings on 4.0.0 final release.
Heya,
not sure if anyone even still reads this. I tried to compile everything as written at https://github.com/DC-SWAT/DreamShell
Problem 1: it wasn't written, that I need the lua package, which I have installed (maybe add it in the first two apt-gets?)
Problem 2: I'm at the point of the list where I should make source ./environ.sh, but:
I have downloaded and extracted the gcc 5.2.0 from the webpage, but inside are only Windows executables? How can I compile with them?
Trying to build with the most recent github repository because when I try to dump Sonic Adventure 2 or Ecco with DreamShell 4.0 RC 4 CDI Image the Sega Logo never even starts becoming blue, the whole DC hangs and on the SD disc I only have a 0 byte file.
I was able to dump Sonic Adventure 1 with it. I hoped, the most recent repository version might have a different outcome.
Just a reminder, so we can test once the problem has been fixed.
I recently flashed this version to my DC and I lost the use of my GD-ROM. Any disk I put in just hangs on the initial read. If I boot the DC with the disk in the drive it hangs on boot logo. V01 DC was running perfectly with region free bios chip on JC and DS bios before this. Without the use of the GD-ROM I'm stuck on this bios with no way to load DS to flash a good firmware.
Please, could you add the new Bios and compilate it for the web? This way, the people that download in DC-Swat the .cdi image could install the new Bios without SD reader.
Link for download the new BIOS: http://www.mediafire.com/file/71bvzm5e1bnzcb5/jc-bootROM-v1.032.zip
New about new BIOS: http://japanese-cake.livejournal.com/10056.html
Hi there,
I was trying to build DreamShell by following the instructions.
But it seems to fail near the end: cd ../isoldr/loader && make && make install
sh-elf-gcc -ml -m4-single-only -ffunction-sections -fdata-sections -ffreestanding -fno-builtin -fno-strict-aliasing -fomit-frame-pointer -Wall -std=c11 -Wextra -Werror -DVERSION=\"0.8.0.Beta\" -DLOADER_ADDR=0x8ce00000 -I./kos -I./include -I./kos -I../../../include -D_FS_READONLY=1 -DHAVE_CDDA=1 -DHAVE_EXPT=1 -DNO_ASIC_LT=1 -Wa,--isa=sh4a-nofpu -DMAX_OPEN_FILES=3 -DDEV_NAME=\"DC-LOAD\" -DDEV_TYPE_DCL=1 -Wl,--gc-sections -Tshlelf.xc -nostartfiles -nostdlib -nodefaultlibs -o build/dcl.elf startup.os main.o syscalls.o reader.o mmu.o utils.o malloc.o descramble.o gdc_syscall.o menu_syscall.o sys_syscall.o bfont_syscall.o flash_syscall.o ./kos/src/memmove.o ./kos/src/memcpy.o ./kos/src/memset.o ./kos/src/memcmp.o ./kos/src/memchr.o ./kos/src/strlen.o ./kos/src/timer.o ./kos/src/cache.o ./kos/src/biosfont.o pcm_split.o cdda.o exception-lowlevel.o exception.o asic.o ubc.o dcload.o dcload-syscall.o ./fs/dcl/fs.o -lgcc
/opt/toolchains/dc/sh-elf/lib/gcc/sh-elf/9.3.0/../../../../sh-elf/bin/ld: main.o: in function `_main':
main.c:(.text.startup.main+0x1f4): undefined reference to `_fs_enable_dma'
collect2: fout: ld gaf exit-status 1 terug
make[1]: *** [Makefile.dcl:18: build/dcl.elf] Fout 1
make[1]: Map '/usr/local/dc/kos/kos/ds/firmware/isoldr/loader' wordt verlaten
make: *** [Makefile:28: build/dcl.bin] Fout 2
Any ideas?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.