Commit graph

29 commits

Author SHA1 Message Date
Fabian cf31709ec5 Add floppy command for modern linux 2022-08-02 21:40:57 +09:00
Fabian 48882e33ae Accept irregular floppy disk sizes 2022-03-10 21:46:57 +01:00
Fabian 5877d36bf5 Add sectorlisp and sectorforth 2021-11-04 20:13:58 -05:00
Awal Garg 8222d2e6e0 Squash
restore memcpy comment
delete all the things!
fix jshint issues
restore memcpy comment
remove duplicate fxsave assignment
Count cache drops
Use already available physical address instead of calling read_imm8
Remove useless assertion
Just move around to reduce later diff
Run jit paging test with assertions enabled
Run jit-paging test on CI
Extend jit-paging test
Fix deleting invalidated code across memory pages
Add jit-paging test to gitlab ci
Remove jit_in_progress
Clean up old comments, use bool for jit_jump
Fix state image not begin garbage collected
Add ENABLE_PROFILER_TIMES to configure slow profiling times
Move to jit_generate and jit_run_interpreted to separate function
Add missing struct field
Fix: Don't write jit cache entry until no more faults can happen
Download image for jit paging test
Add missing initialiser
Mark jit_{generate,run_interpreted} as static
Specify full path to profiler.h
Clean up duplicate/missing declaration after rebase
mmap error handling, line length and fix some warnings
remove further unused code
move js imports to single header file
2020-07-21 20:10:13 -05:00
copy ae7bbcc58a Clean up some logging 2016-11-21 20:10:03 +01:00
copy a7a8c271cb Correct handling of lowering irqs 2016-11-21 20:09:03 +01:00
copy 82fd344ad9 Floppy disk controller: Implement empty tray 2016-03-26 15:33:17 +01:00
copy 46474fdc18 Fix mask in sgdt and sidt 2016-02-05 17:04:11 +01:00
copy dd1de936dd raise irq in a single place in fdc 2016-01-01 23:35:10 +01:00
copy 84e3428689 Fix floppy args 2015-12-30 23:37:40 +01:00
copy 7fba276f86 Fix warnings 2015-09-15 21:58:40 +02: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 ba71b4b43a Rewrite CMOS 2015-02-25 18:23:10 +01:00
copy 0cec926450 whoops 2015-01-13 01:52:19 +01:00
copy a0da169168 Make _state_skip work by value (instead of key). Fixes certain Closure Compiler builds 2015-01-12 18:05:10 +01:00
copy 5fd2a1bd35 Improved handling of IO port operations 2014-10-21 21:51:42 +02:00
Fabian 9b031d4e40 Initial version of save/restore state feature, #18
Everything that is valid json plus arraybuffers and arraybuffer-views
can be restored automatically (without making changes to other code).
Properties that should not be part of the state buffer needed to be
annotated using a magic `_state_skip` property. Shared arraybuffer views
are broken during restoration and also need to be annotated. Adapters
are not (and should never be) saved.

Current limitations:
- Before restoring, the cpu needs to be initialised with the original
  settings. This is not a hard requirement and can be fixed later.
- Pending asynchronous operations are lost. It's a good idea to pause
  the cpu before saving the state.
2014-09-28 22:10:47 -07:00
copy 2a9759537d Minor cleanups 2014-07-13 00:42:39 +02:00
copy c49dcfde3e Report floppy drive even if it is empty. Fixes missing command interpreter in some DOSes booted via CDROM 2014-06-28 00:06:33 +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
Fabian c5fd846319 change floppy.js to prototypical definition5~ 2014-05-06 06:17:28 +02:00
copy 42bb76ff31 Move log() out of global 2014-01-10 02:54:47 +01:00
copy 0a59180db4 Preparations for new interface 2014-01-05 03:19:09 +01:00
copy 096001f9c9 Verify buffer read length and offset 2013-11-28 00:59:36 +01:00
copy 73b2861f18 more floppy types 2013-11-07 01:21:28 +01:00
copy 8180d49f24 first public release 2013-11-06 01:12:55 +01:00