2020-12-23 17:14:13 +00:00
|
|
|
# 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.
|
|
|
|
|
2021-07-04 00:12:48 +00:00
|
|
|
## Features
|
2020-12-23 17:14:13 +00:00
|
|
|
|
2021-07-04 00:12:48 +00:00
|
|
|
* SDCC msx build steps.
|
|
|
|
* Allows headless openMSX buildpipe.
|
2020-12-23 17:14:13 +00:00
|
|
|
* openMSX safe exit failure guards.
|
|
|
|
* Automatic disk image import + export per build step.
|
2021-07-04 00:12:48 +00:00
|
|
|
* Downloads and caches resources from msxhub.com
|
2020-12-23 17:14:13 +00:00
|
|
|
|
2021-07-04 00:12:48 +00:00
|
|
|
## Dependencies
|
2020-12-23 17:14:13 +00:00
|
|
|
|
2021-07-04 00:12:48 +00:00
|
|
|
* make
|
|
|
|
* openmsx
|
|
|
|
* sdcc
|
|
|
|
* hex2bin
|
|
|
|
* wget
|
2021-07-06 01:52:02 +00:00
|
|
|
* unix2dos
|
2020-12-23 17:14:13 +00:00
|
|
|
|
2021-07-04 00:12:48 +00:00
|
|
|
## Usage
|
2020-12-23 17:14:13 +00:00
|
|
|
|
2021-07-06 20:14:17 +00:00
|
|
|
Include the `lib/make/msxbuild.mk` file from your Makefile.
|
2021-07-04 00:12:48 +00:00
|
|
|
And override the required paths;
|
|
|
|
* PATH_SDCC ?= /usr/bin
|
|
|
|
* PATH_HEX2BIN ?= /usr/bin
|
2021-07-06 01:52:02 +00:00
|
|
|
* PATH_UNIX2DOS ?= /usr/bin
|
2021-07-04 00:12:48 +00:00
|
|
|
* PATH_OPENMSX ?= /opt/openMSX/bin/
|
|
|
|
* PATH_MSXBUILD ?= /opt/msxbuild
|
2020-12-23 17:14:13 +00:00
|
|
|
|
2021-07-06 20:14:17 +00:00
|
|
|
Then build result based compile rules see an example in; `test/ahello/0module.mk`
|
2021-07-04 00:12:48 +00:00
|
|
|
|
|
|
|
|
|
|
|
## 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
|
2021-07-06 02:28:45 +00:00
|
|
|
* mb_openmsx_macro80
|
2021-07-04 00:12:48 +00:00
|
|
|
* mb_msxhub_file
|
2021-07-06 02:28:45 +00:00
|
|
|
* mb_msxhub_get_dos2
|
|
|
|
* mb_msxhub_get_macro80
|
2021-07-04 00:12:48 +00:00
|
|
|
* 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
|
2020-12-23 17:07:27 +00:00
|
|
|
|
2021-07-03 02:15:15 +00:00
|
|
|
## Errata
|
|
|
|
|
2021-07-04 00:12:48 +00:00
|
|
|
* Doesn't work on windows
|
|
|
|
* Missing dos1 support
|
|
|
|
* Missing c support
|