QBasic => QB Discussion & Programming Help => Topic started by: mennonite on April 14, 2005, 10:21:47 PM

Title: (freebasic for dos:) ld.exe: cannot find -lfbgfx
Post by: mennonite on April 14, 2005, 10:21:47 PM
i understand pathname issues. i believe i downloaded the latest version of freebasic for dos. i did a search of every folder the installation made. i cannot find a file called lfbgfx, or any file Containing this string in its name.

if i could find it, i would copy it to the directory other libs/bins are in, and the directory ld.exe is in.

does anyone that uses fb for dos know why this file is not installed? i tried to find a place i could download the library, but freebasic.net seems to only offer the same package that failed to install this file.

until this is fixed i can't seem to compile any programs with graphics statements :( anyone?

Title: (freebasic for dos:) ld.exe: cannot find -lfbgfx
Post by: Z!re on April 14, 2005, 11:36:25 PM
IIRC, there is no built in GFX lib for FB:DOS

Perhaps Allegro is ported?

Not really sure, never used the DOS version.

Title: i'm pretty sure i'm *supposed* to have the library
Post by: mennonite on April 15, 2005, 12:00:31 AM
in the docs section, theres a text file about gfix2lib, but no such file installed.

apparantly i need this library to do anything with graphics, including change the screen mode. (using dos)

i can't currently compile my new program, which compiles fine until i add this command:

screen 13

it would be really absurd for someone to make a free version of basic but make it so you can't PSET or CIRCLE outside of windows and linux.

that's it. i can't change to screen 13 because this library isnt included. here's some of the text file i was talking about: there are no files anywhere that seem to coincide with this doc:

   GFXlib 2 - FreeBASIC's gfx library

   Copyright (C) 2005 Angelo Mottola (a.mottola@libero.it)

Welcome to GFXlib 2. This library is meant to supply FB with an emulation of
the QB built-in gfx routines, but also to give users more possibilities than
QB provided, like high resolutions and hi/truecolor, MMX optimized routines,
mouse and keyboard (multiple keypresses) handling, transparent PUT support
with clipping done right, multiple offscreen pages in any gfx mode.
It also supports setting up an OpenGL mode so you can do your own OpenGL
coding without worrying about platform dependent initializations.

This document holds a reference of the available functions in alphabetical
order, together with small inline examples where appropriate and with remarked
differences with their QB counterparts. You'll also find some appendices for
special topics.

Some useful constants are defined in the fbgfx.bi include file for you to use,
you may want to have a look at it, it's in your FreeBASIC/inc directory.

Happy coding!


Functions reference:
   BLOAD      statement
   BSAVE      statement
   CIRCLE      statement
   COLOR      statement
   DRAW      statement
   FLIP      statement
   GET      statement
   GETMOUSE   statement
   INP      function
   LINE      statement
   MULTIKEY   function
   OUT      statement
   PAINT      statement
   PALETTE      statement
   PCOPY      statement
   PMAP      statement
   POINT      function
   PSET      statement
   PUT      statement
   RGB      macro
   SCREEN      statement
   SCREENCOPY   statement
   SCREENINFO   function
   SCREENLOCK   statement
   SCREENPTR   function
   SCREENRES   statement
   SCREENSET   statement
   SCREENUNLOCK   statement
   SETMOUSE   statement
   VIEW      statement
   WAIT      statement
   WINDOW      statement
   WINDOWTITLE   statement
Appendix A: DOS keyboard scancodes
Appendix B: Default palettes
Appendix C: Internal pixel formats
Appendix D: About speed and size
Appendix E: Internal drivers
Appendix F: Hints

Title: (freebasic for dos:) ld.exe: cannot find -lfbgfx
Post by: Z!re on April 15, 2005, 12:05:18 AM
I would say use the windows/linux version if you want gfx, but you'll prolly bash me for sugessting something so stupid.

Anyways, is the headers for allegro included? If so, use it instead.

I dont know if there is a FBGFX lib port for DOS.
The reason it might not be there is because it's highres, etc.

That, and DOS isnt suited for modern day graphics.

Sorry to say, but unless the lib is ported or you dont want to use some other DOS capable gfx lib, you'll have to change compiler.

Or stop using DOS.

Title: (freebasic for dos:) ld.exe: cannot find -lfbgfx
Post by: v3cz0r on April 15, 2005, 04:20:52 AM
The DOS driver wasn't written yet, DOS has no support for threads (well, only with loads of hacks), and the gfxlib depends on that..

Also VESA is pretty incompatible these days, using any mode above 640x400 and your game probably would run in 10% of the current PCs..

"Old school" mode 13h would be okay though, check the example at examples/DOS dir.

Title: so far...
Post by: mennonite on April 17, 2005, 04:10:59 AM
i'm not going to bash anyone in a "newbie" forum, even if i'm the "newbie"... (here, anyway.) all the same, i have a post / mini rant that's *not* directed at anyone here.

