Commit Graph

300 Commits

Author SHA1 Message Date
David Banks
7a0cb72539 Initial checking of chip-z80 2018-09-19 13:27:39 +01:00
Ed Spittles
0a6866f10c Add two signals to DPControl fixing #50 2018-05-29 10:51:02 +01:00
BigEd
5b15e2d6c9
Merge pull request #48 from mmfoerster/master
Corrected and expanded the time state readout (the "TState" pseudobus).
2018-05-06 11:24:14 +01:00
BigEd
e6e446a256
Merge pull request #49 from trebonian/BigEd-patch-1
Updating links, e-tradition is now masswerk
2018-05-06 10:20:26 +01:00
BigEd
bd0356f2a0
Update index.html 2018-05-06 10:20:00 +01:00
BigEd
096f6bbcf8
Updating links, e-tradition is now masswerk 2018-05-06 10:18:22 +01:00
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
BigEd
bd45334147
Merge pull request #47 from mmfoerster/master
Added 6502 time code display as "TState" pseudo-bus - see wiki
2017-10-30 18:35:22 +00:00
mmfoerster
7efe4fb8c7 Added comments to allTCStates() referring to the 6502_Timing_States wiki page.
The state labeling is not completely correct or complete regarding T5 and T6
(especially the latter). More investment will be forthcoming.
2017-10-30 14:08:57 -04:00
mmfoerster
ef0a714a29 busToString() and allTCStates() changes agreed to online: TState and Phi.
The parameter to allTCStates() has had a name change from useNBSP to useHTML.

busToString() has had the TStateF pseudobus removed, and a pseudobus called
Phi added.

Phi pretty-prints the state of the cp1 node (the internal phase 1 node) as
Φ1 when high and as Φ2 when low. This is nicer than plain 0 or 1.

Logging the TState pseudobus followed by the Phi pseudobus creates the effect
intended by the removed TStateF pseudobus, keeping our collection of
operations orthogonal (no proliferation of trivially different operations
that duplicate each other diagonally).
2017-10-30 00:49:17 -04:00
BigEd
e0547e6c35
merge clock phase display into TState pseudobus 2017-10-28 13:49:46 +01:00
mmfoerster
76edc1186a Deleted 6502timecodes.txt: content moved to the visual6502 wiki.
Documentation is more appropriately stored there instead of the repository.
It is also further developed there:
http://visual6502.org/wiki/index.php?title=6502_Timing_States
2017-10-25 11:39:23 -04:00
mmfoerster
c1409b78cb busToString( 'TState' ) and busToString( 'TStateF' ) now call allTCStates().
'TState' returns the string returned by allTCStates().

'TStateF' returns the string returned by allTCStates() with phase indication
appended: "F1" or "F2" for phase1 or phase2 respectively. 'F' is chosen since
that's all that Phi really is: an "eff".

Perhaps another enhancement could call out an actual phi glyph for the HTML
(browser) context.

allTCStates() is also enhanced by an optional boolean parameter to control the
spacing of non-blank text within the string it returns.
    * A true parameter puts HTML non-breaking spaces between non-blank text,
      suitable for display on a browser page.
      This is always used by busToString().
    * A false or absent parameter puts ASCII spaces between non-blank text,
      suitable for text logging.
2017-10-09 17:49:53 -04:00
mmfoerster
d39bab7302 Clarified causation statement about T0 T+ time code in 6502 time codes documentation 2017-09-19 23:56:43 -04:00
mmfoerster
587fa47d8a Tamed a long line in the new 6502 time codes documentation 2017-09-19 21:50:42 -04:00
mmfoerster
27d0eb8fb2 Created plain-text documentation for the 6502 clock time codes. Added function
that creates the text expression of the time codes seen in the documentation
to macros.js and expert-allinone.js.

Added documentation file: 6502timecodes.txt
Added function: allTCStates()
2017-09-19 21:22:34 -04:00
BigEd
90f57631c0 Merge pull request #46 from mmfoerster/master
Added missing '#' and '~' to both copies of the BRtaken node name.
2017-05-08 18:25:56 +01:00
mmfoerster
cba0c7a6b5 Added ~BRtaken definition to the expert version to parallel nodenames.js. 2017-05-08 10:33:40 -04:00
mmfoerster
c2348c5f63 Added missing '#' and '~' to both copies of the BRtaken node name.
The comments with them indicate that the semantics of the node (high when branch
not taken) was already recognized.

pipeBRtaken in the expert version is left untouched, as it is opposite-valued
from #BRtaken, although its meaning is multiplexed by additional influences
(nodenames.js has it named pipeIPCrelated).
2017-05-06 16:39:58 -04:00
BigEd
4bb43bfd0e Merge pull request #45 from mmfoerster/master
Corrected node numbers for p6 (V bit) and p7 (N bit) of the status re…
2017-04-27 18:14:40 +01:00
mmfoerster
8d50388828 Corrected node numbers for p6 (V bit) and p7 (N bit) of the status register.
p6 and p7 were duplicates of their respective Pout-named nodes instead of
the phase 1 updated nodes of their storage complexes, as all the other
processor status register bits are (except for the B bit, of course).

    Comment typo correction for cclk.
