<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://f256wiki.wildbitscomputing.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=201.137.113.251</id>
	<title>Foenix F256 / Wildbits/K2 Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://f256wiki.wildbitscomputing.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=201.137.113.251"/>
	<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Special:Contributions/201.137.113.251"/>
	<updated>2026-05-30T23:02:53Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=433</id>
		<title>SuperBASIC</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=433"/>
		<updated>2024-07-13T01:19:48Z</updated>

		<summary type="html">&lt;p&gt;201.137.113.251: /* Keyboard shortcuts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SuperBASIC is inspired by BBC BASIC but offers quite a bit more.&lt;br /&gt;
* [https://github.com/FoenixRetro/f256-superbasic/blob/main/reference/source/f256jr_basic_ref.pdf SuperBASIC Reference Manual].&lt;br /&gt;
* [[SuperBASIC Memory Map]]&lt;br /&gt;
* Watch EMWhite&#039;s excellent intro series on YouTube: [https://www.youtube.com/playlist?list=PLeHjTvk7NPiSqGz4REMH-S4hjYpLS2YNR Full Playlist].&lt;br /&gt;
&lt;br /&gt;
=== An informal list of tips, &amp;quot;gotchas&amp;quot;: ===&lt;br /&gt;
&lt;br /&gt;
===== IF, THEN, ELSE =====&lt;br /&gt;
&lt;br /&gt;
====== Source of this tip: Ernesto ======&lt;br /&gt;
* A regular &amp;lt;code&amp;gt;if then&amp;lt;/code&amp;gt; condition can&#039;t contain an &amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; statement, as in this example: &lt;br /&gt;
&amp;lt;code&amp;gt;10 if a=0 then x=10&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you need to do an  &amp;lt;code&amp;gt;if then else&amp;lt;/code&amp;gt; structure,  you actually have to do an &amp;lt;code&amp;gt;if else endif&amp;lt;/code&amp;gt; structure like in the following example,  skipping the &amp;lt;code&amp;gt;then&amp;lt;/code&amp;gt; statement. &lt;br /&gt;
&amp;lt;code&amp;gt;10 if a=0&amp;lt;br /&amp;gt;&lt;br /&gt;
20     x=1&amp;lt;br /&amp;gt;&lt;br /&gt;
30     else&amp;lt;br /&amp;gt;&lt;br /&gt;
40     x=2&amp;lt;br /&amp;gt;&lt;br /&gt;
50 endif&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you do it in one line it needs to have some colons added, making it look weird like this: &lt;br /&gt;
&amp;lt;code&amp;gt;10 if a=0:x=1:else:x=2:endif&amp;lt;/code&amp;gt;&lt;br /&gt;
* if you dare to omit the &amp;lt;code&amp;gt;endif&amp;lt;/code&amp;gt;  thinking that the &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; statement won&#039;t need it, (mmm.., everything is in one line, so no need, right?) -Nope...all hell breaks loose!- &lt;br /&gt;
&amp;lt;code&amp;gt;10 if a=0:x=1:else:x=2: REM &amp;quot;&amp;lt;-- Error, omited the endif&amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
* be careful not to add an extra  &amp;lt;code&amp;gt;then&amp;lt;/code&amp;gt; statement by mistake to an &amp;lt;code&amp;gt;if else endif&amp;lt;/code&amp;gt; structure, if you do -All hell breaks loose again!!- &lt;br /&gt;
&amp;lt;code&amp;gt;10 if a=0 then  : rem &amp;quot;&amp;lt;-- Error, THEN is not needed!!!&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
20     x=1 &amp;lt;br /&amp;gt;&lt;br /&gt;
30     else &amp;lt;br /&amp;gt;&lt;br /&gt;
40     x=2 &amp;lt;br /&amp;gt;&lt;br /&gt;
50 endif&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Debugging hint: If you encounter an error like &amp;quot;open structure&amp;quot; or &amp;quot;endproc without a proc&amp;quot;: do not trust the line number that you are given. The root of the problem is probably in a structure earlier on in the code.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Evaluating multiple conditions in IF statements =====&lt;br /&gt;
SUPERBASIC doesn&#039;t have the dedicated keywords AND , OR so you have to use the bitwise operators to evaluate multiple conditions, please consider the following examples:&lt;br /&gt;
&lt;br /&gt;
* AND  &amp;lt;code&amp;gt;if (a=1)&amp;amp;(b=2) then c=1&amp;lt;/code&amp;gt;&lt;br /&gt;
* OR   &amp;lt;code&amp;gt;if (a=1)^(b=2) then c=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This should work as long as you use parenthesis in all evaluated expressions (Since parenthesis makes bitwise operators behave like logical operators).&lt;br /&gt;
&lt;br /&gt;
===== Using procedures =====&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;proc&amp;lt;/code&amp;gt; keyword is only valid if it appears after an &amp;lt;code&amp;gt;end&amp;lt;/code&amp;gt; statement.&lt;br /&gt;
* When calling a procedure use the procedure name followed by parenthesis (), even if the procedure has no parameters.&lt;br /&gt;
* Avoid any space between the procedure name and the parenthesis, else it will produce an error.&lt;br /&gt;
&lt;br /&gt;
===== Keyboard shortcuts =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Key combination&lt;br /&gt;
!Effect&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;ctrl-c&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;RUN STOP&amp;lt;/code&amp;gt; on the F256K&lt;br /&gt;
|Stops a listing or a running program&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;ctrl-l&amp;lt;/code&amp;gt;&lt;br /&gt;
|Clears the screen&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;ctrl-a&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CLR/HOME&amp;lt;/code&amp;gt; on the F256K&lt;br /&gt;
|Move cursor to the first character in the current line&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;ctrl-e&amp;lt;/code&amp;gt;&lt;br /&gt;
|Move cursor to the last character in the current line&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;ctrl-i&amp;lt;/code&amp;gt;&lt;br /&gt;
|Move cursor 8 characters to the right &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;ctrl-k&amp;lt;/code&amp;gt;&lt;br /&gt;
|Deletes characters from cursor position to line end&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Behaviour of load and bload =====&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;bload&amp;lt;/code&amp;gt; statement does not print &amp;lt;code&amp;gt;Completed&amp;lt;/code&amp;gt; when loading is successfull whereas &amp;lt;code&amp;gt;load&amp;lt;/code&amp;gt; does.&lt;br /&gt;
* bload can load anywhere on memory not just under the first 64k&lt;br /&gt;
* An exception is that bload can&#039;t load I/O parameters that reside in $C000 - $DFFF&lt;br /&gt;
&lt;br /&gt;
===== Control characters for cursor and colour control =====&lt;br /&gt;
In BASIC the following character codes can be used with &amp;lt;code&amp;gt;print&amp;lt;/code&amp;gt; to control the cursor position and colours on the screen.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Code&lt;br /&gt;
!Effect&lt;br /&gt;
|-&lt;br /&gt;
|chr$(12)&lt;br /&gt;
|Clear screen and set cursor to upper left corner&lt;br /&gt;
|-&lt;br /&gt;
|chr$(16)&lt;br /&gt;
|Cursor up&lt;br /&gt;
|-&lt;br /&gt;
|chr$(14)&lt;br /&gt;
|Cursor down&lt;br /&gt;
|-&lt;br /&gt;
|chr$(2)&lt;br /&gt;
|Cursor left&lt;br /&gt;
|-&lt;br /&gt;
|chr$(6)&lt;br /&gt;
|Cursor right&lt;br /&gt;
|-&lt;br /&gt;
|chr$(1)&lt;br /&gt;
|Set cursor to leftmost position in current line&lt;br /&gt;
|-&lt;br /&gt;
|chr$(5)&lt;br /&gt;
|Set cursor to righmost position in current line&lt;br /&gt;
|-&lt;br /&gt;
|chr$(128) - chr$(143)&lt;br /&gt;
|Set foreground color. Code 128 is black 143 is white. The rest follows the sequence given below&lt;br /&gt;
|-&lt;br /&gt;
|chr$(144) - chr$(159)&lt;br /&gt;
|Set background color. Code 144 is black 159 is white. The rest follows the sequence given below&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Colour code&lt;br /&gt;
!Colour&lt;br /&gt;
!Colour code&lt;br /&gt;
!Colour&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Black&lt;br /&gt;
|8&lt;br /&gt;
|Dark grey&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Grey&lt;br /&gt;
|9&lt;br /&gt;
|Light grey (default foreground)&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Dark blue (default background colour)&lt;br /&gt;
|10&lt;br /&gt;
|Blue&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Green&lt;br /&gt;
|11&lt;br /&gt;
|Light green&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Purple&lt;br /&gt;
|12&lt;br /&gt;
|Light purple&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Brown&lt;br /&gt;
|13&lt;br /&gt;
|Red&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Orange&lt;br /&gt;
|14&lt;br /&gt;
|Yellow&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Light blue&lt;br /&gt;
|15&lt;br /&gt;
|White&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>201.137.113.251</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=432</id>
		<title>SuperBASIC</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=432"/>
		<updated>2024-07-13T01:17:47Z</updated>

		<summary type="html">&lt;p&gt;201.137.113.251: /* Keyboard shortcuts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SuperBASIC is inspired by BBC BASIC but offers quite a bit more.&lt;br /&gt;
* [https://github.com/FoenixRetro/f256-superbasic/blob/main/reference/source/f256jr_basic_ref.pdf SuperBASIC Reference Manual].&lt;br /&gt;
* [[SuperBASIC Memory Map]]&lt;br /&gt;
* Watch EMWhite&#039;s excellent intro series on YouTube: [https://www.youtube.com/playlist?list=PLeHjTvk7NPiSqGz4REMH-S4hjYpLS2YNR Full Playlist].&lt;br /&gt;
&lt;br /&gt;
=== An informal list of tips, &amp;quot;gotchas&amp;quot;: ===&lt;br /&gt;
&lt;br /&gt;
===== IF, THEN, ELSE =====&lt;br /&gt;
&lt;br /&gt;
====== Source of this tip: Ernesto ======&lt;br /&gt;
* A regular &amp;lt;code&amp;gt;if then&amp;lt;/code&amp;gt; condition can&#039;t contain an &amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; statement, as in this example: &lt;br /&gt;
&amp;lt;code&amp;gt;10 if a=0 then x=10&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you need to do an  &amp;lt;code&amp;gt;if then else&amp;lt;/code&amp;gt; structure,  you actually have to do an &amp;lt;code&amp;gt;if else endif&amp;lt;/code&amp;gt; structure like in the following example,  skipping the &amp;lt;code&amp;gt;then&amp;lt;/code&amp;gt; statement. &lt;br /&gt;
&amp;lt;code&amp;gt;10 if a=0&amp;lt;br /&amp;gt;&lt;br /&gt;
20     x=1&amp;lt;br /&amp;gt;&lt;br /&gt;
30     else&amp;lt;br /&amp;gt;&lt;br /&gt;
40     x=2&amp;lt;br /&amp;gt;&lt;br /&gt;
50 endif&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you do it in one line it needs to have some colons added, making it look weird like this: &lt;br /&gt;
&amp;lt;code&amp;gt;10 if a=0:x=1:else:x=2:endif&amp;lt;/code&amp;gt;&lt;br /&gt;
* if you dare to omit the &amp;lt;code&amp;gt;endif&amp;lt;/code&amp;gt;  thinking that the &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; statement won&#039;t need it, (mmm.., everything is in one line, so no need, right?) -Nope...all hell breaks loose!- &lt;br /&gt;
&amp;lt;code&amp;gt;10 if a=0:x=1:else:x=2: REM &amp;quot;&amp;lt;-- Error, omited the endif&amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
* be careful not to add an extra  &amp;lt;code&amp;gt;then&amp;lt;/code&amp;gt; statement by mistake to an &amp;lt;code&amp;gt;if else endif&amp;lt;/code&amp;gt; structure, if you do -All hell breaks loose again!!- &lt;br /&gt;
&amp;lt;code&amp;gt;10 if a=0 then  : rem &amp;quot;&amp;lt;-- Error, THEN is not needed!!!&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
20     x=1 &amp;lt;br /&amp;gt;&lt;br /&gt;
30     else &amp;lt;br /&amp;gt;&lt;br /&gt;
40     x=2 &amp;lt;br /&amp;gt;&lt;br /&gt;
50 endif&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Debugging hint: If you encounter an error like &amp;quot;open structure&amp;quot; or &amp;quot;endproc without a proc&amp;quot;: do not trust the line number that you are given. The root of the problem is probably in a structure earlier on in the code.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Evaluating multiple conditions in IF statements =====&lt;br /&gt;
SUPERBASIC doesn&#039;t have the dedicated keywords AND , OR so you have to use the bitwise operators to evaluate multiple conditions, please consider the following examples:&lt;br /&gt;
&lt;br /&gt;
* AND  &amp;lt;code&amp;gt;if (a=1)&amp;amp;(b=2) then c=1&amp;lt;/code&amp;gt;&lt;br /&gt;
* OR   &amp;lt;code&amp;gt;if (a=1)^(b=2) then c=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This should work as long as you use parenthesis in all evaluated expressions (Since parenthesis makes bitwise operators behave like logical operators).&lt;br /&gt;
&lt;br /&gt;
===== Using procedures =====&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;proc&amp;lt;/code&amp;gt; keyword is only valid if it appears after an &amp;lt;code&amp;gt;end&amp;lt;/code&amp;gt; statement.&lt;br /&gt;
* When calling a procedure use the procedure name followed by parenthesis (), even if the procedure has no parameters.&lt;br /&gt;
* Avoid any space between the procedure name and the parenthesis, else it will produce an error.&lt;br /&gt;
&lt;br /&gt;
===== Keyboard shortcuts =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Key combination&lt;br /&gt;
!Effect&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;ctrl-c&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;RUN STOP&amp;lt;/code&amp;gt; on the F256K&lt;br /&gt;
|Stops a listing or a running program&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;ctrl-l&amp;lt;/code&amp;gt;&lt;br /&gt;
|Clears the screen&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;ctrl-a&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;CLR/HOME&amp;lt;/code&amp;gt; on the F256K&lt;br /&gt;
|Move cursor to the first character in the current line&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;ctrl-e&amp;lt;/code&amp;gt;&lt;br /&gt;
|Move cursor to the last character in the current line&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;ctrl-i&amp;lt;/code&amp;gt;&lt;br /&gt;
|Move cursor 8 characters to the right &lt;br /&gt;
|-&lt;br /&gt;
|ctrl -k&lt;br /&gt;
|Deletes characters from cursor position to line end&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Behaviour of load and bload =====&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;bload&amp;lt;/code&amp;gt; statement does not print &amp;lt;code&amp;gt;Completed&amp;lt;/code&amp;gt; when loading is successfull whereas &amp;lt;code&amp;gt;load&amp;lt;/code&amp;gt; does.&lt;br /&gt;
* bload can load anywhere on memory not just under the first 64k&lt;br /&gt;
* An exception is that bload can&#039;t load I/O parameters that reside in $C000 - $DFFF&lt;br /&gt;
&lt;br /&gt;
===== Control characters for cursor and colour control =====&lt;br /&gt;
In BASIC the following character codes can be used with &amp;lt;code&amp;gt;print&amp;lt;/code&amp;gt; to control the cursor position and colours on the screen.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Code&lt;br /&gt;
!Effect&lt;br /&gt;
|-&lt;br /&gt;
|chr$(12)&lt;br /&gt;
|Clear screen and set cursor to upper left corner&lt;br /&gt;
|-&lt;br /&gt;
|chr$(16)&lt;br /&gt;
|Cursor up&lt;br /&gt;
|-&lt;br /&gt;
|chr$(14)&lt;br /&gt;
|Cursor down&lt;br /&gt;
|-&lt;br /&gt;
|chr$(2)&lt;br /&gt;
|Cursor left&lt;br /&gt;
|-&lt;br /&gt;
|chr$(6)&lt;br /&gt;
|Cursor right&lt;br /&gt;
|-&lt;br /&gt;
|chr$(1)&lt;br /&gt;
|Set cursor to leftmost position in current line&lt;br /&gt;
|-&lt;br /&gt;
|chr$(5)&lt;br /&gt;
|Set cursor to righmost position in current line&lt;br /&gt;
|-&lt;br /&gt;
|chr$(128) - chr$(143)&lt;br /&gt;
|Set foreground color. Code 128 is black 143 is white. The rest follows the sequence given below&lt;br /&gt;
|-&lt;br /&gt;
|chr$(144) - chr$(159)&lt;br /&gt;
|Set background color. Code 144 is black 159 is white. The rest follows the sequence given below&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Colour code&lt;br /&gt;
!Colour&lt;br /&gt;
!Colour code&lt;br /&gt;
!Colour&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Black&lt;br /&gt;
|8&lt;br /&gt;
|Dark grey&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Grey&lt;br /&gt;
|9&lt;br /&gt;
|Light grey (default foreground)&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Dark blue (default background colour)&lt;br /&gt;
|10&lt;br /&gt;
|Blue&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Green&lt;br /&gt;
|11&lt;br /&gt;
|Light green&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Purple&lt;br /&gt;
|12&lt;br /&gt;
|Light purple&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Brown&lt;br /&gt;
|13&lt;br /&gt;
|Red&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Orange&lt;br /&gt;
|14&lt;br /&gt;
|Yellow&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Light blue&lt;br /&gt;
|15&lt;br /&gt;
|White&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>201.137.113.251</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Software_for_6502&amp;diff=431</id>
		<title>Software for 6502</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Software_for_6502&amp;diff=431"/>
		<updated>2024-07-11T23:02:40Z</updated>

		<summary type="html">&lt;p&gt;201.137.113.251: /* Games */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note that when an hex address is given, it&#039;s meant to instruct as to which address to bload or to send (ie foenixmgr python script) the program (ie a .bin file) to before running it.&lt;br /&gt;
