from Nable: Sound Blaster driver
git-svn-id: svn://kolibrios.org@802 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -19,58 +19,39 @@ conf_fname db '/sys/sys.conf',0
|
|||||||
|
|
||||||
; set soke kernel configuration
|
; set soke kernel configuration
|
||||||
proc set_kernel_conf
|
proc set_kernel_conf
|
||||||
locals
|
locals
|
||||||
par db 30 dup(?)
|
par db 30 dup(?)
|
||||||
endl
|
endl
|
||||||
pushad
|
|
||||||
;[gui]
|
pushad
|
||||||
;mouse_speed
|
;[gui]
|
||||||
lea eax,[par]
|
;mouse_speed
|
||||||
push eax
|
|
||||||
invoke ini.get_str,conf_fname, ugui, ugui_mouse_speed, eax,30, ugui_mouse_speed_def
|
lea eax,[par]
|
||||||
pop eax
|
push eax
|
||||||
stdcall strtoint,eax
|
invoke ini.get_str,conf_fname, ugui, ugui_mouse_speed,\
|
||||||
|
eax,30, ugui_mouse_speed_def
|
||||||
|
pop eax
|
||||||
|
stdcall strtoint,eax
|
||||||
mov [mouse_speed_factor], ax
|
mov [mouse_speed_factor], ax
|
||||||
|
|
||||||
;mouse_delay
|
;mouse_delay
|
||||||
lea eax,[par]
|
lea eax,[par]
|
||||||
push eax
|
push eax
|
||||||
invoke ini.get_str,conf_fname, ugui, ugui_mouse_delay, eax,30, ugui_mouse_delay_def
|
invoke ini.get_str,conf_fname, ugui, ugui_mouse_delay,\
|
||||||
pop eax
|
eax,30, ugui_mouse_delay_def
|
||||||
stdcall strtoint,eax
|
pop eax
|
||||||
|
stdcall strtoint,eax
|
||||||
mov [mouse_delay], eax
|
mov [mouse_delay], eax
|
||||||
|
|
||||||
;[dev]
|
|
||||||
;sb16
|
;midibase
|
||||||
lea eax,[par]
|
lea eax,[par]
|
||||||
push eax
|
push eax
|
||||||
invoke ini.get_str,conf_fname, udev, udev_sb16, eax,30, udev_sb16_def
|
invoke ini.get_str,conf_fname, udev, udev_midibase, eax,30, udev_midibase_def
|
||||||
pop eax
|
pop eax
|
||||||
stdcall strtoint,eax
|
stdcall strtoint,eax
|
||||||
cmp eax, 0x100
|
|
||||||
jb @f
|
|
||||||
cmp eax, 0x10000
|
|
||||||
jae @f
|
|
||||||
mov [sb16], eax
|
|
||||||
@@:
|
|
||||||
|
|
||||||
;sound_dma
|
|
||||||
lea eax,[par]
|
|
||||||
push eax
|
|
||||||
invoke ini.get_str,conf_fname, udev, udev_sound_dma, eax,30, udev_sound_dma_def
|
|
||||||
pop eax
|
|
||||||
stdcall strtoint,eax
|
|
||||||
cmp eax, 3
|
|
||||||
ja @f
|
|
||||||
mov [sound_dma], eax
|
|
||||||
@@:
|
|
||||||
|
|
||||||
;midibase
|
|
||||||
lea eax,[par]
|
|
||||||
push eax
|
|
||||||
invoke ini.get_str,conf_fname, udev, udev_midibase, eax,30, udev_midibase_def
|
|
||||||
pop eax
|
|
||||||
stdcall strtoint,eax
|
|
||||||
cmp eax, 0x100
|
cmp eax, 0x100
|
||||||
jb @f
|
jb @f
|
||||||
cmp eax, 0x10000
|
cmp eax, 0x10000
|
||||||
@@ -80,9 +61,8 @@ endl
|
|||||||
inc eax
|
inc eax
|
||||||
mov [midisp], eax
|
mov [midisp], eax
|
||||||
@@:
|
@@:
|
||||||
|
popad
|
||||||
popad
|
ret
|
||||||
ret
|
|
||||||
endp
|
endp
|
||||||
|
|
||||||
ugui db 'gui',0
|
ugui db 'gui',0
|
||||||
@@ -92,10 +72,6 @@ ugui_mouse_delay db 'mouse_delay',0
|
|||||||
ugui_mouse_delay_def db '0x00A',0
|
ugui_mouse_delay_def db '0x00A',0
|
||||||
|
|
||||||
udev db 'dev',0
|
udev db 'dev',0
|
||||||
udev_sb16 db 'sb16',0
|
|
||||||
udev_sb16_def db '0x220',0
|
|
||||||
udev_sound_dma db 'sound_dma',0
|
|
||||||
udev_sound_dma_def db '1',0
|
|
||||||
udev_midibase db 'midibase',0
|
udev_midibase db 'midibase',0
|
||||||
udev_midibase_def db '0x320',0
|
udev_midibase_def db '0x320',0
|
||||||
|
|
||||||
@@ -105,7 +81,7 @@ locals
|
|||||||
par db 30 dup(?)
|
par db 30 dup(?)
|
||||||
endl
|
endl
|
||||||
pushad
|
pushad
|
||||||
|
|
||||||
;[net]
|
;[net]
|
||||||
;active
|
;active
|
||||||
lea eax,[par]
|
lea eax,[par]
|
||||||
@@ -117,7 +93,7 @@ endl
|
|||||||
add eax, 3
|
add eax, 3
|
||||||
mov [stack_config], eax
|
mov [stack_config], eax
|
||||||
call ash_eth_enable
|
call ash_eth_enable
|
||||||
|
|
||||||
;addr
|
;addr
|
||||||
lea eax,[par]
|
lea eax,[par]
|
||||||
push eax
|
push eax
|
||||||
@@ -125,7 +101,7 @@ endl
|
|||||||
pop eax
|
pop eax
|
||||||
stdcall do_inet_adr,eax
|
stdcall do_inet_adr,eax
|
||||||
mov [stack_ip], eax
|
mov [stack_ip], eax
|
||||||
|
|
||||||
;mask
|
;mask
|
||||||
lea eax,[par]
|
lea eax,[par]
|
||||||
push eax
|
push eax
|
||||||
@@ -133,7 +109,7 @@ endl
|
|||||||
pop eax
|
pop eax
|
||||||
stdcall do_inet_adr,eax
|
stdcall do_inet_adr,eax
|
||||||
mov [subnet_mask], eax
|
mov [subnet_mask], eax
|
||||||
|
|
||||||
;gate
|
;gate
|
||||||
lea eax,[par]
|
lea eax,[par]
|
||||||
push eax
|
push eax
|
||||||
@@ -141,7 +117,7 @@ endl
|
|||||||
pop eax
|
pop eax
|
||||||
stdcall do_inet_adr,eax
|
stdcall do_inet_adr,eax
|
||||||
mov [gateway_ip], eax
|
mov [gateway_ip], eax
|
||||||
.do_not_set_net:
|
.do_not_set_net:
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@@ -158,7 +134,7 @@ unet_def db 0
|
|||||||
; convert string to DWord
|
; convert string to DWord
|
||||||
proc strtoint stdcall,strs
|
proc strtoint stdcall,strs
|
||||||
pushad
|
pushad
|
||||||
|
|
||||||
mov eax,[strs]
|
mov eax,[strs]
|
||||||
inc eax
|
inc eax
|
||||||
mov bl,[eax]
|
mov bl,[eax]
|
||||||
@@ -177,7 +153,7 @@ proc strtoint stdcall,strs
|
|||||||
.exit:
|
.exit:
|
||||||
mov [esp+28],eax
|
mov [esp+28],eax
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
; convert string to DWord for decimal value
|
; convert string to DWord for decimal value
|
||||||
@@ -206,16 +182,16 @@ proc strtoint_dec stdcall,strs
|
|||||||
|
|
||||||
xchg ebx,ecx
|
xchg ebx,ecx
|
||||||
|
|
||||||
|
|
||||||
xor ecx,ecx
|
|
||||||
|
|
||||||
|
|
||||||
@@:
|
xor ecx,ecx
|
||||||
|
|
||||||
|
|
||||||
|
@@:
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
lodsb
|
lodsb
|
||||||
cmp al,0
|
cmp al,0
|
||||||
je .eend
|
je .eend
|
||||||
|
|
||||||
sub al,30h
|
sub al,30h
|
||||||
imul ebx
|
imul ebx
|
||||||
add ecx,eax
|
add ecx,eax
|
||||||
@@ -226,7 +202,7 @@ proc strtoint_dec stdcall,strs
|
|||||||
xchg eax,ebx
|
xchg eax,ebx
|
||||||
pop ecx
|
pop ecx
|
||||||
jmp @b
|
jmp @b
|
||||||
|
|
||||||
.eend:
|
.eend:
|
||||||
mov [esp+28],ecx
|
mov [esp+28],ecx
|
||||||
popad
|
popad
|
||||||
@@ -252,12 +228,12 @@ proc strtoint_hex stdcall,strs
|
|||||||
xor ecx,ecx
|
xor ecx,ecx
|
||||||
mov esi,[strs]
|
mov esi,[strs]
|
||||||
|
|
||||||
@@:
|
@@:
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
lodsb
|
lodsb
|
||||||
cmp al,0
|
cmp al,0
|
||||||
je .eend
|
je .eend
|
||||||
|
|
||||||
cmp al,'a'
|
cmp al,'a'
|
||||||
jae .bm
|
jae .bm
|
||||||
cmp al,'A'
|
cmp al,'A'
|
||||||
@@ -266,15 +242,15 @@ proc strtoint_hex stdcall,strs
|
|||||||
.bm: ; 57h
|
.bm: ; 57h
|
||||||
sub al,57h
|
sub al,57h
|
||||||
jmp .do
|
jmp .do
|
||||||
|
|
||||||
.bb: ; 37h
|
.bb: ; 37h
|
||||||
sub al,37h
|
sub al,37h
|
||||||
jmp .do
|
jmp .do
|
||||||
|
|
||||||
.cc: ; 30h
|
.cc: ; 30h
|
||||||
sub al,30h
|
sub al,30h
|
||||||
|
|
||||||
.do:
|
.do:
|
||||||
imul ebx
|
imul ebx
|
||||||
add ecx,eax
|
add ecx,eax
|
||||||
shr ebx,4
|
shr ebx,4
|
||||||
@@ -285,13 +261,13 @@ proc strtoint_hex stdcall,strs
|
|||||||
mov [esp+28],ecx
|
mov [esp+28],ecx
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
|
||||||
; convert string to DWord for IP addres
|
; convert string to DWord for IP addres
|
||||||
proc do_inet_adr stdcall,strs
|
proc do_inet_adr stdcall,strs
|
||||||
pushad
|
pushad
|
||||||
|
|
||||||
mov esi,[strs]
|
mov esi,[strs]
|
||||||
mov ebx,0
|
mov ebx,0
|
||||||
.next:
|
.next:
|
||||||
|
@@ -17,10 +17,10 @@ PID_KERNEL equ 1 ;os_idle thread
|
|||||||
align 4
|
align 4
|
||||||
proc attach_int_handler stdcall, irq:dword, handler:dword, access_rights:dword
|
proc attach_int_handler stdcall, irq:dword, handler:dword, access_rights:dword
|
||||||
|
|
||||||
mov ebx, [irq] ;irq num
|
mov ebx, [irq] ;irq num
|
||||||
test ebx, ebx
|
test ebx, ebx
|
||||||
jz .err
|
jz .err
|
||||||
cmp ebx, 15 ; hidnplayr says: we only have 16 IRQ's
|
cmp ebx, 15 ; hidnplayr says: we only have 16 IRQ's
|
||||||
ja .err
|
ja .err
|
||||||
mov eax, [handler]
|
mov eax, [handler]
|
||||||
test eax, eax
|
test eax, eax
|
||||||
@@ -28,24 +28,20 @@ proc attach_int_handler stdcall, irq:dword, handler:dword, access_rights:dword
|
|||||||
cmp [irq_owner + 4 * ebx], 0
|
cmp [irq_owner + 4 * ebx], 0
|
||||||
je @f
|
je @f
|
||||||
|
|
||||||
mov ecx, [irq_rights + 4 * ebx] ; Rights : 0 - full access, 1 - read only, 2 - forbidden
|
mov ecx, [irq_rights + 4 * ebx] ; Rights : 0 - full access, 1 - read only, 2 - forbidden
|
||||||
test ecx, ecx
|
test ecx, ecx
|
||||||
jnz .err
|
jnz .err
|
||||||
|
|
||||||
@@:
|
@@:
|
||||||
mov [irq_tab+ebx*4], eax
|
mov [irq_tab+ebx*4], eax
|
||||||
|
|
||||||
mov eax, [access_rights]
|
mov eax, [access_rights]
|
||||||
mov [irq_rights + 4 * ebx], eax
|
mov [irq_rights + 4 * ebx], eax
|
||||||
;push eax
|
|
||||||
;mov eax, [TASK_BASE]
|
|
||||||
;mov eax, [eax + TASKDATA.pid] ; faster or smaller? :)
|
|
||||||
;call get_pid
|
|
||||||
|
|
||||||
mov [irq_owner + 4 * ebx], PID_KERNEL ;eax
|
mov [irq_owner + 4 * ebx], PID_KERNEL ; all handlers belong to a kernel
|
||||||
;pop eax
|
|
||||||
|
|
||||||
stdcall enable_irq, [irq]
|
stdcall enable_irq, [irq]
|
||||||
|
mov eax, 1
|
||||||
ret
|
ret
|
||||||
.err:
|
.err:
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
|
@@ -15,7 +15,6 @@ $Revision$
|
|||||||
|
|
||||||
align 32
|
align 32
|
||||||
irq0:
|
irq0:
|
||||||
; pushfd
|
|
||||||
pushad
|
pushad
|
||||||
mov ax, app_data ;
|
mov ax, app_data ;
|
||||||
mov ds, ax
|
mov ds, ax
|
||||||
@@ -42,7 +41,6 @@ irq0:
|
|||||||
mov [DONT_SWITCH], byte 0
|
mov [DONT_SWITCH], byte 0
|
||||||
|
|
||||||
popad
|
popad
|
||||||
; popfd
|
|
||||||
iretd
|
iretd
|
||||||
|
|
||||||
.change_task:
|
.change_task:
|
||||||
@@ -227,9 +225,6 @@ do_change_task:
|
|||||||
@@:
|
@@:
|
||||||
mov eax, [ebx+APPDATA.saved_esp0]
|
mov eax, [ebx+APPDATA.saved_esp0]
|
||||||
mov [tss._esp0], eax
|
mov [tss._esp0], eax
|
||||||
; mov eax, [ebx+APPDATA.pl0_stack]
|
|
||||||
; add eax, RING0_STACK_SIZE
|
|
||||||
; mov [tss._esp0], eax
|
|
||||||
mov ax, graph_data
|
mov ax, graph_data
|
||||||
mov gs, ax
|
mov gs, ax
|
||||||
|
|
||||||
|
@@ -128,10 +128,10 @@ iglobal
|
|||||||
dd sys_settime ; 22-setting date,time,clock and alarm-clock
|
dd sys_settime ; 22-setting date,time,clock and alarm-clock
|
||||||
dd 0
|
dd 0
|
||||||
dd syscall_cdaudio ; 24-PlayCdTrack,StopCd and GetCdPlaylist
|
dd syscall_cdaudio ; 24-PlayCdTrack,StopCd and GetCdPlaylist
|
||||||
dd sys_sb16 ; 25-SetSb16
|
dd 0 ;
|
||||||
dd sys_getsetup ; 26-GetMidiBase,GetKeymap,GetShiftKeymap,.
|
dd sys_getsetup ; 26-GetMidiBase,GetKeymap,GetShiftKeymap,.
|
||||||
dd 0
|
dd 0
|
||||||
dd sys_sb16II ; 28-SetSb16
|
dd 0 ;
|
||||||
dd 0
|
dd 0
|
||||||
dd sys_current_directory ; 30-Get/SetCurrentDirectory
|
dd sys_current_directory ; 30-Get/SetCurrentDirectory
|
||||||
dd 0
|
dd 0
|
||||||
@@ -208,10 +208,10 @@ iglobal
|
|||||||
dd cross_order ; 22-setting date,time,clock and alarm-clock
|
dd cross_order ; 22-setting date,time,clock and alarm-clock
|
||||||
dd sys_wait_event_timeout ; 23-TimeOutWaitForEvent
|
dd sys_wait_event_timeout ; 23-TimeOutWaitForEvent
|
||||||
dd cross_order ; 24-PlayCdTrack,StopCd and GetCdPlaylist
|
dd cross_order ; 24-PlayCdTrack,StopCd and GetCdPlaylist
|
||||||
dd cross_order ; 25-SetSb16
|
dd undefined_syscall ; 25-reserved
|
||||||
dd cross_order ; 26-GetMidiBase,GetKeymap,GetShiftKeymap,.
|
dd cross_order ; 26-GetMidiBase,GetKeymap,GetShiftKeymap,.
|
||||||
dd undefined_syscall ; 27-reserved
|
dd undefined_syscall ; 27-reserved
|
||||||
dd cross_order ; 28-SetSb16
|
dd undefined_syscall ; 28-reserved
|
||||||
dd sys_date ; 29-GetDate
|
dd sys_date ; 29-GetDate
|
||||||
dd cross_order ; 30-Get/SetCurrentDirectory
|
dd cross_order ; 30-Get/SetCurrentDirectory
|
||||||
dd undefined_syscall ; 31-reserved
|
dd undefined_syscall ; 31-reserved
|
||||||
@@ -258,5 +258,5 @@ iglobal
|
|||||||
dd cross_order ; 72-Send window message
|
dd cross_order ; 72-Send window message
|
||||||
times 255 - ( ($-servetable2) /4 ) dd undefined_syscall
|
times 255 - ( ($-servetable2) /4 ) dd undefined_syscall
|
||||||
dd sys_end ; -1-end application
|
dd sys_end ; -1-end application
|
||||||
|
|
||||||
endg
|
endg
|
||||||
|
@@ -90,6 +90,7 @@ szHwMouse db 'ATI2D',0
|
|||||||
szPS2MDriver db 'PS2MOUSE',0
|
szPS2MDriver db 'PS2MOUSE',0
|
||||||
szCOM_MDriver db 'COM_MOUSE',0
|
szCOM_MDriver db 'COM_MOUSE',0
|
||||||
szUSB db 'USB',0
|
szUSB db 'USB',0
|
||||||
|
szAtiHW db '/rd/1/drivers/ati2d.drv',0
|
||||||
|
|
||||||
szSTART db 'START',0
|
szSTART db 'START',0
|
||||||
szEXPORTS db 'EXPORTS',0
|
szEXPORTS db 'EXPORTS',0
|
||||||
@@ -146,7 +147,6 @@ putpixel dd __sys_putpixel
|
|||||||
|
|
||||||
align 4
|
align 4
|
||||||
keyboard dd 1
|
keyboard dd 1
|
||||||
sound_dma dd 1
|
|
||||||
syslang dd 1
|
syslang dd 1
|
||||||
|
|
||||||
boot_y dd 10
|
boot_y dd 10
|
||||||
@@ -283,7 +283,9 @@ irq_tab rd 16
|
|||||||
mem_block_map rb 512
|
mem_block_map rb 512
|
||||||
event_map rb 64
|
event_map rb 64
|
||||||
mem_block_list rd 64
|
mem_block_list rd 64
|
||||||
|
large_block_list rd 31
|
||||||
mem_block_mask rd 2
|
mem_block_mask rd 2
|
||||||
|
large_block_mask rd 1
|
||||||
|
|
||||||
mem_used.fd rd 1
|
mem_used.fd rd 1
|
||||||
mem_used.bk rd 1
|
mem_used.bk rd 1
|
||||||
@@ -364,8 +366,6 @@ hdpos rd 1 ; for boot 0x1
|
|||||||
fat32part rd 1 ; for boot 0x1
|
fat32part rd 1 ; for boot 0x1
|
||||||
cdpos rd 1
|
cdpos rd 1
|
||||||
|
|
||||||
sb16 rd 1
|
|
||||||
|
|
||||||
;CPUID information
|
;CPUID information
|
||||||
cpu_vendor rd 3
|
cpu_vendor rd 3
|
||||||
cpu_sign rd 1
|
cpu_sign rd 1
|
||||||
|
@@ -41,7 +41,7 @@
|
|||||||
* esi = 0xXYRRGGBB - 梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* esi = 0xXYRRGGBB - 梥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* RR, GG, BB <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> ᠬ 梥<>
|
* RR, GG, BB <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> ᠬ 梥<>
|
||||||
* Y=0 - <20><><EFBFBD>筮<EFBFBD> <20><><EFBFBD><EFBFBD>, Y=1 - <20><><EFBFBD><EFBFBD>६<EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD> <20><><EFBFBD><EFBFBD>
|
* Y=0 - <20><><EFBFBD>筮<EFBFBD> <20><><EFBFBD><EFBFBD>, Y=1 - <20><><EFBFBD><EFBFBD>६<EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
* X <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20>ࠤ<EFBFBD><E0A0A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: X=0 - <20><><EFBFBD> <20>ࠤ<EFBFBD><E0A0A4><EFBFBD><EFBFBD><EFBFBD>,
|
* X <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20>ࠤ<EFBFBD><E0A0A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: X=0 - <20><><EFBFBD> <20>ࠤ<EFBFBD><E0A0A4><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
X=8 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ࠤ<EFBFBD><E0A0A4><EFBFBD><EFBFBD>,
|
X=8 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ࠤ<EFBFBD><E0A0A4><EFBFBD><EFBFBD>,
|
||||||
<20><><EFBFBD> <20><><EFBFBD><EFBFBD> ⨯<> II X=4 - <20><><EFBFBD><EFBFBD>⨢<EFBFBD><E2A8A2><EFBFBD> <20>ࠤ<EFBFBD><E0A0A4><EFBFBD><EFBFBD>
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD> ⨯<> II X=4 - <20><><EFBFBD><EFBFBD>⨢<EFBFBD><E2A8A2><EFBFBD> <20>ࠤ<EFBFBD><E0A0A4><EFBFBD><EFBFBD>
|
||||||
* <20><><EFBFBD>稥 <20><><EFBFBD>祭<EFBFBD><E7A5AD> X <20> Y <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>
|
* <20><><EFBFBD>稥 <20><><EFBFBD>祭<EFBFBD><E7A5AD> X <20> Y <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
<20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> (<28><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>) <20><><EFBFBD>⠥<EFBFBD><E2A0A5><EFBFBD> <20>㫥<EFBFBD>, <20> <20> <20> <20><><EFBFBD>
|
<20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> (<28><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>) <20><><EFBFBD>⠥<EFBFBD><E2A0A5><EFBFBD> <20>㫥<EFBFBD>, <20> <20> <20> <20><><EFBFBD>
|
||||||
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>騩 ࠧ<><E0A0A7><EFBFBD> (<28><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>)
|
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>騩 ࠧ<><E0A0A7><EFBFBD> (<28><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>)
|
||||||
<20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ࠧ<><E0A0A7><EFBFBD> <20><>࠭<EFBFBD>.
|
<20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ࠧ<><E0A0A7><EFBFBD> <20><>࠭<EFBFBD>.
|
||||||
|
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>稬 xpos,ypos,xsize,ysize - <20><><EFBFBD>祭<EFBFBD><E7A5AD>, <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>稬 xpos,ypos,xsize,ysize - <20><><EFBFBD>祭<EFBFBD><E7A5AD>, <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
<20> ebx,ecx. <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20>ਢ<EFBFBD><E0A8A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⭮<EFBFBD><E2ADAE>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>孥<EFBFBD><E5ADA5>
|
<20> ebx,ecx. <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20>ਢ<EFBFBD><E0A8A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⭮<EFBFBD><E2ADAE>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>孥<EFBFBD><E5ADA5>
|
||||||
㣫<> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ⠪<><E2A0AA> <20><>ࠧ<EFBFBD><E0A0A7>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> (0,0), <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD>
|
㣫<> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ⠪<><E2A0AA> <20><>ࠧ<EFBFBD><E0A0A7>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> (0,0), <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD>
|
||||||
@@ -661,7 +661,7 @@
|
|||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <><EFA2AB><EFBFBD><EFBFBD><EFBFBD> <20><>⨢<EFBFBD><E2A8A2><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨 7.
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <><EFA2AB><EFBFBD><EFBFBD><EFBFBD> <20><>⨢<EFBFBD><E2A8A2><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨 7.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
<20>㭪<EFBFBD><E3ADAA><EFBFBD> 18, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 4 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>稪 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪⮢ <20> ᥪ㭤<E1A5AA>.
|
<20>㭪<EFBFBD><E3ADAA><EFBFBD> 18, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 4 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>稪 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪⮢ <20> ᥪ㭤<E1A5AA>.
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>묨 ⠪⠬<E2A0AA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>६<EFBFBD>, <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⠨<EFBFBD><E2A0A8><EFBFBD><EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>묨 ⠪⠬<E2A0AA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>६<EFBFBD>, <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⠨<EFBFBD><E2A0A8><EFBFBD><EFBFBD>
|
||||||
<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD> (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>樨 hlt).
|
<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD> (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>樨 hlt).
|
||||||
@@ -682,7 +682,7 @@
|
|||||||
* eax = ⠪⮢<E2A0AA><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2^32 ⠪⮢ = 4<><34><EFBFBD>)
|
* eax = ⠪⮢<E2A0AA><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2^32 ⠪⮢ = 4<><34><EFBFBD>)
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
<20>㭪<EFBFBD><E3ADAA><EFBFBD> 18, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 6 - <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD> ࠬ<><E0A0AC><EFBFBD><EFBFBD> <20> 䠩<> <20><> <20><><EFBFBD>⪮<EFBFBD> <20><>᪥.
|
<20>㭪<EFBFBD><E3ADAA><EFBFBD> 18, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 6 - <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD> ࠬ<><E0A0AC><EFBFBD><EFBFBD> <20> 䠩<> <20><> <20><><EFBFBD>⪮<EFBFBD> <20><>᪥.
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
* eax = 18 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
* eax = 18 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||||
@@ -763,7 +763,7 @@
|
|||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><>窨 <20>७<EFBFBD><E0A5AD> <20>㭪樨 9 <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><>窨 <20>७<EFBFBD><E0A5AD> <20>㭪樨 9 <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
<20> ࠧ<><E0A0A7><EFBFBD><EFBFBD>.
|
<20> ࠧ<><E0A0A7><EFBFBD><EFBFBD>.
|
||||||
* <20><><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ந<EFBFBD>室<EFBFBD><E5AEA4> <20><><EFBFBD> <20><>⨢<EFBFBD><E2A8A2><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>
|
* <20><><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ந<EFBFBD>室<EFBFBD><E5AEA4> <20><><EFBFBD> <20><>⨢<EFBFBD><E2A8A2><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 3.
|
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 3.
|
||||||
* <20><><EFBFBD>筮 <20><><EFBFBD> <20><><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <> <><E1A2AE>稢<EFBFBD><E7A8A2><EFBFBD>/ࠧ<><E0A0A7><EFBFBD><EFBFBD>稢<EFBFBD><E7A8A2><EFBFBD> <> <20><><EFBFBD><EFBFBD>:
|
* <20><><EFBFBD>筮 <20><><EFBFBD> <20><><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <> <><E1A2AE>稢<EFBFBD><E7A8A2><EFBFBD>/ࠧ<><E0A0A7><EFBFBD><EFBFBD>稢<EFBFBD><E7A8A2><EFBFBD> <> <20><><EFBFBD><EFBFBD>:
|
||||||
<><E1A2AE>稢<EFBFBD><E7A8A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢫<EFBFBD><E2A2AB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⨨ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
<><E1A2AE>稢<EFBFBD><E7A8A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢫<EFBFBD><E2A2AB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⨨ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -1026,7 +1026,7 @@ dd 638
|
|||||||
* <20><><EFBFBD><EFBFBD><EFBFBD> eax = <20><><EFBFBD><EFBFBD><EFBFBD> <><E1ABAE>
|
* <20><><EFBFBD><EFBFBD><EFBFBD> eax = <20><><EFBFBD><EFBFBD><EFBFBD> <><E1ABAE>
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
<20>㭪<EFBFBD><E3ADAA><EFBFBD> 18, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 22 - <20><><EFBFBD><EFBFBD><EFBFBD>樨 <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>㣮<EFBFBD><E3A3AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><>⮪<EFBFBD>.
|
<20>㭪<EFBFBD><E3ADAA><EFBFBD> 18, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 22 - <20><><EFBFBD><EFBFBD><EFBFBD>樨 <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>㣮<EFBFBD><E3A3AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><>⮪<EFBFBD>.
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
* eax = 18 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
* eax = 18 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||||
@@ -1063,7 +1063,7 @@ dd 638
|
|||||||
* eax = 0 - <20>ᯥ譮
|
* eax = 0 - <20>ᯥ譮
|
||||||
* eax = 1 - <20><> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
* eax = 1 - <20><> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||||
* <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
* <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>㭪樨 1 <20>㭪樨 21.
|
<20><><EFBFBD><EFBFBD>㭪樨 1 <20>㭪樨 21.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
@@ -1079,7 +1079,7 @@ dd 638
|
|||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㤮<><E3A4AE><EFBFBD>⢮<EFBFBD><E2A2AE><EFBFBD><EFBFBD> <20><EFBFBD><E1ABAE><EFBFBD><EFBFBD> 0x100<=ecx<=0xFFFF.
|
* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㤮<><E3A4AE><EFBFBD>⢮<EFBFBD><E2A2AE><EFBFBD><EFBFBD> <20><EFBFBD><E1ABAE><EFBFBD><EFBFBD> 0x100<=ecx<=0xFFFF.
|
||||||
* <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>㦭<EFBFBD> <20><><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20>㭪樨 20.
|
* <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>㦭<EFBFBD> <20><><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20>㭪樨 20.
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>㭪樨 1 <20>㭪樨 26.
|
<20><><EFBFBD><EFBFBD>㭪樨 1 <20>㭪樨 26.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
@@ -1109,7 +1109,7 @@ dd 638
|
|||||||
<20><>ଠ<EFBFBD>쭠<EFBFBD> <20><>᪫<EFBFBD><E1AAAB><EFBFBD><EFBFBD>, <20><> 祣<> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⠥<EFBFBD><E2A0A5><EFBFBD> 0x60;
|
<20><>ଠ<EFBFBD>쭠<EFBFBD> <20><>᪫<EFBFBD><E1AAAB><EFBFBD><EFBFBD>, <20><> 祣<> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⠥<EFBFBD><E2A0A5><EFBFBD> 0x60;
|
||||||
<20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
<20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
<20><>ଠ<EFBFBD>쭠<EFBFBD> <20><>᪫<EFBFBD><E1AAAB><EFBFBD><EFBFBD>.
|
<20><>ଠ<EFBFBD>쭠<EFBFBD> <20><>᪫<EFBFBD><E1AAAB><EFBFBD><EFBFBD>.
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>᪫<EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><>࠭<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>᪫<EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><>࠭<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>㭪樨 2 <20>㭪樨 26.
|
<20><><EFBFBD><EFBFBD>㭪樨 2 <20>㭪樨 26.
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><>࠭<EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쭠<EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><>࠭<EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쭠<EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
ᠬ<><E1A0AC> <20><> <20><> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @panel <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD>
|
ᠬ<><E1A0AC> <20><> <20><> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @panel <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD>
|
||||||
@@ -1127,24 +1127,13 @@ dd 638
|
|||||||
* eax = 0
|
* eax = 0
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||||
* <20><><EFBFBD><EFBFBD> CD <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㭪樥<E3ADAA> 24.
|
* <20><><EFBFBD><EFBFBD> CD <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㭪樥<E3ADAA> 24.
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>㭪樨 3 <20>㭪樨 26.
|
<20><><EFBFBD><EFBFBD>㭪樨 3 <20>㭪樨 26.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 21, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 4 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Sound Blaster. =
|
== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 21, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 4 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Sound Blaster. =
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* eax = 21 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
|
||||||
* ebx = 4 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
|
|
||||||
* ecx = <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
|
||||||
* eax = 0 - <20>ᯥ譮
|
|
||||||
* eax = -1 - <20>訡<EFBFBD><E8A8A1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㤮<><E3A4AE><EFBFBD>⢮<EFBFBD><E2A2AE><EFBFBD><EFBFBD> <20><EFBFBD><E1ABAE><EFBFBD><EFBFBD> 0x100<=ecx<=0xFFFF.
|
|
||||||
* <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>㦭<EFBFBD> <20><><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20>㭪権 25, 28, 55.
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
|
||||||
<20><><EFBFBD><EFBFBD>㭪樨 4 <20>㭪樨 26.
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
========= <20>㭪<EFBFBD><E3ADAA><EFBFBD> 21, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 5 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD>. ========
|
========= <20>㭪<EFBFBD><E3ADAA><EFBFBD> 21, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 5 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD>. ========
|
||||||
@@ -1181,7 +1170,7 @@ dd 638
|
|||||||
* <20><> <><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<>⠥<EFBFBD>
|
* <20><> <><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<>⠥<EFBFBD>
|
||||||
<20> <20><><EFBFBD>⪨<EFBFBD> <20><><EFBFBD>. <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>⥬<EFBFBD>.
|
<20> <20><><EFBFBD>⪨<EFBFBD> <20><><EFBFBD>. <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>⥬<EFBFBD>.
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨 7 <20>㭪樨 26.
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨 7 <20>㭪樨 26.
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪<><E2A0AA> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD>㥬<EFBFBD><E3A5AC> ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD>⪮<EFBFBD><E2AAAE> <20><>᪠
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪<><E2A0AA> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD>㥬<EFBFBD><E3A5AC> ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD>⪮<EFBFBD><E2AAAE> <20><>᪠
|
||||||
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 8.
|
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 8.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
@@ -1204,26 +1193,15 @@ dd 638
|
|||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨 8
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨 8
|
||||||
<20>㭪樨 26.
|
<20>㭪樨 26.
|
||||||
* <20><EFBFBD>ப <20><> <20><><EFBFBD>४⭮<E0A5AA><E2ADAE><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
* <20><EFBFBD>ப <20><> <20><><EFBFBD>४⭮<E0A5AA><E2ADAE><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>⪮<EFBFBD> <20><>᪥ <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>⪮<EFBFBD> <20><>᪥ <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>㭪樨 11 <20>㭪樨 18.
|
<20><><EFBFBD><EFBFBD>㭪樨 11 <20>㭪樨 18.
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪<><E2A0AA> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>⪮<EFBFBD><E2AAAE> <20><>᪠
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪<><E2A0AA> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>⪮<EFBFBD><E2AAAE> <20><>᪠
|
||||||
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 7.
|
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 7.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
===== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 21, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 10 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> DMA <20><><EFBFBD> <20><>㪠. ====
|
===== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 21, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 10 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> DMA <20><><EFBFBD> <20><>㪠. ====
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
* eax = 21 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
|
||||||
* ebx = 10 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
|
|
||||||
* ecx = <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> 0 <20><> 3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥫쭮)
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
|
||||||
* eax = 0 - <20>ᯥ譮
|
|
||||||
* eax = -1 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DMA <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
|
|
||||||
<20><><EFBFBD><EFBFBD>㭪樨 1 <20>㭪樨 55.
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> DMA <20><><EFBFBD> <20><>㪠 <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
|
||||||
<20><><EFBFBD><EFBFBD>㭪樨 10 <20>㭪樨 26.
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
====================== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 21, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 11 =====================
|
====================== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 21, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 11 =====================
|
||||||
@@ -1308,13 +1286,13 @@ dd 638
|
|||||||
* ebx = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⨪<EFBFBD><E2A8AA>쭮<EFBFBD> ࠧ<><E0A0A7><EFBFBD>⪨ (<28> <20><>)
|
* ebx = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⨪<EFBFBD><E2A8AA>쭮<EFBFBD> ࠧ<><E0A0A7><EFBFBD>⪨ (<28> <20><>)
|
||||||
* ecx = <20><><EFBFBD><EFBFBD><EFBFBD> ⥪<>饣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>०<EFBFBD><E0A5A6><EFBFBD>
|
* ecx = <20><><EFBFBD><EFBFBD><EFBFBD> ⥪<>饣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>०<EFBFBD><E0A5A6><EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||||
* <20>ࠩ<EFBFBD><E0A0A9><EFBFBD> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
* <20>ࠩ<EFBFBD><E0A0A9><EFBFBD> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
||||||
<20>㭪樨 <20>ࠩ<EFBFBD><E0A0A9><EFBFBD><EFBFBD> 1.
|
<20>㭪樨 <20>ࠩ<EFBFBD><E0A0A9><EFBFBD><EFBFBD> 1.
|
||||||
* <20> <20>㦭<EFBFBD> ⮫쪮 ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20><>࠭<EFBFBD>, 楫<>ᮮ<EFBFBD>ࠧ<EFBFBD><E0A0A7><EFBFBD> <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD>
|
* <20> <20>㦭<EFBFBD> ⮫쪮 ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20><>࠭<EFBFBD>, 楫<>ᮮ<EFBFBD>ࠧ<EFBFBD><E0A0A7><EFBFBD> <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD>
|
||||||
<20>㭪<EFBFBD><E3ADAA><EFBFBD> 14 <20> <20><><EFBFBD>⮬ ⮣<>, <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20><> 1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
<20>㭪<EFBFBD><E3ADAA><EFBFBD> 14 <20> <20><><EFBFBD>⮬ ⮣<>, <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20><> 1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
= <20>㭪<EFBFBD><E3ADAA><EFBFBD> 21, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 13, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 3 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>०<EFBFBD><E0A5A6>.
|
= <20>㭪<EFBFBD><E3ADAA><EFBFBD> 21, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 13, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 3 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>०<EFBFBD><E0A5A6>.
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
* eax = 21 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
* eax = 21 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||||
@@ -1327,7 +1305,7 @@ dd 638
|
|||||||
* eax = 0 - <20>ᯥ譮
|
* eax = 0 - <20>ᯥ譮
|
||||||
* ebx, ecx ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* ebx, ecx ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||||
* <20>ࠩ<EFBFBD><E0A0A9><EFBFBD> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
* <20>ࠩ<EFBFBD><E0A0A9><EFBFBD> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
||||||
<20>㭪樨 <20>ࠩ<EFBFBD><E0A0A9><EFBFBD><EFBFBD> 1.
|
<20>㭪樨 <20>ࠩ<EFBFBD><E0A0A9><EFBFBD><EFBFBD> 1.
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>०<EFBFBD><E0A5A6><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> ⠡<><E2A0A1><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD>
|
* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>०<EFBFBD><E0A5A6><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> ⠡<><E2A0A1><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD>
|
||||||
<20>㭪樥<E3ADAA> <20>ࠩ<EFBFBD><E0A0A9><EFBFBD><EFBFBD> 1.
|
<20>㭪樥<E3ADAA> <20>ࠩ<EFBFBD><E0A0A9><EFBFBD><EFBFBD> 1.
|
||||||
@@ -1346,7 +1324,7 @@ dd 638
|
|||||||
* eax = 0 - <20>ᯥ譮
|
* eax = 0 - <20>ᯥ譮
|
||||||
* ebx, ecx ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* ebx, ecx ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||||
* <20>ࠩ<EFBFBD><E0A0A9><EFBFBD> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
* <20>ࠩ<EFBFBD><E0A0A9><EFBFBD> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
||||||
<20>㭪樨 <20>ࠩ<EFBFBD><E0A0A9><EFBFBD><EFBFBD> 1.
|
<20>㭪樨 <20>ࠩ<EFBFBD><E0A0A9><EFBFBD><EFBFBD> 1.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
@@ -1366,7 +1344,7 @@ dd 638
|
|||||||
* eax = 0 - <20>ᯥ譮
|
* eax = 0 - <20>ᯥ譮
|
||||||
* ebx, ecx ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* ebx, ecx ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||||
* <20>ࠩ<EFBFBD><E0A0A9><EFBFBD> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
* <20>ࠩ<EFBFBD><E0A0A9><EFBFBD> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
||||||
<20>㭪樨 <20>ࠩ<EFBFBD><E0A0A9><EFBFBD><EFBFBD> 1.
|
<20>㭪樨 <20>ࠩ<EFBFBD><E0A0A9><EFBFBD><EFBFBD> 1.
|
||||||
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><> 䨧<><E4A8A7><EFBFBD>᪨<EFBFBD> ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><> 䨧<><E4A8A7><EFBFBD>᪨<EFBFBD> ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
||||||
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>᪨<EFBFBD> ࠧ<><E0A0A7><EFBFBD> (<28><> <20><><EFBFBD>ᥫ<EFBFBD><E1A5AB>) <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
<20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>᪨<EFBFBD> ࠧ<><E0A0A7><EFBFBD> (<28><> <20><><EFBFBD>ᥫ<EFBFBD><E1A5AB>) <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
@@ -1447,7 +1425,7 @@ dd 638
|
|||||||
* eax = 0 - <20>ᯥ譮
|
* eax = 0 - <20>ᯥ譮
|
||||||
* eax = 1 - <20><> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD
|
* eax = 1 - <20><> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||||
* <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20>㦭<EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
* <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20>㦭<EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>㭪樨 3 <20>㭪樨 21.
|
<20><><EFBFBD><EFBFBD>㭪樨 3 <20>㭪樨 21.
|
||||||
* <20> ᥪ㭤<E1A5AA> 75 <20>३<EFBFBD><E0A5A9><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 60 ᥪ㭤.
|
* <20> ᥪ㭤<E1A5AA> 75 <20>३<EFBFBD><E0A5A9><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 60 ᥪ㭤.
|
||||||
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20>ᨭ<EFBFBD><EFBFBD><E0AEAD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><>砫<EFBFBD><E7A0AB><EFBFBD>
|
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20>ᨭ<EFBFBD><EFBFBD><E0AEAD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><>砫<EFBFBD><E7A0AB><EFBFBD>
|
||||||
@@ -1468,7 +1446,7 @@ dd 638
|
|||||||
* <20><>ଠ<EFBFBD> ⠡<><E2A0A1><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>ଠ樥<E0ACA0> <20> <20><><EFBFBD><E0AEA6><EFBFBD> ⠪<><E2A0AA> <20><>, <20><><EFBFBD> <20> <20><><EFBFBD>
|
* <20><>ଠ<EFBFBD> ⠡<><E2A0A1><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>ଠ樥<E0ACA0> <20> <20><><EFBFBD><E0AEA6><EFBFBD> ⠪<><E2A0AA> <20><>, <20><><EFBFBD> <20> <20><><EFBFBD>
|
||||||
ATAPI-CD <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 43h (READ TOC), <20><><EFBFBD>筮<EFBFBD> ⠡<><E2A0A1><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 00h).
|
ATAPI-CD <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 43h (READ TOC), <20><><EFBFBD>筮<EFBFBD> ⠡<><E2A0A1><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 00h).
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>ଠ<EFBFBD><E0ACA0> MSF.
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>ଠ<EFBFBD><E0ACA0> MSF.
|
||||||
* <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20>㦭<EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
* <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20>㦭<EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>㭪樨 3 <20>㭪樨 21.
|
<20><><EFBFBD><EFBFBD>㭪樨 3 <20>㭪樨 21.
|
||||||
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> ⮫쪮 <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> 祬 100
|
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> ⮫쪮 <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> 祬 100
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEA6><EFBFBD>. <20> <20><><EFBFBD><EFBFBD>設<EFBFBD>⢥ <20><><EFBFBD>砥<EFBFBD> <20>⮣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>筮.
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEA6><EFBFBD>. <20> <20><><EFBFBD><EFBFBD>設<EFBFBD>⢥ <20><><EFBFBD>砥<EFBFBD> <20>⮣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>筮.
|
||||||
@@ -1483,7 +1461,7 @@ dd 638
|
|||||||
* eax = 0 - <20>ᯥ譮
|
* eax = 0 - <20>ᯥ譮
|
||||||
* eax = 1 - <20><> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD
|
* eax = 1 - <20><> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||||
* <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20>㦭<EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
* <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20>㦭<EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>㭪樨 3 <20>㭪樨 21.
|
<20><><EFBFBD><EFBFBD>㭪樨 3 <20>㭪樨 21.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
@@ -1521,22 +1499,7 @@ dd 638
|
|||||||
======================================================================
|
======================================================================
|
||||||
============== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 25 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEAC><EFBFBD><EFBFBD><EFBFBD> SBPro. ==============
|
============== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 25 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEAC><EFBFBD><EFBFBD><EFBFBD> SBPro. ==============
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* eax = 25 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
|
||||||
* ebx = <20><><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
|
||||||
* 1 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEAC><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
* 2 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEAC><EFBFBD><EFBFBD><EFBFBD> CD-audio
|
|
||||||
* cl = <20><EFBFBD><E0AEA2><EFBFBD> <20><EFBFBD><E0AEAC><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD>訥 4 <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|
||||||
<20><><EFBFBD><EFBFBD>訥 4 - <20><><EFBFBD> <20>ࠢ<EFBFBD><E0A0A2>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
|
||||||
* eax = 0 - <20>ᯥ譮
|
|
||||||
* eax = 1 - <20><> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> SB
|
|
||||||
* eax = 2 - <20><><EFBFBD><EFBFBD>ୠ<EFBFBD> <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
|
||||||
* <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20>㦭<EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> SB <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
|
||||||
<20><><EFBFBD><EFBFBD>㭪樨 4 <20>㭪樨 21.
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪<><E2A0AA> <20>㭪<EFBFBD><E3ADAA><EFBFBD> 28
|
|
||||||
<20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><>㪠 <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> SB16.
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
===== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 26, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 1 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> MPU MIDI. =====
|
===== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 26, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 1 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> MPU MIDI. =====
|
||||||
@@ -1547,7 +1510,7 @@ dd 638
|
|||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
||||||
* eax = <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
* eax = <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||||
* <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
* <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>㭪樨 1 <20>㭪樨 21.
|
<20><><EFBFBD><EFBFBD>㭪樨 1 <20>㭪樨 21.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
@@ -1580,7 +1543,7 @@ dd 638
|
|||||||
<20><>ଠ<EFBFBD>쭠<EFBFBD> <20><>᪫<EFBFBD><E1AAAB><EFBFBD><EFBFBD>, <20><> 祣<> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⠥<EFBFBD><E2A0A5><EFBFBD> 0x60;
|
<20><>ଠ<EFBFBD>쭠<EFBFBD> <20><>᪫<EFBFBD><E1AAAB><EFBFBD><EFBFBD>, <20><> 祣<> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⠥<EFBFBD><E2A0A5><EFBFBD> 0x60;
|
||||||
<20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
<20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
<20><>ଠ<EFBFBD>쭠<EFBFBD> <20><>᪫<EFBFBD><E1AAAB><EFBFBD><EFBFBD>.
|
<20><>ଠ<EFBFBD>쭠<EFBFBD> <20><>᪫<EFBFBD><E1AAAB><EFBFBD><EFBFBD>.
|
||||||
* <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><>᪫<EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><>࠭<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><>᪫<EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><>࠭<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>㭪樨 2 <20>㭪樨 21.
|
<20><><EFBFBD><EFBFBD>㭪樨 2 <20>㭪樨 21.
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><>࠭<EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쭠<EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><>࠭<EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쭠<EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
ᠬ<><E1A0AC> <20><> <20><> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @panel <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD>
|
ᠬ<><E1A0AC> <20><> <20><> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @panel <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD>
|
||||||
@@ -1603,14 +1566,7 @@ dd 638
|
|||||||
======================================================================
|
======================================================================
|
||||||
=== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 26, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 4 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Sound Blaster. ==
|
=== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 26, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 4 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Sound Blaster. ==
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* eax = 26 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
|
||||||
* ebx = 4 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
|
||||||
* eax = <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
|
||||||
* <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>㦭<EFBFBD> <20><><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20>㭪権 25, 55.
|
|
||||||
* <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨 4 <20>㭪樨 21.
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
========== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 26, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 5 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD>. =========
|
========== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 26, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 5 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD>. =========
|
||||||
@@ -1679,15 +1635,7 @@ dd 638
|
|||||||
======================================================================
|
======================================================================
|
||||||
====== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 26, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 10 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> DMA <20><><EFBFBD> <20><>㪠. =====
|
====== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 26, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 10 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> DMA <20><><EFBFBD> <20><>㪠. =====
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* eax = 26 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
|
||||||
* ebx = 10 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
|
||||||
* eax = <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> 0 <20><> 3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥫쭮)
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DMA <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>㭪樨 1 <20>㭪樨 55.
|
|
||||||
* <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> DMA <20><><EFBFBD> <20><>㪠 <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
|
||||||
<20><><EFBFBD><EFBFBD>㭪樨 10 <20>㭪樨 21.
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
====================== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 26, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 11 =====================
|
====================== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 26, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 11 =====================
|
||||||
@@ -1700,7 +1648,7 @@ dd 638
|
|||||||
* eax = 0/1 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD>
|
* eax = 0/1 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||||
* <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> LBA-<2D>⥭<EFBFBD><E2A5AD> (<28><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 8 <20>㭪樨 58).
|
* <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> LBA-<2D>⥭<EFBFBD><E2A5AD> (<28><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 8 <20>㭪樨 58).
|
||||||
* <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> ⥪<>饥 <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
* <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> ⥪<>饥 <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>㭪樨 11 <20>㭪樨 21.
|
<20><><EFBFBD><EFBFBD>㭪樨 11 <20>㭪樨 21.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
@@ -1715,27 +1663,13 @@ dd 638
|
|||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||||
* <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20> 設<><E8A8AD> PCI (<28>㭪<EFBFBD><E3ADAA><EFBFBD> 62).
|
* <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20> 設<><E8A8AD> PCI (<28>㭪<EFBFBD><E3ADAA><EFBFBD> 62).
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ॠ<><E0A5A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD><EFBFBD>訩 <20><><EFBFBD> ecx.
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ॠ<><E0A5A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD><EFBFBD>訩 <20><><EFBFBD> ecx.
|
||||||
* <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> ⥪<>饥 <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
* <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> ⥪<>饥 <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>㭪樨 12 <20>㭪樨 21.
|
<20><><EFBFBD><EFBFBD>㭪樨 12 <20>㭪樨 21.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
=============== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 28 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEAC><EFBFBD><EFBFBD><EFBFBD> SB16. ==============
|
=============== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 28 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEAC><EFBFBD><EFBFBD><EFBFBD> SB16. ==============
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* eax = 28 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
|
||||||
* ebx = <20><><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
|
||||||
* 1 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEAC><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
* 2 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEAC><EFBFBD><EFBFBD><EFBFBD> CD-audio
|
|
||||||
* cl = <20><EFBFBD><E0AEA2><EFBFBD> <20><EFBFBD><E0AEAC><EFBFBD><EFBFBD><EFBFBD> (0=off, 0xFF=max)
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
|
||||||
* eax = 0 - <20>ᯥ譮
|
|
||||||
* eax = 1 - <20><> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> SB
|
|
||||||
* eax = 2 - <20><><EFBFBD><EFBFBD>ୠ<EFBFBD> <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
|
||||||
* <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20>㦭<EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> SB <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
|
||||||
<20><><EFBFBD><EFBFBD>㭪樨 4 <20>㭪樨 21.
|
|
||||||
* <20><><EFBFBD> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20>।<EFBFBD><E0A5A4>⠢<EFBFBD><E2A0A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ਠ<EFBFBD>⮢ <20><><EFBFBD> <20><EFBFBD><E0AEAC><EFBFBD><EFBFBD><EFBFBD>,
|
|
||||||
祬 <20>㭪<EFBFBD><E3ADAA><EFBFBD> 25.
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
================ <20>㭪<EFBFBD><E3ADAA><EFBFBD> 29 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD>. ===============
|
================ <20>㭪<EFBFBD><E3ADAA><EFBFBD> 29 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD>. ===============
|
||||||
@@ -1919,7 +1853,7 @@ dd 638
|
|||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
||||||
* eax = [<5B><>ਭ<EFBFBD>]*65536 + [<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
* eax = [<5B><>ਭ<EFBFBD>]*65536 + [<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||||
* <20><><EFBFBD><EFBFBD> <20><>ୠ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> ࠧ<><E0A0A7> 䮭<><E4AEAD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> -
|
* <20><><EFBFBD><EFBFBD> <20><>ୠ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> ࠧ<><E0A0A7> 䮭<><E4AEAD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> -
|
||||||
<20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 1 <20>㭪樨 15. <20><> <20><><EFBFBD><EFBFBD>ன, ࠧ㬥<E0A0A7><E3ACA5><EFBFBD><EFBFBD>, <><E1ABA5><EFBFBD><EFBFBD>
|
<20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 1 <20>㭪樨 15. <20><> <20><><EFBFBD><EFBFBD>ன, ࠧ㬥<E0A0A7><E3ACA5><EFBFBD><EFBFBD>, <><E1ABA5><EFBFBD><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> ᠬ<> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>.
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> ᠬ<> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
@@ -1938,7 +1872,7 @@ dd 638
|
|||||||
* <20><> <><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD> <20> <20><><EFBFBD>砥 <20><><EFBFBD><EFBFBD>୮<EFBFBD><E0ADAE>
|
* <20><> <><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD> <20> <20><><EFBFBD>砥 <20><><EFBFBD><EFBFBD>୮<EFBFBD><E0ADAE>
|
||||||
ᬥ饭<E1ACA5><E9A5AD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <><E1ABA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
ᬥ饭<E1ACA5><E9A5AD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <><E1ABA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||||
* <20><><EFBFBD>饭<EFBFBD><E9A5AD> <20><>窨 <20> <20><><EFBFBD>न<EFBFBD><E0A4A8>⠬<EFBFBD> (x,y) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> (x+y*xsize)*3.
|
* <20><><EFBFBD>饭<EFBFBD><E9A5AD> <20><>窨 <20> <20><><EFBFBD>न<EFBFBD><E0A4A8>⠬<EFBFBD> (x,y) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> (x+y*xsize)*3.
|
||||||
* <20><><EFBFBD><EFBFBD> <20><>ୠ<EFBFBD> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><>窨 <20><> 䮭<><E4AEAD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> -
|
* <20><><EFBFBD><EFBFBD> <20><>ୠ<EFBFBD> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> <20><>窨 <20><> 䮭<><E4AEAD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> -
|
||||||
<20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 2 <20>㭪樨 15.
|
<20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 2 <20>㭪樨 15.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
@@ -1951,7 +1885,7 @@ dd 638
|
|||||||
* eax = 1 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* eax = 1 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* eax = 2 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* eax = 2 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||||
* <20><><EFBFBD><EFBFBD> <20><>ୠ<EFBFBD> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> ०<><E0A5A6><EFBFBD> <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> 䮭<> -
|
* <20><><EFBFBD><EFBFBD> <20><>ୠ<EFBFBD> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> ०<><E0A5A6><EFBFBD> <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> 䮭<> -
|
||||||
<20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 4 <20>㭪樨 15.
|
<20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 4 <20>㭪樨 15.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
@@ -1992,7 +1926,7 @@ dd 638
|
|||||||
------------------------ <20>⥭<EFBFBD><E2A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -------------------------------
|
------------------------ <20>⥭<EFBFBD><E2A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -------------------------------
|
||||||
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IRQ <20><><EFBFBD>⥬<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 㪠<><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IRQ <20><><EFBFBD>⥬<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 㪠<><E3AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
࠭<EFBFBD><EFBFBD> <20>㭪樥<E3ADAA> 44 <20><><EFBFBD>⮢ <20> <20><><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
࠭<EFBFBD><EFBFBD> <20>㭪樥<E3ADAA> 44 <20><><EFBFBD>⮢ <20> <20><><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>⮣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>⮣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
㪠<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>⢥ <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD>.
|
㪠<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>⢥ <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD>.
|
||||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
* eax = 42 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
* eax = 42 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||||
@@ -2102,7 +2036,7 @@ dd 638
|
|||||||
<20><><EFBFBD> <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><> IRQ.
|
<20><><EFBFBD> <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><> IRQ.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
= <20>㭪<EFBFBD><E3ADAA><EFBFBD> 46 - <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>/<2F><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㯯<EFBFBD> <20><><EFBFBD>⮢ <20><><EFBFBD><EFBFBD><EFBFBD>/<2F>뢮<EFBFBD><EBA2AE>.
|
= <20>㭪<EFBFBD><E3ADAA><EFBFBD> 46 - <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>/<2F><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㯯<EFBFBD> <20><><EFBFBD>⮢ <20><><EFBFBD><EFBFBD><EFBFBD>/<2F>뢮<EFBFBD><EBA2AE>.
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD> <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⠬ <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
<EFBFBD> <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⠬ <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> in/out (४<><E0A5AA><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> ᯮᮡ) <20> <20>맮<EFBFBD><EBA7AE><EFBFBD> <20>㭪樨 43
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> in/out (४<><E0A5AA><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> ᯮᮡ) <20> <20>맮<EFBFBD><EBA7AE><EFBFBD> <20>㭪樨 43
|
||||||
@@ -2197,7 +2131,7 @@ dd 638
|
|||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
||||||
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>
|
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||||
* <20><> <20>맮<EFBFBD><EBA7AE> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20>㭪樨 <><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><>࠭
|
* <20><> <20>맮<EFBFBD><EBA7AE> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20>㭪樨 <><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><>࠭
|
||||||
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 0.
|
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 0.
|
||||||
* <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20>㭪樥<E3ADAA> 8.
|
* <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20>㭪樥<E3ADAA> 8.
|
||||||
|
|
||||||
@@ -2214,7 +2148,7 @@ dd 638
|
|||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
||||||
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>
|
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||||
* <20><> <20>맮<EFBFBD><EBA7AE> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20>㭪樨 <><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><>࠭
|
* <20><> <20>맮<EFBFBD><EBA7AE> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20>㭪樨 <><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><>࠭
|
||||||
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 0.
|
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 0.
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥⮢ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥⮢ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ⠡<><E2A0A1><EFBFBD><EFBFBD> <><EFA2AD> <20><>ࠧ<EFBFBD><E0A0A7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 3) <20>
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ⠡<><E2A0A1><EFBFBD><EFBFBD> <><EFA2AD> <20><>ࠧ<EFBFBD><E0A0A7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 3) <20>
|
||||||
@@ -2328,7 +2262,7 @@ dword-
|
|||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>筮 <20><> <20><><EFBFBD> y.
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>筮 <20><> <20><><EFBFBD> y.
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪<><E2A0AA> <20>㭪<EFBFBD><E3ADAA><EFBFBD> 14,
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪<><E2A0AA> <20>㭪<EFBFBD><E3ADAA><EFBFBD> 14,
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20>ᥣ<EFBFBD> <20><>࠭<EFBFBD>.
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20>ᥣ<EFBFBD> <20><>࠭<EFBFBD>.
|
||||||
* <20><><EFBFBD><EFBFBD> <20><>ୠ<EFBFBD> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD> ࠡ<>祩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -
|
* <20><><EFBFBD><EFBFBD> <20><>ୠ<EFBFBD> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD> ࠡ<>祩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -
|
||||||
<20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 5.
|
<20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 5.
|
||||||
* <20><><EFBFBD> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><>⮬<EFBFBD><E2AEAC><EFBFBD><EFBFBD><EFBFBD>᪨ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ뢠<E1AEA2><EBA2A0> <20><>࠭, <20><> 室<> <20><><EFBFBD><EFBFBD>
|
* <20><><EFBFBD> <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><>⮬<EFBFBD><E2AEAC><EFBFBD><EFBFBD><EFBFBD>᪨ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ뢠<E1AEA2><EBA2A0> <20><>࠭, <20><> 室<> <20><><EFBFBD><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20> ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20><><EFBFBD>ᨬ<EFBFBD><E1A8AC><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> <20> ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20><><EFBFBD>ᨬ<EFBFBD><E1A8AC><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||||
@@ -2452,7 +2386,7 @@ dword-
|
|||||||
* <20><><EFBFBD><EFBFBD><EFBFBD> eax = TID - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><>⮪<EFBFBD>
|
* <20><><EFBFBD><EFBFBD><EFBFBD> eax = TID - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><>⮪<EFBFBD>
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
= <20>㭪<EFBFBD><E3ADAA><EFBFBD> 52, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 0 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>䨣<EFBFBD><E4A8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⥢<EFBFBD><E2A5A2><EFBFBD> <20>ࠩ<EFBFBD><E0A0A9><EFBFBD><EFBFBD>.
|
= <20>㭪<EFBFBD><E3ADAA><EFBFBD> 52, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 0 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>䨣<EFBFBD><E4A8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⥢<EFBFBD><E2A5A2><EFBFBD> <20>ࠩ<EFBFBD><E0A0A9><EFBFBD><EFBFBD>.
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
* eax = 52 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
* eax = 52 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||||
@@ -2477,7 +2411,7 @@ dword-
|
|||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IP-<2D><><EFBFBD><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 3.
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IP-<2D><><EFBFBD><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 3.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
<20>㭪<EFBFBD><E3ADAA><EFBFBD> 52, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 2 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>䨣<EFBFBD><E4A8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⥢<EFBFBD><E2A5A2><EFBFBD> <20>ࠩ<EFBFBD><E0A0A9><EFBFBD><EFBFBD>.
|
<20>㭪<EFBFBD><E3ADAA><EFBFBD> 52, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 2 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>䨣<EFBFBD><E4A8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⥢<EFBFBD><E2A5A2><EFBFBD> <20>ࠩ<EFBFBD><E0A0A9><EFBFBD><EFBFBD>.
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
* eax = 52 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
* eax = 52 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||||
@@ -2825,7 +2759,7 @@ dword-
|
|||||||
* <20><EFBFBD>ન <20><> <20>ࠢ<EFBFBD><E0A0A2>쭮<EFBFBD><ECADAE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
* <20><EFBFBD>ન <20><> <20>ࠢ<EFBFBD><E0A0A2>쭮<EFBFBD><ECADAE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
<20>㭪<EFBFBD><E3ADAA><EFBFBD> 53, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 255 - <20>⫠<EFBFBD><E2ABA0>筠<EFBFBD> <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> <20><>⥢<EFBFBD><E2A5A2><EFBFBD> <20>ࠩ<EFBFBD><E0A0A9><EFBFBD><EFBFBD>.
|
<20>㭪<EFBFBD><E3ADAA><EFBFBD> 53, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 255 - <20>⫠<EFBFBD><E2ABA0>筠<EFBFBD> <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> <20><>⥢<EFBFBD><E2A5A2><EFBFBD> <20>ࠩ<EFBFBD><E0A0A9><EFBFBD><EFBFBD>.
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
* eax = 53 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
* eax = 53 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||||
@@ -3120,8 +3054,8 @@ dword-
|
|||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> - 512 <20><><EFBFBD><EFBFBD>; <20><>⠥<EFBFBD><E2A0A5><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> - 512 <20><><EFBFBD><EFBFBD>; <20><>⠥<EFBFBD><E2A0A5><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||||
* <20><> <><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>,
|
* <20><> <><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>,
|
||||||
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <><E1ABA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
<20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <><E1ABA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
* <20>ॡ<EFBFBD><E0A5A1><EFBFBD><EFBFBD><EFBFBD>, <20>⮡<EFBFBD> <20><><EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD> LBA-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>ன<EFBFBD>⢠<EFBFBD>
|
* <20>ॡ<EFBFBD><E0A5A1><EFBFBD><EFBFBD><EFBFBD>, <20>⮡<EFBFBD> <20><><EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD> LBA-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>ன<EFBFBD>⢠<EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 11 <20>㭪樨 21. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 11 <20>㭪樨 21. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
||||||
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 11 <20>㭪樨 26.
|
<20><><EFBFBD><EFBFBD>㭪樥<E3ADAA> 11 <20>㭪樨 26.
|
||||||
* LBA-<2D>⥭<EFBFBD><E2A5AD> <20><>᪥<EFBFBD><E1AAA5> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ন<EFBFBD><E0A6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
* LBA-<2D>⥭<EFBFBD><E2A5AD> <20><>᪥<EFBFBD><E1AAA5> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ন<EFBFBD><E0A6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䨧<><E4A8A7><EFBFBD><EFBFBD><E1AAAE> <20><><EFBFBD>⪮<EFBFBD><E2AAAE> <20><>᪠;
|
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䨧<><E4A8A7><EFBFBD><EFBFBD><E1AAAE> <20><><EFBFBD>⪮<EFBFBD><E2AAAE> <20><>᪠;
|
||||||
@@ -3135,7 +3069,7 @@ dword-
|
|||||||
<20><><EFBFBD> <20>㤥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᯥ宬 (eax=0).
|
<20><><EFBFBD> <20>㤥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᯥ宬 (eax=0).
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
= <20>㭪<EFBFBD><E3ADAA><EFBFBD> 58, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 15 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> <20> 䠩<><E4A0A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD>.
|
= <20>㭪<EFBFBD><E3ADAA><EFBFBD> 58, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 15 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD> <20> 䠩<><E4A0A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD>.
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
* eax = 58 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
* eax = 58 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||||
@@ -4016,7 +3950,7 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
|||||||
<20><>饬 <20><><EFBFBD>ᠭ<EFBFBD><E1A0AD>).
|
<20><>饬 <20><><EFBFBD>ᠭ<EFBFBD><E1A0AD>).
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
<20>㭪<EFBFBD><E3ADAA><EFBFBD> 69, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 7 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⫠<EFBFBD><E2ABA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
<20>㭪<EFBFBD><E3ADAA><EFBFBD> 69, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 7 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⫠<EFBFBD><E2ABA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
======================================================================
|
======================================================================
|
||||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
* eax = 69 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
* eax = 69 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||||
|
@@ -1128,18 +1128,7 @@ Remarks:
|
|||||||
======================================================================
|
======================================================================
|
||||||
====== Function 21, subfunction 4 - set Sound Blaster base port. =====
|
====== Function 21, subfunction 4 - set Sound Blaster base port. =====
|
||||||
======================================================================
|
======================================================================
|
||||||
Parameters:
|
Removed
|
||||||
* eax = 21 - function number
|
|
||||||
* ebx = 4 - subfunction number
|
|
||||||
* ecx = number of the base port
|
|
||||||
Returned value:
|
|
||||||
* eax = 0 - success
|
|
||||||
* eax = -1 - erratic port number
|
|
||||||
Remarks:
|
|
||||||
* Number of the port must satisfy to conditions 0x100<=ecx<=0xFFFF.
|
|
||||||
* The installation of the base is necessary for
|
|
||||||
functions 25, 28, 55.
|
|
||||||
* To get base port use subfunction 4 of function 26.
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
========== Function 21, subfunction 5 - set system language. =========
|
========== Function 21, subfunction 5 - set system language. =========
|
||||||
@@ -1204,16 +1193,7 @@ Remarks:
|
|||||||
======================================================================
|
======================================================================
|
||||||
======== Function 21, subfunction 10 - set sound DMA channel. ========
|
======== Function 21, subfunction 10 - set sound DMA channel. ========
|
||||||
======================================================================
|
======================================================================
|
||||||
Parameters:
|
Removed
|
||||||
* eax = 21 - function number
|
|
||||||
* ebx = 10 - subfunction number
|
|
||||||
* ecx = number of channel (from 0 up to 3 inclusively)
|
|
||||||
Returned value:
|
|
||||||
* eax = 0 - success
|
|
||||||
* eax = -1 - incorrect channel number
|
|
||||||
Remarks:
|
|
||||||
* Number of DMA channel is used in subfunction 1 of function 55.
|
|
||||||
* To get sound DMA channel use subfunction 10 of function 26.
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
Function 21, subfunction 11 - enable/disable low-level access to HD.
|
Function 21, subfunction 11 - enable/disable low-level access to HD.
|
||||||
@@ -1505,22 +1485,7 @@ Remarks:
|
|||||||
======================================================================
|
======================================================================
|
||||||
=================== Function 25 - set SBPro volume. ==================
|
=================== Function 25 - set SBPro volume. ==================
|
||||||
======================================================================
|
======================================================================
|
||||||
Parameters:
|
Removed
|
||||||
* eax = 25 - function number
|
|
||||||
* ebx = what to set:
|
|
||||||
* 1 - set common volume
|
|
||||||
* 2 - set CD-audio volume
|
|
||||||
* cl = volume level: high 4 bits for the left column,
|
|
||||||
low 4 bits for the right one
|
|
||||||
Returned value:
|
|
||||||
* eax = 0 - success
|
|
||||||
* eax = 1 - SB base is not defined
|
|
||||||
* eax = 2 - incorrect subfunction
|
|
||||||
Remarks:
|
|
||||||
* Previously SB base port must be defined by
|
|
||||||
subfunction 4 of function 21.
|
|
||||||
* See also function 28 which sets
|
|
||||||
volume for the later standard SB16.
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
======== Function 26, subfunction 1 - get MPU MIDI base port. ========
|
======== Function 26, subfunction 1 - get MPU MIDI base port. ========
|
||||||
@@ -1584,14 +1549,7 @@ Remarks:
|
|||||||
======================================================================
|
======================================================================
|
||||||
====== Function 26, subfunction 4 - get Sound Blaster base port. =====
|
====== Function 26, subfunction 4 - get Sound Blaster base port. =====
|
||||||
======================================================================
|
======================================================================
|
||||||
Parameters:
|
Removed
|
||||||
* eax = 26 - function number
|
|
||||||
* ebx = 4 - subfunction number
|
|
||||||
Returned value:
|
|
||||||
* eax = base port number
|
|
||||||
Remarks:
|
|
||||||
* Bae port is used by functions 25, 55.
|
|
||||||
* To set base port use subfunction 4 of function 21.
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
========== Function 26, subfunction 5 - get system language. =========
|
========== Function 26, subfunction 5 - get system language. =========
|
||||||
@@ -1658,14 +1616,7 @@ Remarks:
|
|||||||
======================================================================
|
======================================================================
|
||||||
======== Function 26, subfunction 10 - get sound DMA channel. ========
|
======== Function 26, subfunction 10 - get sound DMA channel. ========
|
||||||
======================================================================
|
======================================================================
|
||||||
Parameters:
|
Removed
|
||||||
* eax = 26 - function number
|
|
||||||
* ebx = 10 - subfunction number
|
|
||||||
Returned value:
|
|
||||||
* eax = number of the channel (from 0 to 3 inclusive)
|
|
||||||
Remarks:
|
|
||||||
* Number of the DMA channel is used by subfunction 1 of function 55.
|
|
||||||
* To set the sound DMA channel use subfunction 10 of function 21.
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
===================== Function 26, subfunction 11 ====================
|
===================== Function 26, subfunction 11 ====================
|
||||||
@@ -1697,20 +1648,7 @@ Remarks:
|
|||||||
======================================================================
|
======================================================================
|
||||||
=================== Function 28 - set SB16 volume. ===================
|
=================== Function 28 - set SB16 volume. ===================
|
||||||
======================================================================
|
======================================================================
|
||||||
Parameters:
|
Removed
|
||||||
* eax = 28 - function number
|
|
||||||
* ebx = what to install:
|
|
||||||
* 1 - install common volume
|
|
||||||
* 2 - install CD-audio volume
|
|
||||||
* cl = volume level (0=off, 0xFF=max)
|
|
||||||
Returned value:
|
|
||||||
* eax = 0 - success
|
|
||||||
* eax = 1 - SB base is not defined
|
|
||||||
* eax = 2 - incorrect subfunction
|
|
||||||
Remarks:
|
|
||||||
* Previously SB base port must be defined by
|
|
||||||
subfunction 4 of function 21.
|
|
||||||
* This function gives more variants for volume, that function 25.
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
=================== Function 29 - get system date. ===================
|
=================== Function 29 - get system date. ===================
|
||||||
|
@@ -7,6 +7,8 @@
|
|||||||
|
|
||||||
format MS COFF
|
format MS COFF
|
||||||
|
|
||||||
|
DEBUG equ 1
|
||||||
|
|
||||||
include 'proc32.inc'
|
include 'proc32.inc'
|
||||||
include 'imports.inc'
|
include 'imports.inc'
|
||||||
|
|
||||||
@@ -14,8 +16,6 @@ R500_HW2D equ 0
|
|||||||
|
|
||||||
API_VERSION equ 0x01000100
|
API_VERSION equ 0x01000100
|
||||||
|
|
||||||
DEBUG equ 1
|
|
||||||
|
|
||||||
STRIDE equ 8
|
STRIDE equ 8
|
||||||
|
|
||||||
VID_ATI equ 0x1002
|
VID_ATI equ 0x1002
|
||||||
|
@@ -11,14 +11,12 @@
|
|||||||
|
|
||||||
format MS COFF
|
format MS COFF
|
||||||
|
|
||||||
API_VERSION equ 5 ;debug
|
DEBUG equ 0
|
||||||
|
|
||||||
include 'proc32.inc'
|
include 'proc32.inc'
|
||||||
include 'imports.inc'
|
include 'imports.inc'
|
||||||
|
|
||||||
OS_BASE equ 0x80000000;
|
API_VERSION equ 5 ;debug
|
||||||
new_app_base equ 0x0
|
|
||||||
PROC_BASE equ OS_BASE+0x0080000
|
|
||||||
|
|
||||||
struc IOCTL
|
struc IOCTL
|
||||||
{ .handle dd ?
|
{ .handle dd ?
|
||||||
@@ -36,7 +34,6 @@ end virtual
|
|||||||
public START
|
public START
|
||||||
public version
|
public version
|
||||||
|
|
||||||
DEBUG equ 0
|
|
||||||
|
|
||||||
DRV_ENTRY equ 1
|
DRV_ENTRY equ 1
|
||||||
DRV_EXIT equ -1
|
DRV_EXIT equ -1
|
||||||
|
@@ -9,12 +9,12 @@
|
|||||||
|
|
||||||
format MS COFF
|
format MS COFF
|
||||||
|
|
||||||
|
DEBUG equ 1
|
||||||
|
|
||||||
|
|
||||||
include 'proc32.inc'
|
include 'proc32.inc'
|
||||||
include 'imports.inc'
|
include 'imports.inc'
|
||||||
|
|
||||||
DEBUG equ 1
|
|
||||||
|
|
||||||
REMAP_IRQ equ 0
|
REMAP_IRQ equ 0
|
||||||
|
|
||||||
;irq 0,1,2,8,12,13 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
;irq 0,1,2,8,12,13 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
@@ -6,8 +6,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
macro kernel_export [name]{
|
macro kernel_export [name]{
|
||||||
forward
|
forward
|
||||||
;display `name,#13,#10
|
|
||||||
if used name
|
if used name
|
||||||
|
if DEBUG
|
||||||
|
display 'uses: ',`name,#13,#10
|
||||||
|
end if
|
||||||
extrn name
|
extrn name
|
||||||
end if
|
end if
|
||||||
}
|
}
|
||||||
@@ -19,6 +21,7 @@ kernel_export \
|
|||||||
GetService,\
|
GetService,\
|
||||||
ServiceHandler,\
|
ServiceHandler,\
|
||||||
AttachIntHandler,\
|
AttachIntHandler,\
|
||||||
|
GetIntHandler,\
|
||||||
FpuSave,\
|
FpuSave,\
|
||||||
FpuRestore,\
|
FpuRestore,\
|
||||||
ReservePortArea,\
|
ReservePortArea,\
|
||||||
|
@@ -10,6 +10,13 @@
|
|||||||
|
|
||||||
format MS COFF
|
format MS COFF
|
||||||
|
|
||||||
|
DEBUG equ 1
|
||||||
|
|
||||||
|
|
||||||
|
include 'proc32.inc'
|
||||||
|
include 'main.inc'
|
||||||
|
include 'imports.inc'
|
||||||
|
|
||||||
|
|
||||||
CURRENT_API equ 0x0101 ;1.01
|
CURRENT_API equ 0x0101 ;1.01
|
||||||
COMPATIBLE_API equ 0x0100 ;1.00
|
COMPATIBLE_API equ 0x0100 ;1.00
|
||||||
@@ -18,13 +25,6 @@ API_VERSION equ (COMPATIBLE_API shl 16) or CURRENT_API
|
|||||||
SOUND_VERSION equ CURRENT_API
|
SOUND_VERSION equ CURRENT_API
|
||||||
|
|
||||||
|
|
||||||
include 'proc32.inc'
|
|
||||||
|
|
||||||
;include 'system.inc'
|
|
||||||
include 'main.inc'
|
|
||||||
|
|
||||||
include 'imports.inc'
|
|
||||||
|
|
||||||
FORCE_MMX equ 0 ;set to 1 to force use mmx or
|
FORCE_MMX equ 0 ;set to 1 to force use mmx or
|
||||||
FORCE_MMX_128 equ 0 ;integer sse2 extensions
|
FORCE_MMX_128 equ 0 ;integer sse2 extensions
|
||||||
;and reduce driver size
|
;and reduce driver size
|
||||||
@@ -33,9 +33,6 @@ FORCE_MMX_128 equ 0 ;integer sse2 extensions
|
|||||||
|
|
||||||
USE_SSE2_MIXER equ 0 ;floating point mixer. Disabled by default
|
USE_SSE2_MIXER equ 0 ;floating point mixer. Disabled by default
|
||||||
|
|
||||||
DEBUG equ 1
|
|
||||||
|
|
||||||
|
|
||||||
OS_BASE equ 0x80000000
|
OS_BASE equ 0x80000000
|
||||||
|
|
||||||
CAPS_SSE2 equ 26
|
CAPS_SSE2 equ 26
|
||||||
@@ -1209,7 +1206,7 @@ resampler_params:
|
|||||||
;r_size r_dt resampler_func
|
;r_size r_dt resampler_func
|
||||||
dd 0,0,0 ; 0 PCM_ALL
|
dd 0,0,0 ; 0 PCM_ALL
|
||||||
dd 16384, 0, copy_stream ; 1 PCM_2_16_48
|
dd 16384, 0, copy_stream ; 1 PCM_2_16_48
|
||||||
dd 16384, 0, m16_stereo ; 2 PCM_1_16_48
|
dd 8192, 0, m16_stereo ; 2 PCM_1_16_48
|
||||||
|
|
||||||
dd 16384, 30109, resample_2 ; 3 PCM_2_16_44
|
dd 16384, 30109, resample_2 ; 3 PCM_2_16_44
|
||||||
dd 8192, 30109, resample_1 ; 4 PCM_1_16_44
|
dd 8192, 30109, resample_1 ; 4 PCM_1_16_44
|
||||||
|
@@ -71,7 +71,7 @@ macro epiloguedef procname,flag,parmbytes,localbytes,reglist
|
|||||||
if parmbytes | localbytes
|
if parmbytes | localbytes
|
||||||
leave
|
leave
|
||||||
end if
|
end if
|
||||||
if (flag and 10000b) | (parmbytes=0)
|
if flag and 10000b
|
||||||
retn
|
retn
|
||||||
else
|
else
|
||||||
retn parmbytes
|
retn parmbytes
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
format MS COFF
|
format MS COFF
|
||||||
|
|
||||||
|
DEBUG equ 0
|
||||||
|
|
||||||
include 'proc32.inc'
|
include 'proc32.inc'
|
||||||
include 'imports.inc'
|
include 'imports.inc'
|
||||||
|
|
||||||
@@ -47,12 +49,12 @@ proc START stdcall, state:dword
|
|||||||
test eax,eax
|
test eax,eax
|
||||||
jnz .stop_try
|
jnz .stop_try
|
||||||
mov [MouseType],MT_3BScroll
|
mov [MouseType],MT_3BScroll
|
||||||
|
|
||||||
call try_mode_ID4
|
call try_mode_ID4
|
||||||
test eax,eax
|
test eax,eax
|
||||||
jnz .stop_try
|
jnz .stop_try
|
||||||
mov [MouseType],MT_5BScroll
|
mov [MouseType],MT_5BScroll
|
||||||
|
|
||||||
.stop_try:
|
.stop_try:
|
||||||
|
|
||||||
mov bl, 0x20 ; read command byte
|
mov bl, 0x20 ; read command byte
|
||||||
@@ -81,7 +83,7 @@ proc START stdcall, state:dword
|
|||||||
|
|
||||||
mov bl, 0xAE ; enable keyboard interface
|
mov bl, 0xAE ; enable keyboard interface
|
||||||
call kbd_cmd
|
call kbd_cmd
|
||||||
|
|
||||||
stdcall AttachIntHandler, 12, irq_handler, dword 0
|
stdcall AttachIntHandler, 12, irq_handler, dword 0
|
||||||
stdcall RegService, my_service, service_proc
|
stdcall RegService, my_service, service_proc
|
||||||
ret
|
ret
|
||||||
|
41
kernel/trunk/drivers/sb16/CONFIG.INC
Normal file
41
kernel/trunk/drivers/sb16/CONFIG.INC
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
;flags------------------------------------------------------------
|
||||||
|
DEBUG equ 1 ;show messages at debug board
|
||||||
|
use_cli_sti equ 1 ;driver come more stable (theoretically)
|
||||||
|
|
||||||
|
;constants--------------------------------------------------------
|
||||||
|
API_VERSION equ 0 ;debug
|
||||||
|
|
||||||
|
OS_BASE equ 0x80000000
|
||||||
|
new_app_base equ 0x0
|
||||||
|
PROC_BASE equ (OS_BASE+0x080000)
|
||||||
|
SB16Buffer equ (OS_BASE+0x2A0000)
|
||||||
|
SB16_Status equ (OS_BASE+0x2B0000)
|
||||||
|
DMAPage equ ((SB16Buffer-OS_BASE) shr 16)
|
||||||
|
|
||||||
|
SB16Buffer0 equ SB16Buffer
|
||||||
|
SB16Buffer1 equ (SB16Buffer+16384)
|
||||||
|
SB16Buffer2 equ (SB16Buffer+(2*16384))
|
||||||
|
SB16Buffer3 equ (SB16Buffer+(3*16384))
|
||||||
|
|
||||||
|
sb_irq_num equ 5
|
||||||
|
sb_dma_num equ 5
|
||||||
|
sb_buffer_size equ 32768 ;really it needs code modifications to change
|
||||||
|
;buffer size
|
||||||
|
sb_out_rate equ 44100
|
||||||
|
;time constant for cards older than SB16
|
||||||
|
|
||||||
|
sb_tc equ (256-(1000000/(sb_out_rate*2)))
|
||||||
|
|
||||||
|
SRV_GETVERSION equ 0
|
||||||
|
DEV_PLAY equ 1
|
||||||
|
DEV_STOP equ 2
|
||||||
|
DEV_CALLBACK equ 3
|
||||||
|
DEV_SET_BUFF equ 4
|
||||||
|
DEV_NOTIFY equ 5
|
||||||
|
DEV_SET_MASTERVOL equ 6
|
||||||
|
DEV_GET_MASTERVOL equ 7
|
||||||
|
DEV_GET_INFO equ 8
|
||||||
|
|
||||||
|
DRV_ENTRY equ 1
|
||||||
|
DRV_EXIT equ -1
|
||||||
|
|
239
kernel/trunk/drivers/sb16/SB16.INC
Normal file
239
kernel/trunk/drivers/sb16/SB16.INC
Normal file
@@ -0,0 +1,239 @@
|
|||||||
|
;--------------------------------
|
||||||
|
; program dma
|
||||||
|
;--------------------------------
|
||||||
|
sb_set_dma:
|
||||||
|
mov ebx,[sound_dma]
|
||||||
|
lea eax,[ebx+4] ;mask required channel
|
||||||
|
cmp bl,4
|
||||||
|
ja .use_second_dma_controller
|
||||||
|
jb @f
|
||||||
|
.dma_setup_error:
|
||||||
|
if DEBUG
|
||||||
|
mov esi,msgErrDMAsetup
|
||||||
|
call SysMsgBoardStr
|
||||||
|
end if
|
||||||
|
mov dword[esp],START.stop
|
||||||
|
ret
|
||||||
|
@@:
|
||||||
|
if use_cli_sti
|
||||||
|
cli ;here to minimize time with disabled ints
|
||||||
|
end if
|
||||||
|
out 0xA,al ;mask required channel
|
||||||
|
|
||||||
|
xor eax,eax
|
||||||
|
out 0xC,al ;clear byte pointer flip-flop register
|
||||||
|
|
||||||
|
lea eax,[ebx+0x58] ;auto-init mode for channel (ebx)
|
||||||
|
out 0xB,al ;DMA channel 0-3 mode register
|
||||||
|
|
||||||
|
movzx edx,byte[ebx+dma_table] ;page register
|
||||||
|
mov al,DMAPage
|
||||||
|
out dx,al
|
||||||
|
|
||||||
|
lea edx,[ebx*2] ;DMA channel 0-3 base address
|
||||||
|
|
||||||
|
mov al,0 ;LSB is 0
|
||||||
|
out dx,al
|
||||||
|
|
||||||
|
; mov al,0 ;MSB is 0 too
|
||||||
|
out dx,al
|
||||||
|
|
||||||
|
inc edx ;DMA channel 0-3 byte count
|
||||||
|
|
||||||
|
mov al,((sb_buffer_size-1) and 0xff)
|
||||||
|
out dx,al
|
||||||
|
|
||||||
|
mov al,((sb_buffer_size-1) shr 8) ;it is the same
|
||||||
|
out dx,al
|
||||||
|
|
||||||
|
mov eax,ebx ;unmask DMA channel
|
||||||
|
out 0xA,al
|
||||||
|
|
||||||
|
if use_cli_sti
|
||||||
|
sti
|
||||||
|
end if
|
||||||
|
ret
|
||||||
|
|
||||||
|
.use_second_dma_controller:
|
||||||
|
cmp bl,7
|
||||||
|
ja .dma_setup_error
|
||||||
|
|
||||||
|
sub bl,4
|
||||||
|
sub al,4
|
||||||
|
if use_cli_sti
|
||||||
|
cli ;here to minimize time with disabled ints
|
||||||
|
end if
|
||||||
|
out 0xD4,al ;mask required channel
|
||||||
|
|
||||||
|
xor eax,eax
|
||||||
|
out 0xD8,al ;clear byte pointer flip-flop register
|
||||||
|
|
||||||
|
lea eax,[ebx+0x58] ;auto-init mode for channel (ebx+4)
|
||||||
|
out 0xD6,al ;DMA channel 4-7 mode register
|
||||||
|
|
||||||
|
movzx edx,byte[ebx+dma_table+4] ;page register
|
||||||
|
mov al,DMAPage
|
||||||
|
out dx,al
|
||||||
|
|
||||||
|
lea edx,[ebx*4+0xC0] ;DMA channel 4-7 base address
|
||||||
|
|
||||||
|
mov al,0 ;LSB is 0 ;for 16bit DMA this contains
|
||||||
|
out dx,al ;A1-A8 lines of address bus, A0 is zero
|
||||||
|
|
||||||
|
; mov al,0 ;MSB is 0 too ;for 16bit DMA this contains
|
||||||
|
out dx,al ;A9-A16 lines of address bus
|
||||||
|
|
||||||
|
inc edx
|
||||||
|
inc edx ;DMA channel 4-7 16bit word count
|
||||||
|
|
||||||
|
mov al,(((sb_buffer_size/2)-1) and 0xff)
|
||||||
|
out dx,al
|
||||||
|
|
||||||
|
mov al,(((sb_buffer_size/2)-1) shr 8)
|
||||||
|
out dx,al
|
||||||
|
|
||||||
|
mov eax,ebx ;unmask DMA channel
|
||||||
|
out 0xD4,al
|
||||||
|
|
||||||
|
if use_cli_sti
|
||||||
|
sti
|
||||||
|
end if
|
||||||
|
ret
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
; out byte to SB DSP's write port
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
macro sb_out data_to_out {
|
||||||
|
@@:
|
||||||
|
in al,dx
|
||||||
|
test al,al ;is DSP busy?
|
||||||
|
js @b ;it's busy
|
||||||
|
mov al,data_to_out ;it's free
|
||||||
|
out dx,al
|
||||||
|
}
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
; stop playing
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
proc sb_stop
|
||||||
|
mov edx,[sb_base_port]
|
||||||
|
add dl,0xC
|
||||||
|
sb_out 0xD3 ;turn the speaker off
|
||||||
|
sb_out 0xDA ;exit 8bit DMA
|
||||||
|
sb_out 0xD9 ;exit 16bit DMA
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
; start playing
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
proc sb_play
|
||||||
|
and [int_flip_flop],0
|
||||||
|
mov edx,[sb_base_port]
|
||||||
|
add dl,0xC
|
||||||
|
sb_out 0xD1 ;turn speaker on
|
||||||
|
; sb_out 0x48 ;set DSP transfer size ;for older cards
|
||||||
|
|
||||||
|
; mov ax,32767 ;(64k)/2-1
|
||||||
|
;@@: ;out the low byte...
|
||||||
|
; in al,dx
|
||||||
|
; test al,al ;is DSP busy?
|
||||||
|
; js @b ;it's busy
|
||||||
|
; out dx,al
|
||||||
|
|
||||||
|
; mov al,ah ;...then the high byte
|
||||||
|
;@@:
|
||||||
|
; in al,dx
|
||||||
|
; test al,al ;is DSP busy?
|
||||||
|
; js @b ;it's busy
|
||||||
|
; out dx,al
|
||||||
|
|
||||||
|
; sb_out 0x1C ;auto-init 8bit playback
|
||||||
|
|
||||||
|
; 0xBXh - 16 bit DMA mode
|
||||||
|
; ||||
|
||||||
|
sb_out 10110110b ;bCommand
|
||||||
|
; ||||
|
||||||
|
; |||+-reserved
|
||||||
|
; ||+--turn FIFO on (0 for off)
|
||||||
|
; |+---auto-init mode on (0 for off)
|
||||||
|
; +----A/D: 0-output, 1-input
|
||||||
|
; +------stereo on
|
||||||
|
; |+-----unsigned (1 for signed)
|
||||||
|
; ||
|
||||||
|
sb_out 00110000b ;bMode
|
||||||
|
; || ||||
|
||||||
|
; ---------reserved
|
||||||
|
;wSize is a number of 16bit samples less 1. For auto-init mode each half
|
||||||
|
;buffer is (64k)/2 bytes long and, obviously, contains ((64k)/2)/2 bytes
|
||||||
|
sb_out (((sb_buffer_size/2/2)-1) and 0xFF) ;wSize.LowByte
|
||||||
|
sb_out (((sb_buffer_size/2/2)-1) shr 8) ;wSize.HighByte
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
; reset DSP
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
proc sb_reset
|
||||||
|
and [int_flip_flop],0
|
||||||
|
mov edx,[sb_base_port]
|
||||||
|
add dl,6
|
||||||
|
mov al,1 ;start DSP reset
|
||||||
|
|
||||||
|
if use_cli_sti
|
||||||
|
cli ;here to minimize time with disabled ints
|
||||||
|
end if
|
||||||
|
out dx,al
|
||||||
|
mov ecx,40 ;wait at least 3 microsec.
|
||||||
|
@@:
|
||||||
|
in al,dx
|
||||||
|
loop @b
|
||||||
|
|
||||||
|
xor eax,eax ;stop DSP reset
|
||||||
|
if use_cli_sti
|
||||||
|
sti
|
||||||
|
end if
|
||||||
|
out dx,al
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
; set the rate for playing, enable stereo
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
proc sb_setup
|
||||||
|
mov edx,[sb_base_port]
|
||||||
|
add dl,0xC
|
||||||
|
sb_out 40h ;set time constant, this is for old cards
|
||||||
|
sb_out sb_tc
|
||||||
|
|
||||||
|
sb_out 41h ;set sound rate, this can only SB16
|
||||||
|
sb_out (sb_out_rate shr 8) ;first high byte (MSB)
|
||||||
|
sb_out (sb_out_rate and 0xff) ;then low byte (LSB)
|
||||||
|
; mov al,0xE
|
||||||
|
; sub dl,(0xC-4) ;talk to SB's mixer
|
||||||
|
; out dx,al ;select this register of the mixer
|
||||||
|
; mov ecx,6 ;wait for the chip
|
||||||
|
;@@:
|
||||||
|
; in al,dx
|
||||||
|
; loop @b
|
||||||
|
|
||||||
|
; inc edx ;now read the data port
|
||||||
|
; in al,dx
|
||||||
|
; or al,22h ;turn on stereo
|
||||||
|
; mov ah,al
|
||||||
|
|
||||||
|
; mov al,0xE
|
||||||
|
; dec edx ;talk to SB's mixer
|
||||||
|
; out dx,al ;select this register of the mixer
|
||||||
|
|
||||||
|
; mov ecx,6 ;wait for the chip
|
||||||
|
;@@:
|
||||||
|
; in al,dx
|
||||||
|
; loop @b
|
||||||
|
|
||||||
|
; inc edx ;now send data to the data port
|
||||||
|
; mov al,ah
|
||||||
|
; out dx,al
|
||||||
|
|
||||||
|
; dec edx
|
||||||
|
; mov ecx,35 ;wait for the chip
|
||||||
|
;@@:
|
||||||
|
; in al,dx
|
||||||
|
; loop @b
|
||||||
|
ret
|
||||||
|
endp
|
375
kernel/trunk/drivers/sb16/sb16.asm
Normal file
375
kernel/trunk/drivers/sb16/sb16.asm
Normal file
@@ -0,0 +1,375 @@
|
|||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; ;;
|
||||||
|
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
|
||||||
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
|
;; ;;
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
format MS COFF
|
||||||
|
|
||||||
|
include 'config.inc'
|
||||||
|
|
||||||
|
;structs----------------------------------------------------------
|
||||||
|
struc IOCTL
|
||||||
|
{ .handle dd ?
|
||||||
|
.io_code dd ?
|
||||||
|
.input dd ?
|
||||||
|
.inp_size dd ?
|
||||||
|
.output dd ?
|
||||||
|
.out_size dd ?
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual at 0
|
||||||
|
IOCTL IOCTL
|
||||||
|
end virtual
|
||||||
|
|
||||||
|
;something--------------------------------------------------------
|
||||||
|
public START
|
||||||
|
public service_proc
|
||||||
|
public version
|
||||||
|
|
||||||
|
include '..\proc32.inc'
|
||||||
|
include '..\imports.inc'
|
||||||
|
|
||||||
|
section '.flat' code readable align 16
|
||||||
|
|
||||||
|
include 'sb16.inc'
|
||||||
|
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
proc START stdcall, state:dword
|
||||||
|
|
||||||
|
cmp [state], 1
|
||||||
|
jne .stop
|
||||||
|
.entry:
|
||||||
|
|
||||||
|
if DEBUG
|
||||||
|
mov esi, msgInit
|
||||||
|
call SysMsgBoardStr
|
||||||
|
end if
|
||||||
|
|
||||||
|
call detect ;returns DSP version or zero if
|
||||||
|
test eax,eax ;SB card not found
|
||||||
|
jz .exit
|
||||||
|
|
||||||
|
if DEBUG
|
||||||
|
movzx eax,al ;major version
|
||||||
|
dec eax
|
||||||
|
jz .sb_say_about_found_dsp
|
||||||
|
mov dword[sb_DSP_description],'2.x '
|
||||||
|
dec eax
|
||||||
|
jz .sb_say_about_found_dsp
|
||||||
|
mov dword[sb_DSP_description],'Pro '
|
||||||
|
dec eax
|
||||||
|
jz .sb_say_about_found_dsp
|
||||||
|
mov dword[sb_DSP_description],'16 '
|
||||||
|
.sb_say_about_found_dsp:
|
||||||
|
mov esi,msgDSPFound
|
||||||
|
call SysMsgBoardStr
|
||||||
|
end if
|
||||||
|
xor eax,eax
|
||||||
|
mov ebx,[sb_base_port]
|
||||||
|
lea ecx,[ebx+0xF]
|
||||||
|
call ReservePortArea ;these ports must be mine!
|
||||||
|
if DEBUG
|
||||||
|
dec eax
|
||||||
|
jnz @f
|
||||||
|
mov esi,msgErrRsrvPorts
|
||||||
|
call SysMsgBoardStr
|
||||||
|
@@:
|
||||||
|
end if
|
||||||
|
|
||||||
|
call sb_setup ;clock it, etc
|
||||||
|
|
||||||
|
stdcall AttachIntHandler, sb_irq_num, sb_irq, 0
|
||||||
|
|
||||||
|
if DEBUG
|
||||||
|
test eax,eax
|
||||||
|
jnz @f
|
||||||
|
|
||||||
|
mov esi,msgErrAtchIRQ
|
||||||
|
call SysMsgBoardStr
|
||||||
|
|
||||||
|
stdcall GetIntHandler, sb_irq_num
|
||||||
|
call SysMsgBoardNum
|
||||||
|
|
||||||
|
jmp .stop
|
||||||
|
@@:
|
||||||
|
mov esi,msgSucAtchIRQ
|
||||||
|
call SysMsgBoardStr
|
||||||
|
end if
|
||||||
|
stdcall RegService, my_service, service_proc
|
||||||
|
ret
|
||||||
|
.stop:
|
||||||
|
call sb_reset
|
||||||
|
.exit:
|
||||||
|
|
||||||
|
if DEBUG
|
||||||
|
mov esi,msgExit
|
||||||
|
call SysMsgBoardStr
|
||||||
|
end if
|
||||||
|
|
||||||
|
xor eax, eax
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
handle equ IOCTL.handle
|
||||||
|
io_code equ IOCTL.io_code
|
||||||
|
input equ IOCTL.input
|
||||||
|
inp_size equ IOCTL.inp_size
|
||||||
|
output equ IOCTL.output
|
||||||
|
out_size equ IOCTL.out_size
|
||||||
|
|
||||||
|
align 4
|
||||||
|
proc service_proc stdcall, ioctl:dword
|
||||||
|
mov edi,[ioctl]
|
||||||
|
mov eax,[edi+io_code]
|
||||||
|
cmp eax,SRV_GETVERSION
|
||||||
|
jne @F
|
||||||
|
|
||||||
|
mov eax,[edi+output]
|
||||||
|
cmp [edi+out_size],4
|
||||||
|
jne .fail
|
||||||
|
mov [eax],dword API_VERSION
|
||||||
|
xor eax,eax
|
||||||
|
ret
|
||||||
|
@@:
|
||||||
|
cmp eax,DEV_PLAY
|
||||||
|
jne @f
|
||||||
|
if DEBUG
|
||||||
|
mov esi,msgPlay
|
||||||
|
call SysMsgBoardStr
|
||||||
|
end if
|
||||||
|
call sb_stop ;to play smth new we must stop smth old
|
||||||
|
|
||||||
|
call pre_fill_data ;fill first and second half of the buffer
|
||||||
|
call pre_fill_data ;
|
||||||
|
|
||||||
|
call sb_set_dma ;is it really needed here? Paranoia.
|
||||||
|
call sb_play
|
||||||
|
xor eax,eax
|
||||||
|
ret
|
||||||
|
;@@: ;all this commented stuff in service proc
|
||||||
|
; cmp eax,DEV_STOP ;is never used. Mixer do this virtually,
|
||||||
|
; jne @f ;e.g. instead of stopping driver it
|
||||||
|
;if DEBUG ;outputs silence
|
||||||
|
; mov esi,msgStop
|
||||||
|
; call SysMsgBoardStr
|
||||||
|
;end if
|
||||||
|
; call sb_stop
|
||||||
|
; xor eax,eax
|
||||||
|
; ret
|
||||||
|
@@:
|
||||||
|
cmp eax,DEV_CALLBACK
|
||||||
|
jne @f
|
||||||
|
if DEBUG
|
||||||
|
mov esi,msgCallback
|
||||||
|
call SysMsgBoardStr
|
||||||
|
end if
|
||||||
|
mov edi,[edi+input]
|
||||||
|
mov eax,[edi]
|
||||||
|
mov [callback],eax
|
||||||
|
if DEBUG
|
||||||
|
call SysMsgBoardNum
|
||||||
|
end if
|
||||||
|
ret
|
||||||
|
@@:
|
||||||
|
; cmp eax,DEV_SET_MASTERVOL
|
||||||
|
; jne @F
|
||||||
|
;if DEBUG
|
||||||
|
; mov esi,msgSetVol
|
||||||
|
; call SysMsgBoardStr
|
||||||
|
;end if
|
||||||
|
; mov eax,[edi+input]
|
||||||
|
; mov eax,[eax]
|
||||||
|
; mov [sb_master_vol],eax
|
||||||
|
; ret
|
||||||
|
;@@:
|
||||||
|
; cmp eax,DEV_GET_MASTERVOL
|
||||||
|
; jne @F
|
||||||
|
;if DEBUG
|
||||||
|
; mov esi,msgGetVol
|
||||||
|
; call SysMsgBoardStr
|
||||||
|
;end if
|
||||||
|
; mov eax,[edi+output]
|
||||||
|
; mov edx,[sb_master_vol]
|
||||||
|
; mov [eax],edx
|
||||||
|
; ret
|
||||||
|
|
||||||
|
.fail:
|
||||||
|
or eax, -1
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
|
||||||
|
restore handle
|
||||||
|
restore io_code
|
||||||
|
restore input
|
||||||
|
restore inp_size
|
||||||
|
restore output
|
||||||
|
restore out_size
|
||||||
|
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
align 4
|
||||||
|
proc sb_irq
|
||||||
|
mov edx,[sb_base_port] ;tell the DSP that we have processed IRQ
|
||||||
|
add dl,0xF ;0xF for 16 bit sound, 0xE for 8 bit sound
|
||||||
|
in al,dx ;for non-stop sound
|
||||||
|
|
||||||
|
pre_fill_data:
|
||||||
|
mov eax,int_flip_flop
|
||||||
|
not dword[eax]
|
||||||
|
mov eax,[eax]
|
||||||
|
test eax,eax
|
||||||
|
jns .fill_second_half
|
||||||
|
|
||||||
|
stdcall [callback],SB16Buffer0 ;for 32k buffer
|
||||||
|
; stdcall [callback],SB16Buffer0 ;for 64k buffer
|
||||||
|
; stdcall [callback],SB16Buffer1 ;for 64k buffer
|
||||||
|
|
||||||
|
xor eax,eax
|
||||||
|
ret
|
||||||
|
|
||||||
|
.fill_second_half:
|
||||||
|
stdcall [callback],SB16Buffer1 ;for 32k buffer
|
||||||
|
; stdcall [callback],SB16Buffer2 ;for 64k buffer
|
||||||
|
; stdcall [callback],SB16Buffer3 ;for 64k buffer
|
||||||
|
|
||||||
|
xor eax,eax
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
align 4
|
||||||
|
proc detect
|
||||||
|
.sb_detect_next_port:
|
||||||
|
if DEBUG
|
||||||
|
inc dword[port_second_digit_num]
|
||||||
|
end if
|
||||||
|
mov edx,sb_base_port
|
||||||
|
add byte[edx],10h
|
||||||
|
cmp byte[edx],80h
|
||||||
|
jbe .sb_try_to_detect_at_specified_port
|
||||||
|
;error - no SB card detected
|
||||||
|
.sb_not_found_err:
|
||||||
|
xor eax, eax
|
||||||
|
ret
|
||||||
|
|
||||||
|
.sb_try_to_detect_at_specified_port:
|
||||||
|
call sb_reset
|
||||||
|
add dl,8
|
||||||
|
mov ecx,100
|
||||||
|
.sb_check_port:
|
||||||
|
in al,dx
|
||||||
|
test al,al ;is DSP port ready to be read?
|
||||||
|
jns .sb_port_not_ready
|
||||||
|
|
||||||
|
sub dl,4
|
||||||
|
in al,dx ;check for AAh response
|
||||||
|
add dl,4
|
||||||
|
cmp al,0xAA
|
||||||
|
jne .sb_port_not_ready
|
||||||
|
.sb_card_found:
|
||||||
|
and dl,0xF0
|
||||||
|
add dl,0xC
|
||||||
|
sb_out 0xE1 ;get DSP version
|
||||||
|
add dl,2
|
||||||
|
@@:
|
||||||
|
in al,dx
|
||||||
|
test al,al ;is DSP port ready to be read?
|
||||||
|
jns @b
|
||||||
|
sub dl,4
|
||||||
|
in al,dx ;get major version
|
||||||
|
ror eax,16
|
||||||
|
add dl,4
|
||||||
|
@@:
|
||||||
|
in al,dx
|
||||||
|
test al,al ;is DSP port ready to be read?
|
||||||
|
jns @b
|
||||||
|
sub dl,4
|
||||||
|
in al,dx ;get minor version
|
||||||
|
xor edx,edx
|
||||||
|
mov dl,10
|
||||||
|
div dl
|
||||||
|
ror eax,16
|
||||||
|
xor ah,ah
|
||||||
|
if DEBUG
|
||||||
|
add [sb_DSP_version],eax
|
||||||
|
end if
|
||||||
|
ret
|
||||||
|
|
||||||
|
.sb_port_not_ready:
|
||||||
|
loop .sb_check_port ;100 retries (~100 microsec.)
|
||||||
|
jmp .sb_detect_next_port
|
||||||
|
endp
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
if DEBUG
|
||||||
|
proc SysMsgBoardNum
|
||||||
|
mov ebx,eax
|
||||||
|
mov ecx,8
|
||||||
|
mov esi,(number_to_out+1)
|
||||||
|
.1:
|
||||||
|
mov eax,ebx
|
||||||
|
and eax,0xF
|
||||||
|
add al,'0'
|
||||||
|
cmp al,(10+'0')
|
||||||
|
jb @f
|
||||||
|
add al,('A'-'0'-10)
|
||||||
|
@@:
|
||||||
|
mov [esi+ecx],al
|
||||||
|
shr ebx,4
|
||||||
|
loop .1
|
||||||
|
dec esi
|
||||||
|
call SysMsgBoardStr
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
end if
|
||||||
|
;all initialized data place here
|
||||||
|
|
||||||
|
align 4
|
||||||
|
version dd (5 shl 16) or (API_VERSION and 0xFFFF)
|
||||||
|
|
||||||
|
sb_base_port: dd 200h
|
||||||
|
|
||||||
|
;pTempBuf dd 0
|
||||||
|
|
||||||
|
callback dd 0
|
||||||
|
|
||||||
|
int_flip_flop dd 0
|
||||||
|
|
||||||
|
sound_dma dd sb_dma_num
|
||||||
|
|
||||||
|
;note that 4th DMA channel doesn't exist, it is used for cascade
|
||||||
|
;plugging the first DMA controler to the second
|
||||||
|
dma_table db 0x87,0x83,0x81,0x82,0xFF,0x8B,0x89,0x8A
|
||||||
|
|
||||||
|
;sb_master_vol dd 0
|
||||||
|
|
||||||
|
my_service db 'SOUND',0 ;max 16 chars include zero
|
||||||
|
|
||||||
|
if DEBUG
|
||||||
|
number_to_out db '0x00000000',13,10,0
|
||||||
|
|
||||||
|
msgInit db 'detecting hardware...',13,10,0
|
||||||
|
msgExit db 'exiting... May be some problems found?',13,10,0
|
||||||
|
msgPlay db 'start play',13,10,0
|
||||||
|
;msgStop db 'stop play',13,10,0
|
||||||
|
msgCallback db 'set_callback received from the mixer!',13,10
|
||||||
|
db 'callback handler is: ',0
|
||||||
|
msgErrAtchIRQ db 'failed to attach IRQ',(sb_irq_num+'0'),13,10
|
||||||
|
db 'owner',39,'s handler: ',0
|
||||||
|
msgSucAtchIRQ db 'succesfully attached IRQ',(sb_irq_num+'0')
|
||||||
|
db ' as hardcoded',13,10,0
|
||||||
|
msgErrRsrvPorts db 'failed to reserve needed ports.',13,10
|
||||||
|
db 'Driver may work unstable',13,10,0
|
||||||
|
;msgSetVol db 'DEV_SET_MASTERVOL call came',13,10,0
|
||||||
|
;msgGetVol db 'DEV_GET_MASTERVOL call came',13,10,0
|
||||||
|
msgErrDMAsetup db 'failed to setup DMA - bad channel',13,10,0
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
msgDSPFound db 'DSP found at port 2'
|
||||||
|
label port_second_digit_num dword at $
|
||||||
|
db '00h',13,10,'DSP version '
|
||||||
|
sb_DSP_version: db '0.00 - SB'
|
||||||
|
sb_DSP_description: db 32,32,32,32,13,10,0
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
end if
|
||||||
|
;section '.data' data readable writable align 16
|
||||||
|
;all uninitialized data place here
|
@@ -9,6 +9,8 @@
|
|||||||
|
|
||||||
format MS COFF
|
format MS COFF
|
||||||
|
|
||||||
|
DEBUG equ 1
|
||||||
|
|
||||||
API_VERSION equ 0 ;debug
|
API_VERSION equ 0 ;debug
|
||||||
|
|
||||||
include 'proc32.inc'
|
include 'proc32.inc'
|
||||||
@@ -35,8 +37,6 @@ public START
|
|||||||
public service_proc
|
public service_proc
|
||||||
public version
|
public version
|
||||||
|
|
||||||
DEBUG equ 1
|
|
||||||
|
|
||||||
DRV_ENTRY equ 1
|
DRV_ENTRY equ 1
|
||||||
DRV_EXIT equ -1
|
DRV_EXIT equ -1
|
||||||
STRIDE equ 4 ;size of row in devices table
|
STRIDE equ 4 ;size of row in devices table
|
||||||
|
@@ -7,12 +7,13 @@
|
|||||||
|
|
||||||
format MS COFF
|
format MS COFF
|
||||||
|
|
||||||
|
|
||||||
|
DEBUG equ 1
|
||||||
|
|
||||||
include 'proc32.inc'
|
include 'proc32.inc'
|
||||||
include 'imports.inc'
|
include 'imports.inc'
|
||||||
|
|
||||||
API_VERSION equ 0x01000100
|
API_VERSION equ 0x01000100
|
||||||
|
|
||||||
DEBUG equ 1
|
|
||||||
DEBUG_IRQ equ 0
|
DEBUG_IRQ equ 0
|
||||||
|
|
||||||
USE_COM_IRQ equ 0 ;make irq 3 and irq 4 available for PCI devices
|
USE_COM_IRQ equ 0 ;make irq 3 and irq 4 available for PCI devices
|
||||||
|
@@ -7,13 +7,13 @@
|
|||||||
|
|
||||||
format MS COFF
|
format MS COFF
|
||||||
|
|
||||||
|
DEBUG equ 1
|
||||||
|
|
||||||
include 'proc32.inc'
|
include 'proc32.inc'
|
||||||
include 'imports.inc'
|
include 'imports.inc'
|
||||||
|
|
||||||
API_VERSION equ 0x01000100
|
API_VERSION equ 0x01000100
|
||||||
|
|
||||||
DEBUG equ 1
|
|
||||||
DEBUG_IRQ equ 0
|
DEBUG_IRQ equ 0
|
||||||
|
|
||||||
USE_COM_IRQ equ 0 ;make irq 3 and irq 4 available for PCI devices
|
USE_COM_IRQ equ 0 ;make irq 3 and irq 4 available for PCI devices
|
||||||
|
@@ -114,29 +114,25 @@ save_draw_mouse:
|
|||||||
|
|
||||||
movzx edx, byte [display_data+ebx+eax]
|
movzx edx, byte [display_data+ebx+eax]
|
||||||
shl edx, 8
|
shl edx, 8
|
||||||
mov ecx, [edx+SLOT_BASE+APPDATA.cursor]
|
mov esi, [edx+SLOT_BASE+APPDATA.cursor]
|
||||||
|
|
||||||
cmp ecx, [current_cursor]
|
cmp esi, [current_cursor]
|
||||||
je .draw
|
je .draw
|
||||||
|
|
||||||
cmp [ecx+CURSOR.magic], 'CURS'
|
; cmp [esi+CURSOR.magic], 'CURS'
|
||||||
jne .fail
|
; jne .fail
|
||||||
|
|
||||||
push ecx
|
push esi
|
||||||
call [select_hw_cursor]
|
call [select_hw_cursor]
|
||||||
mov [current_cursor], ecx
|
mov [current_cursor], esi
|
||||||
|
|
||||||
; cmp [ecx+CURSOR.size], CURSOR_SIZE
|
|
||||||
; jne .fail
|
|
||||||
|
|
||||||
.draw:
|
.draw:
|
||||||
stdcall [set_hw_cursor], ecx
|
stdcall [set_hw_cursor], esi
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
.fail:
|
.fail:
|
||||||
mov ecx, [def_cursor]
|
mov ecx, [def_cursor]
|
||||||
mov [edx+SLOT_BASE+APPDATA.cursor], ecx
|
mov [edx+SLOT_BASE+APPDATA.cursor], ecx
|
||||||
stdcall [set_hw_cursor], ecx
|
stdcall [set_hw_cursor], ecx ; stdcall: [esp]=ebx,eax
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
@@ -345,8 +345,6 @@ high_code:
|
|||||||
mov al,[BOOT_VAR+0x9000] ; bpp
|
mov al,[BOOT_VAR+0x9000] ; bpp
|
||||||
mov [ScreenBPP],al
|
mov [ScreenBPP],al
|
||||||
|
|
||||||
xchg bx, bx
|
|
||||||
|
|
||||||
movzx eax,word [BOOT_VAR+0x900A] ; X max
|
movzx eax,word [BOOT_VAR+0x900A] ; X max
|
||||||
dec eax
|
dec eax
|
||||||
mov [Screen_Max_X],eax
|
mov [Screen_Max_X],eax
|
||||||
@@ -712,7 +710,7 @@ no_lib_load:
|
|||||||
mov [TASK_DATA+TASKDATA.mem_start], 0 ; process base address
|
mov [TASK_DATA+TASKDATA.mem_start], 0 ; process base address
|
||||||
|
|
||||||
call init_cursors
|
call init_cursors
|
||||||
mov eax, [def_cursor]
|
mov eax, [def_cursor]
|
||||||
mov [SLOT_BASE+APPDATA.cursor],eax
|
mov [SLOT_BASE+APPDATA.cursor],eax
|
||||||
mov [SLOT_BASE+APPDATA.cursor+256],eax
|
mov [SLOT_BASE+APPDATA.cursor+256],eax
|
||||||
|
|
||||||
@@ -1032,7 +1030,6 @@ reserve_irqs_ports:
|
|||||||
|
|
||||||
mov [irq_owner+4*0], 1 ; timer
|
mov [irq_owner+4*0], 1 ; timer
|
||||||
;mov [irq_owner+4*1], 1 ; keyboard
|
;mov [irq_owner+4*1], 1 ; keyboard
|
||||||
mov [irq_owner+4*5], 1 ; sound blaster
|
|
||||||
mov [irq_owner+4*6], 1 ; floppy diskette
|
mov [irq_owner+4*6], 1 ; floppy diskette
|
||||||
mov [irq_owner+4*13], 1 ; math co-pros
|
mov [irq_owner+4*13], 1 ; math co-pros
|
||||||
mov [irq_owner+4*14], 1 ; ide I
|
mov [irq_owner+4*14], 1 ; ide I
|
||||||
@@ -1104,8 +1101,7 @@ set_variables:
|
|||||||
mov [MOUSE_X],eax
|
mov [MOUSE_X],eax
|
||||||
pop eax
|
pop eax
|
||||||
|
|
||||||
mov byte [SB16_Status],0 ; Minazzi Paolo
|
mov [BTN_ADDR],dword BUTTON_INFO ; address of button list
|
||||||
mov [BTN_ADDR],dword BUTTON_INFO ; address of button list
|
|
||||||
|
|
||||||
;!! IP 04.02.2005:
|
;!! IP 04.02.2005:
|
||||||
mov [next_usage_update], 100
|
mov [next_usage_update], 100
|
||||||
@@ -1183,106 +1179,6 @@ sys_outport:
|
|||||||
mov [esp+24],eax
|
mov [esp+24],eax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
align 4
|
|
||||||
sys_sb16:
|
|
||||||
|
|
||||||
cmp word [sb16],word 0
|
|
||||||
jnz sb16l1
|
|
||||||
mov [esp+36],dword 1
|
|
||||||
ret
|
|
||||||
sb16l1:
|
|
||||||
mov [esp+36],dword 0
|
|
||||||
cmp eax,1 ; set volume - main
|
|
||||||
jnz sb16l2
|
|
||||||
mov dx,word [sb16]
|
|
||||||
add dx,4
|
|
||||||
mov al,0x22
|
|
||||||
out dx,al
|
|
||||||
mov esi,1
|
|
||||||
call delay_ms
|
|
||||||
mov eax,ebx
|
|
||||||
inc edx
|
|
||||||
out dx,al
|
|
||||||
ret
|
|
||||||
sb16l2:
|
|
||||||
|
|
||||||
cmp eax,2 ; set volume - cd
|
|
||||||
jnz sb16l3
|
|
||||||
mov dx,word [sb16]
|
|
||||||
add dx,4
|
|
||||||
mov al,0x28
|
|
||||||
out dx,al
|
|
||||||
mov esi,1
|
|
||||||
call delay_ms
|
|
||||||
mov eax,ebx
|
|
||||||
add edx,1
|
|
||||||
out dx,al
|
|
||||||
ret
|
|
||||||
sb16l3:
|
|
||||||
mov [esp+36],dword 2
|
|
||||||
ret
|
|
||||||
|
|
||||||
|
|
||||||
align 4
|
|
||||||
|
|
||||||
sys_sb16II:
|
|
||||||
|
|
||||||
cmp word [sb16],word 0
|
|
||||||
jnz IIsb16l1
|
|
||||||
mov [esp+36],dword 1
|
|
||||||
ret
|
|
||||||
IIsb16l1:
|
|
||||||
|
|
||||||
cmp eax,1 ; set volume - main
|
|
||||||
jnz IIsb16l2
|
|
||||||
; L
|
|
||||||
mov dx,word [sb16]
|
|
||||||
add dx,4
|
|
||||||
mov al,0x30
|
|
||||||
out dx,al
|
|
||||||
mov eax,ebx
|
|
||||||
inc edx
|
|
||||||
out dx,al
|
|
||||||
; R
|
|
||||||
mov dx,word [sb16]
|
|
||||||
add dx,4
|
|
||||||
mov al,0x31
|
|
||||||
out dx,al
|
|
||||||
mov eax,ebx
|
|
||||||
inc edx
|
|
||||||
out dx,al
|
|
||||||
mov [esp+36],dword 0
|
|
||||||
ret
|
|
||||||
IIsb16l2:
|
|
||||||
|
|
||||||
cmp eax,2 ; set volume - cd
|
|
||||||
jnz IIsb16l3
|
|
||||||
; L
|
|
||||||
mov dx,word [sb16]
|
|
||||||
add dx,4
|
|
||||||
mov al,0x36
|
|
||||||
out dx,al
|
|
||||||
mov eax,ebx
|
|
||||||
inc edx
|
|
||||||
out dx,al
|
|
||||||
; R
|
|
||||||
mov dx,word [sb16]
|
|
||||||
add dx,4
|
|
||||||
mov al,0x37
|
|
||||||
out dx,al
|
|
||||||
mov eax,ebx
|
|
||||||
inc edx
|
|
||||||
out dx,al
|
|
||||||
mov [esp+36],dword 0
|
|
||||||
ret
|
|
||||||
IIsb16l3:
|
|
||||||
|
|
||||||
mov [esp+36],dword 2
|
|
||||||
ret
|
|
||||||
|
|
||||||
|
|
||||||
display_number:
|
display_number:
|
||||||
|
|
||||||
; eax = print type, al=0 -> ebx is number
|
; eax = print type, al=0 -> ebx is number
|
||||||
@@ -1472,7 +1368,6 @@ sys_setup:
|
|||||||
; 1=roland mpu midi base , base io address
|
; 1=roland mpu midi base , base io address
|
||||||
; 2=keyboard 1, base kaybap 2, shift keymap, 9 country 1eng 2fi 3ger 4rus
|
; 2=keyboard 1, base kaybap 2, shift keymap, 9 country 1eng 2fi 3ger 4rus
|
||||||
; 3=cd base 1, pri.master 2, pri slave 3 sec master, 4 sec slave
|
; 3=cd base 1, pri.master 2, pri slave 3 sec master, 4 sec slave
|
||||||
; 4=sb16 base , base io address
|
|
||||||
; 5=system language, 1eng 2fi 3ger 4rus
|
; 5=system language, 1eng 2fi 3ger 4rus
|
||||||
; 7=hd base 1, pri.master 2, pri slave 3 sec master, 4 sec slave
|
; 7=hd base 1, pri.master 2, pri slave 3 sec master, 4 sec slave
|
||||||
; 8=fat32 partition in hd
|
; 8=fat32 partition in hd
|
||||||
@@ -1543,7 +1438,7 @@ endg
|
|||||||
ret
|
ret
|
||||||
nsyse2:
|
nsyse2:
|
||||||
cmp eax,3 ; CD
|
cmp eax,3 ; CD
|
||||||
jnz nsyse3
|
jnz nsyse4
|
||||||
test ebx,ebx
|
test ebx,ebx
|
||||||
jz nosesl
|
jz nosesl
|
||||||
cmp ebx, 4
|
cmp ebx, 4
|
||||||
@@ -1573,17 +1468,6 @@ endg
|
|||||||
|
|
||||||
cd_base db 0
|
cd_base db 0
|
||||||
|
|
||||||
nsyse3:
|
|
||||||
|
|
||||||
cmp eax,4 ; SB
|
|
||||||
jnz nsyse4
|
|
||||||
cmp ebx,0x100
|
|
||||||
jb nsyse4
|
|
||||||
mov edx,65535
|
|
||||||
cmp edx,ebx
|
|
||||||
jb nsyse4
|
|
||||||
mov word [sb16],bx
|
|
||||||
ret
|
|
||||||
nsyse4:
|
nsyse4:
|
||||||
|
|
||||||
cmp eax,5 ; SYSTEM LANGUAGE
|
cmp eax,5 ; SYSTEM LANGUAGE
|
||||||
@@ -1638,7 +1522,7 @@ iglobal
|
|||||||
hd_base db 0
|
hd_base db 0
|
||||||
endg
|
endg
|
||||||
|
|
||||||
nsyse7:
|
nsyse7:
|
||||||
|
|
||||||
cmp eax,8 ; HD PARTITION
|
cmp eax,8 ; HD PARTITION
|
||||||
jne nsyse8
|
jne nsyse8
|
||||||
@@ -1652,24 +1536,16 @@ endg
|
|||||||
popa
|
popa
|
||||||
mov [hd1_status],0 ; free
|
mov [hd1_status],0 ; free
|
||||||
ret
|
ret
|
||||||
nsyse8:
|
|
||||||
|
|
||||||
cmp eax,10 ; SOUND DMA CHANNEL
|
|
||||||
jne no_set_sound_dma
|
|
||||||
cmp ebx,3
|
|
||||||
ja sys_setup_err
|
|
||||||
mov [sound_dma],ebx
|
|
||||||
ret
|
|
||||||
no_set_sound_dma:
|
|
||||||
|
|
||||||
|
nsyse8:
|
||||||
cmp eax,11 ; ENABLE LBA READ
|
cmp eax,11 ; ENABLE LBA READ
|
||||||
jne no_set_lba_read
|
jne no_set_lba_read
|
||||||
and ebx,1
|
and ebx,1
|
||||||
mov [lba_read_enabled],ebx
|
mov [lba_read_enabled],ebx
|
||||||
ret
|
ret
|
||||||
no_set_lba_read:
|
|
||||||
|
|
||||||
cmp eax,12 ; ENABLE PCI ACCESS
|
no_set_lba_read:
|
||||||
|
cmp eax,12 ; ENABLE PCI ACCESS
|
||||||
jne no_set_pci_access
|
jne no_set_pci_access
|
||||||
and ebx,1
|
and ebx,1
|
||||||
mov [pci_access_enabled],ebx
|
mov [pci_access_enabled],ebx
|
||||||
@@ -1691,7 +1567,6 @@ sys_getsetup:
|
|||||||
; 1=roland mpu midi base , base io address
|
; 1=roland mpu midi base , base io address
|
||||||
; 2=keyboard 1, base kaybap 2, shift keymap, 9 country 1eng 2fi 3ger 4rus
|
; 2=keyboard 1, base kaybap 2, shift keymap, 9 country 1eng 2fi 3ger 4rus
|
||||||
; 3=cd base 1, pri.master 2, pri slave 3 sec master, 4 sec slave
|
; 3=cd base 1, pri.master 2, pri slave 3 sec master, 4 sec slave
|
||||||
; 4=sb16 base , base io address
|
|
||||||
; 5=system language, 1eng 2fi 3ger 4rus
|
; 5=system language, 1eng 2fi 3ger 4rus
|
||||||
; 7=hd base 1, pri.master 2, pri slave 3 sec master, 4 sec slave
|
; 7=hd base 1, pri.master 2, pri slave 3 sec master, 4 sec slave
|
||||||
; 8=fat32 partition in hd
|
; 8=fat32 partition in hd
|
||||||
@@ -1702,7 +1577,7 @@ sys_getsetup:
|
|||||||
movzx eax,[midi_base]
|
movzx eax,[midi_base]
|
||||||
mov [esp+36],eax
|
mov [esp+36],eax
|
||||||
ret
|
ret
|
||||||
ngsyse1:
|
ngsyse1:
|
||||||
|
|
||||||
cmp eax,2
|
cmp eax,2
|
||||||
jne ngsyse2
|
jne ngsyse2
|
||||||
@@ -1715,7 +1590,7 @@ sys_getsetup:
|
|||||||
mov ecx,128
|
mov ecx,128
|
||||||
call memmove
|
call memmove
|
||||||
ret
|
ret
|
||||||
kbnobaseret:
|
kbnobaseret:
|
||||||
cmp ebx,2
|
cmp ebx,2
|
||||||
jnz kbnoshiftret
|
jnz kbnoshiftret
|
||||||
mov edi,[TASK_BASE]
|
mov edi,[TASK_BASE]
|
||||||
@@ -1725,7 +1600,7 @@ sys_getsetup:
|
|||||||
mov ecx,128
|
mov ecx,128
|
||||||
call memmove
|
call memmove
|
||||||
ret
|
ret
|
||||||
kbnoshiftret:
|
kbnoshiftret:
|
||||||
cmp ebx,3
|
cmp ebx,3
|
||||||
jne kbnoaltret
|
jne kbnoaltret
|
||||||
mov edi,[TASK_BASE]
|
mov edi,[TASK_BASE]
|
||||||
@@ -1735,70 +1610,56 @@ sys_getsetup:
|
|||||||
mov ecx,128
|
mov ecx,128
|
||||||
call memmove
|
call memmove
|
||||||
ret
|
ret
|
||||||
kbnoaltret:
|
kbnoaltret:
|
||||||
cmp ebx,9
|
cmp ebx,9
|
||||||
jnz ngsyse2
|
jnz ngsyse2
|
||||||
movzx eax,word [keyboard]
|
movzx eax,word [keyboard]
|
||||||
mov [esp+36],eax
|
mov [esp+36],eax
|
||||||
ret
|
ret
|
||||||
ngsyse2:
|
ngsyse2:
|
||||||
|
|
||||||
cmp eax,3
|
cmp eax,3
|
||||||
jnz ngsyse3
|
jnz ngsyse3
|
||||||
movzx eax,[cd_base]
|
movzx eax,[cd_base]
|
||||||
mov [esp+36],eax
|
mov [esp+36],eax
|
||||||
ret
|
ret
|
||||||
ngsyse3:
|
ngsyse3:
|
||||||
|
cmp eax,5
|
||||||
cmp eax,4
|
jnz ngsyse5
|
||||||
jne ngsyse4
|
mov eax,[syslang]
|
||||||
mov eax,[sb16]
|
mov [esp+36],eax
|
||||||
mov [esp+36],eax
|
ret
|
||||||
ret
|
ngsyse5:
|
||||||
ngsyse4:
|
|
||||||
|
|
||||||
cmp eax,5
|
|
||||||
jnz ngsyse5
|
|
||||||
mov eax,[syslang]
|
|
||||||
mov [esp+36],eax
|
|
||||||
ret
|
|
||||||
ngsyse5:
|
|
||||||
cmp eax,7
|
cmp eax,7
|
||||||
jnz ngsyse7
|
jnz ngsyse7
|
||||||
movzx eax,[hd_base]
|
movzx eax,[hd_base]
|
||||||
mov [esp+36],eax
|
mov [esp+36],eax
|
||||||
ret
|
ret
|
||||||
ngsyse7:
|
ngsyse7:
|
||||||
cmp eax,8
|
cmp eax,8
|
||||||
jnz ngsyse8
|
jnz ngsyse8
|
||||||
mov eax,[fat32part]
|
mov eax,[fat32part]
|
||||||
mov [esp+36],eax
|
mov [esp+36],eax
|
||||||
ret
|
ret
|
||||||
ngsyse8:
|
ngsyse8:
|
||||||
cmp eax,9
|
cmp eax,9
|
||||||
jne ngsyse9
|
jne ngsyse9
|
||||||
mov eax,[timer_ticks] ;[0xfdf0]
|
mov eax,[timer_ticks] ;[0xfdf0]
|
||||||
mov [esp+36],eax
|
mov [esp+36],eax
|
||||||
ret
|
ret
|
||||||
ngsyse9:
|
ngsyse9:
|
||||||
cmp eax,10
|
|
||||||
jnz ngsyse10
|
|
||||||
mov eax,[sound_dma]
|
|
||||||
mov [esp+36],eax
|
|
||||||
ret
|
|
||||||
ngsyse10:
|
|
||||||
cmp eax,11
|
cmp eax,11
|
||||||
jnz ngsyse11
|
jnz ngsyse11
|
||||||
mov eax,[lba_read_enabled]
|
mov eax,[lba_read_enabled]
|
||||||
mov [esp+36],eax
|
mov [esp+36],eax
|
||||||
ret
|
ret
|
||||||
ngsyse11:
|
ngsyse11:
|
||||||
cmp eax,12
|
cmp eax,12
|
||||||
jnz ngsyse12
|
jnz ngsyse12
|
||||||
mov eax,[pci_access_enabled]
|
mov eax,[pci_access_enabled]
|
||||||
mov [esp+36],eax
|
mov [esp+36],eax
|
||||||
ret
|
ret
|
||||||
ngsyse12:
|
ngsyse12:
|
||||||
mov [esp+36],dword 1
|
mov [esp+36],dword 1
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@@ -2528,7 +2389,9 @@ nosb6:
|
|||||||
and dword [page_tabs+eax*4], 0
|
and dword [page_tabs+eax*4], 0
|
||||||
mov edx, eax
|
mov edx, eax
|
||||||
shl edx, 12
|
shl edx, 12
|
||||||
|
push eax
|
||||||
invlpg [edx]
|
invlpg [edx]
|
||||||
|
pop eax
|
||||||
inc eax
|
inc eax
|
||||||
loop @b
|
loop @b
|
||||||
pop eax
|
pop eax
|
||||||
|
@@ -207,7 +207,6 @@ include "fs/iso9660.inc" ; read for iso9660 filesystem CD
|
|||||||
|
|
||||||
; sound
|
; sound
|
||||||
|
|
||||||
include "sound/sb16.inc" ; playback for Sound Blaster 16
|
|
||||||
include "sound/playnote.inc" ; player Note for Speaker PC
|
include "sound/playnote.inc" ; player Note for Speaker PC
|
||||||
|
|
||||||
; display
|
; display
|
||||||
|
@@ -18,15 +18,38 @@
|
|||||||
|
|
||||||
$Revision$
|
$Revision$
|
||||||
|
|
||||||
|
align 4
|
||||||
|
sound_interface:
|
||||||
|
|
||||||
kontrOctave dw 0x4742, 0x4342, 0x3F7C, 0x3BEC, 0x388F, 0x3562
|
cmp eax, edi ; this is subfunction #55 ?
|
||||||
dw 0x3264, 0x2F8F, 0x2CE4, 0x2A5F, 0x2802, 0x25BF
|
jne retFunc55 ; if no then return.
|
||||||
memAdrNote dd 0
|
|
||||||
pidProcessNote dd 0
|
cmp byte [sound_flag],0
|
||||||
slotProcessNote dd 0
|
jne retFunc55
|
||||||
count_timer_Note dd 1
|
|
||||||
mem8253r42 dw 0
|
movzx eax, byte [countDelayNote]
|
||||||
countDelayNote db 0
|
or al, al ; player is busy ?
|
||||||
|
jnz retFunc55 ; return counter delay Note
|
||||||
|
|
||||||
|
mov [memAdrNote],edx
|
||||||
|
call get_pid
|
||||||
|
mov [pidProcessNote],eax
|
||||||
|
xor eax, eax ; Ok! EAX = 0
|
||||||
|
retFunc55:
|
||||||
|
mov [esp+36], eax ; return value EAX for application
|
||||||
|
ret
|
||||||
|
|
||||||
|
iglobal
|
||||||
|
align 4
|
||||||
|
kontrOctave dw 0x4742, 0x4342, 0x3F7C, 0x3BEC, 0x388F, 0x3562
|
||||||
|
dw 0x3264, 0x2F8F, 0x2CE4, 0x2A5F, 0x2802, 0x25BF
|
||||||
|
memAdrNote dd 0
|
||||||
|
pidProcessNote dd 0
|
||||||
|
slotProcessNote dd 0
|
||||||
|
count_timer_Note dd 1
|
||||||
|
mem8253r42 dw 0
|
||||||
|
countDelayNote db 0
|
||||||
|
endg
|
||||||
|
|
||||||
playNote:
|
playNote:
|
||||||
; jmp NotPlayNotes
|
; jmp NotPlayNotes
|
||||||
|
@@ -1,354 +0,0 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
;; ;;
|
|
||||||
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
|
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
|
||||||
;; ;;
|
|
||||||
;; SB16.INC ;;
|
|
||||||
;; ;;
|
|
||||||
;; Sound Blaster 16 functions for MenuetOS ;;
|
|
||||||
;; ;;
|
|
||||||
;; Copyright 2002 Paolo Minazzi, paolo.minazzi@inwind.it ;;
|
|
||||||
;; ;;
|
|
||||||
;; See file COPYING for details ;;
|
|
||||||
;; ;;
|
|
||||||
;; - 11.07.2002 8 bit stereo mode - Ville Turjanmaa ;;
|
|
||||||
;; ;;
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
SB16_load_music equ 0xc0000000
|
|
||||||
SB16_play_music equ 0xc0000001
|
|
||||||
DMAPage equ 0x2A
|
|
||||||
Rate equ 44100
|
|
||||||
;SB16_Status equ SB16Buffer+65536
|
|
||||||
|
|
||||||
iglobal
|
|
||||||
sound_data_format dd 0x1
|
|
||||||
sound_data_length dd 65536
|
|
||||||
sound_data_freq dd 44100
|
|
||||||
endg
|
|
||||||
|
|
||||||
sound_interface:
|
|
||||||
|
|
||||||
cmp eax,0 ; Load data
|
|
||||||
jne no_SB16_load_music
|
|
||||||
mov edi,[TASK_BASE]
|
|
||||||
add edi,TASKDATA.mem_start
|
|
||||||
add ebx,[edi]
|
|
||||||
call code_SB16_load_music
|
|
||||||
ret
|
|
||||||
no_SB16_load_music:
|
|
||||||
|
|
||||||
cmp eax,1 ; Play data
|
|
||||||
jne no_SB16_play_music
|
|
||||||
call code_SB16_play_music
|
|
||||||
ret
|
|
||||||
no_SB16_play_music:
|
|
||||||
|
|
||||||
cmp eax,2 ; Set data formats
|
|
||||||
jne no_SB16_data_format
|
|
||||||
cmp ebx,0 ; ebx=0 play format
|
|
||||||
jne no_sound_format
|
|
||||||
mov [sound_data_format],ecx ; 1=8b mono, 2=8b stereo
|
|
||||||
ret
|
|
||||||
no_sound_format:
|
|
||||||
cmp ebx,1 ; ebx=1 data length
|
|
||||||
jne no_sound_length
|
|
||||||
mov [sound_data_length],ecx ;
|
|
||||||
ret
|
|
||||||
no_sound_length:
|
|
||||||
cmp ebx,2 ; ebx=2 sound data frequency
|
|
||||||
jne no_sound_freq
|
|
||||||
mov [sound_data_freq],ecx
|
|
||||||
ret
|
|
||||||
no_sound_freq:
|
|
||||||
ret
|
|
||||||
|
|
||||||
no_SB16_data_format:
|
|
||||||
|
|
||||||
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
||||||
cmp eax, edi ; this is subfunction #55 ?
|
|
||||||
jne retFunc55 ; if no then return.
|
|
||||||
cmp byte [sound_flag],0
|
|
||||||
jne retFunc55
|
|
||||||
movzx eax, byte [countDelayNote]
|
|
||||||
or al, al ; player is busy ?
|
|
||||||
jnz retFunc55 ; return counter delay Note
|
|
||||||
; mov eax, [TASK_BASE]
|
|
||||||
; mov eax, [eax+0x10] ; address application im memory
|
|
||||||
; add eax, edx ; add offset Delay-Note string
|
|
||||||
; mov [memAdrNote], eax
|
|
||||||
mov [memAdrNote],edx
|
|
||||||
mov eax,[TASK_BASE]
|
|
||||||
mov eax,[eax+TASKDATA.pid]
|
|
||||||
mov [pidProcessNote],eax
|
|
||||||
xor eax, eax ; Ok! EAX = 0
|
|
||||||
retFunc55:
|
|
||||||
mov [esp+36], eax ; return value EAX for application
|
|
||||||
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
||||||
|
|
||||||
ret
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
code_SB16_play_music:
|
|
||||||
|
|
||||||
cmp [sound_data_format],1
|
|
||||||
jne no_sound_8bm
|
|
||||||
call sb_play_8b_mono
|
|
||||||
ret
|
|
||||||
no_sound_8bm:
|
|
||||||
|
|
||||||
cmp [sound_data_format],2
|
|
||||||
jne no_sound_8bs
|
|
||||||
call sb_play_8b_stereo
|
|
||||||
ret
|
|
||||||
no_sound_8bs:
|
|
||||||
|
|
||||||
ret
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Blaster_command:
|
|
||||||
|
|
||||||
push eax
|
|
||||||
push ecx
|
|
||||||
push edx
|
|
||||||
|
|
||||||
mov dx,word [sb16]
|
|
||||||
add dx,0xc
|
|
||||||
mov cx,1000
|
|
||||||
bcl1:
|
|
||||||
in al,dx
|
|
||||||
and al,128
|
|
||||||
jz bcl2
|
|
||||||
loop bcl1
|
|
||||||
bcl2:
|
|
||||||
mov al,[esp+8]
|
|
||||||
mov dx,[esp+0]
|
|
||||||
add dx,word [sb16]
|
|
||||||
out dx,al
|
|
||||||
|
|
||||||
pop edx
|
|
||||||
pop ecx
|
|
||||||
pop eax
|
|
||||||
|
|
||||||
ret
|
|
||||||
|
|
||||||
|
|
||||||
sb_play_8b_stereo:
|
|
||||||
|
|
||||||
pusha
|
|
||||||
|
|
||||||
call sb_set_dma
|
|
||||||
|
|
||||||
call sb_set_stereo
|
|
||||||
|
|
||||||
mov dx,0xc
|
|
||||||
mov al,0xa8
|
|
||||||
call Blaster_command
|
|
||||||
|
|
||||||
mov al,0x40
|
|
||||||
call Blaster_command
|
|
||||||
|
|
||||||
mov al,245
|
|
||||||
call Blaster_command
|
|
||||||
|
|
||||||
mov al,0x48
|
|
||||||
call Blaster_command
|
|
||||||
|
|
||||||
mov al,0xff
|
|
||||||
call Blaster_command
|
|
||||||
call Blaster_command
|
|
||||||
|
|
||||||
mov al,0x91
|
|
||||||
call Blaster_command
|
|
||||||
|
|
||||||
popa
|
|
||||||
ret
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
sb_set_stereo:
|
|
||||||
|
|
||||||
push eax
|
|
||||||
push edx
|
|
||||||
|
|
||||||
call sb_wait
|
|
||||||
|
|
||||||
mov dx,word [sb16]
|
|
||||||
add dx,0x4
|
|
||||||
mov al,0xe
|
|
||||||
out dx,al
|
|
||||||
inc dx
|
|
||||||
in al,dx
|
|
||||||
and al,253
|
|
||||||
or al,2 ; stereo
|
|
||||||
out dx,al
|
|
||||||
|
|
||||||
pop edx
|
|
||||||
pop eax
|
|
||||||
ret
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
code_SB16_load_music:
|
|
||||||
|
|
||||||
cmp byte [SB16_Status],1
|
|
||||||
je nol
|
|
||||||
mov edi,SB16Buffer
|
|
||||||
mov esi,ebx
|
|
||||||
mov ecx,65536/4
|
|
||||||
cld
|
|
||||||
rep movsd
|
|
||||||
nol: ret
|
|
||||||
|
|
||||||
|
|
||||||
iglobal
|
|
||||||
dma_table db 0x87,0x83,0x81,0x82
|
|
||||||
endg
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;--------------------------------
|
|
||||||
; program dma
|
|
||||||
;--------------------------------
|
|
||||||
|
|
||||||
sb_set_dma:
|
|
||||||
|
|
||||||
pusha
|
|
||||||
|
|
||||||
mov eax,[sound_dma]
|
|
||||||
add eax,4
|
|
||||||
out 0xa,al
|
|
||||||
|
|
||||||
mov al,0
|
|
||||||
out 0xc,al
|
|
||||||
|
|
||||||
mov eax,[sound_dma]
|
|
||||||
add eax,0x48
|
|
||||||
out 0xb,al
|
|
||||||
|
|
||||||
mov edx,[sound_dma]
|
|
||||||
shl edx,1
|
|
||||||
mov al,0
|
|
||||||
out dx,al
|
|
||||||
|
|
||||||
mov al,0
|
|
||||||
out dx,al
|
|
||||||
|
|
||||||
mov edx,[sound_dma]
|
|
||||||
add edx,dma_table
|
|
||||||
movzx edx,byte [edx]
|
|
||||||
mov al,DMAPage
|
|
||||||
out dx,al
|
|
||||||
|
|
||||||
mov edx,[sound_dma]
|
|
||||||
shl edx,1
|
|
||||||
inc edx
|
|
||||||
mov eax,[sound_data_length]
|
|
||||||
dec eax
|
|
||||||
and eax,0xff
|
|
||||||
; mov al,(DataLength-1) and 0xff
|
|
||||||
out dx,al
|
|
||||||
|
|
||||||
mov eax,[sound_data_length]
|
|
||||||
dec eax
|
|
||||||
shr eax,8
|
|
||||||
; mov al,(DataLength-1) shr 8
|
|
||||||
out dx,al
|
|
||||||
|
|
||||||
mov eax,[sound_dma] ; DMA
|
|
||||||
out 0xa,al
|
|
||||||
|
|
||||||
popa
|
|
||||||
ret
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
sb_play_8b_mono:
|
|
||||||
|
|
||||||
|
|
||||||
call sb_set_dma
|
|
||||||
|
|
||||||
cmp byte [SB16_Status],1
|
|
||||||
jne contsb16
|
|
||||||
jmp retserve
|
|
||||||
contsb16:
|
|
||||||
|
|
||||||
mov dx,word [sb16]
|
|
||||||
add dx,4
|
|
||||||
mov ecx,[sound_dma]
|
|
||||||
mov ax,0x01
|
|
||||||
shl ax,cl
|
|
||||||
shl ax,8
|
|
||||||
add ax,0x81
|
|
||||||
out dx,ax
|
|
||||||
|
|
||||||
mov ax,0f280h ;enable irq5
|
|
||||||
out dx,ax
|
|
||||||
|
|
||||||
|
|
||||||
adr1_SB: mov dx,word [sb16]
|
|
||||||
add dx,0ch
|
|
||||||
in al,dx
|
|
||||||
and al,080h
|
|
||||||
jnz adr1_SB
|
|
||||||
|
|
||||||
call sb_set_stereo
|
|
||||||
|
|
||||||
mov al,0d1h
|
|
||||||
out dx,al
|
|
||||||
|
|
||||||
|
|
||||||
mov dx,word [sb16]
|
|
||||||
add dx,0ch
|
|
||||||
|
|
||||||
call sb_wait
|
|
||||||
|
|
||||||
mov al,40h ; Rate
|
|
||||||
out dx,al
|
|
||||||
call sb_wait
|
|
||||||
mov al,256-1000000/Rate
|
|
||||||
out dx,al
|
|
||||||
|
|
||||||
call sb_wait
|
|
||||||
|
|
||||||
mov al,14h ; Datalength
|
|
||||||
out dx,al
|
|
||||||
call sb_wait
|
|
||||||
|
|
||||||
mov eax,[sound_data_length]
|
|
||||||
dec eax
|
|
||||||
and eax,0xff
|
|
||||||
;mov al,(DataLength-1) and 0xff
|
|
||||||
out dx,al
|
|
||||||
call sb_wait
|
|
||||||
mov eax,[sound_data_length]
|
|
||||||
dec eax
|
|
||||||
shr eax,8
|
|
||||||
;mov al,(DataLength-1) shr 8
|
|
||||||
out dx,al
|
|
||||||
|
|
||||||
retserve:
|
|
||||||
|
|
||||||
ret
|
|
||||||
|
|
||||||
|
|
||||||
sb_wait: in al,dx ;wait
|
|
||||||
and al,080h
|
|
||||||
jnz sb_wait
|
|
||||||
|
|
||||||
ret
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;****************************************
|
|
||||||
; END CODE SB16 by Minazzi Paolo
|
|
||||||
;***************************************
|
|
@@ -468,6 +468,8 @@ proc init_cursors
|
|||||||
.init:
|
.init:
|
||||||
mov [cur_def_interl], ebx
|
mov [cur_def_interl], ebx
|
||||||
|
|
||||||
|
; stdcall load_pe_driver, szAtiHW
|
||||||
|
|
||||||
stdcall load_driver, szHwMouse
|
stdcall load_driver, szHwMouse
|
||||||
mov [hw_cursor], eax
|
mov [hw_cursor], eax
|
||||||
test eax, eax
|
test eax, eax
|
||||||
|
Reference in New Issue
Block a user