Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 3175 → Rev 3176

/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/parse_loader.inc
File deleted
\ No newline at end of file
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/sl_proc.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/build_ru.bat
File deleted
\ No newline at end of file
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/parse_dat.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/startos.ini
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/parse_def_sect.inc
File deleted
\ No newline at end of file
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/listing.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot_st.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/parse.inc
File deleted
\ No newline at end of file
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/loader.asm
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/kolibri_ldm/bootru.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/kolibri_ldm/preboot.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/kolibri_ldm/shutdown.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/kolibri_ldm/bootet.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/kolibri_ldm/bootstr.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/kolibri_ldm/booteng.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/kolibri_ldm/ETFONT.FNT
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/kolibri_ldm/kolibri_ldm.asm
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/kolibri_ldm/bootge.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/kolibri_ldm/build_ru.bat
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/kolibri_ldm/bootvesa.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/kolibri_ldm/macros.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/kolibri_ldm/rdload.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/kolibri_ldm/ru.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/kolibri_ldm/et.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/kolibri_ldm
Property changes:
Deleted: tsvn:logminsize
-5
\ No newline at end of property
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/parse_any.inc
File deleted
\ No newline at end of file
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/parse_err.inc
File deleted
\ No newline at end of file
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/sl_equ.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/fat1x/kordldr.f1x.asm
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/fat1x/bootsect.txt
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/fat1x/bootsect.asm
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/fat1x/build.bat
File deleted
\ No newline at end of file
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/fat1x
Property changes:
Deleted: tsvn:logminsize
-5
\ No newline at end of property
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/build.bat
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/PrimaryLoader.txt
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/mkfloppy.inc
File deleted
\ No newline at end of file
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/after_win/build.bat
File deleted
\ No newline at end of file
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/after_win/kordldr.win.txt
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/after_win/kordldr.win.asm
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/after_win/ntfs.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/after_win/fat.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/after_win
Property changes:
Deleted: tsvn:logminsize
-5
\ No newline at end of property
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/floppy.asc
File deleted
\ No newline at end of file
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/fat32/bootsect.asm
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/fat32/build.bat
File deleted
\ No newline at end of file
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/fat32/kordldr.f32.asm
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/fat32/bootsect.txt
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/fat32
Property changes:
Deleted: tsvn:logminsize
-5
\ No newline at end of property
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/cdfs/bootsect.txt
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/cdfs/bootsect.asm
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/cdfs/build.bat
File deleted
\ No newline at end of file
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot/cdfs
Property changes:
Deleted: tsvn:logminsize
-5
\ No newline at end of property
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/boot
Property changes:
Deleted: tsvn:logminsize
-5
\ No newline at end of property
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/debug_msg.inc
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk/loader.lst
File deleted
/kernel/branches/Kolibri-A/trunk/sec_loader/trunk
Property changes:
Deleted: tsvn:logminsize
-5
\ No newline at end of property
/kernel/branches/Kolibri-A/trunk/sec_loader
Property changes:
Deleted: tsvn:logminsize
-5
\ No newline at end of property
/kernel/branches/Kolibri-A/trunk/boot/preboot.inc
File deleted
Property changes:
Deleted: svn:keywords
-Rev
\ No newline at end of property
/kernel/branches/Kolibri-A/trunk/boot/bootstr.inc
File deleted
Property changes:
Deleted: svn:keywords
-Rev
\ No newline at end of property
/kernel/branches/Kolibri-A/trunk/boot/bootcode.inc
15,73 → 15,7
 
boot_dev db 0 ; 0=floppy, 1=hd
 
;==========================================================================
;
; 16 BIT FUNCTIONS
;
;==========================================================================
 
 
boot_read_floppy:
push si
xor si, si
mov ah, 2 ; read
@@:
push ax
int 0x13
pop ax
jnc @f
inc si
cmp si, 10
jnb $
@@:
pop si
ret
 
