Hello Eric,
>> EA> LBA_Transfer should call the appropriate int 2f.xx function before
>> EA> calling play_dj - or play_dj should call it itself: This allows
>> EA> GUIs to return "okay, notified, please suppress DJ text message".
> INT 2F CU - DOS 5+ - FLOPPY-DISK LOGICAL DRIVE CHANGE NOTIFICATION
> AX = 4A00h
> CX = 0000h
> DH = new drive number
> DL = current drive number
> Return: CX = FFFFh to skip "Insert diskette for drive X:" message
> Note: called by MS-DOS 5.0+ IO.SYS just before displaying the message
> "Insert diskette for drive X:" on single-floppy systems
these are nearly implementation instructions - I wasn't aware of this
call. you could have posted it the first time.
unfortunately AFAICS RBIL intermixed DH and DL here (it has an
advantage to be proud owner of MSDOS :)
changes needed:
hdr\pcb.h, 691
unsigned ASMPASCAL intr(int nr, iregs * rp);
INTR.ASM, 136:
no_read_error:
ret
+ global INTR
+INTR:
+ INTR
segment INIT_TEXT
;
DSK.C, 231
if (i == blk_dev.dh_name[0])
{
put_string("Error in the DJ mechanism!\n"); /* should not happen! */
}
else
{
+ /* according to RBIL (te 22 jul 04) */
+ iregs r;
+
+ r.a.x = 0x4a00;
+ r.c.x = 0x0000;
+ r.d.b.l = pddt->ddt_logdriveno;
+ r.d.b.h = pddt2->ddt_logdriveno;
+
+ intr(0x2f,&r);
+
+ if (r.c.x == 0xffff)
+ {
+ /* someone else makes a nice dialog */
+ }
+ else
+ {
template_string[DRIVE_POS] = 'A' + pddt2->ddt_logdriveno;
put_string(template_string);
put_string("Insert");
template_string[DRIVE_POS] = 'A' + pddt->ddt_logdriveno;
put_string(template_string + 6);
put_string("Press the any key to continue ... \n");
fl_readkey();
+ }
tom
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel