This page was last modified 11:55, 18 May 2020 by Gdx. Based on work by Mars2000you and Rderooy and others.



IPL is a reserved word that has never been used. It means "Initial Program Loader", but during MSX standard development the functionality was replaced with AUTOEXEC.BAS when the standard format FAT-filesystem was selected.

The execution of this instruction causes just a call to the hook H.IPL (0FE03h). This allows the instruction to be diverted to create a new one.


IPL <Command>


<Command> can be any thing. No command exist. The user must create a command otherwise "Illegal function call" error occurs if IPL is executed.


When calling the Hook, the HL register of the CPU contains the pointer of the Basic interpreter in the buffer of the currently executing instruction. The last value placed in the stack contains the values of the AF registers (F containing the error flags of the interpreter).

It is possible to add parameters behind the instructions but this requires an advanced knowledge of the Basic interpreter. The pointer does not point to a simple ASCII text but a text with many tokens. For example, if you enter "IPL PRINT", the HL register will point to the PRINT instruction code (091h) and not the text "PRINT" (070h 072h 069h 06Eh 074h in ASCII).

Related to



MSX-BASIC 1.0 or higher