From ad4301222acacd2b47d967210f11e964f3078ff6 Mon Sep 17 00:00:00 2001
From: kieron <kieron@6dbc8c32-bb84-406f-8558-d1cf31a0ab0c>
Date: Tue, 15 Sep 2015 23:55:12 +0000
Subject: [PATCH] Stuff and things.

git-svn-id: https://spexeah.com:8443/svn/Asuro@3 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
---
 Asuro.iso           | Bin 5066752 -> 5066752 bytes
 compile.sh          |   1 +
 compile_and_run.sh  |   7 +++++++
 compile_and_run.sh~ |   7 +++++++
 iso/boot/asuro.bin  | Bin 12516 -> 12516 bytes
 lib/kernel.o        | Bin 2120 -> 2200 bytes
 lib/kernel.ppu      | Bin 1410 -> 1432 bytes
 lib/libpkernel.a    | Bin 17428 -> 18286 bytes
 lib/stub.o          | Bin 912 -> 912 bytes
 run.sh              |  30 ++++++++++++++++++++++++++++++
 src/kernel.pas      |   3 ++-
 11 files changed, 47 insertions(+), 1 deletion(-)
 create mode 100755 compile_and_run.sh
 create mode 100755 compile_and_run.sh~
 create mode 100755 run.sh

