From 9798b158e88122a3cf63cde1321ce8ac27084e65 Mon Sep 17 00:00:00 2001
From: kieron <kieron@6dbc8c32-bb84-406f-8558-d1cf31a0ab0c>
Date: Fri, 11 May 2018 08:12:39 +0000
Subject: [PATCH] git-svn-id: https://spexeah.com:8443/svn/Asuro@715
 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c

---
 Asuro.iso                  | Bin 5251072 -> 5251072 bytes
 bin/kernel.bin             | Bin 196836 -> 196836 bytes
 iso/boot/asuro.bin         | Bin 196836 -> 196836 bytes
 lib/arp.ppu                | Bin 5642 -> 5687 bytes
 lib/asuro.ppu              | Bin 2128 -> 2128 bytes
 lib/eth2.ppu               | Bin 3093 -> 3093 bytes
 lib/libpconsole.a          | Bin 271148 -> 271148 bytes
 lib/libpmultiboot.a        | Bin 29980 -> 29980 bytes
 lib/libpsystem.a           | Bin 191880 -> 191880 bytes
 lib/shell.ppu              | Bin 4916 -> 4916 bytes
 lib/terminal.ppu           | Bin 11999 -> 11999 bytes
 src/driver/net/l2/eth2.pas |   4 +---
 src/driver/net/l3/arp.pas  |  29 +++++++++++++++++++----------
 src/include/asuro.pas      |   4 ++--
 14 files changed, 22 insertions(+), 15 deletions(-)

