'=========================================================================== ' Subject: EMS TESTER Date: 03-02-97 (11:20) ' Author: Erik Bruggema Code: QB, PDS ' Origin: harryst@castel.nl Packet: MEMORY.ABC '=========================================================================== DEFINT A-Z TYPE regtype AX AS INTEGER BX AS INTEGER cX AS INTEGER DX AS INTEGER bp AS INTEGER si AS INTEGER di AS INTEGER flags AS INTEGER END TYPE TYPE regtype2 AX AS INTEGER BX AS INTEGER cX AS INTEGER DX AS INTEGER bp AS INTEGER si AS INTEGER di AS INTEGER flags AS INTEGER ds AS INTEGER es AS INTEGER END TYPE DIM SHARED Inregs AS regtype2 DIM SHARED OutRegs AS regtype2 DIM SHARED Inregs2 AS regtype DIM SHARED OutRegs2 AS regtype DECLARE SUB Interrupt (intnum, inreg AS regtype, outreg AS regtype) DECLARE SUB interruptX (intnum, inreg2 AS regtype2, outreg2 AS regtype2) DECLARE SUB GetEms (TotalPages, FreePages, VerSion, SegmentAdres) CALL GetEms(t, f, v, s) PRINT "EMS Tester....... by Erik Bruggema" PRINT IF t = 0 AND f = 0 AND v = 0 AND s = 0 THEN PRINT "NO Ems INSTALLED": END PRINT "ToTal Pages"; t PRINT "Free pages "; f PRINT "Version "; v PRINT "Segment Adrses "; s SUB GetEms (TotalPages, FreePages, VerSion, SegmentAdres) Inregs.AX = &H4200 Interrupt &H67, Inregs2, OutRegs2 TotalPages = OutRegs.DX IF TotalPages = 0 THEN FreePages = 0: VerSion = 0: SegmentAdres = 0: EXIT SUB END IF FreePages = OutRegs.BX Inregs.AX = &H4100 Interrupt &H67, Inregs2, OutRegs2 SegmentAdres = OutRegs.BX Inregs.AX = &H4600 Interrupt &H67, Inregs2, OutRegs2 hi = OutRegs.AX / 256 VerSion = OutRegs.AX - hi * 256 END SUB