Nestor Soriano <[EMAIL PROTECTED]> wrote:

> Yep, tired of searching technical info, and since nobody does anything (eh
> Pazos! Esto no va por ti; yo ya me entiendo) I started my FAT16 driver.
> Unlike Pazos&Okei one, it is not a patch for diskROM, but a completely
> self-made driver which will be placed into a RAM segment.
> 
> I'm making it for MegaSCSI, but the controller dependant routines (just
> three routines) are clearly separated from the rest of the code, so anybody
> can modify it for any other controller.

I am really sorry to have to write this, but:
Doesn't a FAT16 driver modify the disk system, and not the disk-I/O 
itself? For clarity: with 'disk system' I mean here: the non-hardware 
dependant software, that for instance resides in an ordinary 
DOS2-cartridge. With 'disk-I/O' I mean: the low-level, 
hardware-dependant part of diskROMs.

If so, a FAT16 driver should not in any way depend on a certain type 
of hardware/ROM, only change things that are the same with any disk 
interface. Or any DOS2-using interface, if you like.

A FAT16 driver changes the FILE system, and thus should work with any 
type of disk that supports that file system, in this case: any disk 
hardware that could support FAT16 formatted disks, not just 
MegaSCSI.

If it only works with MegaSCSI, then it's really a MegaSCSI 
modification, not some kind of 'driver'. If so, I think you'd better 
re-do it.


> I almost finished the "basic engine" but I have problems with the error
> handling part, so I ask for help. Here is the problem:
> 
> [HI-TECH MODE ON] X-)
> 
> Imagine that a function call is being executed. Page 2 contins the DOS data
> segment. Page 0 should contain the DOS code segment...
...
(...more tech speak...)
...
> - Restore TPA segments in pages 1 and 2
> - Load C=#62 (program terminate) and B=Error code
> - Jump to #0005 in TPA segment of page 3, via inter-segment call
> 
> It works and COMMAND.COM takes control, but next execution of a program
> causes the computer to hang.
> 
> [HI-TECH MODE OFF]
> 
> SOS... help... maidai... dios mio, esto es un infierno... X-) I just need
> to solve this problem for having a "releasable" version of the driver (I
> hope!!). Also, any suggestion & beta-testing offers will be welcome of course!

On error handling:
Why not -
a) Start & end your routines as much as possible the same way as is 
done in the original routines (do some disassembling & code copying, 
only squeezing your own version of the interesting parts in between), 
or
b) If possible, simply return/jump back to the original end of a 
routine?

Greetings,

Alwin Henseler           ([EMAIL PROTECTED])

http://huizen.dds.nl/~alwinh/msx           MSX Tech Doc page


****
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/)
****

Reply via email to