QB64 Project

QB64 Large Program Page   Search QB64 Forum

Alpha is looking so good!

by (no login)

I've already implemented a few functions and the results are fantastic.

Here's a code snippit of the C++ code used to plot 32-bit rgba pixels using software. Take note of the optimizations I've done. I'll post some screenshots and examples QB64 code soon:

//--------plot pixel--------
switch((col=*soff32++)&0xFF000000){
case 0xFF000000:
*doff32++=col;
break;
case 0x0:
doff32++;
break;
case 0x80000000:
*doff32++=(((*doff32&0xFEFEFE)+(col&0xFEFEFE))>>1)+(ablend128[*doff32>>24]<<24);
break;
case 0x7F000000:
*doff32++=(((*doff32&0xFEFEFE)+(col&0xFEFEFE))>>1)+(ablend127[*doff32>>24]<<24);
break;
default:
destcol=*doff32;
cp=blend+(col>>24<<16);
*doff32++=
cp[(col<<8&0xFF00)+(destcol&255) ]
+(cp[(col&0xFF00) +(destcol>>8&255) ]<<8)
+(cp[(col>>8&0xFF00)+(destcol>>16&255)]<<16)
+(ablend[(col>>24)+(destcol>>16&0xFF00)]<<24);
};//switch
//--------done plot pixel--------

Posted on Jun 12, 2008, 7:37 AM
from IP address 58.106.209.151

Respond to this message   

Return to Index


RE: SCREEN 14

by (no login)

It would have been so easy add SCREEN 14 640x480x256 color, but it would have been a quick fix for a more complex problem. That of different resolutions and color depths. So there will (sadly?) be no SCREEN 14, because if you want SCREEN 14 you can make your own!

I wrote a "drag-n-drop" style image viewer in QB64 code today, it looks like this:
i=_IMGLOAD(COMMAND$)
SCREEN i
DO: LOOP UNTIL INKEY$<>""

As you can see, the code is... well... basic. It loads most image file formats, which is also nice. You can also see it full screen in stretched and 1:1 ratio with a press (or two) of ALT-ENTER.

I've actually coded a lot more than just the above 2D custom resolution commands, but I thought it was a cute example. Fyi, the image was loaded and converted to 32bit color which is the default (I would have used COMMAND$,8 if I actually wanted the 256 color palette values).

All this alpha stuff I'm adding is part of a major upgrade of the way QB64 graphics work.

Posted on Jun 14, 2008, 6:21 AM
from IP address 122.104.40.30

Respond to this message   

Return to Index


wow

by mennonite (no login)

now if i read you correctly, that's still 640x480, yeah?

i have an old program i made for 1024x768x32bit that only worked on one of the 10 to 15 computers i tried it on. i tried learning how sdl worked since pset and allegro (which i learned to write it) didn't work. i look forward to making it use pset and using it in qb64, whenever 1024x768x32bit is available. nice imageloader though.

Posted on Jun 14, 2008, 6:31 AM
from IP address 195.24.77.135

Respond to this message   

Return to Index


RE: that's still 640x480, yeah?

by (no login)

No, that's whatever dimensions the loaded image has! Be it 32x32 or 2048x2048!

If I wanted to "force" it to display the loaded image in a 640x480 window I might do something like this...

i=_IMGNEW(640,480)
SCREEN i
i2=_IMGLOAD("mypic.png")
_IMGPUT (20,20),i2

Notes on _IMGPUT Format: (Of course, you usually omit most of it and use the defaults. Note that it is possible to stretch the image)
_IMGPUT (dest_x1,dest_y2)-(dest_x2,dest_y2),src_surface,dst_surface,(src_x1,src_y1)-(src_x2,src_y2),options

Posted on Jun 14, 2008, 6:54 AM
from IP address 122.104.40.30

Respond to this message   

Return to Index


oh!

by mennonite (no login)

'*sniffle*
i=_IMGNEW(640,480)
SCREEN i
i2=_IMGLOAD("mypic.png")
_IMGPUT (20,20),i2

that's beautiful!

Posted on Jun 14, 2008, 6:57 AM
from IP address 87.106.27.17

Respond to this message   

Return to Index


RE: that's beautiful!

by (no login)

Yes, it is.

Size warning: This development screenshot is a 1024x768 png file. For those not willing to download, it simply shows my desktop running the 3 line image viewer I designed and displaying a 1152x864 resolution jpg of "samus" from the Nintendo Metroid series(clean).

http://img180.imageshack.us/img180/9752/devshotrg8.png

Posted on Jun 14, 2008, 7:52 AM
from IP address 122.104.40.30

Respond to this message   

Return to Index


* Niiiice.

by Dav (no login)

Posted on Jun 14, 2008, 8:41 AM
from IP address 75.181.134.25

Respond to this message   

Return to Index


*WOW! This will be nice when you are done!

by (Login burger2227)
R



    
This message has been edited by burger2227 from IP address 71.60.226.47 on Jun 14, 2008 12:09 PM

Posted on Jun 14, 2008, 9:48 AM
from IP address 71.60.226.47

Respond to this message   

Return to Index


will _imgnew have a setting for "layers?"

by mennonite (no login)

already _imgnew() will let you specify the colordepth with _imgnew(...),8 for 256, if the syntax is like your other function that works with screen.

but each screenmode has a different number of pages to it, screen 12, has only 1. so i would imagine something like i=_imgnew(640,480),4,2: screen i 'this is basically screen 12 with 2 pages? not that you'd necessarily want 4bit graphics, you'd probably want _imgnew(640,480),24,2, but then i believe the maximum windows allows is your "default" for _imgnew

Posted on Jun 15, 2008, 2:00 PM
from IP address 193.200.150.167

Respond to this message   

Return to Index


QB64 does not require the constraints of Legacy Screen Modes

by (Login burger2227)
R

While it will allow previous QB programs to work, it can simulate the mode without some of the settings required previously. This allows you to have 256 colors in a Screen 12 routine if you want them. Thus, 4 bit images are no longer necessary.

I have NEVER seen Qbasic render an image like the one posted by Galleon! And it seems so easy too. Another great idea!

Ted

