commit f366f0d

Devine Lu Linvega  ·  2025-07-22 17:11:06 +0000 UTC
parent 86c105f
Stop before EOF
2 files changed,  +19, -3
+13, -0
 1@@ -0,0 +1,13 @@
 2+( cat a.rom | uxncli hx.rom > b.txt )
 3+
 4+@on-reset ( -> )
 5+	;on-console #10 DEO2 BRK
 6+@on-console ( -> )
 7+	#0417 DEI NEQ [ JMP BRK ]
 8+	#12 DEI DUP #04 SFT emit emit INC
 9+@spacer ( c -> )
10+	DUP #0f AND ?{ #0a18 DEO BRK }
11+	DUP #01 AND ?{ #2018 DEO } BRK
12+@emit ( c -- )
13+	#0f AND DUP #09 GTH #27 MUL ADD LIT "0 ADD #18 DEO JMP2r
14+
+6, -3
 1@@ -691,7 +691,7 @@ main(int argc, char **argv)
 2 {
 3 	int i = 1;
 4 	if(argc == 2 && argv[1][0] == '-' && argv[1][1] == 'v')
 5-		return !fprintf(stdout, "Uxn11 - Varvara Emulator(cli), 30 Jun 2025.\n");
 6+		return !fprintf(stdout, "Uxn11 - Varvara Emulator(cli), 22 Jul 2025.\n");
 7 	else if(argc == 1)
 8 		return !fprintf(stdout, "usage: %s [-v] file.rom [args..]\n", argv[0]);
 9 	else if(!system_boot(argv[i++], argc > 2))
10@@ -703,8 +703,11 @@ main(int argc, char **argv)
11 				console_input(c, CONSOLE_ARG);
12 			console_input('\n', i == argc - 1 ? CONSOLE_END : CONSOLE_EOA);
13 		}
14-		while(!dev[0x0f] && !feof(stdin))
15-			console_input(fgetc(stdin), CONSOLE_STD);
16+		while(!dev[0x0f]) {
17+			char c = fgetc(stdin);
18+			if(feof(stdin)) break;
19+			console_input(c, CONSOLE_STD);
20+		}
21 		console_input(0, CONSOLE_END);
22 	}
23 	return dev[0x0f] & 0x7f;