Mail Archives: djgpp/1992/07/14/21:11:48

Date: Mon, 13 Jul 92 12:02:02 EDT
From: DJ Delorie <dj AT ctron DOT com>
To: karna AT pobox DOT upenn DOT edu
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: Video modes and some distribution questions

>I am under the impression that, if I executed the BIOS interrupt to change
>video mode, it will switch into one of the modes supported by the current
>driver (for example, the "text mode", "320x200 mode", "highest res mode"),
>instead of switching into the actual BIOS video mode.  Is there a way to fix

No, if you call GrSetMode() it uses the drivers.  If you go right to
the BIOS, it goes right to the BIOS.

>I am thinking about porting a pgm to djgpp, but it uses a 16-color
>graphics library.  The lib should work providing I can write to certain
>ports and I can access video mem at 0xA0000.  But, I need to be able to 
>switch into 640x480x16 graphics mode.  I know that the grx lib does this, 
>but I'd rather not have to rewrite this pgm to use that library.

Physical memory is available at 0xe000000 + physical address, so
graphics memory is at 0xe00a0000.  I/O works properly (see <pc.h>)

>Before I port this pgm, I have some questions regarding distribution of 
>this pgm.  I am writing this for my work, and this pgm will be sold 
>commercially.  I doubt my bosses would be too hot for the idea of 
>releasing this pgm free ;-).  I understand that we can distrib stuff
>commercially providing we pay some percentage.  Is this a percentage of
>the selling price per copy, or a percentage of the total amount sold?
>BTW, I imagine that the pgm .EXE file will be created by appending the 
>a.out file to GO32.EXE, since that appears to be the fastest loading.

The default terms are 5% of the per-copy selling price, per copy.
Thus, it's the same as 5% of the *total* money you get for selling
copies.  However, I recommend *not* prepending go32 but sending it out
separately, with its sources (or all of djgpp) and avoiding the
royalties altogether.  This may sound like I'm nuts, but it's better
for the customer and yourself.

>Parts of the library are covered by the Gnu license, if I understand 
>correctly, and if we use these fcns our pgm must be distributed according
>to the Gnu license.  Needless to say, my bosses wouldn't be too hot with
>that idea, so I think it would be prudent for me to avoid using those
>fcns.  Can someone tell me exactly what parts of the library I should 
>avoid using to avoid this situation?

Don't link libgcc.a (in 1.07) and you'll be safe - I moved all the GNU
stuff in there. Note that the LGPL (for libraries) just says you have
to ship their libraries in source form.  Thus, if you shipped djgpp
(with, and make available your program as a big .o that
they can link in new versions of the GNU library, you're safe.

dj AT ctron DOT com
Life is a banana.

- Raw text -

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