Added assert for make running on the MSX.
All checks were successful
Run test asserts / Test-Asserts (push) Successful in -10s

This commit is contained in:
Willem Cazander 2024-06-30 23:35:04 +02:00
parent 779138daca
commit 1a0e2233d7
6 changed files with 101 additions and 2 deletions

View file

@ -21,7 +21,7 @@ $(AHELLO_M80_BIN)/ahello.hex: $(AHELLO_M80_BIN)/ahello.rel
$(call mb_openmsx_dosctl,$(AHELLO_M80_BIN)) $(call mb_openmsx_dosctl,$(AHELLO_M80_BIN))
BUILD_HELP += \\n\\t* $(AHELLO_M80_BIN)/ahello.com 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_autoexec_safe_cmd,$(AHELLO_M80_BIN),hextocom ahello)
$(call mb_openmsx_dosctl,$(AHELLO_M80_BIN)) $(call mb_openmsx_dosctl,$(AHELLO_M80_BIN))

View file

@ -5,7 +5,8 @@ bin/ahello-sdcc-test/@assert \
bin/dist-qa-dos1/@assert \ bin/dist-qa-dos1/@assert \
bin/dist-qa-dos2/@assert \ bin/dist-qa-dos2/@assert \
bin/dist-qa-msx1/@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\) BUILD_HELP += \\n\\t* assert-all \(Run all assertion tests\)
.PHONY: assert-all .PHONY: assert-all

View file

@ -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))

25
src/make-on-msx/build.bat Normal file
View file

@ -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

View file

@ -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

View file

@ -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