From e2d1d14da01610f76b1afe702d4297757696a6ed Mon Sep 17 00:00:00 2001 From: kieron Date: Fri, 18 Sep 2015 17:21:37 +0000 Subject: [PATCH] New Commit. git-svn-id: https://spexeah.com:8443/svn/Asuro@4 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5066752 -> 5066752 bytes Compile.bat | 52 ----------------------------- bin/kernel.obj | Bin 8704 -> 0 bytes compile.sh | 12 +++++-- compile.sh~ | 72 ---------------------------------------- compile_and_run.sh~ | 7 ---- iso/boot/asuro.bin | Bin 12516 -> 12516 bytes lib/console.o | Bin 2052 -> 2268 bytes lib/console.ppu | Bin 2980 -> 4318 bytes lib/kernel.o | Bin 2200 -> 2236 bytes lib/kernel.ppu | Bin 1432 -> 1432 bytes lib/libpconsole.a | Bin 16190 -> 18802 bytes lib/libpkernel.a | Bin 18286 -> 18322 bytes lib/libpmultiboot.a | Bin 21818 -> 21818 bytes lib/libpsystem.a | Bin 91378 -> 91378 bytes lib/multiboot.ppu | Bin 3007 -> 3007 bytes lib/stub.o | Bin 912 -> 928 bytes lib/system.ppu | Bin 7993 -> 7993 bytes src/console.pas | 41 +++++++++++++++++++---- src/kernel.pas | 1 + src/stub.asm | 79 -------------------------------------------- 21 files changed, 44 insertions(+), 220 deletions(-) delete mode 100644 Compile.bat delete mode 100644 bin/kernel.obj delete mode 100755 compile.sh~ delete mode 100755 compile_and_run.sh~ delete mode 100644 src/stub.asm diff --git a/Asuro.iso b/Asuro.iso index 3f2d51a68a3083fc3b327f38cd633ba2b26ec46e..5725f34041d1e49935d5baea8011687774afa22e 100644 GIT binary patch delta 24737 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 vziLl-B&)@LZ(Y`0>Td%}a+hp&RQHx delta 24725 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 diff --git a/Compile.bat b/Compile.bat deleted file mode 100644 index 9530db2b..00000000 --- a/Compile.bat +++ /dev/null @@ -1,52 +0,0 @@ -@echo off -set /a ERRCOUNT=0 -echo ======================= -echo == ASURO COMPILATION == -echo ======================= -echo. -echo Compiling ASM Stub... -echo. -nasm -f elf src\stub.asm -o lib\stub.o -if %ERRORLEVEL% GEQ 1 ( - echo Failed to compile stub! - set /a ERRCOUNT=%ERRCOUNT%+1 -) ELSE ( - echo Success. -) -echo. -echo ======================= -echo. -echo Compiling FPC Sources... -echo. -fpc -Aelf -n -O3 -Op3 -Si -Sc -Sg -Xd -CX -XXs -Rintel -Tlinux -FElib\ src\kernel.pas -if %ERRORLEVEL% GEQ 1 ( - echo Failed to compile FPC Sources! - set /a ERRCOUNT=%ERRCOUNT%+1 -) ELSE ( - echo Success. -) -echo. -echo ======================= -echo. -echo Linking... -echo. -ld -A elf32-i386 --gc-sections -s -Tlinker.script -o bin\kernel.obj lib\stub.o lib\kernel.o lib\multiboot.o lib\system.o lib\console.o -if %ERRORLEVEL% GEQ 1 ( - echo Failed linking! - set /a ERRCOUNT=%ERRCOUNT%+1 -) ELSE ( - echo Success. -) -echo. -echo ======================= -echo. -if %ERRCOUNT% GEQ 1 ( - echo %ERRCOUNT% Errors Occurred, please review. -) ELSE ( - echo No errors. -) -echo. -echo ======================= -echo. -echo Press any key to exit... -pause > nul \ No newline at end of file diff --git a/bin/kernel.obj b/bin/kernel.obj deleted file mode 100644 index 25ce963a703e6110a9a663ecec268cc6327a6031..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8704 zcmeHMZ)g)|7=M#qnroWWRHJ0t;R%OqOpDu`j4>g$RvcEFt#!hXrI+N=h9!65a;X;F zEJVRG6#8-dwE1mcHWd62R5oi%{WBd_{h;oP$b@W_u@BNp9cIt--X*=HSIhpu_TirP z?s=a-@AK#P-k;>n-jBve10jTgqg*DW2plOy&o4fWfVpM;xfXJ^>Bfelqx;5&zQJUc z%P8`IBBZ&PAW5>yMMX}@NnBFmcJ}mgX*n*o`+OeW2p#Ssq}zcNEYJh8qM_O03=%)+ z@CXs&B{!iuIQ+;#fqJK2w*!V)Kc#-KgZ{veg!V-Ur~BdroC9PqUHFgA?W%ZKtrmlQ zfdF-zi6i0u_PC%5s6;#Vj(jC57AQo*7u%!REY*bI%ppdLX@vA&tk*hEf3ptJf7bKC z&lgC)pM-l$EXeau5@YzcUwc$~3UZP0`$_3rfcmm)>slSbvg>Ua6}r6JAM;G#F|7wb!FYC@(zCGc9om&I&ZF1dGmQo+yo@nky{G+997rS*b2HlA@%hH_(t5`w zji#U8j1Gl1K0nD!jGo;HbFn@a>eE!7`KL9W$9OZZj1G~)TUg}DK=4GMMZ4Ca8Rbtg z9yb-W`yJYCFdw^>yYu(EC_v5mNw(67(NO+zP&>$bp&`F^gb$3WeDhQzIezg|R-2gn z>5OBB(I(CiZFZk__Z$}dy$4QnbNNeKPOQ=H7jIm@etquY_^%Dx?c=v{_m5pwnSE1@ zo3-Cdx1X2G1&9o3{RN1epA1ewuldJ;YQAy(Vi*feG0c|yQ;#w`dJxh#5b)chU7`8D zqxohr-zx2zDc>~a(;k#QG3Cim1}3mb6X|!IeYO#>5wH=k5wH=k5wH=k5wH=k5wH>X z_YuIa9=jA#%m~?-km90(B1UCNdEW|~HlSDC2r;-jDgo_R@KMOJuvbPc$HjEOok`~mYEWHC;8rIY; zAA)pgF)b^@9Jie#dpef%-JKj5TyO?o>yTWZtO63In0p~+4Xq1{sYE0z#;~}^pol$3 zR3VxYBXmz^8M|-o($n>w6+)Kt!Tl~4zJ((pugJJ}gR&P5t>NlIMG#J`&O+z&*Sl@S z*_5np_$7C_>}bdOkOvGN1pYbfu(TQSCWCJQ4%8He?ZKRmqG{}7E9we5fKQFC(me*j zd=qBW?uua}!VJEUw< zpKcxpJ(yqD*NlDprDP0#u+U8;SSPzZJsD9ljF7Kh_Ac}d*7zE~4kfA8t5rSI*b9xN zL~tgxo+NQ6Va(&E&Z>bikJ-+gqKHy#m;wKVF>#0Gq@;=p zCN__Kd<+&PlBrnh09Wf{rSt3(lu8Qo*u^K3*sj5w-5&}HewKhTYQ~$+yScRY{0<4Js^N$K% zcw<`GFe2J~Eqq#32j#f2Fqj3&N{@FsR*!_7cErX6C7zUo6n*?)NVvZj>xe6ZYYXdR ja2myQ8fnI;@DB$EN57uO diff --git a/compile.sh b/compile.sh index ae8c60a6..4b7e5ab4 100755 --- a/compile.sh +++ b/compile.sh @@ -7,7 +7,7 @@ echo "=======================" echo " " echo "Compiling ASM Stub..." echo " " -nasm -f elf src/stub.asm -o lib/stub.o +nasm -f elf src/stub/stub.asm -o lib/stub.o if [ $? -ne 0 ] then echo "Failed to compile stub!" @@ -21,7 +21,7 @@ echo "=======================" echo " " echo "Compiling FPC Sources..." echo " " -fpc -Aelf -n -O3 -Op3 -Si -Sc -Sg -Xd -CX -XXs -Rintel -Tlinux -FElib/ src/kernel.pas +fpc -Aelf -n -va -O3 -Op3 -Si -Sc -Sg -Xd -CX -XXs -Rintel -Tlinux -FElib/ src/kernel.pas if [ $? -ne 0 ] then echo "Failed to compile FPC Sources!" @@ -35,7 +35,13 @@ echo "=======================" echo " " echo "Linking..." echo " " -ld -m elf_i386 -s --gc-sections -Tlinker.script -o bin/kernel.bin lib/stub.o lib/kernel.o lib/multiboot.o lib/system.o lib/console.o +objstring=""; +for object in `find lib/ -name "*.o"`; do + objstring=$objstring$object" "; +done; +echo "Object Files: "$objstring +echo " " +ld -m elf_i386 -s --gc-sections -Tlinker.script -o bin/kernel.bin $objstring if [ $? -ne 0 ] then echo "Failed linking!" diff --git a/compile.sh~ b/compile.sh~ deleted file mode 100755 index 79518c4c..00000000 --- a/compile.sh~ +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/sh -ERRCOUNT=0 -echo "=======================" -echo "== ASURO COMPILATION ==" -echo "=======================" -echo " " -echo "Compiling ASM Stub..." -echo " " -nasm -f elf src/stub.asm -o lib/stub.o -if [ $? -ne 0 ] -then - echo "Failed to compile stub!" - ERRCOUNT=$((ERRCOUNT+1)) -else - echo "Success." -fi - -echo " " -echo "=======================" -echo " " -echo "Compiling FPC Sources..." -echo " " -fpc -Aelf -n -O3 -Op3 -Si -Sc -Sg -Xd -CX -XXs -Rintel -Tlinux -FElib/ src/kernel.pas -if [ $? -ne 0 ] -then - echo "Failed to compile FPC Sources!" - ERRCOUNT=$((ERRCOUNT+1)) -else - echo "Success." -fi - -echo " " -echo "=======================" -echo " " -echo "Linking..." -echo " " -ld -m elf_i386 -s --gc-sections -Tlinker.script -o bin/kernel.bin lib/stub.o lib/kernel.o lib/multiboot.o lib/system.o lib/console.o -if [ $? -ne 0 ] -then - echo "Failed linking!" - ERRCOUNT=$((ERRCOUNT+1)) -else - echo "Success." -fi - -echo " " -echo "=======================" -echo " " -echo "Creating ISO..." -echo " " -cp bin/kernel.bin iso/boot/asuro.bin -grub-mkrescue -o Asuro.iso iso -if [ $? -ne 0 ] -then - echo "Failed to create ISO!" - ERRCOUNT=$((ERRCOUNT+1)) -else - echo "Success." -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/compile_and_run.sh~ b/compile_and_run.sh~ deleted file mode 100755 index c2c23705..00000000 --- a/compile_and_run.sh~ +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -ERRCOUNT=0 -echo "=======================" -echo "== ASURO ==" -echo "=======================" -./compile -./run diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index 21422323790d3be1e7b546c3f7dc5f2ec9a75b4f..6fef80cb9ebb13cc46a0ec8dff6571f165ab402c 100755 GIT binary patch literal 12516 zcmeI2QD|Fb6vw|LH%-W@rkKux6+a=2iMHfn0~HEcHKWjOt*(6-4D@EX>B5rSk$hDP zQwMj0eqMro6$IB;L2$5#V27HfWb3RCZGD(ka0~}`w#XhvGBQ|q&dp8CG(%Crmvh2* z@44Ukf9IUvV+dnTe1fqqC;s|PkwEv4=7R}LMMeaO01+SpM1Tko0U|&IhyW2F0z`la{I>+$ zUwr(6ht;1X~g3-Is`_}!H zCFHU&0W+1T%hzz&`Yt+YavI*II43(*s^DV*J4cA&D`J56su+XUD z_Z^T|K3+ss?Vhv~na^O3=YNpj7N?WRWNk}cE7iM7*0Zi9X_sFcK!MpGHkOrg;o=@x zi~aebKPke>zwL1m^KI<~F6Mr0^21QyTSCoLyew3TTas$F=*Jr-}=esbW zXJgsl+=;UxW4lit3wOhYg7S1YR1o1^l`eMfoA>;(T>J5YYfF*k3rtoI%WGd^!(RvB zQmYwDk-6P+v-sWW>T2yq=~s{3IJZ8td3Hr8hbvtJ^0u{ce`m*p%uqIHLS|#RuMB%N zwnMFYrN$q_e6*q{5#w$kS1lZa@*W1dQF+C#_my3*iuIn9SKI2XVLf@>I@wmoSPqr3 z$u?{J*V2^;5CI}U1c(3;AOb{y2oM1x@Mi*ebT~Nm>L@=tKJ^^>IZZpI=8vms9#?Z( zT+eEJ{0NWhy3i6J7*W$Am7V7K*}Tv)FLISA0VLXT9)g^Yv@^RHYmSx(-+zF?VZhfbWJG`n5CI}U1c(3;AOb{y2oM1x zKm`650)zPzd65%poDB-?UBLzus!-WrJfHvD?ZBy*xnS7u_v0JNedTM+d*K nJ7?m~x~E_oe`~jO99Bo*AqvAW?%c7at#O`F*WdKvj&ZaHNzi}g literal 12516 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 diff --git a/lib/console.o b/lib/console.o index 696fc28063889e4d384ad1c1aa200115a27b26c4..9b008b574e8af8e99ee6b9d06f06f3df43566fa2 100644 GIT binary patch delta 792 zcmY+CJ!lj`7>3`O-0oGrw+5Wc>@|ch=YD%jQJZ|A5?dXyUd7?L6Q&AMl(U^S}-B zx8_8)zz1!x6j+P!_+ssC|4rYstADQp_U-Z^dV&Kx3!G$dP|g%adeho$id#!J7nh`7 z_;Wn1&Q%*1XB+j}+*ECj->%E2b^$%4OGz&F4@(v6BrZgA9Cv3%ToQppXj7?&+y zHLfeU&QtReuf-?8ijms^^2{HS7k{PpkZ*C~(IefsqNs#Q ogdV;DnF-}+leczW?uD}J%6d2v&BVH5hqJaq5~Z|X@*@oV1IMCc!vFvP delta 601 zcmYk3JxBvV5QXP9ckZDg7lTo-i3Vbw#MgRK`=&;NGK=<>VKgM7FH+O=yS|1W`n5Zbs5=|>-g+oM(%ChDg z>g6f2Z(Dh+xjaGkHHA3uTK%K?XXSg6uTxtW{A$6VA96rehzll^OPZIJ6(KIzRsRW^ z0iu!-a>?fT%~+07KJVMetMZA>2RA52+=7as2r9#E8=2T}#}-_8z>{GA355Z-yQojA7BHgTN((k8emY19CzP!DiOuq_%$9b>yxZ4V`}E!CunBin7M z-~a`IR0+fh+6yWO0ph};0*MP$91sU2C?~kU0f`H6L~5JTFyFkl>vif9M-^M`y!rWd zc4l{Wy=f+M_~HGJ_+BB^p{`~e_4!7n`X+A1|2pye{(VZR5$lBF#)0K2ouA0kB)IkCDyOA~n{UVy`@C!2LjSJb4 znE+&q^hE!^RssyTQ48%78Wh?sG$b^lW8&3yjovqcW6P)YmfR`F!3%diz}y@xqtMw+ zE{9IO6T0LsuuV3n@aa zH^g$&$jeL2(kNo?*Gm3w0pC_cLkx@qO^=y~q9&rmbZRo2OJq~2ba=jSsx(`z6{@Au zV*Bw`;Cd7{-CoS%wK06#itlj-CV{4;i7#g2JCdEsrxFLV@x;N&Y;gW;wOlV1PFB|n z56gwbogrN3R8X|J-`x&U2UvqP!JW5Lt~|$EW(ZGm*DVdEtu*EsSOl7mnluKQ)5zts z@r;#6t-g*t@KZ!JMO#cBM=%?=XSp}>sIo+(SfA&(>$V7{tvt>%@KvCxZt~dDoX1o; zAD^B{KfzybN6L$97Ib4r1-R&1@;am<#w5SBOPc+ zPB-0Tt(<1s0j+-HDC#Bg5e0Myrtls##xe*?%wg(#eyPIc&=+)PRq7K~;wHPo)P=(}&5(-h3#cOP0^~z!nBcx%pZD>YLCfcE z=Ev^QCsyEqM*^{{oN>f0FJ9l@Tn7KLAwpNDN3K2D^Nc#_2sbxdNplmK0HkEBDQ6VMtk`d$J zQ(#3BlutbcK@s%QTSV_Y)MF6!CK%Q4-0jXCIN$l5^ZR}0`@Vbb*Vsy9Y-lLa+12A& zV5*|`Lk8WliQ2zBwL2F7X0{Shq!8<@dbYe)NZj#0H;8ys;devfSFLR3dNDa92iVWm za)P65$rY@&+~aQfTosa^{E36|&gkbRtYPfq0Ek?h>0`oiL|uq5{^QYgOtFL3OrRNg z>^aFXxoM8cUUR>_2el5BaJw{n&-Zy1CW#w^ss^U*P9%yW`im!!u|A_*99O5F60c#O z9P+i>XMhGZ!b12lcF)$>g=vcs7^JrczVHA=_!lvJg zpGscM;(NQ2S7k{xP)U-@LlSl+ugemvcSDn&%HwmmnztaLa1Pp7?czxjbJN)gyw4SV zkTL)6ojUSamB#g!^*Ym%g%leYU!5gq%@+CSud}15#k9^5`R*TRX;rvO@7h+eQ~!)^ zLskR5A)VC03hFR$zajrX)q)zXphkc%6{!YL=?W?XJX@r~pyn&61>i+P)@zTQ(`pRP z!2s4k>(Rl1;lb0#FQ%u`_&5+&wQK%$%V^vy0$H*IG#;MDIS`am7osOxefkmqoYo-lf+30jc>zG6IeU_bnW|z=;c-k_F&w5P&6TfHr;o)ur>VsP*9vsSo$a z3E&Vps&40=RZ?x?}eBDKiL$`oL9f?nB1!JMrI!*(gSkth2e j#Qwg{Zp-GvSh}_mCZ5UIy>OvqGC)l`KKr^k;ZXMv%2_T4 delta 438 zcmZ9IJ4*vm6olulyX@UU%^Dwxf+Plfl&M6p5NvFMN*Wt0n-pSgl_2(_oF;{crH!Db zRS+91Ya1IIA3wmxMrXps!iD8KGk50ha&Gf(eq3?>q&j!qNL_E;eL9!f(!hH)bNG7- zoXY?7LT@w9oVAkE4iGaCO#m6`27w{z5>S+;;MmvG(q&*?oCFrdVPH9&uSxT3ji8&- z%x{a#?}$0j3g>&$9R~J8pe>F7haqqzP5~yLf71>AnKXMBA}_uaM}eDgekZc`AfLU* z;6F*T_bjsaLe97`;57ukL>9jl7zcj(zSYy3t)!`)N3m_CSMJ_2UrRQ)w^gfivIJ<_ bfiK#wFGO#Nwf$`AgJy+mC!p|R`tm375^iZ7H%_dFAEZ@9&zdP@n_u=v1O|lVK&uHw+ zDoRS>>-erHT2?i!ic%H+=to4Us-8V{9EDIOt5XEOgF!`1>2OqBz!8$*yQ9drmC)J9^!>?~t?o z>>6eNfkVFBZ#Mr>4g8{VI%WELo^6-n^n}=cHZyc_>^qgzzR0#`oET3c+eETnwp++_ zS7JXXCXzkHDzS0mwg!rkJ7cusD@2+aP#i0<1bK*CP6gk`zPeb7nr~+~2?=sOX^`Nd zJHnzkppOA$$de1TF>!20jJ`c0CB@I>x{N!u(|r zEE2}R0KyV(5G-TIz@VhTz@Tcxz@TB{?C%%s@8cTp?d;>~7!>Rr=oUj06C)(y$@T2qP-T-Ru#0W3;x1$sG(lGimJ;Ic zWSRV$4@LPQ;hij#XA2{ViEmykae{erwFHXTWSI-hle1-z#KbmtDZFG7v_!WG=-5+C z0tR4Vgj>N5sMAzo+&n}50OMpoH7;aF*J(as5`g#*RmOQfM)we-fH9h( pV5=tQ>BG!|@T-ha_yT5FbtPCJsk*|12x*|>A$~%*1ZeI7CIEJOh>HLK diff --git a/lib/libpkernel.a b/lib/libpkernel.a index 0fb48ced2ca3619da6e2ac219b7e4a640ff85f8e..d0b5227ae08991a5d0c87c4cbc2618d3a924b10b 100644 GIT binary patch delta 883 zcmZWoJ!n%=6#nk(>(8snGf87pV}j2ZNGy%bD``z2V8jFmqfwJVgsSKws5t1@5hI|9^3*I|Y4Rqw_&eU!Gd&Dd$D7-P7pwHsTYrZK?Ckz))0Sn~naoVLH@Z4A azooPCTaUcc0Dk*FOQ$cEi+z33*8Tzltf}q* delta 864 zcmZuvO=uHQ5dPkFo3b@Yn=~dh)S9G1VoBnrUE>czdno83(t;N+1)&!YMSBrEsIln9 zOHG|i4@D3KEwr%oorNfZ6%;%O_28x8QKSgHh@vywO|t>tVZZmyeBXO-cINRT^z)=^-d;vywf&3sangL1|0efNj_BY?AC(SK`%4WFD zKO6p@Ce5T-Ipa8VPZiX2n(fK!hdl#|KB;c9`&N`ir>qO=Cf%`)#R%=y&)a9TVNI(& z`eRK{t#?|l^^U7LU~~`f(hW7pT91=&I0}~p5U(FVc@Gin+xn_v$h^t)MiHwBM z1(X$KQ#n*vHfY0 z*6Q`d_m)mL6|=R?K{puEAJRizfum`)RMRuV%??d5`#Z>4GpAo1Ukk?ce7^H4(QJ=) zYF10(j=Riy!#K$WC*EOdC Hx~B0DTGXh? diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index f2cf7f1553190e23494546bfa9122edf0b415edc..22edd9136828d429d61379519de7d46308df2d10 100644 GIT binary patch delta 506 zcmdnBigDK}#tAZPCdNjVrj{F(rZGX8n-BP$W18H<%7NgYW#Tv1%hy*hG%+!PsGlsL zA-=hn<2#ZjpdwRLML?5)f@W9*C-aMNLX8KTlq;^qxH(?*BO|JyG&3@Psgx!XUu^R$ z*&|4NiOpve1xuL&<_5Oz=Yo zGWMY>8CQ8S$`(c35I3?N?VVWc(`iX-CeunNwVEO-j*b$Fx(~C(d+*D;_olDrQ||Ac z`#b-B=kOLMY8NMJGyXNv9g*ETcVB5dxVG{at`|;DhTdW zWKzE4cG+mPT{c=EiS&AWW9Jv(d3>JU1 z2#f^#W?7xR_`oZp;MuXV&cs~uk)bpDu&-Y|wXu`OoY;r2IkEBAo!B48o!FW;C5Ce+ zTH)$|YRBA(>UIpAvfA<7$?A3toYJeq+vXzXP?5Ke{N%b1PY-^hRaD%gIh2!SVY%VZ znHnV}cE0?!JfnFwWa+;AuGB9BUGhOXmc*uWG7;9>BxyQlwP)k`>#Jzb8k-AZo;>)% z#jn6qSs5#5?t&UEYp6SL@S}?|b{iYMh9hH@*`GEifSev% zXU`p93?pOzI0D*uy^4Tss1AI1Tw!r<1OA!sl{Mt&R}1RQc&)`0n7V!Sdo>a^j)AFF zwpd`Q5j%@&3)t3#U69V=q?nlSOu^Ozx=SIz@Xtzg?oyqMiMy_lQ-KzrMU!wcj3nG7$8y-P0LTW7@gLOb5vM(7y}(uFAylK#v-Xa)RrH=3`o*%+_F!_tU#if>&n{sKL;A zlD$z+Q%{56_DD0&z(cw%oot5z8=zhLL2glgV8Y<_x%NEhI`vVOk|iuU-VJg-M042H hg6&Ow#u)uQV1IsC-#aZW)+dA7UY21XsT-O#{{f*@1epK; delta 2360 zcmZ`*ZD?Cn80OS;)~y?f88yt{LZ^~#B~8+74o7M%qPE*gWo0_(T!>xuN6CU9Oz=ks zGWMe@8ArJ?$`(c35I5pp?U`8Y)oDp^ z=ly!#m%BVwzdTi+^{;E&9c|kc`MCMe`s!aucnfv+M?=S31N0Y(#iEu8$8o^jShd6M za>@ut(KXobSwiaZk9F!lCEEQzMB@)?M83CI(GGC?3*s#$x3Iug8)oDWQNwWa*SaAG zak%+5&L3%n;I=Q3Ct`V3(KA8_?`%RiySEV%+kX%dS1^_J%tm;9*B8k1*xDE%6K_Y5-8&~ZDB!zCl#}sQ5_Y~y!tz^qa-v2~ zV0Kczg=Z9>*{S$4@qV1_ndA8eyT21YF~uR-^NGwa6Yqe&gC+fp`wsrg@-M-4F8 z`+1FID31@)hgY?C?EEN#{E=DBnGdHAcR}T-?vP`+a&(>-bv9YEVKgopM*xBYW10_+ z;o!hLt+N*%czGOo+Sb+?n=3v%a&|uq463IBJ9XTNeekLin|#fQ{c*yHt$RaauyC>+ zT^&;GSU72K$Ixl39nYS!w`1tEULDpp7dA&qtabP&*L`qi_#3UF{2t7ayetdN4Mxt^ zDJjwOmAB*>%yS`2_my{~ektgZ4>Iu-w49fT(B7tS%XzCkn=f3ip*?GCF7kQu!1I^B zLZ0f%SUYnU)o58m-37xRUXrm3Z1l1d`zY_k#=(gd$DG*wXEqGRCaSYPYfd42W@3Yw zJGL0cCjM~*wE4P?fNrQRcz9A_32zhpS?HHFWan3k>P&g9#T1yief4`a5(0<7OpPrT zm}!RYlG*~o8q*8hU7F?-6P_yyJ%GC$LJQ;ICn=X1M*Ey+~Pm4Kevr>kgLi^NAZxfDR$>yagTl4w9u^$b?Bcb7Xz z-$rE1$DjaDi1cnkRQZlA&XOSAUge4dFE%NFB>lp7c8lhl!qT@v19^$u*oxj2DR9J~ z$hWM=qF;2@V`O_Px*!ln#)P@gXng@~!Icg5 zq$i5rl-E?pq!L3(S!xCh?m>Q6bz)ec#|%n2#q>f7aV=14YtY9B$lWK9S7+d;LD5B= zyU|F}Pa(hXNU~3(hjd#q-HC<-Kza@!xkcH53WL?>+H*+PsgKZ0DaRUG_0R~C{ diff --git a/lib/stub.o b/lib/stub.o index e012b2b5befd761aab9316184ec875b316de3589..d0c5e39e258244f66faae852476d8d41f13fc363 100644 GIT binary patch literal 928 zcmbVKO-jQ+6rRLt6%-1Jpn|v(SJ8zBXiTPQXwsCVUFasJQc$!mG7;)ZZ=gqTLRh5;TEYv{y&B@ z(Pu>SA&}M5pqhxQfV1H8E7#am2N$*>a2`)&=t()=S#dup zr@-+HxurbJ0@;!B5pX<{%-=vz+*``;f#X?a{t1IRE@&x#$pf*fWU<8Y9-qPSZP9AD zQx+d>v*exQmp_8c1Oj%~HeGIc$FKXmm@Nwj>u)3l8s zY}nK>gHlE}O`isTB$`w=sSk53+bGowx#8$md5n;aCN)|?&m}GDx2Y2bT^+c6K*=df VqBxn*^V8-l{*ww^=n|j`>;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<*uh8ynif6!PSEcB{qL~$*kCPol zcPmhQK)QXGSqG;llyXO&E-9dShU-Qw%7ffvrf}5is}cyMkBzlWhiNw+gWzX~iJdzI zMhGT?Uq%)8$et+vutwp>vL7Ab&|%_3Rosgp$aNCJ+03gc)D0sN zuKwCRg(lPDk2xM%B-%0_zKZDeM?H}ld+DTf{c&h+MesGIpFUKq<;{q~NZ)5*wObFaL_?46JQre4 zCla;;uF9+C7LWmo@TDAg7|v>uaYDIh2SW8bGG=jUh*GvUmw*w4KUBYJXL%TKYvZIS zgQU0mAl1I14oM zvRdlR1a4KQ`X-!q`hLqq<@=d+TB&N#Q~+D6pcHDHO=BC%8#dynHor_~2J+I09GRS^ zb8<@8O6I$Ri!8Sl!3+Ho+3Lx+X*i1Y9^dBF)6siKcP!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 diff --git a/lib/system.ppu b/lib/system.ppu index 9abd8d919d0ad857dc189721bd56477587664e26..94b122af8275ccdbf6c7dff5a5f89fc0c630c0e6 100644 GIT binary patch delta 14 WcmdmKx6^Jy0Q3BvKQ{(HlLG)WV+Sh$ delta 14 WcmdmKx6^Jy0Q2H`KQ;zGlLG)V*as5; diff --git a/src/console.pas b/src/console.pas index 184ec35c..ce86c43a 100644 --- a/src/console.pas +++ b/src/console.pas @@ -12,13 +12,14 @@ } unit console; - + interface - + var xpos: Integer = 0; ypos: Integer = 0; - + +procedure ktest(); procedure kclearscreen(); procedure kwritechr(c: Char); procedure kwritestr(s: PChar); @@ -26,10 +27,36 @@ procedure kwriteint(i: Integer); procedure kwritedword(i: DWORD); implementation - + +type + TCharacter = bitpacked record + Character : Char; + Attributes : Char; + end; + PCharacter = ^TCharacter; + + TVideoMemory = Array[0..1999] of TCharacter; + PVideoMemory = ^TVideoMemory; + + T2DVideoMemory = Array[0..24] of Array[0..79] of TCharacter; + P2DVideoMemory = ^T2DVideoMemory; + + var - vidmem: PChar = PChar($b8000); - + vidmem : PChar = PChar($b8000); + memory : PVideoMemory = PVideoMemory($b8000); + mem2d : P2DVideoMemory = P2DVideoMemory($b8000); + +procedure ktest(); [public, alias: 'ktest']; +begin + memory^[0].Attributes:= #7; + memory^[0].Character:= 'T'; + mem2d^[1][0].Attributes:=#7; + mem2d^[1][0].Character:='E'; + while true do begin + end; +end; + procedure kclearscreen(); [public, alias: 'kclearscreen']; var i: Integer; @@ -144,4 +171,4 @@ begin kwritestr(@Buffer[0]); end; -end. \ No newline at end of file +end. diff --git a/src/kernel.pas b/src/kernel.pas index eb43e43d..492cc6ba 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(); + ktest(); kwritestr('FUCK YOU!'); kwritestr('Freepascal barebone OS booted!'); xpos := 0; diff --git a/src/stub.asm b/src/stub.asm deleted file mode 100644 index b361513e..00000000 --- a/src/stub.asm +++ /dev/null @@ -1,79 +0,0 @@ -;///////////////////////////////////////////////////////// -;// // -;// Freepascal barebone OS // -;// stub.asm // -;// // -;///////////////////////////////////////////////////////// -;// -;// By: De Deyn Kim -;// License: Public domain -;// - -; -; Kernel stub -; - -; -; We are in 32bits protected mode -; -[bits 32] - -; -; Export entrypoint -; -[global kstart] - -; -; Import kernel entrypoint -; -[extern kmain] - -; -; Posible multiboot header flags -; -MULTIBOOT_MODULE_ALIGN equ 1<<0 -MULTIBOOT_MEMORY_MAP equ 1<<1 -MULTIBOOT_GRAPHICS_FIELDS equ 1<<2 -MULTIBOOT_ADDRESS_FIELDS equ 1<<16 - -; -; Multiboot header defines -; -MULTIBOOT_HEADER_MAGIC equ 0x1BADB002 -MULTIBOOT_HEADER_FLAGS equ MULTIBOOT_MODULE_ALIGN | MULTIBOOT_MEMORY_MAP -MULTIBOOT_HEADER_CHECKSUM equ -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS) - -; -; Kernel stack size -; -KERNEL_STACKSIZE equ 0x4000 - -section .text - -; -; Multiboot header -; -align 4 -dd MULTIBOOT_HEADER_MAGIC -dd MULTIBOOT_HEADER_FLAGS -dd MULTIBOOT_HEADER_CHECKSUM - -; -; Entrypoint -; -kstart: - mov esp, KERNEL_STACK+KERNEL_STACKSIZE ;Create kernel stack - push eax ;Multiboot magic number - push ebx ;Multiboot info - call kmain ;Call kernel entrypoint - cli ;Clear interrupts - hlt ;Halt machine - -section .bss - -; -; Kernel stack location -; -align 32 -KERNEL_STACK: - resb KERNEL_STACKSIZE \ No newline at end of file