Posted on Jun 15, 2008, 2:15 PM
from IP address 71.60.226.47

Respond to this message   

Return to Index


quite true, however, _imgnew already imposes constrants

by mennonite (no login)

while the default may be "as many colors as windows can produce," it also has settings for lower colordepths, as can be seen in galleon's example.

it may be possible to have "unlimited" pages of video (in the pre-mpeg/avi sense of the word, but also possibly regarding animated gifs, etc) in qb64, but it's normal to be able to specify these things, as ram continues to be actually limited in size, though it may not always seem that way. but either way is fine, really, i was just asking galleon how he was going to do it.

Posted on Jun 15, 2008, 2:19 PM
from IP address 85.195.119.22

Respond to this message   

Return to Index


* Those are not constraints, they are Features!

by (Login burger2227)
R

Posted on Jun 15, 2008, 3:00 PM
from IP address 71.60.226.47

Respond to this message   

Return to Index


i was also talking about a feature, you chose the word "constraint", but as i said before

by mennonite (no login)

it's a feature/constraint/syntax convention i was asking galleon about. obviously, no one is telling you not to commment on it, but if we're going to debate the validity of my question, i'd like to get an answer from galleon before he has to try to reply to an entire debate.

so, going to try to wait before replying futher. i can point out the merit of you doing the same, but obviously, it's your forum too, you can post when you want to.

Posted on Jun 15, 2008, 4:05 PM
from IP address 85.195.119.22

Respond to this message   

Return to Index


"Ogre's have layers"-Shrek "QB64 has layers"-Galleon

by (no login)

...and so will image surfaces being used as the screen mode.
i=_IMGNEW(50,50,256)
_IMGDST i
LINE (0,0)-(49,49),1,BF 'a lovely blue box
SCREEN i,,1,0

Just as QB64 works now, extra video pages are allocated on an on-demand basis. So in the above page 0 would be blue, and page 1 (created because it has been referred to) would be created as a blank(black) page but with the same format and dimensions as the image i. The palette is shared between these pages, so a change to the palette of one affects all the others.

You may have noticed the 256 which previously miht have been an 8. This area of QB64 is evolving rapidly and already I've seen the need for distinguishing between QB modes and associated compatibilities. The third parameter of _IMGNEW can now be one of the following:
0 compatible with SCREEN 0 (text)
1 compatible with SCREEN 1
2 compatible with SCREEN 2
7 compatible with SCREEN 7
8 compatible with SCREEN 8
9 compatible with SCREEN 9
10 compatible with SCREEN 10
11 compatible with SCREEN 11
12 compatible with SCREEN 12
13 compatible with SCREEN 13
256 like SCREEN 13 format, with default font of 8x16
32 32-bit RGBA color

So why couldn't the last parameter of _IMGNEW just be bits per pixel?
Compare SCREEN 9 and SCREEN 7, both 16 color, but very different palettes, and don't even start talking about SCREEN 10's palette.

Posted on Jun 16, 2008, 12:03 AM
from IP address 122.104.40.30

Respond to this message   

Return to Index


like an onion?

by mennonite (no login)

i thought you might do that, and on-demand should be fine.

i'm a big fan of 24bit color though, even if 32 lets you do like... LOTS AND LOTS of greens, so maybe between 256 and 32 you'll put 24, or 111111111111111111111111, or 16777216 :)

Posted on Jun 16, 2008, 3:17 AM
from IP address 193.200.150.189

Respond to this message   

Return to Index


32 bit color almost is 24 bit color

by (Login MCalkins)
R

it justs uses 8 bits for padding, i believe, to keep everything dword aligned. but the number of colors should be the same.
8 bits red, 8 bits green, 8 bits blue, and 8 bits for padding.
if i'm not mistaken...
regards, michael

Posted on Jun 16, 2008, 11:19 PM
from IP address 12.183.134.27

Respond to this message   

Return to Index


RGBA

by rpgfan3233 (Login rpgfan3233)
R

You're forgetting that transparency is around now. Those extra 8 bits in 32-bit colour could be used for transparency (the alpha channel), creating RGBA (Red, Green, Blue, Alpha).

Of course, they could just be extra padding, like you said. After all, nobody says that all 32 bits needed to be used! :P

There could be other reasons for it too.

I wish HSL was more common though... It feels much more intuitive than RGB.
My thought process with HSL:
====
Okay, I want this colour, and it is between <color1> and <color2>. (hue - the colour base)

Now how vivid do I want the colour to be? (saturation - how vivid or dull the colour looks)

And we'll just adjust the lightness a bit... (lightness - how light or dark the colour is)
====

Shades of grey are created with 0% saturation (as dull as you can get...) and playing with the lightness. 100% saturation = normal vividness, 0% saturation = completely dull. 100% light = white, 50% light = normal, 0% light = black. If you have 0% saturation, the hue doesn't matter. If you have 0% or 100% lightness, neither the hue nor the saturation matter.

If you wanted to, you could play with HSL in Firefox. Just drop this code into a Web page and open it with Firefox:
<p style="color: hsl(0, 100%, 50%)">Test</p>

Easy, right? If you don't want a Web page to test with, just use an equivalent JavaScript line then:
javascript:document.write('<p style="color: hsl(0, 100%, 50%)">Test</p>');

The hue is 0-360 (0|360 = red, 120 = green, 240 = blue), and the saturation and lightness values are percentages from 0% to 100% (units are important).

There also exists an rgb() version, allowing you to use 0-255 for each red, green and blue component rather than translating to/from hexadecimal.

------------------
Waiting patiently for Windows 7, XHTML 2.0, CSS 3.0, PHP 6.0, the ratification of C++0x, and the day that I can code without logic troubles.

Posted on Jun 17, 2008, 7:15 AM
from IP address 12.208.120.144

Respond to this message   

Return to Index


okay, but suppose i'm doing 1024x768

by mennonite (no login)

that's almost a meg of memory per channel, so i don't think it's too unreasonable to use 3 of those instead of 4.

at a certain point, we're talking savings in cpu resources, ram, and swap caching time. i admit, not being a software development guru, i don't know what point that is, but it seems particularly reasonable to ask if there will be a "24bit" setting, when there are still computers that aren't set (because of drivers or just because they're older machines) past 16bit color.

