Is this your MSX2 hardware configuration?

Page 2/2
1 |

By flyguille

Prophet (3029)

flyguille's picture

03-01-2004, 01:50

Thank for all information, but in a msx2 with 128kb we can't take another free page available for aplications for this think because is only a "short way, but not the better", and the MNBIOS politic is be the better, simply that.

The MNBIOS was cocked in 6 years. I made public the developement because the kernel are running today.

All WD chips are compatibles, a minimal changes requiered for make the other versions. And not is necesary a lot of time. Tha mayor changes are necesary for formating, but that is not necesary for use the MNBIOS, a formated disk with original bios work!.

>>The problem is, the #c000 to #FFFE havn't free bytes for that, especially F380 or upper.<<

Well... You have to load the disk interface driver to some RAM page anyway. (I remember reading that disk drive takes extra 16K.) That same space can be used to make a interface driver to standard disk ROM as well. If this seems too hard, I think, that you can reserve another page of RAM as well to get it working. This may cause, that the whole kernel and all system variables need to be removed from visible page for a while and you may need to relocate SP etc. Anyway after loading you may return to the same situation. Worst thing is, that you may loose some interrupts while loading is in progress and RAM might be chuck away from aplications.

If #C000-FFFF is in use you can safely put the data away for a while and return it back after the load. This can be proved by executing routine below from BASIC. After this the original page 0, that is typically used for #C000-#FFFF is empty and there is still no any problems. Everything works even if you use DOS2 (In DOS2 remember to reserve page first). I know, that MSX-DOS manual says, that you should newer change last page, but there is actually no reason for that as long as the data is there. In this case you don't even need all the data.

	DEFB &35;FE
	DEFW BEGIN
	DEFW END
	DEFW BEGIN

	ORG &35;D000
BEGIN:
	IN A,(&35;FE)
	PUSH AF
	LD A,5
	OUT (&35;FE),A
	LD HL,&35;C000
	LD DE,&35;8000
	LD BC,&35;4000
	LDIR
	OUT (&35;FF),A
	XOR A
	OUT (&35;FE),A
	LD HL,&35;8000
	LD DE,&35;8001
	LD BC,&35;3FFF
	LD (HL),A
	LDIR
	POP AF
	OUT (&35;FE),A
	RET
END:

The only problem that might get you in trouble is, that I've seen mapper, that only worked on range #4000-#BFFF This is not anyway MSX standard mapper, so I don't think that you need to worry about that. I also guess, that you don't like this kind of ugly "glue" to your BIOS, but the only reason, why I'm suggesting this is, that I would really like to see this BIOS in action on all MSX machines as fast as possible, even if the disk handling is not fully implemented.

The better machine specific DISK routines can be then implemented later, but people get possibility to start developing already before those routines. Even if this makes the original BIOS mandatory (so that you just swap the BIOS versions on the fly), i think it is ok as this is a thing that can be fixed later. There are ton's of different disk drive solutions around and implementing them one by one will take horribly lot of time.

I know, that I'm impatient as you have been working on this for 6 years, but I think, that at this point the standard definition is not changeing that much anymore and you could really give it for people to play with.

~NYYRIKKI

By Rafol

Resident (58)

Rafol's picture

03-01-2004, 12:41

O_o!

By NYYRIKKI

Enlighted (5382)

NYYRIKKI's picture

03-01-2004, 15:30

Ok, I try to be more patient. Smile That was just idea.

By flyguille

Prophet (3029)

flyguille's picture

03-01-2004, 19:18

EXCELENT DATA from that URL, you post!!!!!!

Page 2/2
1 |