From 781914b160824d3c7e6dd3dcc4e01665a49a3bf0 Mon Sep 17 00:00:00 2001
From: kieron <kieron@6dbc8c32-bb84-406f-8558-d1cf31a0ab0c>
Date: Sun, 21 May 2017 20:45:05 +0000
Subject: [PATCH] ds

git-svn-id: https://spexeah.com:8443/svn/Asuro@172 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
---
 Asuro.iso           | Bin 5091328 -> 5091328 bytes
 bin/kernel.bin      | Bin 37092 -> 37092 bytes
 iso/boot/asuro.bin  | Bin 37092 -> 37092 bytes
 lib/kernel.ppu      | Bin 2355 -> 2355 bytes
 lib/libpconsole.a   | Bin 64564 -> 64564 bytes
 lib/libpmultiboot.a | Bin 29040 -> 29040 bytes
 lib/libpsystem.a    | Bin 140320 -> 140320 bytes
 lib/tss.ppu         | Bin 3050 -> 3132 bytes
 src/tss.pas         | 116 +++++++++++++++++++++++++++++++++++---------
 9 files changed, 93 insertions(+), 23 deletions(-)

diff --git a/Asuro.iso b/Asuro.iso
index f9ba05ceb45840ac1c7a1bb3b6170f5662adf029..365407e3e88f155468ea1c1a20a34f90bdcb327f 100644
GIT binary patch
delta 10371
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

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