Posted on Jun 17, 2008, 10:05 AM
from IP address 58.120.227.83

Respond to this message   

Return to Index


re: old machine

by (Login MCalkins)
R

I've got my 166MHz pentium with an ATI graphics card (PCI, Mach64VT, 2MB, DirectDraw 1.) set at 800x600, 24 bit color, 85Hz refresh. I never set colors at 16 bit if I can help it, because I don't want to force the computer to use a palette. At 24 or 32 bits, I think there would be no palette. At least I hope not.

Regards,
Michael

Posted on Jun 17, 2008, 11:55 AM
from IP address 12.183.134.87

Respond to this message   

Return to Index


no palette at 24bit

by mennonite (Login mennonite)
R

but it's not about your computer, it's about your video card.

on old machines (with install files,) you can swap the card. on laptops, not so much.

Posted on Jun 17, 2008, 12:19 PM
from IP address 91.121.162.120

Respond to this message   

Return to Index


Don't spam the QBASIC forum with posts about QB64 features

by (no login)

Post QB64 related content here.

Please refrain from mentioning QB64 in the main QBASIC forum. Wait until QB64 is more developed, because leading posters to an unfinished programming language is rediculous! Even when QB64 is further developed, I'd still recommend refraining from mentioning QB64 in the QBASIC forum unless the poster specifically asks for something that QBASIC cannot provide.

I'm thrilled QB64 has your support, but the QBASIC forum is not a place to promote QB64.

Posted on Jun 11, 2008, 6:13 AM
from IP address 58.106.209.151

Respond to this message   

Return to Index


* You mean "ridiculous", not "rediculous"

by Speeling Poleece (no login)

Posted on Jun 11, 2008, 4:10 PM
from IP address 75.16.96.67

Respond to this message   

Return to Index


i think you're just wrong about this, galleon

by mennonite (no login)

"Please refrain from mentioning QB64 in the main QBASIC forum. Wait until QB64 is more developed, because leading posters to an unfinished programming language is rediculous!"

there's a guy on the forum who more than anything, could do what he wants with a giant array. whether he uses that, or just uses sequential files, it just begs for qb64 program. like we all have, for years now. you're not finished yet, and this is really important: we're not telling people to "switch to qb64," but if it's already useful, you're to blame. insist, i'll comply, but only under this protest.

Posted on Jun 13, 2008, 4:05 AM
from IP address 80.203.49.192

Respond to this message   

Return to Index


RE: Whether mentioning QB64 on the QBASIC forum is OK

by (no login)

Before QB64 existed people weren't constantly being diverted to the Visual Basic forum every time they needed a larger array.

I guess what I'm trying to say is people should think long and hard before mentioning QB64 there. When I read the QBASIC forums QB64 is being referred to way too much in the wrong places.

There are times when referring to QB64 is valid.

Posted on Jun 13, 2008, 5:42 AM
from IP address 58.106.209.151

Respond to this message   

Return to Index


we're still using qbasic where applicable

by mennonite (no login)

q. how can i use a really big array?

a. you can't. in qbasic, you can use a sequential file, or qb64 allows big arrays, but it's not ready for everyday use, you might try it. <- or we could just say "you can't." but this is reasonable answer, without any of that "Why are you still using qbasic? use qb64."

but for most questions, qbasic is fine.

otoh, what do you want us to do if someone doesn't care what language to use, and they want to play mp3's? "use shell in qbasic, or go to this website and download another basic that is only compatible when it doesn't add any features, which also isn't ready."

sometimes people just want an answer, they don't even care what they use, and they want help that is friendly, that we can provide. or we can send the poor bastards to another site, or let them find it. but you act like qb64 isn't a good answer. but it is. let us decide what programs we recommend. it won't sully your reputation. you can put a disclaimer up: WARNING: [state the obvious here...]

Posted on Jun 13, 2008, 7:50 AM
from IP address 85.195.119.14

Respond to this message   

Return to Index


*qb64 is not a significant source of fiber. do not eat qb64.

by mennonite (no login)

Posted on Jun 13, 2008, 7:53 AM
from IP address 85.195.119.14

Respond to this message   

Return to Index


Depends how they distribute the source

by qbguy (no login)

If they distributed it on a floppy disk or a CD then yeah, but what if they distributed it on punch cards? Paper consists of vegetable fibers composed of cellulose, which is fiber.

http://en.wikipedia.org/wiki/Cellulose

Let's see here:

C:\qb64\internal\c>wc -l qbx.cpp
16580 qbx.cpp

OK, challenge: how much fiber is in 16,580 punch cards?

Posted on Jun 13, 2008, 8:43 AM
from IP address 75.16.120.20

Respond to this message   

Return to Index


*lol, you realize galleon has as little respect for us as possible now

by mennonite (no login)

Posted on Jun 13, 2008, 9:05 AM
from IP address 85.195.119.22

Respond to this message   

Return to Index


Yeah menn's right...

by (Login MystikShadows)
R

Basically, the more QB64 MOves forward the closer it gets to becoming the QB upgrade many of us have been waiting for. I think this, in itself is definitely another way to define QB64 just by reading how QB64 is defined today.

Because now, with the coming of QB64, QB coders all over will be able to push the limits of their imagination that much further into the future and into the newer technology. They are being given, as we speak, the tools they will need to foster their creativity into the next level of computing that will be available to them through QB64.

But I'm not surprised by that, I think I'm not the only one that thinks this way about qb64 as it is now and as it's shaping up to be because it's not magic, supernatural or esoteric, it's downright street level common sense. :-). get my drift? hehe

Posted on Jun 13, 2008, 6:37 AM
from IP address 69.205.201.142

Respond to this message   

Return to Index


I realize people are excited, but I think Galleon raises a good point.

by rpgfan3233 (Login rpgfan3233)
R

QB64 isn't feature-complete yet. Many of the common things work, but there may be bugs still and people might not bother updating their QB64 version to receive the fixes. Then they would come here complaining that their program doesn't work in QB64 and wondering why it doesn't work.

