Subversion Repositories Kolibri OS

Rev

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

Rev 32 Rev 33
Line 84... Line 84...
84
draw_pointer    dd __sys_draw_pointer
84
draw_pointer    dd __sys_draw_pointer
85
drawbar         dd __sys_drawbar
85
drawbar         dd __sys_drawbar
86
putpixel        dd __sys_putpixel
86
putpixel        dd __sys_putpixel
87
; } mike.dld
87
; } mike.dld
Line 88... Line 88...
88
 
88
 
89
version           db    'Kolibri OS  version 0.5.2.1      ',13,10,13,10,0
89
version           db    'Kolibri OS  version 0.5.2.9      ',13,10,13,10,0
Line 90... Line 90...
90
                  ;dd    endofcode-0x10000
90
                  ;dd    endofcode-0x10000
91
 
91
 
92
                  ;db   'Boot02'
92
                  ;db   'Boot02'
Line 580... Line 580...
580
;        mov     eax,cr4
580
;        mov     eax,cr4
581
;        or      eax,200h        ; Enable fxsave/fxstor
581
;        or      eax,200h        ; Enable fxsave/fxstor
582
;        mov     cr4,eax
582
;        mov     cr4,eax
583
;     fail_fpu:
583
;     fail_fpu:
Line -... Line 584...
-
 
584
 
-
 
585
;The CPU to this moment should be already in PM, 
-
 
586
;and bit MP of the register cr0 should be installed in 1. 
-
 
587
finit ;reset of the FPU (finit, instead of fninit) 
-
 
588
fsetpm ;enable PM of the FPU 
-
 
589
finit ;reset the registers, contents which are still equal RM 
584
 
590
;Now FPU too in PM 
Line 585... Line 591...
585
; DETECT DEVICES
591
; DETECT DEVICES
586
 
592
 
587
        mov    esi,boot_devices
593
        mov    esi,boot_devices
Line 597... Line 603...
597
        mov   al,0x9b              ; lsb    1193180 / 1193
603
        mov   al,0x9b              ; lsb    1193180 / 1193
598
        out   0x40,al
604
        out   0x40,al
599
        mov   al,0x2e              ; msb
605
        mov   al,0x2e              ; msb
600
        out   0x40,al
606
        out   0x40,al
Line 601... Line -...
601
 
-
 
602
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
 
603
;include 'detect/commouse.inc'
-
 
604
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
607
 
Line 605... Line 608...
605
; SET MOUSE
608
; SET MOUSE
606
 
609
 
607
        mov   esi,boot_setmouse
610
        mov   esi,boot_setmouse
Line 708... Line 711...
708
      no_pal_ega:
711
      no_pal_ega:
Line 709... Line 712...
709
 
712
 
Line 710... Line 713...
710
; LOAD DEFAULT SKIN
713
; LOAD DEFAULT SKIN
-
 
714
 
Line 711... Line 715...
711
 
715
        call  load_default_skin
Line 712... Line 716...
712
        call  load_default_skin
716
        call  load_default_skin_1
Line 746... Line 750...
746
; SET KEYBOARD PARAMETERS
750
; SET KEYBOARD PARAMETERS
747
        mov   al, 0xf6         ; reset keyboard, scan enabled
751
        mov   al, 0xf6         ; reset keyboard, scan enabled
748
        call  kb_write
752
        call  kb_write
Line 749... Line 753...
749
 
753
 
750
        ; wait until 8042 is ready
754
        ; wait until 8042 is ready
751
        mov    ecx,0
755
;        xor ecx,ecx
752
      @@:
756
;      @@:
753
        in     al,64h 
757
;        in     al,64h 
754
        and    al,00000010b
758
;        and    al,00000010b
-
 
759
;        loopnz @b
Line 755... Line 760...
755
        loopnz @b
760
        call  Wait8042BufferEmpty
756
 
761
 
757
       ; mov   al, 0xED       ; svetodiody - only for testing!
762
       ; mov   al, 0xED       ; svetodiody - only for testing!
758
       ; call  kb_write
763
       ; call  kb_write
Line 805... Line 810...
805
 
810
 
Line 806... Line 811...
806
        ; Fly :)
811
        ; Fly :)
807
 
812
 
808
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
813
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
809
;                                                                    ;
814
;                                                                    ;
810
;                         MAIN OS LOOP                               ;
815
;                    MAIN OS LOOP START                              ;
811
;                                                                    ;
816
;                                                                    ;
812
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
817
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 813... Line -...
813
align 32
-
 
814
osloop:
818
align 32
815
 
-
 
816
        call   check_mouse_data
819
osloop:
817
        call   [draw_pointer]
820
 
818
 
821
        call   [draw_pointer]
819
        call   checkbuttons
822
        call   checkbuttons
820
        call   main_loop_sys_getkey
-
 
821
        call   checkwindows
823
        call   main_loop_sys_getkey
822
        call   check_window_move_request
824
        call   checkwindows
823
 
-
 
824
        call   checkmisc
825
        call   check_window_move_request
825
        call   checkEgaCga
-
 
826
 
826
        call   checkmisc
827
        call   stack_handler
827
        call   checkEgaCga
828
 
828
        call   stack_handler
829
        call   checkidle
-
 
-
 
829
        call   checkidle
-
 
830
        call   check_fdd_motor_status
-
 
831
        jmp    osloop
-
 
832
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
 
833
;                                                                    ;
Line 830... Line 834...
830
        call   check_fdd_motor_status
834
;                      MAIN OS LOOP END                              ;
831
        jmp    osloop
835
;                                                                    ;
Line 832... Line 836...
832
 
836
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 1037... Line 1041...
1037
        je     cnvl
1041
        je     cnvl
1038
        ret
1042
        ret
1039
      cnvl:
1043
      cnvl:
Line 1040... Line 1044...
1040
 
1044
 
1041
        pushad
1045
        pushad
1042
        mov    ecx,[0xfb0a]
1046
;        mov    ecx,[0xfb0a]
1043
        cmp    ecx,[novesachecksum]
1047
;        cmp    ecx,[novesachecksum]
1044
        jne    novesal
1048
;        jne    novesal
1045
        popad
1049
;        popad
Line 1046... Line 1050...
1046
        ret
1050
;        ret
1047
 
1051
 
1048
      novesal:
1052
      novesal:
1049
        mov    [novesachecksum],ecx
1053
;        mov    [novesachecksum],ecx
1050
        mov    ecx,0
