diff --git a/index.html b/index.html index 018da3f..f6bdf54 100644 --- a/index.html +++ b/index.html @@ -40,7 +40,7 @@ LinkedIn - daipham-3213 - +
diff --git a/src/js/main.js b/src/js/main.js index cb00c6d..5b44650 100644 --- a/src/js/main.js +++ b/src/js/main.js @@ -11,6 +11,8 @@ terminalElement.style.display = 'none'; serial.style.display = 'block'; let progressTicks = 0; +window.started = false; + const emulator = new window.V86({ wasm_path: '/v86/v86.wasm', screen_container: serial, @@ -25,7 +27,6 @@ const emulator = new window.V86({ }, filesystem: { basefs: '/contents.json', - baseurl: '/flat', }, autostart: true, disable_keyboard: true, @@ -40,16 +41,17 @@ if (import.meta.env.DEV) { emulator.add_listener('serial0-output-byte', (byte) => { const char = String.fromCharCode(byte); - if (char === '$' || char === '#') { - emulator.serial_adapter.term.write('\r\n'); - - terminalElement.style.display = 'block'; - serial.style.display = 'none'; - state.textContent = ''; - - loadAddons(emulator.serial_adapter.term); - registerUploadFilesModal({ emulator }); - terminalElement.focus(); + if (char === '$' || char === '#' || char === ':') { + if (!window.started) { + window.started = true; + terminalElement.style.display = 'block'; + serial.style.display = 'none'; + state.textContent = ''; + + loadAddons(emulator.serial_adapter.term); + registerUploadFilesModal({ emulator }); + terminalElement.focus(); + } } }); diff --git a/src/js/upload-files.js b/src/js/upload-files.js index 07c517f..4f7d286 100644 --- a/src/js/upload-files.js +++ b/src/js/upload-files.js @@ -58,7 +58,7 @@ const registerUploadFilesModal = ({ emulator }) => { if (fileInput && selectedFilenameSpan) { fileInput.addEventListener('change', () => { if (fileInput.files.length > 0) { - selectFileButton.textContent = Array.from(fileInput.files).reduce( + selectedFilenameSpan.textContent = Array.from(fileInput.files).reduce( (acc, file, i) => { const separator = i === 0 ? '' : ', '; return `${separator}${file.name}`; @@ -66,7 +66,7 @@ const registerUploadFilesModal = ({ emulator }) => { ); Array.from(fileInput.files).forEach((_file) => { const reader = new FileReader(); - const path = `/${_file.name}`; + const path = `/daiplg/${_file.name}`; reader.onload = (f) => { const data = new Uint8Array(f.target.result); return emulator.create_file(path, data);