Giter Site home page Giter Site logo

andwn / marsdev Goto Github PK

View Code? Open in Web Editor NEW
160.0 12.0 17.0 351 KB

Cross platform Mega Drive / 32X toolchain

License: MIT License

Makefile 64.04% C 27.38% Dockerfile 8.58%
mega-drive-toolchains sgdk sega-genesis sega-mega-drive gnu-toolchain sega-32x megadrive

marsdev's People

Contributors

andwn avatar dleslie avatar pseiler avatar tapule avatar tiagosr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

marsdev's Issues

Building C for Genesis with newlib results in a broken ROM

This is the 2022.02 release binaries on linux. Can be reproduced by simply compiling the md-skeleton example with the makefile modified for newlib (I removed -nostdlib, uncommented the -lnosys line). Loading the resulting out.bin in a hex editor shows 0xF0 bytes of random code located before the vector table.

Snippet of symbols.txt showing the relevant bits:

00000000 b 
00000000 t deregister_tm_clones
00000000 A __DYNAMIC
00000000 b __FRAME_END__
00000026 t register_tm_clones
00000054 A _sdata
0000005c t __do_global_dtors_aux
000000cc t call___do_global_dtors_aux
000000ce t frame_dummy
000000ee t call_frame_dummy
000000f0 t RomStart
000001f0 t RomHeader
000002f0 t _start
00000308 t NoTMSS

This is using the md.ld linkscript that comes with the toolchain.

Some googling tells me those symbols (deregister_tm_clones etc) are related to GCC internals regarding C++ which is more confusing as this is a C program. I don't know if this is a bug or a misunderstanding on my part about newlib: I want a barebones setup without SGDK, but I need some library functions.

Doesnt work on SGDK 1.51 (Ubuntu)?

Hello it compiles fine no error(besides renaming some stuff on examples to make it compatible with last SGDK). When i load up the rom it doesnt look like any stuff is uploaded like palette, tiles etc and i get garbage on screen.

I am using last ubuntu 20.04 if that matters.

btw this is my log file when i run "make" on marsdev

make -C toolchain ARCH=m68k make[1]: Entering directory '/home/valdirsalgueiro/pvt/marsdev/toolchain' +++ Building binutils-2.33.1 for m68k... cd binutils-2.33.1/build && \ ../configure --target=m68k-elf --prefix=/home/valdirsalgueiro/mars/m68k-elf --with-cpu=m68000 \ --enable-install-libbfd --enable-shared=no --disable-nls --disable-werror \ > /home/valdirsalgueiro/pvt/marsdev/toolchain/binutils-m68k.log 2>&1 make -C binutils-2.33.1/build all install-strip \ >> /home/valdirsalgueiro/pvt/marsdev/toolchain/binutils-m68k.log 2>&1 +++ Building gcc-9.2.0 for m68k... cd gcc-9.2.0 && ./contrib/download_prerequisites \ > /home/valdirsalgueiro/pvt/marsdev/toolchain/gcc-m68k.log 2>&1 cd gcc-9.2.0/build && \ ../configure --target=m68k-elf --prefix=/home/valdirsalgueiro/mars/m68k-elf \ --enable-languages=c --with-cpu=m68000 \ --without-headers --disable-libssp \ --disable-threads --disable-tls --disable-multilib \ --enable-shared=no --disable-nls --disable-werror \ >> /home/valdirsalgueiro/pvt/marsdev/toolchain/gcc-m68k.log 2>&1 make -C gcc-9.2.0/build all install-strip \ >> /home/valdirsalgueiro/pvt/marsdev/toolchain/gcc-m68k.log 2>&1 make[1]: Leaving directory '/home/valdirsalgueiro/pvt/marsdev/toolchain'

i had to build the other stuff separatedly

thx!

sik-tools will not build on aarch64

It fails here:

