js-dos 8.1.4 → 8.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/README.md +1 -1
  2. package/dist/emulators/emulators.js +2 -0
  3. package/dist/emulators/emulators.js.map +1 -0
  4. package/dist/emulators/types/build.d.ts +28 -0
  5. package/dist/emulators/types/dos/bundle/dos-bundle.d.ts +20 -0
  6. package/dist/emulators/types/dos/dosbox/ts/direct.d.ts +3 -0
  7. package/dist/emulators/types/dos/dosbox/ts/worker.d.ts +3 -0
  8. package/dist/emulators/types/emulators.d.ts +76 -0
  9. package/dist/emulators/types/http.d.ts +9 -0
  10. package/dist/emulators/types/impl/ci-impl.d.ts +29 -0
  11. package/dist/emulators/types/impl/emulators-impl.d.ts +26 -0
  12. package/dist/emulators/types/impl/modules.d.ts +38 -0
  13. package/dist/emulators/types/libzip/libzip.d.ts +16 -0
  14. package/dist/emulators/types/protocol/messages-queue.d.ts +8 -0
  15. package/dist/emulators/types/protocol/protocol.d.ts +128 -0
  16. package/dist/emulators/wdosbox-x.js +55 -0
  17. package/dist/emulators/wdosbox-x.js.symbols +8760 -0
  18. package/dist/emulators/wdosbox-x.wasm +0 -0
  19. package/dist/emulators/wdosbox.js +55 -0
  20. package/dist/emulators/wdosbox.js.symbols +3001 -0
  21. package/dist/emulators/wdosbox.wasm +0 -0
  22. package/dist/emulators/wlibzip.js +21 -0
  23. package/dist/emulators/wlibzip.js.symbols +268 -0
  24. package/dist/emulators/wlibzip.wasm +0 -0
  25. package/dist/js-dos.css +1 -0
  26. package/dist/js-dos.js +22 -0
  27. package/dist/js-dos.js.map +1 -0
  28. package/package.json +1 -1
  29. package/release.zip +0 -0
  30. package/.eslintrc.json +0 -43
  31. package/.github/workflows/build.yml +0 -51
  32. package/.gitmodules +0 -4
  33. package/index.html +0 -110
  34. package/postcss.config.cjs +0 -8
  35. package/src/app.css +0 -14
  36. package/src/base.css +0 -10
  37. package/src/components/checkbox.tsx +0 -41
  38. package/src/components/close-button.tsx +0 -17
  39. package/src/components/components.css +0 -28
  40. package/src/components/dos-option-checkbox.tsx +0 -94
  41. package/src/components/dos-option-select.tsx +0 -108
  42. package/src/components/dos-option-slider.tsx +0 -35
  43. package/src/components/error.tsx +0 -16
  44. package/src/components/loading.tsx +0 -26
  45. package/src/components/lock.tsx +0 -10
  46. package/src/components/select.tsx +0 -33
  47. package/src/components/slider.tsx +0 -69
  48. package/src/download-file.ts +0 -18
  49. package/src/frame/account-frame.tsx +0 -156
  50. package/src/frame/editor/defaults.ts +0 -419
  51. package/src/frame/editor/editor-conf-frame.tsx +0 -227
  52. package/src/frame/editor/editor-frame.css +0 -55
  53. package/src/frame/editor/editor-fs-frame.tsx +0 -314
  54. package/src/frame/fat-drives-frame.tsx +0 -199
  55. package/src/frame/frame.css +0 -119
  56. package/src/frame/frame.tsx +0 -34
  57. package/src/frame/image-rendering-frame.tsx +0 -8
  58. package/src/frame/network-frame.tsx +0 -157
  59. package/src/frame/quick-save-frame.tsx +0 -98
  60. package/src/frame/settings-frame.tsx +0 -14
  61. package/src/frame/stats-frame.tsx +0 -87
  62. package/src/host/bundle-storage.ts +0 -91
  63. package/src/host/fullscreen.ts +0 -35
  64. package/src/host/lcache.ts +0 -203
  65. package/src/host/lstorage.ts +0 -156
  66. package/src/i18n.ts +0 -185
  67. package/src/index.css +0 -7
  68. package/src/load.ts +0 -132
  69. package/src/login/login.css +0 -9
  70. package/src/login/login.tsx +0 -77
  71. package/src/main.tsx +0 -197
  72. package/src/public/types.ts +0 -45
  73. package/src/sidebar/account-button.tsx +0 -33
  74. package/src/sidebar/cloud-save-button.tsx +0 -89
  75. package/src/sidebar/diskette-icon.tsx +0 -14
  76. package/src/sidebar/fullscreen-button.tsx +0 -44
  77. package/src/sidebar/network-button.tsx +0 -39
  78. package/src/sidebar/sidebar-button.tsx +0 -244
  79. package/src/sidebar/sidebar.css +0 -47
  80. package/src/sidebar/sidebar.tsx +0 -30
  81. package/src/sockdrive/LICENSE +0 -674
  82. package/src/sockdrive/README.md +0 -45
  83. package/src/sockdrive/include/sockdrive.h +0 -23
  84. package/src/sockdrive/js/.eslintrc.json +0 -43
  85. package/src/sockdrive/js/package.json +0 -29
  86. package/src/sockdrive/js/src/fatfs/chains.js +0 -318
  87. package/src/sockdrive/js/src/fatfs/dir.js +0 -385
  88. package/src/sockdrive/js/src/fatfs/helpers.js +0 -210
  89. package/src/sockdrive/js/src/fatfs/index.js +0 -606
  90. package/src/sockdrive/js/src/fatfs/structs.js +0 -255
  91. package/src/sockdrive/js/src/fatfs/vol.js +0 -166
  92. package/src/sockdrive/js/src/sockdrive/cache.ts +0 -56
  93. package/src/sockdrive/js/src/sockdrive/drive.ts +0 -471
  94. package/src/sockdrive/js/src/sockdrive/lru.ts +0 -221
  95. package/src/sockdrive/js/src/sockdrive/types.ts +0 -14
  96. package/src/sockdrive/js/src/sockdrive-fat.d.ts +0 -64
  97. package/src/sockdrive/js/src/sockdrive-fat.ts +0 -226
  98. package/src/sockdrive/js/src/sockdrive-native.ts +0 -100
  99. package/src/sockdrive/js/src/test/test.ts +0 -289
  100. package/src/sockdrive/js/tsconfig.json +0 -11
  101. package/src/sockdrive/js/webpack.config.js +0 -68
  102. package/src/sockdrive/js/yarn.lock +0 -1808
  103. package/src/store/auth.ts +0 -115
  104. package/src/store/dos.ts +0 -305
  105. package/src/store/editor.ts +0 -61
  106. package/src/store/init.ts +0 -48
  107. package/src/store/storage.ts +0 -32
  108. package/src/store/ui.ts +0 -191
  109. package/src/store.tsx +0 -116
  110. package/src/ui.tsx +0 -140
  111. package/src/v8/changes.ts +0 -56
  112. package/src/v8/config.ts +0 -20
  113. package/src/v8/subscriptions.ts +0 -62
  114. package/src/vite-env.d.ts +0 -5
  115. package/src/window/dos/controls/keyboard.ts +0 -32
  116. package/src/window/dos/controls/keys.ts +0 -331
  117. package/src/window/dos/controls/mouse/mount.ts +0 -99
  118. package/src/window/dos/controls/mouse/mouse-locked.ts +0 -51
  119. package/src/window/dos/controls/mouse/mouse-not-locked.ts +0 -84
  120. package/src/window/dos/controls/mouse/mouse-swipe.ts +0 -57
  121. package/src/window/dos/controls/mouse/pointer.ts +0 -85
  122. package/src/window/dos/controls/mouse.ts +0 -21
  123. package/src/window/dos/dos-dhry2.tsx +0 -191
  124. package/src/window/dos/dos-runtime.tsx +0 -216
  125. package/src/window/dos/dos-window.tsx +0 -91
  126. package/src/window/dos/render/canvas.ts +0 -65
  127. package/src/window/dos/render/resize.ts +0 -31
  128. package/src/window/dos/render/webgl.ts +0 -173
  129. package/src/window/dos/sound/audio-node.ts +0 -148
  130. package/src/window/error-window.tsx +0 -9
  131. package/src/window/loading-window.tsx +0 -54
  132. package/src/window/prerun-window.tsx +0 -121
  133. package/src/window/select-window.tsx +0 -118
  134. package/src/window/window.css +0 -78
  135. package/src/window/window.tsx +0 -49
  136. package/src/ws/ws-sockdrive.ts +0 -123
  137. package/src/ws/ws-transport-layer.ts +0 -468
  138. package/tailwind.config.cjs +0 -48
  139. package/tsconfig.json +0 -32
  140. package/tsconfig.node.json +0 -9
  141. package/vite.config.ts +0 -25