2017-04-13 04:34:02 -04:00
Ed S
1f78e25b3a Tweak README - add 6800 sim 2017-03-13 16:16:06 +00:00
Ed S
4364604b96 Whitespace fixups 2017-03-13 16:13:03 +00:00
BigEd
2147762ee4 Merge pull request #38 from BigEd/patch-1
Fix typo in comment
2017-03-11 22:45:51 +00:00
BigEd
651d8a44c5 Merge pull request #39 from mmfoerster/master
Patch allNodes() to generate list of numbers for the node indexes instead of numeric strings, fix JMP indirect mnemonic
2017-03-11 22:43:36 +00:00
mmfoerster
51d6bb216b Patch allNodes() to generate list of numbers for node indexes instead of numeric strings, fix JMP indirect mnemonic
Patches for the general chipsim code and the 6502 emulation.

    For the general chipsim code, allNodes() was constructing a list of
numeric strings for the node indexes instead of a list of numbers for them.
During the first iteration inside recalcNodeList(), the numeric string node
indexes would end up being the first elements of their respective node group
lists. This in turn would allow instances of a duplicate node index to be added
to the node group list. The duplicate in each case would be the numeric
equivalent of the initial numeric string index: indexOf() would not recognize
the string element as being the equivalent of the numeric node index, so the
numeric version would be added also.

For an example (from real log data), a node group list of: [ "49", 483 ] has a
node index of 49 tested against it. indexOf() says "49" is not an occurrence
of 49, so it allows 49 to be
2017-03-10 23:09:20 -05:00
BigEd
3b7fbe4385 Fix typo in comment 2016-11-08 16:37:20 +00:00
trebonian
f3cffeeed6 Merge pull request #36 from BigEd/patch-2
Add I/O to 6800
2015-04-26 13:48:07 -04:00
BigEd
a2a4bc65c5 Add I/O to 6800 2015-04-26 18:30:53 +01:00
trebonian
815e972d14 Merge pull request #30 from PeterMortensen/master
Spelling/case.
2015-04-26 11:29:56 -04:00
trebonian
9f4f922e16 Merge pull request #34 from shersom/master
Add labels to layout controls
2015-04-26 11:29:21 -04:00
trebonian
27bec1bfe5 Merge pull request #35 from BigEd/patch-1
Fixup link to 6800 programming card
2015-04-25 20:59:53 -04:00
BigEd
976fe7e430 Fixup link to 6800 programming card 2015-04-25 14:17:15 +01:00
shersom
72ac2caf74 Add labels to layout controls 2014-05-05 23:54:54 -07:00
trebonian
741e035eb4 Merge branch 'patch-1' of http://github.com/BigEd/visual6502 into ed 2013-06-26 17:23:14 -04:00
BigEd
dd2241d3de bugfix - macros.js - pre-apply clock triggers for corrected display 2013-06-25 22:31:53 +02:00
BigEd
c0809ba34e typo fixup in README 2013-06-24 18:53:07 +02:00
Peter Mortensen
df33b88c56 Update README 2013-06-18 16:06:06 +03:00
trebonian
7d90b33187 Merge pull request #28 from BigEd/patch-1
Correcting a comment in nodenames.js
2013-02-04 06:02:05 -08:00
BigEd
34244661cb Correcting a comment in nodenames.js
Thanks to 'cerebrum' on forum.6502.org
2013-02-03 10:19:22 +00:00
BigEd
ce74c3f5d3 Swap easy6502 tutorial in for 6502asm emulator/assembler 2012-08-16 07:52:17 +01:00
BigEd
cb03b9741a html fixups by Quietust 2011-08-27 03:34:25 +02:00
BigEd
7b95b5e345 html tidyup by Quietust 2011-08-27 03:29:23 +02:00
BigEd
de265ecdb8 6502: add nodename aliases to allow more use of the URL interface 2011-05-12 08:54:52 +00:00
BigEd
e81c9fbe0f update 6800 tracing to include alu and incrementer 2011-04-16 13:03:43 +00:00
BigEd
c300e6ad01 update 6800 nodenames: ordering, comments, minor corrections 2011-04-16 13:02:46 +00:00
BigEd
79d0c4c445 import remainder of Segher's 6800 nodename updates and begin process of ordering and commenting 2011-04-16 11:29:53 +00:00
BigEd
a2d35d54ca 6800 nodename changes from Segher 2011-04-16 10:58:16 +00:00
BigEd
e20eb08b91 updated 6800 transistor bounding boxes and geometries from Ijor 2011-04-12 18:08:51 +00:00
BigEd
8487a7a9e1 6800: tweak nodenames and add the Tf state name/node 2011-04-11 18:22:26 +00:00