/usr/bin/ld: main.o: Relocations in generic ELF (EM: 62)
/usr/bin/ld: main.o: Relocations in generic ELF (EM: 62)
/usr/bin/ld: main.o: error adding symbols: file in wrong format
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:10: echo2vgm] Error 1
make[2]: Leaving directory '/data/Workspace/other/marsdev-master/sik-tools/mdtools/echo2vgm'
make[1]: *** [Makefile:56: /home/dleslie/mars/bin/echo2vgm] Error 2
make[1]: Leaving directory '/data/Workspace/other/marsdev-master/sik-tools'
make: *** [Makefile:36: sik-tools] Error 2

Missing MSYS2 builds for lastest two releases

There is no MSYS2 build for the latest two releases of marsdev. Could you please tell why is this happening? Do you want some help? If so, I volunteer myself to be the mantainer of this particular build. I think I have enough skills and resources to do so.

md-echo-test fails to build

On 2f749a4f3547f9f4b06a2413f30d1efe53e526c6:

Basically, building make z80-tools builds sjasm but not z80asm and yet the md-echo-test example demands z80asm.

I compiled on WSL in an x86-64 ubuntu environment.

Build failing on a 2012 Mac mini running macOS Catalina

ketsuban@[redacted] md-skeleton % MARSDEV=/opt/marsdev make
CC src/error.c
dyld: Library not loaded: /usr/local/opt/zstd/lib/libzstd.1.dylib
  Referenced from: /opt/marsdev/m68k-elf/bin/../libexec/gcc/m68k-elf/12.2.0/cc1
  Reason: image not found
m68k-elf-gcc: internal compiler error: Abort trap: 6 signal terminated program cc1
Please submit a full bug report, with preprocessed source (by using -freport-bug).
See <https://gcc.gnu.org/bugs/> for instructions.
make: *** [src/error.o] Error 4

This is using the most recent release from October.

Update default to version 1.70

Thanks again for the nice work. I'm using marsdev for my own mega drive project as I'm a linux user.

A lot of bugs have been fixed and some improvements were made in the new versions.
I tried SGDK_VER="v1.70" make sgdk and it works perfectly for my project.

Your project cave-story-md also compiles perfectly fine (beside a warning) with SGDK 1.70 via marsdev.

32x-skeleton freezes at the start in Gens

Building the 32X-skeleton, or any 32X project built off of the current release (2021.04) and running it in Gens results in the ROM freezing at the start. Any other emulator, like BizHawk or RetroArch, works. Running it on real hardware works.

I can not replicate this issue with the 2020.01 release in Gens.

Regarding GCC 10 and "multiple definition" errors

I'm making builds for another release some time tomorrow but wanted to throw this note in here in case anyone tries to build before then.

IMPORTANT NOTE ABOUT GCC 10.X:
GCC 10 sets -fno-combine by default, which results in SGDK (and many of my own projects) throwing "multiple definition" errors during the linking stage. To work around this please add -fcombine to the CFLAGS in your Makefile.

Can't compile sgdk -- fails compiling "src/bmp_a.s"

Hi,
When trying to compile sgdk I get an error on one file (cutting some output for brevity).
Not sure there has been any change on sgdk itself that might affect this, I'm just pulling everything today.
I did setup export MARSDEV=/opt/mars , the environment is MINGW64:

