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