# MSXBUILD Utils to use openMSX in build pipelines. 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 * Allows parallel headless openMSX build pipeline * openMSX safe exit failure guards * Automatic disk image import + export per build step * 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 * Embedded documentation of make options ## Dependencies * make + wget + tar + dos2unix * sdcc * openmsx * ffmpeg For debian use; apt-get install make wget tar dos2unix sdcc openmsx ffmpeg ## Usage Classic 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 ## Usage Docker TODO ## Example Project When you want to see whats happening do a debug run; normal run; time make assert-all real 0m3.223s debug run at 11 Mhz; time MB_OPENMSX_HEADLESS=off MB_OPENMSX_THROTTLE=on make assert-all real 1m4.856s debug run real msx speed; time MB_OPENMSX_HEADLESS=off MB_OPENMSX_THROTTLE=on MB_OPENMSX_SPEED=100 make assert-all real 2m37.379s debug run with screenshot on exit; (black screens without throttle) time MB_OPENMSX_HEADLESS=off MB_OPENMSX_THROTTLE=on MB_FLIGHT_SCREEN=on make -s assert-all real 1m14.043s debug run with video recorder and merge to one video file; time MB_OPENMSX_HEADLESS=off MB_FLIGHT_VIDEO=on make -s assert-all real 0m7.136s build parallel; time make -s -j4 assert-all real 0m1.817s manual test msxhub on machine; make DIST_QA_MSXHUB_MACHINE=Philips_VG_8000 bin/dist-qa-msxhub/@run ## Functions Current set is WIP. * mb_autoexec_write_default `