Subversion Repositories Kolibri OS

Rev

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

Rev 1260 Rev 1267
Line 54... Line 54...
54
;;
54
;;
55
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
55
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 56... Line 56...
56
 
56
 
Line 57... Line 57...
57
include 'macros.inc'
57
include 'macros.inc'
Line 58... Line 58...
58
 
58
 
Line 59... Line 59...
59
$Revision: 1260 $
59
$Revision: 1267 $
Line 538... Line 538...
538
        mov     [graph_data_l+2],ax
538
        mov     [graph_data_l+2],ax
539
        shr     eax,16
539
        shr     eax,16
540
        mov     [graph_data_l+4],al
540
        mov     [graph_data_l+4],al
541
        mov     [graph_data_l+7],ah
541
        mov     [graph_data_l+7],ah
Line -... Line 542...
-
 
542
 
-
 
543
        xor  eax,eax
542
 
544
        inc  eax
543
        mov [CURRENT_TASK],dword 1
545
        mov [CURRENT_TASK],eax		;dword 1
544
        mov [TASK_COUNT],dword 1
546
        mov [TASK_COUNT],eax		;dword 1
545
        mov [TASK_BASE],dword TASK_DATA
547
        mov [TASK_BASE],dword TASK_DATA
Line 546... Line 548...
546
        mov [current_slot], SLOT_BASE+256
548
        mov [current_slot], SLOT_BASE+256
547
 
549
 
548
; set background
550
; set background
549
        xor  eax,eax
551
;        xor  eax,eax
550
        inc  eax
552
;        inc  eax
551
        mov   [BgrDrawMode],eax
553
        mov   [BgrDrawMode],eax
552
        mov   [BgrDataWidth],eax
554
        mov   [BgrDataWidth],eax
553
        mov   [BgrDataHeight],eax
555
        mov   [BgrDataHeight],eax
Line 1070... Line 1072...
1070
;                                                                      ;
1072
;                                                                      ;
1071
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1073
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 1072... Line 1074...
1072
 
1074
 
Line 1073... Line 1075...
1073
reserve_irqs_ports:
1075
reserve_irqs_ports:
-
 
1076
 
1074
 
1077
        push eax
1075
        pushad
1078
        xor	eax,eax
1076
 
1079
	inc	eax
1077
        mov  [irq_owner+4*0], 1    ; timer
1080
        mov  byte [irq_owner+4*0],al		;1    ; timer
1078
        ;mov  [irq_owner+4*1], 1    ; keyboard
1081
        ;mov  [irq_owner+4*1], 1    ; keyboard
1079
        mov  [irq_owner+4*6], 1    ; floppy diskette
1082
        mov  byte [irq_owner+4*6],al		;1    ; floppy diskette
1080
        mov  [irq_owner+4*13], 1   ; math co-pros
1083
        mov  byte [irq_owner+4*13],al	;1   ; math co-pros
1081
        mov  [irq_owner+4*14], 1   ; ide I
-
 
-
 
1084
        mov  byte [irq_owner+4*14],al	;1   ; ide I
1082
        mov  [irq_owner+4*15], 1   ; ide II
1085
        mov  byte [irq_owner+4*15],al	;1   ; ide II
1083
 
1086
        pop  eax
-
 
1087
        ; RESERVE PORTS
1084
        ; RESERVE PORTS
1088
;        mov   edi,1                    ; 0x00-0x2d
1085
        mov   edi,1                    ; 0x00-0x2d
1089
	push  dword 4
-
 
1090
        pop   dword [RESERVED_PORTS]	;,edi
1086
        mov   [RESERVED_PORTS],edi
1091
;        shl   edi,4
-
 
1092
	push  dword 1
1087
        shl   edi,4
1093
        pop   dword [RESERVED_PORTS+16+0]	;,dword 1
-
 
1094
	push  dword 0
1088
        mov   [RESERVED_PORTS+edi+0],dword 1
1095
        pop   dword [RESERVED_PORTS+16+4]	;,dword 0x0
1089
        mov   [RESERVED_PORTS+edi+4],dword 0x0
1096
	push  dword 0x2d                        
1090
        mov   [RESERVED_PORTS+edi+8],dword 0x2d
1097
        pop   dword [RESERVED_PORTS+16+8]	;,dword 0x2d
1091
 
1098
 
1092
        inc   dword [RESERVED_PORTS]          ; 0x30-0x4d
1099
;        inc   dword [RESERVED_PORTS]          	; 0x30-0x4d
-
 
1100
;        mov   edi,[RESERVED_PORTS]
1093
        mov   edi,[RESERVED_PORTS]
1101
;        shl   edi,4
-
 
1102
	push  dword 1
1094
        shl   edi,4
1103
        pop   dword [RESERVED_PORTS+32+0]	;,dword 1
-
 
1104
	push  dword 0x30
1095
        mov   [RESERVED_PORTS+edi+0],dword 1
1105
        pop   dword [RESERVED_PORTS+32+4]	;,dword 0x30
