<?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=217.84.7.147</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=217.84.7.147"/>
	<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Special:Contributions/217.84.7.147"/>
	<updated>2026-04-19T08:40:40Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Firmware&amp;diff=320</id>
		<title>Firmware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Firmware&amp;diff=320"/>
		<updated>2024-04-04T13:54:19Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Foenix F256K and Jr.computers contain 512K of flash ROM which is intended to store software which should be available to the user without any media like SD-cards or IEC drives present. This collection of software can be changed by the user by simply reprogramming the flash ROM. At the moment the following applications are stored in flash as a default &lt;br /&gt;
&lt;br /&gt;
* The Kernel&lt;br /&gt;
* SuperBASIC&lt;br /&gt;
* pexec, a tool to start executables in various formats&lt;br /&gt;
* wget, a tool to download data from webservers (if you have TCP networking enabled)&lt;br /&gt;
* An online help system for SuperBASIC&lt;br /&gt;
* A file manager&lt;br /&gt;
* A simple command shell&lt;br /&gt;
&lt;br /&gt;
and therefore make up the firmware of the Foenix computers.The current version of the F256K and F256Jr. firmware can be downloaded [https://github.com/FoenixRetro/f256-firmware/releases here]. &lt;br /&gt;
&lt;br /&gt;
The link leads to the release page of the [https://github.com/FoenixRetro/f256-firmware Github repo] which is used to prepare the firmware packages. This repo is part the [https://github.com/FoenixRetro FoenixRetro] Github organisation which in turn is an attempt to gather forks of all projects which are part of the firmware and other resources relevant for the Foenix F256 new retro computers.&lt;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Firmware&amp;diff=319</id>
		<title>Firmware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Firmware&amp;diff=319"/>
		<updated>2024-04-04T13:42:26Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Foenix F256K and Jr.computers contain 512K of flash ROM which is intended to store software which should be available to the user without any media like SD-cards or IEC drives present. This collection of software can be changed by the user by simply reprogramming the flash ROM. At the moment the following applications are stored in flash as a default &lt;br /&gt;
&lt;br /&gt;
* The Kernel&lt;br /&gt;
* SuperBASIC&lt;br /&gt;
* pexec&lt;br /&gt;
* wget&lt;br /&gt;
* An online help system for SuperBASIC&lt;br /&gt;
* A file manager&lt;br /&gt;
* A simple command shell&lt;br /&gt;
&lt;br /&gt;
and therefore make up the firmware of the Foenix computers.The current version of the F256K and F256Jr. firmware can be downloaded [https://github.com/FoenixRetro/f256-firmware/releases here]. &lt;br /&gt;
&lt;br /&gt;
The link leads to the release page of the [https://github.com/FoenixRetro/f256-firmware Github repo] which is used to prepare the firmware packages. This repo is part the [https://github.com/FoenixRetro FoenixRetro] Github organisation which in turn is an attempt to gather forks of all projects which are part of the firmware and other resources relevant for the Foenix F256 new retro computers.&lt;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Firmware&amp;diff=318</id>
		<title>Firmware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Firmware&amp;diff=318"/>
		<updated>2024-04-04T13:39:14Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Foenix F256K and Jr.computers contain 512K of flash ROM which is intended to store software which should be available to the user without any media like SD-cards or IEC drives present. This collection of software can be changed by the user by simply reprogramming the flash ROM. At the moment the following applications are stored in flash as a default &lt;br /&gt;
&lt;br /&gt;
* The Kernel&lt;br /&gt;
* SuperBASIC&lt;br /&gt;
* pexec&lt;br /&gt;
* wget&lt;br /&gt;
* An online help system for SuperBASIC&lt;br /&gt;
* A file manager&lt;br /&gt;
* A simple command shell&lt;br /&gt;
&lt;br /&gt;
and therefore make up the firmware of the Foenix computers.The current version of the F256K and F256Jr. firmware can be downloaded [https://github.com/FoenixRetro/f256-firmware/releases here]. &lt;br /&gt;
&lt;br /&gt;
The link leads to the release page of the [https://github.com/FoenixRetro/f256-firmware Github repo] which is used to prepare the firmware packages. This repo is part the [https://github.com/FoenixRetro FoenixRetro] Github organisation which in turn is an attempt to gather forks of all projects which are part of the firmware and other resources relevant for the Foenix new retro computers.&lt;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Software_for_6502&amp;diff=317</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=317"/>
		<updated>2024-04-04T13:20:29Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: &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;
|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;
|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;
|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;
&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;
|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;
&lt;br /&gt;
== Utilities ==&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;
|wget&lt;br /&gt;
|fetches a file from a http address if you have a network connection active&lt;br /&gt;
|gadget&lt;br /&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;
|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;
&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>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Firmware&amp;diff=316</id>
		<title>Firmware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Firmware&amp;diff=316"/>
		<updated>2024-04-04T13:19:15Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The current version of the F256K and F256Jr. firmware can be downloaded [https://github.com/FoenixRetro/f256-firmware/releases here]. &lt;br /&gt;
&lt;br /&gt;
The link leads to the release page of the [https://github.com/FoenixRetro/f256-firmware Github repo] which is used to prepare the firmware packages. This repo is part the [https://github.com/FoenixRetro FoenixRetro] Github organisation which in turn is an attempt to gather forks of all projects which make up the firmware of the F256K and F256Jr. new retro computers.&lt;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Firmware&amp;diff=315</id>
		<title>Firmware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Firmware&amp;diff=315"/>
		<updated>2024-04-04T13:18:10Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The current version of the F256K and F256Jr. firmware can be downloaded [https://github.com/FoenixRetro/f256-firmware/releases here]. &lt;br /&gt;
&lt;br /&gt;
The link leads to the release page of the [https://github.com/FoenixRetro/f256-firmware Github repo] which is used to prepare the firmware packages. This repo is part the [https://github.com/FoenixRetro FoenixRetro] Github organisation which in turn is an attempt to gather forks of all projects which make up the firmware of the F256k and F256Jr. new retro computers.&lt;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Firmware&amp;diff=314</id>
		<title>Firmware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Firmware&amp;diff=314"/>
		<updated>2024-04-04T13:16:45Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: Created page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The current version of the F256K and F256Jr. firmware can be downloaded [https://github.com/FoenixRetro/f256-firmware/releases here]. &lt;br /&gt;
&lt;br /&gt;
The link leads to the release page of the [https://github.com/FoenixRetro/f256-firmware Github repo] which is used to prepare the firmware packages. This repo is part the FoenixRetro Github organisation which in turn is an attempt to gather forks of all projects which make up the firmware of the F256k and F256Jr. new retro computers.&lt;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Getting_Started&amp;diff=292</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Getting_Started&amp;diff=292"/>
		<updated>2024-03-30T13:44:06Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting Powered Up ==&lt;br /&gt;
&lt;br /&gt;
=== Powering your F256K ===&lt;br /&gt;
&lt;br /&gt;
The F256K is powered via a standard 2.5mm DC Connector, which takes a centre-positive 12V 2A capable Power Supply.&lt;br /&gt;
&lt;br /&gt;
This type of power supply is quite common.  [https://www.amazon.com/Adapter-100-240V-Transformer-Charger-Security/dp/B091XSVV1Y Example 12V 2A capable power supply] (#)&lt;br /&gt;
&lt;br /&gt;
(#) &#039;&#039;This specific power supply has not been verified (by the author) for use with the F256K.  Please update this page with verified options!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Powering your F256Jr ===&lt;br /&gt;
&lt;br /&gt;
The F256Jr is supplied as a Mini-ITX form factor mainboard, with a standard 24 pin ATX power supply connector for power connectivity.&lt;br /&gt;
&lt;br /&gt;
Since the F256Jr needs relatively little power, compared to a mini-ATX PC, a popular DC 12V 24pin Pico ATX PSU works well and is a compact solution.&lt;br /&gt;
&lt;br /&gt;
* [https://www.amazon.com/dp/B08F57GKCL Pico PSU] - You power the Pico PSU via a 12V DC center-positive Power Supply source.&lt;br /&gt;
* [https://www.amazon.com/dp/B07MXXXBV8 12V DC center-positive A/C Adapter] - Commonly used to power the Pico PSU.&lt;br /&gt;
The board itself has no power switch. If you do not have a Mini-ITX case, a pin header on the board can be bridged by a jumper and thereby used instead of a proper power switch as a stop gap solution. In this picture https://wiki.c256foenix.com/images/6/64/Pinout_Jr_December_7th_Trans.png  the pin header in question is shown in the lower right and is labeled with &#039;&#039;PW ON SPST Switch&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Getting programs onto the F256 ==&lt;br /&gt;
&lt;br /&gt;
=== SD Card === &lt;br /&gt;
&lt;br /&gt;
Both the F256K and F256JR have an SD card slot.  The device software to read the SD card is a bit touchy (it&#039;s inherited from the Commander X16 project) and doesn&#039;t work with all SD cards&lt;br /&gt;
&lt;br /&gt;
* Cards should support the V2 protocol (HC or XC); older cards that only support the V1 protocol (typically 2GB or less) won&#039;t work. By contrast, the kernels for the C256 machines generally only work with V1 cards.  Note that, in both cases, this is a software limitation -- all of the Foenix machines are electrically capable of using both kinds of cards.&lt;br /&gt;
* Cards *MUST* be formatted FAT32 -- **NOT: FAT, FAT12, FAT16, or exFAT**.   &lt;br /&gt;
* Formatting with Windows 10/11 works fine, but make sure to force FAT32 (or use the command line: &amp;lt;code&amp;gt;format /FS:FAT32 H:&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Formatting with MacOS will only work using the &amp;lt;code&amp;gt;diskutil&amp;lt;/code&amp;gt; command line utility. An example usage looks like this: &amp;lt;code&amp;gt;sudo diskutil eraseDisk FAT32 [DiskName] MBRFormat /dev/[DiskNumber]&amp;lt;/code&amp;gt;.  You can use &amp;lt;code&amp;gt;diskutil list&amp;lt;/code&amp;gt; to get the disk number for the SD Card.&lt;br /&gt;
* Formatting and partitioning SD cards with Linux can be done using the &amp;lt;code&amp;gt;gnome-disk-utility&amp;lt;/code&amp;gt; (known simply as &amp;lt;u&amp;gt;Disks&amp;lt;/u&amp;gt;) and is installed on most mainstream distributions of Linux. &amp;lt;u&amp;gt;Disks&amp;lt;/u&amp;gt; will access all the drives on the computer so be sure you have the SD card selected when editing. [https://wiki.gnome.org/Apps/Disks Gnome/Disks wiki]&lt;br /&gt;
* FAT32 only supports a maximum partition size of 32Gb, on larger cards you will need to create multiple partitions -- however, only the first is recognized by DOS.&lt;br /&gt;
* Some folks have had luck formatting cards with the [https://www.sdcard.org/downloads/formatter/sd-memory-card-formatter-for-windows-download/ Official SD Association formatter for Windows].&lt;br /&gt;
&lt;br /&gt;
=== Demos Archive ===&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/FoenixRetro/Documentation/blob/main/f256/archive Download the most recent demos archive] and expand it to the root of the flash card.&lt;br /&gt;
&lt;br /&gt;
=== Debug USB port ===&lt;br /&gt;
&lt;br /&gt;
* This is what most developers use as it&#039;s the most convenient.  Connect the debug USB port to your PC or Mac&lt;br /&gt;
&lt;br /&gt;
* You can use:&lt;br /&gt;
** [https://github.com/pweingar/FoenixMgr FoenixMgr] - works on Windows, Mac, Linux&lt;br /&gt;
*** A Python script to manage the Foenix series of retro style computers through their USB debug ports. This tool allows uploading files of various formats to system RAM, and displaying memory through various means.&lt;br /&gt;
&lt;br /&gt;
** [https://github.com/Trinity-11/FoenixIDE FoenixIDE] (Windows only)&lt;br /&gt;
*** Development and Debugging Suite for the C256 Foenix Family of Computers.&lt;br /&gt;
&lt;br /&gt;
=== wget ===&lt;br /&gt;
If you have the [[wifi]] configured, you can use [https://github.com/ghackwrench/F256_wget wget] to pull programs and data right off the web!&lt;br /&gt;
&lt;br /&gt;
== SuperBASIC ==&lt;br /&gt;
&lt;br /&gt;
The machine boots to SuperBASIC.  SuperBASIC is inspired by BBC BASIC but offers quite a bit more.&lt;br /&gt;
&lt;br /&gt;
* Read the [https://github.com/FoenixRetro/f256-superbasic/blob/main/reference/source/f256jr_basic_ref.pdf SuperBASIC Reference Manual].&lt;br /&gt;
&lt;br /&gt;
* Watch EMWhite&#039;s excellent intro series on Youtube:&lt;br /&gt;
** Full Playlist here: [https://www.youtube.com/playlist?list=PLeHjTvk7NPiSqGz4REMH-S4hjYpLS2YNR EMWhite&#039;s Intro Series - Full Playlist].&lt;br /&gt;
** Part 1 can be viewed here:&lt;br /&gt;
&amp;lt;youtube&amp;gt;G_S2c_MsqYA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get started, you can type in a sample program at the command prompt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10 for i=1 to 5&lt;br /&gt;
20 print &amp;quot;Hello world&amp;quot;&lt;br /&gt;
30 next&lt;br /&gt;
run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SuperBASIC is similar to CBM (Microsoft) BASIC but has some differences.  For example, note in the sample above it&#039;s just &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; not &amp;lt;code&amp;gt;next i&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The first 15 or so pages of the [https://github.com/FoenixRetro/f256-superbasic/blob/main/reference/source/f256jr_basic_ref.pdf SuperBASIC Reference Manual] are quite instructive.  &lt;br /&gt;
&lt;br /&gt;
SuperBASIC is actually much more powerful and supports structured programming (procedures, blocks etc.) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt; - Run this to display directory of SD card&lt;br /&gt;
&lt;br /&gt;
Loading &amp;amp; running programs off of the SD card is similarly easy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
load &amp;quot;JrWordl.bas&amp;quot;&lt;br /&gt;
run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similar to the C64, you can save time in loading programs from the &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt; listing by using your cursor keys to go up to the entry, typing &amp;lt;code&amp;gt;load &amp;quot;&amp;lt;/code&amp;gt; (insert mode is active by default) etc.  You can use &amp;lt;code&amp;gt;CTRL+E&amp;lt;/code&amp;gt; to jump to the end of the line and use &amp;lt;code&amp;gt;CTRL+K&amp;lt;/code&amp;gt; to delete any text from the cursor to the end of the line.  Correctly place the closing &amp;lt;code&amp;gt;&amp;quot;&amp;lt;/code&amp;gt; and hit &amp;lt;code&amp;gt;ENTER&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CTRL+C&amp;lt;/code&amp;gt; acts as a &amp;quot;break&amp;quot; command and stops any running SuperBASIC program or &amp;lt;code&amp;gt;LIST&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
Read built-in help/reference:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/help&amp;lt;/code&amp;gt; : But &#039;&#039;&#039;NOTE&#039;&#039;&#039;, this erases BASIC memory!  Use Backspace key to go back in menus and to exit.&lt;br /&gt;
&lt;br /&gt;
Explore the included demo SuperBASIC programs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Program !! Notes !! Source&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;JrWordl.bas&amp;lt;/code&amp;gt; || Wordle game, guess 5 letter word ||&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;mandel.bas&amp;lt;/code&amp;gt; || Draws Mandlebrot set in graphics mode, takes between 2 and 3 hours || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;rpg-demo.bas&amp;lt;/code&amp;gt; || UI sample that shows Zelda like RPG game.  Control the character with an Atari-joystick connected to JoyPort1 || @econtrerasd&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Problematic_Code.bas&amp;lt;/code&amp;gt; || Displays scrolling starfield ||&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;noelrl.bas&amp;lt;/code&amp;gt; || Simple integer BASIC bench mark from Noel&#039;s retro lab.  Completes &amp;lt; 3.5 seconds, compares very favourably to other retro systems! || [https://www.youtube.com/watch?v=H05hM_Guoqk Youtube]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;dance.bas&amp;lt;/code&amp;gt; || Animates sprite of dancer || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;luna.bas&amp;lt;/code&amp;gt; || Displays simple scene ||&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;blink.bas&amp;lt;/code&amp;gt; || Blinks drive access light || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;piano.bas&amp;lt;/code&amp;gt; || Play some notes with the PSG || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Running PGZ Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/- &amp;quot;file.pgz&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== More Resources ===&lt;br /&gt;
=== This Wiki ===&lt;br /&gt;
&lt;br /&gt;
Explore all of the content of this Wiki, to expand your F256 series knowledge!&lt;br /&gt;
&lt;br /&gt;
=== Discord ===&lt;br /&gt;
&lt;br /&gt;
The [https://discord.com/invite/aAEQXZHXgM Foenix Retro Systems Discord] is the primary place to get questions answered.&lt;br /&gt;
&lt;br /&gt;
Also, if you resolve your question, and you didn&#039;t find the answer here on the Wiki, &#039;&#039;&#039;&#039;&#039;please consider contributing to the Wiki&#039;&#039;&#039;&#039;&#039;, for the benefit of others with the same question!&lt;br /&gt;
&lt;br /&gt;
=== Foenix Retro Systems Newletter ===&lt;br /&gt;
&lt;br /&gt;
Read back issues [http://apps.emwhite.org/foenixmarketplace/ here] (also a great source for sample programs).   &lt;br /&gt;
&lt;br /&gt;
Issues starting at #4 cover the F256 line.  Issues 1-3 cover the previous version of the hardware (C256), although there are still many salient points.&lt;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Getting_Started&amp;diff=291</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Getting_Started&amp;diff=291"/>
		<updated>2024-03-30T13:43:36Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: Add info about improvised power switch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting Powered Up ==&lt;br /&gt;
&lt;br /&gt;
=== Powering your F256K ===&lt;br /&gt;
&lt;br /&gt;
The F256K is powered via a standard 2.5mm DC Connector, which takes a centre-positive 12V 2A capable Power Supply.&lt;br /&gt;
&lt;br /&gt;
This type of power supply is quite common.  [https://www.amazon.com/Adapter-100-240V-Transformer-Charger-Security/dp/B091XSVV1Y Example 12V 2A capable power supply] (#)&lt;br /&gt;
&lt;br /&gt;
(#) &#039;&#039;This specific power supply has not been verified (by the author) for use with the F256K.  Please update this page with verified options!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Powering your F256Jr ===&lt;br /&gt;
&lt;br /&gt;
The F256Jr is supplied as a Mini-ITX form factor mainboard, with a standard 24 pin ATX power supply connector for power connectivity.&lt;br /&gt;
&lt;br /&gt;
Since the F256Jr needs relatively little power, compared to a mini-ATX PC, a popular DC 12V 24pin Pico ATX PSU works well and is a compact solution.&lt;br /&gt;
&lt;br /&gt;
* [https://www.amazon.com/dp/B08F57GKCL Pico PSU] - You power the Pico PSU via a 12V DC center-positive Power Supply source.&lt;br /&gt;
* [https://www.amazon.com/dp/B07MXXXBV8 12V DC center-positive A/C Adapter] - Commonly used to power the Pico PSU.&lt;br /&gt;
The board itself has no power switch. If you do not have a Mini-ITX case, a pin header on the board can bridged by a jumper and thereby used instead of a proper power switch as a stop gap solution. In this picture https://wiki.c256foenix.com/images/6/64/Pinout_Jr_December_7th_Trans.png  the pin header in question is shown in the lower right and is labeled with &#039;&#039;PW ON SPST Switch&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Getting programs onto the F256 ==&lt;br /&gt;
&lt;br /&gt;
=== SD Card === &lt;br /&gt;
&lt;br /&gt;
Both the F256K and F256JR have an SD card slot.  The device software to read the SD card is a bit touchy (it&#039;s inherited from the Commander X16 project) and doesn&#039;t work with all SD cards&lt;br /&gt;
&lt;br /&gt;
* Cards should support the V2 protocol (HC or XC); older cards that only support the V1 protocol (typically 2GB or less) won&#039;t work. By contrast, the kernels for the C256 machines generally only work with V1 cards.  Note that, in both cases, this is a software limitation -- all of the Foenix machines are electrically capable of using both kinds of cards.&lt;br /&gt;
* Cards *MUST* be formatted FAT32 -- **NOT: FAT, FAT12, FAT16, or exFAT**.   &lt;br /&gt;
* Formatting with Windows 10/11 works fine, but make sure to force FAT32 (or use the command line: &amp;lt;code&amp;gt;format /FS:FAT32 H:&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Formatting with MacOS will only work using the &amp;lt;code&amp;gt;diskutil&amp;lt;/code&amp;gt; command line utility. An example usage looks like this: &amp;lt;code&amp;gt;sudo diskutil eraseDisk FAT32 [DiskName] MBRFormat /dev/[DiskNumber]&amp;lt;/code&amp;gt;.  You can use &amp;lt;code&amp;gt;diskutil list&amp;lt;/code&amp;gt; to get the disk number for the SD Card.&lt;br /&gt;
* Formatting and partitioning SD cards with Linux can be done using the &amp;lt;code&amp;gt;gnome-disk-utility&amp;lt;/code&amp;gt; (known simply as &amp;lt;u&amp;gt;Disks&amp;lt;/u&amp;gt;) and is installed on most mainstream distributions of Linux. &amp;lt;u&amp;gt;Disks&amp;lt;/u&amp;gt; will access all the drives on the computer so be sure you have the SD card selected when editing. [https://wiki.gnome.org/Apps/Disks Gnome/Disks wiki]&lt;br /&gt;
* FAT32 only supports a maximum partition size of 32Gb, on larger cards you will need to create multiple partitions -- however, only the first is recognized by DOS.&lt;br /&gt;
* Some folks have had luck formatting cards with the [https://www.sdcard.org/downloads/formatter/sd-memory-card-formatter-for-windows-download/ Official SD Association formatter for Windows].&lt;br /&gt;
&lt;br /&gt;
=== Demos Archive ===&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/FoenixRetro/Documentation/blob/main/f256/archive Download the most recent demos archive] and expand it to the root of the flash card.&lt;br /&gt;
&lt;br /&gt;
=== Debug USB port ===&lt;br /&gt;
&lt;br /&gt;
* This is what most developers use as it&#039;s the most convenient.  Connect the debug USB port to your PC or Mac&lt;br /&gt;
&lt;br /&gt;
* You can use:&lt;br /&gt;
** [https://github.com/pweingar/FoenixMgr FoenixMgr] - works on Windows, Mac, Linux&lt;br /&gt;
*** A Python script to manage the Foenix series of retro style computers through their USB debug ports. This tool allows uploading files of various formats to system RAM, and displaying memory through various means.&lt;br /&gt;
&lt;br /&gt;
** [https://github.com/Trinity-11/FoenixIDE FoenixIDE] (Windows only)&lt;br /&gt;
*** Development and Debugging Suite for the C256 Foenix Family of Computers.&lt;br /&gt;
&lt;br /&gt;
=== wget ===&lt;br /&gt;
If you have the [[wifi]] configured, you can use [https://github.com/ghackwrench/F256_wget wget] to pull programs and data right off the web!&lt;br /&gt;
&lt;br /&gt;
== SuperBASIC ==&lt;br /&gt;
&lt;br /&gt;
The machine boots to SuperBASIC.  SuperBASIC is inspired by BBC BASIC but offers quite a bit more.&lt;br /&gt;
&lt;br /&gt;
* Read the [https://github.com/FoenixRetro/f256-superbasic/blob/main/reference/source/f256jr_basic_ref.pdf SuperBASIC Reference Manual].&lt;br /&gt;
&lt;br /&gt;
* Watch EMWhite&#039;s excellent intro series on Youtube:&lt;br /&gt;
** Full Playlist here: [https://www.youtube.com/playlist?list=PLeHjTvk7NPiSqGz4REMH-S4hjYpLS2YNR EMWhite&#039;s Intro Series - Full Playlist].&lt;br /&gt;
** Part 1 can be viewed here:&lt;br /&gt;
&amp;lt;youtube&amp;gt;G_S2c_MsqYA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get started, you can type in a sample program at the command prompt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10 for i=1 to 5&lt;br /&gt;
20 print &amp;quot;Hello world&amp;quot;&lt;br /&gt;
30 next&lt;br /&gt;
run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SuperBASIC is similar to CBM (Microsoft) BASIC but has some differences.  For example, note in the sample above it&#039;s just &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; not &amp;lt;code&amp;gt;next i&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The first 15 or so pages of the [https://github.com/FoenixRetro/f256-superbasic/blob/main/reference/source/f256jr_basic_ref.pdf SuperBASIC Reference Manual] are quite instructive.  &lt;br /&gt;
&lt;br /&gt;
SuperBASIC is actually much more powerful and supports structured programming (procedures, blocks etc.) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt; - Run this to display directory of SD card&lt;br /&gt;
&lt;br /&gt;
Loading &amp;amp; running programs off of the SD card is similarly easy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
load &amp;quot;JrWordl.bas&amp;quot;&lt;br /&gt;
run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similar to the C64, you can save time in loading programs from the &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt; listing by using your cursor keys to go up to the entry, typing &amp;lt;code&amp;gt;load &amp;quot;&amp;lt;/code&amp;gt; (insert mode is active by default) etc.  You can use &amp;lt;code&amp;gt;CTRL+E&amp;lt;/code&amp;gt; to jump to the end of the line and use &amp;lt;code&amp;gt;CTRL+K&amp;lt;/code&amp;gt; to delete any text from the cursor to the end of the line.  Correctly place the closing &amp;lt;code&amp;gt;&amp;quot;&amp;lt;/code&amp;gt; and hit &amp;lt;code&amp;gt;ENTER&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CTRL+C&amp;lt;/code&amp;gt; acts as a &amp;quot;break&amp;quot; command and stops any running SuperBASIC program or &amp;lt;code&amp;gt;LIST&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
Read built-in help/reference:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/help&amp;lt;/code&amp;gt; : But &#039;&#039;&#039;NOTE&#039;&#039;&#039;, this erases BASIC memory!  Use Backspace key to go back in menus and to exit.&lt;br /&gt;
&lt;br /&gt;
Explore the included demo SuperBASIC programs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Program !! Notes !! Source&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;JrWordl.bas&amp;lt;/code&amp;gt; || Wordle game, guess 5 letter word ||&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;mandel.bas&amp;lt;/code&amp;gt; || Draws Mandlebrot set in graphics mode, takes between 2 and 3 hours || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;rpg-demo.bas&amp;lt;/code&amp;gt; || UI sample that shows Zelda like RPG game.  Control the character with an Atari-joystick connected to JoyPort1 || @econtrerasd&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Problematic_Code.bas&amp;lt;/code&amp;gt; || Displays scrolling starfield ||&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;noelrl.bas&amp;lt;/code&amp;gt; || Simple integer BASIC bench mark from Noel&#039;s retro lab.  Completes &amp;lt; 3.5 seconds, compares very favourably to other retro systems! || [https://www.youtube.com/watch?v=H05hM_Guoqk Youtube]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;dance.bas&amp;lt;/code&amp;gt; || Animates sprite of dancer || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;luna.bas&amp;lt;/code&amp;gt; || Displays simple scene ||&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;blink.bas&amp;lt;/code&amp;gt; || Blinks drive access light || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;piano.bas&amp;lt;/code&amp;gt; || Play some notes with the PSG || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Running PGZ Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/- &amp;quot;file.pgz&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== More Resources ===&lt;br /&gt;
=== This Wiki ===&lt;br /&gt;
&lt;br /&gt;
Explore all of the content of this Wiki, to expand your F256 series knowledge!&lt;br /&gt;
&lt;br /&gt;
=== Discord ===&lt;br /&gt;
&lt;br /&gt;
The [https://discord.com/invite/aAEQXZHXgM Foenix Retro Systems Discord] is the primary place to get questions answered.&lt;br /&gt;
&lt;br /&gt;
Also, if you resolve your question, and you didn&#039;t find the answer here on the Wiki, &#039;&#039;&#039;&#039;&#039;please consider contributing to the Wiki&#039;&#039;&#039;&#039;&#039;, for the benefit of others with the same question!&lt;br /&gt;
&lt;br /&gt;
=== Foenix Retro Systems Newletter ===&lt;br /&gt;
&lt;br /&gt;
Read back issues [http://apps.emwhite.org/foenixmarketplace/ here] (also a great source for sample programs).   &lt;br /&gt;
&lt;br /&gt;
Issues starting at #4 cover the F256 line.  Issues 1-3 cover the previous version of the hardware (C256), although there are still many salient points.&lt;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Getting_Started&amp;diff=290</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Getting_Started&amp;diff=290"/>
		<updated>2024-03-30T13:36:53Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting Powered Up ==&lt;br /&gt;
&lt;br /&gt;
=== Powering your F256K ===&lt;br /&gt;
&lt;br /&gt;
The F256K is powered via a standard 2.5mm DC Connector, which takes a centre-positive 12V 2A capable Power Supply.&lt;br /&gt;
&lt;br /&gt;
This type of power supply is quite common.  [https://www.amazon.com/Adapter-100-240V-Transformer-Charger-Security/dp/B091XSVV1Y Example 12V 2A capable power supply] (#)&lt;br /&gt;
&lt;br /&gt;
(#) &#039;&#039;This specific power supply has not been verified (by the author) for use with the F256K.  Please update this page with verified options!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Powering your F256Jr ===&lt;br /&gt;
&lt;br /&gt;
The F256Jr is supplied as a Mini-ITX form factor mainboard, with a standard 24 pin ATX power supply connector for power connectivity.&lt;br /&gt;
&lt;br /&gt;
Since the F256Jr needs relatively little power, compared to a mini-ATX PC, a popular DC 12V 24pin Pico ATX PSU works well and is a compact solution.&lt;br /&gt;
&lt;br /&gt;
* [https://www.amazon.com/dp/B08F57GKCL Pico PSU] - You power the Pico PSU via a 12V DC center-positive Power Supply source.&lt;br /&gt;
* [https://www.amazon.com/dp/B07MXXXBV8 12V DC center-positive A/C Adapter] - Commonly used to power the Pico PSU.&lt;br /&gt;
The board itself has no power switch. If you do not have a Mini-ITX case a pin header can bridged by a jumper in order to connect the power supply to the board as a stop gap solution. In this picture https://wiki.c256foenix.com/images/6/64/Pinout_Jr_December_7th_Trans.png  the pin header in question is shown in the lower right where it is labeled with &#039;&#039;PW ON SPST Switch&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Getting programs onto the F256 ==&lt;br /&gt;
&lt;br /&gt;
=== SD Card === &lt;br /&gt;
&lt;br /&gt;
Both the F256K and F256JR have an SD card slot.  The device software to read the SD card is a bit touchy (it&#039;s inherited from the Commander X16 project) and doesn&#039;t work with all SD cards&lt;br /&gt;
&lt;br /&gt;
* Cards should support the V2 protocol (HC or XC); older cards that only support the V1 protocol (typically 2GB or less) won&#039;t work. By contrast, the kernels for the C256 machines generally only work with V1 cards.  Note that, in both cases, this is a software limitation -- all of the Foenix machines are electrically capable of using both kinds of cards.&lt;br /&gt;
* Cards *MUST* be formatted FAT32 -- **NOT: FAT, FAT12, FAT16, or exFAT**.   &lt;br /&gt;
* Formatting with Windows 10/11 works fine, but make sure to force FAT32 (or use the command line: &amp;lt;code&amp;gt;format /FS:FAT32 H:&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Formatting with MacOS will only work using the &amp;lt;code&amp;gt;diskutil&amp;lt;/code&amp;gt; command line utility. An example usage looks like this: &amp;lt;code&amp;gt;sudo diskutil eraseDisk FAT32 [DiskName] MBRFormat /dev/[DiskNumber]&amp;lt;/code&amp;gt;.  You can use &amp;lt;code&amp;gt;diskutil list&amp;lt;/code&amp;gt; to get the disk number for the SD Card.&lt;br /&gt;
* Formatting and partitioning SD cards with Linux can be done using the &amp;lt;code&amp;gt;gnome-disk-utility&amp;lt;/code&amp;gt; (known simply as &amp;lt;u&amp;gt;Disks&amp;lt;/u&amp;gt;) and is installed on most mainstream distributions of Linux. &amp;lt;u&amp;gt;Disks&amp;lt;/u&amp;gt; will access all the drives on the computer so be sure you have the SD card selected when editing. [https://wiki.gnome.org/Apps/Disks Gnome/Disks wiki]&lt;br /&gt;
* FAT32 only supports a maximum partition size of 32Gb, on larger cards you will need to create multiple partitions -- however, only the first is recognized by DOS.&lt;br /&gt;
* Some folks have had luck formatting cards with the [https://www.sdcard.org/downloads/formatter/sd-memory-card-formatter-for-windows-download/ Official SD Association formatter for Windows].&lt;br /&gt;
&lt;br /&gt;
=== Demos Archive ===&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/FoenixRetro/Documentation/blob/main/f256/archive Download the most recent demos archive] and expand it to the root of the flash card.&lt;br /&gt;
&lt;br /&gt;
=== Debug USB port ===&lt;br /&gt;
&lt;br /&gt;
* This is what most developers use as it&#039;s the most convenient.  Connect the debug USB port to your PC or Mac&lt;br /&gt;
&lt;br /&gt;
* You can use:&lt;br /&gt;
** [https://github.com/pweingar/FoenixMgr FoenixMgr] - works on Windows, Mac, Linux&lt;br /&gt;
*** A Python script to manage the Foenix series of retro style computers through their USB debug ports. This tool allows uploading files of various formats to system RAM, and displaying memory through various means.&lt;br /&gt;
&lt;br /&gt;
** [https://github.com/Trinity-11/FoenixIDE FoenixIDE] (Windows only)&lt;br /&gt;
*** Development and Debugging Suite for the C256 Foenix Family of Computers.&lt;br /&gt;
&lt;br /&gt;
=== wget ===&lt;br /&gt;
If you have the [[wifi]] configured, you can use [https://github.com/ghackwrench/F256_wget wget] to pull programs and data right off the web!&lt;br /&gt;
&lt;br /&gt;
== SuperBASIC ==&lt;br /&gt;
&lt;br /&gt;
The machine boots to SuperBASIC.  SuperBASIC is inspired by BBC BASIC but offers quite a bit more.&lt;br /&gt;
&lt;br /&gt;
* Read the [https://github.com/FoenixRetro/f256-superbasic/blob/main/reference/source/f256jr_basic_ref.pdf SuperBASIC Reference Manual].&lt;br /&gt;
&lt;br /&gt;
* Watch EMWhite&#039;s excellent intro series on Youtube:&lt;br /&gt;
** Full Playlist here: [https://www.youtube.com/playlist?list=PLeHjTvk7NPiSqGz4REMH-S4hjYpLS2YNR EMWhite&#039;s Intro Series - Full Playlist].&lt;br /&gt;
** Part 1 can be viewed here:&lt;br /&gt;
&amp;lt;youtube&amp;gt;G_S2c_MsqYA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get started, you can type in a sample program at the command prompt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10 for i=1 to 5&lt;br /&gt;
20 print &amp;quot;Hello world&amp;quot;&lt;br /&gt;
30 next&lt;br /&gt;
run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SuperBASIC is similar to CBM (Microsoft) BASIC but has some differences.  For example, note in the sample above it&#039;s just &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; not &amp;lt;code&amp;gt;next i&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The first 15 or so pages of the [https://github.com/FoenixRetro/f256-superbasic/blob/main/reference/source/f256jr_basic_ref.pdf SuperBASIC Reference Manual] are quite instructive.  &lt;br /&gt;
&lt;br /&gt;
SuperBASIC is actually much more powerful and supports structured programming (procedures, blocks etc.) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt; - Run this to display directory of SD card&lt;br /&gt;
&lt;br /&gt;
Loading &amp;amp; running programs off of the SD card is similarly easy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
load &amp;quot;JrWordl.bas&amp;quot;&lt;br /&gt;
run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similar to the C64, you can save time in loading programs from the &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt; listing by using your cursor keys to go up to the entry, typing &amp;lt;code&amp;gt;load &amp;quot;&amp;lt;/code&amp;gt; (insert mode is active by default) etc.  You can use &amp;lt;code&amp;gt;CTRL+E&amp;lt;/code&amp;gt; to jump to the end of the line and use &amp;lt;code&amp;gt;CTRL+K&amp;lt;/code&amp;gt; to delete any text from the cursor to the end of the line.  Correctly place the closing &amp;lt;code&amp;gt;&amp;quot;&amp;lt;/code&amp;gt; and hit &amp;lt;code&amp;gt;ENTER&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CTRL+C&amp;lt;/code&amp;gt; acts as a &amp;quot;break&amp;quot; command and stops any running SuperBASIC program or &amp;lt;code&amp;gt;LIST&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
Read built-in help/reference:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/help&amp;lt;/code&amp;gt; : But &#039;&#039;&#039;NOTE&#039;&#039;&#039;, this erases BASIC memory!  Use Backspace key to go back in menus and to exit.&lt;br /&gt;
&lt;br /&gt;
Explore the included demo SuperBASIC programs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Program !! Notes !! Source&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;JrWordl.bas&amp;lt;/code&amp;gt; || Wordle game, guess 5 letter word ||&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;mandel.bas&amp;lt;/code&amp;gt; || Draws Mandlebrot set in graphics mode, takes between 2 and 3 hours || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;rpg-demo.bas&amp;lt;/code&amp;gt; || UI sample that shows Zelda like RPG game.  Control the character with an Atari-joystick connected to JoyPort1 || @econtrerasd&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Problematic_Code.bas&amp;lt;/code&amp;gt; || Displays scrolling starfield ||&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;noelrl.bas&amp;lt;/code&amp;gt; || Simple integer BASIC bench mark from Noel&#039;s retro lab.  Completes &amp;lt; 3.5 seconds, compares very favourably to other retro systems! || [https://www.youtube.com/watch?v=H05hM_Guoqk Youtube]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;dance.bas&amp;lt;/code&amp;gt; || Animates sprite of dancer || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;luna.bas&amp;lt;/code&amp;gt; || Displays simple scene ||&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;blink.bas&amp;lt;/code&amp;gt; || Blinks drive access light || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;piano.bas&amp;lt;/code&amp;gt; || Play some notes with the PSG || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Running PGZ Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/- &amp;quot;file.pgz&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== More Resources ===&lt;br /&gt;
=== This Wiki ===&lt;br /&gt;
&lt;br /&gt;
Explore all of the content of this Wiki, to expand your F256 series knowledge!&lt;br /&gt;
&lt;br /&gt;
=== Discord ===&lt;br /&gt;
&lt;br /&gt;
The [https://discord.com/invite/aAEQXZHXgM Foenix Retro Systems Discord] is the primary place to get questions answered.&lt;br /&gt;
&lt;br /&gt;
Also, if you resolve your question, and you didn&#039;t find the answer here on the Wiki, &#039;&#039;&#039;&#039;&#039;please consider contributing to the Wiki&#039;&#039;&#039;&#039;&#039;, for the benefit of others with the same question!&lt;br /&gt;
&lt;br /&gt;
=== Foenix Retro Systems Newletter ===&lt;br /&gt;
&lt;br /&gt;
Read back issues [http://apps.emwhite.org/foenixmarketplace/ here] (also a great source for sample programs).   &lt;br /&gt;
&lt;br /&gt;
Issues starting at #4 cover the F256 line.  Issues 1-3 cover the previous version of the hardware (C256), although there are still many salient points.&lt;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Getting_Started&amp;diff=289</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Getting_Started&amp;diff=289"/>
		<updated>2024-03-30T13:34:22Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: Add info about powering the Jr. without a case&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting Powered Up ==&lt;br /&gt;
&lt;br /&gt;
=== Powering your F256K ===&lt;br /&gt;
&lt;br /&gt;
The F256K is powered via a standard 2.5mm DC Connector, which takes a centre-positive 12V 2A capable Power Supply.&lt;br /&gt;
&lt;br /&gt;
This type of power supply is quite common.  [https://www.amazon.com/Adapter-100-240V-Transformer-Charger-Security/dp/B091XSVV1Y Example 12V 2A capable power supply] (#)&lt;br /&gt;
&lt;br /&gt;
(#) &#039;&#039;This specific power supply has not been verified (by the author) for use with the F256K.  Please update this page with verified options!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Powering your F256Jr ===&lt;br /&gt;
&lt;br /&gt;
The F256Jr is supplied as a Mini-ITX form factor mainboard, with a standard 24 pin ATX power supply connector for power connectivity.&lt;br /&gt;
&lt;br /&gt;
Since the F256Jr needs relatively little power, compared to a mini-ATX PC, a popular DC 12V 24pin Pico ATX PSU works well and is a compact solution.&lt;br /&gt;
&lt;br /&gt;
* [https://www.amazon.com/dp/B08F57GKCL Pico PSU] - You power the Pico PSU via a 12V DC center-positive Power Supply source.&lt;br /&gt;
* [https://www.amazon.com/dp/B07MXXXBV8 12V DC center-positive A/C Adapter] - Commonly used to power the Pico PSU.&lt;br /&gt;
The board itself has no power switch. If you do not have a Mini-ITX case a pin header can bridged by a jumper in order to connect the power supply to the board as a stop gap solution. In this picture:  the pin header in question is shown in the lower right where it is labeled with &#039;&#039;PW ON SPST Switch&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Getting programs onto the F256 ==&lt;br /&gt;
&lt;br /&gt;
=== SD Card === &lt;br /&gt;
&lt;br /&gt;
Both the F256K and F256JR have an SD card slot.  The device software to read the SD card is a bit touchy (it&#039;s inherited from the Commander X16 project) and doesn&#039;t work with all SD cards&lt;br /&gt;
&lt;br /&gt;
* Cards should support the V2 protocol (HC or XC); older cards that only support the V1 protocol (typically 2GB or less) won&#039;t work. By contrast, the kernels for the C256 machines generally only work with V1 cards.  Note that, in both cases, this is a software limitation -- all of the Foenix machines are electrically capable of using both kinds of cards.&lt;br /&gt;
* Cards *MUST* be formatted FAT32 -- **NOT: FAT, FAT12, FAT16, or exFAT**.   &lt;br /&gt;
* Formatting with Windows 10/11 works fine, but make sure to force FAT32 (or use the command line: &amp;lt;code&amp;gt;format /FS:FAT32 H:&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Formatting with MacOS will only work using the &amp;lt;code&amp;gt;diskutil&amp;lt;/code&amp;gt; command line utility. An example usage looks like this: &amp;lt;code&amp;gt;sudo diskutil eraseDisk FAT32 [DiskName] MBRFormat /dev/[DiskNumber]&amp;lt;/code&amp;gt;.  You can use &amp;lt;code&amp;gt;diskutil list&amp;lt;/code&amp;gt; to get the disk number for the SD Card.&lt;br /&gt;
* Formatting and partitioning SD cards with Linux can be done using the &amp;lt;code&amp;gt;gnome-disk-utility&amp;lt;/code&amp;gt; (known simply as &amp;lt;u&amp;gt;Disks&amp;lt;/u&amp;gt;) and is installed on most mainstream distributions of Linux. &amp;lt;u&amp;gt;Disks&amp;lt;/u&amp;gt; will access all the drives on the computer so be sure you have the SD card selected when editing. [https://wiki.gnome.org/Apps/Disks Gnome/Disks wiki]&lt;br /&gt;
* FAT32 only supports a maximum partition size of 32Gb, on larger cards you will need to create multiple partitions -- however, only the first is recognized by DOS.&lt;br /&gt;
* Some folks have had luck formatting cards with the [https://www.sdcard.org/downloads/formatter/sd-memory-card-formatter-for-windows-download/ Official SD Association formatter for Windows].&lt;br /&gt;
&lt;br /&gt;
=== Demos Archive ===&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/FoenixRetro/Documentation/blob/main/f256/archive Download the most recent demos archive] and expand it to the root of the flash card.&lt;br /&gt;
&lt;br /&gt;
=== Debug USB port ===&lt;br /&gt;
&lt;br /&gt;
* This is what most developers use as it&#039;s the most convenient.  Connect the debug USB port to your PC or Mac&lt;br /&gt;
&lt;br /&gt;
* You can use:&lt;br /&gt;
** [https://github.com/pweingar/FoenixMgr FoenixMgr] - works on Windows, Mac, Linux&lt;br /&gt;
*** A Python script to manage the Foenix series of retro style computers through their USB debug ports. This tool allows uploading files of various formats to system RAM, and displaying memory through various means.&lt;br /&gt;
&lt;br /&gt;
** [https://github.com/Trinity-11/FoenixIDE FoenixIDE] (Windows only)&lt;br /&gt;
*** Development and Debugging Suite for the C256 Foenix Family of Computers.&lt;br /&gt;
&lt;br /&gt;
=== wget ===&lt;br /&gt;
If you have the [[wifi]] configured, you can use [https://github.com/ghackwrench/F256_wget wget] to pull programs and data right off the web!&lt;br /&gt;
&lt;br /&gt;
== SuperBASIC ==&lt;br /&gt;
&lt;br /&gt;
The machine boots to SuperBASIC.  SuperBASIC is inspired by BBC BASIC but offers quite a bit more.&lt;br /&gt;
&lt;br /&gt;
* Read the [https://github.com/FoenixRetro/f256-superbasic/blob/main/reference/source/f256jr_basic_ref.pdf SuperBASIC Reference Manual].&lt;br /&gt;
&lt;br /&gt;
* Watch EMWhite&#039;s excellent intro series on Youtube:&lt;br /&gt;
** Full Playlist here: [https://www.youtube.com/playlist?list=PLeHjTvk7NPiSqGz4REMH-S4hjYpLS2YNR EMWhite&#039;s Intro Series - Full Playlist].&lt;br /&gt;
** Part 1 can be viewed here:&lt;br /&gt;
&amp;lt;youtube&amp;gt;G_S2c_MsqYA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get started, you can type in a sample program at the command prompt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10 for i=1 to 5&lt;br /&gt;
20 print &amp;quot;Hello world&amp;quot;&lt;br /&gt;
30 next&lt;br /&gt;
run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SuperBASIC is similar to CBM (Microsoft) BASIC but has some differences.  For example, note in the sample above it&#039;s just &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; not &amp;lt;code&amp;gt;next i&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The first 15 or so pages of the [https://github.com/FoenixRetro/f256-superbasic/blob/main/reference/source/f256jr_basic_ref.pdf SuperBASIC Reference Manual] are quite instructive.  &lt;br /&gt;
&lt;br /&gt;
SuperBASIC is actually much more powerful and supports structured programming (procedures, blocks etc.) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt; - Run this to display directory of SD card&lt;br /&gt;
&lt;br /&gt;
Loading &amp;amp; running programs off of the SD card is similarly easy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
load &amp;quot;JrWordl.bas&amp;quot;&lt;br /&gt;
run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similar to the C64, you can save time in loading programs from the &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt; listing by using your cursor keys to go up to the entry, typing &amp;lt;code&amp;gt;load &amp;quot;&amp;lt;/code&amp;gt; (insert mode is active by default) etc.  You can use &amp;lt;code&amp;gt;CTRL+E&amp;lt;/code&amp;gt; to jump to the end of the line and use &amp;lt;code&amp;gt;CTRL+K&amp;lt;/code&amp;gt; to delete any text from the cursor to the end of the line.  Correctly place the closing &amp;lt;code&amp;gt;&amp;quot;&amp;lt;/code&amp;gt; and hit &amp;lt;code&amp;gt;ENTER&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CTRL+C&amp;lt;/code&amp;gt; acts as a &amp;quot;break&amp;quot; command and stops any running SuperBASIC program or &amp;lt;code&amp;gt;LIST&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
Read built-in help/reference:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/help&amp;lt;/code&amp;gt; : But &#039;&#039;&#039;NOTE&#039;&#039;&#039;, this erases BASIC memory!  Use Backspace key to go back in menus and to exit.&lt;br /&gt;
&lt;br /&gt;
Explore the included demo SuperBASIC programs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Program !! Notes !! Source&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;JrWordl.bas&amp;lt;/code&amp;gt; || Wordle game, guess 5 letter word ||&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;mandel.bas&amp;lt;/code&amp;gt; || Draws Mandlebrot set in graphics mode, takes between 2 and 3 hours || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;rpg-demo.bas&amp;lt;/code&amp;gt; || UI sample that shows Zelda like RPG game.  Control the character with an Atari-joystick connected to JoyPort1 || @econtrerasd&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Problematic_Code.bas&amp;lt;/code&amp;gt; || Displays scrolling starfield ||&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;noelrl.bas&amp;lt;/code&amp;gt; || Simple integer BASIC bench mark from Noel&#039;s retro lab.  Completes &amp;lt; 3.5 seconds, compares very favourably to other retro systems! || [https://www.youtube.com/watch?v=H05hM_Guoqk Youtube]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;dance.bas&amp;lt;/code&amp;gt; || Animates sprite of dancer || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;luna.bas&amp;lt;/code&amp;gt; || Displays simple scene ||&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;blink.bas&amp;lt;/code&amp;gt; || Blinks drive access light || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;piano.bas&amp;lt;/code&amp;gt; || Play some notes with the PSG || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Running PGZ Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/- &amp;quot;file.pgz&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== More Resources ===&lt;br /&gt;
=== This Wiki ===&lt;br /&gt;
&lt;br /&gt;
Explore all of the content of this Wiki, to expand your F256 series knowledge!&lt;br /&gt;
&lt;br /&gt;
=== Discord ===&lt;br /&gt;
&lt;br /&gt;
The [https://discord.com/invite/aAEQXZHXgM Foenix Retro Systems Discord] is the primary place to get questions answered.&lt;br /&gt;
&lt;br /&gt;
Also, if you resolve your question, and you didn&#039;t find the answer here on the Wiki, &#039;&#039;&#039;&#039;&#039;please consider contributing to the Wiki&#039;&#039;&#039;&#039;&#039;, for the benefit of others with the same question!&lt;br /&gt;
&lt;br /&gt;
=== Foenix Retro Systems Newletter ===&lt;br /&gt;
&lt;br /&gt;
Read back issues [http://apps.emwhite.org/foenixmarketplace/ here] (also a great source for sample programs).   &lt;br /&gt;
&lt;br /&gt;
Issues starting at #4 cover the F256 line.  Issues 1-3 cover the previous version of the hardware (C256), although there are still many salient points.&lt;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=288</id>
		<title>SuperBASIC</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=288"/>
		<updated>2024-03-30T11:00:53Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: &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;
===== Using procedures =====&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;
&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;
&lt;br /&gt;
===== Behaviour of load and bload =====&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;
&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;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Black&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Grey&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Dark blue (default background colour)&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Green&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Purple&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Brown&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Orange&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Light blue&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Dark grey&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Light grey (default foreground colour)&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Blue&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Light green&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|Light purple&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|Red&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|Yellow&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|White&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=287</id>
		<title>SuperBASIC</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=287"/>
		<updated>2024-03-30T10:59:22Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: Add info about control characters&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;
===== Using procedures =====&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;
&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;
&lt;br /&gt;
===== Behaviour of load and bload =====&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;
&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 above&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 above&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=286</id>
		<title>SuperBASIC</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=286"/>
		<updated>2024-03-30T10:56:35Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: &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;
===== Using procedures =====&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;
&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;
&lt;br /&gt;
===== Behaviour of load and bload =====&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;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=285</id>
		<title>SuperBASIC</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=285"/>
		<updated>2024-03-30T10:55:21Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: &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;
===== Using procedures =====&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;
&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 F256 K&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;&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;
&lt;br /&gt;
===== Behaviour of load and bload =====&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;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=284</id>
		<title>SuperBASIC</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=284"/>
		<updated>2024-03-30T10:54:54Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: Add more 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;
===== Using procedures =====&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;
&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 F256 K&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;
|ctrl-a&lt;br /&gt;
|Move cursor to the first character in the current line&lt;br /&gt;
|-&lt;br /&gt;
|ctrl-e&lt;br /&gt;
|Move cursor to the last character in the current line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Behaviour of load and bload =====&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;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=283</id>
		<title>SuperBASIC</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=283"/>
		<updated>2024-03-30T10:52:52Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: Fix typo&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;
===== Using procedures =====&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;
&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 F256 K&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;
&lt;br /&gt;
===== Behaviour of load and bload =====&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;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=282</id>
		<title>SuperBASIC</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=282"/>
		<updated>2024-03-30T10:52:19Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: Cosmetics&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;
===== Using procedures =====&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;
&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 F256 K&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;
&lt;br /&gt;
===== Behaviour of load and bload =====&lt;br /&gt;
he &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;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=281</id>
		<title>SuperBASIC</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=281"/>
		<updated>2024-03-30T10:51:58Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: Cosmetics&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;
===== Using procedures =====&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;
&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 F256 K&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;
&lt;br /&gt;
===== Behaviour of load and bload =====&lt;br /&gt;
he &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;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=280</id>
		<title>SuperBASIC</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=280"/>
		<updated>2024-03-30T10:50:56Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: Add info about load and bload&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;
===== Using procedures =====&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;
&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;
|&lt;br /&gt;
 Ctrl-c or RUN/STOP on the F256K&lt;br /&gt;
|Stops a listing or a running program&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Ctrl-l&lt;br /&gt;
|Clears the screen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Behaviour of load and bload =====&lt;br /&gt;
he &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;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=279</id>
		<title>SuperBASIC</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=279"/>
		<updated>2024-03-30T10:49:09Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: Add info about proc statement and 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;
===== Using procedures =====&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;
&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;
|&lt;br /&gt;
 Ctrl-c or RUN/STOP on the F256K&lt;br /&gt;
|Stops a listing or a running program&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Ctrl-l&lt;br /&gt;
|Clears the screen&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=278</id>
		<title>SuperBASIC</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=278"/>
		<updated>2024-03-30T10:41:21Z</updated>

		<summary type="html">&lt;p&gt;217.84.7.147: /* An informal list of tips, &amp;quot;gotchas&amp;quot;: */&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;
===== Using procedures =====&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;/div&gt;</summary>
		<author><name>217.84.7.147</name></author>
	</entry>
</feed>