Commit graph pcjs/modules/pc8080
Author SHA1 Message Date
Jeff Parsons
c80f22e23a Cleaned up the handling of PS bits (not to be confused with PSW, which is PS combined with A); this fixes a bug where POP PSW was inadvertently disabling the internal interrupt flag (IF) 2016-05-05 13:04:46 -07:00
Jeff Parsons
913425791e More README updates 2016-05-04 15:46:12 -07:00
Jeff Parsons
cf596ee224 Avoid deprecation warnings regarding image smoothing, by carefully checking for properties in order of least to most deprecatable (what a delightful process) 2016-05-04 13:16:37 -07:00
Jeff Parsons
9dce59fbd9 Template updates 2016-05-03 16:41:08 -07:00
Jeff Parsons
59c3ddc83b Supoprt for overlay colors 2016-05-03 16:24:41 -07:00
Jeff Parsons
377b9895fa PC8080 bufferRotate option appears to be working as well the screenRotate option, so when everything else is working, we can choose whichever rotation method yields the best performance 2016-05-03 13:16:07 -07:00
Jeff Parsons
e2e5ea1b77 Sync PC8080 Bus changes with PCjs 2016-05-03 12:53:57 -07:00
Jeff Parsons
db5db398fb Startup/status message tweaks 2016-05-03 12:44:22 -07:00
Jeff Parsons
c31f6222a1 Added smoothing control to both PCjs and PC8080 (setting it to false should probably be the new default)
It can be controlled with a new "smoothing" attribute on the <video> component and/or overridden with a "smoothing" URL parameter set to either "true" or "false"
2016-05-03 09:11:02 -07:00
Jeff Parsons
5fbcc034e3 Eliminate unwanted pixel scaling 2016-05-02 19:58:36 -07:00
Jeff Parsons
180ef91a72 Final tweaks to screen rotation (for now) 2016-05-02 17:28:13 -07:00
Jeff Parsons
7bc35ad9af Move invariant bits out of updateScreen's inner loop 2016-05-02 16:32:12 -07:00
Jeff Parsons
7c6eb85811 Fixed Space Invaders buffer update (the left-most pixel of every byte is bit 0, not bit 7 as in PC video adapters) 2016-05-02 16:20:54 -07:00
Jeff Parsons
3941cf8ff6 Fixed Space Invaders buffer update (the left-most pixel of every byte is bit 0, not bit 7 as in PC video adapters) 2016-05-02 16:19:50 -07:00
Jeff Parsons
a56f1cfde1 The 8080 CPU goes through the Bus interfaces for all memory accesses now. The PCjs CPU maintained its own copy of Bus memory structures and interfaces, partly for improved performance but also because some CPUs can turn on address translation (ie, paging), making separate interfaces a necessity. However, PC8080 has much lower performance requirements and no address translation requirements, so we should revert to the original Bus interfaces. 2016-05-02 12:54:55 -07:00
Jeff Parsons
108e2abefa Enable 90-degree screenRotation (this may not be the final/best solution, but it's a convenient one for now) 2016-05-02 11:38:01 -07:00
Jeff Parsons
59b6dd3be6 Ported some PCjs drawing code to PC8080, still needs work though 2016-05-02 09:01:06 -07:00
Jeff Parsons
e9099c6d38 Rounded out the PC8080 portion of the tree 2016-05-01 15:12:52 -07:00
Jeff Parsons
8c5ab8d73b Clean up the CPU/ChipSet interface, and get the PC8080 Video component ready to actually do something 2016-05-01 10:13:43 -07:00
Jeff Parsons
ac3dc76285 DIsk updates 2016-04-30 14:11:29 -07:00
Jeff Parsons
69c6c074f9 Blog post 2016-04-30 08:33:26 -07:00
Jeff Parsons
49bcb1af62 Updated 8080 test machine README 2016-04-29 19:22:36 -07:00
Jeff Parsons
34ddef0709 Fixed PC8080 Debugger compilation error 2016-04-29 18:07:44 -07:00
Jeff Parsons
41f58a0035 The 8080 CPU now passes all the 8080 Exerciser tests 2016-04-29 17:57:28 -07:00
Jeff Parsons
a64a6e7e05 Fixed the 8080's subByteBorrow(), and improved the Debugger's doDump() 2016-04-29 08:30:21 -07:00
Jeff Parsons
01db9fc39e More strict 8080 compatibility changes 2016-04-28 08:55:15 -07:00
Jeff Parsons
2a447fa6ae Fixed 8080 bug exposed by the exerciser (but still a long way from 100% passing) 2016-04-27 15:36:21 -07:00
Jeff Parsons
94c1ada877 Updated comments 2016-04-27 08:39:35 -07:00
Jeff Parsons
87d4c75712 checkCPMVector() actually checks CPM_VECTORS now 2016-04-27 08:34:13 -07:00
Jeff Parsons
5b6f6756a2 More 8080 improvements, including some initial "Fake CP/M" support 2016-04-27 08:28:52 -07:00
Jeff Parsons
1e32efccc6 Add debugger option to enable 8086-style mnemonics (to minimize brain-hurting) 2016-04-26 11:43:14 -07:00
Jeff Parsons
07259c93ef Infrastructure in place for 8080 hardware interrupts (more specifically, vertical retrace interrupts) 2016-04-25 18:39:43 -07:00
Jeff Parsons
2a45531c2a 8080 opcode table complete 2016-04-25 09:08:39 -07:00
Jeff Parsons
ccc71d4508 More 8080 opcodes 2016-04-24 07:26:33 -07:00
Jeff Parsons
eba9428fbf More 8080 opcodes 2016-04-23 07:26:31 -07:00
Jeff Parsons
5558a581d7 Fixed Debugger 16-bit register updates 2016-04-22 07:48:13 -07:00
Jeff Parsons
8800ed5ef8 1/4 of 8080 opcodes implemented now 2016-04-22 07:38:25 -07:00
Jeff Parsons
978d59efbf More 8080 opcodes 2016-04-22 07:06:05 -07:00
Jeff Parsons
4173aaca31 More 8080 opcodes 2016-04-21 17:06:26 -07:00
Jeff Parsons
425f565b11 Simplified flag management 2016-04-21 15:41:58 -07:00
Jeff Parsons
f324b62493 Fixed Node rendering of PC8080 pages (all one of them) 2016-04-21 09:50:03 -07:00
Jeff Parsons
31d1b5c7e5 Fixed Jekyll rendering of pages with PC8080 machines 2016-04-20 19:21:12 -07:00
Jeff Parsons
55b99c8a08 PC8080 more or less ready for some meat on the bones now 2016-04-20 18:23:31 -07:00
Jeff Parsons
87d01130bd Make the PC8080 prototype page more responsive 2016-04-20 16:43:01 -07:00
Jeff Parsons
8971097b3b More PC8080 structural fixes 2016-04-20 13:37:37 -07:00
Jeff Parsons
79fb14fdbf Support for machines other than PCjs and C1Pjs 2016-04-20 12:09:59 -07:00
Jeff Parsons
a2d183ecfc More PC8080 skeleton bits 2016-04-20 09:36:58 -07:00
Jeff Parsons
19b22d32d4 PC8080 skeleton 2016-04-20 07:54:58 -07:00