1054
        mov    ecx,0
1051
        movzx  eax,word [0xfb0c]
1055
        movzx  eax,word [0xfb0c]
1052
        cmp    eax,100
1056
        cmp    eax,100
Line 2041... Line 2045...
2041
 
2045
 
2042
 
2046
 
2043
detect_devices:
2047
detect_devices:
-
 
2048
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2044
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2049
include 'detect/commouse.inc'
2045
include 'detect/commouse.inc'
2050
include 'detect/ps2mouse.inc'
2046
;include 'detect/dev_fd.inc'
2051
;include 'detect/dev_fd.inc'
2047
;include 'detect/dev_hdcd.inc'
2052
;include 'detect/dev_hdcd.inc'
2048
;include 'detect/sear_par.inc'
2053
;include 'detect/sear_par.inc'
Line 2118... Line 2123...
2118
     cmp  esi, edx
2123
     cmp  esi, edx
2119
     jz   nowindowactivate ; continue if window_stack_value != number_of_processes
2124
     jz   nowindowactivate ; continue if window_stack_value != number_of_processes
2120
                           ;     i.e. if window is not already active
2125
                           ;     i.e. if window is not already active
Line 2121... Line 2126...
2121
 
2126
 
-
 
2127
;* start code - get active process (1) - Mario79
2122
;* start code - get active process (1) - Mario79
2128
     cli
2123
     mov  [window_minimize],2
2129
     mov  [window_minimize],2
-
 
2130
;     mov  [active_process],edi
2124
     mov  [active_process],edi
2131
     sti
Line 2125... Line 2132...
2125
;* end code - get active process (1) - Mario79
2132
;* end code - get active process (1) - Mario79
2126
 
2133
 
2127
     mov  [0xff01],edi     ; activate
2134
     mov  [0xff01],edi     ; activate
Line 2144... Line 2151...
2144
 
2151
 
2145
;  SAVE ramdisk to /hd/1/menuet.img
2152
;  SAVE ramdisk to /hd/1/menuet.img
2146
;!!!!!!!!!!!!!!!!!!!!!!!!
2153
;!!!!!!!!!!!!!!!!!!!!!!!!
2147
   include 'blkdev/rdsave.inc'
2154
   include 'blkdev/rdsave.inc'
2148
;!!!!!!!!!!!!!!!!!!!!!!!!
-
 
2149
;* start code - get active process (2) - Mario79
2155
;!!!!!!!!!!!!!!!!!!!!!!!!
2150
     cmp  eax,7
2156
     cmp  eax,7
2151
     jnz  nogetactiveprocess
2157
     jnz  nogetactiveprocess
2152
     mov  eax,[active_process]
2158
     mov  eax,[active_process]
2153
     ret
2159
     ret
Line 2242... Line 2248...
2242
     jnz  no_mouse_centered
2248
     jnz  no_mouse_centered
2243
     call  mouse_centered
2249
     call  mouse_centered
2244
     mov [esp+36],dword 0
2250
     mov [esp+36],dword 0
2245
     ret
2251
     ret
2246
no_mouse_centered:
2252
no_mouse_centered:
2247
;* end  code - get active process (2) - Mario79
-
 
2248
     cmp  eax,16
2253
     cmp  eax,16
2249
     jnz  no_get_free_space
2254
     jnz  no_get_free_space
2250
     mov  eax,[MEM_FreeSpace]
2255
     mov  eax,[MEM_FreeSpace]
2251
     shl  eax,2
2256
     shl  eax,2
2252
     ret
2257
     ret
Line 2264... Line 2269...
2264
last_key_press  dd 0
2269
last_key_press  dd 0
2265
keyboard_mode_sys db 0
2270
keyboard_mode_sys db 0
Line 2266... Line 2271...
2266
 
2271
 
2267
iglobal 
2272
iglobal 
2268
version_inf: 
2273
version_inf: 
2269
  db 0,5,2,1  ; version 0.5.2.1
2274
  db 0,5,2,9  ; version 0.5.2.9
2270
  db UID_KOLIBRI 
2275
  db UID_KOLIBRI 
2271
  db 'Kolibri',0 
2276
  db 'Kolibri',0 
2272
version_end: 
2277
version_end: 
Line 2787... Line 2792...
2787
    shr   edi,16+8
2792
    shr   edi,16+8
2788
    and   edi,15
2793
    and   edi,15
Line 2789... Line 2794...
2789
 
2794
 
2790
    cmp   edi,0   ; type I    - original style
2795
    cmp   edi,0   ; type I    - original style
-
 
2796
    jne   nosyswI
2791
    jne   nosyswI
2797
    inc   [mouse_pause]
2792
    call  sys_set_window
2798
    call  sys_set_window
-
 
2799
    call  drawwindow_I
2793
    call  drawwindow_I
2800
    dec   [mouse_pause]
2794
    ret
2801
    ret
Line 2795... Line 2802...
2795
  nosyswI:
2802
  nosyswI:
2796
 
2803
 
-
 
2804
    cmp   edi,1   ; type II   - only reserve area, no draw
2797
    cmp   edi,1   ; type II   - only reserve area, no draw
2805
    jne   nosyswII
2798
    jne   nosyswII
2806
    inc   [mouse_pause]
-
 
2807
    call  sys_set_window
2799
    call  sys_set_window
2808
    call  sys_window_mouse
2800
    call  sys_window_mouse
2809
    dec   [mouse_pause]
Line 2801... Line 2810...
2801
    ret
2810
    ret
2802
  nosyswII:
2811
  nosyswII:
-
 
2812
 
2803
 
2813
    cmp   edi,2   ; type III  - new style
2804
    cmp   edi,2   ; type III  - new style
2814
    jne   nosyswIII
-
 
2815
    inc   [mouse_pause]
2805
    jne   nosyswIII
2816
    call  sys_set_window
2806
    call  sys_set_window
2817
    call  drawwindow_III
Line 2807... Line 2818...
2807
    call  drawwindow_III
2818
    dec   [mouse_pause]
2808
    ret
2819
    ret
-
 
2820
  nosyswIII:
-
 
2821
 
-
 
2822
    cmp   edi,3   ; type IV - skinned window
-
 
2823
    jne   nosyswIV
-
 
2824
 
-
 
2825
    cli
-
 
2826
    mov   edi,[0x3010]
-
 
2827
    sub   edi,0x3000
-
 