sayerr_plain:
sayerr:
jmp $
 
 
; convert abs. sector number (AX) to BIOS T:H:S
; sector number = (abs.sector%BPB_SecPerTrk)+1
; pre.track number = (abs.sector/BPB_SecPerTrk)
; head number = pre.track number%BPB_NumHeads
; track number = pre.track number/BPB_NumHeads
; Return: cl - sector number
; ch - track number
; dl - drive number (0 = a:)
; dh - head number
conv_abs_to_THS:
push bx
mov bx,word [BPB_SecPerTrk]
xor dx,dx
div bx
inc dx
mov cl, dl ; cl = sector number
mov bx,word [BPB_NumHeads]
xor dx,dx
div bx
; !!!!!!! ax = track number, dx = head number
mov ch,al ; ch=track number
xchg dh,dl ; dh=head number
mov dl,0 ; dl=0 (drive 0 (a:))
pop bx
retn
; needed variables
BPB_SecPerTrk dw 0 ; sectors per track
BPB_NumHeads dw 0 ; number of heads
BPB_FATSz16 dw 0 ; size of FAT
BPB_RootEntCnt dw 0 ; count of root dir. entries
BPB_BytsPerSec dw 0 ; bytes per sector
BPB_RsvdSecCnt dw 0 ; number of reserved sectors
BPB_TotSec16 dw 0 ; count of the sectors on the volume
BPB_SecPerClus db 0 ; number of sectors per cluster
BPB_NumFATs db 0 ; number of FAT tables
abs_sector_adj dw 0 ; adjustment to make abs. sector number
end_of_FAT dw 0 ; end of FAT table
FirstDataSector dw 0 ; begin of data
 
;=========================================================================
;
; 16 BIT CODE
92,24 → 26,7
 
start_of_code:
cld
; \begin{diamond}[02.12.2005]
; if bootloader sets ax = 'KL', then ds:si points to loader block
cmp ax, 'KL'
jnz @f
mov word [cs:cfgmanager.loader_block], si
mov word [cs:cfgmanager.loader_block+2], ds
@@:
; \end{diamond}[02.12.2005]
 
; if bootloader sets cx = 'HA' and dx = 'RD', then bx contains identifier of source hard disk
; (see comment to bx_from_load)
cmp cx, 'HA'
jnz no_hd_load
cmp dx,'RD'
jnz no_hd_load
mov word [cs:bx_from_load], bx ; {SPraid}[13.03.2007]
no_hd_load:
 
; set up stack
mov ax, 3000h
mov ss, ax
122,8 → 39,8
 
 
cpugood:
 
push 0
xor ax, ax
push ax
popf
sti
 
130,173 → 47,40
; set up esp
movzx esp, sp
 
push 0
push ax
pop es
and word [es:0x9031], 0
; \begin{Mario79}
; find HDD IDE DMA PCI device
; check for PCI BIOS
mov ax, 0xB101
int 0x1A
jc .nopci
cmp edx, 'PCI '
jnz .nopci
; find PCI class code
; class 1 = mass storage
; subclass 1 = IDE controller
; a) class 1, subclass 1, programming interface 0x80
mov ax, 0xB103
mov ecx, 1*10000h + 1*100h + 0x80
xor si, si ; device index = 0
int 0x1A
jnc .found
; b) class 1, subclass 1, programming interface 0x8A
mov ax, 0xB103
mov ecx, 1*10000h + 1*100h + 0x8A
xor si, si ; device index = 0
int 0x1A
jnc .found
; c) class 1, subclass 1, programming interface 0x85
mov ax, 0xB103
mov ecx, 1*10000h + 1*100h + 0x85
xor si, si
int 0x1A
jc .nopci
.found:
; get memory base
mov ax, 0xB10A
mov di, 0x20 ; memory base is config register at 0x20
int 0x1A
jc .nopci
and cx, 0xFFF0 ; clear address decode type
mov [es:0x9031], cx
.nopci:
; \end{Mario79}
mov [es:0x9031], ax
 
; --------------- APM - removed--------------------
and word [es:0x9044], 0 ; ver = 0.0 (APM not found)
if 0
mov ax, 0x5300
xor bx, bx
int 0x15
jc apm_end ; APM not found
test cx, 2
jz apm_end ; APM 32-bit protected-mode interface not supported
mov [es:0x9044], ax ; Save APM Version
mov [es:0x9046], cx ; Save APM flags
 
mov ax, 0x5304 ; Disconnect interface
xor bx, bx
int 0x15
mov ax, 0x5303 ; Connect 32 bit mode interface
xor bx, bx
int 0x15
 
