# TODO: Convert pi MSX number data, the named pie slices to hyperdrive storage for distribution over red sea MB_MSXROM_API ?= https://msxrom.distributedrebirth.love/calc-pi/v19.1 MB_MSXROM_CACHE ?= $(MB_CACHE)/msxbuild/msxrom define _mb_msxrom_file_fetch @echo === Fetch msxrom file $(if $(wildcard $(dir $(MB_MSXROM_CACHE)/$(subst $(MB_MSXROM_API)/,,$(1)))),,$(call mb_mkdir,$(dir $(MB_MSXROM_CACHE)/$(subst $(MB_MSXROM_API)/,,$(1))))) $(if $(wildcard $(MB_MSXROM_CACHE)/$(subst $(MB_MSXROM_API)/,,$(1))),,wget -O $(MB_MSXROM_CACHE)/$(subst $(MB_MSXROM_API)/,,$(1)) $(1)) 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 $(if $(wildcard $(1)-omsx),,$(call mb_mkdir,$(1)-omsx)) $(if $(wildcard $(1)-omsx/share),,$(call mb_mkdir,$(1)-omsx/share)) $(if $(wildcard $(1)-omsx/share/systemroms),,$(call mb_mkdir,$(1)-omsx/share/systemroms)) $(if $(wildcard $(1)-omsx/share/systemroms/machines),,$(call mb_mkdir,$(1)-omsx/share/systemroms/machines)) $(if $(wildcard $(1)-omsx/share/systemroms/extensions),,$(call mb_mkdir,$(1)-omsx/share/systemroms/extensions)) endef define mb_msxrom_extension_ide $(call mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/ide240.dat) endef define mb_msxrom_extension_ide_nextor $(call mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/Nextor-2.1.1.SunriseIDE.ROM) endef define mb_msxrom_extension_scsi_novaxis $(call mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/novaxis.rom) endef define mb_msxrom_extension_msxdos22 $(call mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/msxdos22.rom) endef define mb_msxrom_extension_rs232 $(call mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/rs232.rom) endef define mb_msxrom_extension_fmpac $(call mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/fmpac.rom) endef define mb_msxrom_extension_fmpac_en $(call mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/fmpac_en.rom) endef define mb_msxrom_extension_moonsound $(call mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,extensions/yrw801.rom) endef define mb_msxrom_extension_basickun $(call mb_msxrom_file,$(1)-omsx/share/systemroms/extensions,machines/sanyo/phc-70fd2_basickun.rom) endef define mb_msxrom_machine_Mitsubishi_ML-F80 $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-f80_basic-bios1.rom) endef define mb_msxrom_machine_Mitsubishi_ML-FX1 $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-fx1_basic-bios1.rom) endef define mb_msxrom_machine_Mitsubishi_ML-G3_ES $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-g3_es_basic-bios2.rom) $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-g3_es_disk.rom) $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-g3_es_msx2sub.rom) $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/mitsubishi/ml-g3_es_rs232.rom) endef define mb_msxrom_machine_Canon_V-20 $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/canon/v-20_basic-bios1.rom) endef define mb_msxrom_machine_Philips_VG_8000 $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/vg8000_basic-bios1.rom) endef define mb_msxrom_machine_Philips_VG_8230 $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/vg8230_basic-bios2.rom) $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/vg8230_disk.rom) $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/vg8230_msx2sub.rom) endef define mb_msxrom_machine_Philips_NMS_8250 $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/nms8250_basic-bios2.rom) $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/nms8250_msx2sub.rom) $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/philips/nms8250_disk.rom) endef define mb_msxrom_machine_Toshiba_HX-21.xml $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/toshiba/HX21-IC2.BIN) $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/toshiba/HX21-IC3.BIN) endef define mb_msxrom_machine_Yamaha_AX200 $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/ax200_basic-bios1.rom) $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/ax200_arabic.rom) $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/ax200_music.rom) endef define mb_msxrom_machine_Yamaha_YIS-503IIIR $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/yis503iii_basic-bios2.rom) $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/yis503iii_msx2sub.rom) $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/yis503iii_cpm.rom) $(call mb_msxrom_file,$(1)-omsx/share/systemroms/machines,machines/yamaha/yis503iii_net_2.rom) endef define mb_msxrom_machine_Boosted_MSX2_EN $(call mb_msxrom_machine_Philips_NMS_8250,$(1)) $(call mb_msxrom_extension_fmpac,$(1)) $(call mb_msxrom_extension_moonsound,$(1)) $(call mb_msxrom_extension_basickun,$(1)) endef