Qbasicnews.com

Full Version: SCREEN resolution
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
I'd like to mention that the built in screen modes QBasic has are static, meaning that in, for example, SCREEN 12, the only pixel resolution you can ever have is 640x480

if you want a list of screen modes and their resolutions, go here

If you wish to have different colour modes, look into DOS and VESA or SVGA.  here is the google query.  Make some use of it.

if you are looking for libraries, search for UGL:. or FutureLib, but I'm sure that there are other good ones out there, too

Yes, there are SCREEN tweeks available, and even if they have to be set in a certain screen mdoe prior to the tweek, after the tweek, you are no longer running in that screen mode.

Oz~

:: EDIT ::

Also, with each screen mode, there is a static screen bit depth and memory limit which WILL limit colours.

in screen 12, the buffer can only handle 16 colours at any given time.  No matter what you do, SCREEN 12 will only have 16 colours.

If you want 256 colours, QB will go as high as SCREEN 13, but only have 320x200 resolution.

Again, if you want hi res and lots of colours, use a library to achieve it - QB alone cannot achieve it without ASM

oz~
There you go :-)

Both of these libraries allow the use of VESA SVGA modes in various bit depths.
AK-LIB is also pretty good - and still in development. However, the documentation and homepage is in german.

http://www.iconsoft.de/
Oh, I could translate the documentation into English if there's any interest. Smile
english would be nice, and while ur at it y nt welsh lol, kidding
Oh, I forgot to post here. Smile I finished the translation some time ago. The English version of the library is available here: http://forum.qbasicnews.com/viewtopic.php?t=10737

Sebastian
thanks for the translation, ive been wondering exactly wat AK lib does and now i know, props to u
Just a little SCREEN tip when compiling using QuickBasic. If you compile the attached and run the EXE file you will find while running in the opening SCREEN 0 the display is minimised in the MSDOS window, but as soon as you activate SCREEN 9 the display is maximised.

Gordon

Code:
CLS : SCREEN 0: GOSUB SHOW
PRINT "press a key for screen 9 and full screen"
SLEEP
SCREEN 9: GOSUB SHOW
PRINT "PRESS A KEY": SLEEP: SYSTEM

SHOW: FOR n = 1 TO 20
          PRINT "Just testing"
      NEXT
      RETURN
Hi, Gordon.

Just for curiosity, I ran your SCREEN 0, SCREEN 9 reversed, putting the SCREEN 9 code first, and ran it. I got the full SCREEN 9, and I also got the full SCREEN 0!

I made the program toggle from one screen to the other. With SCREEN 0 first, I get the window, then the full SCREEN 9, then, SCREEN 0 is full, as is SCREEN 9, as is SCREEN 0, and so on.

Same as above, with SCREEN 9 first. ALL screens are now full!

With SCREEN 0 first, I added one line of code, just before the SCREEN 0. That line? SCREEN 1. Now, SCREEN 0 is shown full, and the characters are wide. Using the line of code, SCREEN 2, then SCREEN 7, then 8, 9, 10, 11, 12, and 13 worked the same, giving SCREEN 0 a full screen, though some of the screens modes show wide characters, with all showing the normal line height for SCREEN 0.

Explanations?
Pages: 1 2 3