/drivers/audio/intel_hda/IMPORTS.INC |
---|
71,7 → 71,7 |
HwCursorCreate,\ |
\ |
SysMsgBoardStr,\ |
SysMsgBoardChar,\ |
SysMsgBoard,\ |
GetCurrentTask,\ |
LoadFile,\ |
SendEvent,\ |
/drivers/fdo.inc |
---|
234,11 → 234,11 |
debug_func fdo_debug_outchar |
debug_beginf |
pushad |
movzx ebx,al |
mov eax,1 |
movzx ecx,al |
mov ebx,1 |
; mov ecx,sys_msg_board |
; call ecx ; sys_msg_board |
stdcall SysMsgBoardChar |
stdcall SysMsgBoard |
popad |
ret |
debug_endf |
245,15 → 245,15 |
debug_func fdo_debug_outstr |
debug_beginf |
mov eax,1 |
mov ebx,1 |
.l1: dec esi |
js .l2 |
movzx ebx,byte[edx] |
or bl,bl |
movzx ecx,byte[edx] |
or cl,cl |
jz .l2 |
; mov ecx,sys_msg_board |
; call ecx ; sys_msg_board |
stdcall SysMsgBoardChar |
stdcall SysMsgBoard |
inc edx |
jmp .l1 |
.l2: ret |
/drivers/imports.inc |
---|
75,7 → 75,7 |
HwCursorCreate,\ |
\ |
SysMsgBoardStr,\ |
SysMsgBoardChar,\ |
SysMsgBoard,\ |
GetCurrentTask,\ |
LoadFile,\ |
SendEvent,\ |
/kernel/trunk/core/exports.inc |
---|
66,7 → 66,7 |
szLoadCursor db 'LoadCursor',0 |
szSysMsgBoardStr db 'SysMsgBoardStr', 0 |
szSysMsgBoardChar db 'SysMsgBoardChar', 0 |
szSysMsgBoard db 'SysMsgBoard', 0 |
szGetCurrentTask db 'GetCurrentTask',0 |
szLFBAddress db 'LFBAddress',0 |
szLoadFile db 'LoadFile',0 |
163,7 → 163,7 |
dd szLoadCursor , load_cursor ;stdcall |
dd szSysMsgBoardStr , sys_msg_board_str |
dd szSysMsgBoardChar , sys_msg_board |
dd szSysMsgBoard , sys_msg_board |
dd szGetCurrentTask , get_curr_task |
dd szLoadFile , load_file ;retval eax, ebx |
dd szSendEvent , send_event ;see EVENT.inc for specification |
/kernel/trunk/core/syscall.inc |
---|
121,8 → 121,8 |
dd 0 |
dd 0 |
dd 0 |
dd 0 ; 62-PCI functions |
dd sys_msg_board ; 63-System message board |
dd 0 |
dd 0 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; NEW SYSTEM FUNCTIONS TABLE ;; |
192,8 → 192,8 |
dd undefined_syscall ; 59-reserved |
dd sys_IPC ; 60-Inter Process Communication |
dd sys_gs ; 61-Direct graphics access |
dd pci_api ;cross_order ; 62-PCI functions |
dd cross_order ; 63-System message board |
dd pci_api ; 62-PCI functions |
dd sys_msg_board ; 63-System message board |
dd sys_resize_app_memory ; 64-Resize application memory usage |
dd sys_putimage_palette ; 65-PutImagePalette |
dd sys_process_def ; 66-Process definitions - keyboard |
/kernel/trunk/drivers/fdo.inc |
---|
248,11 → 248,11 |
debug_func fdo_debug_outchar |
debug_beginf |
pushad |
movzx ebx, al |
mov eax, 1 |
movzx ecx, al |
mov ebx, 1 |
; mov ecx,sys_msg_board |
; call ecx ; sys_msg_board |
stdcall SysMsgBoardChar |
stdcall SysMsgBoard |
popad |
ret |
debug_endf |
259,16 → 259,16 |
debug_func fdo_debug_outstr |
debug_beginf |
mov eax, 1 |
mov ebx, 1 |
.l1: |
dec esi |
js .l2 |
movzx ebx, byte[edx] |
or bl, bl |
movzx ecx, byte[edx] |
or cl, cl |
jz .l2 |
; mov ecx,sys_msg_board |
; call ecx ; sys_msg_board |
stdcall SysMsgBoardChar |
stdcall SysMsgBoard |
inc edx |
jmp .l1 |
.l2: |
/kernel/trunk/drivers/imports.inc |
---|
75,7 → 75,7 |
HwCursorCreate,\ |
\ |
SysMsgBoardStr,\ |
SysMsgBoardChar,\ |
SysMsgBoard,\ |
GetCurrentTask,\ |
LoadFile,\ |
SendEvent,\ |
/kernel/trunk/fdo.inc |
---|
241,10 → 241,9 |
debug_func fdo_debug_outchar |
debug_beginf |
pushad |
movzx ebx, al |
mov eax, 1 |
mov ecx, sys_msg_board |
call ecx ; sys_msg_board |
movzx ecx, al |
mov ebx, 1 |
call sys_msg_board |
popad |
ret |
debug_endf |
251,15 → 250,14 |
debug_func fdo_debug_outstr |
debug_beginf |
mov eax, 1 |
mov ebx, 1 |
.l1: |
dec esi |
js .l2 |
movzx ebx, byte[edx] |
or bl, bl |
movzx ecx, byte[edx] |
or cl, cl |
jz .l2 |
mov ecx, sys_msg_board |
call ecx ; sys_msg_board |
call sys_msg_board |
inc edx |
jmp .l1 |
.l2: |
/kernel/trunk/kernel.asm |
---|
4680,8 → 4680,8 |
@@: |
cmp [esi], byte 0 |
je @f |
mov eax, 1 |
movzx ebx, byte [esi] |
mov ebx, 1 |
movzx ecx, byte [esi] |
call sys_msg_board |
inc esi |
jmp @b |
4721,9 → 4721,9 |
cmp al, 10 |
sbb al, 69h |
das |
mov bl, al |
xor eax, eax |
inc eax |
mov cl, al |
xor ebx, ebx |
inc ebx |
call sys_msg_board |
pop eax |
pop ecx |
4740,9 → 4740,13 |
sys_msg_board: |
; eax=1 : write : bl byte to write |
; eax=2 : read : ebx=0 -> no data, ebx=1 -> data in al |
; ebx=1 : write : bl byte to write |
; ebx=2 : read : ebx=0 -> no data, ebx=1 -> data in al |
push eax ebx ; Save eax and ebx, since we're restoring their order required. |
mov eax, ebx |
mov ebx, ecx |
mov ecx, [msg_board_count] |
cmp eax, 1 |
jne .smbl1 |
4799,6 → 4803,8 |
inc ecx |
and ecx, msg_board_data_size - 1 |
mov [msg_board_count], ecx |
pop ebx eax |
ret |
.smbl1: |
cmp eax, 2 |
4805,18 → 4811,21 |
jne .smbl2 |
test ecx, ecx |
jz .smbl21 |
add esp, 8 ; Returning data in ebx and eax, so no need to restore them. |
mov eax, msg_board_data+1 |
mov ebx, msg_board_data |
movzx edx, byte [ebx] |
call memmove |
dec [msg_board_count] |
mov [esp + 36], edx ;eax |
mov [esp + 24], dword 1 |
mov [esp + 32], edx ;eax |
mov [esp + 20], dword 1 |
ret |
.smbl21: |
mov [esp+36], ecx |
mov [esp+24], ecx |
mov [esp+32], ecx |
mov [esp+20], ecx |
.smbl2: |
pop ebx eax |
ret |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/programs/system/MyKey/trunk/debug.inc |
---|
62,7 → 62,7 |
;int 0x40 |
mov bl, al |
mov eax, 1 |
call SysMsgBoardChar |
call SysMsgBoard |
popad |
popf |
ret |
138,7 → 138,7 |
popf |
ret |
SysMsgBoardChar: |
SysMsgBoard: |
push eax ebx ecx |
mov cl, al |
mov eax, 63 |
153,7 → 153,7 |
lodsb |
or al, al |
jz @f |
call SysMsgBoardChar |
call SysMsgBoard |
jmp @b |
@@: |
pop eax |