Finished · In Production · Atari 2600

Beam
them up.

Specimen is finished. Pilot a UFO across 50 levels in five settings and beam up people and animals while the tanks and jets fight back. Every fifth level, escape through the satellites, face one of ten bosses, fall into a black hole and dock with the mothership. The cartridge is in production now.

Specimen Update

  • Specimen officially works on the Atari 2600+ console.
  • PAL60 conversion is in progress
  • Materials for production carts are awaiting shipment.
  • The initial run will be 200 cartridges. Full box and manual.
  • I will have a sign up list for the carts ASAP.
The first physical copy of Specimen: a hand-built purple Pixels Past 64K board with the game's chip in a socket
The first physical copy of Specimen. Board design by Joe Grand, Pixels Past, under CC BY 4.0. Used unchanged.
Specimen box art: a cow beamed up into a flying saucer, under the title in dripping letters
64KBank-switched cart
50Levels
5Settings
10Bosses
1Black hole

See it running

Everything here is captured from the real ROM: 160 pixels across, 128 bytes of RAM.

A 95-second tour of the demo

The video and animated GIFs were created with StellaStream.

Specimen's title screen
Title screen
The UFO beaming up specimens
Beaming up specimens
Dodging satellites in space
The satellite field
A boss fight
A boss fight
Falling into the black hole
The black hole
Sorting the catch in the mothership
Sorting the catch

Try the demo

Levels 1 to 5, the first escape, the cut-scenes and the sorting mini-game. Play it in your browser, or download the ROM for Stella or a flash cart.

64K, EF bank switching. The browser version runs on Javatari.

Games

Lunar Lather is out now and free to play, and more games are on the way.

■ In development

Trick or Treat - Coming Soon

It's Halloween and little Carl wants his candy. His neighborhood has gone scary, though. The monsters want his candy! Help him Trick or Treat his way through large neighborhoods, 56 unique monsters and 10 scary bosses.

The videos were created with StellaStream.

Title screen
Monster fights
Game over
Lunar Lather box art: a spaceman with a bubble gun washing a spaceship covered in bubbles
● New · Free to play

Lunar Lather - a Newbroo!

Dirty spaceships are parked over the Moon, and you're the spaceman with the bubble gun. Wash every block of the hull clean before the time bar runs out. There's one catch: your spaceman has no jetpack. Every bubble you fire pushes you backwards, and that push is the only way you can move.

4K, NTSC. Version 1.1. The download has the ROM and how to play.

Video: 29 seconds of Lunar Lather

The video and animated GIFs were created with StellaStream.

Lunar Lather's title screen
Title screen
Washing the yellow Saucer
The Saucer
Washing the cyan Arrow
The Arrow
The spaceman floating off into the stars
Floating off

In development

■ In development

Zombie Dawn

A zombie game told through cut-scenes, starting with the news. The title screen is finished: a helicopter over the rooftops, two soldiers on the run, and its own theme. Recorded speech has already played through the TIA in a test.

1MB ROM/32K RAM using a new bank switching scheme.

*Actual game screenshots

Zombie Dawn's title screen: a helicopter over the city at dawn
Title screen
A TV news anchor on an old television set
The news
A zombie close up
A close-up
Video: a 71-second look at Zombie Dawn

Projects

A proof of concept you can play right now.

Fetch '83 box art: a man playing fetch with his dog
● Proof of concept · Free to play

Fetch '83

The question: can a 4K game play recorded sound while the whole picture stays up? The answer is a real dog bark. Throw the ball and the dog brings it back. Reach 50 points in as few throws as you can. A perfect game is 17.

4K, NTSC. Version 1.1.

Technical Details

The volume register is the speaker

With channel 0's tone control at 0, the TIA outputs a steady level equal to its volume. Write a new volume at a steady rate and that 4-bit register plays samples.

A real German shepherd

A one-second recording, filtered, trimmed to 0.57 seconds and turned into 4-bit samples at about 3,930 a second, each rounded to a level the chip can actually produce.

