From afda6ca83b1ea6b1d92ee80983b0fb3a2899fceb Mon Sep 17 00:00:00 2001 From: Anachronaut Date: Sun, 6 Sep 2026 19:49:43 -0400 Subject: [PATCH] Finishing says nothing, which is what finishing looks like The shell printed "finished" every time a program gave the machine back. That made sense when starting a program and getting the machine back was most of what the machine did and the prompt was the only other thing on the screen. Under a listing, between two commands, it is noise. And it was printed whatever the program made of it, so a program that had just explained what went wrong was answered with the word "finished" - "there is no such directory: nowhere" and then, immediately, "finished". The prompt coming back is what says a program is over. It is the same argument osLastStatus is made of: a program that failed has already said so in words, and anything the shell adds beside that is the shell talking over it. A program that FAULTED still says so, because the fault screen printed in red above and a program that is gone should not look like one that ended. A NEWLINE ONLY IF ONE IS WANTED. A program that stopped part way along a line would leave the prompt sitting in the middle of its last output, which the word used to prevent by accident. The console knows which column the cursor is in, so the shell asks - where a blank line printed every time would be right about half of the time, and an empty directory listed with ls would be followed by a blank line for no reason. Fifty nine recorded sessions lose the word. Two of them move a cursor up a row with it, which is the same fact seen from the screen. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01E2JrLzFvuFX9fgi1LDRjrW --- Programs/CosmOS/Apps/ls.asm | 9 +++---- Programs/CosmOS/README.md | 3 ++- Programs/CosmOS/Source/cosmos.asm | 39 +++++++++++++++++++--------- Tests/expected/cfgFallback.out | 3 +-- Tests/expected/cosmosBreak.out | 1 - Tests/expected/cosmosClaim.out | 1 - Tests/expected/cosmosCopyCompare.out | 13 ---------- Tests/expected/cosmosCrossDisk.out | 2 -- Tests/expected/cosmosCwd.out | 7 ----- Tests/expected/cosmosEdit.out | 2 -- Tests/expected/cosmosEditLong.out | 5 ---- Tests/expected/cosmosEditService.out | 4 +-- Tests/expected/cosmosFault.out | 1 - Tests/expected/cosmosFlip.out | 3 --- Tests/expected/cosmosGrid.out | 5 +--- Tests/expected/cosmosHello.out | 2 -- Tests/expected/cosmosInvoke.out | 4 --- Tests/expected/cosmosKeys.out | 2 -- Tests/expected/cosmosLanderCrash.out | 1 - Tests/expected/cosmosLanderDry.out | 1 - Tests/expected/cosmosLife.out | 1 - Tests/expected/cosmosLifeKey.out | 1 - Tests/expected/cosmosLs.out | 5 ---- Tests/expected/cosmosMonitor.out | 1 - Tests/expected/cosmosMonitorRun.out | 1 - Tests/expected/cosmosMore.out | 3 --- Tests/expected/cosmosMoreNarrow.out | 2 -- Tests/expected/cosmosNoData.out | 2 -- Tests/expected/cosmosPadApp.out | 1 - Tests/expected/cosmosPress.out | 1 - Tests/expected/cosmosPressKeys.out | 1 - Tests/expected/cosmosRamDisk.out | 1 - Tests/expected/cosmosRun.out | 2 -- Tests/expected/cosmosSay.out | 3 --- Tests/expected/cosmosScript.out | 2 -- Tests/expected/cosmosScriptArgs.out | 1 - Tests/expected/cosmosScriptBad.out | 1 - Tests/expected/cosmosScriptEdges.out | 2 -- Tests/expected/cosmosServices.out | 1 - Tests/expected/cosmosSettle.out | 1 - Tests/expected/cosmosSettled.out | 1 - Tests/expected/cosmosSlowDisk.out | 1 - Tests/expected/cosmosSnake.out | 1 - Tests/expected/cosmosSource.out | 1 - Tests/expected/cosmosSprite.out | 3 --- Tests/expected/cosmosStack.out | 2 -- Tests/expected/cosmosStatus.out | 6 ----- Tests/expected/cosmosStream.out | 1 - Tests/expected/cosmosTabPath.out | 9 +++---- Tests/expected/cosmosTokens.out | 1 - Tests/expected/cosmosTree.out | 4 --- Tests/expected/cosmosTreeWrite.out | 1 - Tests/expected/cosmosType.out | 4 --- Tests/expected/cosmosWalk.out | 2 -- Tests/expected/cosmosWhere.out | 5 ---- Tests/expected/onceAsked.out | 3 +-- Tests/expected/rebootOnce.out | 1 - Tests/expected/romBoot.out | 3 +-- Tests/expected/selfBoot.out | 3 +-- Tests/expected/tune.out | 1 - 60 files changed, 43 insertions(+), 151 deletions(-) diff --git a/Programs/CosmOS/Apps/ls.asm b/Programs/CosmOS/Apps/ls.asm index 9c2f5c4..69a26cd 100644 --- a/Programs/CosmOS/Apps/ls.asm +++ b/Programs/CosmOS/Apps/ls.asm @@ -199,12 +199,10 @@ lsColour: ; ---- What it is, said in colour ---- ; ; The attribute reaches a terminal as well as the screen now, so this is one mechanism and - ; not two. A directory in blue and an unfinished save in red; everything else plain, because - ; whether a file is runnable cannot be known without opening it, and opening every file in a - ; directory to colour a listing is a price nobody agreed to pay. + ; not two. A directory in blue and an unfinished save in red; everything else plain. SETD.0 Kind LDA.0 - BRA lsPlain + BRA lsFileInk DECA BRA lsBlue INIA 0d1 ; An unfinished save, which is worth looking at. @@ -212,7 +210,8 @@ lsColour: lsBlue: INIA 0d4 BRI lsInk -lsPlain: + +lsFileInk: RSTA lsInk: OUTA 0x06 diff --git a/Programs/CosmOS/README.md b/Programs/CosmOS/README.md index a080622..b2e5c93 100644 --- a/Programs/CosmOS/README.md +++ b/Programs/CosmOS/README.md @@ -274,7 +274,8 @@ echo done `echo` is a command rather than a program on purpose. `Say.sbx` has printed words since before there were scripts and is the wrong shape for one: being a program, it has to be found on the disk and loaded and started, it prefixes what it was told with `it says:`, and the system -prints `finished` after it - three lines of noise around one line of narration. +prints `finished` after it - three lines of noise around one line of narration. Two, now: the +system stopped saying `finished` after every program. **The first two bytes must be `#!`**, or the shell refuses the file and says so. That is what tells a script from anything else, and it is deliberately not the name and not a flag in the diff --git a/Programs/CosmOS/Source/cosmos.asm b/Programs/CosmOS/Source/cosmos.asm index edcd497..f5f84e7 100644 --- a/Programs/CosmOS/Source/cosmos.asm +++ b/Programs/CosmOS/Source/cosmos.asm @@ -5126,8 +5126,9 @@ doClear: ; ; Says the rest of the line and nothing else. Say.sbx has done this since before there were ; scripts, and is the wrong shape for one: it is a program, so it has to be found on the -; disk and loaded and started, it prefixes what it was told with "it says:", and the system -; prints "finished" after it. That is three lines of noise around one line of narration. +; disk and loaded and started, and it prefixes what it was told with "it says:". That was +; three lines of noise around one line of narration when this was written - the system said +; "finished" after every program then, which is the third line and is gone now. ; ; A script telling you what it is doing is the ordinary case now, so it costs a command ; rather than a program. With nothing after it, a blank line - which is what anybody will @@ -6830,24 +6831,41 @@ exitWorked: RSTA OUTA 0x06 - ; ---- Finished, or stopped ---- + ; ---- Stopped, or nothing at all ---- ; - ; A program that faulted did not finish, and saying so would be the shell's own word - ; against what the fault screen just said in red immediately above it. + ; A program that faulted did not finish, and says so - the fault screen printed in red + ; immediately above, and a program that is gone should not look like one that ended. SETD.1 FaultStopped LDA.1 BRA exitFinished RSTA STA.1 ; Cleared, so the next program is not blamed for this one. SETD.0 Stopped - BRI exitSay -exitFinished: - SETD.0 Finished -exitSay: CALL printString CALL newLine BRI prompt +exitFinished: + ; ---- Finishing says nothing, which is what finishing looks like ---- + ; + ; It used to say "finished". That made sense when starting a program and getting the + ; machine back was most of what the machine did; under a listing, between two commands, it + ; is noise - and it was printed whatever the program made of it, so a program that had just + ; explained what went wrong was answered with the word "finished". + ; + ; The prompt coming back is what says a program is over. It is the same argument + ; osLastStatus is made of: a program that failed has already said so in words, and anything + ; the shell adds beside that is the shell talking over it. + ; + ; A NEWLINE ONLY IF ONE IS WANTED. A program that stopped part way along a line would leave + ; the prompt sitting in the middle of its last output, which the word used to prevent by + ; accident. The console knows which column the cursor is in, so this asks - where a blank + ; line printed every time would be right about half of the time. + INA 0x04 + BRA prompt + CALL newLine + BRI prompt + ; ---- dump ---- ; ; dump Sixty four more bytes, carrying on from the last one. @@ -8127,9 +8145,6 @@ FaultQ: " Q " FaultSystem: "that was the system itself, so there is nowhere to carry on from. Start the machine again." -Finished: -"finished" - BreakText: "break at " ARegText: diff --git a/Tests/expected/cfgFallback.out b/Tests/expected/cfgFallback.out index 6a93ae1..863f47d 100644 --- a/Tests/expected/cfgFallback.out +++ b/Tests/expected/cfgFallback.out @@ -9,13 +9,12 @@ a file kept by asking renamed it deleted it and it is gone -finished > mkdir Notes made > cd Notes /Notes> dir 0 files -8 of 32 entries, 308 blocks free +8 of 32 entries, 309 blocks free /Notes> exit halted Execution halted. diff --git a/Tests/expected/cosmosBreak.out b/Tests/expected/cosmosBreak.out index fe5cbf6..760ecb2 100644 --- a/Tests/expected/cosmosBreak.out +++ b/Tests/expected/cosmosBreak.out @@ -12,7 +12,6 @@ A 44 B 55 Q 00 status 00 DP0 3000 DP1 3037 DP2 3030 DP3 5000 SP FFF5 press a key carried on to the end -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosClaim.out b/Tests/expected/cosmosClaim.out index 2f17c79..c19ccd7 100644 --- a/Tests/expected/cosmosClaim.out +++ b/Tests/expected/cosmosClaim.out @@ -2,7 +2,6 @@ CosmOS > Claim claiming more than was reserved was refused and the size it really came to was taken -finished > dir Claim.sbx 580 claim.dat 266 diff --git a/Tests/expected/cosmosCopyCompare.out b/Tests/expected/cosmosCopyCompare.out index d2f1739..af0ef59 100644 --- a/Tests/expected/cosmosCopyCompare.out +++ b/Tests/expected/cosmosCopyCompare.out @@ -1,43 +1,30 @@ CosmOS > Copy /Input/empty.dat /Output/empty.dat copied -finished > Compare /Input/empty.dat /Output/empty.dat the same -finished > Copy /Input/exact.dat /Output/exact.dat copied -finished > Compare /Input/exact.dat /Output/exact.dat the same -finished > Copy /Input/tail.dat /Output/tail.dat copied -finished > Compare /Input/tail.dat /Output/tail.dat the same -finished > Copy /Input/large.dat /Output/large.dat copied -finished > Compare /Input/large.dat /Output/large.dat the same -finished > Compare /Input/large.dat /Input/different.dat different -finished > Copy /Input/missing.dat /Output/missing.dat copy: cannot find the source -finished > Compare /Input/large.dat /Input/missing.dat compare: cannot find the second file -finished > Copy copy: give me a source and destination -finished > Compare /Input/large.dat compare: give me two files -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosCrossDisk.out b/Tests/expected/cosmosCrossDisk.out index 80c06a3..33a9360 100644 --- a/Tests/expected/cosmosCrossDisk.out +++ b/Tests/expected/cosmosCrossDisk.out @@ -2,12 +2,10 @@ CosmOS > drive 1 > Copy 1:/twoblocks.txt 0:/crossed.txt copied -finished > drive 1 > Say from drive one it says: from drive one -finished > drive 1 > cd 0:/ diff --git a/Tests/expected/cosmosCwd.out b/Tests/expected/cosmosCwd.out index 305da73..72b4eb5 100644 --- a/Tests/expected/cosmosCwd.out +++ b/Tests/expected/cosmosCwd.out @@ -13,18 +13,14 @@ notes.txt 25 9 of 32 entries, 240 blocks free /A> Type notes.txt these are the notes in A -finished /A> cd /B /B> Type notes.txt and these are the very different notes in B -finished /B> Say reached the one in Apps it says: reached the one in Apps -finished /B> cd /A /A> Say reached the one in A Hello, World! -finished /A> cd .. > dir Apps @@ -35,14 +31,11 @@ B > cd /B /B> Type ../A/notes.txt these are the notes in A -finished /B> Wander /A moved, and reading a bare name from there: these are the notes in A -finished /B> Type notes.txt and these are the very different notes in B -finished /B> cd nosuchplace no such file /B> cd notes.txt diff --git a/Tests/expected/cosmosEdit.out b/Tests/expected/cosmosEdit.out index 4e008ec..4aa77fe 100644 --- a/Tests/expected/cosmosEdit.out +++ b/Tests/expected/cosmosEdit.out @@ -26,7 +26,6 @@ poem.txt, new file > w written, 22 bytes > q -finished > run poem.txt poem.txt, 3 lines > l @@ -36,7 +35,6 @@ poem.txt, 3 lines > d 99 there is no such line > q -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosEditLong.out b/Tests/expected/cosmosEditLong.out index 6554090..0a47e9d 100644 --- a/Tests/expected/cosmosEditLong.out +++ b/Tests/expected/cosmosEditLong.out @@ -2,20 +2,15 @@ CosmOS > Edit hello.asm hello.asm, 31 lines > q -finished > Edit hello.asm hello.asm, 31 lines > q -finished > Status the last program left 0, which is: it did what it was asked -finished > Edit long.txt a line in it is longer than this can edit, so it has not been opened -finished > Status the last program left 1, which is: it did not -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosEditService.out b/Tests/expected/cosmosEditService.out index 1ed1a05..6bb8f4b 100644 --- a/Tests/expected/cosmosEditService.out +++ b/Tests/expected/cosmosEditService.out @@ -15,11 +15,9 @@ typed.txt, new file > w written, 13 bytes > q -finished -> run typed.txt +> run typed.txt typed.txt, 2 lines > q -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosFault.out b/Tests/expected/cosmosFault.out index 666492e..3645cfa 100644 --- a/Tests/expected/cosmosFault.out +++ b/Tests/expected/cosmosFault.out @@ -17,7 +17,6 @@ CosmOS the program was stopped > Crash sideways Crash opcode | service | bank | device | blind -finished > dir greet.sbx 211 hello.sbx 53 diff --git a/Tests/expected/cosmosFlip.out b/Tests/expected/cosmosFlip.out index 63359b3..98daf99 100644 --- a/Tests/expected/cosmosFlip.out +++ b/Tests/expected/cosmosFlip.out @@ -1,13 +1,10 @@ CosmOS > Say before Flip it says: before Flip -finished > Flip A screen is drawn where you cannot see it. A key shows it, another comes back. -finished > Say after Flip it says: after Flip -finished > dir greet.sbx 211 hello.sbx 53 diff --git a/Tests/expected/cosmosGrid.out b/Tests/expected/cosmosGrid.out index d189bfb..cfa72f0 100644 --- a/Tests/expected/cosmosGrid.out +++ b/Tests/expected/cosmosGrid.out @@ -1,13 +1,10 @@ CosmOS > Say before Grid it says: before Grid -finished > Grid -finished -> +> > Say after Grid it says: after Grid -finished > dir greet.sbx 211 hello.sbx 53 diff --git a/Tests/expected/cosmosHello.out b/Tests/expected/cosmosHello.out index 2ffbeb5..19cbed5 100644 --- a/Tests/expected/cosmosHello.out +++ b/Tests/expected/cosmosHello.out @@ -3,10 +3,8 @@ CosmOS loaded, starting at 5000 > run Hello, World! -finished > run Hello, World! -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosInvoke.out b/Tests/expected/cosmosInvoke.out index 3597e1d..3082eeb 100644 --- a/Tests/expected/cosmosInvoke.out +++ b/Tests/expected/cosmosInvoke.out @@ -1,13 +1,10 @@ CosmOS > Say hello there it says: hello there -finished > Say.sbx spelled out in full it says: spelled out in full -finished > run once more it says: once more -finished > dir Say.sbx 156 dir.sbx 156 @@ -20,7 +17,6 @@ Apps 8 of 16 entries, 54 blocks free > Greet a program with no extension it says: a program with no extension -finished > hello.sh > echo a script, started by its name a script, started by its name diff --git a/Tests/expected/cosmosKeys.out b/Tests/expected/cosmosKeys.out index 26de017..0ffafcc 100644 --- a/Tests/expected/cosmosKeys.out +++ b/Tests/expected/cosmosKeys.out @@ -5,13 +5,11 @@ loaded, starting at 5000 keys, by interrupt. q stops. ab the console has been handed back -finished > > run keys, by interrupt. q stops. cd the console has been handed back -finished > > monitor x examine, d disassemble, a assemble, s set, b bank, g go, exit leaves diff --git a/Tests/expected/cosmosLanderCrash.out b/Tests/expected/cosmosLanderCrash.out index 343b429..c561077 100644 --- a/Tests/expected/cosmosLanderCrash.out +++ b/Tests/expected/cosmosLanderCrash.out @@ -1,7 +1,6 @@ CosmOS > Lander Crashed. -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosLanderDry.out b/Tests/expected/cosmosLanderDry.out index 343b429..c561077 100644 --- a/Tests/expected/cosmosLanderDry.out +++ b/Tests/expected/cosmosLanderDry.out @@ -1,7 +1,6 @@ CosmOS > Lander Crashed. -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosLife.out b/Tests/expected/cosmosLife.out index c97ef99..855b265 100644 --- a/Tests/expected/cosmosLife.out +++ b/Tests/expected/cosmosLife.out @@ -868,7 +868,6 @@ loaded, starting at 5000 ## the board has settled -finished > halted Execution halted. diff --git a/Tests/expected/cosmosLifeKey.out b/Tests/expected/cosmosLifeKey.out index 872fc39..47df2a3 100644 --- a/Tests/expected/cosmosLifeKey.out +++ b/Tests/expected/cosmosLifeKey.out @@ -20,7 +20,6 @@ loaded, starting at 5000 stopped -finished > > halted diff --git a/Tests/expected/cosmosLs.out b/Tests/expected/cosmosLs.out index c557526..25c3f66 100644 --- a/Tests/expected/cosmosLs.out +++ b/Tests/expected/cosmosLs.out @@ -8,24 +8,19 @@ tune.sbx Play.sbx notes.txt Apps/ hi.script bad.script plain.script cross.script nonl.script outer.script inner.script loop.script hush.script aloud.script args.script pass.script holds.script -finished > cd /Apps /Apps> ls Copy.sbx Say.sbx Where.sbx Walk.sbx ls.sbx Lander where.sh -finished /Apps> cd / > ls /Packages/app.Lander Lander.sbx splash.tune -finished > mkdir /empty made > cd /empty /empty> ls -finished /empty> cd / > ls nowhere there is no such directory: nowhere -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosMonitor.out b/Tests/expected/cosmosMonitor.out index b9520a8..f399cae 100644 --- a/Tests/expected/cosmosMonitor.out +++ b/Tests/expected/cosmosMonitor.out @@ -92,7 +92,6 @@ that one needs a value after it 820F 00 ? * g 8200 hello, typed -finished * exit > dir greet.sbx 211 diff --git a/Tests/expected/cosmosMonitorRun.out b/Tests/expected/cosmosMonitorRun.out index 6a04b97..8289430 100644 --- a/Tests/expected/cosmosMonitorRun.out +++ b/Tests/expected/cosmosMonitorRun.out @@ -3,7 +3,6 @@ CosmOS x examine, d disassemble, a assemble, s set, b bank, g go, exit leaves * Say hello from the monitor it says: hello from the monitor -finished * Crash opcode that byte is not an instruction, at 5081 A 00 B 0F Q 00 diff --git a/Tests/expected/cosmosMore.out b/Tests/expected/cosmosMore.out index f88c7fc..a6168de 100644 --- a/Tests/expected/cosmosMore.out +++ b/Tests/expected/cosmosMore.out @@ -50,7 +50,6 @@ line 42: ABCDEFGHIJKLMNOPQRSTUVWXYZ line 43: ABCDEFGHIJKLMNOPQRSTUVWXYZ line 44: ABCDEFGHIJKLMNOPQRSTUVWXYZ -- more -- -finished > run readable.txt first line second line @@ -115,7 +114,6 @@ line 56: ABCDEFGHIJKLMNOPQRSTUVWXYZ line 57: ABCDEFGHIJKLMNOPQRSTUVWXYZ line 58: ABCDEFGHIJKLMNOPQRSTUVWXYZ line 59: ABCDEFGHIJKLMNOPQRSTUVWXYZ -finished > run readable.txt first line second line @@ -167,7 +165,6 @@ line 44: ABCDEFGHIJKLMNOPQRSTUVWXYZ -- more -- line 45: ABCDEFGHIJKLMNOPQRSTUVWXYZ -- more -- -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosMoreNarrow.out b/Tests/expected/cosmosMoreNarrow.out index e45d8de..7718958 100644 --- a/Tests/expected/cosmosMoreNarrow.out +++ b/Tests/expected/cosmosMoreNarrow.out @@ -3,7 +3,6 @@ CosmOS loaded, starting at 5000 > run 40 -finished > load More.sbx loaded, starting at 5000 > run readable.txt @@ -30,7 +29,6 @@ line 17: ABCDEFGHIJKLMNOPQRSTUVWXYZ line 18: ABCDEFGHIJKLMNOPQRSTUVWXYZ line 19: ABCDEFGHIJKLMNOPQRSTUVWXYZ -- more -- -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosNoData.out b/Tests/expected/cosmosNoData.out index 4653380..e428d5a 100644 --- a/Tests/expected/cosmosNoData.out +++ b/Tests/expected/cosmosNoData.out @@ -1,12 +1,10 @@ CosmOS > Mode 40 -finished > echo a narrow screen a narrow screen > Mode 80 -finished > echo and a wide one again and a wide one again > exit diff --git a/Tests/expected/cosmosPadApp.out b/Tests/expected/cosmosPadApp.out index 476e659..bede00e 100644 --- a/Tests/expected/cosmosPadApp.out +++ b/Tests/expected/cosmosPadApp.out @@ -8,7 +8,6 @@ Pads present, as a bit each: 1 0: 0 0: 48 0: 0 -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosPress.out b/Tests/expected/cosmosPress.out index 0beaef5..7ddc117 100644 --- a/Tests/expected/cosmosPress.out +++ b/Tests/expected/cosmosPress.out @@ -8,7 +8,6 @@ keys: 86 delete 5A Z done -finished > > exit halted diff --git a/Tests/expected/cosmosPressKeys.out b/Tests/expected/cosmosPressKeys.out index 0beaef5..7ddc117 100644 --- a/Tests/expected/cosmosPressKeys.out +++ b/Tests/expected/cosmosPressKeys.out @@ -8,7 +8,6 @@ keys: 86 delete 5A Z done -finished > > exit halted diff --git a/Tests/expected/cosmosRamDisk.out b/Tests/expected/cosmosRamDisk.out index d0bde38..ddc1d0d 100644 --- a/Tests/expected/cosmosRamDisk.out +++ b/Tests/expected/cosmosRamDisk.out @@ -5,7 +5,6 @@ CosmOS 0 of 128 entries, 2031 blocks free > Copy 0:/Say.sbx 1:/Say.sbx copied -finished > dir Say.sbx 156 1 file diff --git a/Tests/expected/cosmosRun.out b/Tests/expected/cosmosRun.out index c86594b..04396a6 100644 --- a/Tests/expected/cosmosRun.out +++ b/Tests/expected/cosmosRun.out @@ -53,12 +53,10 @@ loaded, starting at 5000 a program, loaded off a disk, running on the system that loaded it what should I call you? Anachronaut hello, Anachronaut. that is all I do. -finished > run a program, loaded off a disk, running on the system that loaded it what should I call you? Claude hello, Claude. that is all I do. -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosSay.out b/Tests/expected/cosmosSay.out index 66f9bb6..569a684 100644 --- a/Tests/expected/cosmosSay.out +++ b/Tests/expected/cosmosSay.out @@ -3,13 +3,10 @@ CosmOS loaded, starting at 5000 > run nothing was said -finished > run notes.txt it says: notes.txt -finished > run a longer thing with spaces it says: a longer thing with spaces -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosScript.out b/Tests/expected/cosmosScript.out index 1314d6a..2661337 100644 --- a/Tests/expected/cosmosScript.out +++ b/Tests/expected/cosmosScript.out @@ -4,12 +4,10 @@ CosmOS saying what it is doing > Say from a script it says: from a script -finished > echo > Say and again it says: and again -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosScriptArgs.out b/Tests/expected/cosmosScriptArgs.out index ac150c8..b917f63 100644 --- a/Tests/expected/cosmosScriptArgs.out +++ b/Tests/expected/cosmosScriptArgs.out @@ -16,7 +16,6 @@ all of it is blue yellow > pass.script hello there > Say $args it says: hello there -finished > do holds.script top level > echo outer has $1 outer has top diff --git a/Tests/expected/cosmosScriptBad.out b/Tests/expected/cosmosScriptBad.out index b500aef..789358c 100644 --- a/Tests/expected/cosmosScriptBad.out +++ b/Tests/expected/cosmosScriptBad.out @@ -2,7 +2,6 @@ CosmOS > do bad.script > Say before it says: before -finished > nosuchcommand I do not know: nosuchcommand stopped: that line did not work diff --git a/Tests/expected/cosmosScriptEdges.out b/Tests/expected/cosmosScriptEdges.out index 97d1212..49d57ea 100644 --- a/Tests/expected/cosmosScriptEdges.out +++ b/Tests/expected/cosmosScriptEdges.out @@ -2,11 +2,9 @@ CosmOS > do cross.script > Say across the block boundary it says: across the block boundary -finished > do nonl.script > Say with no newline after me it says: with no newline after me -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosServices.out b/Tests/expected/cosmosServices.out index eb99776..2dd5841 100644 --- a/Tests/expected/cosmosServices.out +++ b/Tests/expected/cosmosServices.out @@ -8,7 +8,6 @@ a file kept by asking renamed it deleted it and it is gone -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosSettle.out b/Tests/expected/cosmosSettle.out index f4f66b2..be4db67 100644 --- a/Tests/expected/cosmosSettle.out +++ b/Tests/expected/cosmosSettle.out @@ -3,7 +3,6 @@ this is the fallback: what boot.cfg asks for did not start > Settle the disk says the last start did not arrive, so this is the fallback settled: the next start will use the configuration again -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosSettled.out b/Tests/expected/cosmosSettled.out index 75ac36e..cbd8b76 100644 --- a/Tests/expected/cosmosSettled.out +++ b/Tests/expected/cosmosSettled.out @@ -1,7 +1,6 @@ CosmOS > Settle already settled: the next start will use the configuration -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosSlowDisk.out b/Tests/expected/cosmosSlowDisk.out index 09c5d64..0de2747 100644 --- a/Tests/expected/cosmosSlowDisk.out +++ b/Tests/expected/cosmosSlowDisk.out @@ -43,7 +43,6 @@ holds.script 87 loaded, starting at 5000 > run the disk took its time it says: the disk took its time -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosSnake.out b/Tests/expected/cosmosSnake.out index 8bc3386..bdfbb17 100644 --- a/Tests/expected/cosmosSnake.out +++ b/Tests/expected/cosmosSnake.out @@ -288,7 +288,6 @@ loaded, starting at 5000 +----------------+ score 1 wasd steers, q stops you ran into something -finished > halted Execution halted. diff --git a/Tests/expected/cosmosSource.out b/Tests/expected/cosmosSource.out index 2448aac..b73faec 100644 --- a/Tests/expected/cosmosSource.out +++ b/Tests/expected/cosmosSource.out @@ -23,7 +23,6 @@ End: "Hello, World!" ---- lines: 21 -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosSprite.out b/Tests/expected/cosmosSprite.out index bd9dfc9..b87b46c 100644 --- a/Tests/expected/cosmosSprite.out +++ b/Tests/expected/cosmosSprite.out @@ -1,13 +1,10 @@ CosmOS > Say before Sprite it says: before Sprite -finished > Sprite A ball, over the shell's own words. Nothing underneath is written to. Press a key. -finished > Say after Sprite it says: after Sprite -finished > dir greet.sbx 211 hello.sbx 53 diff --git a/Tests/expected/cosmosStack.out b/Tests/expected/cosmosStack.out index 76580d3..ef31ae2 100644 --- a/Tests/expected/cosmosStack.out +++ b/Tests/expected/cosmosStack.out @@ -10,7 +10,6 @@ A 44 B 55 Q 00 status 00 DP0 3000 DP1 3037 DP2 3030 DP3 5000 SP FFF5 press a key carried on to the end -finished > ho $nope nothing is set called nope > echo $nope @@ -38,7 +37,6 @@ A 44 B 55 Q 00 status 00 DP0 3000 DP1 3037 DP2 3030 DP3 5000 SP FFF5 press a key carried on to the end -finished > it I do not know: it > diff --git a/Tests/expected/cosmosStatus.out b/Tests/expected/cosmosStatus.out index ad458fd..a062f0a 100644 --- a/Tests/expected/cosmosStatus.out +++ b/Tests/expected/cosmosStatus.out @@ -1,22 +1,16 @@ CosmOS > Say it worked it says: it worked -finished > Status the last program left 0, which is: it did what it was asked -finished > Type type: give me a file name -finished > Status the last program left 2, which is: it was asked wrongly -finished > Type /nothing/here.txt type: cannot find the file, error 2 -finished > Status the last program left 1, which is: it did not -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosStream.out b/Tests/expected/cosmosStream.out index 28ff6d0..b2630b0 100644 --- a/Tests/expected/cosmosStream.out +++ b/Tests/expected/cosmosStream.out @@ -12,7 +12,6 @@ the old name now answers 2 the new name answers 0 a name that was never there answers 2 a block past the end answers 3 -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosTabPath.out b/Tests/expected/cosmosTabPath.out index 058ff53..3aa40e1 100644 --- a/Tests/expected/cosmosTabPath.out +++ b/Tests/expected/cosmosTabPath.out @@ -1,16 +1,15 @@ CosmOS > CrCrash.sbx zz Crash opcode | service | bank | device | blind -finished -> SaSay.sbxzz +> SaSay.sbxzz I do not know: Say.sbxzz -> cd Apcd Apps/ +> cd Apcd Apps/ /Apps> echo where am I where am I /Apps> cd / -> echo Apps/Secho Apps/Say.sbx  +> echo Apps/Secho Apps/Say.sbx  Apps/Say.sbx -> echo /Apps/Cecho /Apps/Copy.sbx  +> echo /Apps/Cecho /Apps/Copy.sbx  /Apps/Copy.sbx > exit halted diff --git a/Tests/expected/cosmosTokens.out b/Tests/expected/cosmosTokens.out index 330dadb..d67d291 100644 --- a/Tests/expected/cosmosTokens.out +++ b/Tests/expected/cosmosTokens.out @@ -21,7 +21,6 @@ loaded, starting at 5000 18 keyword 0 [#Data] 20 string 14 [Hello, World!] ---- no more tokens -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosTree.out b/Tests/expected/cosmosTree.out index 6c3b3aa..6a13f18 100644 --- a/Tests/expected/cosmosTree.out +++ b/Tests/expected/cosmosTree.out @@ -8,22 +8,18 @@ rooted.txt 21 loaded, starting at 5000 > run the shallow one it says: the shallow one -finished > load /Apps/Deep/Say.sbx loaded, starting at 5000 > run the deep one Hello, World! -finished > load /Apps/./Deep/../Say.sbx loaded, starting at 5000 > run the shallow one again it says: the shallow one again -finished > load /Apps/Deep/../../Apps/./Deep/Say.sbx loaded, starting at 5000 > run the deep one the long way round Hello, World! -finished > load /rooted.txt/Say.sbx no such file > load /Apps/Missing/Say.sbx diff --git a/Tests/expected/cosmosTreeWrite.out b/Tests/expected/cosmosTreeWrite.out index 4f6970d..d9adc54 100644 --- a/Tests/expected/cosmosTreeWrite.out +++ b/Tests/expected/cosmosTreeWrite.out @@ -15,7 +15,6 @@ note.txt, new file > w written, 67 bytes > q -finished > dir Folder Edit.sbx 2243 diff --git a/Tests/expected/cosmosType.out b/Tests/expected/cosmosType.out index ae25d41..cf05dfa 100644 --- a/Tests/expected/cosmosType.out +++ b/Tests/expected/cosmosType.out @@ -64,15 +64,11 @@ line 56: ABCDEFGHIJKLMNOPQRSTUVWXYZ line 57: ABCDEFGHIJKLMNOPQRSTUVWXYZ line 58: ABCDEFGHIJKLMNOPQRSTUVWXYZ line 59: ABCDEFGHIJKLMNOPQRSTUVWXYZ -finished > run empty.txt -finished > run missing.txt type: cannot find the file, error 2 -finished > run type: give me a file name -finished > exit halted Execution halted. diff --git a/Tests/expected/cosmosWalk.out b/Tests/expected/cosmosWalk.out index 5e77624..21b6968 100644 --- a/Tests/expected/cosmosWalk.out +++ b/Tests/expected/cosmosWalk.out @@ -37,7 +37,6 @@ f aloud.script 1 f args.script 1 f pass.script 1 f holds.script 1 -finished > cd /Apps /Apps> Walk f Copy.sbx 7 @@ -47,7 +46,6 @@ f Walk.sbx 1 f ls.sbx 3 f Lander 4 f where.sh 3 -finished /Apps> cd / > exit halted diff --git a/Tests/expected/cosmosWhere.out b/Tests/expected/cosmosWhere.out index 8c3d659..46b8fa2 100644 --- a/Tests/expected/cosmosWhere.out +++ b/Tests/expected/cosmosWhere.out @@ -1,28 +1,23 @@ CosmOS > Where loaded from /Where.sbx -finished > Where splash.tune loaded from /Where.sbx beside it: /splash.tune -finished > mkdir /work made > cd /work /work> Where loaded from /Apps/Where.sbx -finished /work> Where tiles.atlas loaded from /Apps/Where.sbx beside it: /Apps/tiles.atlas -finished /work> cd / > load /Apps/Where.sbx loaded, starting at 5000 > run notes.txt loaded from /Apps/Where.sbx beside it: /Apps/notes.txt -finished > exit halted Execution halted. diff --git a/Tests/expected/onceAsked.out b/Tests/expected/onceAsked.out index 49c0e8d..d62dd05 100644 --- a/Tests/expected/onceAsked.out +++ b/Tests/expected/onceAsked.out @@ -1,12 +1,11 @@ CosmOS > Once /System/Boot/bare.bin next start: /System/Boot/bare.bin, once -finished > dir /System/Boot System Apps 0 files, 2 directories -8 of 32 entries, 305 blocks free +8 of 32 entries, 306 blocks free > exit halted Execution halted. diff --git a/Tests/expected/rebootOnce.out b/Tests/expected/rebootOnce.out index 08a03b7..945311b 100644 --- a/Tests/expected/rebootOnce.out +++ b/Tests/expected/rebootOnce.out @@ -2,7 +2,6 @@ stage two CosmOS > Once /System/Boot/bare.bin next start: /System/Boot/bare.bin, once -finished > Reboot starting again stage two diff --git a/Tests/expected/romBoot.out b/Tests/expected/romBoot.out index dcab782..0d7cce3 100644 --- a/Tests/expected/romBoot.out +++ b/Tests/expected/romBoot.out @@ -7,13 +7,12 @@ a file kept by asking renamed it deleted it and it is gone -finished > mkdir Notes made > cd Notes /Notes> dir 0 files -7 of 32 entries, 309 blocks free +7 of 32 entries, 310 blocks free /Notes> exit halted Execution halted. diff --git a/Tests/expected/selfBoot.out b/Tests/expected/selfBoot.out index dcab782..0d7cce3 100644 --- a/Tests/expected/selfBoot.out +++ b/Tests/expected/selfBoot.out @@ -7,13 +7,12 @@ a file kept by asking renamed it deleted it and it is gone -finished > mkdir Notes made > cd Notes /Notes> dir 0 files -7 of 32 entries, 309 blocks free +7 of 32 entries, 310 blocks free /Notes> exit halted Execution halted. diff --git a/Tests/expected/tune.out b/Tests/expected/tune.out index a90c5b3..a64ea19 100644 --- a/Tests/expected/tune.out +++ b/Tests/expected/tune.out @@ -1,6 +1,5 @@ CosmOS > tune -finished > exit halted Execution halted.