parent
c970190021
commit
a479f0d083
|
@ -84,7 +84,7 @@ draw-code-point-on-screen-buffer: # buffer: (addr byte), c: code-point, x: int,
|
|||
8b/-> *(ebp+0xc) 6/r32/esi
|
||||
# if (c >= 4352) return # unicode planes supported: latin, greek, cyrillic, armenian, hebrew, arabic, syriac, thaana, n'ko, indian (iscii), sinhala, thai, lao, tibetan, myanmar, georgian
|
||||
# next few to support: CJK, ethiopic, cherokee, ...
|
||||
81 7/subop/compare %esi 0x1100/imm32
|
||||
81 7/subop/compare %esi 0x1100/imm32=4352
|
||||
0f 8d/jump-if->= $draw-code-point-on-screen-buffer:end/disp32
|
||||
# var letter-bitmap/esi = font[c]
|
||||
69/multiply %esi 0x21/imm32/glyph-size 6/r32/esi
|
||||
|
@ -208,14 +208,14 @@ draw-wide-code-point-on-screen-buffer: # buffer: (addr byte), letter-bitmap: (a
|
|||
39/compare %edx 7/r32/edi
|
||||
0f 8d/jump-if->= break/disp32
|
||||
# var row-bitmap/ebx: byte = *letter-bitmap
|
||||
8a/byte-> *(esi+1) 3/r32/BL
|
||||
8a/byte-> *esi 3/r32/BL
|
||||
# ecx = x
|
||||
8b/-> *(ebp+0x10) 1/r32/ecx
|
||||
# first half-row
|
||||
(draw-run-of-pixels-from-glyph *(ebp+8) %ebx %ecx %edx *(ebp+0x18) *(ebp+0x1c) *(ebp+0x20) *(ebp+0x24))
|
||||
# second half-row
|
||||
8a/byte-> *esi 3/r32/BL
|
||||
49/increment-ecx
|
||||
8a/byte-> *(esi+1) 3/r32/BL
|
||||
41/increment-ecx
|
||||
(draw-run-of-pixels-from-glyph *(ebp+8) %ebx %ecx %edx *(ebp+0x18) *(ebp+0x1c) *(ebp+0x20) *(ebp+0x24))
|
||||
# ++y
|
||||
42/increment-edx
|
||||
|
|
|
@ -23,5 +23,5 @@ fn main screen: (addr screen), keyboard: (addr keyboard), data-disk: (addr disk)
|
|||
var text-storage: (stream byte 0x200)
|
||||
var text/esi: (addr stream byte) <- address text-storage
|
||||
load-sectors data-disk, 0/lba, 1/num-sectors, text
|
||||
var dummy/eax: int <- draw-stream-rightward screen, text, 1/x 0x80/xmax 0/y, 0xa/fg, 0/bg
|
||||
var dummy/eax: int <- draw-stream-rightward screen, text, 0/x 0x80/xmax 0/y, 0xa/fg, 0/bg
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue