F256K First Impressions

February 17, 2024 —

Earlier this week, my latest tech toy arrived. The F256K, created by Stefany Allaire, Foenix Retro Systems.

This is basically a "retro-like" microcomputer, that I guess I'd describe as a sort of "what if" take on microcomputers of the 80's like the Commodore 64. By "what if" I mean, what if, in some alternate reality, microcomputers had kept on going and hadn't been ultimately replaced by PCs. What if someone like Commodore (or any other company) had kept improving on these, but kept the same basic form-factor and philosophy. This is what the F256K feels like to me, and what makes it interesting to me as well.

Put another way, I guess that you could also describe the F256K as a kind of fantasy console (like the PICO-8 amongst many others) but in hardware-form instead.

There's no denying that a device such as this is a "niche within a niche." This is not a device with an extensive existing library of ready-to-use software that you can run on it. When you turn the F256K on, it, like many other microcomputers of the 80's, boots up to a BASIC prompt. I would say that this is currently intended for tech enthusiasts who are interested in developing software for it. There's very little existing software for this currently.

Hardware

A brief overview of the hardware inside the F256K:

CPU A choice between a WDC65C02, WDC65816, or FNX6809 all at 6.29MHz
RAM 512KB
Storage
  • 512KB on-board Flash (functions as a ROM for the Kernel, etc)
  • Full-size SD card slot
  • Support for a Commodore or FNX1591 floppy disk drive via the built-in IEC serial port
Graphics
  • Video output: 640x480 @ 60Hz or 640x400 @ 70Hz
  • Graphics modes: 320x240 or 320x200 (line-doubled during video output, just like PC VGA Modes X and 13h)
  • 256 colors, 8bpp / 24-bit color depth, with 4 different switchable palettes
  • Bitmap graphics support, up to 3 layers, allowing direct VGA Mode 13h style access to pixels
  • Tilemap support, up to 3 layers of 256x256 tilemaps, using either 8x8 or 16x16 tiles
  • Hardware sprites, up to 64, sized 8x8, 16x16, 24x24 or 32x32
Audio
  • Stereo PSG via a SN76489
  • FPGA SID implementation
  • On-board Yamaha OPL3
Other Features
  • Real-time clock backed by CR2032 battery
  • Timers
  • Interrupt controller
  • DMA
  • MMU
Connectivity
  • PS/2 port for use with a Mouse
  • IEC serial port
  • RS-232 serial port
  • DVI-D / DVI-A video out, supporting both HDMI and VGA with an appropriate adapter
  • Headphone jack
  • Stereo RCA audio ports
  • FNX4N4S adapter port, allowing use of NES & SNES controllers
  • 2x DE-9 connectors for Atari-compatible joysticks / gamepads
  • Mini-USB debug port
  • Optional Wifi Module (ESP8266 Feather)
  • Cartridge slot for additional software or RAM expansion
Keyboard Mechanical (your choice of switches: Blue, Brown, Red or Black)
Power Supply 12V DC, 2A, 2.5mm center-positive (not included with purchase)

So, while at first glance the F256K is probably most reminiscent of a Commodore 64, as you can see it greatly surpasses it from a hardware capability perspective.

It's also worth mentioning that this device feels very solidly built. It really does not feel cheap or flimsy at all!

Ordering, Cost, and Shipping

I ordered mine configured with a WDC65C816 CPU as well as a 256K RAM Expansion cartridge. I opted not to get the FNX1591 drive that Stefany also produces which looks to be quite excellent and was very tempting to me. In the end, I didn't figure that I would actually use it much. I also didn't get the optional FNX4N4S adapter allowing you to use NES or SNES controllers, 'nor did I get the optional Wifi module.

My order was placed via the Foenix Retro Systems online store on Nov 4th 2023 and I received it on Feb 12th 2024. This is not bad at all to me considering that, as far as I know, Stefany builds these all herself still and orders are handled in batches. For what it's worth, I'm still waiting on my order for an A2560K that I ordered back on April 5th 2022, so the build and shipping time for these F256K's is quite good by comparison (but this makes perfect sense to me, since the F256K and F256Jr devices seem to have been created as a somewhat more easily mass-produced and cost-reduced device as compared to the A2560K, which from what I can see, Stefany doesn't even sell anymore, so I'm not going to complain!).

The packaging for shipping seemed all perfectly fine to me, with the sole exception that there was unfortunately a loose screw inside the device itself, this was clearly audible to me shortly after picking up the box, when I could almost immediately hear the screw rattling around inside. After opening it up, the screw was clearly supposed to be one of the screws holding the keyboard in place, as that was the only hole missing a screw. Not a huge deal to me for a "homebrew" device being manufactured solely by a single person, but I still thought I'd mention this.

