From e0eba43fe0577d96f2b4bf48f1ca23d9730d5c60 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Sun, 1 Nov 2020 14:42:32 +0900 Subject: [PATCH] execApp func for dos --- assets/tvdos/TVDOS.SYS | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/assets/tvdos/TVDOS.SYS b/assets/tvdos/TVDOS.SYS index 6d996b8..25b0cad 100644 --- a/assets/tvdos/TVDOS.SYS +++ b/assets/tvdos/TVDOS.SYS @@ -61,6 +61,13 @@ Object.freeze(filesystem); filesystem.open("A", "tvdos/gl.js", "R"); var GL = eval(filesystem.readAll("A")); +// @param cmdsrc JS source code +// @param args arguments for the program, must be Array +var execApp = function(cmdsrc, args) { + let prg = eval("let _appStub=function(exec_args){"+cmdsrc+"};_appStub;"); // making 'exec_args' a app-level global + return prg(args); +} + /////////////////////////////////////////////////////////////////////////////// // Boot script @@ -68,7 +75,6 @@ filesystem.open("A", "tvdos/command.js", "R"); let cmdsrc = filesystem.readAll("A"); // app execution stub -let prg = eval("let _appStub=function(exec_args){"+cmdsrc+"};_appStub;"); // making 'exec_args' a app-level global -prg(undefined); -//let testtest = prg(42); -//println(testtest.test); +execApp(cmdsrc); +//let sh = execApp(cmdsrc, [42]); +//println(sh.test);