diff --git a/Asuro.iso b/Asuro.iso index 2b0e8830..c23e98f0 100644 Binary files a/Asuro.iso and b/Asuro.iso differ diff --git a/bin/kernel.bin b/bin/kernel.bin index f3490916..f5ae4f52 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 f3490916..f5ae4f52 100755 Binary files a/iso/boot/asuro.bin and b/iso/boot/asuro.bin differ diff --git a/lib/kernel.ppu b/lib/kernel.ppu index 14245e40..4d9e747e 100644 Binary files a/lib/kernel.ppu and b/lib/kernel.ppu differ diff --git a/lib/libpconsole.a b/lib/libpconsole.a index b03dafcb..3cbf73f5 100644 Binary files a/lib/libpconsole.a and b/lib/libpconsole.a differ diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index 98fd3980..bfff10f3 100644 Binary files a/lib/libpmultiboot.a and b/lib/libpmultiboot.a differ diff --git a/lib/libpsystem.a b/lib/libpsystem.a index 0de221cb..5c645ca2 100644 Binary files a/lib/libpsystem.a and b/lib/libpsystem.a differ diff --git a/src/driver/USB.pas b/src/driver/USB.pas index b07a1554..334e292e 100644 --- a/src/driver/USB.pas +++ b/src/driver/USB.pas @@ -9,6 +9,31 @@ uses pmemorymanager, vmemorymanager; +type + POHCI_MMR = ^TOHCI_MMR; + TOHCI_MMR = packed record + HcRevision : uint32; + HcControl : uint32; + HcCommandStatus : uint32; + HcIntStatus : uint32; + HcIntEnable : uint32; + HcIntDisable : uint32; + HcHCCA : uint32; + HcPeriodCurrentED : uint32; + HcControlHeadED : uint32; + HcControlCurrentED : uint32; + HcBulkHeadED : uint32; + HcBulkCurrentED : uint32; + HcDoneHead : uint32; + HcFmRemaining : uint32; + HcFmNumber : uint32; + HcPeriodicStart : uint32; + HcLSThreshold : uint32; + HcRhDescriptorA : uint32; + HcRhDescriptorB : uint32; + HcRhStatus : uint32; + end; + procedure init; implementation @@ -19,6 +44,7 @@ var count : uint32; i : uint32; block : uint32; + MMR : POHCI_MMR; begin console.writestringln('USB: INIT BEGIN.'); @@ -57,6 +83,9 @@ begin block:= devices[i].address0 SHR 22; force_alloc_block(block, 0); map_page(block, block); + MMR:= POHCI_MMR(devices[i].address0); + console.writestring('HcRevision? '); + console.writeintln(MMR^.HcRevision); end; end;