Fabian
7d6a3c67e4
optimise sub8; jo/jb
2022-11-15 10:14:28 +09:00
Fabian
bb0f37bbce
optimise sub; jc
2022-11-15 10:14:28 +09:00
Fabian
8f15b554ee
optimise cmp8/16 x, imm; jc
2022-11-15 10:14:28 +09:00
Fabian
d629984627
optimise cmp reg, reg/imm; jz
2022-11-15 10:14:28 +09:00
Fabian
19b2771c40
optimise getsf
2022-11-15 10:14:28 +09:00
Fabian
db65dd352d
optimise test x, x followed by jz/js
2022-11-15 10:14:28 +09:00
Fabian
0ea7c7cd81
optimise getof
2022-11-15 10:14:28 +09:00
Fabian
6fcbe7b3d0
optimise cmp x, 0; jz
2022-11-15 10:14:28 +09:00
Fabian
1d55116779
optimise get_last_op1 (for cmp32)
2022-11-15 10:14:28 +09:00
Fabian
5a7c946e83
optimise get_last_result
2022-11-15 10:14:28 +09:00
Fabian
a11eb20326
type safety
2022-11-15 10:14:28 +09:00
Fabian
58f9902057
merge updates to last_op_size and flags_changed
2022-11-15 10:14:28 +09:00
Fabian
53cea2e7b1
Use optimised getcf for inc/dec/adc/sbb
2022-11-15 10:14:28 +09:00
Fabian
be08d812db
move code around (local_to_instruction_operand/LocalOrImmediate.to_instruction_operand)
2022-11-15 10:14:28 +09:00
Fabian
c6ef3c4c68
cache state flags
2022-11-15 10:14:28 +09:00
Fabian
5839152328
fix rust compiler error: trailing semicolon in macro used in expression position
2022-11-15 10:14:28 +09:00
Fabian
8d747fd0da
Add skiffos ( #714 )
2022-11-15 10:14:28 +09:00
Fabian
e1b6e34c19
wip code tlb
2022-11-15 10:14:28 +09:00
Fabian
2887a363f1
Properly clean up generated wasm functions if they are written while being compiled
2022-11-15 10:14:28 +09:00
Fabian
d0ca758177
reformat msrs
2022-11-15 10:14:28 +09:00
Fabian
2a8a89dd34
stub some msr for new linux kernel
2022-11-15 10:14:28 +09:00
Fabian
b9df44e646
cpuid: correctly report level 7 for ecx != 0
2022-11-15 10:14:28 +09:00
Fabian
0c17fea221
Remove serial0-output-line, fix stack overflow in serial debug output ( fix #741 )
2022-11-15 10:14:28 +09:00
Adrian Siekierka
7f5fb11faf
Add support for fixed_chunk_size to async Range downloads ( #755 )
2022-11-01 20:30:38 +01:00
Fabian
3c02f166b9
late c2rust cleanup
2022-09-21 17:58:25 +08:00
Fabian
611f0dedda
Remove dead code
2022-09-21 11:56:42 +08:00
Fabian
ef3654f0b1
Dedup some code between SyncBuffer and SyncFileBuffer
2022-09-21 11:39:48 +08:00
Fabian
53098adc5c
Delete src/browser/lib.js, move remaining code to lib.js
2022-09-19 22:24:09 +08:00
Fabian
e0d4e1808b
Move buffer code around
2022-09-19 22:24:09 +08:00
Fabian
aebf5eced8
Add Windows NT
2022-09-14 00:32:19 +09:00
Fabian
b961703fe4
jit: execute mmio reads at full size
2022-09-13 17:19:23 +09:00
Fabian
86fc542352
tlb: don't mark writable on read access (otherwise the write bit might not be set if a read occurs before a write)
2022-09-13 15:53:28 +09:00
Fabian
74c6a075c4
Replace page_poison=on with init_on_free=on
2022-09-13 14:32:52 +09:00
Fabian
00b874b309
Fix state restoring of large local images ( fix #730 )
2022-09-09 21:20:17 +09:00
Fabian
b227b2e45b
Replace winnt_fix by cpuid_level, make configurable
2022-09-08 16:45:28 +09:00
Fabian
89e5173712
Use regs::EAX over 0
2022-09-08 16:22:49 +09:00
Fabian
1a27b72311
Crude implementation for cmos A update-in-progress bit
2022-09-07 20:18:25 +09:00
Fabian
4e9ceb0ec1
Implement #np for IDTs (windows nt 3.x)
2022-09-07 18:50:08 +09:00
Fabian
2cbe54cf38
Refactor some sse instructions into sse_read128_xmm_xmm_imm/sse_read128_xmm_mem_imm
2022-09-06 01:05:39 +09:00
Fabian
1135122f8a
Fix jitted cmpss/cmppd/shufps/shufpd with the same source and destination register
2022-09-06 01:05:39 +09:00
Fabian
0a359a2495
Allow flags optimisation to be used for setcc/cmovcc instructions
2022-09-06 00:26:39 +09:00
Fabian
e50d4fa5a8
Fix flags in cmpxchg in jit
2022-09-06 00:26:39 +09:00
Fabian
a464c77ec0
Also mask other 16-bit arithmetic (not strictly necessary, but more robust for future changes)
2022-09-06 00:26:39 +09:00
Fabian
21c7a88d16
Add assertion for immediate values in test_be
2022-09-06 00:26:39 +09:00
Fabian
4cab56f2f4
Fix flags set by AAM instruction
2022-09-06 00:26:39 +09:00
Fabian
6e0ab79d4f
Fix mask sign-extended 8-bit immediate to 16-bit for cmp ( fixes #726 )
2022-09-06 00:26:39 +09:00
Fabian
88d205396d
Remove some unused pub annotations
2022-09-06 00:26:39 +09:00
Joey Mezzacappa
cb1c3211e9
Fix V86.destroy() with xterm.js ( #720 )
...
`V86.destroy()` was throwing an error due to `SerialAdapterXtermJS`
having no `destroy()` method.
2022-08-15 22:10:49 +02:00
Joey Mezzacappa
62d967bce0
Wait for emulation to stop when destroying ( #721 )
...
In some environments, the "emulator-stopped" event did not always fire
when calling the `destroy()` method. This waits for emulation to finish
stopping before continuing with the rest of the destructor.
When stopping the emulator with `.stop()`, the `v86` instance's state
would follow these transitions:
1. Before calling `.stop()`:
```js
{
running: true,
stopped: false
}
```
2. Immediately after calling `.stop()`:
```js
{
running: true,
stopped: true
}
```
3. After the emulator has finished stopping:
```js
{
running: false,
stopped: false
}
```
It was not immediately obvious how properties named `running` and
`stopped` could ever have the same values. This commit renames `stopped`
to `stopping` so it is slightly easier to understand while debugging.
2022-08-15 22:09:45 +02:00
Fabian
f1ebdb1c72
implement fbstp ( close #708 )
2022-08-02 21:40:57 +09:00
Fabian
cf31709ec5
Add floppy command for modern linux
2022-08-02 21:40:57 +09:00
Fabian
6c04f68396
GC SpeakerAdapter
2022-08-02 21:40:57 +09:00
Fabian
d28c77faa2
don't send mouse events when execution is paused
2022-08-02 21:40:57 +09:00
Fabian
5c4023f17d
Some comments for further improvements
2022-08-02 21:40:57 +09:00
Fabian
3e88f3d012
Don't use h(...).slice(2)
2022-08-02 21:40:57 +09:00
Fabian
e1d1f22378
Avoid loading partfiles that are already present
2022-08-02 21:40:57 +09:00
Fabian
2a73363089
Remove useless argument
2022-08-02 21:40:57 +09:00
Fabian
d4831d3b10
Remove some unncessary quoting
2022-08-02 21:40:57 +09:00
Fabian
14bab44a2d
Use larger chunksize for big images, significantly improving load performance (see #710 )
2022-08-02 21:40:57 +09:00
Fabian
d2ca7b1afc
Implement alternative format for partfiles
2022-08-02 21:40:57 +09:00
Fabian
d363430b05
refactor partfile loading, add read cache
2022-08-02 21:40:57 +09:00
Fabian
4bcaf1c3c2
Give downloaded file a more useful name
2022-08-02 21:40:57 +09:00
Fabian
1f614e831e
refactor packet logging
2022-08-02 21:40:57 +09:00
Fabian
ee70cd950e
wasm trace: log to cpu level
2022-08-02 21:40:57 +09:00
Fabian
075c773eb4
mac address translation: make copy
2022-08-02 21:40:57 +09:00
Fabian
c26c1a8c97
apply mac address translation to dhcp.clientidentifier
2022-08-02 21:40:57 +09:00
Fabian
00d2b35222
Allow capturing network traffic and loading it in wireshark
2022-08-02 21:40:57 +09:00
Fabian
cdfc8a0f1f
Improve hex_dump
2022-08-02 21:40:57 +09:00
Fabian
590d1c08d1
Fix failing assertion in debug mode in OpenBSD after pci change
2022-08-02 21:40:57 +09:00
Fabian
c8540d1113
Remove get_regs_short in non-debug mode
2022-08-02 21:40:57 +09:00
Fabian
f33c7ca70b
Crude mac address translation, fixes networking in Windows 2000 and SerenityOS
2022-08-02 21:40:57 +09:00
Fabian
bca3648fd2
Move hex_dump, add NE2K_LOG_PACKETS
2022-08-02 21:40:57 +09:00
Fabian
c1bd7076bd
Add latest SerenityOS without patches (224ac1a30) ( #299 )
2022-08-02 21:40:57 +09:00
Fabian
cd384b9b0c
ide: map at isa ports too (for serenityos, #299 )
2022-08-02 21:40:57 +09:00
Fabian
81f8976500
pci: Don't allow mapping to isa ports
2022-08-02 21:40:57 +09:00
Fabian
923d4148d0
Add experimental server for user-uploaded images
2022-08-02 21:40:57 +09:00
Fabian
c7ed5f8dc1
Update windows 2000 after vga pci revision
...
The vga devices was not recognized any more after changing the pci
revision. The image has the vbe driver reinstalled.
2022-08-02 21:40:57 +09:00
Fabian
084575179b
Allow text selection, fixes #688
2022-08-02 21:40:57 +09:00
Fabian
04a0cf4b5f
Avoid logging on some noisy ports
2022-08-02 21:40:57 +09:00
Fabian
52163a1fdf
vga: set pci revision to 0 to avoid falsely advertising mmio registers (for serenityos, #299 )
2022-08-02 21:40:57 +09:00
Fabian
68256bc693
ne2k: Remove invalid assertions accessing the reset register when pg!=0
2022-08-02 21:40:57 +09:00
Nitin Tejuja
0615be5d60
Fixed issue #632 async/await ( #633 )
...
Co-authored-by: Fabian <copy@copy.sh>
2022-07-25 14:55:07 +02:00
hello-smile6
b96665285b
Allow sharing files with guest using UI, even with custom profile ( #702 )
...
The 9p filesystem is always accessible by the guest, even if the UI is hidden. This will make the file picker UI be shown when needed
2022-07-14 10:26:13 +02:00
Fabian
aff546c716
uart: throw rdi instead of cti when fifo is not used
2022-07-11 12:36:55 +09:00
Fabian
f13136b9c1
minor
2022-07-11 12:36:55 +09:00
Fabian
12d595b774
properly report fifo enabled bits in iir
2022-07-11 12:36:55 +09:00
Fabian
961a9f46ef
Properly mask values given to safe_read_write
2022-07-11 12:36:55 +09:00
Fabian
ca9aa5e872
fix #610
2022-07-11 12:36:55 +09:00
pixelsuft
cbe5e63201
DAC Fix for Win9x bootlogo progressbar ( #693 )
2022-06-23 05:38:02 +02:00
pixelsuft
6b376fc50d
PS2 wheel improvements + winnt fix ( #680 )
2022-06-14 03:03:55 +02:00
pixelsuft
99736f2f68
Screenshot For Text Mode ( #671 )
2022-06-03 13:40:59 +02:00
hello-smile6
d9c9277011
Add keyboard lock support ( #665 )
...
Allows system keybindings to be intercepted by the guest.
2022-05-28 10:53:56 +02:00
Fabian
7a6eaf38da
Add HelenOS
2022-05-23 18:35:37 +02:00
Fabian
b0d3dcb742
Add some homepages
2022-05-23 18:35:37 +02:00
Fabian
1bf5168c59
Mouse: Add support for Firefox
2022-05-20 22:27:57 +02:00
pixelsuft
56b741466a
PS2 Mouse Wheel Support ( #657 )
2022-05-20 22:26:57 +02:00
pixelsuft
77a1cc47cf
Add dac_mask to fix text mode color ( #655 )
2022-05-17 13:42:53 +02:00
Fabian
d685053541
Minor fix
2022-03-11 10:54:37 +01:00
Fabian
193ec30038
Add bzimage/initrd to UI
2022-03-10 21:46:57 +01:00
Fabian
48882e33ae
Accept irregular floppy disk sizes
2022-03-10 21:46:57 +01:00