Posted in 2019

8bitworkshop 3.5.0 Release

8bitworkshop now supports five additional 8-bit platforms!

Bally Astrocade

ColecoVision

Read more ...


The Mango One

In 1976, the first 6502-based hobbyist computers were just starting to appear. MOS Technology’s own KIM-1 had a numeric pad and seven-segment display. The competing SYM-1 could draw simple characters on an oscilloscope.

But the real breakthrough would come when the computer could receive input from a full keyboard, and output to a television set. Steve Wozniak demonstrated such a device at Homebrew Computer Club, a 6502-based machine that could drive a 40 column by 24 row character display, and could run Woz’s own Integer BASIC. This device would later be sold as the Apple I.

We’re going to create a similar device in the 8bitworkshop IDE using Verilog.

Read more ...


8bitworkshop 3.4.0 Release

We’ve added yet another platform to the 8bitworkshop IDE, the legendary Nintendo Entertainment System (NES)!

You can program in both C and 6502 assembler, and there are a ton of examples to get you started.

The IDE lets you write C using the cc65 compiler toolchain. While it has lower performance and greater code size than a well-written assembly program, you can still write a pretty good game in C. We use a fork of Shriu’s NESLib library to interface with NES hardware features, and Famitone to play music and sound.

Read more ...


Optimizing C array lookups for the 6502

Most of the platforms in the IDE that are powerful enough to support a C compiler are Z80-based. The Z80 isn’t the easiest target for C, but at least it has a lot of registers.

While the 6502 only has three 8-bit registers, the 6502 has strengths the Z80 doesn’t, as we’ll see here.

Let’s compare the two dominant C compilers for these CPUs. We’ll compile a function with the CC65 C compiler for the 6502, and then with the SDCC (Small Device C Compiler) for the Z80. We’ll call the function getValue():

Read more ...