From 1a0e2233d72f27f8c4ed657d95f3011d712c8dde Mon Sep 17 00:00:00 2001 From: Willem Date: Sun, 30 Jun 2024 23:35:04 +0200 Subject: [PATCH] Added assert for make running on the MSX. --- src/ahello-m80/0module.mk | 2 +- src/assert-all/0module.mk | 3 ++- src/make-on-msx/0module.mk | 36 ++++++++++++++++++++++++++++++++++++ src/make-on-msx/build.bat | 25 +++++++++++++++++++++++++ src/make-on-msx/nfbsshot.mac | 23 +++++++++++++++++++++++ src/make-on-msx/nfbsshot.mf | 14 ++++++++++++++ 6 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 src/make-on-msx/0module.mk create mode 100644 src/make-on-msx/build.bat create mode 100644 src/make-on-msx/nfbsshot.mac create mode 100644 src/make-on-msx/nfbsshot.mf diff --git a/src/ahello-m80/0module.mk b/src/ahello-m80/0module.mk index 32415de..223f067 100644 --- a/src/ahello-m80/0module.mk +++ b/src/ahello-m80/0module.mk @@ -21,7 +21,7 @@ $(AHELLO_M80_BIN)/ahello.hex: $(AHELLO_M80_BIN)/ahello.rel $(call mb_openmsx_dosctl,$(AHELLO_M80_BIN)) BUILD_HELP += \\n\\t* $(AHELLO_M80_BIN)/ahello.com -$(AHELLO_M80_BIN)/ahello.com: $(AHELLO_M80_BIN)/ahello.hex +$(AHELLO_M80_BIN)/ahello.com: | $(AHELLO_M80_BIN)/ahello.hex $(call mb_autoexec_safe_cmd,$(AHELLO_M80_BIN),hextocom ahello) $(call mb_openmsx_dosctl,$(AHELLO_M80_BIN)) diff --git a/src/assert-all/0module.mk b/src/assert-all/0module.mk index 7c5b921..3f1c4e2 100644 --- a/src/assert-all/0module.mk +++ b/src/assert-all/0module.mk @@ -5,7 +5,8 @@ bin/ahello-sdcc-test/@assert \ bin/dist-qa-dos1/@assert \ bin/dist-qa-dos2/@assert \ bin/dist-qa-msx1/@assert \ -bin/dist-qa-msxhub/@assert +bin/dist-qa-msxhub/@assert \ +bin/make-on-msx/@assert BUILD_HELP += \\n\\t* assert-all \(Run all assertion tests\) .PHONY: assert-all diff --git a/src/make-on-msx/0module.mk b/src/make-on-msx/0module.mk new file mode 100644 index 0000000..92adb31 --- /dev/null +++ b/src/make-on-msx/0module.mk @@ -0,0 +1,36 @@ + +MAKE_ON_MSX_MOD := make-on-msx +MAKE_ON_MSX_SRC := $(PATH_SRC)/$(MAKE_ON_MSX_MOD) +MAKE_ON_MSX_BIN := $(PATH_BIN)/$(MAKE_ON_MSX_MOD) + +$(MAKE_ON_MSX_BIN): + $(call mb_mkdir,$(MAKE_ON_MSX_BIN)) + $(call mb_mkdir,$(MAKE_ON_MSX_BIN)/utils) + $(call mb_msxhub_get_make,$(MAKE_ON_MSX_BIN)/utils) + $(call mb_msxhub_get_macro80,$(MAKE_ON_MSX_BIN)/utils) + $(call mb_msxhub_get_z80asmuk,$(MAKE_ON_MSX_BIN)/utils) + +$(MAKE_ON_MSX_BIN)/nfbsshot.mac: $(MAKE_ON_MSX_SRC)/nfbsshot.mac | $(MAKE_ON_MSX_BIN) + $(call mb_unix2dos,$<,$@) + +$(MAKE_ON_MSX_BIN)/nfbsshot.mf: $(MAKE_ON_MSX_SRC)/nfbsshot.mf | $(MAKE_ON_MSX_BIN) $(MAKE_ON_MSX_BIN)/nfbsshot.mac + $(call mb_unix2dos,$<,$@) + +$(MAKE_ON_MSX_BIN)/build.bat: $(MAKE_ON_MSX_SRC)/build.bat | $(MAKE_ON_MSX_BIN) $(MAKE_ON_MSX_BIN)/nfbsshot.mf + $(call mb_unix2dos,$<,$@) + +BUILD_HELP += \\n\\t* $(MAKE_ON_MSX_BIN)/nfbsshot.bin +$(MAKE_ON_MSX_BIN)/nfbsshot.bin: | $(MAKE_ON_MSX_BIN)/build.bat + $(call mb_autoexec_safe_cmd,$(MAKE_ON_MSX_BIN),build exit) + $(call mb_openmsx_dosctl,$(MAKE_ON_MSX_BIN)) + +BUILD_HELP += \\n\\t* $(MAKE_ON_MSX_BIN)/@assert +.PHONY: $(MAKE_ON_MSX_BIN)/@assert +$(MAKE_ON_MSX_BIN)/@assert: | $(MAKE_ON_MSX_BIN)/nfbsshot.bin + grep -U "screenshot" $(MAKE_ON_MSX_BIN)/nfbsshot.bin + +BUILD_HELP += \\n\\t* $(MAKE_ON_MSX_BIN)/@run +.PHONY: $(MAKE_ON_MSX_BIN)/@run +$(MAKE_ON_MSX_BIN)/@run: | $(MAKE_ON_MSX_BIN)/build.bat + $(call mb_autoexec_show_gui80,$(MAKE_ON_MSX_BIN)) + $(call mb_openmsx_dosctl,$(MAKE_ON_MSX_BIN)) diff --git a/src/make-on-msx/build.bat b/src/make-on-msx/build.bat new file mode 100644 index 0000000..4e0357c --- /dev/null +++ b/src/make-on-msx/build.bat @@ -0,0 +1,25 @@ +echo === Trigger workaround +rem note1: Fixme make will not build without targets files +rem note2: Fixme make will not build without updated time stamps +copy /T build.bat NFBSSHOT.BIN +dir/w utils +copy /T build.bat NFBSSHOT.HEX +dir/w utils +copy /T build.bat NFBSSHOT.REL +dir/w utils +copy /T NFBSSHOT.MAC NFBSSHOT.BAK +dir/w utils +copy /T NFBSSHOT.BAK NFBSSHOT.MAC +dir/w utils +echo === Running make +make NFBSSHOT.MF /x > build2.bat +echo === Concat shutdown +echo "" > build3.bat +IFF "exit" == %1 + echo "shutdown.bat" > build3.bat +ENDIFF +concat build2.bat + build3.bat build4.bat +echo === Final script +type build4.bat +echo === Running build +build4.bat diff --git a/src/make-on-msx/nfbsshot.mac b/src/make-on-msx/nfbsshot.mac new file mode 100644 index 0000000..d0f7af3 --- /dev/null +++ b/src/make-on-msx/nfbsshot.mac @@ -0,0 +1,23 @@ + title Night Flight Basic Screen SHOT +.Z80 + +DEBUG_PORT EQU 2Dh + +ASEG +ORG X'C000' + +MAIN: + LD HL,COMMAND_TXT + LD DE,COMMAND_BUFF + LD BC,0 + OUT (DEBUG_PORT),A + RET + +COMMAND_TXT: + DB "night_flight_save_screenshot$" + +COMMAND_BUFF: + DS 100 + +END +DSEG diff --git a/src/make-on-msx/nfbsshot.mf b/src/make-on-msx/nfbsshot.mf new file mode 100644 index 0000000..c574aea --- /dev/null +++ b/src/make-on-msx/nfbsshot.mf @@ -0,0 +1,14 @@ +# Makefile to run on MSX + +nfbsshot.rel: nfbsshot.mac + echo Making nfbsshot.rel + m80 =nfbsshot/Z + +nfbsshot.hex: nfbsshot.rel + echo Making nfbsshot.hex + l80 /P:C000,nfbsshot,nfbsshot/N/X/Y/E + +nfbsshot.bin: nfbsshot.hex + echo Making nfbsshot.bin + hextobin nfbsshot.hex nfbsshot.bin +