diff --git a/bin/kernel.bin b/bin/kernel.bin
index 74f98bc28c525c08fe82fad38a2521ed5770cf0c..d5497202ad842dda2a332db8b074c19afebcb4af 100755
GIT binary patch
delta 682
zcmZ{gUr19?9LG=N1}itc$#gX=B!=`N1U?KU<Z3Und|1pNA|j)$OO`KQ!3ROh1zj%6
z;!rOYxQBvXN?p+1B)HPU5_+hJ?C(Q5@@|hsYvt<n{f*;e=i&4Ho$vQ|{uVQyV#c$O
z3wyGm>~c67no=@>G1W;HG_T6G%cRb9lQDKtvsx&<QpUu|>7cz6aQlA<VJ2$ze(OZd
zj4Ad$^tt(x5J~$GYhv&0{bW3VvHA>4XxNVpShrxg$KL`kYC>Fc3l)?H*MX-$f$9g~
z`zPRG6)1fMlp-LgCA0?I!(MLs7pmKTf%}`l%17YNE8xj{;ObXk_9Za!M+o~l9ekj~
zr?qfT6$_W?I>*e)QA@cySXP~Dj?rlQ;8}tCT)dvyYMT6F7inF=#Ww4|h2XuBU^lvR
z8akJldt^%peGYY=9mW^tyllbeu6?5y&l(*pokzr?W~JZq-5f0Qxk%7QXRVI!G8Hlw
zBW(>Zx>v^i1sK_hzUz&AzAwELYww!!?-?2z9vg`p!$u;WxNtc!YS91J$A7X8gp<1J
zP!FjGIxwm_iky3;?v_41nEF(y&C(A*TPWBogOCi`cy%W3r({4TQ65WmY2=)g&MB#<
jrJj*`R_Zya=cOj0{86fvFQ$UoH>u8s8}sdaM|$HQ@{%(P

delta 843
zcmZ{iT}YEr7{|}nwAJR^V$Cue74~%@X%ezn^p-Ad-dLNU5Hg9aQDhgsyE8_(pf!@=
z=(39uK^IZtx;RsUcXTnti%=^1g#3t3>!OgbRjarE6UXj4@cjPg`9IHd&ilUGa@M$<
zHBRIkjqTfV(~bW6xS4MqwrhfwbiL@SnAS1Ix0CVtqpp84rFCB=lJZrA@=Vtgn)-$B
zq~bh^a0~BTx1GrOZZaRi%u*UDDnUEr`^mh!W)_t`hQ*u69ba=J@uFf3G2TM%Ww_BK
zn$9b!-b!K7b)|$v%ZF&L3J|kjb)6rg-c#sJhRfVTNypl8sorw3r;i^Y^8m~U-^Xg%
z3x13YH;kFbIOgBtPt`aI)hLJpUQl=|K-(%Xz5q0R1EQ~hvu^-*8R&lts7t`5Md12#
z;0{g{>^pXr-+=1_(DE9v&H;O00xR!<UrzvmJGfAB@0if_%*xSShocysrl;youC}L4
zx4b30c2!et+zKz{{G03Zqd#j$7Pu*f$u>-i(?2ji;HdMUJFlQ~l8JlpqGQ-krJM0X
z<jritDmqu_#c!y4Sb7R2=1;C3Pg!qzOPTwQIxF2Z6Wfq9kum3Ju)y#XVl_n=IiXy$
zP4?_)jT_n-Gjt$)h!coTL>J;D!jI@?ti}-x4h~-ksDo-a5I%P?Jfw!`K3e~&HKH^U
zwQJNuYLse{S}nETEH@ja(wCtDn^e2hO;VjwT~fD5t(V#$)tz}b8mQ_TvTI!#XQFj8
d?dXq6XP=QekVzz(*CU~odyqJ2$r#d0e*iZ~dC~v?

diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin
index 74f98bc28c525c08fe82fad38a2521ed5770cf0c..d5497202ad842dda2a332db8b074c19afebcb4af 100755
GIT binary patch
delta 682
zcmZ{gUr19?9LG=N1}itc$#gX=B!=`N1U?KU<Z3Und|1pNA|j)$OO`KQ!3ROh1zj%6
z;!rOYxQBvXN?p+1B)HPU5_+hJ?C(Q5@@|hsYvt<n{f*;e=i&4Ho$vQ|{uVQyV#c$O
z3wyGm>~c67no=@>G1W;HG_T6G%cRb9lQDKtvsx&<QpUu|>7cz6aQlA<VJ2$ze(OZd
zj4Ad$^tt(x5J~$GYhv&0{bW3VvHA>4XxNVpShrxg$KL`kYC>Fc3l)?H*MX-$f$9g~
z`zPRG6)1fMlp-LgCA0?I!(MLs7pmKTf%}`l%17YNE8xj{;ObXk_9Za!M+o~l9ekj~
zr?qfT6$_W?I>*e)QA@cySXP~Dj?rlQ;8}tCT)dvyYMT6F7inF=#Ww4|h2XuBU^lvR
z8akJldt^%peGYY=9mW^tyllbeu6?5y&l(*pokzr?W~JZq-5f0Qxk%7QXRVI!G8Hlw
zBW(>Zx>v^i1sK_hzUz&AzAwELYww!!?-?2z9vg`p!$u;WxNtc!YS91J$A7X8gp<1J
zP!FjGIxwm_iky3;?v_41nEF(y&C(A*TPWBogOCi`cy%W3r({4TQ65WmY2=)g&MB#<
jrJj*`R_Zya=cOj0{86fvFQ$UoH>u8s8}sdaM|$HQ@{%(P

delta 843
zcmZ{iT}YEr7{|}nwAJR^V$Cue74~%@X%ezn^p-Ad-dLNU5Hg9aQDhgsyE8_(pf!@=
z=(39uK^IZtx;RsUcXTnti%=^1g#3t3>!OgbRjarE6UXj4@cjPg`9IHd&ilUGa@M$<
zHBRIkjqTfV(~bW6xS4MqwrhfwbiL@SnAS1Ix0CVtqpp84rFCB=lJZrA@=Vtgn)-$B
zq~bh^a0~BTx1GrOZZaRi%u*UDDnUEr`^mh!W)_t`hQ*u69ba=J@uFf3G2TM%Ww_BK
zn$9b!-b!K7b)|$v%ZF&L3J|kjb)6rg-c#sJhRfVTNypl8sorw3r;i^Y^8m~U-^Xg%
z3x13YH;kFbIOgBtPt`aI)hLJpUQl=|K-(%Xz5q0R1EQ~hvu^-*8R&lts7t`5Md12#
z;0{g{>^pXr-+=1_(DE9v&H;O00xR!<UrzvmJGfAB@0if_%*xSShocysrl;youC}L4
zx4b30c2!et+zKz{{G03Zqd#j$7Pu*f$u>-i(?2ji;HdMUJFlQ~l8JlpqGQ-krJM0X
z<jritDmqu_#c!y4Sb7R2=1;C3Pg!qzOPTwQIxF2Z6Wfq9kum3Ju)y#XVl_n=IiXy$
zP4?_)jT_n-Gjt$)h!coTL>J;D!jI@?ti}-x4h~-ksDo-a5I%P?Jfw!`K3e~&HKH^U
zwQJNuYLse{S}nETEH@ja(wCtDn^e2hO;VjwT~fD5t(V#$)tz}b8mQ_TvTI!#XQFj8
d?dXq6XP=QekVzz(*CU~odyqJ2$r#d0e*iZ~dC~v?

diff --git a/lib/kernel.ppu b/lib/kernel.ppu
index 302190f2de76544579224126cf98e1fcd4844204..c1095b9b93d151d5bee95540f3c5b0cd6f1deab2 100644
GIT binary patch
delta 21
dcmdliv{`6FJtIe`jQIA-#_}zj+Zore0{~ZB2o(ST

delta 21
dcmdliv{`6FJtN2AeREa{EIo8`b35Z2b^vLv3AX?M

diff --git a/lib/libpconsole.a b/lib/libpconsole.a
index 2c2e8ca2fc2160a907c8ec02cd15c4fa5f8311e4..a78244895534770c1c07d4cbf7832638174a3496 100644
GIT binary patch
delta 862
zcmdn;gL%sj<_R)vCI-d^W~LjJWH_MA$p-x5o1;0tG9&n6o8K+i%rse^pBpN+*?|8a
zTz-O`_-1e6U>3Og<>H%ni%*8jgUrj8-VEb!-r#D)I60zFVDf}Ufyo7>qLclTxF_o|
zNpIe$;K~Fu<bs;SW)bCWa7`D~E+Mg%7$?iA2yDKky#S_RbA#S3xPk<uYjAdho)Y8c
zIP)Dag_A+fHMR<eId}5}J1KUUw>G%KZJBHU^u~P8`7ndP{Al0VaDIYO(&o6p5;z}Z
z?)wmKn7NxG*<j4cAf<V+2&D~r5}Oi_!F7V9^-@u!Hy_AA$Um4azIkzuE?hmxrnmXh
zaN|J%tXgs!E)U}KRxqQ;>(=~+%Y*d0HVDJzLHyE|XgD8a-`kGY@DKy>zji-I;!AA)
z)%OX`H{gdRklj<@3FN_aXU5I^(@rzOg7(35KDYxw26E4Si)O$UCILgee0>E4Lla9=
zNU{W`MUc_^U@A8oET7M~IdJJsxUmMyE8xb0{Bd-ZH{2gU{^a)|-jf}AST@(J-vd_%
zirLW3;tH^|)}R-%`Pk()xID;tnb-AUc?0Z-zHdP18DMi>-#57PCWCeUJk10ESc?Zv

delta 862
zcmdn;gL%sj<_R)v#+C+V<`x^3WH_MA$p-x5o1;0tG9&n6o8K+i%rse^pBpN+*?|8a
zTz-O`_-1e6U>3Og<>H%ni%*8jgUrj8-VEb!-r#D)I60zFVDf}Ufyo7>qLclTxF_o|
zNpIe$;K~Fu<bs;SW)bCWa7`D~E+Mg%7$?iA2yDKky#S_RbA#S3xPk<uYjAdho)Y8c
zIP)Dag_A+fHMR<eId}5}J1KUUw>G%KZJBHU^u~P8`7ndP{Al0VaDIYO(&o6p5;z}Z
z?)wmKn7NxG*<j4cAf<V+2&D~r5}Oi_!F7V9^-@u!Hy_AA$Um4azIkzuE?hmxrnmXh
zaN|J%tXgs!E)U}KRxqQ;>(=~+%Y*d0HVDJzLHyE|XgD8a-`kGY@DKy>zji-I;!AA)
z)%OX`H{gdRklj<@3FN_aXU5I^(@rzOg7(35KDYxw26E4Si)O$UCILgee0>E4Lla9=
zNU{W`MUc_^U@A8oET7M~IdJJsxUmMyE8xb0{Bd-ZH{2gU{^a)|-jf}AST@(J-vd_%
zirLW3;tH^|)}R-%`Pk()xID;tnb-AUc?0Z-zHdP18DMi>-#57PCWCeUJk10Ell2N(

diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a
index 0c8d9f8390e9ebfd4c4b7ad0bc2d334a8f13aa10..2f2cee0f3616dab5b74dd8f2393e443dda071d17 100644
GIT binary patch
delta 568
zcmezHi1EWC#tAZPCI-d^W~LjJd|08($qGhdo4Z(lF(dOAa2{Yn@WnUR^1MdjxAK2S
z;)`uwz`31ivcD)NvYt}W-xzB6E%fsB6%0)*O(E_8TMpJNFNdPJR#A&_bH4mXMr0Ff
z6{V3}DZY8DiY5|YZ1XSmBS?IS&3Ci~(D<5+lmD9WPnKa3+N`F#kCD$5=p2M=HY*sZ
zA!!iXoMh_4g6x2sHd2g}^W_CLzqLA#;<B4IKau<@zWKd9JBmR<&I^$E;+xOA{Y6oK
z-VJCl$Ypn!_%<teA44&m*_Rthv)E>>fD<TuzK{jH2v>@2K9!h+BJYvfg2D%f_xx<6
X@CHTT4yMU9c^n9H#5XU@JI@3FboiUh

delta 568
zcmezHi1EWC#tAZP#+C+V<`x^3d|08($qGhdo4Z(lF(dOAa2{Yn@WnUR^1MdjxAK2S
z;)`uwz`31ivcD)NvYt}W-xzB6E%fsB6%0)*O(E_8TMpJNFNdPJR#A&_bH4mXMr0Ff
z6{V3}DZY8DiY5|YZ1XSmBS?IS&3Ci~(D<5+lmD9WPnKa3+N`F#kCD$5=p2M=HY*sZ
zA!!iXoMh_4g6x2sHd2g}^W_CLzqLA#;<B4IKau<@zWKd9JBmR<&I^$E;+xOA{Y6oK
z-VJCl$Ypn!_%<teA44&m*_Rthv)E>>fD<TuzK{jH2v>@2K9!h+BJYvfg2D%f_xx<6
X@CHTT4yMU9c^n9H#5XU@JI@3FfmofL

diff --git a/lib/libpsystem.a b/lib/libpsystem.a
index f357d2d38c6dc6546ebe9a5d6d2ff116e43029ec..09f2fd0c344d4fa0d66008e1fb1f4bac7b09610e 100644
GIT binary patch
delta 3158
zcmZ`*du)?c6wfJ7M?1?S+hjA8nTU$iEv!0X7?n&Nm<^(UnIU88M(7e4iUu(fMvO#)
z$sD^T-!MEjT|_aA(Mvc$Kq`Y}W8G*7ufW8LN+elEV~mDig6H0E_uj92^sk=ZIrn#-
z-?_KBYjShf<c6Gy1$p!HUJM+~?aChd%ahq@<A?r7d{<mUe=YBLSj=;t>Qq3)*X3gE
z&$zWIiM!@H#c413H@@JbUw*-YfbEAx7iRH#|6htk%KP)RY~?jW6@O6hjWUn`dr;8B
z<Apasg&1AvhsMQjRzAVauLnwjy%nrwM;1;odiS`Y|17zriY+Sci7dXRjtht{DsE9e
zcyfuP<GzxM%7(D<ilVWlnpcz_Q|2VHiqe}bUg+k<WgReeft{wwk_T7$fwdp?@b^}9
zYsTQJ6vnpl6vno4oAJwch;jaK#>SQ~A6(OJLI|_LHP>VagH?UnMIu}Tk##p6a+XTM
zTK+TjFSy<`Q~)fv{y)i5vf-yu5|M|<#>bmB>1Z{`nl|<GhRwPyED;Xz_?F`;N+GlO
zmVW8r#77;#_H0uvqQ+;kKx-*auQT=v^M5iDE88&=tKB&gtN(l?)>f}E(aXNwIv3H)
zzTI}^k2O-|^G8;`nx{3T97t=r$(Hwe_~UzfRiz^>MZkRrbmb#0y6_@X9%vn>8X@JC
z2aTLu65`QAU+b!o%%X>4qH3%*QO1*PTa_E$z{yYhQSFBS?TAND+GG4DUe*VqC(V~Y
z-yW;?KWD|KgO3-S`A&OGQ4~kVP^{<}Ls8v1hT?<nF%+N1QWU)6at83qctV9O*FweR
ze@2h+^wpHpCa2g9t+0Y`LKbhl6;frlfoZ=OfL2Y2_upw%PQ<DSvHm-<@;rJsrlOIG
z#(@}*-qW)#vB-cqEZ5_}pk9x1U$TM00XhA@-ydzZWSY1C*4t0Yga2w-apdx)4^ur6
zaV}f>@S-I5KhhfjDGWbgo(uGd2xzjZ0_LTWUaZa^(md9_bU4f!7BpMu-LS!$l?LkT
z6lTu3$;3J@%mLh<4tG>l#2gFwF~u#S7rj85uP#+o4JI-iAdNVBXF|%%TLg&Gd+^>&
z_z|WChJT3|&lR~PeU97+(z$6@zNa0oR8V=(IzZvS^7&!@36QPF!g+9Zluba_M#$P0
zfEWhngYz;8A)zK0@`y!+pt~sI!m^iBfJ}=jHy3vn!EIeB5metRhR6!mKowiIC!2Zi
z?Zt*yVL+8$%yJd}@j6V`wNGYe;EXpQN8Q{qSYnG&ukqdGpf5J0vzyg1A(Vj?F9A1Z
zybU=z7SY>f<uFMZ3Xhri{%WXG2yISWT?x*`Xpt;eDOOg48A(dR4;GE22RE*R9+d<V
zK2foW&uOi7W+QalhM#RPhEj*5(-*e2eGAlJ?<P2)0+xtH$OUZP?3fQS)boKPP#~nA
zioIJwU(7b!gu3Bugj}$#Z`IL2c<tAWx#jJ+p4{PxOJ+exw>am)M>|ax7~kaxg#<ek
z4?gh)=xf9xyare9c7!4jix3%#2j?_G2YBuGfg==YRreKHi8`~|^hvn12|87+ZC=vr
zf+2;fy0T`!BTT|gS7>#twT^tNy7FPGBUGV7(&?v~7&$!ky%}IRg9OB|;jsB&tcDX1
zwh|HOWR-Cb9&9(xr3y*4U-cEqn4VI?@a%D8C}0z%B=nvgBD{Xu*x7`nGKA6ditzq9
zV~7L~BMkNo5l-qhb~YiY3}G^^2xna~hDfj>q^DL5uDt?>RbJu^RbvryRcvs4?JArD
zuf6e1SCNd0?BwfiIj9NF&>s#7VJrC?T$4q@UyYsc5k^wADX&ayiBor>WS)K;XJ_K9
m8Lms3PJZW8vRof4L_G7S<p+jOoPaI=Y?pfPV{o=B;rbswfBh-|

delta 3158
zcmZ`*e{9o56wfO^9qlYXvQ0KanTe=K-NGtc45N~%1G7OCFf(K<-3VO*L(w2cLWz+`
zFqx%ia>L-*bP>fcMvrhnKq`Y}W8G*7zXB60Dv@LvjWHU63BJ4U?(W<D=wE%G_wMt4
ze&1b7_tci|so}iI3rh-KTvU8CzdLvMFH7ZSOdS3n^;~fb|E2DUu$1LJ)un)_r`tg~
zo^fhZ6!*-xi!&B^H^1P)Utv*+&+<cJi*s0`_b){v<>o>y(}EVLWe<wJQ3etq4~lwO
zqWA`=5MztI5LxOZRg;|Tx~~GroBjrJWbrhkcTO1oPg2Wj$&#|(=+bNIxPaJ_vR37T
zrItxL<|)6ZY!I8MC?c(Oth(ZuGDneASKK6tVkaxB?1bqhR+=VD=3nCl(s9(q-d)wB
z8U1V07~8AT7~88X#xLGR#)TspBdtL;w64R15F|tEuE`LFYWuZ|WUv&X8*bX<9F+uJ
z`7`#<ztJ>Q0K~uXKgm+Q>8CLgk%!R6!<x3}Xf;ThwhXZFR^1ko3<g+Y+i?}8kV#_O
zfOK%;!%iUkcBmF%<Fkpct%7BSjJ?9VACJZ=ca6pxc8|syKO2p;H)>4uvVX76Mf9?N
zuT}YD5v+XS=*rizjHa{$8BI6I%03r+e1D&+bhNb;nCF15e6&>;US!IAZ4*=@q`dl|
zkyFb8EOzK?T{V<R>`+`(jWi@HS*m@za>K$5{d64Feh|=(SnQ-V#((n5`atZY`4aHk
zBaPnYXksRKSkam9w8u0>S!^7|s?Ko~bzS2q-tQSl@ku;Q!KyE30jo(QRoHSZRA2sQ
z><CX^O*?IJir>%*>VE@rSmahfmE8hn{9*uHH32qor%gE#t0q7O?#Rls*xk5_Mk*qM
zaTdF$XI)~^L33EH$H5`J9_79ygF}OI`hUMa)@;c%Z~v{gpOlCG)w1HqXUiX^dqU!T
zvi#viN$!25Hvq>lyub?_phrYNQ&kmsK?dr@>ii+YMZd~~!z5hNLeD#46P=R*>gyC{
z_PNRCAveqezB3c<sH%uL7Vu+=TSPB<!EwI2RZ%sV%(8(v;@mwO(q^6_AWHAz_h!S7
zFx@xuOXP`skz2}R%MBr&n|9@S+U80HRq(706#i?TAK@PX*?L~Q0M3rF3Gmto&>cRA
zbN@oHUnT*LsL2IA^3r0^T@-Qg%9qlBY>Jhe&v%!?ZCxo5RR7C{i2CcHmaN#9OWgPN
z^YAM$s7fzpxt9O&8qCzSPvvIuS+7H$y18Yr$QH+5^LJK)zSuaP-KvfWp%Q4K9GpDs
zEy&Zch~BQKf+@;Sc+BSSt%Z<6aC7ptHDF(i6lJ+ec}*Rdk;F8-Kyf5peDenARY`Ef
zCo4AbIjyH>HbakP_~|BND0Lil`og9=w?RGc+X4qvz!IT|T;MHRZS#SKdOkP`7zpa8
z^S<q%FJ_BvQfMR_A{Q*{TOk|>xAmGax4aeCle=tj$t)1*5$9a|(QcCkPwcUUf`S!_
zi$C!>=xc-`Ue8zWwS^)Oiiixw#pgw!6WrGOz!r+M3Vn%IqRylta|&PH1YN4u7BA{`
z!8nGhy0Wg>7AE4RE4Vt=(<9%iu6)pD3svYi>hx1hj2u7py%}IRg9yZV_^|n4X!ryK
zX)+33q$c6w2Rn>&sp6<=R(<7Yj87?Hc=ot46tIa>61vY06J9@U>?}f58N%3kMR@<5
zG2{r3AoTYR6He(db`~M33}Gsv2<Kcfh8$r-h)=D0zWxdvR(XjxR6RxHs@UNC)vIt0
z+}6f3UFB$0Y9$}KWurzoOMf^h1ZnCwxF(Cle>HZ(N06hcU3n#9OPsn3<qP!VI5(Tm
nndP{o>Ew4lEywYZLc}wFMxk%y#0i*s=Q`ATpZn)Jl8*lYi<t&a

diff --git a/lib/tss.ppu b/lib/tss.ppu
index 1c4f514ff7565fcef80c51c4509da519a80d2bb0..ba1cf3c67bb6f1e0aa7d131e9ff88730514d0f7b 100644
GIT binary patch
literal 3132
zcmc(hO>9(E6vywm@6EIoftG$C`YNwj1#Bs8k%SndCTbLeq%u>rKq%ABYdds0oy?m6
zO$Dte_yv;SS4v#CF~)@pG_p{miE-hEE$(#V!i@`8m164ufA5>SaL|RCcqZq(^UnR<
zbKcx{?t5=&Xn0`9PXClBPklYKNwwXq)Nru=^4!9)Pg6>%K`6zCig?vHHr_B}K$YkQ
z#QMs)c=PqHk$sGK>3A-#Ml&Z5UVPxI9}b@<>P_aW`#)Sa-}mG%pYeRn(V1vwwlX)9
zE9EAm%H>Pd4|ZK?PIIVXe6|$N7Nc$YYV=O;Pv0|k6I4<uR+`oD*YG^uR4j~@8O!mS
zDAHhTqp?lKa;lQNv8#;T$Ah#AY&tWN$v*PLckrbp#mp&DjX3i-SmzAZMI7@lhurl4
z+;La<KRaf1dqt(Vv`X-+EvAPcmwvk)GFEDsJxiwP+LS@gug}nLXj|aA>C*!&X1pba
z`=PRpv6_4VrzM-s#nYK;t{P>c$(g8B<*4`~QwHP3=>xtnk9HaLk{M*|H#2hWF8EzM
z57@|lu~3>;GTy{(L@`}yU3CYJI$*b^iH%O7MIG3ZK&)%?ajGB1<$fg-4!bqMSUiO4
zfF19}F{nvLu@Z$THbHg39gzaXqEn9RMU=u(Ta?>`MF*4|aoA2W5bpgDssnl`3ToO>
z_ajDWhT5X5;i2dNixwUCC?Uu?s4dE!&7y-!N)8($18IYXP#vs=MNv?*jv7IXatqWJ
zWqA}GWYMzY#t1>Uej!u`TySr^vO`J5QPYS~0%!=;0WZ>v3S}j+qfDnHguSP&I7>$p
z#oT19r0T#E2vfSDAyfzaGhUQCuH>krP9sLy0u7-$XovNpaZtw`^#)=T-m(y?gAQ0P
z%7Z%YsCN;gu;)Xl4%WkZ(HN*XN4<|2<sN7V)d82!!yQmE@2HOuqwIo)P#tW5MJ`a!
zI_eX|DEC1_s1CTq$W>5s!cp9Dln0?9R0p@g;_5-2bkw(qQ67eFgzA7dLPuEC=Nxne
zA<ARWE~pMVVbMOk;m<qlDuR^9p*Gj;@boxxEjZ{$geZHUHWyKU+~j(}VLy|B?1kD~
zAv_%;*C_}6iV%f;Yje^1vB~wK!<NZF_|~+!Oxxy>>m>*IVi=Xh!RBJ0`FWG;w8K^>
z*i$YSJ55g@*BJ+OB+xT1*PYBYVRF6fu#E|}-{s<yO|zk2anP0oI_Pq3X0Az->s5yh
zB-kMghEN@_x4mM%s^m3C-J4K{F=n^!R(L5;ypyjx?xBR^7Vd)T;BHvITFIdi&pK>R
zg5@!2)Ahhh6=rA1opao9!cAb5qL;amWGlmmk}<aH1bum$rbojTlQFoeOuvCoSL$EN
z%8H%?Id3v8u1eks(wNO;MtASso%J#E@7^u7#M(5Cm^Y4G<HMQ{FJa#+ew`^<BPKZ?
zFVe|!$>*3Gu@m?|_*JH4ZOTmG{*q1)_D>&YN}4UfXOVRBN^9R}{Ax0j*^|;n_XaOh
z8QWl>1ze2<`Q&ODs(b6oc?+Ha$hWj~&^Fg|7i?7!XZa5y7jWd0PCEKvTg%l-{j4`@
zv(#H=mai`2$mgB3Z-?~@r2^LDZF_e_y_e*cWjey=KMq_WCBJhS#C;6N5|JZ}^$_?t
znF?23qOZ{%&E|`gp&N;51zy3*ihPbKUvio())MI^wn_IW8pe_TtZA5${UYsLu%>Rd
Yp#A5Iwsk~(lT?-EW`Y@*I+2w>0NolN!T<mO

literal 3050
zcmd6pO>9(E6vywmZ>FUnWlBGw@Je4xfqvWR2UMa6bOxMQ%h(x|0s#gYnhO0$XEY&1
z6JugxT<A^{+_><2rv^7fP1S`lVT(K6xNzgbRi&Ex|KEG(lGy5k#Kbc>_nkTScmMak
z_s+ZTWwR%fLnE=5MFr}sY`a?8q}116y!~O~-KFp1N~t8A7K4if<x<H+Cz*SIIbDrh
z|3abk&G&6nlgtEFrE8^farVWtHy-`+#|v)|4W=)ZPk*rWdjFHZ-sJz<=Vyzv^NZJJ
z3v-3(;^OC@l;0b@ov310^)vHxrTMGHK7FV7X7A5GFt-sd@i=Fi*NAKRzpCcy%*6%f
z3S1LSs!hAWv^A#XP$id4i*rLf$%E7j+N#`CE}wp439;10sT>!z0sjJa{?CHJ%6k60
z;Qmh8ujk%yb1l0?#d#r>;8$6EfFv(;pY1ZOR51I`4bzn&gZD-wTu-du4779oVG8sN
z=QYtX(*tnnW3FPi5Y*-Kh0>K=xlk_Viqo^jxiWhtCUSv+;yU%2m{3Q1MZL^En*QDN
z-0eWz#{VHJI5t@<C6zSR@cE&ca<rk^hocTzrW-RSvPVx`zFaDnl{9&{&ViiUYI1mN
zJe8kRvdv>V9L5D$jOEU$2bFC1*lve$U9E5(@_Eq5b4r>$)axKlWVQH&P-{rZ4v&pE
zj0#qZ8-P9rt(_h^<RErgt<8w2HLN7`*l~yPLAF|qbP8H69?Ci>fuq&hf{0opN_Kf{
z%3)h^v|1dXbI@w_&_xF|;ApjYp{ccBN#wCB4r{{EYEe~>L95L}rb>|B4!2tMh^Tcy
zNxR2hK$6B=WwkiDPD5+Ahh8B83*lC)5fQaUm2`OQbuzGB@CdF$t}sZaGD`M%>Mi7G
zk#ikxLlmTQp!Ry|9pq@N+6b;go=A{BnpLvTQy(Em>x4&e9X6wd7N|~7eTp27B^1GR
z$g_pkDJ5N=;<HBMQy9T@xDzc_531W!-y%mFhDUH6@}dOkF;G38x{Vxd6du8K*n&1l
z9|6_tsXNHg9)|N7&>^o}Rr=WY5!Qa62Y*7Eb{HPPb;w&4q%%0peoy^^94!Tp;5uX*
zj7<(HdC*h8AxC=*9>I0khBnCM@JJ4LY6UskIGp`DY)8vG{*aQS$6|skYyuv^b;$F8
z7`B!{Pi=M-9~H{zkasl>vE+b~A<s2AjxXrQaC^`~4b-rwS{;=~pH<t7$f#k~5zlox
z?kV)P!F9-OEr!~F+<uQG9d^oNET-6aX5w)r2RwGrVQ0~4XYE2{X2pdY_1u`_&Y_p4
zSNIG_7t`aekCm2ZEKjrP(P&S*K7{HV<7#en^nbL~RXq)I#wevWxs6;l<a4?6nTbrE
zyY9ce5Gumj+-xzg3AxLSle><vVimuol+=n5=guH4oX&kb`5rrf=fQ6%C0pWV03Qu$
z;j8U$pHfN^mf$`jEnI2ki;CYkW-u#B8W^tg29$<o1I=SK7VIXNUGu7xgBE-aAYZN0
z)Ppv$mV3m`3gSA?5cU#|+zh0N8%O;@d2#KiLzPhqAE&UGdKE`*Rno}mVl#6yxE_b?
z-4XSg)0Pzm!hIVDULhra@-m2jgUd3JXPN6E@V*<0P<_l;qdF4i`;n>j%#;FGu(~Rr
zVaQDmlT<}W*RV`F&ZA&Fd4EMiMb?Wn_M@%oU<ukYPubEDb<52vD}3=u4$T^q)xQ8$
C@&J|q

diff --git a/src/tss.pas b/src/tss.pas
index 8eaa5f42..adbeb8db 100644
--- a/src/tss.pas
+++ b/src/tss.pas
@@ -17,7 +17,7 @@ uses
     console;
 
 type
-    TTaskStateSegment = packed record
+    {
         Res1       : uint16;
         IOPBOffset : uint16;
         LDTR       : uint16;
@@ -54,6 +54,92 @@ type
         ESP0       : uint32;
         LINK       : uint16;
         Res12      : uint16;
+    }
+
+    {
+        Res12      : uint16;
+        LINK       : uint16;
+        ESP0       : uint32;
+        Res11      : uint16;
+        SS0        : uint16;
+        Res10      : uint16;
+        SS1        : uint16;
+        Res9       : uint16;
+        SS2        : uint16;
+        CR3        : uint32;
+        EIP        : uint32;
+        EFLAGS     : uint32;
+        EAX        : uint32;
+        ECX        : uint32;
+        EDX        : uint32;
+        EBX        : uint32;
+        ESP        : uint32;
+        EBP        : uint32;
+        ESI        : uint32;
+        EDI        : uint32;
+        Res8       : uint16;
+        ES         : uint16;
+        Res7       : uint16;
+        CS         : uint16;
+        Res6       : uint16;
+        SS         : uint16;
+        Res5       : uint16;
+        DS         : uint16;
+        Res4       : uint16;
+        FS         : uint16;
+        Res3       : uint16;
+        GS         : uint16;
+        Res2       : uint16;
+        LDTR       : uint16;
+        IOPBOffset : uint16;
+        Res1       : uint16;
+    }
+
+    TTaskStateSegment = packed record
+        link : uint16;
+        link_h : uint16;
+
+        esp0 : uint32;
+        ss0 : uint16;
+        ss0_h : uint16;
+
+        esp1 : uint32;
+        ss1 : uint16;
+        ss1_h : uint16;
+
+        esp2 : uint32;
+        ss2 : uint16;
+        ss2_h : uint16;
+
+        cr3 : uint32;
+        eip : uint32;
+        eflags : uint32;
+
+        eax : uint32;
+        ecx : uint32;
+        edx : uint32;
+        ebx : uint32;
+
+        esp : uint32;
+        ebp : uint32;
+        esi : uint32;
+        edi : uint32;
+        es : uint16;
+        es_h : uint16;
+        cs : uint16;
+        cs_h : uint16;
+        ss : uint16;
+        ss_h : uint16;
+        ds : uint16;
+        ds_h : uint16;
+        fs : uint16;
+        fs_h : uint16;
+        gs : uint16;
+        gs_h : uint16;
+        ldt : uint16;
+        ldt_h : uint16;
+        trap : uint16;
+        iomap : uint16;
     end;
     PTaskStateSegment = ^TTaskStateSegment;
 
@@ -67,38 +153,22 @@ implementation
 
 procedure init;
 var
-    i : uint32;
     cESP : uint32;
 
 begin
-    console.writestringln('A');
-    i:=KERNEL_PAGE_NUMBER+4;
-    console.writestringln('B');
-    while not vmemorymanager.new_page(i) do begin
-        i:= i + 1;
-    end;
-    console.writestringln('C');
-    ptrTaskStateSegment:= PTaskStateSegment(i SHL 22);
-    console.writestringln('D');
-    ptrTaskStateSegment^.SS0:= $10;
-    console.writestringln('E');
-    ptrTaskStateSegment^.ESP0:= $00;
-    console.writestringln('F');
-    ptrTaskStateSegment^.IOPBOffset:= sizeof(TTaskStateSegment);
-    console.writestringln('G');
-    gdt.set_gate($05, i SHL 22 - KERNEL_VIRTUAL_BASE, sizeof(TTaskStateSegment), $89, $40); //OFFSET: 40
-    console.writestringln('H');
+    ptrTaskStateSegment^.ss0:= $10;
+    ptrTaskStateSegment^.iomap:= sizeof(TTaskStateSegment);
+    gdt.set_gate($05, uint32(ptrTaskStateSegment) - KERNEL_VIRTUAL_BASE, sizeof(TTaskStateSegment), $89, $40); //OFFSET: 40
     asm
         MOV cESP, ESP 
     end;
-    console.writestringln('I');
-    ptrTaskStateSegment^.ESP0:= cESP;
-    console.writestringln('J');
+    ptrTaskStateSegment^.esp0:= cESP;
+    console.writestringln('A');
     asm
         mov AX, 40
         ltr AX
     end;
-    console.writestringln('K');
+    console.writestringln('B');
 end;
 
 end.
\ No newline at end of file