diff --git a/README.md b/README.md
index db58857..4408c2a 100644
--- a/README.md
+++ b/README.md
@@ -2,22 +2,8 @@
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.
-
-## OpenMSX missing automation documentation
-
-* Don't use DirAsDisk, it is slow
-* Wrap all TCL commands in catch+stderr+exit1
-* Use TCL script for auto HD import/export
-* Use stdio mode for headless and/or fast boot
-* Disable throttling for automation steps
-* Use fail_after TCL script to run openMSX safely
-* Control openMSX from inside with TCL+command
-* Enable SDL just before command is addictive fast
-* TODO: Use TCL for BASIC/ASM/C lcov (Cobertura) code coverage
-
-The files in this repro try to handle these steps for you.
+You can use these scripts as-is. the files in the `lib` are all you need.
+But as always, feel free to extend it for your specific needs or contribute a fix or feature.
## Features
@@ -27,26 +13,32 @@ The files in this repro try to handle these steps for you.
* Downloads and caches resources from msxhub.com
* Auto magic openMSX extensions and machine rom's setup
* SDCC msx build steps
+* Screenshot and/or video output of full build
## Dependencies
* make + wget + tar + dos2unix
* sdcc
* openmsx
-* ffmpeg (optional, see `srv/assert-all/0module.mk` howto merge videos)
+* ffmpeg
For debian use;
apt-get install make wget tar dos2unix sdcc openmsx ffmpeg
-## Usage
+## Usage Classic
-Include the `lib/make/msxbuild.mk` file from your Makefile.
-And override the paths if needed;
+Have access or copy the `lib` folder in your project and start writing make files.
+
+Include the `lib/make/msxbuild.mk` and override the paths if needed;
* PATH_SDCC=/usr/bin
* PATH_OPENMSX=/usr/bin
-Then build result based compile rules see an example in; `src/ahello-m80/0module.mk`
+## Usage Docker
+
+TODO
+
+## Example Project
When you want to see whats happening do a debug run;
@@ -99,83 +91,97 @@ Current set is WIP.
* mb_autoexec_show_gui80_mouse `
[cmd]`
* mb_autoexec_safe_cmd ` [text-mode]`
* mb_autoexec_safe_test ` [text-mode]`
-* mb_msxhub_file
-* mb_msxhub_get_dos1_boot
-* mb_msxhub_get_dos2_boot
-* mb_msxhub_get_dos2_utils
-* mb_msxhub_get_nextor_boot
-* mb_msxhub_get_nextor_utils
-* mb_msxhub_get_macro80
-* mb_msxhub_get_z80asmuk
-* mb_msxhub_get_wbass2
-* mb_msxhub_get_konpass
-* mb_msxhub_get_pmarc
-* mb_msxhub_get_lhpack
-* mb_msxhub_get_lhext
-* mb_msxhub_get_gunzip
-* mb_msxhub_get_tunzip
-* mb_msxhub_get_popcom
-* mb_msxhub_get_make
-* mb_msxhub_get_adir
-* mb_msxhub_get_turbo
-* mb_msxhub_get_baskom
-* mb_msxhub_get_binldr
-* mb_msxhub_get_dmphex
-* mb_msxhub_get_zd
-* mb_msxhub_get_msxdos2t
-* mb_msxhub_get_gfxage
-* mb_msxrom_file
-* mb_msxrom_setup
-* mb_msxrom_extension_ide
-* mb_msxrom_extension_ide_nextor
-* mb_msxrom_extension_scsi_novaxis
-* mb_msxrom_extension_msxdos22
-* mb_msxrom_extension_rs232
-* mb_msxrom_extension_fmpac
-* mb_msxrom_extension_fmpac_en
-* mb_msxrom_extension_moonsound
-* mb_msxrom_extension_basickun
-* mb_msxrom_machine_Canon_V-20
-* mb_msxrom_machine_Mitsubishi_ML-F80
-* mb_msxrom_machine_Mitsubishi_ML-FX1
-* mb_msxrom_machine_Mitsubishi_ML-G3_ES
-* mb_msxrom_machine_Philips_VG_8000
-* mb_msxrom_machine_Philips_VG_8230
-* mb_msxrom_machine_Philips_NMS_8250
-* mb_msxrom_machine_Toshiba_HX-21.xml
-* mb_msxrom_machine_Yamaha_AX200
-* mb_msxrom_machine_Yamaha_YIS-503IIIR
-* mb_msxrom_machine_Panasonic_FS-A1WSX
-* mb_msxrom_machine_Boosted_MSX2_EN
-* mb_msxrom_machine_Boosted_MSX2+_JP
+* mb_msxhub_file ` `
+* mb_msxhub_get_dos1_boot ``
+* mb_msxhub_get_dos2_boot ``
+* mb_msxhub_get_dos2_utils ``
+* mb_msxhub_get_nextor_boot ``
+* mb_msxhub_get_nextor_utils ``
+* mb_msxhub_get_macro80 ``
+* mb_msxhub_get_z80asmuk ``
+* mb_msxhub_get_wbass2 ``
+* mb_msxhub_get_konpass ``
+* mb_msxhub_get_pmarc ``
+* mb_msxhub_get_lhpack ``
+* mb_msxhub_get_lhext ``
+* mb_msxhub_get_gunzip ``
+* mb_msxhub_get_tunzip ``
+* mb_msxhub_get_popcom ``
+* mb_msxhub_get_make ``
+* mb_msxhub_get_adir ``
+* mb_msxhub_get_turbo ``
+* mb_msxhub_get_baskom ``
+* mb_msxhub_get_binldr ``
+* mb_msxhub_get_dmphex ``
+* mb_msxhub_get_zd ``
+* mb_msxhub_get_msxdos2t ``
+* mb_msxhub_get_gfxage ``
+* mb_msxrom_file ` `
+* mb_msxrom_setup ``
+* mb_msxrom_extension_ide ``
+* mb_msxrom_extension_ide_nextor ``
+* mb_msxrom_extension_scsi_novaxis ``
+* mb_msxrom_extension_msxdos22 ``
+* mb_msxrom_extension_rs232 ``
+* mb_msxrom_extension_fmpac ``
+* mb_msxrom_extension_fmpac_en ``
+* mb_msxrom_extension_moonsound ``
+* mb_msxrom_extension_basickun ``
+* mb_msxrom_machine_Canon_V-20 ``
+* mb_msxrom_machine_Mitsubishi_ML-F80 ``
+* mb_msxrom_machine_Mitsubishi_ML-FX1 ``
+* mb_msxrom_machine_Mitsubishi_ML-G3_ES ``
+* mb_msxrom_machine_Philips_VG_8000 ``
+* mb_msxrom_machine_Philips_VG_8230 ``
+* mb_msxrom_machine_Philips_NMS_8250 ``
+* mb_msxrom_machine_Toshiba_HX-21 ``
+* mb_msxrom_machine_Yamaha_AX200 ``
+* mb_msxrom_machine_Yamaha_YIS-503IIIR ``
+* mb_msxrom_machine_Panasonic_FS-A1WSX ``
+* mb_msxrom_machine_Boosted_MSX2_EN ``
+* mb_msxrom_machine_Boosted_MSX2+_JP ``
* mb_openmsx_setup ` `
* mb_openmsx_dosctl ` [machine] [mem-argu]`
-* mb_sdcc_compile_asm
-* mb_sdcc_link_asm_lib
-* mb_sdcc_link_asm
-* mb_sdcc_link_asm_0000 = calls mb_sdcc_link_asm,$(1),$(2),0x0000
-* mb_sdcc_link_asm_0100
-* mb_sdcc_link_asm_1000
-* mb_sdcc_link_asm_4000
-* mb_sdcc_link_asm_8000
-* mb_sdcc_link_asm_C000
-* mb_sdcc_link_asm_dos = calls mb_sdcc_link_asm_0100
+* mb_sdcc_compile_asm ` `
+* mb_sdcc_link_asm_lib ` `
+* mb_sdcc_link_asm ` `
+* mb_sdcc_link_asm_0000 ` `
+* mb_sdcc_link_asm_0100 ` `
+* mb_sdcc_link_asm_1000 ` `
+* mb_sdcc_link_asm_4000 ` `
+* mb_sdcc_link_asm_8000 ` `
+* mb_sdcc_link_asm_C000 ` `
+* mb_sdcc_link_asm_dos ` `
* mb_sdcc_hex2bin ` `
* mb_clean ``
* mb_mkdir ``
-* mb_delete
-* mb_copy
-* mb_unix2dos
-* mb_dos2unix
-* mb_create_dist
-* mb_create_flight_video
+* mb_delete ``
+* mb_copy ` `
+* mb_unix2dos ` `
+* mb_dos2unix ` `
+* mb_create_dist ` `
+* mb_create_flight_video ``
## Errata
-* Imported folders in openMSX; `cd utils;cd ..;dir` breaks, use `cd utils:cd a:\;dir` as workaround
-* Saving screenshots sometimes lets openMSX segfaults if using SDL
* Doesn't work on windows
-* Missing C and mixed support
-* If no SDL or SDLGL-PP than screenshots or videos don't work
-* boot_exec_color_vdp does not work on MSX1 vdp
+* TODO: Missing C and mixed support
+* TODO: Use TCL for BASIC/ASM/C lcov (Cobertura) code coverage
+## OpenMSX backlog issues
+
+* Bug: screenshots sometimes segfaults when using SDL renderer
+* Bug: screenshots don't work without throttle
+* Bug: Imported folders in openMSX; `cd utils;cd ..;dir` breaks, use `cd utils:cd a:\;dir` as workaround
+* Audio+midi device init option + warning messages on computer without sound card
+* Enhancing the IDE CD-ROM support
+* Command setcolor does not work on MSX1 vdp TMS9918
+* Diskmanipulator export fully non-cased filename compare (duplicates)
+* Diskmanipulator reuse the device defined filename
+* run instance-id or run/process-label to replace hardcoded "untitled1" path
+* Remove msg or add ignore sram-fully or blank setting: SRAM file nms8250.cmos not found, assuming blank SRAM content.
+* Video record append mode + optional multiple previds to glue videos as one
+* SDL-NULL as window less renderer so that screenshot and/or video works headless
+* DocUpdate: Add speed note because it is slow + add example "after quit {export hdd}"
+* DocUpdate: Wrap all TCL commands in catch+stderr+exit1
+* DocUpdate: Add 'headless' example via stdio+new + link to control omsxctl
diff --git a/lib/make/mb_msxhub.mk b/lib/make/mb_msxhub.mk
index 1bd6ba8..5e6f636 100644
--- a/lib/make/mb_msxhub.mk
+++ b/lib/make/mb_msxhub.mk
@@ -12,7 +12,6 @@ endef
define mb_msxhub_file
$(if $(wildcard $(MB_MSXHUB_CACHE)/$(2)),,$(call _mb_msxhub_file_fetch,$(MB_MSXHUB_API)/$(2)))
$(if $(wildcard $(1)/$(call _mb_lowercase,$(notdir $(2)))),,$(call mb_copy,$(MB_MSXHUB_CACHE)/$(2),$(1)/$(call _mb_lowercase,$(notdir $(2)))))
- $(if $(filter true,$(3)),$(call mb_copy,$(MB_MSXHUB_CACHE)/$(2),$(1)/$(call _mb_lowercase,$(notdir $(2)))))
endef
#
diff --git a/lib/make/mb_msxrom.mk b/lib/make/mb_msxrom.mk
index a991e66..d99701f 100644
--- a/lib/make/mb_msxrom.mk
+++ b/lib/make/mb_msxrom.mk
@@ -12,7 +12,6 @@ endef
define mb_msxrom_file
$(if $(wildcard $(MB_MSXROM_CACHE)/$(2)),,$(call _mb_msxrom_file_fetch,$(MB_MSXROM_API)/$(2)))
$(if $(wildcard $(1)/$(notdir $(2))),,$(call mb_copy,$(MB_MSXROM_CACHE)/$(2),$(1)/$(notdir $(2))))
- $(if $(filter true,$(3)),$(call mb_copy,$(MB_MSXROM_CACHE)/$(2),$(1)/$(notdir $(2))))
endef
define mb_msxrom_setup
diff --git a/lib/make/msxbuild.mk b/lib/make/msxbuild.mk
index b42cb1f..8b64a66 100644
--- a/lib/make/msxbuild.mk
+++ b/lib/make/msxbuild.mk
@@ -47,7 +47,7 @@ $(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst
endef
define mb_clean
- @echo === Cleaning build folder.
+ @echo === Cleaning build folder
$(if $(wildcard $(1)),$(MB_RMDIR) $(1))
endef
define mb_mkdir