make sgdk
...
/opt/mars/m68k-elf/bin/m68k-elf-gcc  -O3 -flto -fuse-linker-plugin -fomit-frame-pointer -m68000 -fno-web -fno-gcse -fno-unit-at-a-time -fshort-enums -fno-builtin -Iinc -Ires -c src/xgm.c -o src/xgm.o
/opt/mars/m68k-elf/bin/m68k-elf-gcc  -O3 -flto -fuse-linker-plugin -fomit-frame-pointer -m68000 -fno-web -fno-gcse -fno-unit-at-a-time -fshort-enums -fno-builtin -Iinc -Ires -c src/ym2612.c -o src/ym2612.o
/opt/mars/m68k-elf/bin/m68k-elf-gcc  -O3 -flto -fuse-linker-plugin -fomit-frame-pointer -m68000 -fno-web -fno-gcse -fno-unit-at-a-time -fshort-enums -fno-builtin -Iinc -Ires -c src/z80_ctrl.c -o src/z80_ctrl.o
/opt/mars/m68k-elf/bin/m68k-elf-gcc  -O3 -flto -fuse-linker-plugin -fomit-frame-pointer -m68000 -fno-web -fno-gcse -fno-unit-at-a-time -fshort-enums -fno-builtin -Iinc -Ires -c src/bmp_a.s -o src/bmp_a.o
src/bmp_a.s: Assembler messages:
src/bmp_a.s:4: Error: Unknown operator -- statement `func clearBitmapBuffer' ignored
src/bmp_a.s:50: Error: Unknown operator -- statement `func copyBitmapBuffer' ignored
src/bmp_a.s:127: Error: Unknown operator -- statement `func BMP_setPixelFastA' ignored
src/bmp_a.s:166: Error: Unknown operator -- statement `func BMP_setPixelA' ignored
src/bmp_a.s:180: Error: Unknown operator -- statement `func BMP_setPixelsFast_V2D' ignored
src/bmp_a.s:233: Error: Unknown operator -- statement `func BMP_setPixels_V2D' ignored
src/bmp_a.s:300: Error: Unknown operator -- statement `func BMP_setPixelsFast' ignored
src/bmp_a.s:352: Error: Unknown operator -- statement `func BMP_setPixels' ignored
src/bmp_a.s:419: Error: Unknown operator -- statement `func BMP_clipLine' ignored
src/bmp_a.s:573: Error: Unknown operator -- statement `func BMP_drawLine' ignored
src/bmp_a.s:723: Error: Unknown operator -- statement `func BMP_isPolygonCulled' ignored
src/bmp_a.s:1985: Error: Unknown operator -- statement `func BMP_drawPolygon' ignored
make[2]: *** [Makefile:72: src/bmp_a.o] Error 1
rm res/libres.s
make[2]: Leaving directory '/home/<my_user>/src/gh/marsdev/sgdk/SGDK'
make[1]: *** [Makefile:34: libmd] Error 2
make[1]: Leaving directory '/home/<my_user>/src/gh/marsdev/sgdk'
make: *** [Makefile:36: sgdk] Error 2

Several error's when i try make sgdk

When I tried to execute the 'make sgdk' command, it returned several errors while attempting to compile the 'bmp.c' file.

src/bmp.c:84:16: erro: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘BMP_init’
84 | void NO_INLINE BMP_init(u16 double_buffer, VDPPlane plane, u16 palette, u16 priority)
| ^~~~~~~~
src/bmp.c:113:16: erro: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘BMP_end’
113 | void NO_INLINE BMP_end()
| ^~~~~~~
src/bmp.c:156:16: erro: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘BMP_reset’
156 | void NO_INLINE BMP_reset()
| ^~~~~~~~~
src/bmp.c:264:15: erro: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘BMP_flip’
264 | u16 NO_INLINE BMP_flip(u16 async)
| ^~~~~~~~
src/bmp.c:1072:16: erro: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘BMP_drawBitmapData’
1072 | void NO_INLINE BMP_drawBitmapData(const u8 *image, u16 x, u16 y, u16 w, u16 h, u32 pitch)
| ^~~~~~~~~~~~~~~~~~
src/bmp.c:1101:16: erro: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘BMP_drawBitmap’
1101 | bool NO_INLINE BMP_drawBitmap(const Bitmap *bitmap, u16 x, u16 y, bool loadpal)
| ^~~~~~~~~~~~~~
src/bmp.c:1130:16: erro: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘BMP_drawBitmapScaled’
1130 | bool NO_INLINE BMP_drawBitmapScaled(const Bitmap *bitmap, u16 x, u16 y, u16 w, u16 h, bool loadpal)
| ^~~~~~~~~~~~~~~~~~~~
src/bmp.c:1161:16: erro: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘BMP_scale’
1161 | void NO_INLINE BMP_scale(const u8 *src_buf, u16 src_wb, u16 src_h, u16 src_pitch, u8 *dst_buf, u16 dst_wb, u16 dst_h, u16 dst_pitch)
| ^~~~~~~~~
src/bmp.c:1262:23: erro: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘initTilemap’
1262 | static void NO_INLINE initTilemap(u16 index)
| ^~~~~~~~~~~
src/bmp.c:1405:22: erro: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘doBlit’
1405 | static u16 NO_INLINE doBlit()

sgdk-ssfmapper fails to link

On 2f749a4f3547f9f4b06a2413f30d1efe53e526c6:

/home/dleslie/mars/m68k-elf/bin/m68k-elf-gcc -o out.elf -T /home/dleslie/mars/ldscripts/sgdk.ld -nostdlib boot/sega.o res/resources.o src/main.o   -L/home/dleslie/mars/m68k-elf/lib/gcc/m68k-elf/9.3.0 -lgcc -u __modsi3 -u __divsi3 -u __mulsi3 -u __umodsi3 -u __udivsi3 -u __umulsi3 -L/home/dleslie/mars/m68k-elf/lib -lmd-far
/home/dleslie/mars/m68k-elf/lib/gcc/m68k-elf/9.3.0/../../../../m68k-elf/bin/ld: boot/sega.o: in function `_EXTINT':
(.text.keepboot+0x44e): undefined reference to `internalExtIntCB'
/home/dleslie/mars/m68k-elf/lib/gcc/m68k-elf/9.3.0/../../../../m68k-elf/bin/ld: boot/sega.o: in function `_HINT':
(.text.keepboot+0x460): undefined reference to `internalHIntCB'
/home/dleslie/mars/m68k-elf/lib/gcc/m68k-elf/9.3.0/../../../../m68k-elf/bin/ld: boot/sega.o: in function `_VINT':
(.text.keepboot+0x472): undefined reference to `internalVIntCB'
collect2: error: ld returned 1 exit status

I compiled on WSL in an x86-64 ubuntu environment.

Unable to compile md-skeleton and marsdev install location wrong

Hello so i decided to start off with the install location issue basically i have done this

export MARS_INSTALL_DIR=/opt/mars

but ls into that location it cannot find anything and looking at /opt/ also just shows no mars folder or a toolchain folder as well as even touching nothing and not even doing an EXPORT and installing mars in the default location results in no folder being generated itll always be generated in where marsdev itself is located in which in my case is this

/home/retro-hax/Retro-Hax/Homebrew/Genesis/Tools/marsdev/mars/m68k-elf/bin

which also causes a second issue that is even weirder regarding me being unable to compile this example called md-skeleton or even any md- example

[retro-hax@archlinux md-skeleton]$ make
make: /mnt/Samsung4TB/Retro-Hax/Homebrew/Genesis/Tools/marsdev_install/m68k-elf/bin/m68k-elf-gcc: No such file or directory
CC src/error.c
make: /mnt/Samsung4TB/Retro-Hax/Homebrew/Genesis/Tools/marsdev_install/m68k-elf/bin/m68k-elf-gcc: No such file or directory
make: *** [Makefile:90: src/error.o] Error 127

