Hi Christian, > However it's true that aborting the command line interpreter should > not really abort it
Well if it aborts then it will have a reason to do so. You cannot force a program to continue just by, say, IRETing from int 21.4c... > part of this mail contains technical information for the kernel developers ... > The Int21.4C00 handler already detects the special case of a PSP that owns > itself, but it will then return to the calling code, not to the Int22 > handler (as stored in the PSP). Disassembling parts of the MS-DOS handler > for Int21.4C revealed that it does: Seriously, it is not the goal of FreeDOS to reverse-engineer MS DOS. If you want MS DOS, just get the files from your torrent. You might even be able to get the sources but both would be evil license-wise. Feel free to READ the return_user() source code of FreeDOS, it is open source. But please do NOT WRITE MS DOS code into FreeDOS! We implement 21.4c mostly in return_user, it handles int 22, 23, 24 vectors, network process end, network closeall, close all files, parent stuff, indos, then you have to read exec_user which mostly disables A20 and returns to the caller. Parts depend on whether you go TSR or not :-). Maybe 2a.82 is missing but maybe only in STABLE. Dunno about flushing buffers or virtual open or whatever. > for self-owning PSPs in inthndlr.c has to move to return_user() in task.c. > So change this line: > >> if (!tsr) > > to include the self-owner check: > >> if (!tsr && !(p->ps_parent == cu_psp) ) > > And remove the following lines from inthndlr.c: (below case 0x4c:) > >> if (((psp FAR *)MK_FP(cu_psp, 0))->ps_parent == cu_psp) >> break; > > You may also want to add the es:bx = Int22 thing (well, how useful is it?) > to task.c. Below the two existing lines: > >> irp->CS = FP_SEG(p->ps_isv22); >> irp->IP = FP_OFF(p->ps_isv22); > > add the following two: > >> irp->ES = FP_SEG(p->ps_isv22); >> irp->BX = FP_OFF(p->ps_isv22); > > Then at least the flags are still set different in MS-DOS but I doubt > that's useful or required for DOS-C. I do not think we should use code reversed from MS DOS sorry. Eric ------------------------------------------------------------------------------ Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are powering Web 2.0 with engaging, cross-platform capabilities. Quickly and easily build your RIAs with Flex Builder, the Eclipse(TM)based development software that enables intelligent coding and step-through debugging. Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com _______________________________________________ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user