The Visual 6502

http://visual6502.org/JSSim/index.html

Comments

BiscuitBadgerJul 24, 2026, 12:26 AM
https://github.com/iaddis/metalnes

Similar project, gate level emulation of NES CPU+PPU by the Nesticle author Icer Addis.

An entire world in a scanline

ColdStreamJul 24, 2026, 12:15 AM
It is a fun way to benchmark your system. I managed to get 4.1hz on my 13th gen i5 work laptop.

Let's see an M-series chip blow that out of the water. ;)

EDIT - It was 4.1Hz in advance mode. Actually runs at between 22Hz and 44hz depending on each time I run it. Odd to have such a wide performance variation. I will just blame Windows and some power management setting/thermal throttling.

flenserboyJul 24, 2026, 3:15 AM
M4 Max, Brave — 93Hz highest, usually around 90Hz. On Advanced it started at 22Hz & steadily dropped from there into the single digits as it ran. Safari held around 62.xHz. On Advanced it started at 40Hz & also kept dropping.
jandreseJul 24, 2026, 12:31 AM
My very old i5-3570K on Firefox 153 is running this at 17.5Hz. I'm not sure why a much newer chip would be dramatically slower.
ErroneousBoshJul 24, 2026, 12:03 PM
Linux, Core i7-8700, Firefox, GTX1650, nothing special, and I'm getting 45-55Hz out of it.

So you're probably not far off. I can't imagine more modern chips than mine would run it significantly faster, none of the "tweaks" would help here.

AnnikaLJul 24, 2026, 1:06 AM
I got 22-33Hz on an AMD Ryzen 7640U on power-save mode and 50-55Hz on performance mode.
djmipsJul 24, 2026, 12:25 AM
I'm seeing 34 Hz on a Ryzen 7 3600X 3.6 Ghz with Chrome. 47 Hz in Firefox.
wvenableJul 24, 2026, 12:34 AM
70hz to 75hz on 12th Gen Core i7-12700

Get about 10 more hz in Firefox than in Chrome which was unexpected.

phs318uJul 24, 2026, 6:31 AM
High 60's to 70 on a Firefox|Fedora|Ryzen AI 9 HX.
va3ndfJul 24, 2026, 12:23 AM
88Hz on the M4 Pro
andrehackerJul 24, 2026, 1:06 AM
I concur with that number for Chrome, then 70 Hz with Firefox 62 Hz with Safari
ColdStreamJul 24, 2026, 1:19 AM
There it is, about 4 times faster than my machine. The single core performance of the M-series is something special.
andrehackerJul 24, 2026, 3:13 AM
So, yeah, this is wonderful since the ARM architecture (Acorn Risc Machine) is arguably derived from the 6502 by Sophie Wilkins and Steve Furber at Acorn Computers.
ThrowawayTestrJul 24, 2026, 2:18 AM
60Hz on my phone
elzbardicoJul 24, 2026, 1:55 AM
85Hz M3 Max
phoghedJul 24, 2026, 1:12 AM
62Hz on an iPhone 15 Pro
esikichJul 24, 2026, 2:55 AM
Pixel 6 - 40-50Hz
p808Jul 24, 2026, 2:58 AM
[dead]
flohofwoeJul 24, 2026, 7:24 AM
Shameless plug: I wrote a 'remix' a couple of years ago over a Christmas break using WASM+WebGL+DearImGui with better rendering performance, integrated assembler and a couple visualization tools (using the visual6502 team's original reverse engineered netlist data, and https://github.com/mist64/perfect6502 as simulation loop):

- 6502: https://floooh.github.io/visual6502remix/

- Z80: https://floooh.github.io/visualz80remix/

- 2A03 (this was contributed): https://floooh.github.io/visual2a03remix/

- source code: https://github.com/floooh/v6502r

(the simulation generally runs throttled to 1 half-clock-cycle per frame, so don't use it as any sort of benchmark)

wk_endJul 24, 2026, 5:00 PM
The link to Perfect6502 is interesting. It says that it supposedly gets speeds of 1/30th of 1MHz - i.e. ~30KHz - on high-end 2025 CPUs. Which is very slow of course, but still ~1000x faster than what people are reporting in this thread.

Of course it's in JS rather than C, but V8 is really good, well within an order of magnitude - not three - of native, at least with well-written code. I profiled the original Visual6502 and at a glance it sure does look like it's losing a ton of performance to rendering (so good call there).

I have to wonder what the limit is. Even Perfect6502 looks like it's all single-threaded and CPU-driven, which really isn't making the most of modern machines. But I don't know if this is a task that could be efficiently split across cores or dispatched to the GPU (and I can't even begin to know whether SIMD might be useful); of course hardware itself is fundamentally parallel, but the synchronization might kill you?

flohofwoeJul 25, 2026, 9:11 AM
The core of the simulation are these two functions:

https://github.com/mist64/perfect6502/blob/09fc542877a843182...

As far as I understood it, this basically re-evaluates the state of a 'dirty list' of transistors though all their connections, and loops until the node list has 'settled' again into a stable state (e.g. state changes from the last loop didn't cause trigger new state changes). Haven't thought about how this could be threaded or simd-ified.

timmgJul 24, 2026, 1:09 AM
I wish these guys would have released this amazing looking 6502 in circuits: https://www.evilmadscientist.com/2016/6502/
SomeHacker44Jul 24, 2026, 3:06 AM
Agree. I would pay for it.
jagged-chiselJul 24, 2026, 3:38 AM
I haven’t followed progress, but they did say it would likely cost $2k-$4k if they ever produced them to sell.
malkiaJul 24, 2026, 1:03 AM
Well I've played the 6502 simulator as a kind on my 6502 Apple ][ clone :) :) :)

youtube.com/watch?si=XuNgnVc4rf86nIgA&t=42

it should'be available here to play online too (but haven't tried it)

https://archive.org/details/257_Educational_Software_The_650...

wang_liJul 24, 2026, 2:02 AM
The emulator on that page gets an error when booting, but I think the content is the same as this:

https://archive.org/details/riag_004_051_-_MECC_Assembly_Lan...

Which was awesome as a kid to finally see what was "going on" inside there.