Joe Osborn
66dab8f39a
Make screenshot function return an Image ( #820 )
...
* Make screenshot facility return an Image
Returning an image rather than always opennig a new window slightly
expands the utility of embedding v86---we may want to take a
screenshot and use just its data without asking the user to download it.
2023-04-14 09:26:04 +02:00
Lucia Ceionia
d2f85b46d0
VGA text mode should display ⌂ for 0x7F, not DEL.
2023-02-20 11:43:56 +01:00
Fabian
d1cf93e2ed
Add redox ( #301 )
2022-11-26 14:11:19 -06:00
Fabian
011c94e009
Add fiwix
2022-11-26 14:11:19 -06:00
Fabian
bffa5b80a7
mxcsr: log less
2022-11-26 14:11:19 -06:00
Fabian
af1cb6d17d
make some jit parameters configurable at runtime
2022-11-26 14:11:19 -06:00
Fabian
14b72530d4
fix: mov sreg, reg triggers pf before ud
2022-11-26 14:11:19 -06:00
Fabian
651d0d83f9
fix push sreg only touches 16 bits of the stack dword
2022-11-26 14:11:19 -06:00
Fabian
da0845189b
import recent kvm-unit-test changes (fixes incorrectly failing push es test)
2022-11-26 14:11:19 -06:00
Fabian
3c81e70794
fsave: set high bits of 16-bit fields
2022-11-26 14:11:19 -06:00
Fabian
4932c821e8
jit: generate code for sse moves (f20f1[01], 660f6e, f30f7e, 660fd6)
2022-11-26 14:11:19 -06:00
Fabian
3ed118e790
jit: generate code for punpckldq (660f62)
2022-11-26 14:11:19 -06:00
Fabian
de2a1439aa
jit: generate code for {66,}0f{c4,c5} (pinsrw, pextrw)
2022-11-26 14:11:19 -06:00
Fabian
625fdcd4a2
generate slightly better code for ud2
2022-11-26 14:11:19 -06:00
Fabian
cf61ac635a
vga: correctly advertise the latest bochs version, and make it r/w ( fix #768 )
2022-11-26 14:11:19 -06:00
Fabian
baffa6c0d6
generate code for pshufd (660F70)
2022-11-26 14:11:19 -06:00
Fabian
752869dbff
movs: allow overlapping strings, as long as they don't overlay within a page
2022-11-26 14:11:19 -06:00
Fabian
3bcd997904
fix: rare conditional jump with double fallthrough doesn't set eip correctly
2022-11-26 14:11:19 -06:00
Fabian
1588687e2a
optimise flag generation after adc/sbb
2022-11-26 14:11:19 -06:00
Fabian
6524bbc569
Use local for condition generation after shifts
2022-11-26 14:11:19 -06:00
Fabian
3880583470
Use uint8array.slice over new Uint8Array().set(uint8array.subarray)
2022-11-15 10:14:28 +09:00
Fabian
adb7fe5441
allow entering jit after page walk
2022-11-15 10:14:28 +09:00
Fabian
fc520f2876
allow directory as partfile
2022-11-15 10:14:28 +09:00
Fabian
756ce66888
movs: fast path for unaligned src/dst
2022-11-15 10:14:28 +09:00
Fabian
685c39177f
movs: fast copy into svga lfb
2022-11-15 10:14:28 +09:00
Fabian
70cf369d18
collect stats about segment offsets
2022-11-15 10:14:28 +09:00
Fabian
eea5cb67b0
include CS in flat_segments
2022-11-15 10:14:28 +09:00
Fabian
8bf7a6aac0
generate better conditions after shl/shr/sar with constant shift count
2022-11-15 10:14:28 +09:00
Fabian
71d36b234f
when generating code for a page, use original state flags
2022-11-15 10:14:28 +09:00
Fabian
753a6d1fb3
jit: handle fpu DA group
2022-11-15 10:14:28 +09:00
Fabian
c5ff1d4961
dead code
2022-11-15 10:14:28 +09:00
Fabian
16662ec979
jit: handle {66,}0f17
2022-11-15 10:14:28 +09:00
Fabian
1c8e1bbdfa
jit: handle {66,}0f16
2022-11-15 10:14:28 +09:00
Fabian
3e22884a4a
improve logging in elf
2022-11-15 10:14:28 +09:00
Fabian
d254a6b7b6
refactor cycle_internal
2022-11-15 10:14:28 +09:00
Fabian
cdaf8dca3d
inline function that is only called once
2022-11-15 10:14:28 +09:00
Fabian
7fb9654920
avoid calling jit_dirty_page after page walk in jit mode
2022-11-15 10:14:28 +09:00
Fabian
0596b25f70
improve page heat calculation (combine with recording of entry points)
2022-11-15 10:14:28 +09:00
Fabian
af32a64a3e
log reason for running in interpreted mode when state flags don't match
2022-11-15 10:14:28 +09:00
Fabian
43271295c0
late c2rust cleanup, fix panic in idiv16 in debug build
2022-11-15 10:14:28 +09:00
Fabian
6989ba001a
log the remaining unoptimised conditionals
2022-11-15 10:14:28 +09:00
Fabian
e9a3fc5b00
consider add/inc/dec; jbe optimised in its current form
2022-11-15 10:14:28 +09:00
Fabian
37841eb0c9
optimise and/or/xor/test; jc/jo/jbe/jl/jle
2022-11-15 10:14:28 +09:00
Fabian
da1c713252
optimise inc/dec; jcc
2022-11-15 10:14:28 +09:00
Fabian
625ad2802c
optimise add; jo
2022-11-15 10:14:28 +09:00
Fabian
f8cbf3b2bd
optimise add; jc
2022-11-15 10:14:28 +09:00
Fabian
60b555107f
identify add for the purpose of optimising conditions
2022-11-15 10:14:28 +09:00
Fabian
92313f582c
optimise sub; jle
2022-11-15 10:14:28 +09:00
Fabian
228934d616
optimise sub; jl
2022-11-15 10:14:28 +09:00
Fabian
949081837b
optimise sub; jbe
2022-11-15 10:14:28 +09:00