Simply put, QB64 is like a baby - it's beautiful to behold, but it stinks at some things until it gets older.

Posted on Jun 13, 2008, 6:44 AM
from IP address 12.208.120.144

Respond to this message   

Return to Index


Well I think we all know that rpg...;-)

by (Login MystikShadows)
R

And I do realize that's why he doesn't want it mentioned everytime everywhere too. :-).

But that is the position qb64 is taking. The regulars know where it stands, the newbies will find out. But it's getting there fast from what I'm seeing in every release.

In other words I don't mind not exaggerating of course, keep it real and on par to where it is, but I don't want to make it seem less than what it is either. :-)



    
This message has been edited by MystikShadows from IP address 69.205.201.142 on Jun 13, 2008 6:59 AM

Posted on Jun 13, 2008, 6:55 AM
from IP address 69.205.201.142

Respond to this message   

Return to Index


rpg is so much fun to argue with

by mennonite (no login)

<img src="http://img126.imageshack.us/img126/5163/qb64cj8.gif">

Posted on Jun 13, 2008, 8:27 AM
from IP address 147.52.18.244

Respond to this message   

Return to Index


* Your img tag does not have the alt attirbute set! No Valid HTML button for you!

by HTML police (no login)

Posted on Jun 13, 2008, 8:29 AM
from IP address 75.16.120.20

Respond to this message   

Return to Index


*it's just like you to care more about scottishtml than whether it shows as plaintext :P

by mennonite (no login)

Posted on Jun 13, 2008, 8:35 AM
from IP address 85.195.119.22

Respond to this message   

Return to Index


valid scottish html button (attach to html, htm, xhtml, txt, ogg, intercal, whitespace)

by mennonite (no login)

http://img50.imageshack.us/img50/9690/scothtmlnp5.gif

Posted on Jun 13, 2008, 9:00 AM
from IP address 85.214.89.161

Respond to this message   

Return to Index


* You spelled "attribute" wrong

by Spelling Police (no login)

Posted on Jun 13, 2008, 8:51 AM
from IP address 75.16.120.20

Respond to this message   

Return to Index


LOL @ "You are a big baby"

by qbguy (no login)

That reminds me of the disclaimer in QB 7.1:

WARNING: THIS MICROSOFT PRODUCT HAS BEEN TESTED AND CERTIFIED
FOR USE ONLY WITH THE MS-DOS AND PC-DOS OPERATING SYSTEMS.
YOUR USE OF THIS PRODUCT WITH ANOTHER OPERATING SYSTEM MAY
VOID VALUABLE WARRANTY PROTECTION PROVIDED BY MICROSOFT ON
THIS PRODUCT.

I downloaded a patch to get rid of it, but before that I noticed that when I ran qbx.exe in Ubuntu using dosemu, I did not get the warning message. So I guess it's OK to use it on Ubuntu but if I use it on Microsoft's Windows XP, I'll void "valuable warranty protection".


Posted on Jun 13, 2008, 8:38 AM
from IP address 75.16.120.20

Respond to this message   

Return to Index


*disclaimer: if you use this product on vista you can not see this disclaimer

by mennonite (no login)

Posted on Jun 13, 2008, 9:02 AM
from IP address 85.214.89.161

Respond to this message   

Return to Index


Mennonite creating more dissent! Plain and simple!

by (Login burger2227)
R

Plus we get the added bonus of fifty more posts of blather and side comments because HE does not feel there is a need to edit his posts!

Galleon asked politely, but you continue to create tension in every forum that you post in.

As for QBGuy, there is no hope of ever slowing him down!

Posted on Jun 13, 2008, 10:24 AM
from IP address 71.60.226.47

Respond to this message   

Return to Index


that really is how you see everything

by mennonite (no login)

anyone that disagrees is making trouble. what the f*ck?

welcome to ted's qbasic forum. remain on topic at all times, violators will be persecu-ted.

Posted on Jun 13, 2008, 1:59 PM
from IP address 193.200.150.189

Respond to this message   

Return to Index


* More like, it is Galleon's program and he already decided this!

by (Login burger2227)
R

Posted on Jun 13, 2008, 2:48 PM
from IP address 71.60.226.47

Respond to this message   

Return to Index


*more like, you see his request as an excuse to play admin

by mennonite (no login)

Posted on Jun 13, 2008, 2:50 PM
from IP address 87.237.58.98

Respond to this message   

Return to Index


Your lack of respect is showing............

by (Login burger2227)
R

1) Too lazy to use uppercase and punctuation

2) Fills forums with total blather and commentary everywhere.

3) Has no regard for these Forums, the users or the Administrators.

4) Takes everything too seriously, but still never changes!

1 + 2 + 3 + 4 = WHO NEEDS IT?

I bet you have not even tried QB64 much smarty! You are too busy voicing opinions nobody asked for about things irrelevant to the Forum you just waltz into. No wonder the QB forum is slower since you came back! People want answers, not platitudes...or LONG winded threads.

MENNONITE'S ADMIN.



    
This message has been edited by burger2227 from IP address 71.60.226.47 on Jun 13, 2008 4:33 PM

Posted on Jun 13, 2008, 3:11 PM
from IP address 71.60.226.47

Respond to this message   

Return to Index


*wow, you sure hid a lot of trolling in that post

by kiss my asterisk police (no login)

Posted on Jun 13, 2008, 3:15 PM
from IP address 193.200.150.167

Respond to this message   

Return to Index


*and btw, the correct answer is 10.

by mennonite (no login)

Posted on Jun 13, 2008, 3:17 PM
from IP address 193.200.150.167

Respond to this message   

Return to Index


* Please stop this. The boards already get enough spam, so stop adding to it!

by rpgfan3233 (Login rpgfan3233)
R



------------------
Waiting patiently for Windows 7, XHTML 2.0, CSS 3.0, PHP 6.0, the ratification of C++0x, and the day that I can code without logic troubles.

Posted on Jun 13, 2008, 4:19 PM
from IP address 12.208.120.144

Respond to this message   

Return to Index


*thanks rpg, what i really needed was another order from a nonadmin, ending in a "!"

by mennonite (no login)