mov [es:0x9040], ebx
mov [es:0x9050], ax
mov [es:0x9052], cx
mov [es:0x9054], dx
 
apm_end:
end if
 
;CHECK current of code
cmp [cfgmanager.loader_block], -1
jz noloaderblock
les bx, [cfgmanager.loader_block]
cmp byte [es:bx], 1
jnz sayerr
push 0
pop es
 
noloaderblock:
; DISPLAY VESA INFORMATION
; call print_vesa_info
; call calc_vmodes_table
; call check_first_parm ;check and enable cursor_pos
 
; \begin{diamond}[30.11.2005]
cfgmanager:
; settings:
; a) preboot_graph = graphical mode
; preboot_gprobe = probe this mode?
; b) preboot_dma = use DMA access?
; c) preboot_vrrm = use VRR?
; d) preboot_device = from what boot?
 
; determine default settings
; mov [.bSettingsChanged], 0
 
;.preboot_gr_end:
mov di, preboot_device
; if image in memory is present and [preboot_device] is uninitialized,
; set it to use this preloaded image
cmp byte [di], 0
jnz .preboot_device_inited
cmp [.loader_block], -1
jz @f
les bx, [.loader_block]
test byte [es:bx+1], 1
jz @f
mov byte [di], 3
jmp .preboot_device_inited
@@:
; otherwise, set [preboot_device] to 1 (default value - boot from floppy)
mov byte [di], 1
.preboot_device_inited:
; following 4 lines set variables to 1 if its current value is 0
cmp byte [di+preboot_dma-preboot_device], 1
adc byte [di+preboot_dma-preboot_device], 0
cmp byte [di+preboot_biosdisk-preboot_device], 1
adc byte [di+preboot_biosdisk-preboot_device], 0
; DMA ACCESS TO HD
 
; pop ax ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ??
jmp .continue
mov al, 1
mov [es:0x901F], al
 
.loader_block dd -1
.continue:
sti
jmp .load
 
.loadc:
pop eax
.cont:
push cs
pop ds
.load:
 
; ASK GRAPHICS MODE
 
; call set_vmode
 
; GRAPHICS ACCELERATION
; force yes
mov [es:0x901C], byte 1
mov [es:0x901C], al
 
; DMA ACCESS TO HD
 
mov al, [preboot_dma]
mov [es:0x901F], al
 
; VRR_M USE
 
mov al,[preboot_vrrm]
mov [es:0x9030], al
mov [es:0x901E], byte 1
mov [es:0x9030], byte 2
mov [es:0x901E], al
 
; BOOT DEVICE
 
mov al, [preboot_device]
dec al
xor ax, ax
mov [boot_dev], al
mov es, ax
 
 
; SET GRAPHICS
 
xor ax, ax
mov es, ax
 
; mov bx, [es:0x9008] ; vga & 320x200
mov ax, 0xA000 ; AtomBIOS Fn00
mov cx, 0x550A ; 1024x768, 32bpp, ARGB8888
setgr:
/kernel/branches/Kolibri-A/trunk/bus/pci/pci16.inc
File deleted
Property changes:
Deleted: svn:keywords
-Rev
\ No newline at end of property
/kernel/branches/Kolibri-A/trunk/detect/biosdisk.inc
12,8 → 12,6
mov es, cx
mov di, 0x9080
mov byte [es:di-1], cl
cmp [preboot_biosdisk], 1
jnz bdde
mov dl, 80h
bdds:
mov ah, 15h
/kernel/branches/Kolibri-A/trunk/kernel.asm
88,7 → 88,6
;;
;; Kernel16.inc
;; - Bootcode.inc Hardware setup
;; - Pci16.inc PCI functions
;;
;; Kernel32.inc
;; - Sys32.inc Process management
117,15 → 116,9
 
version db 'Kolibri-A version 0.1.0.0 ',13,10,13,10,0
 
diff16 "preboot start: ",0,$
include "boot/preboot.inc"
 
diff16 "bootcode start: ",0,$
include "boot/bootcode.inc" ; 16 bit system boot code
 
diff16 "pci16 start: ",0,$
include "bus/pci/pci16.inc"
 
diff16 "biosdisk start: ",0,$
include "detect/biosdisk.inc"