Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 7648 → Rev 7649

/programs/fs/copy2/trunk/build_ge.bat
File deleted
\ No newline at end of file
/programs/fs/copy2/trunk/build_en.bat
File deleted
\ No newline at end of file
/programs/fs/copy2/trunk/Tupfile.lua
File deleted
/programs/fs/copy2/trunk/build_ru.bat
File deleted
\ No newline at end of file
/programs/fs/copy2/trunk/copy2.asm
File deleted
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/programs/fs/mfar/trunk/build_en.bat
1,4 → 1,4
@erase lang.inc
@echo lang fix en >lang.inc
@fasm mfar.asm mfar
@erase lang.inc
@pause
/programs/fs/mfar/trunk/build_ru.bat
1,4 → 1,4
@erase lang.inc
@echo lang fix ru >lang.inc
@fasm mfar.asm mfar
@erase lang.inc
@pause
/programs/fs/mfar/trunk/macros.inc
0,0 → 1,227
; new application structure
macro meos_app_start
{
use32
org 0x0
 
db 'MENUET01'
dd 0x01
dd __start
dd __end
dd __memory
dd __stack
 
if used __params & ~defined __params
dd __params
else
dd 0x0
end if
 
dd 0x0
}
MEOS_APP_START fix meos_app_start
 
macro code
{
__start:
}
CODE fix code
 
macro data
{
__data:
}
DATA fix data
 
macro udata
{
if used __params & ~defined __params
__params:
db 0
__end:
rb 255
else
__end:
end if
__udata:
}
UDATA fix udata
 
macro meos_app_end
{
align 32
rb 2048
__stack:
__memory:
}
MEOS_APP_END fix meos_app_end
 
 
; macro for defining multiline text data
struc mstr [sstring]
{
forward
local ssize
virtual at 0
db sstring
ssize = $
end virtual
dd ssize
db sstring
common
dd -1
}
 
 
; language for programs
lang fix ru ; ru en fr ge fi
 
 
; code profiling
macro STARTTIMER
{
push ecx
push ebx
rdtsc
push edx
push eax
}
 
macro STOPTIMER ;edx:eax = cpu cycles ellapsed
{
rdtsc
pop ebx
pop ecx
clc
sbb eax,ebx
sbb edx,ecx
pop ebx
pop ecx
}
 
 
; optimize the code for size
macro add arg1,arg2
{
if arg1 in <eax,ebx,ecx,edx,esi,edi,ebp,esp>
if arg2 eqtype 0
if (arg2) = 1
inc arg1
else
add arg1,arg2
end if
else
add arg1,arg2
end if
else
add arg1,arg2
end if
}
 
macro sub arg1,arg2
{
if arg2 eqtype 0
if (arg2) = 1
dec arg1
else
sub arg1,arg2
end if
else
sub arg1,arg2
end if
}
 
macro mov arg1,arg2
{
if arg1 in <eax,ebx,ecx,edx,esi,edi,ebp,esp>
if arg2 eqtype 0
if (arg2) = 0
xor arg1,arg1
else if (arg2) = 1
xor arg1,arg1
inc arg1
else if (arg2) = -1
or arg1,-1
else if (arg2) > -128 & (arg2) < 128
push arg2
pop arg1
else
mov arg1,arg2
end if
else
mov arg1,arg2
end if
else
mov arg1,arg2
end if
}
 
 
macro struct name
{
virtual at 0
name name
sizeof.#name = $ - name
end virtual
}
 
 
; structures used in MeOS
struc process_information
{
.cpu_usage dd ? ; +0
.window_stack_position dw ? ; +4
.window_stack_value dw ? ; +6
.not_used1 dw ? ; +8
.process_name rb 12 ; +10
.memory_start dd ? ; +22
.used_memory dd ? ; +26
.PID dd ? ; +30
.x_start dd ? ; +34
.y_start dd ? ; +38
.x_size dd ? ; +42
.y_size dd ? ; +46
.slot_state dw ? ; +50
rb (1024-52)
}
struct process_information
 
struc system_colors
{
.frame dd ?
.grab dd ?
.grab_button dd ?
.grab_button_text dd ?
.grab_text dd ?
.work dd ?
.work_button dd ?
.work_button_text dd ?
.work_text dd ?
.work_graph dd ?
}
struct system_colors
 
 
; constants
 
; events
EV_IDLE = 0
EV_TIMER = 0
EV_REDRAW = 1
EV_KEY = 2
EV_BUTTON = 3
EV_EXIT = 4
EV_BACKGROUND = 5
EV_MOUSE = 6
EV_IPC = 7
EV_STACK = 8
 
; event mask bits for function 40
EVM_REDRAW = 1b
EVM_KEY = 10b
EVM_BUTTON = 100b
EVM_EXIT = 1000b
EVM_BACKGROUND = 10000b
EVM_MOUSE = 100000b
EVM_IPC = 1000000b
EVM_STACK = 10000000b
/programs/fs/mfar/trunk/menuet.inc
137,16 → 137,17
SND_PLAYBLOCK = 1
SND_SETFORMAT = 2
SF_SETLENGTH = 1
MF_HDWRITEFILE = 56
MF_HDDELFILE = 57
MF_FSACCESS = 58
FS_READ = 0
FS_WRITE = 1
FS_DELETE = 2
;MF_HDWRITEFILE = 56
;MF_HDDELFILE = 57
MF_FSACCESS = 70
FS_READ = 999999
FS_READ_FILE = 0
FS_READ_FOLDER = 1
FS_WRITE_FILE = 2
FS_APPEND = 3
FS_LBAREAD = 8
FS_LBAWRITE = 9
FS_EXECUTE = 16
FS_EXECUTE = 7
FS_DELETE = 8
FS_CREATE_FOL = 9
MF_SYSTRACE = 59
ST_GETEVENTS = 0
MF_IPC = 60
/programs/fs/mfar/trunk/mf-copy.inc
2,7 → 2,7
;///// COPYING ////////////////////////////////////////////////////////////////
;------------------------------------------------------------------------------
 
__func copy_file
func copy_file
pushad
 
cmp [active_panel],0
126,7 → 126,7
 
;------------------------------------------------------------------------------
 
__func draw_window_copy_main
func draw_window_copy_main
mcall2 MF_FILLRECT,oX+tW*2,tW*76,oY+tH*7,tH*8,0x00C0C0C0
 
mmov esi,oX+tW*4+2,oX+tW*75+3
168,7 → 168,7
 
;------------------------------------------------------------------------------
 
__func draw_copy_input
func draw_copy_input
mcall2 MF_FILLRECT,oX+tW*6,tW*68,oY+tH*10,tH,0x00008080
 
mov edx,fc_info.path
/programs/fs/mfar/trunk/mf-sort.inc
11,7 → 11,7
dd compare_by_extension
 
; AL = panel
__func mfar_sort
func mfar_sort
pusha
cmp al,0
jne ._00
69,7 → 69,7
 
; ESI = pointer to 1st file info
; EDI = pointer to 2nd file info
__func compare_by_name
func compare_by_name
mov ecx,11
push edi esi
repe cmpsb
102,7 → 102,7
 
; ESI = pointer to 1st file info
; EDI = pointer to 2nd file info
__func compare_by_extension
func compare_by_extension
push edi esi
mov ecx,3
add esi,8
/programs/fs/mfar/trunk/mfar.asm
26,7 → 26,6
; +0004C300:FFFB3CFF - dinamically allocated for copy, view, edit etc.
;
 
include 'lang.inc'
include 'macros.inc'
include 'menuet.inc'
include 'mfar.inc'
290,14 → 289,14
;///// DRAW WINDOW ////////////////////////////////////////////////////////////
;------------------------------------------------------------------------------
 
__func draw_window
func draw_window
mcall MF_WINPROPS,WP_GETSYSCLRS,sc,sizeof.system_colors
 
mcall MF_WNDDRAW,WD_BEGINDRAW
mov edx,[fc.background]
or edx,WS_SKINNED
or edx,$14000000
mov edi,caption
mcall2 MF_DEFWINDOW,90,oX+tW*80+4,45,oY+tH*25+4
mcall1 MF_DRAWTEXT,8,8,[sc.grab_text],caption,caption.size
 
mmov esi,oX+2,oX+tW*39+2
mmov edi,oY+3,oY+tH*22+3
340,7 → 339,7
;//////////////////////////////////////////////////////////////////////////////
;------------------------------------------------------------------------------
 
__func draw_window_full
func draw_window_full
call draw_window
mov edx,1
call get_files_data
360,7 → 359,7
align 4
len dd ?
 
__func get_normal_path
func get_normal_path
pusha
mov ecx,5
rep movsb
394,7 → 393,7
; EAX = length needed
; ECX = current length
; EDI = path string
__func get_path_ellipses
func get_path_ellipses
cmp ecx,eax
jbe @f
pushad
416,7 → 415,7
;//////////////////////////////////////////////////////////////////////////////
;------------------------------------------------------------------------------
 
__func draw_path
func draw_path
pushad
cmp [active_panel],0
jne ._00
444,7 → 443,7
;------------------------------------------------------------------------------
 
; AL = panel
__func draw_files
func draw_files
push eax
mmov ecx,oY+tH*2-1,tH*FPC
mov edx,[fc.background]
519,7 → 518,7
;//////////////////////////////////////////////////////////////////////////////
;------------------------------------------------------------------------------
 
__func draw_bottom_keys
func draw_bottom_keys
pushad
mcall2 MF_FILLRECT,oX-1,tW*80+1,oY+tH*24-1,tH+1,[fc.pathbg]
dec ecx
551,7 → 550,7
; ESI = X1*65536+X2
; EDI = Y1*65536+Y2
; EDX = color
__func draw_frame
func draw_frame
mov ecx,edi
mov ebx,edi
shr ebx,16
578,7 → 577,7
;------------------------------------------------------------------------------
 
; EDX = pointer to file data
__func get_file_color
func get_file_color
push esi
mov cl,[edx+11]
test cl,(FA_HIDDEN or FA_SYSTEM)
632,7 → 631,7
;------------------------------------------------------------------------------
 
; EDI = color
__func draw_sel
func draw_sel
pushad
cmp [active_panel],0
jne ._00
715,7 → 714,7
;------------------------------------------------------------------------------
 
; AL = panel
__func draw_file_info
func draw_file_info
push eax
mmov ecx,oY+tH*21,tH
mov edx,[fc.background]
790,7 → 789,7
;//////////////////////////////////////////////////////////////////////////////
;------------------------------------------------------------------------------
 
__func get_file_name
func get_file_name
pushad
mov eax,[esi+0]
mov [f_name+0],eax
810,7 → 809,7
;------------------------------------------------------------------------------
 
; ESI = pointer to file data
__func get_file_info
func get_file_info
pushad
mov eax,[esi+12]
mov dword[f_info],FS_READ
888,7 → 887,7
;------------------------------------------------------------------------------
 
; DL = panel
__func get_files_data
func get_files_data
pushad
mov [d_tcnt],0
mov [d_ttsz],0
985,7 → 984,7
;//////////////////////////////////////////////////////////////////////////////
;------------------------------------------------------------------------------
 
__func execute_current_file
func execute_current_file
pushad
cmp [active_panel],0
jne ._00
1080,7 → 1079,7
;//////////////////////////////////////////////////////////////////////////////
;------------------------------------------------------------------------------
 
__func delete_current_file
func delete_current_file
pushad
popad
ret
1124,12 → 1123,12
dd read_area
dd MEM_FOR_OS
.path:
rb 200
rb 255
 
f_plen0 dd 5
f_plen1 dd 5
 
sz caption,'MFAR : PRE-ALPHA-8.1'
sz caption,'MFAR : PRE-ALPHA-8.1',0
sz fcfile,'MFAR DAT'
sz p_hd,'/HD/1',0
sz p_rd,'/RD/1',0
/programs/media/imgview/gfx.cpp
File deleted
/programs/media/imgview/main.cpp
File deleted
\ No newline at end of file
/programs/media/imgview/kosSyst.h
File deleted
/programs/media/imgview/bin/readme
File deleted
\ No newline at end of file
/programs/media/imgview/bin/ChangeLog
File deleted
\ No newline at end of file
/programs/media/imgview/bin
Property changes:
Deleted: tsvn:logminsize
-5
\ No newline at end of property
/programs/media/imgview/dlgopen.cpp
File deleted
\ No newline at end of file
/programs/media/imgview/STDARG.H
File deleted
/programs/media/imgview/formats/bmp.cpp
File deleted
\ No newline at end of file
/programs/media/imgview/formats/pcx.h
File deleted
\ No newline at end of file
/programs/media/imgview/formats/tga.h
File deleted
\ No newline at end of file
/programs/media/imgview/formats/bmp.h
File deleted
\ No newline at end of file
/programs/media/imgview/formats/pcx.cpp
File deleted
\ No newline at end of file
/programs/media/imgview/formats/tga.cpp
File deleted
\ No newline at end of file
/programs/media/imgview/formats
Property changes:
Deleted: tsvn:logminsize
-5
\ No newline at end of property
/programs/media/imgview/img/btn_open.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/programs/media/imgview/img/btn_fit.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/programs/media/imgview/img/template.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/programs/media/imgview/img/btn_prev.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/programs/media/imgview/img/btn_next.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/programs/media/imgview/img
Property changes:
Deleted: tsvn:logminsize
-5
\ No newline at end of property
/programs/media/imgview/compile.bat
File deleted
\ No newline at end of file
/programs/media/imgview/dlgopen.h
File deleted
\ No newline at end of file
/programs/media/imgview/mcsmemm.cpp
File deleted
/programs/media/imgview/kosSyst.cpp
File deleted
/programs/media/imgview/MCSMEMM.H
File deleted
/programs/media/imgview
Property changes:
Deleted: tsvn:logminsize
-5
\ No newline at end of property
/programs/media/mv/trunk/build_en.bat
File deleted
\ No newline at end of file
/programs/media/mv/trunk/Tupfile.lua
File deleted
/programs/media/mv/trunk/build_ru.bat
File deleted
\ No newline at end of file
/programs/media/mv/trunk/mv.asm
File deleted
Property changes:
Deleted: svn:eol-style
-native
\ No newline at end of property
/programs/other/dictionary/dictionary.wrd
File deleted
\ No newline at end of file
/programs/other/dictionary/API.INC
File deleted
\ No newline at end of file
/programs/other/dictionary/dictionary.ASM
File deleted
/programs/other/dictionary/build.bat
File deleted
\ No newline at end of file
/programs/other/dictionary/Tupfile.lua
File deleted
/programs/other/dictionary
Property changes:
Deleted: tsvn:logminsize
-5
\ No newline at end of property
/programs/other/outdated/copy2/trunk/copy2.asm
0,0 → 1,460
; project name: SYSTREE FILE COPIER
; version: 1.2
; Mario79 23/10/06
;
; version: 1.1b
; last update: 18/07/2004
; compiler: FASM 1.52
; written by: Ivan Poddubny
; e-mail: ivan-yar@bk.ru
; copying-policy: GPL
 
; History:
; 23/10/06 application use function 70
; 18/07/2004 strings using "lsz" macro + french language (not 100%!)
; 04/06/2004 Bugfix for memory - thanks to Ville
; ...
 
use32
org 0x0
 
db 'MENUET01' ; 8 byte id
dd 0x01 ; header version
dd START ; start of code
dd I_END ; size of image
dd 0x10000 ; memory for app
dd 0x10000 ; esp
dd 0x0 , 0x0 ; I_Param , I_Icon
 
include 'lang.inc'
include '..\..\..\..\macros.inc' ; very useful stuff for MeOS
STRLEN = 48 ; maximal length of filename
 
 
START: ; start of execution
 
red:
call draw_window ; at first, draw the window
 
still: ; main cycle of application begins here
 
mov eax,10 ; wait here for event
mcall
 
dec eax ; redraw request ?
jz red
dec eax ; key in buffer ?
jz key
dec eax ; button in buffer ?
jz button
 
jmp still
 
key: ; key event handler
mov eax,2 ; just read it and ignore
mcall
jmp still ; return to main loop
 
button: ; button
mov eax,17 ; get id
mcall
 
cmp ah,1 ; button id=1 ? (close_btn)
jz close
 
cmp ah,2 ; copy ?
je copy_file
 
; read_string:
 
cmp ah,5 ; user pressed dest button ?
jz dstbtn
cmp ah,4 ; user pressed src button ?
jnz still
 
srcbtn:
mov [addr],dword source_info.name ;source
mov [ya],dword 36
jmp rk
dstbtn:
mov [addr],dword dest_info.name ;destination
mov [ya],dword 36+16
 
rk:
mov edi,[addr] ; load the address of the string
mov al,0 ; the symbol we will search for
mov ecx,STRLEN+1 ; length of the string (+1)
cld ; search forward
repne scasb ; do search now
inc ecx ; we've found a zero or ecx became 0
mov eax,STRLEN+1
sub eax,ecx ; eax = address of <0> character
mov [temp],eax ; position
 
call print_text
 
mov edi,[addr] ; address of string
add edi,[temp] ; cursor position
 
.waitev:
mov eax,10
mcall
cmp eax,2
jnz still
; mov eax,2
mcall
shr eax,8
cmp eax,8
jnz .nobs ; BACKSPACE
cmp edi,[addr]
jz .waitev
dec edi
mov [edi],byte 0
call print_text
jmp .waitev
.nobs:
cmp eax,13 ; ENTER
je still
cmp eax,192
jne .noclear
xor al,al
mov edi,[addr]
mov ecx,STRLEN
rep stosb
mov edi,[addr]
call print_text
jmp .waitev
 
.noclear:
mov [edi],al
 
call print_text
 
inc edi
mov esi,[addr]
add esi,STRLEN
cmp esi,edi
jnz .waitev
 
jmp still
 
 
close:
or eax,-1 ; close program
mcall
 
 
;====================================================
; copy_file
; This piece of code copies src file to dst file,
; then it pass the control to copy_error routine,
; which returns to the main cycle of the app.
; It's NOT a function! It's reached by direct jump
; from the button handler.
;====================================================
copy_file:
; at first we must get the size of the source file
mcall 70, get_param_info
 
; now eax contains error code
test eax,eax ; check if eax is equal to zero (success)
jne copy_error ; print error code now
 
; allocate memory
mov ecx,[param_info+32] ;ebx
add ecx,0x10000 ; size of memory needed = 0x10000+filesize
mov eax,64 ; func 64
mov ebx,1 ; resize application memory
mcall
 
; check if alloc function failed
test eax,eax ; non-zero value means error
je .ok_memory
mov eax,5 ; error 5 - out of memory
jmp copy_error ; print error code now
.ok_memory:
 
; save size to source_info
mov ebx,[param_info+32]
mov [source_info.size],ebx ; read the source file
mcall 70,source_info
 
; now eax contains error code
test eax,eax ; check if eax is equal to zero (success)
jne copy_error ; print error code now
 
; file size in bytes
mov [dest_info.size],ebx
 
; save loaded file
mcall 70,dest_info
 
; now eax contains error code
test eax,eax
jne copy_error
 
; return to the initial amount of memory
mov eax,64
mov ebx,1
mov ecx,0x10000
mcall
 
xor eax,eax ; eax = message number (0-OK)
 
 
; print message now
copy_error:
mov edi,eax
mov eax,4
mov ebx,20*65536+83
mov ecx,0x10ff0000
mov edx,[errors+edi*8]
mov esi,[errors+edi*8+4]
mcall
jmp still
 
 
; print strings (source & destination)
print_text:
mov eax,13
mov ebx,107*65536+STRLEN*6
mov ecx,[ya]
shl ecx,16
add ecx,9
mov edx,0xf2f2f2
mcall
 
mov eax,4
mov ebx,109*65536
add ebx,[ya]
xor ecx,ecx
mov edx,[addr]
mov esi,STRLEN
mcall
 
ret
 
 
; *********************************************
; ******* WINDOW DEFINITIONS AND DRAW ********
; *********************************************
 
 
draw_window:
 
mov eax, 12 ; function 12:tell os about windowdraw
mov ebx, 1 ; 1, start of draw
mcall
 
; DRAW WINDOW
xor eax, eax ; function 0 : define and draw window
mov ebx, 160*65536+415 ; [x start] *65536 + [x size]
mov ecx, 160*65536+100 ; [y start] *65536 + [y size]
mov edx, 0x14DDDDDD ; color of work area RRGGBB
mov edi, title ; WINDOW LABEL
mcall
 
mov eax, 8 ; COPY BUTTON
mov ebx, 20*65536+375
mov ecx, 63*65536+16
mov edx, 2
mov esi, 0xCCCCCC
mcall
 
mov ebx, 105*65536+290
mov ecx, 33*65536+12
mov edx, 4
mov esi, 0xEBEBEB
mcall
 
mov ebx, 105*65536+290
mov ecx, 49*65536+12
mov edx, 5
mov esi, 0xEBEBEB
mcall
 
mov esi, source_info.name ;source
mov edi, text+14
mov ecx, STRLEN
rep movsb
 
mov esi, dest_info.name ;destination
mov edi, text+STRLEN+59-45+14
mov ecx, STRLEN
rep movsb
 
mov ebx, 25*65536+36 ; print filenames
xor ecx, ecx
mov edx, text
mov esi, STRLEN+59-45
newline:
mov eax, 4
mcall
add ebx, 16
add edx, STRLEN+59-45
cmp [edx], byte 'x'
jnz newline
 
mov eax, 12 ; function 12:tell os about windowdraw
mov ebx, 2 ; 2, end of draw
mcall
 
ret
 
 
; DATA AREA
get_param_info:
.subfunction dd 5 ; 5 - get parameters of file
.start dd 0 ; rezerved
.size_high dd 0 ; rezerved
.size dd 0 ; rezerved
.return dd param_info
.name:
db 0
dd source_info.name
 
source_info: ; SOURCE FILEINFO
.subfunction dd 0 ; 0=READ
.start dd 0
.size_high dd 0
.size dd 0
.return dd 0x10000
.name:
db '/hd0/1/kernel/kernel.mnt',0 ; ASCIIZ dir & filename
times (STRLEN-24) db 0
 
dest_info: ; DESTINATION FILEINFO
.subfunction dd 2 ; 0=WRITE
.start dd 0
.size_high dd 0
.size dd 0
.return dd 0x10000
.name:
db '/sys/kernel.mnt',0 ; ASCIIZ dir & filename
times (STRLEN-16) db 0
 
param_info:
rb 40
 
 
;align 4
;source_info: ; SOURCE FILEINFO
; .mode dd 0 ; read file
; .start_block dd 0x0 ; block to read
; .blocks dd 0x700 ; num of blocks
; .address dd 0x20000
; .workarea dd 0x10000
; source db '/HD/1/KERNEL/KERNEL.MNT',0
; times (STRLEN-23) db 0
;
;dest_info: ; DESTINATION FILEINFO
; .mode dd 1 ; write
; .notused dd 0x0 ; not used
; .bytes2write dd 0 ; bytes to write
; .address dd 0x20000
; .workarea dd 0x10000
; destination db '/RD/1/KERNEL.MNT',0
; times (STRLEN-16) db 0
 
align 4
addr dd 0x0
ya dd 0x0
temp dd 0
 
 
lsz text,\
ru, ' Ž’Š“„€: | ®áá¨ï, Ÿà®á« ¢«ì ',\
ru, ' Š“„€: | ®¤¤ã¡­ë© ˆ¢ ­, ivan-yar@bk.ru ',\
ru, ' ŠŽˆŽ‚€’œ ',\
ru, 'x',\ ; <- END MARKER, DONT DELETE
\
en, 'SOURCE: | Russia, Yaroslavl ',\
en, 'DESTINATION: | Poddubny Ivan, ivan-yar@bk.ru ',\
en, ' COPY SOURCE -> DESTINATION ',\
en, 'x',\ ; <- END MARKER, DONT DELETE
\
de, 'QUELLE: | Russia, Yaroslavl ',\
de, 'ZIEL: | Poddubny Ivan, ivan-yar@bk.ru ',\
de, ' KOPIERE QUELLE -> ZIEL ',\
de, 'x',\ ; <- END MARKER, DONT DELETE
\
fr, 'SOURCE: | ',\
fr, 'DESTINATION: | ',\
fr, ' COPIER ',\
fr, 'x'
 
 
lsz title,\
ru, 'ŠŽˆŽ‚€’œ ”€‰‹',\
en, 'SYSTREE FILE COPIER',\
de, 'SYSTREE DATEIKOPIERER',\
fr, 'COPIER LE FICHIER'
 
 
;  This macro is used to define a string table in format <pointer;length>
macro strtbl name,[string]
{
common
label name dword
forward
local str,size
dd str,size
forward
str db string
size = $ - str
}
 
if lang eq ru
strtbl errors,\
"ä ©« ᪮¯¨à®¢ ­ ãᯥ譮",\
"(ç⥭¨¥) ­¥ § ¤ ­  ¡ §  ¦¤",\
"(ç⥭¨¥) ä ©«®¢ ï á¨á⥬  ­¥ ¯®¤¤¥à¦¨¢ ¥âáï",\
"(ç⥭¨¥) ­¥¨§¢¥áâ­ ï ä ©«®¢ ï á¨á⥬ ",\
"(ç⥭¨¥) ­¥ § ¤ ­ à §¤¥« ¦¤",\
"­¥¤®áâ â®ç­® ¯ ¬ïâ¨",\
"(ç⥭¨¥) ª®­¥æ ä ©« ",\
"(ç⥭¨¥) ­¥¨§¢¥áâ­ ï ®è¨¡ª ",\
"(§ ¯¨áì) ­¥ § ¤ ­ à §¤¥« ¦¤",\
"(§ ¯¨áì) ä ©«®¢ ï á¨á⥬  ­¥ ¯®¤¤¥à¦¨¢ ¥âáï",\
"(§ ¯¨áì) ­¥¨§¢¥áâ­ ï ä ©«®¢ ï á¨á⥬ ",\
"(§ ¯¨áì) ­¥ § ¤ ­ à §¤¥« ¦¤",\
"?",\
"(§ ¯¨áì) ä ©« ­¥ ­ ©¤¥­",\
"(§ ¯¨áì) ­¥¨§¢¥áâ­ ï ®è¨¡ª "
else if lang eq en
strtbl errors,\
"Success!",\
"(read) no hd base or partition defined",\
"(read) unsupported file system",\
"(read) unknown file system",\
"(read) hd partition not defined",\
"out of memory",\
"(read) end of file",\
"(read) unknown error",\
"(write) no hd base or partition defined",\
"(write) unsupported file system",\
"(write) unknown file system",\
"(write) hd partition not defined",\
"?",\
"(write) end of file",\
"(write) unknown error"
else
strtbl errors,\
"Erfolgreich!",\
"(lesen) Keine Festplatte oder Partition definiert",\
"(lesen) Dateisystem nicht unterstuetzt",\
"(lesen) Unbekanntes Dateisystem",\
"(lesen) Keine Partition definiert",\
"Zu wenig Speicher",\
"(lesen) Dateiende erreicht",\
"(lesen) Unbekanner Fehler",\
"(schreiben) Keine Festplatte oder Partition definiert",\
"(schreiben) Dateisystem nicht unterstuetzt",\
"(schreiben) Unbekanntes Dateisystem",\
"(schreiben) Keine Partition definiert",\
"?",\
"(schreiben) Dateiende erreicht",\
"(schreiben) Unbekanner Fehler"
end if
 
I_END:
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/programs/other/outdated/copy2/trunk/Tupfile.lua
0,0 → 1,3
if tup.getconfig("NO_FASM") ~= "" then return end
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en" or tup.getconfig("LANG")) .. " > lang.inc", {"lang.inc"})
tup.rule({"copy2.asm", extra_inputs = {"lang.inc"}}, "fasm %f %o " .. tup.getconfig("KPACK_CMD"), "copy2")
/programs/other/outdated/copy2/trunk/build_en.bat
0,0 → 1,5
@erase lang.inc
@echo lang fix en >lang.inc
@fasm copy2.asm copy2
@erase lang.inc
@pause
/programs/other/outdated/copy2/trunk/build_ge.bat
0,0 → 1,5
@erase lang.inc
@echo lang fix de >lang.inc
@fasm copy2.asm copy2
@erase lang.inc
@pause
/programs/other/outdated/copy2/trunk/build_ru.bat
0,0 → 1,5
@erase lang.inc
@echo lang fix ru >lang.inc
@fasm copy2.asm copy2
@erase lang.inc
@pause
/programs/other/outdated/dictionary/dictionary.ASM
0,0 → 1,414
 
use32 ; âà ­á«ïâ®à, ¨á¯®«ì§ãî騩 32 à §à來ëå ª®¬ ­¤ë
org 0x0 ; ¡ §®¢ë©  ¤à¥á ª®¤ , ¢á¥£¤  0x0
db 'MENUET01' ; ¨¤¥­â¨ä¨ª â®à ¨á¯®«­ï¥¬®£® ä ©«  (8 ¡ ©â)
dd 0x1 ; ¢¥àá¨ï ä®à¬ â  § £®«®¢ª  ¨á¯®«­ï¥¬®£® ä ©« 
dd start ;  ¤à¥á, ­  ª®â®àë© á¨á⥬  ¯¥à¥¤ ñâ ã¯à ¢«¥­¨¥
; ¯®á«¥ § £à㧪¨ ¯à¨«®¦¥­¨ï ¢ ¯ ¬ïâì
dd i_end ; à §¬¥à ¯à¨«®¦¥­¨ï
dd mem ; Ž¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨, ¤«ï á⥪  ®â¢¥¤¥¬ 0å100 ¡ ©â ¨ ¢ë஢­¨¬ ­  £à­¨æã 4 ¡ ©â 
dd mem ; à á¯®«®¦¨¬ ¯®§¨æ¨î á⥪  ¢ ®¡« á⨠¯ ¬ïâ¨, áࠧ㠧  ⥫®¬ ¯à®£à ¬¬ë. ‚¥à設  á⥪  ¢ ¤¨ ¯ §®­¥ ¯ ¬ïâ¨, 㪠§ ­­®¬ ¢ëè¥
dd 0x0 ; 㪠§ â¥«ì ­  áâபã á ¯ à ¬¥âà ¬¨.
dd 0;pathprog ;¯ãâì ¨ ¨¬ï ¯à®£¨
 
include "../../../macros.inc"
include "../../../proc32.inc"
include "API.INC"
include "../../../dll.inc"
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
include '../../../develop/libraries/box_lib/load_lib.mac'
 
start:
mcall 68,11 ;¨­¨æ¨ «¨§¨à㥬 ªãçã
test eax,eax
jz Win1.Exit
stdcall dll.Load, @IMPORT
 
 
; mov ecx,1024
; mov edi,pathprog
; xor al,al
;
; repne scasb
;
; dec edi
; mov esi,WordFile
; @@:
; lodsb
; stosb
; test al,al
; jne @b
 
;GetFileInfo fStruc,pathprog,fInfo ;¯à®¢¥àª  ­  ­ «¨ç¨¥ ä ©« 
;test eax,eax ;§ ®¤­® ¨ ¯®«ãçã à §¬¥à ä ©« 
;je WordFileOK
 
;stdcall [mb_create],msgNotFound,mbThread
;jmp Win1.Redraw
 
;WordFileOK:
; stdcall mem.Alloc,dword [fInfo+32]
; mov ebx,dword [fInfo+32]
; mov [filBuffer],eax
; add dword[fInfo+32],eax ;§¤¥áì åà ­¨âáï 㪠§ â¥«ì ­  ª®­¥æ ¡ãä¥à 
; ReadFile fStruc,pathprog,ebx,eax,0
; test eax,eax
; jz Win1.Redraw
;
; add al,30h
; mov [NumErr],al
; stdcall [mb_create],msgNotFound1,mbThread
;
 
 
align 4
Win1.Redraw:
RedrawWinBeg
 
xor eax,eax
mov ebx,(524*10000h+500)
mov ecx,(548*10000h+200)
mov edx,73FFFFFFh
mov edi,Win1.Caption
int 40h ;®ª­® á ¯à®§à ç­ë¬ ä®­o¬
 
mcall 9,ThreadInfo,-1
 
mov eax,13
mov ebx,[ThreadInfo+3Eh]
inc ebx
mov ecx,[ThreadInfo+42h]
inc ecx
mov edx,clWhite
int 40h ;  ⥯¥àì ­¥ ¯à®§à ç­ë¬:)
 
call Perevod ; ¢ ¯¥à¥à¨á®¢ª¥ áࠧ㠯¥à¥¢®¤¨¬ ¢¢¥¤ñ­­®¥ á«®¢®
call NextPerev
stdcall [edit_box_draw],EditIN
RedrawWinEnd
 
align 4
Win1.Events:
WaitMessage
dec eax
jz Win1.Redraw
dec eax
jz Win1.Key
dec eax
jz Win1.ButtonPress
 
;stdcall [edit_box_mouse],EditIN
 
jmp Win1.Events
 
Win1.ButtonPress:
GetButtonPressed
 
cmp ah,idbExit
je Win1.Exit
 
jmp Win1.Events
 
Win1.Key:
GetKeyPressed
stdcall [edit_box_key],EditIN
jmp Win1.FonRedraw
 
 
Win1.Exit:
 
ExitProcess
 
Win1.FonRedraw: ;¯¥à¥à¨á®¢ª  ®¡« á⨠¢ë¢®¤ 
mcall 9,ThreadInfo,-1
 
mov eax,13
mov ebx,[ThreadInfo+3Eh]
inc ebx
mov ecx,20
shl ecx,16
add ecx,[ThreadInfo+42h]
sub ecx,19
mov edx,clWhite
int 40h
 
call Perevod
call NextPerev
jmp Win1.Events
 
;-------------------------------------------------------------------------------
 
Perevod: ;á ¬ ¯¥à¥¢®¤
mov edi,dict;[filBuffer]
 
Perev:
xor ebx,ebx
@@: ;áà ¢­¨¥¬ ¨áå. á«®¢® á® á«®¢®¬ ¯®¤ esi
mov al,[text+ebx]
test al,al
je endWord
cmp [ebx+edi],al
jne WordNotFound
inc ebx
jmp @b
 
endWord:
cmp byte[ebx+edi],20h
jne WordNotFound
 
add edi,ebx
dec edi ;¯à®¯ã᪠¥¬ ¯à®¡¥«ë ¯®á«¥  ­£«¨©áª®£® á«®¢ 
@@:
inc edi
cmp byte[edi],20h
je @b
 
xor ebx,ebx
CopyWord: ;ª®¯¨à㥬 ¯¥à¥¢®¤ ¢ áâப㠤«ï ¢ë¢®¤ 
mov al,[edi+ebx]
cmp al,0Dh
je @f
mov [perevText+ebx],al
inc ebx
jmp CopyWord
@@:
mov byte[perevText+ebx],0
 
OutText 7,25,perevText
ret
 
WordNotFound: ;¥á«¨ á«®¢® ­¥ ¯®¤®è«®
add edi,ebx
@@:
cmp byte[edi],0Dh
je NextWord
inc edi
cmp edi,SizeDict;dword [fInfo+32]
jae endPerev
jmp @b
 
NextWord:
add edi,2
cmp edi,SizeDict;dword [fInfo+32]
jae endPerev
jmp Perev
endPerev:
ret
 
 
;-------------------------------------------------------------------------------
NextPerev:
mov ecx,Lines
mov edi,dict;[filBuffer]
LinePerev: ;横« à¨á®¢ ­¨ï áâப¨
xor ebx,ebx
@@: ;áà ¢­¨¥¬ ¨áå. á«®¢® á® á«®¢®¬ ¯®¤ esi
mov al,[text+ebx]
test al,al
je N_endWord
cmp [ebx+edi],al
jne N_WordNotFound
inc ebx
jmp @b
 
N_endWord:
cmp ebx,0
jne N_Ppoisk
ret
 
N_Ppoisk: ;¯®¨áª ­ ç «  áâப¨
add edi,ebx
@@:
dec edi
cmp byte[edi],0Ah
jne @b
inc edi
 
;########¯à®¯ã᪠¥¬ 㦥 ¯¥à¥¢¥¤ñ­­®¥ á«®¢®########
xor ebx,ebx
N_NoDouble:
mov al,[text+ebx]
test al,al
je N_Double
cmp [ebx+edi],al
jne N_NoDblOk
inc ebx
jmp N_NoDouble
 
N_Double:
cmp byte[ebx+edi],20h
jne N_NoDblOk
 
add edi,ebx
@@:
inc edi
cmp byte[edi],0Ah
jne @b
add edi,2
jmp LinePerev
 
N_NoDblOk: ;############¢ë¢®¤ १ã«ìâ â®¢####################
xor ebx,ebx ;ª®¯¨à㥬 १ã«ìâ â
N_CopyWord:
mov al,[edi+ebx]
cmp al,20h
je @f
mov [perevText+ebx],al
inc ebx
jmp N_CopyWord
@@:
mov byte[perevText+ebx],0
add edi,ebx
 
mov eax,Lines
sub eax,ecx
dec eax
shl eax,3
add eax,45
push ecx
push edi
OutText 7,ax,perevText
pop edi
pop ecx
 
@@:
inc edi
cmp byte[edi],20h
je @b
 
 
xor ebx,ebx
N_CopyPerev:
mov al,[edi+ebx]
cmp al,0Dh
je @f
mov [perevText+ebx],al
inc ebx
jmp N_CopyPerev
@@:
mov byte[perevText+ebx],0
 
mov eax,Lines
sub eax,ecx
dec eax
shl eax,3
add eax,45
push ecx
push edi
OutText 127,ax,perevText
pop edi
pop ecx
 
@@:
inc edi
cmp byte[edi],0Ah
jne @b
inc edi
 
loop @f ;­¥¤®â¢ ¥âáï ¤® LinePerev
ret
@@:
jmp LinePerev
 
N_WordNotFound:
add edi,ebx
@@:
cmp byte[edi],0Dh
je N_NextWord
inc edi
cmp edi,SizeDict;dword [fInfo+32]
jae N_endPerev
jmp @b
 
N_NextWord:
add edi,2
cmp edi,SizeDict;dword [fInfo+32]
jae N_endPerev
jmp LinePerev
N_endPerev:
ret
 
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
;------DATA---------------------------------------------------------------------
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
 
idbExit = 1
 
Lines = 16 ;ª®«¨ç¥á⢠áâப
 
clTheme = 080B0FFh
 
Win1.Caption db 'Dictionary ENG -> RUS',0
Win1X = 524
Win1Y = 548
Win1W = 500
Win1H = 200
 
Memo.X = 5
Memo.Y = 20
Memo.W = 400
Memo.H = 370
 
EditIN edit_box 350,5,5,0FFFFFFh,06F9480h,0,00h,0,40,\
text,mouse_dd,ed_focus,0,0
 
 
 
; msgNotFound:
; dw 0
; db 'Žè¨¡ª ',0
; db '” ©« dictionary.wrd ­¥ ­ ©¤¥­',0
; db 'Ÿá­®',0
; db 0
;
; msgNotFound1:
; dw 0
; db '!!!',0
; db 'Žè¨¡ª  ç⥭¨ï '
; NumErr: db 0
; db 0
; db 'Ÿá­®',0
; db 0
;
; WordFile db '.wrd',0
 
 
;-------------------------------------------------------------------------------
@IMPORT:
library box_lib,'box_lib.obj',msgbox,'msgbox.obj'
import box_lib,\
edit_box_draw,'edit_box',\
edit_box_key,'edit_box_key';,\
;edit_box_mouse,'edit_box_mouse'
import msgbox,\
mb_create,'mb_create'
 
dict:
include 'dictionary.wrd'
 
SizeDict = $;-dict
 
 
i_end:
;-------------------------------------------------------------------------------
 
;WordFP rb 1024
; m1 dd 0
;filBuffer rd 1
 
 
ThreadInfo: rb 1024
;pathprog
mouse_dd rd 1
text rb 40
perevText rb 300
;fStruc rb 30
;fInfo rb 40
mbThread rb 1024
 
 
rb 4096
mem:
 
/programs/other/outdated/dictionary/Tupfile.lua
0,0 → 1,2
if tup.getconfig("NO_FASM") ~= "" then return end
tup.rule("dictionary.ASM", "fasm %f %o " .. tup.getconfig("KPACK_CMD"), "dictionary")
/programs/other/outdated/dictionary/API.INC
0,0 → 1,854
;-------------------------------------------------------------------------------
;=========== Constans ==========================================================
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
MEV_LDOWN = 1
MEV_LUP = 2
MEV_RDOWN = 3
MEV_RUP = 4
MEV_WHEEL = 5
MEV_MOVE = 6
 
;//Mouse buttons state
MBS_LEFT = 1
MBS_RIGHT = 2
MBS_CENTER = 4
MBS_4 = 8
MBS_5 = 16
 
;// KEY MODIFIERS
 
KM_SHIFT = 0x00010000
KM_CTRL = 0x00020000
KM_ALT = 0x00040000
 
KM_CTRLSHIFT = 0x00030000
KM_ALTSHIFT = 0x00050000
KM_CTRLALT = 0x00060000
 
KM_CTRLALTSHIFT = 0x00070000
 
;// KEY CODES
 
KEY_ESCAPE = 0x00000001
KEY_SNAPSHOT = 0x00000137
KEY_PAUSE = 0x0000021D
 
KEY_F1 = 0x0000003B
KEY_F2 = 0x0000003C
KEY_F3 = 0x0000003D
KEY_F4 = 0x0000003E
KEY_F5 = 0x0000003F
KEY_F6 = 0x00000040
KEY_F7 = 0x00000041
KEY_F8 = 0x00000042
KEY_F9 = 0x00000043
KEY_F10 = 0x00000044
KEY_F11 = 0x00000057
KEY_F12 = 0x00000058
 
KEY_TILDE = 0x00000029
KEY_MINUS = 0x0000000C
KEY_EQUAL = 0x0000000D
KEY_BACKSPACE = 0x0000000E
KEY_TAB = 0x0000000F
KEY_SQBRACE1 = 0x0000001A
KEY_SQBRACE2 = 0x0000001B
KEY_SLASH1 = 0x00000035
KEY_SLASH2 = 0x0000002B
KEY_SEMICOLON = 0x00000027
KEY_QUOTE = 0x00000028
KEY_COMMA = 0x00000033
KEY_DOT = 0x00000034
KEY_SPACE = 0x00000039
 
KEY_1 = 0x00000002
KEY_2 = 0x00000003
KEY_3 = 0x00000004
KEY_4 = 0x00000005
KEY_5 = 0x00000006
KEY_6 = 0x00000007
KEY_7 = 0x00000008
KEY_8 = 0x00000009
KEY_9 = 0x0000000A
KEY_0 = 0x0000000B
 
KEY_A = 0x0000001E
KEY_B = 0x00000030
KEY_C = 0x0000002E
KEY_D = 0x00000020
KEY_E = 0x00000012
KEY_F = 0x00000021
KEY_G = 0x00000022
KEY_H = 0x00000023
KEY_I = 0x00000017
KEY_J = 0x00000024
KEY_K = 0x00000025
KEY_L = 0x00000026
KEY_M = 0x00000032
KEY_N = 0x00000031
KEY_O = 0x00000018
KEY_P = 0x00000019
KEY_Q = 0x00000010
KEY_R = 0x00000013
KEY_S = 0x0000001F
KEY_T = 0x00000014
KEY_U = 0x00000016
KEY_V = 0x0000002F
KEY_W = 0x00000011
KEY_X = 0x0000002D
KEY_Y = 0x00000015
KEY_Z = 0x0000002C
 
KEY_CAPSLK = 0x0000003A
KEY_SCRLK = 0x00000046
KEY_NUMLK = 0x00000069
 
KEY_RETURN = 0x0000001C
KEY_NUMRETURN = 0x0000011C
 
KEY_LCONTROL = 0x0000001D
KEY_RCONTROL = 0x0000011D
KEY_LSHIFT = 0x0000002A
KEY_RSHIFT = 0x00000036
KEY_LALT = 0x00000038
KEY_RALT = 0x00000138
 
KEY_LWIN = 0x0000015B
KEY_RWIN = 0x0000015C
KEY_APPS = 0x0000015D
 
KEY_INSERT = 0x00000152
KEY_DELETE = 0x00000153
KEY_HOME = 0x00000147
KEY_END = 0x0000014F
KEY_PAGEUP = 0x00000149
KEY_PAGEDOWN = 0x00000151
KEY_UP = 0x00000148
KEY_LEFT = 0x0000014B
KEY_RIGHT = 0x0000014D
KEY_DOWN = 0x00000150
 
KEY_DIVIDE = 0x00000135
KEY_MULTIPLY = 0x00000037
KEY_SUBTRACT = 0x0000004A
KEY_ADD = 0x0000004E
KEY_SEPARATOR = 0x00000053
 
KEY_NUM1 = 0x0000004F
KEY_NUM2 = 0x00000050
KEY_NUM3 = 0x00000051
KEY_NUM4 = 0x0000004B
KEY_NUM5 = 0x0000004C
KEY_NUM6 = 0x0000004D
KEY_NUM7 = 0x00000047
KEY_NUM8 = 0x00000048
KEY_NUM9 = 0x00000049
KEY_NUM0 = 0x00000052
 
;// EXTENDED KEY CODES (MULTIMEDIA KEYBOARDS)
 
KEY_MYDOCUMENTS = 0x0000014C
KEY_MYPICTURES = 0x00000164
KEY_MYMUSIC = 0x0000013C
KEY_MUTE = 0x00000120
KEY_PLAYPAUSE = 0x00000122
KEY_STOP = 0x00000124
KEY_VOLUMEUP = 0x00000130
KEY_VOLUMEDOWN = 0x0000013E
KEY_PREVSONG = 0x00000110
KEY_NEXTSONG = 0x00000119
KEY_MEDIA = 0x0000016D
KEY_MAIL = 0x0000016C
KEY_WEBHOME = 0x00000132
KEY_MESSENGER = 0x00000105
 
KEY_CALCULATOR = 0x00000121
KEY_LOGOFF = 0x00000116
KEY_SLEEP = 0x0000015F
 
;Keyboard modes (func 66,2)
 
KBM_ASCII = 0
KBM_SCAN = 1
 
;-------------------------------------------------------------------------------
;Colors-------------------------------------------------------------------------
 
clWhite = 0FFFFFFh
clBlack = 0
clRed = 0FF0000h
clBlue = 0FF00h
clGreen = 0FFh
clGrey = 0888888h
 
 
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
;========== APIs macros ========================================================
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
;-------------------------------------------------------------------------------
 
macro DrawWindow x,y,w,h,nameW ;void
{
if ~(x eq bx)
mov bx,x
end if
rol ebx,16
mov bx,w
if ~(y eq cx)
mov cx,y
end if
rol ecx,16
mov cx,h
mov edx,0x33FFFFFF
mov esi,0x80333333
mov edi,nameW
xor eax,eax
int 40h
}
 
macro DrawPanel x,y,w,h,color ;void ;à¨áã¥â ­¥¯¥à¥¬¥é ¥¬®¥ ¯à®§à ç­®¥(¨«¨ æ¢¥â  color) ®ª­®
{
xor eax,eax
if ~(x eq bx)
mov bx,x
end if
rol ebx,16
mov bx,w
if ~(y eq cx)
mov cx,y
end if
rol ecx,16
mov cx,h
mov edx,21000000h
; add edx,color
mov esi,01000000h
; mov edi,color
int 40h
 
if ~(color eq)
mov eax,13
xor bx,bx
rol ebx,16
mov bx,w
xor cx,cx
rol ecx,16
mov cx,h
mov edx,color
int 40h
end if
}
 
 
;WinClass
; .Caption (offset Name)
; .Color (color dword)
; .Transparent (0/1)
; .WorkTransp (0/1)
; .Fix (0/1)
; .Skin (0/1)
; .CaptionColor (color dword)
; .FrameColor (color dword)
 
macro DrawWindowEx x,y,w,h,WinClass ;void ¬®¦¥â à¨á®¢ âì «î¡®¥ ®ª­®
{
if ~(x eq bx)
mov bx,x
end if
rol ebx,16
mov bx,w
if ~(y eq cx)
mov cx,y
end if
rol ecx,16
mov cx,h
 
if WinClass#.WorkTransp==1
WinClass#.WorkTransp=40000000h
end if
 
mov edx,3000000h+WinClass#.WorkTransp+WinClass#.Color
mov esi,0x80333333
mov edi,WinClass#.Name
xor eax,eax
int 40h
}
 
macro DrawPix x,y,color ;void
{
mov ebx,x
mov ecx,y
mov edx,color
mov eax,1
int 40h
}
 
macro GetKeyPressed ;eax=1-¯ãáâ® «¨¡® al=0, ah=ª®¤ ­ ¦ â®© ª« ¢¨è¨ «¨¡®
{ ;al=2, ah=᪠­ª®¤ ­ ¦ â®© ƒŽŸ—…‰ ª« ¢¨è¨,HI eax=á®áâ ã¯à ª« ¢¨è
mov eax,2
int 40h
}
 
 
macro OutText x,y,Text,colorFon ;void
{
if colorFon eq
mov bx,x
rol ebx,16
mov bx,y
mov ecx,80000000h
mov edx,Text
mov eax,4
int 40h
else
mov bx,x
rol ebx,16
mov bx,y
mov ecx,0C0000000h
mov edx,Text
mov edi,colorFon
mov eax,4
int 40h
end if
}
 
macro Sleep time ;void
{
mov ebx,time
mov eax,5
int 40h
}
 
 
macro DrawImage x,y,w,h,Image ;void
{
mov ebx,Image
mov cx,w
rol ecx,16
mov cx,h
mov dx,x
rol edx,16
mov dx,y
mov eax,7
int 40h
}
 
macro DrawButton x,y,w,h,ID,color,Caption ;void
{
if ID<1000000h
mov bx,x
rol ebx,16
mov bx,w
mov cx,y
rol ecx,16
mov cx,h
mov edx,ID
mov esi,color
mov eax,8
int 40h
 
sub edx,80000000h
else
mov eax,-1
end if
 
if ~(Caption eq)
mov bx,x
add bx,5
rol ebx,16
mov bx,y
add bx,5
mov ecx,80000000h
mov edx,Caption
mov eax,4
int 40h
end if
}
 
macro DeleteButton ID ;void
{
if ID<1000000h
mov eax,8
mov edx,80000000h
add edx,ID
int 40h
;else
 
end if
 
}
 
macro GetThreadInfo Buffer,N ;1KB eax=max ­®¬¥à á«®â  ¯®â®ª 
{
mov ebx,Buffer
if N eq
mov ecx,-1
else
mov ecx,N
end if
mov eax,9
int 40h
}
; +34 = X window
; +38 = Y window
; +42 = W window
; +46 = H window
 
 
macro WaitMessage ;eax=event(1=redraw,2=key,3=button,5=redrawBackgroud,
{ ;6=mouse,7=IPC,8=ethernet,9=debug,16..31=IRQ0..IRQ15)
mov eax,10
int 40h
}
 
macro ReadMessage ;eax=0-¯ãáâ® ¨­ ç¥ ᬠWaitMessage
{
mov eax,11
int 40h
}
 
macro RedrawWinBeg ;void
{
mov eax,12
mov ebx,1
int 40h
}
 
macro RedrawWinEnd ;void
{
mov eax,12
mov ebx,2
int 40h
}
 
macro DrawRect x,y,w,h,color ;void
{
mov bx,x
rol ebx,16
mov bx,w
mov cx,y
rol ecx,16
mov cx,h
mov edx,color
mov eax,13
int 40h
}
 
macro DrawClearRect x,y,w,h,color ;(à ¬ª¨. ¨áã¥â ¯à®áâ® à ¬ªã. ¥§ § ªà è¨¢ ­¨ï ¢­ãâà¨)
{
mov eax,38
mov bx,x
rol ebx,16
mov bx,x
add bx,w
mov cx,y
rol ecx,16
mov cx,y
mov edx,color
int 40h
 
mov eax,38
mov bx,x
add bx,w
rol ebx,16
mov bx,x
add bx,w
mov cx,y
rol ecx,16
mov cx,y
add cx,h
mov edx,color
int 40h
 
mov eax,38
mov bx,x
rol ebx,16
mov bx,x
add bx,w
mov cx,y
add cx,h
rol ecx,16
mov cx,y
add cx,h
mov edx,color
int 40h
 
mov eax,38
mov bx,x
rol ebx,16
mov bx,x
mov cx,y
rol ecx,16
mov cx,y
add cx,h
mov edx,color
int 40h
}
 
 
 
macro GetScreenSize ;eax=[xsize]*0x10000+[ysize]. ‡­ ç¥­¨ï 㦥 㢥«¨ç¥­ë ­  1,â.¥.
{ ;xsize ¨ ysize ¬®£ãâ ¡ëâì à ¢­ë 1024 ¨ 768 (­ ¯à¨¬¥à)
mov eax,14
int 40h
add eax,00010001h
}
 
macro RedrawDesktop
{
mov eax,15
mov ebx,3
int 40h
}
 
macro GetButtonPressed ;eax=1(¯ãáâ®) ¨­ ç¥ al=0(LButton)¨«¨ ª®¤ ¤à㣮© ª­®¯ª¨ ¬ëè¨,
{ ; HI eax ¨ ah ᮤ¥à¦ â ­®¬¥à ª­®¯ª¨
mov eax,17
int 40h
}
 
macro Minimize ;void
{
mov eax,18
mov ebx,10
int 40h
}
 
macro SetMousePos x,y
{
mov ecx,4
mov dx,x
rol edx,16
mov dx,y
mov eax,18
mov ebx,19
int 40h
}
 
macro WaitMessageT time
{
mov ebx,time
mov eax,23
int 40h
}
 
macro SetDefaultFolder folder
{
mov ecx,folder
mov eax,30
mov ebx,1
int 40h
}
 
macro GetDefaultFolder folderBuf,sizeBuf
{
mov ecx,folderBuf
moc edx,sizeBuf
mov eax,30
mov ebx,2
int 40h
}
 
macro GetMousePos
{
mov eax,37
xor ebx,ebx
int 40h
}
 
macro GetMouseWinPos
{
mov eax,37
mov ebx,1
int 40h
}
 
 
macro GetMouseKey
{
mov eax,37
mov ebx,2
int 40h
}
 
macro LoadCursorF path
{
mov ecx,path
mov eax,37
mov ebx,4
mov dx,0
int 40h
}
 
macro LoadCursorM cur
{
mov ecx,cur
mov eax,37
mov ebx,4
mov dx,1
int 40h
}
 
macro LoadCursorStruct cur,x,y
{
; mov edx,x*1000000h+y*10000h+0002
mov edx,x
shl edx,24
xor ecx,ecx
mov cx,y
shl ecx,16
add edx,ecx
add edx,2
mov ecx,path
mov eax,37
mov ebx,4
int 40h
}
 
macro SetCursor Handle
{
mov ecx,Handle
mov eax,37
mov ebx,5
int 40h
}
 
 
macro DrawLine x1,y1,x2,y2,color
{
mov bx,x1
rol ebx,16
mov bx,x2
mov cx,y1
rol ecx,16
mov cx,y2
mov edx,color
mov eax,38
int 40h
}
 
macro SetMaskMessage Mask
{
mov ebx,Mask
mov eax,40
int 40h
}
 
macro DrawInt Int,Leng,x,y,color
{
xor ecx,ecx
mov cx,Leng
shl ecx,16
add ebx,ecx
 
mov ecx,Int
mov dx,x
rol edx,16
mov dx,y
mov esi,color
mov eax,47
mov ebx,080100000h ;+Leng*10000h+0000
int 40h
}
 
macro GetSkinH
{
mov eax,48
mov ebx,4
int 40h
}
 
macro CreateThread start,stack
{
mov ecx,start
mov edx,stack
mov eax,51
mov ebx,1
int 40h
}
 
 
 
macro SetKeyboardMode mode
{
mov ecx,mode
mov eax,66
mov ebx,2
int 40h
}
 
macro ResizeWindow x,y,w,h
{
mov ebx,x
mov ecx,y
mov edx,w
mov esi,h
mov eax,67
int 40h
}
 
macro InitMemory ;eax=0(­¥ãᯥå) ¨«¨ à §¬¥à ªãç¨
{
mov eax,68
mov ebx,11
int 40h
}
 
macro GetMemory size ;eax=Pointer
{
mov ecx,size
mov ebx,12
mov eax,68
int 40h
}
 
macro FreeMemory pointer ;eax = 0/1 = false/true
{
mov ecx,pointer
mov ebx,13
mov eax,68
int 40h
}
 
macro ReallocMemory pointer,newsize
{
mov edx,pointer
mov ecx,newsize
mov ebx,20
mov eax,68h
int 40h
}
 
macro ReadFile Struc,path,n,Buffer,posL;,posH
{
mov dword [Struc],0
mov dword [Struc+4],posL
mov dword [Struc+8],0;posH
mov dword [Struc+12],n
mov dword [Struc+16],Buffer
mov byte [Struc+20],0
mov dword [Struc+21],path
mov ebx,Struc
mov eax,70
int 40h
}
 
macro CreateFile Struc,path,n,Buffer
{
mov dword [Struc],2
mov dword [Struc+4],0
mov dword [Struc+8],0
mov dword [Struc+12],n
mov dword [Struc+16],Buffer
mov byte [Struc+20],0
mov dword [Struc+21],path
mov ebx,Struc
mov eax,70
int 40h
}
 
macro WriteFile Struc,path,n,Buffer,posL;,posH
{
mov dword [Struc],3
mov dword [Struc+4],posL
mov dword [Struc+8],0;posH
mov dword [Struc+12],n
mov dword [Struc+16],Buffer
mov byte [Struc+20],0
mov dword [Struc+21],path
mov ebx,Struc
mov eax,70
int 40h
 
}
 
macro SetFileSize Struc,path,sizeL;,sizeH
{
mov dword [Struc],4
mov dword [Struc+4],sizeL
mov dword [Struc+8],0;sizeH
mov dword [Struc+12],0
mov dword [Struc+16],0
mov byte [Struc+20],0
mov dword [Struc+21],path
mov ebx,Struc
mov eax,70
int 40h
}
 
macro GetFileInfo Struc,path,BufferInfo ;(40¡ ©â)
{
mov dword [Struc],5
mov dword [Struc+4],0
mov dword [Struc+8],0
mov dword [Struc+12],0
mov dword [Struc+16],BufferInfo
mov byte [Struc+20],0
mov dword [Struc+21],path
mov ebx,Struc
mov eax,70
int 40h
}
 
macro RunProgram Struc,path,params
{
mov eax,70
mov ebx,Struc
mov dword [Struc],7
mov dword [Struc+4],0
mov dword [Struc+8],params
mov dword [Struc+12],0
mov dword [Struc+16],0
mov byte [Struc+20],0
mov dword [Struc+21],path
int 40h
}
 
macro Remove Struc,path
{
mov eax,70
mov ebx,Struc
mov dword [Struc],8
mov dword [Struc+4],0
mov dword [Struc+8],0
mov dword [Struc+12],0
mov dword [Struc+16],0
mov byte [Struc+20],0
mov dword [Struc+21],path
int 40h
}
 
macro CreateFolder Struc,path
{
mov eax,70
mov ebx,Struc
mov dword [Struc],9
mov dword [Struc+4],0
mov dword [Struc+8],0
mov dword [Struc+12],0
mov dword [Struc+16],0
mov byte [Struc+20],0
mov dword [Struc+21],path
int 40h
}
 
macro SetWindowCaption caption
{
mov eax,71
mov ebx,1
mov ecx,name
int 40h
}
 
macro ExitThread
{
mov eax,-1
int 40h
}
 
ExitProcess fix ExitThread
/programs/other/outdated/dictionary/build.bat
0,0 → 1,2
fasm dictionary.asm dictionary
pause
/programs/other/outdated/dictionary/dictionary.wrd
0,0 → 1,1361
db 13,10
db 'the ®¯à¥¤¥«¥­­ë©  à⨪«ì ' ,13,10
db 'be ¡ëâì, ­ã¦­®, ¡ã¤ì ' ,13,10
db 'and ¨ ' ,13,10
db 'of ¯®ª §ë¢ ¥â ¯à¨­ ¤«¥¦­®áâì ' ,13,10
db 'a ­¥®¯à¥¤¥«ñ­­ë©  à⨪«ì ' ,13,10
db 'to ª, ¯® ­ ¯à ¢«¥­¨î, 㪠§ë¢ ¥â ­  ¨­ä¨­¨â¨¢ £« £®«  ' ,13,10
db 'i ï, ã ¬¥­ï, ¬­¥ ' ,13,10
db 'have ¨¬¥âì, ¥áâì, ¯®§¢®«ïâì, 㣮¢ à¨¢ âì, 㦥 ' ,13,10
db 'it íâ®, ¨¬¥­­® ' ,13,10
db 'in ¢ â¥ç¥­¨¥ ' ,13,10
db 'he ®­, ã ­¥£®, ¥¬ã ' ,13,10
db 'that çâ®, ç⮡ë íâ®, íâ®â, ª®â®àë© ' ,13,10
db 'you âë, ¢ë ' ,13,10
db 'not ­¥, ­¥â ' ,13,10
db 'his ¥£® ' ,13,10
db 'say £®¢®à¨âì, ᪠¦¥¬ ' ,13,10
db 'on ­ , ¢ª«îç âì ­ , ç⮡ë ' ,13,10
db 'with á, á ¯®¬®éìî ' ,13,10
db 'as ¨ª ª, ª ª, â ª ª ª, ¯®áª®«ìªã, ¯® ¬¥à¥ ⮣® ª ª, á⮫쪮, ᪮«ìª®, 祬, â ª®© ¦¥ ' ,13,10
db 'for ¤«ï ' ,13,10
db 'at ¯à¨,  â ' ,13,10
db 'but ­®, «¨èì ' ,13,10
db 'do ¤¥« âì ' ,13,10
db 'they ®­¨, ã ­¨å, ¨¬ ' ,13,10
db 'her ¥¥, ®­ , ã ­¥¥, ¥© ' ,13,10
db 'she ®­ , ã ­¥¥, ¥© ' ,13,10
db 'my ¬®©, ï ' ,13,10
db 'can ¬®çì, ¬®¦­® «¨, ¬®¦­®, ª ­¨áâà  ' ,13,10
db 'will ¡ëâì, ¥á«¨, ¢®«ï(§ ¢¥é ­¨¥) ' ,13,10
db 'him ®­ ' ,13,10
db 'all ¢á¥, ¢¥áì, ¯®«­®áâìî ' ,13,10
db 'there ⠬ ' ,13,10
db 'me ï ' ,13,10
db 'we ã ­ á, ­ ¬ ' ,13,10
db 'go 室¨âì|¯®©â¨, ¯à®å®¤¨âì ' ,13,10
db 'from ¨§, ®â, ç⮡ë ' ,13,10
db 'what çâ®, ª ª®© ' ,13,10
db 'this íâ®, íâ®â ' ,13,10
db 'out ¨§ ' ,13,10
db 'so â ª¨¬ ®¡à §®¬, â ª çâ®, â ª, â ª®© ' ,13,10
db 'up ¯®, ¢¢¥àå ' ,13,10
db 'see ¢¨¤¥âì, ᬮâਠ' ,13,10
db 'one ®¤¨­ ' ,13,10
db 'come ¯à¨å®¤¨âì, ­ ç¨­ âì ' ,13,10
db 'them ®­, ®­¨ ' ,13,10
db 'no ¡¥§, ­¥ ' ,13,10
db 'by ª, çâ® ' ,13,10
db 'know §­ âì ' ,13,10
db 'if ¯à¨ ' ,13,10
db 'look ᬮâà¥âì, ¢ë£«ï¤¥âì, ᬮâà¥âì, ¢§£«ï¤ ' ,13,10
db 'when ¯à¨ ' ,13,10
db 'get ¯®«ãç âì, áâ ­®¢¨âìáï, ã¡¥¦¤ âì, ¯®­ïâì, ®á®§­ âì, 㤨¢¨âì, ¨§ã¬¨âì ' ,13,10
db 'or ¨«¨ ' ,13,10
db 'then § â¥¬, ⮣¤  ' ,13,10
db 'like «î¡¨âì, å®â¥âì, ¯®å®¦¨© ' ,13,10
db 'now ⥯¥àì ' ,13,10
db 'think ¤ã¬ âì ' ,13,10
db 'which çâ® ' ,13,10
db 'into ­  ' ,13,10
db 'their ¨å ' ,13,10
db 'about ®ª®«®, ¯®çâ¨, ¢­®¢ì ' ,13,10
db 'make § áâ ¢«ïâì ' ,13,10
db 'down ¢­¨§ ¯® ' ,13,10
db 'time ¢à¥¬)¢à¥¬ï ' ,13,10
db 'take ¡à âì, âॡ®¢ âìáï, âॡ®¢ âì, ¯¥à¥¤ ¢ âì, ¯à¨­¨¬ âì, ¢ë¡¨à âì ' ,13,10
db 'your ¢ è ' ,13,10
db 'man 祫®¢¥ª ' ,13,10
db 'more ¡®«¥¥, ¡®«ì訩, ¤®¯®«­¨â¥«ì­ë©, ¡®«ìè¥ ' ,13,10
db 'who ªâ®, ª®â®àë© ' ,13,10
db 'back ¢®§¢à é âì, ®¡à â­ ï áâ®à®­ , ᯨ­ , ®¡à â­®, ¢ ®â¢¥â ' ,13,10
db 'mister £®á¯®¤¨­ ' ,13,10
db 'some ®ª®«® ' ,13,10
db 'very ®ç¥­ì ' ,13,10
db 'over ¢ â¥ç¥­¨¥, ç¥à¥§, § ª ­ç¨¢ âìáï, ¯¥à¥, ¢ëè¥ ' ,13,10
db 'hand ¯¥à¥¤ ¢ âì, à㪠 ' ,13,10
db 'little ­¥¬­®£®, ­¥¡®«ì让 ' ,13,10
db 'tell á®®¡é âì ' ,13,10
db 'us áè  ' ,13,10
db 'may ¬®çì, ¢®§¬®¦­®, ¬ ©, ¬®¦­®, ­¥«ì§ï ' ,13,10
db 'well å®à®è®, å®à®è¨©, ª®«®¤¥æ, £¥®«)᪢ ¦¨­  ' ,13,10
db 'other ¤à㣮© ' ,13,10
db 'before ¤®, ¯à¥¦¤¥, ¯à¥¦¤¥, 祬 ' ,13,10
db 'way ¯ãâì, ᯮᮡ ' ,13,10
db 'again á­®¢ , ªà®¬¥ ⮣® ' ,13,10
db 'shall ¡ëâì, ¤®«¦¥­, ¥á«¨ ' ,13,10
db 'find ­ å®¤¨âì|­ ©â¨, ®¡­ à㦨¢ âì, ®ª §ë¢ âìáï, ­ ç¨­ âì ' ,13,10
db 'just ¡¥§®è¨¡®ç­ë©, ¢¥à­ë©, ¯à ¢¨«ì­ë©, â®ç­ë©, ⮫쪮 çâ® (¢ ¤ ­­ë© ¬®¬¥­â), ⮫쪮, ¥¤¢  ' ,13,10
db 'eye ¨áª âì, £« § ' ,13,10
db 'don ¤®­ ' ,13,10
db 'than 祬 ' ,13,10
db 'here §¤¥áì, á ' ,13,10
db 'any «î¡®© ' ,13,10
db 'how ª ª ' ,13,10
db 'where £¤¥, ªã¤  ' ,13,10
db 'old áâ àë© ' ,13,10
db 'good å®à®è®, å®à®è¨© ' ,13,10
db 'leave ®áâ ¢«ïâì, ®áâ ¢ âìáï, ã室¨âì ' ,13,10
db 'give ¤ ¢ âì ' ,13,10
db 'even ¤ ¦¥, ஢­ë©, ç¥â­ë© ' ,13,10
db 'day ¤¥­ì, ¤­¥¢­®© ' ,13,10
db 'away ¯à®çì ' ,13,10
db 'through ç¥à¥§ ' ,13,10
db 'off å¨âà ï ç áâ¨æ  ' ,13,10
db 'too ᫨誮¬, ⮦¥ ' ,13,10
db 'great ¡®«ì让 ' ,13,10
db 'never ­¨ª®£¤  ' ,13,10
db 'after ¯®á«¥, ¢¯®á«¥¤á⢨¨, ¯®á«¥ ⮣®, ª ª ' ,13,10
db 'long ¤®«£® (¤«¨­®©), ¤«¨­­®, ¤«¨­­ë©, ¤«¨­­¥¥ ' ,13,10
db 'hear á«ëè âì, ¯®«ãç âì ¨§¢¥á⨥ ' ,13,10
db 'turn ¯®¢®à ç¨¢ âì, ¯®¢®à®â, ®¡®à®â ' ,13,10
db 'feel çã¢á⢮¢ âì ' ,13,10
db 'much §­ ç¨â¥«ì­®, ®ç¥­ì, ¬­®£®, ¬­®£®¥ ' ,13,10
db 'head £®«®¢ , ¨­ä)¬¥å)£®«®¢ª , á®î§)£« ¢ , £« ¢­ë© ' ,13,10
db 'our ­ è ' ,13,10
db 'seem ª § âìáï, ª ¦¥âáï, ' ,13,10
db 'right ¯à ¢®, ¯à ¢ë©, ¯à ¢¨«ì­ë©, ¢¯à ¢® ' ,13,10
db 'must ¤®«¦¥­, ¯®-¢¨¤¨¬®¬ã, ¤®«¦­ë ' ,13,10
db 'face áâ «ª¨¢ âìáï á, «¨æ®, «¨æ¥¢®© ' ,13,10
db 'two ¤¢ , ¤¢ãå ' ,13,10
db 'still ¢á¥ ¥é¥, ¢á¥ ¦¥, ­¥¯®¤¢¨¦­ë© ' ,13,10
db 'want å®â¥âì ' ,13,10
db 'door ¤¢¥àì, ¢å®¤ ' ,13,10
db 'first á­ ç « , ¯¥à¢ë© ' ,13,10
db 'upon á ' ,13,10
db 'last ¯®á«¥¤­¨© à §, ¯®á«¥¤­¨©, ¯à®è«ë© ' ,13,10
db 'something çâ®-â®, ª®¥-祬 ' ,13,10
db 'though ¢á¥-¦¥, å®âï ' ,13,10
db 'night ­®çì, ­®ç­®© ' ,13,10
db 'light § ¦¨£ âì, ᢥâ, ᢥâ«ë©, «¥£ª¨©, ᢥ⮢®© ' ,13,10
db 'stand ãáâ ­ ¢«¨¢ âì, áâ®ïâì, á⥭¤ ' ,13,10
db 'open ®âªà뢠âì, ®âªàëâë© ' ,13,10
db 'room à §¬¥é âì, ª®¬­ â  ' ,13,10
db 'keep ¤¥à¦ âì, á®åà ­ïâì, ¯à®¤®«¦ âì, ¢áâà)¯à®¢®¤¨âì ' ,13,10
db 'place ãáâ ­ ¢«¨¢ âì, ¬¥áâ® ' ,13,10
db 'ask á¯à è¨¢ âì, ¯à®á¨âì ' ,13,10
db 'ever ª®£¤ -«¨¡® ' ,13,10
db 'around ¢®ªàã£, ®ª®«®, ¢¥§¤¥ ' ,13,10
db 'try ¯ëâ âìáï, ¯à®¡®¢ âì, ¯®¯ë⪠ ' ,13,10
db 'let ¯®§¢®«ïâì, ¤ ¢ ©â¥ ' ,13,10
db 'sit ᨤ¥âì ' ,13,10
db 'himself á ¬, ᥡï ' ,13,10
db 'such â ª®© ' ,13,10
db 'people «î¤¨ ' ,13,10
db 'begin ­ ç¨­ âì, ­ ç «® ' ,13,10
db 'own ®¡« ¤ âì, ¯à¨­ ¤«¥¦ âì, ᮡá⢥­­ë© ' ,13,10
db 'house à §¬¥é âì, ¤®¬ ' ,13,10
db 'nothing ­¨çâ® ' ,13,10
db 'call ­ §ë¢ âì, §¢ âì, ª®¬¬)¢ë§®¢, ¢ë§ë¢ âì, ¢áâà)ᮧ뢠âì, ¯à¨§ë¢, ¯à¨§ë¢ âì ' ,13,10
db 'once ª ª ⮫쪮, ®¤¨­ à § ' ,13,10
db 'thing ¢¥éì ' ,13,10
db 'put ¯®¬¥é âì, ãáâ ­ ¢«¨¢ âì ' ,13,10
db 'voice ¢ë᪠§ë¢ âì, £®«®á, à¥ç¥¢®© ' ,13,10
db 'mr ¬-à ' ,13,10
db 'why ¯®ç¥¬ã ' ,13,10
db 'these ®­¨, íâ®â ' ,13,10
db 'mean ®§­ ç âì, å®â¥âì, ¯à¥¤­ §­ ç âìáï, á।á⢮, á।­¨© ' ,13,10
db 'speak £®¢®à¨âì ' ,13,10
db 'because ¯®áª®«ìªã ' ,13,10
db 'another ¤à㣮© ' ,13,10
db 'many ¬­®£®, ¬­®£¨© ' ,13,10
db 'those â®â ' ,13,10
db 'while ¯®ª  ' ,13,10
db 'most ­ ¨¡®«¥¥, ¡®«ìè¥ ¢á¥£®, á ¬ë©, ¡®«ì設á⢮ ' ,13,10
db 'real ॠ«ì­ë© ' ,13,10
db 'work ¯à®ª« ¤ë¢ âì, à ¡®â âì, à ¡®â , âàã¤, à ¡®ç¨© ' ,13,10
db 'under ¯® ' ,13,10
db 'world ¬¨à, ¬¨à®¢®© ' ,13,10
db 'behind § , ¯®§ ¤¨ ' ,13,10
db 'fall ¯ ¤ âì, ¯ ¤¥­¨¥, ®á¥­ì ' ,13,10
db 'hold ¤¥à¦ âì, ¢áâà)¯à®¢®¤¨âì, ¢®§¤¥à¦¨¢ âìáï, åà ­¨«¨é¥, âà ­á)âàî¬ ' ,13,10
db 'year £®¤, «¥â­¨© ' ,13,10
db 'word á«®¢®, ¨§¢¥á⨥, ⥪áâ®¢ë© ' ,13,10
db 'run § ¯ã᪠âì, ¡¥¦ âì, à ¡®â âì, ¤®á⨣ âì, ¯à®£®­ ' ,13,10
db 'bond ¯®¤¯¨á뢠âì ®¡ï§ â¥«ìá⢮, ®¡ï§ â¥«ìá⢮, ®¡«¨£ æ¨ï, § ª« ¤­ ï, á¢ï§ì ' ,13,10
db 'mind ®¤ãè)¢®§à ¦ âì, á«ãè âìáï, ®¡à é âì ¢­¨¬ ­¨¥, ã¬, ¬­¥­¨¥ ' ,13,10
db 'every ª ¦¤ë© ' ,13,10
db 'without ¡¥§, ­¥ ' ,13,10
db 'dark ⥬­ë© ' ,13,10
db 'far §­ ç¨â¥«ì­®, ¤ «ì­¨©, ¤ «¥ª® ' ,13,10
db 'new ­®¢ë©, ¢­®¢ì ' ,13,10
db 'foot äãâ, ­®£  ' ,13,10
db 'walk ¯à®å®¤¨âì ' ,13,10
db 'yet ¯®ª , ¢á¥ ¥é¥ ' ,13,10
db 'end § ª ­ç¨¢ âì, ª®­¥æ, ª®­¥ç­ë©,  ¢â®)â®à楢®© ' ,13,10
db 'side áâ®à®­ , ¡®ª®¢®© ' ,13,10
db 'moment ¬®¬¥­â ' ,13,10
db 'talk £®¢®à¨âì|¯®£®¢®à¨âì, 㣮¢ à¨¢ âì, à §£®¢®à ' ,13,10
db 'black ç¥à­ë© ' ,13,10
db 'always ¢á¥£¤  ' ,13,10
db 'pass ¯¥à¥¤ ¢ âì, ¯à®å®¤¨âì, ¯à®å®¤ ' ,13,10
db 'friend ¤àã£, ¤à㦥á⢥­­ë© ' ,13,10
db 'close § ªà뢠âì, § ªàëâë©, ¡«¨§ª¨© ' ,13,10
db 'three âà¨, âà¥å ' ,13,10
db 'life ¦¨§­ì, áப á«ã¦¡ë ' ,13,10
db 'near ®ª®«®, ¡«¨§ª¨©, ¯®ç⨠' ,13,10
db 'watch ­ ¡«î¤ âì, á«¥¤¨âì, ç áë, ¤®§®à ' ,13,10
db 'miss ¬¨áá ' ,13,10
db 'move ¯¥à¥¬¥é âì, ¯¥à¥¬¥é¥­¨¥ ' ,13,10
db 'toward ¯® ®â­®è¥­¨î ª ' ,13,10
db 'course ªãàá, 室 ' ,13,10
db 'better «ãçè¥, «ãç訩, ¡ë «ãçè¥ ' ,13,10
db 'enough ¤®áâ â®ç­®, ¤®áâ â®ç­ë© ' ,13,10
db 'stop ®áâ ­ ¢«¨¢ âì, ¯¥à¥áâ ¢ âì, ¯à¥ªà é âìáï, ®áâ ­®¢ª , á⮯®¢ë© ' ,13,10
db 'bring ¯à¨­®á¨âì, ¯¥à¥­®á¨âì, ¯à¨¢®¤¨âì ' ,13,10
db 'anything çâ®-­¨¡ã¤ì ' ,13,10
db 'cry ¯« ª âì, ªà¨ç âì, ªà¨ª ' ,13,10
db 'name ­ §ë¢ âì, ¨¬ï ' ,13,10
db 'same íâ®, â®â, ¦¥ ' ,13,10
db 'point 㪠§ë¢ âì, â®çª  ' ,13,10
db 'hard âà㤭®, 㯮୮, ⢥म, ¦¥á⪨© ' ,13,10
db 'quite ᮢᥬ ' ,13,10
db 'arm ¢®®à㦠âìáï, àëç £ (à㪠) ' ,13,10
db 'sure ­¥á®¬­¥­­®, 㢥७­ë©, ã¡¥¤¨â¥áì ' ,13,10
db 'sir áíà ' ,13,10
db 'half ¯®«®¢¨­ , ­ ¯®«®¢¨­ã ' ,13,10
db 'sound §¢ãç âì, §¢ãª, ­ ¤¥¦­ë©, ¨­ä)§¢ãª®¢®© ' ,13,10
db 'love «î¡¨âì, «î¡®¢ì ' ,13,10
db 'few ­¥áª®«ìª®, ­¥ª®â®àë©, ¬ «® ' ,13,10
db 'air ¯à®¢¥âਢ âì, ¢®§¤ãå, íä¨à, ¢¨¤, ¢®§¤ãè­ë© ' ,13,10
db 'dear ¤®à®£®© ' ,13,10
db 'soon ᪮஠' ,13,10
db 'part à §¤¥«ïâì, ç áâì ' ,13,10
db 'help ¯®¬®£ âì, ¯®¬®éì, ¨­ä)¯®¤áª §ª  ' ,13,10
db 'against ¯à®â¨¢ ' ,13,10
db 'return ¢®§¢à é âì, ®¡à â­ë©, ¢®§¢à â ' ,13,10
db 'wait ®¦¨¤ âì, ®¦¨¤ ­¨¥ ' ,13,10
db 'wall á⥭  ' ,13,10
db 'round ®ªà㣫ïâì, ªàã£, ªàã£«ë© ' ,13,10
db 'answer ­ , ®â¢¥â ' ,13,10
db 'woman ¦¥­é¨­ , ¦¥­áª¨© ' ,13,10
db 'follow á«¥¤®¢ âì ' ,13,10
db 'high ¢ë᮪®, ¢ë᮪¨©, ã஢¥­ì ' ,13,10
db 'window ®ª­® ' ,13,10
db 'young ¬®«®¤®© ' ,13,10
db 'until ¯®ª  ' ,13,10
db 'show ¯®ª §ë¢ âì, ¯®ª § ' ,13,10
db 'father ®â¥æ, ®â殢᪨© ' ,13,10
db 'sudden ¢­¥§ ¯­ë© ' ,13,10
db 'myself ¬á ¬, ᥡï, ᥡï á ¬®£®, ï ' ,13,10
db 'happen á«ãç âìáï ' ,13,10
db 'along ¢¤®«ì ' ,13,10
db 'both ®¡  ' ,13,10
db 'kind ⨯, «î¡¥§­ë© ' ,13,10
db 'lord «®à¤ ' ,13,10
db 'white ¡¥«ë© ' ,13,10
db 'break «®¬ âì, ¨­ä)¯à¥à뢠âì, ¯à¥à뢠­¨¥ ' ,13,10
db 'next § â¥¬, á«¥¤ãî騩, ¤à㣮© ' ,13,10
db 'child ॡ¥­®ª ' ,13,10
db 'boy ¬ «ì稪 ' ,13,10
db 'lie «¥¦ âì, «£ âì, «®¦ì ' ,13,10
db 'dead ¬¥àâ¢ë© ' ,13,10
db 'since á, ¯®áª®«ìªã, á â¥å ¯®à ª ª, á â¥å ¯®à ' ,13,10
db 'certain ®¯à¥¤¥«¥­­ë©, 㢥७­ë©, , ­¥á®¬­¥­­® ' ,13,10
db 'water ¯®«¨¢ âì, ¢®¤ , ¢®¤­ë© ' ,13,10
db 'heart á¥à¤æ¥, ®á­®¢ , á¥à¤¥ç­ë© ' ,13,10
db 'set ãáâ ­ ¢«¨¢ âì, ­ ¡®à, ª®¬¯«¥ªâ, ¨­ä)ãáâ ­®¢ª  ' ,13,10
db 'small ­¥¡®«ì让 ' ,13,10
db 'wish å®â¥âì ' ,13,10
db 'star §¢¥§¤ , §¢¥§¤­ë© ' ,13,10
db 'start § ¯ã᪠âì, ­ ç¨­ âì, ­ ç «®, áâ àâ®¢ë© ' ,13,10
db 'slow § ¬¥¤«ïâì, ¬¥¤«¥­­ë© ' ,13,10
db 'home ¤®¬, ¤®¬ è­¨©, ¤®¬®© ' ,13,10
db 'hour ç á, ç á®¢®© ' ,13,10
db 'girl ¤¥¢ã誠 ' ,13,10
db 'between ¬¥¦¤ã ' ,13,10
db 'remember ¯®¬­¨âì ' ,13,10
db 'almost ¯®ç⨠' ,13,10
db 'become áâ ­®¢¨âìáï ' ,13,10
db 'mother ¬ âì, ¬ â¥à¨­áª¨© ' ,13,10
db 'deep £«ã¡®ª¨©, £«ã¡¦¥ ' ,13,10
db 'tree ¤¥à¥¢® ' ,13,10
db 'whole æ¥«ë© ' ,13,10
db 'lady ¤ ¬ , ¤ ¬áª¨© ' ,13,10
db 'meet ¢áâà¥ç âì, ᮮ⢥âá⢮¢ âì, 㤮¢«¥â¢®àïâì, ¢ë¯®«­ïâì ' ,13,10
db 'believe ¢¥à¨âì ' ,13,10
db 'sleep ᯠâì, á®­ ' ,13,10
db 'smile ã«ë¡ âìáï, ã«ë¡ª  ' ,13,10
db 'wonder 㤨¢«ïâìáï, 㤨¢«¥­¨¥, ç㤮 ' ,13,10
db 'table á⮫, ¨­ä)â ¡«¨æ , â ¡«¨ç­ë© ' ,13,10
db 'stone ®¡«¨æ®¢ë¢ âì, ª ¬¥­ì, ª ¬¥­­ë© ' ,13,10
db 'fire ᦨ£ âì, áâ५ïâì, ®£®­ì, ¯®¦ à, ®¡áâ५, ¯®¦ à­ë© ' ,13,10
db 'street 㫨æ , 㫨ç­ë© ' ,13,10
db 'reach ¤®á⨣ âì ' ,13,10
db 'each ª ¦¤ë© ' ,13,10
db 'morning ãâà®, ãâ஬ ' ,13,10
db 'rest áâ ¢¨âì, ®â¤ëå âì, «¥¦ âì, ®â¤ëå, ®áâ «ì­®© ' ,13,10
db 'grow ¢ëà é¨¢ âì, à áâ¨, à á⨠' ,13,10
db 'quick ¡ëáâà®, ¡ëáâàë© ' ,13,10
db 'shake âàïáâ¨, 襩ª ' ,13,10
db 'hope ­ ¤¥ïâìáï, ­ ¤¥¦¤  ' ,13,10
db 'across ç¥à¥§ ' ,13,10
db 'bear ­¥áâ¨, ¯¥à¥¢®§¨âì, ¢ë¤¥à¦¨¢ âì, ¬¥¤¢¥¤ì ' ,13,10
db 'land á ¦ âì|¯®á ¤¨âì, ¯à¨§¥¬«ïâìáï, §¥¬«ï, áâà ­  ' ,13,10
db 'rise ¯®¢ëè âì, ¯®¤­¨¬ âìáï, ¯®¢ë襭¨¥ ' ,13,10
db 'clear ®ç¨á⪠, ®ç¨é âì, ïá­ë©, ïá­® ' ,13,10
db 'large ¡®«ì让 ' ,13,10
db 'perhaps ¢®§¬®¦­® ' ,13,10
db 'draw ¤¥« âì, £à ä)à¨á®¢ âì, íª®­)¯®«ãç âì, ¢ëâ áª¨¢ âì ' ,13,10
db 'book § ª §ë¢ âì, ª­¨£ , ª­¨¦­ë© ' ,13,10
db 'read ç¨â âì, ç⥭¨¥ ' ,13,10
db 'bite ªãá âì, ãªãá ' ,13,10
db 'else ¥é¥ ' ,13,10
db 'matter ¬ â¥à¨ « ' ,13,10
db 'fear ¡®ïâìáï, áâà å ' ,13,10
db 'ground § §¥¬«ïâì, §¥¬«ï, § §¥¬«¥­¨¥ ' ,13,10
db 'minute ¬¨­ãâ , ¯®¤à®¡­ë©, ¬¨­ãâ­ë© ' ,13,10
db 'second „ᥪ㭤 , ¢â®à®©, ¢®-¢â®àëå ' ,13,10
db 'strange áâà ­­®, áâà ­­ë© ' ,13,10
db 'win § ¢®¥¢ë¢ âì, ¢ë¨£à뢠âì, ¢ë¨£àëè ' ,13,10
db 'sort á®àâ¨à®¢ âì, á®àâ¨à®¢ª , ⨯ ' ,13,10
db 'together ¢¬¥á⥠' ,13,10
db 'lose â¥àïâì, ¯à®¨£à뢠âì, ¯®â¥àï ' ,13,10
db 'laugh ᬥïâìáï, ᬥå ' ,13,10
db 'indeed ­  á ¬®¬ ¤¥«¥ ' ,13,10
db 'hair ¢®«®á, ¢®«®áï­®© ' ,13,10
db 'suppose ¯®« £ âì, ¤®¯ãá⨬ ' ,13,10
db 'understand ¯®­¨¬ âì ' ,13,10
db 'poor ¡¥¤­ë© ' ,13,10
db 'lead ¢¥áâ¨, «¨¤¨à®¢ âì, ᢨ­¥æ, )«¨¤¥àá⢮, í«¥ª)¢ë¢®¤, 室, ᢨ­æ®¢© ' ,13,10
db 'send ¯®áë« âì ' ,13,10
db 'master ®¢« ¤¥¢ âì, ¬ áâ¥à, íâ «®­, ®á­®¢­®© ' ,13,10
db 'above ¢ëè¥, ¢ëè¥ãª § ­­®¥ ' ,13,10
db 'catch «®¢¨âì|¯®©¬ âì ' ,13,10
db 'body ¢®¯«®é âì, ⥫®, ®à£ ­¨§ æ¨ï, ®à£ ­ ' ,13,10
db 'road ¤®à®£ , ¤®à®¦­ë© ' ,13,10
db 'present ¯à¥¤áâ ¢«ïâì, ®¡¥á¯¥ç¨¢ âì, ¯à¨áãâá⢮¢ âì, ­ áâ®ï饥, ­ áâ®ï騩, ᮢ६¥­­ë© ' ,13,10
db 'everything ¢¥áì ' ,13,10
db 'full ¯®«­ë©, ¯®«­®áâìî ' ,13,10
db 'case á«ãç ©, ¤¥«®, ï騪, ¯ ¤¥¦, ¢ â ª®¬ á«ãç ¥ ' ,13,10
db 'herself ¬á ¬ , ᥡï, ®­  ' ,13,10
db 'pull âï­ãâì ' ,13,10
db 'best ­ ¨«ãç訬 ®¡à §®¬, ­ ¨«ãç訩 ' ,13,10
db 'aunt â¥âï ' ,13,10
db 'cold 宫®¤, 宫®¤­ë© ' ,13,10
db 'doctor ¤®ªâ®à ' ,13,10
db 'city £®à®¤, £®à®¤áª®© ' ,13,10
db 'death ᬥàâì, ᬥà⥫ì­ë© ' ,13,10
db 'dream ¬¥çâ âì, ¬¥çâ  ' ,13,10
db 'front ¯¥à¥¤­¨© ¯« ­, ¯¥à¥¤­¨© ' ,13,10
db 'rather ¤®¢®«ì­®, ¯à¥¤¯®çâ¨â¥«ì­® ' ,13,10
db 'easy «¥£ª®, «¥£ª¨© ' ,13,10
db 'finger ¯®ª §ë¢ âì, ¯ «¥æ ' ,13,10
db 'professor ¯à®ä¥áá®à ' ,13,10
db 'would ¡ëâì, ¤®«¦¥­, ¥á«¨ ¡ë, å®â¥âì ' ,13,10
db 'quiet ãᯮª ¨¢ âì, â¨è¨­, â¨å¨© ' ,13,10
db 'floor ¯®«, § «, íâ ¦ ' ,13,10
db 'appear ¯®ï¢«ïâìáï, ¯®ï¢«¥­¨¥, ®ª §ë¢ ¥âáï, ®ª § «®áì ' ,13,10
db 'listen á«ãè âì ' ,13,10
db 'forget § ¡ë¢ âì ' ,13,10
db 'also â ª¦¥ ' ,13,10
db 'among á।¨ ' ,13,10
db 'least ­ ¨¬¥­¥¥, ­ ¨¬¥­ì訩 ' ,13,10
db 'question á¯à è¨¢ âì, ¢®¯à®á, ¢®¯à®á­ë© ' ,13,10
db 'throw ¡à®á âì ' ,13,10
db 'shadow ⥭ì, ⥭¥¢®© ' ,13,10
db 'beyond §  ' ,13,10
db 'big ¡®«ì让, ¡®«ìè¥ ' ,13,10
db 'mountain £®à , £®à­ë© ' ,13,10
db 'already 㦥 ' ,13,10
db 'beside à冷¬ á ' ,13,10
db 'power ¬®é­®áâì, ¯à ¢®, ¯¥àá)¯®«­®¬®ç¨¥, ᨫ®¢®© ' ,13,10
db 'mouth à®â, ®â¢¥àá⨥, ãáâì¥ ' ,13,10
db 'kill 㡨¢ âì, ã­¨ç⮦ âì ' ,13,10
db 'lot ¯ àâ¨ï, ¬ áá , ãç á⮪, ¬­®£® ' ,13,10
db 'wind § ¢®¤¨âì, ¬®â âì, ¨§¢¨¢ âìáï, ¢¥â¥à, ®¡®à®â ' ,13,10
db 'less ¬¥­¥¥, ¬¥­ì訩, ¬¥­ìè¥ ' ,13,10
db 'whose 祩, ª®â®àë© ' ,13,10
db 'die 㬨à âì, ¬¥å)஫¨ª, ¯à¥áá-ä®à¬  ' ,13,10
db 'past ¯à®è«®¥, ¯à®è«ë© ' ,13,10
db 'use ¨á¯®«ì§®¢ âì, ¨á¯®«ì§®¢ ­¨¥ ' ,13,10
db 'play ¨£à âì, ¨£à , ¯ì¥á  ' ,13,10
db 'alone ⮫쪮, ®¤¨­ ' ,13,10
db 'letter ¤®ª¬)¯¨á쬮, ¨­ä)§­ ª)¡ãª¢  ' ,13,10
db 'write ¯¨á âì, ¨­ä)§ ¯¨á뢠âì, § ¯¨áì ' ,13,10
db 'interest ¨­â¥à¥á®¢ âì, ¨­â¥à¥á, ¤®«ï, ãç á⨥, ¯à®æ¥­â ' ,13,10
db 'please ¯®¦ «ã©áâ  ' ,13,10
db 'stay ®áâ ¢ âìáï, ¯à¥¡ë¢ ­¨¥ ' ,13,10
db 'however ⥬ ­¥ ¬¥­¥¥ ' ,13,10
db 'god ¡®£ ' ,13,10
db 'form ä®à¬¨à®¢ âì, ä®à¬  ' ,13,10
db 'heavy â殮«ë© ' ,13,10
db 'forward ¯¥à¥áë« âì, ä®à¢ à¤, ä®à¢ à¤­ë©, ¤ «ìè¥ ' ,13,10
db 'order § ª §ë¢ âì, 㯮à冷稢 âì, ¯à¨ª §ë¢ âì, ¯®à冷ª, ¯®âà)íª®­)§ ª §, ¢®¥­)¯à¨ª §, ª®¬ ­¤  ' ,13,10
db 'whisper 襯â âì, 襯®â ' ,13,10
db 'drink ¯¨âì, ­ ¯¨â®ª ' ,13,10
db 'idea ¨¤¥ï ' ,13,10
db 'tom ⮬ ' ,13,10
db 'family ᥬ¥©á⢮, ᥬìï, ᥬ¥©­ë© ' ,13,10
db 'short èã­â¨à®¢ âì, ¯¥à¥¬ë窠, ª®à®âª¨© ' ,13,10
db 'sam áí¬ ' ,13,10
db 'live ¦¨âì, ¦¨¢®© ' ,13,10
db 'human 祫®¢¥ç¥áª¨© ' ,13,10
db 'hide ¯àïâ âì, èªãà  ' ,13,10
db 'carry ­¥áâ¨, ®â¯à ¢«ïâì, ¯¥à¥­®á ' ,13,10
db 'trouble ¡¥á¯®ª®¨âì, ¯à®¡«¥¬  ' ,13,10
db 'four ç¥âëà¥, ç¥âëà¥å ' ,13,10
db 'five ¯ïâì, ¯ï⨠' ,13,10
db 'eat ¥áâì ' ,13,10
db 'secret ᥪà¥â, ᥪà¥â­ë© ' ,13,10
db 'strong ¯à®ç­ë©, ᨫì­ë© ' ,13,10
db 'till ¤® ' ,13,10
db 'bad ¯«®å®, ¯«®å®© ' ,13,10
db 'top § ¢¥àè âì, ¢¥àå, ¢¥àå­¨© ' ,13,10
db 'step ¢¥áâ¨, ¢å®¤¨âì, è £, ¬¥à  ' ,13,10
db 'touch ª á âìáï, ¯à¨ª®á­®¢¥­¨¥, ­ «¥â, ᥭá®à­ë© ' ,13,10
db 'shoulder ¢§¢ «¨¢ âì ­  ¯«¥ç¨, ¯«¥ç® ' ,13,10
db 'thank ¡« £®¤ à¨âì ' ,13,10
db 'glass á⥪«®, áâ ª ­, á⥪«ï­­ë© ' ,13,10
db 'low á­¨¦ âì, ­¨§ª¨© ã஢¥­ì, ­¨§ª¨©, ­¨§ª® ' ,13,10
db 'notice § ¬¥ç âì, ®¡à é âì ¢­¨¬ ­¨¥, ¤®ª¬)㢥¤®¬«¥­¨¥ ' ,13,10
db 'true ¢¥à­®, ¨á⨭ë©, ¨á⨭­®áâì ' ,13,10
db 'tear ࢠâì, á«¥§  ' ,13,10
db 'hill 宫¬ ' ,13,10
db 'wear ­®á¨âì, ¨§­ è¨¢ âì, ¨§­®á ' ,13,10
db 'outside §  ¯à¥¤¥« ¬¨, ¢­¥è­¨©, á­ à㦨 ' ,13,10
db 'happy áç á⫨¢ë© ' ,13,10
db 'breath ¤ëå ­¨¥, ¢§¤®å ' ,13,10
db 'wood ¤¥à¥¢® («¥á), ¤à¥¢¥á­ë© ' ,13,10
db 'drop ¡à®á âì, ¯ ¤ âì, ª ¯«ï, ¯ ¤¥­¨¥ ' ,13,10
db 'green §¥«¥­ë© ' ,13,10
db 'line «¨­¨ï, ¨­ä)áâப  ' ,13,10
db 'later ¯®§¦¥, ¯®á«¥¤ãî騩 ' ,13,10
db 'sight §à¥­¨¥ ' ,13,10
db 'son áë­, ¯®à®¦¤¥­­ë©, ¤®ç¥à­¨© ' ,13,10
db 'inside ¢, ¢­ãâàì, ¢­ãâ७­®áâì, ¢­ãâ७­¨© ' ,13,10
db 'fact ä ªâ ' ,13,10
db 'expect ®¦¨¤ âì ' ,13,10
db 'general £¥­¥à «, ®¡é¥¥, ®¡é¨© ' ,13,10
db 'paper ¡ã¬ £ , £à ä)áâ âìï, ¡ã¬ ¦­ë© ' ,13,10
db 'hang ¢¥è âì, § ¢¨á âì, § ¢¨á ­¨¥ ' ,13,10
db 'hall 宫« ' ,13,10
db 'chair ª ä¥¤à , áâã« ' ,13,10
db 'learn 㧭 ¢ âì ' ,13,10
db 'someone ªâ®-­¨¡ã¤ì ' ,13,10
db 'gold §®«®â®, §®«®â®© ' ,13,10
db 'possible ¢®§¬®¦­®, ¢®§¬®¦­ë© ' ,13,10
db 'business ¤¥«®(¡¨§­¥á), ¤¥«®¢®© ' ,13,10
db 'nor ­¨ ' ,13,10
db 'doubt ᮬ­¥¢ âìáï, ᮬ­¥­¨¥ ' ,13,10
db 'ear ãå®, á«ãå, ª®«®á, á«ã客®© ' ,13,10
db 'leg ­®£ , ¢¥â¢ì ' ,13,10
db 'cut १ âì, 㤠«ïâì, £à ­¨âì, á­¨¦¥­¨¥, ¯®à¥§, ªã᮪ ' ,13,10
db 'money ¤¥­ì£¨, 䨭 ­á®¢ë© ' ,13,10
db 'raise ¯®¤­¨¬ âì, ¢®§¢®¤¨âì ' ,13,10
db 'corner ¯®áâ ¢¨âì ¢ ¡¥§¢ë室­®¥ ¯®«®¦¥­¨¥, 㣮« ' ,13,10
db 'hundred á®â, á®â­ï ' ,13,10
db 'remain ®áâ ¢ âìáï ' ,13,10
db 'figure áç¨â âì, 䨣ãà , ¨­ä)æ¨äà  ' ,13,10
db 'wide è¨à®ª¨© ' ,13,10
db 'sun ᮫­æ¥, ᮫­¥ç­ë© ' ,13,10
db 'late ¯®§¤­®, ¯®á«¥¤­¨©, ª®­¥æ ' ,13,10
db 'silent â¨å¨©, ¨­ä)®âª«î祭­ë© ' ,13,10
db 'ready £®â®¢ë© ' ,13,10
db 'silence § £«ãè âì, â¨è¨­  ' ,13,10
db 'soft ¬ï£ª®, ¬ï£ª¨© ' ,13,10
db 'bloom à á梥â âì, à á梥â ' ,13,10
db 'build áâநâì, ¨­ä)ä®à¬¨à®¢ âì ' ,13,10
db 'surprise 㤨¢«ïâì, áîà¯à¨§, ­¥®¦¨¤ ­­ë© ' ,13,10
db 'week ­¥¤¥«ï, ­¥¤¥«ì­ë© ' ,13,10
db 'earth §¥¬«ï, § §¥¬«¥­¨¥, §¥¬­®© ' ,13,10
db 'sea ¬®à¥, ¬®à᪮© ' ,13,10
db 'shout ªà¨ç âì, ªà¨ª ' ,13,10
db 'drive ã¯à ¢«ïâì, § ¯ã᪠âì, § £®­ïâì, ¥§¤¨âì|¯à®¥å âì, ¯à®¥§¤, ¨­ä)­ ª®¯¨â¥«ì, í­¥à£¨ï ' ,13,10
db 'pretty ¨§à來®, ªà á¨¢ë© ' ,13,10
db 'free ᢮¡®¤­®, ¡¥á¯« â­®, ®á¢®¡®¦¤ âì, ᢮¡®¤­ë© ' ,13,10
db 'river ४ , à¥ç­®© ' ,13,10
db 'sky ­¥¡®, ­¥¡¥á­ë© ' ,13,10
db 'ten ¤¥áïâì, ¤¥áï⨠' ,13,10
db 'often ç áâ® ' ,13,10
db 'either â ª¦¥, ¨«¨, «î¡®© ' ,13,10
db 'sense çã¢á⢮¢ âì, §­ ç¥­¨¥, çã¢á⢮ ' ,13,10
db 'fight á, ¡®àì¡  ' ,13,10
db 'shut § ªà뢠âì ' ,13,10
db 'guard ®åà ­ïâì, ®åà ­  ' ,13,10
db 'hat è«ï¯  ' ,13,10
db 'care ¨­â¥à¥á®¢ âì, § ¡®â  ' ,13,10
db 'sometime £¤¥-â® ' ,13,10
db 'rock ª ç âìáï, ᪠«  ' ,13,10
db 'age áâ à¥âì, ¢®§à áâ, ¢¥ª, ¢®§à áâ­®© ' ,13,10
db 'whether ­¥§ ¢¨á¨¬® ' ,13,10
db 'fly § ¯ã᪠âì, «¥â âì, ¯®¤­¨¬ âì, ¯®«¥â, ¬ãå , è¨à¨­ª  ' ,13,10
db 'pick ¢ë¡¨à âì, 㪠§ª  ' ,13,10
db 'reason ¯à¨ç¨­  ' ,13,10
db 'brother ¡à â, தá⢥­­ë© ' ,13,10
db 'gate ¯à®¯ã᪠âì, ¢®à®â  ' ,13,10
db 'probable ¢¥à®ïâ­®, ¢¥à®ïâ­ë© ' ,13,10
db 'enter ¢¢®¤; ¢¢®¤¨âì, ¢å®¤; ¢å®¤¨âì ' ,13,10
db 'within ¢ ¯à¥¤¥« å, ¢ â¥ç¥­¨¥ ' ,13,10
db 'school 誮« , 誮«ì­ë© ' ,13,10
db 'add ¤®¡ ¢«ïâì, ¤®¯®«­¥­¨¥ ' ,13,10
db 'none ­¨çâ®, ­¨ª ª®© ' ,13,10
db 'sign ¯®¤¯¨á뢠âì, §­ ª, ª®­â)¯®¤¯¨áì, ¯à¨§­ ª ' ,13,10
db 'pocket ª à¬ ­, ª à¬ ­­ë© ' ,13,10
db 'whom ªâ®, ª®â®àë© ' ,13,10
db 'cover ¯®ªà뢠âì, § é¨é âì, ¯®ªàë⨥, ª®¦ãå, ®¡«®¦ª  ' ,13,10
db 'ago ⮬㠭 § ¤ ' ,13,10
db 'save ᯠá âì, ®åà ­ïâì, § é¨é âì, ®£à ¦¤ âì, ¡¥à¥çì, íª®­®¬¨âì ' ,13,10
db 'blow ¤ãâì, 㤠à ' ,13,10
db 'change ¨§¬¥­¥­¨¥, ¨§¬¥­ïâì, ®â«¨ç¨¥, ®â«¨ç âìáï ' ,13,10
db 'town £®à®¤ ' ,13,10
db 'yourself á ¬¨, ᥡï ' ,13,10
db 'glance ¢§£«ï¤ ' ,13,10
db 'able ᯮᮡ­ë© ' ,13,10
db 'strike ­ ¦¨¬ âì, § ¡ á⮢ª  ' ,13,10
db 'lay ª« áâì, «¥¦ âì ' ,13,10
db 'story à á᪠§, ¯®¢¥áâì, íâ ¦ ' ,13,10
db 'usual ®¡ëç­®, ®¡ëç­ë© ' ,13,10
db 'edge ¨§¬¥­ïâì, ªà ©, ॡà®, ªà ¥¢®© ' ,13,10
db 'force § áâ ¢«ïâì, ãᨫ¨¥, ᨫ , ¯à¨­ã¤¨â¥«ì­ë© ' ,13,10
db 'manner ᯮᮡ ' ,13,10
db 'different ¤à㣮©, ®â«¨ç­ë©, à §«¨ç­ë© ' ,13,10
db 'pay íª®­)¯« â¨âì, ®¡à é âì, ®¯« â  ' ,13,10
db 'themself á ¬, ᥡï ' ,13,10
db 'except ªà®¬¥, §  ¨áª«î祭¨¥¬ ⮣® ' ,13,10
db 'maybe ¬®¦¥â ¡ëâì ' ,13,10
db 'roll ¯à®ªàã稢 âì, ¬¥å)¯à®ª â뢠âì, ¯¥à¥¢®à ç¨¢ âì, ¨­ä)¯¥à¥¬ â뢠âì, ॥áâà, àã«®­, ¬¥å)஫¨ª ' ,13,10
db 'elf í«ìä ' ,13,10
db 'wizard ª®«¤ã­ ' ,13,10
db 'dress ®¤¥¢ âì, ¯« âì¥ ' ,13,10
db 'horse «®è ¤ì ' ,13,10
db 'afraid ¨á¯ã£ ­­ë© ' ,13,10
db 'bright ïન©, ¡«¥áâï騩 ' ,13,10
db 'car  ¢â®¬®¡¨«ì,  ¢â®¬®¡¨«ì­ë© ' ,13,10
db 'state èâ â, £®á㤠àá⢥­­ë© ' ,13,10
db 'uncle ¤ï¤ï ' ,13,10
db 'careful ®áâ®à®¦­ë©, âé â¥«ì­ë© ' ,13,10
db 'witch ¢¥¤ì¬  ' ,13,10
db 'bend ¨§£¨¡ âì, £­ãâì, ¯®¢®à®â ' ,13,10
db 'person 祫®¢¥ª ' ,13,10
db 'dragon ¤à ª®­ ' ,13,10
db 'final 䨭 «, ª®­¥ç­ë© ' ,13,10
db 'anyone ª ¦¤ë©, «î¡®© ' ,13,10
db 'sister á¥áâà , ®¤­®â¨¯­ë© ' ,13,10
db 'creature ⢮७¨¥ ' ,13,10
db 'chance á«ãç âìáï, è ­á, á«ãç ©­ë© ' ,13,10
db 'loud £à®¬ª¨©, èã¬­ë© ' ,13,10
db 'cross ¯¥à¥á¥ª âì, ¤®ª¬)à §¬¨­ãâìáï, ¯¥à¥á¥ç¥­¨¥, ¯¥à¥ªà¥áâ­ë© ' ,13,10
db 'below ­¨¦¥ ' ,13,10
db 'itself ¬á ¬, ᥡï, ­¥¯®á।á⢥­­®, ®­ ' ,13,10
db 'ship âà ­á)®â¯à ¢«ïâì, ¨­ä)§ £à㦠âì, á㤭®,  áâà)ª®à ¡«ì ' ,13,10
db 'glad à ¤ë© ' ,13,10
db 'shape ä®à¬¨à®¢ âì, ä®à¬  ' ,13,10
db 'number ¯¥à¥ç¨á«ïâì, ç¨á«®, ­®¬¥à, ª®«¨ç¥á⢮ ' ,13,10
db 'thousand âëáïç , âëáïç­ë© ' ,13,10
db 'wake ¡ã¤¨âì, ¯à®á믠âìáï ' ,13,10
db 'fine ®ç¨é âì, íª®­)èâà ä®¢ âì, ¯¥­ï, èâà ä, â®­ª¨©, ®â«¨ç­® ' ,13,10
db 'fill § ¯®«­ïâì, ­ ¯®«­¨â¥«ì ' ,13,10
db 'box ¡®ªá¨à®¢ âì, ï騪, ¡®ªá, ¨­ä)¡«®ª ' ,13,10
db 'wrong ­¥¯à ¢¨«ì­®, ­¥¯à ¢¨«ì­ë© ' ,13,10
db 'daemon ¤¥¬®­ ' ,13,10
db 'stick ¢â몠âì, ¯à¨ª«¥¨¢ âì, â®àç âì, ¯ «ª  ' ,13,10
db 'lip £ã¡  ' ,13,10
db 'seat ãá ¦¨¢ âì, ¬¥áâ® ' ,13,10
db 'grey á¥àë© ' ,13,10
db 'hurry ᯥè¨âì, ᯥ誠 ' ,13,10
db 'shoot áâ५ïâì, ä®â®)á­¨¬ âì ' ,13,10
db 'alice í«¨á ' ,13,10
db 'wild ¤¨ª¨© ' ,13,10
db 'fellow ¯ à¥­ì ' ,13,10
db 'country áâà ­ , ¬ã§)ª ­âਠ' ,13,10
db 'deal ¨¬¥âì ¤¥«®, ᤥ«ª  ' ,13,10
db 'plan ¯« ­ ' ,13,10
db 'mark ¢ë¤¥«ïâì, ¬ àª¨à®¢ âì, ®¡®§­ ç âì, ®â¬¥âª , ¬ àª¥à, ¬ àª, íª®­)¬ àª  ' ,13,10
db 'safe ᥩä, ¡¥§®¯ á­ë© ' ,13,10
db 'simple ¯à®á⮩ ' ,13,10
db 'several à §«¨ç­ë© ' ,13,10
db 'climb ¯®¤­¨¬ âìáï ' ,13,10
db 'blue ᨭ¨© ' ,13,10
db 'dog ᮡ ª , ᮡ ç¨© ' ,13,10
db 'john ¤¦®­,  àâá)¨® ­­ ' ,13,10
db 'slight «¥£ª¨©, ­¥§­ ç¨â¥«ì­ë© ' ,13,10
db 'piece ç áâì, ªã᮪ ' ,13,10
db 'terrible áâà è­ë© ' ,13,10
db 'memory ¯ ¬ïâì, ¢®á¯®¬¨­ ­¨ï ' ,13,10
db 'bank íª®­)¡ ­ª, ¡ ­ª®¢áª¨© ' ,13,10
db 'clock ᨭåà®­¨§¨à®¢ âì, ç áë ' ,13,10
db 'knife ­®¦ ' ,13,10
db 'fair ïଠઠ, ¢ëáâ ¢ª , ç¥áâ­ë©, ᢥâ«ë©, á¯à ¢¥¤«¨¢® ' ,13,10
db 'tower ¢®§¢ëè âìáï, ¡ è­ï ' ,13,10
db 'exact â®ç­ë© ' ,13,10
db 'smoke ªãà¨âì, ¤ë¬¨âì, ¤ë¬ ' ,13,10
db 'sorry ®£®à祭­ë© ' ,13,10
db 'crowd ᮡ¨à âìáï, ⮫¯  ' ,13,10
db 'picture ¨§®¡à ¦ âì, ¨§®¡à ¦¥­¨¥,  àâá)ª à⨭ , ä®â®)á­¨¬®ª, ª à⨭­ë© ' ,13,10
db 'wave ®âª«®­ïâì, ¬ å âì, ¢®«­ , ¢®«­®¢®© ' ,13,10
db 'chapter £« ¢ , ®â¤¥«¥­¨¥ ' ,13,10
db 'company ª®¬¯ ­¨ï, ¢®¥­)à®â  ' ,13,10
db 'north ᥢ¥à, ᥢ¥à­ë© ' ,13,10
db 'ride ¥§¤¨âì, ¥å âì, ¯®¥§¤ª  ' ,13,10
db 'burn ¦¥çì, £®à¥âì, ®¡¦¨£ âì, ®¦®£ ' ,13,10
db 'blood ªà®¢ì, ªà®¢ï­®© ' ,13,10
db 'everyone ¢¥áì ' ,13,10
db 'fast ¡ëáâà®, ¡ëáâàë© ' ,13,10
db 'space ¯à®áâà ­á⢮, ¨­ä)¯à®¡¥«, ª®á¬¨ç¥áª¨© ' ,13,10
db 'spring ¯à룠âì, ¢¥á­ , ¬¥å) ¢â®)¯à㦨­ , ¯à릮ª, ¢¥á¥­­¨© ' ,13,10
db 'lock § ¯¨à âì, § ¬®ª, ¨­ä)¡«®ª¨à®¢ª  ' ,13,10
db 'warn ¯à¥¤ã¯à¥¦¤ âì ' ,13,10
db 'count áç¨â âì, áç¥â ' ,13,10
db 'empty ¯ãá⮩ ' ,13,10
db 'merry ¢¥á¥«ë© ' ,13,10
db 'guess ¤®£ ¤ë¢ âìáï, ¤®£ ¤ª  ' ,13,10
db 'nod ª¨¢ âì, ª¨¢®ª ' ,13,10
db 'cloud § â¥¬­ïâì, ®¡« ª® ' ,13,10
db 'curious «î¡®¯ëâ­®, «î¡®¯ëâ­ë© ' ,13,10
db 'spirit ¤ãå ' ,13,10
db 'gentleman¤¦¥­â«ì¬¥­ ' ,13,10
db 'wife ¦¥­  ' ,13,10
db 'captain ª ¯¨â ­, ª ¯¨â ­áª¨© ' ,13,10
db 'mine £¥®«)è åâ , ¢®®à)¬¨­ , ¬®© ' ,13,10
db 'lift ¯®¤­¨¬ âì, «¨äâ ' ,13,10
db 'slip ­ ¤¥¢ âì, ᪮«ì§¨âì, ᪮«ì¦¥­¨¥, ®è¨¡ª  ' ,13,10
db 'darkness ⥬­®â  ' ,13,10
db 'noise è㬠' ,13,10
db 'war ¢®©­ , ¢®¥­­ë© ' ,13,10
db 'hole ®â¢¥àá⨥,  áâà)¤ëà  ' ,13,10
db 'perfect ã«ãçè âì, ®â«¨ç­ë© ' ,13,10
db 'twenty ¤¢ ¤æ âì, ¤¢ ¤æ â¨ ' ,13,10
db 'whatever ¢á¥, çâ®, ­¥§ ¢¨á¨¬® ®â ⮣®, ª ª®© ' ,13,10
db 'longer ¤®«ìè¥, ¡®«¥¥ ¤«¨­­ë© ' ,13,10
db 'path ¯ãâì, ¨­ä)¬ àèàãâ ' ,13,10
db 'nature ¯à¨à®¤ , å à ªâ¥à ' ,13,10
db 'attention¢­¨¬ ­¨¥ ' ,13,10
db 'complete § ¢¥àè âì, ¯®«­ë© ' ,13,10
db 'wand ¯ «®çª  ' ,13,10
db 'mention 㯮¬¨­ âì, áá뫪  ' ,13,10
db 'office ®ä¨á, ®ä¨á­ë© ' ,13,10
db 'stair áâ㯥­ìª  ' ,13,10
db 'escape ¨§¡¥£ âì, ¯¥à¥å®¤ ' ,13,10
db 'ahead ¢¯¥à¥¤, ¢¯¥à¥¤¨ ' ,13,10
db 'finish § ¢¥àè âì, § ª ­ç¨¢ âì, ª®­¥æ ' ,13,10
db 'bag ¬¥è®ª, ¬ã«ì⨬­®¦¥á⢮ ' ,13,10
db 'thick ⮫áâë©, ¯«®â­ë©, £ãá⮩ ' ,13,10
db 'cause ¢ë§ë¢ âì, § áâ ¢«ïâì, ¯à¨ç¨­ , ¯à®æ¥áá, ¤¥«® ' ,13,10
db 'bow ª« ­ïâìáï, ¯®¤ç¨­ïâìáï, ¯®ª«®­, «ãª ' ,13,10
db 'vim ¯àëâì ' ,13,10
db 'need ­¥®¡å®¤¨¬®áâì, ­ã¦­® ' ,13,10
db 'ah  å ' ,13,10
db 'direction ­ ¯à ¢«¥­¨¥, à㪮¢®¤á⢮ ' ,13,10
db 'field ®¡« áâì ' ,13,10
db 'neck è¥ï ' ,13,10
db 'plain à ¢­¨­ , ¯à®á⮩, £« ¤ª¨© ' ,13,10
db 'key ª«îç, ¨­ä)ª« ¢¨è , ª«î祢®© ' ,13,10
db 'mile ¬Ǖ ' ,13,10
db 'press ­ ¦¨¬ âì, ¯à¥áá , ¨­ä)­ ¦ â¨¥, ª®àà¥á¯®­¤¥­â᪨© ' ,13,10
db 'allow ¤®¯ã᪠âì, ¯®§¢®«ïâì ' ,13,10
db 'gentle ¬ï£ª¨© ' ,13,10
db 'daughter ¤®çì, ¤®ç¥à­¨© ' ,13,10
db 'dwarf ª à«¨ª ' ,13,10
db 'particular ª®­ªà¥â­ë©, ¢ ç áâ­®á⨠' ,13,10
db 'six è¥áâì, è¥á⨠' ,13,10
db 'bar ¯à¥£à ¦¤ âì, ¡ à, ¯®«®á , ¨­ä)§®­ , ¡àã᮪,  ¤¢®ª âãà , á㤠' ,13,10
db 'pale ¡«¥¤­ë© ' ,13,10
db 'smell ¯ å­ãâì, çã¢á⢮¢ âì § ¯ å, § ¯ å, ®¡®­ï­¨¥ ' ,13,10
db 'moon «ã­ , «ã­­ë© ' ,13,10
db 'nose ¢ë¨áª¨¢ âì, ­®á, ­®á®¢®© ' ,13,10
db 'sharp â®ç­®, ®áâàë© ' ,13,10
db 'ancient ¤à¥¢­¨©, áâ à¨­­ë© ' ,13,10
db 'anyway ¢® ¢á类¬ á«ãç ¥ ' ,13,10
db 'evil §«®, §«®© ' ,13,10
db 'faint á« ¡ë© ' ,13,10
db 'act ¤¥©á⢮¢ âì, ¤¥©á⢨¥ ' ,13,10
db 'silver á¥à¥¡à®, á¥à¥¡àï­ë© ' ,13,10
db 'mere ¯à®áâ®, ¯à®á⮩ ' ,13,10
db 'yard ïठ' ,13,10
db 'bird ¯â¨æ  ' ,13,10
db 'visit ¯®á¥é âì, ¢¨§¨â ' ,13,10
db 'note ¨¬¥âì ¢ ¢¨¤ã, ¯à¨¬¥ç ­¨¥ ' ,13,10
db 'stuff ­ ¡¨¢ âì, ¬ â¥à¨ « ' ,13,10
db 'month ¬¥áïæ, ¬¥áïç­ë© ' ,13,10
db 'nice ¬¨«®, å®à®è¨© ' ,13,10
db 'scream ªà¨ç âì, ªà¨ª ' ,13,10
db 'subject ¢ § ¢¨á¨¬®á⨠®â ' ,13,10
db 'west § ¯ ¤, § ¯ ¤­ë©, ­  § ¯ ¤¥ ' ,13,10
db 'lean ᣨ¡ âì, ­ ª«®­ïâìáï, ¯à¨á«®­ïâìáï, â®é¨© ' ,13,10
db 'somewhere £¤¥-­¨¡ã¤ì, ªã¤ -­¨¡ã¤ì ' ,13,10
db 'horror 㦠á, 㦠á­ë© ' ,13,10
db 'knock áâãç âì, 㤠àïâì, áâãª, 㤠à ' ,13,10
db 'potter £®­ç à ' ,13,10
db 'explain ®¡êïá­ïâì ' ,13,10
db 'reply ®â¢¥ç âì, ®â¢¥â ' ,13,10
db 'common ®¡é¨© ' ,13,10
db 'straight ¯àאַ, áà §ã, ¯àאַ© ' ,13,10
db 'game ¨£à  ' ,13,10
db 'pause ®áâ ­ ¢«¨¢ âìáï, ¯ ã§  ' ,13,10
db 'pippin ¯¥¯¨­ ' ,13,10
db 'golden §®«®â®©, §®«®â¨áâë© ' ,13,10
db 'consider à áᬠâਢ âì, áç¨â âì, à¥è âì ' ,13,10
db 'trust ¢¥à¨âì, ¤®¢¥à¨¥, íª®­)âà áâ ' ,13,10
db 'beautiful ªà á¨¢ë© ' ,13,10
db 'further ¯à®¤¢¨£ âì, ¤ «ìè¥, ¤ «ì­¥©è¨© ' ,13,10
db 'mad á㬠á襤訩, ¡¥§ã¬­ë© ' ,13,10
db 'soul ¤ãè  ' ,13,10
db 'party ¯ àâ¨ï, ª®­â)íª®­)âà ­á)áâ®à®­ , ¢áâà)¢¥ç¥à¨­ª  ' ,13,10
db 'queen ª®à®«¥¢ , ª®à®«¥¢áª¨© ' ,13,10
db 'train £®â®¢¨âì, ¯®¥§¤ ' ,13,10
db 'marry ¢áâ㯠âì ¢ ¡à ª á ' ,13,10
db 'cat ª®èª  ' ,13,10
db 'receive ¯®«ãç âì, ¯à¨¥¬­¨ª ' ,13,10
db 'beat ¡¨âì, ®¯¥à¥¦ âì, à¨â¬, â ªâ ' ,13,10
db 'enemy ­¥¯à¨ï⥫ì, ¢à ¦¤¥¡­ë© ' ,13,10
db 'join ª, ᮥ¤¨­ïâì, £àã¯)®¡ê¥¤¨­ïâì, ᮥ¤¨­¥­¨¥ ' ,13,10
db 'spot ®¯à¥¤¥«ïâì, â®çª  ' ,13,10
db 'continue ¯à®¤®«¦ âì, ®áâ ¢ âìáï ' ,13,10
db 'middle á¥à¥¤¨­ , á।­¨© ' ,13,10
db 'van äã࣮­, ¢ £®­, ¢í­ ' ,13,10
db 'account áç¨â âì, áç¥â, ®âç¥â, ãç¥â­ë© ' ,13,10
db 'garden ᠤ ' ,13,10
db 'hot £®àï稩 ' ,13,10
db 'pain ¡®«ì ' ,13,10
db 'iron £« ¤¨âì, ¦¥«¥§®, ¦¥«¥§­ë© ' ,13,10
db 'sword á ¡«ï, á ¡¥«ì­ë© ' ,13,10
db 'expression ¢ëà ¦¥­¨¥ ' ,13,10
db 'folk ­ à®¤, ­ à®¤­ë© ' ,13,10
db 'object ¢®§à ¦ âì, ®¡ê¥ªâ, ®¡ê¥ªâ­ë© ' ,13,10
db 'elizabeth í«¨§ ¡¥â ' ,13,10
db 'snow á­¥£, á­¥¦­ë© ' ,13,10
db 'search ¨áª âì, ¯®¨áª ' ,13,10
db 'hop ¯à릮ª, 嬥«ì, 嬥«¥¢®© ' ,13,10
db 'worry ¡¥á¯®ª®¨âìáï, ®§ ¡®ç¥­­®áâì ' ,13,10
db 'buy ¯®ªã¯ âì ' ,13,10
db 'hit ¯®à ¦ âì, ­ ¯ ¤ âì, ¨­ä)­ ¦¨¬ âì, 㤠à ' ,13,10
db 'ought ¤®«¦¥­ ' ,13,10
db 'odd ­¥ç¥â­ë©, áâà ­­ë© ' ,13,10
db 'push ¢ëâ «ª¨¢ âì, ⮫箪 ' ,13,10
db 'study ¨§ãç âì, § ­¨¬ âìáï,  ­ «¨§ ' ,13,10
db 'instant ¬®¬¥­â, ¬£­®¢¥­­ë© ' ,13,10
db 'during ¢® ¢à¥¬ï, ¢ â¥ç¥­¨¥ ' ,13,10
db 'thin â®­ª¨© ' ,13,10
db 'magic ¬ £¨ï, ¢®«è¥¡­ë© ' ,13,10
db 'settle à¥è âì, ãॣ㫨஢ âì, ®á¥¤ âì,  áâà)®á¢ ¨¢ âì ' ,13,10
db 'view à áᬠâਢ âì, ¢¨¤, §à¥­¨¥, ¯à¥¤áâ ¢«¥­¨¥, â®çª  §à¥­¨ï ' ,13,10
db 'steppe á⥯ì ' ,13,10
db 'job à ¡®â , § ¤ ­¨¥ ' ,13,10
db 'leap ¯à룠âì, ¯à릮ª, ᪠箪 ' ,13,10
db 'promise ®¡¥é âì, ®¡¥é ­¨¥ ' ,13,10
db 'dust ¯ë«ì ' ,13,10
db 'forest «¥á, «¥á­®© ' ,13,10
db 'warm ­ £à¥¢ âì, ⥯«®, ⥯«ë© ' ,13,10
db 'instead ¢§ ¬¥­ ' ,13,10
db 'offer ¯à¥¤« £ âì, ¯à¥¤«®¦¥­¨¥ ' ,13,10
db 'angry á¥à¤¨âë© ' ,13,10
db 'seek ¨áª âì, ¯®¨áª ' ,13,10
db 'pleasure 㤮¢®«ìá⢨¥ ' ,13,10
db 'choose ¢ë¡¨à âì, à¥è âì, ¢ë¡®à ' ,13,10
db 'clothe ®¤¥¢ âì, ®¡«¥ª âì ' ,13,10
db 'lower 㬥­ìè âì, ¡®«¥¥ ­¨§ª¨©, ­¨¦¥ ' ,13,10
db 'mutter ¡®à¬®â âì ' ,13,10
db 'stream â¥çì, ¯®â®ª ' ,13,10
db 'kiss 楫®¢ âì, ¯®æ¥«ã© ' ,13,10
db 'boat «®¤ª , á㤭® ' ,13,10
db 'natural ¥áâ¥á⢥­­®, ¥áâ¥á⢥­­ë© ' ,13,10
db 'truth ¨á⨭  ' ,13,10
db 'sing ¯¥âì ' ,13,10
db 'observe ­ ¡«î¤ âì, ᮡ«î¤ âì ' ,13,10
db 'dinner ®¡¥¤ ' ,13,10
db 'food ¯¨é , ¯à®¤®¢®«ìá⢥­­ë© ' ,13,10
db 'tall ¢ë᮪¨©, à®á⮬, ¢ëè¥ ' ,13,10
db 'ring §¢®­¨âì, ª®«ìæ®, ª®«ì楢®© ' ,13,10
db 'decide à¥è âì ' ,13,10
db 'horrible 㦠á­ë© ' ,13,10
db 'vanish ¨á祧 âì ' ,13,10
db 'spend âà â¨âì ' ,13,10
db 'grave ¬®£¨« , 㤠७¨¥, á¥à쥧­ë©, ¢ ¦­ë© ' ,13,10
db 'actual ä ªâ¨ç¥áª¨© ' ,13,10
db 'gather ᮡ¨à âì ' ,13,10
db 'repeat ¯®¢â®àïâì, ¯®¢â®à¥­¨¥ ' ,13,10
db 'south î£, î¦­ë© ' ,13,10
db 'manage ã¯à ¢«ïâì ' ,13,10
db 'ill §«®, ­¥¤ã£, ¯«®å®©, ¡®«ì­®©, ¤ãà­® ' ,13,10
db 'dance ⠭楢 âì, â ­¥æ ' ,13,10
db 'stephen á⨢¥­ ' ,13,10
db 'roof ªàëâì, ªàëè  ' ,13,10
db 'ghost ¯à¨§à ª ' ,13,10
db 'sink ¯®£à㦠âì, ⮯¨âì, ¯®£à㦠âìáï, â®­ãâì, à ª®¢¨­  ' ,13,10
db 'grass âà ¢  ' ,13,10
db 'jim ¤¦¨¬ ' ,13,10
db 'carter ¢®§ç¨ª, ª àâ¥à ' ,13,10
db 'dry áãè¨âì, á®å­ãâì, ¯à®â¨à âì, áã宩 ' ,13,10
db 'narrow á㦨¢ âì, 㧪¨© ' ,13,10
db 'hurt à ­¨âì, ¯®¢à¥¦¤¥­¨¥, à ­  ' ,13,10
db 'knee ª®«¥­®, ª®«¥­­ë© ' ,13,10
db 'law § ª®­, îਤ¨ç¥áª¨© ' ,13,10
db 'reckon ¯®¤áç¨â뢠âì, à á¯« ç¨¢ âìáï ' ,13,10
db 'service ®¡á«ã¦¨¢ âì, ãá«ã£ , ®¡á«ã¦¨¢ ­¨¥, ¢®¥­)á«ã¦¡  ' ,13,10
db 'arrive ¯à¨¡ë¢ âì ' ,13,10
db 'george ¤¦®à¤¦ ' ,13,10
db 'worse å㦥, ¯«®å®© ' ,13,10
db 'yeah ¤  ' ,13,10
db 'alive ¦¨¢®©, £®â®¢ë©, à ¡®â®á¯®á®¡­ë© ' ,13,10
db 'distance à ááâ®ï­¨¥ ' ,13,10
db 'length ¤«¨­ , ¯à®¤®«¦¨â¥«ì­®áâì, ®â१®ª ' ,13,10
db 'desk á⮫, ¯ã«ìâ, ­ á⮫ì­ë© ' ,13,10
db 'sweet ¯à¨ïâ­®, ¯à¨ïâ­ë©, á« ¤ª¨© ' ,13,10
db 'art ¨áªãáá⢮ ' ,13,10
db 'crack âà¥áª âìáï, âà¥é¨­ , ®â¡®à­ë© ' ,13,10
db 'approach ¤®á⨣ âì, ¯à¨¡«¨¦ âìáï, ¬¥â®¤ ' ,13,10
db 'realize ॠ«¨§®¢ë¢ âì, ¯®­¨¬ âì ' ,13,10
db 'colour ä®â®)®ªà è¨¢ âì, 梥â, 梥⭮© ' ,13,10
db 'brain ¬®§£, ¬®§£®¢®© ' ,13,10
db 'tale à á᪠§, ¯®¢¥áâì ' ,13,10
db 'seven ᥬì, ᥬ¨ ' ,13,10
db 'valley ¤®«¨­  ' ,13,10
db 'circle ªà㣠' ,13,10
db 'fancy ¯à¥¤¯®« £ âì, 㢫¥ª âìáï, ¢®®¡à ¦¥­¨¥, ¯à¨ç㤫¨¢ë© ' ,13,10
db 'purpose ¨áª«îç¨â¥«ì­® ¤«ï ' ,13,10
db 'third âà¥â¨© ' ,13,10
db 'brown ª®à¨ç­¥¢ë© ' ,13,10
db 'effect ¯à®¨§¢®¤¨âì, íä䥪â ' ,13,10
db 'london «®­¤®­, «®­¤®­áª¨© ' ,13,10
db 'tremble ¤à®¦ âì, ¤à®¦ì ' ,13,10
db 'kid èãâ¨âì, ॡ¥­®ª, ª®§«¥­®ª, « ©ª®¢ë© ' ,13,10
db 'distant ®â¤ «¥­­ë© ' ,13,10
db 'onto ­  ' ,13,10
db 'sigh ¢§¤ëå âì, ¢§¤®å ' ,13,10
db 'beneath ¯®¤ ' ,13,10
db 'important ¢ ¦­®, ¢ ¦­ë© ' ,13,10
db 'rush ᯥè¨âì, ᯥ誠, áà®ç­ë©, áà®ç­® ' ,13,10
db 'sirius á¨à¨ãá ' ,13,10
db 'strength ᨫ , ¯à®ç­®áâì, ¢®¥­)ç¨á«¥­­®áâì ' ,13,10
db 'east ¢®á⮪, ¢®áâ®ç­ë© ' ,13,10
db 'crouch ¯à¨á¥¤ âì ' ,13,10
db 'fit ãáâ ­ ¢«¨¢ âì, ¯à¨áâã¯, £®¤­ë© ' ,13,10
db 'gray á¥àë© ' ,13,10
db 'stretch ¯à®â¢ âì ' ,13,10
db 'imagine ¯à¥¤áâ ¢«ïâì ᥡ¥ ' ,13,10
db 'jump ¯à룠âì, ¯¥à¥áª ª¨¢ âì, ¯à릮ª, ¨­ä)¯¥à¥å®¤ ' ,13,10
db 'direct ­ ¯à ¢«ïâì, ¯àאַ© ' ,13,10
db 'neither ­¨ª ª®©, ­¨ ' ,13,10
db 'cloak ¯« é ' ,13,10
db 'nobody ­¨ªâ® ' ,13,10
db 'shock ¯®âàïá âì, 讪¨à®¢ âì, ¯®âàïᥭ¨¥, 㤠à, 讪 ' ,13,10
db 'speed ã᪮àïâì, ᪮à®áâì, ᪮à®áâ­®© ' ,13,10
db 'tea ç ©, ç ©­ë© ' ,13,10
db 'tone ®â⥭®ª ' ,13,10
db 'wing ªàë«® ' ,13,10
db 'thought ¤ã¬ âì, ¬ëá«ì ' ,13,10
db 'dim § â¥¬­ïâì, âãáª«ë© ' ,13,10
db 'flower 梥⮪, 梥â®ç­ë© ' ,13,10
db 'report á®®¡é âì, á®®¡é¥­¨¥ ' ,13,10
db 'today ᥣ®¤­ï ' ,13,10
db 'teeth §ã¡, §ã¡­®© ' ,13,10
db 'fred ä। ' ,13,10
db 'bare ç¨áâë© ' ,13,10
db 'yellow ¦¥«âë© ' ,13,10
db 'breakfast § ¢âà ª ' ,13,10
db 'jam § ¦¨¬ âì, § ¬ï⨥, ¤ ¢ª , ¤¦¥¬, § â®à ' ,13,10
db 'journey ¯ãâ¥è¥á⢨¥, ¯®¥§¤ª  ' ,13,10
db 'ruin à §àãè âì, ªà å ' ,13,10
db 'attack  â ª®¢ âì,  â ª , ­ ¯ ¤¥­¨¥ ' ,13,10
db 'putt «¥£ª¨©, 㤠à ' ,13,10
db 'bottle à §«¨¢ âì ¯® ¡ãâ뫪 ¬, ¡ãâ뫪  ' ,13,10
db 'frighten ¯ã£ âì ' ,13,10
db 'servant á«ã£  ' ,13,10
db 'flash ¢ëᢥ稢 âì, ¢á¯ë誠 ' ,13,10
db 'immediate ¡¥§®â« £ â¥«ì­ë©, ­¥¯®á।á⢥­­ë© ' ,13,10
db 'bound á¢ï§ë¢ âì, £à ­¨ç¨âì, £à ­¨æ , ¯à릮ª, á¢ï§ ­­ë© ' ,13,10
db 'single ¥¤¨­á⢥­­ë© ' ,13,10
db 'concern ¡¥á¯®ª®¨âìáï, ª á âìáï, § ­¨¬ âìáï, ¡¥á¯®ª®©á⢮, ª®­æ¥à­ ' ,13,10
db 'afterward ¢¯®á«¥¤á⢨¨ ' ,13,10
db 'rule ã¯à ¢«ïâì, ¯à ¢¨«® ' ,13,10
db 'snap «®¬ âì, 饫ª âì, 饫箪, ¬£­®¢¥­­ë© ' ,13,10
db 'bell ᨣ­ «, ª®«®ª®« ' ,13,10
db 'sweep ¯®¤¬¥â âì, ¨­ä)à §¢¥àâ뢠âì, à §¢¥à⪠ ' ,13,10
db 'control ã¯à ¢«ïâì, ã¯à ¢«¥­¨¥, ã¯à ¢«ïî騩 ' ,13,10
db 'passage ¯à®å®¤, ¯à®¥§¤ ' ,13,10
db 'square ª¢ ¤à â, ª¢ ¤à â­ë© ' ,13,10
db 'tire ãáâ ¢ âì, 設  ' ,13,10
db 'cup ç èª  ' ,13,10
db 'fix ãáâ ­ ¢«¨¢ âì, 䨪á¨à®¢ âì, ६®­â¨à®¢ âì, ¨á¯à ¢«¥­¨¥ ' ,13,10
db 'fresh ᢥ¦¨© ' ,13,10
db 'huge ®£à®¬­ë© ' ,13,10
db 'aside ¢ áâ®à®­ã ' ,13,10
db 'rich ¡®£ âë© ' ,13,10
db 'tight ¯«®â­ë© ' ,13,10
db 'bridge ᮥ¤¨­ïâì ¬®á⮬, ¬®áâ, ¡à¨¤¦ ' ,13,10
db 'flat ª¢ àâ¨à , ¯«®áª¨© ' ,13,10
db 'madam ¬ ¤ ¬ ' ,13,10
db 'song ¯¥á­ï ' ,13,10
db 'swing ª ç âì, ª ç ­¨¥, ¯¥à¥¯ ¤ ' ,13,10
db 'clean ç¨áâ¨âì, ç¨áâë©, ¯à®¢¥à¥­­ë©, ª ª á«¥¤ã¥â ' ,13,10
db 'pack 㯠ª®¢ë¢ âì, § ¯®«­ïâì, 㯠ª®¢ª  ' ,13,10
db 'coat ¯®ªà뢠âì, ¯ «ìâ® ' ,13,10
db 'conversation à §£®¢®à ' ,13,10
db 'couple ᮥ¤¨­ïâì, ¯ à  ' ,13,10
db 'afternoon ¯®«¤¥­ì ' ,13,10
db 'asleep á¯ï騩 ' ,13,10
db 'burst «®¯ âìáï, ¢§à뢠âìáï, ¢§àë¢ ' ,13,10
db 'ball è à, è à®¢®© ' ,13,10
db 'castle § ¬®ª ' ,13,10
db 'church æ¥àª®¢ì, æ¥àª®¢­ë© ' ,13,10
db 'address  ¤à¥á®¢ âì, ®¡à é âìáï,  ¤à¥á ' ,13,10
db 'entire æ¥«ë© ' ,13,10
db 'unless ¥á«¨ ' ,13,10
db 'occasion á«ãç © ' ,13,10
db 'knowledge §­ ­¨¥ ' ,13,10
db 'rat ªàëá , ªàëá¨­ë© ' ,13,10
db 'fail â¥à¯¥âì ­¥ã¤ çã ' ,13,10
db 'steal ªà áâì, § å¢ â뢠âì ' ,13,10
db 'pair ᯠਢ âì, ¯ à  ' ,13,10
db 'rain «¨âì, ¤®¦¤ì ' ,13,10
db 'throat £®à«® ' ,13,10
db 'calm ãᯮª ¨¢ âì, ᯮª®©á⢨¥, â¨å¨© ' ,13,10
db 'message á®®¡é¥­¨¥, ¯®á« ­¨¥ ' ,13,10
db 'court îਤ)¢ë¨£à뢠âì, áã¤, á㤥¡­ë© ' ,13,10
db 'creep ¯®«§ âì ' ,13,10
db 'self ᮡá⢥­­ ï «¨ç­®áâì, á ¬, á ¬, «¨ç­® ' ,13,10
db 'swift ¡ëáâàë© ' ,13,10
db 'character ᨬ¢®«, å à ªâ¥à, ᨬ¢®«ì­ë©, å à ªâ¥à­ë© ' ,13,10
db 'companion ª®¬¯ ­ì®­, ¯®¡®ç­ë© ' ,13,10
db 'remark § ¬¥ç âì, § ¬¥ç ­¨¥ ' ,13,10
db 'desire å®â¥âì, ¦¥« ­¨¥ ' ,13,10
db 'prepare ¯®¤£®â ¢«¨¢ âì, £®â®¢¨âìáï ' ,13,10
db 'wheel ª®«¥á® ' ,13,10
db 'public ¯ã¡«¨ª , ®¡é¥á⢥­­ë© ' ,13,10
db 'vast ®¡è¨à­ë© ' ,13,10
db 'wound à ­¨âì, à ­  ' ,13,10
db 'bottom ¢­¨ª âì, ­¨§, ­¨¦­¨© ' ,13,10
db 'mighty ¬®£ãé¥á⢥­­ë© ' ,13,10
db 'serious á¥à쥧­ë© ' ,13,10
db 'forth ¤ «¥¥ ' ,13,10
db 'wonderful § ¬¥ç â¥«ì­®, § ¬¥ç â¥«ì­ë© ' ,13,10
db 'charge § à裂âì, íª®­)¯à¥¤« £ âì, ¡à âì, ¯« â , § àï¤ ' ,13,10
db 'roar ॢ¥âì, ॢ ' ,13,10
db 'awake ¡ã¤¨âì ' ,13,10
db 'corridor ª®à¨¤®à ' ,13,10
db 'record § ¯¨á뢠âì, § ¯¨áì, ४®à¤, ४®à¤­ë© ' ,13,10
db 'tiny ­¥¡®«ì让 ' ,13,10
db 'gun ¯ã誠, àã¦ì¥ ' ,13,10
db 'moody ª ¯à¨§­ë© ' ,13,10
db 'police ¯®«¨æ¨ï, ¯®«¨æ¥©áª¨© ' ,13,10
db 'pound ª®«®â¨âì, äã­â, äã­â®¢ë© ' ,13,10
db 'experience ¯®«ãç âì, ¨á¯ëâ뢠âì, ®¯ëâ ' ,13,10
db 'prove ¤®ª §ë¢ âì ' ,13,10
db 'scar èà ¬ ' ,13,10
db 'wander ¡à®¤¨âì ' ,13,10
db 'check ¯à®¢¥àïâì, 祪, ª®­â஫ì­ë© ' ,13,10
db 'seize § å¢ â뢠âì ' ,13,10
db 'cool ®å« ¦¤ âì, 宫®¤­ë© ' ,13,10
db 'nanny ­ï­ï ' ,13,10
db 'tonight ᥣ®¤­ï ¢¥ç¥à®¬ ' ,13,10
db 'beg ¯à®á¨âì ' ,13,10
db 'twice ¤¢ ¦¤ë ' ,13,10
db 'bless ¡« £®á«®¢«ïâì ' ,13,10
db 'drag â é¨âì, ¯®¬¥å  ' ,13,10
db 'group £à㯯¨à®¢ âì, £à㯯 , £à㯯®¢®© ' ,13,10
db 'proper ᮮ⢥âáâ¢ãî騩 ' ,13,10
db 'curse ¯à®ª«¨­ âì, ¯à®ª«ï⨥ ' ,13,10
db 'susan á­ ' ,13,10
db 'cave ¯¥é¥à  ' ,13,10
db 'proud £®à¤ë© ' ,13,10
db 'race á®áâ易âìáï, £®­ª , à á , à á®¢ë© ' ,13,10
db 'charm ®ç à®¢ë¢ âì, ®ç à®¢ â¥«ì­ë©, ®¡ ï­¨¥, ¯à¥«¥áâì ' ,13,10
db 'lake ®§¥à® ' ,13,10
db 'blind á«¥¯¨âì, èâ®à , á«¥¯®© ' ,13,10
db 'class ª« áá ' ,13,10
db 'struggle ¡®à®âìáï, ¡®àì¡  ' ,13,10
db 'danger ®¯ á­®áâì, ®¯ á­ë© ' ,13,10
db 'double 㤢 ¨¢ âì, ¤¢®©­®¥ ª®«¨ç¥á⢮, ¤¢®©­®©, ¢¤¢®©­¥ ' ,13,10
db 'nervous ­¥à¢­ë© ' ,13,10
db 'normal ­®à¬ «ì­®, ­®à¬ «ì­ë© ' ,13,10
db 'spread à á¯à®áâà ­ïâì, ¯à®áâ¨à âìáï, à á¯à®áâà ­¥­¨¥, à á¯à®áâ¥àâë© ' ,13,10
db 'delight ¯à¨¢®¤¨âì ¢ ¢®áâ®à£, ¢®áå¨é¥­¨¥ ' ,13,10
db 'disappear ¨á祧 âì ' ,13,10
db 'scene á業 , ¨­ä)¨§®¡à ¦¥­¨¥ ' ,13,10
db 'cast ¡à®á âì, á«¥¯®ª ' ,13,10
db 'flame ¯« ¬ï ' ,13,10
db 'obvious ®ç¥¢¨¤­ë© ' ,13,10
db 'saint á¢ï⮩ ' ,13,10
db 'station áâ ­æ¨ï ' ,13,10
db 'position ¯®§¨æ¨®­¨à®¢ âì, ¯®§¨æ¨ï ' ,13,10
db 'size à §¬¥à ' ,13,10
db 'kitchen ªãå­ï, ªãå®­­ë© ' ,13,10
db 'duty ®¡ï§ ­­®áâì, ¯®è«¨­  ' ,13,10
db 'tongue ï§ëª ' ,13,10
db 'branch à áè¨àïâì, ¢¥âª , ®âà á«ì, ®â¤¥«¥­¨¥, ®âà á«¥¢®© ' ,13,10
db 'entrance ¢å®¤, ¢áâ㯨⥫ì­ë© ' ,13,10
db 'express ¢ëà ¦ âì, íªá¯à¥áá, áà®ç­ë©, ᯥ樠«ì­ë© ' ,13,10
db 'history ¨áâ®à¨ï, ¨áâ®à¨ç¥áª¨© ' ,13,10
db 'welcome ¤®¡à® ¯®¦ «®¢ âì ' ,13,10
db 'mist â㬠­ ' ,13,10
db 'grin ãå¬ë«ïâìáï, ãᬥ誠 ' ,13,10
db 'vague ­¥®¯à¥¤¥«¥­­ë© ' ,13,10
db 'anxious ®§ ¡®ç¥­­ë© ' ,13,10
db 'busy § ­ïâë© ' ,13,10
db 'fish àë¡ , àë¡­ë© ' ,13,10
db 'husband ¬ã¦ ' ,13,10
db 'robe å « â ' ,13,10
db 'board ᮢ¥â, ¤®áª , ¨­ä)¯« â , âà ­á)¡®àâ, ­  ¡®àâã ' ,13,10
db 'skin ª®¦ , èªãà , ª®¦ãà  ' ,13,10
db 'stir 襢¥«¨âì ' ,13,10
db 'shop ¤¥« âì ¯®ªã¯ª¨, ¬ £ §¨­, ¬ áâ¥à᪠ï ' ,13,10
db 'battle ¡®à®âìáï, ¡®àì¡ , ¡¨â¢  ' ,13,10
db 'worth áâ®ï騩 ' ,13,10
db 'dare ®á¬¥«¨¢ âìáï ' ,13,10
db 'judge á㤨âì, áã¤ìï, íªá¯¥àâ ' ,13,10
db 'society ®¡é¥á⢮ ' ,13,10
db 'terror â¥àà®à, 㦠á ' ,13,10
db 'track ¯à®á«¥¦¨¢ âì, ¤®à®¦ª  ' ,13,10
db 'discover ®¡­ à㦨¢ âì ' ,13,10
db 'nine ¤¥¢ïâì, ¤¥¢ï⨠' ,13,10
db 'travel ¯ãâ¥è¥á⢮¢ âì, ¯¥à¥¬¥é âì, ¯ãâ¥è¥á⢨¥, ¯¥à¥¬¥é¥­¨¥ ' ,13,10
db 'card ª àâ  ' ,13,10
db 'twist áªàã稢 âì, ¨áªà¨¢«¥­¨¥ ' ,13,10
db 'chamber ¯ « â , ª ¬¥à  ' ,13,10
db 'chief à㪮¢®¤¨â¥«ì, £« ¢­ë© ' ,13,10
db 'heaven ­¥¡® ' ,13,10
db 'therefore á«¥¤®¢ â¥«ì­® ' ,13,10
db 'march ¬ àè¨à®¢ âì, ¬ àè, ¬ àâ, ¬ à⮢᪨© ' ,13,10
db 'unknown ­¥¨§¢¥áâ­ë© ' ,13,10
db 'slope 㪫®­ ' ,13,10
db 'effort ãᨫ¨¥ ' ,13,10
db 'utter ¯à®¨§­®á¨âì, ᯫ®è­®© ' ,13,10
db 'desert ¯®ª¨¤ âì, ¯ãáâë­ï, ­¥®¡¨â ¥¬ë© ' ,13,10
db 'glow ᢥâ¨âìáï, ᢥ祭¨¥, à §àï¤ ' ,13,10
db 'suggest ¯à¥¤« £ âì, ᮢ¥â®¢ âì, ¯à¥¤«®¦¥­­ë© ' ,13,10
db 'greater ¡®«ìè¥, ¡®«ì訩 ' ,13,10
db 'pray ¬®«¨âì ' ,13,10
db 'apparent ®ç¥¢¨¤­®, ï¢­ë© ' ,13,10
db 'hideous ãத«¨¢ë© ' ,13,10
db 'metal ¬¥å)¬¥â «« ' ,13,10
db 'music ¬ã§ëª , ­®âë, ¬ã§ëª «ì­ë© ' ,13,10
db 'village ¤¥à¥¢­ï ' ,13,10
db 'dangerous ®¯ á­ë© ' ,13,10
db 'everybody ª ¦¤ë© ' ,13,10
db 'somehow ª ª-­¨¡ã¤ì ' ,13,10
db 'gaz £ §, £ §®¢ë© ' ,13,10
db 'respect 㢠¦ âì, ®â­®è¥­¨¥ ' ,13,10
db 'rider ¢á ¤­¨ª ' ,13,10
db 'born ஦¤ âìáï, ஦¤¥­­ë© ' ,13,10
db 'wine ¢¨­® ' ,13,10
db 'difficult âà㤭®, âàã¤­ë© ' ,13,10
db 'grab § å¢ â뢠âì, § å¢ â ' ,13,10
db 'stupid £«ã¯ë©, â㯮© ' ,13,10
db 'tie ᮥ¤¨­ïâì, ᮥ¤¨­¥­¨¥, ᮥ¤¨­¨â¥«ì­ë© ' ,13,10
db 'fool ®¤ãà ç¨¢ âì, ¤ãà ª ' ,13,10
db 'stranger ­¥§­ ª®¬¥æ, ­®¢¨ç®ª, ¯®áâ®à®­­¨© ' ,13,10
db 'flow â¥çì, ¯à®¨á室¨âì, ¯®â®ª ' ,13,10
db 'fold ᪫ ¤ë¢ âì, ᢥàâ뢠âì, ᣨ¡ âì, ᪫ ¤ª , ¯ á⢠ ' ,13,10
db 'recall ¢®ááâ ­ ¢«¨¢ âì, ãç¨â뢠âì, ¢®§¢à â, ®¤ãè)¢®á¯®¬¨­ ­¨¥ ' ,13,10
db 'row £à¥áâ¨, ª®«®­ª  ' ,13,10
db 'shin £®«¥­ì ' ,13,10
db 'echo íå® ' ,13,10
db 'pour «¨âì ' ,13,10
db 'tomorrow § ¢âà  ' ,13,10
db 'animal ¦¨¢®â­®¥ ' ,13,10
db 'match ᮮ⢥âá⢮¢ âì, á®ç¥â âìáï, ᮯ®áâ ¢«ïâì, ᯨ窠, ¨­ä)ᮯ®áâ ¢«¥­¨¥, ¬ âç, ¯ àâ¨ï ' ,13,10
db 'pile ª¨¯  ' ,13,10
db 'brief १, ªà âª¨© ' ,13,10
db 'level ¢ëà ¢­¨¢ âì, ã஢¥­ì ' ,13,10
db 'main ®á­®¢ , ®á­®¢­®© ' ,13,10
db 'private ç áâ­ë© ' ,13,10
db 'paint § ªà è¨¢ âì,  àâá)¨§®¡à ¦ âì, ªà áª , § ªà è¨¢ ­¨¥ ' ,13,10
db 'remove 㤠«ïâì, 㤠«¥­¨¥ ' ,13,10
db 'attempt ¯ëâ âìáï, ¯®¯ë⪠ ' ,13,10
db 'planet  áâà)¯« ­¥â , ¯« ­¥â à­ë© ' ,13,10
db 'ward ®âà ¦ âì, ®¯¥ª ¥¬ë© ' ,13,10
db 'writ ¨á¯®«­¨â¥«ì­ë©, «¨áâ ' ,13,10
db 'command ¯à¨ª §ë¢ âì, ª®¬ ­¤®¢ âì, ª®¬ ­¤ , ª®¬ ­¤­ë© ' ,13,10
db 'spy 诨®­¨âì, 诨®­, á«¥¦¥­¨¥, 诨®­áª¨© ' ,13,10
db 'although å®âï ' ,13,10
db 'chain ¯®¤ª«îç âì, 楯ì, ¯®á«¥¤®¢ â¥«ì­®áâì, 楯­®© ' ,13,10
db 'quarter ç¥â¢¥àâì, ª¢ àâ «, ç¥â¢¥àâ ª ' ,13,10
db 'anybody ªâ®-­¨¡ã¤ì ' ,13,10
db 'circumstance ®¡áâ®ï⥫ìá⢮ ' ,13,10
db 'hiss ®á¢¨áâ뢠âì, 訯¥âì ' ,13,10
db 'sad ¯¥ç «ì­ë© ' ,13,10
db 'aware §­ î騩 ' ,13,10
db 'trace ¯à®á«¥¦¨¢ âì, á«¥¤, âà áá¨à®¢ª , çãâì-çãâì ' ,13,10
db 'action ¤¥©á⢨¥, ¨áª ' ,13,10
db 'angel  ­£¥« ' ,13,10
db 'fifty ¯ïâ줥áïâ, ¯ï⨤¥áïâë©, ¯ï⨤¥áï⨠' ,13,10
db 'problem ¯à®¡«¥¬ , ¯à®¡«¥¬­ë© ' ,13,10
db 'summer «¥â®, á㬬 â®à, «¥â­¨© ' ,13,10
db 'steady ãáâ®©ç¨¢ë© ' ,13,10
db 'detail ®¯¨á뢠âì, ¯®¤à®¡­®, ¤¥â «ì, ¯®¤à®¡­ë© ' ,13,10
db 'firm ä¨à¬ , ⢥à¤ë© ' ,13,10
db 'halt ®áâ ­ ¢«¨¢ âì, ®áâ ­®¢ ' ,13,10
db 'opinion ¬­¥­¨¥ ' ,13,10
db 'spell ¯¨á âì ¯® ¡ãª¢ ¬ ' ,13,10
db 'granny ¡ ¡ã誠 ' ,13,10
db 'bill ¢ëáâ ¢«ïâì áç¥â, áç¥â, ªã¯îà , § ª®­®¯à®¥ªâ,  ä¨è , ª«î¢, ¡¨«« ' ,13,10
db 'especial ®á®¡¥­­ë© ' ,13,10
db 'weak á« ¡ë© ' ,13,10
db 'page áâà ­¨æ , áâà ­¨ç­ë© ' ,13,10
db 'special ᯥ樠«ì­ë© ' ,13,10
db 'inch ¤î©¬, ¤î©¬®¢ë© ' ,13,10
db 'speech à¥çì, à¥ç¥¢®© ' ,13,10
db 'wash ¬ëâì, áâ¨àª , ¯à¨¬®çª  ' ,13,10
db 'gasp § ¤ëå âìáï ' ,13,10
db 'task § ¤ ç , § ¤ ­¨¥ ' ,13,10
db 'boot § £à㦠âì, ¯¨­ âì, ¡®â¨­®ª, ¡ £ ¦­¨ª, ¨­ä)§ £à㧪  ' ,13,10
db 'candle á¢¥ç  ' ,13,10
db 'cheek 饪  ' ,13,10
db 'extreme ¯à¥¤¥«, íªáâ६ «ì­ë© ' ,13,10
db 'hell  ¤ ' ,13,10
db 'eight ¢®á¥¬ì, ¢®á쬨 ' ,13,10
db 'hint ­ ¬¥ª ' ,13,10
db 'necessary ­¥®¡å®¤¨¬®, ­¥®¡å®¤¨¬ë© ' ,13,10
db 'term å à ªâ¥à¨§®¢ âì, áப, ãá«®¢¨¥, â¥à¬¨­ ' ,13,10
db 'impossible ­¥¢®§¬®¦­®, ­¥¢®§¬®¦­ë© ' ,13,10
db 'kick ¡¨âì, 㤠à ' ,13,10
db 'reveal ¯®ª §ë¢ âì, ®¡­ à㦨¢ âì ' ,13,10
db 'closer ¡«¨¦¥, ¡«¨¦­¨© ' ,13,10
db 'movement ¯¥à¥¬¥é¥­¨¥ ' ,13,10
db 'presence ¯à¨áãâá⢨¥, ­ «¨ç¨¥ ' ,13,10
db 'suffer áâà ¤ âì ' ,13,10
db 'beauty ªà á®â  ' ,13,10
db 'dreadful 㦠á­ë© ' ,13,10
db 'gleam ¡«¥áâ¥âì, ¯à®¡«¥áª ' ,13,10
db 'occur ¯à®¨á室¨âì ' ,13,10
db 'rid ®á¢®¡®¦¤ âì, ¨§¡ ¢«ïâì ' ,13,10
db 'rough £àã¡ë© ' ,13,10
db 'broad è¨à®ª¨© ' ,13,10
db 'jane ¤¦¥©­ ' ,13,10
db 'pleasant ¯à¨ïâ­ë© ' ,13,10
db 'breast £àã¤ì, £à㤭®© ' ,13,10
db 'post ¯®áë« âì, ¯®áâ, á®®¡é¥­¨¥ ' ,13,10
db 'rope ¢¥à¥¢ª  ' ,13,10
db 'bone ª®áâì, ª®áâ­ë© ' ,13,10
db 'evident ®ç¥¢¨¤­ë© ' ,13,10
db 'parent த¨â¥«ì, த¨â¥«ì᪨© ' ,13,10
db 'student áâ㤥­â, áâ㤥­ç¥áª¨© ' ,13,10
db 'youth ¬®«®¤®áâì ' ,13,10
db 'future ¡ã¤ã饥, ¡ã¤ã騩 ' ,13,10
db 'trunk 設  ' ,13,10
db 'absolute  ¡á®«îâ­ë© ' ,13,10
db 'admit ¤®¯ã᪠âì ' ,13,10
db 'lee ãªàë⨥, ¯®¤¢¥â७­ë© ' ,13,10
db 'queer ­¥®¡ëç­ë© ' ,13,10
db 'thus â ª¨¬ ®¡à §®¬ ' ,13,10
db 'wise ¬ã¤àë© ' ,13,10
db 'excuse ¨§¢¨­ïâì, ¨§¢¨­¥­¨¥ ' ,13,10
db 'carrot ¬®àª®¢ì, ¬®àª®¢­ë© ' ,13,10
db 'comfort ãᯮª ¨¢ âì, 㤮¡á⢮ ' ,13,10
db 'surface ¢á¯«ë¢ âì, ¯®¢¥àå­®áâì, ¯®¢¥àå­®áâ­ë© ' ,13,10
db 'alarm âॢ®¦¨âì, âॢ®£ ,  ¢ à¨©­ë© ' ,13,10
db 'shine á¨ïâì, «®áª ' ,13,10
db 'shore ¡¥à¥£ ' ,13,10
db 'tap ¯®¤ª«îç âì, ®â¢®¤ ' ,13,10
db 'tip ®âª¨¤ë¢ âì, ª®­¥æ ' ,13,10
db 'weapon ®à㦨¥ ' ,13,10
db 'belong ¯à¨­ ¤«¥¦ âì ' ,13,10
db 'charles ç à«ì§ ' ,13,10
db 'peace ¬¨à, ¬¨à­ë© ' ,13,10
db 'smooth à §£« ¦¨¢ âì, ¯« ¢­ë©, £« ¤ª¨© ' ,13,10
db 'dwell § ¤¥à¦¨¢ âìáï, ®áâ ­ ¢«¨¢ âìáï, § ¤¥à¦ª  ' ,13,10
db 'enjoy ­ á« ¦¤ âìáï, «î¡¨âì ' ,13,10
db 'float ¯« ¢ âì, ¯®¯« ¢®ª, ¨­ä)äã­ªæ¨ï ¯à¥®¡à §®¢ ­¨ï, ¯¥à¥¬¥­­ë© ' ,13,10
db 'lamp « ¬¯ , ä®­ àì, ä®­ à­ë© ' ,13,10
db 'occasional á«ãç ©­ë©, ।ª¨© ' ,13,10
db 'peer à ¢­ïâìáï, ᢥàáâ­¨ª, à ¢­ë© ' ,13,10
db 'fad ¯®¢¥âਥ ' ,13,10
db 'machine ¬ è¨­ , ¬ è¨­­ë© ' ,13,10
db 'regard áç¨â âì, ®â­®è¥­¨¥ ' ,13,10
db 'screen ®â£®à ¦¨¢ âì, íªà ­, íªà ­­ë© ' ,13,10
db 'murmur யâ âì, ய®â ' ,13,10
db 'beard ¡®à®¤  ' ,13,10
db 'joe ¤¦® ' ,13,10
db 'loose ®á¢®¡®¦¤ âì, ᢮¡®¤­ë© ' ,13,10
db 'scrooge áªà ' ,13,10
db 'fashion ¨§£®â ¢«¨¢ âì, ᯮᮡ ' ,13,10
db 'suit ¯®¤å®¤¨âì, ¨áª, á㤥¡­®¥ ¤¥«®, ª®áâî¬ ' ,13,10
db 'dozen ¤î¦¨­  ' ,13,10
db 'flight ¯®«¥â, ३á, ¯®«¥â­ë© ' ,13,10
db 'officer ¤®«¦­®áâ­®¥, «¨æ®, ¢®¥­)®ä¨æ¥à ' ,13,10
db 'dawn à áᢥâ âì, à áᢥâ ' ,13,10
db 'crown ¢¥­ç âì, ª®à®­  ' ,13,10
db 'various à §«¨ç­ë© ' ,13,10
db 'apart ®â¤¥«ì­® ' ,13,10
db 'destroy ã­¨ç⮦ âì ' ,13,10
db 'drift ¤à¥©ä, ¯®á⥯¥­­ë© ' ,13,10
db 'information ¨­ä®à¬ æ¨ï, ¨­ä®à¬ æ¨®­­ë© ' ,13,10
db 'tail ¢ëá«¥¦¨¢ âì, ¯«¥áâ¨áì, 墮áâ ' ,13,10
db 'chest ï騪, £àã¤ì, £à㤭®© ' ,13,10
db 'event á«ãç ©, ¨­ä)ᮡë⨥ ' ,13,10
db 'familiar §­ ª®¬ë©, ¯®å®¦¨© ' ,13,10
db 'language ï§ëª, ï§ëª®¢®© ' ,13,10
db 'weary ã⮬¨â¥«ì­ë©, ãáâ «ë© ' ,13,10
db 'personal ¯¥àá®­ «ì­ë© ' ,13,10
db 'produce ¯à®¨§¢®¤¨âì, ᮧ¤ ¢ âì, ¢ë¤ ç  ' ,13,10
db 'share à á¯à®áâà ­ïâì, ¤¥«¨âì,  ªæ¨ï, ¤®«ï,  ªæ¨®­¥à­ë© ' ,13,10
db 'assure £ à ­â¨à®¢ âì ' ,13,10
db 'desperate ®âç ï­­®, ®âç ï­­ë© ' ,13,10
db 'appearance ¯®ï¢«¥­¨¥, ¢¨¤, ¢­¥è­®áâì ' ,13,10
db 'dread áâà è¨âìáï, áâà å, áâà è­ë© ' ,13,10
db 'gentlemen £®á¯®¤  ' ,13,10
db 'thirty âਤæ âì, âਤæ â¨ ' ,13,10
db 'crawl ¯®«§ âì, ªà®«ì ' ,13,10
db 'guide ¢¥áâ¨, à㪮¢®¤á⢮ ' ,13,10
db 'weight ­ £à㦠âì, ¢¥á¨âì, ¢¥á ' ,13,10
db 'awful 㦠á­ë© ' ,13,10
db 'contain ᮤ¥à¦ âì, ᮤ¥à¦ ­¨¥ ' ,13,10
db 'glimpse ¯à®¡«¥áª ' ,13,10
db 'worst ­ ¨åã¤è¨© ' ,13,10
db 'condition ®æ¥­¨¢ âì, ãá«®¢¨¥, á®áâ®ï­¨¥ ' ,13,10
db 'library ¡¨¡«¨®â¥ª , ¡¨¡«¨®â¥ç­ë© ' ,13,10
db 'tunnel ¯à®ª« ¤ë¢ âì, âã­­¥«ì, âã­­¥«ì­ë© ' ,13,10
db 'honour ¢ë¯®«­ïâì,  ªæ¥¯â®¢ âì, ¯®ç¨â âì, ç¥áâì ' ,13,10
db 'opposite ­ ¯à®â¨¢, ¯à®â¨¢®¯®«®¦­ë© ' ,13,10
db 'phone §¢®­¨âì, ⥫¥ä®­, ⥫¥ä®­­ë© ' ,13,10
db 'clutch 墠â âì, á楯«¥­¨¥, 䨪á â®à ' ,13,10
db 'fat ¦¨à, ¦¨à­ë© ' ,13,10
db 'million ¬¨««¨®­, ¬¨««¨®­­ë© ' ,13,10
db 'serve ®¡á«ã¦¨¢ âì, ¯®¤ ¢ âì, ¢®¥­)á«ã¦¨âì ' ,13,10
db 'century á⮫¥â¨¥ ' ,13,10
db 'comfortable ª®¬ä®àâ ¡¥«ì­ë© ' ,13,10
db 'examine ¨§ãç âì, ¬¥¤)®¡á«¥¤®¢ âì, ¯à®¢¥àïâì, ¯à®¢¥àª  ' ,13,10
db 'result ¯à®¨á室¨âì, १ã«ìâ â ' ,13,10
db 'shire £à äá⢮ ' ,13,10
db 'percy ¯¥àᨠ' ,13,10
db 'avoid ¨§¡¥£ âì ' ,13,10
db 'disturb ¬¥è âì ' ,13,10
db 'plate ¯« á⨭ , «¨á⮢®© ' ,13,10
db 'pretend ¯à¥â¥­¤®¢ âì, ¯à¨â¢®àïâìáï ' ,13,10
db 'yell ªà¨ç âì ' ,13,10
db 'bury å®à®­¨âì, ¯àïâ âì ' ,13,10
db 'cliff ᪠«  ' ,13,10
db 'handle ®¯¥à¨à®¢ âì, àã窠 ' ,13,10
db 'sell ¯à®¤ ¢ âì, ¯à®¤ ¦  ' ,13,10
db 'accept ¯à¨­¨¬ âì, ¬¨à¨âìáï ' ,13,10
db 'dig ª®¯ âì ' ,13,10
db 'excite ¢®§¡ã¦¤ âì ' ,13,10
db 'horn ᨣ­ « ' ,13,10
db 'rub â¥à¥âì ' ,13,10
db 'advance ¯à¥¤®áâ ¢«ïâì, ¯à®¤¢¨£ âìáï,  ¢ ­á,  ¢ ­á®¢ë© ' ,13,10
db 'lad ¯ à¥­ì ' ,13,10
db 'eager í­¥à£¨ç­ë©, áâ६ï騩áï ' ,13,10
db 'joy à ¤®áâì ' ,13,10
db 'former ¯®á«¥¤­¨©, ä®à¬¨à®¢ â¥«ì, ¯à¥¦­¨© ' ,13,10
db 'block ¡«®ª¨à®¢ âì, ¡«®ª, ¡«®ç­ë© ' ,13,10
db 'dull âãáª«ë© ' ,13,10
db 'dan ¤ ­ ' ,13,10
db 'host 宧鶴, £« ¢­ë© ' ,13,10
db 'ice § ¬®à ¦¨¢ âì, «¥¤, «¥¤ï­®© ' ,13,10
db 'mirror §¥àª «®, §¥àª «ì­ë© ' ,13,10
db 'remind ­ ¯®¬¨­ âì ' ,13,10
db 'visible ¢¨¤¨¬ë© ' ,13,10
db 'height ¢ëá®â  ' ,13,10
db 'difficulty âà㤭®áâì ' ,13,10
db 'england  ­£«¨ï ' ,13,10
db 'english  ­£«¨©áª¨©,  ­£«® ' ,13,10
db 'fur ¬¥å, ¬¥å®¢®© ' ,13,10
db 'powerful ¬®é­ë© ' ,13,10
db 'twelve ¤¢¥­ ¤æ âì, ¤¢¥­ ¤æ â¨ ' ,13,10
db 'dad ¯ ¯  ' ,13,10
db 'owl ᮢ  ' ,13,10
db 'plenty ¬­®£®, ®¡¨«ì­ë© ' ,13,10
db 'slide § ¤¢¨£ âì, ᪮«ì§¨âì, ᪮«ì¦¥­¨¥, ä®â®)á« ©¤, ¤¢¨¦®ª ' ,13,10
db 'wooden ¤¥à¥¢ï­­ë© ' ,13,10
db 'mistake ®è¨¡ âìáï, ®è¨¡ª  ' ,13,10
db 'copy ª®¯¨à®¢ âì, ª®¯¨ï, ª®¯¨à®¢ ­¨¥ ' ,13,10
db 'guest £®áâì ' ,13,10
db 'cloth ⪠­ì ' ,13,10
db 'grim ¦ã⪨© ' ,13,10
db 'impression ¢¯¥ç â«¥­¨¥ ' ,13,10
db 'camp à á¯®« £ âìáï « £¥à¥¬, « £¥àì ' ,13,10
db 'hum ­ ¯¥¢ âì, ¦ã¦¦ âì, ¦ã¦¦ ­¨¥, £ã« ' ,13,10
db 'sake à ¤¨ ' ,13,10
db 'magical ¬ £¨ç¥áª¨©, ¢®«è¥¡­ë© ' ,13,10
db 'park ¯ àª®¢ âì, ¯ àª ' ,13,10
db 'robot ஡®â ' ,13,10
db 'shoe ¡ è¬ ª, ®¡ã¢­®© ' ,13,10
db 'damn ¯à®ª«¨­ âì, à㣠⥫ìá⢮ ' ,13,10
db 'soldier ᮫¤ â, ᮫¤ â᪨© ' ,13,10
db 'forehead «®¡ ' ,13,10
db 'taste ¯à®¡®¢ âì, ¢ªãá ' ,13,10
db 'choice ¢ë¡®à ' ,13,10
db 'curtain § ­ ¢¥á ' ,13,10
db 'somebody ªâ®-â® ' ,13,10
db 'doorway ¢å®¤ ' ,13,10
db 'luck ã¤ ç  ' ,13,10
db 'pipe âàã¡  ' ,13,10
db 'treat ®¡à é âìáï, ¬¥¤)«¥ç¨âì, ¨­ä)®¡à ¡ â뢠âì, ®â­®á¨âìáï, 㤮¢®«ìá⢨¥ ' ,13,10
db 'crash à §àãè âì,  ¢ à¨ï ' ,13,10
db 'staircase «¥áâ­¨æ  ' ,13,10
db 'storm ¢®¥­)èâãମ¢ âì, èâ®à¬, ¢®¥­)èâãà¬, £à®§®¢®© ' ,13,10
db 'bet áâ ¢¨âì, ¯ à¨ ' ,13,10
db 'connect ᮥ¤¨­ïâì, ¯®¤ª«îç âì ' ,13,10
db 'shriek ¢®¯¨âì, ¢®¯«ì ' ,13,10
db 'visitor ¯®á¥â¨â¥«ì ' ,13,10
db 'claw æ à ¯ âì, ª®£®âì ' ,13,10
db 'equal à ¢­ïâìáï, à ¢­ë© ' ,13,10
db 'flee ¨§¡¥£ âì, ã¡¥£ âì ' ,13,10
db 'aid ¯®¬®£ âì, ¯®¬®éì,  ¯¯ à â ' ,13,10
db 'carriage ¯¥à¥¢®§ª , ª®«ï᪠, è áᨠ' ,13,10
db 'hunt ®å®â¨âìáï, ¨áª âì, ®å®â , ¯®¨áª ' ,13,10
db 'otherwise ¢ ¯à®â¨¢­®¬ á«ãç ¥, ¨­ ç¥ ' ,13,10
db 'prisoner § ª«î祭­ë© ' ,13,10
db 'satisfy 㤮¢«¥â¢®àïâì ' ,13,10
db 'store ᪫ ¤, åà ­¨«¨é¥, ¬ £ §¨­, § ¯ á, åà ­¨âì, á®åà ­ïâì ' ,13,10
db 'weather ¯®£®¤  ' ,13,10
db 'coffee ª®ä¥ ' ,13,10
db 'older ¡®«¥¥ áâ àë© ' ,13,10
db 'pity ¦ «®áâì ' ,13,10
db 'yesterday ¢ç¥à  ' ,13,10
db 'altogether ¢¬¥á⥠' ,13,10
db 'college ª®««¥¤¦, ã­¨¢¥àá¨â¥â᪨© ' ,13,10
db 'curl ªàãâ¨âì, ¢¨åàì ' ,13,10
db 'ministry ¬¨­¨áâ¥àá⢮ ' ,13,10
db 'relief ®¡«¥£ç¥­¨¥, ᬥ­ , ¯®¬®éì, ¯®á®¡¨¥,  àâá)५ì¥ä, ५ì¥ä­ë© ' ,13,10
db 'shirt à㡠誠 ' ,13,10
db 'shudder ᮤண âìáï, ¢§¤à £¨¢ âì, ¤à®¦ì ' ,13,10
db 'content 㤮¢«¥â¢®àïâì, ᮤ¥à¦ ­¨¥, ¤®¢®«ì­ë© ' ,13,10
db 'mystery â ©­  ' ,13,10
db 'wet ¬®ªàë© ' ,13,10
db 'fortune á®áâ®ï­¨¥, 㤠ç , áã¤ì¡  ' ,13,10
db 'monstrous ç㤮¢¨é­ë© ' ,13,10
db 'scarce ।ª¨© ' ,13,10
db 'increase 㢥«¨ç¨¢ âì, ¢®§à áâ âì, 㢥«¨ç¥­¨¥ ' ,13,10
db 'rattle âà¥é âì ' ,13,10
db 'describe ®¯¨á뢠âì ' ,13,10
db 'harm ¢à¥¤¨âì, ¢à¥¤ ' ,13,10
db 'image ®¡à §, ¨§®¡à ¦¥­¨¥ ' ,13,10
db 'sheet «¨áâ, ¯à®áâë­ï, «¨á⮢®© ' ,13,10
db 'gap ¯à®¬¥¦ã⮪, ¡à¥èì ' ,13,10
db 'prison âîà쬠,âî६­ë©',13,10
db 'sail ¯« ¢ âì, ¯ àãá, «®¤ª , ¯« ¢ ­¨¥',13,10
db 'elder áâ à訩 ',13,10
db 'egg ï©æ® ' ,13,10
db 'rate ®æ¥­¨¢ âì, ¯®ª § â¥«ì, áâ ¢ª , ⥬¯ ' ,13,10
db 'authority à㪮¢®¤á⢮, ¯®«­®¬®ç¨¥, ¨áâ®ç­¨ª ' ,13,10
db 'cheer ®¤®¡àïâì, ¢®§£« á ' ,13,10
db 'engage § ­¨¬ âì ' ,13,10
db 'fudge áâàﯭï, ­ ¤áâ஥ç­ë© ' ,13,10
db 'higher ¢ëè¥, ¡®«¥¥ ¢ë᮪¨© ' ,13,10
db 'computer ª®¬¯ìîâ¥à, ª®¬¯ìîâ¥à­ë© ' ,13,10
db 'exist áãé¥á⢮¢ âì ' ,13,10
db 'file ¨­ä)ä ©«, ä ©«®¢ë© ' ,13,10
db 'sob à뤠âì, à뤠­¨¥ ' ,13,10
db 'island ®áâ஢ ' ,13,10
db 'precious ¤à £®æ¥­­ë© ' ,13,10
db 'button ª­®¯ª  ' ,13,10
db 'howl ॢ¥âì, ॢ ' ,13,10
db 'member ç«¥­, ¨­ä) ¢â®)í«¥¬¥­â, ¢®¥­)ãç áâ­¨ª ' ,13,10
db 'cheerful ¡®¤àë© ' ,13,10
db 'steel áâ «ì, áâ «ì­®© ' ,13,10
db 'affair ¤¥«®, ஬ ­ ' ,13,10
db 'blaze £®à¥âì, ᢥઠâì, ¯« ¬ï ' ,13,10
db 'design ࠧࠡ â뢠âì, ¢®¥­)ᮧ¤ ¢ âì, ¯à®¥ªâ, ࠧࠡ®âª , ¯à®¥ªâë©, à áç¥â­ë© ' ,13,10
db 'arrow áâ५ , ¨­ä)áâ५ª  ' ,13,10
db 'beam «ãç, â¥å­)¡¨¬á, «ã祢®© ' ,13,10
db 'devil ¤ì« ' ,13,10
db 'load § £à㦠âì, ­ £à㧪 , ¨­ä)§ £à㧪  ' ,13,10
db 'shiver ¤à®¦ âì, ¤à®¦ì ' ,13,10
db 'blast ¢§à뢠âì, ¢§àë¢, ¯®àë¢ ' ,13,10
db 'brush ç¨áâ¨âì, é¥âª  ' ,13,10
db 'influence ¢«¨ïâì, ¢«¨ï­¨¥ ' ,13,10
db 'suspect ¯®¤®§à¥¢ âì, ¯®¤®§à¥¢ ¥¬ë©, ¯®¤®§à¨â¥«ì­ë© ' ,13,10
db 'anywhere ¢¥§¤¥, ­¨£¤¥ ' ,13,10
db 'determine ®¯à¥¤¥«ïâì, ®¯à¥¤¥«¥­¨¥ ' ,13,10
db 'funny áâà ­­ë© ' ,13,10
db 'goblin £­®¬ ' ,13,10
db 'murder 㡨¢ âì, 㡨©á⢮ ' ,13,10
db 'solid ⢥म¥ ⥫®, ⢥à¤ë©, ¯à®ç­ë© ' ,13,10
db 'bloody ªà®¢ ¢ë© ' ,13,10
db 'giant £¨£ ­â, £¨£ ­â᪨©' ,13,10
db 'growl àëç âì, àëç ­¨¥' ,13,10
db 'rag âàﯪ ' ,13,10
db 'sick ¡®«ì­®© ',13,10
db 13,10
/programs/other/outdated/dictionary
Property changes:
Added: tsvn:logminsize
+5
\ No newline at end of property
/programs/other/outdated/imgview/MCSMEMM.H
0,0 → 1,28
//
 
struct MemBlock
{
Dword Size;
Dword Addr;
MemBlock *Next;
MemBlock *Previous;
};
 
 
#define INITIALQUEUESIZE (32 * 4)
 
#define FALSE 0
#define TRUE -1
 
#define MB_FREE 0
#define MB_USER 1
 
#define SIZE_ALIGN 4
 
 
 
Byte *allocmem( Dword reqsize );
Dword freemem( void *vaddress );
 
 
 
/programs/other/outdated/imgview/STDARG.H
0,0 → 1,163
/***
*stdarg.h - defines ANSI-style macros for variable argument functions
*
* Copyright (c) 1985-1997, Microsoft Corporation. All rights reserved.
*
*Purpose:
* This file defines ANSI-style macros for accessing arguments
* of functions which take a variable number of arguments.
* [ANSI]
*
* [Public]
*
****/
 
#if _MSC_VER > 1000
#pragma once
#endif
 
#ifndef _INC_STDARG
#define _INC_STDARG
 
#if !defined(_WIN32) && !defined(_MAC)
#error ERROR: Only Mac or Win32 targets supported!
#endif
 
 
#ifdef _MSC_VER
/*
* Currently, all MS C compilers for Win32 platforms default to 8 byte
* alignment.
*/
#pragma pack(push,8)
#endif /* _MSC_VER */
 
#ifdef __cplusplus
extern "C" {
#endif
 
 
 
#ifndef _VA_LIST_DEFINED
#ifdef _M_ALPHA
typedef struct {
char *a0; /* pointer to first homed integer argument */
int offset; /* byte offset of next parameter */
} va_list;
#else
typedef char * va_list;
#endif
#define _VA_LIST_DEFINED
#endif
 
#ifdef _M_IX86
 
 
#define _INTSIZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )
 
#define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) )
#define va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )
#define va_end(ap) ( ap = (va_list)0 )
 
#elif defined(_M_MRX000)
 
 
/* Use these types and definitions if generating code for MIPS */
 
#define va_start(ap,v) ap = (va_list)&v + sizeof(v)
#define va_end(list)
#define va_arg(list, mode) ((mode *)(list =\
(char *) ((((int)list + (__builtin_alignof(mode)<=4?3:7)) &\
(__builtin_alignof(mode)<=4?-4:-8))+sizeof(mode))))[-1]
 
/* +++++++++++++++++++++++++++++++++++++++++++
Because of parameter passing conventions in C:
use mode=int for char, and short types
use mode=double for float types
use a pointer for array types
+++++++++++++++++++++++++++++++++++++++++++ */
 
 
#elif defined(_M_ALPHA)
 
 
/* Use these types and definitions if generating code for ALPHA */
 
/*
* The Alpha compiler supports two builtin functions that are used to
* implement stdarg/varargs. The __builtin_va_start function is used
* by va_start to initialize the data structure that locates the next
* argument. The __builtin_isfloat function is used by va_arg to pick
* which part of the home area a given register argument is stored in.
* The home area is where up to six integer and/or six floating point
* register arguments are stored down (so they can also be referenced
* by a pointer like any arguments passed on the stack).
*/
 
extern void * __builtin_va_start(va_list, ...);
 
#ifdef _CFRONT
#define __builtin_isfloat(a) __builtin_alignof(a)
#endif
 
#define va_start(list, v) __builtin_va_start(list, v, 1)
#define va_end(list)
#define va_arg(list, mode) \
( *( ((list).offset += ((int)sizeof(mode) + 7) & -8) , \
(mode *)((list).a0 + (list).offset - \
((__builtin_isfloat(mode) && (list).offset <= (6 * 8)) ? \
(6 * 8) + 8 : ((int)sizeof(mode) + 7) & -8) \
) \
) \
)
 
#elif defined(_M_PPC)
 
/* Microsoft C8 front end (used in Motorola Merged compiler) */
/* bytes that a type occupies in the argument list */
#define _INTSIZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )
/* return 'ap' adjusted for type 't' in arglist */
#define _ALIGNIT(ap,t) \
((((int)(ap))+(sizeof(t)<8?3:7)) & (sizeof(t)<8?~3:~7))
 
#define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) )
#define va_arg(ap,t) ( *(t *)((ap = (char *) (_ALIGNIT(ap, t) + _INTSIZEOF(t))) - _INTSIZEOF(t)) )
#define va_end(ap) ( ap = (va_list)0 )
 
#elif defined(_M_M68K)
#define _INTSIZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )
 
#define va_start(ap,v) ( ap = (va_list)&v + (sizeof(v) < sizeof(int) ? sizeof(v) : _INTSIZEOF(v)) )
#define va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )
#define va_end(ap) ( ap = (va_list)0 )
 
#elif defined(_M_MPPC)
#define _INTSIZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )
 
#define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) )
#define va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )
#define va_end(ap) ( ap = (va_list)0 )
 
#else
 
/* A guess at the proper definitions for other platforms */
 
#define _INTSIZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )
 
#define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) )
#define va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )
#define va_end(ap) ( ap = (va_list)0 )
 
 
#endif
 
 
#ifdef __cplusplus
}
#endif
 
#ifdef _MSC_VER
#pragma pack(pop)
#endif /* _MSC_VER */
 
#endif /* _INC_STDARG */
/programs/other/outdated/imgview/bin/ChangeLog
0,0 → 1,29
Âåðñèÿ 0.08 -
= Óñòàðíåíà îøèáêà: ïðîãðàììà âûëåòàëà ïðè îòêðûòèè íåñóùåñòâóþùåãî ôàéëà
= Óñòàðíåíà îøèáêà: ïðè îòêðûòèè ôàéëà ÷åðåç ïàðàìåòðû, îêíî íå ïîäñòðàèâàëîñü ïîä ðàçìåðû èçîáðàæåíèÿ
 
Âåðñèÿ 0.07 - 05.08.08:
= Èñïðàâëåíà îøèáêà ñ ïîñòîÿííîé ïåðåðèñîâêîé èçîáðàæåíèÿ
= Ïðè îòêðûòèè áîëüøîãî èçîáðàæåíèÿ îêíî íå âûåçæàåò çà ïðåäåëû ýêðàíà (êàñàåòñÿ ýìóëÿòîðà)
= Îïòèìèçàöèÿ êîäà
= Íîâûå èêîíêè äëÿ êíîïîê (25õ25 -> 21õ21)
= Íîâûé ðåæèì îòîáðàæåíèÿ: ïîäãîíÿòü ïîä ðàçìåðû îêíà (ñ ñîõðàíåíèåì ïðîïîðöèé èçîáðàæåíèÿ)
= Ïîäîãíàííîå èçîáðàæåíèå öåíòðèðóåòñÿ
 
Âåðñèÿ 0.05 - 14.07.08:
= Óñòðàíåí áàã ñ èñ÷åçíîâåíèåì ïîëîñ ïðîêðóòêè, è âîîáùå ñêðîëëû ñòàëè þçàáåëüíåé
= Ïðàâèëüíî îòîáðàæàþòñÿ ïåðåâåðíóòûå tga
= Äîáàâëåíû ÷åðíî-áåëûå è 16-òè öâåòíûå bmp
= Èñïðàâëåíèå ìåëêèõ, íå âëèÿþùèõ íà îñíîâíóþ ðàáîòó, îøèáîê
 
Âåðñèÿ 0.04 - 09.07.08:
= Óìåíüøåí ðàçìåð ïðîãðàììû, çà ñ÷åò óäàëåíèÿ îäèíàêîâîãî êîäà.
= Èçîáðàæåíèå íå âûãðóæàåòñÿ äî òåõ ïîð, ïîêà íå áóäåò îòêðûòî íîâîå.
= Äîáàâëåí 16-áèòíûé bmp.
= Èñïðàâëåíà îøèáêà ñ óòå÷êîé ïàìÿòè.
= Òåïåðü ñ ïîìîùüþ ñîîòâåòñòâóþùèõ êíîïîê ìîæíî ïðîñìàòðèâàòü âñå, ïîääåðæèâàåìûå ïðîãðàììîé,
ôàéëû òåêóùåãî êàòàëîãà, íå âûõîäÿ èç ïðîãðàììû.
= Äîáàâëåíà ñòðîêà ñòàòóñà
 
Âåðñèÿ 0.01 - 04.07.08:
= Ïåðâàÿ âåðñèÿ ïðîãðàììû.
/programs/other/outdated/imgview/bin/readme
0,0 → 1,26
ImageView v 0.07
--------------------------------------------------------------
 
Îïèñàíèå
========
Ýòà ïðîãðàììà ïðåäíàçíà÷åíà äëÿ óäîáíîãî ïðîñìîòðà ãðàôè÷åñêèõ
ôàéëîâ. Ïîääåðæèâàåìûå ôîðìàòû: bmp (áåç ñæàòèÿ), pcx (òîëüêî
256-öâåòíûå), tga (íå âñå). Ïîääåðæèâàåò çàïóñê ñ ïàðàìåòðàìè,
ïîýòîìó ìîæíî ñäåëàòü â KFAR àññîöèàöèè ñ ñîîòâåòñòâóþùèìè
ôàéëàìè.
 
 
Èíòåðôåéñ
=========
Ïðîãðàììà èìååò èíòóèòèâíî ïîíÿòíûé èíòåðôåéñ.  âåðõíåé ÷àñòè
îêíà ðàñïîëîæåíà ïàíåëü óïðàâëÿþùèõ êíîïîê. Âîò èõ íàçíà÷åíèå
(ñëåâà íàïðàâî): îòêðûòü ôàéë, ïåðåéòè ê ïðåäûäóùèìó ôàéëó â
êàòàëîãå, ïåðåéòè ê ñëåäóþùåìó ôàéëó â êàòàëîãå, ïåðåêëþ÷èòü
ðåæèì ïðîñìîòðà. Âíèçó îêíà èìååòñÿ ñòðîêà ñîñòîÿíèÿ, îòîáðà-
æàþùàÿ èìÿ òåêóùåãî ôàéëà, åãî íîìåð â êàòàëîãå è îáùåå ÷èñëî
ïîääåðæèâàåìûõ ôàéëîâ â êàòàëîãå.
 
 
Sh@dy 05.08.08
alex_megasoft@mail.ru
http://artech.org.ru/
/programs/other/outdated/imgview/bin
Property changes:
Added: tsvn:logminsize
+5
\ No newline at end of property
/programs/other/outdated/imgview/compile.bat
0,0 → 1,6
@echo off
@cl /c /O2 /nologo main.cpp kosSyst.cpp mcsmemm.cpp formats\pcx.cpp formats\bmp.cpp formats\tga.cpp dlgopen.cpp
@link /nologo /entry:crtStartUp /subsystem:native /base:0 /fixed /align:16 /nodefaultlib main.obj kosSyst.obj mcsmemm.obj pcx.obj bmp.obj tga.obj dlgopen.obj
@tools\pe2kos main.exe imgview.kos PARAM
@erase main.obj,kosSyst.obj,mcsmemm.obj,pcx.obj,bmp.obj,tga.obj,KosFile.obj,main.exe,dlgopen.obj
pause
/programs/other/outdated/imgview/dlgopen.cpp
0,0 → 1,107
#include "kosSyst.h"
 
char* DialogOpenFile(void (*draw)())
{
sProcessInfo proc;
kosFileInfo fi;
char param[6];
int i;
Dword pID,msg_num=0;
char path[1040];
Byte* pPath=(Byte*)&path;
//Ïàðàìåòðû çàïóñêà X-TREE
kos_ProcessInfo(&proc,-1);
pID=proc.processInfo.PID;
for(i=3;i!=-1;i--)
{
param[i]=(char)('0'+(pID % 10));
pID=pID/10;
}
param[4]=(char)0x20;
param[5]='O';
param[6]=(char)0;
//IPC
((Dword*)pPath)[0] = 0;
((Dword*)pPath)[1] = 8;
Dword retval;
__asm
{
mov eax,60
mov ebx,1
mov ecx,pPath
mov edx,1040
int 40h
}
 
sprintf(fi.fileURL,"/sys/sysxtree");
fi.rwMode = 7;
fi.OffsetLow = 0;
fi.OffsetHigh = (Dword)param;
fi.dataCount = 0;
fi.bufferPtr = 0;
int dlg_pID=kos_FileSystemAccess(&fi);
if (dlg_pID<=0) return 0;
//kos_SetMaskForEvents(0x47);
kos_SetMaskForEvents(0x67);
//draw();
Dword btnID;
Byte keyCode;
for(;;)
{
get_next_event:
//Ñîáûòèÿ
switch (kos_WaitForEvent(50))
{
case 1:
draw();
break;
case 2:
kos_GetKey(keyCode);
break;
case 3:
kos_GetButtonID(btnID);
break;
case 7:
if (msg_num==0)
{
((Dword*)pPath)[0] = 0;
((Dword*)pPath)[1] = 8;
((Dword*)pPath)[2] = 0;
((Dword*)pPath)[3] = 0;
((Dword*)pPath)[4] = 0;
msg_num=1;
draw();
} else {
return (char*)pPath+16;
}
break;
default:
//Æèâ ëè åùå X-TREE?
if (msg_num)
{
int proc_count=kos_ProcessInfo(&proc,-1);
for(i=1;i<=proc_count;i++)
{
kos_ProcessInfo(&proc,i);
if (proc.processInfo.PID==dlg_pID)
{
if (proc.processInfo.slot_state==9)
{
return 0;
} else {
goto get_next_event;
}
}
}
return 0;
}
break;
}
}
return 0;
}
/programs/other/outdated/imgview/dlgopen.h
0,0 → 1,0
char* DialogOpenFile(void (*draw)());
/programs/other/outdated/imgview/formats/bmp.cpp
0,0 → 1,122
#include "..\kosSyst.h"
#include "bmp.h"
 
int BMPFile::LoadBMPFile(Byte* filebuff, Dword filesize)
{
Dword offset;
 
memcpy((Byte*)&Bmp_head,(Byte*)filebuff,sizeof(tagBITMAPFILEHEADER));
memcpy((Byte*)&Info_head,(Byte*)filebuff+14,sizeof(tagBITMAPINFOHEADER));
 
width=Info_head.biWidth;
height=Info_head.biHeight;
offset=(Dword)Bmp_head.bfOffbits;
 
int state=0;
if (Bmp_head.bfType==0x4d42 && !Info_head.biCompression)
{
Byte* cBuffer;
Byte* pImg;
Byte* pPal;
Dword x,y;
Byte r;
Dword s,p;
Dword cWidth;
int i;
buffer=kos_GetMemory(width*height*3);
pImg=filebuff+offset;
pPal=filebuff+53;
int align_bytes = (4 - ((width * 3) % 4)) % 4;
Dword bpp = Info_head.biBitCount;
switch(Info_head.biBitCount)
{
/* 16,24,32-bit decoding */
case 32:
case 24:
case 16:
for(y=height-1;y!=-1;y--)
{
for(x=0;x<width;x++)
{
cBuffer=buffer+(y*width*3)+x*3;
if (Info_head.biBitCount==16)
{
*(cBuffer+0)=(Byte)((*(Word*)(pImg)) & 31)<<3;
*(cBuffer+1)=(Byte)((*(Word*)(pImg)>>5) & 31)<<3;
*(cBuffer+2)=(Byte)((*(Word*)(pImg)>>10) & 31)<<3;
} else {
*(cBuffer+0)=*(pImg+0);
*(cBuffer+1)=*(pImg+1);
*(cBuffer+2)=*(pImg+2);
}
pImg=pImg+Info_head.biBitCount/8;
}
pImg=pImg+align_bytes;
}
break;
/* 8-bit decoding */
case 8:
for(y=height-1;y!=-1;y--)
{
for(x=0;x<width;x++)
{
r=*(pImg); pImg++;
cBuffer=buffer+(y*width*3)+x*3;
*(cBuffer+0)=(Byte)(pPal[r*4+1]);
*(cBuffer+1)=(Byte)(pPal[r*4+2]);
*(cBuffer+2)=(Byte)(pPal[r*4+3]);
}
}
break;
/* 1,4-bit decode */
case 4:
case 1:
for(y=height-1;y!=-1;y--)
{
x=0;
while(x<width-1)
{
s=*(Dword*)(pImg);
pImg=pImg+4;
__asm
{
mov eax,s
bswap eax
mov s,eax
}
for(i=0;i<32/bpp;i++)
{
if (x>=width) break;
__asm
{
mov eax,s
mov ecx,bpp
rol eax,cl
mov s,eax
mov ebx,1
shl ebx,cl
dec ebx
and eax,ebx
mov p,eax
}
cBuffer=buffer+(y*width*3)+x*3;
*(cBuffer+0)=(Byte)(pPal[p*4+1]);
*(cBuffer+1)=(Byte)(pPal[p*4+2]);
*(cBuffer+2)=(Byte)(pPal[p*4+3]);
x++;
}
}
}
break;
default:
state=1;
break;
}
} else {
state=1;
}
return state;
}
/programs/other/outdated/imgview/formats/bmp.h
0,0 → 1,45
#pragma pack(push, 1)
typedef struct tagBITMAPFILEHEADER
{
Word bfType; //òèï ôàéëà (äëÿ áèòîâîãî îáðàçà - BM)
Dword bfSize; //ðàçìåð ôàéëà â dword
Word bfReserved1; //íå èñïîëüçóåòñÿ
Word bfReserved2; //íå èñïîëüçóåòñÿ
Dword bfOffbits; //ñìåùåíèå äàííûõ áèòîâîãî îáðàçà îò çàãîëîâêà â áàéòàõ
} tagBITMAPFILEHEADER;
 
typedef struct tagBITMAPINFOHEADER
{
Dword biSize; //÷èñëî áàéò, çàíèìàåìûõ ñòðóêòóðîé BITMAPINFOHEADER
Dword biWidth; //øèðèíà áèòîâîãî îáðàçà â ïèêñåëàõ
Dword biHeight; //âûñîòà áèòîâîãî îáðàçà â ïèêñåëàõ
Word biPlanes; //÷èñëî áèòîâûõ ïëîñêîñòåé óñòðîéñòâà
Word biBitCount; //÷èñëî áèòîâ íà ïèêñåëü
Dword biCompression; //òèï ñæàòèÿ
Dword biSizeImage; //ðàçìåð êàðòèíêè â áàéòàõ
Dword biXPelsPerMeter; //ãîðèçîíòàëüíîå ðàçðåøåíèå óñòðîéñòâà, ïèêñåë/ì
Dword biYPelPerMeter; //âåðòèêàëüíîå ðàçðåøåíèå óñòðîéñòâà, ïèêñåë/ì
Dword biClrUsed; //÷èñëî èñïîëüçóåìûõ öâåòîâ
Dword biClrImportant; //÷èñëî "âàæíûõ" öâåòîâ
} tagBITMAPINFOHEADER;
 
typedef struct tagRGBQUAD
{
Byte rgbBlue;
Byte rgbGreen;
Byte rgbRed;
Byte rgbReserved;
} tagRGBQUAD;
#pragma pack(pop)
 
class BMPFile
{
protected:
tagBITMAPFILEHEADER Bmp_head;
tagBITMAPINFOHEADER Info_head;
public:
Dword width;
Dword height;
Byte* buffer;
int BMPFile::LoadBMPFile(Byte* filebuff, Dword filesize);
};
/programs/other/outdated/imgview/formats/pcx.cpp
0,0 → 1,55
#include "..\kosSyst.h"
#include "pcx.h"
 
int PCXFile::LoadPCXFile(Byte* filebuff, Dword filesize)
{
memcpy((Byte*)&Pcx_head,(Byte*)filebuff,sizeof(PCXHeader));
 
int state=0;
if (Pcx_head.bManufacturer==0x0a && Pcx_head.bVersion==0x05)
{
width=Pcx_head.dwWidth-Pcx_head.dwX+1;
height=Pcx_head.dwHeight-Pcx_head.dwY+1;
buffer=kos_GetMemory(width*height*3);
Byte* pPal=filebuff+filesize-768;
Byte* pImg=filebuff+128;
Byte* cBuffer=(Byte*)buffer;
if (Pcx_head.bNPlanes==1)
{
/* 8-bit decoding */
Dword y,i;
Byte cur_byte,counter;
Dword cWidth;
for(y=0;y<height;y++)
{
cWidth=width;
while(cWidth!=0)
{
cur_byte=*(pImg); pImg++;
counter=1;
if (cur_byte>=192)
{
counter=(cur_byte & 0x3F);
cur_byte=*(pImg); pImg++;
}
for(i=0;i<counter;i++)
{
*(cBuffer+0)=(pPal[cur_byte*3+0]);
*(cBuffer+1)=(pPal[cur_byte*3+1]);
*(cBuffer+2)=(pPal[cur_byte*3+2]);
cBuffer=cBuffer+3;
cWidth--;
}
}
}
} else if (Pcx_head.bNPlanes==3) {
/* 24-bit decoding */
state=1;
}
} else {
state=1;
}
return state;
}
/programs/other/outdated/imgview/formats/pcx.h
0,0 → 1,31
#pragma pack(push, 1)
typedef struct PCXHeader
{
Byte bManufacturer;
Byte bVersion;
Byte bEncoding;
Byte bBPP;
Word dwX;
Word dwY;
Word dwWidth;
Word dwHeight;
Word dwHRes;
Word dwVRes;
Byte colormap[48];
Byte bReserved;
Byte bNPlanes;
Word iBPL;
Word iPalInfo;
} PCXHeader;
#pragma pack(pop)
 
class PCXFile
{
protected:
PCXHeader Pcx_head;
public:
Word width;
Word height;
Byte* buffer;
int LoadPCXFile(Byte* filebuff, Dword filesize);
};
/programs/other/outdated/imgview/formats/tga.cpp
0,0 → 1,103
#include "..\kosSyst.h"
#include "tga.h"
 
int TGAFile::LoadTGAFile(Byte* filebuff, Dword filesize)
{
memcpy((Byte*)&Tga_head,(Byte*)filebuff,sizeof(sTGAHeader));
width=Tga_head.Width;
height=Tga_head.Height;
Byte* pImg=filebuff+sizeof(sTGAHeader)+Tga_head.BytesInIdentField+Tga_head.ColorMapOrigin+(Tga_head.ColorMapLength*Tga_head.ColorMapEntrySize/8);
Byte* pPal=filebuff+sizeof(sTGAHeader)+Tga_head.BytesInIdentField+Tga_head.ColorMapOrigin;
Byte* cBuffer;
int x,y;
Byte r;
int sm;
int state=1;
if (Tga_head.ImageDescByte >= 32) sm=height-1; else sm=0;
// Èçîáðàæåíèå ñ ïàëèòðîé (ïàëèòðà 24 èëè 32-áèòíàÿ)
if (Tga_head.ImageTypeCode==1)
{
if (Tga_head.ColorMapEntrySize>=24)
{
buffer=kos_GetMemory(width*height*3);
int bpp=Tga_head.ColorMapEntrySize/8;
for(y=height-1;y!=-1;y--)
{
for(x=0;x<width;x++)
{
r=*(pImg); pImg++;
cBuffer=buffer+(abs(sm-y)*width*3)+x*3;
*(cBuffer+0)=(Byte)(pPal[r*bpp+1]);
*(cBuffer+1)=(Byte)(pPal[r*bpp+2]);
*(cBuffer+2)=(Byte)(pPal[r*bpp+3]);
}
}
state=0;
}
}
// ÖÂåòíîå èçîáðàæåíèå áåç ñæàòèÿ è ïàëèòðû
else if (Tga_head.ImageTypeCode==2)
{
switch (Tga_head.ImagePixelSize)
{
case 32:
case 24:
buffer=kos_GetMemory(width*height*3);
for(y=height-1;y!=-1;y--)
{
for(x=0;x<width;x++)
{
cBuffer=buffer+(abs(sm-y)*width*3)+x*3;
*(cBuffer+0)=*(pImg+0);
*(cBuffer+1)=*(pImg+1);
*(cBuffer+2)=*(pImg+2);
pImg=pImg+Tga_head.ImagePixelSize/8;
}
}
state=0;
break;
case 16:
buffer=kos_GetMemory(width*height*3);
for(y=height-1;y!=-1;y--)
{
for(x=0;x<width;x++)
{
cBuffer=buffer+(abs(sm-y)*width*3)+x*3;
*(cBuffer+0)=(Byte)((*(Word*)(pImg)) & 31)<<3;
*(cBuffer+1)=(Byte)((*(Word*)(pImg)>>5) & 31)<<3;
*(cBuffer+2)=(Byte)((*(Word*)(pImg)>>10) & 31)<<3;
pImg=pImg+2;
}
}
state=0;
break;
}
}
// Ìîíîõðîìíîå èçîáðàæåíèå
else if (Tga_head.ImageTypeCode==3)
{
switch (Tga_head.ImagePixelSize)
{
case 8:
buffer=kos_GetMemory(width*height*3);
for(y=height-1;y!=-1;y--)
{
for(x=0;x<width;x++)
{
cBuffer=buffer+(abs(sm-y)*width*3)+x*3;
*(cBuffer+0)=*(pImg);
*(cBuffer+1)=*(pImg);
*(cBuffer+2)=*(pImg);
pImg++;
}
}
state=0;
break;
}
}
return state;
}
/programs/other/outdated/imgview/formats/tga.h
0,0 → 1,37
#pragma pack(push, 1)
typedef struct sTGAHeader
{
Byte BytesInIdentField;
Byte ColorMapType; // Color map type - 0 [no map] 1 [256 entry]
Byte ImageTypeCode; /* Image type
[0] No image data included
[1] Uncompressed color map image [4,6]
[2] Uncompressed RGB Image [16,24]
[3] Uncompressed Black & White
[9] RLE Color map image
[10] RLE RGB Image
[11] RLE Black & White
[32 | 33] compressed color map by Huffman, Delta, RLE
*/
Word ColorMapOrigin; // Offset of first color map entry
Word ColorMapLength; // Number of color map entries
Byte ColorMapEntrySize; // Number of bits per color map entries
Word XOrigin;
Word YOrigin;
Word Width;
Word Height;
Byte ImagePixelSize; // BPP
Byte ImageDescByte; // Flags
} sTGAHeader;
#pragma pack(pop)
 
class TGAFile
{
protected:
sTGAHeader Tga_head;
public:
Word width;
Word height;
Byte* buffer;
int LoadTGAFile(Byte* filebuff, Dword filesize);
};
/programs/other/outdated/imgview/formats
Property changes:
Added: tsvn:logminsize
+5
\ No newline at end of property
/programs/other/outdated/imgview/gfx.cpp
0,0 → 1,215
RGB tbOpen[] = { /* 21x21 */
0xEFEBEF,0xBDCDE1,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0xBDCDE1,0xEFEBEF,
0xBDCDE1,0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,0xBDCDE1,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x8491A4,0x8491A4,0x8193B1,0xB2B8C3,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x607391,0xB2B8C3,0xEFEBEF,0xEFEBEF,0x8491A4,0xC3C9D3,0x607391,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xD4D3CC,0xB0A890,0xB0A890,0xB0A890,0xB0A890,0xB0A890,0xCAC4B6,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xC3C9D3,0x4C658B,0x4C658B,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xB0A890,0xEBD5A0,0xFCF0B0,0xFCF0B0,0xFAE8A0,0xFAE8A0,0xB0A191,0xCAC4B6,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x4C658B,0x4C658B,0x4C658B,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xB0A191,0xF5EBA4,0xFCF0B0,0xFAE8A0,0xFAE8A0,0xFAE8A0,0xF9D370,0xA19B96,0xA09880,0xA09880,0xA09080,0x8C8C8C,0x908770,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xB0A191,0xFAE8A0,0xFAE8A0,0xFAE8A0,0xFAE8A0,0xFEE080,0xFBD460,0xFBD460,0xFBD460,0xFBD460,0xFBD460,0xFBD460,0x908770,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xA19B96,0xFAE8A0,0xFAE8A0,0xFAE8A0,0xC0B200,0xC0B200,0xB0A890,0xB0A890,0xB0A191,0xB0A191,0xA09880,0xA09880,0xA09080,0xA09080,0x828282,0x908770,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xA09880,0xF5E190,0xFAE8A0,0xEED483,0xB0A890,0xFEE080,0xFEE080,0xFEE080,0xFEE080,0xFEE080,0xFEE080,0xFEE080,0xF9D370,0xF9D370,0xE0985D,0xA09080,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xA09880,0xF5E190,0xF5E190,0xB0A890,0xC0B200,0xF9D370,0xFBD460,0xFBD460,0xFBD460,0xFBD460,0xF2D050,0xF5C34E,0xE8B544,0xEAAA00,0x706850,0xCCCBCB,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xA09080,0xEED483,0xEED483,0xB0A890,0xFEE080,0xF9D370,0xFBD460,0xFBD460,0xFBD460,0xF5C34E,0xE8B544,0xE8B544,0xEAAA00,0x896C22,0x908770,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xA09080,0xEED483,0xB0A890,0xD0C385,0xF9D370,0xFBD460,0xFBD460,0xF5C34E,0xF5C34E,0xE8B544,0xEAAA00,0xEAAA00,0xC68E0F,0x614C00,0xCCCBCB,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0x828282,0xD0C385,0xB0A890,0xFEE080,0xFBD460,0xF5C34E,0xF5C34E,0xE8B544,0xEAAA00,0xEAAA00,0xEAAA00,0xC68E0F,0x896C22,0x595B59,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0x908770,0xB0A191,0xD0C385,0xD09100,0xD09100,0xD09100,0xC68E0F,0xC68E0F,0xB08010,0xB08010,0xA07820,0x896C22,0x614C00,0xA8ABAC,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0x908770,0x908463,0x807870,0x84704C,0x706050,0x645448,0x444646,0x403730,0x2C2726,0x2C2726,0x12100E,0x12100E,0x12100E,0xEFEEE8,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0xBDCDE1,0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,0xBDCDE1,
0xEFEBEF,0xBDCDE1,0x98AFBE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0xBDCDE1,0xEFEBEF,
};
RGB tbNext[] = { /* 21x21 */
0xEFEBEF,0xBDCDE1,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0xBDCDE1,0xEFEBEF,
0xBDCDE1,0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,0xBDCDE1,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x2D84DA,0x2D84DA,0x2D84DA,0x2D84DA,0x2D84DA,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x2D84DA,0x2D84DA,0x4EB6FF,0x2DA8FF,0x14A0FF,0x0200FF,0x0090F6,0x0056BC,0x0054BA,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x2D84DA,0x62BBFE,0x2DA8FF,0x2DA8FF,0x0200FF,0x0095FB,0x008CF2,0x0087ED,0x007CE1,0x0075DB,0x0049AF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x1E7BD6,0x4EB6FF,0x2DA8FF,0x62BBFE,0x0095FB,0x0090F6,0x0087ED,0x0082E7,0x0082E7,0x007CE1,0x0069CF,0x0066CC,0x2657AF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x1E7BD6,0x14A0FF,0x0200FF,0xFEFFFF,0xA4D4FE,0x0082E7,0x007CE1,0x0075DB,0xFFFFFF,0xBFDBF4,0x0066CC,0x0066CC,0x004DB3,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0x0667CA,0xA9CFF,0x0095FB,0x0090F6,0xFEFFFF,0xFDFEFF,0x8BB5E7,0x006FD5,0x0069CF,0xFFFFFF,0xBFDBF4,0x0066CC,0x0066CC,0x0064CA,0x0056BC,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0x006FD5,0x0095FB,0x008CF2,0x0082E7,0xFFFFFF,0xFEFFFF,0xFDFEFF,0x5DA2E2,0x0066CC,0xFFFFFF,0xBFDBF4,0x0066CC,0x0066CC,0x0066CC,0x0056BC,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0x006FD5,0x0087ED,0x007CE1,0x0075DB,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFD,0x1E7BD6,0xFFFFFF,0xBFDBF4,0x0066CC,0x0066CC,0x0066CC,0x0056BC,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0x006FD5,0x007CE1,0x006FD5,0x0069CF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0x5DA2E2,0x0064CA,0xFFFFFF,0xBFDBF4,0x0066CC,0x0066CC,0x0064CA,0x0056BC,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0x006FD5,0x0069CF,0x0066CC,0x0066CC,0xFFFFFF,0xEBF5FE,0x2D84DA,0x0066CC,0x0066CC,0xFFFFFF,0xBFDBF4,0x0066CC,0x0066CC,0x0053B9,0x0056BC,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x004DB3,0x0066CC,0x0066CC,0xFFFFFD,0x2D84DA,0x0066CC,0x0066CC,0x0066CC,0xFFFFFF,0xBFDBF4,0x0066CC,0x0066CC,0x1049A9,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x004DB3,0x0000C0,0x0066CC,0x0066CC,0x0064CA,0x0066CC,0x0066CC,0x0066CC,0x0066CC,0x0066CC,0x0066CC,0x004DB3,0x0046AC,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x2657AF,0x0056BC,0x0066CC,0x0066CC,0x0066CC,0x0066CC,0x0066CC,0x0066CC,0x0066CC,0x0049AF,0x0046AC,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x004DB3,0x004DB3,0x0053B9,0x0000C0,0x0000C0,0x0000C0,0x004DB3,0x2657AF,0x0046AC,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x0046AC,0x0046AC,0x0046AC,0x0046AC,0x0046AC,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0xBDCDE1,0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,0xBDCDE1,
0xEFEBEF,0xBDCDE1,0x98AFBE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0xBDCDE1,0xEFEBEF,
};
RGB tbPrev[] = { /* 21x21 */
0xEFEBEF,0xBDCDE1,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0xBDCDE1,0xEFEBEF,
0xBDCDE1,0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,0xBDCDE1,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x2D84DA,0x2D84DA,0x2D84DA,0x2D84DA,0x2D84DA,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x2D84DA,0x2D84DA,0x62BBFE,0x2DA8FF,0x2DA8FF,0x0200FF,0x0095FB,0x0056BC,0x0056BC,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x2D84DA,0x62BBFE,0x4EB6FF,0x2DA8FF,0x14A0FF,0x0200FF,0x0090F6,0x0087ED,0x0082E7,0x007CE1,0x004DB3,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x1E7BD6,0x62BBFE,0x2DA8FF,0x2DA8FF,0x0090F6,0x0095FB,0x008CF2,0x0082E7,0x007CE1,0x1E7BD6,0x0069CF,0x0066CC,0x1049A9,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x1E7BD6,0x2DA8FF,0xA9CFF,0xCAE6FF,0xFFFFFF,0x0087ED,0x007CE1,0x0075DB,0x5DA2E2,0xFDFEFF,0x0066CC,0x0066CC,0x0056BC,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0x0064CA,0x14A0FF,0x0200FF,0x0095FB,0xBDDEFF,0xFFFFFF,0x007CE1,0x006FD5,0x5DA2E2,0xFFFFFF,0xFFFFFF,0x0066CC,0x0066CC,0x0066CC,0x0056BC,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0x0064CA,0x0095FB,0x008CF2,0x0087ED,0xBFDBF4,0xFDFEFF,0x006FD5,0x2D84DA,0xFFFFFF,0xFFFFFF,0xFFFFFF,0x0066CC,0x0066CC,0x0066CC,0x0056BC,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0x0000C0,0x0087ED,0x0082E7,0x007CE1,0xBFDBF4,0xFFFFFF,0x1E7BD6,0xEBF5FE,0xFFFFFF,0xFFFFFF,0xFFFFFF,0x0066CC,0x0066CC,0x0066CC,0x0056BC,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0x0046AC,0x007CE1,0x0075DB,0x0069CF,0xBFDBF4,0xFFFFFF,0x1070CF,0x2D84DA,0xFFFFFD,0xFFFFFF,0xFFFFFF,0x0066CC,0x0066CC,0x0066CC,0x0056BC,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0x0046AC,0x0066CC,0x0066CC,0x0066CC,0xBFDBF4,0xFFFFFF,0x0066CC,0x1070CF,0x2D84DA,0xFFFFFF,0xFFFFFF,0x0066CC,0x0066CC,0x0062C8,0x0056BC,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x004DB3,0x0066CC,0x0066CC,0xBFDBF4,0xFFFFFF,0x0066CC,0x0066CC,0x1070CF,0x2D84DA,0xFFFFFF,0x0066CC,0x0066CC,0x004DB3,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x0046AC,0x0000C0,0x0066CC,0x0066CC,0x0066CC,0x0066CC,0x0066CC,0x0066CC,0x0066CC,0x438DD9,0x0066CC,0x0000C0,0x0056BC,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x2657AF,0x0000C0,0x0066CC,0x0066CC,0x0066CC,0x0066CC,0x0066CC,0x0066CC,0x0066CC,0x0000C0,0x0056BC,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x0046AC,0x0046AC,0x0056BC,0x0066CC,0x0066CC,0x0066CC,0x0056BC,0x0046AC,0x0046AC,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x0046AC,0x0046AC,0x0046AC,0x0046AC,0x0046AC,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0xBDCDE1,0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,0xBDCDE1,
0xEFEBEF,0xBDCDE1,0x98AFBE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0xBDCDE1,0xEFEBEF,
};
RGB tbFit[] = { /* 21x21 */
0xEFEBEF,0xBDCDE1,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0xBDCDE1,0xEFEBEF,
0xBDCDE1,0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,0xBDCDE1,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x003399,0x003399,0x003399,0x003399,0x003399,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x003399,0x003399,0x003399,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x003399,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x757DAC,0x757DAC,0x757DAC,0x757DAC,0x757DAC,0x757DAC,0x757DAC,0x757DAC,0x757DAC,0x757DAC,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x757DAC,0x78C9FF,0x78C9FF,0x78C9FF,0x78C9FF,0x78C9FF,0x78C9FF,0x78C9FF,0x78C9FF,0x757DAC,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0x003399,0xEFEBEF,0xEFEBEF,0x757DAC,0xB5E3FF,0x9BD1DC,0xAEDBF7,0xB5E3FF,0xB5E3FF,0xB5E3FF,0xB5E3FF,0xB5E3FF,0x757DAC,0xEFEBEF,0xEFEBEF,0x003399,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0x003399,0x003399,0xEFEBEF,0x757DAC,0xDFE7EE,0x23791E,0x3F0031,0xEBF5FE,0xF3F9FF,0xF3F9FF,0xF3F9FF,0xF3F9FF,0x757DAC,0xEFEBEF,0x10409F,0x003399,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0x003399,0x003399,0x2657AF,0x767DAA,0x5EB541,0x3F0031,0x3F0031,0x5EB541,0xF5F8F3,0x5EB541,0x85CE70,0xFAFCF9,0x757DAC,0x2657AF,0x003399,0x003399,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0x003399,0x003399,0xEFEBEF,0x757DAC,0x5EB541,0x5EC33B,0x5EB541,0x5EB541,0x5EB541,0x5EB541,0x5EB541,0x5EB541,0x757DAC,0xEFEBEF,0x10409F,0x003399,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0x003399,0xEFEBEF,0xEFEBEF,0x757DAC,0x7ED351,0x7ED351,0x7ED351,0x7ED351,0x7ED351,0x7ED351,0x7ED351,0x7ED351,0x757DAC,0xEFEBEF,0xEFEBEF,0x003399,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x757DAC,0x757DAC,0x757DAC,0x7600A6,0x757DAC,0x7600A6,0x757DAC,0x757DAC,0x757DAC,0x757DAC,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x10409F,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x003399,0x003399,0x10409F,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x003399,0x003399,0x003399,0x003399,0x003399,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,
0xBDCDE1,0x94AECE,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0xEFEBEF,0x94AECE,0xBDCDE1,
0xEFEBEF,0xBDCDE1,0x98AFBE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0xBDCDE1,0xEFEBEF,
};
 
RGB arrow_up[] = { /* 15x15 */
0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,
0x94AECE,0xE7E7E7,0xE7E7E7,0xE6E6E6,0xE8E8E8,0xEBEBEB,0xE5E5E5,0xE3E3E3,0xE9E9E9,0xE9E9E9,0xE9E9E9,0xE4E4E4,0xEAEAEA,0xC4C4C4,0x94AECE,
0x94AECE,0xE8E8E8,0xDFDFDF,0xE1E1E1,0xD9D9D9,0xD8D8D8,0xD9D9D9,0xDFDFDF,0xD4D4D4,0xCFCFCF,0xD8D8D8,0xCECECE,0xCECECE,0xB6B6B6,0x94AECE,
0x94AECE,0xEAEAEA,0xE2E2E2,0xDADADA,0xE0E0E0,0xDBDBDB,0xDCDCDC,0xCECECE,0xD6D6D6,0xDADADA,0xD1D1D1,0xCCCCCC,0xCFCFCF,0xB0B0B0,0x94AECE,
0x94AECE,0xE1E1E1,0xE0E0E0,0xDADADA,0xD7D7D7,0xDADADA,0xDBDBDB,0x343434,0xCFCFCF,0xD0D0D0,0xCBCBCB,0xCDCDCD,0xCDCDCD,0xA8A8A8,0x94AECE,
0x94AECE,0xE5E5E5,0xDEDEDE,0xDCDCDC,0xD5D5D5,0xD9D9D9,0x2E2E2E,0x333333,0x333333,0xD0D0D0,0xCFCFCF,0xC9C9C9,0xCACACA,0xB1B1B1,0x94AECE,
0x94AECE,0xE5E5E5,0xDADADA,0xDDDDDD,0xD3D3D3,0x343434,0x343434,0x343434,0x343434,0x343434,0xCBCBCB,0xC8C8C8,0xC8C8C8,0xB5B5B5,0x94AECE,
0x94AECE,0xEAEAEA,0xD7D7D7,0xD1D1D1,0x343434,0x343434,0x343434,0x343434,0x343434,0x343434,0x343434,0xC8C8C8,0xCACACA,0xA8A8A8,0x94AECE,
0x94AECE,0xE3E3E3,0xDCDCDC,0xDCDCDC,0xCDCDCD,0xD0D0D0,0x353535,0x343434,0x303030,0xCDCDCD,0xC0C0C0,0xC7C7C7,0xC6C6C6,0xADADAD,0x94AECE,
0x94AECE,0xEBEBEB,0xCFCFCF,0xCFCFCF,0xD7D7D7,0xD3D3D3,0x2C2C2C,0x383838,0x353535,0xC5C5C5,0xC9C9C9,0xC6C6C6,0xC3C3C3,0xACACAC,0x94AECE,
0x94AECE,0xE6E6E6,0xD2D2D2,0xD4D4D4,0xC9C9C9,0xC8C8C8,0xCECECE,0xC5C5C5,0xC8C8C8,0xC8C8C8,0xC2C2C2,0xC8C8C8,0xBDBDBD,0xAFAFAF,0x94AECE,
0x94AECE,0xE7E7E7,0xCDCDCD,0xCFCFCF,0xD6D6D6,0xCDCDCD,0xCDCDCD,0xCACACA,0xC5C5C5,0xC8C8C8,0xBEBEBE,0xBBBBBB,0xC0C0C0,0xACACAC,0x94AECE,
0x94AECE,0xE9E9E9,0xD0D0D0,0xCDCDCD,0xC5C5C5,0xCACACA,0xC5C5C5,0xC4C4C4,0xC6C6C6,0xC2C2C2,0xC0C0C0,0xC3C3C3,0xC0C0C0,0xAEAEAE,0x94AECE,
0x94AECE,0xC9C9C9,0xB2B2B2,0xACACAC,0xB0B0B0,0xAEAEAE,0xAFAFAF,0xB0B0B0,0xAFAFAF,0xADADAD,0xB0B0B0,0xADADAD,0xABABAB,0xADADAD,0x94AECE,
0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,
};
RGB arrow_right[] = { /* 15x15 */
0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xF1F1F1,0xEAEAEA,0xE8E8E8,0xE1E1E1,0xDEDEDE,0xD9D9D9,0xD9D9D9,0xCFCFCF,0xD1D1D1,0xC9C9C9,0xAFAFAF,0x94AECE,
0x94AECE,0xF3F3F3,0xE2E2E2,0xDFDFDF,0xDFDFDF,0xD9D9D9,0xDBDBDB,0xD8D8D8,0xD6D6D6,0xD3D3D3,0xD5D5D5,0xCFCFCF,0xCFCFCF,0xB3B3B3,0x94AECE,
0x94AECE,0xF3F3F3,0xE0E0E0,0xDBDBDB,0xDEDEDE,0xDADADA,0xD9D9D9,0xD5D5D5,0xD5D5D5,0xD3D3D3,0xCFCFCF,0xD0D0D0,0xCDCDCD,0xB3B3B3,0x94AECE,
0x94AECE,0xF0F0F0,0xDCDCDC,0xE0E0E0,0xD9D9D9,0xD8D8D8,0xD6D6D6,0x333333,0xD3D3D3,0xD0D0D0,0xD1D1D1,0xCBCBCB,0xCACACA,0xB2B2B2,0x94AECE,
0x94AECE,0xF3F3F3,0xDEDEDE,0xD6D6D6,0xD7D7D7,0xD8D8D8,0xD4D4D4,0x353535,0x333333,0xD0D0D0,0xCCCCCC,0xCFCFCF,0xCACACA,0xB3B3B3,0x94AECE,
0x94AECE,0xF2F2F2,0xD7D7D7,0xDBDBDB,0xD8D8D8,0x323232,0x333333,0x313131,0x323232,0x363636,0xC9C9C9,0xC9C9C9,0xC6C6C6,0xB4B4B4,0x94AECE,
0x94AECE,0xF2F2F2,0xD9D9D9,0xD5D5D5,0xD6D6D6,0x343434,0x343434,0x343434,0x343434,0x313131,0x343434,0xC7C7C7,0xC9C9C9,0xB0B0B0,0x94AECE,
0x94AECE,0xF3F3F3,0xD7D7D7,0xD2D2D2,0xD1D1D1,0x343434,0x323232,0x343434,0x343434,0x303030,0xCBCBCB,0xC5C5C5,0xC5C5C5,0xB4B4B4,0x94AECE,
0x94AECE,0xF2F2F2,0xD3D3D3,0xD5D5D5,0xD1D1D1,0xCFCFCF,0xCCCCCC,0x333333,0x323232,0xC9C9C9,0xC5C5C5,0xC5C5C5,0xC3C3C3,0xB0B0B0,0x94AECE,
0x94AECE,0xF2F2F2,0xD3D3D3,0xCECECE,0xCFCFCF,0xCBCBCB,0xCCCCCC,0x343434,0xC7C7C7,0xC8C8C8,0xC3C3C3,0xC1C1C1,0xC2C2C2,0xB3B3B3,0x94AECE,
0x94AECE,0xF2F2F2,0xD0D0D0,0xD0D0D0,0xCCCCCC,0xCBCBCB,0xC9C9C9,0xC7C7C7,0xC6C6C6,0xC4C4C4,0xC4C4C4,0xC1C1C1,0xBEBEBE,0xB1B1B1,0x94AECE,
0x94AECE,0xF2F2F2,0xCFCFCF,0xCACACA,0xCCCCCC,0xC9C9C9,0xC8C8C8,0xC6C6C6,0xC4C4C4,0xC3C3C3,0xC0C0C0,0xC0C0C0,0xBDBDBD,0xB1B1B1,0x94AECE,
0x94AECE,0xF4F4F4,0xAEAEAE,0xB5B5B5,0xB2B2B2,0xB1B1B1,0xB2B2B2,0xB2B2B2,0xB2B2B2,0xB2B2B2,0xB1B1B1,0xB4B4B4,0xB1B1B1,0xB5B5B5,0x94AECE,
0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,
};
RGB arrow_down[] = { /* 15x15 */
0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xF3F3F1,0xF3F3F1,0xF0F0EE,0xF8F8F6,0xF6F6F4,0xEFEFED,0xF5F5F5,0xF1F1F1,0xEEEEEE,0xF4F4F4,0xEEEEEC,0x94AECE,
0x94AECE,0xEBEBEB,0xE6E6E6,0xE0E0E0,0xD9D9D9,0xDADADA,0xD9D9D9,0xD4D4D4,0xD7D7D7,0xD3D3D3,0xD1D1D1,0xD8D8D8,0xCACACA,0xB1B1B1,0x94AECE,
0x94AECE,0xF1F1F1,0xDFDFDF,0xD9D9D9,0xDFDFDF,0xDCDCDC,0xD6D6D6,0xD8D8D8,0xD3D3D3,0xD6D6D8,0xCFCFD1,0xCBCBCB,0xD1D1D1,0xB2B2B2,0x94AECE,
0x94AECE,0xE9E9E9,0xE0E0E0,0xDBDBDB,0xDADADA,0xDCDCDC,0xD4D4D4,0xD7D7D7,0xD2D2D2,0xD1D1D1,0xD0D0D0,0xD0D0D0,0xC9C9C9,0xAEAEAE,0x94AECE,
0x94AECE,0xE3E3E3,0xE0E0E0,0xD3D3D3,0xDBDBDB,0xD3D3D3,0x353535,0x353535,0x2F2F2F,0xD0D0D0,0xC6C6C6,0xCCCCCC,0xCBCBCB,0xB3B3B3,0x94AECE,
0x94AECE,0xDEDEDE,0xDFDFDF,0xD9D9D9,0xD9D9D9,0xCFCFCF,0x343434,0x323232,0x343434,0xD0D0D0,0xCACACA,0xCACACA,0xC5C5C5,0xB1B1B1,0x94AECE,
0x94AECE,0xE1E1E1,0xD6D6D6,0xD4D4D4,0x343434,0x323232,0x333333,0x323232,0x323232,0x333333,0x353535,0xC8C8C8,0xC8C8C8,0xADADAD,0x94AECE,
0x94AECE,0xD7D7D7,0xD4D4D4,0xD3D3D3,0xD3D3D3,0x313131,0x353535,0x333333,0x363636,0x323232,0xCBCBCB,0xBFBFBF,0xC9C9C9,0xB4B4B4,0x94AECE,
0x94AECE,0xD9D9D9,0xD5D5D5,0xD1D1D1,0xD3D3D3,0xD2D2D2,0x333333,0x323232,0x303030,0xC5C5C5,0xCACACA,0xC8C8C8,0xBCBCBC,0xB0B0B0,0x94AECE,
0x94AECE,0xCDCDCD,0xDADADA,0xCFCFCF,0xC9C9C9,0xD3D3D3,0xC9C9C9,0x343434,0xCCCCCC,0xC7C7C7,0xC2C2C2,0xC3C3C3,0xC3C3C3,0xB3B3B3,0x94AECE,
0x94AECE,0xCECECE,0xD1D1D1,0xCFCFCF,0xCFCFCF,0xC8C8C8,0xCBCBCB,0xC6C6C6,0xC6C6C6,0xC7C7C7,0xBEBEBE,0xC3C3C3,0xBDBDBD,0xB1B1B1,0x94AECE,
0x94AECE,0xCCCCCC,0xCCCCCC,0xCCCCCC,0xCCCCCC,0xCACACA,0xC8C8C8,0xC6C6C6,0xC5C5C5,0xC2C2C2,0xC4C4C4,0xBFBFBF,0xB8B8B8,0xB4B4B4,0x94AECE,
0x94AECE,0xB1B1B1,0xB2B2B2,0xB2B2B2,0xB3B3B3,0xB3B3B3,0xB2B2B2,0xB1B1B1,0xB1B1B1,0xB3B3B3,0xAEAEAE,0xAFAFAF,0xBEBEBE,0xA8A8A8,0x94AECE,
0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,
};
RGB arrow_left[] = { /* 15x15 */
0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xE7E7E7,0xE7E7E7,0xE7E7E7,0xE6E6E6,0xE7E7E7,0xE8E8E8,0xE7E7E7,0xE5E5E5,0xE7E7E7,0xE6E6E6,0xCDCDCD,0x94AECE,
0x94AECE,0xE7E7E7,0xE2E2E2,0xE1E1E1,0xDCDCDC,0xDDDDDD,0xD9D9D9,0xDBDBDB,0xD3D3D3,0xD6D6D6,0xD3D3D3,0xD0D0CE,0xD0D0CE,0xABABA9,0x94AECE,
0x94AECE,0xE7E7E7,0xDFDFDF,0xDFDFDF,0xDBDBDB,0xD9D9D9,0xDADADA,0xD2D2D2,0xD8D8D8,0xD2D2D2,0xD0D0D0,0xCFCFCD,0xCCCCCA,0xAEAEAC,0x94AECE,
0x94AECE,0xE9E9E9,0xDEDEDE,0xD8D8D8,0xDEDEDE,0xD7D7D7,0xD6D6D6,0x353535,0xD0D0D0,0xD1D1D1,0xCFCFCF,0xCDCDCD,0xCBCBCB,0xAEAEAE,0x94AECE,
0x94AECE,0xE5E5E5,0xDDDDDD,0xDCDCDC,0xD7D7D7,0xD6D6D6,0x333333,0x333333,0xD0D0D0,0xD0D0D0,0xCCCCCC,0xCBCBCB,0xC8C8CA,0xAEAEB0,0x94AECE,
0x94AECE,0xE7E7E7,0xDADADA,0xD9D9D9,0xD7D7D7,0x353535,0x323232,0x323232,0x343434,0x343434,0xCCCCCC,0xCBCBCB,0xC6C6C6,0xAEAEAE,0x94AECE,
0x94AECE,0xE6E6E6,0xD8D8D8,0xD6D6D6,0x323232,0x333333,0x323232,0x353535,0x323232,0x323232,0xCACACA,0xC7C7C7,0xC7C7C7,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xD6D6D6,0xD4D4D4,0xD2D2D2,0x343434,0x323232,0x353535,0x333333,0x313131,0xC8C8C8,0xC6C6C4,0xC3C3C1,0xAFAFAD,0x94AECE,
0x94AECE,0xE4E4E4,0xD6D6D6,0xD3D3D3,0xD2D2D2,0xCFCFCF,0x343434,0x303030,0xCCCCCC,0xC7C7C7,0xC6C6C6,0xC7C7C5,0xC1C1C1,0xADADAD,0x94AECE,
0x94AECE,0xE9E9E9,0xD1D1D1,0xD0D0D0,0xCECECE,0xCDCDCD,0xCCCCCC,0x343434,0xC5C5C5,0xC7C7C7,0xC4C4C4,0xC0C0C0,0xC3C3C5,0xADADAF,0x94AECE,
0x94AECE,0xE7E7E7,0xD2D2D2,0xD0D0D0,0xCECECE,0xCBCBCB,0xCCCCCC,0xC6C6C6,0xC9C9C9,0xC6C6C6,0xC3C3C3,0xC1C1C1,0xBEBEBE,0xADADAD,0x94AECE,
0x94AECE,0xE7E7E7,0xCFCFCF,0xCCCCCC,0xCDCDCD,0xC9C9C9,0xC9C9C9,0xC7C7C7,0xC4C4C4,0xC0C0C0,0xC2C2C2,0xBDBDBB,0xBCBCBC,0xB1B1B1,0x94AECE,
0x94AECE,0xCDCDCD,0xAEAEAE,0xB0B0B0,0xADADAD,0xAFAFAF,0xACACAC,0xAEAEAE,0xAFAFAF,0xAFAFAF,0xADADAD,0xB0B0AE,0xADADAD,0xADADAD,0x94AECE,
0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,
};
RGB scroll_v[] = { /* 15x35 */
0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,
0x94AECE,0xEFEBEF,0xEFEBEF,0xE5E5E5,0xE8E8E8,0xE7E7E7,0xE7E7E7,0xE7E7E7,0xE5E5E5,0xE5E5E5,0xE2E2E2,0xE7E7E7,0xEAEAEA,0xC1C1C1,0x94AECE,
0x94AECE,0xD1D1D1,0xCBCBCB,0xC9C9C9,0xC9C9C9,0xC7C7C7,0xC7C7C7,0xC7C7C7,0xC6C6C6,0xC6C6C6,0xCACACA,0xC7C7C7,0xC9C9C9,0xAFAFAF,0x94AECE,
0x94AECE,0xEDEDED,0xE8E8E8,0xE6E6E6,0xE8E8E8,0xE7E7E7,0xE8E8E8,0xE9E9E9,0xE8E8E8,0xECECEC,0xE7E7E7,0xE2E2E2,0xE5E5E5,0xCBCBCB,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE7E7E7,0xE0E0E0,0xDCDCDC,0xDADADA,0xD5D5D5,0xD1D1D1,0xCECECE,0xCBCBCB,0xC3C3C3,0xC3C3C3,0xBABABA,0xBABABA,0xACACAC,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xE8E8E8,0xE1E1E1,0xDDDDDD,0xDBDBDB,0xD5D5D5,0xD0D0D0,0xCDCDCD,0xC9C9C9,0xC4C4C4,0xC1C1C1,0xBBBBBB,0xB8B8B8,0xAEAEAE,0x94AECE,
0x94AECE,0xD6D6D6,0xB3B3B3,0xAAAAAA,0xADADAD,0xACACAC,0xAFAFAF,0xAEAEAE,0xABABAB,0xADADAD,0xADADAD,0xADADAD,0xB1B1B1,0xABABAB,0x94AECE,
0x94AECE,0xE8E8EA,0xCDCDCF,0xC4C4C6,0xC6C6C8,0xCACACC,0xC9C9CB,0xC4C4C6,0xCBCBCD,0xCCCBD0,0xC4C3C8,0xCCCBD0,0xC5C5C7,0xAFAFB1,0x94AECE,
0x94AECE,0xC9C9C9,0xAAAAAA,0xB2B2B2,0xB3B3B3,0xADADAD,0xB0B0B0,0xABABAB,0xB1B1B1,0xABABAD,0xB5B5B7,0xAAAAAC,0xB3B3B3,0xAAAAAA,0x94AECE,
0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,
};
RGB scroll_h[] = { /* 35x15*/
0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,
0x94AECE,0xAAAAAA,0xEFEBEF,0xD6D6D6,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xE7E7E7,0xE8E8E8,0xE8E8E8,0xE8E8E8,0xEDEDED,0xD1D1D1,0xEBEBEB,0x94AECE,
0x94AECE,0xAAAAAA,0xCDCDCF,0xB3B3B3,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE0E0E0,0xE1E1E1,0xE1E1E1,0xE1E1E1,0xE8E8E8,0xCBCBCB,0xE6E6E6,0x94AECE,
0x94AECE,0xB2B2B2,0xC4C4C6,0xAAAAAA,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xDCDCDC,0xDDDDDD,0xDDDDDD,0xDDDDDD,0xE6E6E6,0xC9C9C9,0xE5E5E5,0x94AECE,
0x94AECE,0xB3B3B3,0xC6C6C8,0xADADAD,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xDADADA,0xDBDBDB,0xDBDBDB,0xDBDBDB,0xE8E8E8,0xC9C9C9,0xE8E8E8,0x94AECE,
0x94AECE,0xADADAD,0xCACACC,0xACACAC,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xD5D5D5,0xE7E7E7,0xC7C7C7,0xE7E7E7,0x94AECE,
0x94AECE,0xB0B0B0,0xC9C9CB,0xAFAFAF,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xD1D1D1,0xD0D0D0,0xD0D0D0,0xD0D0D0,0xE8E8E8,0xC7C7C7,0xE7E7E7,0x94AECE,
0x94AECE,0xABABAB,0xC4C4C6,0xAEAEAE,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xCECECE,0xCDCDCD,0xCDCDCD,0xCDCDCD,0xE9E9E9,0xC7C7C7,0xE7E7E7,0x94AECE,
0x94AECE,0xB1B1B1,0xCBCBCD,0xABABAB,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xCBCBCB,0xC9C9C9,0xC9C9C9,0xC9C9C9,0xE8E8E8,0xC6C6C6,0xE5E5E5,0x94AECE,
0x94AECE,0xABABAD,0xCCCBD0,0xADADAD,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xC3C3C3,0xC4C4C4,0xC4C4C4,0xC4C4C4,0xECECEC,0xC6C6C6,0xE5E5E5,0x94AECE,
0x94AECE,0xB5B5B7,0xC4C3C8,0xADADAD,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xC3C3C3,0xC1C1C1,0xC1C1C1,0xC1C1C1,0xE7E7E7,0xCACACA,0xE2E2E2,0x94AECE,
0x94AECE,0xAAAAAC,0xCCCBD0,0xADADAD,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xBABABA,0xBBBBBB,0xBBBBBB,0xBBBBBB,0xE2E2E2,0xC7C7C7,0xE7E7E7,0x94AECE,
0x94AECE,0xB3B3B3,0xC5C5C7,0xB1B1B1,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xBABABA,0xB8B8B8,0xB8B8B8,0xB8B8B8,0xE5E5E5,0xC9C9C9,0xEAEAEA,0x94AECE,
0x94AECE,0xAAAAAA,0xAFAFB1,0xABABAB,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xACACAC,0xAEAEAE,0xAEAEAE,0xAEAEAE,0xCBCBCB,0xAFAFAF,0xC1C1C1,0x94AECE,
0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,0x94AECE,
};
/programs/other/outdated/imgview/img/btn_fit.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/other/outdated/imgview/img/btn_next.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/other/outdated/imgview/img/btn_open.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/other/outdated/imgview/img/btn_prev.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/other/outdated/imgview/img/template.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/other/outdated/imgview/img
Property changes:
Added: tsvn:logminsize
+5
\ No newline at end of property
/programs/other/outdated/imgview/kosSyst.cpp
0,0 → 1,921
#include "kosSyst.h"
#include "stdarg.h"
 
#define atexitBufferSize 32
 
 
char pureCallMessage[] = "PURE function call!";
 
char *kosExePath = NULL;
 
int abs(int value)
{
if (value<0) value=0-value;
return value;
}
 
//
void (__cdecl *atExitList[atexitBufferSize])();
int atExitFnNum = 0;
//
int __cdecl atexit( void (__cdecl *func )( void ))
{
//
if ( atExitFnNum < atexitBufferSize )
{
//
atExitList[atExitFnNum++] = func;
return 0;
}
else
{
return 1;
}
}
 
 
//
Dword RandomSeed = 1;
//
void rtlSrand( Dword seed )
{
RandomSeed = seed;
}
//
Dword rtlRand( void )
{
//ìàñêà 0x80000776
 
Dword dwi, i;
 
for ( i = 0; i < 32; i++ )
{
 
dwi = RandomSeed & 0x80000776;
__asm{
mov eax, dwi
mov edx, eax
bswap eax
xor eax, edx
xor al, ah
setpo al
movzx eax, al
mov dwi, eax
}
 
RandomSeed = ( RandomSeed << 1 ) | ( dwi & 1 );
}
return RandomSeed;
}
 
#if _MSC_VER >= 1400
//
void * __cdecl memcpy( void *dst, const void *src, size_t bytesCount )
{
__asm{
mov edi, dst
mov eax, dst
mov esi, src
mov ecx, bytesCount
rep movsb
}
}
 
//
void memset( Byte *dst, Byte filler, Dword count )
{
//
__asm{
mov edi, dst
mov al, filler
mov ecx, count
rep stosb
}
}
#endif
 
//
Dword rtlInterlockedExchange( Dword *target, Dword value )
{
// Dword result;
 
//
__asm{
mov eax, value
mov ebx, target
xchg eax, [ebx]
// mov result, eax
}
//
// return result;
}
 
 
//////////////////////////////////////////////////////////////////////
//
// êîïèðîâàíèå ñòðîêè
//
 
char * __cdecl strcpy( char *target, const char *source )
{
char *result = target;
 
while( target[0] = source[0] )
{
target++;
source++;
}
 
return result;
}
 
 
//////////////////////////////////////////////////////////////////////
//
// ðåâåðñèâíûé ïîèñê ñèìâîëà
//
 
char * __cdecl strrchr( const char * string, int c )
{
char *cPtr;
 
//
for ( cPtr = (char *)string + strlen( string ); cPtr >= string; cPtr-- )
{
//
if ( *cPtr == c ) return cPtr;
}
//
return NULL;
}
 
 
//////////////////////////////////////////////////////////////////////
//
// îïðåäåëåíèå äëèíû ñòðîêè
//
 
int __cdecl strlen( const char *line )
{
int i;
 
for( i=0; line[i] != 0; i++ );
return i;
}
 
 
 
//////////////////////////////////////////////////////////////////////
//
// Ñðàâíåíèå ñòðîê
//
 
int strcmp(char* string1, char* string2)
{
Dword retval;
if (strlen(string1)==strlen(string2))
{
__asm
{
mov dword ptr [retval],0
mov esi,string1
mov edi,string2
next_char:
mov al,byte ptr [esi]
mov bl,byte ptr [edi]
inc esi
inc edi
cmp bl,0
je fin
cmp al,bl
je next_char
jmp not_equal
fin:
mov dword ptr [retval],1
not_equal:
}
return retval;
} else {
return 0;
}
}
 
 
//////////////////////////////////////////////////////////////////////
//
// ïåðåâîä øåñòíàäöàòèðè÷íîãî ÷èñëà â ñèìâîë
//
 
unsigned int num2hex( unsigned int num )
{
if( num < 10 )
return num + '0';
return num - 10 + 'A';
}
 
 
 
//////////////////////////////////////////////////////////////////////
//
// ïåðåâîä ñòðîêè â íèæíèé ðåãèñòð
//
 
void lcase(char* string)
{
int i;
char chr;
for(i=0;i<strlen(string);i++)
{
chr=((char*)string)[i];
if (chr>=65 && chr<=90) chr=chr+32; //a-z
if (chr>=128 && chr<=143) chr=chr+32; //à-ï
if (chr>=144 && chr<=159) chr=chr+80; //ð-ÿ
if (chr==240) chr=241; //¸
((char*)string)[i]=chr;
}
}
 
 
//////////////////////////////////////////////////////////////////////
//
// âûâîä ñòðîêè íà ïå÷àòü
//
 
Dword dectab[] = { 1000000000, 100000000, 10000000, 1000000, 100000,
10000, 1000, 100, 10, 0 };
 
//
void sprintf( char *Str, char* Format, ... )
{
int i, fmtlinesize, j, k, flag;
Dword head, tail;
char c;
va_list arglist;
//
va_start(arglist, Format);
 
//
fmtlinesize = strlen( Format );
//
if( fmtlinesize == 0 ) return;
//
for( i = 0, j = 0; i < fmtlinesize; i++ )
{
//
c = Format[i];
//
if( c != '%' )
{
Str[j++] = c;
continue;
}
//
i++;
//
if( i >= fmtlinesize ) break;
 
//
flag = 0;
//
c = Format[i];
//
switch( c )
{
//
case '%':
Str[j++] = c;
break;
// âûâîä ñòðîêè
case 'S':
Byte* str;
str = va_arg(arglist, Byte*);
for( k = 0; ( c = str[k] ) != 0; k++ )
{
Str[j++] = c;
}
break;
// âûâîä áàéòà
case 'B':
k = va_arg(arglist, int) & 0xFF;
Str[j++] = num2hex( ( k >> 4 ) & 0xF );
Str[j++] = num2hex( k & 0xF );
break;
// âûâîä ñèìâîëà
case 'C':
Str[j++] = va_arg(arglist, int) & 0xFF;
break;
// âûâîä äâîéíîãî ñëîâà â øåñòíàäöàòèðè÷íîì âèäå
case 'X':
Dword val;
val = va_arg(arglist, Dword);
for( k = 7; k >= 0; k-- )
{
//
c = num2hex ( ( val >> (k * 4) ) & 0xF );
//
if( c == '0' )
{
if( flag ) Str[j++] = c;
}
else
{
flag++;
Str[j++] = c;
}
}
//
if( flag == 0 ) Str[j++] = '0';
break;
// âûâîä äâîéíîãî ñëîâà â äåñÿòè÷íîì âèäå
case 'U':
head = va_arg(arglist, Dword);
tail = 0;
for( k = 0; dectab[k] != 0; k++ )
{
tail = head % dectab[k];
head /= dectab[k];
c = head + '0';
if( c == '0' )
{
if( flag ) Str[j++] = c;
}
else
{
flag++;
Str[j++] = c;
}
//
head = tail;
}
//
c = head + '0';
Str[j++] = c;
break;
// âûâîä 64-áèòíîãî ñëîâà â øåñòíàäöàòèðè÷íîì âèäå
case 'Q':
unsigned int low_dword, high_dword;
low_dword = va_arg(arglist, unsigned int);
high_dword = va_arg(arglist, unsigned int);
for( k = 7; k >= 0; k-- )
{
//
c = num2hex ( ( ( high_dword + 1) >> (k * 4) ) & 0xF );
//
if( c == '0' )
{
if( flag ) Str[j++] = c;
}
else
{
flag++;
Str[j++] = c;
}
}
//
for( k=7; k >= 0; k-- )
{
//
c = num2hex ( ( low_dword >> (k * 4) ) & 0xF );
//
if( c == '0' )
{
if( flag ) Str[j++] = c;
}
else
{
flag++;
Str[j++] = c;
}
}
//
if( flag == 0 ) Str[j++] = '0';
//
break;
//
default:
break;
}
}
//
Str[j] = 0;
}
 
 
// ôóíêöèÿ -1 çàâåðøåíèÿ ïðîöåññà
void kos_ExitApp()
{
int i;
 
//
for ( i = atExitFnNum - 1; i >= 0; i-- )
{
//
atExitList[i]();
}
//
__asm{
mov eax, -1
int 0x40
}
}
 
 
// ôóíêöèÿ 0
void kos_DefineAndDrawWindow(
Word x, Word y,
Word sizeX, Word sizeY,
Byte mainAreaType,
Dword mainAreaColour,
Byte headerType,
Dword headerColour,
Dword borderColour
)
{
Dword arg1, arg2, arg3, arg4;
 
//
arg1 = ( x << 16 ) + sizeX;
arg2 = ( y << 16 ) + sizeY;
arg3 = ( mainAreaType << 24 ) | mainAreaColour;
arg4 = ( headerType << 24 ) | headerColour;
//
__asm{
mov eax, 0
mov ebx, arg1
mov ecx, arg2
mov edx, arg3
mov esi, arg4
mov edi, borderColour
int 0x40
}
}
 
 
// ôóíêöèÿ 1 ïîñòàâèòü òî÷êó
void kos_PutPixel( Dword x, Dword y, Dword colour )
{
//
__asm{
mov eax, 1
mov ebx, x
mov ecx, y
mov edx, colour
int 0x40
}
}
 
 
// ôóíêöèÿ 2 ïîëó÷èòü êîä íàæàòîé êëàâèøè
bool kos_GetKey( Byte &keyCode )
{
Dword result;
 
//
__asm{
mov eax, 2
int 0x40
mov result, eax
}
//
keyCode = result >> 8;
//
return ( result & 0xFF ) == 0;
}
 
 
// ôóíêöèÿ 3 ïîëó÷èòü âðåìÿ
Dword kos_GetSystemClock()
{
// Dword result;
 
//
__asm{
mov eax, 3
int 0x40
// mov result, eax
}
//
// return result;
}
 
 
// ôóíêöèÿ 4
void kos_WriteTextToWindow(
Word x,
Word y,
Byte fontType,
Dword textColour,
char *textPtr,
Dword textLen
)
{
Dword arg1, arg2;
 
//
arg1 = ( x << 16 ) | y;
arg2 = ( fontType << 24 ) | textColour;
//
__asm{
mov eax, 4
mov ebx, arg1
mov ecx, arg2
mov edx, textPtr
mov esi, textLen
int 0x40
}
}
 
 
// ôóíêöèÿ 5 ïàóçà, â ñîòûõ äîëÿõ ñåêóíäû
void kos_Pause( Dword value )
{
//
__asm{
mov eax, 5
mov ebx, value
int 0x40
}
}
 
 
// ôóíêöèÿ 7 íàðèñîâàòü èçîáðàæåíèå
void kos_PutImage( RGB * imagePtr, Word sizeX, Word sizeY, Word x, Word y )
{
Dword arg1, arg2;
 
//
arg1 = ( sizeX << 16 ) | sizeY;
arg2 = ( x << 16 ) | y;
//
__asm{
mov eax, 7
mov ebx, imagePtr
mov ecx, arg1
mov edx, arg2
int 0x40
}
}
 
 
 
// ôóíêöèÿ 8 îïðåäåëèòü êíîïêó
void kos_DefineButton( Word x, Word y, Word sizeX, Word sizeY, Dword buttonID, Dword colour )
{
Dword arg1, arg2;
 
//
arg1 = ( x << 16 ) | sizeX;
arg2 = ( y << 16 ) | sizeY;
//
__asm{
mov eax, 8
mov ebx, arg1
mov ecx, arg2
mov edx, buttonID
mov esi, colour
int 0x40
}
}
 
 
// ôóíêöèÿ 9 - èíôîðìàöèÿ î ïðîöåññå
Dword kos_ProcessInfo( sProcessInfo *targetPtr, Dword processID )
{
// Dword result;
 
//
__asm{
mov eax, 9
mov ebx, targetPtr
mov ecx, processID
int 0x40
// mov result, eax
}
//
// return result;
}
 
 
// ôóíêöèÿ 10
Dword kos_WaitForEvent()
{
// Dword result;
 
__asm{
mov eax, 10
int 0x40
// mov result, eax
}
// return result;
}
 
 
// ôóíêöèÿ 11
Dword kos_CheckForEvent()
{
// Dword result;
 
__asm{
mov eax, 11
int 0x40
// mov result, eax
}
// return result;
}
 
 
// ôóíêöèÿ 12
void kos_WindowRedrawStatus( Dword status )
{
__asm{
mov eax, 12
mov ebx, status
int 0x40
}
}
 
 
// ôóíêöèÿ 13 íàðèñîâàòü ïîëîñó
void kos_DrawBar( Word x, Word y, Word sizeX, Word sizeY, Dword colour )
{
Dword arg1, arg2;
 
//
arg1 = ( x << 16 ) | sizeX;
arg2 = ( y << 16 ) | sizeY;
//
__asm{
mov eax, 13
mov ebx, arg1
mov ecx, arg2
mov edx, colour
int 0x40
}
}
 
 
// ôóíêöèÿ 17
bool kos_GetButtonID( Dword &buttonID )
{
Dword result;
 
//
__asm{
mov eax, 17
int 0x40
mov result, eax
}
//
buttonID = result >> 8;
//
return (result & 0xFF) == 0;
}
 
 
// ôóíêöèÿ 23
Dword kos_WaitForEvent( Dword timeOut )
{
// Dword result;
 
__asm{
mov eax, 23
mov ebx, timeOut
int 0x40
// mov result, eax
}
// return result;
}
 
 
// ïîëó÷åíèå èíôîðìàöèè î ñîñòîÿíèè "ìûøè" ôóíêöèÿ 37
void kos_GetMouseState( Dword & buttons, int & cursorX, int & cursorY )
{
Dword mB;
Word curX;
Word curY;
sProcessInfo sPI;
 
//
__asm{
mov eax, 37
mov ebx, 1
int 0x40
mov curY, ax
shr eax, 16
mov curX, ax
mov eax, 37
mov ebx, 2
int 0x40
mov mB, eax
}
//
kos_ProcessInfo( &sPI );
//
buttons = mB;
cursorX = curX - sPI.processInfo.left;
cursorY = curY - sPI.processInfo.top;
}
 
 
// ôóíêöèÿ 40 óñòàíîâèòü ìàñêó ñîáûòèé
void kos_SetMaskForEvents( Dword mask )
{
//
__asm{
mov eax, 40
mov ebx, mask
int 0x40
}
}
 
 
// ôóíêöèÿ 47 âûâåñòè â îêíî ïðèëîæåíèÿ ÷èñëî
void kos_DisplayNumberToWindow(
Dword value,
Dword digitsNum,
Word x,
Word y,
Dword colour,
eNumberBase nBase,
bool valueIsPointer
)
{
Dword arg1, arg2;
 
//
arg1 = ( valueIsPointer ? 1 : 0 ) |
( ((Byte)nBase) << 8 ) |
( ( digitsNum & 0x1F ) << 16 );
arg2 = ( x << 16 ) | y;
//
__asm{
mov eax, 47
mov ebx, arg1
mov ecx, value
mov edx, arg2
mov esi, colour
int 0x40
}
}
 
 
// ôóíêöèÿ 70 äîñòóï ê ôàéëîâîé ñèñòåìå
Dword kos_FileSystemAccess( kosFileInfo *fileInfo )
{
// Dword result;
 
//
__asm{
mov eax, 70
mov ebx, fileInfo
int 0x40
// mov result, eax
}
//
// return result;
}
 
 
// ôóíêöèÿ 63 âûâîä ñèìâîëÿ â îêíî îòëàäêè
void kos_DebugOutChar( char ccc )
{
//
__asm{
mov eax, 63
mov ebx, 1
mov cl, ccc
int 0x40
}
}
 
 
// ôóíêöèÿ 66 ðåæèì ïîëó÷åíèÿ äàííûõ îò êëàâèàòóðû
void kos_SetKeyboardDataMode( Dword mode )
{
//
__asm{
mov eax, 66
mov ebx, 1
mov ecx, mode
int 0x40
}
}
 
 
// âûâîä ñòðîêè â îêíî îòëàäêè
void rtlDebugOutString( char *str )
{
//
for ( ; str[0] != 0; str++ )
{
kos_DebugOutChar( str[0] );
}
//
kos_DebugOutChar( 13 );
kos_DebugOutChar( 10 );
}
 
 
// ôóíêöèÿ 64 èçìåíåíèå êîëè÷åñòâà ïàìÿòè, âûäåëåííîé äëÿ ïðîãðàììû
bool kos_ApplicationMemoryResize( Dword targetSize )
{
Dword result;
 
//
__asm{
mov eax, 64
mov ebx, 1
mov ecx, targetSize
int 0x40
mov result, eax
}
//
return result == 0;
}
 
 
// ôóíêöèÿ 67 èçìåíèòü ïàðàìåòðû îêíà, ïàðàìåòð == -1 íå ìåíÿåòñÿ
void kos_ChangeWindow( Dword x, Dword y, Dword sizeX, Dword sizeY )
{
//
__asm{
mov eax, 67
mov ebx, x
mov ecx, y
mov edx, sizeX
mov esi, sizeY
int 0x40
}
}
 
 
 
Byte* kos_GetMemory(Dword count)
{
__asm
{
mov eax,68
mov ebx,12
mov ecx,count
int 40h
}
}
 
Dword kos_FreeMemory(Byte* pMemory)
{
__asm
{
mov eax,68
mov ebx,13
mov ecx,pMemory
int 40h
}
}
 
// âûçîâ àáñòðàêòíîãî ìåòîäà
int __cdecl _purecall()
{
rtlDebugOutString( pureCallMessage );
kos_ExitApp();
return 0;
}
 
 
// âûçîâ ñòàòè÷åñêèõ èíèöèàëèçàòîðîâ
// çàîäíî èíèöèàëèçàöèÿ ãåíåðàòîðà ñëó÷àéíûõ ÷èñåë
//#pragma section(".CRT$XCA",long,read,write)
//#pragma section(".CRT$XCZ",long,read,write)
#pragma data_seg(".CRT$XCA")
#pragma data_seg(".CRT$XCZ")
typedef void (__cdecl *_PVFV)(void);
__declspec(allocate(".CRT$XCA")) _PVFV __xc_a[1] = { NULL };
__declspec(allocate(".CRT$XCZ")) _PVFV __xc_z[1] = { NULL };
//
#pragma comment(linker, "/merge:.CRT=.rdata")
//
void crtStartUp()
{
// âûçûâàåì èíèöèàëèçàòîðû ïî ñïèñêó, NULL'û èãíîðèðóåì
for ( _PVFV *pbegin = __xc_a; pbegin < __xc_z; pbegin++ )
{
//
if ( *pbegin != NULL )
(**pbegin)();
}
// èíèöèàëèçèðóåì ãåíåðàòîð ñëó÷àéíûõ ÷èñåë
rtlSrand( kos_GetSystemClock() );
// ïóòü ê ôàéëó ïðîöåññà
kosExePath = *((char **)0x20);
// âûçîâ ãëàâíîé ôóíêöèè ïðèëîæåíèÿ
kos_Main();
// âûõîä
kos_ExitApp();
}
 
 
/programs/other/outdated/imgview/kosSyst.h
0,0 → 1,203
typedef unsigned __int32 Dword;
typedef unsigned __int16 Word;
typedef unsigned __int8 Byte;
//typedef unsigned __int32 size_t;
 
#define NULL 0
 
#define MAX_PATH 256
 
#define FO_READ 0
#define FO_WRITE 2
 
#define EM_WINDOW_REDRAW 1
#define EM_KEY_PRESS 2
#define EM_BUTTON_CLICK 4
#define EM_APP_CLOSE 8
#define EM_DRAW_BACKGROUND 16
#define EM_MOUSE_EVENT 32
#define EM_IPC 64
#define EM_NETWORK 256
 
#define KM_CHARS 0
#define KM_SCANS 1
 
#define WRS_BEGIN 1
#define WRS_END 2
 
#define PROCESS_ID_SELF -1
 
//#define abs(a) (a<0?0-a:a)
 
extern "C" double acos(double x);
extern "C" double asin(double x);
extern "C" double floor(double x);
extern "C" double round(double x);
#pragma function(acos,asin)
#if _MSC_VER > 1200
#pragma function(floor)
#endif
 
 
struct kosFileInfo
{
Dword rwMode;
Dword OffsetLow;
Dword OffsetHigh;
Dword dataCount;
Byte *bufferPtr;
char fileURL[MAX_PATH];
};
 
 
struct RGB
{
Byte b;
Byte g;
Byte r;
//
RGB() {};
//
RGB( Dword value )
{
r = (Byte)(value >> 16);
g = (Byte)(value >> 8);
b = (Byte)value;
};
//
bool operator != ( RGB &another )
{
return this->b != another.b || this->g != another.g || this->r != another.r;
};
//
bool operator == ( RGB &another )
{
return this->b == another.b && this->g == another.g && this->r == another.r;
};
};
 
 
union sProcessInfo
{
Byte rawData[1024];
#pragma pack(push, 1)
struct
{
Dword cpu_usage;
Word window_stack_position;
Word window_stack_value;
Word reserved1;
char process_name[12];
Dword memory_start;
Dword used_memory;
Dword PID;
Dword left;
Dword top;
Dword width;
Dword height;
Word slot_state;
Word reserved2;
Dword work_left;
Dword work_top;
Dword work_width;
Dword work_height;
Byte window_state;
} processInfo;
#pragma pack(pop)
};
 
//
extern char *kosExePath;
//
int abs(int value);
//
void crtStartUp();
//
int __cdecl _purecall();
//
int __cdecl atexit( void (__cdecl *func )( void ));
//
void rtlSrand( Dword seed );
Dword rtlRand( void );
//
char * __cdecl strcpy( char *target, const char *source );
int __cdecl strlen( const char *line );
char * __cdecl strrchr( const char * string, int c );
void lcase(char* string);
int strcmp(char* string1, char* string2);
 
#if _MSC_VER < 1400
extern "C" void * __cdecl memcpy( void *dst, const void *src, size_t bytesCount );
extern "C" void memset( Byte *dst, Byte filler, Dword count );
#pragma intrinsic(memcpy,memset)
#else
void * __cdecl memcpy( void *dst, const void *src, size_t bytesCount );
void memset( Byte *dst, Byte filler, Dword count );
#endif
 
void sprintf( char *Str, char* Format, ... );
//
Dword rtlInterlockedExchange(Dword *target, Dword value);
// ôóíêöèÿ -1 çàâåðøåíèÿ ïðîöåññà
void kos_ExitApp();
// ôóíêöèÿ 0
void kos_DefineAndDrawWindow(Word x, Word y, Word sizeX, Word sizeY,Byte mainAreaType, Dword mainAreaColour,Byte headerType, Dword headerColour, Dword borderColour);
// ôóíêöèÿ 1 ïîñòàâèòü òî÷êó
void kos_PutPixel( Dword x, Dword y, Dword colour);
// ôóíêöèÿ 2 ïîëó÷èòü êîä íàæàòîé êëàâèøè
bool kos_GetKey(Byte &keyCode);
// ôóíêöèÿ 3 ïîëó÷èòü âðåìÿ
Dword kos_GetSystemClock();
// ôóíêöèÿ 4
void kos_WriteTextToWindow(Word x, Word y,Byte fontType,Dword textColour,char *textPtr,Dword textLen);
// ôóíêöèÿ 7 íàðèñîâàòü èçîáðàæåíèå
void kos_PutImage( RGB * imagePtr, Word sizeX, Word sizeY, Word x, Word y);
// ôóíêöèÿ 8 îïðåäåëèòü êíîïêó
void kos_DefineButton(Word x, Word y, Word sizeX, Word sizeY, Dword buttonID, Dword colour);
// ôóíêöèÿ 5 ïàóçà, â ñîòûõ äîëÿõ ñåêóíäû
void kos_Pause(Dword value);
// ôóíêöèÿ 9 - èíôîðìàöèÿ î ïðîöåññå
Dword kos_ProcessInfo(sProcessInfo *targetPtr, Dword processID = PROCESS_ID_SELF);
// ôóíêöèÿ 10
Dword kos_WaitForEvent();
// ôóíêöèÿ 11
Dword kos_CheckForEvent();
// ôóíêöèÿ 12
void kos_WindowRedrawStatus(Dword status );
// ôóíêöèÿ 13 íàðèñîâàòü ïîëîñó
void kos_DrawBar(Word x, Word y, Word sizeX, Word sizeY, Dword colour);
// ôóíêöèÿ 17
bool kos_GetButtonID(Dword &buttonID);
// ôóíêöèÿ 23
Dword kos_WaitForEvent(Dword timeOut);
//
enum eNumberBase
{
nbDecimal = 0,
nbHex,
nbBin
};
// ïîëó÷åíèå èíôîðìàöèè î ñîñòîÿíèè "ìûøè" ôóíêöèÿ 37
void kos_GetMouseState(Dword & buttons, int & cursorX, int & cursorY);
// ôóíêöèÿ 40 óñòàíîâèòü ìàñêó ñîáûòèé
void kos_SetMaskForEvents(Dword mask);
// ôóíêöèÿ 47 âûâåñòè â îêíî ïðèëîæåíèÿ ÷èñëî
void kos_DisplayNumberToWindow(Dword value, Dword digitsNum, Word x, Word y, Dword colour, eNumberBase nBase = nbDecimal, bool valueIsPointer = false);
// ôóíêöèÿ 58 äîñòóï ê ôàéëîâîé ñèñòåìå
Dword kos_FileSystemAccess(kosFileInfo *fileInfo);
// ôóíêöèÿ 63
void kos_DebugOutChar(char ccc);
//
void rtlDebugOutString(char *str);
// ôóíêöèÿ 64 èçìåíèòü ïàðàìåòðû îêíà, ïàðàìåòð == -1 íå ìåíÿåòñÿ
void kos_ChangeWindow(Dword x, Dword y, Dword sizeX, Dword sizeY);
// ôóíêöèÿ 67 èçìåíåíèå êîëè÷åñòâà ïàìÿòè, âûäåëåííîé äëÿ ïðîãðàììû
bool kos_ApplicationMemoryResize(Dword targetSize);
// ôóíêöèÿ 66 ðåæèì ïîëó÷åíèÿ äàííûõ îò êëàâèàòóðû
void kos_SetKeyboardDataMode(Dword mode);
//
Byte* kos_GetMemory(Dword count);
//
Dword kos_FreeMemory(Byte* pMemory);
//
void kos_Main();
/programs/other/outdated/imgview/main.cpp
0,0 → 1,575
#include "kosSyst.h"
#include "gfx.cpp"
#include "dlgopen.h"
#include "formats\pcx.h"
#include "formats\bmp.h"
#include "formats\tga.h"
 
#define btn_open 10
#define btn_prev 11
#define btn_next 12
#define btn_fit 13
 
#define scrl_up 30
#define scrl_down 31
#define scrl_left 32
#define scrl_right 33
 
char params[2048] = "PARAM";
const char header[] = "ImageView v 0.08";
int image_opened=0;
 
Byte* image_buffer=NULL; // Ïîëíîå RAW-Èçîáðàæåíèå
Byte* img_cuted=NULL; // Óñå÷åííîå RAW-èçîáðàæåíèå (èñïîëüçóåòñÿ ïðè ïðîêðóòêå èëè ìàñøòàáèðîâàíèè)
Byte* cur_files=NULL; // Áóôåð äëÿ îáùåãî ñïèñêà ôàéëîâ òåêóùåé ïàïêè
Word* img_files=NULL; // Óêàçàòåëü ìàññèâ ñî ñïèñîê ãðàô.ôàéëîâ â òåêóùåé ïàïêå
Dword cnt_imgfiles; // Êîëè÷åñòâî ýëåìåíòîâ ìàññèâà img_files[]
Dword cur_image; // Íîìåð òåêóùåãî èçîáðàæåíèÿ â ìàññèâå
char cur_folder[512]; // Ïóòü ê òåêóùåé ïàïêå ñ / íà êîíöå
 
Dword image_width;
Dword image_height;
Dword old_status_size=0;
 
char szStatus[256];
bool scale=0;
 
 
sProcessInfo proc;
Dword img_area_left,img_area_top,img_area_width,img_area_height;
int vscrl_max=100,vscrl_value=0,vscrl_coord_x,vscrl_coord_y,vscrl_coord_min,vscrl_coord_max,vscrl_using=0;
int hscrl_max=100,hscrl_value=0,hscrl_coord_x,hscrl_coord_y,hscrl_coord_min,hscrl_coord_max,hscrl_using=0;
Dword width_old,height_old;
 
/* Âûðåçàåò êâàäðàò èç èçîáðàæåíèÿ ïî êîîðäèíàòàì*/
void GetRectImage(Byte* src, Byte* dst, Dword left,Dword top,Dword width,Dword height)
{
int x,y;
int pImgS,pImgD=0;
for(y=top;y<top+height;y++)
{
for(x=left;x<left+width;x++)
{
pImgS=y*image_width*3+x*3;
*(dst+pImgD+0)=*(src+pImgS+0);
*(dst+pImgD+1)=*(src+pImgS+1);
*(dst+pImgD+2)=*(src+pImgS+2);
pImgD=pImgD+3;
}
}
}
 
/* Ðàñòÿãèâàåò èçîáðàæåíèå â ìåíüøóþ ñòîðîíó (èíà÷å íóæíî âûäåëÿòü áîëüøå ïàìÿòè ïîä img_cuted) */
void ResizeImage(Byte* src, Byte* dst, Dword new_width,Dword new_height)
{
int x,y,src_y,src_x;
int pImgS,pImgD=0;
for(y=0;y<new_height;y++)
{
for(x=0;x<new_width;x++)
{
__asm
{
finit
fild image_width
fidiv new_width
fild x
fmul st(0),st(1)
fistp src_x
fild image_height
fidiv new_height
fild y
fmul st(0),st(1)
fistp src_y
}
pImgS=src_y*image_width*3+src_x*3;
pImgD=y*new_width*3+x*3;
*(dst+pImgD+0)=*(src+pImgS+0);
*(dst+pImgD+1)=*(src+pImgS+1);
*(dst+pImgD+2)=*(src+pImgS+2);
}
}
}
 
void set_vscroll_values(Dword max, Dword value)
{
vscrl_max=max;
vscrl_value=value;
kos_DrawBar(vscrl_coord_x,vscrl_coord_y,15,35,0xDADADA);
vscrl_coord_y=vscrl_coord_min+((value*(vscrl_coord_max-vscrl_coord_min-35))/vscrl_max);
kos_PutImage(scroll_v,15,35,vscrl_coord_x,vscrl_coord_y);
}
 
void set_hscroll_values(Dword max, Dword value)
{
hscrl_max=max;
hscrl_value=value;
kos_DrawBar(hscrl_coord_x,hscrl_coord_y,35,15,0xDADADA);
hscrl_coord_x=hscrl_coord_min+((value*(hscrl_coord_max-hscrl_coord_min-35))/hscrl_max);
kos_PutImage(scroll_h,35,15,hscrl_coord_x,hscrl_coord_y);
}
 
void draw_image()
{
Dword new_width,new_height,scale_left,scale_top;
if (!image_opened) return;
if (scale==0)
{
/* Çäåñü âûâîä èçîáðàæåíèÿ ñ èñïîëüçîâàíèåì ïîëîñ ïðîêðóòêè */
new_width = image_width <= img_area_width ? image_width : img_area_width;
new_height = image_height <= img_area_height ? image_height : img_area_height;
GetRectImage(image_buffer, img_cuted, hscrl_value, vscrl_value, new_width, new_height);
kos_PutImage((RGB*)img_cuted, new_width, new_height, img_area_left,img_area_top);
} else {
/* Çäåñü âûâîä èçîáðàæåíèÿ ñ èñïîëüçîâàíèåì ìàñøòàáèðîâàíèÿ, ñîõðàíÿÿ ïðîïîðöèè */
__asm
{
finit
fild img_area_width
fidiv image_width
fild image_width
fmul st(0),st(1)
fistp new_width
fild image_height
fmul st(0),st(1)
fistp new_height
}
if (img_area_height<new_height)
{
__asm
{
finit
fild img_area_height
fidiv image_height
fild image_width
fmul st(0),st(1)
fistp new_width
fild image_height
fmul st(0),st(1)
fistp new_height
}
}
/* ýòî â ñëó÷àå íå ïðîïîðöèîíàëüíîãî ìàñøòàáèðîâàíèÿ */
//new_width=img_area_width;
//new_height=img_area_height;
 
if (new_width>image_width) new_width=image_width;
if (new_height>image_height) new_height=image_height;
ResizeImage(image_buffer,img_cuted,new_width,new_height);
/* Öåíòðèðîâàíèå èçîáðàæåíèÿ */
scale_left=(img_area_width/2)-(new_width/2);
scale_top=(img_area_height/2)-(new_height/2);
kos_PutImage((RGB*)img_cuted,new_width,new_height,img_area_left+scale_left,img_area_top+scale_top);
}
}
 
void draw_window(void)
{
kos_WindowRedrawStatus(1);
kos_DefineAndDrawWindow(0,0,450,350,0x33,0xEFEBEF,0,0,(Dword)header);
//ToolBar
//open
kos_DefineButton(2,4,20,20,btn_open+0x40000000,0xEFEBEF);
kos_PutImage(tbOpen,21,21,2,4);
//prev
kos_DefineButton(25,4,20,20,btn_prev+0x40000000,0xEFEBEF);
kos_PutImage(tbPrev,21,21,25,4);
//next
kos_DefineButton(48,4,20,20,btn_next+0x40000000,0xEFEBEF);
kos_PutImage(tbNext,21,21,48,4);
//fit image
kos_DefineButton(71,4,20,20,btn_fit+0x40000000,0xEFEBEF);
kos_PutImage(tbFit,21,21,71,4);
//Lines
kos_ProcessInfo(&proc,-1);
kos_DrawBar(2,30,proc.processInfo.work_width-3,1,0x94AECE);
//Scroll controls
//vertical scroll bar
vscrl_coord_x=proc.processInfo.work_width-16;
vscrl_coord_max=proc.processInfo.work_height-46;
kos_DrawBar(proc.processInfo.work_width-16,33,15,proc.processInfo.work_height-79,0xDADADA);
kos_DefineButton(proc.processInfo.work_width-16,33,14,14,scrl_up+0x40000000,0xEFEBEF);
kos_DefineButton(proc.processInfo.work_width-16,proc.processInfo.work_height-46,14,14,scrl_down+0x40000000,0xEFEBEF);
kos_PutImage(arrow_up,15,15,proc.processInfo.work_width-16,33);
kos_PutImage(arrow_down,15,15,proc.processInfo.work_width-16,proc.processInfo.work_height-46);
kos_PutImage(scroll_v,15,35,vscrl_coord_x,vscrl_coord_y);
//horisontal scroll bar
hscrl_coord_y=proc.processInfo.work_height-31;
hscrl_coord_max=proc.processInfo.work_width-31;
kos_DrawBar(2,proc.processInfo.work_height-31,proc.processInfo.work_width-18,15,0xDADADA);
kos_DefineButton(2,proc.processInfo.work_height-31,14,14,scrl_left+0x40000000,0xEFEBEF);
kos_DefineButton(proc.processInfo.work_width-31,proc.processInfo.work_height-31,14,14,scrl_right+0x40000000,0xEFEBEF);
kos_PutImage(arrow_left,15,15,2,proc.processInfo.work_height-31);
kos_PutImage(arrow_right,15,15,proc.processInfo.work_width-31,proc.processInfo.work_height-31);
kos_PutImage(scroll_h,35,15,hscrl_coord_x,hscrl_coord_y);
img_area_left=2;
img_area_top=33;
img_area_width=proc.processInfo.work_width-img_area_left-3-16;
img_area_height=proc.processInfo.work_height-img_area_top-3-16-15;
kos_WriteTextToWindow(2,proc.processInfo.work_height-12, 0x80, 0, szStatus, 0);
if (img_area_width<image_width) set_hscroll_values(image_width-img_area_width,0); else set_hscroll_values(1,0);
if (img_area_height<image_height) set_vscroll_values(image_height-img_area_height,0); else set_vscroll_values(1,0);
 
draw_image();
 
kos_WindowRedrawStatus(2);
}
 
void LoadPCX(Byte* filebuff, Dword filesize)
{
PCXFile pcx;
if (!pcx.LoadPCXFile(filebuff,filesize))
{
image_opened=1;
image_buffer=pcx.buffer;
image_width=pcx.width;
image_height=pcx.height;
} else {
image_opened=0;
}
}
 
void LoadBMP(Byte* filebuff, Dword filesize)
{
BMPFile bmp;
if (!bmp.LoadBMPFile(filebuff,filesize))
{
image_opened=1;
image_buffer=bmp.buffer;
image_width=bmp.width;
image_height=bmp.height;
} else {
image_opened=0;
}
}
 
void LoadTGA(Byte* filebuff, Dword filesize)
{
TGAFile tga;
if (!tga.LoadTGAFile(filebuff,filesize))
{
image_opened=1;
image_buffer=tga.buffer;
image_width=tga.width;
image_height=tga.height;
} else {
image_opened=0;
}
}
 
//Çàãðóçèòü ñïèñîê ôàéëîâ, ïîääåðæèâàåìûõ ïðîãðàììîé èç ïàïêè ñ òåêóùèì ôàéëîì
void load_folder(char* imgfile)
{
kosFileInfo fi;
char* cPtr;
int i;
// Èçâëå÷åì èìÿ ïàïêè
strcpy(fi.fileURL, imgfile);
cPtr=strrchr(fi.fileURL,'/');
cPtr[1]=0;
strcpy(cur_folder,fi.fileURL);
if (cur_files) { kos_FreeMemory(cur_files); cur_files=NULL;}
if (img_files) { kos_FreeMemory((Byte*)img_files); img_files=NULL;}
/* Âûäåëèì ïàìÿòü ïîä ôàéë */
cur_files = kos_GetMemory(65536);
fi.rwMode = 1;
fi.OffsetLow = 0;
fi.OffsetHigh = 0;
fi.dataCount = 65536;
fi.bufferPtr = cur_files;
int state = kos_FileSystemAccess(&fi);
if (state!=0 && state!=6) {kos_FreeMemory(cur_files); cur_files=NULL; return;}
Dword file_count=*(cur_files+8);
img_files = (Word*)kos_GetMemory(4*file_count);
char* image_name;
cnt_imgfiles=0;
cur_image=-1;
lcase(imgfile);
for(i=0;i<file_count;i++)
{
image_name=(char*)cur_files+32+i*304+40;
lcase(image_name);
cPtr=strrchr(image_name,'.');
if (strcmp((char*)cPtr,".bmp") || strcmp((char*)cPtr,".pcx") || strcmp((char*)cPtr,".tga"))
{
cPtr=strrchr(imgfile,'/');
if (strcmp(cPtr+1,image_name)) cur_image=cnt_imgfiles;
((Word*)img_files)[cnt_imgfiles]=i;
cnt_imgfiles++;
}
}
cnt_imgfiles--;
}
 
void open_imgfile(char* imgfile)
{
Word scr_left,scr_top,scr_right,scr_bot;
Word win_width,win_height;
Dword skin_height;
kosFileInfo fi;
Dword file_size;
Byte* filebuff;
Byte* infoBuf;
 
/* Âû÷èñëèì ðàçìåð ôàéëà */
infoBuf = kos_GetMemory(40); /* Áóôåð äëÿ èíôî-ñòðóêòóðû */
fi.rwMode = 5;
fi.OffsetLow = 0;
fi.OffsetHigh = 0;
fi.dataCount = 0;
fi.bufferPtr = infoBuf;
strcpy(fi.fileURL, imgfile);
if (kos_FileSystemAccess(&fi)) { kos_FreeMemory(infoBuf); return;}
file_size=*(Dword*)(infoBuf+32);
kos_FreeMemory(infoBuf);
/* Âûäåëèì ïàìÿòü ïîä ôàéë */
filebuff = kos_GetMemory(file_size);
fi.rwMode = 0;
fi.OffsetLow = 0;
fi.OffsetHigh = 0;
fi.dataCount = file_size;
fi.bufferPtr = filebuff;
strcpy(fi.fileURL, imgfile);
if (kos_FileSystemAccess(&fi)) { kos_FreeMemory(filebuff); return;}
 
/* Îïðåäåëÿåì òèï ôàéëà */
//lcase(imgfile); óæå â íèæíåì ðåãèñòðå: ýòî âûïîëíÿåòñÿ â load_folder
char* cPtr;
cPtr=strrchr(imgfile,'.');
if (strcmp((char*)cPtr,".bmp")) LoadBMP(filebuff,file_size);
if (strcmp((char*)cPtr,".pcx")) LoadPCX(filebuff,file_size);
if (strcmp((char*)cPtr,".tga")) LoadTGA(filebuff,file_size);
cPtr=strrchr(imgfile,'/')+1;
if (image_opened)
{
sprintf(szStatus,"” ©« %S... [%U/%U]",cPtr,cur_image+1,cnt_imgfiles+1);
__asm
{
mov eax,48
mov ebx,5
int 40h
mov scr_right,ax
shr eax,16
mov scr_bot,bx
shr ebx,16
mov scr_left,ax
mov scr_top,bx
mov eax,48
mov ebx,4
int 40h
mov skin_height,eax
}
if (scr_right-scr_left+1>image_width) win_width=image_width+img_area_left+3+16+10; else win_width=scr_right-scr_left+1;
if (scr_bot-scr_top+1>image_height) win_height=image_height+img_area_top+3+16+15+5+skin_height; else win_height=scr_bot-scr_top+1;
if (win_width<150) win_width=150;
if (win_height<160) win_height=160;
img_cuted=kos_GetMemory(image_width*image_height*3);
kos_ChangeWindow(scr_left,scr_top,win_width,win_height);
if (img_area_width<image_width) set_hscroll_values(image_width-img_area_width,0); else set_hscroll_values(1,0);
if (img_area_height<image_height) set_vscroll_values(image_height-img_area_height,0); else set_vscroll_values(1,0);
} else {
sprintf(szStatus,"” ©« %S ­¥ § £à㦥­. ”®à¬ â ­¥ ¯®¤¤¥à¦¨¢ ¥âáï.",cPtr);
}
draw_window();
kos_FreeMemory(filebuff);
}
 
void show_dlg()
{
char* imgfile;
imgfile=DialogOpenFile(&draw_window);
if (!imgfile) return;
load_folder(imgfile);
//Åñëè ôàéë óæå áûë îòêðûò...
if (image_opened)
{
image_opened=0;
kos_FreeMemory(image_buffer); image_buffer=NULL;
kos_FreeMemory(img_cuted); img_cuted=NULL;
}
open_imgfile(imgfile);
}
 
void kos_Main()
{
Dword btnID;
Byte keyCode;
Dword mButton;
int mX,mXOld;
int mY,mYOld;
char label1[100];
/* Èíèöèàëèçàöèÿ êó÷è ïðîöåññà */
__asm
{
mov eax,68
mov ebx,11
int 40h
}
vscrl_coord_min=vscrl_coord_y=33+15;
hscrl_coord_min=hscrl_coord_x=2+15;
strcpy(szStatus,"” ©« ­¥ § £à㦥­");
draw_window();
if (params[0]!='P') {load_folder(params); open_imgfile(params);}
kos_SetMaskForEvents(0x27);
for (;;)
{
switch (kos_WaitForEvent(10))
{
case 1:
draw_window();
break;
case 2:
kos_GetKey(keyCode);
break;
case 3:
kos_GetButtonID(btnID);
switch (btnID)
{
case 1:
//Îñâîáîäèì ïàìÿòü
if (image_buffer) kos_FreeMemory(image_buffer);
if (img_cuted) kos_FreeMemory(img_cuted);
if (cur_files) kos_FreeMemory(cur_files);
if (img_files) kos_FreeMemory((Byte*)img_files);
kos_ExitApp();
break;
case btn_open:
show_dlg();
break;
//Èñïîëüçóåì óæå íå íóæíûé íàì params
case btn_prev:
if (!cur_files) break;
if (!cur_image) cur_image=cnt_imgfiles; else cur_image--;
strcpy(params,cur_folder);
strcpy(params+strlen(cur_folder),(char*)cur_files+32+((Word*)img_files)[cur_image]*304+40);
open_imgfile(params);
break;
case btn_next:
if (!cur_files) break;
if (cur_image==cnt_imgfiles) cur_image=0; else cur_image++;
strcpy(params,cur_folder);
strcpy(params+strlen(cur_folder),(char*)cur_files+32+((Word*)img_files)[cur_image]*304+40);
open_imgfile(params);
break;
 
/*
case scrl_up:
if (vscrl_max==1 || vscrl_coord_y<=vscrl_coord_min) break;
set_vscroll_values(vscrl_max, ((vscrl_coord_y - 2 - vscrl_coord_min) * vscrl_max) / (vscrl_coord_max - vscrl_coord_min - 35));
break;
case scrl_down:
if (vscrl_max == 1 || vscrl_coord_y >= vscrl_coord_max) break;
set_vscroll_values(vscrl_max, ((vscrl_coord_y + 2 - vscrl_coord_min) * vscrl_max) / (vscrl_coord_max - vscrl_coord_min - 35));
break;
*/
 
case btn_fit:
scale = scale ? 0 : 1;
draw_window();
break;
 
}
break;
 
case 6:
default:
kos_GetMouseState(mButton,mX,mY);
//Âåðòèêàëüíàÿ ïðîêðóòêà
if (mButton==1)
{
if (vscrl_using)
{
kos_DrawBar(vscrl_coord_x,vscrl_coord_y,15,35,0xDADADA);
if (vscrl_coord_y+mY-mYOld<vscrl_coord_min)
{
vscrl_value=0;
vscrl_coord_y=vscrl_coord_min;
} else if (vscrl_coord_y+35+mY-mYOld>vscrl_coord_max) {
vscrl_value=vscrl_max;
vscrl_coord_y=vscrl_coord_max-35;
} else {
vscrl_value=(((vscrl_coord_y-vscrl_coord_min)*vscrl_max)/(vscrl_coord_max-vscrl_coord_min-35));
vscrl_coord_y=vscrl_coord_y+mY-mYOld;
mYOld=mY;
}
kos_PutImage(scroll_v,15,35,vscrl_coord_x,vscrl_coord_y);
draw_image();
} else {
if (mY>=vscrl_coord_y && mY<=vscrl_coord_y+35 && mX>=vscrl_coord_x && mX<=vscrl_coord_x+15)
{
vscrl_using=1;
mYOld=mY;
}
}
} else if(mButton==0) {
if (vscrl_using) {vscrl_using=0; draw_image();}
}
//Ãîðèçîíòàëüíàÿ ïðîêðóòêà
if (mButton==1)
{
if (hscrl_using)
{
kos_DrawBar(hscrl_coord_x,hscrl_coord_y,35,15,0xDADADA);
if (hscrl_coord_x+mX-mXOld<hscrl_coord_min)
{
hscrl_value=0;
hscrl_coord_x=hscrl_coord_min;
} else if (hscrl_coord_x+35+mX-mXOld>hscrl_coord_max) {
hscrl_value=hscrl_max;
hscrl_coord_x=hscrl_coord_max-35;
} else {
hscrl_value=(((hscrl_coord_x-hscrl_coord_min)*hscrl_max)/(hscrl_coord_max-hscrl_coord_min-35));
hscrl_coord_x=hscrl_coord_x+mX-mXOld;
mXOld=mX;
}
kos_PutImage(scroll_h,35,15,hscrl_coord_x,hscrl_coord_y);
draw_image();
} else {
if (mX>=hscrl_coord_x && mX<=hscrl_coord_x+35 && mY>=hscrl_coord_y && mY<=hscrl_coord_y+15)
{
hscrl_using=1;
mXOld=mX;
}
}
} else if(mButton==0) {
if (hscrl_using) {hscrl_using=0; draw_image();}
}
break;
}
}
}
/programs/other/outdated/imgview/mcsmemm.cpp
0,0 → 1,329
// memman.cpp : Defines the entry point for the console application.
//
 
#include "kosSyst.h"
#include "mcsmemm.h"
 
 
void * __cdecl operator new ( size_t count, size_t element_size )
{
return allocmem( (Dword)(count * element_size) );
}
 
void * __cdecl operator new [] ( size_t amount )
{
return allocmem( (Dword)amount );
}
 
void * __cdecl operator new ( size_t amount )
{
return allocmem( (Dword)amount );
}
 
void __cdecl operator delete ( void *pointer )
{
if ( pointer != NULL ) freemem( pointer );
}
 
void __cdecl operator delete [] ( void *pointer )
{
if ( pointer != NULL ) freemem( pointer );
}
 
 
//
Dword mmMutex = FALSE;
MemBlock *rootfree = NULL;
MemBlock *rootuser = NULL;
bool mmInitialized = false;
Byte *mmHeapTop = NULL;
 
 
//
Byte * AllocMemFromSystem( Dword reqSize )
{
Byte *result;
sProcessInfo pInfo;
//
if ( mmInitialized )
{
result = mmHeapTop;
}
else
{
//
kos_ProcessInfo( &pInfo );
//
result = (Byte *)(pInfo.processInfo.used_memory + 1);
//
mmInitialized = true;
}
//
if ( ! kos_ApplicationMemoryResize( ((Dword)result) + reqSize ) )
{
result = NULL;
}
//
mmHeapTop = result + reqSize;
//
return result;
}
 
 
//
Byte *allocmem( Dword reqsize )
{
MemBlock *BlockForCheck;
MemBlock *LastKnownGood;
Dword tail;
Byte *address;
 
//ïîäðîâíÿåì ðàçìåð
if( ( tail = reqsize % SIZE_ALIGN ) != 0 )
{
reqsize += SIZE_ALIGN - tail;
}
 
LastKnownGood = NULL;
 
// æä¸ì îñâîáîæäåíèÿ ìüþòåêñà
while ( rtlInterlockedExchange( &mmMutex, TRUE ) )
{
//
kos_Pause( 1 );
}
 
//èùåì ïîäõîäÿùèé ñâîáîäíûé áëîê
if( rootfree != NULL )
{
for ( BlockForCheck = rootfree; ; BlockForCheck = BlockForCheck->Next )
{
if ( BlockForCheck->Size >= reqsize )
{
//íàøëè
if ( LastKnownGood != NULL )
{
if ( LastKnownGood->Size >= BlockForCheck->Size )
LastKnownGood = BlockForCheck;
}
else
LastKnownGood = BlockForCheck;
if ( LastKnownGood->Size == reqsize )
break;
}
if ( BlockForCheck->Next == NULL )
break;
}
}
 
if ( LastKnownGood != NULL )
{
//ïðîâåðèì íàéäåííûé áëîê íà âîçìîæíîñòü äåëåíèÿ
tail = LastKnownGood->Size - reqsize;
if ( tail >= ( sizeof(MemBlock) + SIZE_ALIGN ) )
{
//áóäåì ðàçáèâàòü
BlockForCheck = (MemBlock *)( ( (Byte *)LastKnownGood ) + tail );
BlockForCheck->Size = reqsize;
//âñòàâèì çàíÿòûé áëîê â íà÷àëî ñïèñêà çàíàòûõ áëîêîâ
if( rootuser != NULL )
{
BlockForCheck->Next = rootuser;
rootuser->Previous = BlockForCheck;
BlockForCheck->Previous = NULL;
rootuser = BlockForCheck;
}
else
{
rootuser = BlockForCheck;
BlockForCheck->Next = NULL;
BlockForCheck->Previous = NULL;
}
 
//èçìåíèì ðàçìåð îñòàâøåéñÿ ÷àñòè
LastKnownGood->Size = tail - sizeof(MemBlock);
address = ( (Byte *)BlockForCheck ) + sizeof(MemBlock);
 
// îòïóñòèì ìüþòåêñ
rtlInterlockedExchange( &mmMutex, FALSE );
 
return address;
}
else
{
//ïåðåìåñòè áëîê èç î÷åðåäè ñâîáîäíûõ â íà÷àëî î÷åðåäè çàíÿòûõ
//ñíà÷àëà âûêèíåì åãî èç î÷åðåäè ñâîáîäíûõ
if ( LastKnownGood->Previous != NULL )
{
LastKnownGood->Previous->Next = LastKnownGood->Next;
}
else
{
//áëîê ñòîèò â íà÷àëå î÷åðåäè
rootfree = LastKnownGood->Next;
}
if( LastKnownGood->Next != NULL )
{
LastKnownGood->Next->Previous = LastKnownGood->Previous;
}
//òåïåðü âñòàâèì åãî â î÷åðåäü çàíÿòûõ
if( rootuser != NULL )
{
LastKnownGood->Next = rootuser;
rootuser->Previous = LastKnownGood;
LastKnownGood->Previous = NULL;
rootuser = LastKnownGood;
}
else
{
rootuser = LastKnownGood;
LastKnownGood->Next = NULL;
LastKnownGood->Previous = NULL;
}
//
address = ( (Byte *)LastKnownGood ) + sizeof(MemBlock);
 
// îòïóñòèì ìüþòåêñ
rtlInterlockedExchange( &mmMutex, FALSE );
 
return address;
}
}
else
{
//íàäî ïîëó÷èòü åù¸ êóñî÷åê ïàìÿòè
LastKnownGood = (MemBlock *)AllocMemFromSystem( reqsize + sizeof(MemBlock) );
//
if( LastKnownGood != NULL )
{
LastKnownGood->Size = reqsize;
//òåïåðü âñòàâèì åãî â î÷åðåäü çàíÿòûõ
if( rootuser != NULL )
{
LastKnownGood->Next = rootuser;
rootuser->Previous = LastKnownGood;
LastKnownGood->Previous = NULL;
rootuser = LastKnownGood;
}
else
{
rootuser = LastKnownGood;
LastKnownGood->Next = NULL;
LastKnownGood->Previous = NULL;
}
address = ( (Byte *)LastKnownGood ) + sizeof(MemBlock);
 
// îòïóñòèì ìüþòåêñ
rtlInterlockedExchange( &mmMutex, FALSE );
 
return address;
}
}
 
// îòïóñòèì ìüþòåêñ
rtlInterlockedExchange( &mmMutex, FALSE );
 
//
rtlDebugOutString( "allocmem failed." );
kos_ExitApp();
//
return NULL;
}
 
//
Dword freemem( void *vaddress )
{
Dword result;
 
Byte *checknext, *address = (Byte *)vaddress;
// æä¸ì îñâîáîæäåíèÿ ìüþòåêñà
while ( rtlInterlockedExchange( &mmMutex, TRUE ) )
{
//
kos_Pause( 1 );
}
 
MemBlock *released = (MemBlock *)( address - sizeof(MemBlock) );
 
result = released->Size;
 
//óáèðàåì áëîê èç ñïèñêà çàíÿòûõ
if ( released->Previous != NULL )
{
released->Previous->Next = released->Next;
}
else
{
rootuser = released->Next;
}
if ( released->Next != NULL )
{
released->Next->Previous = released->Previous;
}
//çàêèíåì òåïåðü ýòîò áëîê â ñïèñîê ñâîáîäíûõ
released->Next = rootfree;
released->Previous = NULL;
rootfree = released;
if ( released->Next != NULL )
{
released->Next->Previous = released;
}
 
//òåïåðü ïîèùåì ñìåæíûå ñâîáîäíûå áëîêè
checknext = (Byte *)(rootfree) + ( rootfree->Size + sizeof(MemBlock) );
//
for ( released = rootfree->Next; released != NULL; released = released->Next )
{
if ( checknext == (Byte *)released )
{
//ñîáèðàåì áëîêè âìåñòå
//ñíà÷àëà âûêèíåì èç î÷åðåäè ñâîáîäíûõ
released->Previous->Next = released->Next;
if( released->Next != NULL )
{
released->Next->Previous = released->Previous;
}
//òåïåðü óâåëè÷èì ðàçìåð êîðíåâîãî áëîêà
rootfree->Size += released->Size + sizeof(MemBlock);
break;
}
}
//åñëè íàäî, ïîèùåì áëîêè ïåðåä òåêùèì.
checknext = (Byte *)(rootfree);
//
if ( released == NULL )
{
for ( released = rootfree->Next; released != NULL; released = released->Next )
{
if ( checknext == (Byte *)released + ( released->Size + sizeof(MemBlock) ) )
{
//ñîáèðàåì áëîêè âìåñòå
//óâåëè÷èì ðàçìåð áëîêà
released->Size += rootfree->Size + sizeof(MemBlock);
//òåïåðü âûêèíåì èç î÷åðåäè ñâîáîäíûõ
released->Previous->Next = released->Next;
if ( released->Next != NULL )
{
released->Next->Previous = released->Previous;
}
//è çàêèíåì åãî â íà÷àëî î÷åðåäè âìåñòî ïðèñîåäèí¸ííîãî áëîêà èç êîðíÿ ñïèñêà
if ( rootfree->Next != NULL )
{
rootfree->Next->Previous = released;
}
released->Next = rootfree->Next;
released->Previous = NULL;
rootfree = released;
break;
}
}
}
 
// îòïóñòèì ìüþòåêñ
rtlInterlockedExchange( &mmMutex, FALSE );
 
return result;
}
 
/programs/other/outdated/imgview
Property changes:
Added: tsvn:logminsize
+5
\ No newline at end of property
/programs/other/outdated/mv/trunk/mv.asm
0,0 → 1,1176
; Picture browser by lisovin@26.ru
; Modified by Ivan Poddubny - v.0.3
; Modified by Diamond - v.0.4
; Modified by Mario79:
; v.0.5 18.07.08 Dinamic Allocation Memory
; v.0.6 20.07.08
; 1) Use Editbox (Author <Lrz>)
; 2) Draw window without fill working area (C = 1)
; 3) Open file with parameter in patch:
; Size of parameter - 4 bytes. Parameter starts with the
; character "\", the unused characters are filled
; by a blank (ASCII 20h).
; '\T /hd0/1/1.bmp' - set background, mode: tile
; '\S /hd0/1/1.bmp' - set background, mode: stretch
; v.0.65 23.07.08
; 1) Use new version Editbox (Thanks <Lrz>)
; (mouse correctly works in secondary thread)
; 2) The memory used for storage of the file BMP
; after conversion in RAW comes back to OS.
; 3) Usage of keys 1,2,3,4 for call of buttons of the application
; without the mouse, before the key were defined incorrectly.
; 4) Deleting of the unnecessary procedure of clearing of
; a background of a picture at pressing the button "Open".
; Compile with FASM for Menuet
 
;******************************************************************************
use32
org 0x0
db 'MENUET01' ; 8 byte id
dd 0x01 ; header version
dd START ; start of code
dd IM_END ; size of image
dd I_END ; memory for app
dd I_END ; esp
dd temp_area , 0x0 ; I_Param , I_Icon
 
include 'lang.inc'
include '..\..\..\..\macros.inc'
include '..\..\..\..\develop\examples\editbox\trunk\editbox.inc'
;include 'macros.inc'
;include 'EDITBOX.INC'
use_edit_box
;******************************************************************************
 
START: ; start of execution
mcall 68, 11
mcall 66, 1,1
; check for parameters
cmp dword [temp_area],'BOOT'
jne .no_boot
.background:
call load_image
call convert
 
call background
.exit:
or eax,-1
mcall
.no_boot:
 
cmp byte [temp_area],0
jz .no_param
 
 
mov edi,string ; clear string
mov ecx,256/4 ; length of a string
xor eax,eax ; symbol <0>
rep stosd
 
 
mov edi,temp_area ; look for <0> in temp_area
 
cmp [edi],byte "\"
jne .continue
cmp [edi+1],byte "T"
jne @f
mov [bgrmode],dword 1
jmp .continue_1
@@:
cmp [edi+1],byte "S"
jne START.exit
mov [bgrmode],dword 2
.continue_1:
add edi,4
.continue:
mov esi,edi
mov ecx,257 ; strlen
repne scasb
lea ecx, [edi-temp_area]
 
mov edi,string
rep movsb ; copy string from temp_area to "string" (filename)
cmp [temp_area],byte "\"
je START.background
call load_image
call convert
 
.no_param:
 
 
or ecx,-1 ; get information about me
call getappinfo
 
mov edx,[process_info+30] ; ⥯¥àì ¢ edx ­ è ¨¤¥­â¨ä¨ª â®à
mov ecx,eax
 
@@:
call getappinfo
cmp edx,[process_info+30]
je @f ; ¥á«¨ ­ è PID ᮢ¯ « á PID à áᬠâਢ ¥¬®£® ¯à®æ¥áá , ¬ë ­ è«¨ ᥡï
dec ecx ; ¨­ ç¥ ᬮâਬ á«¥¤ãî騩 ¯à®æ¥áá
jne @b ; ¢®§¢à é ¥¬áï, ¥á«¨ ­¥ ¢á¥ ¯à®æ¥ááë à áᬮâ७ë
@@:
 
; ⥯¥àì ¢ ecx ­®¬¥à ¯à®æ¥áá 
mov [process],ecx
 
draw_still:
call draw_window
 
still:
 
mov eax,10 ; wait here for event
mcall
 
dec eax
jz red
dec eax
jnz button
 
key: ; key
mov al,2
mcall
mov al,ah
cmp al,130 ; 1
je kfile
cmp al,131 ; 2
je kopen
cmp al,132 ; 3
je kinfo
cmp al,133 ; 4
je kbgrd
jmp still
 
red:
test byte [status], 4
jz draw_still
mov al, 18
mov ebx, 3
mov ecx, [process]
mcall
and byte [status], not 4
jmp still
 
button: ; button
mov eax,17 ; get id
mcall
 
cmp ah,1 ; button id=1 ?
jne noclose
 
mov eax,-1 ; close this program
mcall
noclose:
cmp ah,2
jne nofile
kfile:
test byte [status], 1
jnz still
or byte [status], 1
mov eax,51
mov ebx,1
mov ecx,thread1
mov edx,thread ;0x29fff0
mcall
jmp still
nofile:
cmp ah,3
jne noopen
 
kopen:
mov ecx,-1
call getappinfo
 
call load_image
 
open1:
mov eax,[image_file]
cmp [eax],word 'BM'
jne still
call convert
jmp draw_still
noopen:
 
cmp ah,4
jne noinfo
kinfo:
test byte [status], 2
jnz still
or byte [status], 2
mov eax,51
mov ebx,1
mov ecx,thread2
mov edx,thread-512
mcall
jmp still
noinfo:
 
; “‘’€Ž‚ˆ’œ ”Ž
cmp ah,5
jne still
kbgrd:
test byte [status], 8
jnz still
or byte [status], 8
mov eax,51
mov ebx,1
mov ecx,thread3
mov edx,thread-512*2
mcall
jmp still
;call background
 
getappinfo:
mov eax,9
mov ebx,process_info
mcall
ret
 
 
load_image:
 
mov [fileinfo+0],dword 5
mov [fileinfo+12],dword 0
mov [fileinfo+16],dword process_info
 
cmp [image_file],0
je @f
mov ecx,[image_file]
mcall 68, 13,
 
@@:
mcall 70, fileinfo
 
mov [fileinfo+0],dword 0
mov [fileinfo+12],dword 512
mov [fileinfo+16],dword process_info+40
 
mcall 70, fileinfo
 
mov ecx,[process_info+32]
mov [fileinfo+12],ecx
 
mcall 68, 12
 
 
mov [fileinfo+16],eax
mov [image_file_1],eax
 
mov eax,[process_info+40+28]
 
cmp eax, 24
jz .convert24
cmp eax, 8
jz .convert8
cmp eax, 4
jz .convert4
shl ecx,2
.convert4:
shl ecx,1
.convert8:
lea ecx,[ecx*3]
.convert24:
 
;@@:
 
add ecx,512
mcall 68, 12
 
mov [image_file],eax
 
mcall 70, fileinfo
 
mov esi,[image_file_1]
mov edi,[image_file]
mov ecx,512/4
cld
rep movsd
 
mov eax,[image_file]
mov ebx,[eax+22]
mov eax,[eax+18]
test ebx, ebx
jns @f
neg ebx
@@:
add eax,9
cmp eax,210
jae @f
mov eax,210
@@:
add ebx,54
cmp ebx,56
jae @f
mov ebx,56
@@:
mov [wnd_width],eax
mov [wnd_height],ebx
test [bWasDraw],1
jz @f
mov esi,ebx
mov edx,eax
mcall 67,-1,-1
@@:
ret
 
 
drawimage:
mov eax,[image_file]
cmp [eax],word 'BM'
jne nodrawimage
mov ecx, dword [eax+18-2]
mov cx, [eax+22]
test cx, cx
jns @f
neg cx
@@:
mov edx,5*65536+50
mcall 7,[soi]
nodrawimage:
ret
 
; “‘’€Ž‚ˆ’œ ”Ž
background:
mov eax,[image_file]
cmp [eax],word 'BM'
jne @f
mov ecx,[eax+18] ; è¨à¨­ 
mov edx,[eax+22] ; ¢ëá®â 
mcall 15,1
 
mov esi, ecx
imul esi, edx
lea esi, [esi+esi*2]
mov ebx,5
mov ecx,[soi]
xor edx,edx
;;; mov esi, ;640*480*3
mcall
 
dec ebx ;tile/stretch
mov ecx,dword [bgrmode]
mcall
 
dec ebx
mcall
@@:
ret
 
convert:
call convert_1
mov ecx,[image_file_1]
mcall 68, 13,
ret
convert_1:
mov ecx, [image_file]
add ecx,512
mov [soi], ecx
mov eax,[image_file_1]
mov ebp, [eax+18]
lea ebp, [ebp*3] ; ebp = size of output scanline
mov eax, [eax+22]
dec eax
mul ebp
add eax, ecx
mov edi, eax ; edi points to last scanline
mov esi, [image_file_1]
add esi, [esi+10]
mov ebx,[image_file_1]
mov edx, [ebx+22]
add ebx,54
lea eax, [ebp*2]
mov [delta], eax
test edx, edx
jz .ret
jns @f
neg edx
and [delta], 0
mov edi, ecx
@@:
mov eax,[image_file_1]
movzx eax,word [eax+28]
cmp eax, 24
jz convert24
cmp eax, 8
jz convert8
cmp eax, 4
jz convert4
dec eax
jz convert1
.ret:
ret
convert24:
mov ecx, ebp
rep movsb
sub edi, [delta]
mov eax, ebp
neg eax
and eax, 3
add esi, eax
dec edx
jnz convert24
ret
convert8:
push edi
add [esp], ebp
.loopi:
xor eax, eax
lodsb
push eax
mov eax,[image_file_1]
cmp dword [eax+30],1
pop eax
jnz .nocompressed
.compressed:
mov ecx, eax
jecxz .special
lodsb
mov eax, [ebx+eax*4]
@@:
call putpixel
loop @b
jmp .loopi
.nocompressed:
mov eax, [ebx+eax*4]
call putpixel
.loopicont:
cmp edi, [esp]
jnz .loopi
.next:
pop edi
sub edi, [delta]
mov eax, ebp
and eax, 3
add esi, eax
dec edx
jnz convert8
ret
.special:
lodsb
test al, al
jz .next
cmp al, 2
jbe .end
mov ecx, eax
push ecx
@@:
xor eax, eax
lodsb
mov eax, [ebx+eax*4]
call putpixel
loop @b
pop ecx
and ecx, 1
add esi, ecx
jmp .loopi
.end:
pop edi
ret
convert4:
push edi
add [esp], ebp
.loopi:
xor eax, eax
lodsb
shr eax, 4
mov eax, [ebx+eax*4]
call putpixel
cmp edi, [esp]
jz .loopidone
mov al, [esi-1]
and eax, 0xF
mov eax, [ebx+eax*4]
stosd
dec edi
cmp edi, [esp]
jnz .loopi
.loopidone:
pop edi
sub edi, [delta]
call align_input
dec edx
jnz convert4
ret
convert1:
push edi
add [esp], ebp
.loopi:
lodsb
mov ecx, 8
.loopii:
add al, al
push eax
setc al
movzx eax, al
mov eax, [ebx+eax*4]
call putpixel
pop eax
cmp edi, [esp]
loopnz .loopii
jnz .loopi
pop edi
sub edi, [delta]
call align_input
dec edx
jnz convert1
ret
 
align_input:
push esi
push eax
mov eax,[image_file_1]
sub esi,eax
sub esi,[eax+10]
pop eax
neg esi
and esi, 3
add [esp], esi
pop esi
ret
 
putpixel:
push eax
stosw
shr eax, 16
stosb
pop eax
ret
 
;---------------------------------------------------------------------
get_window_param:
mcall 9, procinfo, -1
mov eax,[ebx+46]
mov [window_high],eax
mov eax,[ebx+42]
mov [window_width],eax
mcall 48,4
mov [skin_high],eax
ret
;---------------------------------------------------------------------
 
; *********************************************
; ******* WINDOW DEFINITIONS AND DRAW ********
; *********************************************
 
 
draw_window:
or [bWasDraw],1
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
mcall
 
; DRAW WINDOW
xor eax,eax ; function 0 : define and draw window
; mov ebx,350 ; [x start] *65536 + [x size]
; mov ecx,400 ; [y start] *65536 + [y size]
mov ebx,0*65536
mov ecx,0*65536
add ebx,[wnd_width]
add ecx,[wnd_height]
cmp cx,55
ja @f
mov cx,55
@@:
mov edx,0x43ffffff ; color of work area RRGGBB,8->color gl
mcall
 
call get_window_param
 
mov ebx,5
shl ebx,16
add ebx,[window_width]
sub ebx,9
push ebx
mov ecx,[skin_high]
shl ecx,16
add ecx,50
sub ecx,[skin_high]
mcall 13, , ,0xffffff
mov eax,[image_file]
mov ecx,[eax+22]
mov ebx,[eax+18]
push ecx
add ebx,5
mov ax,bx
shl ebx,16
add ebx,[window_width]
sub ebx,4
sub bx,ax
cmp bx,0
jbe @f
add ecx,50 shl 16
mcall 13, , ,0xffffff
@@:
pop ecx
pop ebx
add ecx,50
mov ax,cx
shl ecx,16
add ecx,[window_high]
sub cx,ax
sub ecx,4
cmp cx,0
jbe @f
mcall 13, , ,0xffffff
@@:
mov eax,8
mov ebx,10*65536+46
mov ecx,25*65536+20
mov edx,2
mov esi,0x780078
newbutton:
mcall
add ebx,48*65536
inc edx
cmp edx,6
jb newbutton
 
; WINDOW LABEL
mov eax,4 ; function 4 : write text to window
mov ebx,8*65536+8 ; [x start] *65536 + [y start]
mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB )
mov edx,labelt ; pointer to text beginning
mov esi,12 ; text length
mcall
 
mov ebx,14*65536+32
mov edx,buttext
mov esi,26
mcall
 
call drawimage
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
mcall
 
ret
 
 
; DATA AREA
 
labelt:
db 'MeView v.0.4'
 
lsz buttext,\
en, ' FILE OPEN INFO BGRD',\
ru, ' ”€‰‹ Ž’Š ˆ”Ž ”Ž ',\
de, 'DATEI OEFNEN INFO HGRD'
 
thread1: ; start of thread1
 
mcall 40, 0x27
 
or ecx,-1 ; get information about me
call getappinfo
 
mov esi,string
@@:
cld
lodsb
test al,al
jne @r
sub esi,string
mov eax,esi
dec eax
mov edi, edit1
mov ed_size, eax
mov ed_pos, eax
red1:
call draw_window1
 
still1:
 
mcall 10 ; wait here for event
 
cmp eax,1 ; redraw request ?
je red1
cmp eax,2 ; key in buffer ?
je key1
cmp eax,3 ; button in buffer ?
je button1
 
mouse_edit_box name_editboxes
jmp still1
 
key1: ; key
mcall 2
cmp ah,13
je close1
cmp ah,27
je close1
 
key_edit_box name_editboxes
jmp still1
 
button1: ; button
mov eax,17 ; get id
mcall
 
cmp ah,1 ; button id=1 ?
jne still1
close1:
bts dword [status],2
btr dword [status],0
mov eax,-1 ; close this program
mcall
 
jmp still1
 
; *********************************************
; ******* WINDOW DEFINITIONS AND DRAW ********
; *********************************************
 
 
draw_window1:
 
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
mcall
 
; DRAW WINDOW
xor eax,eax ; function 0 : define and draw window
mov ebx,100*65536+300 ; [x start] *65536 + [x size]
mov ecx,100*65536+80 ; [y start] *65536 + [y size]
mov edx,0x03780078 ; color of work area RRGGBB,8->color gl
mcall
 
; WINDOW LABEL
mov eax,4 ; function 4 : write text to window
mov ebx,8*65536+8 ; [x start] *65536 + [y start]
mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB )
mov edx,labelt1 ; pointer to text beginning
mov esi,labelt1.size ; text length
mcall
 
; call drawstring
draw_edit_box name_editboxes
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
mcall
 
ret
 
drawstring:
pusha
mov eax,8 ;invisible button
mov ebx,21*65536+258
mov ecx,40*65536+15
mov edx,0x60000002
mcall
 
mov eax,13 ;bar
mov edx,0xe0e0e0
mcall
push eax ;cursor
mov eax,6*65536
mul dword [pos]
add eax,21*65536+6
mov ebx,eax
pop eax
mov edx,0x6a73d0
mcall
mov eax,4 ;path
mov ebx,21*65536+44
xor ecx,ecx
mov edx,string
mov esi,43
mcall
 
 
popa
ret
 
; DATA AREA
 
lsz labelt1,\
en, 'File',\
ru, '” ©«',\
de, 'Datei'
 
thread2: ; start of info thread
 
call draw_window2
 
still2:
 
mov eax,10 ; wait here for event
mcall
 
cmp eax,1 ; redraw request ?
je thread2
cmp eax,2 ; key in buffer ?
je close2
cmp eax,3 ; button in buffer ?
je button2
 
jmp still2
 
button2: ; button
mov eax,17 ; get id
mcall
 
cmp ah,1 ; button id=1 ?
jne noclose2
close2:
btr dword [status],1
bts dword [status],2
mov eax,-1 ; close this program
mcall
noclose2:
 
jmp still2
 
 
 
 
; *********************************************
; ******* WINDOW DEFINITIONS AND DRAW ********
; *********************************************
 
 
draw_window2:
 
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
mcall
 
; DRAW WINDOW
xor eax,eax ; function 0 : define and draw window
mov ebx,100*65536+330 ; [x start] *65536 + [x size]
mov ecx,100*65536+90 ; [y start] *65536 + [y size]
mov edx,0x03780078 ; color of work area RRGGBB,8->color gl
mcall
 
; WINDOW LABEL
mov eax,4 ; function 4 : write text to window
mov ebx,8*65536+8 ; [x start] *65536 + [y start]
mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB )
mov edx,labelt2 ; pointer to text beginning
mov esi,labelt2.size ; text length
mcall
 
mov ebx,10*65536+30
mov edx,string
mov esi,43
mcall
mov edx,fitext
mov esi,14
add ebx,70*65536+10
followstring:
mcall
add ebx,10
add edx,esi
cmp ebx,80*65536+70
jbe followstring
mov eax,47
mov edx,200*65536+40
mov esi,ecx
mov ecx,[image_file]
push ecx
mov ecx, [ecx+2]
call digitcorrect
mcall
add edx,10
pop ecx
push ecx
mov ecx, [ecx+18]
call digitcorrect
mcall
add edx,10
pop ecx
push ecx
mov ecx, [ecx+22]
call digitcorrect
mcall
add edx,10
pop ecx
movzx ecx,word [ecx+28]
call digitcorrect
mcall
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
mcall
 
ret
 
digitcorrect:
xor ebx,ebx
mov bh,6
cmp ecx,99999
ja c_end
dec bh
cmp ecx,9999
ja c_end
dec bh
cmp ecx,999
ja c_end
dec bh
cmp ecx,99
ja c_end
dec bh
cmp ecx,9
ja c_end
dec bh
c_end:
bswap ebx
ret
 
 
; DATA AREA
 
lsz labelt2,\
en, 'File info',\
ru, 'ˆ­ä®à¬ æ¨ï ® ä ©«¥',\
de, 'Dateiinfo'
 
lsz fitext,\
en, 'FILE SIZE ',\
en, 'X SIZE ',\
en, 'Y SIZE ',\
en, 'BITS PER PIXEL',\
\
ru, ' §¬¥à ä ©«  ',\
ru, '˜¨à¨­  ',\
ru, '‚ëá®â  ',\
ru, '¨â ­  ¯¨ªá¥« ',\
\
de, 'FATEIGROESSE ',\
de, 'X GROESSE ',\
de, 'Y GROESSE ',\
de, 'BITS PER PIXEL'
 
thread3: ; start of bgrd thread
 
call draw_window3
 
still3:
 
mov eax,10 ; wait here for event
mcall
 
cmp eax,1 ; redraw request ?
je thread3
cmp eax,2 ; key in buffer ?
je key3
cmp eax,3 ; button in buffer ?
je button3
 
jmp still3
 
key3:
mcall
cmp ah,27
je close3
cmp ah,13
je kok
cmp ah,178 ;up
jne nofup
cmp dword [bgrmode],1
je fdn
fup:
dec dword [bgrmode]
jmp flagcont
nofup:
cmp ah,177 ;down
jne still3
cmp dword [bgrmode],2
je fup
fdn:
inc dword [bgrmode]
jmp flagcont
 
 
button3: ; button
mov eax,17 ; get id
mcall
 
cmp ah,1 ; button id=1 ?
jne noclose3
close3:
btr dword [status],3
bts dword [status],2
mov eax,-1 ; close this program
mcall
noclose3:
cmp ah,4
jne nook
kok:
call background
jmp close3
nook:
cmp ah,2
jb still3
cmp ah,3
ja still3
dec ah
mov byte [bgrmode],ah
flagcont:
call drawflags
jmp still3
 
 
 
 
; *********************************************
; ******* WINDOW DEFINITIONS AND DRAW ********
; *********************************************
 
 
draw_window3:
 
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
mcall
 
; DRAW WINDOW
xor eax,eax ; function 0 : define and draw window
mov ebx,100*65536+200 ; [x start] *65536 + [x size]
mov ecx,100*65536+100 ; [y start] *65536 + [y size]
mov edx,0x03780078 ; color of work area RRGGBB,8->color gl
mcall
 
mov eax,8
mov ebx,70*65536+40
mov ecx,70*65536+20
mov edx,4
mov esi,0xac0000
mcall
 
; WINDOW LABEL
mov eax,4 ; function 4 : write text to window
mov ebx,8*65536+8 ; [x start] *65536 + [y start]
mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB )
mov edx,labelt3 ; pointer to text beginning
mov esi,labelt3.size ; text length
mcall
add ebx,38*65536+20
mov ecx,0xddeeff
mov edx, bgrdtext
mov esi, bgrdtext.size
mcall
add ebx,40*65536+15
mov edx, tiled
mov esi, tiled.size
mcall
add ebx,15
mov edx, stretch
mov esi, stretch.size ;7
mcall
add ebx,18
mov edx, ok_btn
mov esi, ok_btn.size ;2
mcall
 
call drawflags
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
mcall
 
ret
 
drawflags:
mov eax,8
mov ebx,70*65536+10
mov ecx,40*65536+10
mov edx,2
mov esi,0xe0e0e0
mcall
add ecx,15*65536
inc edx
mcall
mov eax,4
mov ebx,73*65536+42
xor ecx,ecx
mov edx,vflag
mov esi,1
cmp dword [bgrmode],1
je nodownflag
add ebx,15
nodownflag:
mcall
ret
 
 
; DATA AREA
status dd 0 ;bit0=1 if file thread is created
soi dd 0
delta dd 0
process dd 0
 
bWasDraw db 0
vflag: db 'x'
bgrmode: dd 1
 
wnd_width dd 210
wnd_height dd 53
 
lsz labelt3,\
en, 'Background set',\
ru, "“áâ ­®¢ª  ä®­ ",\
de, 'Hintergrund gesetzt'
 
lsz bgrdtext,\
en, 'SET AS BACKGROUND:',\
ru, '’¨¯ ®¡®¥¢:',\
de, 'ALS HINTERGRUND'
 
lsz tiled,\
en, 'TILED',\
ru, '§ ¬®áâ¨âì',\
de, 'GEKACHELT'
 
lsz stretch,\
en, 'STRETCH',\
ru, 'à áâï­ãâì',\
de, 'GESTRECKT'
 
lsz ok_btn,\
en, 'Ok',\
ru, 'Ok',\
de, 'Ok'
 
image_file dd 0
image_file_1 dd 0
 
pos: dd 6
 
window_high dd 0
window_width dd 0
skin_high dd 0
;---------------------------------------------------------------------
; for EDITBOX
name_editboxes:
edit1 edit_box 200,10,30,0xffffff,0xbbddff,0,0,0,255,string,ed_focus+ed_always_focus,0
name_editboxes_end:
 
mouse_flag: dd 0x0
;---------------------------------------------------------------------
fileinfo:
dd 5
dd 0
dd 0
dd 0
dd process_info
string:
db '/sys/bgr.bmp',0
 
IM_END:
rb string+257-$
 
temp_area:
procinfo:
process_info:
rb 1024*4
rb 1024*2
thread:
rb 512
I_END:
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/programs/other/outdated/mv/trunk/Tupfile.lua
0,0 → 1,3
if tup.getconfig("NO_FASM") ~= "" then return end
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en" or tup.getconfig("LANG")) .. " > lang.inc", {"lang.inc"})
tup.rule({"mv.asm", extra_inputs = {"lang.inc"}}, "fasm %f %o " .. tup.getconfig("KPACK_CMD"), "mv")
/programs/other/outdated/mv/trunk/build_en.bat
0,0 → 1,5
@erase lang.inc
@echo lang fix en >lang.inc
@fasm mv.asm mv
@erase lang.inc
@pause
/programs/other/outdated/mv/trunk/build_ru.bat
0,0 → 1,5
@erase lang.inc
@echo lang fix ru >lang.inc
@fasm mv.asm mv
@erase lang.inc
@pause