4843 Commits

Author SHA1 Message Date
Fabian
9735a0eed8 fix fetching wasm progress message 2025-09-20 15:06:02 -03:00
Fabian
ac5e657e5a fix minor error in debug.html 2025-09-20 14:40:00 -03:00
Fabian
71f4a416ab fix warning 2025-09-20 11:37:40 -03:00
Fabian
ccb5e1ce5d disable use of scheduling api for now
see https://github.com/copy/v86/issues/789#issuecomment-3314001637
2025-09-20 11:22:34 -03:00
Fabian
772f0a1faa fix the mobile css 2025-09-19 15:51:12 -03:00
Fabian
0669f7a477 make tests a more reliable latest 2025-09-13 19:25:51 -03:00
Fabian
4e15afcd77 update docs with proper qemu invocation 2025-09-13 19:25:51 -03:00
Fabian
6e3afa67ab remove trailing spaces 2025-09-13 19:25:51 -03:00
Fabian
f6083ac6b0 upgrade haiku to beta5
fixes rare crash

thanks @SuperMaxusa
2025-09-13 19:25:51 -03:00
Fabian
be7a8aa874 apic: reduce verbosity of logging 2025-09-13 19:25:51 -03:00
Fabian
7c4cbd0b04 fix: correct field indices for restoring old state images with apic 2025-09-13 19:25:51 -03:00
Fabian
2f65f9d6d1 use new task scheduling api if available
about 2% faster than the worker-based yield function
2025-09-13 19:25:51 -03:00
Fabian
b0d20cee00 add BSD/OS, Mojo OS, XENUS, Vanadium OS, Asuro and PrettyOS
thanks @SuperMaxusa
2025-09-13 19:25:51 -03:00
SuperMaxusa
464cddcbed fix filters, add "Reset filters" button (#1405) 2025-09-14 00:25:29 +02:00
Christian Schnell
4251ac1a9e bugfix: fixed string concatenation method in DummyScreenAdapter.get_text_row()
previous method created undefined strings, switched to working method
2025-09-08 15:53:28 -06:00
Christian Schnell
18ff2d85a1 concatenate strings without using arrays 2025-09-08 15:53:28 -06:00
Christian Schnell
07270db5f4 inlined and removed function to_unicode() from lib.js 2025-09-08 15:53:28 -06:00
Christian Schnell
dfef28b7e1 changed type of charmap from Array<number> to string 2025-09-08 15:53:28 -06:00
Christian Schnell
0ee4138226 changed mapping of CP437[0] to whitespace 2025-09-08 15:53:28 -06:00
Christian Schnell
7bd35defe9 allow falsey argument to get_charmap() 2025-09-08 15:53:28 -06:00
Christian Schnell
b7ad6ee562 codepage support
Support for encoding 8-bit text into Unicode strings exists in ScreenAdapter but is missing in DummyScreenAdapter.

- Moved and rewrote the CP437-related code in src/browser/screen.js to src/lib.js.
- Added support for codepages other than CP437.
- Made the active codepage configurable in the V86 constructor in options.screen.encoding.

src/lib.js
- Added public function get_charmap(encoding)
  Returns the charmap of type Array<number> for given encoding string.
  Supported encodings: "cp437", "cp858" and "ascii", more can be added easily from
  https://github.com/chschnell/v86-i18n/blob/main/codepage-tables/codepage_tables.js
- Added public function to_unicode(text_8bit, charmap)
  Returns the Unicode string representation of given 8-bit text and charmap.
  Supported types for text_8bit are Array<number>, Uint8Array and number.

src/browser/dummy_screen.js
- Added options argument to DummyScreenAdapter constructor (same as for ScreenAdapter).
- Uses options.encoding argument for user-defined encoding, defaults to "cp437".
- DummyScreenAdapter.get_text_row() now uses to_unicode() for string encoding.

src/browser/screen.js
- Uses options.encoding argument for user-defined encoding, defaults to "cp437".
- DummyScreenAdapter.get_text_row() now uses to_unicode() for string encoding.
- Removed CP437 table, no longer needed.

src/browser/starter.js
- Added options argument to DummyScreenAdapter constructor call.
- Removed unneeded assignment to settings.screen_options, this gets overwritten
  a couple of dozen lines below.
2025-09-08 15:53:28 -06:00
SuperMaxusa
95ca55d943 convert count to an unsigned value 2025-09-05 12:08:37 -06:00
SuperMaxusa
3830424c4e ide: ATAPI command READ(12) 2025-09-05 12:08:37 -06:00
Fabian
88d4ba8fe5 fix file locking test 2025-09-05 14:37:17 -03:00
SuperMaxusa
865725bbac rtc: set CMOS battery charge status, add diagnostic status register 2025-09-04 17:36:02 -06:00
Fabian
21a6318a13 improve apic timer 2025-08-25 15:03:49 -06:00
Fabian
c1785b724f change text in html 2025-08-25 15:03:49 -06:00
Fabian
c78885fd84 update paths 2025-08-25 15:03:49 -06:00
Fabian
1301eb1196 keyboard: add MetaLeft/MetaRight key 2025-08-25 15:03:49 -06:00
Fabian
3b0325d899 reactos state image test 2025-08-25 15:03:49 -06:00
Fabian
403f7168b2 add state tests 2025-08-25 15:03:49 -06:00
Fabian
2001db0db3 add delay parameter to V86.prototype.keyboard_send_{scancodes,keys,text} 2025-08-25 15:03:49 -06:00
Fabian
0864656091 add note to BeOS 2025-08-25 15:03:49 -06:00
Fabian
a480e88594 don't fail hard on some odd io port accesses from archhurd 2025-08-25 15:03:49 -06:00
Fabian
73945e4574 optimise apic register_get_highest_bit 2025-08-25 15:03:49 -06:00
Fabian
da3547a96f don't hard fail on some MSR writes 2025-08-25 15:03:49 -06:00
Fabian
7a2df17dae pic ain't unsafe 2025-08-25 15:03:49 -06:00
Fabian
dfbe60926b option to run all tests with acpi forced on 2025-08-25 15:03:49 -06:00
Fabian
8f66766f49 gitignore bench-results 2025-08-25 15:03:49 -06:00
Fabian
fe50e6ff6f remove allow(const_item_mutation) 2025-08-25 15:03:49 -06:00
Fabian
c6c2017ba8 port apic & ioapic to rust
- handle mmap access and port io directly in rust
- call handle_irqs after port/memory writes, rather than from the
  interrupt hw directly; this makes it more obvious that handle_irqs is
  dangerous as it can change control flow

state images produced by this version are not backwards-compatible (older stage images will still be working)
2025-08-25 15:03:49 -06:00
Fabian
244a877989 minor: move env variables to top of file 2025-08-25 15:03:49 -06:00
Fabian
7c6da9d8f2 disable mouse by default in buildroot profile 2025-08-25 15:03:49 -06:00
Fabian
9a2e81b35b fix: onclick handler errors if there is no audio context 2025-08-25 15:03:49 -06:00
Fabian
525fa58719 validate empty disk size 2025-08-25 15:03:49 -06:00
Fabian
2f040c0502 minor: move mark_dirty into memcpy_into_svga_lfb 2025-08-25 15:03:49 -06:00
Fabian
ab4440d28f ide: don't assert on vendor-specific command (BSD/OS 4) 2025-08-25 15:03:49 -06:00
Fabian
c2dc88dd15 improve assertion for esp < limit check 2025-08-25 15:03:49 -06:00
Fabian
af483a9036 add some stub MSRs 2025-08-25 15:03:49 -06:00
Fabian
d074a7f8a4 make #ud non-panic 2025-08-25 15:03:49 -06:00