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 |