From ca8f575d2ddb38e0af8a46383e174db0f0f98a8a Mon Sep 17 00:00:00 2001 From: Willem Date: Wed, 23 Dec 2020 18:36:09 +0100 Subject: [PATCH] Updated to lastest msxbuild --- .gitignore | 3 + Makefile | 112 +++++++----------------------------- Makelocal.mk.tpl | 10 ++++ README.md | 11 ++++ build/env.inc.mk | 50 ---------------- build/local.inc.mk-template | 13 ----- build/openmsx-settings.xml | 10 ---- build/tools/omsxctl.com | Bin 200 -> 0 bytes readme.md | 2 - src/bios/0module.mk | 9 +-- src/dist-run/0module.mk | 5 +- src/dist-run/autoexec.bat | 2 +- src/dist/WAVEDRV.COM | Bin 0 -> 1284 bytes src/dist/WAVER800.DRV | Bin 0 -> 15561 bytes src/dist/WAVEZ80X.DRV | Bin 0 -> 15486 bytes src/dist/menu.zop | Bin 0 -> 1822 bytes src/dist/unittot.zop | Bin 0 -> 12235 bytes src/dome/0module.mk | 9 +-- src/domelib/0module.mk | 6 +- src/gfx/0module.mk | 33 ++++++----- src/init/0module.mk | 9 +-- src/levels/0module.mk | 22 +++---- src/loader/0module.mk | 9 +-- src/makelib/0module.mk | 9 +-- src/menu/0module.mk | 9 +-- src/mmenu/0module.mk | 9 +-- 26 files changed, 118 insertions(+), 224 deletions(-) create mode 100644 Makelocal.mk.tpl create mode 100644 README.md delete mode 100644 build/env.inc.mk delete mode 100644 build/local.inc.mk-template delete mode 100644 build/openmsx-settings.xml delete mode 100644 build/tools/omsxctl.com delete mode 100644 readme.md create mode 100755 src/dist/WAVEDRV.COM create mode 100755 src/dist/WAVER800.DRV create mode 100755 src/dist/WAVEZ80X.DRV create mode 100755 src/dist/menu.zop create mode 100755 src/dist/unittot.zop diff --git a/.gitignore b/.gitignore index fc850ff..5f5006f 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,9 @@ old/** build/local.inc.mk .openmsx.cnt +# Makefile ignores +Makelocal.mk + # IDE ignores .project .vs/ diff --git a/Makefile b/Makefile index 3907cdb..1835e40 100644 --- a/Makefile +++ b/Makefile @@ -1,102 +1,32 @@ # -# Single top level makefile +# Top level makefile for dome # -rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)) -MODULES := $(call rwildcard, src, */0module.mk) -MODULES_LIB := $(call rwildcard, src, */0module.lib.mk) - --include build/local.inc.mk -include build/env.inc.mk -include $(MODULES_LIB) -include $(MODULES) - +rwildcard = $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d)) +INC_MODS := $(call rwildcard, src, */0module.mk) +INC_LIBS := $(call rwildcard, src, */0module.lib.mk) +PATH_BIN := bin +PATH_SRC := src +BUILD_ALL := "Use 'make help' for possible targets." +BUILD_HELP := "Use one of the following build targets;" +MB_OPENMSX_JOYPORTA := mouse +.SUFFIXES: .PHONY: all all: - @echo TODO: All is build. + @echo $(BUILD_ALL) -.PHONY: test -test: - @echo TODO: Testing +BUILD_HELP += \\n\\t* help +.PHONY: help +help: + @echo $(BUILD_HELP) +BUILD_HELP += \\n\\t* clean .PHONY: clean clean: - @echo === Cleaning - $(RM) .openmsx.cnt; - @test $(PATH_BIN) && $(RM) -r $(PATH_BIN); + $(call mb_clean,$(PATH_BIN)) - -define mod_mkdir - @echo === Create module build folder. - $(MKDIR) $(1) -endef - -define mod_compile_asm - @echo === Compile module asm. - $(SDASM) $(SDASM_FLAGS) -I$(LIBASM_SRC)/include $(1) $(2) -endef - -define mod_link_asm_lib - @echo === Link module asm lib. - $(SDAR) $(SDAR_FLAGS) $(1) $(2) -endef - -define mod_link_asm_dos - @echo === Link module asm dos. - $(SDCC) $(SDCC_FLAG_CPU) --no-std-crt0 --code-loc 0x0100 -o $(1) $(2) -endef -define mod_link_asm_1000 - @echo === Link module asm 0x1000. - $(SDCC) $(SDCC_FLAG_CPU) --no-std-crt0 --code-loc 0x1000 -o $(1) $(2) -endef -define mod_link_asm_4000 - @echo === Link module asm 0x4000. - $(SDCC) $(SDCC_FLAG_CPU) --no-std-crt0 --code-loc 0x4000 -o $(1) $(2) -endef -define mod_link_asm_8000 - @echo === Link module asm 0x8000. - $(SDCC) $(SDCC_FLAG_CPU) --no-std-crt0 --code-loc 0x8000 -o $(1) $(2) -endef -#-l$(LIBASM_LINK) - -define mod_hex2com - @echo === Convert to binary - cd $(dir $(1)) && $(H2B) -e com $(notdir $(1)); - @sha1sum $(2); - @echo === Done $(notdir $(2)) -endef -define mod_hex2dat - @echo === Convert to binary - cd $(dir $(1)) && $(H2B) -e dat $(notdir $(1)); - @sha1sum $(2); - @echo === Done $(notdir $(2)) -endef - -#-diska $(1) -define run_openmsx - echo "." >> .openmsx.cnt; - FAIL_AFTER_BOOT=$(OPENMSX_BOOT_TIMEOUT) \ - FAIL_AFTER_PATH=bin \ - BOOT_HDD_PATH="$(1)" \ - BOOT_HDD_IMAGE="$(1)/../dsk.img" \ - RENDERER=None \ - THROTTLE=off \ - SPEED=333 \ - JOYPORTA=mouse \ - $(OPENMSX) -setting $(realpath build/openmsx-settings.xml) -machine $(OPENMSX_MACHINE) $(OPENMSX_ARGS) -endef -define run_openmsx_tools - cp build/tools/* $(1); - $(call run_openmsx, $(1)) -endef -define run_openmsx_dos1 - @echo === Run openmsx_dos1 - cp build/msxdos1/* $(1); - $(call run_openmsx_tools, $(1)) -endef -define run_openmsx_dos2 - @echo === Run openmsx_dos2 - cp build/msxdos2/* $(1); - $(call run_openmsx_tools, $(1)) -endef +-include Makelocal.mk +include $(PATH_MSXBUILD)/lib/make/msxbuild.mk +include $(INC_LIBS) +include $(INC_MODS) diff --git a/Makelocal.mk.tpl b/Makelocal.mk.tpl new file mode 100644 index 0000000..2917e3d --- /dev/null +++ b/Makelocal.mk.tpl @@ -0,0 +1,10 @@ +# Local included makefile fragment. +# Save this file without tpl suffix and custumize it. +# +# Change to local installations if needed; + +#PATH_SDCC ?= /usr/bin +#PATH_HEX2BIN ?= /usr/bin +#PATH_OPENMSX ?= /opt/openMSX/bin/ +#PATH_MSXBUILD ?= /opt/msxbuild + diff --git a/README.md b/README.md new file mode 100644 index 0000000..64d0a4e --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +### Dome + +Very raw port of orginal '99 code to sdcc format. + +The code is not fit for todays standards ;) + +## Running + +make dist-run + +note: requires working openmsx with 8250+ide roms. diff --git a/build/env.inc.mk b/build/env.inc.mk deleted file mode 100644 index f0b0205..0000000 --- a/build/env.inc.mk +++ /dev/null @@ -1,50 +0,0 @@ - -# Fill in all paths -PATH_SRC ?= src -PATH_BIN ?= bin -PATH_HEX2BIN ?= /usr/bin -PATH_SDCC ?= /usr/bin -PATH_OPENMSX ?= /usr/bin -PATH_CURRENT ?= $(dir $(lastword $(MAKEFILE_LIST))) - -# Build tools -H2B ?= $(PATH_HEX2BIN)/hex2bin -SDCC ?= $(PATH_SDCC)/sdcc -SDASM ?= $(PATH_SDCC)/sdasz80 -SDAR ?= $(PATH_SDCC)/sdar -OPENMSX ?= $(PATH_OPENMSX)/openmsx - -SDCC_FLAG_CPU ?= -mz80 -SDCC_FLAG_LD ?= --nostdinc -SDASM_FLAGS ?= -g -l -c -o -SDAR_FLAGS ?= -rc - -# - -OPENMSX_BOOT_TIMEOUT ?= 25 -OPENMSX_MACHINE ?= Philips_NMS_8250 -OPENMSX_ARGS ?= \ - -ext ram4mb \ - -ext ide \ - -script $(PATH_OPENMSX_SRC)/Contrib/msxbuild/boot_env.tcl \ - -script $(PATH_OPENMSX_SRC)/Contrib/msxbuild/boot_hdd.tcl \ - -script $(PATH_OPENMSX_SRC)/Contrib/msxbuild/fail_after.tcl \ - -script $(PATH_OPENMSX_SRC)/Contrib/omsxctl/omsxctl.tcl - -# OS cmds -ifeq ($(OS),Windows_NT) - RM = del /F /Q - RMDIR = -RMDIR /S /Q - MKDIR = -mkdir - ERRIGNORE = 2>NUL || true - SEP=\\ -else - RM = rm -rf - RMDIR = rm -rf - MKDIR = mkdir -p - ERRIGNORE = 2>/dev/null - SEP=/ -endif - -# Remove space after separator -PSEP = $(strip $(SEP)) diff --git a/build/local.inc.mk-template b/build/local.inc.mk-template deleted file mode 100644 index 4fc51bf..0000000 --- a/build/local.inc.mk-template +++ /dev/null @@ -1,13 +0,0 @@ -# Local env included makefile -# This file should be ignored in version control -# note: the ?= is so you can override those again in cmdline. -# -# Change to local installations. - -#PATH_SDCC ?= /usr/bin - -#PATH_HEX2BIN ?= /usr/bin - -#PATH_OPENMSX ?= /opt/openMSX/bin/ - -#PATH_OPENMSX_SRC ?= /usr/local/src/openMSX \ No newline at end of file diff --git a/build/openmsx-settings.xml b/build/openmsx-settings.xml deleted file mode 100644 index e2b859e..0000000 --- a/build/openmsx-settings.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - false - 999 - none - 3 - - - diff --git a/build/tools/omsxctl.com b/build/tools/omsxctl.com deleted file mode 100644 index 2039f20b79389ffc1b222b7d3d2e16476f99ff48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmY#9&S-vF*CN8IfnmEwxMCwiYrYwSViSYl2}VW>yUV%;9EzJ5kDkq7JXo>NMuAgt z7bB1jluhLmN7~&E6!uA z+kOHl_Y|n;p|ZrMkc?CX_59r8isX_Uy^`b{b%o;OqRfI4h0J1wy!;Y{#N?99vQ#|= tzkG$nqV&?-)Vz{ng>;}$o*sj1P>_F+l>$R_Nl|HDa$-qpN-QrI0|4)4Kz0BC diff --git a/readme.md b/readme.md deleted file mode 100644 index ed0d922..0000000 --- a/readme.md +++ /dev/null @@ -1,2 +0,0 @@ -# udome - diff --git a/src/bios/0module.mk b/src/bios/0module.mk index 91b4c11..59bf032 100644 --- a/src/bios/0module.mk +++ b/src/bios/0module.mk @@ -6,15 +6,16 @@ BIOS_HEX := $(BIOS_BIN)/$(BIOS_NAME).hex BIOS_DAT := $(BIOS_BIN)/$(BIOS_NAME).dat BIOS_RELS := $(BIOS_BIN)/$(BIOS_NAME).rel BIOS_CODE := $(BIOS_SRC)/$(BIOS_NAME).asm +BUILD_HELP += \\n\\t* $(BIOS_DAT) $(BIOS_BIN): - $(call mod_mkdir,$(BIOS_BIN)) + $(call mb_mkdir,$(BIOS_BIN)) $(BIOS_BIN)/%.rel: $(BIOS_SRC)/%.asm | $(BIOS_BIN) - $(call mod_compile_asm,$@,$<) + $(call mb_compile_asm,$@,$<) $(BIOS_HEX): $(BIOS_RELS) - $(call mod_link_asm_dos,$(BIOS_HEX),$(BIOS_RELS)) + $(call mb_link_asm_dos,$(BIOS_HEX),$(BIOS_RELS)) $(BIOS_DAT): $(BIOS_HEX) - $(call mod_hex2dat,$(BIOS_HEX),$(BIOS_DAT)) + $(call mb_hex2dat,$(BIOS_HEX),$(BIOS_DAT)) diff --git a/src/dist-run/0module.mk b/src/dist-run/0module.mk index 5478631..003689c 100644 --- a/src/dist-run/0module.mk +++ b/src/dist-run/0module.mk @@ -4,9 +4,10 @@ DIST_RUN_BIN := $(PATH_BIN)/$(DIST_RUN_NAME) DIST_RUN_SRC := $(PATH_SRC)/$(DIST_RUN_NAME) DIST_RUN_INC := autoexec.bat init.com dome.000 DIST_RUN_INC_BIN := $(patsubst %,$(DIST_RUN_BIN)/%,$(DIST_RUN_INC)) +BUILD_HELP += \\n\\t* $(DIST_RUN_NAME) $(DIST_RUN_BIN): - $(call mod_mkdir,$(DIST_RUN_BIN)) + $(call mb_mkdir,$(DIST_RUN_BIN)) $(DIST_RUN_BIN)/autoexec.bat: $(DIST_RUN_SRC)/autoexec.bat | $(DIST_RUN_BIN) unix2dos -n $< $@; @@ -21,4 +22,4 @@ $(DIST_RUN_BIN)/dome.000: bin/domelib/dome.000 | $(DIST_RUN_BIN) $(DIST_RUN_NAME): $(DIST_RUN_INC_BIN) - $(call run_openmsx_dos2, $(DIST_RUN_BIN)) + $(call mb_openmsx_dos2,$(DIST_RUN_BIN)) diff --git a/src/dist-run/autoexec.bat b/src/dist-run/autoexec.bat index d73ccd9..4350bdb 100644 --- a/src/dist-run/autoexec.bat +++ b/src/dist-run/autoexec.bat @@ -2,7 +2,7 @@ mode 80 echo === Set fail_after omsxctl fail_after 300 realtime dist_run 4 echo === Set renderer -omsxctl set renderer SDL +omsxctl unset renderer echo === Enable throttling omsxctl set throttle on echo === Start program diff --git a/src/dist/WAVEDRV.COM b/src/dist/WAVEDRV.COM new file mode 100755 index 0000000000000000000000000000000000000000..0766c8ef6999cee3eeee41d90a5ec74e723b84bc GIT binary patch literal 1284 zcmb7C&2Jk;6rY{(TFRBy&E=|>{LT)`ttT?;Y z+W8{XiF)BbKwLN=A+APT3O!V{Ew|Xo9MXsbpH(W{Ln}b0@&P$4%-Br{2M)|(^yc^8 zoA=)D_k6{D{dM$be_{Ve{Rm<&A#aW}ZBl$y(m!@+KM=`*e)(McfUpz9w~4M--Q+R5 zh1Kdq?3Z_MmkWNfd#7CZ{*FzmF-aShOJCqT+r@tAtGg#jesVN&f!)B~u4aS%guNT2 z&VI)FzN|T%t_5d+$;frliTI0Kz8tZM_M2S%NYd`hk0ezT=5cT4xwEXJfa@&{iIjqC zoZtPMq}v_TuMzEdQ<8Zs8z%ZS#G9PV*#lJ-+xp!{lDqTw$G#21t2Qe&Ke*+p1K<4a zSLqbmsg>C%F6@==Nv8&PxLLX{HQcpw?!i5KsUONL-4UqU(Z=>ZuG~96GDlyZT10%jjebA#SGx22#3&||-7Y}uzQj37& zwMv@+r|d#6+`Q#}uJey0mAr->tom2?CaGvTD&4?Zm$7Rue{4bL6>utMS`96 z$RUI+lP`N6N6|6)z3U)FIv;HLJm~V)=+?{Kda$y#o8wEfQ9=BKPM?iML#An5PQ^1> zYC&t*F)O*uZSI0u(}J;Z%`OMKeMB4(EAQ zrT0o7z%*Tf8PiH7AZ#UgsiBdP;n(;zqNsxL;JNX!=s8$#HF9-563@* z%%%4a%+Mu8Rl?~kZz{vp8HhrZrf57vA<>#ZRXP9$reMm*WaFvSzt9-OvSu1WOPS=A zcH9I^#1r%Y>4^>x4k~JYe?J@^bww;g`**O~#S*%z^t2-ddrzFnc1am(VunQ3Yy`6|zH=Kk?bn^}mrhC2O3bm0dcpAqegZfJt9yAV%g gi9Pv$=V?lhP*M=-;c_DJ5NpwTM55uzXfTBS22Y!)7XSbN literal 0 HcmV?d00001 diff --git a/src/dist/WAVER800.DRV b/src/dist/WAVER800.DRV new file mode 100755 index 0000000000000000000000000000000000000000..30b7f60cd8e6e8f858d434b2e80ff1e1794130cf GIT binary patch literal 15561 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ⅅ6EPtj|cwW^T4%@ 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 literal 0 HcmV?d00001 diff --git a/src/dist/WAVEZ80X.DRV b/src/dist/WAVEZ80X.DRV new file mode 100755 index 0000000000000000000000000000000000000000..2262099b65a004e1ae79bc733a0c77480603f55e GIT binary patch literal 15486 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 Q;FdsNCzY?aJh@TR@t-*F>_zIN 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 $(GFX_BIN)/autoexec.bat; + @echo "basic conv.bas\r" >> $(GFX_BIN)/autoexec.bat; - echo "10 SCREEN 5 : SETPAGE 1,1\r" > $(GFX_BIN)/conv.bas; - echo "20 BLOAD\"$(notdir $@)\",S : COLOR=RESTORE\r" >> $(GFX_BIN)/conv.bas; - echo "30 BSAVE\"$(notdir $@)\",&H0000,&H7FFF,S\r" >> $(GFX_BIN)/conv.bas; - echo "40 _SYSTEM(\"pop.bat\")\r" >> $(GFX_BIN)/conv.bas; + @echo "10 SCREEN 5 : SETPAGE 1,1\r" > $(GFX_BIN)/conv.bas; + @echo "20 BLOAD\"$(notdir $@)\",S : COLOR=RESTORE\r" >> $(GFX_BIN)/conv.bas; + @echo "30 BSAVE\"$(notdir $@)\",&H0000,&H7FFF,S\r" >> $(GFX_BIN)/conv.bas; + @echo "40 _SYSTEM(\"pop.bat\")\r" >> $(GFX_BIN)/conv.bas; - echo "\r" > $(GFX_BIN)/pop.bat; - echo "mode 80\r" >> $(GFX_BIN)/pop.bat; - echo "popcom $(notdir $@)\r" >> $(GFX_BIN)/pop.bat; - echo "echo \"All done..................\"\r" >> $(GFX_BIN)/pop.bat; - echo "omsxctl exit\r" >> $(GFX_BIN)/pop.bat; - $(call run_openmsx_dos2, $(GFX_BIN)) + @echo "\r" > $(GFX_BIN)/pop.bat; + @echo "mode 80\r" >> $(GFX_BIN)/pop.bat; + @echo "popcom $(notdir $@)\r" >> $(GFX_BIN)/pop.bat; + @echo "echo \"All done..................\"\r" >> $(GFX_BIN)/pop.bat; + @echo "omsxctl exit\r" >> $(GFX_BIN)/pop.bat; + $(call mb_run_openmsx_dos2, $(GFX_BIN)) + ls -la $(GFX_BIN)/$(notdir $@); + dd if=$(GFX_BIN)/$(notdir $@) of=$(GFX_BIN)/$(notdir $@).out bs=1 skip=10; + cp $(GFX_BIN)/$(notdir $@).out $(GFX_BIN)/$(notdir $@); -gfx-test: gfx +test-gfx: gfx unix2dos -n $(GFX_SRC)/autoexec.bat $(GFX_BIN)/autoexec.bat; echo "omsxctl set renderer SDL\r" >> $(GFX_BIN)/autoexec.bat; echo "omsxctl set throttle on\r" >> $(GFX_BIN)/autoexec.bat; echo "omsxctl set speed 200\r" >> $(GFX_BIN)/autoexec.bat; - $(call run_openmsx_dos2, $(GFX_BIN)) + $(call mb_run_openmsx_dos2, $(GFX_BIN)) gfx: $(GFX_BIN_FILES) echo All GFX are compressed. diff --git a/src/init/0module.mk b/src/init/0module.mk index 55499e4..ce2261f 100644 --- a/src/init/0module.mk +++ b/src/init/0module.mk @@ -6,15 +6,16 @@ INIT_HEX := $(INIT_BIN)/$(INIT_NAME).hex INIT_COM := $(INIT_BIN)/$(INIT_NAME).com INIT_RELS := $(INIT_BIN)/$(INIT_NAME).rel INIT_CODE := $(INIT_SRC)/$(INIT_NAME).asm +BUILD_HELP += \\n\\t* $(INIT_COM) $(INIT_BIN): - $(call mod_mkdir,$(INIT_BIN)) + $(call mb_mkdir,$(INIT_BIN)) $(INIT_BIN)/%.rel: $(INIT_SRC)/%.asm | $(INIT_BIN) - $(call mod_compile_asm,$@,$<) + $(call mb_compile_asm,$@,$<) $(INIT_HEX): $(INIT_RELS) - $(call mod_link_asm_dos,$(INIT_HEX),$(INIT_RELS)) + $(call mb_link_asm_dos,$(INIT_HEX),$(INIT_RELS)) $(INIT_COM): $(INIT_HEX) - $(call mod_hex2com,$(INIT_HEX),$(INIT_COM)) + $(call mb_hex2com,$(INIT_HEX),$(INIT_COM)) diff --git a/src/levels/0module.mk b/src/levels/0module.mk index 312724b..65a5e4a 100644 --- a/src/levels/0module.mk +++ b/src/levels/0module.mk @@ -2,31 +2,33 @@ LEVELS_NAME := levels LEVELS_SRC := $(PATH_SRC)/$(LEVELS_NAME) LEVELS_BIN := $(PATH_BIN)/$(LEVELS_NAME) +BUILD_HELP += \\n\\t* $(LEVELS_BIN)/code.001 / $(LEVELS_BIN)/code.002 $(LEVELS_BIN): - $(call mod_mkdir,$(LEVELS_BIN)); - cp $(LEVELS_SRC)/*.00* $(LEVELS_BIN); + $(call mb_mkdir,$(LEVELS_BIN)) + $(call mb_copy,$(LEVELS_SRC)/*.00*,$(LEVELS_BIN)) +#cp $(LEVELS_SRC)/*.00* $(LEVELS_BIN); $(LEVELS_BIN)/code001.rel: $(LEVELS_SRC)/code001.asm | $(LEVELS_BIN) - $(call mod_compile_asm,$@,$<) + $(call mb_compile_asm,$@,$<) $(LEVELS_BIN)/code002.rel: $(LEVELS_SRC)/code001.asm | $(LEVELS_BIN) - $(call mod_compile_asm,$@,$<) + $(call mb_compile_asm,$@,$<) $(LEVELS_BIN)/code001.hex: $(LEVELS_BIN)/code001.rel - $(call mod_link_asm_1000,$@,$<) + $(call mb_link_asm_1000,$@,$<) $(LEVELS_BIN)/code002.hex: $(LEVELS_BIN)/code002.rel - $(call mod_link_asm_1000,$@,$<) + $(call mb_link_asm_1000,$@,$<) $(LEVELS_BIN)/code001.dat: $(LEVELS_BIN)/code001.hex - $(call mod_hex2dat,$<,$@) + $(call mb_hex2dat,$<,$@) $(LEVELS_BIN)/code002.dat: $(LEVELS_BIN)/code002.hex - $(call mod_hex2dat,$<,$@) + $(call mb_hex2dat,$<,$@) $(LEVELS_BIN)/code.001: $(LEVELS_BIN)/code001.dat - cp $< $@ + $(call mb_copy,$<,$@) $(LEVELS_BIN)/code.002: $(LEVELS_BIN)/code002.dat - cp $< $@ \ No newline at end of file + $(call mb_copy,$<,$@) diff --git a/src/loader/0module.mk b/src/loader/0module.mk index 8bc27b6..1ec93c4 100644 --- a/src/loader/0module.mk +++ b/src/loader/0module.mk @@ -6,15 +6,16 @@ LOADER_HEX := $(LOADER_BIN)/$(LOADER_NAME).hex LOADER_DAT := $(LOADER_BIN)/$(LOADER_NAME).dat LOADER_RELS := $(LOADER_BIN)/$(LOADER_NAME).rel LOADER_CODE := $(LOADER_SRC)/$(LOADER_NAME).asm +BUILD_HELP += \\n\\t* $(LOADER_DAT) $(LOADER_BIN): - $(call mod_mkdir,$(LOADER_BIN)) + $(call mb_mkdir,$(LOADER_BIN)) $(LOADER_BIN)/%.rel: $(LOADER_SRC)/%.asm | $(LOADER_BIN) - $(call mod_compile_asm,$@,$<) + $(call mb_compile_asm,$@,$<) $(LOADER_HEX): $(LOADER_RELS) - $(call mod_link_asm_8000,$(LOADER_HEX),$(LOADER_RELS)) + $(call mb_link_asm_8000,$(LOADER_HEX),$(LOADER_RELS)) $(LOADER_DAT): $(LOADER_HEX) - $(call mod_hex2dat,$(LOADER_HEX),$(LOADER_DAT)) + $(call mb_hex2dat,$(LOADER_HEX),$(LOADER_DAT)) diff --git a/src/makelib/0module.mk b/src/makelib/0module.mk index 98e6dd6..1ca32fc 100644 --- a/src/makelib/0module.mk +++ b/src/makelib/0module.mk @@ -6,15 +6,16 @@ MAKELIB_HEX := $(MAKELIB_BIN)/$(MAKELIB_NAME).hex MAKELIB_COM := $(MAKELIB_BIN)/$(MAKELIB_NAME).com MAKELIB_RELS := $(MAKELIB_BIN)/$(MAKELIB_NAME).rel MAKELIB_CODE := $(MAKELIB_SRC)/$(MAKELIB_NAME).asm +BUILD_HELP += \\n\\t* $(MAKELIB_COM) $(MAKELIB_BIN): - $(call mod_mkdir,$(MAKELIB_BIN)) + $(call mb_mkdir,$(MAKELIB_BIN)) $(MAKELIB_BIN)/%.rel: $(MAKELIB_SRC)/%.asm | $(MAKELIB_BIN) - $(call mod_compile_asm,$@,$<) + $(call mb_compile_asm,$@,$<) $(MAKELIB_HEX): $(MAKELIB_RELS) - $(call mod_link_asm_dos,$(MAKELIB_HEX),$(MAKELIB_RELS)) + $(call mb_link_asm_dos,$(MAKELIB_HEX),$(MAKELIB_RELS)) $(MAKELIB_COM): $(MAKELIB_HEX) - $(call mod_hex2com,$(MAKELIB_HEX),$(MAKELIB_COM)) + $(call mb_hex2com,$(MAKELIB_HEX),$(MAKELIB_COM)) diff --git a/src/menu/0module.mk b/src/menu/0module.mk index 62ee7f5..56d4c92 100644 --- a/src/menu/0module.mk +++ b/src/menu/0module.mk @@ -6,15 +6,16 @@ MENU_HEX := $(MENU_BIN)/$(MENU_NAME).hex MENU_DAT := $(MENU_BIN)/$(MENU_NAME).dat MENU_RELS := $(MENU_BIN)/$(MENU_NAME).rel MENU_CODE := $(MENU_SRC)/$(MENU_NAME).asm +BUILD_HELP += \\n\\t* $(MENU_DAT) $(MENU_BIN): - $(call mod_mkdir,$(MENU_BIN)) + $(call mb_mkdir,$(MENU_BIN)) $(MENU_BIN)/%.rel: $(MENU_SRC)/%.asm | $(MENU_BIN) - $(call mod_compile_asm,$@,$<) + $(call mb_compile_asm,$@,$<) $(MENU_HEX): $(MENU_RELS) - $(call mod_link_asm_8000,$(MENU_HEX),$(MENU_RELS)) + $(call mb_link_asm_8000,$(MENU_HEX),$(MENU_RELS)) $(MENU_DAT): $(MENU_HEX) - $(call mod_hex2dat,$(MENU_HEX),$(MENU_DAT)) + $(call mb_hex2dat,$(MENU_HEX),$(MENU_DAT)) diff --git a/src/mmenu/0module.mk b/src/mmenu/0module.mk index e7d4146..24448c6 100644 --- a/src/mmenu/0module.mk +++ b/src/mmenu/0module.mk @@ -6,15 +6,16 @@ MMENU_HEX := $(MMENU_BIN)/$(MMENU_NAME).hex MMENU_DAT := $(MMENU_BIN)/$(MMENU_NAME).dat MMENU_RELS := $(MMENU_BIN)/$(MMENU_NAME).rel MMENU_CODE := $(MMENU_SRC)/$(MMENU_NAME).asm +BUILD_HELP += \\n\\t* $(MMENU_DAT) $(MMENU_BIN): - $(call mod_mkdir,$(MMENU_BIN)) + $(call mb_mkdir,$(MMENU_BIN)) $(MMENU_BIN)/%.rel: $(MMENU_SRC)/%.asm | $(MMENU_BIN) - $(call mod_compile_asm,$@,$<) + $(call mb_compile_asm,$@,$<) $(MMENU_HEX): $(MMENU_RELS) - $(call mod_link_asm_4000,$(MMENU_HEX),$(MMENU_RELS)) + $(call mb_link_asm_4000,$(MMENU_HEX),$(MMENU_RELS)) $(MMENU_DAT): $(MMENU_HEX) - $(call mod_hex2dat,$(MMENU_HEX),$(MMENU_DAT)) + $(call mb_hex2dat,$(MMENU_HEX),$(MMENU_DAT))