2828
    shr   edi,5
-
 
2829
    cmp   edi,[active_process]
-
 
2830
    jne   @f
-
 
2831
    mov   [aw_yes],1 
-
 
2832
    jmp   aw_yes_end
-
 
2833
  @@:
-
 
2834
    mov   [aw_yes],0 
2809
  nosyswIII:
2835
  aw_yes_end:
2810
 
2836
    sti
-
 
2837
 
-
 
2838
    inc   [mouse_pause]
2811
    cmp   edi,3   ; type IV - skinned window
2839
    call  sys_set_window
2812
    jne   nosyswIV
2840
    call  drawwindow_IV 
Line 2813... Line 2841...
2813
    call  sys_set_window
2841
    dec   [mouse_pause]
Line 3256... Line 3284...
3256
         pop  eax
3284
         pop  eax
3257
         popad
3285
         popad
Line 3258... Line 3286...
3258
 
3286
 
Line 3259... Line -...
3259
         ret
-
 
3260
 
-
 
3261
;   check mouse
-
 
3262
;
-
 
3263
;
-
 
3264
;   FB00  ->   FB0F   mouse memory 00 chunk count - FB0A-B x - FB0C-D y
-
 
3265
;   FB10  ->   FB17   mouse color mem
-
 
3266
;   FB21              x move
-
 
3267
;   FB22              y move
-
 
3268
;   FB30              color temp
-
 
3269
;   FB28              high bits temp
-
 
3270
;   FB4A  ->   FB4D   FB4A-B x-under - FB4C-D y-under
-
 
3271
;   FC00  ->   FCFE   com1/ps2 buffer
-
 
3272
;   FCFF              com1/ps2 buffer count starting from FC00
-
 
3273
 
-
 
3274
uglobal
-
 
3275
  mousecount  dd  0x0
-
 
3276
  mousedata   dd  0x0
-
 
3277
endg
-
 
3278
 
-
 
3279
 
-
 
3280
check_mouse_data:
-
 
3281
 
-
 
3282
        pushad
-
 
3283
 
-
 
3284
        cmp    [0xF604],byte 1
-
 
3285
        jne    no_ps2_mouse
-
 
3286
        mov    [mousecount],dword 0x2e0000+12*4096
-
 
3287
        mov    [mousedata],dword 0x2e0000+12*4096+0x10
-
 
3288
        jmp    uusicheckmouse
-
 
3289
no_ps2_mouse:        
-
 
3290
        cmp    [0xF604],byte 2
-
 
3291
        jne    no_com1_mouse
-
 
3292
        mov    [mousecount],dword 0x2e0000+4*4096
-
 
3293
        mov    [mousedata],dword 0x2e0000+4*4096+0x10
-
 
3294
        jmp    uusicheckmouse
-
 
3295
no_com1_mouse:
-
 
3296
        mov    [mousecount],dword 0x2e0000+3*4096
-
 
3297
        mov    [mousedata],dword 0x2e0000+3*4096+0x10
-
 
3298
 
-
 
3299
      uusicheckmouse:
-
 
3300
 
-
 
3301
        mov    ebx,[mousecount]       ; anything at buffer for mouse
-
 
3302
        cmp    dword [ebx], 0         ; !!!
-
 
3303
        jz     checkmouseret
-
 
3304
 
-
 
3305
        ; first byte of comX or ps2 ?
-
 
3306
 
-
 
3307
        cmp    [0xF604],byte 1
-
 
3308
        je     ps2mousefirst
-
 
3309
 
-
 
3310
        ; ******************************************        
-
 
3311
        ; *********** COMX mouse driver ************
-
 
3312
        ; ******************************************
-
 
3313
 
-
 
3314
       com1mousefirst:
-
 
3315
 
-
 
3316
        mov    edi,[mousedata]
-
 
3317
        mov    dl,byte [edi] ; first com1 ?
-
 
3318
        test   dl,64
-
 
3319
        jz     @f
-
 
3320
        mov    [0xfb00],byte 0  ; zero mouse block count
-
 
3321
       @@:
-
 
3322
        xor    ebx,ebx
-
 
3323
 
-
 
3324
        mov    bl,[0xfb00]
-
 
3325
        inc    bl
-
 
3326
        mov    [0xfb00],bl
-
 
3327
        mov    eax,0xfb00
-
 
3328
        add    eax,ebx
-
 
3329
        mov    edi,[mousedata]
-
 
3330
        mov    dl,byte [edi]
-
 
3331
        mov    [eax],byte dl
-
 
3332
        cmp    bl,3             ; three ?
-
 
3333
        jnz    decm
-
 
3334
 
-
 
3335
        ; buttons
-
 
3336
 
-
 
3337
;* change right and left button by places - start code - Mario79
-
 
3338
        mov al,[0xfb01]
-
 
3339
        mov ah,al
-
 
3340
        shr al,3
-
 
3341
        and al,2
-
 
3342
        shr ah,5
-
 
3343
        and ah,1
-
 
3344
        add al,ah
-
 
3345
;* change right and left button by places - end code - Mario79
-
 
3346
 
-
 
3347
        mov    [0xfb40],al
-
 
3348
 
-
 
3349
        ; com1 mouse
-
 
3350
        ; x
-
 
3351
 
-
 
3352
        mov    dl,[0xfb01]        ; x high bits
-
 
3353
        movzx  eax,dl
-
 
3354
        and    al,3
-
 
3355
        shl    al,6
-
 
3356
        mov    dl,byte[0xfb02]    ; x low bits
-
 
3357
        add    al,dl
-
 
3358
        mov    [0xfb21],byte al
-
 
3359
        movzx  ebx,word[0xfb0a]
-
 
3360
 
-
 
3361
        mov    al,byte [0xfb01]   ; + or - ?
-
 
3362
        test   al,2
-
 
3363
        jz     x_add
-
 
3364
 
-
 
3365
       x_sub:                      ; x-
-
 
3366
        sub    bx,255
-
 
3367
        sub    bx,255
-
 
3368
       x_add:                      ; x+
-
 
3369
        movzx  eax,byte [0xfb21]
-
 
3370
        add    bx,ax
-
 
3371
        add    bx,ax
-
 
3372
        push   ebx
-
 
3373
        mov    [0xfb00],byte 0
-
 
3374
 
-
 
3375
        ; y
-
 
3376
 
-
 
3377
 
-
 
3378
      my_event:
-
 
3379
 
