device_test/
device_test.rs1use uxn_tal::{Assembler, AssemblerError};
2
3fn main() -> Result<(), AssemblerError> {
4 let _proper_console = r#"
9 |0100
10
11 ( Console test - exactly like working UXN programs )
12
13 ( Try console device 0x10 + offset )
14 #41 .Console/write DEO ( This might not work due to syntax )
15 BRK
16 "#;
17
18 let _device_test = r#"
21 |0100
22
23 ( Test console output using device 0x10 base )
24 #48 #08 #10 ADD DEO ( 'H' to device 0x18 )
25 #69 #08 #10 ADD DEO ( 'i' to device 0x18 )
26 #0a #08 #10 ADD DEO ( newline to device 0x18 )
27 BRK
28 "#;
29
30 let direct_test = r#"
32 |0100
33 #48 #18 DEO ( 'H' directly to device 0x18 )
34 #0a #18 DEO ( newline )
35 BRK
36 "#;
37
38 let mut assembler = Assembler::new();
39 let rom = assembler.assemble(direct_test, None)?;
40 std::fs::write("direct_test.rom", &rom)?;
41
42 println!("Created direct_test.rom - simplest possible console output");
43
44 let stderr_test = r#"
46 |0100
47 #45 #19 DEO ( 'E' to stderr )
48 BRK
49 "#;
50
51 let mut assembler2 = Assembler::new();
52 let rom2 = assembler2.assemble(stderr_test, None)?;
53 std::fs::write("stderr_test.rom", &rom2)?;
54
55 println!("Created stderr_test.rom - tries stderr output");
56
57 Ok(())
58}