Difference between revisions of "FreeBASIC"

From RogueBasin
Jump to navigation Jump to search
m (Linking to the FB roguelike tutorial)
 
(9 intermediate revisions by 7 users not shown)
Line 1: Line 1:
== Background ==
== Background ==


FreeBasic is a 32-bit BASIC compiler, with syntax similar to MS-QuickBASIC, that adds new features such as pointers, unsigned data types, inline assembly, object orientation, and many others. The compiler is based on GCC and can use most C libraries.
FreeBASIC is a 32-bit [[BASIC]] dialect and compiler, with syntax similar to Microsoft QuickBASIC (but dramatically modernized), that adds many new features such as pointers, unsigned data types, inline assembly, object orientation, and many others. There is also a mode ("dialect") that is highly compatible with QuickBASIC. FreeBASIC programs can freely link with libraries with a [[C]] API.


== Language Characteristics ==
== Language Characteristics ==


FreeBasic has a large number of data types, including pointers, supports both static and dynamic arrays, structured types, enumerations, a robust preprocessor, inline assembly, and has a slimmed down version of classes similiar in style to Delphi's Extended Types. Some of the other features include namspaces, function overloading, unicode support, variable and array initializers.
FreeBASIC has a large number of data types, including pointers, supports both static and dynamic arrays, structured types, enumerations, a robust preprocessor, inline assembly, and has a slimmed down version of classes similar in style to Delphi's Extended Types. Some of the other features include namespaces, function overloading, Unicode support, variable and array initializers.


FreeBasic can create standalone executables, DLL's and libraries. GUI applications can be created using several GUI packages such as GTK and IUP, and by using the Windows API. Debugging support is provided with GDB or Insight.
FreeBASIC can create standalone executables, DLL's and libraries. GUI applications can be created using several GUI packages such as GTK and IUP, and by using the [[Windows]] API. Debugging support is provided with GDB or Insight.


FreeBasic has an extensive built-in graphics library that provides a number of graphic primitives, mutli-buffer screen pages, direct access to the underlying screen pages, 8 to 32-bit color commands, BMP and PNG support, and has libraries that can utilize [[OpenGL]] and DirectX.
FreeBASIC has an extensive built-in graphics library that provides a number of graphic primitives, multi-buffer screen pages, direct access to the underlying screen pages, 8 to 32-bit color commands, BMP support, and OpenGL context creation.


== Portability ==
== Portability ==


FreeBasic has versions for both Windows and Linux.
FreeBASIC has ports to [[Windows]], [[Linux]], [[FreeBSD]], [[DOS]], and the original XBox on 32 bit x86 CPUs. The compiler is written in FreeBASIC, and can compile to either 32-bit x86 assembly or [[C]]. Ports to [[Mac|Mac OS X]] and [[Android]] are in progress.


== FreeBasic Roguelikes ==
== FreeBASIC Roguelikes ==


The following roguelikes have been written in FreeBasic
The following roguelikes have been written in FreeBASIC


* About Time ([[1KBRL]])
* [https://users.freebasic-portal.de/rdc/programs.html#mozTocId804566 Deep Deadly Dungeons]
* [[DoppeRogue]]
* [[Escape From Lab 42]]
* [[Escape From Lab 42]]
* It's Extremely Dark (1KbRL)
* It's Extremely Dark ([[1KBRL]])
* [[Fridge]]
* [[Fridge]]
* [[Pink Ninja]]
* [[Pink Ninja]]
* [[Prospector]]
* [[Prospector]]
* [[Zero-Player Game]]


== Related Links ==
== Related Links ==
 
*[http://freebasic.net/index.php FreeBASIC Homepage]
[http://freebasic.net/index.php FreeBasic Homepage]
*[https://users.freebasic-portal.de/rdc/tutorials.html#mozTocId58846 Let's Build a Roguelike] tutorial by rdc


[[Category:Programming languages]]
[[Category:Programming languages]]

Latest revision as of 14:31, 29 May 2024

Background

FreeBASIC is a 32-bit BASIC dialect and compiler, with syntax similar to Microsoft QuickBASIC (but dramatically modernized), that adds many new features such as pointers, unsigned data types, inline assembly, object orientation, and many others. There is also a mode ("dialect") that is highly compatible with QuickBASIC. FreeBASIC programs can freely link with libraries with a C API.

Language Characteristics

FreeBASIC has a large number of data types, including pointers, supports both static and dynamic arrays, structured types, enumerations, a robust preprocessor, inline assembly, and has a slimmed down version of classes similar in style to Delphi's Extended Types. Some of the other features include namespaces, function overloading, Unicode support, variable and array initializers.

FreeBASIC can create standalone executables, DLL's and libraries. GUI applications can be created using several GUI packages such as GTK and IUP, and by using the Windows API. Debugging support is provided with GDB or Insight.

FreeBASIC has an extensive built-in graphics library that provides a number of graphic primitives, multi-buffer screen pages, direct access to the underlying screen pages, 8 to 32-bit color commands, BMP support, and OpenGL context creation.

Portability

FreeBASIC has ports to Windows, Linux, FreeBSD, DOS, and the original XBox on 32 bit x86 CPUs. The compiler is written in FreeBASIC, and can compile to either 32-bit x86 assembly or C. Ports to Mac OS X and Android are in progress.

FreeBASIC Roguelikes

The following roguelikes have been written in FreeBASIC

Related Links