delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/06/24/20:49:41

Message-Id: <199706250050.RAA63654@lausd.k12.ca.us>
From: "LP" <csantill AT lausd DOT k12 DOT ca DOT us>
To: <djgpp AT delorie DOT com>
Subject: Newbie Q's
Date: Tue, 24 Jun 1997 16:37:05 -0700
MIME-Version: 1.0

from: csantill AT lausd DOT k12 DOT ca DOT us

I have more than a few questions so any help would be much obliged.

1)  How can I setup RHIDE 1.3 to output the compiled *.O's & *.EXE's to the
same directory as the source file(*.C)?

2)  How different is DJ Pascal from TP/BP 7.0?  Are there many
incompatible/unsupported keywords?  Are there any extensions?  Is it easy
to wrap DJ Pascal around ASM?

I want to write my own graphics library for VGA & VESA graphics library
w/accompanying Mouse & Joystick libraries.  The reason I switched to DJGPP
is because the 32-bit protected mode & promise of better speed for games &
graphics.  I'm too stubborn to learn even remotely complicated graphics
systems like BGI & Allegro so would rather just write my own.
3A)  I'd like to write these library functions mostly in C, Pascal, & ASM. 
I'm used to Borland style C & Pascal so I like using Intel ASM.  Is there a
way to setup RHIDE 1.3 to default to compiling Intel ASM?  If not, where is
the most complete tutorial on learning the difference & translation of
Intel ASM to AT&T ASM?  Here's an example of the kind of stuff I want to
do.

char Circle(int x, int y, int r, char c)                     Circle(Integer
x,y,r; Byte c)
{                                                                          
        Begin
   While(!N)                                                               
   While(N=False) Begin
   {                                                                       
          asm
   asm                                                                     
      {
   {                                                                       
          ; Do calculations
    ;  Do calculations                                                   
};
   }                                                                       
          GoSetPixIfNecessary;
   GoSetPixIfNecessary;                                            End;   
   }
}

3B)  I'm not used to Protected mode Memory access, so what the easiest way
to *poke* byte values into memory w/ or w/o memory protection?

3C)  What's the easiest way to call 16-bit interrupts(like the mouse, &
VGA) & 32-bit interrupts(like VESA), thru one of the protected mode
functions or thru ASM?

3D)  Can you call 32-bit interrupts w/ the built in inline ASM calls?

4)  I'm interested in porting some ZIP, TAR, GIF87/89, JPG, BMP, & Huffman
compression file filters but I have problem.  Some of these formats use bit
compression.  Is there a built in function to test individual bit in a
byte, word, & dword?  Is there a work around?  Here's what I'd like the
function to do(Pascal example).

Return of function(possible err)--+
Check if it's this value(0-1)-+        |
The Bit # to Test(0-7)-+        |         |
The Byte to Test---+    |         |         |
                                \|/   \|/       \|/       \|/
TestByteBit(Byte B, Bit, Test):Byte

Sorry if this stuff seems redundant to the list but I would truly like to
take full advantage of DJGPP.

Thanx in advance
eLpEE

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019