MSX Boot Manager 1.0 Made By: NYYRIKKI (2024)
---------------------------------------------

This is a tool to take control of what happens during MSX boot.

1. Use cases & basic usage
--------------------------

Typical use case for this tool is to prevent a cartridge from booting without physically removing it from the machine. In MSX2 and MSX2+ this is very easy. You put the Boot Manager cartridge to any free slot and power on the machine. When computer suggests pressing DEL-key to enter bootmenu you do so. You use cursors to select the cartridge that you don't want to start, press "S" to make your MSX to skip the cartridge and press "Return" to execute the boot. If you pressed "S" on wrong line, you can press it again to cancel your selection. You can also always press "SELECT" to cancel all changes and return to default boot order.

On MSX1 and MSX tR the Boot Manager cartridge may need to be placed at a lower slot number in order to be able to prevent the cartridge from booting. This however depends of the software you are trying to skip as well. In these models software that uses disk routines or does not automatically start on boot can be skipped even if the lower slot is not available.

Another use case might be to change the order in which the cartridges start. By using this software you can easily for example test how your software works if disk drive is initialized before your program starts or if it works differently in case it is initialized in a later stage. If your HDD interface is on lower slot than floppy drive, you may use this to move internal disk drive to start before IDE interface in order to have A: and B: pointing to floppy and first HDD partition as C: to see how ie. how your AUTOEXEC.BAT works when the boot drive name changes. Especially for developers this gives plenty of flexibility to test different kinds of boot orders that people may have.

This is very easy: Practically you just press "Space" in front of the slot you want to move to a new place in boot order, move it where you want it by using Up/Down cursors and drop it to the new place by pressing "Space" again. When the order is what you like, you just hit "Return"

2. Building a Boot Manager cartridge
------------------------------------

This is a 32kB ROM-file, so you need a 32kB (or larger) EPROM/EEPROM/Flash chip. Currently this software does not support sharing the slot with another software. You need to connect /CE to /SLTSL and /OE to /RD and naturally data and address lines together. In openMSX this kind of setup is called "Mirrored0000"

3. Advanced usage
-----------------

Typically what you already learned is enough, but in some rare cases you may need to know more about the program and MSX boot process in general.

When you enter the boot menu the ">"-cursor will point to a slot that is next in line for initialization (if you don't change things). In MSX2 and MSX2+ this should always be the first line if you have built the cart correctly. If you accidentally used ie. /CS12 on /OE (like how many game cartridges are connected) the cart will still work, but the slot order limitations will be the same as with MSX1 and MSX tR. It is not really a big deal as you can still do everything.

When you move the cursor, you will see a small information summary of the card at the bottom of the screen. It will show ie. if the cartridge has BASIC program, BASIC CALL-command extension or device handler or on it. It will also indicate on what 16kB page the program/handler is placed. P0 means #0000-#3FFF, P1 means #4000-#7FFF and so on. 

3.1 Shared slots
----------------

Sometimes there might be a case that the same slot has ie. disk drive on page 1 (P1) and manufacturer custom software on page 2 (P2). In this case you might want to enable initialization only ie. on page 1. This can be done by pressing "P"-key once to add "P1"-note after the slot. Pressing "P"-key multiple times will toggle between options. Please understand that on the slot list the page means where the cartridge header is and on the description it means where the actual routine is. Typically these values are the same, but not always.

It may be that you also want to boot both softwares, but at different times. This can be done by manually adding a copy of the slot to the list. To do that you need to press "A" and then fill the slot number. If you change one entry to P1 and another to P2 you can move them individually on the list. If you added a wrong slot, you can just press "S" to skip it or press "SELECT" to start over.

3.2 MegaROMs
------------

MegaROMs can look a bit weird on the menu, so a little explanation might be in place. If you have ie. MSX tR, you can see that there is a Panasonic mapper on slot 3-3 and when you point to that slot, you will see that there are two INIT-entries that both point to P1. This is because the list of slots has been generated before the ROMs have really initialized, so both P1 and P2 still show the same ROM mapper page. In normal cases this will not cause a problem as P2 routine will disappear from memory during P1 init. It will be also ok to execute only one of them from P1 or P2. How ever you may cause a problem if you ie. think this is a shared slot, you split the slot and then set the computer to init P2 before P1. This will actually cause the init routine on P1 to run two times. As this routine links itself to EXTBIO routine, this will make it do it two times, which will cause the program to hang on next EXTBIO call due to the infinite loop it causes. This program does not prevent you from making such mistakes, but it tries to make it at least a bit difficult. :)

I think that is all I wanted to say. Have fun!

Oh, one more thing... As this is the ultimate "skip the cartridge"-tool, there naturally must be a hotkey to skip this program as well. You can do that by powering the computer on while holding down "right"-key down until the computer hangs. When you release the button the computer boots up without Boot Manager..


			    ,_____.
		    _=_=_=_=!_MSX_!=_=_=_=_=_=_=_=_,
		   ! A1GT ~--- - I  ( o o o o o o )i
		  /--------------------------------`,
		 / .::::::::::::::::::::::;::;	::::.,
		/ :::.:.:.:::____________:::::!.  -=- `,
		~======================================
		                NYYRIKKI