diff --git a/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_sdcc.mk b/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_sdcc.mk index 3ba8007..dc94304 100644 --- a/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_sdcc.mk +++ b/lib/make/ᐅᖓᕙᕆᐊᖅᓯᓂᖅ/mb_sdcc.mk @@ -8,6 +8,7 @@ $(call mb-make-call,mb-doc-variable-deep,MB_SDCC_FLAG_CPU,The SDCC cpu target op MB_SDCC_FLAG_LD ?= --nostdinc $(call mb-make-call,mb-doc-variable-deep,MB_SDCC_FLAG_LD,The SDCC linker option.) +# TODO: add maplib (auto?) support; -I$(MB_@BASEPATH)maplib/sdcc/ MB_SDCC_ASZ80_FLAGS ?= -g -l -c -o $(call mb-make-call,mb-doc-variable-deep,MB_SDCC_ASZ80_FLAGS,The SDCC z80 asm compiler flags.) diff --git a/src/maplib/0module.mk b/src/maplib/0module.mk new file mode 100644 index 0000000..525e439 --- /dev/null +++ b/src/maplib/0module.mk @@ -0,0 +1,12 @@ + +MAPLIB_SRC := $(call mb-make-call,mb-make-module-path-src,$(PATH_SRC)) +MAPLIB_BIN := $(call mb-make-call,mb-make-module-path-bin,$(PATH_SRC),$(PATH_BIN)) + +# TODO: +# finish XML data +# write XSLT per compiler and/or language supported +# add xsltproc tooling functions +# add generator output flow +# add release-local to copy to lib/maplib/sdcc/mainrom.asm +# etc + diff --git a/src/maplib/mapbios.xml b/src/maplib/mapbios.xml new file mode 100644 index 0000000..443dd4b --- /dev/null +++ b/src/maplib/mapbios.xml @@ -0,0 +1,51 @@ + + + + + Tests RAM and sets RAM slot for the system + ALL + After this, a jump must be made to INIT, for further initialisation. + + + Tests whether the character of (HL) is the specified character if not, it generates SYNTAX ERROR, otherwise it goes to CHRGTR (#0010) + Set the character to be tested in (HL) and the character to be compared next to RST instruction which calls this routine (inline parameter) + HL is increased by one and A receives (HL), When the tested character is numerical, the carry flag is set the end of the statement (00h or 3Ah) causes + AF, HL + + + Reads the value of an address in another slot + + A - ExxxSSPP Slot-ID + │ ││└┴─ Primary slot number (00-11) + │ └┴─── Secondary slot number (00-11) + └───────────── Expanded slot (0 = no, 1 = yes) + HL - Address to read + A - Contains the value of the read address + AF, C, DE + This routine turns off the interupt, but won't turn it on again + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/maplib/mapvars.xml b/src/maplib/mapvars.xml new file mode 100644 index 0000000..a6ecc2d --- /dev/null +++ b/src/maplib/mapvars.xml @@ -0,0 +1,72 @@ + + + + + 2 + Base address of the MSX character set in ROM. + + + 1 + Base port address for VDP data read. + + + 1 + Base port address for VDP data write. + + + 1 + 0-3 = Character set, 4-6 = Date format, 7 = 60/50hz + + + 1 + 0-3 = Keyboard type, 4-7 = Basic version + + + 1 + MSX version number + + + 1 + MSX-MIDI is present internally (MSX turbo R only) + + + 4 + Default KANJI range. Copied to KANJTABLE by the DiskBIOS on boot. + + + + + 4 + Two pairs of limits for the first bytes of Shift-JIS characters. + + + 1 + Slot address of RAM in page 0 (DOS) + + + 1 + Slot address of RAM in page 1 (DOS) + + + 1 + Slot address of RAM in page 2 (DOS/BASIC) + + + 1 + Slot address of RAM in page 3 (DOS/BASIC) + + + 1 + Main DiskROM slot address + + + + + + + + + + + +