-
 
3380
        mov    dl,[0xfb01]       ; y high bits
-
 
3381
        movzx  eax,dl
-
 
3382
        and    al,12
-
 
3383
        shl    al,4
-
 
3384
        mov    dl,byte[0xfb03]   ; y low bits
-
 
3385
        add    al,dl
-
 
3386
        mov    [0xfb22],byte al
-
 
3387
        movzx  ebx,word[0xfb0c]
-
 
3388
 
-
 
3389
        mov    al,byte [0xfb01]  ; + or - ?
-
 
3390
        test   al,8
-
 
3391
        je     y_add
-
 
3392
 
-
 
3393
      y_sub:                      ; y-
-
 
3394
        sub    bx,255
-
 
3395
        sub    bx,255
-
 
3396
      y_add:                      ; y+
-
 
3397
        movzx  eax,byte [0xfb22]
-
 
3398
        add    bx,ax
-
 
3399
        add    bx,ax
-
 
3400
        push   ebx
-
 
3401
        mov    [0xfb00],byte 0
-
 
3402
        jmp    mdraw
-
 
3403
 
-
 
3404
        ; end of com1 mouse
-
 
3405
 
-
 
3406
 
-
 
3407
        ; ******************************************
-
 
3408
        ; ********  PS2 MOUSE DRIVER  **************
-
 
3409
        ; ******************************************
-
 
3410
 
-
 
3411
      ps2mousefirst:
-
 
3412
      
-
 
3413
        movzx  edx,byte [0x2E0000+4096*12+0x10]   ; first ps2 ?
-
 
3414
        cmp    edx,40
-
 
3415
        jne    @f
-
 
3416
        mov    [0xfb00],byte 0  ; zero mouse block count
-
 
3417
      @@:
-
 
3418
 
-
 
3419
        movzx  ebx,byte [0xfb00]
-
 
3420
        add    ebx,1
-
 
3421
        mov    [0xfb00],bl
-
 
3422
        mov    eax,0xfb00
-
 
3423
        add    eax,ebx
-
 
3424
        mov    dl,byte [0x2E0000+4096*12+0x10]
-
 
3425
        mov    [eax],byte dl
-
 
3426
 
-
 
3427
        cmp    bl,3             ; full packet of three bytes ?
-
 
3428
        jnz    decm
-
 
3429
 
-
 
3430
        mov    [0xfb00],byte 0  ; zero mouse block count
-
 
3431
 
-
 
3432
        ; buttons
-
 
3433
 
-
 
3434
        movzx  eax,byte [0xfb01]
-
 
3435
        and    eax,3
-
 
3436
        mov    [0xfb40],al
-
 
3437
 
-
 
3438
        ; x
-
 
3439
 
-
 
3440
        movzx  eax,word [0xfb0a]
-
 
3441
        movzx  edx,byte [0xfb02]
-
 
3442
        cmp    edx,128
-
 
3443
        jb     ps2xp
-
 
3444
        shl    edx,1
-
 
3445
        add    eax,edx
-
 
3446
        cmp    eax,512
-
 
3447
        jge    ps2xsok
-
 
3448
        xor    eax, eax
-
 
3449
        jmp    ps2xready
-
 
3450
       ps2xsok:
-
 
3451
        sub    eax,512
-
 
3452
        jmp    ps2xready
-
 
3453
       ps2xp:
-
 
3454
        shl    edx,1
-
 
3455
        add    eax,edx
-
 
3456
        jmp    ps2xready
-
 
3457
       ps2xready:
-
 
3458
        push   eax
-
 
3459
 
-
 
3460
        ; y
-
 
3461
 
-
 
3462
        movzx  eax,word [0xfb0c]
-
 
3463
        movzx  edx,byte [0xfb03]
-
 
3464
        cmp    edx,128
-
 
3465
        jb     ps2yp
-
 
3466
        add    eax,512
-
 
3467
        shl    edx,1
-
 
3468
        sub    eax,edx
-
 
3469
        jmp    ps2yready
-
 
3470
       ps2yp:
-
 
3471
        shl    edx,1
-
 
3472
        cmp    edx,eax
-
 
3473
        jb     ps201
-
 
3474
        mov    edx,eax
-
 
3475
       ps201:
-
 
3476
        sub    eax,edx
-
 
3477
        jmp    ps2yready
-
 
3478
       ps2yready:
-
 
3479
        push   eax
-
 
3480
 
-
 
3481
        ;jmp    mdraw
-
 
3482
 
-
 
3483
        ; end of ps2 mouse
-
 
3484
 
-
 
3485
 
-
 
3486
        ; ****************************
-
 
3487
        ; ***** CHECK FOR LIMITS *****
-
 
3488
        ; ****************************
-
 
3489
 
-
 
3490
      mdraw:
-
 
3491
 
-
 
3492
        cmp    [0xfb44],byte 0
-
 
3493
        jne    mousedraw4
-
 
3494
        cmp    [0xfb40],byte 0
-
 
3495
        je     mousedraw4
-
 
3496
        mov    [0xfff5],byte 1
-
 
3497
 
-
 
3498
      mousedraw4:
-
 
3499
 
-
 
3500
        pop    ebx
-
 
3501
        pop    eax
-
 
3502
 
-
 
3503
        mov    [mouse_active],1
-
 
3504
 
-
 
3505
;        mov    dx,0                   ; smaller than zero
-
 
3506
        xor    dx,dx
-
 
3507
        cmp    bx,dx
-
 
3508
        jge    mnb11
-
 
3509
;        mov    bx,0
-
 
3510
        xor    bx,bx
-
 
3511
      mnb11:
-
 
3512
        mov    [0xfb0c],word bx
-
 
3513
 
-
 
3514
;        mov    dx,0
-
 
3515
        xor    dx,dx
-
 
3516
        cmp    ax,dx
-
 
3517
        jge    mnb22
-
 
3518
;        mov    ax,0
-
 
3519
        xor    ax,ax
-
 
3520
      mnb22:
-
 
3521
        mov    [0xfb0a],word ax
-
 
3522
 
-
 
3523
        mov    edx,[0xfe04]           ; bigger than maximum
-
 
3524
        cmp    ebx,edx
-
 
3525
        jb     mnb1
-
 
3526
        mov    bx,[0xfe04]
-
 
3527
      mnb1:
-
 
3528
        mov    [0xfb0c],word bx
-
 
3529
 
-
 