diff --git a/Asuro.iso b/Asuro.iso
index f662712da97d900aa1d252f768d7ae9e37f4ac0c..eb783cacc684c9ecf12e016deb3792171e49aefa 100644
GIT binary patch
delta 11004
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
E1Bu+JyZ`_I

delta 10979
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

diff --git a/bin/kernel.bin b/bin/kernel.bin
index fc0ac39bcafc7362809d58aca71caacf93a8db90..f8c3ce539aa5de952bcfd8a2cc6ac1d2317bb1da 100755
GIT binary patch
delta 1316
zcmY*Ye{54#6ux(T?J8N;bV(CqkWR8Kf|Dqk$p*w>=uAYnW<QJpmpIBg#b^+_>4>u(
z?XcHp&BCUy7=Lum5S_#<cGB0zm}i@e;2#FrLMkDFK-F7TO@(b#t-YSpvVr~M^qlj3
z-#Pc3dtYj}A~jqQ8m0L#9Ss_2$Jht&AEG>LQQUOzoRj@14;f97Idu~uWWyO2A2~au
zkAY9r{5xiipZib<)ffQp#F7vr!sI&&m?@I*YL#A1Vzvy|{Urpm@qlfa#aWI^i$Vl!
zSr!jGZs0e@{tm8x=HYJ%k-NAzUI{|EJH@_dNp8htcShIEy$h1umGNGcWE<!H!-O!M
z6A~CrK~wy{20i5Nq}+c&9=dcoE|Gw%j*Ny69P6`EPdKUWdVsRYnsgoYM`}$pZFjQ-
zv|wFuWNo0HomX)p{`1p9@R<!@+WrO81Tc%MzF(>|{_!y((w_op!gIM^<04uBrRj(p
zWmP3!5P1W@D^V^0g(Y@<hm{+zAAF%TFhE+^wGz1dVhqqzJlTmYU@M<&goZy9BXt@J
z{Skyjw3xs}SrMNq;ol%$35^=BzxLIFnU9syDyDA)m23;Wvu#wJ$MDE}L4;CQsx+V0
zzeQbxrwvC6ViJdlWuG!@PSs%K<Pjla#BSE2DG;fPs64Sph*>>KDc9ze${uQ6pF`j-
zD9J~J5XH%0i-WNH5zSS`X8D^+TMu1VYy1^>=jVWDyN&lnuE^7SH3Lw$Do1;0tvd)*
z^)uw(_bzO196aZ#W}}g;xXwPpdh@30B(vp;Ik_v(?9xp)$LwpLXE4_OX4!(`;j0j6
z(LS)M9>?7|2aB_UajN$c6G_HCU+owT2)8($02coELKe2r$>BWv!0@$;@Uk)Fml>4!
z{ZAnhftfm_79Us4({9$LjeO=}L0}DUrh+|NV`PcY>mc&)tSJi(mK<H^P|1-z+YuwK
z?fzt~z(P+-9@9zBKfl#$utCR!3s7)&ufUS$?IP%xYS<;&g0MKdu=N&<Vz^4s)J?b)
z>Y(fPmPj`#-rUCi@>xB0rT*l$sg;1N;&)>T4~qClE5R*%3#Rb=h^xgw8Fo;MMT7DA
zPvwNf-T+kff#HuSUpnZc72~UkoUAN6XiLMH4zs3)kYZ?sEl;l!6#4cK_kRnXbVUyC
zql1PuJ2>9nbA+qP(tf&ab7#8vp6{R4qes<zre2FS!#ckv+?|H<)qCJ(?%{Li3MJhW
z5yy+PTRM4wrW?u|n;zWU^iacF+2b^lJzh56TD7CyUftgNN`LRGuIi57mtC8Pa(Jn%
P5b-USy>!QWRCnb+Wooct

delta 1288
zcmY*YZ){Ul6u-B7?Fwml7VH<rp`=@24zoC!1tHdCZ~mDq3#?xTMCWRU3=?9y7?h<Q
z?X-7~VhPi?8A!U!5JHF=W_WLf;G;Dqd{IOU4H#Xd;w@`Tr5ovD?e*Mt8~8q)d(Qd&
z&bjB$ed$3<de9P$;0u#DGHSxBj(z^w2l&*aP4Qu$E9)WO%L8Unb!D|@5JKy(lEl!h
z0poelkybox)#>%)jA`aDXs72G8)9Pc2w<WrWdr&OoC@dyNl;c`j7T&r-6wHUplFt{
zu#_Y5@XIEe&od^f$xGB6l8PRZ^VBjFlKut!m^ikqv+)8#vWo`dD@1i$R+iGV20Y}~
zs(u>yOCUD`cLiCZlpF%5$wO{(;|x^7&)Io6cc<k3U*v)5D{%pZzp3MuPwpS<U4suy
zrnI(3{OW`~Q-@zsYek&t@QwR_Z_ueDR$@cC_|ZWi(>50rAJ>9^tkmgOV~kZOHlUD1
z+eMylQ~o_qdn>tDK^{L3$YuIyISjhJRnHhTRgxU%N$Md9o$KUT`2cou{7%`_eB+$(
z8W1++-~V#PN`I*Mzu@jBaLcRhvez!i2kqv-ca}uhTZc5AgURb97ERw?sR#9bhqjy-
zo>xn3g7*{4ZL{hg&19y|=NXHk4y!(O6@s*B9+}<ASklNtF*Tr{mG*ADW^I}yU67Lw
zF~-VWk`$eqhZXBy14+`0$|v2prgoO|9^*XeAzlXd4LoB&Hv#oS<ytqc^@Z-hjUymv
z-w~K%5H!zar`e1aRZlM>Zx_WUQ$#A1eX^@aI)nwaKsr|MA<)-er)=ZFgLlEur+PtZ
zM&57mCm7@#AUxVSB%)Mobm_+VF!Ql131IP$KK(b0p@l*{ognBgc#j%4>DpmPvEd$L
ziG`=a2ONnxw_EkE&2;v+65}}nSqs@^H<Ltk4+Mo;?1tz&6{RY=x1tFCtsFz%t)Ub=
zXoSMA3x4sO|DQh_beK%fxEoMVx)x!<KU@Ywf}KpuHV(6EGcP=Vc`)n}V(P}-%1b@C
z=B)~8ff6Xx_g5#4{8k)FZ8^PYpe6hX?&5`V{KTU10C#W~ub<;u*-$R^V4KYk?b9Et
z5sK{tRP%zMhm@Hf{Guhe<Zv8Tn%%gyIkLm5YY|RqZHFmGmk2lHhyTX^4S2$>o^|5`
zrsac_Z|_Y+3(Cemyye-JO!+}?NE*3@wPLnGpK`)D&m#J52GUP=!DgPKt8SDkal`6F
zAKon}jr*|k+<u&Cu6As0dTw*m#*cF+v6?$+7-?5V=M2T8Q9&KKZ+Lgv(dZ+e;;P&K
E0gqUgW&i*H

diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin
index fc0ac39bcafc7362809d58aca71caacf93a8db90..f8c3ce539aa5de952bcfd8a2cc6ac1d2317bb1da 100755
GIT binary patch
delta 1316
zcmY*Ye{54#6ux(T?J8N;bV(CqkWR8Kf|Dqk$p*w>=uAYnW<QJpmpIBg#b^+_>4>u(
z?XcHp&BCUy7=Lum5S_#<cGB0zm}i@e;2#FrLMkDFK-F7TO@(b#t-YSpvVr~M^qlj3
z-#Pc3dtYj}A~jqQ8m0L#9Ss_2$Jht&AEG>LQQUOzoRj@14;f97Idu~uWWyO2A2~au
zkAY9r{5xiipZib<)ffQp#F7vr!sI&&m?@I*YL#A1Vzvy|{Urpm@qlfa#aWI^i$Vl!
zSr!jGZs0e@{tm8x=HYJ%k-NAzUI{|EJH@_dNp8htcShIEy$h1umGNGcWE<!H!-O!M
z6A~CrK~wy{20i5Nq}+c&9=dcoE|Gw%j*Ny69P6`EPdKUWdVsRYnsgoYM`}$pZFjQ-
zv|wFuWNo0HomX)p{`1p9@R<!@+WrO81Tc%MzF(>|{_!y((w_op!gIM^<04uBrRj(p
zWmP3!5P1W@D^V^0g(Y@<hm{+zAAF%TFhE+^wGz1dVhqqzJlTmYU@M<&goZy9BXt@J
z{Skyjw3xs}SrMNq;ol%$35^=BzxLIFnU9syDyDA)m23;Wvu#wJ$MDE}L4;CQsx+V0
zzeQbxrwvC6ViJdlWuG!@PSs%K<Pjla#BSE2DG;fPs64Sph*>>KDc9ze${uQ6pF`j-
zD9J~J5XH%0i-WNH5zSS`X8D^+TMu1VYy1^>=jVWDyN&lnuE^7SH3Lw$Do1;0tvd)*
z^)uw(_bzO196aZ#W}}g;xXwPpdh@30B(vp;Ik_v(?9xp)$LwpLXE4_OX4!(`;j0j6
z(LS)M9>?7|2aB_UajN$c6G_HCU+owT2)8($02coELKe2r$>BWv!0@$;@Uk)Fml>4!
z{ZAnhftfm_79Us4({9$LjeO=}L0}DUrh+|NV`PcY>mc&)tSJi(mK<H^P|1-z+YuwK
z?fzt~z(P+-9@9zBKfl#$utCR!3s7)&ufUS$?IP%xYS<;&g0MKdu=N&<Vz^4s)J?b)
z>Y(fPmPj`#-rUCi@>xB0rT*l$sg;1N;&)>T4~qClE5R*%3#Rb=h^xgw8Fo;MMT7DA
zPvwNf-T+kff#HuSUpnZc72~UkoUAN6XiLMH4zs3)kYZ?sEl;l!6#4cK_kRnXbVUyC
zql1PuJ2>9nbA+qP(tf&ab7#8vp6{R4qes<zre2FS!#ckv+?|H<)qCJ(?%{Li3MJhW
z5yy+PTRM4wrW?u|n;zWU^iacF+2b^lJzh56TD7CyUftgNN`LRGuIi57mtC8Pa(Jn%
P5b-USy>!QWRCnb+Wooct

delta 1288
zcmY*YZ){Ul6u-B7?Fwml7VH<rp`=@24zoC!1tHdCZ~mDq3#?xTMCWRU3=?9y7?h<Q
z?X-7~VhPi?8A!U!5JHF=W_WLf;G;Dqd{IOU4H#Xd;w@`Tr5ovD?e*Mt8~8q)d(Qd&
z&bjB$ed$3<de9P$;0u#DGHSxBj(z^w2l&*aP4Qu$E9)WO%L8Unb!D|@5JKy(lEl!h
z0poelkybox)#>%)jA`aDXs72G8)9Pc2w<WrWdr&OoC@dyNl;c`j7T&r-6wHUplFt{
zu#_Y5@XIEe&od^f$xGB6l8PRZ^VBjFlKut!m^ikqv+)8#vWo`dD@1i$R+iGV20Y}~
zs(u>yOCUD`cLiCZlpF%5$wO{(;|x^7&)Io6cc<k3U*v)5D{%pZzp3MuPwpS<U4suy
zrnI(3{OW`~Q-@zsYek&t@QwR_Z_ueDR$@cC_|ZWi(>50rAJ>9^tkmgOV~kZOHlUD1
z+eMylQ~o_qdn>tDK^{L3$YuIyISjhJRnHhTRgxU%N$Md9o$KUT`2cou{7%`_eB+$(
z8W1++-~V#PN`I*Mzu@jBaLcRhvez!i2kqv-ca}uhTZc5AgURb97ERw?sR#9bhqjy-
zo>xn3g7*{4ZL{hg&19y|=NXHk4y!(O6@s*B9+}<ASklNtF*Tr{mG*ADW^I}yU67Lw
zF~-VWk`$eqhZXBy14+`0$|v2prgoO|9^*XeAzlXd4LoB&Hv#oS<ytqc^@Z-hjUymv
z-w~K%5H!zar`e1aRZlM>Zx_WUQ$#A1eX^@aI)nwaKsr|MA<)-er)=ZFgLlEur+PtZ
zM&57mCm7@#AUxVSB%)Mobm_+VF!Ql131IP$KK(b0p@l*{ognBgc#j%4>DpmPvEd$L
ziG`=a2ONnxw_EkE&2;v+65}}nSqs@^H<Ltk4+Mo;?1tz&6{RY=x1tFCtsFz%t)Ub=
zXoSMA3x4sO|DQh_beK%fxEoMVx)x!<KU@Ywf}KpuHV(6EGcP=Vc`)n}V(P}-%1b@C
z=B)~8ff6Xx_g5#4{8k)FZ8^PYpe6hX?&5`V{KTU10C#W~ub<;u*-$R^V4KYk?b9Et
z5sK{tRP%zMhm@Hf{Guhe<Zv8Tn%%gyIkLm5YY|RqZHFmGmk2lHhyTX^4S2$>o^|5`
zrsac_Z|_Y+3(Cemyye-JO!+}?NE*3@wPLnGpK`)D&m#J52GUP=!DgPKt8SDkal`6F
zAKon}jr*|k+<u&Cu6As0dTw*m#*cF+v6?$+7-?5V=M2T8Q9&KKZ+Lgv(dZ+e;;P&K
E0gqUgW&i*H

diff --git a/lib/arp.ppu b/lib/arp.ppu
index 29b6182ed0ee52d966a9f2b7dee5d6689d314fe6..973b83cc3bde986b94377e7b016184b2ecabe1b7 100644
GIT binary patch
delta 144
zcmeCu*{-7)5D;o;Y|7Hi$iU2SAV7(MUyOl)o39~(y=TwN6b1%{kco<#%pL(>H~LmF
zGNx}n!T6Ms(RcDXW?RO<&2N}*GEct1%rQBEMQHL#c6$*HMg~S^peAER1{l+1GaH97
rBjb<BR-6uuIg_h7-C0-|Sr{iD<vh$Nyt$K0lWX!~Ug6D0MO+yHgZ(6S

delta 112
zcmV-$0FVE-EQ%~4P*7DdGc^Q*0RRI4z)&Ip;uQb@3l4x_2aLR#V*mgEQjsAk1Bia~
zu}yjb0XwtE0p$S!OOvhxJpoU%>;u^YliLSFvor`X0RiumW(hz6Ym=u5M*{!>`;+ns
S!vPAjwhAc<0Rpq&6juRl!y_R8

diff --git a/lib/asuro.ppu b/lib/asuro.ppu
index 292d9dd2c3279abc65b6be08418b6ecbb04778a4..95c73da184eff4bbc40a4de9c10a8e480131146f 100644
GIT binary patch
delta 45
zcmV+|0Mh@^5YP~i6bOW%@UP>n`GJufG6Hl^u~4D~0f4jf1u_8#IXW>iIx{x2EC(b3
DzgG}&

delta 45
zcmca0a6w>#2*>;DT7dyyCk9TGF=Fa=-x#onm9cX3XI3Ldb_*+G6DwoW%{uHVi~y36
B4;26a

diff --git a/lib/eth2.ppu b/lib/eth2.ppu
index e870da8f431bc8e9903685dd2b526477cc09f676..b73ba1f264c40f787c08ecdd5d148055bb3aac12 100644
GIT binary patch
delta 51
zcmbO#F;!xM4|7q#*Ny%KY>Y9R53uDhGdfPz<w^#U6S=g3<X$d)Ao-T-Cy;#3tp@<X
CZxK5H

delta 51
zcmbO#F;!xM4>Nc5myP}fY>aW653uDhGdfS!<w^#U6S=g3<X$d)Ao-T-Cy;#3tp@<N
Cyb%fj

diff --git a/lib/libpconsole.a b/lib/libpconsole.a
index 10e8193fe704bddd9e6c838cb49ad7dacd3ad4d5..9e6f54e0b1b08550b1af90476525f207c3805053 100644
GIT binary patch
delta 3484
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

delta 3484
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

diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a
index 3025a1e30682dfb8cd913da59867f915d3ad3f36..82185242aeed3400b118f6476d2840480a4d2574 100644
GIT binary patch
delta 490
zcmbR9igC^>#tCvPmX@Yw8<qT6!HmfYMq-=0SpP61cndfWF~NA^n`?RABJo=Jf5LfU
zn-_3yXPWFU$_-I1U@ft^O!N<$JimorzP^H?sgaq15y)n+g<y^Ha!`#5MnG#6wHP<&
z%YSA>vRP3U?ke%kTUE5-Jh9Ec)Q`b=5}WU63!(5d87Hqb=btRYBD7gecON64DbNWB
z7i?BA(ts-$+ni*&3KA5X1+1aQ09l3*BdVCVHW%2RfVwKcPhxY3BL_tD<^-1=P-8$o
z_w$xyoSZK&usPQADpWZ{_#Y%dHV62rAlcd%cnXPE6#9rC;_(C*@y+?E$xt~E?`=je
Yl1gyMdFR7JPHb~QK5}&V7M*7T09sLs3IG5A

delta 490
zcmbR9igC^>#tCvP=4R%m8<qT6!HmfYMq-=0SpP61cndfWF~NA^n`?RABJo=Jf5LfU
zn-_3yXPWFU$_-I1U@ft^O!N<$JimorzP^H?sgaq15y)n+g<y^Ha!`#5MnG#6wHP<&
z%YSA>vRP3U?ke%kTUE5-Jh9Ec)Q`b=5}WU63!(5d87Hqb=btRYBD7gecON64DbNWB
z7i?BA(ts-$+ni*&3KA5X1+1aQ09l3*BdVCVHW%2RfVwKcPhxY3BL_tD<^-1=P-8$o
z_w$xyoSZK&usPQADpWZ{_#Y%dHV62rAlcd%cnXPE6#9rC;_(C*@y+?E$xt~E?`=je
Yl1gyMdFR7JPHb~QK5}&V7M*7T0ON3pjsO4v

diff --git a/lib/libpsystem.a b/lib/libpsystem.a
index 2c153c13b3377ba3331c64b4fc1183bd688c07fa..b8bd105a4bba4ead3ff2e84836ec1306429162fa 100644
GIT binary patch
delta 4019
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
A00000

delta 4019
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
Av;Y7A

diff --git a/lib/shell.ppu b/lib/shell.ppu
index 0613b3a0ca89e6107c65b7961d7f9aba3cf6fcec..cbe941db059a9398661b9eb89a1bc6e66a9950f6 100644
GIT binary patch
delta 19
bcmdm@wnc5iK8}_JAJ#u!^Rsc|u{<FFXl)A4

delta 19
bcmdm@wnc5iK92X-wE_daP7K_5EKdjkUdst;

diff --git a/lib/terminal.ppu b/lib/terminal.ppu
index 3055aaa912f9ddfec2c5c9c4e15469226ea54e8d..e2e90637a05ed7cb6ea202e7082b506fb11fc6ca 100644
GIT binary patch
delta 21
dcmcZ~dp~vqA0tQ0f)DE-uld=yS&Z?dE&zG$3d{fi

delta 21
dcmcZ~dp~vqA0x;6>so;UUnd4`7GpfA3jl8C31|QS

diff --git a/src/driver/net/l2/eth2.pas b/src/driver/net/l2/eth2.pas
index a6771bf4..a1723f9d 100644
--- a/src/driver/net/l2/eth2.pas
+++ b/src/driver/net/l2/eth2.pas
@@ -47,7 +47,7 @@ begin
     push_trace('eth2.send');
     writeToLogLn('    L2: eth2.send');
     if p_context <> nil then begin
-        size:= sizeof(TEthernetHeader) + p_len + pad + 4;
+        size:= sizeof(TEthernetHeader) + p_len {+ pad} + 4;
         buffer:= kalloc(size);
         copyMAC(@p_context^.MAC.Source[0], @hdr.src[0]);
         copyMAC(@p_context^.MAC.Destination[0], @hdr.dst[0]);
@@ -57,9 +57,7 @@ begin
         memcpy(uint32(p_data), uint32(buffer)+sizeof(TEthernetHeader), p_len);
         FCS:= puint32((uint32(buffer) + size) - 4);
         FCS^:= crc32(puint8(buffer), size - 4);
-        //writehexlnWND(FCS^, getTerminalHWND);
         net.send(buffer, size);
-        //printmemoryWND(uint32(buffer), size, 16, ' ', true, getTerminalHWND);
         kfree(buffer);
     end;
 end;
diff --git a/src/driver/net/l3/arp.pas b/src/driver/net/l3/arp.pas
index 45da3122..5221918f 100644
--- a/src/driver/net/l3/arp.pas
+++ b/src/driver/net/l3/arp.pas
@@ -220,19 +220,28 @@ procedure terminal_command_arp(Params : PParamList);
 var
     i : uint32;
     elm : PARPCacheRecord;
+    sIP : pchar;
+    _IP : puint8;
 
 begin
-    if LL_Size(Cache) > 0 then begin
-        writestringlnWND('MAC                IPv4', getTerminalHWND);
-        For i:=0 to LL_Size(Cache)-1 do begin
-            elm:= PARPCacheRecord(LL_Get(Cache, i));
-            writeMACAddressEx(@elm^.MAC[0], getTerminalHWND);
-            writestringWND('  ', getTerminalHWND);
-            writeIPv4AddressEx(@elm^.IP[0], getTerminalHWND);
-            writestringlnWND(' ', getTerminalHWND);
-        end;
+    if ParamCount(Params) > 0 then begin
+        sIP:= getParam(0, Params);
+        _IP:= stringToIPv4(sIP);
+        sendRequest(_IP);
+        writestringlnWND('ARP Request Sent.', getTerminalHWND);
     end else begin
-        writestringlnWND('No entries in ARP table.', getTerminalHWND);
+        if LL_Size(Cache) > 0 then begin
+            writestringlnWND('MAC                IPv4', getTerminalHWND);
+            For i:=0 to LL_Size(Cache)-1 do begin
+                elm:= PARPCacheRecord(LL_Get(Cache, i));
+                writeMACAddressEx(@elm^.MAC[0], getTerminalHWND);
+                writestringWND('  ', getTerminalHWND);
+                writeIPv4AddressEx(@elm^.IP[0], getTerminalHWND);
+                writestringlnWND(' ', getTerminalHWND);
+            end;
+        end else begin
+            writestringlnWND('No entries in ARP table.', getTerminalHWND);
+        end;
     end;
 end;
 
diff --git a/src/include/asuro.pas b/src/include/asuro.pas
index 733a2186..abad7e7d 100644
--- a/src/include/asuro.pas
+++ b/src/include/asuro.pas
@@ -9,14 +9,14 @@ const
      VERSION_SUB   = '1';
      REVISION      = '677';
      RELEASE       = 'ia';
-     LINE_COUNT    = 28025;
+     LINE_COUNT    = 28032;
      FILE_COUNT    = 90;
      DRIVER_COUNT  = 32;
      FPC_VERSION   = '2.6.4';
      NASM_VERSION  = '2.10.09';
      MAKE_VERSION  = '3.81';
      COMPILE_DATE  = '11/05/18';
-     COMPILE_TIME  = '08:34:35';
+     COMPILE_TIME  = '09:12:36';
  
 implementation