Bryan Miller
|
37709db2ee
|
Moved all MOS-based chips into a single MOS directory. Modified test names to match. Updated all affected files to reflect new path and file name changes.
|
5 роки тому |
Bryan Miller
|
35333360c1
|
IO moved from common to root. Adjusted modules to use the new IO path.
|
5 роки тому |
Bryan Miller
|
887c5adfd3
|
MOS6502/cpu has the method .hardReset(). Improvements to ALU function, especially in BCD math. Tests enhanced and added test for ADC Immediate BCD mode.
|
5 роки тому |
Bryan Miller
|
fd49d3d657
|
MOS6502.cpu increasing of program counter slightly modified, fixed some minor bugs. MOS6502.cpu tests updated to be cleaner and clearer and include from flag testing in the existing ADC/SBC tests.
|
5 роки тому |
Bryan Miller
|
55bde60f14
|
Enhanced ALU with BCD mode and fixed ADC/SBC flag results.
|
5 роки тому |
Bryan Miller
|
e7a447abfc
|
Clock can now handle 'layers'. Every added layer reduces call speed of grouped components by <hz>/<# layers>.
|
5 роки тому |
Bryan Miller
|
e65b597706
|
Clock moved from common to the root src path. Renamed some tests. Combined utils.bcd and utils.bitman tests into a unified utils test. Utils path can now be imported like a module.
|
5 роки тому |
Bryan Miller
|
fa33745af9
|
MOSCIA Fixed typo and CNT is no longer automatically set to zero at the end of a phi2 tick.
|
5 роки тому |
Bryan Miller
|
0d26e362ad
|
Fixed issues with interrupts. Fixed bugs in TimerA.
|
5 роки тому |
Bryan Miller
|
de34b64ed7
|
Fixed TOD issues. Working on interrupt issues.
|
5 роки тому |
Bryan Miller
|
4772ddfaf5
|
Tweaks to MOSCIA
|
5 роки тому |
Bryan Miller
|
4e28ffbe91
|
RAM, ROM, and Shadow memory now use the new IO class. Dropped the Listener helper class.
|
5 роки тому |
Bryan Miller
|
59978a550d
|
Renamed wireable.js to io.js to match exported class name. Fixed bug
|
5 роки тому |
Bryan Miller
|
07593c8ca9
|
Created class that can handle specialty IO events.
|
5 роки тому |
Bryan Miller
|
80201048c1
|
Bug fixes to MOS CIA Serialization.
|
5 роки тому |
Bryan Miller
|
d3b1742795
|
MOS CIA can now be reset. Serial communication implemented.
|
5 роки тому |
Bryan Miller
|
9abb5bcf4e
|
MOS CIA Interrupt control/mask mechanics in place.
|
5 роки тому |
Bryan Miller
|
e13f5b0e96
|
CIA Timers A/B coded.
|
5 роки тому |
Bryan Miller
|
f7ed007df4
|
Rework of the CIA TOD registers.
|
5 роки тому |
Bryan Miller
|
f8ef85f77f
|
Tweaks to MOSCIA
|
5 роки тому |
Bryan Miller
|
c1f1f23ec4
|
Memory now has a peek() and poke() method; like read() and write() respectively, but will not trigger listeners.
|
5 роки тому |
Bryan Miller
|
613d11b016
|
MOSCIA will now uses utils/bcd and TOD clock should work... untested.
|
5 роки тому |
Bryan Miller
|
d443ff4c3a
|
More work on utils/bcd and added unit tests.
|
5 роки тому |
Bryan Miller
|
a162b4ae88
|
Started working a BCD helper, and an implementation of the MOS CIA chip.
|
5 роки тому |
Bryan Miller
|
ecd453d812
|
Moved MOS6502 out of the chip directory. Adjusted tests accordingly.
|
5 роки тому |
Bryan Miller
|
a9ba4f14ec
|
Minor tweaks to Clock
|
5 роки тому |
Bryan Miller
|
2e5ad3880a
|
Bug fixes
|
5 роки тому |
Bryan Miller
|
4c9f047a7d
|
Fixed the .address property behaviour
|
5 роки тому |
Bryan Miller
|
dda1c22cc6
|
Fixed a couple bugs. Removed mmSwitchRegister(). Added switchBank()
|
5 роки тому |
Bryan Miller
|
30f95044b1
|
Rewrote .load() method.
|
5 роки тому |
Bryan Miller
|
9d773f6894
|
Added pages property to memory. Bringing MMC more inline with IMem interface.
|
5 роки тому |
Bryan Miller
|
495c5b6d13
|
Memory module bug fixes. Memory test added.
|
5 роки тому |
Bryan Miller
|
beab01695c
|
Rewrote memory classes and put them in their own folder. Updated MOS6502/cpu and relavent tests.
|
5 роки тому |
Bryan Miller
|
8744d3cc60
|
Fixed bug with LDX Absolute,Y
|
5 роки тому |
Bryan Miller
|
bed8ec0d7b
|
Fixed a typo
|
5 роки тому |
Bryan Miller
|
5781e7617a
|
Added interrupt handlers (by way of psuedo hijacking BRK) and make reset a property. Updated tests accordingly.
|
5 роки тому |
Bryan Miller
|
e92b54db8a
|
Finished coding all opcodes.
|
5 роки тому |
Bryan Miller
|
baed6e66e4
|
Added dedicated StackPush() and StackPop() methods. Fixed BRK and JSR opcodes. Wrote RTS and RTI opcodes.
|
5 роки тому |
Bryan Miller
|
9265cb255c
|
Added the ROL and ROR opcodes.
|
5 роки тому |
Bryan Miller
|
3e179155fd
|
More opcodes finished.
|
5 роки тому |
Bryan Miller
|
145fb53143
|
Added LDA opcode. Tweaking ALU()
|
5 роки тому |
Bryan Miller
|
50526cd864
|
MATHC() broken into ADC() and SBC() once again. ProccessOp() handles memory and value access in the various mode types and returns true when the process who generate an outcome.
|
5 роки тому |
Bryan Miller
|
b31404b6d6
|
Fixed conflict with BIT (using BITM for the utility file). Method reset() should now match basic 6502 reset mechanics.
|
5 роки тому |
Bryan Miller
|
a8ad08b32d
|
Method rename and two new methods added to Bank class.
|
5 роки тому |
Bryan Miller
|
b9802d895a
|
ADC() method turned into the MATHC() method which can be used for both the ADC and SBC op codes. CPU.clk() updated accordingly.
|
5 роки тому |
Bryan Miller
|
fa1b9f9d91
|
ALU() method modified to directly use and set the cpu.__AR value. ADC() Adjusted according to the new ALU() changes.
|
5 роки тому |
Bryan Miller
|
52e51110b8
|
Added ALU and the ADC op code.
|
5 роки тому |
Bryan Miller
|
004d99d851
|
Can now get the direct bit value with the new .val() method.
|
5 роки тому |
Bryan Miller
|
30132b152e
|
Fixed the order of the status register flags and initialized the status register to 32 (bit 5 on).
|
5 роки тому |
Bryan Miller
|
0ab6bb54b8
|
Branching fixed. Added Register, Flag, and Stack commands.
|
5 роки тому |