New sysfont #2 added

git-svn-id: svn://kolibrios.org@2522 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Artem Jerdev (art_zh) 2012-03-28 23:12:25 +00:00
parent af28a82b0a
commit 626b1133c8
2 changed files with 209 additions and 152 deletions

View File

@ -1,20 +1,19 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;; ;; ;;
;; Copyright (C) KolibriOS team 2004-2008. All rights reserved. ;; ;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;; ;; Distributed FOR KOLIBRIOS AND ITS DIRECT BRANCHES ONLY ;;
;; under conditions of the GNU General Public License ;;
;; ;; ;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$Revision$ $Revision$
; // Alver 22.06.2008 // {
align 4 align 4
dtext_asciiz_esi: ; for skins title out dtext_asciiz_esi: ; for skins title out
push eax push eax
xor eax, eax xor eax, eax
inc eax inc eax
jmp dtext.1 jmp dtext.1
; } \\ Alver \\
align 4 align 4
dtext: ; Text String Output (rw by Johnny_B[john@kolibrios.org]) dtext: ; Text String Output (rw by Johnny_B[john@kolibrios.org])
@ -27,11 +26,12 @@ dtext: ; Text String Output (rw by Johnny_B[john@kolibrios.org])
; edx start of text ; edx start of text
; edi 1 force ; edi 1 force
; // Alver 22.06.2008 // { test ecx, 0x20000000
jnz .font3
push eax push eax
xor eax, eax xor eax, eax
.1: .1:
; } \\ Alver \\
pushad pushad
call [_display.disable_mouse] call [_display.disable_mouse]
@ -50,12 +50,10 @@ dtext: ; Text String Output (rw by Johnny_B[john@kolibrios.org])
.test_asciiz: .test_asciiz:
cmp byte [edx], 0 cmp byte [edx], 0
jz .end jz .end
; // Alver 22.06.2008 // {
cmp byte [esp+28], 1 ; was the entry point = dtext.1 ? cmp byte [esp+28], 1 ; was the entry point = dtext.1 ?
jne @f jne @f
dec esi dec esi
js .end js .end
; } \\ Alver \\
@@: @@:
inc edx inc edx
pushad ; esp -= 64 ! pushad ; esp -= 64 !
@ -92,6 +90,7 @@ dtext: ; Text String Output (rw by Johnny_B[john@kolibrios.org])
popad popad
add eax, 6 add eax, 6
jmp .loop jmp .loop
.font2: .font2:
add edx, edx add edx, edx
lea ebp, [FONT_II+4*edx+edx+1] lea ebp, [FONT_II+4*edx+edx+1]
@ -128,7 +127,7 @@ dtext: ; Text String Output (rw by Johnny_B[john@kolibrios.org])
jmp .loop jmp .loop
.end: .end:
popad popad
pop eax ; << // Alver 22.06.2008 // << pop eax
ret ret
diff10 "old font code size",dtext,$ diff10 "old font code size",dtext,$
@ -137,6 +136,55 @@ diff10 "old font code size",dtext,$
; NEW FONTS ; NEW FONTS
;_____________________________________________________ ;_____________________________________________________
; ;
align 4
.font3:
pushad
call [_display.disable_mouse]
movsx eax, bx ; eax=y
sar ebx, 16 ; ebx=x
xchg eax, ebx ; eax=x, ebx=y
xor ebp, ebp ; font#
mov [font_check_routine], ebp
test ecx, ecx
js .checked
inc [font_check_routine]; .check_esi
.checked:
mov edi, ecx ; colour
and edi, 0x0FFFFFF ; RGB
align 4
.draw_char:
mov cl, byte[edx] ; char#
movzx ecx, cl
call nsvf_draw_char
add eax, 6
test [font_check_routine], 1
jz .check_asciz
.check_esi:
inc edx
dec esi
jz .exit
jmp .draw_char
align 4
.check_asciz:
or byte[edx], 0
jz .exit
inc edx
jmp .draw_char
align 4
.exit:
popad
ret
align 4
font_check_routine dd ?
align 8 align 8
sdsh_data: sdsh_data:
@ -169,10 +217,10 @@ draw_char:
mov ebp, edi mov ebp, edi
sdsh_draw_char: nsvf_draw_char:
; eax = left side X ; eax = left side X
; ebx = bottom Y ; ebx = bottom Y
; edi = color 0x0RRGGBB ; edi = colour 0x0RRGGBB
; ebp = font@ ; ebp = font@
; ecx = ascii, zero-extended to 32bits ; ecx = ascii, zero-extended to 32bits
push ecx push ecx
@ -180,10 +228,10 @@ sdsh_draw_char:
push ebp push ebp
shl ebp, 4 shl ebp, 4
add ebp, sdsh_data.info add ebp, sdsh_data.info
; call ch_checkscreen call ch_checkscreen
; jb .exit jb .exit
; call ch_checkwin call ch_checkwin
; jc .exit jc .exit
mov edx, [ebp + 4] ; chartable addr mov edx, [ebp + 4] ; chartable addr
mov cx, word[edx + ecx*2] ; tick info mov cx, word[edx + ecx*2] ; tick info
mov edx, ecx mov edx, ecx
@ -215,16 +263,16 @@ diff16 "parse_tick : ",0,$
mov dx, word[edx] mov dx, word[edx]
movzx ecx, dl movzx ecx, dl
test dl, 0xE0 test dl, 0xE0
jz .lntick.short ; ticks #0..31 jz .lntick.short ; ticks #0..31
cmp dl, 0xE0 cmp dl, 0xE0
jae .lntick.long ; ticks #224..255 jae .lntick.long ; ticks #224..255
cmp dl, 0xD8 cmp dl, 0xD8
jae .cstick ; ticks #216..223 jae .cstick ; ticks #216..223
.gptick: .gptick:
push edx push edx
cmp dl, 38 cmp dl, 38
jb .sptick ; special ticks #32-37 jb .sptick ; special ticks #32-37
; general ticks #38..215 ; general ticks #38..215
mov cl, dh mov cl, dh
shr cl, 3 ; number of origin shr cl, 3 ; number of origin
mov edx, [ebp+8] ; orig. table mov edx, [ebp+8] ; orig. table
@ -240,7 +288,7 @@ diff16 "parse_tick : ",0,$
.gptick.1: .gptick.1:
; 1-byte tickgroups .v1-v4: ; 1-byte tickgroups .v1-v4:
lea esi, [sdsh_data.v1+edx] lea esi, [sdsh_data.v1+edx]
inc dh ; dh = 1 vertex inc dh ; dh = 1 vertex
sub dl, 2 ; .v1 : 2 ticks only (#38, 39) sub dl, 2 ; .v1 : 2 ticks only (#38, 39)
jae .gptick.1v2v4 jae .gptick.1v2v4
mov dl, dh mov dl, dh
@ -249,8 +297,8 @@ diff16 "parse_tick : ",0,$
.gptick.1v2v4: .gptick.1v2v4:
; 1-byte tickgroups .v2-v4 : 8, 16 and 16 ticks ; 1-byte tickgroups .v2-v4 : 8, 16 and 16 ticks
inc dh ; dh = 2 vertice inc dh ; dh = 2 vertice
add dl, 8 add dl, 8
shr dl, 4 shr dl, 4
jmp .gptick.done jmp .gptick.done
@ -276,8 +324,8 @@ diff16 "parse_tick : ",0,$
.gptick.4: .gptick.4:
; 4-byte tickgroups .v13-16: 4 ticks each ; 4-byte tickgroups .v13-16: 4 ticks each
cmp dl, 128 ; fix this when needed cmp dl, 128 ; fix this when needed
jae .exit ; not implemented yet! jae .exit ; not implemented yet!
sub dl, 128 sub dl, 128
lea esi, [sdsh_data.v13 + edx*4] lea esi, [sdsh_data.v13 + edx*4]
mov dh, 13 mov dh, 13
@ -470,18 +518,19 @@ ch_checkwin:
; eax = x coordinate ; eax = x coordinate
; ebx = y coordinate ; ebx = y coordinate
; ebp -> font info ; ebp -> font info
;!destroys ch, edx!
push eax push eax
push ebx push ebx
push ecx
push edx
mov ch, byte[CURRENT_TASK] mov ch, byte[CURRENT_TASK]
mov al, byte [ebp] ; char X-width
mov edx, [_display.width] ; screen X-size mov edx, [_display.width] ; screen X-size
imul edx, ebx imul edx, ebx
add edx, [_WinMapAddress] add edx, [_WinMapAddress]
add edx, eax add edx, eax
cmp ch, byte [edx] cmp ch, byte [edx]
jne .fail jne .fail
movzx eax, byte [ebp] movzx eax, byte [ebp] ; char X-width
cmp ch, byte [edx+eax] cmp ch, byte [edx+eax]
jne .fail jne .fail
movzx ebx, byte [ebp+1] movzx ebx, byte [ebp+1]
@ -495,13 +544,15 @@ ch_checkwin:
.fail: .fail:
stc ; CF means the charbox is invisible stc ; CF means the charbox is invisible
.done: .done:
pop edx
pop ecx
pop ebx pop ebx
pop eax pop eax
ret ret
align 4 align 4
diff16 "ch_putpix : ",0,$ diff16 "ch_putpix : ",0,$
; ch_putpixel: ch_putpixel:
; eax = x coordinate ; eax = x coordinate
; ebx = y coordinate ; ebx = y coordinate
; edi = 0x0RRGGBB ; edi = 0x0RRGGBB
@ -513,7 +564,7 @@ diff16 "ch_putpix : ",0,$
pop edx pop edx
ret ret
;) ;)
ch_putpixel: ;ch_putpixel2:
; test version!!! ===== to be removed!! ; test version!!! ===== to be removed!!
; eax = x coordinate ; eax = x coordinate
; ebx = y coordinate ; ebx = y coordinate

