Hello again,

> 2. nlsfunc would have to copy anything in between ss:sp and ss:920
>    (_disk_api_tos, that's the top of the stack used here in any DOS >= 
>     4.0) to a temp area (max 384 bytes), set sp to 920, and with that call 
>     DOS. Then after the call adjust the stack pointer, then swap it back,
>     then return.
> 
> 2. is probably easiest unless we also like to experiment with 3rd party 
>     NSLFUNCs. There may be funny problems I didn't think of but can't 
>     think of any though.

There are. If I understand it correctly, when calling DOS with ss:920,
the flags and return address are trashed because DOS sets ss:920 on
entry, again. The one that has worked for me is:

- Switch to a local stack
- copy anything in between the original ss:sp and ss:920 to a temp area
- call DOS ints
- restore from temp area
- switch to original stack
- return

Does anybody see any additional problem with this?

Eduardo.



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

Reply via email to