now i do not at all have ever pointed the m8k binary to this so this entire Thing is very confusing and if i have not given enough please tell me and ill gladly add more it is just very frustrating for me :(

openSUSE makefile wrong path libexec -> lib64

hi andwn,

I tried to install marsdev but the tools are installed into /home/philipp/mars/m68k-elf/lib64/gcc/m68k-elf/10.3.0 instead of /home/philipp/mars/m68k-elf/libexec/gcc/m68k-elf/10.3.0.

I searched a bit for answer in the makefiles etc. but didn't find the solution to fix this.
Many other dependencies have hardcoded libexec so installing to lib64 by default breaks things.

Dockerfile doesn't create a working build system

As can be seen in the build.log here:
https://gist.github.com/dleslie/05d53371ffd1ca04674e8a943a9d2f06

Which is an output from running build.sh from here:
https://github.com/dleslie/genesis-dev/tree/master/examples/marsdev

There's a few problems that aren't present normally, despite some examples not normally building.

Related issues:
#14
#13
#12

You have to build as root

Because the files are found in /root/mars and are owned by root exclusively, it's impossible to set the uid/gid with docker and so avoid writing files to the host as root. This is annoying, as it means cleaning the folder requires root access (or running docker).

There's no shell wrapper for rescomp.jar

/root/mars/bin/rescomp res/resources.res res/resources.s
make: /root/mars/bin/rescomp: Command not found
make: *** [Makefile:64: res/resources.s] Error 127

Curl failed?

Perhaps just a spurious one-off, but Sonic failed to build because:

error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: the remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

No z80asm

This is known, I believe, but worth noting anyhow.

/root/mars/bin/z80asm -i src-z80/build.z80 -o res/echoblob.bin
make: /root/mars/bin/z80asm: Command not found

SGDK Skeleton fails to link

/root/mars/m68k-elf/bin/m68k-elf-gcc -o out.elf -T /root/mars/ldscripts/sgdk.ld -nostdlib boot/sega.o res/resources.o src/main.o   -L/root/mars/m68k-elf/lib/gcc/m68k-elf/9.3.0 -lgcc -u __modsi3 -u __divsi3 -u __mulsi3 -u __umodsi3 -u __udivsi3 -u __umulsi3 -L/root/mars/m68k-elf/lib -lmd-far
/root/mars/m68k-elf/lib/gcc/m68k-elf/9.3.0/../../../../m68k-elf/bin/ld: boot/sega.o: in function `_EXTINT':
(.text.keepboot+0x44e): undefined reference to `internalExtIntCB'
/root/mars/m68k-elf/lib/gcc/m68k-elf/9.3.0/../../../../m68k-elf/bin/ld: boot/sega.o: in function `_HINT':
(.text.keepboot+0x460): undefined reference to `internalHIntCB'
/root/mars/m68k-elf/lib/gcc/m68k-elf/9.3.0/../../../../m68k-elf/bin/ld: boot/sega.o: in function `_VINT':
(.text.keepboot+0x472): undefined reference to `internalVIntCB'

Issue with building m68k-toolchain-newlib

So the issue is that trying to build the m68k-toolchain-newlib as well as the toolchain without newlib is causing issues due to the server/website certificate being expired it seems.
Here is the log: (i am unsure if you are aware of that so i just thought id point that out just incase you werent)

[retro-hax@archlinux marsdev]$ make m68k-toolchain-newlib
make -C m68k-gcc-toolchain all install INSTALL_DIR=/home/retro-hax/Retro-Hax/Homebrew/MegaDrive/Tools/marsdev/mars/m68k-elf
make[1]: Entering directory '/home/retro-hax/Retro-Hax/Homebrew/MegaDrive/Tools/marsdev/m68k-gcc-toolchain'
--2023-12-01 11:13:44--  https://tenshi.skychase.zone/gcc-13.1.0.tar.xz
Loaded CA certificate '/etc/ssl/certs/ca-certificates.crt'
Resolving tenshi.skychase.zone (tenshi.skychase.zone)... 139.162.105.253, 2400:8902::f03c:93ff:fedc:76e0
Connecting to tenshi.skychase.zone (tenshi.skychase.zone)|139.162.105.253|:443... connected.
ERROR: The certificate of ‘tenshi.skychase.zone’ is not trusted.
ERROR: The certificate of ‘tenshi.skychase.zone’ has expired.
The certificate has expired
make[1]: *** [Makefile:132: gcc-13.1.0.tar.xz] Error 5
make[1]: Leaving directory '/home/retro-hax/Retro-Hax/Homebrew/MegaDrive/Tools/marsdev/m68k-gcc-toolchain'
make: *** [Makefile:25: m68k-toolchain-newlib] Error 2

Option to use installed version of m68k-elf-toolchain

On my system, I prefer to install m68k-elf-gcc from a repo because it allows me to automatically install updates. However, this method requires me to manually create symlinks to where the files would normally installed in the mars install directory, and requires me to edit the Makefile due to the standard build dependency.

Perhaps an option to create symlinks for all the required files could be added? I can provide a list of necessary files, or even a PR that adds this functionality.

Computing EOF failed

I've been trying this on both Debian (using Karton/Docker) and MacOS (High Sierra), but make m68k-toolchain always eventually ends up in error: computing EOF failed.

Any idea why on how to fix this?

Error compiling z80-tools

When I execute make z80-tools I have the following output :

cd sjasm/Sjasm && make
make[2] : on entre dans le répertoire « /home/loupaschris/marsdev/z80-tools/sjasm/Sjasm »
g++ -Wp,-MD,.deps/direct.d -Wall -O2 -DMAX_PATH=MAXPATHLEN -c -o direct.o direct.cpp
direct.cpp: In function ‘int ParseDirective()’:
direct.cpp:38:6: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wdangling-else]
38 | if (!(n=getinstr(lp)))
| ^
direct.cpp: In function ‘void dirBYTE()’:
direct.cpp:72:24: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
72 | if (!teller) { error(".byte with no arguments",0); return; }
| ^~~~~~~~~~~~~~~~~~~~~~~~~
direct.cpp: In function ‘void dirDC()’:
direct.cpp:87:24: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
87 | if (!teller) { error(".byte with no arguments",0); return; }
| ^~~~~~~~~~~~~~~~~~~~~~~~~
(... and much more)

