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