js-dos 8.1.5 → 8.1.7
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.
- package/dist/emulators/emulators.js +2 -0
- package/dist/emulators/emulators.js.map +1 -0
- package/dist/emulators/types/build.d.ts +28 -0
- package/dist/emulators/types/dos/bundle/dos-bundle.d.ts +20 -0
- package/dist/emulators/types/dos/dosbox/ts/direct.d.ts +3 -0
- package/dist/emulators/types/dos/dosbox/ts/worker.d.ts +3 -0
- package/dist/emulators/types/emulators.d.ts +76 -0
- package/dist/emulators/types/http.d.ts +9 -0
- package/dist/emulators/types/impl/ci-impl.d.ts +29 -0
- package/dist/emulators/types/impl/emulators-impl.d.ts +26 -0
- package/dist/emulators/types/impl/modules.d.ts +38 -0
- package/dist/emulators/types/libzip/libzip.d.ts +16 -0
- package/dist/emulators/types/protocol/messages-queue.d.ts +8 -0
- package/dist/emulators/types/protocol/protocol.d.ts +128 -0
- package/dist/emulators/wdosbox-x.js +55 -0
- package/dist/emulators/wdosbox-x.js.symbols +8760 -0
- package/dist/emulators/wdosbox-x.wasm +0 -0
- package/dist/emulators/wdosbox.js +55 -0
- package/dist/emulators/wdosbox.js.symbols +3001 -0
- package/dist/emulators/wdosbox.wasm +0 -0
- package/dist/emulators/wlibzip.js +21 -0
- package/dist/emulators/wlibzip.js.symbols +268 -0
- package/dist/emulators/wlibzip.wasm +0 -0
- package/dist/js-dos.css +1 -0
- package/dist/js-dos.js +22 -0
- package/dist/js-dos.js.map +1 -0
- package/package.json +1 -1
- package/release.zip +0 -0
- package/.eslintrc.json +0 -43
- package/.github/workflows/build.yml +0 -51
- package/.gitmodules +0 -4
- package/index.html +0 -110
- package/postcss.config.cjs +0 -8
- package/src/app.css +0 -14
- package/src/base.css +0 -10
- package/src/components/checkbox.tsx +0 -41
- package/src/components/close-button.tsx +0 -17
- package/src/components/components.css +0 -28
- package/src/components/dos-option-checkbox.tsx +0 -94
- package/src/components/dos-option-select.tsx +0 -108
- package/src/components/dos-option-slider.tsx +0 -35
- package/src/components/error.tsx +0 -16
- package/src/components/loading.tsx +0 -26
- package/src/components/lock.tsx +0 -10
- package/src/components/select.tsx +0 -33
- package/src/components/slider.tsx +0 -69
- package/src/download-file.ts +0 -18
- package/src/frame/account-frame.tsx +0 -156
- package/src/frame/editor/defaults.ts +0 -419
- package/src/frame/editor/editor-conf-frame.tsx +0 -227
- package/src/frame/editor/editor-frame.css +0 -55
- package/src/frame/editor/editor-fs-frame.tsx +0 -314
- package/src/frame/fat-drives-frame.tsx +0 -199
- package/src/frame/frame.css +0 -119
- package/src/frame/frame.tsx +0 -34
- package/src/frame/image-rendering-frame.tsx +0 -8
- package/src/frame/network-frame.tsx +0 -157
- package/src/frame/quick-save-frame.tsx +0 -98
- package/src/frame/settings-frame.tsx +0 -14
- package/src/frame/stats-frame.tsx +0 -87
- package/src/host/bundle-storage.ts +0 -91
- package/src/host/fullscreen.ts +0 -35
- package/src/host/lcache.ts +0 -203
- package/src/host/lstorage.ts +0 -156
- package/src/i18n.ts +0 -185
- package/src/index.css +0 -7
- package/src/load.ts +0 -132
- package/src/login/login.css +0 -9
- package/src/login/login.tsx +0 -77
- package/src/main.tsx +0 -197
- package/src/public/types.ts +0 -45
- package/src/sidebar/account-button.tsx +0 -33
- package/src/sidebar/cloud-save-button.tsx +0 -89
- package/src/sidebar/diskette-icon.tsx +0 -14
- package/src/sidebar/fullscreen-button.tsx +0 -44
- package/src/sidebar/network-button.tsx +0 -39
- package/src/sidebar/sidebar-button.tsx +0 -244
- package/src/sidebar/sidebar.css +0 -47
- package/src/sidebar/sidebar.tsx +0 -30
- package/src/sockdrive/LICENSE +0 -674
- package/src/sockdrive/README.md +0 -45
- package/src/sockdrive/include/sockdrive.h +0 -23
- package/src/sockdrive/js/.eslintrc.json +0 -43
- package/src/sockdrive/js/package.json +0 -29
- package/src/sockdrive/js/src/fatfs/chains.js +0 -318
- package/src/sockdrive/js/src/fatfs/dir.js +0 -385
- package/src/sockdrive/js/src/fatfs/helpers.js +0 -210
- package/src/sockdrive/js/src/fatfs/index.js +0 -606
- package/src/sockdrive/js/src/fatfs/structs.js +0 -255
- package/src/sockdrive/js/src/fatfs/vol.js +0 -166
- package/src/sockdrive/js/src/sockdrive/cache.ts +0 -56
- package/src/sockdrive/js/src/sockdrive/drive.ts +0 -471
- package/src/sockdrive/js/src/sockdrive/lru.ts +0 -221
- package/src/sockdrive/js/src/sockdrive/types.ts +0 -14
- package/src/sockdrive/js/src/sockdrive-fat.d.ts +0 -64
- package/src/sockdrive/js/src/sockdrive-fat.ts +0 -226
- package/src/sockdrive/js/src/sockdrive-native.ts +0 -100
- package/src/sockdrive/js/src/test/test.ts +0 -289
- package/src/sockdrive/js/tsconfig.json +0 -11
- package/src/sockdrive/js/webpack.config.js +0 -68
- package/src/sockdrive/js/yarn.lock +0 -1808
- package/src/store/auth.ts +0 -115
- package/src/store/dos.ts +0 -305
- package/src/store/editor.ts +0 -61
- package/src/store/init.ts +0 -48
- package/src/store/storage.ts +0 -32
- package/src/store/ui.ts +0 -191
- package/src/store.tsx +0 -116
- package/src/ui.tsx +0 -140
- package/src/v8/changes.ts +0 -56
- package/src/v8/config.ts +0 -20
- package/src/v8/subscriptions.ts +0 -62
- package/src/vite-env.d.ts +0 -5
- package/src/window/dos/controls/keyboard.ts +0 -32
- package/src/window/dos/controls/keys.ts +0 -331
- package/src/window/dos/controls/mouse/mount.ts +0 -99
- package/src/window/dos/controls/mouse/mouse-locked.ts +0 -51
- package/src/window/dos/controls/mouse/mouse-not-locked.ts +0 -84
- package/src/window/dos/controls/mouse/mouse-swipe.ts +0 -57
- package/src/window/dos/controls/mouse/pointer.ts +0 -85
- package/src/window/dos/controls/mouse.ts +0 -21
- package/src/window/dos/dos-dhry2.tsx +0 -191
- package/src/window/dos/dos-runtime.tsx +0 -216
- package/src/window/dos/dos-window.tsx +0 -91
- package/src/window/dos/render/canvas.ts +0 -65
- package/src/window/dos/render/resize.ts +0 -31
- package/src/window/dos/render/webgl.ts +0 -173
- package/src/window/dos/sound/audio-node.ts +0 -148
- package/src/window/error-window.tsx +0 -9
- package/src/window/loading-window.tsx +0 -54
- package/src/window/prerun-window.tsx +0 -121
- package/src/window/select-window.tsx +0 -118
- package/src/window/window.css +0 -78
- package/src/window/window.tsx +0 -49
- package/src/ws/ws-sockdrive.ts +0 -123
- package/src/ws/ws-transport-layer.ts +0 -468
- package/tailwind.config.cjs +0 -48
- package/tsconfig.json +0 -32
- package/tsconfig.node.json +0 -9
- package/vite.config.ts +0 -25
|
@@ -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,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
|
+
}
|