# MSXBUILD Utils to use openMSX in build pipelines. You can use these scripts as-is. But as always, feel free to extend it for your specific needs or contribute a fix or feature. ## Features * SDCC msx build steps. * Allows headless openMSX buildpipe. * openMSX safe exit failure guards. * Automatic disk image import + export per build step. * Downloads and caches resources from msxhub.com ## Dependencies * make * openmsx * sdcc * hex2bin * wget * unix2dos ## Usage Include the `lib/make/msxbuild.mk` file from your Makefile. And override the required paths; * PATH_SDCC ?= /usr/bin * PATH_HEX2BIN ?= /usr/bin * PATH_UNIX2DOS ?= /usr/bin * PATH_OPENMSX ?= /opt/openMSX/bin/ * PATH_MSXBUILD ?= /opt/msxbuild Then build result based compile rules see an example in; `test/ahello/0module.mk` ## Functions Current set is WIP. * mb_compile_asm * mb_link_asm_lib * mb_link_asm * mb_link_asm_0000 = call mb_link_asm,$(1),$(2),0x0000 * mb_link_asm_0100 * mb_link_asm_1000 * mb_link_asm_4000 * mb_link_asm_8000 * mb_link_asm_C000 * mb_link_asm_dos = alias for mb_link_asm_0100 * mb_hex2com * mb_hex2dat * mb_openmsx_dos2 * mb_openmsx_macro80 * mb_msxhub_file * mb_msxhub_get_dos2 * mb_msxhub_get_macro80 * mb_assert_file_equals = note: text file only * mb_autoexec_append_cmd * mb_autoexec_append_echo * mb_autoexec_append_rem * mb_autoexec_append_gui_mode * mb_autoexec_append_stop_fail * mb_autoexec_append_exit * mb_autoexec_write_default * mb_autoexec_open_gui * mb_autoexec_open_gui_cmd * mb_autoexec_cmd * mb_autoexec_cmd_test * mb_clean * mb_mkdir * mb_delete * mb_copy * mb_create_dist ## Errata * Doesn't work on windows * Missing dos1 support * Missing c support