A sample every 4 scanlines

Every frame is cut into 66 slots, 65 of four lines and one of two. Each slot plays one sample on cycle 28 of its first line, and the picture is drawn in 4-line blocks around them.

48 bytes of RAM as a buffer

During the vertical blank, the frame's 48 picture samples are unpacked into RAM. Each block of the picture then plays its sample in 9 CPU cycles.

True pitch on a 262-line frame

262 isn't a multiple of 4, so the samples are taken from the recording at the exact scanline they'll play on. The bark keeps its real speed instead of running fast.

Where the 4K went

1,155 bytes of bark (28% of the ROM), 2,220 of code, 712 of art and tables, and 5 bytes free. 110 of the 2600's 128 bytes of RAM are in use.

Abandoned Projects

They seemed like a good idea at the time. If the process of making a game isn't enjoyable and the game isn't fun to play, then what am I even doing? I'm keeping it honest. Failures? I call them learning opportunities.

Bucket List BobbyGame
✕ Abandoned

Bucket List Bobby

Boisterous Bobby has a bucket list bursting with bad ideas—and he needs your help pulling them off! Launch him sky-high, bounce him into bedlam, dive headfirst into danger, swing from the trapeze, and beat the bulls by a whisker. Help this daredevil check off his wildest wishes before he kicks the bucket!

Abandoned 10/31/26

Bucket List Bobby turned out to be more of a demo than a game. It had the "gee-whiz" factor, but it wasn't fun and if you're not having fun, then why bother? It was also a nightmare to maintain. Just a massive amount of code to handle what any other system could do 10% the effort. This was the project that made me realize I'm not into the demo scene. I may just release it as-is. The first level is done. So far, it's 3D Human Cannonball. There's no way people are NOT going to accuse me of using AI to make it. It was an insane endeavor and I wish I had that time back.

Size: 1024KB, 32K RAM.

The videos were created with StellaStream.

Title screen
Gameplay
Dog Park: Gus UnleashedGame
✕ Abandoned

Dog Park: Gus Unleashed

Play fetch with Gus and cross the whole park before the timer runs out. Each screen is a level, and Gus has to be entertained before you can move on, while joggers, cats, squirrels, geese and bad kids compete for his attention. Includes 250 levels, multiple cutscenes and digital audio sampling.

Abandoned 10/31/26

I struggled to make a real game with Dog Park. It had cool graphics, some decent game mechanics, but I just couldn't solidify the game. It just wasn't fun. You had to finish the game in a certain amount of time. You played fetch with Gus and Gus would get distracted by squirrels, geese, joggers and cats. You had three tennis balls, which could be lost to the squirrels or the BBQs. It was tedious. It didn't have the smooth play factor that I look for in Atari games and if I'm not enjoying it, I'm not going to release it.

256K ROM/128 bytes RAM.

*Actual game screenshots

Dog Park: Gus Unleashed title screen
Title screen
The man and Gus walking to the park
Off to the park
The man throwing the ball for Gus in the park
Gus Unleashed
4KPCartridge board
✕ Abandoned

4KP

Newbroo's own bank-switching scheme for the big games: Either 128 or 256 banks of 4K ROM, plus 32K of RAM in 128-byte pages, seen through two windows from every bank. No coprocessor: it all runs on the 6507. It already runs in Newbroo's build of Stella, and Zombie Dawn is being built on it.

Abandoned 10/31/26

After nearly finishing level 1 of Zombie Dawn using the 4KP scheme, I decided to abandon it and pursue a modified version of 3E+ which allows access to more ROM. That's putting it very simply, but 4KP was too difficult to manage. My banks were fragmented to hell and I was either going to end up with a 512K game stuffed into a 2MB cartridge or spend the next two years trying to rearrange everything.

