1
0
mirror of https://github.com/mist64/perfect6502.git synced 2024-09-27 02:55:02 +00:00
perfect6502, a MOS 6502 CPU emulator that performs a simulation of the original NMOS 6502 netlist
Go to file
Michael Steil b2cce88620 optimizations (~25%) and cleanup
Optimizations:
1. When a transistor is turned on, only add one of the nodes it
   controls to listout, otherwise group calculation would be done twice
   for this group. This simplifies recalcNodeList(). (This required
   the following change: Instead of adding the nodes that control
   transistors that have changed to listout, put the nodes that are
   switched by transistors on listout.)
2. The group value is calculated while collecting nodes, and the enum
   group_contains_value makes sure we don't check for weaker value
   indicators than have already been established.
3. listout is now a set, no node will be visited twice for group
   calculation, within one interation.
4. When setting input pins of the package to a value, only recalc the
   node if it actually changes.
5. Toggling a transistor is done by assigning it the group value
   instead of the inverse of its value.

Cleanup:
* Merge the concept of listin with the concept of nodes that change
  from the outside and trigger a recalc.
2014-11-28 07:04:07 +01:00
.gitattributes
.gitignore
apple1basic.bin added apple1basic 2010-10-12 14:29:11 +00:00
apple1basic.c ... 2010-10-20 07:49:51 +00:00
broken_transistors.c fixed "broken transistors" test 2010-10-06 16:53:40 +00:00
cbmbasic.bin
cbmbasic.c cleanup 2010-10-08 03:58:09 +00:00
compare.c
console.c
console.h
emu.c optimizations (~25%) and cleanup 2014-11-28 07:04:07 +01:00
glue.h
Makefile debug code; eliminate more duplicate transistors (with c1 and c2 reversed) 2010-10-07 02:19:44 +00:00
Makefile.apple1basic added apple1basic 2010-10-12 14:29:11 +00:00
measure.c rename 2010-10-06 16:34:57 +00:00
nodenames.h cleanup 2010-10-08 03:58:09 +00:00
perfect6502.c optimizations (~25%) and cleanup 2014-11-28 07:04:07 +01:00
perfect6502.h added apple1basic 2010-10-12 14:29:11 +00:00
plugin.c
plugin.h
readdir.c
readdir.h
runtime_init.c fixed "broken transistors" test 2010-10-06 16:53:40 +00:00
runtime_init.h debug code; eliminate more duplicate transistors (with c1 and c2 reversed) 2010-10-07 02:19:44 +00:00
runtime.c debug code; eliminate more duplicate transistors (with c1 and c2 reversed) 2010-10-07 02:19:44 +00:00
runtime.h debug code; eliminate more duplicate transistors (with c1 and c2 reversed) 2010-10-07 02:19:44 +00:00
segdefs.h
stat.h
transdefs.h