HELP ME!!!!!

Please use this Board for QBasic related requests ( file research, programming, etc.)

Moderators:Administrator, Global Moderator

Post Reply
Guest
HELP ME!!!!!

Post by Guest » Sat Aug 24, 2002 11:11 pm

Hello, *sniff* I need help with

ASM



    No, I don't want you to teach me it, just help me with it. I have found a tutorial on how to use screen 12 with 256 colours! But there's a catch. You must build a PSET routine yourself.
    You have to DEF SEG = &HA000 to get to the graphics segment, and do this equation to get the offset.
'
offset& = (y * 160) + (x / 4)
POKE offset& colour
'
    My problem is as follows. Qbasic doesn't allow the use of the POKE command with an offset any higher then 65535, that means, I can only acess the top 1/4th of the screen! that won't do very well. This screen mode would add the needed resolution, and  colour capabilities for programmers everywhere! You can even use existing pallete manipulating subroutines to control everthing on the screen!
    I NEED some one to make an ASM library that has only one subroutine. SET x, y, c. It has to mutiply y by 160, divide x by 4, and add those two together. That is your offset. The segment is A000h, and the new byte is c. It's simple, but I'm ASM chalenged.

PLEASE HELP ME!!!!!

Post Script: If you want to find out more about this thing, or you just want to talk to a fellow programmer, or you know where I can learn a new programming language, then email me at: ingenius009@aol.com

Don't be afraid, I don't byte

LONG LIVE QBASIC!!!!

Guest

Tr this....

Post by Guest » Mon Sep 02, 2002 10:42 am

Def SEG=&ha000

Poke Y*320&+X,15

or this:

http://www.qb45.com/forum/show.php?mess ... ard=qbasic

Cut and paste in yer progs.

Remember to load QB with the /L option

ie. QB/L

User avatar
GPfault
Jr. Member
Posts:13
Joined:Mon Dec 02, 2002 9:14 pm

Re: HELP ME!!!!!

Post by GPfault » Thu Jan 16, 2003 9:31 pm

You can't go over 65535 due to the 16-bit nature of a near pointer.  You'd be better off if you downloaded the PC Gamer Encyclopedia thingamajig and studied VESA.  You can't go over 65535 even with assembler.  You should use VESA to set the 640x480x256 mode, and use the windowing functions to set the needed window.  It's really quite simple once you get the hang of it.

You might be more efficient writing routines other than PSET.  You could use a REP MOVS loop to do a BitBlt for big speed.

Guest

Re: HELP ME!!!!!

Post by Guest » Fri Jan 17, 2003 11:08 pm

Why not change the def segment when you write to the video?

Post Reply