mirror of
https://github.com/curioustorvald/tsvm.git
synced 2026-03-07 11:51:49 +09:00
font dumping tool
This commit is contained in:
38
assets/disk0/home/dumpfont.js
Normal file
38
assets/disk0/home/dumpfont.js
Normal file
@@ -0,0 +1,38 @@
|
||||
if (!_TVDOS) {
|
||||
println("This program can only run on TVDOS")
|
||||
return 1
|
||||
}
|
||||
if (!exec_args[1]) {
|
||||
println("Usage: dumpfont <rom_prefix>")
|
||||
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)
|
||||
BIN
assets/hangul_high.chr
Normal file
BIN
assets/hangul_high.chr
Normal file
Binary file not shown.
BIN
assets/hangul_low.chr
Normal file
BIN
assets/hangul_low.chr
Normal file
Binary file not shown.
Reference in New Issue
Block a user