View File

@ -97,20 +97,20 @@ align 4
db 0x38 ; 28 db 0x38 ; 28
db 0x41 ; 29 db 0x41 ; 29
db 0x30 ; 30 db 0x30 ; 30
db 0x47 ; 31 J db 0x37 ; 31 J
align 4 align 4
diff16 "sdsh_data.tick_table: ",0,$ diff16 "sdsh_data.tick_table: ",0,$
.tick_table: .tick_table:
db 0, 0, 0, 0, 0, 0 ;32..37 (reserved) db 0, 0, 0, 0, 0, 0 ;32..37 (reserved)
.v1: .v1:
; 38 39 ; 38 39
db 01b ; XX XX db 01b ; XX XX
db 11b ; X X db 11b ; X X
.v2: .v2:
; 40 41 42 43 44 45 ; 40 41 42 43 44 45
db 0100b ;40 XXX XXX XX XX XX XX db 0100b ;40 XXX XXX XX XX XX XX
db 1100b ;41 X X X XX X X db 1100b ;41 X X X XX X X
db 0001b ;42 X X X db 0001b ;42 X X X
@ -120,7 +120,7 @@ diff16 "sdsh_data.tick_table: ",0,$
db 0 ;46 db 0 ;46
db 0 ;47 db 0 ;47
.v3: .v3:
; 48 49 50 51 52 53 54 55 ; 48 49 50 51 52 53 54 55
db 010100b ;48 XXX XX XX XX XXXX XX XXX XX db 010100b ;48 XXX XX XX XX XXXX XX XXX XX
db 000011b ;49 X X X X X X X X db 000011b ;49 X X X X X X X X
db 010001b ;50 X X X X X X X db 010001b ;50 X X X X X X X
@ -129,50 +129,51 @@ diff16 "sdsh_data.tick_table: ",0,$
db 000111b ;53 db 000111b ;53
db 001100b ;54 db 001100b ;54
db 010101b ;55 db 010101b ;55
db 0, 0, 0, 0 ;56..59 db 0, 0, 0, 0 ;56..59
db 0, 0, 0, 0 ;60..63 db 0, 0, 0, 0 ;60..63
.v4: .v4:
; 64 65 66 67 68 69 ; 64 65 66 67 68 69
db 01010001b ;64: XX XX XXXX Y XX XX db 01010001b ;64: XX XX XXXX Y XX XX
db 01000101b ;65: X X X X X X db 01000101b ;65: X X X X X X
db 01010000b ;66: X X X X XXX XXX db 01010000b ;66: X X X X XXX XXX
db 01010010b ;67: X X X db 01010010b ;67: X X X
db 00011101b ;68: X X X db 00011101b ;68: X X X
db 00110101b ;69: X db 00110101b ;69: X
db 0 ;70: db 10100000b ;70:
db 0 ;71: db 0 ;71:
db 0, 0, 0, 0 ;72..75 db 0, 0, 0, 0 ;72..75
db 0, 0, 0, 0 ;76..79 db 0, 0, 0, 0 ;76..79
.v5: .v5:
db 00000001b, 01b ;80: )( db 00000001b, 01b ;80: )(
db 00000001b, 10b ;81: /7X db 00000001b, 10b ;81: /7X
db 01000101b, 01b ;82: 8u db 01000101b, 01b ;82: 8u
db 01010100b, 01b ;83: BPRa db 01010100b, 01b ;83:
db 00000010b, 01b ;84: \X& db 00000010b, 01b ;84: \X&
db 00010100b, 00b ;85: ahnu— db 00010100b, 00b ;85: ahnu—
db 10111000b, 00b ;86: db 10111000b, 00b ;86:
db 0, 0 ;87: db 0, 0 ;87:
.v6: .v6:
db 01000000b, 0101b ;88: Jfg db 01000000b, 0101b ;88: Jfg
db 01010100b, 0001b ;89: db 01010100b, 0001b ;89: BPRa
db 0, 0, 0, 0 ;90,91 db 11010010b, 0001b ;90: s$
db 0, 0, 0, 0 ;92,93 db 0, 0 ;91
db 0, 0, 0, 0 ;94,95 db 0, 0, 0, 0 ;92,93
db 0, 0, 0, 0 ;94,95
.v7: .v7:
db 11011001b, 011001b ;96: ><vVY db 11011001b, 011001b ;96: ><vVY
db 00010001b, 010001b ;97: ..none found db 00010001b, 010001b ;97: D
db 00010100b, 000101b ;98: bcdpqg db 00010100b, 000101b ;98: bcdpqg
db 0, 0 ;99: db 0, 0 ;99:
db 0, 0, 0, 0 ;100,101 db 0, 0, 0, 0 ;100,101
db 0, 0, 0, 0 ;102,103 db 0, 0, 0, 0 ;102,103
.v8: .v8:
db 00110000b, 00001100b ;104: 5 db 00110000b, 00001100b ;104: 5
db 0, 0 ;105 db 01010100b, 01010001b ;105: 689
db 0, 0, 0, 0, 0, 0 ;106..108 db 0, 0, 0, 0, 0, 0 ;106..108
db 0, 0, 0, 0, 0, 0 ;109..111 db 0, 0, 0, 0, 0, 0 ;109..111
.v9: .v9:
db 0, 0, 0 ;112: db 0, 0, 0 ;112:
@ -181,7 +182,7 @@ diff16 "sdsh_data.tick_table: ",0,$
db 0, 0, 0 ;115: db 0, 0, 0 ;115:
.v10: .v10:
db 00010100b, 01010000b, 0100b ;116: @0CGOQ db 00010100b, 01010000b, 0100b ;116: @0CGOQ
db 01010100b, 01010001b, 0100b ;117: 689 db 01010100b, 01010001b, 0100b ;117: ---
db 0, 0, 0 ;118: db 0, 0, 0 ;118:
db 0, 0, 0 ;119: db 0, 0, 0 ;119:
.v11: .v11:
@ -190,7 +191,7 @@ diff16 "sdsh_data.tick_table: ",0,$
db 0, 0, 0 ;122: db 0, 0, 0 ;122:
db 0, 0, 0 ;123: db 0, 0, 0 ;123:
.v12: .v12:
db 0, 0, 0 ;124: db 0, 0, 0 ;124:
db 0, 0, 0 ;125: db 0, 0, 0 ;125:
db 0, 0, 0 ;126: db 0, 0, 0 ;126:
db 0, 0, 0 ;127: db 0, 0, 0 ;127:
@ -207,7 +208,7 @@ diff16 "sdsh_data.table0: ",0,$
dw (.ch0_33 -.chars)*16 + 2 ; #33 ! dw (.ch0_33 -.chars)*16 + 2 ; #33 !
dw (.ch0_34 -.chars)*16 + 2 ; #34 " dw (.ch0_34 -.chars)*16 + 2 ; #34 "
dw (.ch0_35 -.chars)*16 + 4 ; #35 # dw (.ch0_35 -.chars)*16 + 4 ; #35 #
dw (.ch0_36 -.chars)*16 + 2 ; #36 $ dw (.ch0_36 -.chars)*16 + 3 ; #36 $
dw (.ch0_37 -.chars)*16 + 3 ; #37 % dw (.ch0_37 -.chars)*16 + 3 ; #37 %
dw (.ch0_38 -.chars)*16 + 4 ; #38 & dw (.ch0_38 -.chars)*16 + 4 ; #38 &
dw (.ch0_39 -.chars)*16 + 1 ; #39 ' dw (.ch0_39 -.chars)*16 + 1 ; #39 '
@ -255,7 +256,7 @@ diff16 "sdsh_data.table0: ",0,$
dw (.ch0_81 -.chars)*16 + 3 ; #81 Q dw (.ch0_81 -.chars)*16 + 3 ; #81 Q
dw (.ch0_82 -.chars)*16 + 3 ; #82 R dw (.ch0_82 -.chars)*16 + 3 ; #82 R
dw (.ch0_83 -.chars)*16 + 3 ; #83 S dw (.ch0_83 -.chars)*16 + 3 ; #83 S
dw (.ch0_84 -.chars)*16 + 3 ; #84 T dw (.ch0_84 -.chars)*16 + 2 ; #84 T
dw (.ch0_85 -.chars)*16 + 3 ; #85 U dw (.ch0_85 -.chars)*16 + 3 ; #85 U
dw (.ch0_86 -.chars)*16 + 3 ; #86 V dw (.ch0_86 -.chars)*16 + 3 ; #86 V
dw (.ch0_87 -.chars)*16 + 3 ; #87 W dw (.ch0_87 -.chars)*16 + 3 ; #87 W
@ -286,7 +287,7 @@ diff16 "sdsh_data.table0: ",0,$
dw (.ch0_112-.chars)*16 + 2 ; #112 p dw (.ch0_112-.chars)*16 + 2 ; #112 p
dw (.ch0_113-.chars)*16 + 2 ; #113 q dw (.ch0_113-.chars)*16 + 2 ; #113 q
dw (.ch0_114-.chars)*16 + 2 ; #114 r dw (.ch0_114-.chars)*16 + 2 ; #114 r
dw (.ch0_115-.chars)*16 + 1 ; #115 s dw (.ch0_115-.chars)*16 + 2 ; #115 s
dw (.ch0_116-.chars)*16 + 3 ; #116 t dw (.ch0_116-.chars)*16 + 3 ; #116 t
dw (.ch0_117-.chars)*16 + 2 ; #117 u dw (.ch0_117-.chars)*16 + 2 ; #117 u
dw (.ch0_118-.chars)*16 + 1 ; #118 v dw (.ch0_118-.chars)*16 + 1 ; #118 v
@ -300,39 +301,39 @@ diff16 "sdsh_data.table0: ",0,$
dw (.ch0_126-.chars)*16 + 2 ; #126 ~ dw (.ch0_126-.chars)*16 + 2 ; #126 ~
dw (.ch0_127-.chars)*16 + 2 ; #127 dw (.ch0_127-.chars)*16 + 2 ; #127
dw (.ch0_128-.chars)*16 + 4 ; #128 dw (.ch0_128-.chars)*16 + 4 ; #128 A
dw (.ch0_129-.chars)*16 + 3 ; #129 dw (.ch0_129-.chars)*16 + 3 ; #129
dw (.ch0_130-.chars)*16 + 3 ; #130 dw (.ch0_130-.chars)*16 + 3 ; #130
dw (.ch0_131-.chars)*16 + 2 ; #131 dw (.ch0_131-.chars)*16 + 2 ; #131
dw (.ch0_132-.chars)*16 + 6 ; #132 dw (.ch0_132-.chars)*16 + 6 ; #132
dw (.ch0_133-.chars)*16 + 4 ; #133 dw (.ch0_133-.chars)*16 + 4 ; #133 E
dw (.ch0_134-.chars)*16 + 3 ; #134 dw (.ch0_134-.chars)*16 + 3 ; #134
dw (.ch0_135-.chars)*16 + 3 ; #135 dw (.ch0_135-.chars)*16 + 3 ; #135
dw (.ch0_136-.chars)*16 + 3 ; #136 dw (.ch0_136-.chars)*16 + 3 ; #136
dw (.ch0_137-.chars)*16 + 4 ; #137 dw (.ch0_137-.chars)*16 + 4 ; #137
dw (.ch0_138-.chars)*16 + 3 ; #138 dw (.ch0_138-.chars)*16 + 3 ; #138 K
dw (.ch0_139-.chars)*16 + 3 ; #139 dw (.ch0_139-.chars)*16 + 3 ; #139
dw (.ch0_140-.chars)*16 + 4 ; #140 dw (.ch0_140-.chars)*16 + 4 ; #140 M
dw (.ch0_141-.chars)*16 + 4 ; #141 dw (.ch0_141-.chars)*16 + 3 ; #141 H
dw (.ch0_142-.chars)*16 + 2 ; #142 dw (.ch0_142-.chars)*16 + 2 ; #142 O
dw (.ch0_143-.chars)*16 + 3 ; #143 dw (.ch0_143-.chars)*16 + 3 ; #143
dw (.ch0_144-.chars)*16 + 2 ; #144 dw (.ch0_144-.chars)*16 + 2 ; #144 P
dw (.ch0_145-.chars)*16 + 2 ; #145 dw (.ch0_145-.chars)*16 + 2 ; #145 C
dw (.ch0_146-.chars)*16 + 3 ; #146 dw (.ch0_146-.chars)*16 + 2 ; #146 T
dw (.ch0_147-.chars)*16 + 3 ; #147 dw (.ch0_147-.chars)*16 + 3 ; #147
dw (.ch0_148-.chars)*16 + 3 ; #148 dw (.ch0_148-.chars)*16 + 2 ; #148
dw (.ch0_149-.chars)*16 + 2 ; #149 dw (.ch0_149-.chars)*16 + 2 ; #149 X
dw (.ch0_150-.chars)*16 + 4 ; #150 dw (.ch0_150-.chars)*16 + 4 ; #150
dw (.ch0_151-.chars)*16 + 2 ; #151 dw (.ch0_151-.chars)*16 + 2 ; #151
dw (.ch0_152-.chars)*16 + 4 ; #152 dw (.ch0_152-.chars)*16 + 4 ; #152
dw (.ch0_153-.chars)*16 + 5 ; #153 dw (.ch0_153-.chars)*16 + 5 ; #153
dw (.ch0_154-.chars)*16 + 3 ; #154 dw (.ch0_154-.chars)*16 + 3 ; #154 tvz
dw (.ch0_155-.chars)*16 + 3 ; #155 dw (.ch0_155-.chars)*16 + 3 ; #155
dw (.ch0_156-.chars)*16 + 2 ; #156 dw (.ch0_156-.chars)*16 + 2 ; #156 mz
dw (.ch0_157-.chars)*16 + 3 ; #157 dw (.ch0_157-.chars)*16 + 3 ; #157
dw (.ch0_158-.chars)*16 + 4 ; #158 dw (.ch0_158-.chars)*16 + 4 ; #158
dw (.ch0_159-.chars)*16 + 3 ; #159 dw (.ch0_159-.chars)*16 + 3 ; #159
dw (.ch0_160-.chars)*16 + 2 ; #160 dw (.ch0_160-.chars)*16 + 2 ; #160 a
dw (.ch0_161-.chars)*16 + 2 ; #161 dw (.ch0_161-.chars)*16 + 2 ; #161
dw (.ch0_162-.chars)*16 + 3 ; #162 dw (.ch0_162-.chars)*16 + 3 ; #162
dw (.ch0_163-.chars)*16 + 2 ; #163 dw (.ch0_163-.chars)*16 + 2 ; #163
@ -342,7 +343,7 @@ diff16 "sdsh_data.table0: ",0,$
dw (.ch0_167-.chars)*16 + 3 ; #167 dw (.ch0_167-.chars)*16 + 3 ; #167
dw (.ch0_168-.chars)*16 + 3 ; #168 dw (.ch0_168-.chars)*16 + 3 ; #168
dw (.ch0_169-.chars)*16 + 4 ; #169 dw (.ch0_169-.chars)*16 + 4 ; #169
dw (.ch0_170-.chars)*16 + 3 ; #170 dw (.ch0_170-.chars)*16 + 2 ; #170 ka
dw (.ch0_171-.chars)*16 + 2 ; #171 dw (.ch0_171-.chars)*16 + 2 ; #171
dw (.ch0_172-.chars)*16 + 3 ; #172 dw (.ch0_172-.chars)*16 + 3 ; #172
dw (.ch0_173-.chars)*16 + 3 ; #173 dw (.ch0_173-.chars)*16 + 3 ; #173
@ -429,14 +430,18 @@ diff16 "sdsh_data.chars: ",0,$
lntick 1, 8, 2, 2 lntick 1, 8, 2, 2
.ch0_36: ; $ .ch0_36: ; $
lntick 2, 1, 2, 7 lntick 2, 1, 2, 7
gptick 11, 0, 120 .ch0_115: ; s
gptick 7, 3, 90
lntick 0, 2, 0, 4
.ch0_37: ; % .ch0_37: ; %
cstick 0, 8, 0, 0 cstick 0, 8, 0, 0
lntick 0, 3, 1, 5 lntick 0, 3, 1, 5
cstick 3, 3, 0, 0 cstick 3, 3, 0, 0
.ch0_38: ; & .ch0_38: ; &
gptick 7, 6, 84 gptick 8, 6, 84
gptick 19, 4, 44 gptick 19, 4, 44
gptick 4, 0, 44
ritick 3, 3, 0
.ch0_40: ; ( .ch0_40: ; (
gptick 5, 3, 80 gptick 5, 3, 80
.ch0_41: ; ) .ch0_41: ; )
@ -466,7 +471,7 @@ diff16 "sdsh_data.chars: ",0,$
gptick 1, 2, 81 gptick 1, 2, 81
lntick 0, 8, 0, 4 lntick 0, 8, 0, 4
.ch0_64: ; @ .ch0_64: ; @
cstick 3, 6, 0, 1 cstick 2, 6, 0, 1
.ch0_48: ; 0 .ch0_48: ; 0
.ch0_79: ; O .ch0_79: ; O
.ch0_142: ; .ch0_142: ;
@ -483,38 +488,42 @@ diff16 "sdsh_data.chars: ",0,$
lntick 1, 3, 1, 3 lntick 1, 3, 1, 3
.ch0_51: ; 3 .ch0_51: ; 3
gptick 8, 1, 64 gptick 8, 1, 64
gptick 10, 6, 65
.ch0_83: ; S .ch0_83: ; S
lntick 1, 5, 0, 3 lntick 1, 5, 0, 3
gptick 8, 1, 55 gptick 3, 2, 55
.ch0_53: ; 5 .ch0_53: ; 5
gptick 10, 6, 65 gptick 10, 6, 65
gptick 13, 4, 104 gptick 13, 4, 104
.ch0_52: ; 4 .ch0_52: ; 4
gptick 14, 2, 38 lntick 0, 5, 1, 4
lntick 0, 4, 0, 5 lntick 0, 4, 0, 5
lntick 3, 2, 2, 7 lntick 3, 2, 2, 7
.ch0_54: ; 6 .ch0_54: ; 6
gptick 14, 0, 117 gptick 14, 0, 105
gptick 2, 2, 50 gptick 2, 2, 50
.ch0_56: ; 8 .ch0_56: ; 8
gptick 10, 6, 82 gptick 10, 6, 82
.ch0_57: ; 9 .ch0_57: ; 9
gptick 9, 0, 117 gptick 9, 0, 105
gptick 15, 6, 50 gptick 15, 6, 50
.ch0_60: ; < .ch0_60: ; <
gptick 7, 4, 96 gptick 7, 4, 96
.ch0_62: ; > .ch0_62: ; >
gptick 8, 0, 96 gptick 8, 0, 96
.ch0_63: ; ? .ch0_63: ; ?
gptick 7, 1, 64 gptick 4, 1, 64
gptick 24, 2, 38
ritick 2, 2, 0
.ch0_66: ; B .ch0_66: ; B
.ch0_130: ; B .ch0_130: ; B
gptick 10, 6, 51 gptick 10, 6, 51
gptick 4, 0, 89
lntick 0, 2, 2, 7
.ch0_80: ; P .ch0_80: ; P
.ch0_144: ; .ch0_144: ;
.ch0_82: ; R .ch0_82: ; R
gptick 9, 0, 83 gptick 9, 0, 98
.ch0_75: ; K .ch0_75: ; K
.ch0_138: ; K .ch0_138: ; K
lntick 0, 2, 2, 7 lntick 0, 2, 2, 7
@ -522,12 +531,12 @@ diff16 "sdsh_data.chars: ",0,$
lntick 1, 5, 1, 4 lntick 1, 5, 1, 4
.ch0_67: ; C .ch0_67: ; C
.ch0_145: ; .ch0_145: ;
ritick 5, 3, 0 ritick 4, 3, 0
.ch0_71: ; G .ch0_71: ; G
gptick 5, 4, 116 gptick 5, 4, 116
gptick 4, 5, 49 gptick 13, 0, 49
.ch0_68: ; D .ch0_68: ; D
gptick 9, 0, 96 gptick 9, 0, 97
.ch0_76: ; L .ch0_76: ; L
lntick 0, 2, 2, 7 lntick 0, 2, 2, 7
lntick 1, 2, 0, 4 lntick 1, 2, 0, 4
@ -543,19 +552,18 @@ diff16 "sdsh_data.chars: ",0,$
.ch0_141: ; H .ch0_141: ; H
lntick 1, 5, 0, 3 lntick 1, 5, 0, 3
lntick 0, 2, 2, 7 lntick 0, 2, 2, 7
lntick 5, 5, 2, 7 lntick 4, 2, 2, 7
.ch0_73: ; I .ch0_73: ; I
lntick 1, 8, 0, 3 lntick 1, 8, 0, 3
lntick 2, 3, 2, 5 lntick 2, 3, 2, 5
lntick 1, 2, 0, 3 lntick 1, 2, 0, 3
.ch0_74: ; J .ch0_74: ; J
gptick 31, 6, 88 gptick 31, 6, 88
lntick 3, 8, 0, 3 lntick 2, 8, 0, 3
.ch0_84: ; T .ch0_84: ; T
.ch0_146: ; .ch0_146: ;
lntick 3, 3, 2, 5 lntick 2, 2, 2, 6
lntick 2, 2, 0, 3 lntick 0, 8, 0, 5
lntick 1, 8, 0, 5
.ch0_77: ; M .ch0_77: ; M
.ch0_140: ; M .ch0_140: ; M
gptick 21, 2, 38 gptick 21, 2, 38
@ -576,7 +584,7 @@ diff16 "sdsh_data.chars: ",0,$
.ch0_118: ; v .ch0_118: ; v
.ch0_121: ; y .ch0_121: ; y
gptick 12, 6, 96 gptick 12, 6, 96
lntick 2, 0, 2, 2 lntick 1, 0, 1, 2
.ch0_88: ; X .ch0_88: ; X
.ch0_149: ; .ch0_149: ;
gptick 1, 2, 81 gptick 1, 2, 81
@ -609,8 +617,8 @@ diff16 "sdsh_data.chars: ",0,$
lntick 3, 8, 3, 2 lntick 3, 8, 3, 2
.ch0_97: ; a .ch0_97: ; a
.ch0_160: ; .ch0_160: ;
gptick 5, 4, 83 gptick 5, 4, 89
gptick 16, 0, 85 gptick 7, 2, 70
.ch0_129: ; .ch0_129: ;
lntick 1, 8, 0, 3 lntick 1, 8, 0, 3
.ch0_98: ; b .ch0_98: ; b
@ -667,8 +675,6 @@ diff16 "sdsh_data.chars: ",0,$
.ch0_114: ; r .ch0_114: ; r
lntick 1, 2, 2, 5 lntick 1, 2, 2, 5
gptick 21, 1, 38 gptick 21, 1, 38
.ch0_115: ; s
gptick 1, 0, 120
.ch0_116: ; t .ch0_116: ; t
gptick 16, 0, 49 gptick 16, 0, 49
gptick 20, 3, 38 gptick 20, 3, 38
@ -689,7 +695,7 @@ diff16 "sdsh_data.chars: ",0,$
.ch0_122: ; z .ch0_122: ; z
lntick 0, 2, 0, 5 lntick 0, 2, 0, 5
lntick 0, 6, 0, 5 lntick 0, 6, 0, 5
lntick 1, 2, 3, 3 lntick 1, 3, 1, 3
.ch0_123: ; { .ch0_123: ; {
gptick 5, 3, 43 gptick 5, 3, 43
gptick 23, 2, 38 gptick 23, 2, 38
@ -698,144 +704,142 @@ diff16 "sdsh_data.chars: ",0,$
gptick 24, 6, 38 gptick 24, 6, 38
.ch0_126: ; ~ .ch0_126: ; ~
gptick 2, 1, 39 gptick 2, 1, 39
lntick 3, 3, 1, 2 lntick 3, 4, 1, 2
.ch0_127: ; .ch0_127: ;
lntick 2, 2, 2, 3 lntick 2, 2, 2, 3
lntick 2, 6, 2, 3 lntick 2, 6, 2, 3
.ch0_131: ; .ch0_131: ;
lntick 1, 8, 0, 4
.ch0_132: ; .ch0_132: ;
lntick 1, 3, 2, 5
lntick 1, 8, 0, 4 lntick 1, 8, 0, 4
lntick 1, 2, 2, 6
lntick 0, 1, 2, 2 lntick 0, 1, 2, 2
.ch0_150: ; .ch0_150: ;
lntick 0, 2, 0, 5 lntick 0, 2, 0, 5
lntick 3, 3, 2, 6 lntick 3, 3, 2, 6
ritick 4, 1, 0 ritick 4, 1, 0
lntick 0, 3, 2, 6 lntick 0, 3, 2, 6
.ch0_134: ; .ch0_134: ; ZH
gptick 4, 6, 86 gptick 4, 6, 86
gptick 6, 2, 86 gptick 6, 2, 86
.ch0_148: ; .ch0_148: ; EF
lntick 2, 2, 2, 7 lntick 2, 2, 2, 7
cstick 1, 8, 0, 3 cstick 1, 8, 0, 3
.ch0_137: ; .ch0_137: ; IJ
gptick 25, 2, 39 gptick 25, 2, 39
.ch0_136: ; .ch0_136: ; I
lntick 0, 2, 2, 7 lntick 0, 2, 2, 7
lntick 1, 4, 1, 3 lntick 1, 4, 1, 3
.ch0_139: ; .ch0_139: ; K
lntick 4, 2, 2, 7 lntick 4, 2, 2, 7
gptick 26, 2, 66 gptick 26, 2, 66
lntick 0, 2, 1, 2 lntick 0, 2, 1, 2
.ch0_143: ; .ch0_143: ; PE
lntick 0, 2, 2, 7 lntick 0, 2, 2, 7
lntick 1, 8, 0, 3 lntick 1, 8, 0, 3
.ch0_151: ; .ch0_151: ; CHA
lntick 4, 2, 2, 7 lntick 4, 2, 2, 7
.ch0_147: ; .ch0_147: ; UU
gptick 27, 4, 85 gptick 27, 4, 85
lntick 4, 3, 2, 6 lntick 4, 3, 2, 6
lntick 1, 2, 0, 3 lntick 1, 2, 0, 3
.ch0_155: ; .ch0_155: ; YY
lntick 16, 0, 82 gptick 3, 0, 82
.ch0_152: ; .ch0_152: ; SHA
.ch0_153: ; .ch0_153: ; SCHA
lntick 0, 3, 2, 6 lntick 0, 3, 2, 6
lntick 4, 2, 2, 7 lntick 4, 2, 2, 7
lntick 2, 3, 2, 6 lntick 2, 3, 2, 6
lntick 0, 2, 0, 5 lntick 0, 2, 0, 5
lntick 4, 1, 2, 2 lntick 4, 1, 2, 2
.ch0_154: ; .ch0_154: ; TVZNAK
.ch0_156: ; .ch0_156: ; MZNAK
lntick 26, 0, 82 gptick 14, 0, 89
lntick 1, 3, 2, 6 lntick 1, 3, 2, 6
ritick 0, 8, 0 ritick 0, 8, 0
.ch0_135: ; .ch0_135: ; ZE
ritick 3, 5, 0 ritick 3, 5, 0
.ch0_157: ; .ch0_157: ; AE
gptick 8, 1, 64 gptick 8, 1, 64
gptick 10, 6, 65 gptick 10, 6, 65
lntick 1, 5, 0, 4 lntick 1, 5, 0, 4
.ch0_158: ; .ch0_158: ; JU
gptick 28, 7, 80 gptick 28, 7, 80
lntick 2, 3, 2, 5 lntick 2, 3, 2, 5
lntick 0, 2, 2, 7 lntick 0, 2, 2, 7
ritick 1, 5, 0 ritick 1, 5, 0
.ch0_159: ; .ch0_159: ; JA
gptick 13, 4, 89 gptick 13, 4, 89
lntick 4, 2, 2, 7 lntick 4, 2, 2, 7
lntick 0, 2, 1, 3 lntick 0, 2, 1, 3
.ch0_161: ; .ch0_161: ; be
gptick 8, 1, 42 gptick 8, 1, 42
.ch0_162: ; .ch0_162: ; ve
.ch0_111: ; o .ch0_111: ; o
.ch0_174: ; .ch0_174: ; o
cstick 1, 6, 0, 3 cstick 1, 6, 0, 3
gptick 3, 2, 44 gptick 3, 2, 44
ritick 2, 7, 0 ritick 2, 7, 0
.ch0_163: ; .ch0_163: ; ge
lntick 1, 6, 0, 4 lntick 1, 6, 0, 4
.ch0_164: ; .ch0_164: ; de
lntick 1, 2, 2, 4 lntick 1, 2, 2, 4
gptick 23, 0, 49 gptick 23, 0, 49
gptick 19, 0, 41 gptick 19, 0, 41
lntick 0, 1, 2, 2 lntick 0, 1, 2, 2
.ch0_166: ; .ch0_166: ; zhe
gptick 12, 6, 82 gptick 12, 6, 82
gptick 1, 2, 82 gptick 1, 2, 82
lntick 2, 2, 2, 5 lntick 2, 2, 2, 5
.ch0_167: ; .ch0_167: ; ze
lntick 2, 4, 0, 2 lntick 2, 4, 0, 2
.ch0_237: ; .ch0_237: ; ae
gptick 2, 1, 50 gptick 2, 1, 50
gptick 7, 5, 50 gptick 7, 5, 50
lntick 2, 4, 0, 3 lntick 2, 4, 0, 3
.ch0_169: ; .ch0_169: ; ji
gptick 28, 5, 39 gptick 28, 5, 39
.ch0_168: ; .ch0_168: ; ii
lntick 4, 2, 2, 5 lntick 4, 2, 2, 5
lntick 1, 3, 1, 3 lntick 1, 3, 1, 3
.ch0_170: ; .ch0_170: ; ka
lntick 1, 2, 2, 5 lntick 0, 2, 2, 5
gptick 6, 3, 54 gptick 5, 3, 54
ritick 1, 5, 0 .ch0_171: ; el
.ch0_171: ;
gptick 1, 1, 67 gptick 1, 1, 67
.ch0_172: ; .ch0_172: ; em
lntick 4, 2, 2, 5 lntick 4, 2, 2, 5
gptick 13, 5, 39 gptick 13, 5, 39
.ch0_173: ; .ch0_173: ; en
lntick 0, 2, 2, 5 lntick 0, 2, 2, 5
lntick 1, 4, 0, 3 lntick 1, 4, 0, 3
.ch0_175: ; .ch0_175: ; pe
lntick 4, 2, 2, 5 lntick 4, 2, 2, 5
lntick 0, 2, 2, 4 lntick 0, 2, 2, 4
.ch0_226: ; .ch0_226: ; te
lntick 0, 6, 0, 5 lntick 0, 6, 0, 5
lntick 2, 2, 2, 4 lntick 2, 2, 2, 4
.ch0_228: ; ä .ch0_228: ; ef
cstick 1, 6, 0, 3 cstick 1, 6, 0, 3
lntick 2, 0, 2, 6 lntick 2, 0, 2, 6
.ch0_229: ; å .ch0_229: ; ha
lntick 0, 2, 1, 5 lntick 0, 2, 1, 5
lntick 4, 2, 3, 5 lntick 4, 2, 3, 5
.ch0_230: ; æ .ch0_230: ; tse
lntick 0, 2, 2, 5 lntick 0, 2, 2, 5
lntick 3, 3, 2, 4 lntick 3, 3, 2, 4
gptick 22, 0, 52 gptick 22, 0, 52
.ch0_231: ; ç .ch0_231: ; che
gptick 27, 4, 48 gptick 27, 4, 48
.ch0_232: ; è .ch0_232: ; sha
.ch0_233: ; é .ch0_233: ; scha
lntick 4, 2, 2, 5 lntick 4, 2, 2, 5
lntick 0, 3, 2, 4 lntick 0, 3, 2, 4
lntick 2, 3, 2, 4 lntick 2, 3, 2, 4
lntick 0, 2, 0, 4 lntick 0, 2, 0, 4
lntick 5, 1, 2, 2 lntick 5, 1, 2, 2
.ch0_234: ; ê .ch0_234: ; tvznak
gptick 24, 0, 68 gptick 24, 0, 68
gptick 6, 0, 49 gptick 3, 0, 49
.ch0_235: ; ë .ch0_235: ; ë
.ch0_236: ; ì .ch0_236: ; ì
lntick 0, 3, 2, 4 lntick 0, 3, 2, 4
@ -866,7 +870,7 @@ diff16 "sdsh_data.chars: ",0,$
lntick 1, 0, 1, 4 lntick 1, 0, 1, 4
lntick 3, 0, 1, 2 lntick 3, 0, 1, 2
.ch0_184: ; .ch0_184: ;
lntick 3, 0, 2, 6 lntick 2, 0, 2, 6
.ch0_181: ; .ch0_181: ;
lntick 0, 3, 0, 2 lntick 0, 3, 0, 2
lntick 0, 5, 0, 2 lntick 0, 5, 0, 2
@ -881,6 +885,7 @@ diff16 "sdsh_data.chars: ",0,$
.ch0_185: ; .ch0_185: ;
gptick 11, 0, 49 gptick 11, 0, 49
gptick 9, 6, 52 gptick 9, 6, 52
lntick 3, 0, 2, 9
.ch0_182: ; .ch0_182: ;
.ch0_215: ; .ch0_215: ;
ritick 0, 4, 0 ritick 0, 4, 0
@ -892,15 +897,16 @@ diff16 "sdsh_data.chars: ",0,$
.ch0_204: ; .ch0_204: ;
gptick 15, 4, 49 gptick 15, 4, 49
gptick 30, 2, 52 gptick 30, 2, 52
lntick 1, 0, 2, 9
.ch0_187: ; .ch0_187: ;
lntick 4, 0, 2, 5 lntick 3, 0, 2, 5
lntick 0, 5, 0, 4 lntick 0, 5, 0, 4
gptick 11, 0, 49 gptick 11, 0, 49
.ch0_188: ; .ch0_188: ;
ritick 0, 5, 0 ritick 0, 5, 0
lntick 0, 3, 0, 4 lntick 0, 3, 0, 4
.ch0_189: ; .ch0_189: ;
lntick 4, 4, 2, 5 lntick 3, 4, 2, 5
lntick 1, 5, 2, 4 lntick 1, 5, 2, 4
lntick 0, 4, 0, 3 lntick 0, 4, 0, 3
.ch0_190: ; .ch0_190: ;