diff --git a/assets/disk0/home/dumpfont.js b/assets/disk0/home/dumpfont.js new file mode 100644 index 0000000..67c69d7 --- /dev/null +++ b/assets/disk0/home/dumpfont.js @@ -0,0 +1,38 @@ +if (!_TVDOS) { + println("This program can only run on TVDOS") + return 1 +} +if (!exec_args[1]) { + println("Usage: dumpfont ") + println(" e.g. if rom_prefix is 'home/myfont', the output files will be 'home/myfont_low.chr' and 'home/myfont_high.chr'") + return 1 +} + +let lowfilename = exec_args[1] + "_low.chr" +let highfilename = exec_args[1] + "_high.chr" + +let workarea = sys.malloc(1920) + +// dump low rom +sys.poke(-1299460, 16) +for (let i = 0; i < 1920; i++) { + let byte = sys.peek(-1300607 - i) + sys.poke(workarea + i, byte) +} + +filesystem.open("A", lowfilename, "W") +dma.ramToCom(workarea, filesystem._toPorts("A")[0], 1920) +println("Wrote CHR rom " + lowfilename) + +// dump high rom +sys.poke(-1299460, 17) +for (let i = 0; i < 1920; i++) { + let byte = sys.peek(-1300607 - i) + sys.poke(workarea + i, byte) +} + +filesystem.open("A", highfilename, "W") +dma.ramToCom(workarea, filesystem._toPorts("A")[0], 1920) +println("Wrote CHR rom " + highfilename) + +sys.free(workarea) \ No newline at end of file diff --git a/assets/hangul_high.chr b/assets/hangul_high.chr new file mode 100644 index 0000000..b0e1d66 Binary files /dev/null and b/assets/hangul_high.chr differ diff --git a/assets/hangul_low.chr b/assets/hangul_low.chr new file mode 100644 index 0000000..295482c Binary files /dev/null and b/assets/hangul_low.chr differ