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

This commit is contained in:
kieron 2018-05-10 15:35:35 +00:00
parent ad10fa1a19
commit 413ca35e61
72 changed files with 16 additions and 3 deletions

BIN
Asuro.iso

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -117,6 +117,7 @@ type
const
BROADCAST_MAC : Array[0..5] of uint8 = ($FF, $FF, $FF, $FF, $FF, $FF);
NULL_MAC : Array[0..5] of uint8 = ($00, $00, $00, $00, $00, $00);
FORCE_MAC : Array[0..5] of uint8 = ($08, $00, $27, $E6, $3F, $81);
implementation

View File

@ -56,9 +56,10 @@ begin
memcpy(uint32(@hdr), uint32(buffer), sizeof(TEthernetHeader));
memcpy(uint32(p_data), uint32(buffer)+sizeof(TEthernetHeader), p_len);
FCS:= puint32((uint32(buffer) + size) - 4);
FCS^:= crc32(puint8(buffer), size - 5);
FCS^:= switchendian32(crc32(puint8(buffer), size - 4));
//writehexlnWND(FCS^, getTerminalHWND);
net.send(buffer, size);
//printmemoryWND(uint32(buffer), size, 16, ' ', true, getTerminalHWND);
kfree(buffer);
end;
end;

View File

@ -95,6 +95,7 @@ begin
hdr^.Operation_Hi:= op SHR 8;
hdr^.Operation_Lo:= op AND $FF;
copyMAC(@p_context^.MAC.Source[0], @hdr^.Source_Hardware[0]);
//copyMAC(@FORCE_MAC[0], @hdr^.Source_Hardware[0]);
copyIPv4(@p_context^.IP.Source[0], @hdr^.Source_Protocol[0]);
copyMAC(@p_context^.MAC.Destination[0], @hdr^.Destination_Hardware[0]);
copyIPv4(@p_context^.IP.Destination[0], @hdr^.Destination_Protocol[0]);

View File

@ -118,6 +118,7 @@ begin
CopyIPv4(@Config.Gateway[0], @context^.IP.Destination[0]);
CopyIPv4(@Config.Address[0], @context^.IP.Source[0]);
CopyMAC(GetMAC, @context^.MAC.Source[0]);
//copyMAC(@FORCE_MAC[0], @context^.MAC.Source[0]);
CopyMAC(@NULL_MAC[0], @context^.MAC.Destination[0]);
arp.send($1, $0800, $1, context);
freePacketContext(context);

View File

@ -9,14 +9,14 @@ const
VERSION_SUB = '1';
REVISION = '677';
RELEASE = 'ia';
LINE_COUNT = 28005;
LINE_COUNT = 28002;
FILE_COUNT = 90;
DRIVER_COUNT = 32;
FPC_VERSION = '2.6.4';
NASM_VERSION = '2.10.09';
MAKE_VERSION = '3.81';
COMPILE_DATE = '10/05/18';
COMPILE_TIME = '15:32:53';
COMPILE_TIME = '16:35:27';
implementation

View File

@ -24,6 +24,7 @@ procedure GPF();
function hi(b : uint8) : uint8;
function lo(b : uint8) : uint8;
function switchendian(b : uint8) : uint8;
function switchendian32(b : uint32) : uint32;
function getWord(i : uint32; hi : boolean) : uint16;
function getByte(i : uint32; index : uint8) : uint8;
@ -69,6 +70,14 @@ implementation
uses
console, RTC, cpu;
function switchendian32(b : uint32) : uint32;
begin
switchendian32:= ((b AND $FF000000) SHR 24) OR
((b AND $00FF0000) SHR 8) OR
((b AND $0000FF00) SHL 8) OR
((b AND $000000FF) SHL 24);
end;
function getESP : uint32;
begin
asm