forked from KolibriOS/kolibrios
Compare commits
20 Commits
349dbb6edf
...
b6a0bf7729
Author | SHA1 | Date | |
---|---|---|---|
b6a0bf7729 | |||
412e42a342 | |||
66816d7a7e | |||
e23778f306 | |||
4dac8068a5 | |||
d470cce4d8 | |||
f9693d139b | |||
c0607ba4f5 | |||
f80a8960b0 | |||
48bd92cda2 | |||
09cb62069d | |||
ae43d8f454 | |||
d7a4b62ed5 | |||
c7231e7d53 | |||
a53bea545e | |||
bb2607b7d8 | |||
f4fd3f6ea0 | |||
2d3e0ac7f4 | |||
4ad795c835 | |||
27f290d51b |
21
.editorconfig
Normal file
21
.editorconfig
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# https://EditorConfig.org
|
||||||
|
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
# charset = utf-8 # not system wide, just in the kernel
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
|
||||||
|
[*.{asm,inc}]
|
||||||
|
indent_size = 8
|
||||||
|
|
||||||
|
[kernel/**.{asm,inc}]
|
||||||
|
charset = utf-8
|
||||||
|
|
||||||
|
[*.{bat,cmd}]
|
||||||
|
# Prefer Windows line endings
|
||||||
|
end_of_line = crlf
|
9
.gitignore
vendored
Normal file
9
.gitignore
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
### Windows ###
|
||||||
|
Thumbs.db
|
||||||
|
Thumbs.db:encryptable
|
||||||
|
ehthumbs.db
|
||||||
|
ehthumbs_vista.db
|
||||||
|
|
||||||
|
### macOS ###
|
||||||
|
.DS_Store
|
||||||
|
._*
|
@ -884,13 +884,17 @@ for i,v in ipairs(img_files) do
|
|||||||
if tup.getconfig("INSERT_COMMIT_ID") ~= ""
|
if tup.getconfig("INSERT_COMMIT_ID") ~= ""
|
||||||
then
|
then
|
||||||
if build_type == "ru_RU"
|
if build_type == "ru_RU"
|
||||||
then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(get-current-cmtid)]"|iconv -f utf8 -t cp866)'
|
then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, $(get-current-cmtid|grep -oE [a-z0-9]{7}$)]"|iconv -f utf8 -t cp866)'
|
||||||
else str='$(date -u +"[auto-build %d %b %Y %R, r$(get-current-cmtid)]")'
|
else str='$(date -u +"[auto-build %d %b %Y %R, $(get-current-cmtid|grep -oE [a-z0-9]{7}$)]")'
|
||||||
end
|
end
|
||||||
str = string.gsub(str, "%$", "\\$") -- escape $ as \$
|
str = string.gsub(str, "%$", "\\$") -- escape $ as \$
|
||||||
str = string.gsub(str, "%%", "%%%%") -- escape % as %%
|
str = string.gsub(str, "%%", "%%%%") -- escape % as %%
|
||||||
cmd += " && str=" .. str
|
cmd += " && str=" .. str
|
||||||
cmd += ' && echo -n $str | dd status=none of=%o bs=1 seek=`expr 274 - length "$str"` conv=notrunc'
|
cmd += ' && echo -n $str | dd status=none of=%o bs=1 seek=`expr 274 - length "$str"` conv=notrunc'
|
||||||
|
str2='$(get-current-cmtid|grep -oE "\\+[0-9]+")'
|
||||||
|
str2 = string.gsub(str2, "%$", "\\$") -- escape $ as \$
|
||||||
|
cmd += " && str2=" .. str2
|
||||||
|
cmd += ' && echo -n $str2 | dd status=none of=%o bs=1 seek=216 conv=notrunc'
|
||||||
end
|
end
|
||||||
local_file = VAR_KERNEL .. "/.kernel.mnt"
|
local_file = VAR_KERNEL .. "/.kernel.mnt"
|
||||||
tup.definerule{inputs = {v[2]}, command = cmd, outputs = {local_file}}
|
tup.definerule{inputs = {v[2]}, command = cmd, outputs = {local_file}}
|
||||||
|
@ -1 +1 @@
|
|||||||
lang fix ca
|
lang fix ca_ES
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
KolibriOS
|
KolibriOS
|
||||||
version 0770
|
version 0770
|
||||||
svnr 4483
|
svnr 4483
|
||||||
language ca
|
language ca_ES
|
||||||
|
|
||||||
;just comment
|
;just comment
|
||||||
; Hi, curious person! :-)
|
; Hi, curious person! :-)
|
||||||
|
@ -1 +1 @@
|
|||||||
lang fix en
|
lang fix en_US
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
KolibriOS
|
KolibriOS
|
||||||
version 0770
|
version 0770
|
||||||
svnr 4483
|
svnr 4483
|
||||||
language EN
|
language en_US
|
||||||
|
|
||||||
;just comment
|
;just comment
|
||||||
; Hi, curious person! :-)
|
; Hi, curious person! :-)
|
||||||
|
@ -1 +1 @@
|
|||||||
lang fix sp
|
lang fix es_ES
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
KolibriOS
|
KolibriOS
|
||||||
version 0770
|
version 0770
|
||||||
svnr 4483
|
svnr 4483
|
||||||
language SP
|
language es_ES
|
||||||
|
|
||||||
;just comment
|
;just comment
|
||||||
; Hi, curious person! :-)
|
; Hi, curious person! :-)
|
||||||
|
@ -1 +1 @@
|
|||||||
lang fix et
|
lang fix et_EE
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
KolibriOS
|
KolibriOS
|
||||||
version 0770
|
version 0770
|
||||||
svnr 4483
|
svnr 4483
|
||||||
language ET
|
language et_EE
|
||||||
|
|
||||||
;just comment
|
;just comment
|
||||||
; Hi, curious person! :-)
|
; Hi, curious person! :-)
|
||||||
|
@ -1 +1 @@
|
|||||||
lang fix it
|
lang fix it_IT
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
KolibriOS
|
KolibriOS
|
||||||
version 0770
|
version 0770
|
||||||
svnr 4483
|
svnr 4483
|
||||||
language IT
|
language it_IT
|
||||||
|
|
||||||
;just comment
|
;just comment
|
||||||
; Hi, curious person! :-)
|
; Hi, curious person! :-)
|
||||||
|
@ -1 +1 @@
|
|||||||
lang fix ru
|
lang fix ru_RU
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
KolibriOS
|
KolibriOS
|
||||||
version 0770
|
version 0770
|
||||||
svnr 4483
|
svnr 4483
|
||||||
language RU
|
language ru_RU
|
||||||
|
|
||||||
;just comment
|
;just comment
|
||||||
; Hi, curious person! :-)
|
; Hi, curious person! :-)
|
||||||
|
@ -430,12 +430,12 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
cmp al, byte[ebx + device.pci_bus]
|
cmp al, byte[ebx + device.pci_bus]
|
||||||
jne @f
|
jne @f
|
||||||
cmp ah, byte[ebx + device.pci_dev]
|
cmp ah, byte[ebx + device.pci_dev]
|
||||||
je .find_devicenum ; Device is already loaded, let's find it's device number
|
je .find_devicenum ; Device is already loaded, let's find its device number
|
||||||
@@:
|
@@:
|
||||||
add esi, 4
|
add esi, 4
|
||||||
loop .nextdevice
|
loop .nextdevice
|
||||||
|
|
||||||
; This device doesn't have its own eth_device structure yet, lets create one
|
; This device doesn't have its own eth_device structure yet, let's create one
|
||||||
.firstdevice:
|
.firstdevice:
|
||||||
cmp [devices], MAX_DEVICES ; First check if the driver can handle one more card
|
cmp [devices], MAX_DEVICES ; First check if the driver can handle one more card
|
||||||
jae .fail
|
jae .fail
|
||||||
@ -457,7 +457,7 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
movzx ecx, byte[eax+2]
|
movzx ecx, byte[eax+2]
|
||||||
mov [ebx + device.pci_dev], ecx
|
mov [ebx + device.pci_dev], ecx
|
||||||
|
|
||||||
; Now, it's time to find the base io addres of the PCI device
|
; Now, it's time to find the base io address of the PCI device
|
||||||
|
|
||||||
stdcall PCI_find_io, [ebx + device.pci_bus], [ebx + device.pci_dev]
|
stdcall PCI_find_io, [ebx + device.pci_bus], [ebx + device.pci_dev]
|
||||||
mov [ebx + device.io_addr], eax
|
mov [ebx + device.io_addr], eax
|
||||||
@ -693,7 +693,7 @@ probe:
|
|||||||
|
|
||||||
DEBUGF 1,"Waiting for NIC to boot..\n"
|
DEBUGF 1,"Waiting for NIC to boot..\n"
|
||||||
; wait for 2 seconds for NIC to boot
|
; wait for 2 seconds for NIC to boot
|
||||||
mov esi, 2000 ; WTF? FIXME
|
mov esi, 2000 ; Hack!? FIXME
|
||||||
invoke Sleep ; 2 seconds
|
invoke Sleep ; 2 seconds
|
||||||
|
|
||||||
DEBUGF 1,"Ok!\n"
|
DEBUGF 1,"Ok!\n"
|
||||||
@ -2390,7 +2390,7 @@ write_mac:
|
|||||||
mov ax, SELECT_REGISTER_WINDOW+2
|
mov ax, SELECT_REGISTER_WINDOW+2
|
||||||
out dx, ax
|
out dx, ax
|
||||||
|
|
||||||
; write MAC addres back into the station address registers
|
; write MAC address back into the station address registers
|
||||||
set_io [ebx + device.io_addr], REG_STATION_ADDRESS_LO
|
set_io [ebx + device.io_addr], REG_STATION_ADDRESS_LO
|
||||||
lea esi, [ebx + device.mac]
|
lea esi, [ebx + device.mac]
|
||||||
outsw
|
outsw
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2021. 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 ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; R6040 driver for KolibriOS ;;
|
;; R6040 driver for KolibriOS ;;
|
||||||
@ -269,7 +269,7 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
|
|
||||||
mov eax, [edx + IOCTL.input]
|
mov eax, [edx + IOCTL.input]
|
||||||
cmp byte [eax], 1 ; 1 means device number and bus number (pci) are given
|
cmp byte [eax], 1 ; 1 means device number and bus number (pci) are given
|
||||||
jne .fail ; other types arent supported for this card yet
|
jne .fail ; other types aren't supported for this card yet
|
||||||
|
|
||||||
; check if the device is already listed
|
; check if the device is already listed
|
||||||
|
|
||||||
@ -285,13 +285,13 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
cmp al, byte[ebx + device.pci_bus]
|
cmp al, byte[ebx + device.pci_bus]
|
||||||
jne @f
|
jne @f
|
||||||
cmp ah, byte[ebx + device.pci_dev]
|
cmp ah, byte[ebx + device.pci_dev]
|
||||||
je .find_devicenum ; Device is already loaded, let's find it's device number
|
je .find_devicenum ; Device is already loaded, let's find its device number
|
||||||
@@:
|
@@:
|
||||||
add esi, 4
|
add esi, 4
|
||||||
loop .nextdevice
|
loop .nextdevice
|
||||||
|
|
||||||
|
|
||||||
; This device doesnt have its own eth_device structure yet, lets create one
|
; This device doesn't have its own eth_device structure yet, let's create one
|
||||||
.firstdevice:
|
.firstdevice:
|
||||||
cmp [devices], MAX_DEVICES ; First check if the driver can handle one more card
|
cmp [devices], MAX_DEVICES ; First check if the driver can handle one more card
|
||||||
jae .fail
|
jae .fail
|
||||||
@ -313,7 +313,7 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
movzx ecx, byte[eax+2]
|
movzx ecx, byte[eax+2]
|
||||||
mov [ebx + device.pci_dev], ecx
|
mov [ebx + device.pci_dev], ecx
|
||||||
|
|
||||||
; Now, it's time to find the base io addres of the PCI device
|
; Now, it's time to find the base io address of the PCI device
|
||||||
|
|
||||||
stdcall PCI_find_io, [ebx + device.pci_bus], [ebx + device.pci_dev]
|
stdcall PCI_find_io, [ebx + device.pci_bus], [ebx + device.pci_dev]
|
||||||
mov [ebx + device.io_addr], eax
|
mov [ebx + device.io_addr], 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 ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; RTL8029/ne2000 driver for KolibriOS ;;
|
;; RTL8029/ne2000 driver for KolibriOS ;;
|
||||||
@ -234,7 +234,7 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
cmp al, byte[ebx + device.pci_bus]
|
cmp al, byte[ebx + device.pci_bus]
|
||||||
jne @f
|
jne @f
|
||||||
cmp ah, byte[ebx + device.pci_dev]
|
cmp ah, byte[ebx + device.pci_dev]
|
||||||
je .find_devicenum ; Device is already loaded, let's find it's device number
|
je .find_devicenum ; Device is already loaded, let's find its device number
|
||||||
@@:
|
@@:
|
||||||
add esi, 4
|
add esi, 4
|
||||||
loop .nextdevice
|
loop .nextdevice
|
||||||
@ -248,7 +248,7 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
movzx ecx, byte[eax+2]
|
movzx ecx, byte[eax+2]
|
||||||
mov [ebx + device.pci_dev], ecx
|
mov [ebx + device.pci_dev], ecx
|
||||||
|
|
||||||
; Now, it's time to find the base io addres of the PCI device
|
; Now, it's time to find the base io address of the PCI device
|
||||||
|
|
||||||
stdcall PCI_find_io, [ebx + device.pci_bus], [ebx + device.pci_dev]
|
stdcall PCI_find_io, [ebx + device.pci_bus], [ebx + device.pci_dev]
|
||||||
mov [ebx + device.io_addr], eax
|
mov [ebx + device.io_addr], eax
|
||||||
@ -841,7 +841,7 @@ int_handler:
|
|||||||
|
|
||||||
; calculate packet length in ecx
|
; calculate packet length in ecx
|
||||||
shr ecx, 16
|
shr ecx, 16
|
||||||
sub ecx, 4 ; CRC doesnt count as data byte
|
sub ecx, 4 ; CRC doesn't count as data byte
|
||||||
mov edi, [esp+4]
|
mov edi, [esp+4]
|
||||||
mov [edi + NET_BUFF.length], ecx
|
mov [edi + NET_BUFF.length], ecx
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2021. 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 ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Realtek 8139 driver for KolibriOS ;;
|
;; Realtek 8139 driver for KolibriOS ;;
|
||||||
@ -286,7 +286,7 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
|
|
||||||
mov eax, [edx + IOCTL.input]
|
mov eax, [edx + IOCTL.input]
|
||||||
cmp byte [eax], 1 ; 1 means device number and bus number (pci) are given
|
cmp byte [eax], 1 ; 1 means device number and bus number (pci) are given
|
||||||
jne .fail ; other types arent supported for this card yet
|
jne .fail ; other types aren't supported for this card yet
|
||||||
|
|
||||||
; check if the device is already listed
|
; check if the device is already listed
|
||||||
|
|
||||||
@ -301,13 +301,13 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
cmp al, byte[ebx + device.pci_bus]
|
cmp al, byte[ebx + device.pci_bus]
|
||||||
jne @f
|
jne @f
|
||||||
cmp ah, byte[ebx + device.pci_dev]
|
cmp ah, byte[ebx + device.pci_dev]
|
||||||
je .find_devicenum ; Device is already loaded, let's find it's device number
|
je .find_devicenum ; Device is already loaded, let's find its device number
|
||||||
@@:
|
@@:
|
||||||
add esi, 4
|
add esi, 4
|
||||||
loop .nextdevice
|
loop .nextdevice
|
||||||
|
|
||||||
|
|
||||||
; This device doesnt have its own eth_device structure yet, lets create one
|
; This device doesn't have its own eth_device structure yet, let's create one
|
||||||
.firstdevice:
|
.firstdevice:
|
||||||
cmp [devices], MAX_DEVICES ; First check if the driver can handle one more card
|
cmp [devices], MAX_DEVICES ; First check if the driver can handle one more card
|
||||||
jae .fail
|
jae .fail
|
||||||
@ -329,7 +329,7 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
movzx ecx, byte[eax+2]
|
movzx ecx, byte[eax+2]
|
||||||
mov [ebx + device.pci_dev], ecx
|
mov [ebx + device.pci_dev], ecx
|
||||||
|
|
||||||
; Now, it's time to find the base io addres of the PCI device
|
; Now, it's time to find the base io address of the PCI device
|
||||||
|
|
||||||
stdcall PCI_find_io, [ebx + device.pci_bus], [ebx + device.pci_dev]
|
stdcall PCI_find_io, [ebx + device.pci_bus], [ebx + device.pci_dev]
|
||||||
mov [ebx + device.io_addr], eax
|
mov [ebx + device.io_addr], eax
|
||||||
@ -794,9 +794,9 @@ int_handler:
|
|||||||
mov [eax + NET_BUFF.device], ebx
|
mov [eax + NET_BUFF.device], ebx
|
||||||
mov [eax + NET_BUFF.offset], NET_BUFF.data
|
mov [eax + NET_BUFF.offset], NET_BUFF.data
|
||||||
|
|
||||||
lea edi, [eax + NET_BUFF.data] ; Where we will copy too
|
lea edi, [eax + NET_BUFF.data] ; Where we will copy to
|
||||||
mov esi, [esp] ; The buffer we will copy from
|
mov esi, [esp] ; The buffer we will copy from
|
||||||
add esi, 4 ; Dont copy CRC
|
add esi, 4 ; Don't copy CRC
|
||||||
|
|
||||||
push .abort ; return addr for Eth_input
|
push .abort ; return addr for Eth_input
|
||||||
push eax ; buffer ptr for Eth_input
|
push eax ; buffer ptr for Eth_input
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2021. 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 ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; RTL8169 driver for KolibriOS ;;
|
;; RTL8169 driver for KolibriOS ;;
|
||||||
@ -426,7 +426,7 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
|
|
||||||
mov eax, [edx + IOCTL.input]
|
mov eax, [edx + IOCTL.input]
|
||||||
cmp byte [eax], 1 ; 1 means device number and bus number (pci) are given
|
cmp byte [eax], 1 ; 1 means device number and bus number (pci) are given
|
||||||
jne .fail ; other types arent supported for this card yet
|
jne .fail ; other types aren't supported for this card yet
|
||||||
|
|
||||||
; check if the device is already listed
|
; check if the device is already listed
|
||||||
|
|
||||||
@ -442,13 +442,13 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
cmp al, byte[ebx + device.pci_bus]
|
cmp al, byte[ebx + device.pci_bus]
|
||||||
jne @f
|
jne @f
|
||||||
cmp ah, byte[ebx + device.pci_dev]
|
cmp ah, byte[ebx + device.pci_dev]
|
||||||
je .find_devicenum ; Device is already loaded, let's find it's device number
|
je .find_devicenum ; Device is already loaded, let's find its device number
|
||||||
@@:
|
@@:
|
||||||
add esi, 4
|
add esi, 4
|
||||||
loop .nextdevice
|
loop .nextdevice
|
||||||
|
|
||||||
|
|
||||||
; This device doesnt have its own eth_device structure yet, lets create one
|
; This device doesn't have its own eth_device structure yet, let's create one
|
||||||
.firstdevice:
|
.firstdevice:
|
||||||
cmp [devices], MAX_DEVICES ; First check if the driver can handle one more card
|
cmp [devices], MAX_DEVICES ; First check if the driver can handle one more card
|
||||||
jae .fail
|
jae .fail
|
||||||
@ -470,7 +470,7 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
movzx ecx, byte[eax+2]
|
movzx ecx, byte[eax+2]
|
||||||
mov [ebx + device.pci_dev], ecx
|
mov [ebx + device.pci_dev], ecx
|
||||||
|
|
||||||
; Now, it's time to find the base io addres of the PCI device
|
; Now, it's time to find the base io address of the PCI device
|
||||||
|
|
||||||
stdcall PCI_find_io, [ebx + device.pci_bus], [ebx + device.pci_dev]
|
stdcall PCI_find_io, [ebx + device.pci_bus], [ebx + device.pci_dev]
|
||||||
mov [ebx + device.io_addr], eax
|
mov [ebx + device.io_addr], eax
|
||||||
@ -1187,7 +1187,7 @@ int_handler:
|
|||||||
push ebx
|
push ebx
|
||||||
push .rx_loop
|
push .rx_loop
|
||||||
and ecx, 0x00001FFF
|
and ecx, 0x00001FFF
|
||||||
add ecx, -4 ; we dont need CRC
|
add ecx, -4 ; we don't need CRC
|
||||||
DEBUGF 1,"data length = %u\n", ecx
|
DEBUGF 1,"data length = %u\n", ecx
|
||||||
mov eax, [esi + rx_desc.buf_soft_addr]
|
mov eax, [esi + rx_desc.buf_soft_addr]
|
||||||
push eax
|
push eax
|
||||||
|
@ -423,7 +423,7 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
movzx ecx, byte[eax+2]
|
movzx ecx, byte[eax+2]
|
||||||
mov [ebx + device.pci_dev], ecx
|
mov [ebx + device.pci_dev], ecx
|
||||||
|
|
||||||
; Now, it's time to find the base io addres of the PCI device
|
; Now, it's time to find the base io address of the PCI device
|
||||||
stdcall PCI_find_io, [ebx + device.pci_bus], [ebx + device.pci_dev]
|
stdcall PCI_find_io, [ebx + device.pci_bus], [ebx + device.pci_dev]
|
||||||
mov [ebx + device.io_addr], eax
|
mov [ebx + device.io_addr], eax
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2021. 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 ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; FORCEDETH.INC ;;
|
;; FORCEDETH.INC ;;
|
||||||
@ -457,7 +457,7 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
|
|
||||||
mov eax, [edx + IOCTL.input]
|
mov eax, [edx + IOCTL.input]
|
||||||
cmp byte [eax], 1 ; 1 means device number and bus number (pci) are given
|
cmp byte [eax], 1 ; 1 means device number and bus number (pci) are given
|
||||||
jne .fail ; other types arent supported for this card yet
|
jne .fail ; other types aren't supported for this card yet
|
||||||
|
|
||||||
; check if the device is already listed
|
; check if the device is already listed
|
||||||
|
|
||||||
@ -473,13 +473,13 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
cmp al, byte [ebx + device.pci_bus] ; compare with pci and device num in device list (notice the usage of word instead of byte)
|
cmp al, byte [ebx + device.pci_bus] ; compare with pci and device num in device list (notice the usage of word instead of byte)
|
||||||
jne @f
|
jne @f
|
||||||
cmp ah, byte [ebx + device.pci_dev]
|
cmp ah, byte [ebx + device.pci_dev]
|
||||||
je .find_devicenum ; Device is already loaded, let's find it's device number
|
je .find_devicenum ; Device is already loaded, let's find its device number
|
||||||
@@:
|
@@:
|
||||||
add esi, 4
|
add esi, 4
|
||||||
loop .nextdevice
|
loop .nextdevice
|
||||||
|
|
||||||
|
|
||||||
; This device doesnt have its own eth_device structure yet, lets create one
|
; This device doesn't have its own eth_device structure yet, let's create one
|
||||||
.firstdevice:
|
.firstdevice:
|
||||||
cmp [devices], MAX_DEVICES ; First check if the driver can handle one more card
|
cmp [devices], MAX_DEVICES ; First check if the driver can handle one more card
|
||||||
jae .fail
|
jae .fail
|
||||||
@ -581,7 +581,7 @@ probe:
|
|||||||
invoke PciWrite8, [ebx + device.pci_bus], [ebx + device.pci_dev], PCI_header00.max_latency, eax
|
invoke PciWrite8, [ebx + device.pci_bus], [ebx + device.pci_dev], PCI_header00.max_latency, eax
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
; Now, it's time to find the base mmio addres of the PCI device
|
; Now, it's time to find the base mmio address of the PCI device
|
||||||
stdcall PCI_find_mmio, [ebx + device.pci_bus], [ebx + device.pci_dev] ; returns in eax
|
stdcall PCI_find_mmio, [ebx + device.pci_bus], [ebx + device.pci_dev] ; returns in eax
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jnz @f
|
jnz @f
|
||||||
@ -622,7 +622,7 @@ probe:
|
|||||||
; disable WOL
|
; disable WOL
|
||||||
mov [WakeUpFlags], 0
|
mov [WakeUpFlags], 0
|
||||||
mov [ebx + device.wolenabled], 0
|
mov [ebx + device.wolenabled], 0
|
||||||
|
|
||||||
mov [ebx + device.txflags], (NV_TX2_LASTPACKET or NV_TX2_VALID)
|
mov [ebx + device.txflags], (NV_TX2_LASTPACKET or NV_TX2_VALID)
|
||||||
cmp [ebx + device.desc_ver], DESC_VER_1
|
cmp [ebx + device.desc_ver], DESC_VER_1
|
||||||
jne @f
|
jne @f
|
||||||
@ -715,7 +715,7 @@ probe:
|
|||||||
|
|
||||||
; DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ
|
; DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ
|
||||||
mov [ebx + device.irqmask], (IRQMASK_WANTED_2 or IRQ_TIMER) ; was 0
|
mov [ebx + device.irqmask], (IRQMASK_WANTED_2 or IRQ_TIMER) ; was 0
|
||||||
|
|
||||||
mov [ebx + device.needs_mac_reset], 1
|
mov [ebx + device.needs_mac_reset], 1
|
||||||
cmp [ebx + device.desc_ver], DESC_VER_1
|
cmp [ebx + device.desc_ver], DESC_VER_1
|
||||||
jne @f
|
jne @f
|
||||||
@ -767,7 +767,7 @@ probe:
|
|||||||
|
|
||||||
; PHY in isolate mode? No phy attached and user wants to test loopback?
|
; PHY in isolate mode? No phy attached and user wants to test loopback?
|
||||||
; Very odd, but can be correct.
|
; Very odd, but can be correct.
|
||||||
|
|
||||||
DEBUGF 2,"Could not find a valid PHY.\n"
|
DEBUGF 2,"Could not find a valid PHY.\n"
|
||||||
jmp .no_phy
|
jmp .no_phy
|
||||||
|
|
||||||
@ -791,7 +791,7 @@ probe:
|
|||||||
je @f
|
je @f
|
||||||
call mac_reset
|
call mac_reset
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
;***************************************************************************
|
;***************************************************************************
|
||||||
; Function
|
; Function
|
||||||
; reset
|
; reset
|
||||||
@ -870,7 +870,7 @@ reset:
|
|||||||
mov [MIIStatus], MIISTAT_MASK2
|
mov [MIIStatus], MIISTAT_MASK2
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
mov [Misc1], (MISC1_FORCE or MISC1_HD)
|
mov [Misc1], (MISC1_FORCE or MISC1_HD)
|
||||||
|
|
||||||
mov eax, [TransmitterStatus]
|
mov eax, [TransmitterStatus]
|
||||||
@ -907,7 +907,7 @@ reset:
|
|||||||
mov [MIISpeed], (MIISPEED_BIT8 or MIIDELAY)
|
mov [MIISpeed], (MIISPEED_BIT8 or MIIDELAY)
|
||||||
mov [UnknownSetupReg4], UNKSETUP4_VAL
|
mov [UnknownSetupReg4], UNKSETUP4_VAL
|
||||||
mov [WakeUpFlags], WAKEUPFLAGS_VAL
|
mov [WakeUpFlags], WAKEUPFLAGS_VAL
|
||||||
|
|
||||||
or [PowerState], POWERSTATE_POWEREDUP
|
or [PowerState], POWERSTATE_POWEREDUP
|
||||||
call pci_push
|
call pci_push
|
||||||
|
|
||||||
@ -937,7 +937,7 @@ reset:
|
|||||||
mov [PacketFilterFlags], (PFF_ALWAYS or PFF_MYADDR)
|
mov [PacketFilterFlags], (PFF_ALWAYS or PFF_MYADDR)
|
||||||
|
|
||||||
call set_multicast
|
call set_multicast
|
||||||
|
|
||||||
; One manual link speed update: Interrupts are enabled, future link
|
; One manual link speed update: Interrupts are enabled, future link
|
||||||
; speed changes cause interrupts and are handled by nv_link_irq().
|
; speed changes cause interrupts and are handled by nv_link_irq().
|
||||||
|
|
||||||
@ -1097,7 +1097,7 @@ endp
|
|||||||
phy_init:
|
phy_init:
|
||||||
|
|
||||||
push ebx ecx
|
push ebx ecx
|
||||||
|
|
||||||
; set advertise register
|
; set advertise register
|
||||||
mov edx, [ebx + device.phyaddr]
|
mov edx, [ebx + device.phyaddr]
|
||||||
mov eax, MII_ADVERTISE
|
mov eax, MII_ADVERTISE
|
||||||
@ -1128,7 +1128,7 @@ phy_init:
|
|||||||
mov eax, MII_BMSR
|
mov eax, MII_BMSR
|
||||||
mov ecx, MII_READ
|
mov ecx, MII_READ
|
||||||
call mii_rw
|
call mii_rw
|
||||||
|
|
||||||
test eax, PHY_GIGABIT
|
test eax, PHY_GIGABIT
|
||||||
jnz .gigabit
|
jnz .gigabit
|
||||||
mov [ebx + device.gigabit], 0
|
mov [ebx + device.gigabit], 0
|
||||||
@ -1140,7 +1140,7 @@ phy_init:
|
|||||||
mov eax, MII_CTRL1000
|
mov eax, MII_CTRL1000
|
||||||
mov ecx, MII_READ
|
mov ecx, MII_READ
|
||||||
call mii_rw
|
call mii_rw
|
||||||
|
|
||||||
and eax, (not ADVERTISE_1000HALF)
|
and eax, (not ADVERTISE_1000HALF)
|
||||||
|
|
||||||
test [PhyInterface], PHY_RGMII
|
test [PhyInterface], PHY_RGMII
|
||||||
@ -1223,11 +1223,11 @@ phy_init:
|
|||||||
|
|
||||||
cmp [ebx + device.phy_oui], PHY_OUI_CICADA
|
cmp [ebx + device.phy_oui], PHY_OUI_CICADA
|
||||||
jne .restart
|
jne .restart
|
||||||
|
|
||||||
mov eax, MII_SREVISION
|
mov eax, MII_SREVISION
|
||||||
mov ecx, MII_READ
|
mov ecx, MII_READ
|
||||||
call mii_rw
|
call mii_rw
|
||||||
|
|
||||||
or eax, PHY_INIT6
|
or eax, PHY_INIT6
|
||||||
mov ecx, eax
|
mov ecx, eax
|
||||||
mov eax, MII_SREVISION
|
mov eax, MII_SREVISION
|
||||||
@ -1411,7 +1411,7 @@ init_ring:
|
|||||||
pop ecx
|
pop ecx
|
||||||
dec ecx
|
dec ecx
|
||||||
jnz .rx_loop
|
jnz .rx_loop
|
||||||
|
|
||||||
pop ecx esi
|
pop ecx esi
|
||||||
|
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
@ -1565,7 +1565,7 @@ update_linkspeed:
|
|||||||
DEBUGF 1,"update linkspeed\n"
|
DEBUGF 1,"update linkspeed\n"
|
||||||
|
|
||||||
; BMSR_LSTATUS is latched, read it twice: we want the current value.
|
; BMSR_LSTATUS is latched, read it twice: we want the current value.
|
||||||
|
|
||||||
mov edx, [ebx + device.phyaddr]
|
mov edx, [ebx + device.phyaddr]
|
||||||
mov eax, MII_BMSR
|
mov eax, MII_BMSR
|
||||||
mov ecx, MII_READ
|
mov ecx, MII_READ
|
||||||
@ -1574,7 +1574,7 @@ update_linkspeed:
|
|||||||
mov eax, MII_BMSR
|
mov eax, MII_BMSR
|
||||||
mov ecx, MII_READ
|
mov ecx, MII_READ
|
||||||
call mii_rw
|
call mii_rw
|
||||||
|
|
||||||
test ax, BMSR_LSTATUS ; Link up?
|
test ax, BMSR_LSTATUS ; Link up?
|
||||||
jz .no_link
|
jz .no_link
|
||||||
|
|
||||||
@ -1684,10 +1684,10 @@ set_speed:
|
|||||||
|
|
||||||
.update:
|
.update:
|
||||||
DEBUGF 1,"update_linkspeed: changing link to 0x%x/XD.\n", ecx
|
DEBUGF 1,"update_linkspeed: changing link to 0x%x/XD.\n", ecx
|
||||||
|
|
||||||
mov [ebx + device.duplex], eax
|
mov [ebx + device.duplex], eax
|
||||||
mov [ebx + device.linkspeed], ecx
|
mov [ebx + device.linkspeed], ecx
|
||||||
|
|
||||||
cmp [ebx + device.gigabit], PHY_GIGABIT
|
cmp [ebx + device.gigabit], PHY_GIGABIT
|
||||||
jne .no_gigabit
|
jne .no_gigabit
|
||||||
|
|
||||||
@ -1740,7 +1740,7 @@ set_speed:
|
|||||||
|
|
||||||
.end_if5:
|
.end_if5:
|
||||||
mov [PhyInterface], ecx
|
mov [PhyInterface], ecx
|
||||||
|
|
||||||
cmp [ebx + device.duplex], 0
|
cmp [ebx + device.duplex], 0
|
||||||
je @f
|
je @f
|
||||||
xor ecx, ecx
|
xor ecx, ecx
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2021. 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 ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; i8254x driver for KolibriOS ;;
|
;; i8254x driver for KolibriOS ;;
|
||||||
@ -343,7 +343,7 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
|
|
||||||
mov eax, [edx + IOCTL.input]
|
mov eax, [edx + IOCTL.input]
|
||||||
cmp byte[eax], 1 ; 1 means device number and bus number (pci) are given
|
cmp byte[eax], 1 ; 1 means device number and bus number (pci) are given
|
||||||
jne .fail ; other types arent supported for this card yet
|
jne .fail ; other types aren't supported for this card yet
|
||||||
|
|
||||||
; check if the device is already listed
|
; check if the device is already listed
|
||||||
|
|
||||||
@ -359,13 +359,13 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
cmp al, byte[ebx + device.pci_bus]
|
cmp al, byte[ebx + device.pci_bus]
|
||||||
jne .next
|
jne .next
|
||||||
cmp ah, byte[ebx + device.pci_dev]
|
cmp ah, byte[ebx + device.pci_dev]
|
||||||
je .find_devicenum ; Device is already loaded, let's find it's device number
|
je .find_devicenum ; Device is already loaded, let's find its device number
|
||||||
.next:
|
.next:
|
||||||
add esi, 4
|
add esi, 4
|
||||||
loop .nextdevice
|
loop .nextdevice
|
||||||
|
|
||||||
|
|
||||||
; This device doesnt have its own eth_device structure yet, lets create one
|
; This device doesn't have its own eth_device structure yet, let's create one
|
||||||
.firstdevice:
|
.firstdevice:
|
||||||
cmp [devices], MAX_DEVICES ; First check if the driver can handle one more card
|
cmp [devices], MAX_DEVICES ; First check if the driver can handle one more card
|
||||||
jae .fail
|
jae .fail
|
||||||
@ -387,7 +387,7 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
movzx ecx, byte[eax+2]
|
movzx ecx, byte[eax+2]
|
||||||
mov [ebx + device.pci_dev], ecx
|
mov [ebx + device.pci_dev], ecx
|
||||||
|
|
||||||
; Now, it's time to find the base mmio addres of the PCI device
|
; Now, it's time to find the base mmio address of the PCI device
|
||||||
|
|
||||||
stdcall PCI_find_mmio, [ebx + device.pci_bus], [ebx + device.pci_dev] ; returns in eax
|
stdcall PCI_find_mmio, [ebx + device.pci_bus], [ebx + device.pci_dev] ; returns in eax
|
||||||
test eax, eax
|
test eax, eax
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2021. 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 ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; MTD80x driver for KolibriOS ;;
|
;; MTD80x driver for KolibriOS ;;
|
||||||
@ -344,7 +344,7 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
|
|
||||||
mov eax, [edx + IOCTL.input]
|
mov eax, [edx + IOCTL.input]
|
||||||
cmp byte [eax], 1 ; 1 means device number and bus number (pci) are given
|
cmp byte [eax], 1 ; 1 means device number and bus number (pci) are given
|
||||||
jne .fail ; other types arent supported for this card yet
|
jne .fail ; other types aren't supported for this card yet
|
||||||
|
|
||||||
; check if the device is already listed
|
; check if the device is already listed
|
||||||
|
|
||||||
@ -360,13 +360,13 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
cmp al, byte[ebx + device.pci_bus]
|
cmp al, byte[ebx + device.pci_bus]
|
||||||
jne @f
|
jne @f
|
||||||
cmp ah, byte[ebx + device.pci_dev]
|
cmp ah, byte[ebx + device.pci_dev]
|
||||||
je .find_devicenum ; Device is already loaded, let's find it's device number
|
je .find_devicenum ; Device is already loaded, let's find its device number
|
||||||
@@:
|
@@:
|
||||||
add esi, 4
|
add esi, 4
|
||||||
loop .nextdevice
|
loop .nextdevice
|
||||||
|
|
||||||
|
|
||||||
; This device doesnt have its own eth_device structure yet, lets create one
|
; This device doesn't have its own eth_device structure yet, let's create one
|
||||||
.firstdevice:
|
.firstdevice:
|
||||||
cmp [devices], MAX_DEVICES ; First check if the driver can handle one more card
|
cmp [devices], MAX_DEVICES ; First check if the driver can handle one more card
|
||||||
jae .fail
|
jae .fail
|
||||||
@ -388,7 +388,7 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
movzx ecx, byte[eax+2]
|
movzx ecx, byte[eax+2]
|
||||||
mov [ebx + device.pci_dev], ecx
|
mov [ebx + device.pci_dev], ecx
|
||||||
|
|
||||||
; Now, it's time to find the base io addres of the PCI device
|
; Now, it's time to find the base io address of the PCI device
|
||||||
|
|
||||||
stdcall PCI_find_io, [ebx + device.pci_bus], [ebx + device.pci_dev]
|
stdcall PCI_find_io, [ebx + device.pci_bus], [ebx + device.pci_dev]
|
||||||
mov [ebx + device.io_addr], eax
|
mov [ebx + device.io_addr], eax
|
||||||
@ -1084,7 +1084,7 @@ int_handler:
|
|||||||
|
|
||||||
mov ecx, [esi + descriptor.status]
|
mov ecx, [esi + descriptor.status]
|
||||||
shr ecx, FLNGShift
|
shr ecx, FLNGShift
|
||||||
sub ecx, 4 ; we dont need CRC
|
sub ecx, 4 ; we don't need CRC
|
||||||
DEBUGF 1,"Received %u bytes\n", ecx
|
DEBUGF 1,"Received %u bytes\n", ecx
|
||||||
mov eax, [esi + descriptor.skbuff]
|
mov eax, [esi + descriptor.skbuff]
|
||||||
push eax
|
push eax
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2021. 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 ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; AMD PCnet driver for KolibriOS ;;
|
;; AMD PCnet driver for KolibriOS ;;
|
||||||
@ -417,7 +417,7 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
|
|
||||||
mov eax, [edx + IOCTL.input]
|
mov eax, [edx + IOCTL.input]
|
||||||
cmp byte[eax], 1 ; 1 means device number and bus number (pci) are given
|
cmp byte[eax], 1 ; 1 means device number and bus number (pci) are given
|
||||||
jne .fail ; other types arent supported for this card yet
|
jne .fail ; other types aren't supported for this card yet
|
||||||
|
|
||||||
; check if the device is already listed
|
; check if the device is already listed
|
||||||
|
|
||||||
@ -433,12 +433,12 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
cmp al, byte[ebx + device.pci_bus]
|
cmp al, byte[ebx + device.pci_bus]
|
||||||
jne @f
|
jne @f
|
||||||
cmp ah, byte[ebx + device.pci_dev]
|
cmp ah, byte[ebx + device.pci_dev]
|
||||||
je .find_devicenum ; Device is already loaded, let's find it's device number
|
je .find_devicenum ; Device is already loaded, let's find its device number
|
||||||
@@:
|
@@:
|
||||||
add esi, 4
|
add esi, 4
|
||||||
loop .nextdevice
|
loop .nextdevice
|
||||||
|
|
||||||
; This device doesnt have its own eth_device structure yet, lets create one
|
; This device doesn't have its own eth_device structure yet, let's create one
|
||||||
|
|
||||||
.firstdevice:
|
.firstdevice:
|
||||||
cmp [devices], MAX_DEVICES ; First check if the driver can handle one more card
|
cmp [devices], MAX_DEVICES ; First check if the driver can handle one more card
|
||||||
@ -461,7 +461,7 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
movzx ecx, byte[eax+2]
|
movzx ecx, byte[eax+2]
|
||||||
mov [ebx + device.pci_dev], ecx
|
mov [ebx + device.pci_dev], ecx
|
||||||
|
|
||||||
; Now, it's time to find the base io addres of the PCI device
|
; Now, it's time to find the base io address of the PCI device
|
||||||
|
|
||||||
stdcall PCI_find_io, [ebx + device.pci_bus], [ebx + device.pci_dev]
|
stdcall PCI_find_io, [ebx + device.pci_bus], [ebx + device.pci_dev]
|
||||||
mov [ebx + device.io_addr], eax
|
mov [ebx + device.io_addr], eax
|
||||||
@ -1160,14 +1160,14 @@ int_handler:
|
|||||||
|
|
||||||
test ax, RXSTAT_OWN ; If this bit is set, the controller OWN's the packet, if not, we do
|
test ax, RXSTAT_OWN ; If this bit is set, the controller OWN's the packet, if not, we do
|
||||||
jnz .rx_done
|
jnz .rx_done
|
||||||
; Both Start of packet and End of packet bits should be set, we dont support multi frame packets
|
; Both Start of packet and End of packet bits should be set, we don't support multi frame packets
|
||||||
test ax, RXSTAT_ENP
|
test ax, RXSTAT_ENP
|
||||||
jz .rx_drop
|
jz .rx_drop
|
||||||
test ax, RXSTAT_STP
|
test ax, RXSTAT_STP
|
||||||
jz .rx_drop
|
jz .rx_drop
|
||||||
|
|
||||||
movzx ecx, [edi + descriptor.msg_length] ; get packet length in ecx
|
movzx ecx, [edi + descriptor.msg_length] ; get packet length in ecx
|
||||||
sub ecx, 4 ; We dont need the CRC
|
sub ecx, 4 ; We don't need the CRC
|
||||||
DEBUGF 1,"Got %u bytes\n", ecx
|
DEBUGF 1,"Got %u bytes\n", ecx
|
||||||
|
|
||||||
; Set pointers for ETH_input
|
; Set pointers for ETH_input
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2010-2021. 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 ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; rhine.asm ;;
|
;; rhine.asm ;;
|
||||||
@ -600,13 +600,13 @@ proc service_proc stdcall, ioctl:dword
|
|||||||
cmp al, byte[ebx + device.pci_bus]
|
cmp al, byte[ebx + device.pci_bus]
|
||||||
jne @f
|
jne @f
|
||||||
cmp ah, byte[ebx + device.pci_dev]
|
cmp ah, byte[ebx + device.pci_dev]
|
||||||
je .find_devicenum ; Device is already loaded, let's find it's device number
|
je .find_devicenum ; Device is already loaded, let's find its device number
|
||||||
@@:
|
@@:
|
||||||
add esi, 4
|
add esi, 4
|
||||||
loop .nextdevice
|
loop .nextdevice
|
||||||
|
|
||||||
|
|
||||||
; This device doesn't have its own eth_device structure yet, lets create one
|
; This device doesn't have its own eth_device structure yet, let's create one
|
||||||
.firstdevice:
|
.firstdevice:
|
||||||
cmp [devices], MAX_DEVICES ; First check if the driver can handle one more card
|
cmp [devices], MAX_DEVICES ; First check if the driver can handle one more card
|
||||||
jae .fail
|
jae .fail
|
||||||
@ -1533,7 +1533,7 @@ int_handler:
|
|||||||
lea edi, [ebx + device.rx_ring]
|
lea edi, [ebx + device.rx_ring]
|
||||||
add edi, eax
|
add edi, eax
|
||||||
|
|
||||||
; Check it's status
|
; Check its status
|
||||||
test [edi + rx_head.status], RX_SBITS_OWN_BIT
|
test [edi + rx_head.status], RX_SBITS_OWN_BIT
|
||||||
jnz .not_RX
|
jnz .not_RX
|
||||||
|
|
||||||
@ -1545,7 +1545,7 @@ int_handler:
|
|||||||
mov ecx, [edi + rx_head.status]
|
mov ecx, [edi + rx_head.status]
|
||||||
and ecx, RX_SBITS_FRAME_LENGTH
|
and ecx, RX_SBITS_FRAME_LENGTH
|
||||||
shr ecx, 16
|
shr ecx, 16
|
||||||
sub ecx, 4 ; We dont want CRC
|
sub ecx, 4 ; We don't want CRC
|
||||||
|
|
||||||
; Update stats
|
; Update stats
|
||||||
add dword [ebx + device.bytes_rx], ecx
|
add dword [ebx + device.bytes_rx], 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 ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Ethernet driver for KolibriOS ;;
|
;; Ethernet driver for KolibriOS ;;
|
||||||
@ -321,7 +321,7 @@ service_proc:
|
|||||||
cmp al, byte[ebx + device.pci_bus]
|
cmp al, byte[ebx + device.pci_bus]
|
||||||
jne @f
|
jne @f
|
||||||
cmp ah, byte[ebx + device.pci_dev]
|
cmp ah, byte[ebx + device.pci_dev]
|
||||||
je .find_devicenum ; Device is already loaded, let's find it's device number
|
je .find_devicenum ; Device is already loaded, let's find its device number
|
||||||
@@:
|
@@:
|
||||||
add esi, 4
|
add esi, 4
|
||||||
loop .nextdevice
|
loop .nextdevice
|
||||||
@ -345,10 +345,10 @@ service_proc:
|
|||||||
mov [ebx + device.unload], unload
|
mov [ebx + device.unload], unload
|
||||||
mov [ebx + device.name], my_service
|
mov [ebx + device.name], my_service
|
||||||
|
|
||||||
; 4k. Now, it's time to find the base io addres of the PCI device
|
; 4k. Now, it's time to find the base io address of the PCI device
|
||||||
; TODO: implement check if bus and dev exist on this machine
|
; TODO: implement check if bus and dev exist on this machine
|
||||||
|
|
||||||
; Now, it's time to find the base io addres of the PCI device
|
; Now, it's time to find the base io address of the PCI device
|
||||||
stdcall PCI_find_io, [ebx + device.pci_bus], [ebx + device.pci_dev]
|
stdcall PCI_find_io, [ebx + device.pci_bus], [ebx + device.pci_dev]
|
||||||
mov [ebx + device.io_addr], eax
|
mov [ebx + device.io_addr], eax
|
||||||
|
|
||||||
@ -491,7 +491,7 @@ reset:
|
|||||||
DEBUGF 2,"Could not attach int handler!\n"
|
DEBUGF 2,"Could not attach int handler!\n"
|
||||||
or eax, -1
|
or eax, -1
|
||||||
ret
|
ret
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
;--------------------------------------------
|
;--------------------------------------------
|
||||||
; Disable Interrupts and reset Receive Filter
|
; Disable Interrupts and reset Receive Filter
|
||||||
|
@ -44,7 +44,7 @@ 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
|
||||||
@ -167,7 +167,7 @@ struct PORT_DATA
|
|||||||
ctr_ptr dd ? ; pointer to controller to which port belongs
|
ctr_ptr dd ? ; pointer to controller to which port belongs
|
||||||
ends
|
ends
|
||||||
|
|
||||||
; Register FIS – Host to Device
|
; Register FIS - Host to Device
|
||||||
struct FIS_REG_H2D
|
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
|
||||||
@ -194,7 +194,7 @@ struct FIS_REG_H2D
|
|||||||
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
|
||||||
|
|
||||||
@ -221,7 +221,7 @@ struct FIS_REG_D2H
|
|||||||
rb 4 ; Reserved
|
rb 4 ; Reserved
|
||||||
ends
|
ends
|
||||||
|
|
||||||
; Data FIS – Bidirectional
|
; Data FIS - Bidirectional
|
||||||
struct FIS_DATA
|
struct FIS_DATA
|
||||||
fis_type db ? ; FIS_TYPE_DATA
|
fis_type db ? ; FIS_TYPE_DATA
|
||||||
flags db ? ; 0bRRRRPPPP, R - Reserved, P - Port multiplier
|
flags db ? ; 0bRRRRPPPP, R - Reserved, P - Port multiplier
|
||||||
@ -230,7 +230,7 @@ struct FIS_DATA
|
|||||||
data rd 1 ; Payload
|
data rd 1 ; Payload
|
||||||
ends
|
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
|
||||||
|
|
||||||
@ -259,7 +259,7 @@ struct FIS_PIO_SETUP
|
|||||||
rb 2 ; Reserved
|
rb 2 ; Reserved
|
||||||
ends
|
ends
|
||||||
|
|
||||||
; DMA Setup – Device to Host
|
; DMA Setup - Device to Host
|
||||||
struct FIS_DMA_SETUP
|
struct FIS_DMA_SETUP
|
||||||
fis_type db ? ; FIS_TYPE_DMA_SETUP
|
fis_type db ? ; FIS_TYPE_DMA_SETUP
|
||||||
flags db ? ; 0bAIDRPPPP, A - Auto-activate. Specifies if DMA Activate FIS is needed,
|
flags db ? ; 0bAIDRPPPP, A - Auto-activate. Specifies if DMA Activate FIS is needed,
|
||||||
|
@ -16,8 +16,8 @@
|
|||||||
; allocated/freed sector-wise, so items for sequential sectors can be
|
; allocated/freed sector-wise, so items for sequential sectors can be
|
||||||
; scattered over all the cache.
|
; scattered over all the cache.
|
||||||
; So read/write functions allocate a temporary buffer which is
|
; So read/write functions allocate a temporary buffer which is
|
||||||
; 1) not greater than half of free memory and
|
; (1) not greater than half of free memory and
|
||||||
; 2) not greater than the following constant.
|
; (2) not greater than the following constant.
|
||||||
CACHE_MAX_ALLOC_SIZE = 4 shl 20
|
CACHE_MAX_ALLOC_SIZE = 4 shl 20
|
||||||
|
|
||||||
; Legacy interface for filesystems fs_{read,write}32_{sys,app}
|
; Legacy interface for filesystems fs_{read,write}32_{sys,app}
|
||||||
|
@ -11,7 +11,7 @@ uglobal
|
|||||||
dmamode db 0x0
|
dmamode db 0x0
|
||||||
endg
|
endg
|
||||||
|
|
||||||
fdc_init: ;start with clean tracks.
|
fdc_init: ; start with clean tracks
|
||||||
mov edi, OS_BASE+0xD201
|
mov edi, OS_BASE+0xD201
|
||||||
mov al, 0
|
mov al, 0
|
||||||
mov ecx, 160
|
mov ecx, 160
|
||||||
@ -28,9 +28,9 @@ save_image:
|
|||||||
call floppy_read_bootsector
|
call floppy_read_bootsector
|
||||||
cmp [FDC_Status], 0
|
cmp [FDC_Status], 0
|
||||||
jne .unnecessary_save_image
|
jne .unnecessary_save_image
|
||||||
mov [FDD_Track], 0; Цилиндр
|
mov [FDD_Track], 0
|
||||||
mov [FDD_Head], 0; Сторона
|
mov [FDD_Head], 0
|
||||||
mov [FDD_Sector], 1; Сектор
|
mov [FDD_Sector], 1
|
||||||
mov esi, RAMDISK
|
mov esi, RAMDISK
|
||||||
call SeekTrack
|
call SeekTrack
|
||||||
.save_image_1:
|
.save_image_1:
|
||||||
|
@ -505,16 +505,16 @@ IDE_common_irq_handler:
|
|||||||
; Most of the time, we are here because we have requested
|
; Most of the time, we are here because we have requested
|
||||||
; a DMA transfer for the corresponding drive.
|
; a DMA transfer for the corresponding drive.
|
||||||
; However,
|
; However,
|
||||||
; a) we can be here because IDE IRQ is shared with some other device,
|
; (a) we can be here because IDE IRQ is shared with some other device,
|
||||||
; that device has actually raised IRQ,
|
; that device has actually raised IRQ,
|
||||||
; it has nothing to do with IDE;
|
; it has nothing to do with IDE;
|
||||||
; b) we can be here because IDE controller just does not want
|
; (b) we can be here because IDE controller just does not want
|
||||||
; to be silent and reacts to something even though
|
; to be silent and reacts to something even though
|
||||||
; we have, in theory, disabled IRQs.
|
; we have, in theory, disabled IRQs.
|
||||||
; If the interrupt corresponds to our current request,
|
; If the interrupt corresponds to our current request,
|
||||||
; remove the interrupt request and raise the event for the waiting code.
|
; remove the interrupt request and raise the event for the waiting code.
|
||||||
; In the case a), just return zero - not our interrupt.
|
; In the case (a), just return zero - not our interrupt.
|
||||||
; In the case b), remove the interrupt request and hope for the best.
|
; In the case (b), remove the interrupt request and hope for the best.
|
||||||
; DEBUGF 1, 'K : IDE_irq_handler %x\n', [IDE_common_irq_param]:2
|
; DEBUGF 1, 'K : IDE_irq_handler %x\n', [IDE_common_irq_param]:2
|
||||||
mov ecx, [esp+4]
|
mov ecx, [esp+4]
|
||||||
mov dx, [ecx+IDE_DATA.RegsBaseAddres]
|
mov dx, [ecx+IDE_DATA.RegsBaseAddres]
|
||||||
|
@ -41,8 +41,8 @@ endg
|
|||||||
mov ebx, eax
|
mov ebx, eax
|
||||||
stdcall disk_media_changed, eax, 1
|
stdcall disk_media_changed, eax, 1
|
||||||
; 2. We don't know actual size of loaded image,
|
; 2. We don't know actual size of loaded image,
|
||||||
; so try to calculate it using partition structure,
|
; so try to calculate it using partition structure, assuming
|
||||||
; assuming that file systems fill the real size based on contents of the partition.
|
; that file systems fill the real size based on contents of the partition.
|
||||||
; 2a. Prepare for loop over partitions.
|
; 2a. Prepare for loop over partitions.
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
xor ecx, ecx
|
xor ecx, ecx
|
||||||
|
@ -314,7 +314,7 @@ end if
|
|||||||
mov ax, 3
|
mov ax, 3
|
||||||
int 0x10
|
int 0x10
|
||||||
|
|
||||||
if lang eq ru
|
if lang eq ru_RU
|
||||||
; Load & set russian VGA font (RU.INC)
|
; Load & set russian VGA font (RU.INC)
|
||||||
mov bp, RU_FNT1 ; RU_FNT1 - First part
|
mov bp, RU_FNT1 ; RU_FNT1 - First part
|
||||||
mov bx, 1000h ; 768 bytes
|
mov bx, 1000h ; 768 bytes
|
||||||
@ -330,7 +330,7 @@ if lang eq ru
|
|||||||
mov ax, 1100h
|
mov ax, 1100h
|
||||||
int 10h
|
int 10h
|
||||||
; End set VGA russian font
|
; End set VGA russian font
|
||||||
else if lang eq et
|
else if lang eq et_EE
|
||||||
mov bp, ET_FNT ; ET_FNT1
|
mov bp, ET_FNT ; ET_FNT1
|
||||||
mov bx, 1000h ;
|
mov bx, 1000h ;
|
||||||
mov cx, 255 ; 256 symbols
|
mov cx, 255 ; 256 symbols
|
||||||
@ -414,7 +414,7 @@ sayerr:
|
|||||||
test al, 2
|
test al, 2
|
||||||
loopnz @b
|
loopnz @b
|
||||||
|
|
||||||
mov al, 0xf6 ; Сброс клавиатуры, разрешить сканирование
|
mov al, 0xf6 ; Keyboard reset, enable scanning
|
||||||
out 0x60, al
|
out 0x60, al
|
||||||
xor cx, cx
|
xor cx, cx
|
||||||
@@:
|
@@:
|
||||||
@ -704,7 +704,7 @@ end if
|
|||||||
if defined extended_primary_loader
|
if defined extended_primary_loader
|
||||||
_ask_question bdev,'13',preboot_device ; range accepted for answer: 1-3
|
_ask_question bdev,'13',preboot_device ; range accepted for answer: 1-3
|
||||||
else
|
else
|
||||||
_ask_question bdev,'14',preboot_device ; range accepted for answer: 1-4
|
_ask_question bdev,'14',preboot_device ; range accepted for answer: 1-4
|
||||||
end if
|
end if
|
||||||
_setcursor 14,0
|
_setcursor 14,0
|
||||||
|
|
||||||
@ -874,8 +874,8 @@ end if
|
|||||||
mov bx, 18
|
mov bx, 18
|
||||||
xor dx, dx
|
xor dx, dx
|
||||||
div bx
|
div bx
|
||||||
if lang eq ru
|
if lang eq ru_RU
|
||||||
; подождите 5 секунд, 4/3/2 секунды, 1 секунду
|
; подождите 5 секунд, 4/3/2 секундЫ, 1 секундУ
|
||||||
cmp al, 5
|
cmp al, 5
|
||||||
mov cl, ' '
|
mov cl, ' '
|
||||||
jae @f
|
jae @f
|
||||||
@ -885,14 +885,14 @@ if lang eq ru
|
|||||||
mov cl, 0xEB ; 'ы' in cp866
|
mov cl, 0xEB ; 'ы' in cp866
|
||||||
@@:
|
@@:
|
||||||
mov [time_str+9], cl
|
mov [time_str+9], cl
|
||||||
else if lang eq et
|
else if lang eq et_EE
|
||||||
cmp al, 1
|
cmp al, 1
|
||||||
ja @f
|
ja @f
|
||||||
mov byte [time_str+9], ' '
|
mov byte [time_str+9], ' '
|
||||||
mov byte [time_str+10], ' '
|
mov byte [time_str+10], ' '
|
||||||
@@:
|
@@:
|
||||||
else if lang eq sp
|
else if lang eq es_ES
|
||||||
; esperar 5/4/3/2 segundos, 1 segundo
|
; esperar 5/4/3/2 segundo_s_, 1 segundo
|
||||||
cmp al, 1
|
cmp al, 1
|
||||||
mov cl, 's'
|
mov cl, 's'
|
||||||
ja @f
|
ja @f
|
||||||
@ -900,7 +900,7 @@ else if lang eq sp
|
|||||||
@@:
|
@@:
|
||||||
mov [time_str+10], cl
|
mov [time_str+10], cl
|
||||||
else
|
else
|
||||||
; wait 5/4/3/2 seconds, 1 second
|
; wait 5/4/3/2 second_s_, 1 second
|
||||||
cmp al, 1
|
cmp al, 1
|
||||||
mov cl, 's'
|
mov cl, 's'
|
||||||
ja @f
|
ja @f
|
||||||
@ -953,7 +953,7 @@ if ~ defined extended_primary_loader
|
|||||||
or al, 20h
|
or al, 20h
|
||||||
cmp al, 'n'
|
cmp al, 'n'
|
||||||
jz .loadc
|
jz .loadc
|
||||||
if lang eq sp
|
if lang eq es_ES
|
||||||
cmp al, 's'
|
cmp al, 's'
|
||||||
else
|
else
|
||||||
cmp al, 'y'
|
cmp al, 'y'
|
||||||
|
@ -77,13 +77,13 @@ virtual at $A000
|
|||||||
mi VBE_ModeInfo
|
mi VBE_ModeInfo
|
||||||
modes_table:
|
modes_table:
|
||||||
end virtual
|
end virtual
|
||||||
cursor_pos dw 0 ;временное хранение курсора.
|
cursor_pos dw 0 ; temporary cursor storage
|
||||||
cursor_pos_old dw 0
|
cursor_pos_old dw 0
|
||||||
home_cursor dw 0 ;current shows rows a table
|
home_cursor dw 0 ; current shows rows a table
|
||||||
end_cursor dw 0 ;end of position current shows rows a table
|
end_cursor dw 0 ; end of position current shows rows a table
|
||||||
scroll_start dw 0 ;start position of scroll bar
|
scroll_start dw 0 ; start position of scroll bar
|
||||||
scroll_end dw 0 ;end position of scroll bar
|
scroll_end dw 0 ; end position of scroll bar
|
||||||
long_v_table = 9 ;long of visible video table
|
long_v_table = 9 ; long of visible video table
|
||||||
size_of_step = 10
|
size_of_step = 10
|
||||||
scroll_area_size = long_v_table - 2
|
scroll_area_size = long_v_table - 2
|
||||||
int2str:
|
int2str:
|
||||||
@ -696,7 +696,7 @@ draw_vmodes_table:
|
|||||||
jmp .@@_sh
|
jmp .@@_sh
|
||||||
|
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
;Clear arrea of current video page (0xb800)
|
;Clear area of current video page (0xb800)
|
||||||
clear_vmodes_table:
|
clear_vmodes_table:
|
||||||
pusha
|
pusha
|
||||||
; draw frames
|
; draw frames
|
||||||
@ -724,17 +724,17 @@ set_vmode:
|
|||||||
push 0 ;0;x1000
|
push 0 ;0;x1000
|
||||||
pop es
|
pop es
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
|
|
||||||
mov word [es:BOOT_LO.x_res], ax ; resolution X
|
mov word [es:BOOT_LO.x_res], ax ; resolution X
|
||||||
mov word [es:BOOT_LO.y_res], bx ; resolution Y
|
mov word [es:BOOT_LO.y_res], bx ; resolution Y
|
||||||
mov word [es:BOOT_LO.vesa_mode], cx ; number of mode
|
mov word [es:BOOT_LO.vesa_mode], cx ; number of mode
|
||||||
|
|
||||||
cmp cx, 0x12
|
cmp cx, 0x12
|
||||||
je .mode0x12_0x13
|
je .mode0x12_0x13
|
||||||
@ -752,7 +752,7 @@ set_vmode:
|
|||||||
mov di, mi;0xa000
|
mov di, mi;0xa000
|
||||||
int 0x10
|
int 0x10
|
||||||
; LFB
|
; LFB
|
||||||
mov eax, [es:mi.PhysBasePtr];di+0x28]
|
mov eax, [es:mi.PhysBasePtr] ; di+0x28
|
||||||
mov [es:BOOT_LO.lfb], eax
|
mov [es:BOOT_LO.lfb], eax
|
||||||
; ---- vbe voodoo
|
; ---- vbe voodoo
|
||||||
BytesPerLine = 0x10
|
BytesPerLine = 0x10
|
||||||
|
@ -24,20 +24,20 @@ org 0
|
|||||||
; struct kernel_header
|
; struct kernel_header
|
||||||
jmp start_of_code ; jump
|
jmp start_of_code ; jump
|
||||||
db 'KolibriOS ' ; signature
|
db 'KolibriOS ' ; signature
|
||||||
db 'v0.7.7.0+ ',13,10,13,10,0 ; version
|
db 'v0.7.7.0 ',13,10,13,10,0 ; version
|
||||||
dd B32-KERNEL_BASE ; offset of the kernel's 32-bit entry point
|
dd B32-KERNEL_BASE ; offset of the kernel's 32-bit entry point
|
||||||
|
|
||||||
include "boot/bootstr.inc" ; language-independent boot messages
|
include "boot/bootstr.inc" ; language-independent boot messages
|
||||||
include "boot/preboot.inc"
|
include "boot/preboot.inc"
|
||||||
|
|
||||||
if lang eq ge
|
if lang eq de_DE
|
||||||
include "boot/bootge.inc" ; german system boot messages
|
include "boot/bootge.inc" ; german system boot messages
|
||||||
else if lang eq sp
|
else if lang eq es_ES
|
||||||
include "boot/bootsp.inc" ; spanish system boot messages
|
include "boot/bootsp.inc" ; spanish system boot messages
|
||||||
else if lang eq ru
|
else if lang eq ru_RU
|
||||||
include "boot/bootru.inc" ; russian system boot messages
|
include "boot/bootru.inc" ; russian system boot messages
|
||||||
include "boot/ru.inc" ; Russian font
|
include "boot/ru.inc" ; Russian font
|
||||||
else if lang eq et
|
else if lang eq et_EE
|
||||||
include "boot/bootet.inc" ; estonian system boot messages
|
include "boot/bootet.inc" ; estonian system boot messages
|
||||||
include "boot/et.inc" ; Estonian font
|
include "boot/et.inc" ; Estonian font
|
||||||
else
|
else
|
||||||
@ -115,6 +115,6 @@ code_l:
|
|||||||
|
|
||||||
include "data16.inc"
|
include "data16.inc"
|
||||||
|
|
||||||
if ~ lang eq sp
|
if ~ lang eq es_ES
|
||||||
diff16 "end of bootcode",0,$+KERNEL_BASE
|
diff16 "end of bootcode",0,$+KERNEL_BASE
|
||||||
end if
|
end if
|
||||||
|
@ -271,7 +271,7 @@ conv_abs_to_THS:
|
|||||||
retn
|
retn
|
||||||
;------------------------------------------
|
;------------------------------------------
|
||||||
|
|
||||||
if lang eq sp
|
if lang eq es_ES
|
||||||
loading db cr,lf,'Iniciando el sistema ',00h
|
loading db cr,lf,'Iniciando el sistema ',00h
|
||||||
else
|
else
|
||||||
loading db cr,lf,'Starting system ',00h
|
loading db cr,lf,'Starting system ',00h
|
||||||
|
@ -73,7 +73,7 @@ udev_midibase_def db '0x320',0
|
|||||||
endg
|
endg
|
||||||
|
|
||||||
iglobal
|
iglobal
|
||||||
if lang eq sp
|
if lang eq es_ES
|
||||||
include 'core/conf_lib-sp.inc'
|
include 'core/conf_lib-sp.inc'
|
||||||
else
|
else
|
||||||
ugui_mouse_speed db 'mouse_speed',0
|
ugui_mouse_speed db 'mouse_speed',0
|
||||||
|
@ -84,8 +84,8 @@ updatecputimes:
|
|||||||
loop .newupdate
|
loop .newupdate
|
||||||
ret
|
ret
|
||||||
|
|
||||||
;TODO: Надо бы убрать использование do_change_task из V86...
|
; TODO: We should remove the use of do_change_task from V86...
|
||||||
; и после этого перенести обработку APPDATA.counter_add/sum в do_change_task
|
; and then move the processing of APPDATA.counter_add/sum to do_change_task
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
do_change_task:
|
do_change_task:
|
||||||
|
@ -76,7 +76,7 @@ iglobal
|
|||||||
msg_exc_e db "Page fault", 0
|
msg_exc_e db "Page fault", 0
|
||||||
msg_exc_11 db "Alignment Check", 0
|
msg_exc_11 db "Alignment Check", 0
|
||||||
|
|
||||||
if lang eq sp
|
if lang eq es_ES
|
||||||
include 'core/sys32-sp.inc'
|
include 'core/sys32-sp.inc'
|
||||||
else
|
else
|
||||||
msg_sel_ker db "kernel", 0
|
msg_sel_ker db "kernel", 0
|
||||||
@ -281,7 +281,7 @@ show_error_parameters:
|
|||||||
pop ebx
|
pop ebx
|
||||||
.no_ud:
|
.no_ud:
|
||||||
mov edx, [current_slot];not scratched below
|
mov edx, [current_slot];not scratched below
|
||||||
if lang eq sp
|
if lang eq es_ES
|
||||||
DEBUGF 1, "K : Proceso - terminado forzado PID: %x [%s]\n", [edx + APPDATA.tid], [current_slot]
|
DEBUGF 1, "K : Proceso - terminado forzado PID: %x [%s]\n", [edx + APPDATA.tid], [current_slot]
|
||||||
else
|
else
|
||||||
DEBUGF 1, "K : Process - forced terminate PID: %x [%s]\n", [edx + APPDATA.tid], [current_slot]
|
DEBUGF 1, "K : Process - forced terminate PID: %x [%s]\n", [edx + APPDATA.tid], [current_slot]
|
||||||
|
@ -170,7 +170,7 @@ v86_get_lin_addr:
|
|||||||
; esi=handle
|
; esi=handle
|
||||||
; out: eax=V86 address, para-aligned (0x10 multiple)
|
; out: eax=V86 address, para-aligned (0x10 multiple)
|
||||||
; destroys: nothing
|
; destroys: nothing
|
||||||
; недописана!!!
|
; Unfinished !!!
|
||||||
;v86_alloc:
|
;v86_alloc:
|
||||||
; push ebx ecx edx edi
|
; push ebx ecx edx edi
|
||||||
; lea ebx, [esi+V86_machine.mutex]
|
; lea ebx, [esi+V86_machine.mutex]
|
||||||
|
@ -46,7 +46,7 @@ keymap_alt:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
if lang eq ru
|
if lang eq ru_RU
|
||||||
boot_initirq cp866 'Инициализация IRQ',0
|
boot_initirq cp866 'Инициализация IRQ',0
|
||||||
boot_picinit cp866 'Инициализация PIC',0
|
boot_picinit cp866 'Инициализация PIC',0
|
||||||
boot_v86machine cp866 'Инициализация системной V86 машины',0
|
boot_v86machine cp866 'Инициализация системной V86 машины',0
|
||||||
@ -88,9 +88,9 @@ if lang eq ru
|
|||||||
if preboot_blogesc
|
if preboot_blogesc
|
||||||
boot_tasking cp866 'Все готово для запуска, нажмитре ESC для старта',0
|
boot_tasking cp866 'Все готово для запуска, нажмитре ESC для старта',0
|
||||||
end if
|
end if
|
||||||
else if lang eq sp
|
else if lang eq es_ES
|
||||||
include 'data32sp.inc'
|
include 'data32sp.inc'
|
||||||
else if lang eq et
|
else if lang eq et_EE
|
||||||
include 'data32et.inc'
|
include 'data32et.inc'
|
||||||
else
|
else
|
||||||
boot_initirq db 'Initialize IRQ',0
|
boot_initirq db 'Initialize IRQ',0
|
||||||
@ -139,7 +139,7 @@ start_not_enough_memory db 'K : New Process - not enough memory',13,10,0
|
|||||||
|
|
||||||
msg_unresolved db 'unresolved ',0
|
msg_unresolved db 'unresolved ',0
|
||||||
;msg_module db 'in module ',0
|
;msg_module db 'in module ',0
|
||||||
;if ~ lang eq sp
|
;if ~ lang eq es_ES
|
||||||
;msg_version db 'incompatible driver version',13,10,0
|
;msg_version db 'incompatible driver version',13,10,0
|
||||||
;msg_www db 'please visit www.kolibrios.org',13,10,0
|
;msg_www db 'please visit www.kolibrios.org',13,10,0
|
||||||
;end if
|
;end if
|
||||||
@ -158,10 +158,10 @@ szIMPORTS db 'IMPORTS',0
|
|||||||
read_firstapp db '/sys/'
|
read_firstapp db '/sys/'
|
||||||
firstapp db '/sys/LAUNCHER',0
|
firstapp db '/sys/LAUNCHER',0
|
||||||
notifyapp db '/sys/@notify',0
|
notifyapp db '/sys/@notify',0
|
||||||
if lang eq ru
|
if lang eq ru_RU
|
||||||
ud_user_message cp866 'Ошибка: неподдерживаемая инструкция процессора',0
|
ud_user_message cp866 'Ошибка: неподдерживаемая инструкция процессора',0
|
||||||
mtrr_user_message cp866 '"Обнаружена проблема с конфигурацией MTRR.\nПроизводительность может быть пониженной" -dW',0
|
mtrr_user_message cp866 '"Обнаружена проблема с конфигурацией MTRR.\nПроизводительность может быть пониженной" -dW',0
|
||||||
else if ~ lang eq sp
|
else if ~ lang eq es_ES
|
||||||
ud_user_message db 'Error: unsupported processor instruction',0
|
ud_user_message db 'Error: unsupported processor instruction',0
|
||||||
mtrr_user_message db '"There is a problem with MTRR configuration.\nPerformance can be low" -dW',0
|
mtrr_user_message db '"There is a problem with MTRR configuration.\nPerformance can be low" -dW',0
|
||||||
end if
|
end if
|
||||||
@ -508,7 +508,7 @@ IncludeUGlobals
|
|||||||
|
|
||||||
uglobals_size = $ - endofcode
|
uglobals_size = $ - endofcode
|
||||||
|
|
||||||
if ~ lang eq sp
|
if ~ lang eq es_ES
|
||||||
diff16 "end of .bss",0,$
|
diff16 "end of .bss",0,$
|
||||||
end if
|
end if
|
||||||
|
|
||||||
|
@ -2560,7 +2560,7 @@ dword-значение цвета 0x00RRGGBB
|
|||||||
Параметры:
|
Параметры:
|
||||||
* eax = 54 - номер функции
|
* eax = 54 - номер функции
|
||||||
* ebx = 1 - номер подфункции
|
* ebx = 1 - номер подфункции
|
||||||
* eсx = номер слота
|
* ecx = номер слота
|
||||||
Возвращаемое значение:
|
Возвращаемое значение:
|
||||||
* eax = если успешно - указатель на область памяти с данными
|
* eax = если успешно - указатель на область памяти с данными
|
||||||
* eax = 1 - ошибка
|
* eax = 1 - ошибка
|
||||||
@ -2588,7 +2588,7 @@ dword-значение цвета 0x00RRGGBB
|
|||||||
Параметры:
|
Параметры:
|
||||||
* eax = 54 - номер функции
|
* eax = 54 - номер функции
|
||||||
* ebx = 2 - номер подфункции
|
* ebx = 2 - номер подфункции
|
||||||
* eсx = количество копируемых байт
|
* ecx = количество копируемых байт
|
||||||
* edx = указатель на буфер под копируемые данные
|
* edx = указатель на буфер под копируемые данные
|
||||||
Возвращаемое значение:
|
Возвращаемое значение:
|
||||||
* eax = 0 - успешно
|
* eax = 0 - успешно
|
||||||
|
@ -2504,7 +2504,7 @@ Returned value:
|
|||||||
Parameters:
|
Parameters:
|
||||||
* eax = 54 - function number
|
* eax = 54 - function number
|
||||||
* ebx = 1 - subfunction number
|
* ebx = 1 - subfunction number
|
||||||
* eсx = slot number
|
* ecx = slot number
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = if successful - pointer to a memory with data
|
* eax = if successful - pointer to a memory with data
|
||||||
* eax = 1 - error
|
* eax = 1 - error
|
||||||
@ -2523,7 +2523,7 @@ Remarks:
|
|||||||
Parameters:
|
Parameters:
|
||||||
* eax = 54 - function number
|
* eax = 54 - function number
|
||||||
* ebx = 2 - subfunction number
|
* ebx = 2 - subfunction number
|
||||||
* eсx = the number of bytes to be copied
|
* ecx = the number of bytes to be copied
|
||||||
* edx = a pointer to a buffer for data to be copied
|
* edx = a pointer to a buffer for data to be copied
|
||||||
Returned value:
|
Returned value:
|
||||||
* eax = 0 - success
|
* eax = 0 - success
|
||||||
|
@ -865,9 +865,9 @@ iglobal
|
|||||||
fontSmoothing db 2 ; = 0, 1 or 2
|
fontSmoothing db 2 ; = 0, 1 or 2
|
||||||
fontSize db 0 ; user mode setting
|
fontSize db 0 ; user mode setting
|
||||||
font1:
|
font1:
|
||||||
if lang eq sp
|
if lang eq es_ES
|
||||||
file 'gui/char_sp.mt'
|
file 'gui/char_sp.mt'
|
||||||
else if lang eq et
|
else if lang eq et_EE
|
||||||
file 'gui/char_et.mt'
|
file 'gui/char_et.mt'
|
||||||
else
|
else
|
||||||
file 'gui/char.mt'
|
file 'gui/char.mt'
|
||||||
|
@ -337,11 +337,11 @@ high_code:
|
|||||||
or eax, 1 ; bit_0 - System Call Extension (SCE)
|
or eax, 1 ; bit_0 - System Call Extension (SCE)
|
||||||
wrmsr
|
wrmsr
|
||||||
|
|
||||||
; !!!! It`s dirty hack, fix it !!!
|
; !!!! FIXME: Hack, fix it !!!
|
||||||
; Bits of EDX :
|
; Bits of EDX :
|
||||||
; Bit 31–16 During the SYSRET instruction, this field is copied into the CS register
|
; Bit 31-16 During the SYSRET instruction, this field is copied into the CS register
|
||||||
; and the contents of this field, plus 8, are copied into the SS register.
|
; and the contents of this field, plus 8, are copied into the SS register.
|
||||||
; Bit 15–0 During the SYSCALL instruction, this field is copied into the CS register
|
; Bit 15-0 During the SYSCALL instruction, this field is copied into the CS register
|
||||||
; and the contents of this field, plus 8, are copied into the SS register.
|
; and the contents of this field, plus 8, are copied into the SS register.
|
||||||
|
|
||||||
; mov edx, (os_code + 16) * 65536 + os_code
|
; mov edx, (os_code + 16) * 65536 + os_code
|
||||||
@ -774,9 +774,9 @@ end if
|
|||||||
call boot_log
|
call boot_log
|
||||||
|
|
||||||
movzx ecx, word [boot_y]
|
movzx ecx, word [boot_y]
|
||||||
if lang eq ru
|
if lang eq ru_RU
|
||||||
or ecx, (10+30*6) shl 16
|
or ecx, (10+30*6) shl 16
|
||||||
else if lang eq sp
|
else if lang eq es_ES
|
||||||
or ecx, (10+33*6) shl 16
|
or ecx, (10+33*6) shl 16
|
||||||
else
|
else
|
||||||
or ecx, (10+29*6) shl 16
|
or ecx, (10+29*6) shl 16
|
||||||
@ -882,9 +882,9 @@ include "detect/vortex86.inc" ; Vortex86 SoC detection code
|
|||||||
mov ebx, eax
|
mov ebx, eax
|
||||||
|
|
||||||
movzx ecx, word [boot_y]
|
movzx ecx, word [boot_y]
|
||||||
if lang eq ru
|
if lang eq ru_RU
|
||||||
add ecx, (10+19*6) shl 16 - 10
|
add ecx, (10+19*6) shl 16 - 10
|
||||||
else if lang eq sp
|
else if lang eq es_ES
|
||||||
add ecx, (10+25*6) shl 16 - 10
|
add ecx, (10+25*6) shl 16 - 10
|
||||||
else
|
else
|
||||||
add ecx, (10+17*6) shl 16 - 10
|
add ecx, (10+17*6) shl 16 - 10
|
||||||
@ -2553,8 +2553,8 @@ sys_sheduler:
|
|||||||
;now counter in ecx
|
;now counter in ecx
|
||||||
;(edx:eax) esi:edi => edx:esi
|
;(edx:eax) esi:edi => edx:esi
|
||||||
; Fast Call MSR can't be destroy
|
; Fast Call MSR can't be destroy
|
||||||
; Но MSR_AMD_EFER можно изменять, т.к. в этом регистре лиш
|
; But MSR_AMD_EFER can be changed, because in this register only
|
||||||
; включаются/выключаются расширенные возможности
|
; advanced features are enabled/disabled
|
||||||
cmp edx, MSR_SYSENTER_CS
|
cmp edx, MSR_SYSENTER_CS
|
||||||
je @f
|
je @f
|
||||||
cmp edx, MSR_SYSENTER_ESP
|
cmp edx, MSR_SYSENTER_ESP
|
||||||
@ -2857,13 +2857,13 @@ newdw2:
|
|||||||
|
|
||||||
cmp eax, [esp+4]
|
cmp eax, [esp+4]
|
||||||
je not_this_task
|
je not_this_task
|
||||||
; check if window in redraw area
|
; check if window in redraw area
|
||||||
mov edi, eax
|
mov edi, eax
|
||||||
|
|
||||||
cmp ecx, 1 ; limit for background
|
cmp ecx, 1 ; limit for background
|
||||||
jz bgli
|
jz bgli
|
||||||
|
|
||||||
mov eax, [esp+4] ;if upper in z-position - no redraw
|
mov eax, [esp+4] ; if upper in z-position - no redraw
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jz @f
|
jz @f
|
||||||
mov al, [eax + WDATA.z_modif]
|
mov al, [eax + WDATA.z_modif]
|
||||||
@ -4458,7 +4458,7 @@ proc is_string_userspace stdcall, base:dword
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
if ~ lang eq sp
|
if ~ lang eq es_ES
|
||||||
diff16 "end of .text segment",0,$
|
diff16 "end of .text segment",0,$
|
||||||
end if
|
end if
|
||||||
|
|
||||||
@ -4466,6 +4466,6 @@ include "data32.inc"
|
|||||||
|
|
||||||
__REV__ = __REV
|
__REV__ = __REV
|
||||||
|
|
||||||
if ~ lang eq sp
|
if ~ lang eq es_ES
|
||||||
diff16 "end of kernel code",0,$
|
diff16 "end of kernel code",0,$
|
||||||
end if
|
end if
|
||||||
|
@ -1295,9 +1295,9 @@ align 4
|
|||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
@@:
|
@@:
|
||||||
; DEBUGF 1, "K : SHIT HAPPENS: %x %x \n", ecx,ebx
|
; DEBUGF 1, "K : ERRORS HAPPEN: %x %x \n", ecx,ebx
|
||||||
pop ebx
|
pop ebx
|
||||||
jmp .sh ; SORRY! SHIT HAPPENS!
|
jmp .sh ; SORRY! ERRORS HAPPEN!
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
.ok:
|
.ok:
|
||||||
|
@ -367,7 +367,7 @@ put_image_end_16_new:
|
|||||||
|
|
||||||
; check mouse area for putpixel
|
; check mouse area for putpixel
|
||||||
call check_mouse_area_for_putpixel_new.1
|
call check_mouse_area_for_putpixel_new.1
|
||||||
cmp ecx, -1 ; SHIT HAPPENS?
|
cmp ecx, -1 ; MISTAKES HAPPEN?
|
||||||
jne .no_mouse_area
|
jne .no_mouse_area
|
||||||
|
|
||||||
mov ecx, [esp]
|
mov ecx, [esp]
|
||||||
@ -504,7 +504,7 @@ put_image_end_24_new:
|
|||||||
|
|
||||||
; check mouse area for putpixel
|
; check mouse area for putpixel
|
||||||
call check_mouse_area_for_putpixel_new.1
|
call check_mouse_area_for_putpixel_new.1
|
||||||
cmp ecx, -1 ; SHIT HAPPENS?
|
cmp ecx, -1 ; MISTAKES HAPPEN?
|
||||||
jne .no_mouse_area
|
jne .no_mouse_area
|
||||||
|
|
||||||
mov ecx, [esp]
|
mov ecx, [esp]
|
||||||
|
@ -37,7 +37,7 @@ goto :eof
|
|||||||
|
|
||||||
|
|
||||||
:MAIN
|
:MAIN
|
||||||
set languages=en ru ge et
|
set languages=en_US ru_RU de_DE et_EE
|
||||||
set __CPU_type=p5 p6 k6
|
set __CPU_type=p5 p6 k6
|
||||||
set BIN=bin
|
set BIN=bin
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -3,7 +3,7 @@ if tup.getconfig("NO_TCC") ~= "" then return end
|
|||||||
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
|
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
|
||||||
tup.include(HELPERDIR .. "/use_tcc.lua")
|
tup.include(HELPERDIR .. "/use_tcc.lua")
|
||||||
|
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_CMM") ~= "" then return end
|
if tup.getconfig("NO_CMM") ~= "" then return end
|
||||||
if tup.getconfig("LANG") == "ru"
|
if tup.getconfig("LANG") == "ru_RU"
|
||||||
then C_LANG = "LANG_RUS"
|
then C_LANG = "LANG_RUS"
|
||||||
else C_LANG = "LANG_ENG" -- this includes default case without config
|
else C_LANG = "LANG_ENG" -- this includes default case without config
|
||||||
end
|
end
|
||||||
|
@ -3,5 +3,5 @@ HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("
|
|||||||
tup.include(HELPERDIR .. "/use_fasm.lua")
|
tup.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
||||||
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"})
|
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en_US" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"})
|
||||||
tup.rule({"3DCUBE2.ASM", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "3DCUBE2")
|
tup.rule({"3DCUBE2.ASM", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "3DCUBE2")
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
lang equ ru
|
lang equ ru_RU
|
||||||
|
|
||||||
;
|
;
|
||||||
; Assembler
|
; Assembler
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
lang equ ru ; ru en fr ge fi
|
lang equ ru_RU ; ru_RU en_US fr_FR de_DE fi_FI
|
||||||
|
|
||||||
;
|
;
|
||||||
; Assembler
|
; Assembler
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix en >lang.inc
|
@echo lang fix en_US >lang.inc
|
||||||
@fasm 3dcube2.asm 3dcube2
|
@fasm 3dcube2.asm 3dcube2
|
||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@kpack 3dcube2
|
@kpack 3dcube2
|
||||||
@pause
|
@pause
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix ru >lang.inc
|
@echo lang fix ru_RU >lang.inc
|
||||||
@fasm 3dcube2.asm 3dcube2
|
@fasm 3dcube2.asm 3dcube2
|
||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@kpack 3dcube2
|
@kpack 3dcube2
|
||||||
@pause
|
@pause
|
||||||
|
@ -3,5 +3,5 @@ HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("
|
|||||||
tup.include(HELPERDIR .. "/use_fasm.lua")
|
tup.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
||||||
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"})
|
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en_US" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"})
|
||||||
tup.rule({"3DETX60B.ASM", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "3DETX60B")
|
tup.rule({"3DETX60B.ASM", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "3DETX60B")
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
lang equ ru
|
lang equ ru_RU
|
||||||
|
|
||||||
;
|
;
|
||||||
; Assembler
|
; Assembler
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
lang equ ru ; ru en fr ge fi
|
lang equ ru_RU ; ru_RU en_US fr_FR de_DE fi_FI
|
||||||
|
|
||||||
;
|
;
|
||||||
; Assembler
|
; Assembler
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix en >lang.inc
|
@echo lang fix en_US >lang.inc
|
||||||
@fasm 3detx60b.asm 3detx60b
|
@fasm 3detx60b.asm 3detx60b
|
||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix ru >lang.inc
|
@echo lang fix ru_RU >lang.inc
|
||||||
@fasm 3detx60b.asm 3detx60b
|
@fasm 3detx60b.asm 3detx60b
|
||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
||||||
|
@ -3,5 +3,5 @@ HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("
|
|||||||
tup.include(HELPERDIR .. "/use_fasm.lua")
|
tup.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
||||||
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"})
|
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en_US" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"})
|
||||||
tup.rule({"3DTCUB10.ASM", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "3DTCUB10")
|
tup.rule({"3DTCUB10.ASM", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "3DTCUB10")
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix en >lang.inc
|
@echo lang fix en_US >lang.inc
|
||||||
@fasm 3dtcub10.asm 3dtcub10
|
@fasm 3dtcub10.asm 3dtcub10
|
||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix ru >lang.inc
|
@echo lang fix ru_RU >lang.inc
|
||||||
@fasm 3dtcub10.asm 3dtcub10
|
@fasm 3dtcub10.asm 3dtcub10
|
||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix en >lang.inc
|
@echo lang fix en_US >lang.inc
|
||||||
@fasm ScreenRuler.asm ScreenRuler
|
@fasm ScreenRuler.asm ScreenRuler
|
||||||
@kpack ScreenRuler
|
@kpack ScreenRuler
|
||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix ru >lang.inc
|
@echo lang fix ru_RU >lang.inc
|
||||||
@fasm ScreenRuler.asm ScreenRuler
|
@fasm ScreenRuler.asm ScreenRuler
|
||||||
@kpack ScreenRuler
|
@kpack ScreenRuler
|
||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
||||||
|
@ -240,7 +240,7 @@ draw_magnify:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
;------------------------- Data area
|
;------------------------- Data area
|
||||||
if lang eq ru
|
if lang eq ru_RU
|
||||||
labelt:
|
labelt:
|
||||||
db 3, 'Измеритель', 0
|
db 3, 'Измеритель', 0
|
||||||
start_pix:
|
start_pix:
|
||||||
@ -291,4 +291,4 @@ I_END:
|
|||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
procinfo:
|
procinfo:
|
||||||
rb 1024
|
rb 1024
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
@ -3,5 +3,5 @@ HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HEL
|
|||||||
tup.include(HELPERDIR .. "/use_fasm.lua")
|
tup.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
||||||
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"})
|
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en_US" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"})
|
||||||
tup.rule({"ScreenRuler.asm", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "ScreenRuler")
|
tup.rule({"ScreenRuler.asm", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "ScreenRuler")
|
||||||
|
@ -3,5 +3,5 @@ HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("
|
|||||||
tup.include(HELPERDIR .. "/use_fasm.lua")
|
tup.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
||||||
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"})
|
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en_US" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"})
|
||||||
tup.rule({"bcdclk.asm", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "bcdclk")
|
tup.rule({"bcdclk.asm", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "bcdclk")
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix en >lang.inc
|
@echo lang fix en_US >lang.inc
|
||||||
@fasm bcdclk.asm bcdclk
|
@fasm bcdclk.asm bcdclk
|
||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix ru >lang.inc
|
@echo lang fix ru_RU >lang.inc
|
||||||
@fasm bcdclk.asm bcdclk
|
@fasm bcdclk.asm bcdclk
|
||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
||||||
|
@ -3,5 +3,5 @@ HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("
|
|||||||
tup.include(HELPERDIR .. "/use_fasm.lua")
|
tup.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
||||||
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"})
|
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en_US" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"})
|
||||||
tup.rule({"colorref.asm", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "colorref")
|
tup.rule({"colorref.asm", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "colorref")
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix en >lang.inc
|
@echo lang fix en_US >lang.inc
|
||||||
@fasm colorref.asm colorref
|
@fasm colorref.asm colorref
|
||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix ru >lang.inc
|
@echo lang fix ru_RU >lang.inc
|
||||||
@fasm colorref.asm colorref
|
@fasm colorref.asm colorref
|
||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
||||||
|
@ -3,5 +3,5 @@ HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("
|
|||||||
tup.include(HELPERDIR .. "/use_fasm.lua")
|
tup.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
||||||
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"})
|
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en_US" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"})
|
||||||
tup.rule({"crownscr.asm", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "crownscr")
|
tup.rule({"crownscr.asm", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "crownscr")
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix en >lang.inc
|
@echo lang fix en_US >lang.inc
|
||||||
@fasm crownscr.asm crownscr
|
@fasm crownscr.asm crownscr
|
||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix ru >lang.inc
|
@echo lang fix ru_RU >lang.inc
|
||||||
@fasm crownscr.asm crownscr
|
@fasm crownscr.asm crownscr
|
||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@pause
|
@pause
|
||||||
|
@ -3,5 +3,5 @@ HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("
|
|||||||
tup.include(HELPERDIR .. "/use_fasm.lua")
|
tup.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
||||||
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"})
|
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en_US" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"})
|
||||||
tup.rule({"cslide.asm", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "cslide")
|
tup.rule({"cslide.asm", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "cslide")
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user