Posted in 2018

Designing Hardware with Verilog

Big news! You can use the 8bitworkshop IDE to write Verilog code, and see it executed instantly in real-time on a simulated CRT. Most computers are fast enough to render a game at 60 Hz, which requires simulating Verilog at almost 5 million ticks per second. This is all done in JavaScript!

For example, here’s a simple clock divider module:

The IDE instantly compiles this and starts simulating, showing the output signals on the scope:

Read more ...

3.2.1: batari BASIC; the Sidebar

I came across Fred Quimby’s batari BASIC while developing the first version of 8bitworkshop, and was intrigued. This is a BASIC compiler that targets the 6502, and has specific support for Atari 2600 features. For example, you might define the playfield like this:

You could then set the foreground and background colors:

And animate the playfield, scrolling it downward each frame:

Read more ...

New Frontiers in High-Level 6502 Programming

Programming directly in 6502 gets a little fiddly, so a higher-level language can make things easier. There have been many attempts to tame the 6502 to make programming more palatable. Interpreted languages like BASIC, FORTH, and Pascal were popular back in the day, and Infocom games had their own custom VM to run on many platforms. But programmers are a stubborn bunch, and want speed as well as usability.

One approach is to just write a really powerful macro assembler that almost looks like a high-level language. In the 1980s, Lucasfilm developed Macross as “an assembler for people who hate assembly language”. More recently, NESHLA is targeted at NES development, but hasn’t seen much new development since 2005.

It’s been more than 40 years since Chuck Peddle sold the first 6502 samples out of a jar at a trade show. Intrepid developers are still making new languages for the CPU. Here’s a quick survey of some that have been active in the last few years:

Read more ...

3.2.0: Font tools, bankswitching, and cassette loading

New features in 8bitworkshop 3.2.0:

Keyboard Shortcuts for debugging:


Read more ...

3.1.0: VCS Love, Instant Replay and Playable Links

In 8bitworkshop 3.1.0, we’ve given the VCS platform plenty of love:

Header Files: Header/include files are now viewable and editable via the IDE. But don’t use angle brackets in your includes, because they’ll pull in the old header file versions. Instead, use double quotes, for example:

Bugs Squashed: The emulator was suddenly stopping and displaying a blank screen, requiring a browser refresh. There were also problems when trying to load a ROM of the wrong size. Also, the Program Counter is no longer wonky when single-stepping.

Read more ...

Version 3.0.0 Released!

Version 3.0.0 of the 8bitworkshop IDE is out! Under the hood, there are lots of changes:

There’s a new browser storage backend, and your local changes will be migrated over the first time you start the IDE. This means you can save many more projects locally.

The site also now supports HTTPS, but be aware that local changes made on the HTTPS site won’t affect the HTTP site, and vice-versa.

Read more ...