diff --git a/Asuro.iso b/Asuro.iso index e92755d4..589a89ad 100644 Binary files a/Asuro.iso and b/Asuro.iso differ diff --git a/bin/kernel.bin b/bin/kernel.bin index 05ebfd7b..aafe79cd 100755 Binary files a/bin/kernel.bin and b/bin/kernel.bin differ diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index 05ebfd7b..aafe79cd 100755 Binary files a/iso/boot/asuro.bin and b/iso/boot/asuro.bin differ diff --git a/lib/kernel.o b/lib/kernel.o index 64cc78a0..68e6d160 100644 Binary files a/lib/kernel.o and b/lib/kernel.o differ diff --git a/lib/kernel.ppu b/lib/kernel.ppu index 68014ba4..d2131c51 100644 Binary files a/lib/kernel.ppu and b/lib/kernel.ppu differ diff --git a/lib/libpkernel.a b/lib/libpkernel.a index 4b78fe86..7912fb2d 100644 Binary files a/lib/libpkernel.a and b/lib/libpkernel.a differ diff --git a/lib/util.ppu b/lib/util.ppu index ea8386f3..759f3df9 100644 Binary files a/lib/util.ppu and b/lib/util.ppu differ diff --git a/src/gdt.pas b/src/gdt.pas index f557d331..54fb87dd 100644 --- a/src/gdt.pas +++ b/src/gdt.pas @@ -38,20 +38,20 @@ begin descriptor_ptr:= @descriptor[0]; s_descriptor_ptr:= @s_descriptor; if limit <= 65536 then begin - descriptor[6] := $40 + descriptor[6] := $40 //1 <-- Will be overwritten by 2. end else begin if (limit and $FFF) <> $FFF then begin - limit := (limit SHR 12) -1 + limit := (limit SHR 12) - 1; end else begin limit := limit SHR 12; end; end; - - descriptor[6] := $C0; + + descriptor[6] := $C0; //2 <-- Will be overwritten by 3; descriptor[0] := limit and $FF; descriptor[1] := (limit shr 8) and $FF; - descriptor[6] := limit or ((limit shr 16) and $F); + descriptor[6] := limit or ((limit shr 16) and $F); //3 <-- has now overwritten both $C0 and $40 is now equal to limit or'd with limit shifted right 16 bits and constant $0F descriptor[2] := base and $FF; descriptor[3] := (base shr 8) and $FF;