Posted on Jun 13, 2008, 5:49 PM
from IP address 193.200.150.167

Respond to this message   

Return to Index


* See, you just don't GET IT! Do you? Galleon please remove this TRASH.

by (Login burger2227)
R



    
This message has been edited by burger2227 from IP address 71.60.226.47 on Jun 13, 2008 5:58 PM

Posted on Jun 13, 2008, 5:56 PM
from IP address 71.60.226.47

Respond to this message   

Return to Index


liar

by mennonite (no login)

"oh i'm only talking about deleting MY OWN posts!"

wasn't it just three days ago you said that whenever you post, 10 more come out of it? who's not learning?

Posted on Jun 13, 2008, 7:17 PM
from IP address 85.195.119.14

Respond to this message   

Return to Index


*You're quite welcome, menn. So when are you coming over to my place, big boy? *frisky* :P

by rpgfan3233 (Login rpgfan3233)
R



------------------
Waiting patiently for Windows 7, XHTML 2.0, CSS 3.0, PHP 6.0, the ratification of C++0x, and the day that I can code without logic troubles.

Posted on Jun 13, 2008, 6:01 PM
from IP address 12.208.120.144

Respond to this message   

Return to Index


* HEY! Menn is mine........get your own Bitcher!

by (Login burger2227)
R

Posted on Jun 13, 2008, 6:10 PM
from IP address 71.60.226.47

Respond to this message   

Return to Index


*just try it, stumpy, it will be the last time you ever see it.

by mennonite is not your bitch (no login)

Posted on Jun 13, 2008, 7:14 PM
from IP address 85.195.119.14

Respond to this message   

Return to Index


*just when i thought i could count on an intelligent reply, too

by mennonite (no login)

Posted on Jun 13, 2008, 7:15 PM
from IP address 85.195.119.14

Respond to this message   

Return to Index


take this, turn it sidewise, and

by (Login MCalkins)
R

shove it up your defective brain.

select case clippysnetconnection
case "dailup": print "shoot modem with shotgun"
case "wireless adapter": print "remove from computer and run over with tractor repeatedly"
case "ethernet adapter": print "cut ethernet cable with scissors every .1 inches. then, remove ethernet card from computer and microwave it on high for 2 hours. enjoy..."
end select

regards,
michael

Posted on Jun 14, 2008, 1:48 AM
from IP address 12.183.134.23

Respond to this message   

Return to Index


man, we miss you (*url)

by mennonite (no login)

<a href="http://www.network54.com/Forum/183705/message/1212097303">http://www.network54.com/Forum/183705/message/1212097303/%2A+It+really+is+amazing</a>

Posted on Jun 14, 2008, 6:11 AM
from IP address 128.197.11.30

Respond to this message   

Return to Index


* I think Mikey's evil side is finally showing LOL

by (Login burger2227)
R

Posted on Jun 14, 2008, 9:50 AM
from IP address 71.60.226.47

Respond to this message   

Return to Index


* What, you mean like this? (* URL)

by qbguy (no login)

http://www.network54.com/Forum/13959/message/1213362113/Make+QB64+Fast%21

Posted on Jun 13, 2008, 6:02 AM
from IP address 75.16.120.20

Respond to this message   

Return to Index


*before I read any of the posts, i'll say that the titles in this thread are hillarious.

by (Login MCalkins)
R

Posted on Jun 14, 2008, 1:27 AM
from IP address 12.183.134.23

Respond to this message   

Return to Index


RE: Linux version, general progress, priorities etc.

by (no login)

I thought I'd clarify my position on a number of questions recently raised.

Firstly, as I stated a couple of weeks ago I have been so busy with work commitments that I haven't had time to constructively work on QB64 over the past few weeks. Nor will I have much time over the coming week. Just because I don't have much time to code, doesn't mean I'm not working on ideas. As such, I'm exploring how better 2D support can be added to QB64. It's likely that the next release of QB64 will contain 2 new SDL libraries; one called "SDL_IMAGE" and another called SDL_TTF. You can read about them here.
http://www.libsdl.org/projects/SDL_image/
http://www.libsdl.org/projects/SDL_ttf/
Both are multiplatform for Windows, Linux and MacOSX and provide support for:
Image formats: .TGA, .BMP, .PNM, .XPM, .XCF, .PCX, .GIF, .JPG, .TIF, .LBM, .PNG
Font formats: .TTF (TrueType), .FON
But, let me restate that now, as always, my #1 priority is QBASIC compatibility. I do have some good news. I have 2 full weeks of free time coming up soon, and if you know me you'll know that I'll spend a lot of it focussed on QB64. Expect great things by the end of those two weeks, great things indeed!

Secondly, Linux compatibility. As I've said I don't feel QB64 is ready for porting to another OS yet, regardless of how easy it may be. I was excited by the results of the most recent attempt you made because it's obvious that there are no significant hurdles to this process. I have a 1ghz laptop which will in a few weeks time be "upgraded" from XP to Linux and I will also begin working towards this goal. I love the sourceforge project you set up for managing QB64 but I am upset I wasn't consulted about this first as I would have been happy to set this up. Indeed a week ago I tried to do just that, only to find the project name QB64 was already taken. I didn't know by who until now! I'm not sure what "admin" rights entail on sourceforge but they'd better equal those of the projects creator. In all seriousness though, lets run with it for now and see what happens.

Posted on Jun 10, 2008, 7:17 AM
from IP address 58.106.209.151

Respond to this message   

Return to Index


Re: sourceforge page, sdl_image, linux

by (no login)

Yes, project administrator means that you have full access to the project and can change project settings, add file releases, add and remove members, etc.

