Ok, i wasn't going to say anything about this project until it was near to be released, but heck.. i just want to share something ;)
freeBASIC is a 32-bit compiler i've being working on in the last 2 months. FB's syntax is the most compatible possible with QB/PDS/VBDOS. Currently it's only for Windows, but the runtime library is portable (C code compiled with GCC) and all tools (assembler, linker, maker, etc) are from GNU, what means it will be piece-of-cake to recompile for Linux (x86 only tho).
Here are some examples (.BAS), generated code (.ASM) and executables (.EXE) that the compiler can currently parse and create: http://freebasic.bad-logic.com/downloads/freeBASIC_preview.rar (WinRAR is needed to extract).
A CPU with MMX support is needed to run the tests because the gfx lib used to update the screen (TinyPTC) was compiled to use MMX (also for Pentium Pro, but i guess VC++6 didn't gen any opcode incompatible with Pentiums MMX, not sure). Compiler can generate code compatible with 386's too, although the runtime library is currently being compiled for 686 CPUs, for max speed on modern boxes.
The tests include some gfx stuff and a linked-list done with pointers (oh yeah, it has pointers ;).
You can see in some examples it got support for unsigned data types too (and of course floating-point), including the BYTE type. There's support for var-len (up to 2GB) and fixed-len strings, user defined types (incl. unions), dynamic arrays (that can be passed to procs as in qb: "mysub myarray()"), etc, etc..
The GFX tests are using the TinyPTC library coz.. well, there's nothing easier around to use.. of course it's not the fasted alternative, using DX would give much better results and a QB-ish full screen ;), but the compiler still needs function pointers to access DX directly (damn COM interfaces).
freeBASIC will be released when it get to compile itself.. yes, that's right, the compiler was written 100% in QB (VBDOS to be exact, code is already 16k lines long). There are many runtime lib routines to implement, such as for files, console (including PRINT), some string functions and math. In some weeks i may release the version 0.01 for testing, we will see ;)