there *are* examples in the dos GFX folder but they don't use the BASIC-flavored commands that are available in the gfx2lib... the one that supports  commands most like basic. maybe they are all 320x200x256, but they sure look more high res.
however they work (i can't figure out how they do graphics, all i know is they compiled and work under dos with cws???? - the thing that lets you run 32 bit dos stuff. pcm- pd... qp... whatever. the graphics examples work, but dunno how.

i appreciate the answers, tho they may be more accurate than my own thoughts, these remain my thoughts:

* linux (at least) is "better" than dos, but that of course is not the issue

* i can't believe they made a free / powerful version of something (gpl no less) From Dos and didn't bother making the primary graphics commands available in the dos version. tf is that all about?

* i'm not up on vesa compatibility, all i know is that i'm sure as many people still use dos can still find a card that's compatible, too. arachne web browser for dos works Just Fine in vesa 1024x768xEtc (more than 256) and i havent heard about compatibility issues from anyone... not to say they don't exist of course

* even *if* you can't access vesa reliably anymore there's no reason to not make a gpl'd version of a dos program (qbasic, yes, i know microsoft didn't invent basic for the ibm/dos... etc but even if they suck qb was a *good* implementation) with graphics commands (no PSET???? geez.) for whatever standard res (screen 13 and Twelve would be Plenty, standard vga!) they could port the library for. if i ever got djgcc to work, (i know it's a good compiler) or if i was any good with c i'd do it myself. i wish someone would.

none of this is the fault of anyone here, just a little rant, but it strikes me as so silly. i mean, it's BASIC. you'd think they'd let you do graphics (no pset?) in dos, without whatever goofy scheme i'm going to have to come up with basic on the (anything but basic) grahpics examples included, which don't have pset, or circle, or line, or any other basic graphics commands. and it's just, no excuses, just dumb. why Half-port to the os it came from? (see above re: where basic didn't actually come from.)

i'll get off my soapbox now. promise.


Title: (freebasic for dos:) ld.exe: cannot find -lfbgfx
Post by: ShadowWolf on April 17, 2005, 04:39:28 AM
dude you got to rember the dos port of FB is fairly young when compared to the windows and linux version.

also dos isn't really victor prioirty he got bigger things to fry like adding more things to FB improving the compiler it self and maybe at some point porting it to mac os X.

also orignal concepted of FB never include a built in gfx lib that was always going to be left to extenal lib's. it only because of  Sterling Christensen that the leagcey gfx lib was even started and then thanks to Lillo for creating the built in lib we have today.

if anything FB dos port still holds more to the C philosophy which is what fb more or less fallows although the windows and linux version kind of break this with the built in libs but ok since the lib doesn't link unless you use it although polutes the name space a bit but nothing perfect :) .

Title: Re: so far...
Post by: Z!re on April 17, 2005, 09:41:41 AM
v3cz0r made FB

Want DOS and highres, go sign up at an mental institution.

Modern computers cant run many DOS programs as they dont have either VESA nor EMS support.

"Sad" but true, it's called progress.

Dos is monotasked, which kind of sucks in todays world.

And maybe you should try the Win32 version before you go around ranting about missing commands in the DOS version.

Which, btw, was created AFTER the win32 version.


If you want QB/DOS so much, USE QB! There's plenty of highres libs available for it, if thats what you want.

And if speed is all you want, change to FBwin32!

Besides, there's probably numerous C libraries available for DOS that allow you to do graphics.

But from your post it seems you'r too lazy or ignorant to learn a new syntax.

Title: (freebasic for dos:) ld.exe: cannot find -lfbgfx
Post by: v3cz0r on April 17, 2005, 03:43:32 PM
"How come they released a product and didn't even add proper documentation?? I demanded a refund already, *sigh*."

Your were the first to ask for a gfx driver for DOS, priorities are set depending on the requests.. try posting it in the Request page: http://www.sourceforge.net/projects/fbc

Title: (freebasic for dos:) ld.exe: cannot find -lfbgfx
Post by: Antoni Gual on April 17, 2005, 04:24:40 PM
So this is the official way?  I thought it was this forum...

Title: (freebasic for dos:) ld.exe: cannot find -lfbgfx
Post by: v3cz0r on April 17, 2005, 04:37:14 PM
Well, messages can be missed or forgotten, the requests will be always there at front-page and even non-project members could send patches, though i doubt that will ever happen..

BTW, sf.net seems to be down at the moment..

Title: (freebasic for dos:) ld.exe: cannot find -lfbgfx
Post by: Antoni Gual on April 17, 2005, 05:14:55 PM
I have checked and the two requests and the bug report I just made are still there... :wink:

Title: Re: so far...
Post by: adosorken on April 17, 2005, 05:20:35 PM
Quote from: "mennonite"
* i can't believe they made a free / powerful version of something (gpl no less) From Dos and didn't bother making the primary graphics commands available in the dos version. tf is that all about?

Quote from: "mennonite"
why Half-port to the os it came from?

I don't know what planet you come from ;) but...FB was originally designed for Windows, not DOS. The DOS port was added after the Linux port was made, and was added by another person altogether. This is all very common knowledge around here, especially for those of us who were around when FB came out, or those of you out there who actually read up on FB's history. I get the impression that you're neither type of person. :D