Re: Machine info via euphoria

new topic     » goto parent     » topic index » view thread      » older message » newer message

John Kinne wrote:

> Hello All
>
> I am tring unsuccessfully to use int 15 function 88 to get extended
> memory size.  I always get a zero.  My code follows.  Any ideas?
>
> I would like to see the source of the Microsoft MSD program.  It is
> installed in my Windows directory & seems to have access to all sorts
> of info about my machine.  I need to determine this info programmatically
> and for the most part have not been able to do so.
>
> function GetEmem()
> sequence reg_list                           -- list of register values
> integer ememsize
>
> reg_list = repeat(0, 10)
>
> reg_list[REG_AX] = #8800   -- function: AH = #88 ==> Get extended mem siz
>
> reg_list = dos_interrupt(#15, reg_list)     -- Call DOS interrupt #15
> ememsize = reg_list[REG_AX]
>
> return ememsize
> end function

A further investigation showed me that extended memory manager trap
function #88 of
interrupt #15 and force it to answer with zero extended memory.

To know if there is an extended memory manager installed you can use the
following function.

function XmsInstalled()
sequence r
  r= repeat(0,10)
  r[REG_AX] = #4300
  r = dos_interrupt(#2F,r)
  if remainder(r[REG_AX],256) = #80 then
     return 1
  else
     return 0
  end if
end function -- XmsInstalled()

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu