From bdcef683aeb765022ae044f0456a02a9dbf7961f Mon Sep 17 00:00:00 2001 From: minjaesong Date: Fri, 27 Nov 2020 16:55:36 +0900 Subject: [PATCH] basic:spc stmt and more sample codes --- assets/basic.js | 10 +++++++++- assets/gugu.bas | 6 ++++++ assets/tri.bas | 7 +++++++ src/net/torvald/tsvm/peripheral/GraphicsAdapter.kt | 2 +- 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 assets/gugu.bas create mode 100644 assets/tri.bas diff --git a/assets/basic.js b/assets/basic.js index 0f19323..9058c06 100644 --- a/assets/basic.js +++ b/assets/basic.js @@ -699,7 +699,10 @@ if no arg text were given (e.g. "10 NEXT"), args will have zero length "END" : function(lnum, args) { serial.println("Program terminated in "+lnum); return Number.MAX_SAFE_INTEGER; // GOTO far-far-away -} +}, +"SPC" : function(lnum, args) { + return oneArgNum(lnum, args, function(lh) { return " ".repeat(lh); }); +}, }; Object.freeze(bStatus.builtin); let bF = {}; @@ -1676,6 +1679,7 @@ bF.system = function(args) { // SYSTEM function tbasexit = true; }; bF.new = function(args) { // NEW function + bStatus.vars = initBvars(); cmdbuf = []; }; bF.renum = function(args) { // RENUM function @@ -1744,7 +1748,11 @@ bF.load = function(args) { // LOAD function } let prg = fs.readAll(); + // reset the environment cmdbuf = []; + bStatus.vars = initBvars(); + + // read the source prg.split('\n').forEach(function(line) { let i = line.indexOf(" "); let lnum = line.slice(0, i); diff --git a/assets/gugu.bas b/assets/gugu.bas new file mode 100644 index 0000000..0be10aa --- /dev/null +++ b/assets/gugu.bas @@ -0,0 +1,6 @@ +10 FOR I = 2 TO 9 +20 FOR J = 1 TO 9 +30 PRINT I; "*"; J; "="; I * J +40 NEXT +50 INPUT "Press Enter Key..."; A +60 NEXT \ No newline at end of file diff --git a/assets/tri.bas b/assets/tri.bas new file mode 100644 index 0000000..542e65e --- /dev/null +++ b/assets/tri.bas @@ -0,0 +1,7 @@ +10 FOR I = 1 TO 20 +20 PRINT SPC(20-I); +30 FOR J = 1 TO I*2 +40 PRINT "*"; +50 NEXT +60 PRINT "" +70 NEXT diff --git a/src/net/torvald/tsvm/peripheral/GraphicsAdapter.kt b/src/net/torvald/tsvm/peripheral/GraphicsAdapter.kt index 6ffc3a0..e4126c2 100644 --- a/src/net/torvald/tsvm/peripheral/GraphicsAdapter.kt +++ b/src/net/torvald/tsvm/peripheral/GraphicsAdapter.kt @@ -1241,7 +1241,7 @@ void main() { val DEFAULT_CONFIG_COLOR_CRT = AdapterConfig( "crt_color", - 560, 448, 80, 32, 254, 255, 256.kB(), "./cp437_fira_code.png", 0.32f, TEXT_TILING_SHADER_COLOUR + 560, 448, 80, 32, 254, 255, 256.kB(), "./FontROM7x14.png", 0.32f, TEXT_TILING_SHADER_COLOUR ) val DEFAULT_CONFIG_PMLCD = AdapterConfig( "pmlcd_inverted",