The Visual 6502

Posted by infiniteregrets 1 day ago

Counter104Comment24OpenOriginal

Comments

Comment by BiscuitBadger 1 day ago

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

Comment by ColdStream 1 day ago

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.

Comment by flenserboy 1 day ago

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.

Comment by jandrese 1 day ago

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.

Comment by AnnikaL 1 day ago

I got 22-33Hz on an AMD Ryzen 7640U on power-save mode and 50-55Hz on performance mode.

Comment by djmips 1 day ago

I'm seeing 34 Hz on a Ryzen 7 3600X 3.6 Ghz with Chrome. 47 Hz in Firefox.

Comment by wvenable 1 day ago

70hz to 75hz on 12th Gen Core i7-12700

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

Comment by va3ndf 1 day ago

88Hz on the M4 Pro

Comment by andrehacker 1 day ago

I concur with that number for Chrome, then 70 Hz with Firefox 62 Hz with Safari

Comment by ColdStream 1 day ago

There it is, about 4 times faster than my machine. The single core performance of the M-series is something special.

Comment by andrehacker 1 day ago

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.

Comment by ThrowawayTestr 1 day ago

60Hz on my phone

Comment by elzbardico 1 day ago

85Hz M3 Max

Comment by phoghed 1 day ago

62Hz on an iPhone 15 Pro

Comment by ErroneousBosh 18 hours ago

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.

Comment by esikich 1 day ago

Pixel 6 - 40-50Hz

Comment by p808 1 day ago

[dead]

Comment by phs318u 1 day ago

High 60's to 70 on a Firefox|Fedora|Ryzen AI 9 HX.

Comment by flohofwoe 23 hours ago

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)

Comment by wk_end 13 hours ago

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?

Comment by timmg 1 day ago

I wish these guys would have released this amazing looking 6502 in circuits: https://www.evilmadscientist.com/2016/6502/

Comment by SomeHacker44 1 day ago

Agree. I would pay for it.

Comment by jagged-chisel 1 day ago

I haven’t followed progress, but they did say it would likely cost $2k-$4k if they ever produced them to sell.

Comment by malkia 1 day ago

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...

Comment by wang_li 1 day ago

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.