1
0
mirror of https://github.com/mist64/perfect6502.git synced 2024-06-02 17:41:32 +00:00
Commit Graph

138 Commits

Author SHA1 Message Date
Michael Steil
8161e5e600 added object files to .gitignore 2014-11-28 07:56:51 +01:00
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
Michael Steil
bdbe8eff59 ... 2010-10-20 07:49:51 +00:00
Michael Steil
63ce225449 added apple1basic 2010-10-12 14:29:11 +00:00
Michael Steil
f424b464f2 cleanup 2010-10-08 04:09:56 +00:00
Michael Steil
48e5756c38 cleanup 2010-10-08 03:58:09 +00:00
Michael Steil
8d948b5f64 indirect lostout 2010-10-08 03:22:54 +00:00
Michael Steil
d9ba3fc769 experimental... 2010-10-07 05:20:49 +00:00
Michael Steil
c0d191a03f added concept of dependants - same speed, but might
lead to more optimization opportunities
2010-10-07 04:39:40 +00:00
Michael Steil
6e8fd7f401 debug code; eliminate more duplicate transistors (with c1 and c2 reversed) 2010-10-07 02:19:44 +00:00
Michael Steil
07d31a1529 cleanup 2010-10-07 00:28:02 +00:00
Michael Steil
44f7f48a9c fixed "broken transistors" test 2010-10-06 16:53:40 +00:00
Michael Steil
217ba8f681 rename 2010-10-06 16:34:57 +00:00
Michael Steil
f8fe8d9d46 made test work independently 2010-10-06 16:33:26 +00:00
Michael Steil
9318b580e4 huh, missing file? 2010-10-06 16:33:04 +00:00
Michael Steil
a2ad35412c separated emulator and runtime 2010-10-06 15:58:13 +00:00
Michael Steil
c53fa8ff9c cleanup 2010-10-06 04:32:54 +00:00
Michael Steil
7c58dfd703 memory read and write on the same edge now; cleanup 2010-10-06 03:00:20 +00:00
Michael Steil
4b95933e67 bitmap size fix -> 10% faster 2010-10-06 02:13:38 +00:00
Michael Steil
1b22b7fec9 rename 2010-10-05 18:20:02 +00:00
Michael Steil
4189c81c70 cleanup, restore missing loop exit case 2010-10-05 18:13:48 +00:00
Michael Steil
57d2ce2c91 cleanup 2010-10-05 18:01:13 +00:00
Michael Steil
44ea268beb don't track "floating" any more. much easier, same speed 2010-10-05 17:54:51 +00:00
Michael Steil
12e8208234 cleanup 2010-10-05 17:48:01 +00:00
Michael Steil
446774eaa3 cleanup 2010-10-05 16:54:12 +00:00
Michael Steil
eee151c3ec nicer getNodeValue() interface, same speed 2010-10-05 16:46:27 +00:00
Michael Steil
90dfd9791a cleanup 2010-10-05 16:27:33 +00:00
Michael Steil
3ef6b7636a cleanup 2010-10-05 16:18:28 +00:00
Michael Steil
f101c89980 emulator / tester work 2010-09-30 02:39:11 +00:00
Michael Steil
5b43898aae code to test instructions 2010-09-29 03:19:56 +00:00
Michael Steil
e292c84c3a breaking transistors 2010-09-28 17:22:57 +00:00
Michael Steil
a0034447c1 the cross reference was looking at nonexistant transistors 2010-09-27 17:31:20 +00:00
Michael Steil
c252b42304 ... 2010-09-26 03:54:11 +00:00
Michael Steil
5e4983ccd5 removed js - no longer needed for debugging 2010-09-26 03:53:22 +00:00
Michael Steil
edffe73bc1 ... 2010-09-26 03:50:55 +00:00
Michael Steil
bfe8db1446 ... 2010-09-26 03:19:21 +00:00
Michael Steil
a4f19434f7 ... 2010-09-26 02:59:31 +00:00
Michael Steil
7a1e8b457b outputs 2010-09-26 00:09:19 +00:00
Michael Steil
0866a57020 better addmodes 2010-09-25 23:17:22 +00:00
Michael Steil
c856cb77a2 addressing modes 2010-09-25 23:04:04 +00:00
Michael Steil
fde0610048 better bytes calc 2010-09-25 22:04:04 +00:00
Michael Steil
41c5cb4dcd first checkin for 6502 analysis 2010-09-25 21:34:53 +00:00
Michael Steil
a2f6cca1ba simplify transistor calculation 2010-09-25 19:10:38 +00:00
Michael Steil
4413b8e8ef remove duplicate transistors 2010-09-25 18:52:18 +00:00
Michael Steil
80a13b5f7a don't recalc transistors if gate value has not changed - 2x speedup! 2010-09-25 18:02:16 +00:00
Michael Steil
c8c2038b6c cleanup 2010-09-25 00:53:28 +00:00
Michael Steil
4c4f12a89f transistor cleanup 2010-09-25 00:52:48 +00:00
Michael Steil
df455248a0 32/64 bit bitmaps 2010-09-25 00:42:44 +00:00
Michael Steil
bc36846f04 bitmap cleanup 2010-09-25 00:39:03 +00:00
Michael Steil
a770b4b2f2 bitmap cleanup 2010-09-25 00:30:55 +00:00