Animated 6502 Block Diagram

Topics pertaining to the emulation or simulation of the 65xx microprocessors and their peripheral chips.
Jefffrey
Posts: 9
Joined: 11 Nov 2015

Re: Animated 6502 Block Diagram

Post by Jefffrey »

Mr SQL wrote:
Thank you for the explanation. I'm curious how do illegal opcodes manage to add extra functions without extra hardware.
The short answer is that illegal instructions can only add functionality that already has the hardware it needs. There are certainly more instructions that could be added to the 6502 just by changing the instruction decode logic---you could add the type of instructions you're talking about (zero page,x and inx in one instruction), but I don't think you could do it and save any cycles (I guess you would still save one cycle for only reading one instruction instead of two though).

If you're curious about how any particular illegal instruction works, punch it into the RAM and step through it!

My understanding of illegal instructions is that they have the bit pattern xxxxxx11 and perform both the instructions xxxxxx01 and xxxxxx10 at the same time if they're "compatible enough". The reason they do something instead of nothing (like on the 65c02 where they are all nop) is because it takes fewer transistors to make it a "don't care" operation. This optimization is inside the decode rom, which unfortunately my tool doesn't show you right now.
piorkov
Posts: 5
Joined: 26 Feb 2025

Re: Animated 6502 Block Diagram

Post by piorkov »

Hello @Jefffrey

I think your project has stopped working on the website: https://lambduh.neocities.org/blocks/
In my case, the website does not respond to the step/run/reset buttons. :(
Jefffrey
Posts: 9
Joined: 11 Nov 2015

Re: Animated 6502 Block Diagram

Post by Jefffrey »

Sorry to the community for leaving this dead for so long. It's up again in a new place: https://jeffayle.github.io/6502blocks/

I'm not really sure what happened on the original site. I think neocities may have changed something on the server that made wasm not work. I couldn't figure out what that might be, but creating any environment where wasm could run was a challenge for me. The original page is still up at https://lambduh.neocities.org/blocks/ if anyone around here knows about wasm and knows what might be up, i'm still curious about it.
User avatar
Yuri
Posts: 371
Joined: 28 Feb 2023
Location: Texas

Re: Animated 6502 Block Diagram

Post by Yuri »

Looks like the new site doesn't load correctly; at least not on Firefox, I haven't tried other browsers.
User avatar
BigEd
Posts: 11463
Joined: 11 Dec 2008
Location: England
Contact:

Re: Animated 6502 Block Diagram

Post by BigEd »

Same for me... chrome and safari both showing just empty yellow boxes.

Uncaught TypeError: Cannot read properties of null (reading 'getElementsByClassName')
at set_bit (6502blocks/:111:29)
at update_diagram (6502blocks/:135:9)
at Worker.simulator_onmessage (6502blocks/:53:9)


at
function update_diagram(state) {
function set_bit(cls, value) {
let matches = svg_doc.getElementsByClassName(cls);
Jefffrey
Posts: 9
Joined: 11 Nov 2015

Re: Animated 6502 Block Diagram

Post by Jefffrey »

okay, this time it was broken because I forgot to put the svg diagram in the directory that got published. that makes sense. what I really can't make heads or tails of is why it was working for me yesterday just before i posted the link.

is it working for everyone now?
User avatar
Dr Jefyll
Posts: 3525
Joined: 11 Dec 2009
Location: Ontario, Canada
Contact:

Re: Animated 6502 Block Diagram

Post by Dr Jefyll »

Jefffrey wrote:
It's up again in a new place: https://jeffayle.github.io/6502blocks/
This works for me...
Quote:
The original page is still up at https://lambduh.neocities.org/blocks/
... but this one doesn't.

Cool project!

-- Jeff
(running Firefox 136.0 on Ubuntu).
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
User avatar
BigEd
Posts: 11463
Joined: 11 Dec 2008
Location: England
Contact:

Re: Animated 6502 Block Diagram

Post by BigEd »

works for me now on all 3 browsers - thanks for the fix!
Post Reply