home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!munnari.oz.au!spool.mu.edu!wupost!waikato.ac.nz!aukuni.ac.nz!woodgate
- Newsgroups: comp.lang.pascal
- Subject: BP7 DPMI, Reading graphic formats .. PCX etc..
- Message-ID: <1992Dec28.024709.6004@ccu1.aukuni.ac.nz>
- From: woodgate@ccu1.aukuni.ac.nz (Dr S.Woodgate)
- Date: Mon, 28 Dec 1992 02:47:09 GMT
- Organization: University of Auckland, New Zealand.
- Lines: 56
-
- Hi there, this is really two questions.
- 1. The perennial does anyone have PCX readers out there that
- A. CAN read PCX files that expand to > 64K (the pcx.tpu at simtel can't)
- B. CAN read 24-bit PCX files ?
- - I have also looked at PCX.C at simtel, and PCXFMT.LZH at garbo but these
- have no info on 24-bit PCX files.
- Assembly source would be preferable ? - but I can translate (must be FAST)
- Likewise anyone with GIF decoder that can hook to TP any help would be gratefully
- accepted! - (I have the format gif.doc)
-
- 2. BP7
-
- A. Using the Turbo Vision editor!
- The application I am using is graphics based. What I am trying to do is go into
- text mode - do a Turbo Vision editor and then return (i.e. I perform Init, Run, and Done)
- However, upon entering the Turbo Vision editor (direct copy of TVEDIT.PAS) I have
- MEMAVAIL and MAXAVAIL = 185K. On exit MEMAVAIL and MAXAVAIL are 46K !!! - is it not
- cleaning up everything?
- The MAXHEAPSIZE variable seems to be the problem. BP7 manual contradicts itself
- about what this specifies and I think the problem heap is PERMANENTLY reduced by
- MAXHEAPSIZE - even when I leave the TVEDIT and return to by graphics application.
-
- As an aside, is there anyway I can redirect the Turbo Vision editor / whole system
- to perform its New() procedures in EMS/XMS - I am very short of memory....
-
- B. Using DPMI
-
- Because I am short of memory I have considered DPMI. My graphics application
- uses a third party toolkit (which I have the assembly source for). It interfaces
- to Turbo Pascal thro'
- e.g.
- regs.ax := 2
- regs.ds := 3
- regs.es := Seg(FileName);
- regs.si := Ofs(FileName[1]);
- Intr($66,regs)
-
- In DPMI this does not work. I know it has to do with selectors c.f. physical
- addresses (Borland's Language manual could do with MUCH work here).
- Do I need to change how I am calling the TSR routines from pascal, or the
- routines themselves ? - If I need to change the assembly language please tell
- me HOW to get around changing cs,ds,es - how to use selectors in tasm.
-
- One more final aside - the TSR routines are in a .COM file. TASM manual says
- they must be compiled under TINY. If I compile under TINY, and then attempt to
- use them the system crashes (but if compiled tasm /p (protected mode check) it
- gives only two errors). If I compile under SMALL then it works FINE but with
- tasm /p gives 180 errors!!!!!
-
- Sorry if some of this is hard to understand,
- " Its never to late to learn but sometimes you learn when its too late "
-
- Dr. S. Woodgate
- Chemistry Dept. Auckland University NZ
-
- woodgate@ccu1.aukuni.ac.nz
-