nonscalable vector font01: just a template

git-svn-id: svn://kolibrios.org@2972 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Artem Jerdev (art_zh) 2012-09-06 23:20:44 +00:00
parent a20b1c888d
commit 7b72a31899
3 changed files with 22 additions and 12 deletions

View File

@ -146,8 +146,10 @@ align 4
xor ebp, ebp ; font# xor ebp, ebp ; font#
mov [font_check_routine], ebp mov [font_check_routine], ebp
; inc ebp test ecx, 0x10000000
jz @f
inc ebp
@@:
test ecx, ecx test ecx, ecx
js .checked js .checked
inc [font_check_routine]; .check_esi inc [font_check_routine]; .check_esi
@ -227,7 +229,7 @@ nsvf_draw_char:
push ecx push ecx
push edx push edx
push ebp push ebp
shl ebp, 5 shl ebp, 4 ; font header = 16 bytes
add ebp, nsvf_info add ebp, nsvf_info
call ch_checkscreen call ch_checkscreen
jb .exit jb .exit
@ -366,6 +368,8 @@ diff16 "parse_tick : ",0,$
.ritick: .ritick:
test dl, 1 test dl, 1
jnz .ritick.1 jnz .ritick.1
test dl, 8
jnz .ritick.2
.ritick.0: .ritick.0:
movzx ecx, dh ; y movzx ecx, dh ; y
and cl, 0x0F and cl, 0x0F
@ -379,6 +383,10 @@ diff16 "parse_tick : ",0,$
mov esi, nsvf_data.ri1 ; 8pix-ring mov esi, nsvf_data.ri1 ; 8pix-ring
mov dl, 6 mov dl, 6
jmp .draw jmp .draw
.ritick.2:
mov esi, nsvf_data.ri2 ; 16pix-ring
mov dl, 14
jmp .draw
.lntick.short: .lntick.short:
test dl, 0x06 ; ticks #0, 1 are reserved for test dl, 0x06 ; ticks #0, 1 are reserved for

View File

@ -620,7 +620,7 @@ diff16 "font01.chars: ",0,$
.ch_162: ; ve .ch_162: ; ve
.ch_111: ; o .ch_111: ; o
.ch_174: ; o .ch_174: ; o
cstick 1, 6, 0, 3 ritick 2, 8, 2
gptick 3, 2, 44 gptick 3, 2, 44
ritick 2, 7, 0 ritick 2, 7, 0
.ch_163: ; ge .ch_163: ; ge

View File

@ -10,7 +10,7 @@ macro gptick origin, r, tick
{ dw (origin mod 32) shl 11 + (r mod 8) shl 8 + (tick mod 256) } { dw (origin mod 32) shl 11 + (r mod 8) shl 8 + (tick mod 256) }
macro ritick x, y, tick macro ritick x, y, tick
{ dw (x mod 16) shl 12 + (y mod 16) shl 8 + (tick mod 2) } { dw (x mod 16) shl 12 + (y mod 16) shl 8 + (tick and 2) shl 3 + (tick mod 2) }
macro cstick x, y, r, tick macro cstick x, y, r, tick
{ dw (x mod 16) shl 12 + (y mod 16) shl 8 + 0xD8 + (r mod 2) shl 2 + (tick mod 4) } { dw (x mod 16) shl 12 + (y mod 16) shl 8 + 0xD8 + (r mod 2) shl 2 + (tick mod 4) }
@ -43,7 +43,8 @@ align 4
.cs2 db 11001100b, 111100b .cs2 db 11001100b, 111100b
.cs3 db 00010100b, 01000101b, 0001b .cs3 db 00010100b, 01000101b, 0001b
.cs0 db 1111b ; 4-pix square .cs0 db 1111b ; 4-pix square
.ri1 db 01010101b, 0101b ; 8-pix ring (rot-invariant) .ri1 db 01010101b, 0101b ; rot-invariants: 8-pix ring
.ri2 db 01000100b, 01000100b, 01000100b, 000100b ; 16-pix ring
align 16 align 16
nsvf_info: nsvf_info:
@ -58,12 +59,13 @@ nsvf_info:
;align 16 ;align 16
;; System font #1: 7x10 ; System font #1: 7x10
;.fnt1.x db 7 ; X-width .fnt1.x db 7 ; X-width
;.fnt1.y db 9 ; Y-heigth .fnt1.y db 10 ; Y-heigth
;.fnt1.rs dw 0 ; reserved .fnt1.rs dw 0 ; reserved
;.fnt1.tab dd .table1 .fnt1.tab dd nsvf01.table
;.fnt1.org dd .origs1 .fnt1.org dd nsvf01.origs
.fnt1.chr dd nsvf01.chars
align 4 align 4