Commit graph

3159 commits

Author SHA1 Message Date
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
Fabian 7f37fcfccb Fix vga virtual screen size handling (#628) 2022-03-10 21:46:57 +01:00
Fabian dec8fa0b59 Fix svga not rendering pixels at bottom of changed buffer (#628) 2022-03-10 21:46:57 +01:00
Fabian 06df7cc265 Fix 2048 MB memory size 2022-03-10 21:46:57 +01:00
Giulio Zausa f42e204ed3
Allow receiving wasm as a function via wasm_fn (#629)
Allow receiving wasm as a function via wasm_fn (for bundlers)
2022-03-10 21:39:49 +01:00
Fabian d1a949d881 Fix consider svga_offset for putImageData 2022-02-24 00:36:58 +01:00
Fabian 4eb1e5035e Optimised putImageData 2022-02-22 00:39:05 +01:00
Fabian e0551fcee4 minor 2022-02-22 00:39:05 +01:00
Fabian 726bccf7da c2rust cleanup (remove wrapping_*) 2022-02-22 00:39:05 +01:00
Fabian be3be4827d c2rust cleanup (remove _0 from field names) 2022-02-22 00:39:05 +01:00
Fabian 52ccc6a03c Port svga rendering to rust 2022-02-22 00:39:05 +01:00
Fabian 4567188324 Only call pcspeaker-update on writes to counter2 (performance) 2022-02-21 00:11:00 +01:00
Fabian 65899d2073 Fix NaN mips 2022-02-21 00:11:00 +01:00
Fabian 97f29af274 Move around paging code 2022-02-21 00:11:00 +01:00
Fabian 654abe97e3 Fix rtc detection in Linux v5.11+ (see 211e5db1 in the kernel repo) 2022-02-17 17:38:01 +01:00
Fabian e90e150733 physical addresses should be u32 2022-02-17 17:38:01 +01:00
Fabian 4cc3f8adc7 vga: pass buffer from emulator to frontend, remove tell-buffer, avoid storing layers in state (call update_layers in set_state instead) 2022-02-17 17:38:00 +01:00
Fabian 087215133b Dead code 2022-02-17 17:37:14 +01:00
Fabian f9bcb08f78 use String.prototype.repeat 2022-02-17 17:37:14 +01:00
proxy-m e7f574f4d8
fix v86_bin_fallback full path: getDirname (2) (#624)
Fix v86_bin_fallback when wasm_path is given
2022-02-17 14:15:58 +01:00
Andy(Pengan) Zhou 5199c3dc87 Only scale display when window big enough (#622) 2022-02-13 14:00:59 -06:00
Fabian 74dca95e23 idle on hlt instruction 2022-01-30 19:02:39 -06:00
Fabian e5adfc93c2 Clean up externs 2022-01-30 19:02:39 -06:00
Fabian 229310e686 Properly load pdptes when cr3 is loaded (fixes Ubuntu 16) 2022-01-17 18:38:43 -06:00
Fabian 700225bb6b Add FreeNOS (#597) 2022-01-17 17:14:53 -06:00
Fabian 9a041fa0ba Properly apply acpi setting from UI or profile (fix #597) 2022-01-17 17:05:40 -06:00
Fabian 0199a44a0e Add SerenityOS 2022-01-14 17:35:28 -06:00
Fabian 18ab3e8a81 Update sectorlisp 2022-01-14 17:35:28 -06:00
Fabian 5871e6a140 Add NodeOS #598 2022-01-14 17:35:28 -06:00
Fabian 4a9170c2b9 Clean up 2022-01-14 16:49:57 -06:00
Fabian 942b16d71d Delete {read,write}_aligned 2022-01-14 16:49:57 -06:00
Fabian 70b98bbe5a inline 2022-01-14 16:49:57 -06:00
Fabian 4e28e51d04 Clean up 2022-01-14 16:49:57 -06:00
Fabian ff22df3f9c Assert on NX bit 2022-01-14 16:49:57 -06:00
Paweł Marczewski f72d0a9ca0
Add support for PAE (#599)
Physical memory is still limited to 32-bit addresses, but systems that enable PAE should work now.
2022-01-14 21:19:54 +01:00
Fabian 6b9d1f74d5 Fix acpi setting not being applied in state image (fix 9front) 2022-01-06 17:52:02 -06:00
Fabian 7117e2880c minor 2021-12-16 16:52:12 -05:00
Fabian 48eb6cb51b Add android 4.4 kitkat 2021-12-16 16:52:12 -05:00
Shizuka0000 42c80ae566
Added url config (#566)
Enable networking, audio, acpi configuration via url parameters
2021-12-16 22:39:13 +01:00
Fabian 53a7904834 Improve mute button 2021-12-16 16:24:33 -05:00
ShuoZheLi 7853d8f191 added logic for sound on/off buttom 2021-12-10 22:51:38 +01:00
ShuoZheLi 46af8ccee1 added is_muted variable 2021-12-10 22:51:38 +01:00
Fabian bbcd3791a2 Replace macros by closures 2021-11-11 17:39:51 -05:00
Fabian e6c725bf54 Don't export ZSTD_ symbols (reduce wasm size) 2021-11-10 23:19:49 -05:00
Fabian 714105a7bc Remove log_segment_null, debug_set_dispatcher_target, check_dispatcher_target, check_page_switch in release mode 2021-11-10 22:52:05 -05:00
Fabian 31b2582d13 Avoid generating memory read for profiling info in release mode 2021-11-10 22:52:05 -05:00
Fabian a19fefbe84 never inline test_privileges_for_io (reduce wasm size) 2021-11-10 21:36:18 -05:00
Fabian 636217e81d never inline switch_seg (reduce wasm size) 2021-11-10 21:32:44 -05:00
Fabian 851e6a1ab4 never inline trigger_* (reduce wasm size) 2021-11-10 21:29:38 -05:00
Fabian 03053f0b0d Allow specifying memory size via url parameter m=… and vram=… (#448, #510) 2021-11-09 15:29:12 -05:00
Fabian 5fd6e9356d Handle page switch in conditional jump when both cases are fallthroughs (occurs when MAX_PAGES=30) 2021-11-09 14:31:02 -05:00
Fabian abe5b972e0 Optimise negated condition if reordered 2021-11-08 23:25:41 -05:00
Fabian e95aed2b22 Remove optimisation (never happens across all tests) 2021-11-08 23:25:34 -05:00
Fabian 577d403d14 fix: panic in conditional branch code generation due to label_for_addr not being valid in fallthroughs, using index_for_addr instead (#547) 2021-11-08 23:25:25 -05:00
Fabian 340f1cce12 far jump/int: fix fetch of esp from 16-bit tss and improve bounds checks, restore previously disabled assertion 2021-11-08 23:25:21 -05:00
Fabian 96735eba68 iret: Implement eip limit check (fix ubuntu 10 #474) 2021-11-08 23:25:16 -05:00
Fabian 9cffa38ca0 Use gen_set_reg16_unmasked for mov r16, imm 2021-11-08 23:25:10 -05:00
Fabian 52a8a1bf56 Add psychdos, haiku-boot and archlinux-boot profiles 2021-11-04 21:00:15 -05:00
Fabian 1218bafae5 Add cdn query parameter for testing 2021-11-04 20:27:52 -05:00
Fabian 5877d36bf5 Add sectorlisp and sectorforth 2021-11-04 20:13:58 -05:00
Fabian 7814f96e1c Dead debug code 2021-11-04 18:51:36 -05:00
Fabian 2418f6c6df Retry 5xx and error'd requests 2021-11-04 18:51:36 -05:00
Fabian 39ab3b6d03 preventDefault in mousedown/mouseup events (fixes text selection in Firefox) 2021-11-04 18:51:36 -05:00
Fabian 30fa3dbaf9 Clean up 2021-11-04 18:51:36 -05:00
Fabian be477084a9 Add assertion 2021-11-04 18:51:36 -05:00
Fabian 36fcfe1b16 jit not8/neg8 2021-11-04 18:51:36 -05:00
Fabian 65a75d4fe3 Additional assertions for the return value of mmap_read8 and mmap_read16 2021-11-04 18:51:36 -05:00
Fabian 23d4f862e6 Avoid local when modrm address is single register without offset 2021-11-04 18:51:36 -05:00
Fabian c5dbd55d53 Fix macros used as expression 2021-10-29 01:18:21 +02:00
Fabian 6def710a62 Clean up code, add missing handle_read, replace imgsplit with gnu split 2021-10-20 19:06:58 +02:00
pixelsuft 271c8a9c53 Add splitting without server side 2021-10-20 19:06:58 +02:00
Andrew Au 2034526624 Include the controller output port concept 2021-10-18 02:21:40 +02:00
Andrew Au e5efc198e5 Supports disabling A20 through PS/2 2021-10-18 02:21:40 +02:00
Aty 447897d91c
Fix UART bug (#486) 2021-06-11 23:22:26 +02:00
Heyang Zhou 8eb8dd9d9d
Use queueMicrotask for fast_next_tick in Web Worker environment. (#477)
Optimize performance in worker.
2021-06-05 18:27:01 +02:00
parkertomatoes 4e5f62bbc1
Mask values written to mmap_write{8,16} (fix #460) 2021-05-24 01:18:50 +02:00
Fabian 3387b9b56c Minor improvement 2021-05-23 00:00:22 -05:00
Fabian b4936b32d4 Dead 2021-05-22 23:59:24 -05:00
Fabian f3e79ae6be Less verbose logging 2021-05-22 23:59:24 -05:00
Fabian 199b1ceb49 Fix 32-bit wrap-around for profiler and opstats 2021-05-22 23:58:23 -05:00
Fabian 1b06e7bd34 Improve code for some sign/zero-extending moves 2021-05-22 23:58:23 -05:00
Fabian d47be4342d set_reg16 unmasked 2021-05-22 23:58:23 -05:00
Fabian c430c1141c Minor optimisation for bt{,s,r,c} with zero offset 2021-05-22 23:58:23 -05:00
Fabian da4470233c fix paste into serial console 2021-05-22 23:58:23 -05:00
Fabian ffe80edece Remove function from non-profiled builds 2021-05-22 23:58:23 -05:00
Fabian 2078d439c6 Remove some hard-coded memory sizes so they can be overwritten 2021-05-22 23:58:23 -05:00
Fabian ffac529747 Rewrite write_leb_i64 (fixes bug with upper bits of constant) 2021-05-22 23:58:23 -05:00
Fabian 2f2fff26a9 tlb_set_has_code_multiple 2021-05-22 23:58:22 -05:00
Fabian 7666805117 Fix tlb invariant check 2021-05-22 23:20:47 -05:00
Fabian fd1626cd87 Fix movs jit 2021-05-22 23:20:47 -05:00
viorelcanja 757d95b6be
Mem fast path optimization (#469)
Remove one addition from the memory access fast path
2021-05-23 06:03:34 +02:00
viorelcanja 0297f48346
resize tlb_data to proper size (#468)
Resize tlb_data to proper size

Reduce initial memory size
2021-05-08 22:49:37 +02:00
Viorel Canja 5b79e47bc9 avoid ending jit_run_interpreted in the middle of a basic block 2021-05-04 20:30:08 +02:00
Simon Kadisch 690354e69e Provide access to CPU memory via V86Starter 2021-04-23 01:07:50 +02:00
Simon Kadisch c8581d9ba6 Restore UART2 and UART3 correctly 2021-04-21 20:12:39 +02:00
Fabian 3137bf4171 Fix movsw jit 2021-04-12 15:17:43 -05:00
Fabian 9e9af6d45b NetBSD, floppy bird 2021-04-10 17:22:28 -05:00
Fabian 74dd588b75 vga: dac color index wrap-around 2021-04-10 17:19:40 -05:00
Fabian b1025783a1 Assertion in CachedStateFlags 2021-04-10 16:50:28 -05:00
Fabian 594caa2a73 Simplify 2021-04-10 16:48:44 -05:00
Fabian 0db7ab6505 Dead code 2021-04-10 16:48:11 -05:00