Also I think worth mentioning too, especially if anyone reading this had previously heard of these machines and had perhaps even watched a review video on Youtube by Jan Beta where he briefly shows the physical, printed copy of the F256K manual that he received along with his review unit. It unfortunately made me think that this was a standard thing that was included with your purchase (even though it's not mentioned on the store page at all). Anyway, you don't get a physical, printed copy of any manuals with your purchase. That seems to have just been a Youtuber perk. You can get PDF copies of the F256K reference manual as well as the F256 SuperBASIC Reference Manual. I actually ended up ordering printed copies of both from some third-party PDF printing and binding service, as I am weird (apparently) and like physical reference documentation.

The final cost for my particular configuration was $675.88 USD, including shipping. I have read comments online whenever discussions of any of these Foenix Retro Systems devices like the F256K comes up, with people complaining about the cost. Yeah, they are expensive. But I think people need a bit of a reality check here. This is not some device based on a Raspberry Pi, or another form of emulation being run on some other mass produced SoC. This is a custom built device using "real" retro hardware, for the most part (e.g. there is a real 6502 or 65816 CPU inside, but what would otherwise be implemented on custom graphics chips runs on an FPGA, and these aren't cheap either). It is not being mass-produced in a factory. There's no economy of scale happening here. This does have the unfortunate side-effect of basically ensuring that this device will very much remain a "niche within a niche" because its price keeps it solidly outside of being an "impulse-buy" for most people. However, speaking just for myself, I'm very glad that there's people out there like Stefany who are interested in designing and producing new "retro-like" hardware such as this. It's certainly much more interesting in my opinion then yet another emulation device. Personally, I just groan and roll my eyes whenever I read about someone producing some retro gaming hardware based on a Raspberry Pi.

Using the F256K

As I mentioned earlier, when you power on the F256K, it boots up to a BASIC prompt. Specifically, F256 SuperBASIC.

This is a variant of BASIC that is clearly inspired by the older BASICs from the 80's, such as BBC BASIC. But it has some more modern niceties, such as syntax coloured highlighting and indentation when using LIST, support for more structured programming tools such as real proper procedures and better looping constructs, as well as an inline assembler for when you need to drop down to 6502 assembly to get more performance than you would from just using BASIC code instead.

Things like line numbers still exist, and are even required when writing code on the F256K itself. But you can also do cross-development, even for SuperBASIC, where you write your BASIC program on your modern computer running Windows, Mac or Linux, save your code to an ASCII text file, and then copy it over to the F256K via SD card, or via the USB debug port. When you use cross-development like this, BASIC line numbers are not required.

What's really nice about SuperBASIC as compared to say, the Commodore BASIC that was included on a Commodore 64, is that most of the graphics functionality of the F256K is made available to you through BASIC keywords. On a Commodore 64, you would have to do a bunch of POKEing to set up hardware sprites, for example. On the F256K with SuperBASIC, you can still use POKE to do it directly via the hardware if you prefer, but you could instead use the built-in SPRITE keyword. Similar goes for using the bitmap / raster graphcs, where a bunch of primitive drawing operations are provided like pixel, line, circle, box/rect and text drawing. As well as for using the tilemap functionality of the F256K graphics hardware.

However, do note that SuperBASIC has its limitations. For example, when using the SuperBASIC support for tilemaps, you can only use one layer, and only 8x8 tiles. The good news is that if you really wanted to continue using SuperBASIC but you'd outgrown these limitations, nothing stops you from directly accessing the hardware to utilize the full functionality, via PEEK and POKE and/or inline assembly.

One of the primary reasons I was interested in the F256K was that it featured an out-of-the-box experience for doing on-device programming with this delightful combination of "old-school" plus semi-modernized niceties. I actually expect that I will try to use SuperBASIC for quite a while, if nothing else, as a quick and fun means of prototyping.

But you also have the option of doing development for the F256K with C or Assembly directly using tools like:

As far as existing software to run on the F256K, there's not a whole lot currently, because as I mentioned already, there is not a huge amount of existing developers writing code for this system. But you can find some simple demos and other things on the F256 Foenix Wiki.

Community

I've not interacted at all yet with the community surrounding these Foenix devices, so I cannot really comment on this at all, except to say that there is a Discord group which you can find via the Foenix Retro Systems website.

There is also a couple different wikis:

  • C256 Foenix Wiki which looks like the "official" wiki, however it doesn't seem to be updated much.
  • F256 Foenix Wiki for F256K and F256Jr devices specifically, which seems to be more up to date.

I will say that I'm personally more than a little disappointed that most of the community interaction seems to be over Discord. That's sadly becoming more and more common these days, and I find it very unfortunate for many projects as it hurts discoverability. You can't really search for info because that info is largely locked away within Discord, not indexed externally by any search engine. And, let's be honest, chatrooms are simply not a great medium for holding documentation or other useful knowledge over the long term. Oh well. I guess I'm too much of an old fogy for the modern internet.

Final Thoughts

Overall, I will say that the F256K is pretty much exactly what I thought it was going to be. A cool little device that is extremely niche and will almost certainly remain that way forever. But it's still fun to play with for someone like myself who is interested in retro and retro-like hardware as well as developing software for them. It's definitely not for someone who is just looking for a new video game console to play games on. Maybe one day it could be, but I seriously doubt it with the size of the community. And I'm not saying that that is a bad thing!