powerofrecall wrote:Windows GCC 4.5.2 toolchain (about 55mb compressed, 800+ uncompressed)
I added Make and an environment batch file to this package and it will function at a windows command prompt, but I recommend downloading msys and setting your environment variables for the toolchain in there so you can have unix commands in your makefiles.
Tested with chilly's 32x mod player and my own in-progress MD project, seems to work fine.
Wow thank you. I spent such a long time trying to find an appropriate tool chain for Windows.
Thanks for both effort.
FYI - I can run it in normal Windows 7 CMD prompt, without MinGW (I do have cygwin, not sure if any dependencies were resolved by that), I had to add the following .dlls to ${GENDEV}\bin
libintl-8.dll (
http://waterlan.home.xs4all.nl/libintl.html)
libiconv-2.dll (I think I just renamed the libiconv2.dll already in the bin folder and it seems to work.
After getting 32X TicTacToe to build, I went back to an early devkit I found for building Wolf32X source that had been posted some time back by Chilly Willy I think with an older 32X devkit. As an exercise I went through updating the Makefile to build it with this toolchain. Through some tweaking, I got that to build into a playable bin.
Modified Makefile similar to set up of examples (using new toolchain).
Code: Select all
MDLD = m68k-elf-ld
MDAS = m68k-elf-as
SHLD = sh-elf-ld
SHCC = sh-elf-gcc
SHAS = sh-elf-as
SHOBJC = sh-elf-objcopy
RM = rm -f
CCFLAGS = -m2 -mb -O1 -Wall -c -fomit-frame-pointer -DHAVE_FFBLK -DDOSISM -DWMODE=0
HWCCFLAGS = -m2 -mb -O1 -Wall -c -fomit-frame-pointer
LINKFLAGS = -T $(GENDEV)/ldscripts/mars.ld -Wl,-Map=output.map -nostdlib -e _start
INCS = -I./src -I$(GENDEV)/sh-elf/include -I$(GENDEV)/sh-elf/sh-elf/include
LIBS = -L$(GENDEV)/sh-elf/sh-elf/lib -L$(GENDEV)/sh-elf/lib/gcc/sh-elf/4.5.2 -lm -lc -lgcc -lgcc-Os-4-200 -lnosys
OBJS = \
src/sh2_crt0.o \
src/id_ca.o \
src/id_us.o \
src/id_vh.o \
src/misc.o \
src/objs.o \
src/vi_comm.o \
src/vi_32x.o \
src/wl_act1.o \
src/wl_act2.o \
src/wl_act3.o \
src/wl_agent.o \
src/wl_debug.o \
src/sd_comm.o \
src/sd_32x.o \
src/adlibtables_wsw.o \
src/wl_draw.o \
src/wl_game.o \
src/wl_inter.o \
src/wl_main.o \
src/wl_menu.o \
src/wl_play.o \
src/wl_state.o \
src/wl_text.o \
src/w3dsw_data.o \
src/automap.o \
src/debug_32x.o \
src/debug_font.o
all: m68k_crt0.bin m68k_crt1.bin wolf32x.bin
wolf32x.bin: wolf32x.elf
$(SHOBJC) -O binary $< temp.bin
dd if=temp.bin of=$@ bs=64K conv=sync
wolf32x.elf: $(OBJS)
$(SHCC) $(LINKFLAGS) $(OBJS) $(LIBS) -o wolf32x.elf
m68k_crt0.bin: src/m68k_crt0_wsw.s
$(MDAS) -m68000 --register-prefix-optional -o src/m68k_crt0_wsw.o src/m68k_crt0_wsw.s
$(MDLD) -T $(GENDEV)/ldscripts/md.ld --oformat binary -o src/m68k_crt0.bin src/m68k_crt0_wsw.o
m68k_crt1.bin: src/m68k_crt1.s
$(MDAS) -m68000 --register-prefix-optional -o src/m68k_crt1.o src/m68k_crt1.s
$(MDLD) -T $(GENDEV)/ldscripts/md.ld --oformat binary -o src/m68k_crt1.bin src/m68k_crt1.o
%.o: %.c
$(SHCC) $(CCFLAGS) $< -o $@
%.o: %.s
$(SHAS) --small -o $@ $<
clean:
$(RM) src/*.o src/*.out src/*.bin *.bin *.elf src/*.elf *.map
Modified src/sh2_crt0.s which had some references not present in the mars.ld link file
Code: Select all
_bss_dst:
.long __bss_start
_bss_end:
.long __end
(was _bstart and _bend)