Rev 161 | Rev 183 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 161 | Rev 164 | ||
---|---|---|---|
Line 472... | Line 472... | ||
472 | mov di,0xa000 |
472 | mov di,0xa000 |
473 | int 0x10 |
473 | int 0x10 |
474 | cmp ax,0x004f |
474 | cmp ax,0x004f |
475 | mov si, novesa-0x10000 |
475 | mov si, novesa-0x10000 |
476 | jnz @f |
476 | jnz @f |
- | 477 | mov bx, word [es:di+0x12] |
|
- | 478 | shl ebx,16 |
|
- | 479 | mov [es:0x9050], ebx |
|
477 | mov ax,[es:di+4] |
480 | mov ax,[es:di+4] |
478 | add ax,'0'*256+'0' |
481 | add ax,'0'*256+'0' |
479 | mov si,vervesa-0x10000 |
482 | mov si,vervesa-0x10000 |
480 | mov [si+vervesa_off], ah |
483 | mov [si+vervesa_off], ah |
481 | mov [si+vervesa_off+2], al |
484 | mov [si+vervesa_off+2], al |
Line 822... | Line 825... | ||
822 | mov dx,[si+4] |
825 | mov dx,[si+4] |
823 | cmp al, 9*2 |
826 | cmp al, 9*2 |
824 | mov al, 32 ; BPP |
827 | mov al, 32 ; BPP |
825 | jb @f |
828 | jb @f |
826 | mov [es:0x9000], al |
829 | mov [es:0x9000], al |
827 | mov dword [es:0x9018], 0x800000 |
830 | mov dword [es:0x9018], 0xFFFFFFFF; 0x800000 |
828 | @@: |
831 | @@: |
829 | mov [es:0x9008],bx |
832 | mov [es:0x9008],bx |
830 | mov [es:0x900A],cx |
833 | mov [es:0x900A],cx |
831 | mov [es:0x900C],dx |
834 | mov [es:0x900C],dx |
832 | test bh, bh |
835 | test bh, bh |
Line 1228... | Line 1231... | ||
1228 | 1231 | ||
1229 | push es |
1232 | push es |
Line 1230... | Line 1233... | ||
1230 | ; PAGE TABLE |
1233 | ; PAGE TABLE |
1231 | 1234 | ||
1232 | push dword [es:0x9018] |
1235 | push dword [es:0x9018] |
1233 | 1236 | ; |
|
1234 | map_mem equ 64 ; amount of memory to map |
1237 | ; mmap_mem equ 64 ; amount of memory to map |
1235 | 1238 | ; |
|
1236 | push 0x6000 |
1239 | push 0x6000 |
1237 | pop es ; es:di = 6000:0 |
1240 | pop es ; es:di = 6000:0 |
1238 | xor di,di |
1241 | ; xor di,di |
1239 | mov cx,256*map_mem ; Map (mapmem) M |
1242 | ; mov cx,256*mmap_mem ; Map (mapmem) M |
1240 | ; initialize as identity mapping |
1243 | ;; initialize as identity mapping |
1241 | xor eax, eax |
1244 | ; xor eax, eax |
1242 | call pagetable_set |
1245 | ; call pagetable_set |
1243 | 1246 | ; |
|
1244 | 1247 | ; |
|
1245 | ; 4 KB PAGE DIRECTORY |
1248 | ; 4 KB PAGE DIRECTORY |
1246 | 1249 | ; |
|
1247 | push 0x7F00 |
1250 | push 0x7F00 |
1248 | pop es ; es:di = 7F00:0 |
1251 | pop es ; es:di = 7F00:0 |
1249 | xor di, di |
1252 | ; xor di, di |
1250 | mov cx, 64 / 4 |
1253 | ; mov cx, 64 / 4 |
1251 | mov eax, 0x60007 ; for 0 M |
1254 | ; mov eax, 0x60007 ; for 0 M |
1252 | call pagetable_set |
1255 | ; call pagetable_set |
1253 | xor si,si |
1256 | ; xor si,si |
1254 | mov di,second_base_address shr 20 |
1257 | ; mov di,second_base_address shr 20 |
Line 1255... | Line 1258... | ||
1255 | mov cx,64/2 |
1258 | ; mov cx,64/2 |
1256 | rep movs word [es:di], [es:si] |
1259 | ; rep movs word [es:di], [es:si] |
Line 1257... | Line 1260... | ||
1257 | 1260 | ||
Line 1258... | Line 1261... | ||
1258 | mov eax, 0x7F000 +8+16 ; Page directory and enable caches |
1261 | ; mov eax, 0x7F000 +8+16 ; Page directory and enable caches |
- | 1262 | ; mov cr3, eax |
|
- | 1263 | ||
- | 1264 | ; SET GRAPHICS |
|
- | 1265 | ||
1259 | mov cr3, eax |
1266 | pop es |
1260 | 1267 | ||
1261 | ; SET GRAPHICS |
1268 | xor ax, ax |
1262 | 1269 | mov es, ax |
|
1263 | pop es |
1270 |