diff --git a/Asuro.iso b/Asuro.iso
index 3c7c9d9090a4a9ce59d36feccda96c48ae13f90e..3f2d51a68a3083fc3b327f38cd633ba2b26ec46e 100644
GIT binary patch
delta 9652
zcmbuFeN<Fs9>=-7IgBF?DuRdz0wMtd@}h_c0}c#<iHZ5R>M^&lNYTu<?8WR@&th1I
zZPbhAcC@p*X=mLuZK313hJuKufM{ZXib}jGgfEDIvU8u`q|kirk6n(VbLMlu-{1H5
zd!Bpe&d7#c-&$`lJ@!xB=o~&NVnRrW)r64Hh>)nzhzViJ3kOp-{?pkyB;44O7p)Bm
zw_52i*yZs*#-#0D3VUt4&Vn60ynUXd0$uk^w1CEid)6wfYR_ZgxInYF(SNV6!qWCy
z7CiXb-nZ?aZn{6sveME0E~3(Y;O2e6Nm5|sH!+sNjo)}HY!71hh`Ak%c6&UGUq|!Y
zbO*`mjpbP@^PLXZ{Mq)?g5ggM-21i2wlfb*=x71uE=aJ5b}-<(mZwkQcTK-1)9>{b
zrpBPcASLMh!pBSUxHaRxLa`+03oXMK{f_x5y0l|JxBHmTojew6S<mITnD3P1K=<)+
zp*wUO<a8+VSL%fq0o{j1Lidj%kh8Z)<Q!KFvaBr@S#}nKdhNvlN<EJgfUP_svV495
zc-}f8JcpD3-76*jPNwOaek9W$O?-0tbX}TJR}^kJruvdlrM&A&V3T!HEZI)P+E0pT
z?xkQ%S*2o3TS`If>!l*L>J-q;JtcG-5UU{8c?x(Yofe);PXo^*r+o)M8HG9_K6Mrz
zM8prG`1~Kh+J60mSlcSZ0?r7Qeg^2iBvyU~1oJv8>KV?0!T;r~Sd?<ae9Oe()5?JE
zZ)GdQVwQs;y;3fQw7DGQyizWDP*niW1r=g{epCT^sICw_Sf2x)v(E|7_2+=D?3~bb
zAeK}q*s@CCSy(ANn-PmSFWBPqpohcfMGuYVfoJpuzrGt}nl4?BH^{daM6j9*pg`!4
zVo~P*2-pE)H9vwu1YH!K=@)@+@5L;!m{ovfRf&3eRlu{UN_c870bRx=q07Albaj`6
zPW2NQ(!8I<a6droqF|p^1KF%<A$zA9lsi-H>-glvbkL_J8h4e3Sze$LYQ(;MwFb0v
zq(-#USOff{YDGIQ)&h2bSXC|X47w~l*=3;Hds%pvUk1H;UlF~gUIFLcXII`9OL-M|
zW?mJZxro&fQ`Lcb^Xh0x>Oj59Ix(|Oq)WLbbgQm`-b=3qD>=Imn{i#d8LYn!bd|)c
zZvZyuhR|`us&9z%QdJLh3+lx>WFuBfO!YI;{Y*N<YKf^DkgkDrh}AYkiS=s)x~xWe
zlSHhYm}e8vt!@&%e}UNjCXr=KGtjMV7VHbe?l+4pV_Sgk?G~Z?J7V1}BFng&K=<xV
z!M;MQmssE}pnLz8$g&?XyH>H!B3r@U{jgQ+-LG1~xzgP#&XqB3;Cxu!wp*;xFMuui
zMeO-4h&2$?w(FfA-;h4J*B&X!?|-HqYJ9hSq~gA#9dz2(E;{wN4Jxm=Eh_K04Z3N$
z-S-NpHt14~aYYf9SHPF<h^{}n1N>|62!H##fX%(@r<j@V0tXuOsi`yYHMa7usL*v6
zq)fRd*c<mih2ndndh0!~jxil#9sk$?bl-Le-Q^B2&9M7ozrA=LWI1p@L#%Np@LbZ_
z?|nRZ#`AOV`*?k)Xh`z_m@IrCf@MDd4PAU78tQoff=%xdo~yb*L#17!p$^1Sy2VMk
zrW@2N?iTf$yMbqHkI=o=1K81?2xUkeJs@Y&Ly>dYL(qHSL(zLPVlj^dTl@&rJN(Fh
z(35SZdg}dkuW08Fy`c2I-b_>Et*(+~<gJ;K5_xN`WU1SFT~cDn8VLyH1(MY7)<1Q2
z3cmH1FPM&0e0n6wavkIpYe`8izitg8$j7ZI!%b_+ayGKgMp70^UTT999<iaiH*AnL
z%9gY*+amg%ncjdj%1%-?oxIo%X%E|x^UrpuqbPf+-*scUe!A&YLic9!L3?W8CwpWR
zG=N6)!T{9#mjk5bN<>!`(k@Yvc8dx%(4?XUhB+YZD-NX1bwJvB2hwWQh-RpX=BiQV
zIyLpH8i?x78%T9Ofb=5KZ5m`eQ$xmYYS0cW(a;XOsX>u-gDCRSL5LQb=}ky=j<ipf
zIU?<GGyTO8rHUOadH4O~^qhW9f^x-0Us(;3td?c0eMv4KErl4bN>1CflJd2c?5ahB
zT%t8EKBNt1s&zt>T;xQP%yvQ@)jH9vR6~$<?hw*$7=rpO8$zpacL;J$9xD0woyH79
zLNa{+k&A~?m77CR@3F(E_g9CZDo2J<{zgb+oQb~b47JX**3FQ{4kx;FIMNoHX)B}&
zE>w4!3(_8Uk!Fdtc11MHm9%+~-ZE3y5l}mVGVg%2Z3H>HxgqUxH=;WrZF3`M_mN1u
zVkBvILfSr33huiT(sb!Myc1Ts(@xmoj&{N=ciIWVN1+T$Mp44NQE0C=jH11&@j%WC
zJ;*uR1DyqzJVdH(qY<1rnj*hB8kH>>EzJ;1?TI31c}mJ{zx=r;a&Ge^=iy!`a;6tW
z{?rROH+V^X??D{Wn9=E+<(HlEqA@fUJ_fl|kD+C?_eOM{H&G60wVB%cpx);AP;cvf
zP;V7J)LR#%(|w7q@kOal`%<b7NK?iVT{9M?Dj7?uS|N?~Bf8iRW&X}jS|C<>97>fn
z&b-o)-Z4`jf23XKFDW0V<URhVZnwYG_cmWMOaFYbyjv?pT6}Dh*FHmo+w}}Gx?`s9
z0Vu?Z06M!q4?x=X0CIK<L?=OJAZ@Zw0+I9ez<yVUfwNNedgJ@|z-G+|q6OF-gna6P
zD52wcL|+<D3;)S@l)r8~<yQwI?ZRMk-W-g&s}7c;#lnXmZB_`?&4cuonYxBTZKzor
ziZ*LgC{05<0ckTPkTw_6dNb9AL2Z~6)c1Owo|umRuSBj7qYRpGG?{tfwC)?iQT~c>
z(sn{^QUqz2Mj-8xi2k2s(x0D=zoV8TBB{#!NYv?pNSabjB+4H!kus!BL>YEZlvay%
zpM-YQl1cqeOZDu;SrhPkUi~EV45Lt$1yPc3pAVA`vrV7aTEV$d8AVw;p-b{)s`2_{
zG=<{HQmE2NC#2J(>C&}68fhz|Nozj^(Rov(FvU4{3YyXNDRkCpVvu%G3|;neW6;`M
ziJ^XNry}P$Q^|S5RHQANDtY&rspAVta+{4b+46#!9823{RV-SX;#g^>*Z^^eX2#LT
zbK_8R^>O5^)ghXpGoQRBIvjonXC)Up*bkK-=_EHLf?GVYSsqW<t(}mz$J2a06OeXw
z0@1%h`XHhI?FCCTuIK=}a^*ByrMziq9U9D3qelrA>1ha?A+6I>K5Zfz{-Q)0es&_N
zdohtx^(3OYGn1(9J4t9~l_g0@ritTUviP0f1dxv!B;{8D<SGLS?4L}5(~=S0ZKfv?
z%^&fs^w92q$&~N)x>`4YGl?^6&TKfd<;;#Vd(KQRsyK7tOwHLq&NQ42;>?k=!JKJ1
zbK-0WXG1v~#+fr`!#Q)|%$2hdoVjr}k~4SCMseoB*=Wu@IrHLd3}@b)`EcgT*;vl}
zI2*^AKWEQy7Qk5`XF;5e=Pa1B5Y9q5o4{EZXW^Vha2CngM9wC07RA|Q&Z0S+!dVPw
zQ#p&}ERHiBXYrgRa5jxIJ!grWCH;#Td_3P%nf|lCz*eiZYW$D#OshOQWO`O&H_b__
zd<|^XYiBS$%h79MtoQE=Smjg@q8yWJI;QJx)4xpz6f9L<c(0#mqYzma>{QUp5FHY#
zWE0ELt8(IO8y&4pUNy?A;r#>@px~-P+<rY=)p*79ln%E;hpSAX8(U2AguBYF(Z<TE
zuu&b?_@$x?QRo>fD>ti_N2SM9N}tM4f%2DOQ%78mbE+J;&fuP*^uDpnb-lVobfoYc
zXJs@SyJjda{yL?cLCTStrMn&<P;pJFFxi-1&9+tRb}LU#*s2ETHl5slSUKu`_a<SK
zGisW=Z=JzyfMQS)G)+Fc&fqcs|Eqi0<Zsn7?&CF9IT1?XkA}Hs4|CjfDt?m^NjAJ?
z@EM>a|84F3EpHj-589S(uv5)WNb#IIW42emlx>(InZAFq&5zk+IOO;zDbHYfB%2=3
OnjR_nQeJ9r{(k|&v5M~i

delta 9636
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
MYif~HnBG(LU!=-~ng9R*

diff --git a/compile.sh b/compile.sh
index 79518c4c..ae8c60a6 100755
--- a/compile.sh
+++ b/compile.sh
@@ -1,5 +1,6 @@
 #!/bin/sh
 ERRCOUNT=0
+echo " "
 echo "======================="
 echo "== ASURO COMPILATION =="
 echo "======================="
diff --git a/compile_and_run.sh b/compile_and_run.sh
new file mode 100755
index 00000000..05bc209f
--- /dev/null
+++ b/compile_and_run.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+ERRCOUNT=0
+echo "======================="
+echo "==       ASURO       =="
+echo "======================="
+./compile.sh
+./run.sh
diff --git a/compile_and_run.sh~ b/compile_and_run.sh~
new file mode 100755
index 00000000..c2c23705
--- /dev/null
+++ b/compile_and_run.sh~
@@ -0,0 +1,7 @@
+#!/bin/sh
+ERRCOUNT=0
+echo "======================="
+echo "==       ASURO       =="
+echo "======================="
+./compile
+./run
diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin
index b0121080f52769f95a34a10ee2033c997fd56747..21422323790d3be1e7b546c3f7dc5f2ec9a75b4f 100755
GIT binary patch
literal 12516
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
Zq8YJ<&b86>sN*Gg+=yQsG8LtV{twpHz3~75

literal 12516
zcmeI2PiPZ)6vux_C+!fc+hV#Ftn6<gh|6w64;5tDLabB-|5R7^CgQ|QYOu*j^6Tyv
zTop#4KZiiCp46KcmlZq&6*WystyZwsgVu}47DijdgESJw`rgdMjgn<$*TWv(3p4Zk
z{oeQY-ur!M4=<TxecLwsd_Gn+KWkt(Yi2F18=f6quBV%E@T_A2rZ|3ZgW(M>?-B5p
zoM;?f==1zL8Ef?XyXHh3haX!LEMO=yB0vO)01+SpM1Tko0U|&IhyW2F0z}~R67c_V
zVRZw9eBJ-!pI6!b7PfP@t-`$WGBJvupX8kV3g&qQ8hQJ7XzeEg-K}nyz7*I1Bdf2u
z2cmo{TJvGloB~bd<<qOUX+JIuf3V4PHu>|T=-OA;bsk-tz-9HRR#dT7KZLrAi;)lX
zZvOmz^n|K%)qV&=SH1)_d|Yn+4a(=h<3v{jHXOfT2cz~m+!uxu*%RQMe>*t_Ao4I|
zTjXNYYWo3PCB@Hr&V0exk>|ynSj$Gu1x0p*tu`cKR@#pSC!F))E~^benU#KAtTMBf
zqcS;p_Pt>GiEr8sKB5FSo^!LPO&jIS(^pVcel49q)*6iQ%|m%RKafZy%JcF;q0(5e
zzw(VqC;fCM3apN>Ij$6Qm)62wtWSmdqzEhjwZ<zLZ+>0wXJ)O(B2R_dM?x#)tzPMs
zUs8fi&Q#9!${BE<xHokF-=D&Qn$2;wdJ^wI=0dyN8*YXJwa6pkP)>xGl^WT}8^5Wt
zSblWTH?PRzMJ5+_$Oo6P;OjxSmCNQ>*T|Q0Hh*VoYO4IC@T@`3oV+(Qdty>3J4%h6
z@`XL~c4^6i$dI<hg2?80dlAlRE`;9aE4Y6QqtTM0beXS$nZ?{*NZ-Ifw^iPB@?CTC
zEn>cv@>Wg0Y0M`d+lOlMnB$=$7FlENe;wV401+SpM1Tko0U|&IhyW2F0-v7%wjP@^
zx_(&89?%APOv~soBdzoP-8^O(LXUq9?XNZ{lIa1S9nK0p^&QuEY6w=)-+91D9Ue?-
zY2nEEprOU}3{UHN+}X-{ogh3m{Li}}6Jy(}k$EzmFfu7kB#rd<jPd%m&G-e<rSz1M
z8Roo)v#q^<tKE_uIQW+swDm*sJ%#`hH8HnC%(`}b87$-b4RCR|;Oi4IB0vO)01+Sp
zM1Tko0U|&IhyW2F0{=?_k?g^&$OtXQB0~RFut;1J8jHlT*-tJPyI}b3+<m{_>4#xb
w(+XFIt)32kaQAxV`npxHjPD>gI_#^vU=oGPGwwYxr=#)asOzYX;fa2<caHLiC;$Ke

diff --git a/lib/kernel.o b/lib/kernel.o
index 869ae73baf45388384b9b58fe52ef97864312753..df1b49218a79341f348f99821e1ba25235dbddab 100644
GIT binary patch
delta 668
zcmZ9KKP*F06vn^zw0&&^t-oyrrA^9KlSCvmO{Iw{AqImO7zi=5sKj8CHaC(EVzF2Z
z{)`%b78Z%kVrUmJSPT}C@SWEydGV5Wzw<liJNMq4_a6MEKp|p!tzuuInE7sk{fy70
zCL;4wbG;WyW7JSj9+%oNOQz3I;kx0xzh*)JCe|1y9K6MN-NAc|4;_5K_|n10j9(ml
z#<=3(YsOxqmXPxvfgBQ!#9y;m<YFH+ue}QUv{w?sp?^G}0<M?F#n?o8CYR2}7PHHP
z3H9!}%ELvs*})yCMg!0&90Xc~2@GxS77hXZqG4c2l!F}6^^7o&p42=mO#gx?{Y#<&
zU`5wA?0O#9)P`-*W?)wv_C-4ZC3)Var1M9@-1tP48=s1{0_VD37G>X^<k@$x^PH*O
z_bkdj8L83R22{1-Q<RNgQfLQ$?7X`5^zhfHR~1jI;a8uYsC$~j9aCLa)F`N=73aEY
n#oYxHxKRfd>zrvym04G+%KEGFdE>!1HxOYb1@d)d@Ls;Z0~<_8

delta 600
zcmZ9IF-XHu6h-fkjfqON(W<qB7F)=oP{pZ;DB|F(OF^WAn<yPzoVp0&A`M@mlL!uW
zRJv3|99&!k5y8btaB>mBMFhRC`A9I3+;`r6FF(08?>14*Sk3leG#{*dG)ih(>0_&A
z{XiGm3Y8qf%Y%h=mZb=9v#v&XmvueDhpg`-e8T!M!so2NBYe#|r^1GucL&TE8%VHv
z`J<4({&A;SmbT2N^<3;(kJ*=%7|9v{I;biRbPEpxN#PVQEII^?i_)AlzMQXmfO*4<
z!kk|c<$O_;N39xv&G?(f-xBpufn+5I?ue#=Ju!NLebYY>=8KO+`C`dR^@VxLUPI=%
z*OWf@u7ugY5#}DVYVAFU@~@tZ|0bH|7ru+p4}7)^?KvYl<8<k~lT^?PPS&1fczM0y
xWK~%Qj?d?X<J)BmIMc86Gt6*G$K9-2))TI;PIb}sQ+1nBbCUu|UxIdd{{l!GKv@6)

diff --git a/lib/kernel.ppu b/lib/kernel.ppu
index 506055c87f3fa3e48cd335d440164fb039fc5514..b78059b6e7be6b6c33fb1f4a09294733013768e9 100644
GIT binary patch
delta 111
zcmZqTp1~~}5D;o;Y|7Hi$iU2SAb^RXfR%wk`umO@S~o6Q@=ugCW~y8>F=z{8$Yyp%
xImXTWOnOYb%8U$fpg!4)#gx?mC}K3Zg(XJN0!hvW$abClktLhaZ*nZFDgc|K7Qz4k

delta 111
zcmbQi-NY>$5D;o;Y|7Hi$iU2SAb^P>ij{#u`umO@S~o6Q@=cUAW?DRNV$c>wyUpy3
xa*Ug;nIxEac^MhtKyY#biz%xVP()_(ES4BSB_ugDAX|SjJ8L$h#pGgERRD%H6>tCm

diff --git a/lib/libpkernel.a b/lib/libpkernel.a
index 85c3c579853a9646d8d70986ed229feae8aa504e..0fb48ced2ca3619da6e2ac219b7e4a640ff85f8e 100644
GIT binary patch
delta 1123
zcmZuwUr3Wt6hHTKQ#aeUP3Pt|Hb1BBkG1)2E;TKK!U(mj#3-ROa}XwG=7S|DBZ;0Q
zJrO;nL{Kl~YEM1{)<dNcy_r-G+EY)VL<aUy=We$#p$p&redqkn@7!|_=ia%+zE85-
z?sHK!8dVfk;VXMrlt>K`snx9q00TfC0srJd0Ly6rTQ`7X1i+O5P*woS*8zMb0F??r
z@Cbl9I5qMz&{fgWbn;kJYeiRUZ&-y(v7v!jzj`$sx?IJxhojL*bqy~gIoq%(p-W@X
z2<xqco4InzLd9a$gzKVF>^A$^Lu|<lCx`O#87{E9`W;jgUpj^s-6`{pw3XUTv?Gq{
z+Sq4&r#rw(@waZmkX=#)$Miv**SoiQYj9cbLnm{~*|A|2&r8kv&`_*DG#ncl1{^JL
zju+7x%m_d?2T2BSbDIwKb2J0gax4VcCwS@%FcKXVc00Ez{wzm|zrfJ~a8d9Bf~QWW
z_%V*f0Q{bG-Z)J1A1hsy6E=W*X#(zZn-V|fNQs|tq$-~a{sl+Uz2bh-y%GNR+$P;e
zj->m-(GIXC_@5j}x5fRAe1JbG0;l8v&S<o_ZZt_IhVfdDbe!Qv*vlclKLtjwPs;!j
z49n^~xsU@8V)!h_qYY^Q+Hu2FF2yyt7O~={!K9rar-B7?;NK9~l5O%2DQiGvix?0!
z*rPk#ai~Q()7DXjWqTjt^%6h!70)H@RR)G$TRJYOSeh9=C?U6%+~*vb`J&Xec7{vN
zx#S5uQ8!&eG3e-I_|-j^ocG8KXO#4O(nR*)mg^hpJtEiZav?}4Bq-b|1RuOYKow$r
z#R}H@c}<k+S3r#Vs<)FRdv-0c^feR8HH=rTVP8n3@Tr*;2U#y((UjtJa79Xu<5RR(
z%`zu-t_Y2dCdo;iZS+#qYQ%=S&H2;SqN>>jdQYGBWLbsby7VL5_68|xvLO?-oN4x=
RWEO9BTR6ER|H-l-{RQNe_iF$E

delta 1008
zcmZuwUr1A76hGhXI-R!LrgPU^>ept@*_`*zG50WPkv#}OQ6eZ9LJk7Oz!oG#?xCPw
zWaC)$QW(7m1q*HuKBN^%RM1Ng{h^n7DzL1Ff`Z7-xBKNrbl~3Kch2ve-}mo)>vL@W
zBFndq#1ioY=LQ#6`R6<)h?0%f0>D-P$GZJ#tpHvJfKJ#v1kiF0fL{R!t^jmA1_)DL
zx36&ap&uqP(^HvA<CGaa*(0>fcs$md5R+Ow^;E$g)uooawE9vhjWDhHRI@K>V2*XN
zaU88S@oM#N<OlK?an>jsfC=Z2=K?M1ueoV(8Lv4Hu@Cs!xffHlr}2Jmr0^z!dR+&4
zSOiz11J3AlW-^-1oXO&HoqyI#MQj@Y?Ex4mbPMzV#0V7)V2|+Y0rpFOK=_n@R3POK
z3v2*5Ci!v6Pf0#2kS3Xt{CR<m0GCAE2eU9IiFpwq;p+lP_@+P|U{UgxKq_1kaUa04
zj6V`S)jbzTbuR=q0lbp@nn0@iD&pG#zRNfP84jm8-ccR+rO(3{vSbkVxk4;We;so!
zH;oFekR#0i78u@02CEc+Hil+@plV|a9Rn6>8jx#lb_7i=R5hpqxN%eqZ(gFcpnbEi
z)Jm&Q6ddzvWiGGB8QyLzT5ACp!xMT1wb(q!aJ8vu-P%D^uDODG*V51Mm%nID^bobw
zQl>DkAH>0(AF;hnXll%3*d14HIMG-ZZzqLRKqzPoe+KRD6BI5O5zK~u;P|eh<qwlW
z?7s?!yGUWOQ!0eJDinD8aeUkT-kRV2jBReUq<h!P@ssfy??r8GoG~{0o{lEhYwyH9
isF6g4S8pc&U51^drDPUQ$(K`lQ6Bly%KN7D2g)DKUfLx9

diff --git a/lib/stub.o b/lib/stub.o
index baeeceb597910e5dab1ce4c8bd58829bc7854303..e012b2b5befd761aab9316184ec875b316de3589 100644
GIT binary patch
literal 912
zcmV;B18@8_4y=U{QdG~Wcx=x7`iT)0-x5zR{et}<8Vgq?9O*{^d=lJx7<%tL#(vD)
zc>>;r&g4r@Bv>%n#KLQVoMf%Cr2}8zhO)gKChi_l$}{`!P|Jr_+g)cdV8fRi8Sq6J
zJNCj&jq8_7*J(Bzt&WMVsozBhbRi_*;Q{2;AfqZ~@Nh&bWt?D$qKt13(>ucHSo@y5
z{)myPAwwz2ThipLpi$IPm$hjlF>!O-*!)=j+d}4SiSf(cyT|tIyGGX(kfmXBJNV(7
zTbPG+=ySQA&mV3Xb{m<*uh8<ko<WiMt!RzlHjf`g?bMJBJRjKeZE`_Tdg6U$--#LA
zK?HQ8QOMSh^$%BG=ov%3i4lbre&toTezd{xN39Mk3c>ynif6!PSEcB{qL~$*kCPol
zcPmhQK)QXGSqG;llyXO&E-9dShU-Qw%7ffvrf}5is}cyMkBzlWhiNw+gWzX~iJdzI
zMh<e=J%sdhfZk0(l>GT?Uq%)8$et+vutwp>vL7Ab&|%_3Rosgp$aNCJ+03gc)D0sN
zuKwCRg(lPDk2xM%B-%0_zKZDeM?H}l<HoRl(QqmQxr|LO;?7o0wU2w2{9;9_*{D=U
z1nHzdwU1hs{9;AEbfe@>d+DTf{c&h+MesGIpFUKq<;{q~NZ)5*wObFaL_?46JQre4
zCla;;uF9+C7LWmo@TDAg7|v>uaYDIh2SW8bGG=jUh*GvUmw*w4KUBYJXL%TKYvZIS
zgQU0<rMJFRn!y<n<$=fQD=~%Z6AiUg5__bubtNiJ{?_d0_?o4xJs?Pm>mAl1I14oM
zvRdlR1a4KQ`X-!q`hLqq<@=d+TB&N#Q~+D6pcHDHO=BC%8#dynHor_~2J+I09GRS^
zb8<@8O6I$Ri!8Sl!3+Ho+3Lx+X*i1Y9^dBF)6siK<tmWV4T?F!6B)9rhz1u~N{P`#
z?4S&w5YtG%74hI8O0xak4?o{D_Nl?@h0-tCKx?~>cP!pI_|aKN-&s`uzJ+OO7T-oI
z!w{RE@p2_^@eu?GI~i3(Gkwb2U>W_ImV_`ori@E+gF`okB&XJ2=Q5LprmYfD5^u8W
zVMq~wg6&dO;N_d)rz$FCxi|Pt;OE>(fXw~-PdIEiI$=KAV>_5VQe}j)+2spH+9Mdv
mEVZ`DUqK@{*YKZ1x_7F@`PEe0X<+`W5BaeW0ZZ^ftyu-e{LNkf

literal 912
zcmbVKy-LGS6uyboDyVc22L*8wL5L1MKw@*7h9*r(+QBX{m4Z_1kQ+fKJNp#+077?t
z1UFy6!NJjhlM2^!l6y%6Cl8!_=ljl2?%y?a8j7M2X$qMk1tUZkiTw<>Nfq+{F`S7$
zCz_9dtd$1UL|g@&2bX`DV3Q6mY*XMOpsYa&>-Izr0o%}4!PP9vKT}A&LpTe*1YQBh
ze{X=7=iNfn3uw~hye$wGqzE{HChW&KSc8b`m!?kd*KzKb=f6JUMmoXUH|PBGLsV$V
z@G>FVfH9)66PCnDG=S)8oTK3J@GLKsb0x}kA+L~>OC9m|O(Ivx3g|^o%6EVl=aX_B
zIPM|0l=rhhcBGsE$34mX4FtuxrTh*!?p5X=Fwk>GV13Ur%uprEC64F#1dex$R>PID
z_;{Bk7XvL~V=@{?r{~1&IbHj}^SYtynLUSwhGSdpvP@miKMY-?QxYxT=rrwm5H@V;
zm_aFHn5IvIKN3x9nAC?kmR&E^3%TJKR(Xt&>rGm31wEIvsNbee7<3KbcAt_FOQJaW
QrDtzYfdj;QQQ<-U0N@6J+yDRo

diff --git a/run.sh b/run.sh
new file mode 100755
index 00000000..f58f99e2
--- /dev/null
+++ b/run.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+ERRCOUNT=0
+echo " "
+echo "======================="
+echo "==  ASURO OPERATION  =="
+echo "======================="
+echo " "
+echo "Running Asaro..."
+qemu-system-i386 -cdrom Asuro.iso
+if [ $? -ne 0 ]
+then
+	echo "Failed to run Asaro!"
+	ERRCOUNT=$((ERRCOUNT+1))
+else
+	echo "Finished Successfully."
+fi
+
+echo " "
+echo "======================="
+echo " "
+if [ "$ERRCOUNT" -ne "0" ]
+then
+	echo "$ERRCOUNT Errors Occurred, please review."
+else
+	echo "No errors."	
+fi
+
+echo " "
+echo "======================="
+echo " "
diff --git a/src/kernel.pas b/src/kernel.pas
index 72621e01..eb43e43d 100644
--- a/src/kernel.pas
+++ b/src/kernel.pas
@@ -26,6 +26,7 @@ implementation
 procedure kmain(mbinfo: Pmultiboot_info_t; mbmagic: DWORD); stdcall; [public, alias: 'kmain'];
 begin
         kclearscreen();
+	kwritestr('FUCK YOU!');
         kwritestr('Freepascal barebone OS booted!');
         xpos := 0;
         ypos += 1;
@@ -67,4 +68,4 @@ begin
         end;
 end;
  
-end.
\ No newline at end of file
+end.