@@ -0,0 +1,26 @@
1
+ import { Emulators, CommandInterface, BackendOptions, DosConfig, InitFs, InitBundleEntry } from "../emulators";
2
+ import { IWasmModules } from "./modules";
3
+ import DosBundle from "../dos/bundle/dos-bundle";
4
+ import { TransportLayer } from "../protocol/protocol";
5
+ declare class EmulatorsImpl implements Emulators {
6
+ pathPrefix: string;
7
+ version: string;
8
+ wdosboxJs: string;
9
+ wdosboxxJs: string;
10
+ private wasmModulesPromise?;
11
+ bundle(): Promise<DosBundle>;
12
+ bundleConfig(bundle: InitBundleEntry): Promise<DosConfig | null>;
13
+ bundleUpdateConfig(bundle: InitBundleEntry, config: DosConfig): Promise<Uint8Array>;
14
+ dosboxNode(init: InitFs, options?: BackendOptions): Promise<CommandInterface>;
15
+ dosboxDirect(init: InitFs, options?: BackendOptions): Promise<CommandInterface>;
16
+ dosboxWorker(init: InitFs, options?: BackendOptions): Promise<CommandInterface>;
17
+ dosboxXNode(init: InitFs, options?: BackendOptions): Promise<CommandInterface>;
18
+ dosboxXDirect(init: InitFs, options?: BackendOptions): Promise<CommandInterface>;
19
+ dosboxXWorker(init: InitFs, options?: BackendOptions): Promise<CommandInterface>;
20
+ backend(init: InitFs, transportLayer: TransportLayer, options?: BackendOptions): Promise<CommandInterface>;
21
+ wasmModules(): Promise<IWasmModules>;
22
+ dosDirect(init: InitFs): Promise<CommandInterface>;
23
+ dosWorker(init: InitFs): Promise<CommandInterface>;
24
+ }
25
+ declare const emulators: EmulatorsImpl;
26
+ export default emulators;
@@ -0,0 +1,38 @@
1
+ export interface WasmModule {
2
+ instantiate: (module?: any) => Promise<any>;
3
+ }
4
+ export interface IWasmModules {
5
+ libzip: () => Promise<WasmModule>;
6
+ dosbox: () => Promise<WasmModule>;
7
+ dosboxx: () => Promise<WasmModule>;
8
+ }
9
+ interface Globals {
10
+ exports: {
11
+ [moduleName: string]: any;
12
+ };
13
+ compiled: {
14
+ [moduleName: string]: Promise<WasmModule>;
15
+ };
16
+ }
17
+ declare class Host {
18
+ wasmSupported: boolean;
19
+ globals: Globals;
20
+ constructor();
21
+ }
22
+ export declare const host: Host;
23
+ export declare class WasmModulesImpl implements IWasmModules {
24
+ private pathPrefix;
25
+ private wdosboxJs;
26
+ private wdosboxxJs;
27
+ private libzipPromise?;
28
+ private dosboxPromise?;
29
+ private dosboxxPromise?;
30
+ wasmSupported: boolean;
31
+ constructor(pathPrefix: string, wdosboxJs: string, wdosboxxJs: string);
32
+ libzip(): Promise<WasmModule>;
33
+ dosbox(): Promise<WasmModule>;
34
+ dosboxx(): Promise<WasmModule>;
35
+ private loadModule;
36
+ }
37
+ export declare function loadWasmModule(url: string, moduleName: string, onprogress: (stage: string, total: number, loaded: number) => void): Promise<WasmModule>;
38
+ export {};
@@ -0,0 +1,16 @@
1
+ export default class LibZip {
2
+ module: any;
3
+ private home;
4
+ constructor(module: any, home?: string);
5
+ zipFromFs(changedAfterMs?: number): Promise<Uint8Array>;
6
+ zipToFs(zipArchive: Uint8Array, path?: string, filter?: string): Promise<void>;
7
+ writeFile(file: string, body: ArrayBuffer | Uint8Array | string): void;
8
+ readFile(file: string, encoding?: "binary" | "utf8"): Promise<string | Uint8Array>;
9
+ exists(file: string): boolean;
10
+ destroy(): any;
11
+ private normalizeFilename;
12
+ private createPath;
13
+ private chdirToHome;
14
+ private chdir;
15
+ zipAddFile(archive: string, file: string): Promise<void>;
16
+ }
@@ -0,0 +1,8 @@
1
+ import { ServerMessage, MessageHandler } from "./protocol";
2
+ export declare class MessagesQueue {
3
+ private messages;
4
+ handler(name: ServerMessage, props: {
5
+ [key: string]: any;
6
+ }): void;
7
+ sendTo(handler: MessageHandler): void;
8
+ }
@@ -0,0 +1,128 @@
1
+ import { CommandInterface, NetworkType, BackendOptions, DosConfig, InitFsEntry } from "../emulators";
2
+ import { CommandInterfaceEventsImpl } from "../impl/ci-impl";
3
+ export type ClientMessage = "wc-install" | "wc-run" | "wc-pack-fs-to-bundle" | "wc-add-key" | "wc-mouse-move" | "wc-mouse-button" | "wc-mouse-sync" | "wc-exit" | "wc-sync-sleep" | "wc-pause" | "wc-resume" | "wc-mute" | "wc-unmute" | "wc-connect" | "wc-disconnect" | "wc-backend-event" | "wc-asyncify-stats" | "wc-fs-tree" | "wc-fs-get-file" | "wc-send-data-chunk";
4
+ export type ServerMessage = "ws-extract-progress" | "ws-ready" | "ws-server-ready" | "ws-frame-set-size" | "ws-update-lines" | "ws-log" | "ws-warn" | "ws-err" | "ws-stdout" | "ws-exit" | "ws-persist" | "ws-sound-init" | "ws-sound-push" | "ws-config" | "ws-sync-sleep" | "ws-connected" | "ws-disconnected" | "ws-asyncify-stats" | "ws-fs-tree" | "ws-send-data-chunk";
5
+ export type MessageHandler = (name: ServerMessage, props: {
6
+ [key: string]: any;
7
+ }) => void;
8
+ export interface TransportLayer {
9
+ sessionId: string;
10
+ sendMessageToServer(name: ClientMessage, props: {
11
+ [key: string]: any;
12
+ }, transfer?: ArrayBuffer[]): void;
13
+ initMessageHandler(handler: MessageHandler): void;
14
+ exit?: () => void;
15
+ }
16
+ export interface FrameLine {
17
+ start: number;
18
+ heapu8: Uint8Array;
19
+ }
20
+ export interface DataChunk {
21
+ type: "ok" | "file" | "bundle";
22
+ name: string;
23
+ data: ArrayBuffer | null;
24
+ }
25
+ export interface AsyncifyStats {
26
+ messageSent: number;
27
+ messageReceived: number;
28
+ messageFrame: number;
29
+ messageSound: number;
30
+ nonSkippableSleepCount: number;
31
+ sleepCount: number;
32
+ sleepTime: number;
33
+ cycles: number;
34
+ netSent: number;
35
+ netRecv: number;
36
+ driveSent: number;
37
+ driveRecv: number;
38
+ driveRecvTime: number;
39
+ driveCacheHit: number;
40
+ driveCacheMiss: number;
41
+ driveCacheUsed: number;
42
+ }
43
+ export interface FsNode {
44
+ name: string;
45
+ size: number | null;
46
+ nodes: FsNode[] | null;
47
+ }
48
+ export declare class CommandInterfaceOverTransportLayer implements CommandInterface {
49
+ private startedAt;
50
+ private frameWidth;
51
+ private frameHeight;
52
+ private rgb;
53
+ private rgba;
54
+ private freq;
55
+ private utf8Decoder;
56
+ private init?;
57
+ private transport;
58
+ private ready;
59
+ private persistPromise?;
60
+ private persistResolve?;
61
+ private exitPromise?;
62
+ private exitResolve?;
63
+ private eventsImpl;
64
+ private keyMatrix;
65
+ private configPromise;
66
+ private configResolve;
67
+ private panicMessages;
68
+ private connectPromise;
69
+ private connectResolve;
70
+ private connectReject;
71
+ private disconnectPromise;
72
+ private disconnectResolve;
73
+ private asyncifyStatsPromise;
74
+ private asyncifyStatsResolve;
75
+ private fsTreePromise;
76
+ private fsTreeResolve;
77
+ private fsGetFilePromise;
78
+ private fsGetFileResolve;
79
+ private fsGetFileParts;
80
+ private dataChunkPromise;
81
+ private dataChunkResolve;
82
+ options: BackendOptions;
83
+ constructor(init: InitFsEntry[], transport: TransportLayer, ready: (err: Error | null) => void, options: BackendOptions);
84
+ private sendClientMessage;
85
+ private onServerMessage;
86
+ private onConfig;
87
+ private onFrameSize;
88
+ private onFrameLines;
89
+ private onSoundInit;
90
+ private onSoundPush;
91
+ private onLog;
92
+ private onWarn;
93
+ private onErr;
94
+ private onStdout;
95
+ config(): Promise<DosConfig>;
96
+ width(): number;
97
+ height(): number;
98
+ soundFrequency(): number;
99
+ screenshot(): Promise<ImageData>;
100
+ simulateKeyPress(...keyCodes: number[]): void;
101
+ sendKeyEvent(keyCode: number, pressed: boolean): void;
102
+ addKey(keyCode: number, pressed: boolean, timeMs: number): void;
103
+ sendMouseMotion(x: number, y: number): void;
104
+ sendMouseRelativeMotion(x: number, y: number): void;
105
+ sendMouseButton(button: number, pressed: boolean): void;
106
+ sendMouseSync(): void;
107
+ sendBackendEvent(payload: any): void;
108
+ persist(onlyChanges?: boolean): Promise<Uint8Array | null>;
109
+ private onPersist;
110
+ pause(): void;
111
+ resume(): void;
112
+ mute(): void;
113
+ unmute(): void;
114
+ exit(): Promise<void>;
115
+ private onExit;
116
+ events(): CommandInterfaceEventsImpl;
117
+ networkConnect(networkType: NetworkType, address: string): Promise<void>;
118
+ networkDisconnect(networkType: NetworkType): Promise<void>;
119
+ asyncifyStats(): Promise<AsyncifyStats>;
120
+ fsTree(): Promise<FsNode>;
121
+ fsReadFile(file: string): Promise<Uint8Array>;
122
+ fsWriteFile(file: string, contents: ReadableStream<Uint8Array> | Uint8Array): Promise<void>;
123
+ fsDeleteFile(file: string): Promise<void>;
124
+ private sendDataChunk;
125
+ private sendFullDataChunk;
126
+ private dataChunkKey;
127
+ private mergeChunks;
128
+ }