>Let's start the 32MB partition discussion again!
Hey dude, I totally agree with this!!
>> Could you implement >8 drives too??? The system (DOS) can handle 254 drives
>> exept for one function. And this function is barely used. So drives A-Z
>> should be possible...
I think we must set some preferences. Think on this: imagine that you have
a FAT16 system, that is, one drive per device... why you need then more
than 8 drives?!
So, my opinion is: let's forget drives stuff, and let's concentrate in the
FAT16 stuff.
>Have you disassembled the DOS(2) kernel????
If so, I want this jewel!!!
>In my opinion -if you want to work with files- you'll have to modify DOS2
>kernel routines (sectornumbers>#FFFF). But he doesn't want to use DOS2. So
>don't expect real partitions >32MB :-(
Well, well, don't be so negative. Let's go slowly. And let's start with this:
IT IS POSSIBLE to have a FULL FAT 16 system on MSX WITHOUT modifying DOS 2
kernel.
The problem is HOW to do it, but it is possible.
Now I explain why I say this. First we must know what happens when you try
to acces any disk file via MSX-DOS2, I investigated it a little some time
ago and I hope I remember it yet:
1) You call address #0005 or #F37D.
2) A routine on page 3 is jumped to. The number of the specified function
is checked. If don't exists, nothing happens and function call ends (I
don't remember if any error code is returned).
3) Any possible parameters passed in memory by the user (such filename
strings) are copied to own buffer on page 3.
4) Paging state is saved.
5) MSX-DOS2 system segment is connected in page 0, and MSX-DOS2 data
segment is connected in page 2. Maybe I'm wrong in the page numbers, but
I'm almost sure it is correct.
************************************************************
* 6) #F252 HOOK IS CALLED <------------ ATTACK POINT!!! *
************************************************************
6b) Normally, since RET is placed, nothing happens and execution continues.
7) Code in system segment for the specified function is executed. KERNEL in
ROM is called if necessary.
8) User pages are restored and return data is placed in memory if necessary
(for example when doing sector read).
9) That's all folks.
So, stop smashing your braing thinking how to modify kernel, THERE IS NO
NEED FOR THIS! Just place new routines in a RAM segment and call it via a
correct modification of hook #F252, I KNOW ALREADY HOW TO DO IT (I made a
program that shown a string in the screen when trying to read sector -1),
but of course I don't remember by heart all the steps for doing this... (by
the way, memory reservation on DOS data segment for placing a jump routine
is involved. There is a routine in system segment that allows to do it).
Need more? Look at CD driver for Mega-SCSI, I will not get tired of repeat
that THIS IS THE PERFECT EXAMPLE OF HOW TO PATCH DOS, I disassembled it a
little and oh what a surprise, it uses hook #F252!!
What is the problem then? Lack of informationa about DOS variables and
routines, sector buffers, procedures, etc... for sure ESE staff must have
this info but they don't reply my mails. Damn, writing a FAT16 driver
should be much easier than a CD driver!!
Of course there is necessary to develop a low-level sector access routines
for accessing the whole device (and then FAT16 driver must handle the data
read) and this is interface-dependant, but it can be solved with a
standarized drivers system.
So, want to discuss? Let's discuss! And let's FAT16!! ;-)
-----------------------------------------------------------------------------
Konami Man - AKA Nestor Soriano (^ ^)v - Itsumo MSX user
http://www.geocities.com/SiliconValley/Bay/9797/msx.htm
[EMAIL PROTECTED] ICQ#: 18281450
"In Windows 98, 3.000 found failures of W95 have been corrected..."
Translation: 3.000.000 not found failures continue without being corrected...
----------------------------------------------------------------------------
-
****
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/)
****