Hi, I finally found out what the background of that (patched by Win if it finds it, by adding a breakpoint) "cmp al,7 / jb check / cmp al,9 / jbe skipcheck / check: ..." code sequence means! It is in int 21 functions 5d0x, and the check is for "computer ID" (dosds:33c, 0 for "local computer") and "process/user ID" (PSP seg of calling process on calling, possibly local, computer). So I assume if we - lack those network redirector functions anyway - would support the "patch yourself" function int 2f.1607.15.bit 1 to allow suppression of the check then we would have one problem less.
Other "patch yourself" issues: - win386 sysinit stack fault: should not happen anyway - int 21.3f stdin read made a polling loop: is one anyway - enable critical sections: would that mean calling int 2a.80/81 whenever InDOS flag is modified, or would that be a too simple implementation? At least we already call int 2a.82 ("end of all critical sections in 0..7 category, where only 0/1 are kernel anyway, the rest is network drives, ifsfunc, assign, cdrom, ibm lan, where the critical section flagging is probably job of the respective drivers anyway?"). - trap DJ mechanism message: This can be avoided by simply asking int 2f.4a00 whether IT has already shown the message / waited for confirmation, and then skipping the message. [- user id checking: as above, but I wonder if this would also mean making int 21.4bxx / 21.50 / 21.55 zombie in some way (so that it does not set current PSP segment itself but leaves that to Win386???). Probably user id and psp seg are SEPARATE copies of the same value, I cannot believe that DOS would be deprived of the ability to update the "current PSP" value itself!?] Bonus problem: Can we place the "enable critical sections" (in other words "enable calling int 2a.8x") flag at dosds:d0c, or would it be too hard to make that place free? Is our SDA exact enough to have the 5 words at offset -11 "zero-terminated list of offsets which need to be patched to enable critical-section calls" (which ought to be 4 times d0c and the terminating zero, plus the byte at dosds:d0c being 0 or 1 to disable or enable the int 2a.80/81 calls)? Eric PS: What is the name of our "umb head" variable (first UMB segment, ffff if no UMBs present)? And of the int 21.a readline buffer? ------------------------------------------------------- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl _______________________________________________ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel