diff --git a/kernel/trunk/blkdev/cd_drv.inc b/kernel/trunk/blkdev/cd_drv.inc index 36b5b5feb1..633f77ac38 100644 --- a/kernel/trunk/blkdev/cd_drv.inc +++ b/kernel/trunk/blkdev/cd_drv.inc @@ -1,3 +1,4 @@ +$Revision$ ;********************************************************** ; Непосредственная работа с устройством СD (ATAPI) ;********************************************************** diff --git a/kernel/trunk/blkdev/cdrom.inc b/kernel/trunk/blkdev/cdrom.inc index 9327544b79..05a1553733 100644 --- a/kernel/trunk/blkdev/cdrom.inc +++ b/kernel/trunk/blkdev/cdrom.inc @@ -1,3 +1,4 @@ +$Revision$ sys_cd_audio: cmp word [cdbase],word 0 diff --git a/kernel/trunk/blkdev/fdc.inc b/kernel/trunk/blkdev/fdc.inc index b2263d96d7..faf6f7778d 100644 --- a/kernel/trunk/blkdev/fdc.inc +++ b/kernel/trunk/blkdev/fdc.inc @@ -1,3 +1,4 @@ +$Revision$ iglobal ;function pointers. fdc_irq_func dd fdc_null diff --git a/kernel/trunk/blkdev/flp_drv.inc b/kernel/trunk/blkdev/flp_drv.inc index a60c435988..02aff558ea 100644 --- a/kernel/trunk/blkdev/flp_drv.inc +++ b/kernel/trunk/blkdev/flp_drv.inc @@ -1,3 +1,4 @@ +$Revision$ ;********************************************************** ; Непосредственная работа с контроллером гибкого диска ;********************************************************** diff --git a/kernel/trunk/blkdev/hd_drv.inc b/kernel/trunk/blkdev/hd_drv.inc index e1e6881db7..059ba5a04d 100755 --- a/kernel/trunk/blkdev/hd_drv.inc +++ b/kernel/trunk/blkdev/hd_drv.inc @@ -1,3 +1,4 @@ +$Revision$ ; Low-level driver for HDD access ; DMA support by Mario79 diff --git a/kernel/trunk/blkdev/rd.inc b/kernel/trunk/blkdev/rd.inc index 1a06bd4702..e4614b75b9 100644 --- a/kernel/trunk/blkdev/rd.inc +++ b/kernel/trunk/blkdev/rd.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; RAMDISK functions ;; diff --git a/kernel/trunk/blkdev/rdsave.inc b/kernel/trunk/blkdev/rdsave.inc index 6b85a27fe6..effa5c2a2f 100644 --- a/kernel/trunk/blkdev/rdsave.inc +++ b/kernel/trunk/blkdev/rdsave.inc @@ -1,3 +1,4 @@ +$Revision$ iglobal saverd_fileinfo: dd 2 ; subfunction: write diff --git a/kernel/trunk/boot/bootcode.inc b/kernel/trunk/boot/bootcode.inc index dc4f2e7f30..3be9227980 100644 --- a/kernel/trunk/boot/bootcode.inc +++ b/kernel/trunk/boot/bootcode.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; BOOTCODE.INC ;; diff --git a/kernel/trunk/boot/booteng.inc b/kernel/trunk/boot/booteng.inc index c5e19a61ba..f12a36eed7 100644 --- a/kernel/trunk/boot/booteng.inc +++ b/kernel/trunk/boot/booteng.inc @@ -1,3 +1,4 @@ +$Revision$ ;====================================================================== ; ; BOOT DATA diff --git a/kernel/trunk/boot/bootet.inc b/kernel/trunk/boot/bootet.inc index f1d67a7677..52e69768a3 100644 --- a/kernel/trunk/boot/bootet.inc +++ b/kernel/trunk/boot/bootet.inc @@ -1,3 +1,4 @@ +$Revision$ ;====================================================================== ; ; BOOT DATA diff --git a/kernel/trunk/boot/bootge.inc b/kernel/trunk/boot/bootge.inc index 0c0f20df6d..454c448248 100644 --- a/kernel/trunk/boot/bootge.inc +++ b/kernel/trunk/boot/bootge.inc @@ -1,3 +1,4 @@ +$Revision$ ;====================================================================== ; ; BOOT DATA diff --git a/kernel/trunk/boot/bootru.inc b/kernel/trunk/boot/bootru.inc index e4b19cddf7..82d9ca001b 100644 --- a/kernel/trunk/boot/bootru.inc +++ b/kernel/trunk/boot/bootru.inc @@ -1,3 +1,4 @@ +$Revision$ ;====================================================================== ; ; BOOT DATA diff --git a/kernel/trunk/boot/et.inc b/kernel/trunk/boot/et.inc index f03bc292b6..bbe9a82c20 100644 --- a/kernel/trunk/boot/et.inc +++ b/kernel/trunk/boot/et.inc @@ -1,3 +1,4 @@ +$Revision$ ; Full ASCII code font ; only х and д added ; Kaitz diff --git a/kernel/trunk/boot/preboot.inc b/kernel/trunk/boot/preboot.inc index ddad6f5672..f60ef8864b 100644 --- a/kernel/trunk/boot/preboot.inc +++ b/kernel/trunk/boot/preboot.inc @@ -1,3 +1,4 @@ +$Revision$ display_modechg db 0 ; display mode change for text, yes/no (0 or 2) ; ; !! Important note !! diff --git a/kernel/trunk/boot/rdload.inc b/kernel/trunk/boot/rdload.inc index 7edfd12977..964a628b6e 100644 --- a/kernel/trunk/boot/rdload.inc +++ b/kernel/trunk/boot/rdload.inc @@ -1,3 +1,4 @@ +$Revision$ ; READ RAMDISK IMAGE FROM HD cmp [boot_dev],1 diff --git a/kernel/trunk/boot/ru.inc b/kernel/trunk/boot/ru.inc index 68ef06107a..0ea30b4e7e 100644 --- a/kernel/trunk/boot/ru.inc +++ b/kernel/trunk/boot/ru.inc @@ -1,3 +1,4 @@ +$Revision$ ; Generated by RUFNT.EXE ; By BadBugsKiller (C) ; Modifyed by BadBugsKiller 12.01.2004 17:45 diff --git a/kernel/trunk/boot/shutdown.inc b/kernel/trunk/boot/shutdown.inc index 61a389b1aa..ba19adb6f0 100644 --- a/kernel/trunk/boot/shutdown.inc +++ b/kernel/trunk/boot/shutdown.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; Shutdown for Menuet diff --git a/kernel/trunk/bus/pci/pci16.inc b/kernel/trunk/bus/pci/pci16.inc index c229148529..315d5776f6 100644 --- a/kernel/trunk/bus/pci/pci16.inc +++ b/kernel/trunk/bus/pci/pci16.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; PCI16.INC ;; diff --git a/kernel/trunk/bus/pci/pci32.inc b/kernel/trunk/bus/pci/pci32.inc index c224880fe7..ce4d471970 100644 --- a/kernel/trunk/bus/pci/pci32.inc +++ b/kernel/trunk/bus/pci/pci32.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; PCI32.INC ;; diff --git a/kernel/trunk/const.inc b/kernel/trunk/const.inc index 986bb3dc1d..e9b5425d64 100644 --- a/kernel/trunk/const.inc +++ b/kernel/trunk/const.inc @@ -1,3 +1,4 @@ +$Revision$ drw0 equ 10010010b ; data read/write dpl0 diff --git a/kernel/trunk/core/debug.inc b/kernel/trunk/core/debug.inc index c71cd874aa..5d64e21fbb 100644 --- a/kernel/trunk/core/debug.inc +++ b/kernel/trunk/core/debug.inc @@ -1,3 +1,4 @@ +$Revision$ ; diamond, 2006 sys_debug_services: cmp eax, 9 diff --git a/kernel/trunk/core/dll.inc b/kernel/trunk/core/dll.inc index 2db407c3d6..c3a1349a39 100644 --- a/kernel/trunk/core/dll.inc +++ b/kernel/trunk/core/dll.inc @@ -1,3 +1,4 @@ +$Revision$ DRV_ENTRY equ 1 DRV_EXIT equ -1 diff --git a/kernel/trunk/core/exports.inc b/kernel/trunk/core/exports.inc index e8afc0da34..67812c1a84 100644 --- a/kernel/trunk/core/exports.inc +++ b/kernel/trunk/core/exports.inc @@ -1,3 +1,4 @@ +$Revision$ iglobal szKernel db 'KERNEL', 0 diff --git a/kernel/trunk/core/fpu.inc b/kernel/trunk/core/fpu.inc index c6c68cc774..9c1ad3af40 100644 --- a/kernel/trunk/core/fpu.inc +++ b/kernel/trunk/core/fpu.inc @@ -1,3 +1,4 @@ +$Revision$ init_fpu: clts diff --git a/kernel/trunk/core/heap.inc b/kernel/trunk/core/heap.inc index 0cf60c6ac6..8e24138880 100644 --- a/kernel/trunk/core/heap.inc +++ b/kernel/trunk/core/heap.inc @@ -1,3 +1,4 @@ +$Revision$ struc MEM_BLOCK { .next_block dd ? diff --git a/kernel/trunk/core/malloc.inc b/kernel/trunk/core/malloc.inc index bd313b2eeb..8fff8ed757 100644 --- a/kernel/trunk/core/malloc.inc +++ b/kernel/trunk/core/malloc.inc @@ -1,3 +1,4 @@ +$Revision$ ; Small heap based on malloc/free/realloc written by Doug Lea ; Version 2.8.3 Thu Sep 22 11:16:15 2005 Doug Lea (dl at gee) ; Source ftp://gee.cs.oswego.edu/pub/misc/malloc.c diff --git a/kernel/trunk/core/memory.inc b/kernel/trunk/core/memory.inc index d4c34d46aa..1ad682855b 100644 --- a/kernel/trunk/core/memory.inc +++ b/kernel/trunk/core/memory.inc @@ -1,3 +1,4 @@ +$Revision$ tmp_page_tab equ HEAP_BASE diff --git a/kernel/trunk/core/sched.inc b/kernel/trunk/core/sched.inc index cae8711ea2..9b490bd66f 100644 --- a/kernel/trunk/core/sched.inc +++ b/kernel/trunk/core/sched.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; IRQ0 HANDLER (TIMER INTERRUPT) ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/kernel/trunk/core/sync.inc b/kernel/trunk/core/sync.inc index 147d13c3ba..c8d88ea6b2 100644 --- a/kernel/trunk/core/sync.inc +++ b/kernel/trunk/core/sync.inc @@ -1,3 +1,4 @@ +$Revision$ if ~defined sync_inc sync_inc_fix: sync_inc fix sync_inc_fix diff --git a/kernel/trunk/core/sys32.inc b/kernel/trunk/core/sys32.inc index a8e7144749..3d17557486 100644 --- a/kernel/trunk/core/sys32.inc +++ b/kernel/trunk/core/sys32.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; MenuetOS process management, protected ring3 ;; diff --git a/kernel/trunk/core/syscall.inc b/kernel/trunk/core/syscall.inc index 1708a3b9cf..cbd02a92e8 100644 --- a/kernel/trunk/core/syscall.inc +++ b/kernel/trunk/core/syscall.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; SYSTEM CALL ENTRY ;; diff --git a/kernel/trunk/core/taskman.inc b/kernel/trunk/core/taskman.inc index 47e3e7b7b6..c8ce3423b2 100644 --- a/kernel/trunk/core/taskman.inc +++ b/kernel/trunk/core/taskman.inc @@ -1,3 +1,4 @@ +$Revision$ GREEDY_KERNEL equ 0 diff --git a/kernel/trunk/detect/commouse.inc b/kernel/trunk/detect/commouse.inc index 13c1de7176..7bf8bb20a8 100644 --- a/kernel/trunk/detect/commouse.inc +++ b/kernel/trunk/detect/commouse.inc @@ -1,3 +1,4 @@ +$Revision$ ;************************************************** ;* ПОИСК МЫШИ ПО ПОСЛЕДОВАТЕЛЬНЫМ ПОРТАМ * ;* Процедура подготавливает глобальные переменные * diff --git a/kernel/trunk/detect/dev_fd.inc b/kernel/trunk/detect/dev_fd.inc index 84cba7a4f8..8322ca2d3c 100644 --- a/kernel/trunk/detect/dev_fd.inc +++ b/kernel/trunk/detect/dev_fd.inc @@ -1,3 +1,4 @@ +$Revision$ ;*************************************************** ; предварительная очистка области таблицы ; поиск и занесение в таблицу приводов FDD diff --git a/kernel/trunk/detect/dev_hdcd.inc b/kernel/trunk/detect/dev_hdcd.inc index 05389ee2c2..048b4a9757 100644 --- a/kernel/trunk/detect/dev_hdcd.inc +++ b/kernel/trunk/detect/dev_hdcd.inc @@ -1,3 +1,4 @@ +$Revision$ ;****************************************************** ; поиск приводов HDD и CD ; автор исходного текста Кулаков Владимир Геннадьевич. diff --git a/kernel/trunk/detect/disks.inc b/kernel/trunk/detect/disks.inc index 31b02f25cc..09102e6a57 100644 --- a/kernel/trunk/detect/disks.inc +++ b/kernel/trunk/detect/disks.inc @@ -1,3 +1,4 @@ +$Revision$ include 'dev_fd.inc' include 'dev_hdcd.inc' include 'sear_par.inc' diff --git a/kernel/trunk/detect/ps2mouse.inc b/kernel/trunk/detect/ps2mouse.inc index 0dd0b2e845..22377978b4 100644 --- a/kernel/trunk/detect/ps2mouse.inc +++ b/kernel/trunk/detect/ps2mouse.inc @@ -1,3 +1,4 @@ +$Revision$ MouseSearch_PS2: jmp MouseSearch_PS2_begin diff --git a/kernel/trunk/detect/sear_par.inc b/kernel/trunk/detect/sear_par.inc index 1bc6bb0601..0d65cccaaa 100644 --- a/kernel/trunk/detect/sear_par.inc +++ b/kernel/trunk/detect/sear_par.inc @@ -1,3 +1,4 @@ +$Revision$ ;**************************************************** ; поиск логических дисков на обнаруженных HDD ; и занесение данных в область таблицы diff --git a/kernel/trunk/fdo.inc b/kernel/trunk/fdo.inc index 028667c8b1..f7561882ad 100644 --- a/kernel/trunk/fdo.inc +++ b/kernel/trunk/fdo.inc @@ -1,3 +1,4 @@ +$Revision$ ; ; Formatted Debug Output (FDO) ; Copyright (c) 2005-2006, mike.dld diff --git a/kernel/trunk/fs/fat12.inc b/kernel/trunk/fs/fat12.inc index 6931e888c2..b9c4e147d0 100644 --- a/kernel/trunk/fs/fat12.inc +++ b/kernel/trunk/fs/fat12.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; FAT12.INC ;; diff --git a/kernel/trunk/fs/fat32.inc b/kernel/trunk/fs/fat32.inc index ed80d6ccb4..d69454d1b6 100644 --- a/kernel/trunk/fs/fat32.inc +++ b/kernel/trunk/fs/fat32.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; FAT32.INC ;; diff --git a/kernel/trunk/fs/fs.inc b/kernel/trunk/fs/fs.inc index e9109a53ca..a05b8055a4 100644 --- a/kernel/trunk/fs/fs.inc +++ b/kernel/trunk/fs/fs.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; System service for filesystem call ;; diff --git a/kernel/trunk/fs/fs_lfn.inc b/kernel/trunk/fs/fs_lfn.inc index 56c0bc6029..e128893a72 100644 --- a/kernel/trunk/fs/fs_lfn.inc +++ b/kernel/trunk/fs/fs_lfn.inc @@ -1,3 +1,4 @@ +$Revision$ ; System function 70 - files with long names (LFN) ; diamond, 2006 diff --git a/kernel/trunk/fs/iso9660.inc b/kernel/trunk/fs/iso9660.inc index 641c62a1c8..15e51105aa 100644 --- a/kernel/trunk/fs/iso9660.inc +++ b/kernel/trunk/fs/iso9660.inc @@ -1,3 +1,4 @@ +$Revision$ uglobal cd_current_pointer_of_input dd 0 diff --git a/kernel/trunk/fs/ntfs.inc b/kernel/trunk/fs/ntfs.inc index 29c09965d8..e2e2825b3a 100755 --- a/kernel/trunk/fs/ntfs.inc +++ b/kernel/trunk/fs/ntfs.inc @@ -1,3 +1,4 @@ +$Revision$ ntfs_test_bootsec: ; in: ebx->buffer, edx=size of partition ; out: CF set <=> invalid diff --git a/kernel/trunk/fs/part_set.inc b/kernel/trunk/fs/part_set.inc index fba973569f..bc6d40d72a 100644 --- a/kernel/trunk/fs/part_set.inc +++ b/kernel/trunk/fs/part_set.inc @@ -1,3 +1,4 @@ +$Revision$ ;************************************************************* ;* 29.04.2006 Elimination of hangup after the * ;* expiration hd_wait_timeout - Mario79 * diff --git a/kernel/trunk/gui/button.inc b/kernel/trunk/gui/button.inc index 3608919d86..1a29012218 100644 --- a/kernel/trunk/gui/button.inc +++ b/kernel/trunk/gui/button.inc @@ -1,3 +1,4 @@ +$Revision$ max_buttons=4095 dececx: push edx diff --git a/kernel/trunk/gui/event.inc b/kernel/trunk/gui/event.inc index f3a1e6e023..6a351cac8d 100644 --- a/kernel/trunk/gui/event.inc +++ b/kernel/trunk/gui/event.inc @@ -1,3 +1,4 @@ +$Revision$ align 4 init_events: diff --git a/kernel/trunk/gui/font.inc b/kernel/trunk/gui/font.inc index 8b2a949311..3d11369ae2 100644 --- a/kernel/trunk/gui/font.inc +++ b/kernel/trunk/gui/font.inc @@ -1,3 +1,4 @@ +$Revision$ align 4 dtext: ; Text String Output (rw by Johnny_B[john@kolibrios.org]) ; eax x & y diff --git a/kernel/trunk/gui/mouse.inc b/kernel/trunk/gui/mouse.inc index 68f05ee37a..586d59fb84 100644 --- a/kernel/trunk/gui/mouse.inc +++ b/kernel/trunk/gui/mouse.inc @@ -1,3 +1,4 @@ +$Revision$ iglobal diff --git a/kernel/trunk/gui/skincode.inc b/kernel/trunk/gui/skincode.inc index efd43a9660..2593a442b9 100644 --- a/kernel/trunk/gui/skincode.inc +++ b/kernel/trunk/gui/skincode.inc @@ -1,3 +1,4 @@ +$Revision$ include "skindata.inc" ;skin_data = 0x00778000 diff --git a/kernel/trunk/gui/skindata.inc b/kernel/trunk/gui/skindata.inc index 46df646811..2adbdb698b 100644 --- a/kernel/trunk/gui/skindata.inc +++ b/kernel/trunk/gui/skindata.inc @@ -1,3 +1,4 @@ +$Revision$ ; ; WINDOW SKIN DATA ; diff --git a/kernel/trunk/gui/window.inc b/kernel/trunk/gui/window.inc index c58138e4b9..3971177870 100644 --- a/kernel/trunk/gui/window.inc +++ b/kernel/trunk/gui/window.inc @@ -1,3 +1,4 @@ +$Revision$ get_titlebar_height: ; edi = window draw_data pointer mov al,[edi+WDATA.fl_wstyle] and al,0x0F diff --git a/kernel/trunk/hid/keyboard.inc b/kernel/trunk/hid/keyboard.inc index d384047fdc..51053479df 100644 --- a/kernel/trunk/hid/keyboard.inc +++ b/kernel/trunk/hid/keyboard.inc @@ -1,3 +1,4 @@ +$Revision$ ;// mike.dld [ VKEY_LSHIFT = 0000000000000001b diff --git a/kernel/trunk/hid/m_com1.inc b/kernel/trunk/hid/m_com1.inc index f1b63f6d01..c50423d07d 100644 --- a/kernel/trunk/hid/m_com1.inc +++ b/kernel/trunk/hid/m_com1.inc @@ -1,3 +1,4 @@ +$Revision$ ; Номер принимаемого от мыши байта MouseByteNumber DB 0 ; Трехбайтовая структура данных, передаваемая мышью diff --git a/kernel/trunk/hid/m_com2.inc b/kernel/trunk/hid/m_com2.inc index 6c33f1b90c..c257fba3ff 100644 --- a/kernel/trunk/hid/m_com2.inc +++ b/kernel/trunk/hid/m_com2.inc @@ -1,3 +1,4 @@ +$Revision$ ; Номер принимаемого от мыши байта MouseByteNumber_1 DB 0 ; Трехбайтовая структура данных, передаваемая мышью diff --git a/kernel/trunk/hid/m_ps2.inc b/kernel/trunk/hid/m_ps2.inc index 09d50779c9..06569ad4c8 100644 --- a/kernel/trunk/hid/m_ps2.inc +++ b/kernel/trunk/hid/m_ps2.inc @@ -1,3 +1,4 @@ +$Revision$ ; Номер принимаемого от мыши байта MouseByteNumber_2 DB 0 ; Трехбайтовая структура данных, передаваемая мышью diff --git a/kernel/trunk/hid/mousedrv.inc b/kernel/trunk/hid/mousedrv.inc index b9aea2ba0b..4526cb5da5 100644 --- a/kernel/trunk/hid/mousedrv.inc +++ b/kernel/trunk/hid/mousedrv.inc @@ -1,3 +1,4 @@ +$Revision$ ; check mouse ; ; diff --git a/kernel/trunk/hid/set_dtc.inc b/kernel/trunk/hid/set_dtc.inc index 479ebce80c..54aaeedea2 100644 --- a/kernel/trunk/hid/set_dtc.inc +++ b/kernel/trunk/hid/set_dtc.inc @@ -1,3 +1,4 @@ +$Revision$ ;setting date,time,clock and alarm-clock ;add sys_settime at servetable as for ex. 22 fcn: ; 22 - SETTING DATE TIME, CLOCK AND ALARM-CLOCK diff --git a/kernel/trunk/kernel.asm b/kernel/trunk/kernel.asm index 916b5a4488..d09ca13001 100644 --- a/kernel/trunk/kernel.asm +++ b/kernel/trunk/kernel.asm @@ -10,6 +10,15 @@ ;; Compile with last version FASM ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +_REV_ = 0 +macro $Revision a { + match =: Num =$,a \{ + if _REV_ < Num + _REV_ = Num + end if + \} +} +$Revision$ include "proc32.inc" include "kglobals.inc" include "lang.inc" @@ -19,11 +28,11 @@ include "const.inc" ;WinMapAddress equ 0x460000 ;display_data = 0x460000 -max_processes equ 255 +max_processes equ 255 ;window_data equ 0x0000 ;tss_data equ 0xD20000 -tss_step equ (128+8192) ; tss & i/o - 65535 ports, * 256=557056*4 +tss_step equ (128+8192) ; tss & i/o - 65535 ports, * 256=557056*4 ;draw_data equ 0xC00000 ;sysint_stack_data equ 0xC03000 @@ -60,33 +69,33 @@ tss_step equ (128+8192) ; tss & i/o - 65535 ports, * 256=557056*4 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; use16 - org 0x0 - jmp start_of_code + org 0x0 + jmp start_of_code ; mike.dld { - org $+0x10000 + org $+0x10000 db 0 dd servetable-0x10000 -draw_line dd __sys_draw_line -disable_mouse dd __sys_disable_mouse -draw_pointer dd __sys_draw_pointer +draw_line dd __sys_draw_line +disable_mouse dd __sys_disable_mouse +draw_pointer dd __sys_draw_pointer ;//mike.dld, 2006-08-02 [ ;drawbar dd __sys_drawbar -drawbar dd __sys_drawbar.forced +drawbar dd __sys_drawbar.forced ;//mike.dld, 2006-08-02 ] -putpixel dd __sys_putpixel +putpixel dd __sys_putpixel ; } mike.dld -version db 'Kolibri OS version 0.6.5.0 ',13,10,13,10,0 - ;dd endofcode-0x10000 +version db 'Kolibri OS version 0.6.5.0 ',13,10,13,10,0 + ;dd endofcode-0x10000 - ;db 'Boot02' + ;db 'Boot02' ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! include "boot/preboot.inc" ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -preboot_lfb db 0 -preboot_bootlog db 0 +preboot_lfb db 0 +preboot_bootlog db 0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -109,7 +118,7 @@ int_code equ int_code_l-gdts int_data equ int_data_l-gdts tss0sys equ tss0sys_l-gdts graph_data equ 3+graph_data_l-gdts -tss0 equ tss0_l-gdts +tss0 equ tss0_l-gdts app_code equ 3+app_code_l-gdts app_data equ 3+app_data_l-gdts @@ -117,47 +126,47 @@ app_data equ 3+app_data_l-gdts ; CR0 Flags - Protected mode and Paging - mov ecx, CR0_PE + mov ecx, CR0_PE ; Enabling 32 bit protected mode - sidt [cs:old_ints_h-0x10000] + sidt [cs:old_ints_h-0x10000] - cli ; disable all irqs - cld - mov al,255 ; mask all irqs - out 0xa1,al - out 0x21,al - l.5: in al, 0x64 ; Enable A20 - test al, 2 - jnz l.5 - mov al, 0xD1 - out 0x64, al - l.6: in al, 0x64 - test al, 2 - jnz l.6 - mov al, 0xDF - out 0x60, al - l.7: in al, 0x64 - test al, 2 - jnz l.7 - mov al, 0xFF - out 0x64, al - lgdt [cs:gdts-0x10000] ; Load GDT - mov eax, cr0 ; Turn on paging // protected mode - or eax, ecx - and eax, 10011111b *65536*256 + 0xffffff ; caching enabled - mov cr0, eax - jmp $+2 + cli ; disable all irqs + cld + mov al,255 ; mask all irqs + out 0xa1,al + out 0x21,al + l.5: in al, 0x64 ; Enable A20 + test al, 2 + jnz l.5 + mov al, 0xD1 + out 0x64, al + l.6: in al, 0x64 + test al, 2 + jnz l.6 + mov al, 0xDF + out 0x60, al + l.7: in al, 0x64 + test al, 2 + jnz l.7 + mov al, 0xFF + out 0x64, al + lgdt [cs:gdts-0x10000] ; Load GDT + mov eax, cr0 ; Turn on paging // protected mode + or eax, ecx + and eax, 10011111b *65536*256 + 0xffffff ; caching enabled + mov cr0, eax + jmp $+2 org $+0x10000 - mov ax,os_data ; Selector for os - mov ds,ax - mov es,ax - mov fs,ax - mov gs,ax - mov ss,ax - mov esp,0x3ec00 ; Set stack - jmp pword os_code:B32 ; jmp to enable 32 bit mode + mov ax,os_data ; Selector for os + mov ds,ax + mov es,ax + mov fs,ax + mov gs,ax + mov ss,ax + mov esp,0x3ec00 ; Set stack + jmp pword os_code:B32 ; jmp to enable 32 bit mode if gdte >= $ error 'GDT overlaps with used code!' @@ -172,25 +181,25 @@ __DEBUG_LEVEL__ fix 1 include 'fdo.inc' iglobal - boot_memdetect db 'Determining amount of memory',0 - boot_fonts db 'Fonts loaded',0 - boot_tss db 'Setting TSSs',0 - boot_cpuid db 'Reading CPUIDs',0 - boot_devices db 'Detecting devices',0 - boot_timer db 'Setting timer',0 - boot_irqs db 'Reprogramming IRQs',0 - boot_setmouse db 'Setting mouse',0 - boot_windefs db 'Setting window defaults',0 - boot_bgr db 'Calculating background',0 - boot_resirqports db 'Reserving IRQs & ports',0 - boot_setrports db 'Setting addresses for IRQs',0 - boot_setostask db 'Setting OS task',0 - boot_allirqs db 'Unmasking all IRQs',0 - boot_tsc db 'Reading TSC',0 - boot_pal_ega db 'Setting EGA/CGA 320x200 palette',0 - boot_pal_vga db 'Setting VGA 640x480 palette',0 - boot_mtrr db 'Setting MTRR',0 - boot_tasking db 'All set - press ESC to start',0 + boot_memdetect db 'Determining amount of memory',0 + boot_fonts db 'Fonts loaded',0 + boot_tss db 'Setting TSSs',0 + boot_cpuid db 'Reading CPUIDs',0 + boot_devices db 'Detecting devices',0 + boot_timer db 'Setting timer',0 + boot_irqs db 'Reprogramming IRQs',0 + boot_setmouse db 'Setting mouse',0 + boot_windefs db 'Setting window defaults',0 + boot_bgr db 'Calculating background',0 + boot_resirqports db 'Reserving IRQs & ports',0 + boot_setrports db 'Setting addresses for IRQs',0 + boot_setostask db 'Setting OS task',0 + boot_allirqs db 'Unmasking all IRQs',0 + boot_tsc db 'Reading TSC',0 + boot_pal_ega db 'Setting EGA/CGA 320x200 palette',0 + boot_pal_vga db 'Setting VGA 640x480 palette',0 + boot_mtrr db 'Setting MTRR',0 + boot_tasking db 'All set - press ESC to start',0 endg iglobal @@ -198,59 +207,59 @@ iglobal endg boot_log: - pushad + pushad - mov eax,10*65536 - mov ax,word [boot_y] - add [boot_y],dword 10 - mov ebx,0x80ffffff ; ASCIIZ string with white color - mov ecx,esi - mov edi,1 - call dtext + mov eax,10*65536 + mov ax,word [boot_y] + add [boot_y],dword 10 + mov ebx,0x80ffffff ; ASCIIZ string with white color + mov ecx,esi + mov edi,1 + call dtext - mov [novesachecksum],1000 - call checkVga_N13 + mov [novesachecksum],1000 + call checkVga_N13 - cmp [preboot_blogesc],byte 1 - je .bll2 + cmp [preboot_blogesc],byte 1 + je .bll2 - cmp esi,boot_tasking - jne .bll2 - ; begin ealex 04.08.05 + cmp esi,boot_tasking + jne .bll2 + ; begin ealex 04.08.05 ; in al,0x61 ; and al,01111111b ; out 0x61,al - ; end ealex 04.08.05 -.bll1: in al,0x60 ; wait for ESC key press - cmp al,129 - jne .bll1 + ; end ealex 04.08.05 +.bll1: in al,0x60 ; wait for ESC key press + cmp al,129 + jne .bll1 -.bll2: popad +.bll2: popad - ret + ret iglobal firstapp db '/rd/1/LAUNCHER',0 vrr_m db '/rd/1/VRR_M',0 char dd 0,0,0 - dd 2560 - dd 0x3F600 - std_application_base_address - db '/RD/1/FONTS/CHAR.MT',0 - char2 dd 0,0,0 - dd 2560 - dd 0x3EC00 - std_application_base_address - db '/RD/1/FONTS/CHAR2.MT',0 + dd 2560 + dd 0x3F600 - std_application_base_address + db '/RD/1/FONTS/CHAR.MT',0 + char2 dd 0,0,0 + dd 2560 + dd 0x3EC00 - std_application_base_address + db '/RD/1/FONTS/CHAR2.MT',0 ;char db 'FONTS/CHAR.MT',0 ;char2 db 'FONTS/CHAR2.MT',0 bootpath db '/KOLIBRI ' bootpath2 db 0 ; vmode db 'drivers/VMODE.MDR',0 - vmode dd 0,0,0 - dd 0x8000 - dd 0x760000 - std_application_base_address - db '/RD/1/drivers/VMODE.MDR',0 + vmode dd 0,0,0 + dd 0x8000 + dd 0x760000 - std_application_base_address + db '/RD/1/drivers/VMODE.MDR',0 endg @@ -265,40 +274,40 @@ align 4 B32: ; CLEAR 0x280000-0xF00000 - xor eax,eax - mov edi,0x280000 - mov ecx,(0x100000*0xF-0x280000) / 4 - cld - rep stosd + xor eax,eax + mov edi,0x280000 + mov ecx,(0x100000*0xF-0x280000) / 4 + cld + rep stosd ; CLEAR 0x80000-0x90000 ; xor eax,eax - mov edi,0x80000 - mov ecx,(0x90000-0x80000)/4 + mov edi,0x80000 + mov ecx,(0x90000-0x80000)/4 ; cld - rep stosd + rep stosd ; CLEAR KERNEL UNDEFINED GLOBALS - mov edi, endofcode - mov ecx, (uglobals_size/4)+4 - rep stosd + mov edi, endofcode + mov ecx, (uglobals_size/4)+4 + rep stosd ; SAVE & CLEAR 0-0xffff - mov esi,0x0000 - mov edi,0x2F0000 - mov ecx,0x10000 / 4 - cld - rep movsd - xor eax,eax - mov edi,0 - mov ecx,0x10000 / 4 - cld - rep stosd + mov esi,0x0000 + mov edi,0x2F0000 + mov ecx,0x10000 / 4 + cld + rep movsd + xor eax,eax + mov edi,0 + mov ecx,0x10000 / 4 + cld + rep stosd ; SAVE REAL MODE VARIABLES - mov ax, [0x2f0000 + 0x9031] - mov [IDEContrRegsBaseAddr], ax + mov ax, [0x2f0000 + 0x9031] + mov [IDEContrRegsBaseAddr], ax ; --------------- APM --------------------- mov eax, [0x2f0000 + 0x9040] ; entry point mov dword[apm_entry], eax @@ -309,109 +318,109 @@ B32: ; ----------------------------------------- ; movzx eax,byte [0x2f0000+0x9010] ; mouse port ; mov [0xF604],byte 1 ;al - mov al, [0x2F0000+0x901F] ; DMA writing - mov [allow_dma_write], al - mov al,[0x2f0000+0x9000] ; bpp - mov [ScreenBPP],al - movzx eax,word [0x2f0000+0x900A] ; X max - dec eax - mov [ScreenWidth],eax - mov [screen_workarea.right],eax - movzx eax,word [0x2f0000+0x900C] ; Y max - dec eax - mov [ScreenHeight],eax - mov [screen_workarea.bottom],eax - movzx eax,word [0x2f0000+0x9008] ; screen mode - mov [SCR_MODE],eax - mov eax,[0x2f0000+0x9014] ; Vesa 1.2 bnk sw add - mov [BANK_SWITCH],eax - mov [BytesPerScanLine],word 640*4 ; Bytes PerScanLine - cmp [SCR_MODE],word 0x13 ; 320x200 - je @f - cmp [SCR_MODE],word 0x12 ; VGA 640x480 - je @f - mov ax,[0x2f0000+0x9001] ; for other modes - mov [BytesPerScanLine],ax + mov al, [0x2F0000+0x901F] ; DMA writing + mov [allow_dma_write], al + mov al,[0x2f0000+0x9000] ; bpp + mov [ScreenBPP],al + movzx eax,word [0x2f0000+0x900A] ; X max + dec eax + mov [ScreenWidth],eax + mov [screen_workarea.right],eax + movzx eax,word [0x2f0000+0x900C] ; Y max + dec eax + mov [ScreenHeight],eax + mov [screen_workarea.bottom],eax + movzx eax,word [0x2f0000+0x9008] ; screen mode + mov [SCR_MODE],eax + mov eax,[0x2f0000+0x9014] ; Vesa 1.2 bnk sw add + mov [BANK_SWITCH],eax + mov [BytesPerScanLine],word 640*4 ; Bytes PerScanLine + cmp [SCR_MODE],word 0x13 ; 320x200 + je @f + cmp [SCR_MODE],word 0x12 ; VGA 640x480 + je @f + mov ax,[0x2f0000+0x9001] ; for other modes + mov [BytesPerScanLine],ax @@: ; GRAPHICS ADDRESSES - ;mov eax,0x100000*8 ; LFB address - ;cmp [0xfe0c],word 0x13 - ;je no_d_lfb - ;cmp [0xfe0c],word 0x12 - ;je no_d_lfb - ;cmp [0x2f0000+0x901e],byte 1 - ;jne no_d_lfb - mov byte [0x2f0000+0x901e],0x0 - mov eax,[0x2f0000+0x9018] + ;mov eax,0x100000*8 ; LFB address + ;cmp [0xfe0c],word 0x13 + ;je no_d_lfb + ;cmp [0xfe0c],word 0x12 + ;je no_d_lfb + ;cmp [0x2f0000+0x901e],byte 1 + ;jne no_d_lfb + mov byte [0x2f0000+0x901e],0x0 + mov eax,[0x2f0000+0x9018] ;no_d_lfb: - mov [LFBAddress],eax + mov [LFBAddress],eax - cmp [SCR_MODE],word 0100000000000000b - jge setvesa20 - cmp [SCR_MODE],word 0x13 - je v20ga32 - mov [PUTPIXEL],dword Vesa12_putpixel24 ; Vesa 1.2 - mov [0xe024],dword Vesa12_getpixel24 - cmp [ScreenBPP],byte 24 - jz ga24 - mov [PUTPIXEL],dword Vesa12_putpixel32 - mov [0xe024],dword Vesa12_getpixel32 + cmp [SCR_MODE],word 0100000000000000b + jge setvesa20 + cmp [SCR_MODE],word 0x13 + je v20ga32 + mov [PUTPIXEL],dword Vesa12_putpixel24 ; Vesa 1.2 + mov [0xe024],dword Vesa12_getpixel24 + cmp [ScreenBPP],byte 24 + jz ga24 + mov [PUTPIXEL],dword Vesa12_putpixel32 + mov [0xe024],dword Vesa12_getpixel32 ga24: - jmp v20ga24 + jmp v20ga24 setvesa20: - mov [PUTPIXEL],dword Vesa20_putpixel24 ; Vesa 2.0 - mov [0xe024],dword Vesa20_getpixel24 - cmp [ScreenBPP],byte 24 - jz v20ga24 + mov [PUTPIXEL],dword Vesa20_putpixel24 ; Vesa 2.0 + mov [0xe024],dword Vesa20_getpixel24 + cmp [ScreenBPP],byte 24 + jz v20ga24 v20ga32: - mov [PUTPIXEL],dword Vesa20_putpixel32 - mov [0xe024],dword Vesa20_getpixel32 + mov [PUTPIXEL],dword Vesa20_putpixel32 + mov [0xe024],dword Vesa20_getpixel32 v20ga24: - cmp [SCR_MODE],word 0x12 ; 16 C VGA 640x480 - jne no_mode_0x12 - mov [PUTPIXEL],dword VGA_putpixel - mov [0xe024],dword Vesa20_getpixel32 + cmp [SCR_MODE],word 0x12 ; 16 C VGA 640x480 + jne no_mode_0x12 + mov [PUTPIXEL],dword VGA_putpixel + mov [0xe024],dword Vesa20_getpixel32 no_mode_0x12: - call test_cpu + call test_cpu ; btr [cpu_caps], CAPS_SSE ;test: dont't use sse code ; btr [cpu_caps], CAPS_SSE2 ;test: don't use sse2 ; btr [cpu_caps], CAPS_FXSR ;test: disable sse support - ;all sse commands rise #UD exption + ;all sse commands rise #UD exption ; btr [cpu_caps], CAPS_PSE ;test: don't use large pages ; btr [cpu_caps], CAPS_PGE ;test: don't use global pages ; btr [cpu_caps], CAPS_MTRR ;test: don't use MTRR - bts [cpu_caps], CAPS_TSC ;force use rdtsc + bts [cpu_caps], CAPS_TSC ;force use rdtsc ; -------- Fast System Call init ---------- ; Intel SYSENTER/SYSEXIT (AMD CPU support it too) - bt [cpu_caps], CAPS_SEP - jnc .SEnP ; SysEnter not Present - xor edx, edx - mov ecx, MSR_SYSENTER_CS - mov eax, os_code - wrmsr - mov ecx, MSR_SYSENTER_ESP - mov eax, sysenter_stack ; Check it - wrmsr - mov ecx, MSR_SYSENTER_EIP - mov eax, sysenter_entry - wrmsr + bt [cpu_caps], CAPS_SEP + jnc .SEnP ; SysEnter not Present + xor edx, edx + mov ecx, MSR_SYSENTER_CS + mov eax, os_code + wrmsr + mov ecx, MSR_SYSENTER_ESP + mov eax, sysenter_stack ; Check it + wrmsr + mov ecx, MSR_SYSENTER_EIP + mov eax, sysenter_entry + wrmsr .SEnP: ; AMD SYSCALL/SYSRET - cmp byte[cpu_vendor], 'A' - jne .noSYSCALL - mov eax, 0x80000001 - cpuid - test edx, 0x800 ; bit_11 - SYSCALL/SYSRET support - jz .noSYSCALL - mov ecx, MSR_AMD_EFER - rdmsr - or eax, 1 ; bit_0 - System Call Extension (SCE) - wrmsr + cmp byte[cpu_vendor], 'A' + jne .noSYSCALL + mov eax, 0x80000001 + cpuid + test edx, 0x800 ; bit_11 - SYSCALL/SYSRET support + jz .noSYSCALL + mov ecx, MSR_AMD_EFER + rdmsr + or eax, 1 ; bit_0 - System Call Extension (SCE) + wrmsr ; !!!! It`s dirty hack, fix it !!! ; Bits of EDX : @@ -420,82 +429,82 @@ B32: ; Bit 15–0 During the SYSCALL instruction, this field is copied into the CS register ; and the contents of this field, plus 8, are copied into the SS register. - ; mov edx, (os_code + 16) * 65536 + os_code - mov edx, 0x1B0013 + ; mov edx, (os_code + 16) * 65536 + os_code + mov edx, 0x1B0013 - mov eax, syscall_entry - mov ecx, MSR_AMD_STAR - wrmsr + mov eax, syscall_entry + mov ecx, MSR_AMD_STAR + wrmsr .noSYSCALL: ; ----------------------------------------- ; MEMORY MODEL - call mem_test - call init_mtrr - call init_mem - call init_page_map + call mem_test + call init_mtrr + call init_mem + call init_page_map ; ENABLE PAGING - mov eax, sys_pgdir - mov cr3, eax + mov eax, sys_pgdir + mov cr3, eax - mov eax,cr0 - or eax,CR0_PG - mov cr0,eax + mov eax,cr0 + or eax,CR0_PG + mov cr0,eax - call init_kernel_heap - stdcall kernel_alloc, RING0_STACK_SIZE+512 - mov [os_stack], eax + call init_kernel_heap + stdcall kernel_alloc, RING0_STACK_SIZE+512 + mov [os_stack], eax - call init_LFB - call init_fpu + call init_LFB + call init_fpu - call init_malloc + call init_malloc - stdcall alloc_kernel_space, 0x4F000 - mov [ipc_tmp], eax - mov ebx, 0x1000 + stdcall alloc_kernel_space, 0x4F000 + mov [ipc_tmp], eax + mov ebx, 0x1000 - add eax, 0x40000 - mov [proc_mem_map], eax + add eax, 0x40000 + mov [proc_mem_map], eax - add eax, 0x8000 - mov [proc_mem_pdir], eax + add eax, 0x8000 + mov [proc_mem_pdir], eax - add eax, ebx - mov [proc_mem_tab], eax + add eax, ebx + mov [proc_mem_tab], eax - add eax, ebx - mov [tmp_task_pdir], eax + add eax, ebx + mov [tmp_task_pdir], eax - add eax, ebx - mov [tmp_task_ptab], eax + add eax, ebx + mov [tmp_task_ptab], eax - add eax, ebx - mov [ipc_pdir], eax + add eax, ebx + mov [ipc_pdir], eax - add eax, ebx - mov [ipc_ptab], eax + add eax, ebx + mov [ipc_ptab], eax - call init_events + call init_events - mov eax, srv.fd-SRV_FD_OFFSET - mov [srv.fd], eax - mov [srv.bk], eax + mov eax, srv.fd-SRV_FD_OFFSET + mov [srv.fd], eax + mov [srv.bk], eax - mov edi, irq_tab - xor eax, eax - mov ecx, 16 - rep stosd + mov edi, irq_tab + xor eax, eax + mov ecx, 16 + rep stosd ;Set base of graphic segment to linear address of LFB - mov eax,[LFBAddress] ; set for gs - mov [graph_data_l+2],ax - shr eax,16 - mov [graph_data_l+4],al - mov [graph_data_l+7],ah + mov eax,[LFBAddress] ; set for gs + mov [graph_data_l+2],ax + shr eax,16 + mov [graph_data_l+4],al + mov [graph_data_l+7],ah ;!!!!!!!!!!!!!!!!!!!!!!!!!! include 'detect/disks.inc' @@ -509,7 +518,7 @@ include 'boot/rdload.inc' ; mov [dma_hdd],1 ; CALCULATE FAT CHAIN FOR RAMDISK - call calculatefatchain + call calculatefatchain ; LOAD VMODE DRIVER @@ -519,18 +528,18 @@ include 'vmodeld.inc' ; LOAD FONTS I and II - mov [CURRENT_TASK],dword 1 - mov [TASK_COUNT],dword 1 - mov [TASK_BASE],dword TASK_DATA + mov [CURRENT_TASK],dword 1 + mov [TASK_COUNT],dword 1 + mov [TASK_BASE],dword TASK_DATA - pushad - push eax - mov eax,char - std_application_base_address - call file_system_lfn - mov eax,char2 - std_application_base_address - call file_system_lfn - pop eax - popad + pushad + push eax + mov eax,char - std_application_base_address + call file_system_lfn + mov eax,char2 - std_application_base_address + call file_system_lfn + pop eax + popad ; mov esi,char ; xor ebx,ebx @@ -544,244 +553,244 @@ include 'vmodeld.inc' ; mov edx,FONT_II ; call fs_RamdiskRead - mov esi,boot_fonts - call boot_log + mov esi,boot_fonts + call boot_log ; PRINT AMOUNT OF MEMORY - mov esi, boot_memdetect - call boot_log + mov esi, boot_memdetect + call boot_log - movzx ecx, word [boot_y] - or ecx, (10+29*6) shl 16 ; "Determining amount of memory" - sub ecx, 10 - mov edx, 0xFFFFFF - mov ebx, [MEM_AMOUNT] - shr ebx, 20 - mov edi, 1 - mov eax, 0x00040000 - call display_number_force + movzx ecx, word [boot_y] + or ecx, (10+29*6) shl 16 ; "Determining amount of memory" + sub ecx, 10 + mov edx, 0xFFFFFF + mov ebx, [MEM_AMOUNT] + shr ebx, 20 + mov edi, 1 + mov eax, 0x00040000 + call display_number_force ; REDIRECT ALL IRQ'S TO INT'S 0x20-0x2f - mov esi,boot_irqs - call boot_log - call rerouteirqs + mov esi,boot_irqs + call boot_log + call rerouteirqs - mov esi,boot_tss - call boot_log + mov esi,boot_tss + call boot_log ; BUILD SCHEDULER - call build_scheduler ; sys32.inc + call build_scheduler ; sys32.inc ; LOAD IDT - lidt [cs:idtreg] - cli + lidt [cs:idtreg] + cli - mov esi,boot_devices - call boot_log - call detect_devices + mov esi,boot_devices + call boot_log + call detect_devices ; TIMER SET TO 1/100 S - mov esi,boot_timer - call boot_log - mov al,0x34 ; set to 100Hz - out 0x43,al - mov al,0x9b ; lsb 1193180 / 1193 - out 0x40,al - mov al,0x2e ; msb - out 0x40,al + mov esi,boot_timer + call boot_log + mov al,0x34 ; set to 100Hz + out 0x43,al + mov al,0x9b ; lsb 1193180 / 1193 + out 0x40,al + mov al,0x2e ; msb + out 0x40,al ; SET MOUSE - mov esi,boot_setmouse - call boot_log - call setmouse + mov esi,boot_setmouse + call boot_log + call setmouse - mov [pci_access_enabled],1 + mov [pci_access_enabled],1 ; SET PRELIMINARY WINDOW STACK AND POSITIONS - mov esi,boot_windefs - call boot_log - call setwindowdefaults + mov esi,boot_windefs + call boot_log + call setwindowdefaults ; SET BACKGROUND DEFAULTS - mov esi,boot_bgr - call boot_log - call calculatebackground + mov esi,boot_bgr + call boot_log + call calculatebackground ; RESERVE SYSTEM IRQ'S JA PORT'S - mov esi,boot_resirqports - call boot_log - call reserve_irqs_ports + mov esi,boot_resirqports + call boot_log + call reserve_irqs_ports ; SET PORTS FOR IRQ HANDLERS - mov esi,boot_setrports - call boot_log - call setirqreadports + mov esi,boot_setrports + call boot_log + call setirqreadports ; SET UP OS TASK - mov esi,boot_setostask - call boot_log + mov esi,boot_setostask + call boot_log - mov eax, fpu_data - mov dword [SLOT_BASE+APPDATA.fpu_state], eax - mov dword [SLOT_BASE+APPDATA.fpu_handler], 0 - mov dword [SLOT_BASE+APPDATA.sse_handler], 0 + mov eax, fpu_data + mov dword [SLOT_BASE+APPDATA.fpu_state], eax + mov dword [SLOT_BASE+APPDATA.fpu_handler], 0 + mov dword [SLOT_BASE+APPDATA.sse_handler], 0 - ; name for OS/IDLE process + ; name for OS/IDLE process - mov dword [SLOT_BASE+256+APPDATA.app_name], dword 'OS/I' - mov dword [SLOT_BASE+256+APPDATA.app_name+4], dword 'DLE ' - mov edi, [os_stack] - mov dword [SLOT_BASE+256+APPDATA.pl0_stack], edi - add edi, RING0_STACK_SIZE - mov dword [SLOT_BASE+256+APPDATA.fpu_state], edi + mov dword [SLOT_BASE+256+APPDATA.app_name], dword 'OS/I' + mov dword [SLOT_BASE+256+APPDATA.app_name+4], dword 'DLE ' + mov edi, [os_stack] + mov dword [SLOT_BASE+256+APPDATA.pl0_stack], edi + add edi, RING0_STACK_SIZE + mov dword [SLOT_BASE+256+APPDATA.fpu_state], edi - mov esi, fpu_data - mov ecx, 512/4 - cld - rep movsd + mov esi, fpu_data + mov ecx, 512/4 + cld + rep movsd - mov dword [SLOT_BASE+256+APPDATA.fpu_handler], 0 - mov dword [SLOT_BASE+256+APPDATA.sse_handler], 0 + mov dword [SLOT_BASE+256+APPDATA.fpu_handler], 0 + mov dword [SLOT_BASE+256+APPDATA.sse_handler], 0 - mov ebx, [def_cursor] - mov dword [SLOT_BASE+256+APPDATA.cursor], ebx + mov ebx, [def_cursor] + mov dword [SLOT_BASE+256+APPDATA.cursor], ebx - mov ebx, SLOT_BASE+256+APP_OBJ_OFFSET - mov dword [SLOT_BASE+256+APPDATA.fd_obj], ebx - mov dword [SLOT_BASE+256+APPDATA.bk_obj], ebx + mov ebx, SLOT_BASE+256+APP_OBJ_OFFSET + mov dword [SLOT_BASE+256+APPDATA.fd_obj], ebx + mov dword [SLOT_BASE+256+APPDATA.bk_obj], ebx - ; task list - mov [TASK_DATA+TASKDATA.wnd_number], 1 ; on screen number - mov [TASK_DATA+TASKDATA.pid], 1 ; process id number - mov [TASK_DATA+TASKDATA.mem_start], 0 ; process base address + ; task list + mov [TASK_DATA+TASKDATA.wnd_number], 1 ; on screen number + mov [TASK_DATA+TASKDATA.pid], 1 ; process id number + mov [TASK_DATA+TASKDATA.mem_start], 0 ; process base address - mov edi,tss_data+tss_step - mov ecx, (tss_step)/4 - xor eax, eax - cld - rep stosd + mov edi,tss_data+tss_step + mov ecx, (tss_step)/4 + xor eax, eax + cld + rep stosd - mov edi,tss_data+tss_step - mov [edi+TSS._ss0], os_data - mov eax,cr3 - mov [edi+TSS._cr3],eax - mov [edi+TSS._eip],osloop - mov [edi+TSS._eflags],dword 0x11202 ; sti and resume - mov eax, [os_stack] - add eax, RING0_STACK_SIZE - mov [edi+TSS._esp], eax - mov [edi+TSS._cs],os_code - mov [edi+TSS._ss],os_data - mov [edi+TSS._ds],os_data - mov [edi+TSS._es],os_data - mov [edi+TSS._fs],os_data - mov [edi+TSS._gs],os_data + mov edi,tss_data+tss_step + mov [edi+TSS._ss0], os_data + mov eax,cr3 + mov [edi+TSS._cr3],eax + mov [edi+TSS._eip],osloop + mov [edi+TSS._eflags],dword 0x11202 ; sti and resume + mov eax, [os_stack] + add eax, RING0_STACK_SIZE + mov [edi+TSS._esp], eax + mov [edi+TSS._cs],os_code + mov [edi+TSS._ss],os_data + mov [edi+TSS._ds],os_data + mov [edi+TSS._es],os_data + mov [edi+TSS._fs],os_data + mov [edi+TSS._gs],os_data - mov ax,tss0 - ltr ax + mov ax,tss0 + ltr ax - call init_cursors + call init_cursors ; READ TSC / SECOND - mov esi,boot_tsc - call boot_log - call _rdtsc - mov ecx,eax - mov esi,250 ; wait 1/4 a second - call delay_ms - call _rdtsc - sub eax,ecx - shl eax,2 - mov [CPU_FREQ],eax ; save tsc / sec - mov ebx, 1000000 - div ebx - mov [stall_mcs], eax + mov esi,boot_tsc + call boot_log + call _rdtsc + mov ecx,eax + mov esi,250 ; wait 1/4 a second + call delay_ms + call _rdtsc + sub eax,ecx + shl eax,2 + mov [CPU_FREQ],eax ; save tsc / sec + mov ebx, 1000000 + div ebx + mov [stall_mcs], eax ; SET VARIABLES - call set_variables + call set_variables ; STACK AND FDC - call stack_init - call fdc_init + call stack_init + call fdc_init ; PALETTE FOR 320x200 and 640x480 16 col - cmp [SCR_MODE],word 0x12 - jne no_pal_vga - mov esi,boot_pal_vga - call boot_log - call paletteVGA + cmp [SCR_MODE],word 0x12 + jne no_pal_vga + mov esi,boot_pal_vga + call boot_log + call paletteVGA no_pal_vga: - cmp [SCR_MODE],word 0x13 - jne no_pal_ega - mov esi,boot_pal_ega - call boot_log - call palette320x200 + cmp [SCR_MODE],word 0x13 + jne no_pal_ega + mov esi,boot_pal_ega + call boot_log + call palette320x200 no_pal_ega: ; LOAD DEFAULT SKIN - mov esi,_skin_file_default - mov edi,_skin_file - movsd - movsd - movsd - call load_skin + mov esi,_skin_file_default + mov edi,_skin_file + movsd + movsd + movsd + call load_skin ; LOAD FIRST APPLICATION - mov [CURRENT_TASK],dword 1 - mov [TASK_COUNT],dword 1 - cli - cmp byte [0x2f0000+0x9030],1 - jne no_load_vrr_m + mov [CURRENT_TASK],dword 1 + mov [TASK_COUNT],dword 1 + cli + cmp byte [0x2f0000+0x9030],1 + jne no_load_vrr_m - mov ebp, vrr_m - xor ebx, ebx - xor edx, edx - call fs_execute - cmp eax,2 ; if vrr_m app found (PID=2) - je first_app_found + mov ebp, vrr_m + xor ebx, ebx + xor edx, edx + call fs_execute + cmp eax,2 ; if vrr_m app found (PID=2) + je first_app_found no_load_vrr_m: - mov ebp, firstapp - xor ebx, ebx - xor edx, edx - call fs_execute - cmp eax,2 ; continue if a process has been loaded - je first_app_found - mov eax, 0xDEADBEEF ; otherwise halt - hlt + mov ebp, firstapp + xor ebx, ebx + xor edx, edx + call fs_execute + cmp eax,2 ; continue if a process has been loaded + je first_app_found + mov eax, 0xDEADBEEF ; otherwise halt + hlt first_app_found: - cli + cli - ;mov [TASK_COUNT],dword 2 - mov [CURRENT_TASK],dword 1 ; set OS task fisrt + ;mov [TASK_COUNT],dword 2 + mov [CURRENT_TASK],dword 1 ; set OS task fisrt ; SET KEYBOARD PARAMETERS - mov al, 0xf6 ; reset keyboard, scan enabled - call kb_write + mov al, 0xf6 ; reset keyboard, scan enabled + call kb_write - ; wait until 8042 is ready - xor ecx,ecx + ; wait until 8042 is ready + xor ecx,ecx @@: - in al,64h - and al,00000010b - loopnz @b + in al,64h + and al,00000010b + loopnz @b ; mov al, 0xED ; svetodiody - only for testing! ; call kb_write @@ -790,53 +799,53 @@ first_app_found: ; call kb_write ; call kb_read - mov al, 0xF3 ; set repeat rate & delay - call kb_write + mov al, 0xF3 ; set repeat rate & delay + call kb_write ; call kb_read - mov al, 0 ; 30 250 ;00100010b ; 24 500 ;00100100b ; 20 500 - call kb_write + mov al, 0 ; 30 250 ;00100010b ; 24 500 ;00100100b ; 20 500 + call kb_write ; call kb_read ;// mike.dld [ - call set_lights + call set_lights ;// mike.dld ] ; START MULTITASKING - mov esi,boot_tasking - call boot_log + mov esi,boot_tasking + call boot_log ; mov [ENABLE_TASKSWITCH],byte 1 ; multitasking enabled ; UNMASK ALL IRQ'S - mov esi,boot_allirqs - call boot_log + mov esi,boot_allirqs + call boot_log - cli ;guarantee forbidance of interrupts. - mov al,0 ; unmask all irq's - out 0xA1,al - out 0x21,al + cli ;guarantee forbidance of interrupts. + mov al,0 ; unmask all irq's + out 0xA1,al + out 0x21,al - mov ecx,32 + mov ecx,32 ready_for_irqs: - mov al,0x20 ; ready for irqs - out 0x20,al - out 0xa0,al + mov al,0x20 ; ready for irqs + out 0x20,al + out 0xa0,al - loop ready_for_irqs ; flush the queue + loop ready_for_irqs ; flush the queue - stdcall attach_int_handler, dword 1, irq1 + stdcall attach_int_handler, dword 1, irq1 ; mov [dma_hdd],1 - cmp [IDEContrRegsBaseAddr], 0 - setnz [dma_hdd] + cmp [IDEContrRegsBaseAddr], 0 + setnz [dma_hdd] - sti - jmp $ ; wait here for timer to take control + sti + jmp $ ; wait here for timer to take control - ; Fly :) + ; Fly :) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; @@ -845,16 +854,16 @@ first_app_found: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; align 32 osloop: - call [draw_pointer] - call checkbuttons - call checkwindows + call [draw_pointer] + call checkbuttons + call checkwindows ; call check_window_move_request - call checkmisc - call checkVga_N13 - call stack_handler - call checkidle - call check_fdd_motor_status - jmp osloop + call checkmisc + call checkVga_N13 + call stack_handler + call checkidle + call check_fdd_motor_status + jmp osloop ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; ; MAIN OS LOOP END ; @@ -862,61 +871,61 @@ osloop: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; checkidle: - pushad + pushad - cmp [check_idle_semaphore],0 - jne no_idle_state + cmp [check_idle_semaphore],0 + jne no_idle_state - call change_task - mov eax,[idlemem] - mov ebx,[timer_ticks] ;[0xfdf0] - cmp eax,ebx - jnz idle_exit - call _rdtsc - mov ecx,eax + call change_task + mov eax,[idlemem] + mov ebx,[timer_ticks] ;[0xfdf0] + cmp eax,ebx + jnz idle_exit + call _rdtsc + mov ecx,eax idle_loop: - hlt - cmp [check_idle_semaphore],0 - jne idle_loop_exit - mov eax,[timer_ticks] ;[0xfdf0] - cmp ebx,eax - jz idle_loop + hlt + cmp [check_idle_semaphore],0 + jne idle_loop_exit + mov eax,[timer_ticks] ;[0xfdf0] + cmp ebx,eax + jz idle_loop idle_loop_exit: - mov [idlemem],eax - call _rdtsc - sub eax,ecx - mov ebx,[idleuse] - add ebx,eax - mov [idleuse],ebx + mov [idlemem],eax + call _rdtsc + sub eax,ecx + mov ebx,[idleuse] + add ebx,eax + mov [idleuse],ebx - popad - ret + popad + ret idle_exit: - mov ebx,[timer_ticks] ;[0xfdf0] - mov [idlemem],ebx - call change_task + mov ebx,[timer_ticks] ;[0xfdf0] + mov [idlemem],ebx + call change_task - popad - ret + popad + ret no_idle_state: - dec [check_idle_semaphore] + dec [check_idle_semaphore] - mov ebx,[timer_ticks] ;[0xfdf0] - mov [idlemem],ebx - call change_task + mov ebx,[timer_ticks] ;[0xfdf0] + mov [idlemem],ebx + call change_task - popad - ret + popad + ret uglobal - idlemem dd 0x0 - idleuse dd 0x0 - idleusesec dd 0x0 - check_idle_semaphore dd 0x0 + idlemem dd 0x0 + idleuse dd 0x0 + idleusesec dd 0x0 + check_idle_semaphore dd 0x0 endg @@ -939,15 +948,15 @@ include "kernel32.inc" reserve_irqs_ports: - pushad + pushad - mov [irq_owner+4*0],byte 1 ; timer - mov [irq_owner+4*1],byte 1 ; keyboard - mov [irq_owner+4*5],byte 1 ; sound blaster - mov [irq_owner+4*6],byte 1 ; floppy diskette - mov [irq_owner+4*13],byte 1 ; math co-pros - mov [irq_owner+4*14],byte 1 ; ide I - mov [irq_owner+4*15],byte 1 ; ide II + mov [irq_owner+4*0],byte 1 ; timer + mov [irq_owner+4*1],byte 1 ; keyboard + mov [irq_owner+4*5],byte 1 ; sound blaster + mov [irq_owner+4*6],byte 1 ; floppy diskette + mov [irq_owner+4*13],byte 1 ; math co-pros + mov [irq_owner+4*14],byte 1 ; ide I + mov [irq_owner+4*15],byte 1 ; ide II ; movzx eax,byte [0xf604] ; mouse irq ; dec eax ; add eax,mouseirqtable @@ -956,34 +965,34 @@ reserve_irqs_ports: ; mov [irq_owner+eax],byte 1 - ; RESERVE PORTS - mov edi,1 ; 0x00-0x2d - mov [RESERVED_PORTS],edi - shl edi,4 - mov [RESERVED_PORTS+edi+0],dword 1 - mov [RESERVED_PORTS+edi+4],dword 0x0 - mov [RESERVED_PORTS+edi+8],dword 0x2d + ; RESERVE PORTS + mov edi,1 ; 0x00-0x2d + mov [RESERVED_PORTS],edi + shl edi,4 + mov [RESERVED_PORTS+edi+0],dword 1 + mov [RESERVED_PORTS+edi+4],dword 0x0 + mov [RESERVED_PORTS+edi+8],dword 0x2d - inc dword [RESERVED_PORTS] ; 0x30-0x4d - mov edi,[RESERVED_PORTS] - shl edi,4 - mov [RESERVED_PORTS+edi+0],dword 1 - mov [RESERVED_PORTS+edi+4],dword 0x30 - mov [RESERVED_PORTS+edi+8],dword 0x4d + inc dword [RESERVED_PORTS] ; 0x30-0x4d + mov edi,[RESERVED_PORTS] + shl edi,4 + mov [RESERVED_PORTS+edi+0],dword 1 + mov [RESERVED_PORTS+edi+4],dword 0x30 + mov [RESERVED_PORTS+edi+8],dword 0x4d - inc dword [RESERVED_PORTS] ; 0x50-0xdf - mov edi,[RESERVED_PORTS] - shl edi,4 - mov [RESERVED_PORTS+edi+0],dword 1 - mov [RESERVED_PORTS+edi+4],dword 0x50 - mov [RESERVED_PORTS+edi+8],dword 0xdf + inc dword [RESERVED_PORTS] ; 0x50-0xdf + mov edi,[RESERVED_PORTS] + shl edi,4 + mov [RESERVED_PORTS+edi+0],dword 1 + mov [RESERVED_PORTS+edi+4],dword 0x50 + mov [RESERVED_PORTS+edi+8],dword 0xdf - inc dword [RESERVED_PORTS] ; 0xe5-0xff - mov edi,[RESERVED_PORTS] - shl edi,4 - mov [RESERVED_PORTS+edi+0],dword 1 - mov [RESERVED_PORTS+edi+4],dword 0xe5 - mov [RESERVED_PORTS+edi+8],dword 0xff + inc dword [RESERVED_PORTS] ; 0xe5-0xff + mov edi,[RESERVED_PORTS] + shl edi,4 + mov [RESERVED_PORTS+edi+0],dword 1 + mov [RESERVED_PORTS+edi+4],dword 0xe5 + mov [RESERVED_PORTS+edi+8],dword 0xff ; cmp [0xf604],byte 2 ; com1 mouse -> 0x3f0-0x3ff @@ -1005,25 +1014,25 @@ reserve_irqs_ports: ; mov [0x2d0000+edi+8],dword 0x2ff ; ripl2: - popad - ret + popad + ret iglobal -mouseirqtable db 12 ; ps2 - db 4 ; com1 - db 3 ; com2 +mouseirqtable db 12 ; ps2 + db 4 ; com1 + db 3 ; com2 endg setirqreadports: - mov [irq12read+0],dword 0x60 + 0x01000000 ; read port 0x60 , byte - mov [irq12read+4],dword 0 ; end of port list - mov [irq04read+0],dword 0x3f8 + 0x01000000 ; read port 0x3f8 , byte - mov [irq04read+4],dword 0 ; end of port list - mov [irq03read+0],dword 0x2f8 + 0x01000000 ; read port 0x2f8 , byte - mov [irq03read+4],dword 0 ; end of port list + mov [irq12read+0],dword 0x60 + 0x01000000 ; read port 0x60 , byte + mov [irq12read+4],dword 0 ; end of port list + mov [irq04read+0],dword 0x3f8 + 0x01000000 ; read port 0x3f8 , byte + mov [irq04read+4],dword 0 ; end of port list + mov [irq03read+0],dword 0x2f8 + 0x01000000 ; read port 0x2f8 , byte + mov [irq03read+4],dword 0 ; end of port list - ret + ret iglobal process_number dd 0x1 @@ -1031,51 +1040,51 @@ endg set_variables: - mov ecx,0x100 ; flush port 0x60 -.fl60: in al,0x60 - loop .fl60 - mov [MOUSE_BUFF_COUNT],byte 0 ; mouse buffer - mov [KEY_COUNT],byte 0 ; keyboard buffer - mov [BTN_COUNT],byte 0 ; button buffer + mov ecx,0x100 ; flush port 0x60 +.fl60: in al,0x60 + loop .fl60 + mov [MOUSE_BUFF_COUNT],byte 0 ; mouse buffer + mov [KEY_COUNT],byte 0 ; keyboard buffer + mov [BTN_COUNT],byte 0 ; button buffer ; mov [MOUSE_X],dword 100*65536+100 ; mouse x/y - push eax - mov ax,[0x2f0000+0x900c] - shr ax,1 - shl eax,16 - mov ax,[0x2f0000+0x900A] - shr ax,1 - mov [MOUSE_X],eax - pop eax + push eax + mov ax,[0x2f0000+0x900c] + shr ax,1 + shl eax,16 + mov ax,[0x2f0000+0x900A] + shr ax,1 + mov [MOUSE_X],eax + pop eax - mov byte [SB16_Status],0 ; Minazzi Paolo - mov [display_data-12],dword 1 ; tiled background - mov [BTN_ADDR],dword BUTTON_INFO ; address of button list + mov byte [SB16_Status],0 ; Minazzi Paolo + mov [display_data-12],dword 1 ; tiled background + mov [BTN_ADDR],dword BUTTON_INFO ; address of button list ;!! IP 04.02.2005: - mov [next_usage_update], 100 - mov byte [0xFFFF], 0 ; change task if possible + mov [next_usage_update], 100 + mov byte [0xFFFF], 0 ; change task if possible - ret + ret ;* mouse centered - start code- Mario79 mouse_centered: - push eax - mov eax,[ScreenWidth] - shr eax,1 - mov [MOUSE_X],ax - mov eax,[ScreenHeight] - shr eax,1 - mov [MOUSE_Y],ax - pop eax - ret + push eax + mov eax,[ScreenWidth] + shr eax,1 + mov [MOUSE_X],ax + mov eax,[ScreenHeight] + shr eax,1 + mov [MOUSE_Y],ax + pop eax + ret ;* mouse centered - end code- Mario79 align 4 sys_outport: - mov edi,ebx ; separate flag for read / write + mov edi,ebx ; separate flag for read / write and ebx,65535 mov ecx,[RESERVED_PORTS] @@ -1097,9 +1106,9 @@ sys_outport: cmp edx,[esi+0] jne sopl2 cmp ebx,[esi+4] - jb sopl2 + jb sopl2 cmp ebx,[esi+8] - jg sopl2 + jg sopl2 jmp sopl3 sopl2: @@ -1114,15 +1123,15 @@ sys_outport: test edi,0x80000000 ; read ? jnz sopl4 - mov dx,bx ; write + mov dx,bx ; write out dx,al mov [esp+36],dword 0 ret sopl4: - mov dx,bx ; read - in al,dx + mov dx,bx ; read + in al,dx and eax,0xff mov [esp+36],dword 0 mov [esp+24],eax @@ -1241,28 +1250,28 @@ display_number: ; ebx = number or pointer ; ecx = x shl 16 + y ; edx = color - xor edi, edi + xor edi, edi display_number_force: - cmp eax,0xffff ; length > 0 ? + cmp eax,0xffff ; length > 0 ? jge cont_displ ret cont_displ: - cmp eax,61*0x10000 ; length <= 60 ? + cmp eax,61*0x10000 ; length <= 60 ? jb cont_displ2 ret cont_displ2: pushad - cmp al,1 ; ecx is a pointer ? + cmp al,1 ; ecx is a pointer ? jne displnl1 mov ebx,[ebx+std_application_base_address] displnl1: sub esp,64 - cmp ah,0 ; DECIMAL + cmp ah,0 ; DECIMAL jne no_display_desnum shr eax,16 and eax,0x3f @@ -1286,7 +1295,7 @@ display_number_force: ret no_display_desnum: - cmp ah,0x01 ; HEXADECIMAL + cmp ah,0x01 ; HEXADECIMAL jne no_display_hexnum shr eax,16 and eax,0x3f @@ -1311,7 +1320,7 @@ display_number_force: ret no_display_hexnum: - cmp ah,0x02 ; BINARY + cmp ah,0x02 ; BINARY jne no_display_binnum shr eax,16 and eax,0x3f @@ -1362,7 +1371,7 @@ draw_num_text: sub ecx,eax add ecx,esp mov eax,[esp+64+32-8+4] - push edx ; add window start x & y + push edx ; add window start x & y mov edx,[TASK_BASE] mov ebx,[edx-twdw+WDATA.box.left] add ebx, [(edx-CURRENT_TASK)*8+SLOT_BASE+APPDATA.wnd_clientbox.left] @@ -1372,9 +1381,9 @@ draw_num_text: add eax,ebx pop edx mov ebx,[esp+64+32-12+4] - and ebx, not 0x80000000 ; force counted string - mov esi, [esp+64+4+4] - mov edi, [esp+64+4] + and ebx, not 0x80000000 ; force counted string + mov esi, [esp+64+4+4] + mov edi, [esp+64+4] jmp dtext read_string: @@ -1406,7 +1415,7 @@ sys_setup: mov [esp+36],dword 0 - cmp eax,1 ; MIDI + cmp eax,1 ; MIDI jnz nsyse1 cmp ebx,0x100 jb nsyse1 @@ -1425,7 +1434,7 @@ endg nsyse1: - cmp eax,2 ; KEYBOARD + cmp eax,2 ; KEYBOARD jnz nsyse2 cmp ebx,1 jnz kbnobase @@ -1465,7 +1474,7 @@ endg mov [esp+36],dword 1 ret nsyse2: - cmp eax,3 ; CD + cmp eax,3 ; CD jnz nsyse3 test ebx,ebx jz nosesl @@ -1498,7 +1507,7 @@ cd_base db 0 nsyse3: - cmp eax,4 ; SB + cmp eax,4 ; SB jnz nsyse4 cmp ebx,0x100 jb nsyse4 @@ -1509,13 +1518,13 @@ cd_base db 0 ret nsyse4: - cmp eax,5 ; SYSTEM LANGUAGE + cmp eax,5 ; SYSTEM LANGUAGE jnz nsyse5 mov [syslang],ebx ret nsyse5: - cmp eax,7 ; HD BASE + cmp eax,7 ; HD BASE jne nsyse7 test ebx,ebx jz nosethd @@ -1553,7 +1562,7 @@ cd_base db 0 call reserve_hd1 call reserve_hd_channel call free_hd_channel - mov [hd1_status],0 ; free + mov [hd1_status],0 ; free nosethd: ret @@ -1563,7 +1572,7 @@ endg nsyse7: - cmp eax,8 ; HD PARTITION + cmp eax,8 ; HD PARTITION jne nsyse8 mov [fat32part],ebx ; call set_FAT32_variables @@ -1573,11 +1582,11 @@ endg pusha call choice_necessity_partition_1 popa - mov [hd1_status],0 ; free + mov [hd1_status],0 ; free ret nsyse8: - cmp eax,10 ; SOUND DMA CHANNEL + cmp eax,10 ; SOUND DMA CHANNEL jne no_set_sound_dma cmp ebx,3 ja sys_setup_err @@ -1585,14 +1594,14 @@ endg ret no_set_sound_dma: - cmp eax,11 ; ENABLE LBA READ + cmp eax,11 ; ENABLE LBA READ jne no_set_lba_read and ebx,1 mov [lba_read_enabled],ebx ret no_set_lba_read: - cmp eax,12 ; ENABLE PCI ACCESS + cmp eax,12 ; ENABLE PCI ACCESS jne no_set_pci_access and ebx,1 mov [pci_access_enabled],ebx @@ -1729,9 +1738,9 @@ sys_getsetup: iglobal align 4 mousefn dd msscreen, mswin, msbutton, msset - dd app_load_cursor - dd app_set_cursor - dd app_delete_cursor + dd app_load_cursor + dd app_set_cursor + dd app_delete_cursor endg readmousepos: @@ -1744,92 +1753,92 @@ readmousepos: ; eax=5 set cursor ; eax=6 delete cursor ; reserved - cmp eax, 6 - ja msset - jmp [mousefn+eax*4] + cmp eax, 6 + ja msset + jmp [mousefn+eax*4] msscreen: - mov eax,[MOUSE_X] - shl eax,16 - mov ax,[MOUSE_Y] - mov [esp+36],eax - ret + mov eax,[MOUSE_X] + shl eax,16 + mov ax,[MOUSE_Y] + mov [esp+36],eax + ret mswin: - mov eax,[MOUSE_X] - shl eax,16 - mov ax,[MOUSE_Y] - mov esi,[TASK_BASE] - mov bx, word [esi-twdw+WDATA.box.left] - shl ebx,16 - mov bx, word [esi-twdw+WDATA.box.top] - sub eax,ebx + mov eax,[MOUSE_X] + shl eax,16 + mov ax,[MOUSE_Y] + mov esi,[TASK_BASE] + mov bx, word [esi-twdw+WDATA.box.left] + shl ebx,16 + mov bx, word [esi-twdw+WDATA.box.top] + sub eax,ebx - mov edi,[CURRENT_TASK] - shl edi,8 - sub ax,word[edi+SLOT_BASE+APPDATA.wnd_clientbox.top] - rol eax,16 - sub ax,word[edi+SLOT_BASE+APPDATA.wnd_clientbox.left] - rol eax,16 - mov [esp+36],eax - ret + mov edi,[CURRENT_TASK] + shl edi,8 + sub ax,word[edi+SLOT_BASE+APPDATA.wnd_clientbox.top] + rol eax,16 + sub ax,word[edi+SLOT_BASE+APPDATA.wnd_clientbox.left] + rol eax,16 + mov [esp+36],eax + ret msbutton: - movzx eax,byte [BTN_DOWN] - mov [esp+36],eax - ret + movzx eax,byte [BTN_DOWN] + mov [esp+36],eax + ret msset: - ret + ret app_load_cursor: - add ebx, new_app_base - cmp ebx, new_app_base - jb msset - stdcall load_cursor, ebx, ecx - mov [esp+36], eax - ret + add ebx, new_app_base + cmp ebx, new_app_base + jb msset + stdcall load_cursor, ebx, ecx + mov [esp+36], eax + ret app_set_cursor: - stdcall set_cursor, ebx - mov [esp+36], eax - ret + stdcall set_cursor, ebx + mov [esp+36], eax + ret app_delete_cursor: - stdcall delete_cursor, ebx - mov [esp+36], eax - ret + stdcall delete_cursor, ebx + mov [esp+36], eax + ret is_input: push edx - mov dx,word [midisp] - in al,dx - and al,0x80 - pop edx + mov dx,word [midisp] + in al,dx + and al,0x80 + pop edx ret is_output: push edx - mov dx,word [midisp] - in al,dx - and al,0x40 - pop edx + mov dx,word [midisp] + in al,dx + and al,0x40 + pop edx ret get_mpu_in: push edx - mov dx,word [mididp] - in al,dx - pop edx + mov dx,word [mididp] + in al,dx + pop edx ret put_mpu_out: push edx - mov dx,word [mididp] - out dx,al - pop edx + mov dx,word [mididp] + out dx,al + pop edx ret @@ -1837,28 +1846,28 @@ setuart: su1: call is_output - cmp al,0 - jnz su1 - mov dx,word [midisp] - mov al,0xff - out dx,al + cmp al,0 + jnz su1 + mov dx,word [midisp] + mov al,0xff + out dx,al su2: - mov dx,word [midisp] - mov al,0xff - out dx,al + mov dx,word [midisp] + mov al,0xff + out dx,al call is_input - cmp al,0 - jnz su2 + cmp al,0 + jnz su2 call get_mpu_in - cmp al,0xfe - jnz su2 + cmp al,0xfe + jnz su2 su3: call is_output - cmp al,0 - jnz su3 - mov dx,word [midisp] - mov al,0x3f - out dx,al + cmp al,0 + jnz su3 + mov dx,word [midisp] + mov al,0x3f + out dx,al ret @@ -1911,7 +1920,7 @@ sys_end: mov eax,[TASK_BASE] mov [eax+TASKDATA.state], 3 ; terminate this program - waitterm: ; wait here for termination + waitterm: ; wait here for termination mov eax,5 call delay_hs jmp waitterm @@ -1919,39 +1928,39 @@ sys_end: iglobal align 4 sys_system_table: - dd sysfn_shutdown ; 1 = system shutdown - dd sysfn_terminate ; 2 = terminate thread - dd sysfn_activate ; 3 = activate window - dd sysfn_getidletime ; 4 = get idle time - dd sysfn_getcpuclock ; 5 = get cpu clock - dd sysfn_saveramdisk ; 6 = save ramdisk - dd sysfn_getactive ; 7 = get active window - dd sysfn_sound_flag ; 8 = get/set sound_flag - dd sysfn_shutdown_param ; 9 = shutdown with parameter - dd sysfn_minimize ; 10 = minimize window - dd sysfn_getdiskinfo ; 11 = get disk subsystem info - dd sysfn_lastkey ; 12 = get last pressed key - dd sysfn_getversion ; 13 = get kernel version - dd sysfn_waitretrace ; 14 = wait retrace - dd sysfn_centermouse ; 15 = center mouse cursor - dd sysfn_getfreemem ; 16 = get free memory size - dd sysfn_getallmem ; 17 = get total memory size - dd sysfn_terminate2 ; 18 = terminate thread using PID - ; instead of slot - dd sysfn_mouse_acceleration; 19 = set/get mouse acceleration - dd sysfn_meminfo ; 20 = get extended memory info + dd sysfn_shutdown ; 1 = system shutdown + dd sysfn_terminate ; 2 = terminate thread + dd sysfn_activate ; 3 = activate window + dd sysfn_getidletime ; 4 = get idle time + dd sysfn_getcpuclock ; 5 = get cpu clock + dd sysfn_saveramdisk ; 6 = save ramdisk + dd sysfn_getactive ; 7 = get active window + dd sysfn_sound_flag ; 8 = get/set sound_flag + dd sysfn_shutdown_param ; 9 = shutdown with parameter + dd sysfn_minimize ; 10 = minimize window + dd sysfn_getdiskinfo ; 11 = get disk subsystem info + dd sysfn_lastkey ; 12 = get last pressed key + dd sysfn_getversion ; 13 = get kernel version + dd sysfn_waitretrace ; 14 = wait retrace + dd sysfn_centermouse ; 15 = center mouse cursor + dd sysfn_getfreemem ; 16 = get free memory size + dd sysfn_getallmem ; 17 = get total memory size + dd sysfn_terminate2 ; 18 = terminate thread using PID + ; instead of slot + dd sysfn_mouse_acceleration; 19 = set/get mouse acceleration + dd sysfn_meminfo ; 20 = get extended memory info sysfn_num = ($ - sys_system_table)/4 endg sys_system: - dec eax - cmp eax, sysfn_num - jae @f - jmp dword [sys_system_table + eax*4] + dec eax + cmp eax, sysfn_num + jae @f + jmp dword [sys_system_table + eax*4] @@: - ret + ret -sysfn_shutdown: ; 18.1 = BOOT +sysfn_shutdown: ; 18.1 = BOOT mov [0x2f0000+0x9030],byte 0 for_shutdown_parameter: @@ -1965,7 +1974,7 @@ sysfn_shutdown: ; 18.1 = BOOT shutdown_processes: dd 0x0 endg -sysfn_terminate: ; 18.2 = TERMINATE +sysfn_terminate: ; 18.2 = TERMINATE cmp ebx,2 jb noprocessterminate mov edx,[TASK_COUNT] @@ -1979,7 +1988,7 @@ sysfn_terminate: ; 18.2 = TERMINATE jz noprocessterminate ;call MEM_Heap_Lock ;guarantee that process isn't working with heap - mov [ebx],byte 3 ; clear possible i40's + mov [ebx],byte 3 ; clear possible i40's ;call MEM_Heap_UnLock cmp edx,[application_table_status] ; clear app table stat @@ -1994,7 +2003,7 @@ sysfn_terminate2: .table_status: cli cmp [application_table_status],0 - je .stf + je .stf sti call change_task jmp .table_status @@ -2003,7 +2012,7 @@ sysfn_terminate2: mov eax,ebx call pid_to_slot test eax,eax - jz .not_found + jz .not_found mov ebx,eax cli call sysfn_terminate @@ -2013,10 +2022,10 @@ sysfn_terminate2: ret .not_found: mov [application_table_status],0 - or dword [esp+36],-1 + or dword [esp+36],-1 ret -sysfn_activate: ; 18.3 = ACTIVATE WINDOW +sysfn_activate: ; 18.3 = ACTIVATE WINDOW cmp ebx,2 jb .nowindowactivate cmp ebx,[TASK_COUNT] @@ -2037,12 +2046,12 @@ sysfn_activate: ; 18.3 = ACTIVATE WINDOW .nowindowactivate: ret -sysfn_getidletime: ; 18.4 = GET IDLETIME +sysfn_getidletime: ; 18.4 = GET IDLETIME mov eax,[idleusesec] mov [esp+36], eax ret -sysfn_getcpuclock: ; 18.5 = GET TSC/SEC +sysfn_getcpuclock: ; 18.5 = GET TSC/SEC mov eax,[CPU_FREQ] mov [esp+36], eax ret @@ -2052,13 +2061,13 @@ sysfn_getcpuclock: ; 18.5 = GET TSC/SEC include 'blkdev/rdsave.inc' ;!!!!!!!!!!!!!!!!!!!!!!!! -sysfn_getactive: ; 18.7 = get active window +sysfn_getactive: ; 18.7 = get active window mov eax, [TASK_COUNT] movzx eax, word [WIN_POS + eax*2] mov [esp+36],eax ret -sysfn_sound_flag: ; 18.8 = get/set sound_flag +sysfn_sound_flag: ; 18.8 = get/set sound_flag cmp ebx,1 jne nogetsoundflag movzx eax,byte [sound_flag] ; get sound_flag @@ -2071,7 +2080,7 @@ sysfn_sound_flag: ; 18.8 = get/set sound_flag nosoundflag: ret -sysfn_shutdown_param: ; 18.9 = system shutdown with param +sysfn_shutdown_param: ; 18.9 = system shutdown with param cmp ebx,1 jl exit_for_anyone cmp ebx,4 @@ -2079,12 +2088,12 @@ sysfn_shutdown_param: ; 18.9 = system shutdown with param mov [0x2f0000+0x9030],bl jmp for_shutdown_parameter -sysfn_minimize: ; 18.10 = minimize window +sysfn_minimize: ; 18.10 = minimize window mov [window_minimize],1 exit_for_anyone: ret -sysfn_getdiskinfo: ; 18.11 = get disk info table +sysfn_getdiskinfo: ; 18.11 = get disk info table cmp ebx,1 jnz full_table small_table: @@ -2108,11 +2117,11 @@ sysfn_getdiskinfo: ; 18.11 = get disk info table rep movsd ret -sysfn_lastkey: ; 18.12 = return 0 (backward compatibility) - and dword [esp+36], 0 - ret +sysfn_lastkey: ; 18.12 = return 0 (backward compatibility) + and dword [esp+36], 0 + ret -sysfn_getversion: ; 18.13 = get kernel ID and version +sysfn_getversion: ; 18.13 = get kernel ID and version mov edi,[TASK_BASE] mov edi,[edi+TASKDATA.mem_start] add edi,ebx @@ -2133,7 +2142,7 @@ sysfn_waitretrace: ; 18.14 = sys wait retrace mov [esp+36],dword 0 ret -sysfn_centermouse: ; 18.15 = mouse centered +sysfn_centermouse: ; 18.15 = mouse centered call mouse_centered mov [esp+36],dword 0 ret @@ -2188,7 +2197,7 @@ uglobal screen_workarea RECT ;// mike.dld, 2006-29-01 ] window_minimize db 0 -sound_flag db 0 +sound_flag db 0 endg iglobal @@ -2200,8 +2209,8 @@ version_end: endg UID_NONE=0 -UID_MENUETOS=1 ;official -UID_KOLIBRI=2 ;russian +UID_MENUETOS=1 ;official +UID_KOLIBRI=2 ;russian sys_cachetodiskette: ; pushad @@ -2244,7 +2253,7 @@ sys_cachetodiskette: call save_image mov [esp+36],dword 0 cmp [FDC_Status],0 - je yes_floppy_save + je yes_floppy_save no_floppy_b_save: mov [esp+36],dword 1 yes_floppy_save: @@ -2256,12 +2265,12 @@ endg sys_background: - cmp eax,1 ; BACKGROUND SIZE + cmp eax,1 ; BACKGROUND SIZE jnz nosb1 cmp ebx,0 - je sbgrr + je sbgrr cmp ecx,0 - je sbgrr + je sbgrr mov [display_data-8],ebx mov [display_data-4],ecx ; mov [bgrchanged],1 @@ -2269,7 +2278,7 @@ sys_background: ret nosb1: - cmp eax,2 ; SET PIXEL + cmp eax,2 ; SET PIXEL jnz nosb2 mov edx,0x160000-16 cmp edx,ebx @@ -2283,7 +2292,7 @@ sys_background: ret nosb2: - cmp eax,3 ; DRAW BACKGROUND + cmp eax,3 ; DRAW BACKGROUND jnz nosb3 draw_background_temp: ; cmp [bgrchanged],1 ;0 @@ -2296,17 +2305,17 @@ draw_background_temp: ret nosb3: - cmp eax,4 ; TILED / STRETCHED + cmp eax,4 ; TILED / STRETCHED jnz nosb4 cmp ebx,[display_data-12] - je nosb41 + je nosb41 mov [display_data-12],ebx ; mov [bgrchanged],1 nosb41: ret nosb4: - cmp eax,5 ; BLOCK MOVE TO BGR + cmp eax,5 ; BLOCK MOVE TO BGR jnz nosb5 ; bughere mov edi, [TASK_BASE] @@ -2317,12 +2326,12 @@ draw_background_temp: mov ebx, ecx add ecx, edx cmp ecx, 0x160000-16 - ja .fin + ja .fin ; add edi, 0x300000 add ebx, IMG_BACKGROUND mov ecx, edx cmp ecx, 0x160000-16 - ja .fin + ja .fin ; mov [bgrchanged],1 ; cld ; rep movsb @@ -2338,7 +2347,7 @@ align 4 sys_getbackground: - cmp eax,1 ; SIZE + cmp eax,1 ; SIZE jnz nogb1 mov eax,[display_data-8] shl eax,16 @@ -2347,7 +2356,7 @@ sys_getbackground: ret nogb1: - cmp eax,2 ; PIXEL + cmp eax,2 ; PIXEL jnz nogb2 mov edx,0x160000-16 cmp edx,ebx @@ -2358,7 +2367,7 @@ sys_getbackground: ret nogb2: - cmp eax,4 ; TILED / STRETCHED + cmp eax,4 ; TILED / STRETCHED jnz nogb4 mov eax,[display_data-12] nogb4: @@ -2371,13 +2380,13 @@ align 4 sys_getkey: mov [esp+36],dword 1 ; test main buffer - mov ebx, [CURRENT_TASK] ; TOP OF WINDOW STACK + mov ebx, [CURRENT_TASK] ; TOP OF WINDOW STACK movzx ecx,word [WIN_STACK + ebx * 2] mov edx,[TASK_COUNT] cmp ecx,edx jne .finish cmp [KEY_COUNT],byte 0 - je .finish + je .finish movzx eax,byte [KEY_BUFF] shl eax,8 push eax @@ -2398,28 +2407,28 @@ sys_getkey: ret .finish: ; test hotkeys buffer - mov ecx, hotkey_buffer + mov ecx, hotkey_buffer @@: - cmp [ecx], ebx - jz .found - add ecx, 8 - cmp ecx, hotkey_buffer+120*8 - jb @b - ret + cmp [ecx], ebx + jz .found + add ecx, 8 + cmp ecx, hotkey_buffer+120*8 + jb @b + ret .found: - mov ax, [ecx+6] - shl eax, 16 - mov ah, [ecx+4] - mov al, 2 - and dword [ecx+4], 0 - and dword [ecx], 0 - jmp .ret_eax + mov ax, [ecx+6] + shl eax, 16 + mov ah, [ecx+4] + mov al, 2 + and dword [ecx+4], 0 + and dword [ecx], 0 + jmp .ret_eax align 4 sys_getbutton: - mov ebx, [CURRENT_TASK] ; TOP OF WINDOW STACK + mov ebx, [CURRENT_TASK] ; TOP OF WINDOW STACK mov [esp+36],dword 1 movzx ecx, word [WIN_STACK + ebx * 2] mov edx, [TASK_COUNT] ; less than 256 processes @@ -2427,7 +2436,7 @@ sys_getbutton: jne .exit movzx eax,byte [BTN_COUNT] test eax,eax - jz .exit + jz .exit mov eax,[BTN_BUFF] shl eax,8 mov [BTN_COUNT],byte 0 @@ -2454,13 +2463,13 @@ sys_cpuusage: mov edi,[TASK_BASE] ; eax = return area add eax,[edi + TASKDATA.mem_start] - cmp ebx,-1 ; who am I ? + cmp ebx,-1 ; who am I ? jne no_who_am_i mov ebx,[CURRENT_TASK] no_who_am_i: - push eax ; return area - push ebx ; process number + push eax ; return area + push ebx ; process number push ebx push ebx @@ -2494,9 +2503,9 @@ sys_cpuusage: xor eax,eax mov edx,0x100000*16 - pop ecx ; get gdt of tss + pop ecx ; get gdt of tss cmp ecx,1 - je os_mem + je os_mem shl ecx,8 mov edx,[SLOT_BASE+ecx+APPDATA.mem_size] ;0x8c mov eax,std_application_base_address @@ -2564,73 +2573,73 @@ sys_cpuusage: align 4 sys_clock: - cli + cli ; Mikhail Lisovin xx Jan 2005 - @@: mov al, 10 - out 0x70, al - in al, 0x71 - test al, al - jns @f - mov esi, 1 - call delay_ms - jmp @b + @@: mov al, 10 + out 0x70, al + in al, 0x71 + test al, al + jns @f + mov esi, 1 + call delay_ms + jmp @b @@: ; end Lisovin's fix - xor al,al ; seconds - out 0x70,al - in al,0x71 - movzx ecx,al - mov al,02 ; minutes - shl ecx,16 - out 0x70,al - in al,0x71 - movzx edx,al - mov al,04 ; hours - shl edx,8 - out 0x70,al - in al,0x71 - add ecx,edx - movzx edx,al - add ecx,edx - sti - mov [esp+36],ecx - ret + xor al,al ; seconds + out 0x70,al + in al,0x71 + movzx ecx,al + mov al,02 ; minutes + shl ecx,16 + out 0x70,al + in al,0x71 + movzx edx,al + mov al,04 ; hours + shl edx,8 + out 0x70,al + in al,0x71 + add ecx,edx + movzx edx,al + add ecx,edx + sti + mov [esp+36],ecx + ret align 4 sys_date: - cli + cli - @@: mov al, 10 - out 0x70, al - in al, 0x71 - test al, al - jns @f - mov esi, 1 - call delay_ms - jmp @b + @@: mov al, 10 + out 0x70, al + in al, 0x71 + test al, al + jns @f + mov esi, 1 + call delay_ms + jmp @b @@: - mov ch,0 - mov al,7 ; date - out 0x70,al - in al,0x71 - mov cl,al - mov al,8 ; month - shl ecx,16 - out 0x70,al - in al,0x71 - mov ch,al - mov al,9 ; year - out 0x70,al - in al,0x71 - mov cl,al - sti - mov [esp+36],ecx - ret + mov ch,0 + mov al,7 ; date + out 0x70,al + in al,0x71 + mov cl,al + mov al,8 ; month + shl ecx,16 + out 0x70,al + in al,0x71 + mov ch,al + mov al,9 ; year + out 0x70,al + in al,0x71 + mov cl,al + sti + mov [esp+36],ecx + ret ; redraw status @@ -2648,7 +2657,7 @@ sys_redrawstat: mov edi,[BTN_ADDR] cmp [edi],dword 0 ; empty button list ? - je end_of_buttons_away + je end_of_buttons_away movzx ebx,word [edi] inc ebx @@ -2658,7 +2667,7 @@ sys_redrawstat: sys_newba: dec ebx - jz end_of_buttons_away + jz end_of_buttons_away add eax,0x10 cmp cx,[eax] @@ -2695,7 +2704,7 @@ sys_redrawstat: mov [edx+RECT.bottom],eax mov edi,[TASK_BASE] - or [edi-twdw+WDATA.fl_wdrawn], 1 ; no new position & buttons from app + or [edi-twdw+WDATA.fl_wdrawn], 1 ; no new position & buttons from app call sys_window_mouse @@ -2777,108 +2786,108 @@ sys_drawwindow: draw_window_caption: - inc [mouse_pause] - call [disable_mouse] + inc [mouse_pause] + call [disable_mouse] - xor eax,eax - mov edx,[TASK_COUNT] - movzx edx,word[WIN_POS+edx*2] - cmp edx,[CURRENT_TASK] - jne @f - inc eax - @@: mov edx,[CURRENT_TASK] - shl edx,5 - add edx,window_data - movzx ebx,[edx+WDATA.fl_wstyle] - and bl,0x0F - cmp bl,3 - jne .not_style_3 + xor eax,eax + mov edx,[TASK_COUNT] + movzx edx,word[WIN_POS+edx*2] + cmp edx,[CURRENT_TASK] + jne @f + inc eax + @@: mov edx,[CURRENT_TASK] + shl edx,5 + add edx,window_data + movzx ebx,[edx+WDATA.fl_wstyle] + and bl,0x0F + cmp bl,3 + jne .not_style_3 - push edx - call drawwindow_IV_caption - add esp,4 - jmp .2 + push edx + call drawwindow_IV_caption + add esp,4 + jmp .2 .not_style_3: - cmp bl,2 - jne .not_style_2 + cmp bl,2 + jne .not_style_2 - call drawwindow_III_caption - jmp .2 + call drawwindow_III_caption + jmp .2 .not_style_2: - cmp bl,0 - jne .2 + cmp bl,0 + jne .2 - call drawwindow_I_caption + call drawwindow_I_caption ;-------------------------------------------------------------- - .2: ;jmp @f - mov edi,[CURRENT_TASK] - shl edi,5 - test [edi+window_data+WDATA.fl_wstyle],WSTYLE_HASCAPTION - jz @f - mov ecx,[edi*8+SLOT_BASE+APPDATA.wnd_caption] - or ecx,ecx - jz @f - add ecx,[edi+twdw+TASKDATA.mem_start] + .2: ;jmp @f + mov edi,[CURRENT_TASK] + shl edi,5 + test [edi+window_data+WDATA.fl_wstyle],WSTYLE_HASCAPTION + jz @f + mov ecx,[edi*8+SLOT_BASE+APPDATA.wnd_caption] + or ecx,ecx + jz @f + add ecx,[edi+twdw+TASKDATA.mem_start] - movzx eax,[edi+window_data+WDATA.fl_wstyle] - and al,0x0F - cmp al,3 - jne .not_skinned + movzx eax,[edi+window_data+WDATA.fl_wstyle] + and al,0x0F + cmp al,3 + jne .not_skinned - mov ebp,[edi+window_data+WDATA.box.left-2] - mov bp,word[edi+window_data+WDATA.box.top] - movzx eax,word[edi+window_data+WDATA.box.width] - sub ax,[_skinmargins.left] - sub ax,[_skinmargins.right] - cwde - cdq - mov ebx,6 - idiv ebx - or eax,eax - js @f - mov edx,eax - mov eax,dword[_skinmargins.left-2] - mov ax,word[_skinh] - sub ax,[_skinmargins.bottom] - sub ax,[_skinmargins.top] - sar ax,1 - adc ax,0 - add ax,[_skinmargins.top] - add ax,-3 - add eax,ebp - jmp .dodraw + mov ebp,[edi+window_data+WDATA.box.left-2] + mov bp,word[edi+window_data+WDATA.box.top] + movzx eax,word[edi+window_data+WDATA.box.width] + sub ax,[_skinmargins.left] + sub ax,[_skinmargins.right] + cwde + cdq + mov ebx,6 + idiv ebx + or eax,eax + js @f + mov edx,eax + mov eax,dword[_skinmargins.left-2] + mov ax,word[_skinh] + sub ax,[_skinmargins.bottom] + sub ax,[_skinmargins.top] + sar ax,1 + adc ax,0 + add ax,[_skinmargins.top] + add ax,-3 + add eax,ebp + jmp .dodraw .not_skinned: - cmp al,1 - je @f + cmp al,1 + je @f - mov ebp,[edi+window_data+WDATA.box.left-2] - mov bp,word[edi+window_data+WDATA.box.top] - movzx eax,word[edi+window_data+WDATA.box.width] - sub eax,16 - cwde - cdq - mov ebx,6 - idiv ebx - or eax,eax - js @f - mov edx,eax - mov eax,0x00080007 - add eax,ebp + mov ebp,[edi+window_data+WDATA.box.left-2] + mov bp,word[edi+window_data+WDATA.box.top] + movzx eax,word[edi+window_data+WDATA.box.width] + sub eax,16 + cwde + cdq + mov ebx,6 + idiv ebx + or eax,eax + js @f + mov edx,eax + mov eax,0x00080007 + add eax,ebp .dodraw: - mov ebx,[common_colours+16];0x00FFFFFF - or ebx, 0x80000000 - xor edi,edi - call dtext + mov ebx,[common_colours+16];0x00FFFFFF + or ebx, 0x80000000 + xor edi,edi + call dtext @@: ;-------------------------------------------------------------- - dec [mouse_pause] - call [draw_pointer] - ret + dec [mouse_pause] + call [draw_pointer] + ret iglobal align 4 @@ -2890,50 +2899,50 @@ window_topleft dd \ endg set_window_clientbox: - push eax ecx edi + push eax ecx edi - mov eax,[_skinh] - mov [window_topleft+4*7],eax + mov eax,[_skinh] + mov [window_topleft+4*7],eax - mov ecx,edi - sub edi,window_data - shl edi,3 - test [ecx+WDATA.fl_wstyle],WSTYLE_CLIENTRELATIVE - jz @f + mov ecx,edi + sub edi,window_data + shl edi,3 + test [ecx+WDATA.fl_wstyle],WSTYLE_CLIENTRELATIVE + jz @f - movzx eax,[ecx+WDATA.fl_wstyle] - and eax,0x0F - mov eax,[eax*8+window_topleft+0] - mov [edi+SLOT_BASE+APPDATA.wnd_clientbox.left],eax - shl eax,1 - neg eax - add eax,[ecx+WDATA.box.width] - mov [edi+SLOT_BASE+APPDATA.wnd_clientbox.width],eax + movzx eax,[ecx+WDATA.fl_wstyle] + and eax,0x0F + mov eax,[eax*8+window_topleft+0] + mov [edi+SLOT_BASE+APPDATA.wnd_clientbox.left],eax + shl eax,1 + neg eax + add eax,[ecx+WDATA.box.width] + mov [edi+SLOT_BASE+APPDATA.wnd_clientbox.width],eax - movzx eax,[ecx+WDATA.fl_wstyle] - and eax,0x0F - push [eax*8+window_topleft+0] - mov eax,[eax*8+window_topleft+4] - mov [edi+SLOT_BASE+APPDATA.wnd_clientbox.top],eax - neg eax - sub eax,[esp] - add eax,[ecx+WDATA.box.height] - mov [edi+SLOT_BASE+APPDATA.wnd_clientbox.height],eax - add esp,4 + movzx eax,[ecx+WDATA.fl_wstyle] + and eax,0x0F + push [eax*8+window_topleft+0] + mov eax,[eax*8+window_topleft+4] + mov [edi+SLOT_BASE+APPDATA.wnd_clientbox.top],eax + neg eax + sub eax,[esp] + add eax,[ecx+WDATA.box.height] + mov [edi+SLOT_BASE+APPDATA.wnd_clientbox.height],eax + add esp,4 - pop edi ecx eax - ret + pop edi ecx eax + ret @@: - xor eax,eax - mov [edi+SLOT_BASE+APPDATA.wnd_clientbox.left],eax - mov [edi+SLOT_BASE+APPDATA.wnd_clientbox.top],eax - mov eax,[ecx+WDATA.box.width] - mov [edi+SLOT_BASE+APPDATA.wnd_clientbox.width],eax - mov eax,[ecx+WDATA.box.height] - mov [edi+SLOT_BASE+APPDATA.wnd_clientbox.height],eax + xor eax,eax + mov [edi+SLOT_BASE+APPDATA.wnd_clientbox.left],eax + mov [edi+SLOT_BASE+APPDATA.wnd_clientbox.top],eax + mov eax,[ecx+WDATA.box.width] + mov [edi+SLOT_BASE+APPDATA.wnd_clientbox.width],eax + mov eax,[ecx+WDATA.box.height] + mov [edi+SLOT_BASE+APPDATA.wnd_clientbox.height],eax - pop edi ecx eax - ret + pop edi ecx eax + ret sys_set_window: @@ -2967,27 +2976,27 @@ sys_set_window: call set_window_clientbox - push ecx esi edi ; save for window fullscreen/resize + push ecx esi edi ; save for window fullscreen/resize ;mov esi,edi - mov cl,[edi+WDATA.fl_wstyle] + mov cl,[edi+WDATA.fl_wstyle] sub edi,window_data shl edi,3 add edi,SLOT_BASE - and cl,0x0F - mov [edi+APPDATA.wnd_caption],0 - cmp cl,3 - jne @f - mov [edi+APPDATA.wnd_caption],esi - @@: mov esi,[esp+0] + and cl,0x0F + mov [edi+APPDATA.wnd_caption],0 + cmp cl,3 + jne @f + mov [edi+APPDATA.wnd_caption],esi + @@: mov esi,[esp+0] add edi, APPDATA.saved_box - movsd - movsd - movsd - movsd + movsd + movsd + movsd + movsd pop edi esi ecx push eax ebx ecx edx @@ -3002,11 +3011,11 @@ sys_set_window: call calculatescreen pop edx ecx ebx eax - mov [KEY_COUNT],byte 0 ; empty keyboard buffer - mov [BTN_COUNT],byte 0 ; empty button buffer + mov [KEY_COUNT],byte 0 ; empty keyboard buffer + mov [BTN_COUNT],byte 0 ; empty button buffer newd: - mov [edi+WDATA.fl_redraw],byte 0 ; no redraw + mov [edi+WDATA.fl_redraw],byte 0 ; no redraw mov edx,edi ret @@ -3014,18 +3023,18 @@ sys_set_window: syscall_windowsettings: .set_window_caption: - dec eax ; subfunction #1 - set window caption - jnz .get_window_caption + dec eax ; subfunction #1 - set window caption + jnz .get_window_caption - ; NOTE: only window owner thread can set its caption, - ; so there's no parameter for PID/TID + ; NOTE: only window owner thread can set its caption, + ; so there's no parameter for PID/TID - mov edi,[CURRENT_TASK] - shl edi,5 + mov edi,[CURRENT_TASK] + shl edi,5 - ; have to check if caption is within application memory limit - ; check is trivial, and if application resizes its memory, - ; caption still can become over bounds + ; have to check if caption is within application memory limit + ; check is trivial, and if application resizes its memory, + ; caption still can become over bounds ; diamond, 31.10.2006: check removed because with new memory manager ; there can be valid data after APPDATA.mem_size bound ; mov ecx,[edi*8+SLOT_BASE+APPDATA.mem_size] @@ -3033,120 +3042,120 @@ syscall_windowsettings: ; cmp ebx,ecx ; ja .exit_fail - mov [edi*8+SLOT_BASE+APPDATA.wnd_caption],ebx - or [edi+window_data+WDATA.fl_wstyle],WSTYLE_HASCAPTION + mov [edi*8+SLOT_BASE+APPDATA.wnd_caption],ebx + or [edi+window_data+WDATA.fl_wstyle],WSTYLE_HASCAPTION - call draw_window_caption + call draw_window_caption - xor eax,eax ; eax = 0 (success) - ret + xor eax,eax ; eax = 0 (success) + ret .get_window_caption: - dec eax ; subfunction #2 - get window caption - jnz .exit_fail + dec eax ; subfunction #2 - get window caption + jnz .exit_fail - ; not implemented yet + ; not implemented yet .exit_fail: - xor eax,eax - inc eax ; eax = 1 (fail) - ret + xor eax,eax + inc eax ; eax = 1 (fail) + ret sys_window_move: - mov edi,[CURRENT_TASK] - shl edi,5 - add edi,window_data + mov edi,[CURRENT_TASK] + shl edi,5 + add edi,window_data - test [edi+WDATA.fl_wstate],WSTATE_MAXIMIZED - jnz .window_move_return + test [edi+WDATA.fl_wstate],WSTATE_MAXIMIZED + jnz .window_move_return - push dword [edi + WDATA.box.left] ; save old coordinates - push dword [edi + WDATA.box.top] - push dword [edi + WDATA.box.width] - push dword [edi + WDATA.box.height] + push dword [edi + WDATA.box.left] ; save old coordinates + push dword [edi + WDATA.box.top] + push dword [edi + WDATA.box.width] + push dword [edi + WDATA.box.height] - cmp eax,-1 ; set new position and size - je .no_x_reposition - mov [edi + WDATA.box.left], eax + cmp eax,-1 ; set new position and size + je .no_x_reposition + mov [edi + WDATA.box.left], eax .no_x_reposition: - cmp ebx,-1 - je .no_y_reposition - mov [edi + WDATA.box.top], ebx + cmp ebx,-1 + je .no_y_reposition + mov [edi + WDATA.box.top], ebx .no_y_reposition: - test [edi+WDATA.fl_wstate],WSTATE_ROLLEDUP - jnz .no_y_resizing + test [edi+WDATA.fl_wstate],WSTATE_ROLLEDUP + jnz .no_y_resizing - cmp ecx,-1 - je .no_x_resizing - mov [edi + WDATA.box.width], ecx + cmp ecx,-1 + je .no_x_resizing + mov [edi + WDATA.box.width], ecx .no_x_resizing: - cmp edx,-1 - je .no_y_resizing - mov [edi + WDATA.box.height], edx + cmp edx,-1 + je .no_y_resizing + mov [edi + WDATA.box.height], edx .no_y_resizing: - call check_window_position - call set_window_clientbox + call check_window_position + call set_window_clientbox - pushad ; save for window fullscreen/resize - mov esi,edi - sub edi,window_data - shr edi,5 - shl edi,8 - add edi, SLOT_BASE + APPDATA.saved_box - mov ecx,4 - cld - rep movsd - popad + pushad ; save for window fullscreen/resize + mov esi,edi + sub edi,window_data + shr edi,5 + shl edi,8 + add edi, SLOT_BASE + APPDATA.saved_box + mov ecx,4 + cld + rep movsd + popad - pushad ; calculcate screen at new position - mov eax, [edi + WDATA.box.left] - mov ebx, [edi + WDATA.box.top] - mov ecx, [edi + WDATA.box.width] - mov edx, [edi + WDATA.box.height] - add ecx,eax - add edx,ebx + pushad ; calculcate screen at new position + mov eax, [edi + WDATA.box.left] + mov ebx, [edi + WDATA.box.top] + mov ecx, [edi + WDATA.box.width] + mov edx, [edi + WDATA.box.height] + add ecx,eax + add edx,ebx - call calculatescreen - popad + call calculatescreen + popad - pop edx ; calculcate screen at old position - pop ecx - pop ebx - pop eax - add ecx,eax - add edx,ebx - mov [dlx],eax ; save for drawlimits - mov [dly],ebx - mov [dlxe],ecx - mov [dlye],edx - call calculatescreen + pop edx ; calculcate screen at old position + pop ecx + pop ebx + pop eax + add ecx,eax + add edx,ebx + mov [dlx],eax ; save for drawlimits + mov [dly],ebx + mov [dlxe],ecx + mov [dlye],edx + call calculatescreen - mov [edi + WDATA.fl_redraw], 1 ; flag the process as redraw + mov [edi + WDATA.fl_redraw], 1 ; flag the process as redraw - mov eax,edi ; redraw screen at old position - xor esi,esi - call redrawscreen + mov eax,edi ; redraw screen at old position + xor esi,esi + call redrawscreen - mov [DONT_DRAW_MOUSE],byte 0 ; mouse pointer - mov [MOUSE_BACKGROUND],byte 0 ; no mouse under - mov [MOUSE_DOWN],byte 0 ; react to mouse up/down + mov [DONT_DRAW_MOUSE],byte 0 ; mouse pointer + mov [MOUSE_BACKGROUND],byte 0 ; no mouse under + mov [MOUSE_DOWN],byte 0 ; react to mouse up/down - mov ecx,10 ; wait 1/10 second + mov ecx,10 ; wait 1/10 second .wmrl3: - call [draw_pointer] - mov eax,1 - call delay_hs - loop .wmrl3 + call [draw_pointer] + mov eax,1 + call delay_hs + loop .wmrl3 - mov [window_move_pr],0 + mov [window_move_pr],0 .window_move_return: - ret + ret ;type_background_1: ; cmp [0xfff0],byte 0 ; background update ? @@ -3279,30 +3288,30 @@ ret ; check if pixel is allowed to be drawn checkpixel: - push eax edx + push eax edx - mov edx,[ScreenWidth] ; screen x size - inc edx - imul edx, ebx - mov dl, [eax+edx+display_data] ; lea eax, [...] + mov edx,[ScreenWidth] ; screen x size + inc edx + imul edx, ebx + mov dl, [eax+edx+display_data] ; lea eax, [...] - xor ecx, ecx - mov eax, [CURRENT_TASK] - cmp al, dl - setne cl + xor ecx, ecx + mov eax, [CURRENT_TASK] + cmp al, dl + setne cl - pop edx eax - ret + pop edx eax + ret uglobal - mouse_active db 0 + mouse_active db 0 endg iglobal cpustring db '/RD/1/CPU',0 endg uglobal -background_defined db 0 ; diamond, 11.04.2006 +background_defined db 0 ; diamond, 11.04.2006 endg align 4 @@ -3313,7 +3322,7 @@ checkmisc: cmp [ctrl_alt_del], 1 jne nocpustart mov ebp, cpustring - call fs_execute ; SPraid 8.03.2007 + call fs_execute ; SPraid 8.03.2007 ;lea esi,[ebp+6] ;xor ebx,ebx ; no parameters ;xor edx,edx ; no flags @@ -3327,15 +3336,15 @@ checkmisc: mov ecx, [TASK_COUNT] set_mouse_event: add edi, 256 - or [edi+SLOT_BASE+APPDATA.event_mask], dword 00100000b + or [edi+SLOT_BASE+APPDATA.event_mask], dword 00100000b loop set_mouse_event mouse_not_active: - cmp [REDRAW_BACKGROUND],byte 0 ; background update ? - jz nobackgr + cmp [REDRAW_BACKGROUND],byte 0 ; background update ? + jz nobackgr cmp [background_defined], 0 - jz nobackgr + jz nobackgr mov [REDRAW_BACKGROUND],byte 2 call change_task mov [draw_data+32 + RECT.left],dword 0 @@ -3354,7 +3363,7 @@ checkmisc: ; system shutdown request cmp [SYS_SHUTDOWN],byte 0 - je noshutdown + je noshutdown mov edx,[shutdown_processes] sub dl,2 @@ -3377,21 +3386,21 @@ checkmisc: dec byte [SYS_SHUTDOWN] cmp [SYS_SHUTDOWN],byte 0 - je system_shutdown + je system_shutdown noshutdown: - mov eax,[TASK_COUNT] ; termination + mov eax,[TASK_COUNT] ; termination mov ebx,TASK_DATA+TASKDATA.state mov esi,1 newct: mov cl,[ebx] cmp cl,byte 3 - jz terminate + jz terminate cmp cl,byte 4 - jz terminate + jz terminate add ebx,0x20 inc esi @@ -3409,129 +3418,129 @@ redrawscreen: ; eax , if process window_data base is eax, do not set flag/limits - pushad - push eax + pushad + push eax ;;; mov eax,2 ;;; call delay_hs - ;mov ecx,0 ; redraw flags for apps - xor ecx,ecx + ;mov ecx,0 ; redraw flags for apps + xor ecx,ecx newdw2: - inc ecx - push ecx + inc ecx + push ecx - mov eax,ecx - shl eax,5 - add eax,window_data + mov eax,ecx + shl eax,5 + add eax,window_data - cmp eax,[esp+4] - je not_this_task - ; check if window in redraw area - mov edi,eax + cmp eax,[esp+4] + je not_this_task + ; check if window in redraw area + mov edi,eax - cmp ecx,1 ; limit for background - jz bgli + cmp ecx,1 ; limit for background + jz bgli - mov eax, [edi + WDATA.box.left] - mov ebx, [edi + WDATA.box.top] - mov ecx, [edi + WDATA.box.width] - mov edx, [edi + WDATA.box.height] - add ecx,eax - add edx,ebx + mov eax, [edi + WDATA.box.left] + mov ebx, [edi + WDATA.box.top] + mov ecx, [edi + WDATA.box.width] + mov edx, [edi + WDATA.box.height] + add ecx,eax + add edx,ebx - mov ecx,[dlye] ; ecx = area y end ebx = window y start - cmp ecx,ebx - jb ricino + mov ecx,[dlye] ; ecx = area y end ebx = window y start + cmp ecx,ebx + jb ricino - mov ecx,[dlxe] ; ecx = area x end eax = window x start - cmp ecx,eax - jb ricino + mov ecx,[dlxe] ; ecx = area x end eax = window x start + cmp ecx,eax + jb ricino - mov eax, [edi + WDATA.box.left] - mov ebx, [edi + WDATA.box.top] - mov ecx, [edi + WDATA.box.width] - mov edx, [edi + WDATA.box.height] - add ecx, eax - add edx, ebx + mov eax, [edi + WDATA.box.left] + mov ebx, [edi + WDATA.box.top] + mov ecx, [edi + WDATA.box.width] + mov edx, [edi + WDATA.box.height] + add ecx, eax + add edx, ebx - mov eax,[dly] ; eax = area y start edx = window y end - cmp edx,eax - jb ricino + mov eax,[dly] ; eax = area y start edx = window y end + cmp edx,eax + jb ricino - mov eax,[dlx] ; eax = area x start ecx = window x end - cmp ecx,eax - jb ricino + mov eax,[dlx] ; eax = area x start ecx = window x end + cmp ecx,eax + jb ricino - bgli: + bgli: - cmp edi,esi - jz ricino + cmp edi,esi + jz ricino - mov eax,edi - add eax,draw_data-window_data + mov eax,edi + add eax,draw_data-window_data - mov ebx,[dlx] ; set limits - mov [eax + RECT.left], ebx - mov ebx,[dly] - mov [eax + RECT.top], ebx - mov ebx,[dlxe] - mov [eax + RECT.right], ebx - mov ebx,[dlye] - mov [eax + RECT.bottom], ebx + mov ebx,[dlx] ; set limits + mov [eax + RECT.left], ebx + mov ebx,[dly] + mov [eax + RECT.top], ebx + mov ebx,[dlxe] + mov [eax + RECT.right], ebx + mov ebx,[dlye] + mov [eax + RECT.bottom], ebx - sub eax,draw_data-window_data + sub eax,draw_data-window_data - cmp ecx,1 - jne nobgrd - cmp esi,1 - je newdw8 - call drawbackground + cmp ecx,1 + jne nobgrd + cmp esi,1 + je newdw8 + call drawbackground newdw8: nobgrd: - mov [eax + WDATA.fl_redraw],byte 1 ; mark as redraw + mov [eax + WDATA.fl_redraw],byte 1 ; mark as redraw ricino: not_this_task: - pop ecx + pop ecx - cmp ecx,[TASK_COUNT] - jle newdw2 + cmp ecx,[TASK_COUNT] + jle newdw2 - pop eax - popad + pop eax + popad - ret + ret calculatebackground: ; background - ; all black + ; all black - mov [display_data-8],dword 4 ; size x - mov [display_data-4],dword 2 ; size y + mov [display_data-8],dword 4 ; size x + mov [display_data-4],dword 2 ; size y - mov edi, IMG_BACKGROUND ; set background to black - xor eax, eax - mov ecx, 0x0fff00 / 4 - cld - rep stosd + mov edi, IMG_BACKGROUND ; set background to black + xor eax, eax + mov ecx, 0x0fff00 / 4 + cld + rep stosd - mov edi,display_data ; set os to use all pixels - mov eax,0x01010101 - mov ecx,0x15ff00 / 4 - rep stosd + mov edi,display_data ; set os to use all pixels + mov eax,0x01010101 + mov ecx,0x15ff00 / 4 + rep stosd - mov byte [REDRAW_BACKGROUND], 0 ; do not draw background! + mov byte [REDRAW_BACKGROUND], 0 ; do not draw background! - ret + ret uglobal - imax dd 0x0 + imax dd 0x0 endg @@ -3539,68 +3548,68 @@ endg delay_ms: ; delay in 1/1000 sec - push eax - push ecx + push eax + push ecx - mov ecx,esi - ; - imul ecx, 33941 - shr ecx, 9 - ; + mov ecx,esi + ; + imul ecx, 33941 + shr ecx, 9 + ; - in al,0x61 - and al,0x10 - mov ah,al - cld + in al,0x61 + and al,0x10 + mov ah,al + cld - cnt1: in al,0x61 - and al,0x10 - cmp al,ah - jz cnt1 + cnt1: in al,0x61 + and al,0x10 + cmp al,ah + jz cnt1 - mov ah,al - loop cnt1 + mov ah,al + loop cnt1 - pop ecx - pop eax + pop ecx + pop eax - ret + ret set_app_param: - push edi + push edi - mov edi,[TASK_BASE] - mov [edi+TASKDATA.event_mask],eax + mov edi,[TASK_BASE] + mov [edi+TASKDATA.event_mask],eax - pop edi - ret + pop edi + ret delay_hs: ; delay in 1/100 secs - push eax - push ecx - push edx + push eax + push ecx + push edx - mov edx,[timer_ticks] - add edx,eax + mov edx,[timer_ticks] + add edx,eax newtic: - mov ecx,[timer_ticks] - cmp edx,ecx - jbe zerodelay + mov ecx,[timer_ticks] + cmp edx,ecx + jbe zerodelay - call change_task + call change_task - jmp newtic + jmp newtic zerodelay: - pop edx - pop ecx - pop eax + pop edx + pop ecx + pop eax - ret + ret memmove: ; memory move in bytes @@ -3618,14 +3627,14 @@ memmove: ; memory move in bytes mov esi, eax test ecx, not 11b - jz @f + jz @f push ecx shr ecx, 2 rep movsd pop ecx and ecx, 11b - jz .finish + jz .finish @@: rep movsb @@ -3695,7 +3704,7 @@ sys_programirq: mov edi,[TASK_BASE] mov edi,[edi+TASKDATA.pid] cmp edi,[irq_owner+ebx*4] - je spril1 + je spril1 .not_owner: mov [esp+36],dword 1 ret @@ -3717,7 +3726,7 @@ align 4 get_irq_data: cmp eax,16 jae .not_owner - mov edx,eax ; check for correct owner + mov edx,eax ; check for correct owner shl edx,2 add edx,irq_owner mov edx,[edx] @@ -3726,7 +3735,7 @@ get_irq_data: cmp edx,edi je gidril1 .not_owner: - mov [esp+32],dword 2 ; ecx=2 + mov [esp+32],dword 2 ; ecx=2 ret gidril1: @@ -3775,7 +3784,7 @@ set_io_access_rights: mov ebx,1 shl ebx,cl - cmp ebp,0 ; enable access - ebp = 0 + cmp ebp,0 ; enable access - ebp = 0 jne siar1 not ebx @@ -3787,7 +3796,7 @@ set_io_access_rights: siar1: - or [edi],byte bl ; disable access - ebp = 1 + or [edi],byte bl ; disable access - ebp = 1 popad @@ -3804,14 +3813,14 @@ r_f_port_area: pushad - cmp ebx,ecx ; beginning > end ? + cmp ebx,ecx ; beginning > end ? ja rpal1 cmp ecx,65536 jae rpal1 mov esi,[RESERVED_PORTS] - test esi,esi ; no reserved areas ? + test esi,esi ; no reserved areas ? je rpal2 - cmp esi,255 ; max reserved + cmp esi,255 ; max reserved jae rpal1 rpal3: mov edi,esi @@ -3839,7 +3848,7 @@ r_f_port_area: ; enable port access at port IO map cli - pushad ; start enable io map + pushad ; start enable io map cmp ecx,65536 ;16384 jae no_unmask_io ; jge @@ -3850,7 +3859,7 @@ r_f_port_area: pushad - xor ebp,ebp ; enable - eax = port + xor ebp,ebp ; enable - eax = port call set_io_access_rights popad @@ -3861,7 +3870,7 @@ r_f_port_area: no_unmask_io: - popad ; end enable io map + popad ; end enable io map sti mov edi,[RESERVED_PORTS] @@ -3921,7 +3930,7 @@ free_port_area: ; disable port access at port IO map - pushad ; start disable io map + pushad ; start disable io map cmp ecx,65536 ;16384 jge no_mask_io @@ -3932,7 +3941,7 @@ free_port_area: pushad - mov ebp,1 ; disable - eax = port + mov ebp,1 ; disable - eax = port call set_io_access_rights popad @@ -3943,7 +3952,7 @@ free_port_area: no_mask_io: - popad ; end disable io map + popad ; end disable io map xor eax, eax ret @@ -4010,11 +4019,11 @@ drawbackground: align 4 -syscall_putimage: ; PutImage +syscall_putimage: ; PutImage mov edx,ecx mov ecx,ebx - lea ebx, [eax+std_application_base_address] + lea ebx, [eax+std_application_base_address] sys_putimage: test ecx,0x80008000 @@ -4026,41 +4035,41 @@ sys_putimage: .exit: ret @@: - mov edi,[CURRENT_TASK] - shl edi,8 - add dx,word[edi+SLOT_BASE+APPDATA.wnd_clientbox.top] - rol edx,16 - add dx,word[edi+SLOT_BASE+APPDATA.wnd_clientbox.left] - rol edx,16 + mov edi,[CURRENT_TASK] + shl edi,8 + add dx,word[edi+SLOT_BASE+APPDATA.wnd_clientbox.top] + rol edx,16 + add dx,word[edi+SLOT_BASE+APPDATA.wnd_clientbox.left] + rol edx,16 .forced: - push ebp esi 0 - mov ebp, putimage_get24bpp - mov esi, putimage_init24bpp + push ebp esi 0 + mov ebp, putimage_get24bpp + mov esi, putimage_init24bpp sys_putimage_bpp: ; call [disable_mouse] ; this will be done in xxx_putimage ; mov eax, vga_putimage - cmp [SCR_MODE], word 0x12 - jz @f ;.doit - mov eax, vesa12_putimage - cmp [SCR_MODE], word 0100000000000000b - jae @f - cmp [SCR_MODE], word 0x13 - jnz .doit + cmp [SCR_MODE], word 0x12 + jz @f ;.doit + mov eax, vesa12_putimage + cmp [SCR_MODE], word 0100000000000000b + jae @f + cmp [SCR_MODE], word 0x13 + jnz .doit @@: - mov eax, vesa20_putimage + mov eax, vesa20_putimage .doit: - inc [mouse_pause] - call eax - dec [mouse_pause] - pop ebp esi ebp - jmp [draw_pointer] + inc [mouse_pause] + call eax + dec [mouse_pause] + pop ebp esi ebp + jmp [draw_pointer] syscall_putimage_palette: - lea edi, [esi+std_application_base_address] - mov esi, edx - mov edx, ecx - mov ecx, ebx - lea ebx, [eax+std_application_base_address] + lea edi, [esi+std_application_base_address] + mov esi, edx + mov edx, ecx + mov ecx, ebx + lea ebx, [eax+std_application_base_address] sys_putimage_palette: ; ebx = pointer to image ; ecx = [xsize]*65536 + [ysize] @@ -4068,59 +4077,59 @@ sys_putimage_palette: ; esi = number of bits per pixel, must be 8, 24 or 32 ; edi = pointer to palette ; ebp = row delta - mov eax, [CURRENT_TASK] - shl eax, 8 - add dx, word [eax+SLOT_BASE+APPDATA.wnd_clientbox.top] - rol edx, 16 - add dx, word [eax+SLOT_BASE+APPDATA.wnd_clientbox.left] - rol edx, 16 + mov eax, [CURRENT_TASK] + shl eax, 8 + add dx, word [eax+SLOT_BASE+APPDATA.wnd_clientbox.top] + rol edx, 16 + add dx, word [eax+SLOT_BASE+APPDATA.wnd_clientbox.left] + rol edx, 16 .forced: - push ebp esi ebp - cmp esi, 8 - jnz @f - mov ebp, putimage_get8bpp - mov esi, putimage_init8bpp - jmp sys_putimage_bpp + push ebp esi ebp + cmp esi, 8 + jnz @f + mov ebp, putimage_get8bpp + mov esi, putimage_init8bpp + jmp sys_putimage_bpp @@: - cmp esi, 24 - jnz @f - mov ebp, putimage_get24bpp - mov esi, putimage_init24bpp - jmp sys_putimage_bpp + cmp esi, 24 + jnz @f + mov ebp, putimage_get24bpp + mov esi, putimage_init24bpp + jmp sys_putimage_bpp @@: - cmp esi, 32 - jnz @f - mov ebp, putimage_get32bpp - mov esi, putimage_init32bpp - jmp sys_putimage_bpp + cmp esi, 32 + jnz @f + mov ebp, putimage_get32bpp + mov esi, putimage_init32bpp + jmp sys_putimage_bpp @@: - pop ebp esi - ret + pop ebp esi + ret putimage_init24bpp: - lea eax, [eax*3] + lea eax, [eax*3] putimage_init8bpp: - ret + ret putimage_get24bpp: - mov eax, [esi] - add esi, 3 - ret 4 + mov eax, [esi] + add esi, 3 + ret 4 putimage_get8bpp: - movzx eax, byte [esi] - push edx - mov edx, [esp+8] - mov eax, [edx+eax*4] - pop edx - inc esi - ret 4 + movzx eax, byte [esi] + push edx + mov edx, [esp+8] + mov eax, [edx+eax*4] + pop edx + inc esi + ret 4 putimage_init32bpp: - shl eax, 2 - ret + shl eax, 2 + ret putimage_get32bpp: - lodsd - ret 4 + lodsd + ret 4 ; eax x beginning ; ebx y beginning @@ -4129,22 +4138,22 @@ putimage_get32bpp: ; edi color __sys_drawbar: - mov esi,[CURRENT_TASK] - shl esi,8 - add eax,[esi+SLOT_BASE+APPDATA.wnd_clientbox.left] - add ecx,[esi+SLOT_BASE+APPDATA.wnd_clientbox.left] - add ebx,[esi+SLOT_BASE+APPDATA.wnd_clientbox.top] - add edx,[esi+SLOT_BASE+APPDATA.wnd_clientbox.top] + mov esi,[CURRENT_TASK] + shl esi,8 + add eax,[esi+SLOT_BASE+APPDATA.wnd_clientbox.left] + add ecx,[esi+SLOT_BASE+APPDATA.wnd_clientbox.left] + add ebx,[esi+SLOT_BASE+APPDATA.wnd_clientbox.top] + add edx,[esi+SLOT_BASE+APPDATA.wnd_clientbox.top] .forced: inc [mouse_pause] ; call [disable_mouse] cmp [SCR_MODE],word 0x12 - je dbv20 + je dbv20 sdbv20: cmp [SCR_MODE],word 0100000000000000b jge dbv20 cmp [SCR_MODE],word 0x13 - je dbv20 + je dbv20 call vesa12_drawbar dec [mouse_pause] call [draw_pointer] @@ -4159,36 +4168,36 @@ __sys_drawbar: kb_read: - push ecx edx + push ecx edx - mov ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's + mov ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's kr_loop: - in al,0x64 - test al,1 - jnz kr_ready - loop kr_loop - mov ah,1 - jmp kr_exit + in al,0x64 + test al,1 + jnz kr_ready + loop kr_loop + mov ah,1 + jmp kr_exit kr_ready: - push ecx - mov ecx,32 + push ecx + mov ecx,32 kr_delay: - loop kr_delay - pop ecx - in al,0x60 - xor ah,ah + loop kr_delay + pop ecx + in al,0x60 + xor ah,ah kr_exit: - pop edx ecx + pop edx ecx - ret + ret kb_write: - push ecx edx + push ecx edx - mov dl,al + mov dl,al ; mov ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's ; kw_loop1: ; in al,0x64 @@ -4198,75 +4207,75 @@ kb_write: ; mov ah,1 ; jmp kw_exit ; kw_ok1: - in al,0x60 - mov ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's + in al,0x60 + mov ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's kw_loop: - in al,0x64 - test al,2 - jz kw_ok - loop kw_loop - mov ah,1 - jmp kw_exit + in al,0x64 + test al,2 + jz kw_ok + loop kw_loop + mov ah,1 + jmp kw_exit kw_ok: - mov al,dl - out 0x60,al - mov ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's + mov al,dl + out 0x60,al + mov ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's kw_loop3: - in al,0x64 - test al,2 - jz kw_ok3 - loop kw_loop3 - mov ah,1 - jmp kw_exit + in al,0x64 + test al,2 + jz kw_ok3 + loop kw_loop3 + mov ah,1 + jmp kw_exit kw_ok3: - mov ah,8 + mov ah,8 kw_loop4: - mov ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's + mov ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's kw_loop5: - in al,0x64 - test al,1 - jnz kw_ok4 - loop kw_loop5 - dec ah - jnz kw_loop4 + in al,0x64 + test al,1 + jnz kw_ok4 + loop kw_loop5 + dec ah + jnz kw_loop4 kw_ok4: - xor ah,ah + xor ah,ah kw_exit: - pop edx ecx + pop edx ecx - ret + ret kb_cmd: - mov ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's + mov ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's c_wait: - in al,0x64 - test al,2 - jz c_send - loop c_wait - jmp c_error + in al,0x64 + test al,2 + jz c_send + loop c_wait + jmp c_error c_send: - mov al,bl - out 0x64,al - mov ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's + mov al,bl + out 0x64,al + mov ecx,0x1ffff ; last 0xffff, new value in view of fast CPU's c_accept: - in al,0x64 - test al,2 - jz c_ok - loop c_accept + in al,0x64 + test al,2 + jz c_ok + loop c_accept c_error: - mov ah,1 - jmp c_exit + mov ah,1 + jmp c_exit c_ok: - xor ah,ah + xor ah,ah c_exit: - ret + ret setmouse: ; set mousepicture -pointer - ; ps2 mouse enable + ; ps2 mouse enable mov [MOUSE_PICTURE],dword mousepointer @@ -4305,12 +4314,12 @@ setmouse: ; set mousepicture -pointer mov dx,bx add dx,0 - mov al,0x30*2 ; 0x30 / 4 + mov al,0x30*2 ; 0x30 / 4 out dx,al mov dx,bx add dx,3 - mov al,2 ; 3 + mov al,2 ; 3 out dx,al mov dx,bx @@ -4373,60 +4382,60 @@ _rdtsc: rerouteirqs: - cli + cli - mov al,0x11 ; icw4, edge triggered - out 0x20,al - call pic_delay - out 0xA0,al - call pic_delay + mov al,0x11 ; icw4, edge triggered + out 0x20,al + call pic_delay + out 0xA0,al + call pic_delay - mov al,0x20 ; generate 0x20 + - out 0x21,al - call pic_delay - mov al,0x28 ; generate 0x28 + - out 0xA1,al - call pic_delay + mov al,0x20 ; generate 0x20 + + out 0x21,al + call pic_delay + mov al,0x28 ; generate 0x28 + + out 0xA1,al + call pic_delay - mov al,0x04 ; slave at irq2 - out 0x21,al - call pic_delay - mov al,0x02 ; at irq9 - out 0xA1,al - call pic_delay + mov al,0x04 ; slave at irq2 + out 0x21,al + call pic_delay + mov al,0x02 ; at irq9 + out 0xA1,al + call pic_delay - mov al,0x01 ; 8086 mode - out 0x21,al - call pic_delay - out 0xA1,al - call pic_delay + mov al,0x01 ; 8086 mode + out 0x21,al + call pic_delay + out 0xA1,al + call pic_delay - mov al,255 ; mask all irq's - out 0xA1,al - call pic_delay - out 0x21,al - call pic_delay + mov al,255 ; mask all irq's + out 0xA1,al + call pic_delay + out 0x21,al + call pic_delay - mov ecx,0x1000 - cld -picl1: call pic_delay - loop picl1 + mov ecx,0x1000 + cld +picl1: call pic_delay + loop picl1 - mov al,255 ; mask all irq's - out 0xA1,al - call pic_delay - out 0x21,al - call pic_delay + mov al,255 ; mask all irq's + out 0xA1,al + call pic_delay + out 0x21,al + call pic_delay - cli + cli - ret + ret pic_delay: - jmp pdl1 -pdl1: ret + jmp pdl1 +pdl1: ret sys_msg_board_str: @@ -4499,9 +4508,9 @@ sys_msg_board: sys_process_def: - mov edi, [CURRENT_TASK] + mov edi, [CURRENT_TASK] - dec eax ; 1 = set keyboard mode + dec eax ; 1 = set keyboard mode jne no_set_keyboard_setup shl edi,8 @@ -4511,7 +4520,7 @@ sys_process_def: no_set_keyboard_setup: - dec eax ; 2 = get keyboard mode + dec eax ; 2 = get keyboard mode jne no_get_keyboard_setup shl edi,8 @@ -4523,7 +4532,7 @@ sys_process_def: no_get_keyboard_setup: - dec eax ; 3 = get keyboard ctrl, alt, shift + dec eax ; 3 = get keyboard ctrl, alt, shift jne no_get_keyboard_cas ; xor eax,eax @@ -4545,70 +4554,70 @@ sys_process_def: no_get_keyboard_cas: - dec eax - jnz no_add_keyboard_hotkey + dec eax + jnz no_add_keyboard_hotkey - mov eax, hotkey_list + mov eax, hotkey_list @@: - cmp dword [eax+8], 0 - jz .found_free - add eax, 16 - cmp eax, hotkey_list+16*256 - jb @b - mov dword [esp+36], 1 - ret + cmp dword [eax+8], 0 + jz .found_free + add eax, 16 + cmp eax, hotkey_list+16*256 + jb @b + mov dword [esp+36], 1 + ret .found_free: - mov [eax+8], edi - mov [eax+4], ecx - movzx ebx, bl - lea ebx, [hotkey_scancodes+ebx*4] - mov ecx, [ebx] - mov [eax], ecx - mov [ebx], eax - mov [eax+12], ebx - jecxz @f - mov [ecx+12], eax + mov [eax+8], edi + mov [eax+4], ecx + movzx ebx, bl + lea ebx, [hotkey_scancodes+ebx*4] + mov ecx, [ebx] + mov [eax], ecx + mov [ebx], eax + mov [eax+12], ebx + jecxz @f + mov [ecx+12], eax @@: - and dword [esp+36], 0 - ret + and dword [esp+36], 0 + ret no_add_keyboard_hotkey: - dec eax - jnz no_del_keyboard_hotkey + dec eax + jnz no_del_keyboard_hotkey - movzx ebx, bl - lea ebx, [hotkey_scancodes+ebx*4] - mov eax, [ebx] + movzx ebx, bl + lea ebx, [hotkey_scancodes+ebx*4] + mov eax, [ebx] .scan: - test eax, eax - jz .notfound - cmp [eax+8], edi - jnz .next - cmp [eax+4], ecx - jz .found + test eax, eax + jz .notfound + cmp [eax+8], edi + jnz .next + cmp [eax+4], ecx + jz .found .next: - mov eax, [eax] - jmp .scan + mov eax, [eax] + jmp .scan .notfound: - mov dword [esp+36], 1 - ret + mov dword [esp+36], 1 + ret .found: - mov ecx, [eax] - jecxz @f - mov edx, [eax+12] - mov [ecx+12], edx + mov ecx, [eax] + jecxz @f + mov edx, [eax+12] + mov [ecx+12], edx @@: - mov ecx, [eax+12] - mov edx, [eax] - mov [ecx], edx - xor edx, edx - mov [eax+4], edx - mov [eax+8], edx - mov [eax+12], edx - mov [eax], edx - mov [esp+36], edx - ret + mov ecx, [eax+12] + mov edx, [eax] + mov [ecx], edx + xor edx, edx + mov [eax+4], edx + mov [eax+8], edx + mov [eax+12], edx + mov [eax], edx + mov [esp+36], edx + ret no_del_keyboard_hotkey: ret @@ -4616,9 +4625,9 @@ no_del_keyboard_hotkey: align 4 -sys_gs: ; direct screen access +sys_gs: ; direct screen access - cmp eax,1 ; resolution + cmp eax,1 ; resolution jne no_gs1 mov eax,[ScreenWidth] shl eax,16 @@ -4628,14 +4637,14 @@ sys_gs: ; direct screen access ret no_gs1: - cmp eax,2 ; bits per pixel + cmp eax,2 ; bits per pixel jne no_gs2 movzx eax,byte [ScreenBPP] mov [esp+36],eax ret no_gs2: - cmp eax,3 ; bytes per scanline + cmp eax,3 ; bytes per scanline jne no_gs3 mov eax,[BytesPerScanLine] mov [esp+36],eax @@ -4657,16 +4666,16 @@ sys_pci: align 4 ; system functions -syscall_setpixel: ; SetPixel +syscall_setpixel: ; SetPixel mov edx,[TASK_BASE] add eax,[edx-twdw+WDATA.box.left] add ebx,[edx-twdw+WDATA.box.top] - mov edi,[CURRENT_TASK] - shl edi,8 - add eax,[edi+SLOT_BASE+APPDATA.wnd_clientbox.left] - add ebx,[edi+SLOT_BASE+APPDATA.wnd_clientbox.top] + mov edi,[CURRENT_TASK] + shl edi,8 + add eax,[edi+SLOT_BASE+APPDATA.wnd_clientbox.left] + add ebx,[edi+SLOT_BASE+APPDATA.wnd_clientbox.top] xor edi,edi ; no force ; mov edi,1 call [disable_mouse] @@ -4674,18 +4683,18 @@ syscall_setpixel: ; SetPixel align 4 -syscall_writetext: ; WriteText +syscall_writetext: ; WriteText mov edi,[TASK_BASE] mov ebp,[edi-twdw+WDATA.box.left] - push esi - mov esi,[CURRENT_TASK] - shl esi,8 - add ebp,[esi+SLOT_BASE+APPDATA.wnd_clientbox.left] + push esi + mov esi,[CURRENT_TASK] + shl esi,8 + add ebp,[esi+SLOT_BASE+APPDATA.wnd_clientbox.left] shl ebp,16 add ebp,[edi-twdw+WDATA.box.top] - add bp,word[esi+SLOT_BASE+APPDATA.wnd_clientbox.top] - pop esi + add bp,word[esi+SLOT_BASE+APPDATA.wnd_clientbox.top] + pop esi add ecx,[edi+TASKDATA.mem_start] add eax,ebp xor edi,edi @@ -4693,7 +4702,7 @@ syscall_writetext: ; WriteText align 4 -syscall_openramdiskfile: ; OpenRamdiskFile +syscall_openramdiskfile: ; OpenRamdiskFile mov edi,[TASK_BASE] @@ -4707,7 +4716,7 @@ syscall_openramdiskfile: ; OpenRamdiskFile align 4 -syscall_drawrect: ; DrawRect +syscall_drawrect: ; DrawRect mov edi,ecx and edi,0x80FFFFFF @@ -4719,10 +4728,10 @@ syscall_drawrect: ; DrawRect shr eax,16 movzx edx,bx shr ebx,16 - mov esi,[CURRENT_TASK] - shl esi,8 - add eax,[esi+SLOT_BASE+APPDATA.wnd_clientbox.left] - add ebx,[esi+SLOT_BASE+APPDATA.wnd_clientbox.top] + mov esi,[CURRENT_TASK] + shl esi,8 + add eax,[esi+SLOT_BASE+APPDATA.wnd_clientbox.left] + add ebx,[esi+SLOT_BASE+APPDATA.wnd_clientbox.top] add ecx,eax add edx,ebx jmp [drawbar] @@ -4731,7 +4740,7 @@ syscall_drawrect: ; DrawRect align 4 -syscall_getscreensize: ; GetScreenSize +syscall_getscreensize: ; GetScreenSize movzx eax,word[ScreenWidth] shl eax,16 @@ -4741,7 +4750,7 @@ syscall_getscreensize: ; GetScreenSize align 4 -syscall_cdaudio: ; CD +syscall_cdaudio: ; CD call sys_cd_audio mov [esp+36],eax @@ -4749,7 +4758,7 @@ syscall_cdaudio: ; CD align 4 -syscall_delramdiskfile: ; DelRamdiskFile +syscall_delramdiskfile: ; DelRamdiskFile mov edi,[TASK_BASE] add edi,TASKDATA.mem_start @@ -4760,7 +4769,7 @@ syscall_delramdiskfile: ; DelRamdiskFile align 4 -syscall_writeramdiskfile: ; WriteRamdiskFile +syscall_writeramdiskfile: ; WriteRamdiskFile mov edi,[TASK_BASE] add edi,TASKDATA.mem_start @@ -4772,7 +4781,7 @@ syscall_writeramdiskfile: ; WriteRamdiskFile align 4 -syscall_getpixel: ; GetPixel +syscall_getpixel: ; GetPixel mov ecx,[ScreenWidth] inc ecx xor edx,edx @@ -4785,7 +4794,7 @@ syscall_getpixel: ; GetPixel align 4 -syscall_readstring: ; ReadString +syscall_readstring: ; ReadString mov edi,[TASK_BASE] add edi,TASKDATA.mem_start @@ -4796,22 +4805,22 @@ syscall_readstring: ; ReadString align 4 -syscall_drawline: ; DrawLine +syscall_drawline: ; DrawLine mov edi,[TASK_BASE] movzx edx,word[edi-twdw+WDATA.box.left] mov ebp,edx - mov esi,[CURRENT_TASK] - shl esi,8 - add ebp,[esi+SLOT_BASE+APPDATA.wnd_clientbox.left] - add dx,word[esi+SLOT_BASE+APPDATA.wnd_clientbox.left] + mov esi,[CURRENT_TASK] + shl esi,8 + add ebp,[esi+SLOT_BASE+APPDATA.wnd_clientbox.left] + add dx,word[esi+SLOT_BASE+APPDATA.wnd_clientbox.left] shl edx,16 add ebp,edx movzx edx,word[edi-twdw+WDATA.box.top] add eax,ebp mov ebp,edx - add ebp,[esi+SLOT_BASE+APPDATA.wnd_clientbox.top] - add dx,word[esi+SLOT_BASE+APPDATA.wnd_clientbox.top] + add ebp,[esi+SLOT_BASE+APPDATA.wnd_clientbox.top] + add dx,word[esi+SLOT_BASE+APPDATA.wnd_clientbox.top] shl edx,16 xor edi,edi add edx,ebp @@ -4820,7 +4829,7 @@ syscall_drawline: ; DrawLine align 4 -syscall_getirqowner: ; GetIrqOwner +syscall_getirqowner: ; GetIrqOwner cmp eax,16 jae .err shl eax,2 @@ -4834,7 +4843,7 @@ syscall_getirqowner: ; GetIrqOwner align 4 -syscall_reserveportarea: ; ReservePortArea and FreePortArea +syscall_reserveportarea: ; ReservePortArea and FreePortArea call r_f_port_area mov [esp+36],eax @@ -4842,7 +4851,7 @@ syscall_reserveportarea: ; ReservePortArea and FreePortArea align 4 -syscall_threads: ; CreateThreads +syscall_threads: ; CreateThreads call sys_threads mov [esp+36],eax @@ -4852,7 +4861,7 @@ align 4 stack_driver_stat: - call app_stack_handler ; Stack status + call app_stack_handler ; Stack status ; mov [check_idle_semaphore],5 ; enable these for zero delay ; call change_task ; between sent packet @@ -4862,7 +4871,7 @@ stack_driver_stat: align 4 -socket: ; Socket interface +socket: ; Socket interface call app_socket_handler ; mov [check_idle_semaphore],5 ; enable these for zero delay @@ -4874,7 +4883,7 @@ socket: ; Socket interface align 4 -user_events: ; User event times +user_events: ; User event times mov eax,0x12345678 mov [esp+36],eax @@ -4883,7 +4892,7 @@ user_events: ; User event times align 4 -read_from_hd: ; Read from hd - fn not in use +read_from_hd: ; Read from hd - fn not in use mov edi,[TASK_BASE] add edi,TASKDATA.mem_start @@ -4903,20 +4912,20 @@ paleholder: ; --------------- APM --------------------- apm_entry dp 0 -apm_vf dd 0 +apm_vf dd 0 align 4 sys_apm: cmp word [apm_vf], 0 ; Check APM BIOS enable jne @f - or [esp + 56], byte 1 ; error - mov [esp + 36], dword 8 ; 32-bit protected-mode interface not supported + or [esp + 56], byte 1 ; error + mov [esp + 36], dword 8 ; 32-bit protected-mode interface not supported ret @@: xchg eax, ecx xchg ebx, ecx cmp al, 3 - ja @f + ja @f and [esp + 56], byte 0xfe ; emulate func 0..3 as func 0 mov eax, [apm_vf] mov [esp + 36], eax @@ -4933,13 +4942,13 @@ sys_apm: mov [esp + 36], eax setc al and [esp + 56], byte 0xfe - or [esp + 56], al + or [esp + 56], al ret ; ----------------------------------------- align 4 -undefined_syscall: ; Undefined system call +undefined_syscall: ; Undefined system call mov [esp+36],dword -1 ret @@ -5002,7 +5011,7 @@ keymap_alt: ; device irq owners uglobal -irq_owner: ; process id +irq_owner: ; process id dd 0x0 dd 0x0 @@ -5045,7 +5054,7 @@ endg ; status uglobal - hd1_status dd 0x0 ; 0 - free : other - pid + hd1_status dd 0x0 ; 0 - free : other - pid application_table_status dd 0x0 ; 0 - free : other - pid endg @@ -5055,30 +5064,30 @@ uglobal midisp dd 0x0 cdbase dd 0x0 - cdid dd 0x0 + cdid dd 0x0 - hdbase dd 0x0 ; for boot 0x1f0 - hdid dd 0x0 - hdpos dd 0x0 ; for boot 0x1 - fat32part dd 0x0 ; for boot 0x1 + hdbase dd 0x0 ; for boot 0x1f0 + hdid dd 0x0 + hdpos dd 0x0 ; for boot 0x1 + fat32part dd 0x0 ; for boot 0x1 ;part2_ld dd 0x0 ;* start code - Mario79 -mouse_pause dd 0 -MouseTickCounter dd 0 -ps2_mouse_detected db 0 -com1_mouse_detected db 0 -com2_mouse_detected db 0 +mouse_pause dd 0 +MouseTickCounter dd 0 +ps2_mouse_detected db 0 +com1_mouse_detected db 0 +com2_mouse_detected db 0 ;* end code - Mario79 wraw_bacground_select db 0 - lba_read_enabled dd 0x0 ; 0 = disabled , 1 = enabled - pci_access_enabled dd 0x0 ; 0 = disabled , 1 = enabled + lba_read_enabled dd 0x0 ; 0 = disabled , 1 = enabled + pci_access_enabled dd 0x0 ; 0 = disabled , 1 = enabled - sb16 dd 0x0 + sb16 dd 0x0 - buttontype dd 0x0 + buttontype dd 0x0 windowtypechanged dd 0x0 align 4 @@ -5103,4 +5112,4 @@ endofcode: IncludeUGlobals uglobals_size = $ - endofcode diff16 "end of kernel code",0,$ - +diff10 "revision",0,_REV_ diff --git a/kernel/trunk/kernel16.inc b/kernel/trunk/kernel16.inc index 633c16f7ab..948a24243d 100644 --- a/kernel/trunk/kernel16.inc +++ b/kernel/trunk/kernel16.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; KERNEL16.INC ;; diff --git a/kernel/trunk/kernel32.inc b/kernel/trunk/kernel32.inc index 6759bd15b2..5c9e2e64b3 100644 --- a/kernel/trunk/kernel32.inc +++ b/kernel/trunk/kernel32.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; KERNEL32.INC ;; @@ -49,6 +50,26 @@ macro diff16 title,l1,l2 end repeat display 13,10 } +macro diff10 title,l1,l2 + { + local s,d,z,m + s = l2-l1 + z = 0 + m = 1000000000 + display title,': ' + repeat 10 + d = '0' + s / m + s = s - (s/m)*m + m = m / 10 + if d <> '0' + z = 1 + end if + if z <> 0 + display d + end if + end repeat + display 13,10 + } ; \begin{diamond}[29.09.2006] ; may be useful for kernel debugging @@ -63,14 +84,14 @@ iglobal_nested a db 'K : ',string,13,10,0 endg_nested if ~ f eq - pushfd + pushfd end if - push esi - mov esi, a - call sys_msg_board_str - pop esi + push esi + mov esi, a + call sys_msg_board_str + pop esi if ~ f eq - popfd + popfd end if } ; \end{diamond}[29.09.2006] @@ -102,7 +123,7 @@ end if struc RECT { .left dd ? - .top dd ? + .top dd ? .right dd ? .bottom dd ? } @@ -112,7 +133,7 @@ end virtual struc BOX { .left dd ? - .top dd ? + .top dd ? .width dd ? .height dd ? } @@ -121,7 +142,7 @@ virtual at 0 end virtual ; constants definition -WSTATE_NORMAL = 00000000b +WSTATE_NORMAL = 00000000b WSTATE_MAXIMIZED = 00000001b WSTATE_MINIMIZED = 00000010b WSTATE_ROLLEDUP = 00000100b @@ -138,7 +159,7 @@ struc TASKDATA .pid dd ? dw ? .state db ? - db ? + db ? dw ? .wnd_number db ? db ? @@ -172,25 +193,25 @@ struc APPDATA .app_name db 11 dup(?) db 5 dup(?) - .fpu_state dd ? ;+16 - .ev_count dd ? ;+20 - .fpu_handler dd ? ;+24 - .sse_handler dd ? ;+28 - .pl0_stack dd ? ;unused ;+32 - .heap_base dd ? ;+36 - .heap_top dd ? ;+40 - .cursor dd ? ;+44 - .fd_ev dd ? ;+48 - .bk_ev dd ? ;+52 - .fd_obj dd ? ;+56 - .bk_obj dd ? ;+60 + .fpu_state dd ? ;+16 + .ev_count dd ? ;+20 + .fpu_handler dd ? ;+24 + .sse_handler dd ? ;+28 + .pl0_stack dd ? ;unused ;+32 + .heap_base dd ? ;+36 + .heap_top dd ? ;+40 + .cursor dd ? ;+44 + .fd_ev dd ? ;+48 + .bk_ev dd ? ;+52 + .fd_obj dd ? ;+56 + .bk_obj dd ? ;+60 - db 64 dup(?) ;+64 + db 64 dup(?) ;+64 - .wnd_shape dd ? ;+128 - .wnd_shape_scale dd ? ;+132 - dd ? ;+136 - .mem_size dd ? ;+140 + .wnd_shape dd ? ;+128 + .wnd_shape_scale dd ? ;+132 + dd ? ;+136 + .mem_size dd ? ;+140 .saved_box BOX .ipc_start dd ? .ipc_size dd ? @@ -222,7 +243,7 @@ include "core/sync.inc" ; macros for synhronization objects include "core/sys32.inc" ; process management include "core/sched.inc" ; process scheduling include "core/syscall.inc" ; system call -include "core/fpu.inc" ; all fpu/sse support +include "core/fpu.inc" ; all fpu/sse support include "core/memory.inc" include "core/heap.inc" ; kernel and app heap include "core/malloc.inc" ; small kernel heap @@ -242,10 +263,10 @@ include "boot/shutdown.inc" ; shutdown or restart ; file system -include "fs/fs.inc" ; syscall -include "fs/fat32.inc" ; read / write for fat32 filesystem -include "fs/ntfs.inc" ; read / write for ntfs filesystem -include "fs/fat12.inc" ; read / write for fat12 filesystem +include "fs/fs.inc" ; syscall +include "fs/fat32.inc" ; read / write for fat32 filesystem +include "fs/ntfs.inc" ; read / write for ntfs filesystem +include "fs/fat12.inc" ; read / write for fat12 filesystem include "blkdev/rd.inc" ; ramdisk read /write include "fs/fs_lfn.inc" ; syscall, version 2 include "fs/iso9660.inc" ; read for iso9660 filesystem CD diff --git a/kernel/trunk/kglobals.inc b/kernel/trunk/kglobals.inc index 68276a10c7..040f94ccd2 100644 --- a/kernel/trunk/kglobals.inc +++ b/kernel/trunk/kglobals.inc @@ -1,3 +1,4 @@ +$Revision$ ;------------------------------------------------------------------ ; use "iglobal" for inserting initialized global data definitions. ;------------------------------------------------------------------ diff --git a/kernel/trunk/memmap.inc b/kernel/trunk/memmap.inc index 9b2bbe6dcc..b127bc4802 100644 --- a/kernel/trunk/memmap.inc +++ b/kernel/trunk/memmap.inc @@ -1,3 +1,4 @@ +$Revision$ ; ; MEMORY MAP ; diff --git a/kernel/trunk/network/eth_drv/arp.inc b/kernel/trunk/network/eth_drv/arp.inc index 94ac376b62..b2ab09a933 100644 --- a/kernel/trunk/network/eth_drv/arp.inc +++ b/kernel/trunk/network/eth_drv/arp.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ARP.INC diff --git a/kernel/trunk/network/eth_drv/drivers/3c59x.inc b/kernel/trunk/network/eth_drv/drivers/3c59x.inc index 4280823c59..3c70b2984b 100644 --- a/kernel/trunk/network/eth_drv/drivers/3c59x.inc +++ b/kernel/trunk/network/eth_drv/drivers/3c59x.inc @@ -1,3 +1,4 @@ +$Revision$ ;; Copyright (c) 2004, Endre Kozma ;; All rights reserved. ;; diff --git a/kernel/trunk/network/eth_drv/drivers/i8255x.inc b/kernel/trunk/network/eth_drv/drivers/i8255x.inc index 2aeb86414b..13f0144100 100644 --- a/kernel/trunk/network/eth_drv/drivers/i8255x.inc +++ b/kernel/trunk/network/eth_drv/drivers/i8255x.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; I8255X.INC ;; diff --git a/kernel/trunk/network/eth_drv/drivers/pcnet32.inc b/kernel/trunk/network/eth_drv/drivers/pcnet32.inc index 4f6e3db1ad..3d840ad53b 100644 --- a/kernel/trunk/network/eth_drv/drivers/pcnet32.inc +++ b/kernel/trunk/network/eth_drv/drivers/pcnet32.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; PCNET32.INC ;; diff --git a/kernel/trunk/network/eth_drv/drivers/rtl8029.inc b/kernel/trunk/network/eth_drv/drivers/rtl8029.inc index 40683316b1..ffe533a6de 100644 --- a/kernel/trunk/network/eth_drv/drivers/rtl8029.inc +++ b/kernel/trunk/network/eth_drv/drivers/rtl8029.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; RTL8029.INC ;; diff --git a/kernel/trunk/network/eth_drv/drivers/rtl8139.inc b/kernel/trunk/network/eth_drv/drivers/rtl8139.inc index cb938da187..48a270f125 100644 --- a/kernel/trunk/network/eth_drv/drivers/rtl8139.inc +++ b/kernel/trunk/network/eth_drv/drivers/rtl8139.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; RTL8139.INC ;; diff --git a/kernel/trunk/network/eth_drv/drivers/rtl8169.inc b/kernel/trunk/network/eth_drv/drivers/rtl8169.inc index 999f870f07..87e2b7f882 100644 --- a/kernel/trunk/network/eth_drv/drivers/rtl8169.inc +++ b/kernel/trunk/network/eth_drv/drivers/rtl8169.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; RTL8169.INC ;; diff --git a/kernel/trunk/network/eth_drv/drivers/sis900.inc b/kernel/trunk/network/eth_drv/drivers/sis900.inc index af54313b9e..eb145b609f 100644 --- a/kernel/trunk/network/eth_drv/drivers/sis900.inc +++ b/kernel/trunk/network/eth_drv/drivers/sis900.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; SIS900.INC ;; diff --git a/kernel/trunk/network/eth_drv/ethernet.inc b/kernel/trunk/network/eth_drv/ethernet.inc index 32686464e9..59b9a9b0da 100644 --- a/kernel/trunk/network/eth_drv/ethernet.inc +++ b/kernel/trunk/network/eth_drv/ethernet.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; ETHERNET.INC ;; diff --git a/kernel/trunk/network/eth_drv/pci.inc b/kernel/trunk/network/eth_drv/pci.inc index 21b0212b5f..1a0cffffa3 100644 --- a/kernel/trunk/network/eth_drv/pci.inc +++ b/kernel/trunk/network/eth_drv/pci.inc @@ -1,3 +1,4 @@ +$Revision$ ;*************************************************************************** ; ; PCI CODE FOLLOWS diff --git a/kernel/trunk/network/icmp.inc b/kernel/trunk/network/icmp.inc index cc4ad81f16..0c4a414761 100644 --- a/kernel/trunk/network/icmp.inc +++ b/kernel/trunk/network/icmp.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ICMP.INC diff --git a/kernel/trunk/network/ip.inc b/kernel/trunk/network/ip.inc index 6e8d3b27d0..b47663986e 100644 --- a/kernel/trunk/network/ip.inc +++ b/kernel/trunk/network/ip.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; IP.INC ;; diff --git a/kernel/trunk/network/queue.inc b/kernel/trunk/network/queue.inc index 6dc6a00033..b762fd674a 100644 --- a/kernel/trunk/network/queue.inc +++ b/kernel/trunk/network/queue.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; QUEUE.INC ;; diff --git a/kernel/trunk/network/socket.inc b/kernel/trunk/network/socket.inc index e991d4cd95..d7fc2cb369 100644 --- a/kernel/trunk/network/socket.inc +++ b/kernel/trunk/network/socket.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; SOCKET.INC diff --git a/kernel/trunk/network/stack.inc b/kernel/trunk/network/stack.inc index 87288f2180..6a948d822b 100644 --- a/kernel/trunk/network/stack.inc +++ b/kernel/trunk/network/stack.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; STACK.INC ;; diff --git a/kernel/trunk/network/tcp.inc b/kernel/trunk/network/tcp.inc index aae99c63a3..c153afde85 100644 --- a/kernel/trunk/network/tcp.inc +++ b/kernel/trunk/network/tcp.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; TCP.INC ;; diff --git a/kernel/trunk/network/udp.inc b/kernel/trunk/network/udp.inc index b4b7bda250..84c6fb1bce 100644 --- a/kernel/trunk/network/udp.inc +++ b/kernel/trunk/network/udp.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; UDP.INC ;; diff --git a/kernel/trunk/proc32.inc b/kernel/trunk/proc32.inc index 98a1bd3342..a9db963b4d 100644 --- a/kernel/trunk/proc32.inc +++ b/kernel/trunk/proc32.inc @@ -1,4 +1,4 @@ - +$Revision$ ; Macroinstructions for defining and calling procedures macro stdcall proc,[arg] ; directly call STDCALL procedure diff --git a/kernel/trunk/sound/playnote.inc b/kernel/trunk/sound/playnote.inc index 79548434a2..832137befd 100644 --- a/kernel/trunk/sound/playnote.inc +++ b/kernel/trunk/sound/playnote.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; PLAYNOTE.INC version 1.1 22 November 2003 ;; diff --git a/kernel/trunk/sound/sb16.inc b/kernel/trunk/sound/sb16.inc index 1c2bde36dd..153f520f1e 100644 --- a/kernel/trunk/sound/sb16.inc +++ b/kernel/trunk/sound/sb16.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; SB16.INC ;; diff --git a/kernel/trunk/unpacker.inc b/kernel/trunk/unpacker.inc index 044ad697cf..ec053de3f1 100755 --- a/kernel/trunk/unpacker.inc +++ b/kernel/trunk/unpacker.inc @@ -1,3 +1,4 @@ +$Revision$ ; void __stdcall unpack(void* packed_data, void* unpacked_data); unpack: pushad diff --git a/kernel/trunk/video/cursors.inc b/kernel/trunk/video/cursors.inc index 78826037f7..31c154851c 100644 --- a/kernel/trunk/video/cursors.inc +++ b/kernel/trunk/video/cursors.inc @@ -1,3 +1,4 @@ +$Revision$ LOAD_FROM_FILE equ 0 LOAD_FROM_MEM equ 1 diff --git a/kernel/trunk/video/vesa12.inc b/kernel/trunk/video/vesa12.inc index 9dfdbd3598..de9455dfd7 100644 --- a/kernel/trunk/video/vesa12.inc +++ b/kernel/trunk/video/vesa12.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; VESA12.INC ;; diff --git a/kernel/trunk/video/vesa20.inc b/kernel/trunk/video/vesa20.inc index 384bd9f248..4e69254727 100644 --- a/kernel/trunk/video/vesa20.inc +++ b/kernel/trunk/video/vesa20.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; VESA20.INC ;; diff --git a/kernel/trunk/video/vga.inc b/kernel/trunk/video/vga.inc index 9fe840db9a..79fea0c3e3 100644 --- a/kernel/trunk/video/vga.inc +++ b/kernel/trunk/video/vga.inc @@ -1,3 +1,4 @@ +$Revision$ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; VGA.INC ;; diff --git a/kernel/trunk/vmodeint.inc b/kernel/trunk/vmodeint.inc index ffda6510e6..6823c21646 100644 --- a/kernel/trunk/vmodeint.inc +++ b/kernel/trunk/vmodeint.inc @@ -1,3 +1,4 @@ +$Revision$ ; ; Call of videomode driver's functions ; diff --git a/kernel/trunk/vmodeld.inc b/kernel/trunk/vmodeld.inc index 1e943450d3..d3a566b497 100644 --- a/kernel/trunk/vmodeld.inc +++ b/kernel/trunk/vmodeld.inc @@ -1,3 +1,4 @@ +$Revision$ ; ; Load of videomode driver in memory ;