Commit graph

35 commits

Author SHA1 Message Date
Fabian 413c32dfc5 Disable spurious interrupt for now 2020-12-31 19:14:33 -06:00
Fabian cd3f48c0a3 Simplify recursive state handling (don't require get_state for set_state) 2020-12-31 19:14:32 -06:00
Fabian 9b5ecb0a41 Improved logging in PIC 2020-07-21 20:10:14 -05:00
copy 50b20ecfae Implement elcr in legacy pic 2017-05-24 15:03:40 -05:00
copy 004f620252 PIC logging 2017-04-29 13:22:17 -05:00
copy 612901612c Only check irqs when irr changed 2017-04-29 13:22:17 -05:00
copy d90003d17f More precise PIC emulation 2017-03-07 17:56:56 -05:00
copy 0cc9617b6b Make closure compiler happy 2017-03-04 16:30:40 -05:00
copy 3a94b52905 Minor PIC update 2017-03-04 16:00:07 -05:00
copy a7a8c271cb Correct handling of lowering irqs 2016-11-21 20:09:03 +01:00
copy d8d71f1177 Use pic_call_irq instead of calling interrupt directly from pic 2016-08-02 05:30:41 +02:00
copy 70ad2f9031 Move memory to cpu 2016-08-02 04:15:24 +02:00
copy fd14f0232d Fix special mask mode 2016-01-23 00:00:16 +01:00
copy 89099cdaa5 PIC special mask mode 2016-01-04 05:25:34 +01:00
copy 6ba282cb05 PIC: Improved handling of interrupts and code cleanup 2016-01-04 04:32:03 +01:00
copy f4fa60b78a PIC: elcr 2016-01-01 23:16:35 +01:00
copy f557156256 trailing whitespace 2015-09-12 01:10:38 +02:00
copy f82373d6b2 Build state of emulator explicitly. Fixes #40 2015-05-18 22:18:59 +02:00
copy 3a824eda12 Change handling of interrupts to involve APIC 2015-05-17 01:56:50 +02:00
copy 742afcadbf Some minor changes 2015-04-22 04:15:32 +02:00
copy 27ced06ac9 Some annotations 2015-02-25 18:21:54 +01:00
copy 1664d39fa8 Don't put properties on native objects 2015-01-12 18:50:15 +01:00
copy bfd12be557 cleaning up 2014-11-01 13:56:06 +01:00
copy 5fd2a1bd35 Improved handling of IO port operations 2014-10-21 21:51:42 +02:00
copy 117f7820fe mraleph enlightened me, http://jsperf.com/integer-log2/6 2014-10-17 00:14:02 +02:00
Fabian 16291c98fa Rewrite to prototypical notation (not complete) 2014-09-26 19:51:30 -07:00
copy 16a0c14e64 Move this chunk to a better place 2014-07-26 23:06:52 +02:00
copy 2a9759537d Minor cleanups 2014-07-13 00:42:39 +02:00
copy 7a731ca061 Change CPU from closure to prototypical notation.
This change was necessary for several reasons:

- Code is much clearer and more modular
- The CPU object is now serializeable and therefore can be safed and
  restored
- A dynamic translator from instructions to (optimized) JavaScript is
  planned. It would use `new Function` to create functions at runtime.
  Functions created this way don't have access to any scope (except for
  the global scope) and therefore were not have been able to modify
  registers, etc. This is now possible through the cpu object
- Possibly, but not necessarily a speedgain can be achieved.
  See http://mrale.ph/blog/2012/09/23/grokking-v8-closures-for-fun.html

Additionally, some code was moved around.
2014-06-15 22:25:17 +02:00
copy beb39069d2 Get rid of log2_table in favor of Math.int_log2 2014-02-10 23:11:55 +01:00
copy 64da166901 Fix small problems in CPU, cleanup 2013-12-28 23:21:43 +01:00
copy d7d8c2d2ff minor changes 2013-12-20 22:05:49 +01:00
copy 01efb32bb8 PIC problem 2013-11-26 17:01:43 +01:00
copy 6bab31ada3 Fixed some problems in the PIC 2013-11-25 11:58:36 +01:00
copy 8180d49f24 first public release 2013-11-06 01:12:55 +01:00