>> Disassembling a standard MSX-DOS V1 boot sector I've come across the
>following:
>>
>> It uses a BDOS function 6 loop to output the boot error string instead of
>> function 9 (!). Any reason?
>
>Yes. It probably is a null-terminated string, which sometimes is nessacary
>if you for instance want to display a '$'-sign, or when you are printing an
>ASCIIZ-string Dos2 uses for its diskroutines.
But this string:
C085 426F6F74206572 DEFM "Boot error"
726F720D0A DEFB #0D,#0A
C091 50726573732061 DEFM "Press any key for retry"
6E79206B657920 DEFB #0D,#0A
666F7230726574
72790D0A
Has not a single $. Neither DOS2 did exist. It's the bootsector as found in
the Philips NMS 8250 MSX-DOS release *1*.
I really don't understand the programming style of the bootsector. Really
BAD habits.
>By the way, if you disassemble function 9 you'll see it's nothing more but a
>loop which calls function 6 until it encounters an '$'.
I guess so, but that's precisely the reason to use 9 instead of reinventing
it and the wheel!
>Haven't checked that but I'm quite sure, I know quite a bit how Dos is
>programmed and I really expect those kind of tricks of them.
Tricks? To repeat a ROM function? To use JPs in loopless near jumps??? 8:?
>> There're spurious JPs where it should have been JRs (!). Plenty of
>space??? *:D
>
>Well JPs are a bit faster than JRs. Speed is more important on MSX than
>space I think. Although in the case of Dos they don't seem to use that
>policy. But the mapperroutines are as fast as they can get. They get credits
>from me for that.
Faster for an error branch (no S/M code)?
>> Is the whole MS firmware this quality?
>
>:) Well looking to Windows...
So now imagine a Windows MegaROM! 8:D
GigaROM(tm) with a whole fancooled mapper daughterboard 8:D 8:D
Kiss you lot.
MARK 2
****
MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put
in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the
quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
****