I have started a new forum thread with a more appropriate name to continue the discussion about the UNAPI specification:
What are the requirement for routine extended Bios is present? The Disk-ROM v.2.x?
And how to know if a device exists or not?
I noticed that Multimente accesses devices: 04H (Memory mapper), 010H, 0F0H and 0F1H. Only the 04H is listed.
A list of extended BIOS device identifiers can be found on page 567 of the MSX Datapack Vol. 2.
Now I understood how the routine Bios works. The list of extended BIOS device identifiers of the MSX Datapack seems incorrect. For example, midi (11) and system (255) functions seem not to exist.
Isn’t it dependent on what machine / hardware is plugged in?
Yes but I tried the Midi device on a emulated Turbo R A1-GT. I did not see anything. Most Midi interface have even not any BIOS.
About System device I find nothing.
Other example: The table obtained by the function 0 of device "Broad-cast" is a bit different than the Datapack said. There are 0 between each device number.
Method with the bit 0 of HOKVLD in the MSX-Datapack to verify if extended Bios is present or not seems wrong. When I test it with following program, the result is not always consistent.
10 PRINT:PRINT"Extended Bios is "; 20 IF (PEEK(&HFB20)AND1)=0 THEN PRINT"not "; 30 PRINT"present " 40 PRINT"EXTBIO hook is "; 50 IF PEEK(&HFFCA)=&HC9 THEN PRINT"not "; 60 PRINT"installed";:PRINT" ("+HEX$(PEEK(&HFFCA))+"h)"
Method with the bit 0 of HOKVLD
If I recall properly there was an issue with the documentation on how to install and initialize EXTBIO - we had conversation with konamiman about it year or two ago. Some other areas than EXTBIO must be initialized with 0s in order for subsystem to work properly. The best is to look at how konamiman has it implemented
That thread?
https://www.msx.org/forum/development/msx-development/help-d...
What I want to know is why the method given in the Datapack is not valid. That's what the program above shows me by running it on emulated MSX2+.
That thread?
Yes!
Method with the bit 0 of HOKVLD in the MSX-Datapack to verify if extended Bios is present or not seems wrong. When I test it with following program, the result is not always consistent.
Can you explain in more detail what is wrong and how? Pattern? You think that is it initialized, but basic program says not?