Qbasicnews.com

Full Version: Pixles
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
how do you make small pixles in qb, with out using a library.
Code:
screen 12
pset (320, 240), 15
i know that screen 12 has a higher resolution but lacks color
well thats about as small as your gonna get big guy :wink:
Methinks he wants 800X600 or something like that...

ASM$ = ASM$ + "blablabla"

CALL ABSOLUTE(ASM$)

or something like that, check dav's code post.
oh christ, people.

Looks, you want VESA routines. Any mode higher than 640x480x16c can't fit into VGA's 256k buffer, so you need special video modes to do it with. This site has some really good pseudo-code explanations on how to use it, just translate it to qb and you should be set. But be warned: using your own graphics routines takes optimization, and ultimately a lot more work than if you used a set of routines already made for you.
Yeah, what's wrong with using a library, you lameass?
Again... Oracle has showed his ability to read one's mind. Wink

Quote:small pixels in qb

Higher resolutions you mean? Without library? Owowowowow Wink lol. I hope you understand some of this:

Try out Interrupt 10h with AX'es ranging from 4F00h to 4F0Ch.

E.g. to set a video mode:
  • VESA SuperVGA BIOS - SET SuperVGA VIDEO MODE
    AX = 4F02h
    BX = new video mode (see #04082,#00083,#00084)
    ESBig GrinI -> (VBE 3.0+) CRTC information block, bit mode bit 11 set
    (see #04083)
    Return:AL = 4Fh if function supported
    AH = status
    00h successful
    01h failed

    Notes: Bit 13 may only be set if the video mode is present in the list of accelerated video modes returned by AX=4F00h. If the DAC supports both 8 bits per primary color and 6 bits, it will be reset to 6 bits after a mode set; use AX=4F08h to restore 8 bits

    See Also: AX=4E03h - AX=4F00h - AX=4F01h - AX=4F03h -



    (Table 00083)
    Values for VESA video mode:
    00h-FFh OEM video modes (see #00010 at AH=00h)
    100h 640x400x256
    101h 640x480x256
    102h 800x600x16
    103h 800x600x256
    104h 1024x768x16
    105h 1024x768x256
    106h 1280x1024x16
    107h 1280x1024x256
    108h 80x60 text
    109h 132x25 text
    10Ah 132x43 text
    10Bh 132x50 text
    10Ch 132x60 text
    ---VBE v1.2+ ---
    10Dh 320x200x32K
    10Eh 320x200x64K
    10Fh 320x200x16M
    110h 640x480x32K
    111h 640x480x64K
    112h 640x480x16M
    113h 800x600x32K
    114h 800x600x64K
    115h 800x600x16M
    116h 1024x768x32K
    117h 1024x768x64K
    118h 1024x768x16M
    119h 1280x1024x32K (1:5:5:5)
    11Ah 1280x1024x64K (5:6:5)
    11Bh 1280x1024x16M
    ---VBE 2.0+ ---
    120h 1600x1200x256
    121h 1600x1200x32K
    122h 1600x1200x64K
    81FFh special full-memory access mode

    Notes: The special mode 81FFh preserves the contents of the video memory and gives access to all of the memory; VESA recommends that the special mode be a packed-pixel mode. For VBE 2.0+, it is required that the VBE implement the mode, but not place it in the list of available modes (mode information for this mode can be queried directly, however).. As of VBE 2.0, VESA will no longer define video mode numbers

    See Also: #00010 - #00011 - #00084 - #00191

    Index:Video modes;VESA


    (Table 00084)
    Values for S3 OEM video mode:
    201h 640x480x256
    202h 800x600x16
    203h 800x600x256
    204h 1024x768x16
    205h 1024x768x256
    206h 1280x960x16
    207h 1152x864x256 (Diamond Stealth 64)
    208h 1280x1024x16
    209h 1152x864x32K
    20Ah 1152x864x64K (Diamond Stealth 64)
    20Bh 1152x864x4G
    211h 640x480x64K (Diamond Stealth 24)
    211h 640x400x4G (Diamond Stealth64 Video / Stealth64 Graphics)
    212h 640x480x16M (Diamond Stealth 24)
    301h 640x480x32K

    Note: These modes are only available on video cards using S3's VESA driver

    See Also: #00083 - #00191 - #00732 at INT 1A/AX=B102h

    Index:Video modes;S3

    Format of VESA VBE CRTC Information Block:

    Offset Size Description (Table 04083)
    00h WORD total number of pixels horizontally
    02h WORD horizontal sync start (in pixels)
    04h WORD horizontal sync end (in pixels)
    06h WORD total number of scan lines
    08h WORD vertical sync start (in scan lines)
    0Ah WORD vertical sync end (in scan lines)
    0Ch BYTE flags (see #04084)
    0Dh DWORD pixel clock, in Hz
    11h WORD refresh rate, in 0.01 Hz units
    this field MUST be set to pixel_clock / (HTotal * VTotal),
    even though it may not actually be used by the VBE
    implementation
    13h 40 BYTEs reserved

    Bitfields for VESA VBE CRTC Information Block flags:

    Bit(s) Description (Table 04084)
    0 enable double scanning
    1 enable interlacing
    2 horizontal sync polarity (0 positive, 1 negative)
    3 vertical sync polarity (0 positive, 1 negative)

    See Also: #04083

It's a very nice documentation, that Interrupt List Wink
Quote:Yeah, what's wrong with using a library, you lameass?

Yeah, I too agree with seph. Try using Future.Library =) Its ASM so its faster than doing pure QB routines.

Also, Seph stop calling peoples' asses lame =P