HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Racing the Beam Explained - Atari 2600 CPU vs. CRT Television

Retro Game Mechanics Explained2 HN recommenders · recommended in 2 months, 2022-2025
YouTube
400K views · 5 years ago · explainer · evergreen

Retro Game Mechanics Explained shows how the Atari 2600 draws images with almost no video memory, by having the CPU race the CRT beam line by line. It walks through the techniques in detail.

Cited as the go-to demonstration of how hard and clever Atari 2600 graphics programming was.

Game history & retro gamingDemoscene & retrocomputingComputer architecture & CPUs#atari2600#racingthebeam#crt#retrohardware#graphicsprogramming

5 comments from Hacker News

@dejobaan2025 · in “Palette lighting tricks on the Nintendo 64”

While I'm really happy we have faster systems now, there was something fun about about having to subvert constraints in games, and so satisfying and lovely when you did it right. HN folks are probably familiar with raster interrupts ( link ) and "racing the beam." I always associated this with the Atari 800. You weren't "supposed" to be able to do stuff like link , but Display List Interrupts made that possible. What I didn't know until recently was how much Atari 2600's games owed to this kinda of craziness: ▶ this video It's stuff like this that makes me think that if hardware stopped advancing, we'd still be able to figure out more and more interesting stuff for decades!

CitesView on HN
@zackmorris2024 · in “Lou's Pseudo 3D Page (2013)”

Kinda cool, I've never seen these techniques all in one place before. Growing up, I thought that SNES mode 7 scaling was so cool: link The article mentions about halfway down the page that what made the 80s road rendering technique possible was racing the beam. Where say an Atari 2600 would toggle the color at certain pixel counts as the TV's electron beam swept the screen, producing graphics that seemed otherwise impossible from such underpowered hardware: link ▶ this video Some engines allowed for say 8 hardcoded sprites this way by toggling colors at each sprite's position, with various rules about overlapping, so sprites would flicker sometimes when they were next to each other.

CitesView on HN
@derefr2024 · in “Insecure Features in PDFs (2021)”

Well, if you think it's possible, try coming up with even the core of an architectural basis for 1. a declarative language for describing the same things PostScript describes, 2. which allows the rasterization of arbitrary shapes at arbitrary DPI (PostScript is DPI-oblivious — it's up to the printer what DPI it's printing at!); 3. and which also works for vector plotters , that will never rasterize the data you're sending at all, but will actually follow the bezier curves, like the 2D version of 3D-printer GCODE; 4. and which enables the implementation of this rasterization and/or plotting on a variety of affordable hardware architectures in the 1980s — where the 1980s was a time where CPU power wasn't too expensive, but where memory prices were at an absolute premium. So your printer might have had a CPU as powerful as your computer's in it, to crunch PostScript — but definitely wouldn't have had the memory to buffer a full rasterized page. --- To put that last constraint another way: PostScript was designed to be rasterized in a way that enabled printers to do something much akin to "Racing the Beam" ( ▶ this video ). In both the display-rendering and printing cases, this was done in 1980s hardware, because 1980s memory was too expensive for most systems to be dedicating it to hold a buffer to asynchronously pre-render into and then read from when drawing. So instead, in both cases, you must render+rasterize in one motion, programmatically and extremely efficiently. And the obvi

CitesView on HN
@ant6n2023 · in “Atari 2600 Hardware Design: Making Something Out of (Almost) Nothing”

Here’s a detailed video by retro game mechanics that shows how the logo graphics of the infamous E.T. game is rendered: ▶ this video It seems incredible, very difficult. And remember, back then cartridges only had 8KB of memory. This means even more hacks are required, if your game needs more than a few levels. Theres a recurring hn post how jungle hunt encoded levels in a single byte (bitfield), then used some sort of sequence generator to allow going back and forth among the 255 levels.

RecommendsView on HN
@h3mb32022 · in “The man who made the “worst” video game in history (2019)”

