code wiki / _hdl_build / _lz77_authored.nx
_lz77_authored.nx source
↩ module page · 14 lines · 583 B
1// AUTHORED BY THE NISHI BUILDER (nx_module_author lz77 template) -- back-reference copy, bits-up
2import "nx_syscalls.nx"
3func lz_copy(out: *u8, outpos: i64, length: i64, distance: i64) -> i64 {
4 var i: i64 = 0
5 while i < length { out[outpos + i] = out[outpos + i - distance]; i = i + 1 }
6 return outpos + length
7}
8func main() -> i64 {
9 let out: *u8 = sys_mmap(64); out[0]=97 as u8; out[1]=98 as u8
10 let np: i64 = lz_copy(out, 2, 3, 2)
11 if np==5 { if out[2]==97 as u8 { if out[3]==98 as u8 { if out[4]==97 as u8 { sys_exit(0) } } } }
12 sys_exit(1)
13 return 1
14}