Commit graph

3887 commits

Author SHA1 Message Date
copy 3505537898 Fix spurious ack 2014-06-22 19:35:50 +02:00
copy 5842950cf2 Idle when emulated CPU is idle in a hlt loop 2014-06-22 19:10:35 +02:00
copy 5fb79787cf Small improvements 2014-06-22 19:05:57 +02:00
copy 72cb53482a Avoid deoptimizations 2014-06-17 01:38:39 +02:00
copy dac74191e6 Don't accept inputs when emulator is paused or crashed 2014-06-16 20:56:42 +02:00
copy affbcf6412 TODO 2014-06-16 20:37:11 +02:00
copy deeff85f8b Merge branch 'master' of https://github.com/copy/v86
Conflicts:
	src/cpu.macro.js
	src/floppy.js
	src/instructions.macro.js
	src/modrm.macro.js
	src/node/main.js
2014-06-15 22:54:12 +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 4521e4e55d Fix font issues, needs more improvement later 2014-06-15 17:01:52 +02:00
copy 234a0708c8 New externs 2014-06-10 02:58:21 +02:00
copy 6a4b1d9a1d split those long lines up 2014-06-10 02:57:22 +02:00
copy ae2b0b98c8 .gitignore 2014-06-10 02:55:42 +02:00
copy 40abcbe7a5 Include new version of node-sdl (currently broken) 2014-06-09 23:53:46 +02:00
copy ada29204ee Include esprima for dynamic translator 2014-06-09 23:52:48 +02:00
copy f3df87fbbc some more commands 2014-06-02 23:07:11 +02:00
copy 7cb213f0ee plans for plan9 2014-06-02 22:31:25 +02:00
copy 25d3c4c685 DIV and IDIV tests 2014-05-29 23:50:35 +02:00
copy b9fdfe3452 Merge branch 'master' of https://github.com/copy/v86 2014-05-14 00:33:00 +02:00
copy f7674af482 export SyncBuffer and v86, check arguments passed to init 2014-05-14 00:26:04 +02:00
copy bb489cd342 libv86.js 2014-05-14 00:20:42 +02:00
copy bcf235d046 Don't rely on h() 2014-05-14 00:19:17 +02:00
copy d02b081652 nop 2014-05-14 00:18:39 +02:00
copy e46a60cdcb VGA dummy adapter 2014-05-14 00:15:15 +02:00
Fabian 11834de79f Preparations for testing a dynamic translator 2014-05-12 18:44:28 +02:00
Fabian cf7e4d4514 Serious bugfix 2014-05-12 18:14:12 +02:00
copy bf8c7546f8 irhydra generator 2014-05-10 03:13:14 +02:00
Fabian 32288cd85a Use memory.write_blob 2014-05-08 22:58:17 +02:00
Fabian 58ebb650b0 Mark pages as written. Preparation for dynamic translation 2014-05-08 22:47:56 +02:00
Fabian 6f974f6889 make run in background 2014-05-08 22:42:05 +02:00
Fabian 5b6e97c3bb No magic numbers please 2014-05-06 20:24:46 +02:00
Fabian ea8a4717ad Merge branch 'master' of https://github.com/copy/v86 2014-05-06 19:20:43 +02:00
Fabian 1991fa8ea3 debug environment is browser 2014-05-06 06:50:46 +02:00
Fabian 84fe8376ed Add device parameter to register_* functions 2014-05-06 06:50:27 +02:00
Fabian 03cce1f20b Test environment 2014-05-06 06:38:44 +02:00
Fabian c5fd846319 change floppy.js to prototypical definition5~ 2014-05-06 06:17:28 +02:00
Fabian 6ce08cfe02 Convert DMA to prototypical definition 2014-04-14 16:41:16 +02:00
Fabian e0fa1bd3fa make run 2014-04-14 16:26:01 +02:00
copy 06f9311a17 minor changes 2014-03-27 04:12:10 +01:00
copy 86f3fc633b Some improvments in PS2 controller 2014-03-27 04:09:50 +01:00
copy 43f40321f2 Merge branch 'master' of https://github.com/copy/v86 2014-03-13 20:11:42 +01:00
copy 43d0e55d19 Merge pull request #11 from robgraeber/copyright-year
Updated copyright
2014-03-13 20:10:18 +01:00
copy 501d5dc5bd Nope 2014-03-13 19:59:15 +01:00
copy 7710bb3327 Fixed numpad 2014-03-13 18:31:43 +01:00
Rob Graeber aa56fc0de1 Updated copyright year
Updated the copyright year to protect changes you've made after 2012 :-)
Otherwise new commits you've made wouldn't be explicitly covered by the license.
2014-03-13 09:31:46 -07:00
copy b2efbcb4d7 Some cleanup and fix enter instruction 2014-03-11 17:15:47 +01:00
copy cd9aeb564b Move chr_repeat to a better place 2014-03-11 17:03:01 +01:00
copy 7a044c5c69 Load floppy correctly 2014-03-11 16:59:47 +01:00
copy 57551c6a5a Remove unused code 2014-03-11 16:58:35 +01:00
copy 3ad72839d9 new command 2014-03-11 16:46:22 +01:00
copy bbf0801ef0 Cleanup 2014-03-11 16:45:48 +01:00