3530
        mov    edx,[0xfe00]
-
 
3531
        cmp    eax,edx
-
 
3532
        jb     mnb2
-
 
3533
        mov    ax,[0xfe00]
-
 
3534
      mnb2:
-
 
3535
        mov    [0xfb0a],word ax
-
 
3536
 
-
 
3537
 
-
 
3538
        ; ****   NEXT DATA BYTE FROM MOUSE BUFFER   ****
-
 
3539
 
-
 
3540
      decm:
-
 
3541
 
-
 
3542
        mov    edi,[mousecount]         ; decrease counter
-
 
3543
        dec    dword [edi]
-
 
3544
 
-
 
3545
        mov    esi,[mousedata]
-
 
3546
        mov    edi,esi
-
 
3547
        inc    esi
-
 
3548
;        mov    ecx,250
-
 
3549
        mov    ecx,[mousecount]
-
 
3550
        mov    ecx,[ecx]
-
 
3551
        cld
-
 
3552
        rep    movsb
-
 
3553
 
-
 
3554
        jmp    uusicheckmouse
-
 
3555
 
-
 
3556
      checkmouseret:
-
 
3557
 
-
 
3558
        cmp    [0xfb44],byte 0
-
 
3559
        jne    cmret
-
 
3560
        
-
 
3561
        cmp    [0xfb40],byte 0
-
 
3562
        je     cmret
-
 
3563
        
-
 
3564
        mov    [0xfff4],byte 0
-
 
3565
        mov    [0xfff5],byte 0
-
 
3566
        
-
 
3567
      cmret:
-
 
3568
 
-
 
3569
        popad
-
 
3570
 
-
 
3571
        ret
-
 
3572
 
-
 
3573
 
-
 
3574
draw_mouse_under:
-
 
3575
 
-
 
3576
        ; return old picture
-
 
3577
;        cli
-
 
3578
 
-
 
3579
        pushad
-
 
3580
 
-
 
3581
        xor    ecx,ecx
-
 
3582
        xor    edx,edx
-
 
3583
 
-
 
3584
        ;cli    ; !!!****
-
 
3585
        align  4
-
 
3586
      mres:
-
 
3587
 
-
 
3588
        movzx  eax,word [0xfb4a]
-
 
3589
        movzx  ebx,word [0xfb4c]
-
 
3590
 
-
 
3591
        add    eax,ecx
-
 
3592
        add    ebx,edx
-
 
3593
 
-
 
3594
        push   ecx
-
 
3595
        push   edx
-
 
3596
        push   eax
-
 
3597
        push   ebx
-
 
3598
 
-
 
3599
        mov    eax,edx
-
 
3600
        shl    eax,6
-
 
3601
        shl    ecx,2
-
 
3602
        add    eax,ecx
-
 
3603
        add    eax,mouseunder
-
 
3604
        mov    ecx,[eax]
-
 
3605
 
-
 
3606
        pop    ebx
-
 
3607
        pop    eax
-
 
3608
 
-
 
3609
        ;;;push   edi
-
 
3610
        mov    edi,1 ;force
-
 
3611
        call   [putpixel]
-
 
3612
        ;;;pop    edi
-
 
3613
 
-
 
3614
        pop    edx
-
 
3615
        pop    ecx
-
 
3616
 
-
 
3617
        inc    ecx
-
 
3618
        cmp    ecx, 16
-
 
3619
        jnz    mres
-
 
3620
        xor    ecx, ecx
-
 
3621
        inc    edx
-
 
3622
        cmp    edx, 24
-
 
3623
        jnz    mres
-
 
3624
        ;sti    ; !!!****
-
 
3625
 
-
 
3626
        popad
-
 
3627
        
-
 
3628
;        sti
-
 
3629
        
-
 
3630
        ret
-
 
3631
 
-
 
3632
 
-
 
3633
save_draw_mouse:
-
 
3634
 
-
 
3635
        ; save & draw
-
 
3636
;        cli
-
 
3637
 
-
 
3638
        mov    [0xfb4a],ax
-
 
3639
        mov    [0xfb4c],bx
-
 
3640
        push   eax
-
 
3641
        push   ebx
-
 
3642
        mov    ecx,0
-
 
3643
        mov    edx,0
-
 
3644
 
-
 
3645
        ;cli ; !!!****
-
 
3646
 
-
 
3647
      drm:
-
 
3648
 
-
 
3649
        push   eax
-
 
3650
        push   ebx
-
 
3651
        push   ecx
-
 
3652
        push   edx
-
 
3653
 
-
 
3654
        ; helloworld
-
 
3655
        push   eax ebx ecx
-
 
3656
        add    eax,ecx  ; save picture under mouse
-
 
3657
        add    ebx,edx
-
 
3658
        push   ecx
-
 
3659
        call   getpixel
-
 
3660
        mov    [0xfb30],ecx
-
 
3661
        pop    ecx
-
 
3662
        mov    eax,edx
-
 
3663
        shl    eax,6
-
 
3664
        shl    ecx,2
-
 
3665
        add    eax,ecx
-
 
3666
        add    eax,mouseunder
-
 
3667
        mov    ebx,[0xfb30]
-
 
3668
        mov    [eax],ebx
-
 
3669
        pop    ecx ebx eax
-
 
3670
 
-
 
3671
        mov    edi,edx       ; y cycle
-
 
3672
        shl    edi,4       ; *16 bytes per row
-
 
3673
        add    edi,ecx       ; x cycle
-
 
3674
        mov    esi, edi
-
 
3675
        add    edi, esi
-
 
3676
        add    edi, esi       ; *3
-
 
3677
        add    edi,[0xf200]      ; we have our str address
-
 
3678
        mov    esi, edi
-
 
3679
        add    esi, 16*24*3
-
 
3680
        push   ecx
-
 
3681
        mov    ecx, [0xfb30]
-
 
3682
        call   combine_colors
-
 
3683
        mov    [0xfb10], ecx
-
 
3684
        pop    ecx
-
 
3685
 
-
 
3686
 
-
 
3687
        pop    edx
-
 
3688
        pop    ecx
-
 
3689
        pop    ebx
-
 
3690
        pop    eax
-
 
3691
 
-
 
3692
        add    eax,ecx       ; we have x coord+cycle
-
 
3693
        add    ebx,edx       ; and y coord+cycle
-
 
3694
 
-
 
3695
        push   ecx edi
-
 
