Merge branch 'feature/fpc-3.2.2' into feature/lvgl

# Conflicts:
#	.drone.yml
#	virtualbox-wrapper.ps1
This commit is contained in:
t3hn3rd committed 2026-02-26 15:51:37 +00:00
commit ceb03a9d7e
12 files changed
+1474 -194

No files matched your search

+14
View File
@@ -50,3 +50,17 @@ steps:
- | - |
curl -X PUT https://gitea.spexeah.com/api/packages/Spexeah/generic/asuro-iso/latest/Asuro.iso \ curl -X PUT https://gitea.spexeah.com/api/packages/Spexeah/generic/asuro-iso/latest/Asuro.iso \
-H "Authorization: token $GITEA_TOKEN" --upload-file "Asuro-$(git rev-parse --short HEAD).iso" -H "Authorization: token $GITEA_TOKEN" --upload-file "Asuro-$(git rev-parse --short HEAD).iso"
- name: msg status
image: appleboy/drone-discord
failure: ignore
depends_on:
- compile
when:
status: [success, failure, changed]
settings:
webhook_id:
from_secret: discord_webhook_id
webhook_token:
from_secret: discord_webhook_secret
message: "**Asuro Build**\n\n{{#success build.status}}✅ Build successful!\n\n{{else}}❌ Build failed!\n\n{{/success}}Repository: `{{repo.namespace}}/{{repo.name}}`\nBranch: `{{commit.branch}}`\nCommit: `{{commit.sha}}`\nAuthor: `{{commit.author}} <{{commit.email}}>`\n\nGitea Diff: [Link](<{{commit.link}}>)\nDrone Build: [Link](<{{build.link}}>)\n\nMessage: {{commit.message}}"
+13
View File
@@ -0,0 +1,13 @@
# Map all Aaron identities to a single preferred identity
Aaron Hance <[email protected]> aaron <aaron@6dbc8c32-bb84-406f-8558-d1cf31a0ab0c>
Aaron Hance <[email protected]> aaronhance <[email protected]>
Aaron Hance <[email protected]> aaron hance <[email protected]>
Aaron Hance <[email protected]> Aaron <[email protected]>
# Map all Kieron identities to a single preferred identity
Kieron Morris <[email protected]> kieron <kieron@6dbc8c32-bb84-406f-8558-d1cf31a0ab0c>
Kieron Morris <[email protected]> Kieron <[email protected]>
Kieron Morris <[email protected]> t3hn3rd <[email protected]>
# Map goose's multiple identities
goose <goose@6dbc8c32-bb84-406f-8558-d1cf31a0ab0c> goose <[email protected]>
+1 -1
View File
@@ -9,7 +9,7 @@ RUN apt-get update && apt-get install -y \
apt-get clean my room apt-get clean my room
SHELL ["/bin/bash", "-c"] SHELL ["/bin/bash", "-c"]
ARG FPC_VERSION=2.6.4 ARG FPC_VERSION=3.2.2
RUN curl -sL https://sourceforge.net/projects/freepascal/files/Linux/$FPC_VERSION/fpc-$FPC_VERSION.i386-linux.tar/download | tar -xf - && \ RUN curl -sL https://sourceforge.net/projects/freepascal/files/Linux/$FPC_VERSION/fpc-$FPC_VERSION.i386-linux.tar/download | tar -xf - && \
pushd fpc-$FPC_VERSION.i386-linux && ./install.sh && popd && \ pushd fpc-$FPC_VERSION.i386-linux && ./install.sh && popd && \
rm -rf fpc-$FPC_VERSION.i386-linux rm -rf fpc-$FPC_VERSION.i386-linux
+1 -1
View File
@@ -4,4 +4,4 @@ echo "======================="
echo " " echo " "
echo "Compiling FPC Sources..." echo "Compiling FPC Sources..."
echo " " echo " "
fpc -Aelf -gw -g -gl -n -vlewn -O3 -Op3 -Si -Sc -Sg -Xd -CX -XXs -CfSSE -CfSSE2 -Rintel -Pi386 -Tlinux -FElib/ -Fusrc/* -Fusrc/driver/* -Fusrc/driver/net/* src/kernel.pas fpc -Aelf -gw -g -gl -n -vlewn -O3 -OpPENTIUM3 -Si -Sc -Sg -Xd -CX -XXs -CfSSE -CfSSE2 -Rintel -Pi386 -Tlinux -FElib/ -Fusrc/* -Fusrc/driver/* -Fusrc/driver/net/* src/kernel.pas
+10
View File
@@ -34,4 +34,14 @@ SECTIONS
} }
end = .; _end = .; __end = .; end = .; _end = .; __end = .;
kernel_end = .; kernel_end = .;
/DISCARD/ : {
*(.init_array*)
*(.fini_array*)
*(.ctors)
*(.dtors)
*(.eh_frame*)
*(.gcc_except_table*)
*(.note.GNU-stack)
}
} }
+4 -1
View File
@@ -58,16 +58,19 @@ begin
end; end;
function sinb(port : uint16) : uint8; function sinb(port : uint16) : uint8;
var
tmp : uint8;
begin begin
asm asm
PUSH EAX PUSH EAX
PUSH EDX PUSH EDX
MOV DX, port MOV DX, port
IN AL, DX IN AL, DX
MOV sinb, AL MOV tmp, AL
POP EDX POP EDX
POP EAX POP EAX
end; end;
sinb := tmp;
io_wait; io_wait;
end; end;
+14 -6
View File
@@ -491,22 +491,26 @@ begin
{ Create a new header to the use in our DHCP REQUEST packet } { Create a new header to the use in our DHCP REQUEST packet }
SendHeader:= createHeader(); SendHeader:= createHeader();
CopyIPv4(puint8(@Header^.Your_IP[0]), puint8(@SendHeader^.Client_IP[0])); CopyIPv4(@getIPv4Config^.Address[0], puint8(@SendHeader^.Client_IP[0]));
CopyIPv4(puint8(@Header^.Server_IP[0]), puint8(@SendHeader^.Server_IP[0])); CopyIPv4(puint8(@Header^.Server_IP[0]), puint8(@SendHeader^.Server_IP[0]));
processHeader(SendHeader); processHeader(SendHeader);
{ Setup Options } { Setup Options }
SendOptions:= newOptions(); SendOptions:= newOptions();
{ Create a message type option and assign it the value REQUEST } { Create a message type option and assign it the value REQUEST }
SendMsgType:= ord(TDHCPMessageType.REQUEST); SendMsgType:= ord(TDHCPMessageType.REQUEST);
NewOption(SendOptions, TDHCPOpCode.DHCP_MESSAGE_TYPE, void(@SendMsgType), 1, false); NewOption(SendOptions, TDHCPOpCode.DHCP_MESSAGE_TYPE, void(@SendMsgType), 1, false);
{ Create a Requested IP option and assign it the value from the OFFER packet header } { Create a Requested IP option and assign it the value from the OFFER packet header }
NewOption(SendOptions, TDHCPOpCode.REQUESTED_IP_ADDRESS, void(@SendHeader^.Client_IP[0]), 4, false); NewOption(SendOptions, TDHCPOpCode.REQUESTED_IP_ADDRESS, void(@Header^.Your_IP[0]), 4, false);
{ Create a Server Identifier Option and assign it the value from the OFFER packet options } { Create a Server Identifier Option and assign it the value from the OFFER packet options }
Option:= getOptionByOpcode(Options, TDHCPOpCode.SERVER_IDENTIFIER); Option:= getOptionByOpcode(Options, TDHCPOpCode.SERVER_IDENTIFIER);
if Option <> nil then begin if Option <> nil then begin
NewOption(SendOptions, TDHCPOpCode.SERVER_IDENTIFIER, void(@Option^.Value[0]), 4, false); NewOption(SendOptions, TDHCPOpCode.SERVER_IDENTIFIER, void(@Option^.Value[0]), 4, false);
end; end;
{ Create a Parameter Request List, Request the following: Netmask, Gateway, DNS Name & DNS Server } { Create a Parameter Request List, Request the following: Netmask, Gateway, DNS Name & DNS Server }
RequestParams[0]:= Ord(TDHCPOpCode.SUBNET_MASK); RequestParams[0]:= Ord(TDHCPOpCode.SUBNET_MASK);
RequestParams[1]:= Ord(TDHCPOpCode.ROUTER); RequestParams[1]:= Ord(TDHCPOpCode.ROUTER);
@@ -522,9 +526,13 @@ begin
MAC:= getMAC(); MAC:= getMAC();
packetCtx:= PPacketContext(Kalloc(sizeof(TPacketContext))); packetCtx:= PPacketContext(Kalloc(sizeof(TPacketContext)));
packetCtx^.TTL:= 128; packetCtx^.TTL:= 128;
copyMAC(@BROADCAST_MAC[0], @packetCtx^.MAC.Destination[0]);
{ Copy over MAC - src: broadcast - dst: DHCP Server }
copyMAC(MAC, @packetCtx^.MAC.Source[0]); copyMAC(MAC, @packetCtx^.MAC.Source[0]);
copyIPv4(@NULL_IP[0], @packetCtx^.IP.Source[0]); copyMAC(@BROADCAST_MAC[0], @packetCtx^.MAC.Destination[0]);
{ Copy over IP - src: NULL - dst: Broadcast }
CopyIPv4(@getIPv4Config^.Address[0], @packetCtx^.IP.Source[0]);
copyIPv4(@BROADCAST_IP[0], @packetCtx^.IP.Destination[0]); copyIPv4(@BROADCAST_IP[0], @packetCtx^.IP.Destination[0]);
{ Setup UDPContext (UDP) & copy in the correct details } { Setup UDPContext (UDP) & copy in the correct details }
@@ -570,7 +578,7 @@ begin
{ Check the frame is for us and then process } { Check the frame is for us and then process }
MAC:= getMAC; MAC:= getMAC;
if MACEqual(@context^.PacketContext^.MAC.Destination[0], MAC) then begin if MACEqual(@context^.PacketContext^.MAC.Destination[0], MAC) or MACEqual(@context^.PacketContext^.MAC.Destination[0], BROADCAST_MAC) then begin
Outputln('DHCP','Frame is addressed to us.'); Outputln('DHCP','Frame is addressed to us.');
{ Check the message type is client specific } { Check the message type is client specific }
If Header^.Message_Type = $02 then begin If Header^.Message_Type = $02 then begin
@@ -655,7 +663,7 @@ begin
copyMAC(@BROADCAST_MAC[0], @packetCtx^.MAC.Destination[0]); copyMAC(@BROADCAST_MAC[0], @packetCtx^.MAC.Destination[0]);
MAC:= getMAC; MAC:= getMAC;
copyMAC(MAC, @packetCtx^.MAC.Source[0]); copyMAC(MAC, @packetCtx^.MAC.Source[0]);
copyIPv4(@NULL_IP[0], @packetCtx^.IP.Source[0]); CopyIPv4(@getIPv4Config^.Address[0], @packetCtx^.IP.Source[0]);
copyIPv4(@BROADCAST_IP[0], @packetCtx^.IP.Destination[0]); copyIPv4(@BROADCAST_IP[0], @packetCtx^.IP.Destination[0]);
{ Setup UDPContext (UDP) } { Setup UDPContext (UDP) }
+1050 -178
View File
File diff suppressed because it is too large. Load diff
+348 -1
View File
File diff suppressed because it is too large. Load diff
+16 -4
View File
@@ -150,10 +150,13 @@ begin
end; end;
function getESP : uint32; function getESP : uint32;
var
tmp: uint32;
begin begin
asm asm
MOV getESP, ESP MOV tmp, ESP
end; end;
getESP := tmp;
end; end;
function HexCharToDecimal(hex : char) : uint8; function HexCharToDecimal(hex : char) : uint8;
@@ -382,6 +385,8 @@ begin
end; end;
function inl(port : uint16) : uint32; [public, alias: 'util_inl']; function inl(port : uint16) : uint32; [public, alias: 'util_inl'];
var
tmp : uint32;
begin begin
//serial.sendString('[inl]'); //serial.sendString('[inl]');
//serial.sendHex(port); //serial.sendHex(port);
@@ -390,14 +395,17 @@ begin
PUSH EDX PUSH EDX
MOV DX, port MOV DX, port
IN EAX, DX IN EAX, DX
MOV inl, EAX MOV tmp, EAX
POP EDX POP EDX
POP EAX POP EAX
end; end;
inl := tmp;
io_wait; io_wait;
end; end;
function inw(port : uint16) : uint16; [public, alias: 'util_inw']; function inw(port : uint16) : uint16; [public, alias: 'util_inw'];
var
tmp : uint16;
begin begin
//serial.sendString('[inw]'); //serial.sendString('[inw]');
//serial.sendHex(port); //serial.sendHex(port);
@@ -406,14 +414,17 @@ begin
PUSH EDX PUSH EDX
MOV DX, port MOV DX, port
IN AX, DX IN AX, DX
MOV inw, AX MOV tmp, AX
POP EDX POP EDX
POP EAX POP EAX
end; end;
inw := tmp;
io_wait; io_wait;
end; end;
function inb(port : uint16) : uint8; [public, alias: 'util_inb']; function inb(port : uint16) : uint8; [public, alias: 'util_inb'];
var
tmp : uint8;
begin begin
//serial.sendString('[inb]'); //serial.sendString('[inb]');
//serial.sendHex(port); //serial.sendHex(port);
@@ -422,10 +433,11 @@ begin
PUSH EDX PUSH EDX
MOV DX, port MOV DX, port
IN AL, DX IN AL, DX
MOV inb, AL MOV tmp, AL
POP EDX POP EDX
POP EAX POP EAX
end; end;
inb := tmp;
io_wait; io_wait;
end; end;
+2 -2
View File
@@ -170,7 +170,7 @@ begin
klalloc:= Address; klalloc:= Address;
end; end;
function kalloc(size : uint32) : void; function kalloc(size : uint32) : void; [public, alias: 'kernel_kalloc'];
var var
Heap_Entries : uint32; Heap_Entries : uint32;
i, j : uint32; i, j : uint32;
@@ -217,7 +217,7 @@ begin
//pop_trace; //pop_trace;
end; end;
procedure kfree(area : void); procedure kfree(area : void); [public, alias: 'kernel_kfree'];
var var
hp : PHeapPage; hp : PHeapPage;
entry : uint32; entry : uint32;
+1
View File
@@ -52,6 +52,7 @@ if ($Command -eq 'up') {
} }
Receive-Job $MonitorJob Receive-Job $MonitorJob
} }
Get-Job | Stop-Job | Remove-Job -Force
} elseif ($Command -eq 'down') { } elseif ($Command -eq 'down') {
Write-Output "Stopping $MachineName" Write-Output "Stopping $MachineName"
VBoxManage.exe controlvm $MachineName poweroff VBoxManage.exe controlvm $MachineName poweroff