El sáb, 24-07-2004 a las 13:50, Bart Oldeman escribió:

> It's a difficult question. Essentially there are two ways we can go:
> 1. if the kernel very carefully minimizes stack usage on the code path 
>    taken and NLSFUNC itself only uses a couple bytes of stack in between 
>    it's possible to just do it.
> or
> 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.

Just curious, what about a 3rd possibility: implement the 2f12xx calls
as documented in RBIL? For example, 2f1228: "sets user stack frame
pointer to dummy buffer, moves BP to AX, performs LSEEK, and restores
frame pointer". (This is the "what", my problem is "how" :)

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

NLSFUNC is very specific of each DOS variant. The internal nls
structures are different.

Regards,
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_idG21&alloc_id040&op=click
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to