Keeping in mind how ridiculously primitive and cumbersome Atari 2600 was to program on, I think it's actually remarkable how functional E.T. is (adding in the time pressure and all). I never got around to read Racing the Beam [1] but Retro Game Mechanics Explained on YouTube has a good demonstration [2] on how the graphics programming seemed like a nightmare compared to later computers and game consoles. Just positioning things on screen required calculating machine cycles of other preceeding instructions. Refactoring must've been fun. [1] link [2] ▶ this video

RecommendsView on HN
what did you do22:13

what did you do

Noodle
1.5M views • 11 months ago
Atari's Quadrascan Explained20:57

Atari's Quadrascan Explained

Retro Game Mechanics Explained
239K views • 5 years ago
How "oldschool" graphics worked Part 1 - Commodore and Nintendo7:08

How "oldschool" graphics worked Part 1 - Commodore and Nintendo

The 8-Bit Guy
5.7M views • 11 years ago
Sonic behind waterfall - RetroArch shader comparison1:15

Sonic behind waterfall - RetroArch shader comparison

PenguinWeirdness
30K views • 9 years ago
CGA Graphics - Not as bad as you thought!11:27

CGA Graphics - Not as bad as you thought!

The 8-Bit Guy
2.4M views • 10 years ago
The Ultimate Game Boy Talk (33c3)1:01:07

The Ultimate Game Boy Talk (33c3)

media.ccc.de
241K views • 9 years ago
The History of 3D Graphics on the Gameboy Advance | minimme34:29

The History of 3D Graphics on the Gameboy Advance | minimme

minimme
667K views • 6 years ago
SGI IRIS 2400 (1985)5:51

SGI IRIS 2400 (1985)

VintageCG
122K views • 16 years ago
How I implemented MegaTextures on real Nintendo 64 hardware8:51

How I implemented MegaTextures on real Nintendo 64 hardware

James Lambert
398K views • 3 years ago
Raycasting engine in Factorio (vanilla 0.17) - Facto-RayO v1.013:09

Raycasting engine in Factorio (vanilla 0.17) - Facto-RayO v1.0

arrow in my gluteus maximus
1M views • 7 years ago
How a Laser-Shot Disk Defeats Hackers & Pirates (Coding Secrets)5:01

How a Laser-Shot Disk Defeats Hackers & Pirates (Coding Secrets)

GameHut
132K views • 8 years ago
8088 MPH by Hornet + CRTC + DESiRE8:26

8088 MPH by Hornet + CRTC + DESiRE

Jim Leonard
327K views • 11 years ago
8088 MPH by Hornet + CRTC + DESiRE (final version)8:33

8088 MPH by Hornet + CRTC + DESiRE (final version)

andrewmjenner
93K views • 11 years ago
Atari XL/XE - Rescue on Fractalus [Lucasfilm Games] 19855:14

Atari XL/XE - Rescue on Fractalus [Lucasfilm Games] 1985

StaxX28
136K views • 19 years ago
XAYAX - Bang! (ATARI VCS 2600 demo)8:05

XAYAX - Bang! (ATARI VCS 2600 demo)

MEGA - Museum of Electronic Games & Art
124K views • 12 years ago
TI DOOM2:48

TI DOOM

TPMFofMFF
199K views • 18 years ago
Building my dream computer - Part 120:37

Building my dream computer - Part 1

The 8-Bit Guy
3M views • 7 years ago
Lyle Bickley explains the PDP-1 (and we play the original Spacewar!)22:24

Lyle Bickley explains the PDP-1 (and we play the original Spacewar!)

CuriousMarc
431K views • 9 years ago
The Road to PS552:45

The Road to PS5

PlayStation
16.8M views • 6 years ago
The Making of: ROM City Rampage (Retro City Rampage)10:45

The Making of: ROM City Rampage (Retro City Rampage)

VblankEntertainment
399K views • 13 years ago