1096
        mov   [RESERVED_PORTS+edi+4],dword 0x30
1106
	push  dword 0x4d
1097
        mov   [RESERVED_PORTS+edi+8],dword 0x4d
1107
        pop   dword [RESERVED_PORTS+32+8]	;,dword 0x4d
1098
 
1108
 
1099
        inc   dword [RESERVED_PORTS]          ; 0x50-0xdf
1109
;        inc   dword [RESERVED_PORTS]          ; 0x50-0xdf
-
 
1110
;        mov   edi,[RESERVED_PORTS]
1100
        mov   edi,[RESERVED_PORTS]
1111
;        shl   edi,4
-
 
1112
	push  dword 1
1101
        shl   edi,4
1113
        pop   dword [RESERVED_PORTS+48+0]	;,dword 1
-
 
1114
	push  dword 0x50
1102
        mov   [RESERVED_PORTS+edi+0],dword 1
1115
        pop   dword [RESERVED_PORTS+48+4]	;,dword 0x50
1103
        mov   [RESERVED_PORTS+edi+4],dword 0x50
1116
	push  dword 0xdf
1104
        mov   [RESERVED_PORTS+edi+8],dword 0xdf
1117
        pop   dword [RESERVED_PORTS+48+8]	;,dword 0xdf
1105
 
1118
 
1106
        inc   dword [RESERVED_PORTS]          ; 0xe5-0xff
1119
;        inc   dword [RESERVED_PORTS]          ; 0xe5-0xff
-
 
1120
;        mov   edi,[RESERVED_PORTS]
1107
        mov   edi,[RESERVED_PORTS]
1121
;        shl   edi,4
-
 
1122
	push  dword 1
1108
        shl   edi,4
1123
        pop   dword [RESERVED_PORTS+64+0]	;,dword 1
-
 
1124
	push  dword 0xe5
1109
        mov   [RESERVED_PORTS+edi+0],dword 1
1125
        pop   dword [RESERVED_PORTS+64+4]	;,dword 0xe5
Line 1110... Line 1126...
1110
        mov   [RESERVED_PORTS+edi+4],dword 0xe5
1126
	push  0xff
1111
        mov   [RESERVED_PORTS+edi+8],dword 0xff
1127
        pop   dword [RESERVED_PORTS+64+8]	;,dword 0xff
Line 1112... Line 1128...
1112
 
1128
 
Line 1113... Line 1129...
1113
        popad
1129
;        popad
Line 1131... Line 1147...
1131
set_variables:
1147
set_variables:
Line 1132... Line 1148...
1132
 
1148
 
1133
        mov   ecx,0x100                       ; flush port 0x60
1149
        mov   ecx,0x100                       ; flush port 0x60
1134
.fl60:  in    al,0x60
1150
.fl60:  in    al,0x60
1135
        loop  .fl60
-
 
1136
        mov   [MOUSE_BUFF_COUNT],byte 0                 ; mouse buffer
-
 
1137
        mov   [KEY_COUNT],byte 0                 ; keyboard buffer
-
 
1138
        mov   [BTN_COUNT],byte 0                 ; button buffer
-
 
1139
;        mov   [MOUSE_X],dword 100*65536+100    ; mouse x/y
-
 
1140
 
1151
        loop  .fl60
-
 
1152
        push  eax
1141
        push  eax
1153
 
1142
        mov   ax,[BOOT_VAR+0x900c]
1154
        mov   ax,[BOOT_VAR+0x900c]
1143
        shr   ax,1
1155
        shr   ax,1
1144
        shl   eax,16
1156
        shl   eax,16
1145
        mov   ax,[BOOT_VAR+0x900A]
1157
        mov   ax,[BOOT_VAR+0x900A]
1146
        shr   ax,1
1158
        shr   ax,1
1147
        mov   [MOUSE_X],eax
-
 
Line -... Line 1159...
-
 
1159
        mov   [MOUSE_X],eax
1148
        pop   eax
1160
 
Line -... Line 1161...
-
 
1161
        xor   eax,eax
1149
 
1162
        mov   [BTN_ADDR],dword BUTTON_INFO    ; address of button list
1150
        mov   [BTN_ADDR],dword BUTTON_INFO    ; address of button list
1163
 
-
 
1164
        mov   byte [MOUSE_BUFF_COUNT],al                 ; mouse buffer
Line -... Line 1165...
-
 
1165
        mov   byte [KEY_COUNT],al                 ; keyboard buffer
-
 
1166
        mov   byte [BTN_COUNT],al                 ; button buffer
-
 
1167
;        mov   [MOUSE_X],dword 100*65536+100    ; mouse x/y
1151
 
1168
 
Line 1152... Line 1169...
1152
     ;!! IP 04.02.2005:
1169
     ;!! IP 04.02.2005:
Line 1153... Line 1170...
1153
        mov   byte [DONT_SWITCH], 0 ; change task if possible
1170
        mov   byte [DONT_SWITCH],al ; change task if possible