3696
        mov    ecx, [0xfb10]
-
 
3697
        mov    edi, 1
-
 
3698
        call   [putpixel]
-
 
3699
        pop    edi ecx
-
 
3700
 
-
 
3701
      mnext:
-
 
3702
 
-
 
3703
        mov    ebx,[esp+0]      ; pure y coord again
-
 
3704
        mov    eax,[esp+4]      ; and x
-
 
3705
 
-
 
3706
        inc    ecx          ; +1 cycle
-
 
3707
        cmp    ecx,16       ; if more than 16
-
 
3708
        jnz    drm
-
 
3709
        xor    ecx, ecx
-
 
3710
        inc    edx
-
 
3711
        cmp    edx,24
-
 
3712
        jnz    drm
-
 
3713
 
-
 
3714
        pop    ebx
-
 
3715
        pop    eax
-
 
3716
 
-
 
3717
;        sti ; !!!****
-
 
3718
 
-
 
3719
        ret
-
 
3720
 
-
 
3721
 
-
 
3722
combine_colors:
-
 
3723
 
-
 
3724
      ; in
-
 
3725
      ; ecx - color ( 00 RR GG BB )
-
 
3726
      ; edi - ref to new color byte
-
 
3727
      ; esi - ref to alpha byte
-
 
3728
      ;
-
 
3729
      ; out
-
 
3730
      ; ecx - new color ( roughly (ecx*[esi]>>8)+([edi]*[esi]>>8) )
-
 
3731
 
-
 
3732
      push eax
-
 
3733
      push ebx
-
 
3734
      push edx
-
 
3735
      push ecx
-
 
3736
      xor ecx, ecx
-
 
3737
         ; byte 2
-
 
3738
      mov eax, 0xff
-
 
3739
      sub al, [esi+0]
-
 
3740
      mov ebx, [esp]
-
 
3741
      shr ebx, 16
-
 
3742
      and ebx, 0xff
-
 
3743
      mul ebx
-
 
3744
      shr eax, 8
-
 
3745
      add ecx, eax
-
 
3746
;      xor eax, eax
-
 
3747
;      xor ebx, ebx
-
 
3748
;      mov al, [edi+0]
-
 
3749
;      mov bl, [esi+0]
-
 
3750
    movzx eax, byte [edi+0]
-
 
3751
    movzx ebx, byte [esi+0]
-
 
3752
      mul ebx
-
 
3753
      shr eax, 8
-
 
3754
      add ecx, eax
-
 
3755
      shl ecx, 8
-
 
3756
         ; byte 1
-
 
3757
      mov eax, 0xff
-
 
3758
      sub al, [esi+1]
-
 
3759
      mov ebx, [esp]
-
 
3760
      shr ebx, 8
-
 
3761
      and ebx, 0xff
-
 
3762
      mul ebx
-
 
3763
      shr eax, 8
-
 
3764
      add ecx, eax
-
 
3765
;      xor eax, eax
-
 
3766
;      xor ebx, ebx
-
 
3767
;      mov al, [edi+1]
-
 
3768
;      mov bl, [esi+1]
-
 
3769
    movzx eax, byte [edi+1]
-
 
3770
    movzx ebx, byte [esi+1]
-
 
3771
      mul ebx
-
 
3772
      shr eax, 8
-
 
3773
      add ecx, eax
-
 
3774
      shl ecx, 8
-
 
3775
         ; byte 2
-
 
3776
      mov eax, 0xff
-
 
3777
      sub al, [esi+2]
-
 
3778
      mov ebx, [esp]
-
 
3779
      and ebx, 0xff
-
 
3780
      mul ebx
-
 
3781
      shr eax, 8
-
 
3782
      add ecx, eax
-
 
3783
;      xor eax, eax
-
 
3784
;      xor ebx, ebx
-
 
3785
;      mov al, [edi+2]
-
 
3786
;      mov bl, [esi+2]
-
 
3787
    movzx eax, byte [edi+2]
-
 
3788
    movzx ebx, byte [esi+2]
-
 
3789
      mul ebx
-
 
3790
      shr eax, 8
-
 
3791
      add ecx, eax
-
 
3792
 
-
 
3793
      pop eax
-
 
3794
      pop edx
-
 
3795
      pop ebx
-
 
3796
      pop eax
-
 
3797
      ret
-
 
3798
 
-
 
3799
 
-
 
3800
__sys_disable_mouse:
-
 
3801
 
-
 
3802
      pushad
-
 
3803
 
-
 
3804
      cmp  [0x3000],dword 1
-
 
3805
      je   disable_m
-
 
3806
 
-
 
3807
      mov  edx,[0x3000]
-
 
3808
      shl  edx,5
-
 
3809
      add  edx,window_data
-
 
3810
 
-
 
3811
      movzx  eax, word [0xfb0a]
-
 
3812
      movzx  ebx, word [0xfb0c]
-
 
3813
 
-
 
3814
      mov  ecx,[0xfe00]
-
 
3815
      inc  ecx
-
 
3816
      imul  ecx,ebx
-
 
3817
      add  ecx,eax
-
 
3818
      add  ecx, display_data
-
 
3819
 
-
 
3820
      movzx eax, byte [edx+twdw+0xe]
-
 
3821
 
-
 
3822
      movzx ebx, byte [ecx]
-
 
3823
      cmp   eax,ebx
-
 
3824
      je    yes_mouse_disable
-
 
3825
      movzx ebx, byte [ecx+16]
-
 
3826
      cmp   eax,ebx
-
 
3827
      je    yes_mouse_disable
-
 
3828
 
-
 
3829
      mov   ebx,[0xfe00]
-
 
3830
      inc   ebx
-
 
3831
      imul  ebx,10
-
 
3832
      add   ecx,ebx
-
 
3833
 
-
 
3834
      movzx ebx, byte [ecx]
-
 
3835
      cmp   eax,ebx
-
 
3836
      je    yes_mouse_disable
-
 
3837
 
-
 
3838
      mov   ebx,[0xfe00]
-
 
3839
      inc   ebx
-
 
3840
      imul  ebx,10
-
 
3841
      add   ecx,ebx
-
 
3842
 
-
 
3843
      movzx ebx, byte [ecx]
-
 
3844
      cmp   eax,ebx
-
 
3845
      je    yes_mouse_disable
-
 
3846
      movzx ebx, byte [ecx+16]
-
 
3847
      cmp   eax,ebx
-
 
