git-svn-id: https://spexeah.com:8443/svn/Asuro@498 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c

This commit is contained in:
aaron committed 2018-04-11 19:34:08 +00:00
1 parent 44d31235d7
commit 5f39ce826f
3 files changed
+78 -55

No files matched your search

+4 -4
View File
@@ -136,7 +136,7 @@ var
secotrs : uint32; secotrs : uint32;
cpacityMB : uint32; cpacityMB : uint32;
buffer : puint32; buffer : puint32;
i : uint8; i : uint32;
d : uint8; d : uint8;
begin begin
@@ -153,20 +153,20 @@ begin
console.writeint(cpacityMB); console.writeint(cpacityMB);
console.writestringln('MB'); console.writestringln('MB');
buffer := puint32(kalloc(1024)); buffer := puint32(kalloc(1024 * 2000));
//buffer^:= secotrs; //buffer^:= secotrs;
for i:=0 to 20 do begin for i:=0 to 20 do begin
puint32(buffer + (i div 2))^:= $10010110; puint32(buffer + (i div 2))^:= $10010110;
end; end;
writePIO28(d, 2, 1, buffer); writePIO28(d, 2, 2, buffer);
//buffer^:= $FFFF; //buffer^:= $FFFF;
for i:=0 to 20 do begin for i:=0 to 20 do begin
puint32(buffer + (i div 2))^:= $FFFFFFFF; puint32(buffer + (i div 2))^:= $FFFFFFFF;
end; end;
readPIO28(d, 2, 1, buffer); readPIO28(d, 2, 2, buffer);
for i:=0 to 20 do begin for i:=0 to 20 do begin
if puint32(buffer + (i div 2))^ <> $10010110 then begin if puint32(buffer + (i div 2))^ <> $10010110 then begin
File diff suppressed because it is too large. Load diff
+5 -5
View File
@@ -25,11 +25,12 @@ type
TControllerType = (ControllerIDE, ControllerUSB, ControllerAHCI, ControllerNET); TControllerType = (ControllerIDE, ControllerUSB, ControllerAHCI, ControllerNET);
PStorage_volume = ^TStorage_Volume; PStorage_volume = ^TStorage_Volume;
PStorage_device = ^TStorage_Device; PStorage_device = ^TStorage_Device;
APStorage_Volume = array[0..10] of PStorage_volume;
PPIOHook = procedure(volume : PStorage_volume; directory : pchar; byteCount : uint32; buffer : puint32); PPIOHook = procedure(volume : PStorage_volume; directory : pchar; byteCount : uint32; buffer : puint32);
PPHIOHook = procedure(volume : PStorage_device; addr : uint32; sectors : uint32; buffer : puint32); PPHIOHook = procedure(volume : PStorage_device; addr : uint32; sectors : uint32; buffer : puint32);
PPCreateHook = procedure(disk : PStorage_Device; sectors : uint32; start : uint32); PPCreateHook = procedure(disk : PStorage_Device; sectors : uint32; start : uint32; config : puint32);
PPDetectHook = procedure(disk : PStorage_Device); PPDetectHook = procedure(disk : PStorage_Device; volumes : Puint32);
PPHIOHook_ = procedure; PPHIOHook_ = procedure;
@@ -37,8 +38,8 @@ type
sName : pchar; sName : pchar;
writeCallback : PPIOHook; writeCallback : PPIOHook;
readCallback : PPIOHook; readCallback : PPIOHook;
createCallback : uint32; createCallback : PPCreateHook;
detectCallback : uint32; detectCallback : PPDetectHook;
end; end;
TStorage_Volume = record TStorage_Volume = record
@@ -49,7 +50,6 @@ type
filesystemInfo : Puint32; // type dependant on filesystem. can be null if not creating volume now filesystemInfo : Puint32; // type dependant on filesystem. can be null if not creating volume now
directory : PLinkedListBase; // type dependant on filesytem? directory : PLinkedListBase; // type dependant on filesytem?
end; end;
APStorage_Volume = array[0..10] of PStorage_volume;
TStorage_Device = record TStorage_Device = record
idx : uint8; idx : uint8;