Adriano Camargo Rodrigues da Cunha wrote:
> 
> >  I bet that Uzix is overwritting the DOS2 mapper area. Why you don't try
> > to detect and
> > kill DOS2 during boot ?  (Maybe the problem has notting to do with this
> > ... But I said anyway)
> 
>         Well... What I do is clear hooks and fill the area D000h-F000h
> with zeros... 

hmmm... seems dangerous to me: some hardware drivers can be installed in
this area at startup. (example: workspace of diskroms). MSX system area
is from #F380...#FFFF. Below that area, the DOS kernel area; from #F1C9
to #F37F for the DOS2.x kernel (probably the same for DOS1 kernel).
Hardwaredrivers (like floppy, ide, ...) are installed below the DOS
kernel area. (so below #F1C9). So if you delete all data till #F000, it
is possible that you destroy important driverdata.

There is a way to obtain the most lower address used by a cartridge:
look in the table SLTWRK (#FD09). This table contains the start of the
workarea of each cartridge. Search for the lowest address and don't
erase any data above that address.


Another remark: most (all?) diskroms (DISKIO #4010) use routine at #F36E
when loading/saving data in page 0 or 1. (#0000...#7FFF) This is only
possible in MSX-DOS environment. (at #F36E there is a JP to a routine in
the MSX-DOS area. This area is located below the driverarea and is
certainly deleted by your program.) Therefore UZIX shouldn't try to
load/save data via #4010 to page 0 or 1.

Greetz,
Jon


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