I need your sourceforge account name to add you to the project. (There is a user on sourceforge with the username galleon but I don't know it that is you or someone else.)

[Nup, I don't know who took "galleon" but it wasn't available so I'm registered as "galleon-admin" instead of galleon. Certainly I'd like to be made admin of a sourceforge project using my code. Edited by Galleon]

So SDL_IMAGE will basically allow us to easily display image files? QBASIC could display BMP files already, but this way, people don't have to make their own implementations. I'm guessing this will work something like this:

_PLOTIMG(file[,height, width[,absolute])

(absolute specifies whether the units are pixels or percentages.

With SDL_TTF, how will LOCATE work with proportional fonts? Will it use pixels instead of character coordinates? will we have a new command instead of LOCATE for non-monospaced fonts?




    
This message has been edited by -Galleon- from IP address 58.106.209.151 on Jun 10, 2008 1:13 PM

Posted on Jun 10, 2008, 8:22 AM
from IP address 75.16.96.67

Respond to this message   

Return to Index


* Geesh the kids are already stealing the name! Oh My!

by (Login burger2227)
R

Posted on Jun 10, 2008, 12:01 PM
from IP address 71.60.226.47

Respond to this message   

Return to Index


RE: Sourceforge username & QB64 graphics

by (no login)

I edited (just to prove it is me) your post to include my sourceforge username "galleon-admin".

RE: QBASIC could display BMP files...
Certainly there are a number of loaders already written for QBASIC (including a nice jpg loader), but most of them have unpleasant restrictions.

RE: _PLOTIMG(file[,height, width[,absolute])
I was thinking more like:
myhandle=_IMGLOAD("sprites.jpg")
myhandle2=_IMGLOAD("sprites.bmp",8)
The default is to load the image in ARGB format (assuming a second parameter of 32), unless the second parameter is 8, in which case it will load a 256 color image with an attached palette. Those handles are image handles which can then be used in/for all graphics commands, including native QB graphics commands.

The LOCATE statement must be revised for variable width fonts. I was thinking the default behaviour could be that the Y axis is multiplied by the height of the font and the X axis is multiplied by the width of the largest character as in QBASIC. But, there will be another LOCATE command to put text at arbitrary pixel coordinates.

Posted on Jun 10, 2008, 1:29 PM
from IP address 58.106.209.151

Respond to this message   

Return to Index


OK, I added you to the project as admin

by (Login dean.menezes)
R

Here is a link to a screenshot:

http://img401.imageshack.us/img401/595/screenshottb4.png

The new syntax proposed for bmp loading, etc. seems good.

Posted on Jun 10, 2008, 4:13 PM
from IP address 75.16.96.67

Respond to this message   

Return to Index


is there a way to lower your status?

by mennonite (no login)

technically galleon might not have added you as an admin.

i understand that you just wanted to set it up, and it might not even let you lower your status, but if i set it up for someone else (galleon) i'd lower my status if i could. it's none of my business either, but if no one else says it, i will.

Posted on Jun 10, 2008, 4:20 PM
from IP address 193.200.150.45

Respond to this message   

Return to Index


OMG we agree on something!

by (Login burger2227)
R

I think that it was presumptuous to even USE the QB64 name.

And I don't think that QB can stop himself from twiddling with stuff!

I have seen enough of his twiddling here already.......

Ted

Posted on Jun 10, 2008, 4:27 PM
from IP address 71.60.226.47

Respond to this message   

Return to Index


we only agree partially

by mennonite (no login)

i'm glad qbguy set it up, although it would have been better to consult galleon first.

now that it's set up, as galleon says, it's about making the most of the fact that it's already been registered. i asked qbguy a question, but i didn't want it to be a sort of "let's gang up on qbguy" kind of thing. not that i think your post was unreasonable altogether. i do think that qbguy's "twiddling" is usually a good thing.

Posted on Jun 10, 2008, 4:42 PM
from IP address 193.200.150.45

Respond to this message   

Return to Index


I tried that but it doesn't let me lower the status

by qbguy (no login)

"Project administrators are not permitted to remove their own admin status. Please have another administrator on your project remove your admin status."

So Galleon has to lower the status and set permissions however he wants.


Posted on Jun 10, 2008, 4:40 PM
from IP address 75.16.96.67

Respond to this message   

Return to Index


Bummer... BTW, he might even remove you from the project completely.

by rpgfan3233 (Login rpgfan3233)
R

After all, it is basically his project... If we have input, we can always post here, right?

Posted on Jun 10, 2008, 4:47 PM
from IP address 12.208.120.144

Respond to this message   

Return to Index


i think it's good that qbguy has a place to post code there

by mennonite (no login)

same for anyone else that has as much to modify related to qb64 as he did.

but i'm sure he can do that whether he's actually a mod/admin or not.

Posted on Jun 10, 2008, 4:52 PM
from IP address 193.200.150.45

Respond to this message   

Return to Index


* No problem with that. You know what I meant!

by (Login burger2227)
R



    
This message has been edited by burger2227 from IP address 71.60.226.47 on Jun 10, 2008 5:11 PM

Posted on Jun 10, 2008, 5:07 PM
from IP address 71.60.226.47

Respond to this message   

Return to Index


* Naw, QB will be fine. Galleon's pretty cool!

by (Login burger2227)
R



    
This message has been edited by burger2227 from IP address 71.60.226.47 on Jun 10, 2008 5:12 PM

Posted on Jun 10, 2008, 5:10 PM
from IP address 71.60.226.47

Respond to this message   

Return to Index


qbx.cpp linux incompatibilities

by qbguy (no login)

(1) Linux is case sensitive

#include "MSBIN.C" instead of #include "msbin.c"

(2) Ubuntu has no direct.h

(3) __int8, __int16, etc. don't work on Ubuntu with g++

(4) Forward slashes -- not backslashes:
#include "../temp/userdata.txt"
NOT
#include "..\temp\userdata.txt"
:::::::::
#include "../temp/regsf.txt"
#include "../temp/global.txt"
NOT
#include "..\temp\regsf.txt"
#include "..\temp\global.txt"
:::::::::
#include "../temp/maindata.txt"
#include "../temp/mainerr.txt"
#include "../temp/main.txt"
NOT
#include "..\temp\maindata.txt"
#include "..\temp\mainerr.txt"
#include "..\temp\main.txt"

More info (changed I tried to make to get it to compile, errors I got compiling with the changed version):
http://www.network54.com/Forum/190883/message/1213017979/

Posted on Jun 9, 2008, 6:26 AM
from IP address 75.16.96.67

Respond to this message   

Return to Index


qbasic only needed dos, i hope he aims lower than just ubloatu

by mennonite (no login)

i certainly agree ubuntu would be a good place to start, however.

Posted on Jun 9, 2008, 8:06 AM
from IP address 91.121.26.150

Respond to this message   

Return to Index


Nice work.

by rpgfan3233 (Login rpgfan3233)
R

You can fix the __int8, __int16 bits to be cross-platform by changing them to int8_t, int16_t, etc. and #include <stdint.h> because gcc is a C99-compliant compiler for the most part. With my version of gcc on Windows (MinGW-3.4.5), int8_t and others are simply typedefs for the built-in types that are x86-specific. That is, int8_t = signed char, int16_t = signed short, int32_t = int, int64_t = long long. The only problem with using this in C++ is the fact that C++ doesn't do long long yet.

Of course, if you're using a somewhat recent version of gcc (probably 4.1 or newer) with the g++ frontend, you probably have the <cstdint> header, in which case you should use that instead of <stdint.h> and std::int8_t, std::int16_t, etc. instead of the unqualified names. In the case of qbx.cpp, you don't need the fully-qualified names because of the "using namespace std;" near the top.

For the errors like MB_OK not being declared, that's cuz of the fact that Windows programming is used. I doubt it would be terribly difficult to fix for Linux.

For the <direct.h> bits, remove the leading underscore from _chdir, _mkdir and _rmdir and try this instead of <direct.h>:
#if defined(_MSC_VER) || defined(__MINGW_H) || defined(_WINDOWS_H)
#include <direct.h>
#else
#include <unistd.h>
#endif

With Visual C++/Visual Studio, you'd probably get a problem with the lack of underscores being compatibility issues, but they're safe to ignore.

I can't help with the rest, but for now, that should help a bit...

------------------
Waiting patiently for Windows 7, XHTML 2.0, CSS 3.0, PHP 6.0, the ratification of C++0x, and the day that I can code without logic troubles.

Posted on Jun 9, 2008, 9:05 AM
from IP address 12.208.120.144

Respond to this message   

Return to Index


*thanks qbg/rpg, this is exciting

by mennonite (no login)

Posted on Jun 9, 2008, 10:46 AM
from IP address 80.135.249.176

Respond to this message   

Return to Index


I created a sourceforge account for QB64 and posted the updated code there

by qbguy (no login)

https://sourceforge.net/projects/qb64/

Now Galleon can create a sourceforge account and I can add him to the project and make him admin. Anyone else who wants to submit code can also create an account and Galleon can add them to the project so they can submit code using sourceforge rather than having to post the potentially large patches here (qbx.cpp is currently half a megabyte long).

The new qbx.cpp has these changes, allowing for increased Linux compatibility while still allowing it to compile with mingw on Windows (it still has some windows specific code)

(1) direct.h ==> unistd.h

(2) __int8 ==> int8_t

(3) backslashes in paths ==> forward slashes

(4) msbin.c ==> MSBIN.C

(5) indented the code

Posted on Jun 9, 2008, 6:59 PM
from IP address 75.16.96.67

Respond to this message   

Return to Index


I see you replaced <dirent.h> with <unistd.h>. My thoughts...

by rpgfan3233 (Login rpgfan3233)
R

Unfortunately, <unistd.h> isn't in qb64's include folder like it is in my MinGW include folder or my /usr/include directory in Cygwin, so that doesn't quite work for Windows (it basically breaks things). <unistd.h> is a Linux-specific header, just like <dirent.h> on Windows, hence the preprocessor hack.

I think I'll look more into the Linux compatibility of qbx.cpp sometime before the weekend.

I hope this is okay with Galleon... Changing his code like this. After all, he has his reasons for certain things, I'm sure...

------------------
Waiting patiently for Windows 7, XHTML 2.0, CSS 3.0, PHP 6.0, the ratification of C++0x, and the day that I can code without logic troubles.

Posted on Jun 9, 2008, 7:41 PM
from IP address 12.208.120.144

Respond to this message   

Return to Index


I didn't notice unistd.h was missing

by qbguy (no login)

I tried compiling with compile.exe on Windows and it worked, but I didn't realize it was using the header files from my installation of MingW. I can put in the preprocessor hack so that it works for people without MingW installed who only have the c++ compiler included with qb64 or for people who want to compile it with Visual C++. Maybe unistd.h was one of the files Galleon had cut out to save space?

The only changes in the qbx.cpp are indentation, forward slash instead of backslash, use of int8_t instead of __int8, and other things so that it uses less Windows specific code. None of the changes affect QBASIC compatiblility in any way.

https://sourceforge.net/projects/qb64

Posted on Jun 10, 2008, 6:24 AM
from IP address 75.16.96.67

Respond to this message   

Return to Index


QB64.NET BUG: front page is not valid HTML

by qbguy (no login)

The page uses HTML 4.01 strict, but the text is not wrapped in p tags. Here is my valid HTML 4.01 version which uses paragraphs instead of brs:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>QB64 Homepage</title>
</head>
<body>
<p>Welcome to the Official QB64 Website!<br>(This site is under construction)</p>
<p>For <span style="text-decoration: underline;">downloads</span>, <span style="text-decoration: underline;">samples</span> and <span style="text-decoration: underline;">bug/incompatibility reports</span> goto the dedicated QB64 forum:<br><a href="http://www.qb64.net/forum">QB64 Forum</a></p>
<p>For <span style="text-decoration: underline;">general discussion</span> goto the QB64 sub-forum of the QBASIC community:<br><a href="http://www.network54.com/Forum/585676/">QB64 Community Forum</a></p><p><span style="text-decoration: underline;">Screenshots</span>:<br><a href="http://www.qb64.net/screenshots/thumbnails.php?album=1">QB64 Screenshots</a></p></body></html>

I also made an valid XHTML 1.0 Strict version:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
<title>QB64 Homepage</title>
<style type="text/css">
/*<![CDATA[*/
em {text-decoration: underline;}
/*]]>*/
</style>
</head>
<body>
<p>Welcome to the Official QB64 Website!<br />
(This site is under construction)</p>
<p>For <em>downloads</em>, <em class="u">samples</em> and <em>bug/incompatibility reports</em> goto the dedicated QB64 forum:<br />
<a href="http://www.qb64.net/forum">QB64 Forum</a></p>
<p>For <em>general discussion</em> goto the QB64 sub-forum of the QBASIC community:<br />
<a href="http://www.network54.com/Forum/585676/">QB64 Community Forum</a></p>
<p><em>Screenshots</em>:<br />
<a href="http://www.qb64.net/screenshots/thumbnails.php?album=1">QB64 Screenshots</a></p>
</body>
</html>

I also noticed that you are using a Linux server (because the URLs are case-sensitive), but your main page has the filename index.htm rather than index.html Are you editing the HTML code on windows using an editor limited to DOS 8.3 filenames and then uploading the files back using FTP?

Posted on Jun 8, 2008, 9:44 AM
from IP address 75.16.96.67

Respond to this message   

Return to Index


* OMG! Would you care to redo it for him?

by (Login burger2227)
R

Posted on Jun 8, 2008, 1:57 PM
from IP address 71.60.226.47

Respond to this message   

Return to Index


*I think he did...

by (Login PhyloGenesis)
R

*

Posted on Jun 8, 2008, 3:05 PM
from IP address 71.102.246.240

Respond to this message   

Return to Index


where i come from, filenames have three byte extensions

by mennonite (no login)

and dogs look like sabertooth tigers!

but even though linux allows longer filenames, you stlil have to type them. i_mean_this_is_good.but i still use .htm ... it's not as if someone ever says "hmm, htm... i wonder if that's short for html."

i use "jpg" too.

maybe it will be more useful when there are more common files, but i still like .flv better than .flav. imagine if every time you opened a video from youtube, all you could think of was YYYEEEEEEEEEEAHHH BOYYYYYYYYYEEEEEEE!

Posted on Jun 8, 2008, 3:21 PM
from IP address 85.195.123.24

Respond to this message   

Return to Index


* Actually, what's weird is that I use .html but I also use .jpg

by qbguy (no login)

Posted on Jun 8, 2008, 3:42 PM
from IP address 75.16.96.67

Respond to this message   

Return to Index


* I use .jpg (JPEG) too, but I would use .jp2 (JPEG 2000) if I could...

by rpgfan3233 (Login rpgfan3233)
R



------------------
Waiting patiently for Windows 7, XHTML 2.0, CSS 3.0, PHP 6.0, the ratification of C++0x, and the day that I can code without logic troubles.

Posted on Jun 8, 2008, 5:34 PM
from IP address 12.208.120.144

Respond to this message   

Return to Index


*That HTMLcode was auto-generated, if the software's wrong, I'll find something else.

by (no login)

Posted on Jun 8, 2008, 4:13 PM
from IP address 58.106.209.151

Respond to this message   

Return to Index


* If you can, you might consider capturing the code and using HTML Tidy on it...

by rpgfan3233 (Login rpgfan3233)
R



------------------
Waiting patiently for Windows 7, XHTML 2.0, CSS 3.0, PHP 6.0, the ratification of C++0x, and the day that I can code without logic troubles.

Posted on Jun 8, 2008, 5:38 PM
from IP address 12.208.120.144

Respond to this message   

Return to Index


* The site is under construction so it doesn't matter. Very few sites are valid anyway.

by XO-XD (Hasn't been around) (no login)

>.<

Posted on Jun 8, 2008, 6:31 PM
from IP address 4.246.0.85

Respond to this message   

Return to Index


html validation... hey, remember new math?

by mennonite (no login)

i understand the ideas behind validation. honestly though, there's an old saying, the more laws you make, the more lawbreakers you'll have. i know what you're thinking, but mennonite, how will people be able to communicate without standards on the internet? well i agree with you, but first things first! let's create strict plaintext, so we can bitch about how windows notepad isn't compliant.

before xhtml, sites weren't valid, but you could at least make them compatible. now only a few sites are valid, and no one cares. but the good news is that now the internet has its own version of "hey, your fly is open!" "what? oh, you *******!" yeah, Hey Galleon! Your HTML's invalid! (Made you look!)

Posted on Jun 8, 2008, 7:13 PM
from IP address 85.195.119.14

Respond to this message   

Return to Index


You mean Unix vs DOS newlines?

by qbguy (no login)

RFC 2822 (http://www.rfc-ref.org/RFC-TEXTS/2822/chapter2.html):

A line is a series of characters that is delimited with the two characters carriage-return and line-feed; that is, the carriage return (CR) character (ASCII value 13) followed immediately by the line feed (LF) character (ASCII value 10). (The carriage-return/line-feed pair is usually written in this document as "CRLF".)

So one might argue that CR-LF is the "internet standard newline" and that Linux programs that output plain LF as a newline are disobeying the "text standard"

But yeah, it is very annoying that notepad can't display text files which use plain LF as the line EOL character.

Posted on Jun 8, 2008, 8:03 PM
from IP address 75.16.96.67

Respond to this message   

Return to Index


all i know is the world would be a simple place if it was lf everywhere

by mennonite (no login)

kind of like <br> before you needed to put a / in everything. sometimes, things are simple for a reason, and other times, they're complicated for a reason, but the worst is when they're either one or the other, just for the sake of being one or the other.

all the arguments for standardizing html apply to plaintext. you think we'll ever say "hey, your txt file isn't standards compliant!" maybe we'll just abandon plaintext. i mean it's old, it's not standard, and there's odt, which has font support and unlike html, it's really standard. i just can't bring myself to tell michael hart that he built his library without any standards compliance. hey, michael, your fly is open.

Posted on Jun 8, 2008, 8:20 PM
from IP address 193.200.150.167

Respond to this message   

Return to Index


*OK, I give up.....Why does this topic have to be in QB64?

by (Login burger2227)
R

Clutter..............

Posted on Jun 8, 2008, 8:44 PM
from IP address 71.60.226.47

Respond to this message   

Return to Index


* It is more of a "Hey, look at this awesome validation tool I found!" topic. :-P

by XO-XD (no login)

Posted on Jun 8, 2008, 11:43 PM
from IP address 4.246.0.85

Respond to this message   

Return to Index


because it's almost about the qb64 website

by mennonite (no login)