@@ -26,33 +26,34 @@ CFLAGS_TARGET_xmega65 = $(SDL2_CFLAGS) $(MATH_CFLAGS) $(SOCKET_CFLAGS) $(XEMUGUI
2626LDFLAGS_TARGET_xmega65 = $(SDL2_LIBS ) $(MATH_LIBS ) $(SOCKET_LIBS ) $(XEMUGUI_LIBS )
2727LDFLAGS_TARGET_xmega65_ON_html = -s STACK_SIZE=655360 --preload-file=$$HOME/.local/share/xemu-lgb/mega65/mega65.img.compressed3@/files/mega65.img --preload-file=$$HOME/mega65/megapoly.d81@/files/files/hdos/mega65.d81
2828
29- MEGA65_CORE = ../../../mega65-core-master
29+ MEGA65_CORE = ../../../mega65-core-0.97-for-xemu
30+ MEGA65_REPO = https://github.com/MEGA65/mega65-core.git
31+ MEGA65_COMMITID = aaf4542d02679271b5fb84ad933cc39bbe091c3f
32+ MEGA65_PATCH = ../../build/mega65-core-0.97-aaf4542d02679271b5fb84ad933cc39bbe091c3f-patch.diff
3033MEGA65_FILES = bin/charrom.bin bin/HICKUP.M65 bin/COLOURRAM.BIN sdcard-files/BANNER.M65 sdcard-files/ONBOARD.M65 src/open-roms/bin/mega65.rom
3134MEGA65_FILES += sdcard-files/FREEZER.M65 sdcard-files/MAKEDISK.M65
3235MEGA65_FILES += sdcard-files/AUDIOMIX.M65 sdcard-files/C64THUMB.M65 sdcard-files/C65THUMB.M65 sdcard-files/ROMLOAD.M65 sdcard-files/SPRITED.M65
36+ MEGA65_FILES += sdcard-files/M65THUMB.M65 sdcard-files/MONITOR.M65 sdcard-files/ETHLOAD.M65 sdcard-files/MEGAINFO.M65
3337
3438MEGA65_FP_FILES = $(addprefix $(MEGA65_CORE ) /,$(MEGA65_FILES ) )
3539MEGA65_LOCALDIR = .sys-files-mega65-core
40+
3641MATRIX_TAB_VHDL = $(MEGA65_CORE ) /src/vhdl/matrix_to_ascii.vhdl
3742
3843include ../../build/Makefile.common
3944
4045# mega65-core has very tricky build system, it's very hard to be sure, that everything
4146# is up-to-date, this is the reason for this mess
4247recreatememcontent :
48+ $(MAKE ) $(MEGA65_CORE ) /xemu_patched
4349 @echo " *** Compiling needed files from mega65-core at $( MEGA65_CORE) ***"
44- $(MAKE ) -C $(MEGA65_CORE ) clean
45- for dir in src/mega65-freezemenu src/mega65-fdisk src/open-roms ; do $( MAKE) -C $( MEGA65_CORE) /$$ dir clean || exit 1 ; done
46- find $(MEGA65_CORE ) -name " *.o" | xargs -n 100 rm -f
47- find $(MEGA65_CORE ) -name " *.M65" | xargs -n 100 rm -f
4850 mkdir -p $(MEGA65_CORE ) /sdcard-files
49- rm -f ` echo $( MEGA65_FP_FILES) | fgrep -v mega65.rom`
50- rm -f $(MEGA65_CORE ) /sdcard-files/* $(MEGA65_CORE ) /src/mega65-fdisk/* .prg $(MEGA65_CORE ) /src/utilities/* .prg
51- rm -f $(MEGA65_CORE ) /src/hyppo/HICKUP.rep $(MEGA65_CORE ) /src/hyppo/HICKUP.sym
52- $(MAKE ) -C $(MEGA65_CORE ) /src/mega65-fdisk m65fdisk.prg
53- $(MAKE ) -C $(MEGA65_CORE ) /src/mega65-freezemenu
54- $(MAKE ) -C $(MEGA65_CORE ) freezer_files
55- $(MAKE ) -C $(MEGA65_CORE ) $(MEGA65_FILES )
51+ cd $(MEGA65_CORE ) ; $(MAKE ) cc65/bin/cc65
52+ cd $(MEGA65_CORE ) ; $(MAKE ) -C src/mega65-libc
53+ cd $(MEGA65_CORE ) ; $(MAKE ) freezer_files
54+ cd $(MEGA65_CORE ) ; $(MAKE ) -C src/mega65-fdisk m65fdisk.prg
55+ cd $(MEGA65_CORE ) ; $(MAKE ) -C src/mega65-freezemenu
56+ cd $(MEGA65_CORE ) ; $(MAKE ) $(MEGA65_FILES )
5657 mkdir -p $(MEGA65_LOCALDIR )
5758 rm -f $(MEGA65_LOCALDIR ) /*
5859 cp $(MEGA65_FP_FILES ) $(MEGA65_LOCALDIR ) /
@@ -61,6 +62,38 @@ recreatememcontent:
6162 @echo " *** Generating C files from mega65-core binary results ***"
6263 python3 $(TOPDIR ) /build/m65-memcontent-generator.py memcontent.c memcontent.h $(MEGA65_FP_FILES )
6364
65+ cleanmega65core :
66+ cd $(MEGA65_CORE ) ; $(MAKE ) clean
67+ cd $(MEGA65_CORE ) ; for dir in src/mega65-freezemenu src/mega65-fdisk src/open-roms ; do $( MAKE) -C $$ dir clean || exit 1 ; done
68+ find $(MEGA65_CORE ) -name " *.o" | xargs -n 100 rm -f
69+ find $(MEGA65_CORE ) -name " *.M65" | xargs -n 100 rm -f
70+ mkdir -p $(MEGA65_CORE ) /sdcard-files
71+ rm -f ` echo $( MEGA65_FP_FILES) | fgrep -v mega65.rom`
72+ rm -f $(MEGA65_CORE ) /sdcard-files/* $(MEGA65_CORE ) /src/mega65-fdisk/* .prg $(MEGA65_CORE ) /src/utilities/* .prg
73+ rm -f $(MEGA65_CORE ) /src/hyppo/HICKUP.rep $(MEGA65_CORE ) /src/hyppo/HICKUP.sym
74+
75+ $(MEGA65_CORE ) /xemu_checked_out :
76+ @echo " *** Checking out $( MEGA65_REPO) to $( MEGA65_CORE) at commit-id $( MEGA65_COMMITID) ***"
77+ rm -f " $@ "
78+ rm -fr " $( MEGA65_CORE) "
79+ git -c init.defaultBranch=whocares init " $( MEGA65_CORE) "
80+ git -C " $( MEGA65_CORE) " remote add origin " $( MEGA65_REPO) "
81+ git -C " $( MEGA65_CORE) " fetch --depth 1 origin " $( MEGA65_COMMITID) "
82+ git -C " $( MEGA65_CORE) " -c advice.detachedHead=false checkout " $( MEGA65_COMMITID) "
83+ git -C " $( MEGA65_CORE) " submodule update --init --recursive --depth 1
84+ echo " $( MEGA65_REPO) at commit-id $( MEGA65_COMMITID) " > " $@ .new"
85+ date >> " $@ .new"
86+ du -sh " $( MEGA65_CORE) " >> " $@ .new"
87+ cat " $@ .new" | sed ' s/^/| /'
88+ mv " $@ .new" " $@ "
89+
90+ $(MEGA65_CORE ) /xemu_patched :
91+ $(MAKE ) $(MEGA65_CORE ) /xemu_checked_out
92+ @echo " *** Patching mega65-core for Xemu at $( MEGA65_CORE) ***"
93+ @if test -f " $@ " ; then echo " ERROR: Already patched" ; false ; fi
94+ patch -p1 -d " $( MEGA65_CORE) " < $(MEGA65_PATCH )
95+ date > " $@ "
96+
6497showmatrix :
6598 bash $(TOPDIR ) /build/m65-import-matrix2ascii.sh < $(MATRIX_TAB_VHDL )
6699 bash $(TOPDIR ) /build/m65-import-matrix2petscii.sh < $(MATRIX_TAB_VHDL )
0 commit comments