My idea is to create a new OS with some type of GUI on a rom chip.
All the questions are research at this point.
For a ROM, the header must be at 4000h or 8000h.
So you can easily make a 32 KB ROM with the BIOS in memory page #0, your cartridge in pages #1 and #2 and RAM in page #3.
If this is not enough and/or if you want to replace the BIOS with your own functions, nothing prevents you from switching the slot of page #0 to the slot of your cartridge. This way you will have a 48 KB cartridge that controls the MSX entirely with your own code (this is what I use for my tennis game). In this case, you just have to provide an ISR code at address 0038h (page #0).
Note that if you want to be able to use disks in your OS, you will have to delay the initialization of your ROM to let the disk controller ROM to run first. There is a hook provided for this purpose (STKE).
speaking of, are you gonna finish that Tennis game for dev22?
speaking of, are you gonna finish that Tennis game for dev22?
-- Off topic --
For the moment, I'm having fun helping others to make games with MSXgl.
But I don't lose hope to finish this game. I needed to add mapped-ROM support and a good audio player to continue. Now I don't really have an excuse. ^^
With a good A.I. it would be a must.
If you are going to do a GUI OS on a ROM, then just go all out and do a 256Kb MegaROM (or even larger). No point to wonder if you should use the first 16K, if you are going to need much much more anyway.