Subversion Repositories Kolibri OS

Rev

Rev 4262 | Rev 4286 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4262 Rev 4273
Line 69... Line 69...
69
format binary as "mnt"
69
format binary as "mnt"
Line 70... Line 70...
70
 
70
 
71
include 'macros.inc'
71
include 'macros.inc'
Line 72... Line 72...
72
include 'struct.inc'
72
include 'struct.inc'
Line 73... Line 73...
73
 
73
 
74
$Revision: 4262 $
74
$Revision: 4273 $
Line 757... Line 757...
757
        mov     esi, boot_inittimer
757
        mov     esi, boot_inittimer
758
        call    boot_log
758
        call    boot_log
759
; Initialize system timer (IRQ0)
759
; Initialize system timer (IRQ0)
760
        call    PIT_init
760
        call    PIT_init
Line 761... Line 761...
761
 
761
 
762
; CALCULATE FAT CHAIN FOR RAMDISK
-
 
-
 
762
; Register ramdisk file system
-
 
763
        mov     esi, boot_initramdisk
763
 
764
        call    boot_log
Line 764... Line 765...
764
        call    calculatefatchain
765
        call    ramdisk_init
765
 
766
 
766
        mov     esi, boot_initapic
767
        mov     esi, boot_initapic
767
        call    boot_log
768
        call    boot_log
Line 1331... Line 1332...
1331
proc osloop_has_work?
1332
proc osloop_has_work?
1332
        cmp     [osloop_nonperiodic_work], 0
1333
        cmp     [osloop_nonperiodic_work], 0
1333
        jnz     .yes
1334
        jnz     .yes
1334
        call    stack_handler_has_work?
1335
        call    stack_handler_has_work?
1335
        jnz     .yes
1336
        jnz     .yes
1336
;        call    check_fdd_motor_status_has_work?
1337
        call    check_fdd_motor_status_has_work?
1337
;        jnz     .yes
1338
        jnz     .yes
1338
        call    check_ATAPI_device_event_has_work?
1339
        call    check_ATAPI_device_event_has_work?
1339
        jnz     .yes
1340
        jnz     .yes
1340
        call    check_lights_state_has_work?
1341
        call    check_lights_state_has_work?
1341
        jnz     .yes
1342
        jnz     .yes
1342
        call    check_timers_has_work?
1343
        call    check_timers_has_work?
Line 2671... Line 2672...
2671
endg
2672
endg
2672
;------------------------------------------------------------------------------
2673
;------------------------------------------------------------------------------
2673
align 4
2674
align 4
2674
sys_cachetodiskette:
2675
sys_cachetodiskette:
2675
        cmp     ebx, 1
2676
        cmp     ebx, 1
2676
        jne     .no_floppy_a_save
2677
        jb      .no_floppy_save
2677
        mov     [flp_number], 1
-
 
2678
        jmp     .save_image_on_floppy
-
 
2679
;--------------------------------------
-
 
2680
align 4
-
 
2681
.no_floppy_a_save:
-
 
2682
        cmp     ebx, 2
2678
        cmp     ebx, 2
2683
        jne     .no_floppy_b_save
2679
        ja      .no_floppy_save
2684
        mov     [flp_number], 2
-
 
2685
;--------------------------------------
-
 
2686
align 4
-
 
2687
.save_image_on_floppy:
-
 
2688
        call    save_image
2680
        call    save_image
2689
        mov     [esp + 32], dword 0
2681
        mov     [esp + 32], eax
2690
        cmp     [FDC_Status], 0
-
 
2691
        je      .yes_floppy_save
-
 
2692
;--------------------------------------
-
 
2693
align 4
2682
        ret
2694
.no_floppy_b_save:
2683
.no_floppy_save:
2695
        mov     [esp + 32], dword 1
2684
        mov     [esp + 32], dword 1
2696
;--------------------------------------
-
 
2697
align 4
-
 
2698
.yes_floppy_save:
-
 
2699
        ret
2685
        ret
2700
;------------------------------------------------------------------------------
2686
;------------------------------------------------------------------------------
2701
uglobal
2687
uglobal
2702
;  bgrchanged  dd  0x0
2688
;  bgrchanged  dd  0x0
2703
align 4
2689
align 4
Line 5264... Line 5250...
5264
        xor     edi, edi
5250
        xor     edi, edi
5265
        jmp     dtext
5251
        jmp     dtext
Line 5266... Line 5252...
5266
 
5252
 
Line 5267... Line -...
5267
align 4
-
 
5268
 
-
 
5269
syscall_openramdiskfile:                ; OpenRamdiskFile
-
 
5270
 
-
 
5271
        mov     eax, ebx
-
 
5272
        mov     ebx, ecx
-
 
5273
        mov     ecx, edx
-
 
5274
        mov     edx, esi
-
 
5275
        mov     esi, 12
-
 
5276
        call    fileread
-
 
5277
        mov     [esp+32], eax
-
 
5278
        ret
-
 
5279
 
-
 
5280
align 4
5253
align 4
Line 5281... Line 5254...
5281
 
5254
 
5282
syscall_drawrect:                       ; DrawRect
5255
syscall_drawrect:                       ; DrawRect
5283
 
5256
 
Line 5781... Line 5754...
5781
 
5754
 
5782
yes_shutdown_param:
5755
yes_shutdown_param:
Line 5783... Line 5756...
5783
        cli
5756
        cli
5784
 
5757
 
5785
if ~ defined extended_primary_loader
-
 
5786
        mov     eax, kernel_file ; load kernel.mnt to 0x7000:0
5758
if ~ defined extended_primary_loader
5787
        movi    esi, 12
5759
; load kernel.mnt to 0x7000:0
5788
        xor     ebx, ebx
5760
        mov     ebx, kernel_file_load
5789
        or      ecx, -1
5761
        pushad
Line 5790... Line 5762...
5790
        mov     edx, OS_BASE+0x70000
5762
        call    file_system_lfn
5791
        call    fileread
5763
        popad
5792
 
5764
 
5793
        mov     esi, restart_kernel_4000+OS_BASE+0x10000 ; move kernel re-starter to 0x4000:0
5765
        mov     esi, restart_kernel_4000+OS_BASE+0x10000 ; move kernel re-starter to 0x4000:0
Line 5800... Line 5772...
5800
;        mov     edi, OS_BASE
5772
;        mov     edi, OS_BASE
5801
;        mov     ecx, 0x10000/4
5773
;        mov     ecx, 0x10000/4
5802
;        cld
5774
;        cld
5803
;        rep movsd
5775
;        rep movsd
Line 5804... Line -...
5804
 
-
 
5805
        call    restorefatchain
-
 
5806
 
5776
 
Line 5807... Line 5777...
5807
        call    IRQ_mask_all
5777
        call    IRQ_mask_all
5808
 
5778
 
5809
if 0
5779
if 0