virtual terminal wip

This commit is contained in:
minjaesong
2025-07-24 23:02:12 +09:00
parent 923137d459
commit a4cf087bfa
6 changed files with 110 additions and 13 deletions

View File

@@ -56,11 +56,33 @@ let runner = undefined
function startNewInstance() {
runner = parallel.attachProgram("TVDOS", parallel.spawnNewContext(), bios)
serial.println("Starting new instance "+runner)
parallel.launch(runner)
sys.sleep(1000)
}
function startNewInstanceOnVT(vtIndex) {
if (isNaN(index) || index !== index) throw Error("VT index must be a numeric value")
if (index <= 0) throw Error(`VT index cannot be zero or negative (${vtIndex})`)
// Ensure VT exists
if (!_TVDOS.VT_CONTEXTS[vtIndex]) {
mkdevvt(vtIndex)
}
// Create context with VT binding
let contextInit = `_TVDOS.CURRENT_VT = ${vtIndex};${bios}`
runner = parallel.attachProgram(`TVDOS-VT${vtIndex}`, parallel.spawnNewContext(), contextInit)
serial.println(`Starting new instance ${runner} on VT${vtIndex}`)
parallel.launch(runner)
sys.sleep(50)
}
const randomkeypusher = `
while (1) {
sys.poke(-38, 65 + (Math.random()*26)|0)