Transistor level 6502 Hardware Simulation in Javascript
Go to file
mmfoerster 698312b98e Corrected and expanded the time state readout (the "TState" pseudobus).
The occurrences of T6 and T1 have been corrected. T6 now only occurs when a BRK
instruction is executing, it is a synonym for when the VEC1 node is logic high.
T1 now occurs when node 862 is logic high, which drives the SYNC pin, among
other control effects.

Formerly, T1 and T6 were displayed only when all the nodes that affect the PLA
were inactive. Node 1357's state was used in that case to choose between
displaying T1 (1357 high) or T6 (1357 low). That turned out to be incorrect
pair of inferences. The result was that T1 was absent when it should have been
present (when T+ was present without T0), and T6 was present when it should
have been absent (for instructions other than BRK). Among the corrective
changes, node 1357 is no longer consulted.

Expansion of state display adds V0, SD1, and SD2 indications. The last two are
in their own field (an eighth field). V0 is in the seventh field (square
bracketed, the same field occupied by T1 and T6). It is a two-character
representation of node VEC0 being at logic high. VEC0 high causes VEC1 to be
high one cycle later, which is T6. V0 is, like T6, activated only by execution
of a BRK instruction.

SD1 and SD2 are nodes 440 and 1258 respectively, which lie in the RCL block
outside of the timing generation (clock) block. They serve the needs of the
RMW (Read-Modify-Write) instructions for their addressing modes that use
external memory instead of the accumulator.

All of the corrected and new features has increased the total number of
displayed states to 24 from 10. Hopefully, this is the ultimate, final,
most fully comprehensive clock display possible, but we'll see.
2017-12-15 13:47:24 -05:00
3rdparty Whitespace fixups 2017-03-13 16:13:03 +00:00
chip-6800 Add I/O to 6800 2015-04-26 18:30:53 +01:00
images scale down new button images 2010-11-01 18:15:36 +00:00
.gitattributes Introduce end-of-line normalization 2010-09-18 16:38:22 +00:00
.gitignore ignore patch detritus 2010-09-18 17:07:48 +00:00
README Tweak README - add 6800 sim 2017-03-13 16:16:06 +00:00
browsertrouble.html trying to clean up gh-pages 2011-04-01 11:59:22 +00:00
chipsim.js Patch allNodes() to generate list of numbers for node indexes instead of numeric strings, fix JMP indirect mnemonic 2017-03-10 23:09:20 -05:00
expert-6800.html Fixup link to 6800 programming card 2015-04-25 14:17:15 +01:00
expert-allinone.js Corrected and expanded the time state readout (the "TState" pseudobus). 2017-12-15 13:47:24 -05:00
expert.css trying to clean up gh-pages 2011-04-01 11:59:22 +00:00
expert.html Add labels to layout controls 2014-05-05 23:54:54 -07:00
expertWires.js trying to clean up gh-pages 2011-04-01 11:59:22 +00:00
index.html Swap easy6502 tutorial in for 6502asm emulator/assembler 2012-08-16 07:52:17 +01:00
kiosk.css Whitespace fixups 2017-03-13 16:13:03 +00:00
kioskWires.js trying to clean up gh-pages 2011-04-01 11:59:22 +00:00
macros.js Corrected and expanded the time state readout (the "TState" pseudobus). 2017-12-15 13:47:24 -05:00
memtable.js [bug]direct keypresses to correct places: graphics, memtable, input box 2010-11-05 17:38:47 +00:00
nodenames.js Added missing '#' and '~' to both copies of the BRtaken node name. 2017-05-06 16:39:58 -04:00
segdefs.js add copyright 2010-09-18 17:01:20 +00:00
testprogram.js trying to clean up gh-pages 2011-04-01 11:59:22 +00:00
transdefs.js Whitespace fixups 2017-03-13 16:13:03 +00:00
wires.js trying to clean up gh-pages 2011-04-01 11:59:22 +00:00

README

This is the JavaScript simulator from the visual5602.org project:
www.visual6502.org/JSSim

It includes a general purpose transistor-level simulator, layout browser,
and the data from a 6502 revD chip. 

It also includes a similar simulator for the 6800 chip.

Note the various licenses and Copyright associated with each file.

Enjoy!
- The Visual 6502 Team