Date: Mon, 15 Mar 93 09:27:29 EST From: DJ Delorie To: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: DPMI I went back and re-read my DPMI spec in hopes of supporting it, and as part of my research tried some of the DPMI calls under Borland's DPMIRES. Bad luck - it's 0.9 also, and only 16-bit. There's no point trying to port go32 unless a DPMI 1.0 32-bit environment is available. So, I've attached the test program (source and binary). How about folks who THINK they have a 32-bit DPMI 1.0 run this and post the results? Thanks, DJ -------------------- #include #include main() { union REGS r; struct SREGS s; r.x.ax = 0x1687; int86x(0x2f, &r, &r, &s); if (r.x.ax) { printf("DPMI not available\n"); exit(0); } printf("DPMI v%d.%02d, %d bit, 80%d86\n", r.h.dh, r.h.dl, r.x.bx & 1 ? 32 : 16, r.h.cl); } begin 777 dpmiinfo.exe M35J 0P 0 @ T __]= 8 (@ $ ^R!R:@$ M M M M M M M M M M M "Z$P$NB1;S ;0PS2&++@( BQXL ([:HY( C :0 M (D>C ")+JP QP:6 /__Z# !Q#Z* (O'B]BY_W\F AT 3TX-W49)HM5 H#Z/740 M@.;?_P:6 (#^674$_P:6 /*NXV%#)C@%==: S8#WV8D.B@"Y 0#3XX/#"(/C M^(D>C@",VBOJBSXL H'_ )S![\ HD^+ *!QY8$+_>L#Z1P!B]\#VHD>I ")'J@ H9 M*]B.P+1*5\TA7]/G^H[2B^?[,\ NC@;S ;]0!+F6!"O/\ZH._Q9$!.C. >BV M K0 S1J)%I@ B0Z: /\VB #_-H8 _S:$ .C< %#H=P$NCA[S >A\ [_%D8$ M,\"+\+DO )#\ @2 U !&XO AT M-PV0= JY&0"0NB\ Z(H B^RT3(I& LTAN0X MD+I( .F& !ZX #7-(8D>= ",!G8 N 0US2&)'G@ C 9Z +@%-@ ",!H( N EC,J.VKI4 N EQ19T ,TA'QZX!"7% M%G@ S2$?'K@%)<46? #-(1\>N 8EQ1: ,TA'\/'!I8 #+M$"[ @#-(<.Y M'@"0NE8 +HX>\P'HZ?^X P!0Z"K_ !5B^R#[!C'1NB'%HU&^%"-1NA0C4;H M4&HOZ%T.@\0(@W[H '00N)0!4.C;!D1$:@#H; !$1(I&[+0 4/=&Z@$ = 6X M( #K [@0 %"*1NZT %"*1N^T %"XJ %0Z*D&@\0*R<-5B^Q6BW8$"_9\%(/^ M6'8#OE< B3;( 8J$R@&8ENL-]]Z#_B-WZL<&R '__XO&HY0 N/__ZP!>7<(" M ,-5B^SK"HL>+@+1X_^74 2A+@+_#BX""\!UZ_\6) +_%B8"_Q8H O]V!.A= M_EE=PP "Z/!L,"+HP>Q0+\C@:0 +Z #+D)JQ C,6'UI.+-HH @\8" MN0$ @#Z2 -R$8X&C "+_K%_,L#RKN-V@/%_@^P"N $ \,#P27^_XO\*_AR M8(OGC,".V(S0CL!12?.D,L"JCMV'\H?9B\.+T$/H&0!W!W) Z!( =_D\('0( M/ UT!#P)=>@RP.OD"\!T!T*J"L!U 4.&X#+ ^>,5K$DL(G0/!"(\7'4'@#PB M=0*L20OVP^E AT _ED#RBZ.'L4"B1Z$ $,#VXOTB^PKZW+FB^6)+H8 XPZ)=@"# MQ0(VK K X/IT\#/ B48 +O\FPP*+#HH 4>A' 5F+^ O ="0>'@>.'HP ,_;\ M\Z0?B_@&_S:. .@I 8/$ HO8!Z.( O =0/I\_TSP+G__XD_@\,"\JXF. 5U M](D'PU6+[(,^+@(@=06X 0#K%8M&!(L>+@+1XXF'4 3_!BX",\#K %W#58OL M5E>+?@2+10:CD AT 0[QW4(QP:2! ZQ"+=02+'I($B7<$H9($B40&7UY=PU6+ M[%97BWX$BT8&*06+-0/WBT8&0(D$B7P"H9 $.\=U!HDVD 3K"(O^ WX&B74" MB\8%! #K %]>7<-5B^Q6BT8$,](E__^!X@ 4E#H^0!968OP AT _[_=00SP.L8 MH9 $B40"BT8$0(D$B3:0!*&0! 4$ .L 7EW#58OL5HM&!#/2)?__@>( %)0 MZ+P 65F+\(/^_W4$,\#K%8DVE 2)-I $BT8$0(D$B\8%! #K %Y=PU6+[%97 MBWX$"_]T!8/_]'8$,\#K6HO'!0L )?C_B_B#/I0$ '4'5^B<_UGK0HLVD AT 2+ MQ AT O =#&+!(O7@\(H.\)R"5=6Z C_65GK)(L$.\=R#E;HS/Y9_P2+Q AT 4$ .L0 MBW0&.S:2!'7/5^@=_UGK %]>7<-5B^R+1 AT 2+U('J $[PG,'HYX ,\#K"\<& ME ( +C__^L 7<-5B^R+1 AT 2+5 AT 8#!IX @]( B\B!P0 !@]( "])U"CO,L 7<-5B^R+1 AT 294E#HLO^+ MY>L 7<-5B^R![(H 5E>+1 AT A /0( !-'C]X=P P" =!+_=@C_ M=@;_=@3HXP"#Q ;IUP"+7 AT 31XX&G< /__8M&!HF&?/^+1 AT B)AGC_C;9^_^MM M_XYX_XN>?/__AGS_B@>(AGO_/ IU!,8$#4:*AGO_B 1&C89^_XO6*]"!^H M?#Z-AG[_B_XK^%>-AG[_4/]V!.A[ (/$!HF&=O\[QW0;@[YV_P!S!;C__^L- MBT8(*X9X_P.&=O\KQ^M/C;9^_X.^>/\ = /IB?^-AG[_B_XK^(O'"\!V+E>- MAG[_4/]V!.@M (/$!HF&=O\[QW07@[YV_P!S!;C__^L)BT8( X9V_RO'ZP6+ M1 AT CK %]>B^5=PU6+[(M>!-'C]X=P P (=!"X @!0,\!04/]V!.@H (OEM$"+ M7 AT 2+3 AT B+5@;-(7(/4(M>!-'C AT 8]P P 06.L&4 DOT AT 5^^L 7<-5B^R+7 AT 31XX&G M< /__;1"BD8*BUX$BTX(BU8&S2%R NL'4.CK^IGK %W#58OL@^PB5E<&BWX* M'@>+7 AT B#^R1W6(#[ G)3BT8,BTX."\E]$8!^!@!T"\8%+4?WV??8@]D C7;> MXP^1*]+W\Y'W\X AT 41N,)Z_$KTO?SB!1&"\!U]8U.WO?9 \[\3HH$+ IS! 0Z MZP,"1 AT 2JXN^P *H'BT8*ZP!?7HOE7<(, %6+[(-^" IU!HM&!)GK!8M&!#/2 M4E#_=@;_=@BP 5"P85#H7/_K %W#58OL_W8&_W8$_W8(_W8*L !0L&%0Z$#_ MZP!=PU6+[/]V!O]V!/]V"/]V"H-^"@IU!;@! .L",\!0L&%0Z!G_ZP!=P[J8 M ^L#NIT#N04 D+1 NP( S2&Y)P"0NJ(#M$#-(>E?^56+[%97BW8$BT0..\9T M!;C__^MF AT SP ?"WW1 (( '4,BT0*B]:#P AT 4[PG46QP0 (M$"HO6@\(%.\)U M!HM$"(E$"C/ ZS2+? 8#/$+1 B)1 I0BD0$F%#H$OV#Q 8[QW01]T0" M )U"H%, A N/__ZP0SP.L 7UY=PU6+[+@R"E"X0 )0_W8$C48&4 DOT AT 3 NL M7<-5B^R+7@;_#_]V!HI&!)A0Z 8 B^7K %W#58OL@^P"5HMV!HI&!(A&__\$ M?3:*1O__1 J+7 J(1__W1 (( '0;@'[_"G0&@'[_#74/5N AT 9_UD+P'0&N/__ MZ:< BD;_M #IGP#_#/=$ I =0?W1 (" '4+@4P"$ "X___IA "!3 ( 8-\ M!@!T)(,\ '005NC7_ED+P'0%N/__ZV;K"HM$!KK__RO0B13I?O_K58!^_PIU M'_=$ D =1BX 0!0N,H#4(I$!)A0Z"+]@\0&/0$ =1BX 0!0C48$4(I$!)A0 MZ K]@\0&/0$ =!'W1 ( G4*@4P"$ "X___K!XI&_[0 ZP!>B^5=PU6+[%:+ M=@2X0 )05N@#_UE9ZP!>7<-5B^R#[ )65XMV!(M^!HE^_O=$ @@ =";K&E:+ M7 AT C_1@B*!YA0Z-3^65D]__]U!3/ Z8< B\=/"\!UW^EX /=$ D =#B#? 8 M=#*+1 8[QW,K AT SP = U6Z/']60O = 0SP.M75_]V"(I$!)A0Z%_\@\0&.\=S M!#/ ZT#K.>LP_P1]%8M>"/]&"(H'_T0*BUP*B$?_M #K#E:+7 AT C_1@C_-^@_ M_EE9/?__=00SP.L,B\=/"\!UR8M&_NL 7UZ+Y5W"!@#_)D@$58OLBU8$N00/ MN],#_(K&TNC7JHK&(L77JHK"TNC7JHK"(L77JNL 7<(" %6+[('LF !65\=& MJ QD:K4,=&_@ ZT%7N?__,L#RKO?125_#B 5'_DZK?BM345(&C4:L*_B- M1JQ05_]V"/]6"@O =07'1OX! ,9&JU !?JB-?JP'6EE;PP;\C7ZLB;YJ_XN^ M:O^+=@:L"L!T$3PE=!"(!4?^3JM_[^BP_^OJZ7P$B;9V_ZP\)73GB;YJ_S/) MB8YT_XF.:/^(CG/_QX9N____QX9P____ZP&L,N2+T(O8 AT DOT L@@/M@*G^,# MB\,]%P!V ^DD!(O8T>,N_Z?V"T$,*0R"##4,IPRQ#/,,_0P-#6@,0 AT T=#2$- M)0W'#7D.&@XZ#N0/$1 1$!$05 Q>#.GH X#] '?X AT XYH_P'KFX#] '?L AT XYH M_P+KCX#] '?@@+YS_RMT!(B6<__I?/^#IFC_W[4%Z7+_ AT XYH_R"U!>EH_X#] M '=$]X9H_P( =2&#CFC_"+4!Z5'_Z8\#BWX$BP6#1 AT 0"@/T"DI_X#]!'/3M03I'_^2+#"8@/T"=QNU H>&;O\+P'S2 MT>"+T-'@T> #P@&&;O_I^_Z _01UI8>&"+T-'@T> #P@&&G#_H.F:/_O AT 8YH_X M07IL_ZW M".L*MPKK"[<0L^D"VL:&<_\ QH9M_P"(EFS_BWX$BP4STNL1MPK&AFW_ 8B6 M;/^+?@2+!9E'1XEV!O>&:/\0 '0$BQ5'1XE^!(V^>?\+P'4S"])U+X.^+YZ>G]@XYH M_P124%>*QYA0BH9M_U!3Z+OY%@>+EG#_"])_ ^D4 >DA 8B6;/^)=@:-OGC_ MBUX$_S=#0XE>!/>&:/\@ '0/_S=#0XE>!!8'Z G]L#JJ%@?H ?W&!0#&AFW_ M (.F:/_[C8YX_ROYA\^+EG#_.]%_ HO1Z;X B78&B)9L_XM^!(L%@T8$ A8' MC;YY_S+DB06Y 0#IWP")=@:(EFS_BWX$]X9H_R =0R+/8-&! (>!PO_ZPK$ M/8-&! 2,P O'=04>![_, ^C1_#N.>?]34K@! ".&:/]0BX9H_ZF '0*N ( QT;\! #K%ZD M 70*N @ QT;\"@#K",=&_ @ N 8 4 DOT AT I_(M&_ %&!!8'C;YY__>&:/\( '0: MBY9N_PO2?A+H4OPF@#TM=0%)*]%^!(F6=/^*AG/_"L!T%": /2UT#H.N=/\! M AT Y9T_P!/)H@%Z"3\B_>+OFK_BYYN_[@% ".&:/\]!0!U%HJF;/^ _&]U$(.^ M=/\ ?P;'AG3_ 0#K'Y" _'AT!8#\6'44 AT XYH_T!+2X.N=/\"?0;'AG3_ # MCG3_]X9H_P( =0SK!K @Z-'[2SO9?_;WAFC_0 !T#+ PZ+_[BH9L_^BX^XN6 M=/\+TGXG*\HKVB:*!#PM= @\('0$/"MU!R:LZ)C[24N'RN,'L##HC?OB^8?* MXQ$KV2:LB 5'_DZK?P/H@/OB\0O;?@F+R[ @Z&O[XOGII_N)=@:+?@3WAFC_ M( !U"HL]@T8$ AX'ZP;$/8-&! 2X4 J1JL#1J AT FB07I=ON+MG;_B[YJ_[ E MZ"S[K K =?B ?JM0?0/H)OL'@W[^ '0'N/__ZP?K!8M&J.L 7UZ+Y5W"" !5 MB^R#[ B-1OA0Z+@ 68U&^%#_=@C_=@;_=@3H"0"#Q CK (OE7<-5B^R#[ Y6 M5QZ-3O:)3O*,5O3&1O95QD;WS8M&!(A&^,=&^5W+/"5R%3PF=Q'&1ODVQT;Z MCP:)3OS'1OY=RXMV"O\T_W0&BW8&BP2+7 *+3 2+5 :+? J+= @?!_]>\IR< M5AX&CE[LBW8*CP2/1 :+=@B/1 B/1 Z/1 R#9 P!B7P*B50&B4P$B5P"B00? M= 904.A5\5CK %]>B^5=PU6+[%:+=@2,!(Q, HQ4!(Q7)I9VAT("AC*2 Q DOT 3 AT X($)O