diff --git a/Asuro.iso b/Asuro.iso index 41221346..a1b47400 100644 Binary files a/Asuro.iso and b/Asuro.iso differ diff --git a/bin/kernel.bin b/bin/kernel.bin index 9d916b3f..4fbbe853 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 9d916b3f..4fbbe853 100755 Binary files a/iso/boot/asuro.bin and b/iso/boot/asuro.bin differ diff --git a/lib/E1000.ppu b/lib/E1000.ppu index e8fe5506..49b96d04 100644 Binary files a/lib/E1000.ppu and b/lib/E1000.ppu differ diff --git a/lib/PCI.ppu b/lib/PCI.ppu index 700ce6ed..81d67c5b 100644 Binary files a/lib/PCI.ppu and b/lib/PCI.ppu differ diff --git a/lib/USB.ppu b/lib/USB.ppu index bcb4ee0f..0687e14a 100644 Binary files a/lib/USB.ppu and b/lib/USB.ppu differ diff --git a/lib/console.ppu b/lib/console.ppu index 723096e5..db6aff03 100644 Binary files a/lib/console.ppu and b/lib/console.ppu differ diff --git a/lib/drivermanagement.ppu b/lib/drivermanagement.ppu index fc9a5c48..12948156 100644 Binary files a/lib/drivermanagement.ppu and b/lib/drivermanagement.ppu differ diff --git a/lib/idt.ppu b/lib/idt.ppu index 4871b8fb..7feb7486 100644 Binary files a/lib/idt.ppu and b/lib/idt.ppu differ diff --git a/lib/irq.ppu b/lib/irq.ppu index c1cf59c7..d28554b0 100644 Binary files a/lib/irq.ppu and b/lib/irq.ppu differ diff --git a/lib/isr0.ppu b/lib/isr0.ppu index 6f8c8923..d52a9288 100644 Binary files a/lib/isr0.ppu and b/lib/isr0.ppu differ diff --git a/lib/isr1.ppu b/lib/isr1.ppu index 296da208..f9d3b583 100644 Binary files a/lib/isr1.ppu and b/lib/isr1.ppu differ diff --git a/lib/isr10.ppu b/lib/isr10.ppu index af0d5d38..26aab93f 100644 Binary files a/lib/isr10.ppu and b/lib/isr10.ppu differ diff --git a/lib/isr11.ppu b/lib/isr11.ppu index 9d077a65..c0b34fe0 100644 Binary files a/lib/isr11.ppu and b/lib/isr11.ppu differ diff --git a/lib/isr12.ppu b/lib/isr12.ppu index f4096a0b..87208936 100644 Binary files a/lib/isr12.ppu and b/lib/isr12.ppu differ diff --git a/lib/isr13.ppu b/lib/isr13.ppu index 62b7e1fc..e09e125c 100644 Binary files a/lib/isr13.ppu and b/lib/isr13.ppu differ diff --git a/lib/isr14.ppu b/lib/isr14.ppu index 8f2baa03..896d183c 100644 Binary files a/lib/isr14.ppu and b/lib/isr14.ppu differ diff --git a/lib/isr15.ppu b/lib/isr15.ppu index ee35c567..8513cee1 100644 Binary files a/lib/isr15.ppu and b/lib/isr15.ppu differ diff --git a/lib/isr16.ppu b/lib/isr16.ppu index 01424b3c..cf44921f 100644 Binary files a/lib/isr16.ppu and b/lib/isr16.ppu differ diff --git a/lib/isr17.ppu b/lib/isr17.ppu index ab4d924f..13bc7771 100644 Binary files a/lib/isr17.ppu and b/lib/isr17.ppu differ diff --git a/lib/isr18.ppu b/lib/isr18.ppu index e701cc45..8e762b6f 100644 Binary files a/lib/isr18.ppu and b/lib/isr18.ppu differ diff --git a/lib/isr2.ppu b/lib/isr2.ppu index 996fcef7..7a4adc00 100644 Binary files a/lib/isr2.ppu and b/lib/isr2.ppu differ diff --git a/lib/isr3.ppu b/lib/isr3.ppu index 57029eac..161daf38 100644 Binary files a/lib/isr3.ppu and b/lib/isr3.ppu differ diff --git a/lib/isr32.ppu b/lib/isr32.ppu index 8371b814..e54c83c6 100644 Binary files a/lib/isr32.ppu and b/lib/isr32.ppu differ diff --git a/lib/isr33.ppu b/lib/isr33.ppu index ce7abed4..4ff1aa16 100644 Binary files a/lib/isr33.ppu and b/lib/isr33.ppu differ diff --git a/lib/isr4.ppu b/lib/isr4.ppu index d3069b2d..62edd6aa 100644 Binary files a/lib/isr4.ppu and b/lib/isr4.ppu differ diff --git a/lib/isr40.ppu b/lib/isr40.ppu index 69fd52dc..8711ba36 100644 Binary files a/lib/isr40.ppu and b/lib/isr40.ppu differ diff --git a/lib/isr44.ppu b/lib/isr44.ppu index f9f0aba0..65c0a961 100644 Binary files a/lib/isr44.ppu and b/lib/isr44.ppu differ diff --git a/lib/isr5.ppu b/lib/isr5.ppu index 70d626b4..4c1971d6 100644 Binary files a/lib/isr5.ppu and b/lib/isr5.ppu differ diff --git a/lib/isr6.ppu b/lib/isr6.ppu index 56fda7f2..8e659b08 100644 Binary files a/lib/isr6.ppu and b/lib/isr6.ppu differ diff --git a/lib/isr7.ppu b/lib/isr7.ppu index 7cf55096..75f78e00 100644 Binary files a/lib/isr7.ppu and b/lib/isr7.ppu differ diff --git a/lib/isr8.ppu b/lib/isr8.ppu index 5aeeb88f..54e414e6 100644 Binary files a/lib/isr8.ppu and b/lib/isr8.ppu differ diff --git a/lib/isr9.ppu b/lib/isr9.ppu index 212ff00c..07423423 100644 Binary files a/lib/isr9.ppu and b/lib/isr9.ppu differ diff --git a/lib/kernel.ppu b/lib/kernel.ppu index f7b50b73..b0588ba1 100644 Binary files a/lib/kernel.ppu and b/lib/kernel.ppu differ diff --git a/lib/keyboard.ppu b/lib/keyboard.ppu index f8c27a9a..bd1c5cc3 100644 Binary files a/lib/keyboard.ppu and b/lib/keyboard.ppu differ diff --git a/lib/libpconsole.a b/lib/libpconsole.a index 9f4fda74..b8e22bdc 100644 Binary files a/lib/libpconsole.a and b/lib/libpconsole.a differ diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index 9dc4a80f..cc231246 100644 Binary files a/lib/libpmultiboot.a and b/lib/libpmultiboot.a differ diff --git a/lib/libpsystem.a b/lib/libpsystem.a index b9e85c8a..87676177 100644 Binary files a/lib/libpsystem.a and b/lib/libpsystem.a differ diff --git a/lib/lmemorymanager.ppu b/lib/lmemorymanager.ppu index 1347cc55..c43c439d 100644 Binary files a/lib/lmemorymanager.ppu and b/lib/lmemorymanager.ppu differ diff --git a/lib/mouse.ppu b/lib/mouse.ppu index 54f8726b..fe3c65ea 100644 Binary files a/lib/mouse.ppu and b/lib/mouse.ppu differ diff --git a/lib/pmemorymanager.ppu b/lib/pmemorymanager.ppu index 590b2810..bb92378e 100644 Binary files a/lib/pmemorymanager.ppu and b/lib/pmemorymanager.ppu differ diff --git a/lib/strings.ppu b/lib/strings.ppu index 65dd0f1c..b4a818fd 100644 Binary files a/lib/strings.ppu and b/lib/strings.ppu differ diff --git a/lib/terminal.ppu b/lib/terminal.ppu index 35b63f2d..b2d1fe09 100644 Binary files a/lib/terminal.ppu and b/lib/terminal.ppu differ diff --git a/lib/util.ppu b/lib/util.ppu index 5e46d28e..d8116311 100644 Binary files a/lib/util.ppu and b/lib/util.ppu differ diff --git a/lib/vmemorymanager.ppu b/lib/vmemorymanager.ppu index b5726702..93276555 100644 Binary files a/lib/vmemorymanager.ppu and b/lib/vmemorymanager.ppu differ diff --git a/src/kernel.pas b/src/kernel.pas index 4d6acb80..acf794e8 100644 --- a/src/kernel.pas +++ b/src/kernel.pas @@ -129,7 +129,7 @@ begin testdriver.init(); E1000.init(); //AHCI_OLD.init(); - IDE.init(); + //IDE.init(); //Nothing beyond here USB.init(); pci.init(); @@ -152,6 +152,7 @@ begin console.setdefaultattribute(console.combinecolors(White, Black)); console.writestringln(''); console.writestringln('Press any key to boot in to Asuro Terminal...'); + BSOD('TOPKEK', 'Because why not?'); keyboard.hook(@temphook); util.halt_and_dont_catch_fire; diff --git a/src/util.pas b/src/util.pas index 7480ed11..39fb2201 100644 --- a/src/util.pas +++ b/src/util.pas @@ -38,6 +38,7 @@ procedure memcpy(source : uint32; dest : uint32; size : uint32); procedure halt_and_catch_fire(); procedure halt_and_dont_catch_fire(); +procedure BSOD(fault : pchar; info : pchar); procedure psleep(t : uint16); var @@ -227,4 +228,41 @@ begin getByte:= (i AND mask) SHR (8*index); end; +procedure BSOD(fault : pchar; info : pchar); +begin + console.setdefaultattribute(console.combinecolors(white, blue)); + console.clear; + console.writestringln(' '); + console.writestringln(' '); + console.writestring(' '); + console.setdefaultattribute(console.combinecolors(black, white)); + console.writestring(' SOMETHING HAS GONE WRONG AND ASURO HAD TO STOP! '); + console.setdefaultattribute(console.combinecolors(lwhite, blue)); + console.writestringln(' '); + console.writestringln(' '); + console.writestringln(' '); + console.writestringln(' Asuro encountered an error and could not recover.'); + console.writestringln(' '); + console.writestringln(' '); + console.writestringln(' The fault could have been caused by one or more of the following: '); + console.writestringln(' - A misconfigured device.'); + console.writestringln(' - A malfunctioning driver.'); + console.writestringln(' - A malfunctioning device.'); + console.writestringln(' - A devlopers inability to handle faults correctly.'); + console.writestringln(' - A Monkey inside the PC Case.'); + console.writestringln(' - Spilt Coffeee.'); + console.writestringln(' '); + console.writestringln(' '); + console.writestringln(' Details of the fault (for those boring enough to read) are as follows: '); + console.writestringln(' '); + console.writestring(' Fault ID: '); + console.writestringln(fault); + console.writestring(' Fault Info: '); + console.writestringln(info); + console.writestringln(' '); + console.writestringln(' '); + console.writestringln(' '); + halt_and_catch_fire(); +end; + end.