3848
      je    yes_mouse_disable
-
 
3849
 
-
 
3850
      jmp   no_mouse_disable
-
 
3851
 
-
 
3852
    yes_mouse_disable:
-
 
3853
 
-
 
3854
      mov  edx,[0x3000]
-
 
3855
      shl  edx,5
-
 
3856
      add  edx,window_data
-
 
3857
 
-
 
3858
      movzx  eax, word [0xfb0a]
-
 
3859
      movzx  ebx, word [0xfb0c]
-
 
3860
 
-
 
3861
      mov  ecx,[edx+0]   ; mouse inside the area ?
-
 
3862
      add  eax,14
-
 
3863
      cmp  eax,ecx
-
 
3864
      jb   no_mouse_disable
-
 
3865
      sub  eax,14
-
 
3866
 
-
 
3867
      add  ecx,[edx+8]
-
 
3868
      cmp  eax,ecx
-
 
3869
      jg   no_mouse_disable
-
 
3870
 
-
 
3871
      mov  ecx,[edx+4]
-
 
3872
      add  ebx,20
-
 
3873
      cmp  ebx,ecx
-
 
3874
      jb   no_mouse_disable
-
 
3875
      sub  ebx,20
-
 
3876
 
-
 
3877
      add  ecx,[edx+12]
-
 
3878
      cmp  ebx,ecx
-
 
3879
      jg   no_mouse_disable
-
 
3880
 
-
 
3881
    disable_m:
-
 
3882
 
-
 
3883
      cmp  dword [0xf204],dword 0
-
 
3884
      jne  @f
-
 
3885
      call draw_mouse_under
-
 
3886
    @@:
-
 
3887
 
-
 
3888
      mov  [0xf204],dword 1
-
 
3889
 
-
 
3890
    no_mouse_disable:
-
 
3891
 
-
 
3892
      popad
-
 
3893
 
-
 
3894
      ret
-
 
3895
 
-
 
3896
 
-
 
3897
 
-
 
3898
__sys_draw_pointer:
-
 
3899
        cli
-
 
3900
 
-
 
3901
        pushad
-
 
3902
 
-
 
3903
        cmp    dword [0xf204],dword 0  ; mouse visible ?
-
 
3904
        je     chms00
-
 
3905
 
-
 
3906
        dec    dword [0xf204]
-
 
3907
 
-
 
3908
        cmp    [0xf204],dword 0
-
 
3909
        jnz    nodmu2
-
 
3910
 
-
 
3911
        movzx  ebx,word [0xfb0c]
-
 
3912
        movzx  eax,word [0xfb0a]
-
 
3913
        call   save_draw_mouse
-
 
3914
 
-
 
3915
        popad
-
 
3916
        sti
-
 
3917
        ret
-
 
3918
 
-
 
3919
      nodmu2:
-
 
3920
 
-
 
3921
        popad
-
 
3922
        sti
-
 
3923
        ret
-
 
3924
 
-
 
3925
      chms00:
-
 
3926
 
-
 
3927
;        popad
-
 
3928
 
-
 
3929
;        pushad
-
 
3930
 
-
 
3931
;        cmp   [0xf204],dword 0
-
 
3932
;        jne   nodmp
-
 
3933
 
-
 
3934
        movzx  ecx,word [0xfb4a]
-
 
3935
        movzx  edx,word [0xfb4c]
-
 
3936
 
-
 
3937
        movzx  ebx,word [0xfb0c]
-
 
3938
        movzx  eax,word [0xfb0a]
-
 
3939
 
-
 
3940
        cmp    eax,ecx
-
 
3941
        jne    redrawmouse
-
 
3942
 
-
 
3943
        cmp    ebx,edx
-
 
3944
        jne    redrawmouse
-
 
3945
 
-
 
3946
        jmp    nodmp
-
 
3947
 
-
 
3948
      redrawmouse:
-
 
3949
 
-
 
3950
        
-
 
3951
        call   draw_mouse_under
-
 
3952
redrawmouse_1:
-
 
3953
        call   save_draw_mouse
-
 
3954
 
-
 
3955
     nodmp:
-
 
3956
 
-
 
3957
        popad
-
 
3958
        sti
-
 
3959
        ret
-
 
3960
 
-
 
3961
 
3287
         ret
Line 3962... Line 3288...
3962
 
3288
 
Line 3963... Line 3289...
3963
calculatebackground:   ; background
3289
calculatebackground:   ; background
Line 4449... Line 3775...
4449
     ret
3775
     ret
Line 4450... Line 3776...
4450
 
3776
 
4451
 
-
 
-
 
3777
 
4452
 
3778
 
4453
drawbackground:
3779
drawbackground:
4454
 
3780
       inc   [mouse_pause]
4455
       cmp   [0xfe0c],word 0x12
3781
       cmp   [0xfe0c],word 0x12
4456
       jne   dbrv12
3782
       jne   dbrv12
-
 
3783
       cmp   [display_data-12],dword 1
4457
       cmp   [display_data-12],dword 1
3784
       jne   bgrstr12
4458
       jne   bgrstr12
3785
       call  vga_drawbackground_tiled
4459
       call  vga_drawbackground_tiled
3786
       dec   [mouse_pause]
-
 
3787
       ret
4460
       ret
3788
     bgrstr12:
4461
     bgrstr12:
3789
       call  vga_drawbackground_stretch
Line 4462... Line 3790...
4462
       call  vga_drawbackground_stretch
3790
       dec   [mouse_pause]
4463
       ret
3791
       ret
4464
     dbrv12:
3792
     dbrv12:
4465
 
3793
 
4466
       cmp  [0xfe0c],word 0100000000000000b
3794
       cmp  [0xfe0c],word 0100000000000000b
-
 
3795
       jge  dbrv20
4467
       jge  dbrv20
3796
       cmp  [0xfe0c],word 0x13
4468
       cmp  [0xfe0c],word 0x13
3797
       je   dbrv20
4469
       je   dbrv20
3798
       call  vesa12_drawbackground
4470
       call  vesa12_drawbackground
3799
       dec   [mouse_pause]
4471
       ret
3800
       ret
-
 
3801
     dbrv20:
4472
     dbrv20:
3802
       cmp   [display_data-12],dword 1
4473
       cmp   [display_data-12],dword 1
3803
       jne   bgrstr
4474
       jne   bgrstr
3804
       call  vesa20_drawbackground_tiled
-
 