I'm on Ubuntu 20.04
My gcc version is the following one :

gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0

Any help would be greatly appreciated

Trying to compile genesis rom on Mac (Visual Studio Code) returns error 1: can't open boot.s for reading: No such file or dir.

When I try to compile the template project that comes with the SGDK the compiler gives a assembler error:
Error: can't open boot.s for reading: No such file or directory
make: *** [boot.o] Error 1

I've set all of my paths correctly for mars and sgdk and yet I still get this issue.

Here is the console output.

Anthonys-MBP:genesisproject <username>$ export MARSDEV=~/mars
Anthonys-MBP:genesisproject <username>$ make    clean release
rm -f src/main.o   out.bin out.elf symbol.txt boot.o
Anthonys-MBP:genesisproject <username>$ export MARSDEV=~/mars
Anthonys-MBP:genesisproject <username>$ make    clean release
rm -f src/main.o   out.bin out.elf symbol.txt boot.o
rm -rf asmout
/Users/<username>/mars/m68k-elf/bin/m68k-elf-as -m68000 --register-prefix-optional boot.s -o boot.o
Assembler messages:
Error: can't open boot.s for reading: No such file or directory
make: *** [boot.o] Error 1

Here is a picture of the configuration for the Genesis extension.
Screen Shot 2022-05-28 at 23 46 29

Compilation of Marsdev freezing on Mac OS 10.14 Mojave

When I was trying to compile Marsdev on my Macbook Pro (2015) via the instructions its seems to crash the compilation process of the terminal itself, had I noticed this when it took ages for it to move to the next step. I also noticed this issue when trying to install GCC (which is unrelated to this) and had the same hanging issue.

Download script attempts to write to ~/mars

When invoking the initial step in the "complete toolchain" part of the Installation Guide, the script attempts to copy the downloaded tarballs to ~/mars, which doesn't exist on this machine, nor was it specified in the guide.

