Hi! 8-Авг-2006 05:11 [EMAIL PROTECTED] (Michael Devore) wrote to freedos-devel@lists.sourceforge.net:
>>If you wish, I extract for you from Japhet' work fix for "sti/ret 2" bug >>(in new15 proc) MD> I already revectored that to the new IRET handling routine when you MD> mentioned it earlier on list. Fine. Hope, this will not be lost in next release. >>and modifying BL at XMS/3-6 functions (at disen_share). MD> No, doesn't look right. A20 handling was turned off, Japhet not tun off A20 handling, he just comment out call to INT67/3F. Because this call not documented anywhere anyway, so for me calling or not calling INT67/3F is out of my opinions. MD> plus not modifying BL MD> on A20 enable/disable is against my XMS version 3.0 spec. RBIL: " (Table 02753) Call the XMS driver "Global enable A20, for using the HMA" function with: AH = 03h Return: AX = status 0001h success 0000h failure BL = error code (80h,81h,82h) (see #02775) " Spec: " Global Enable A20 (Function 03h): ARGS: AH = 03h RETS: AX = 0001h if the A20 line is enabled, 0000h otherwise ERRS: BL = 80h if the function is not implemented BL = 81h if a VDISK device is detected BL = 82h if an A20 error occurs " So, BL should be modified only in case of error. Not a big deal, I suggest (I doubt, than someone will rely on untouched BL in case of success), but worth of fixing (remove one line in source). MD> I put A20 MD> handling in there to work with EXEPACK so it's not going away without a MD> good reason. And BL must be set to known non-error value or else it can MD> inadvertently fail the function. Non-error already indicated by AX=1 (and only by it). And I similarly doubt, that (good) programmer will expect specific values in BL in case of success (because specifications don't say about BL in case of AX=1). Well, let test with MS-HIMEM: -a 11CA:0100 mov ax,4310 11CA:0103 int 2f 11CA:0105 mov [100],bx 11CA:0109 mov [102],es 11CA:010D mov bx,8080 11CA:0110 mov ah,5 11CA:0112 call far [100] 11CA:0116 int3 11CA:0117 -g=100 AX=0001 BX=8000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 --------------^^ Hm, it clears BL. MD> The A20 emulation remapping always succeeds. >>BTW, what you mean by "build subdirectory"? Do you mean, that I should >>move batch and make files from SOURCE\EMM386 directory to somewhere else >>(and, consequently, change batch files to work _from other_ directory)? MD> I mean your changes get their own subdirectory, as was offered. You can MD> branch it off of SOURCE\EMM386 or whatever you want, but you cannot MD> commingle with existing source, binaries, etc. other than a DOC. Ok. I move batch and make files into deeper subdirectory (BUILD) and add into build.bat copying all .ASM/.C/.H files from parent directory (as temporary solution, until you reintegrate build subsystem back into main source directory) and removing after. Watch archive in next letter. ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel