forked from KolibriOS/kolibrios
Remove $Revision$ from kernel file headers
- To better support git, remove SVN dependant `$Revision$` from file headers. This does *not* remove: the use of `__REV__` macro in `boostr.inc` and `kernel.asm` - Header Copyright notices updated to 2024. - Minimal white space cleanup (trailing spaces automatically removed). - Note: `asmxygen.py` has a *large* amount of whitespace cleanup, due to incorrect line endings. git-svn-id: svn://kolibrios.org@10051 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
51ac7f789b
commit
4165acdf83
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; ACPI Generic Address Structure
|
; ACPI Generic Address Structure
|
||||||
struct GAS
|
struct GAS
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
PCI_REG_STATUS_COMMAND = 0x0004
|
PCI_REG_STATUS_COMMAND = 0x0004
|
||||||
PCI_REG_BAR5 = 0x0024
|
PCI_REG_BAR5 = 0x0024
|
||||||
@ -45,11 +44,11 @@ bit_AHCI_HBA_CAP2_BOH = 0 ; Supports BIOS/OS Handoff
|
|||||||
|
|
||||||
bit_AHCI_HBA_BOHC_BOS = 0 ; BIOS-Owned Semaphore (BIOS owns controller)
|
bit_AHCI_HBA_BOHC_BOS = 0 ; BIOS-Owned Semaphore (BIOS owns controller)
|
||||||
bit_AHCI_HBA_BOHC_OOS = 1 ; OS-Owned Semaphore (OS owns controller)
|
bit_AHCI_HBA_BOHC_OOS = 1 ; OS-Owned Semaphore (OS owns controller)
|
||||||
bit_AHCI_HBA_BOHC_BB = 4 ; BIOS Busy (polling bit while BIOS cleans up
|
bit_AHCI_HBA_BOHC_BB = 4 ; BIOS Busy (polling bit while BIOS cleans up
|
||||||
|
|
||||||
bit_AHCI_HBA_GHC_AHCI_ENABLE = 31 ; Enable AHCI mode
|
bit_AHCI_HBA_GHC_AHCI_ENABLE = 31 ; Enable AHCI mode
|
||||||
bit_AHCI_HBA_GHC_RESET = 0 ; Reset HBA
|
bit_AHCI_HBA_GHC_RESET = 0 ; Reset HBA
|
||||||
bit_AHCI_HBA_GHC_INTERRUPT_ENABLE = 1 ; Enable interrupts from the HBA
|
bit_AHCI_HBA_GHC_INTERRUPT_ENABLE = 1 ; Enable interrupts from the HBA
|
||||||
|
|
||||||
bit_AHCI_HBA_PxCMD_ST = 0
|
bit_AHCI_HBA_PxCMD_ST = 0
|
||||||
bit_AHCI_HBA_PxCMD_FRE = 4
|
bit_AHCI_HBA_PxCMD_FRE = 4
|
||||||
@ -97,7 +96,7 @@ struct HBA_MEM
|
|||||||
cap2 dd ? ; 0x24, Host capabilities extended
|
cap2 dd ? ; 0x24, Host capabilities extended
|
||||||
bohc dd ? ; 0x28, BIOS/OS handoff control and status
|
bohc dd ? ; 0x28, BIOS/OS handoff control and status
|
||||||
reserved rb (0xA0-HBA_MEM.reserved) ; 0x2C - 0x9F, Reserved
|
reserved rb (0xA0-HBA_MEM.reserved) ; 0x2C - 0x9F, Reserved
|
||||||
vendor rb (0x100-HBA_MEM.vendor) ; 0xA0 - 0xFF, Vendor specific
|
vendor rb (0x100-HBA_MEM.vendor) ; 0xA0 - 0xFF, Vendor specific
|
||||||
ports rb (sizeof.HBA_PORT*AHCI_MAX_PORTS) ; 0x100 - 0x10FF, Port control registers, max AHCI_MAX_PORTS
|
ports rb (sizeof.HBA_PORT*AHCI_MAX_PORTS) ; 0x100 - 0x10FF, Port control registers, max AHCI_MAX_PORTS
|
||||||
ends
|
ends
|
||||||
|
|
||||||
@ -128,10 +127,10 @@ ends
|
|||||||
struct HBA_CMD_HDR
|
struct HBA_CMD_HDR
|
||||||
flags1 db ? ; 0bPWACCCCC, P - Prefetchable, W - Write (1: H2D, 0: D2H)
|
flags1 db ? ; 0bPWACCCCC, P - Prefetchable, W - Write (1: H2D, 0: D2H)
|
||||||
; A - ATAPI, C - Command FIS length in DWORDS, 2 ~ 16
|
; A - ATAPI, C - Command FIS length in DWORDS, 2 ~ 16
|
||||||
|
|
||||||
flags2 db ? ; 0bPPPPRCB(Re), P - Port multiplier port, R - Reserved,
|
flags2 db ? ; 0bPPPPRCB(Re), P - Port multiplier port, R - Reserved,
|
||||||
; C - Clear busy upon R_OK, B - BIST, Re - Reset
|
; C - Clear busy upon R_OK, B - BIST, Re - Reset
|
||||||
|
|
||||||
prdtl dw ? ; Physical region descriptor table length in entries
|
prdtl dw ? ; Physical region descriptor table length in entries
|
||||||
prdbc dd ? ; Physical region descriptor byte count transferred
|
prdbc dd ? ; Physical region descriptor byte count transferred
|
||||||
ctba dd ? ; Command table descriptor base address
|
ctba dd ? ; Command table descriptor base address
|
||||||
@ -173,52 +172,52 @@ struct FIS_REG_H2D
|
|||||||
fis_type db ? ; FIS_TYPE_REG_H2D
|
fis_type db ? ; FIS_TYPE_REG_H2D
|
||||||
flags db ? ; 0bCRRRPPPP, C - 1: Command, 0: Control
|
flags db ? ; 0bCRRRPPPP, C - 1: Command, 0: Control
|
||||||
; R - Reserved, P - Port multiplier
|
; R - Reserved, P - Port multiplier
|
||||||
|
|
||||||
command db ? ; Command register
|
command db ? ; Command register
|
||||||
featurel db ? ; Feature register, 7:0
|
featurel db ? ; Feature register, 7:0
|
||||||
|
|
||||||
lba0 db ? ; LBA low register, 7:0
|
lba0 db ? ; LBA low register, 7:0
|
||||||
lba1 db ? ; LBA mid register, 15:8
|
lba1 db ? ; LBA mid register, 15:8
|
||||||
lba2 db ? ; LBA high register, 23:16
|
lba2 db ? ; LBA high register, 23:16
|
||||||
device db ? ; Device register
|
device db ? ; Device register
|
||||||
|
|
||||||
lba3 db ? ; LBA register, 31:24
|
lba3 db ? ; LBA register, 31:24
|
||||||
lba4 db ? ; LBA register, 39:32
|
lba4 db ? ; LBA register, 39:32
|
||||||
lba5 db ? ; LBA register, 47:40
|
lba5 db ? ; LBA register, 47:40
|
||||||
featureh db ? ; Feature register, 15:8
|
featureh db ? ; Feature register, 15:8
|
||||||
|
|
||||||
countl db ? ; Count register, 7:0
|
countl db ? ; Count register, 7:0
|
||||||
counth db ? ; Count register, 15:8
|
counth db ? ; Count register, 15:8
|
||||||
icc db ? ; Isochronous command completion
|
icc db ? ; Isochronous command completion
|
||||||
control db ? ; Control register
|
control db ? ; Control register
|
||||||
|
|
||||||
rb 4 ; Reserved
|
rb 4 ; Reserved
|
||||||
ends
|
ends
|
||||||
|
|
||||||
; Register FIS – Device to Host
|
; Register FIS – Device to Host
|
||||||
struct FIS_REG_D2H
|
struct FIS_REG_D2H
|
||||||
fis_type db ? ; FIS_TYPE_REG_D2H
|
fis_type db ? ; FIS_TYPE_REG_D2H
|
||||||
|
|
||||||
flags db ? ; 0bRIRPPPP, P - Port multiplier, R - Reserved
|
flags db ? ; 0bRIRPPPP, P - Port multiplier, R - Reserved
|
||||||
; I - Interrupt bit
|
; I - Interrupt bit
|
||||||
|
|
||||||
status db ? ; Status register
|
status db ? ; Status register
|
||||||
error db ? ; Error register
|
error db ? ; Error register
|
||||||
|
|
||||||
lba0 db ? ; LBA low register, 7:0
|
lba0 db ? ; LBA low register, 7:0
|
||||||
lba1 db ? ; LBA mid register, 15:8
|
lba1 db ? ; LBA mid register, 15:8
|
||||||
lba2 db ? ; LBA high register, 23:16
|
lba2 db ? ; LBA high register, 23:16
|
||||||
device db ? ; Device register
|
device db ? ; Device register
|
||||||
|
|
||||||
lba3 db ? ; LBA register, 31:24
|
lba3 db ? ; LBA register, 31:24
|
||||||
lba4 db ? ; LBA register, 39:32
|
lba4 db ? ; LBA register, 39:32
|
||||||
lba5 db ? ; LBA register, 47:40
|
lba5 db ? ; LBA register, 47:40
|
||||||
db ? ; Reserved
|
db ? ; Reserved
|
||||||
|
|
||||||
countl db ? ; Count register, 7:0
|
countl db ? ; Count register, 7:0
|
||||||
counth db ? ; Count register, 15:8
|
counth db ? ; Count register, 15:8
|
||||||
rb 2 ; Reserved
|
rb 2 ; Reserved
|
||||||
|
|
||||||
rb 4 ; Reserved
|
rb 4 ; Reserved
|
||||||
ends
|
ends
|
||||||
|
|
||||||
@ -234,28 +233,28 @@ ends
|
|||||||
; PIO Setup – Device to Host
|
; PIO Setup – Device to Host
|
||||||
struct FIS_PIO_SETUP
|
struct FIS_PIO_SETUP
|
||||||
fis_type db ? ; FIS_TYPE_PIO_SETUP
|
fis_type db ? ; FIS_TYPE_PIO_SETUP
|
||||||
|
|
||||||
flags db ? ; 0bRIDRPPPP, P - Port multiplier, R - Reserved
|
flags db ? ; 0bRIDRPPPP, P - Port multiplier, R - Reserved
|
||||||
; I - Interrupt bit, D - Data transfer direction, 1 - device to host
|
; I - Interrupt bit, D - Data transfer direction, 1 - device to host
|
||||||
|
|
||||||
status db ? ; Status register
|
status db ? ; Status register
|
||||||
error db ? ; Error register
|
error db ? ; Error register
|
||||||
|
|
||||||
lba0 db ? ; LBA low register, 7:0
|
lba0 db ? ; LBA low register, 7:0
|
||||||
lba1 db ? ; LBA mid register, 15:8
|
lba1 db ? ; LBA mid register, 15:8
|
||||||
lba2 db ? ; LBA high register, 23:16
|
lba2 db ? ; LBA high register, 23:16
|
||||||
device db ? ; Device register
|
device db ? ; Device register
|
||||||
|
|
||||||
lba3 db ? ; LBA register, 31:24
|
lba3 db ? ; LBA register, 31:24
|
||||||
lba4 db ? ; LBA register, 39:32
|
lba4 db ? ; LBA register, 39:32
|
||||||
lba5 db ? ; LBA register, 47:40
|
lba5 db ? ; LBA register, 47:40
|
||||||
db ? ; Reserved
|
db ? ; Reserved
|
||||||
|
|
||||||
countl db ? ; Count register, 7:0
|
countl db ? ; Count register, 7:0
|
||||||
counth db ? ; Count register, 15:8
|
counth db ? ; Count register, 15:8
|
||||||
db ? ; Reserved
|
db ? ; Reserved
|
||||||
e_status db ? ; New value of status register
|
e_status db ? ; New value of status register
|
||||||
|
|
||||||
tc dw ? ; Transfer count
|
tc dw ? ; Transfer count
|
||||||
rb 2 ; Reserved
|
rb 2 ; Reserved
|
||||||
ends
|
ends
|
||||||
@ -284,10 +283,10 @@ struct FIS_DEV_BITS
|
|||||||
fis_type db ? ; FIS_TYPE_DEV_BITS
|
fis_type db ? ; FIS_TYPE_DEV_BITS
|
||||||
flags db ? ; 0bNIRRPPPP, N - Notification, I - Interrupt,
|
flags db ? ; 0bNIRRPPPP, N - Notification, I - Interrupt,
|
||||||
; R - Reserved, P - Port multiplier
|
; R - Reserved, P - Port multiplier
|
||||||
|
|
||||||
status db ? ; Status register
|
status db ? ; Status register
|
||||||
error db ? ; Error register
|
error db ? ; Error register
|
||||||
|
|
||||||
protocol dd ? ; Protocol
|
protocol dd ? ; Protocol
|
||||||
ends
|
ends
|
||||||
|
|
||||||
@ -390,8 +389,8 @@ ahci_init:
|
|||||||
movzx edx, byte [esi+PCIDEV.devfn]
|
movzx edx, byte [esi+PCIDEV.devfn]
|
||||||
and edx, 00000111b ; get only 3 lowest bits (function code)
|
and edx, 00000111b ; get only 3 lowest bits (function code)
|
||||||
DEBUGF 1, "K: found AHCI controller, (class, subcl, progif) = %x, bus = %x, device = %x, function = %x\n", eax, ebx, ecx, edx
|
DEBUGF 1, "K: found AHCI controller, (class, subcl, progif) = %x, bus = %x, device = %x, function = %x\n", eax, ebx, ecx, edx
|
||||||
|
|
||||||
; get BAR5 value, it is physical address
|
; get BAR5 value, it is physical address
|
||||||
movzx ebx, [esi + PCIDEV.bus]
|
movzx ebx, [esi + PCIDEV.bus]
|
||||||
movzx ebp, [esi + PCIDEV.devfn]
|
movzx ebp, [esi + PCIDEV.devfn]
|
||||||
stdcall pci_read32, ebx, ebp, PCI_REG_BAR5
|
stdcall pci_read32, ebx, ebp, PCI_REG_BAR5
|
||||||
@ -475,7 +474,7 @@ ahci_init:
|
|||||||
bts [esi + HBA_MEM.ghc], bit_AHCI_HBA_GHC_INTERRUPT_ENABLE
|
bts [esi + HBA_MEM.ghc], bit_AHCI_HBA_GHC_INTERRUPT_ENABLE
|
||||||
mov ebx, 2
|
mov ebx, 2
|
||||||
call delay_hs
|
call delay_hs
|
||||||
|
|
||||||
DEBUGF 1, "K: AHCI: caps: %x %x, ver: %x, ghc: %x, pi: %x\n", [esi + HBA_MEM.cap], [esi + HBA_MEM.cap2], [esi + HBA_MEM.version], [esi + HBA_MEM.ghc], [esi + HBA_MEM.pi]
|
DEBUGF 1, "K: AHCI: caps: %x %x, ver: %x, ghc: %x, pi: %x\n", [esi + HBA_MEM.cap], [esi + HBA_MEM.cap2], [esi + HBA_MEM.version], [esi + HBA_MEM.ghc], [esi + HBA_MEM.pi]
|
||||||
|
|
||||||
; TODO:
|
; TODO:
|
||||||
@ -553,7 +552,7 @@ ahci_init:
|
|||||||
cmp ecx, AHCI_HBA_PxSSTS_DET_PRESENT
|
cmp ecx, AHCI_HBA_PxSSTS_DET_PRESENT
|
||||||
jne .continue_detect_drives
|
jne .continue_detect_drives
|
||||||
|
|
||||||
; DEBUGF 1, "K: AHCI: found drive at port %d, cmd = 0x%x, ssts = 0x%x, signature = 0x%x\n", ebx, [edi + HBA_PORT.command], [edi + HBA_PORT.sata_status], [edi + HBA_PORT.signature]
|
; DEBUGF 1, "K: AHCI: found drive at port %d, cmd = 0x%x, ssts = 0x%x, signature = 0x%x\n", ebx, [edi + HBA_PORT.command], [edi + HBA_PORT.sata_status], [edi + HBA_PORT.signature]
|
||||||
|
|
||||||
mov ecx, ebx
|
mov ecx, ebx
|
||||||
imul ecx, sizeof.PORT_DATA
|
imul ecx, sizeof.PORT_DATA
|
||||||
@ -595,7 +594,7 @@ ahci_init:
|
|||||||
cmp [ecx + PORT_DATA.drive_type], AHCI_DEV_SATA
|
cmp [ecx + PORT_DATA.drive_type], AHCI_DEV_SATA
|
||||||
jne .after_add_disk ; skip adding disk code
|
jne .after_add_disk ; skip adding disk code
|
||||||
; register disk in system:
|
; register disk in system:
|
||||||
|
|
||||||
;stdcall ahci_read_first_sector, ecx
|
;stdcall ahci_read_first_sector, ecx
|
||||||
|
|
||||||
push ecx
|
push ecx
|
||||||
@ -638,7 +637,7 @@ ahci_init:
|
|||||||
inc ebx
|
inc ebx
|
||||||
jmp .detect_drives
|
jmp .detect_drives
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.end_detect_drives:
|
.end_detect_drives:
|
||||||
pop esi
|
pop esi
|
||||||
@ -663,7 +662,7 @@ proc ahci_port_identify stdcall, pdata: dword
|
|||||||
endl
|
endl
|
||||||
|
|
||||||
pushad
|
pushad
|
||||||
|
|
||||||
mov esi, [pdata] ; esi - address of PORT_DATA struct of port
|
mov esi, [pdata] ; esi - address of PORT_DATA struct of port
|
||||||
stdcall ahci_find_cmdslot, esi
|
stdcall ahci_find_cmdslot, esi
|
||||||
|
|
||||||
@ -748,7 +747,7 @@ proc ahci_port_identify stdcall, pdata: dword
|
|||||||
cld
|
cld
|
||||||
rep movsb
|
rep movsb
|
||||||
mov byte [edi], 0
|
mov byte [edi], 0
|
||||||
|
|
||||||
stdcall swap_bytes_in_words, modelstr, (46-27)+1
|
stdcall swap_bytes_in_words, modelstr, (46-27)+1
|
||||||
DEBUGF 1, "IDENTIFICATION RESULT: MODEL = %s\n", modelstr
|
DEBUGF 1, "IDENTIFICATION RESULT: MODEL = %s\n", modelstr
|
||||||
|
|
||||||
@ -848,7 +847,7 @@ proc ahci_rw_sectors stdcall pdata: dword, vbuf: dword, startsector: qword, nums
|
|||||||
shl ebx, 9 ; *= 512
|
shl ebx, 9 ; *= 512
|
||||||
mov [vbuf_len], ebx
|
mov [vbuf_len], ebx
|
||||||
DEBUGF AHCI_DBGLVL, "vbuf_len = %u bytes\n", ebx
|
DEBUGF AHCI_DBGLVL, "vbuf_len = %u bytes\n", ebx
|
||||||
|
|
||||||
mov ebx, [vbuf]
|
mov ebx, [vbuf]
|
||||||
and ebx, 0xFFF
|
and ebx, 0xFFF
|
||||||
mov eax, [vbuf]
|
mov eax, [vbuf]
|
||||||
@ -889,7 +888,7 @@ proc ahci_rw_sectors stdcall pdata: dword, vbuf: dword, startsector: qword, nums
|
|||||||
mov [dbc], eax
|
mov [dbc], eax
|
||||||
mov eax, [next_phys_page]
|
mov eax, [next_phys_page]
|
||||||
mov [new_phys_region_start], eax
|
mov [new_phys_region_start], eax
|
||||||
jmp .add_prd
|
jmp .add_prd
|
||||||
|
|
||||||
.check_if2:
|
.check_if2:
|
||||||
mov eax, [cur_phys]
|
mov eax, [cur_phys]
|
||||||
@ -934,7 +933,7 @@ proc ahci_rw_sectors stdcall pdata: dword, vbuf: dword, startsector: qword, nums
|
|||||||
and [ebx + HBA_PRDT_ENTRY.flags], not 0x3FFFFF ; zero out lower 22 bits, they used for byte count
|
and [ebx + HBA_PRDT_ENTRY.flags], not 0x3FFFFF ; zero out lower 22 bits, they used for byte count
|
||||||
mov eax, [dbc]
|
mov eax, [dbc]
|
||||||
or [ebx + HBA_PRDT_ENTRY.flags], eax
|
or [ebx + HBA_PRDT_ENTRY.flags], eax
|
||||||
|
|
||||||
inc [cur_prd]
|
inc [cur_prd]
|
||||||
mov eax, [dbc]
|
mov eax, [dbc]
|
||||||
inc eax
|
inc eax
|
||||||
@ -945,7 +944,7 @@ proc ahci_rw_sectors stdcall pdata: dword, vbuf: dword, startsector: qword, nums
|
|||||||
jne @f
|
jne @f
|
||||||
jmp .fill_prdt_end
|
jmp .fill_prdt_end
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
.step_next:
|
.step_next:
|
||||||
mov eax, [vbuf_len]
|
mov eax, [vbuf_len]
|
||||||
cmp eax, [cur_antioffset]
|
cmp eax, [cur_antioffset]
|
||||||
@ -1051,7 +1050,7 @@ proc ahci_read stdcall pdata: dword, buffer: dword, startsector: qword, numsecto
|
|||||||
endl
|
endl
|
||||||
|
|
||||||
pushad
|
pushad
|
||||||
|
|
||||||
mov ecx, [pdata]
|
mov ecx, [pdata]
|
||||||
mov ecx, [ecx + PORT_DATA.ctr_ptr]
|
mov ecx, [ecx + PORT_DATA.ctr_ptr]
|
||||||
mov ecx, [ecx + AHCI_CTR.mutex]
|
mov ecx, [ecx + AHCI_CTR.mutex]
|
||||||
@ -1096,7 +1095,7 @@ proc ahci_read stdcall pdata: dword, buffer: dword, startsector: qword, numsecto
|
|||||||
mov ecx, [ecx + PORT_DATA.ctr_ptr]
|
mov ecx, [ecx + PORT_DATA.ctr_ptr]
|
||||||
mov ecx, [ecx + AHCI_CTR.mutex]
|
mov ecx, [ecx + AHCI_CTR.mutex]
|
||||||
call mutex_unlock
|
call mutex_unlock
|
||||||
|
|
||||||
popad
|
popad
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
ret
|
ret
|
||||||
@ -1110,7 +1109,7 @@ proc ahci_write stdcall pdata: dword, buffer: dword, startsector: qword, numsect
|
|||||||
endl
|
endl
|
||||||
|
|
||||||
pushad
|
pushad
|
||||||
|
|
||||||
mov ecx, [pdata]
|
mov ecx, [pdata]
|
||||||
mov ecx, [ecx + PORT_DATA.ctr_ptr]
|
mov ecx, [ecx + PORT_DATA.ctr_ptr]
|
||||||
mov ecx, [ecx + AHCI_CTR.mutex]
|
mov ecx, [ecx + AHCI_CTR.mutex]
|
||||||
@ -1146,7 +1145,7 @@ proc ahci_write stdcall pdata: dword, buffer: dword, startsector: qword, numsect
|
|||||||
mov ecx, [ecx + PORT_DATA.ctr_ptr]
|
mov ecx, [ecx + PORT_DATA.ctr_ptr]
|
||||||
mov ecx, [ecx + AHCI_CTR.mutex]
|
mov ecx, [ecx + AHCI_CTR.mutex]
|
||||||
call mutex_unlock
|
call mutex_unlock
|
||||||
|
|
||||||
popad
|
popad
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
ret
|
ret
|
||||||
@ -1158,7 +1157,7 @@ ahci_start_cmd:
|
|||||||
.wait_cr: ; Wait until CR (bit15) is cleared
|
.wait_cr: ; Wait until CR (bit15) is cleared
|
||||||
bt [eax + HBA_PORT.command], bit_AHCI_HBA_PxCMD_CR
|
bt [eax + HBA_PORT.command], bit_AHCI_HBA_PxCMD_CR
|
||||||
jc .wait_cr
|
jc .wait_cr
|
||||||
|
|
||||||
; Set FRE (bit4) and ST (bit0)
|
; Set FRE (bit4) and ST (bit0)
|
||||||
bts [eax + HBA_PORT.command], bit_AHCI_HBA_PxCMD_FRE
|
bts [eax + HBA_PORT.command], bit_AHCI_HBA_PxCMD_FRE
|
||||||
bts [eax + HBA_PORT.command], bit_AHCI_HBA_PxCMD_ST
|
bts [eax + HBA_PORT.command], bit_AHCI_HBA_PxCMD_ST
|
||||||
@ -1248,7 +1247,7 @@ endp
|
|||||||
; ahci_send_cmd:
|
; ahci_send_cmd:
|
||||||
; push ecx
|
; push ecx
|
||||||
; mov [eax + HBA_PORT.interrupt_status], 0xFFFFFFFF
|
; mov [eax + HBA_PORT.interrupt_status], 0xFFFFFFFF
|
||||||
|
|
||||||
; mov cl, bl
|
; mov cl, bl
|
||||||
; mov [eax + HBA_PORT.command_issue], 1
|
; mov [eax + HBA_PORT.command_issue], 1
|
||||||
; shl [eax + HBA_PORT.command_issue], cl
|
; shl [eax + HBA_PORT.command_issue], cl
|
||||||
@ -1291,7 +1290,7 @@ proc ahci_port_rebase stdcall, port: dword, portno: dword, pdata: dword
|
|||||||
mov esi, [port]
|
mov esi, [port]
|
||||||
mov ebx, [phys_page1]
|
mov ebx, [phys_page1]
|
||||||
mov [esi + HBA_PORT.command_list_base_l], ebx ; set the command list base
|
mov [esi + HBA_PORT.command_list_base_l], ebx ; set the command list base
|
||||||
mov [esi + HBA_PORT.command_list_base_h], 0 ; zero upper 32 bits of addr cause we are 32 bit os
|
mov [esi + HBA_PORT.command_list_base_h], 0 ; zero upper 32 bits of addr cause we are 32 bit os
|
||||||
|
|
||||||
mov edi, [pdata]
|
mov edi, [pdata]
|
||||||
mov ebx, [virt_page1]
|
mov ebx, [virt_page1]
|
||||||
@ -1303,7 +1302,7 @@ proc ahci_port_rebase stdcall, port: dword, portno: dword, pdata: dword
|
|||||||
mov [edi + PORT_DATA.portno], eax
|
mov [edi + PORT_DATA.portno], eax
|
||||||
|
|
||||||
stdcall _memset, ebx, 0, 1024 ; zero out the command list
|
stdcall _memset, ebx, 0, 1024 ; zero out the command list
|
||||||
|
|
||||||
; FIS entry size = 256 bytes per port
|
; FIS entry size = 256 bytes per port
|
||||||
mov eax, [phys_page1]
|
mov eax, [phys_page1]
|
||||||
add eax, 1024
|
add eax, 1024
|
||||||
@ -1312,9 +1311,9 @@ proc ahci_port_rebase stdcall, port: dword, portno: dword, pdata: dword
|
|||||||
|
|
||||||
mov eax, [virt_page1]
|
mov eax, [virt_page1]
|
||||||
add eax, 1024
|
add eax, 1024
|
||||||
mov [edi + PORT_DATA.fb], eax ; set pdata->fb
|
mov [edi + PORT_DATA.fb], eax ; set pdata->fb
|
||||||
stdcall _memset, eax, 0, 256 ; zero out
|
stdcall _memset, eax, 0, 256 ; zero out
|
||||||
|
|
||||||
stdcall alloc_pages, 32*(64 + 16 + 48 + PRDT_MAX_ENTRIES*16)/4096
|
stdcall alloc_pages, 32*(64 + 16 + 48 + PRDT_MAX_ENTRIES*16)/4096
|
||||||
mov [phys_page23], eax
|
mov [phys_page23], eax
|
||||||
stdcall map_io_mem, eax, 32*(64 + 16 + 48 + PRDT_MAX_ENTRIES*16), PG_NOCACHE + PG_SWR
|
stdcall map_io_mem, eax, 32*(64 + 16 + 48 + PRDT_MAX_ENTRIES*16), PG_NOCACHE + PG_SWR
|
||||||
@ -1337,7 +1336,7 @@ proc ahci_port_rebase stdcall, port: dword, portno: dword, pdata: dword
|
|||||||
; bytes per command table = 64+16+48+PRDT_MAX_ENTRIES*16 = N
|
; bytes per command table = 64+16+48+PRDT_MAX_ENTRIES*16 = N
|
||||||
|
|
||||||
push edx
|
push edx
|
||||||
|
|
||||||
; cmdheader[ecx].ctba = phys_page23 + ecx*N
|
; cmdheader[ecx].ctba = phys_page23 + ecx*N
|
||||||
mov [ebx + HBA_CMD_HDR.ctba], ecx
|
mov [ebx + HBA_CMD_HDR.ctba], ecx
|
||||||
mov edx, [ebx + HBA_CMD_HDR.ctba]
|
mov edx, [ebx + HBA_CMD_HDR.ctba]
|
||||||
@ -1361,13 +1360,13 @@ proc ahci_port_rebase stdcall, port: dword, portno: dword, pdata: dword
|
|||||||
inc ecx
|
inc ecx
|
||||||
jmp .for1
|
jmp .for1
|
||||||
.for1_end:
|
.for1_end:
|
||||||
|
|
||||||
mov eax, [port]
|
mov eax, [port]
|
||||||
call ahci_start_cmd
|
call ahci_start_cmd
|
||||||
|
|
||||||
DEBUGF 1, "End rebasing port %u\n", [portno]
|
DEBUGF 1, "End rebasing port %u\n", [portno]
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
; ----------------------------------------------------------- ; TODO check
|
; ----------------------------------------------------------- ; TODO check
|
||||||
@ -1420,9 +1419,9 @@ proc _memset stdcall, dest:dword, val:byte, cnt:dword ; doesnt clobber any regis
|
|||||||
mov edi, dword [dest]
|
mov edi, dword [dest]
|
||||||
mov al, byte [val]
|
mov al, byte [val]
|
||||||
mov ecx, dword [cnt]
|
mov ecx, dword [cnt]
|
||||||
rep stosb
|
rep stosb
|
||||||
pop edi ecx eax
|
pop edi ecx eax
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
; Swaps byte order in words
|
; Swaps byte order in words
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; Disk access through BIOS
|
; Disk access through BIOS
|
||||||
iglobal
|
iglobal
|
||||||
@ -105,7 +104,7 @@ locals
|
|||||||
sectors_todo dd ?
|
sectors_todo dd ?
|
||||||
endl
|
endl
|
||||||
; 1. Initialize number of sectors: get number of requested sectors
|
; 1. Initialize number of sectors: get number of requested sectors
|
||||||
; and say that no sectors were read yet.
|
; and say that no sectors were read yet.
|
||||||
mov ecx, [numsectors]
|
mov ecx, [numsectors]
|
||||||
mov eax, [ecx]
|
mov eax, [ecx]
|
||||||
mov dword [ecx], 0
|
mov dword [ecx], 0
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
;**********************************************************
|
;**********************************************************
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2011-2021. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2011-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; =============================================================================
|
; =============================================================================
|
||||||
; ================================= Constants =================================
|
; ================================= Constants =================================
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2011-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2011-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; Read/write functions try to do large operations,
|
; Read/write functions try to do large operations,
|
||||||
; it is significantly faster than several small operations.
|
; it is significantly faster than several small operations.
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
uglobal
|
uglobal
|
||||||
dmasize db 0x0
|
dmasize db 0x0
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
;**********************************************************
|
;**********************************************************
|
||||||
; Direct work with floppy disk drive
|
; Direct work with floppy disk drive
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; HDD driver
|
; HDD driver
|
||||||
|
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
|
||||||
;**************************************************************************
|
;**************************************************************************
|
||||||
;
|
;
|
||||||
; [cache_ide[X]_pointer]
|
; [cache_ide[X]_pointer]
|
||||||
@ -21,8 +22,6 @@
|
|||||||
;
|
;
|
||||||
;**************************************************************************
|
;**************************************************************************
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
find_empty_slot_CD_cache:
|
find_empty_slot_CD_cache:
|
||||||
;-----------------------------------------------------------
|
;-----------------------------------------------------------
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; RAMDISK functions ;;
|
;; RAMDISK functions ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
iglobal
|
iglobal
|
||||||
align 4
|
align 4
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
iglobal
|
iglobal
|
||||||
saverd_fileinfo:
|
saverd_fileinfo:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
@ -11,8 +11,6 @@
|
|||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
;==========================================================================
|
;==========================================================================
|
||||||
;
|
;
|
||||||
@ -805,7 +803,7 @@ end if
|
|||||||
push word [es:bp+6]
|
push word [es:bp+6]
|
||||||
pop word [number_vm]
|
pop word [number_vm]
|
||||||
mov word [preboot_graph], bp ;save choose
|
mov word [preboot_graph], bp ;save choose
|
||||||
|
|
||||||
jmp .d
|
jmp .d
|
||||||
|
|
||||||
.change_b: ; b) preboot_biosdisk = use BIOS disks through V86 emulation?
|
.change_b: ; b) preboot_biosdisk = use BIOS disks through V86 emulation?
|
||||||
@ -1012,7 +1010,7 @@ end if
|
|||||||
|
|
||||||
; Start the first app (right now it's LAUNCHER) after kernel is loaded?
|
; Start the first app (right now it's LAUNCHER) after kernel is loaded?
|
||||||
mov al, [preboot_launcher]
|
mov al, [preboot_launcher]
|
||||||
mov [es:BOOT_LO.launcher_start], al ;// 0x901D
|
mov [es:BOOT_LO.launcher_start], al ;// 0x901D
|
||||||
|
|
||||||
; BOOT DEVICE
|
; BOOT DEVICE
|
||||||
|
|
||||||
@ -1168,7 +1166,7 @@ include '../detect/biosmem.inc'
|
|||||||
; and copy them to extended memory
|
; and copy them to extended memory
|
||||||
mov si, movedesc
|
mov si, movedesc
|
||||||
mov [si+8*2+3], bh ; from
|
mov [si+8*2+3], bh ; from
|
||||||
|
|
||||||
mov ax, word [BPB_BytsPerSec]
|
mov ax, word [BPB_BytsPerSec]
|
||||||
shr ax, 1 ; words per sector
|
shr ax, 1 ; words per sector
|
||||||
mov cx, word [BPB_RsvdSecCnt]
|
mov cx, word [BPB_RsvdSecCnt]
|
||||||
@ -1176,7 +1174,7 @@ include '../detect/biosmem.inc'
|
|||||||
mul cx
|
mul cx
|
||||||
push ax ; save to stack count of words in boot+FAT
|
push ax ; save to stack count of words in boot+FAT
|
||||||
xchg ax, cx
|
xchg ax, cx
|
||||||
|
|
||||||
push es
|
push es
|
||||||
push ds
|
push ds
|
||||||
pop es
|
pop es
|
||||||
@ -1202,7 +1200,7 @@ sayerr_memmove:
|
|||||||
; TODO: BPB_NumFATs !!!!!
|
; TODO: BPB_NumFATs !!!!!
|
||||||
add bx, word [BPB_BytsPerSec] ; !!! TODO: may be need multiply by BPB_RsvdSecCnt !!!
|
add bx, word [BPB_BytsPerSec] ; !!! TODO: may be need multiply by BPB_RsvdSecCnt !!!
|
||||||
mov byte [si+8*2+3], bh ; bx - begin of FAT
|
mov byte [si+8*2+3], bh ; bx - begin of FAT
|
||||||
|
|
||||||
mov ax, word [BPB_BytsPerSec]
|
mov ax, word [BPB_BytsPerSec]
|
||||||
shr ax, 1 ; words per sector
|
shr ax, 1 ; words per sector
|
||||||
mov cx, word [BPB_FATSz16]
|
mov cx, word [BPB_FATSz16]
|
||||||
@ -1217,12 +1215,12 @@ sayerr_memmove:
|
|||||||
pop es
|
pop es
|
||||||
test ah, ah
|
test ah, ah
|
||||||
jnz sayerr_floppy
|
jnz sayerr_floppy
|
||||||
|
|
||||||
mov ax, cx
|
mov ax, cx
|
||||||
shl ax, 1
|
shl ax, 1
|
||||||
and eax, 0ffffh ; ax - count of bytes in FAT
|
and eax, 0ffffh ; ax - count of bytes in FAT
|
||||||
add dword [si+8*3+2], eax
|
add dword [si+8*3+2], eax
|
||||||
|
|
||||||
; reading RootDir
|
; reading RootDir
|
||||||
; TODO: BPB_NumFATs
|
; TODO: BPB_NumFATs
|
||||||
add bx, ax
|
add bx, ax
|
||||||
@ -1247,7 +1245,7 @@ sayerr_memmove:
|
|||||||
pop bx
|
pop bx
|
||||||
push bx
|
push bx
|
||||||
add word [FirstDataSector], bx ; Begin of data region of floppy
|
add word [FirstDataSector], bx ; Begin of data region of floppy
|
||||||
|
|
||||||
; read RootDir
|
; read RootDir
|
||||||
call conv_abs_to_THS
|
call conv_abs_to_THS
|
||||||
pop ax
|
pop ax
|
||||||
|
@ -1,19 +1,17 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
|
||||||
;======================================================================
|
;======================================================================
|
||||||
;
|
;
|
||||||
; BOOT DATA
|
; BOOT DATA
|
||||||
;
|
;
|
||||||
;======================================================================
|
;======================================================================
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
d80x25_bottom:
|
d80x25_bottom:
|
||||||
latin1 '║ KolibriOS on IGASUGUSE GARANTIITA. Vaata faili COPYING info saamiseks. Kui ║'
|
latin1 '║ KolibriOS on IGASUGUSE GARANTIITA. Vaata faili COPYING info saamiseks. Kui ║'
|
||||||
latin1 '║ leiate vigu, anna neist palun teada aadressil: http://board.kolibrios.org ║'
|
latin1 '║ leiate vigu, anna neist palun teada aadressil: http://board.kolibrios.org ║'
|
||||||
|
@ -1,22 +1,20 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
|
||||||
;======================================================================
|
;======================================================================
|
||||||
;
|
;
|
||||||
; BOOT DATA
|
; BOOT DATA
|
||||||
;
|
;
|
||||||
;======================================================================
|
;======================================================================
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
d80x25_bottom:
|
d80x25_bottom:
|
||||||
db 186,' KolibriOS wird ohne jegliche Garantie vertrieben. Details stehen in der ',186
|
db 186,' KolibriOS wird ohne jegliche Garantie vertrieben. Details stehen in der ',186
|
||||||
db 186,' Datei COPYING. Bitte melden Sie Fehler bei: http://board.kolibrios.org ',186
|
db 186,' Datei COPYING. Bitte melden Sie Fehler bei: http://board.kolibrios.org ',186
|
||||||
line_full_bottom
|
line_full_bottom
|
||||||
d80x25_bottom_num = 3
|
d80x25_bottom_num = 3
|
||||||
|
|
||||||
|
@ -1,19 +1,17 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
|
||||||
;=================================================================
|
;=================================================================
|
||||||
;
|
;
|
||||||
; BOOT DATA
|
; BOOT DATA
|
||||||
;
|
;
|
||||||
;=================================================================
|
;=================================================================
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
d80x25_bottom:
|
d80x25_bottom:
|
||||||
cp866 '║ KolibriOS НЕ ПРЕДОСТАВЛЯЕТ НИКАКИХ ГАРAНТИЙ. Подробнее смотрите в файле ║'
|
cp866 '║ KolibriOS НЕ ПРЕДОСТАВЛЯЕТ НИКАКИХ ГАРAНТИЙ. Подробнее смотрите в файле ║'
|
||||||
cp866 '║ COPYING.TXT. О найденных ошибках сообщайте на http://board.kolibrios.org ║'
|
cp866 '║ COPYING.TXT. О найденных ошибках сообщайте на http://board.kolibrios.org ║'
|
||||||
@ -58,7 +56,7 @@ current_cfg_msg cp866 "Текущие настройки:",13,10,0
|
|||||||
curvideo_msg cp866 " [a] Видеорежим: ",0
|
curvideo_msg cp866 " [a] Видеорежим: ",0
|
||||||
|
|
||||||
mode0 cp866 "320x200, EGA/CGA 256 цветов",13,10,0
|
mode0 cp866 "320x200, EGA/CGA 256 цветов",13,10,0
|
||||||
mode9 cp866 "640x480, VGA 16 цветов",13,10,0
|
mode9 cp866 "640x480, VGA 16 цветов",13,10,0
|
||||||
|
|
||||||
usebd_msg cp866 " [b] Добавить диски, видимые через BIOS:",0
|
usebd_msg cp866 " [b] Добавить диски, видимые через BIOS:",0
|
||||||
on_msg cp866 " вкл",13,10,0
|
on_msg cp866 " вкл",13,10,0
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
|
||||||
;======================================================================
|
;======================================================================
|
||||||
;
|
;
|
||||||
; BOOT DATA
|
; BOOT DATA
|
||||||
@ -13,9 +14,6 @@
|
|||||||
|
|
||||||
; Para modificar éste archivo es necesario abrirlo con codificación CP850
|
; Para modificar éste archivo es necesario abrirlo con codificación CP850
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
d80x25_bottom:
|
d80x25_bottom:
|
||||||
cp850 '║ KolibriOS viene ABSOLUTAMENTE SIN GARANTíA. Lee el archivo COPYING por más ║'
|
cp850 '║ KolibriOS viene ABSOLUTAMENTE SIN GARANTíA. Lee el archivo COPYING por más ║'
|
||||||
cp850 '║ detalles. Por favor, informar de los errores en: http://board.kolibrios.org ║'
|
cp850 '║ detalles. Por favor, informar de los errores en: http://board.kolibrios.org ║'
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
; boot data: common strings (for all languages)
|
; boot data: common strings (for all languages)
|
||||||
macro line_full_top {
|
macro line_full_top {
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
struc VBE_VGAInfo {
|
struc VBE_VGAInfo {
|
||||||
.VESASignature dd ? ; char
|
.VESASignature dd ? ; char
|
||||||
@ -194,7 +193,7 @@ calc_vmodes_table:
|
|||||||
mov word [es:bx], 640
|
mov word [es:bx], 640
|
||||||
mov word [es:bx+2], 480
|
mov word [es:bx+2], 480
|
||||||
mov word [es:bx+6], 0x13
|
mov word [es:bx+6], 0x13
|
||||||
|
|
||||||
mov word [es:bx+10], 640
|
mov word [es:bx+10], 640
|
||||||
mov word [es:bx+12], 480
|
mov word [es:bx+12], 480
|
||||||
mov word [es:bx+16], 0x12
|
mov word [es:bx+16], 0x12
|
||||||
@ -222,7 +221,7 @@ calc_vmodes_table:
|
|||||||
jb @f
|
jb @f
|
||||||
|
|
||||||
; 16 bpp might actually be 15 bpp
|
; 16 bpp might actually be 15 bpp
|
||||||
cmp [es:mi.BitsPerPixel], 16
|
cmp [es:mi.BitsPerPixel], 16
|
||||||
jne .l0
|
jne .l0
|
||||||
cmp [es:mi.GreenMaskSize], 5
|
cmp [es:mi.GreenMaskSize], 5
|
||||||
jne .l0
|
jne .l0
|
||||||
@ -727,7 +726,7 @@ set_vmode:
|
|||||||
|
|
||||||
mov si, word [preboot_graph] ;[preboot_graph]
|
mov si, word [preboot_graph] ;[preboot_graph]
|
||||||
mov cx, word [es:si+6] ; number of mode
|
mov cx, word [es:si+6] ; number of mode
|
||||||
|
|
||||||
|
|
||||||
mov ax, word [es:si+0] ; resolution X
|
mov ax, word [es:si+0] ; resolution X
|
||||||
mov bx, word [es:si+2] ; resolution Y
|
mov bx, word [es:si+2] ; resolution Y
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
; Full ASCII code font
|
; Full ASCII code font
|
||||||
; only õ,ä,ü added
|
; only õ,ä,ü added
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2011-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2011-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; All parsers are called with ds:si -> value of the variable,
|
; All parsers are called with ds:si -> value of the variable,
|
||||||
; possibly with spaces before, and dx = limit of config file.
|
; possibly with spaces before, and dx = limit of config file.
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
display_modechg db 0 ; display mode change for text, yes/no (0 or 2)
|
display_modechg db 0 ; display mode change for text, yes/no (0 or 2)
|
||||||
;
|
;
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
read_ramdisk:
|
read_ramdisk:
|
||||||
; READ RAMDISK IMAGE FROM HD (only for IDE0, IDE1, IDE2, IDE3)
|
; READ RAMDISK IMAGE FROM HD (only for IDE0, IDE1, IDE2, IDE3)
|
||||||
@ -111,18 +109,18 @@ no_sys_on_hd:
|
|||||||
mov edi, RAMDISK
|
mov edi, RAMDISK
|
||||||
mov ecx, 0x1080
|
mov ecx, 0x1080
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
@@:
|
@@:
|
||||||
stosd
|
stosd
|
||||||
loop @b
|
loop @b
|
||||||
|
|
||||||
mov ecx, 0x58F7F
|
mov ecx, 0x58F7F
|
||||||
mov eax, 0xF6F6F6F6
|
mov eax, 0xF6F6F6F6
|
||||||
@@:
|
@@:
|
||||||
stosd
|
stosd
|
||||||
loop @b
|
loop @b
|
||||||
|
|
||||||
mov [RAMDISK+0x200], dword 0xFFFFF0 ; fat table
|
mov [RAMDISK+0x200], dword 0xFFFFF0 ; fat table
|
||||||
mov [RAMDISK+0x4200], dword 0xFFFFF0
|
mov [RAMDISK+0x4200], dword 0xFFFFF0
|
||||||
|
|
||||||
not_format_ram_disk:
|
not_format_ram_disk:
|
||||||
yes_sys_on_hd:
|
yes_sys_on_hd:
|
||||||
|
@ -1,17 +1,15 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
; Generated by RUFNT.EXE
|
; Generated by RUFNT.EXE
|
||||||
; By BadBugsKiller (C)
|
; By BadBugsKiller (C)
|
||||||
; Modifyed by BadBugsKiller 12.01.2004 17:45
|
; Modifyed by BadBugsKiller 12.01.2004 17:45
|
||||||
; Шрифт уменьшен в размере и теперь состоит из 2-ух частей,
|
; Шрифт уменьшен в размере и теперь состоит из 2-ух частей,
|
||||||
; содержащих только символы русского алфавита.
|
; содержащих только символы русского алфавита.
|
||||||
; символы в кодировке ASCII (ДОС'овская), кодовая страница 866.
|
; символы в кодировке ASCII (ДОС'овская), кодовая страница 866.
|
||||||
RU_FNT1:
|
RU_FNT1:
|
||||||
@ -31,7 +29,7 @@ RU_FNT1:
|
|||||||
db 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00
|
||||||
db 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
|
||||||
db 0x00, 0x00, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00
|
||||||
|
|
||||||
db 0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00
|
||||||
db 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC0, 0xC0, 0xC0, 0xC0, 0xC2, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC0, 0xC0, 0xC0, 0xC0, 0xC2, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
|
||||||
db 0x00, 0x00, 0xFF, 0xDB, 0x99, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0xFF, 0xDB, 0x99, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00
|
||||||
@ -48,7 +46,7 @@ RU_FNT1:
|
|||||||
db 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x26, 0x3E, 0x26, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x26, 0x3E, 0x26, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
|
||||||
db 0x00, 0x00, 0xCE, 0xDB, 0xDB, 0xDB, 0xFB, 0xDB, 0xDB, 0xDB, 0xDB, 0xCE, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0xCE, 0xDB, 0xDB, 0xDB, 0xFB, 0xDB, 0xDB, 0xDB, 0xDB, 0xCE, 0x00, 0x00, 0x00, 0x00
|
||||||
db 0x00, 0x00, 0x3F, 0x66, 0x66, 0x66, 0x3E, 0x3E, 0x66, 0x66, 0x66, 0xE7, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0x3F, 0x66, 0x66, 0x66, 0x3E, 0x3E, 0x66, 0x66, 0x66, 0xE7, 0x00, 0x00, 0x00, 0x00
|
||||||
|
|
||||||
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00
|
||||||
db 0x00, 0x02, 0x06, 0x7C, 0xC0, 0xC0, 0xFC, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x02, 0x06, 0x7C, 0xC0, 0xC0, 0xFC, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
|
||||||
db 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x66, 0x66, 0x7C, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x66, 0x66, 0x7C, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00, 0x00
|
||||||
@ -65,7 +63,7 @@ RU_FNT1:
|
|||||||
db 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00
|
||||||
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
|
||||||
db 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00
|
||||||
|
|
||||||
RU_FNT2:
|
RU_FNT2:
|
||||||
db 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00
|
db 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00
|
||||||
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
|
||||||
@ -83,7 +81,7 @@ RU_FNT2:
|
|||||||
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x3E, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x3E, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
|
||||||
db 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0xDB, 0xDB, 0xFB, 0xDB, 0xDB, 0xCE, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0xDB, 0xDB, 0xFB, 0xDB, 0xDB, 0xCE, 0x00, 0x00, 0x00, 0x00
|
||||||
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC6, 0xC6, 0x7E, 0x36, 0x66, 0xE7, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC6, 0xC6, 0x7E, 0x36, 0x66, 0xE7, 0x00, 0x00, 0x00, 0x00
|
||||||
|
|
||||||
db 0x6C, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00
|
db 0x6C, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00
|
||||||
db 0x00, 0x00, 0x00, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xFC, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0x00, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xFC, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
|
||||||
db 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC8, 0xF8, 0xC8, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
|
db 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC8, 0xF8, 0xC8, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Shutdown for Menuet ;;
|
;; Shutdown for Menuet ;;
|
||||||
@ -11,7 +11,6 @@
|
|||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
system_shutdown: ; shut down the system
|
system_shutdown: ; shut down the system
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; 16 BIT ENTRY FROM BOOTSECTOR ;;
|
;; 16 BIT ENTRY FROM BOOTSECTOR ;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2010-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2010-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
@ -12,7 +12,6 @@
|
|||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
;***************************************************************************
|
;***************************************************************************
|
||||||
; Function
|
; Function
|
||||||
@ -21,16 +20,16 @@ $Revision$
|
|||||||
; Description
|
; Description
|
||||||
; PCIe extended (memory-mapped) config space detection
|
; PCIe extended (memory-mapped) config space detection
|
||||||
;
|
;
|
||||||
; WARNINGs:
|
; WARNINGs:
|
||||||
; 1) Very Experimental!
|
; 1) Very Experimental!
|
||||||
; 2) direct HT-detection (no ACPI or BIOS service used)
|
; 2) direct HT-detection (no ACPI or BIOS service used)
|
||||||
; 3) Only AMD/HT processors currently supported
|
; 3) Only AMD/HT processors currently supported
|
||||||
;
|
;
|
||||||
;***************************************************************************
|
;***************************************************************************
|
||||||
|
|
||||||
PCIe_CONFIG_SPACE = 0xF0000000 ; to be moved to const.inc
|
PCIe_CONFIG_SPACE = 0xF0000000 ; to be moved to const.inc
|
||||||
mmio_pcie_cfg_addr dd 0x0 ; intel pcie space may be defined here
|
mmio_pcie_cfg_addr dd 0x0 ; intel pcie space may be defined here
|
||||||
mmio_pcie_cfg_lim dd 0x0 ; upper pcie space address
|
mmio_pcie_cfg_lim dd 0x0 ; upper pcie space address
|
||||||
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
@ -40,7 +39,7 @@ pci_ext_config:
|
|||||||
mov ebx, [mmio_pcie_cfg_addr]
|
mov ebx, [mmio_pcie_cfg_addr]
|
||||||
or ebx, ebx
|
or ebx, ebx
|
||||||
jz @f
|
jz @f
|
||||||
or ebx, 0x7FFFFFFF ; required by PCI-SIG standards
|
or ebx, 0x7FFFFFFF ; required by PCI-SIG standards
|
||||||
jnz .pcie_failed
|
jnz .pcie_failed
|
||||||
add ebx, 0x0FFFFC
|
add ebx, 0x0FFFFC
|
||||||
cmp ebx, [mmio_pcie_cfg_lim]; is the space limit correct?
|
cmp ebx, [mmio_pcie_cfg_lim]; is the space limit correct?
|
||||||
@ -60,8 +59,8 @@ pci_ext_config:
|
|||||||
sub bl, 4
|
sub bl, 4
|
||||||
and al, 0x80 ; check the NP bit
|
and al, 0x80 ; check the NP bit
|
||||||
jz .no_pcie_cfg
|
jz .no_pcie_cfg
|
||||||
shl eax, 8 ; bus:[27..20], dev:[19:15]
|
shl eax, 8 ; bus:[27..20], dev:[19:15]
|
||||||
or eax, 0x00007FFC ; fun:[14..12], reg:[11:2]
|
or eax, 0x00007FFC ; fun:[14..12], reg:[11:2]
|
||||||
mov [mmio_pcie_cfg_lim], eax
|
mov [mmio_pcie_cfg_lim], eax
|
||||||
mov cl, bl
|
mov cl, bl
|
||||||
mov ax, 0x0002 ; bus = 0, 1dword to read
|
mov ax, 0x0002 ; bus = 0, 1dword to read
|
||||||
@ -80,7 +79,7 @@ pci_ext_config:
|
|||||||
sub eax, [mmio_pcie_cfg_lim]; MMIO must cover at least one bus
|
sub eax, [mmio_pcie_cfg_lim]; MMIO must cover at least one bus
|
||||||
ja .no_pcie_cfg
|
ja .no_pcie_cfg
|
||||||
|
|
||||||
; -- it looks like a true PCIe config space;
|
; -- it looks like a true PCIe config space;
|
||||||
mov eax, [mmio_pcie_cfg_addr] ; physical address
|
mov eax, [mmio_pcie_cfg_addr] ; physical address
|
||||||
or eax, (PG_SHARED + PG_LARGE + PG_USER)
|
or eax, (PG_SHARED + PG_LARGE + PG_USER)
|
||||||
mov ebx, PCIe_CONFIG_SPACE ; linear address
|
mov ebx, PCIe_CONFIG_SPACE ; linear address
|
||||||
@ -98,12 +97,12 @@ pci_ext_config:
|
|||||||
jmp @b
|
jmp @b
|
||||||
|
|
||||||
.pcie_cfg_mapped:
|
.pcie_cfg_mapped:
|
||||||
|
|
||||||
; -- glad to have the extended PCIe config field found
|
; -- glad to have the extended PCIe config field found
|
||||||
; mov esi, boot_pcie_ok
|
; mov esi, boot_pcie_ok
|
||||||
; call boot_log
|
; call boot_log
|
||||||
ret ; <<<<<<<<<<< OK >>>>>>>>>>>
|
ret ; <<<<<<<<<<< OK >>>>>>>>>>>
|
||||||
|
|
||||||
.no_pcie_cfg:
|
.no_pcie_cfg:
|
||||||
|
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; PCI16.INC ;;
|
;; PCI16.INC ;;
|
||||||
@ -15,8 +15,6 @@
|
|||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
init_pci_16:
|
init_pci_16:
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
@ -21,7 +21,6 @@
|
|||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
;***************************************************************************
|
;***************************************************************************
|
||||||
; Function
|
; Function
|
||||||
@ -764,4 +763,4 @@ proc pci_write32 stdcall, bus:dword, devfn:dword, reg:dword, val:dword
|
|||||||
call pci_write_reg
|
call pci_write_reg
|
||||||
pop ebx
|
pop ebx
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
; USB Host Controller support code: hardware-independent part,
|
; USB Host Controller support code: hardware-independent part,
|
||||||
; common for all controller types.
|
; common for all controller types.
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
; Support for USB (non-root) hubs:
|
; Support for USB (non-root) hubs:
|
||||||
; powering up/resetting/disabling ports,
|
; powering up/resetting/disabling ports,
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
; Initialization of the USB subsystem.
|
; Initialization of the USB subsystem.
|
||||||
; Provides usb_init procedure, includes all needed files.
|
; Provides usb_init procedure, includes all needed files.
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; Memory management for USB structures.
|
; Memory management for USB structures.
|
||||||
; Protocol layer uses the common kernel heap malloc/free.
|
; Protocol layer uses the common kernel heap malloc/free.
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
; Functions for USB pipe manipulation: opening/closing, sending data etc.
|
; Functions for USB pipe manipulation: opening/closing, sending data etc.
|
||||||
;
|
;
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
; Implementation of the USB protocol for device enumeration.
|
; Implementation of the USB protocol for device enumeration.
|
||||||
; Manage a USB device when it becomes ready for USB commands:
|
; Manage a USB device when it becomes ready for USB commands:
|
||||||
|
@ -5,8 +5,6 @@
|
|||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
dpl0 = 10010000b ; data read dpl0
|
dpl0 = 10010000b ; data read dpl0
|
||||||
drw0 = 10010010b ; data read/write dpl0
|
drw0 = 10010010b ; data read/write dpl0
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
MAX_IOAPICS = 2
|
MAX_IOAPICS = 2
|
||||||
|
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
@ -136,7 +134,7 @@ align 4
|
|||||||
cmp [ebx], eax
|
cmp [ebx], eax
|
||||||
je .exit_2
|
je .exit_2
|
||||||
|
|
||||||
; there should be a procedure for checking the integrity of the slots
|
; there should be a procedure for checking the integrity of the slots
|
||||||
; and I will do so in the future
|
; and I will do so in the future
|
||||||
|
|
||||||
; unlock last slot
|
; unlock last slot
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
; Éste archivo debe ser editado con codificación CP866
|
; Éste archivo debe ser editado con codificación CP866
|
||||||
|
|
||||||
|
@ -1,17 +1,16 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
|
||||||
;-------------------------------------------------------------------------
|
;-------------------------------------------------------------------------
|
||||||
;Loading configuration from ini file
|
;Loading configuration from ini file
|
||||||
; {SPraid.simba}
|
; {SPraid.simba}
|
||||||
;-------------------------------------------------------------------------
|
;-------------------------------------------------------------------------
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
iglobal
|
iglobal
|
||||||
conf_path_sect:
|
conf_path_sect:
|
||||||
db 'path',0
|
db 'path',0
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
; diamond, 2006
|
; diamond, 2006
|
||||||
sys_debug_services:
|
sys_debug_services:
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
DRV_COMPAT = 5 ;minimal required drivers version
|
DRV_COMPAT = 5 ;minimal required drivers version
|
||||||
DRV_CURRENT = 6 ;current drivers model version
|
DRV_CURRENT = 6 ;current drivers model version
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; Macroinstruction for making export section
|
; Macroinstruction for making export section
|
||||||
|
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
__exports:
|
__exports:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -8,7 +8,6 @@
|
|||||||
; External kernel dependencies (libraries) loading.
|
; External kernel dependencies (libraries) loading.
|
||||||
; The code currently does not work, requires correcting dll.inc.
|
; The code currently does not work, requires correcting dll.inc.
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
if 0
|
if 0
|
||||||
iglobal
|
iglobal
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
init_fpu:
|
init_fpu:
|
||||||
clts
|
clts
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
struct MEM_BLOCK
|
struct MEM_BLOCK
|
||||||
list LHEAD
|
list LHEAD
|
||||||
@ -1589,4 +1587,4 @@ endl
|
|||||||
xor eax, eax
|
xor eax, eax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
endp
|
endp
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
HPET_ID = 0x0000
|
HPET_ID = 0x0000
|
||||||
HPET_PERIOD = 0x0004
|
HPET_PERIOD = 0x0004
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
IRQ_RESERVED = 56
|
IRQ_RESERVED = 56
|
||||||
|
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
; Small heap based on malloc/free/realloc written by Doug Lea
|
; 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)
|
; Version 2.8.3 Thu Sep 22 11:16:15 2005 Doug Lea (dl at gee)
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
proc alloc_page
|
proc alloc_page
|
||||||
@ -597,7 +595,7 @@ proc page_fault_handler
|
|||||||
mov eax, [page_tabs + ebx*4]
|
mov eax, [page_tabs + ebx*4]
|
||||||
test eax, 2
|
test eax, 2
|
||||||
jz .fail ;address is not reserved for usage. Error
|
jz .fail ;address is not reserved for usage. Error
|
||||||
|
|
||||||
.alloc:
|
.alloc:
|
||||||
call alloc_page
|
call alloc_page
|
||||||
test eax, eax
|
test eax, eax
|
||||||
@ -656,10 +654,10 @@ proc page_fault_handler
|
|||||||
|
|
||||||
test eax, 12 ;U/S (+below)
|
test eax, 12 ;U/S (+below)
|
||||||
jnz .fail ;application requested kernel memory
|
jnz .fail ;application requested kernel memory
|
||||||
|
|
||||||
;test eax, 8
|
;test eax, 8
|
||||||
;jnz .fail ;the reserved bit is set in page tables. Added in P4/Xeon
|
;jnz .fail ;the reserved bit is set in page tables. Added in P4/Xeon
|
||||||
|
|
||||||
|
|
||||||
;an attempt to write to a protected kernel page
|
;an attempt to write to a protected kernel page
|
||||||
|
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; Initializes PAT (Page Attribute Table) and MTRRs.
|
; Initializes PAT (Page Attribute Table) and MTRRs.
|
||||||
proc init_pat_mtrr
|
proc init_pat_mtrr
|
||||||
|
@ -2,13 +2,7 @@
|
|||||||
; Contains some inputs taken from real-life MTRRs and expected outputs.
|
; Contains some inputs taken from real-life MTRRs and expected outputs.
|
||||||
format PE console
|
format PE console
|
||||||
;include 'win32a.inc'
|
;include 'win32a.inc'
|
||||||
macro $Revision [args]
|
|
||||||
{
|
|
||||||
}
|
|
||||||
macro ignore_empty_revision_keyword {
|
|
||||||
macro $Revi#sion$ \{\}
|
|
||||||
}
|
|
||||||
ignore_empty_revision_keyword
|
|
||||||
include '../proc32.inc'
|
include '../proc32.inc'
|
||||||
include '../struct.inc'
|
include '../struct.inc'
|
||||||
entry start
|
entry start
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
include 'export.inc'
|
include 'export.inc'
|
||||||
|
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; IRQ0 HANDLER (TIMER INTERRUPT) ;;
|
;; IRQ0 HANDLER (TIMER INTERRUPT) ;;
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; Memory management for slab structures.
|
; Memory management for slab structures.
|
||||||
; The allocator meets special requirements:
|
; The allocator meets special requirements:
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; Author: Kees J. Bot 1 Jan 1994 ;;
|
;; Author: Kees J. Bot 1 Jan 1994 ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
; size_t strncat(char *s1, const char *s2, size_t n)
|
; size_t strncat(char *s1, const char *s2, size_t n)
|
||||||
; Append string s2 to s1.
|
; Append string s2 to s1.
|
||||||
|
@ -1,15 +1,12 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Synhronization for MenuetOS. ;;
|
;; Synhronization for MenuetOS. ;;
|
||||||
;; Author: Halyavin Andrey, halyavin@land.ru ;;
|
;; Author: Halyavin Andrey, halyavin@land.ru ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
RWSEM_WAITING_FOR_WRITE = 0
|
RWSEM_WAITING_FOR_WRITE = 0
|
||||||
RWSEM_WAITING_FOR_READ = 1
|
RWSEM_WAITING_FOR_READ = 1
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
; Éste archivo debe ser editado con codificación CP866
|
; Éste archivo debe ser editado con codificación CP866
|
||||||
|
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
struct EXCEPT_STACK
|
struct EXCEPT_STACK
|
||||||
RegEIP dd ?
|
RegEIP dd ?
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
GREEDY_KERNEL = 0
|
GREEDY_KERNEL = 0
|
||||||
|
|
||||||
@ -772,7 +770,7 @@ common_app_entry:
|
|||||||
test ebp, ebp
|
test ebp, ebp
|
||||||
jz .exit
|
jz .exit
|
||||||
; APPDATA.exec_params have first thread only,
|
; APPDATA.exec_params have first thread only,
|
||||||
; so second and next threads don't get here (they jump to .exit)
|
; so second and next threads don't get here (they jump to .exit)
|
||||||
stdcall map_process_image, [ebp + APP_HDR._emem],\
|
stdcall map_process_image, [ebp + APP_HDR._emem],\
|
||||||
[ebp + APP_HDR.img_base], [ebp + APP_HDR.img_size]
|
[ebp + APP_HDR.img_base], [ebp + APP_HDR.img_size]
|
||||||
mov esi, [ebp + APP_HDR.path_string]
|
mov esi, [ebp + APP_HDR.path_string]
|
||||||
@ -826,10 +824,10 @@ common_app_entry:
|
|||||||
mov [tls_data_l+4], al
|
mov [tls_data_l+4], al
|
||||||
mov [tls_data_l+7], ah
|
mov [tls_data_l+7], ah
|
||||||
mov dx, app_tls
|
mov dx, app_tls
|
||||||
mov fs, dx
|
mov fs, dx
|
||||||
; { Patch by Coldy, For DLL autoload
|
; { Patch by Coldy, For DLL autoload
|
||||||
.try_load_dll:
|
.try_load_dll:
|
||||||
; Test app header version
|
; Test app header version
|
||||||
mov ecx, dword[ebp + APP_HDR.img_base]
|
mov ecx, dword[ebp + APP_HDR.img_base]
|
||||||
cmp dword[ecx+8], 2
|
cmp dword[ecx+8], 2
|
||||||
jne .cleanup
|
jne .cleanup
|
||||||
@ -838,26 +836,26 @@ common_app_entry:
|
|||||||
stdcall load_library, dll_lib_path, 0
|
stdcall load_library, dll_lib_path, 0
|
||||||
cmp eax, 0
|
cmp eax, 0
|
||||||
jne @f
|
jne @f
|
||||||
; Something went wrong (TODO: Next 2 line is code copy after .cleanup)
|
; Something went wrong (TODO: Next 2 line is code copy after .cleanup)
|
||||||
stdcall free_kernel_space, [ebp+APP_HDR.img_base]
|
stdcall free_kernel_space, [ebp+APP_HDR.img_base]
|
||||||
stdcall kernel_free, ebp
|
stdcall kernel_free, ebp
|
||||||
DEBUGF 1, 'K : DLL.OBJ not found! Terminate application!\n'
|
DEBUGF 1, 'K : DLL.OBJ not found! Terminate application!\n'
|
||||||
mov ebx, dll_error_msg
|
mov ebx, dll_error_msg
|
||||||
mov ebp, notifyapp
|
mov ebp, notifyapp
|
||||||
call fs_execute_from_sysdir_param
|
call fs_execute_from_sysdir_param
|
||||||
; Terminate process (TODO: Need jump to .cleanup after sys_end ?)
|
; Terminate process (TODO: Need jump to .cleanup after sys_end ?)
|
||||||
call sys_end
|
call sys_end
|
||||||
|
|
||||||
@@:
|
@@:
|
||||||
; Find APP_STARTUP_THUNK in DLL.OBJ
|
; Find APP_STARTUP_THUNK in DLL.OBJ
|
||||||
sub eax, 4
|
sub eax, 4
|
||||||
mov eax, [eax]
|
mov eax, [eax]
|
||||||
|
|
||||||
;.change_eip:
|
;.change_eip:
|
||||||
mov ecx, [current_slot]
|
mov ecx, [current_slot]
|
||||||
mov ecx, [ecx + APPDATA.pl0_stack]
|
mov ecx, [ecx + APPDATA.pl0_stack]
|
||||||
mov [ecx+REG_EIP], eax
|
mov [ecx+REG_EIP], eax
|
||||||
|
|
||||||
; } End patch by Coldy, For DLL autoload
|
; } End patch by Coldy, For DLL autoload
|
||||||
.cleanup:
|
.cleanup:
|
||||||
stdcall free_kernel_space, [ebp+APP_HDR.img_base]
|
stdcall free_kernel_space, [ebp+APP_HDR.img_base]
|
||||||
|
@ -174,10 +174,6 @@ kernel_alloc:
|
|||||||
mov eax, buffer
|
mov eax, buffer
|
||||||
ret 4
|
ret 4
|
||||||
|
|
||||||
macro $Revision [args]
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
; Error handlers
|
; Error handlers
|
||||||
error1:
|
error1:
|
||||||
mov eax, 1
|
mov eax, 1
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2012-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2012-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; Simple implementation of timers. All timers are organized in a double-linked
|
; Simple implementation of timers. All timers are organized in a double-linked
|
||||||
; list, and the OS loop after every timer tick processes the list.
|
; list, and the OS loop after every timer tick processes the list.
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2007-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2007-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; Virtual-8086 mode manager
|
; Virtual-8086 mode manager
|
||||||
; diamond, 2007, 2008
|
; diamond, 2007, 2008
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; This crc32 routine doesn't use precomputed table to allow different
|
; This crc32 routine doesn't use precomputed table to allow different
|
||||||
; polynomials, which is the first param.
|
; polynomials, which is the first param.
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
flm db 0
|
flm db 0
|
||||||
preboot_lfb db 0
|
preboot_lfb db 0
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
keymap:
|
keymap:
|
||||||
|
|
||||||
@ -179,7 +177,7 @@ kernel_file_load:
|
|||||||
dev_data_path db '/RD/1/DRIVERS/DEVICES.DAT',0
|
dev_data_path db '/RD/1/DRIVERS/DEVICES.DAT',0
|
||||||
; { Patch by Coldy, For DLL autoload
|
; { Patch by Coldy, For DLL autoload
|
||||||
dll_lib_path db '/SYS/LIB/DLL.OBJ',0
|
dll_lib_path db '/SYS/LIB/DLL.OBJ',0
|
||||||
dll_error_msg db '"DLL.OBJ not found!\nTerminate application!" -dE',0
|
dll_error_msg db '"DLL.OBJ not found!\nTerminate application!" -dE',0
|
||||||
; } End patch by Coldy, For DLL autoload
|
; } End patch by Coldy, For DLL autoload
|
||||||
align 4
|
align 4
|
||||||
|
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
boot_initirq latin1 'Algväärtustan IRQ',0
|
boot_initirq latin1 'Algväärtustan IRQ',0
|
||||||
boot_picinit latin1 'Algväärtustan PIC',0
|
boot_picinit latin1 'Algväärtustan PIC',0
|
||||||
@ -45,4 +43,4 @@ $Revision$
|
|||||||
boot_APIC_nfound latin1 'APIC ei leitud', 0
|
boot_APIC_nfound latin1 'APIC ei leitud', 0
|
||||||
if preboot_blogesc
|
if preboot_blogesc
|
||||||
boot_tasking latin1 'Kõik valmis - vajuta ESC alustamiseks',0
|
boot_tasking latin1 'Kõik valmis - vajuta ESC alustamiseks',0
|
||||||
end if
|
end if
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
boot_initirq: cp850 'Inicializar IRQ',0
|
boot_initirq: cp850 'Inicializar IRQ',0
|
||||||
boot_picinit: cp850 'Inicializar PIC',0
|
boot_picinit: cp850 'Inicializar PIC',0
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2008-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2008-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
; Detect all BIOS hard drives.
|
; Detect all BIOS hard drives.
|
||||||
; diamond, 2008
|
; diamond, 2008
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2009-2017. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2009-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
; Query physical memory map from BIOS.
|
; Query physical memory map from BIOS.
|
||||||
; diamond, 2009
|
; diamond, 2009
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
;***************************************************
|
;***************************************************
|
||||||
; clear the DRIVE_DATA table,
|
; clear the DRIVE_DATA table,
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; HDD and CD search
|
; HDD and CD search
|
||||||
|
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
include 'dev_fd.inc'
|
include 'dev_fd.inc'
|
||||||
include 'dev_hdcd.inc'
|
include 'dev_hdcd.inc'
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
pusha
|
pusha
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2014-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2014-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
; find the IDE controller in the device list
|
; find the IDE controller in the device list
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
search_partitions:
|
search_partitions:
|
||||||
push ecx
|
push ecx
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -9,7 +9,6 @@
|
|||||||
; 26/11/2013 yogev_ezra: Added CPU speed modifier and MMX support flag detection
|
; 26/11/2013 yogev_ezra: Added CPU speed modifier and MMX support flag detection
|
||||||
; Thanks for help to: dunkaist, eAndrew, hidnplayr, Mario
|
; Thanks for help to: dunkaist, eAndrew, hidnplayr, Mario
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
VORTEX86DEBUG = 0 ; For testing in emulators and in non-Vortex86 CPU computers, set this to 1
|
VORTEX86DEBUG = 0 ; For testing in emulators and in non-Vortex86 CPU computers, set this to 1
|
||||||
VORTEX86DEBUGVALUE = 'DMP5' ; FAKE port output = used for testing
|
VORTEX86DEBUGVALUE = 'DMP5' ; FAKE port output = used for testing
|
||||||
@ -41,7 +40,7 @@ endg
|
|||||||
|
|
||||||
; When in debug mode, perform SoC detection regardless of the actual CPU vendor (even for vendors other than DMP)
|
; When in debug mode, perform SoC detection regardless of the actual CPU vendor (even for vendors other than DMP)
|
||||||
; When in normal (not debug) mode, check the CPU vendor first, and perform SoC detection only if vendor is 'Vortex86 SoC'
|
; When in normal (not debug) mode, check the CPU vendor first, and perform SoC detection only if vendor is 'Vortex86 SoC'
|
||||||
if ~ VORTEX86DEBUG
|
if ~ VORTEX86DEBUG
|
||||||
cmp [cpu_vendor], 'Vort'
|
cmp [cpu_vendor], 'Vort'
|
||||||
jnz .Vortex86end ; If the CPU vendor is not 'Vortex86 SoC', skip the SoC detection
|
jnz .Vortex86end ; If the CPU vendor is not 'Vortex86 SoC', skip the SoC detection
|
||||||
end if
|
end if
|
||||||
@ -52,7 +51,7 @@ end if
|
|||||||
if VORTEX86DEBUG ; When in debug mode, pretend that we received port output equal to "VORTEX86DEBUGVALUE"
|
if VORTEX86DEBUG ; When in debug mode, pretend that we received port output equal to "VORTEX86DEBUGVALUE"
|
||||||
mov eax, VORTEX86DEBUGVALUE
|
mov eax, VORTEX86DEBUGVALUE
|
||||||
end if
|
end if
|
||||||
|
|
||||||
DEBUGF 1, "K : Vortex86 SoC type register (93H~90H) returned 0x"
|
DEBUGF 1, "K : Vortex86 SoC type register (93H~90H) returned 0x"
|
||||||
test eax, eax ; Check whether the port output was '\0'
|
test eax, eax ; Check whether the port output was '\0'
|
||||||
jz .nullPCIoutput ; In case the result is '\0' (NULL), skip further testing and exit
|
jz .nullPCIoutput ; In case the result is '\0' (NULL), skip further testing and exit
|
||||||
@ -67,7 +66,7 @@ end if
|
|||||||
|
|
||||||
sub al, 0x30 ; Current Vortex86 CPU codes are in the range of 31h-37h, so convert them to integer (1,2,...)
|
sub al, 0x30 ; Current Vortex86 CPU codes are in the range of 31h-37h, so convert them to integer (1,2,...)
|
||||||
mov [Vortex86CPUid], al ; Save the CPUid (1=Vortex86SX, 2=Vortex86DX, ..., 7=Vortex86EX, ...)
|
mov [Vortex86CPUid], al ; Save the CPUid (1=Vortex86SX, 2=Vortex86DX, ..., 7=Vortex86EX, ...)
|
||||||
|
|
||||||
mov esi, Vortex86SoClist ; ESI points to the start of Vortex86SoClist (used implicitly in "LODSD" command below)
|
mov esi, Vortex86SoClist ; ESI points to the start of Vortex86SoClist (used implicitly in "LODSD" command below)
|
||||||
xor ecx, ecx ; Zero ECX (it is used as counter)
|
xor ecx, ecx ; Zero ECX (it is used as counter)
|
||||||
cld ; Clears the DF flag in the EFLAGS register (DF=0 --> String operations increment ESI)
|
cld ; Clears the DF flag in the EFLAGS register (DF=0 --> String operations increment ESI)
|
||||||
@ -104,7 +103,7 @@ end if
|
|||||||
mov eax, SOUTH_BRIDGE+0xCC ; 0x800038CC = PCI Configuration Address Register to read from (8-bit register - accessed as BYTE)
|
mov eax, SOUTH_BRIDGE+0xCC ; 0x800038CC = PCI Configuration Address Register to read from (8-bit register - accessed as BYTE)
|
||||||
call .Vortex86PCIreg ; Flags of Vortex86 South Bridge Internal Peripheral Feature Control Register III (Register Offset: CCh)
|
call .Vortex86PCIreg ; Flags of Vortex86 South Bridge Internal Peripheral Feature Control Register III (Register Offset: CCh)
|
||||||
DEBUGF 1, "K : Vortex86 Internal Peripheral Feature Control Register III (CCh) returned 0x%x\n",al
|
DEBUGF 1, "K : Vortex86 Internal Peripheral Feature Control Register III (CCh) returned 0x%x\n",al
|
||||||
|
|
||||||
mov eax, NORTH_BRIDGE+0xA0 ; 0x800000A0 = PCI Configuration Address Register to read from (32-bit register - accessed as DWORD)
|
mov eax, NORTH_BRIDGE+0xA0 ; 0x800000A0 = PCI Configuration Address Register to read from (32-bit register - accessed as DWORD)
|
||||||
call .Vortex86PCIreg ; Get current flags of Vortex86SoC North Bridge Host Control Register (Register Offset: A3h~A0h)
|
call .Vortex86PCIreg ; Get current flags of Vortex86SoC North Bridge Host Control Register (Register Offset: A3h~A0h)
|
||||||
DEBUGF 1, "K : Vortex86 Host Control Register (A3h~A0h) returned 0x%x: CPU speed is ",eax
|
DEBUGF 1, "K : Vortex86 Host Control Register (A3h~A0h) returned 0x%x: CPU speed is ",eax
|
||||||
@ -130,7 +129,7 @@ end if
|
|||||||
DEBUGF 1, "ENABLED\n" ; Print to the log that MMX is enabled
|
DEBUGF 1, "ENABLED\n" ; Print to the log that MMX is enabled
|
||||||
.AfterMMXenabled:
|
.AfterMMXenabled:
|
||||||
DEBUGF 1, "K : Vortex86 MMX report to CPUID: " ; Print to the log what CPUID command knowns about MMX support
|
DEBUGF 1, "K : Vortex86 MMX report to CPUID: " ; Print to the log what CPUID command knowns about MMX support
|
||||||
test al, 1000000b ; On MMX-capable Vortex86 SoC, Bit6 = report MMX support to CPUID? (1=Yes/0=No)
|
test al, 1000000b ; On MMX-capable Vortex86 SoC, Bit6 = report MMX support to CPUID? (1=Yes/0=No)
|
||||||
jnz .Vortex86MMXreported ; MMX is already reported to CPUID (Bit6=1)
|
jnz .Vortex86MMXreported ; MMX is already reported to CPUID (Bit6=1)
|
||||||
DEBUGF 1, "OFF - turning it ON for this session\n" ; Print to the log that MMX will now be reported to CPUID
|
DEBUGF 1, "OFF - turning it ON for this session\n" ; Print to the log that MMX will now be reported to CPUID
|
||||||
or al, 1000000b ; Turn on MMX reporting to CPUID (don't write the value to PCI port yet)
|
or al, 1000000b ; Turn on MMX reporting to CPUID (don't write the value to PCI port yet)
|
||||||
@ -151,7 +150,7 @@ end if
|
|||||||
mov dl, 0xfc ; CFCh = Vortex86 PCI Configuration Data port
|
mov dl, 0xfc ; CFCh = Vortex86 PCI Configuration Data port
|
||||||
in eax, dx ; Read data from PCI data port
|
in eax, dx ; Read data from PCI data port
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.nullPCIoutput: ; Emulators and non-Vortex86 CPU computers will usually return \0 in this register
|
.nullPCIoutput: ; Emulators and non-Vortex86 CPU computers will usually return \0 in this register
|
||||||
DEBUGF 1, "0 (NULL)\n"
|
DEBUGF 1, "0 (NULL)\n"
|
||||||
|
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; fetch the UTF-8 character in addrspace:offs to char
|
; fetch the UTF-8 character in addrspace:offs to char
|
||||||
macro fetch_utf8_char addrspace, offs, char
|
macro fetch_utf8_char addrspace, offs, char
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
;
|
;
|
||||||
; Formatted Debug Output (FDO)
|
; Formatted Debug Output (FDO)
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2021-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2021-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; exFAT external functions
|
; exFAT external functions
|
||||||
; in:
|
; in:
|
||||||
@ -267,7 +266,7 @@ exFAT_create_partition:
|
|||||||
; movsd
|
; movsd
|
||||||
; popa
|
; popa
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
; offset +96 = First cluster of root directory
|
; offset +96 = First cluster of root directory
|
||||||
mov eax, [ebx+0x60] ; rootdir cluster
|
mov eax, [ebx+0x60] ; rootdir cluster
|
||||||
mov [ebp+exFAT.ROOT_CLUSTER], eax
|
mov [ebp+exFAT.ROOT_CLUSTER], eax
|
||||||
; DEBUGF 1, "K : exFAT.ROOT_CLUSTER EAX: %x\n", eax
|
; DEBUGF 1, "K : exFAT.ROOT_CLUSTER EAX: %x\n", eax
|
||||||
@ -361,12 +360,12 @@ exFAT_get_name:
|
|||||||
; DEBUGF 1, "K : exFAT_get_name.label \n"
|
; DEBUGF 1, "K : exFAT_get_name.label \n"
|
||||||
add esi, 2
|
add esi, 2
|
||||||
lea edi, [ebp+exFAT.volumeLabel]
|
lea edi, [ebp+exFAT.volumeLabel]
|
||||||
|
|
||||||
push ecx
|
push ecx
|
||||||
mov ecx, 12
|
mov ecx, 12
|
||||||
call UTF16to8_string
|
call UTF16to8_string
|
||||||
pop ecx
|
pop ecx
|
||||||
|
|
||||||
; push edi
|
; push edi
|
||||||
; lea edi, [ebp+exFAT.volumeLabel]
|
; lea edi, [ebp+exFAT.volumeLabel]
|
||||||
; DEBUGF 1, "K : exFAT Volume label: %s\n", edi
|
; DEBUGF 1, "K : exFAT Volume label: %s\n", edi
|
||||||
@ -462,7 +461,7 @@ exFAT_get_name:
|
|||||||
; mov ebp,[esp+12+8+4+4+7*4+262*2+4+4]
|
; mov ebp,[esp+12+8+4+4+7*4+262*2+4+4]
|
||||||
; DEBUGF 1, "K : exFAT_get_name.longname Input FS EBP:%x\n", ebp
|
; DEBUGF 1, "K : exFAT_get_name.longname Input FS EBP:%x\n", ebp
|
||||||
; pop ebp
|
; pop ebp
|
||||||
call .save_curr_sector_number
|
call .save_curr_sector_number
|
||||||
mov eax, [ebp+exFAT.hash_flag]
|
mov eax, [ebp+exFAT.hash_flag]
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jnz .no
|
jnz .no
|
||||||
@ -485,7 +484,7 @@ exFAT_get_name:
|
|||||||
movsd
|
movsd
|
||||||
mov [ebp+exFAT.fname_extdir_offset], edi
|
mov [ebp+exFAT.fname_extdir_offset], edi
|
||||||
pop esi edi
|
pop esi edi
|
||||||
; copy name
|
; copy name
|
||||||
push edi esi
|
push edi esi
|
||||||
xchg esi, edi
|
xchg esi, edi
|
||||||
add esi, 2
|
add esi, 2
|
||||||
@ -502,7 +501,7 @@ exFAT_get_name:
|
|||||||
xor eax, eax
|
xor eax, eax
|
||||||
stosw
|
stosw
|
||||||
pop esi edi
|
pop esi edi
|
||||||
|
|
||||||
; push ebp
|
; push ebp
|
||||||
; mov ebp,[esp+12+8+4+4+7*4+262*2+4+4]
|
; mov ebp,[esp+12+8+4+4+7*4+262*2+4+4]
|
||||||
; DEBUGF 1, "K : exFAT_get_name.longname Output FS EBP:%x\n", ebp
|
; DEBUGF 1, "K : exFAT_get_name.longname Output FS EBP:%x\n", ebp
|
||||||
@ -934,14 +933,14 @@ align 4
|
|||||||
; DEBUGF 1, "+ (Hash>>1)) EAX:%x\n", eax
|
; DEBUGF 1, "+ (Hash>>1)) EAX:%x\n", eax
|
||||||
movzx bx, byte [esi]
|
movzx bx, byte [esi]
|
||||||
add ax, bx
|
add ax, bx
|
||||||
; DEBUGF 1, "+ (UInt16)Buffer[Index] EAX:%x\n", eax
|
; DEBUGF 1, "+ (UInt16)Buffer[Index] EAX:%x\n", eax
|
||||||
inc esi
|
inc esi
|
||||||
dec ecx
|
dec ecx
|
||||||
jnz .start
|
jnz .start
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
pop ecx ebx
|
pop ecx ebx
|
||||||
mov [ebp+exFAT.current_hash], eax
|
mov [ebp+exFAT.current_hash], eax
|
||||||
; DEBUGF 1, "K : exFAT current hash :%x\n", eax
|
; DEBUGF 1, "K : exFAT current hash :%x\n", eax
|
||||||
pop edi esi
|
pop edi esi
|
||||||
.l1:
|
.l1:
|
||||||
; push esi
|
; push esi
|
||||||
@ -1044,7 +1043,7 @@ exFAT_ReadFile:
|
|||||||
; DEBUGF 1, "K : exFAT F70 +16: %x\n", [ebx+16]
|
; DEBUGF 1, "K : exFAT F70 +16: %x\n", [ebx+16]
|
||||||
; DEBUGF 1, "K : exFAT F70 +20: %x\n", [ebx+20]
|
; DEBUGF 1, "K : exFAT F70 +20: %x\n", [ebx+20]
|
||||||
; DEBUGF 1, "K : exFAT Path: %s\n", esi
|
; DEBUGF 1, "K : exFAT Path: %s\n", esi
|
||||||
|
|
||||||
; push eax
|
; push eax
|
||||||
; pushfd
|
; pushfd
|
||||||
; pop eax
|
; pop eax
|
||||||
@ -1115,7 +1114,7 @@ exFAT_ReadFile:
|
|||||||
sub eax, edx ; low dword file size - file offset low = rest of file
|
sub eax, edx ; low dword file size - file offset low = rest of file
|
||||||
push eax
|
push eax
|
||||||
mov eax, [ebp+exFAT.RDX_high]
|
mov eax, [ebp+exFAT.RDX_high]
|
||||||
sbb [ebp+exFAT.RAX_high], eax
|
sbb [ebp+exFAT.RAX_high], eax
|
||||||
pop eax
|
pop eax
|
||||||
jb .fileEnd
|
jb .fileEnd
|
||||||
; DEBUGF 1, "K : exFAT_ReadFile Hdword rest of file RAX:%x\n", [ebp+exFAT.RAX_high]
|
; DEBUGF 1, "K : exFAT_ReadFile Hdword rest of file RAX:%x\n", [ebp+exFAT.RAX_high]
|
||||||
@ -1344,7 +1343,7 @@ exFAT_ReadFile:
|
|||||||
sbb [ebp+exFAT.RCX_high], eax
|
sbb [ebp+exFAT.RCX_high], eax
|
||||||
pop eax
|
pop eax
|
||||||
jbe .readEnd
|
jbe .readEnd
|
||||||
|
|
||||||
; push edi
|
; push edi
|
||||||
; lea edi, [ebp+exFAT.file_dir_entry]
|
; lea edi, [ebp+exFAT.file_dir_entry]
|
||||||
; Check - General Secondary Flags
|
; Check - General Secondary Flags
|
||||||
@ -1389,14 +1388,14 @@ exFAT_ReadFile:
|
|||||||
adc edx, ebx
|
adc edx, ebx
|
||||||
mov [ebp+exFAT.RAX_high], edx
|
mov [ebp+exFAT.RAX_high], edx
|
||||||
pop edx ebx
|
pop edx ebx
|
||||||
|
|
||||||
push dword [ebp+exFAT.RCX_high]
|
push dword [ebp+exFAT.RCX_high]
|
||||||
push ecx ; requested size low
|
push ecx ; requested size low
|
||||||
|
|
||||||
mov ecx, [ebp+exFAT.RAX_high]
|
mov ecx, [ebp+exFAT.RAX_high]
|
||||||
mov [ebp+exFAT.RCX_high], ecx
|
mov [ebp+exFAT.RCX_high], ecx
|
||||||
mov ecx, eax ; ecx << RFile_start_sector_low
|
mov ecx, eax ; ecx << RFile_start_sector_low
|
||||||
|
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
mov [ebp+exFAT.RAX_high], eax
|
mov [ebp+exFAT.RAX_high], eax
|
||||||
mov eax, esi ; eax << custer
|
mov eax, esi ; eax << custer
|
||||||
@ -1521,7 +1520,7 @@ exFAT_ReadFile:
|
|||||||
pop eax edx
|
pop eax edx
|
||||||
sub ebx, edx
|
sub ebx, edx
|
||||||
; DEBUGF 1, "K : exFAT_ReadFile Return EBX:%x\n", ebx
|
; DEBUGF 1, "K : exFAT_ReadFile Return EBX:%x\n", ebx
|
||||||
|
|
||||||
; push eax
|
; push eax
|
||||||
; pushfd
|
; pushfd
|
||||||
; pop eax
|
; pop eax
|
||||||
@ -1582,7 +1581,7 @@ exFAT_ReadFolder:
|
|||||||
; DEBUGF 1, "K : exFAT.ROOT_CLUSTER: %x\n", eax
|
; DEBUGF 1, "K : exFAT.ROOT_CLUSTER: %x\n", eax
|
||||||
cmp byte [esi], 0
|
cmp byte [esi], 0
|
||||||
jz .doit
|
jz .doit
|
||||||
|
|
||||||
; push ebp
|
; push ebp
|
||||||
; mov ebp,[esp+12+8+4+4]
|
; mov ebp,[esp+12+8+4+4]
|
||||||
; DEBUGF 1, "K : exFAT Input FS EBP:%x\n", ebp
|
; DEBUGF 1, "K : exFAT Input FS EBP:%x\n", ebp
|
||||||
@ -2046,7 +2045,7 @@ exFAT_SetFileInfo:
|
|||||||
call calculate_SetChecksum_field
|
call calculate_SetChecksum_field
|
||||||
mov [edi+2], ax
|
mov [edi+2], ax
|
||||||
pop eax
|
pop eax
|
||||||
|
|
||||||
lea ebx, [ebp+exFAT.buffer]
|
lea ebx, [ebp+exFAT.buffer]
|
||||||
call fs_write32_sys
|
call fs_write32_sys
|
||||||
call exFAT_update_disk
|
call exFAT_update_disk
|
||||||
@ -2376,7 +2375,7 @@ align 4
|
|||||||
movzx bx, byte [esi]
|
movzx bx, byte [esi]
|
||||||
add ax, bx
|
add ax, bx
|
||||||
; DEBUGF 1, "+ (UInt16)Entries[Index] EAX:%x\n", eax
|
; DEBUGF 1, "+ (UInt16)Entries[Index] EAX:%x\n", eax
|
||||||
.continue:
|
.continue:
|
||||||
inc esi
|
inc esi
|
||||||
dec ecx
|
dec ecx
|
||||||
jnz .start
|
jnz .start
|
||||||
@ -2708,4 +2707,4 @@ exFAT_get_sector:
|
|||||||
mov eax, ecx
|
mov eax, ecx
|
||||||
pop ecx
|
pop ecx
|
||||||
ret
|
ret
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2016. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; EXT external functions
|
; EXT external functions
|
||||||
; in:
|
; in:
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; FAT external functions
|
; FAT external functions
|
||||||
; in:
|
; in:
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
fsReadCMOS:
|
fsReadCMOS:
|
||||||
out 70h, al
|
out 70h, al
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
ERROR_SUCCESS = 0
|
ERROR_SUCCESS = 0
|
||||||
ERROR_DISK_BASE = 1
|
ERROR_DISK_BASE = 1
|
||||||
@ -156,7 +155,7 @@ proc file_system_is_operation_safe stdcall, inf_struct_ptr: dword
|
|||||||
jnz .case2_3
|
jnz .case2_3
|
||||||
;mov ecx, 32
|
;mov ecx, 32
|
||||||
cmp dword [ebx + 8], 1 ; check encoding
|
cmp dword [ebx + 8], 1 ; check encoding
|
||||||
jbe .case1_304 ; if encdoing <= 1 i.e cpp866
|
jbe .case1_304 ; if encdoing <= 1 i.e cpp866
|
||||||
mov ecx, 560 ; if unicode then bdvk block len is 560 bytes
|
mov ecx, 560 ; if unicode then bdvk block len is 560 bytes
|
||||||
jmp .case1_end
|
jmp .case1_end
|
||||||
.case1_304:
|
.case1_304:
|
||||||
@ -187,7 +186,7 @@ proc file_system_is_operation_safe stdcall, inf_struct_ptr: dword
|
|||||||
.switch_none:
|
.switch_none:
|
||||||
cmp ecx, ecx
|
cmp ecx, ecx
|
||||||
jmp .ret
|
jmp .ret
|
||||||
|
|
||||||
.end_switch:
|
.end_switch:
|
||||||
stdcall is_region_userspace, edx, ecx
|
stdcall is_region_userspace, edx, ecx
|
||||||
.ret:
|
.ret:
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; CD external functions
|
; CD external functions
|
||||||
; in:
|
; in:
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; NTFS external functions
|
; NTFS external functions
|
||||||
; in:
|
; in:
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
iglobal
|
iglobal
|
||||||
full_file_name_table dd sysdir_name
|
full_file_name_table dd sysdir_name
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
include 'xfs.inc'
|
include 'xfs.inc'
|
||||||
|
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; file types from stat.h
|
; file types from stat.h
|
||||||
S_IFMT = 0170000o ; These bits determine file type
|
S_IFMT = 0170000o ; These bits determine file type
|
||||||
@ -259,7 +258,7 @@ struct xfs_dir2_sf_hdr
|
|||||||
count db ?
|
count db ?
|
||||||
i8count db ?
|
i8count db ?
|
||||||
parent DQ ? ; parent inode number, 4 or 8 bytes
|
parent DQ ? ; parent inode number, 4 or 8 bytes
|
||||||
ends
|
ends
|
||||||
|
|
||||||
struct xfs_dir2_sf_entry
|
struct xfs_dir2_sf_entry
|
||||||
namelen db ? ; actual name length (ASCII)
|
namelen db ? ; actual name length (ASCII)
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
; Background graphics implementation
|
; Background graphics implementation
|
||||||
|
|
||||||
@ -527,12 +526,12 @@ syscall_putarea_backgr: ; sysfn 25
|
|||||||
mov esi, ecx
|
mov esi, ecx
|
||||||
; ecx - size x, edx - size y
|
; ecx - size x, edx - size y
|
||||||
mov ebp, edx
|
mov ebp, edx
|
||||||
|
|
||||||
lea ebp, [ebp*4]
|
lea ebp, [ebp*4]
|
||||||
imul ebp, esi
|
imul ebp, esi
|
||||||
stdcall is_region_userspace, edi, ebp
|
stdcall is_region_userspace, edi, ebp
|
||||||
jnz .exit
|
jnz .exit
|
||||||
|
|
||||||
mov ebp, edx
|
mov ebp, edx
|
||||||
|
|
||||||
dec ebp
|
dec ebp
|
||||||
@ -594,4 +593,4 @@ align 4
|
|||||||
|
|
||||||
.exit:
|
.exit:
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
button.MAX_BUTTONS = 4095
|
button.MAX_BUTTONS = 4095
|
||||||
|
|
||||||
@ -71,7 +70,7 @@ syscall_button:
|
|||||||
;> 6 (30) = don't draw button
|
;> 6 (30) = don't draw button
|
||||||
;> 5 (29) = don't draw button frame when pressed
|
;> 5 (29) = don't draw button frame when pressed
|
||||||
;> esi = button color
|
;> esi = button color
|
||||||
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
;; Undefine button:
|
;; Undefine button:
|
||||||
;> edx = pack[8(flags), 24(button identifier)]
|
;> edx = pack[8(flags), 24(button identifier)]
|
||||||
;> flags bits:
|
;> flags bits:
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
WINDOW_MOVE_AND_RESIZE_FLAGS = \
|
WINDOW_MOVE_AND_RESIZE_FLAGS = \
|
||||||
mouse.WINDOW_RESIZE_N_FLAG + \
|
mouse.WINDOW_RESIZE_N_FLAG + \
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
dtext:
|
dtext:
|
||||||
; edx -> string
|
; edx -> string
|
||||||
@ -19,18 +18,18 @@ dtext:
|
|||||||
; FF=3: UTF-8 8x16, FF=2: UTF-16LE 8x16
|
; FF=3: UTF-8 8x16, FF=2: UTF-16LE 8x16
|
||||||
; FF=1: cp866 8x16, FF=0: cp866 6x9
|
; FF=1: cp866 8x16, FF=0: cp866 6x9
|
||||||
; SSS = (font multiplier)-1
|
; SSS = (font multiplier)-1
|
||||||
; edi=1: force output
|
; edi=1: force output
|
||||||
; flag CF=1 means that we deal with asciiz but need to draw no more than esi symbols
|
; flag CF=1 means that we deal with asciiz but need to draw no more than esi symbols
|
||||||
clc
|
clc
|
||||||
._:
|
._:
|
||||||
push ecx edx
|
push ecx edx
|
||||||
setc dl
|
setc dl
|
||||||
and eax, 0xFFFFFF
|
and eax, 0xFFFFFF
|
||||||
and ecx, 1 shl 31
|
and ecx, 1 shl 31
|
||||||
shl edx, 29
|
shl edx, 29
|
||||||
or eax, ecx
|
or eax, ecx
|
||||||
or eax, edx
|
or eax, edx
|
||||||
pop edx ecx
|
pop edx ecx
|
||||||
bt ecx, 30
|
bt ecx, 30
|
||||||
jc @f
|
jc @f
|
||||||
or eax, 1 shl 30
|
or eax, 1 shl 30
|
||||||
@ -93,8 +92,8 @@ dtext:
|
|||||||
or eax, -1
|
or eax, -1
|
||||||
mov [esp+28], edi
|
mov [esp+28], edi
|
||||||
jmp .1
|
jmp .1
|
||||||
@@:
|
@@:
|
||||||
and eax, 0x00ffffff
|
and eax, 0x00ffffff
|
||||||
.1:
|
.1:
|
||||||
mov edi, edx
|
mov edi, edx
|
||||||
rep stosd
|
rep stosd
|
||||||
@ -155,13 +154,13 @@ deltaToScreen = 28
|
|||||||
js .done
|
js .done
|
||||||
movzx ebx, word [esi]
|
movzx ebx, word [esi]
|
||||||
test dword [esp + 24], 1 shl 31
|
test dword [esp + 24], 1 shl 31
|
||||||
jnz @f
|
jnz @f
|
||||||
test dword [esp + 24], 1 shl 29
|
test dword [esp + 24], 1 shl 29
|
||||||
jz .u16Still
|
jz .u16Still
|
||||||
@@:
|
@@:
|
||||||
test ebx, ebx
|
test ebx, ebx
|
||||||
jz .done
|
jz .done
|
||||||
.u16Still:
|
.u16Still:
|
||||||
inc esi
|
inc esi
|
||||||
inc esi
|
inc esi
|
||||||
cmp bx, 1419
|
cmp bx, 1419
|
||||||
@ -186,13 +185,13 @@ deltaToScreen = 28
|
|||||||
xor eax, eax
|
xor eax, eax
|
||||||
call utf8to16
|
call utf8to16
|
||||||
test dword [esp + 24], 1 shl 31
|
test dword [esp + 24], 1 shl 31
|
||||||
jnz @f
|
jnz @f
|
||||||
test dword [esp + 24], 1 shl 29
|
test dword [esp + 24], 1 shl 29
|
||||||
jz .u8Still
|
jz .u8Still
|
||||||
@@:
|
@@:
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jz .done
|
jz .done
|
||||||
.u8Still:
|
.u8Still:
|
||||||
cmp eax, 1419
|
cmp eax, 1419
|
||||||
jc @f
|
jc @f
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
@ -214,13 +213,13 @@ deltaToScreen = 28
|
|||||||
js .done
|
js .done
|
||||||
movzx ebx, byte [esi]
|
movzx ebx, byte [esi]
|
||||||
test dword [esp + 24], 1 shl 31
|
test dword [esp + 24], 1 shl 31
|
||||||
jnz @f
|
jnz @f
|
||||||
test dword [esp + 24], 1 shl 29
|
test dword [esp + 24], 1 shl 29
|
||||||
jz .866Still
|
jz .866Still
|
||||||
@@:
|
@@:
|
||||||
test ebx, ebx
|
test ebx, ebx
|
||||||
jz .done
|
jz .done
|
||||||
.866Still:
|
.866Still:
|
||||||
inc esi
|
inc esi
|
||||||
pushd esi edi 9
|
pushd esi edi 9
|
||||||
lea ebx, [ebx*8+ebx+font1]
|
lea ebx, [ebx*8+ebx+font1]
|
||||||
@ -238,13 +237,13 @@ deltaToScreen = 28
|
|||||||
js .done
|
js .done
|
||||||
movzx eax, byte [esi]
|
movzx eax, byte [esi]
|
||||||
test dword [esp + 24], 1 shl 31
|
test dword [esp + 24], 1 shl 31
|
||||||
jnz @f
|
jnz @f
|
||||||
test dword [esp + 24], 1 shl 29
|
test dword [esp + 24], 1 shl 29
|
||||||
jz .8662uStill
|
jz .8662uStill
|
||||||
@@:
|
@@:
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jz .done
|
jz .done
|
||||||
.8662uStill:
|
.8662uStill:
|
||||||
call ansi2uni_char
|
call ansi2uni_char
|
||||||
shl eax, 4
|
shl eax, 4
|
||||||
lea ebx, [eax+fontUni]
|
lea ebx, [eax+fontUni]
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2010-2023. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2010-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
;================================
|
;================================
|
||||||
;/////// public functions ///////
|
;/////// public functions ///////
|
||||||
@ -390,11 +389,11 @@ mouse._.move_handler:
|
|||||||
; change cursor to resizing cursor
|
; change cursor to resizing cursor
|
||||||
shl esi, BSF sizeof.WDATA
|
shl esi, BSF sizeof.WDATA
|
||||||
add esi, window_data
|
add esi, window_data
|
||||||
|
|
||||||
; if resizing cursor we need (eax) isnt set already, set it
|
; if resizing cursor we need (eax) isnt set already, set it
|
||||||
cmp eax, [esi + WDATA.cursor]
|
cmp eax, [esi + WDATA.cursor]
|
||||||
je @f
|
je @f
|
||||||
|
|
||||||
; DEBUGF 1, "changing cursor to resizing\n"
|
; DEBUGF 1, "changing cursor to resizing\n"
|
||||||
xchg eax, [esi + WDATA.cursor] ; set resizing cursor, prev cursor goes to eax
|
xchg eax, [esi + WDATA.cursor] ; set resizing cursor, prev cursor goes to eax
|
||||||
; save previous cursor (will be restored when we'll get out of the resizing area)
|
; save previous cursor (will be restored when we'll get out of the resizing area)
|
||||||
@ -421,7 +420,7 @@ mouse._.move_handler:
|
|||||||
|
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jz .end1
|
jz .end1
|
||||||
|
|
||||||
; restore prev cursor
|
; restore prev cursor
|
||||||
mov [esi + WDATA.temp_cursor], 0
|
mov [esi + WDATA.temp_cursor], 0
|
||||||
mov [esi + WDATA.cursor], eax
|
mov [esi + WDATA.cursor], eax
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
include "skindata.inc"
|
include "skindata.inc"
|
||||||
|
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
|
|
||||||
;
|
;
|
||||||
; WINDOW SKIN DATA.
|
; WINDOW SKIN DATA.
|
||||||
|
@ -1,15 +1,14 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
||||||
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
$Revision$
|
|
||||||
|
|
||||||
;==============================================================================
|
;==============================================================================
|
||||||
; public functions
|
; public functions
|
||||||
;==============================================================================
|
;==============================================================================
|
||||||
|
|
||||||
window.BORDER_SIZE = 5
|
window.BORDER_SIZE = 5
|
||||||
@ -74,7 +73,7 @@ syscall_draw_window: ; system function 0
|
|||||||
|
|
||||||
align 4
|
align 4
|
||||||
; system function 1
|
; system function 1
|
||||||
syscall_setpixel:
|
syscall_setpixel:
|
||||||
mov eax, ebx
|
mov eax, ebx
|
||||||
mov ebx, ecx
|
mov ebx, ecx
|
||||||
mov ecx, edx
|
mov ecx, edx
|
||||||
@ -92,7 +91,7 @@ syscall_setpixel:
|
|||||||
|
|
||||||
align 4
|
align 4
|
||||||
; system function 4
|
; system function 4
|
||||||
syscall_writetext:
|
syscall_writetext:
|
||||||
|
|
||||||
push esi ;check pointer on kernel address.
|
push esi ;check pointer on kernel address.
|
||||||
test ecx, 0x80000000
|
test ecx, 0x80000000
|
||||||
@ -132,7 +131,7 @@ align 4
|
|||||||
|
|
||||||
align 4
|
align 4
|
||||||
; system function 13
|
; system function 13
|
||||||
syscall_drawrect:
|
syscall_drawrect:
|
||||||
mov edi, edx ; color + gradient
|
mov edi, edx ; color + gradient
|
||||||
and edi, 0x80FFFFFF
|
and edi, 0x80FFFFFF
|
||||||
test bx, bx ; x.size
|
test bx, bx ; x.size
|
||||||
@ -184,8 +183,8 @@ syscall_drawline:
|
|||||||
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
; system function 48
|
; system function 48
|
||||||
syscall_display_settings:
|
syscall_display_settings:
|
||||||
cmp ebx, .ftable.size-1
|
cmp ebx, .ftable.size-1
|
||||||
ja .ret
|
ja .ret
|
||||||
jmp dword[.ftable + ebx*4]
|
jmp dword[.ftable + ebx*4]
|
||||||
@ -406,7 +405,7 @@ align 4
|
|||||||
;; Set window shape scale:
|
;; Set window shape scale:
|
||||||
;> ebx = 1
|
;> ebx = 1
|
||||||
;> ecx = scale power (resulting scale is 2^ebx)
|
;> ecx = scale power (resulting scale is 2^ebx)
|
||||||
syscall_set_window_shape:
|
syscall_set_window_shape:
|
||||||
mov edi, [current_slot]
|
mov edi, [current_slot]
|
||||||
mov edi, [edi + APPDATA.window]
|
mov edi, [edi + APPDATA.window]
|
||||||
|
|
||||||
@ -426,8 +425,8 @@ align 4
|
|||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
; system function 67
|
; system function 67
|
||||||
syscall_move_window:
|
syscall_move_window:
|
||||||
mov edi, [current_slot]
|
mov edi, [current_slot]
|
||||||
mov edi, [edi + APPDATA.window]
|
mov edi, [edi + APPDATA.window]
|
||||||
|
|
||||||
@ -482,7 +481,7 @@ align 4
|
|||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
|
|
||||||
; system function 71
|
; system function 71
|
||||||
syscall_window_settings:
|
syscall_window_settings:
|
||||||
mov edi, [current_slot]
|
mov edi, [current_slot]
|
||||||
mov edi, [edi + APPDATA.window]
|
mov edi, [edi + APPDATA.window]
|
||||||
or [edi + WDATA.fl_wstyle], WSTYLE_HASCAPTION
|
or [edi + WDATA.fl_wstyle], WSTYLE_HASCAPTION
|
||||||
@ -2322,7 +2321,7 @@ align 4
|
|||||||
inc edx
|
inc edx
|
||||||
@@:
|
@@:
|
||||||
shl eax, 28
|
shl eax, 28
|
||||||
or ecx, eax
|
or ecx, eax
|
||||||
xor edi, edi
|
xor edi, edi
|
||||||
stc
|
stc
|
||||||
call dtext._
|
call dtext._
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user