$marsdev > make m68k-toolchain-newlib LANGS=c,c++ -j3
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C toolchain all-newlib ARCH=m68k
--2022-10-13 22:24:02--  https://tenshi.skychase.zone/newlib-4.2.0.20211231.tar.gz
--2022-10-13 22:24:02--  https://tenshi.skychase.zone/gcc-12.2.0.tar.xz
--2022-10-13 22:24:02--  https://tenshi.skychase.zone/isl-0.24.tar.bz2
(...)
mpfr-4.1.0.tar.xz: OK
cp -rf ldscripts/ /Users/{username}/mars/ldscripts
cp: /Users/{username}/mars/ldscripts: No such file or directory
cp: ldscripts/: unable to copy extended attributes to /Users/{username}/mars/ldscripts: No such file or directory
cp: /Users/{username}/mars/ldscripts/md.ld: No such file or directory
cp: /Users/{username}/mars/ldscripts/mars.ld: No such file or directory
cp: /Users/{username}/mars/ldscripts/sgdk.ld: No such file or directory
make[1]: *** [/Users/{username}/mars/ldscripts] Error 1
make[1]: *** Waiting for unfinished jobs....
gcc-12.2.0.tar.xz    70%[=============>      ]  57.24M  11.6MB/s    eta 3s     200 OK
(...)
gcc-12.2.0.tar.xz: OK
binutils-2.39.tar.xz: OK
make: *** [m68k-toolchain-newlib] Error 2

Machine info:
OS: macOS 12.3.1, x86_64
xcode-select --version: 2395
Brew installed: yes

SGDK game freezes with umapped write on BlastEm depending on resources

I am writing a game using SGDK and marsdev. The issue is, when I compile with marsdev, if I uncomment all of my resources, the game crashes at launch or when loading the first level. The exact error varies, but it can be an illegal instruction, or unmapped access error. The same does not happen when using the Windows toolchain provided by SGDK, everything works fine. Same code, same resource files, same SGDK version, everything.

I have seen cases like this, in which it looks like the resource got corrupted somehow: (then it crashes)
Screenshot_20221124_183958

In that specific instance, if the sfx_fuse resource is commented out, the game loads as normal:
Screenshot_20221124_183837

In all cases, the ROM never gets larger than 1MB.

sgdk-stage9-sample fails to build

On 2f749a4f3547f9f4b06a2413f30d1efe53e526c6:

src/main.c:57:26: error: 'PLAN_B' undeclared (first use in this function)
   57 |  VDP_setHorizontalScroll(PLAN_B, -camera.x);
      |                          ^~~~~~
src/main.c:57:26: note: each undeclared identifier is reported only once for each function it appears in
src/main.c:59:26: error: 'PLAN_A' undeclared (first use in this function)
   59 |  VDP_setHorizontalScroll(PLAN_A, -camera.x);
      |                          ^~~~~~

I compiled on WSL in an x86-64 ubuntu environment.

Flamewing tools don't build

Output of build over make flamewing-tools on MacOS Monterey

make -C flamewing-tools
rm -rf mdtools
rm -rf mdcomp
# mdtools depends on mdcomp, install that first
git clone https://github.com/flamewing/mdcomp
Cloning into 'mdcomp'...
remote: Enumerating objects: 2346, done.
remote: Counting objects: 100% (431/431), done.
remote: Compressing objects: 100% (251/251), done.
remote: Total 2346 (delta 285), reused 283 (delta 152), pack-reused 1915
Receiving objects: 100% (2346/2346), 796.25 KiB | 3.37 MiB/s, done.
Resolving deltas: 100% (1645/1645), done.
cd mdcomp && ./autogen.sh "--prefix=/Users/volker/mars" \
                          && make install
/bin/sh: ./autogen.sh: No such file or directory
make[1]: *** [all] Error 127
make: *** [flamewing-tools] Error 2

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.