The mapping routine got between 6 or 25 z80 instructions... depending of the
memory configuration.. (MSX2 or MSX4 , loaded from DISK or mounted in ROM).
When you load from disk, it got 6 instructions or maybe less.
Allways on DEMO version as are mounted in ROM it got configured the long
routine 25 instructions or less.
Ah!, that without any loop inside...
Hum... So may I conclude you`re not making any context swapping during kernel
calls? Because even 25 instructions is too little for saving/restoring
application
context . This may become a problem when you implement multitasking in
MNBIOS...
By example, outputing on graphical screen as background process surelly is
forbidden...
Of course not. Simple example: you are using MNBIOS console while a graphical
clock is displayed in screen corner. This graphical clock must be a background
process (because it`s stupid putting it in the kernel or needing to switch to
it just
to check what time is it).
Math functions is allowed..
I need re-study a lot of tiny thing for decide that..
It`s nonsense let the scheduler policy process creation. This policy, in all OS
in
the world, is done by FS, checkin user rights for process creation.
Moreover, you must flag each MNBIOS function as `allowed` or `forbidden` for
many situations. This will make MNBIOS bigger and slower. That`s a bad
design decision.
Indeed on programmers manual i called that "multitasking-conmuted OS.", but
the MNBIOs is multitasking because got or foresee background process for the
final version .... the final version is planned to be the 2.x and 1.x for
less-background versions.
Bad naming. People will think MNBIOS does what it doesn`t do. Thinking this
way, should I call MSXDOS2 `multitasking-commuted OS` because it allows
children-processes creation? Or maybe should I call UZIX `real-time OS` because,
the version 34789472 is planned to be a RTOS?
Hum... That confirms kernel/user mode swapping. Ok.
No, no exists diferences between kernel/user mode...
So how can you map 48KB+48KB at the same time in Z80 addr space?
And since there is no difference between kernel/user mode, it means that MNBIOS
kernel is like any ordinary user application? So may user applications override
kernel decisions? How will you manage context swapping for multitasking
purposes without differing between kernel and user modes?
MNBIOS not manage thinking in PROCESS else thinking in FILES to RUN.
And what is a file running on memory but not a process? Even in MSXDOS this
is a applicable concept.
UZIX is a lot diferent than MNBIOS...
Sure. But when talking about OS, they all have the same principles.
world when they created MSX2 BIOS, because they needed 48KB for the BIOS
Don't forgot the BASIC interpreter is included.
Ops. Sorry.
Regards,
Adriano