andwn / marsdev Goto Github PK
View Code? Open in Web Editor NEWCross platform Mega Drive / 32X toolchain
License: MIT License
Cross platform Mega Drive / 32X toolchain
License: MIT License
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.
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!
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
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.
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.
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.
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.
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.
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.
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
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()
git clone https://github.com/konamiman/sjasm --branch v0.39 --single-branch
error: unknown option `single-branch'
The --single-branch option only works in newer versions of git. You might need to note that somewhere.
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.
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 :(
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.
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.
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'
This is because the ancient version used isn't aware of this architecture.
#9 fixes the issue by bumping the version to the latest.
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
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.
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?
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
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.
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.
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
Let's stop pulling from master and breaking things constantly
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)
In that specific instance, if the sfx_fuse resource is commented out, the game loads as normal:
In all cases, the ROM never gets larger than 1MB.
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.
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
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.