3805
       dec   [mouse_pause]
4475
       call  vesa20_drawbackground_tiled
3806
       ret
Line 4476... Line -...
4476
       ret
-
 
Line -... Line 3807...
-
 
3807
     bgrstr:
4477
     bgrstr:
3808
       call  vesa20_drawbackground_stretch
4478
       call  vesa20_drawbackground_stretch
3809
       dec   [mouse_pause]
4479
       ret
3810
       ret
4480
 
3811
 
4481
 
3812
 
4482
sys_putimage:
-
 
4483
 
3813
 
4484
     cmp   [0xfe0c],word 0x12
3814
sys_putimage:
4485
     jne   spiv20
3815
     cmp   [0xfe0c],word 0x12
4486
     call  vga_putimage
3816
     jne   spiv20
4487
     ret
3817
     call  vga_putimage
Line 4504... Line 3834...
4504
; ecx x end
3834
; ecx x end
4505
; edx y end
3835
; edx y end
4506
; edi color
3836
; edi color
Line 4507... Line 3837...
4507
 
3837
 
4508
__sys_drawbar:
-
 
-
 
3838
__sys_drawbar:
4509
 
3839
    inc   [mouse_pause]
4510
     cmp   [0xfe0c],word 0x12
3840
    cmp   [0xfe0c],word 0x12
4511
     jne   sdbv20
3841
    jne   sdbv20
-
 
3842
    call  vga_drawbar
4512
     call  vga_drawbar
3843
    dec   [mouse_pause]
4513
     ret
3844
    ret
4514
   sdbv20:
-
 
4515
 
3845
   sdbv20:
4516
    cmp  [0xfe0c],word 0100000000000000b
3846
    cmp  [0xfe0c],word 0100000000000000b
4517
    jge  dbv20
3847
    jge  dbv20
4518
    cmp  [0xfe0c],word 0x13
3848
    cmp  [0xfe0c],word 0x13
4519
    je   dbv20
3849
    je   dbv20
-
 
3850
    call vesa12_drawbar
4520
    call vesa12_drawbar
3851
    dec   [mouse_pause]
4521
    ret
-
 
4522
 
3852
    ret
4523
  dbv20:
-
 
4524
 
3853
  dbv20:
-
 
3854
    call vesa20_drawbar
4525
    call vesa20_drawbar
3855
    dec   [mouse_pause]
Line 4526... Line 3856...
4526
    ret
3856
    ret
Line 4639... Line 3969...
4639
           ; ps2 mouse enable
3969
           ; ps2 mouse enable
Line 4640... Line 3970...
4640
 
3970
 
Line 4641... Line 3971...
4641
     mov     [0xf200],dword mousepointer
3971
     mov     [0xf200],dword mousepointer
4642
 
3972
 
4643
     cli
3973
     cli
4644
     mov     bl,0xa8                 ; enable mouse cmd
3974
;     mov     bl,0xa8                 ; enable mouse cmd
4645
     call    kb_cmd
-
 
4646
     call    kb_read                 ; read status
3975
;     call    kb_cmd
4647
 
3976
;     call    kb_read                 ; read status
4648
     mov     bl,0x20                 ; get command byte
3977
;     mov     bl,0x20                 ; get command byte
4649
     call    kb_cmd
3978
;     call    kb_cmd
4650
     call    kb_read
3979
;     call    kb_read
4651
     or      al,3                    ; enable interrupt
3980
;     or      al,3                    ; enable interrupt
4652
     mov     bl,0x60                 ; write command
3981
;     mov     bl,0x60                 ; write command
4653
     push    eax
3982
;     push    eax
4654
     call    kb_cmd
3983
;     call    kb_cmd
4655
     pop     eax
-
 
4656
     call    kb_write
3984
;     pop     eax
4657
 
3985
;     call    kb_write
4658
     mov     bl,0xd4                 ; for mouse
3986
;     mov     bl,0xd4                 ; for mouse
4659
     call    kb_cmd
3987
;     call    kb_cmd
4660
     mov     al,0xf4                 ; enable mouse device
3988
;     mov     al,0xf4                 ; enable mouse device
Line 4661... Line 3989...
4661
     call    kb_write
3989
;     call    kb_write
Line 4662... Line 3990...
4662
     call    kb_read           ; read status return
3990
;     call    kb_read           ; read status return
Line 5119... Line 4447...
5119
 
4447
 
5120
 
4448
 
5121
     mov   edx,[0x3010]
4449
     mov   edx,[0x3010]
5122
     add   eax,[edx-twdw]
4450
     add   eax,[edx-twdw]
-
 
4451
     add   ebx,[edx-twdw+4]
5123
     add   ebx,[edx-twdw+4]
4452
;     xor   edi,edi ; no force
5124
     xor   edi,edi ; no force
4453
     mov   edi,1
Line 5125... Line 4454...
5125
     call  [disable_mouse]
4454
;     call  [disable_mouse]
Line 5126... Line 4455...
5126
     jmp   [putpixel]
4455
     jmp   [putpixel]
Line 5555... Line 4884...
5555
 
4884
 
Line 5556... Line 4885...
5556
  ;part2_ld            dd   0x0
4885
  ;part2_ld            dd   0x0
5557
 
4886
 
-
 
4887
;* start code - get  process (3) - Mario79
-
 
4888
active_process      dd   0
-
 
4889
active_process_flag db   0
-
 
4890
aw_yes              db   0
-
 
4891
deleted_process     dd   0
-
 
4892
mouse_pause         dd   0
-
 
4893
ps2_mouse_detected  db   0
5558
;* start code - get  process (3) - Mario79
4894
com1_mouse_detected db   0
Line 5559... Line 4895...
5559
active_process      dd   0
4895
com2_mouse_detected db   0
5560
;* end code - get active process (3) - Mario79
4896
;* end code - get active process (3) - Mario79
5561
 
4897
 
Line 5572... Line 4908...
5572
 
4908
 
5573
iglobal
4909
iglobal
5574
  keyboard   dd 0x1
4910
  keyboard   dd 0x1
5575
  sound_dma  dd 0x1
4911
  sound_dma  dd 0x1
-
 
4912
  syslang    dd 0x1
5576
  syslang    dd 0x1
4913
  active_proc_stack_coun dd 0xa400-4
Line 5577... Line 4914...
5577
endg
4914
endg
5578
 
4915
 
5579
IncludeIGlobals
4916
IncludeIGlobals