The new 3E+ scheme that I call 3PO allows me to swap in 1K chunks of ROM or RAM at any time, but I'm not limited to the 64K ceiling of 3E+. I now have a 16MB ceiling...which is just a vulgar display of power on a 2600, but there's room to stretch one's legs, so to speak.

Stay tuned for more news on 3PO. Before I fully commit to it, it has to work in hardware. Just having it in Stella is not good enough.

4KP board, 3D render

Hardware

Cartridge boards and tools on the bench. Most of these boards are old skool cool. They use EEPROMs and GALs to handle bank switching with most of the parts still in production (as of October 2026.) Pretty cool, but not cost-effective. The real beauty is the "Wild Cart".

3E+ board, 3D render
■ Waiting on Parts

3E+ 64K

3E+ is a bank switching scheme format designed by Thomas Jentzsch, derived from the DASH bank switching scheme devised by Andrew Davie, which in turn was derived from the 3E bank switching scheme designed by Armin Vogl which was in turn derived from the method used in Tigervision cartridges.

This scheme is my favorite and with some modifications to make it handle ROM above 64K, I'll use it on all of my games and abandon 4KP. It has 32K of RAM and up to 64K of ROM laid out beautifully. One of the big problems with 4K banks and big games is fragmentation. A lot of space gets unused. This scheme solves that problem beautifully.

E7 16K board, 3D render
■ Waiting on Parts

E7 16K

M Network's E7, the bank-switching scheme BurgerTime uses: 16K of ROM in eight 2K banks, plus 2K of RAM on the cartridge. It's drawn for Newbroo's own games, and a game made for it plays wherever BurgerTime does, Stella included.

BFSC 256K Rev B board, 3D render
▲ SC version in beta testing

BFSC 256K "Beefy SARA"

256K of flash in 64 banks, plus 128 bytes of cartridge RAM. A different program in its logic chip turns the same board into F8, F6, F4, EF, DF or BF, each with or without the RAM: twelve bank-switching schemes from one board.

The RAM-free version of this board is now available on my Github repo

Cart extender, 3D render: gold fingers at the bottom, a cart socket on top, and labelled pins down both sides
■ Waiting on 1 part

Cart extender

A test riser for cartridge hardware. Its gold fingers plug into the console and a bare cart board stands in the socket on top, lifted out of the slot so a logic analyzer can watch the bus while a game runs. All 21 bus lines come out to labelled pins, each with a ground beside it. A 0.1 ohm resistor in the +5V line lets a multimeter read the cart's current, and a blue LED shows the power is on. It works with any 2600 cart board.

Wild Cart board, 3D render
▲ In testing

"Wild Cart"

It's not a co-processor nor a multi-cart, but it could be if it wanted to. It's a barebones Pico processor that can handle any bank switch scheme and any ROM size up to 256K. Another model with larger ROM support is on the bench, with the logic analyzer, testing different ROM sizes for timing.

2K/4K board, 3D render
● Available now

2K/4K

When all you want is a ROM that will run. No bank switching, no muss, no fuss. Between $3.50 and $7.00 in parts that are still in production. That doesn't include the cost of the PCB.

This board is now available on my Github repo

The full StellaStream window: game, save and recording options, the Stella command it runs, and making a video or GIF from a capture
● Free and open source

StellaStream

Record any game you play in the Stella emulator to an MP4 video, frame-perfect* and with the sound in sync. It uses a new -rawstream option in Newbroo's build of Stella, which hands every frame, sound sample and the console's RAM to outside tools. The Specimen tour on this page was recorded with it.

Python and ffmpeg. Tested on Windows.

*Frame-perfect on NTSC standard 262 scanlines. Variable rate scanlines can be tuned.

Dev notes

Notes from the bench.

Halloween News

Lunar Lather Deluxe is complete. It's Lunar Lather cranked up to 11. Or 9...or something...

StellaStream is public

Frame-perfect* MP4 recordings of Stella games, with the sound in sync. The code is on GitHub, and the -rawstream option it needs is on Newbroo's Stella branch...