&lt;br /&gt;
Many download links are posts in the main [https://discord.gg/9vjUEGgcUS Foenix Retro Systems discord server] which will require you to join in order to get to them.&lt;br /&gt;
&lt;br /&gt;
A [[Getting Started#Demos Archive|Demo Archive]] was put together in September 2023 to get ready to show to youtubers, some of these are linked once more, in this page.  &lt;br /&gt;
&lt;br /&gt;
There&#039;s also the Foenix Marketplace website maintained by EMWhite with its own collection of articles and software http://apps.emwhite.org/foenixmarketplace/.  &lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Program&lt;br /&gt;
!Description&lt;br /&gt;
!Author&lt;br /&gt;
!Notes on running&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|F256-GraphicToolkit&lt;br /&gt;
|Sprite editor, Tilemap editor, Font editor + misc tools&lt;br /&gt;
|econtrerasd&lt;br /&gt;
|basic&lt;br /&gt;
|https://github.com/econtrerasd/F256-GraphicToolkit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Demos ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Program&lt;br /&gt;
!Description&lt;br /&gt;
!Author&lt;br /&gt;
!Notes on running&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|balls&lt;br /&gt;
|Draw a good quantity of multiplexed sprites, fast. Balls bouncing around&lt;br /&gt;
|celton&lt;br /&gt;
|pgz&lt;br /&gt;
|https://github.com/FoenixRetro/demos/blob/main/MultiplexedSprites.md&lt;br /&gt;
|-&lt;br /&gt;
|F256 Mandelbrot&lt;br /&gt;
|Draws Mandelbrot set fast (5 mins) using coprocessor math. Allows to zoom into the set.&lt;br /&gt;
|mgr42&lt;br /&gt;
|uses basic loader&lt;br /&gt;
|https://github.com/rmsk2/F256_Mandelbrot&lt;br /&gt;
|-&lt;br /&gt;
|f256_life&lt;br /&gt;
|An implementation of Conway&#039;s game of life&lt;br /&gt;
|mgr42&lt;br /&gt;
|pgz&lt;br /&gt;
|https://github.com/rmsk2/f256_life&lt;br /&gt;
|-&lt;br /&gt;
|F256ShowCase&lt;br /&gt;
|Shows sliding tiling graphics, moves with joystick&lt;br /&gt;
|eriktier&lt;br /&gt;
|$0000&lt;br /&gt;
|https://github.com/pig-games/F256Showcase&lt;br /&gt;
|-&lt;br /&gt;
|fnxmas23 &lt;br /&gt;
|PSG mod music, scrolling text, sound effects, must see demo!&lt;br /&gt;
|dwsJason and digarok&lt;br /&gt;
|pgz&lt;br /&gt;
|https://discordapp.com/channels/691915291721990194/934618943400837130/1188633998663098398 if you have Dec23 FPGA load or newer&lt;br /&gt;
https://discordapp.com/channels/691915291721990194/934618943400837130/1188633118194794527 if you have an older FPGA load&lt;br /&gt;
|-&lt;br /&gt;
|foenixmas23&lt;br /&gt;
|Xmas 2023 demo with SID music from the classic 1983 C64 xmas demo&lt;br /&gt;
|EMWhite&lt;br /&gt;
|uses basic loader&lt;br /&gt;
|http://apps.emwhite.org/shared-files/815/?foenixmas23.zip&lt;br /&gt;
|-&lt;br /&gt;
|livingworlds&lt;br /&gt;
|Living Worlds, a port of a color cycling by Mark Ferrari, ported here on the F256 by haydenkale&lt;br /&gt;
|haydenkale&lt;br /&gt;
|$0000&lt;br /&gt;
|https://github.com/clandrew/livingworlds/tree/e4532e0d530b76ccb90368fdf5ad10bfa2deeb12&lt;br /&gt;
|-&lt;br /&gt;
|mandel&lt;br /&gt;
|Will draw a mandelbrot set in 3 hours, more useful as a stability test than a useful fractal program&lt;br /&gt;
|Mu0n&lt;br /&gt;
|basic&lt;br /&gt;
|https://github.com/Mu0n/F256KbasicBASICdoodles?tab=readme-ov-file#fractal&lt;br /&gt;
|-&lt;br /&gt;
|wormhole&lt;br /&gt;
|Shows a fast wireframe animation of a wormhole&lt;br /&gt;
|haydenkale&lt;br /&gt;
|pgz or bin at $0000&lt;br /&gt;
|https://github.com/clandrew/wormhole?tab=readme-ov-file&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Games ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Program&lt;br /&gt;
!Description&lt;br /&gt;
!Author&lt;br /&gt;
!Notes on running&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Bombsweeper&lt;br /&gt;
|Bomb sweeper port&lt;br /&gt;
|beethead&lt;br /&gt;
|pgz&lt;br /&gt;
|https://discord.com/channels/691915291721990194/855689509520932885/1196352934083035156&lt;br /&gt;
|-&lt;br /&gt;
|bbombers&lt;br /&gt;
|Boulder Bombers (Alpha-2)  Clone of Canyon Bombers&lt;br /&gt;
|Scott (xDraconian)&lt;br /&gt;
|pgx&lt;br /&gt;
atari joystick&lt;br /&gt;
|https://github.com/scttgs0/BoulderBombers/releases/tag/alpha_2&lt;br /&gt;
|-&lt;br /&gt;
|Cosmic&lt;br /&gt;
|Shoot &#039;em up&lt;br /&gt;
|beethead&lt;br /&gt;
|pgz&lt;br /&gt;
|https://discordapp.com/channels/691915291721990194/1054250238308790342/1175982979537969214&lt;br /&gt;
|-&lt;br /&gt;
|F256 two to the power of eleven&lt;br /&gt;
|Port of the puzzle game of 2048&lt;br /&gt;
|mgr42&lt;br /&gt;
|pgz&lt;br /&gt;
|https://github.com/rmsk2/F256_2048&amp;lt;nowiki/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Jr Wördl&lt;br /&gt;
|port of Wordle&lt;br /&gt;
|AgeAgeEye&lt;br /&gt;
|basic&lt;br /&gt;
|https://github.com/ageageeye/Superbasic-F256Jr-examples&lt;br /&gt;
|-&lt;br /&gt;
|kartdemo&lt;br /&gt;
|Kart racing game&lt;br /&gt;
|SprySloth&lt;br /&gt;
|pgz&lt;br /&gt;
|https://discord.com/channels/691915291721990194/1225217654487253094/1228246780840513556&lt;br /&gt;
|-&lt;br /&gt;
|Maze-Munch&lt;br /&gt;
|Pac-Man clone&lt;br /&gt;
|SprySloth&lt;br /&gt;
|pgz&lt;br /&gt;
|https://github.com/cmassat/Maze-Munch&lt;br /&gt;
|-&lt;br /&gt;
|Ski-Jr&lt;br /&gt;
|Ski game downhill&lt;br /&gt;
|digarok&lt;br /&gt;
|basic&lt;br /&gt;
|https://github.com/digarok/superbasic-traveler/blob/main/ski-jr.bas&lt;br /&gt;
|-&lt;br /&gt;
|Lair of the Lich King&lt;br /&gt;
|Rogue like dungeon crawler. Demo has 3 levels; full has 25+&lt;br /&gt;
|Micah&lt;br /&gt;
| - lkdemo/lk.pgz&lt;br /&gt;
|[https://cdn.discordapp.com/attachments/855689509520932885/1206778663526469632/lk_f256_1.0b19_demo.zip?ex=65dd3f36&amp;amp;is=65caca36&amp;amp;hm=30911e1c516874ce80a4e56bfa847ea933da1f37918eb44ced33dddc9e91197e&amp;amp; 1.0 Beta 19 Demo]&lt;br /&gt;
|-&lt;br /&gt;
|F256-Trek&lt;br /&gt;
|Updated Trek, with modern F256 Graphics&lt;br /&gt;
|econtrerasd&lt;br /&gt;
|basic&lt;br /&gt;
|[https://github.com/econtrerasd/Trek-F256/releases/tag/v1.0 https://github.com/econtrerasd/Trek-F256/releases]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Game Jam #01 - April 6th/7th 2024 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Program&lt;br /&gt;
!Description&lt;br /&gt;
!Author&lt;br /&gt;
!Notes on running&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|15puzzle&lt;br /&gt;
|Number sort puzzle&lt;br /&gt;
|mgr42&lt;br /&gt;
|pgz&lt;br /&gt;
|https://github.com/rmsk2/f256_15puzzle/releases&amp;lt;nowiki/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|frisbee&lt;br /&gt;
|Frisbee throw past sport game&lt;br /&gt;
|dwsJason&lt;br /&gt;
|pgz&lt;br /&gt;
|https://github.com/dwsJason/f256/blob/develop/merlin32/frisbee/frisbee.pgz&lt;br /&gt;
|-&lt;br /&gt;
|Impasse&lt;br /&gt;
|Shoot &#039;em up&lt;br /&gt;
|digarok&lt;br /&gt;
|pgz&lt;br /&gt;
|https://discord.com/channels/691915291721990194/1225481966200029286/1227075699895046235&lt;br /&gt;
|-&lt;br /&gt;
|soccur&lt;br /&gt;
|mutliplayer game of soccer&lt;br /&gt;
|beethead&lt;br /&gt;
|pgz&lt;br /&gt;
|executable:https://discord.com/channels/691915291721990194/1225481966200029286/1226808228948611184&lt;br /&gt;
source code:&lt;br /&gt;
https://discord.com/channels/691915291721990194/1225481966200029286/1226812472069980232&lt;br /&gt;
|-&lt;br /&gt;
|Trek&lt;br /&gt;
|port of classic Star Trek game&lt;br /&gt;
|contrerasd&lt;br /&gt;
|basic&lt;br /&gt;
|https://discord.com/channels/691915291721990194/1225481966200029286/1226727849944289341&lt;br /&gt;
|-&lt;br /&gt;
|Typing Star&lt;br /&gt;
|typing reaction game&lt;br /&gt;
|haydenkale&lt;br /&gt;
|pgz&lt;br /&gt;
|https://github.com/clandrew/typestar&lt;br /&gt;
|-&lt;br /&gt;
|Flight Simulator&lt;br /&gt;
|flying simulator&lt;br /&gt;
|sduensin&lt;br /&gt;
|pgz&lt;br /&gt;
|https://cdn.discordapp.com/attachments/1225481966200029286/1227764847819620454/shotel.pgz&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Music ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Program&lt;br /&gt;
!Description&lt;br /&gt;
!Author&lt;br /&gt;
!Notes on running&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|EdInHisLib&lt;br /&gt;
|SID+OPL3 simultaneously&lt;br /&gt;
|beethead, ported from xantax&lt;br /&gt;
|pgz&lt;br /&gt;
|F256 port: https://discordapp.com/channels/691915291721990194/1054249926521016392/1184413356598231120&lt;br /&gt;
original: &amp;lt;nowiki&amp;gt;https://csdb.dk/release/?id=170898&amp;lt;/nowiki&amp;gt;. Not 100% accurate but close.&lt;br /&gt;
|-&lt;br /&gt;
|jrtracker&lt;br /&gt;
|Tracker based in basic and uses the PSG&lt;br /&gt;
|contrerasd&lt;br /&gt;
|basic&lt;br /&gt;
|https://ptb.discord.com/channels/691915291721990194/1008139105386889346/1188292876984143983&lt;br /&gt;
|-&lt;br /&gt;
|tracker2&lt;br /&gt;
|Same tracker, but using both PSGs&lt;br /&gt;
|contrerasd&lt;br /&gt;
|basic&lt;br /&gt;
|https://discord.com/channels/691915291721990194/975117322836656138/1210809081577865257&lt;br /&gt;
|-&lt;br /&gt;
|modo&lt;br /&gt;
|MOD player using the PSG&lt;br /&gt;
|dwsJason and digarok&lt;br /&gt;
|pgz&lt;br /&gt;
|https://discordapp.com/channels/691915291721990194/855689509520932885/1190723114661859429&lt;br /&gt;
|-&lt;br /&gt;
|piano&lt;br /&gt;
|Plays some PSG notes with the keyboard&lt;br /&gt;
|Mu0n&lt;br /&gt;
|basic&lt;br /&gt;
|https://github.com/Mu0n/F256KbasicBASICdoodles?tab=readme-ov-file#pulse-sound-generator-piano&lt;br /&gt;
|-&lt;br /&gt;
|playvgm&lt;br /&gt;
|plays a headless vgm file with OPL3&lt;br /&gt;
|G33kyAndIKnowIt&lt;br /&gt;
|pgx&lt;br /&gt;
|https://github.com/natebarney/playvgm-f256k&lt;br /&gt;
some example music files can be gotten from this post:&lt;br /&gt;
[https://discord.com/channels/691915291721990194/975117322836656138/1220366429640065074 https://discord.com/channels/6][https://discord.com/channels/691915291721990194/975117322836656138/1220366429640065074 91915291721990194/975117322836656138/1220366429640065074]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) open a normal .vgm into a hex editor &amp;lt;nowiki/&amp;gt;and cut out the header bytes from 0x00 to 0x&amp;lt;nowiki/&amp;gt;FF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) run by first using superbasic&#039;s &#039;&#039;&#039;&#039;&#039;bload&#039;&#039;&#039;&#039;&#039;&amp;lt;nowiki/&amp;gt; &#039;&#039;&#039;&#039;&#039;&amp;quot;yourmusicfile&amp;quot;, $01000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
followed by run&amp;lt;nowiki/&amp;gt;ning&amp;lt;nowiki/&amp;gt; this program with &#039;&#039;&#039;&#039;&#039;/- playvgm.pgx&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Uti&amp;lt;nowiki/&amp;gt;lities ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Program&lt;br /&gt;
!Descrip&amp;lt;nowiki/&amp;gt;tion&lt;br /&gt;
!Author&lt;br /&gt;
!Notes on running&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|wget&amp;lt;nowiki/&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki/&amp;gt;fetches a file from a http address if you have a network connection active&lt;br /&gt;
|gadget&lt;br /&gt;
|&amp;lt;nowiki/&amp;gt;pgz/flash&lt;br /&gt;
|https://github.com/ghackwrench/F256_wget&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|dcopy&lt;br /&gt;
|A tool to copy files from one drive to another or to/from your PC via RS-232 and a nullmodem cable&lt;br /&gt;
|mgr42&lt;br /&gt;
|pgz&lt;br /&gt;
|https://github.com/rmsk2/f256_dcopy&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|fonts&lt;br /&gt;
|A variety of fonts using the standard F256 character set arrangement. Load with the F256 file manager (f/manager), or your own code.&lt;br /&gt;
|Micah&lt;br /&gt;
|(not a program)&lt;br /&gt;
|[https://github.com/WartyMN/Foenix-Fonts/tree/main https://github.com/WartyMN/Foenix-Fonts]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|f/manager&lt;br /&gt;
|A general file utility, launcher, and memory viewing program. Dual-panel file/memory browsers; copy between disks,  between folders on same disk, and from memory to disk and vice versa; delete, rename, and duplicate files; view files as hex or text (with word-wrap); launch applications and known file types; set the RTC clock; search in RAM and flash. Works with internal SD card and IEC devices such as FNX1591 and Commodore 1541. Can be installed in primary flash position ahead of SuperBASIC or DOS, or at a higher location. Can also be run from disk with &amp;quot;- fm.pgz&amp;quot;.&lt;br /&gt;
|Micah&lt;br /&gt;
|pgZ/flash&lt;br /&gt;
|https://github.com/WartyMN/F256-FileManager/releases&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|flashcart&lt;br /&gt;
|Allows to wipe a block of flash or write a program to a flash cart, from this basic program from the F256Jr/K&lt;br /&gt;
|redfool.&lt;br /&gt;
|basic&lt;br /&gt;
|https://github.com/Red-Fool/F256_FlashCart/tree/main&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|basic2text&lt;br /&gt;
|A simple utility for translating Commodore BASIC (all variants) from its native tokenized file format to a text format that can be opened with SuperBASIC. Does not perform any code translation: all adaptation is up to you. &lt;br /&gt;
|Micah&lt;br /&gt;
|pgZ&lt;br /&gt;
|https://github.com/WartyMN/F256-BasText/releases/latest&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|moreorless&lt;br /&gt;
|A text editor for the Foenix 256 line of computers&lt;br /&gt;
|mgr42&lt;br /&gt;
|pgz&lt;br /&gt;
|https://github.com/rmsk2/moreorless/releases/&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sample Code ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Program&lt;br /&gt;
!Description&lt;br /&gt;
!Author&lt;br /&gt;
!Notes on running&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|cc65 example&lt;br /&gt;
|c example code&lt;br /&gt;
|gadget&lt;br /&gt;
|read github&lt;br /&gt;
|https://github.com/ghackwrench/F256_Jr_Kernel_DOS&lt;br /&gt;
|-&lt;br /&gt;
|digarok basic stuff&lt;br /&gt;
|Lots of basic examples&lt;br /&gt;
|digarok&lt;br /&gt;
|read github&lt;br /&gt;
|https://github.com/digarok/superbasic-traveler/tree/main&lt;br /&gt;
|-&lt;br /&gt;
|Mu0n&#039;s F256K basic doodles&lt;br /&gt;
|Some basic examples&lt;br /&gt;
|Mu0n&lt;br /&gt;
|read github&lt;br /&gt;
|https://github.com/Mu0n/F256KbasicBASICdoodles&lt;br /&gt;
|-&lt;br /&gt;
|tcp example&lt;br /&gt;
|connects to a server and gets typed in text echoed back to you&lt;br /&gt;
|gadget&lt;br /&gt;
|$2000&lt;br /&gt;
|https://github.com/ghackwrench/F256_example_tcp&lt;br /&gt;
|-&lt;br /&gt;
|Assembly examples&lt;br /&gt;
|Sample programs for several features of the Foenix F256K and Jr.&lt;br /&gt;
|mgr42&lt;br /&gt;
|read github&lt;br /&gt;
|https://github.com/rmsk2/Hello_Foenix256_Jr/blob/main/testprogs.md&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>201.137.113.251</name></author>
	</entry>
</feed>