From d54e43cca96a2e122847e81822432b66ae6b1ad7 Mon Sep 17 00:00:00 2001 From: kieron Date: Wed, 17 May 2017 15:35:27 +0000 Subject: [PATCH] Added delay to print. git-svn-id: https://spexeah.com:8443/svn/Asuro@68 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5070848 -> 5070848 bytes bin/kernel.bin | Bin 16612 -> 16612 bytes iso/boot/asuro.bin | Bin 16612 -> 16612 bytes lib/console.o | Bin 14672 -> 14736 bytes lib/console.ppu | Bin 16074 -> 16074 bytes lib/gdt.ppu | Bin 2620 -> 2777 bytes lib/idt.ppu | Bin 2786 -> 2965 bytes lib/isr.ppu | Bin 1724 -> 1815 bytes lib/isr0.ppu | Bin 1222 -> 1222 bytes lib/kernel.o | Bin 3968 -> 3948 bytes lib/kernel.ppu | Bin 1816 -> 1860 bytes lib/keyboard.ppu | Bin 1069 -> 1069 bytes lib/libpconsole.a | Bin 64564 -> 64648 bytes lib/libpkernel.a | Bin 23544 -> 24294 bytes lib/libpmultiboot.a | Bin 27222 -> 27222 bytes lib/libpsystem.a | Bin 123954 -> 123954 bytes lib/util.ppu | Bin 5630 -> 5916 bytes src/console.pas | 1 + src/gdt.pas | 11 ++++++++++- src/idt.pas | 9 ++++++++- src/irq.pas | 4 +++- src/isr.pas | 3 +++ src/kernel.pas | 26 +++++++++++++++++--------- src/util.pas | 13 +++++++++++++ 24 files changed, 55 insertions(+), 12 deletions(-) diff --git a/Asuro.iso b/Asuro.iso index b9dff2d2b84e74518797a2d170d82688ea765a40..00aedf70cee276ec9b49878e0d3faf62e7819b60 100644 GIT binary patch delta 11471 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 delta 10793 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 delta 1634 zcmZuwe@t6d6u$4#(l;pW>kn$#V7ww=o9TjB8PTvci-1Jth;E4qvOpX!U1Fvgur+3* zlFi7o5|ldWz<7aI&3Q0Mgf~4Kn zWApRVW?E+R@>^}R(dOquwAWU{zbDc;kP?~HW%u$sMH;Z{73@&KN~4fK1xVVhJr1al zLCYLa!Act)dIg7%|I$K7AaTsjjn+UlSC;Df<^2^Bu zXQWb4Die`Pvr@Up&SVh62EfC*tq_I<2t_<0>P3%8*cLkLbcZL?fqWOqX(VqUA_ahc z1H|@aLC`qh1mt>wdvnjiFg8>T5E#Yd2Y`-LE}TpVZO)_y1YyTe+nvQO7^ zNtmd9tb817YAvE8fRaWN7I_4X>o`Fjs!qL}5D6Gq4jySlau=e5h?c+zR}cvZY#Gn! zvV?L7Cn1YcRu2kHH1%A6nts!Lv-* ziEJ8i<#0jzfy>8#l1V3AeolxP@5?kkR11U4%8cCcvqoffDvdo3M88E=ucomQfY#5i zjQ%d@iYJ{`1@m^yYa0B#!M|iBcS!`oIyfyW z&L8bMoai)9WdkY#4;eRn8f}cdQqzCGE zgFW~TbP0YBVF)rUxdHI(gcYLNa}O0ZD)}tI<$I{GT7)s$E#(~v#ccK#N$eR`eN75c)W zGgZ^VKK%F2Rj`j2z=IpkZmvLh{!a+iFgu(4147pg2z{8&BU(rG42G+C>?OSD8B}|* zK*`?_R`A&E>kuAB^unu{y)VObgKXW diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index 0b85c19ca52b97b24bc6f235111e2a8d2aff3179..b7c227ea5b3cb6e6389cd3cea5bf53cab9aeae95 100755 GIT binary patch delta 2315 zcmZuxeN0nV6u<9Lotc@*)MPXMvkk$xhfADLH86uSQy1bA=hw_ti=Q}|f^X-%et@|Car!&I^SkHc z-qYR;a5n>7OTK71m`+I0qLW0T{@yD26p663bXqJrxh~ou=JDrD^Z+=k=_PRLOuLOv zUPz^dMmwKoqAQF}?l9eBbn{;r=~W2X_0(#z^9~~|Hfb45kU^vez<~_l)QP*(Awvo+ zOot32U6HP3NYCScFwm3Wl+!2RR2rycc5;l?nDh91X|&Po^zRr;NOy>6pBnk^ZDDiJ zCCILUpi3{i`dJZAh;k}hB<#%u7|GQ?mv8w#zkb?rJfP^nuv=rm96?<#>XJaGkV$}s zfMd03U~VLXIRTYekqD+qAmsCR!a-Mfn}0xPkRr)IP1x6%Y!xOGFvZV+?q-fCwi)9t zjN352578Tlb^#iZry6w`7%jl)hPZA`T$hCP{I8?%2?xS*6sABJE+AN}Vg3*POB|PyIBgEJ?UOJ20@qdIQ!XX2d>~rW ze9FZHCIK}3bfM#pphb*Hbgr$8+eDjei|lz&@=RjFI+2V&lgPstVPjNP^(p-v>w!)} zJC9BQ388mwd$=VukdftA%#)$(#m`i=)u^p-5OfF+5Y~tg7CW1;284E>a*(hO5b88` zIYM4zy$Cstbw?p+=OKgo&;Es^| zhfnVMtVWO@2CfmJsvWmQ!?EW+SwCcj2?MuO6)xo1S)c6e5rNR4uE(Uo&<^uyO9Y+K zoi+m^N+}ke0(A|?LTru$fKr8&7f^6%f3RU7xOK3*Q%9ngC7(2K<6}3s^CQ@YSOVId zX)gH?y|I`DtG5$a`&Pnw;a8(<#L&F~3~dDTEj)$NgxqD|;#1RKGAHoM4fM}U{|v=E z1;XK{swzKVPvA?DkeCSiNNcb_q#3SAu_K=VJl&8rm9x`*Ss7e1ZO_W!!!KxWmTmsI z7pl7Y5nSl%-@vp(ZFR&?tOcUV9L%v8tCVAZTaYV9Za#3`q1~cce-zyuaM`CktZbg~ zyeJZ1yFglaHhu_I^qFBo%0-lg{sCDgT_ojOj8Tz}DT64&hb8o{Tx&84SEBF){ZYzK ziwTohEeL6^DI<9*C=yVyj2g1@^)W>%8+c9+WpAcevvqIVa^?D5olouvT*K#=yPjT? zJHcLW$3jJ2>n-l)68Ts8LLjunNC-pA3uUQDqqkQ zIeC6!iKb0s4BjpFf2@3o!b2!Lau>`XyaM~`IhgnFf$2lk8wNxBz|4bNVz&|L?t|Hn zlFN8(JIu`*F&c!IW`z&IaHt!+17=oOousnP2LN}XFW@R3#=;IL99u;?!89=i$pq|X z*$}p!`XJV}o((*0E1Z0MY-@qQ=PoSu&Xy_`m6S@Jngt779*={NVXmyiUEv_KV7iS~ zO)uZIUufGqeGBh*SHC-3a#y;&lE+(8?S&(R40Eo^QjI}2@^NF4g(Y5>M2O^ZX$LfJ zbPm)lsBo23JBSv?#vs?QR?F=tB-snxa#vmb`b{t6suBDMtk?8aYuD7(uUZdHz2a-y z5%E!ebdbmw)Yqe dnkLQc%XfRKUwxW5_tMj}-JdyMpj`2d{{XUuOtJs~ delta 1634 zcmZuwe@t6d6u$4#(l;pW>kn$#V7ww=o9TjB8PTvci-1Jth;E4qvOpX!U1Fvgur+3* zlFi7o5|ldWz<7aI&3Q0Mgf~4Kn zWApRVW?E+R@>^}R(dOquwAWU{zbDc;kP?~HW%u$sMH;Z{73@&KN~4fK1xVVhJr1al zLCYLa!Act)dIg7%|I$K7AaTsjjn+UlSC;Df<^2^Bu zXQWb4Die`Pvr@Up&SVh62EfC*tq_I<2t_<0>P3%8*cLkLbcZL?fqWOqX(VqUA_ahc z1H|@aLC`qh1mt>wdvnjiFg8>T5E#Yd2Y`-LE}TpVZO)_y1YyTe+nvQO7^ zNtmd9tb817YAvE8fRaWN7I_4X>o`Fjs!qL}5D6Gq4jySlau=e5h?c+zR}cvZY#Gn! zvV?L7Cn1YcRu2kHH1%A6nts!Lv-* ziEJ8i<#0jzfy>8#l1V3AeolxP@5?kkR11U4%8cCcvqoffDvdo3M88E=ucomQfY#5i zjQ%d@iYJ{`1@m^yYa0B#!M|iBcS!`oIyfyW z&L8bMoai)9WdkY#4;eRn8f}cdQqzCGE zgFW~TbP0YBVF)rUxdHI(gcYLNa}O0ZD)}tI<$I{GT7)s$E#(~v#ccK#N$eR`eN75c)W zGgZ^VKK%F2Rj`j2z=IpkZmvLh{!a+iFgu(4147pg2z{8&BU(rG42G+C>?OSD8B}|* zK*`?_R`A&E>kuAB^unu{y)VObgKXW diff --git a/lib/console.o b/lib/console.o index 7a1ffae72a9cd2d361bf40aa4719efa63e4fd866..41b7853d237c0a020e56af3c37015857f76542cd 100644 GIT binary patch delta 374 zcmXYsJxD@f6o$|F^i%I(XdnqU&@#Q4AzVtXK|@3mfui(7P(xcwOMf^=O%8%^T-qF* z0*SZ{1<_JXEf&D{^R;(M>(@81`% zBEV&;j#q)Y*>SzuRku(ixTHYBEZdu&5cx*=FS(~?M=QB2cT8x_o{ZwLw+(rnSq#K$5 zg*J`I04GL7f&!4B8gCQyY-re}A48LAKR|`T$&maC0^Ct18NzegPimN_V7hdo zl@LtW|3EDin?ukh2wK@F99Dvjb8^*tKX&HLzVIkI3~dq3_bNXUZ;h9I7FaV_c*!V< zMUbK|0RWNR8#{^CFMSsmuw`ZjCUV%P&GH<>Y57T*ZM9@!!<>(hHSO`%5FoU30No@a zWy72VU8a1OFzt+8V~a}mqxrNu1-hELFza3{#$}dop8$-ex}54(s{3ZIwq})HGdv~$ zK2r6}L%k_6q!r)6hz@*L#CdA_)kJRms*Ljh4f^8O3YD~r?-XcPY6TF|u6E?T4bY)8 u?cg!>v@4WHt7@2HJt!47QzQciXK6BUu}d3)tHL_KBG=+v;6}h7`S*W=MN$<2 diff --git a/lib/console.ppu b/lib/console.ppu index d27fb5fd47472c0e5db58f1fcaeee535f02060d9..b128182b064036c25af04c28439dcf01d95d20a8 100644 GIT binary patch delta 32 ocmX?Ad#ZLq5Yz13i6IIc@eP`j4V4fRFh0Q8U!1^@s6 delta 32 ocmX?Ad#ZLq5L1@t#1I9Jz_)Wv^p|G6+*q?(jj>|0hWa9L0PKDZn*aa+ diff --git a/lib/gdt.ppu b/lib/gdt.ppu index 412bf6d39cb7a5d2536263a76bfebfee8dcaa6ff..59f30ac522966ad40dcf4ed1b3d823bd8ec9a818 100644 GIT binary patch delta 1147 zcmb7^&rcIk5XWcsXWMNlZMOycg8;SA5;&lkRMCTCgQ&rpzyUF7O1qSerNwrMAs#pw zZ-%6K5)=LjIa5&zraJ&1^rLKjLHM^6Ko> zYsxDG8BWUM@F4*3=JexZ2!wx{0FdmB71aE*^x9`nkYIr0-yme4eJ1*2o$H z-L~uXrUe*3qmwQ@ND+S+YaJGQe2IK*r@74ehq z7m2s*#unf(JCu(?K~h!mzJM8aQ%MCwq$r#N9AP!(7)vap-a|jzROj~N6vPZKh*vMb zuqsZI<{^{UAh5D{ccoHlIUU+O8Wqt4()$E;0R+nDh-9C5OZo^+G!3#rk)zzUTaMKM zOq(K0=7>W4o-i>$)@an7ibea_79D?_rLLHybV1fPB$^#+(+Z_>P>w4bEku>Qd2m1Yq7=^`Kob6VK_iKxgbeCt5 z{nHZzGv~6+BKxJ}jprnFMYbYa^;zO}jm4^CRhDmFNn*){S{>H6hK0S}YaZo7R|T=M93 zm#&kiGRV^czC_koJl}D}HE+eHyQ0kw{n-j{cmHKx`+g+~C^&>Y!ZH-Zc$6cX&E4)+ ig{n)XFkEDx5Ya(#{^#NAT27@wS4D^Mh}Uc=koyn2?51G= delta 1057 zcmY+DO-NKx6vxkbZ=N%6-i+foGmbh_>Zp@x5t>7USd@inQL|7&D27p=)Y;2VJoi7po?5>ptD-(cQ4UP$k=hv8lYUU^W_r zQ@m9(i6C4?rCzSBRm*kDzC)Z8yJ{vLf?szMFI$ym;*>}SwxR~SnsZ*_PVp{~iA3ND zNRBuob^@>Xtazkd;*j{Mjc#NSP5` zo-EAyJNmpG$Hhpvw`+9ah(tR-oqH7ZtcC`Bns(O7j5hftdgk(eu*Nr$$$ zxrK+QyMqXVf@@JMEtERBD2TLJii1-(xB9u0pnrki;oax^-n+Z^eRtoz$B9h2eEs-| zQ^rFko!*zTbjKz7c;@-c@+!TE6H&IE$(vVir*2HNFQ-$Lr94*Gr?*8QHSag?`Hfmp z`&@f6w)>^sn(x|UB95Dy$aZ_@WIoDd>VY|=VobIe0>bJHrBLa`Bp+iB3p~jO@rJ95 zeI0|t^!K*^#zw=Gy2KC8l9XUxq7)n!__5@v|^a6KbS|8zV z`1(uk!GJNsaZDN8JcXRO#R=%v824k`D)1rPw2txs9$BZw`N5jWdh$+A2R(I4CXTtL z?CD4#B@B3K6b%){B{hhra=otxS>c%)WgBZM!%_SYjKQ&U+>4^%0bH?*+=oR$53lUB zG`(rhcE6TS(phg&a7yNiFz+zu%qHb$ptXPWjbK(b8A~>n&18)B_qA`rZ3R4^#V_al za7ISAUTswt{CcxhyDNN87+u=?6!>I)#jQwgA}Nz|_`gF3j`MgIUn8oD`j>fq|lOA9{3k9*HK_i~@t+1*UBTD@`R?1cLq z;>fpZuY8V+?3XG(x;xgpLJ=u8ibEbN-Shp8Yd!Y*-o|+8-Tgm}7kAnoLIf!$2Oj85+Rr*WLU=A0%M z%(OYFCn4)_+l=tLNfP!1JQnN-d`>G3AKM}le4|YAtL;OIO=Sn&;1rIstW5KE(4*Hs z4Q3Lf`pv^P#@|8Nn^ffj)A5;HpvL9@{Ha!Lthmqk$}5EP+TLtQnB<4})IdSYu(n)Z zTwATJ)bBo0z1>qy19J6X%^Wjf-}#(sL4W1S>|$-DRu_yR%0ZSi*4Y}!_lQ~&?~ diff --git a/lib/isr.ppu b/lib/isr.ppu index fc13a3db5705919b0247f850ea37858e5f955631..6dcaa9cfb9792d69c8ba52434b2843d5719b9f28 100644 GIT binary patch delta 785 zcmah{$w~u36ns5NXF-kWOk6UW!-#@{TTI*z9wY}>Ft~vb5EKtlNd!IX!7qp{G)xze%?4e8gpKbTBC2T4~K8;-~cuz7%@sPLL1zSxPxbo zt2YRLQr38q|FfozCoi32mXjaOGV|nAq%_{8y5`ju@v@$XSSMHWQYMhpzR{Jf%}HWu zE}IcIUjS;i911GO6nIxY!%+nCEJr+al)(G)2aai=Vat&W9W&r3q#t#!W`SlbM_cHa z1HWML?IAx8z8vr_7?$tA$}v>|g9{x<3n?QYhtN5+&}jq&5$mqiD{T}66FQhK5k^2V z;ae5z?1J49R1Dwn>=lxU3Coc+4g?iCsP3u0NKlHTLMPQicPJDwU&c<YE9LMjPq_(!T*MFMS7Kv48U2K}R>L3nXbh0Q8g5o6D4i4g^LI|{+si@JWqHv*HM;nTq(}57=O;31n!>vOpLiJTh>1J-ID{fCae;V6jrQnzbjx^I{yKx)GC=%Wk$cHbris@Lh448&B+sfI V9@A?`xuA6}kB*zOw){)3{{zNDNd5o- diff --git a/lib/isr0.ppu b/lib/isr0.ppu index 53672e01c477ad1031d99fe9a51530d2062500e9..03f21de9ce87adfa84d0391d522534a62f43759d 100644 GIT binary patch delta 31 ncmX@cd5m*H9!GqG=H$c2+#gIVGvYX7xx}aOFvE(C8^l-u+guHe delta 31 ncmX@cd5m*H9!KEYxhDEcvtCXtGvfHH?|D{6s6~3?1~C=@)yWK; diff --git a/lib/kernel.o b/lib/kernel.o index b3c6db79fec6d48830c77ed88504dc4457a09506..b4cd89e2661c45d1616cdbe5515985aab63d3c45 100644 GIT binary patch delta 1221 zcmZ9LT}YEr7{~wT=sP#vyJd~iocn02X?`@7ywHm@-AY|*&B&mVut3m@qKrV?Bq4(g zoad&CC=#R(yf6$2D+s$Xh;Ab4rW=C-C8(Ra5Z3d|HyrO_=lsv_dH&~lA2?@Y-gVEE zPqa0-d4wgkF>lTISC*~n zwde>QY3*t7#k!hXeeshmEs=P<8rX_Oo7-a5P+{p--LlEXHF&0bIli7EjMWpN|%r7UhEzLmwNi0@|c zMdEu|e3f`Ui^qxIWbw2>5(x_OD1^X_v1i^!bJ@h7OuTC1w2904=8VDh+D+Uq`~Igl zKR9GE44XJ%;t3N!H1X2HY~HkR^aVR2CpsgsU|;M)O|7c8Mbrb^9W`RBREP7uYBc|C zlKR*|Q8&au*i>}Ndy z46ufQ8?01!f;7p6Cut+x^wv2+g=Y-IBUZ}Kah|$*X5<%{J-|zY-?37`53J<>$aydD z#mIkUCjY9zzgfxuhrXXVu)zi&O}a-}1K3$>>1~h-Kd_UT8Y^Mm1NfN9SHViYFvtDC zL1ywbFb9A`%;bx+lCPKJLEtPi`G&Yl?&LBDsPk*AbpUxGB=AkG*n?uP`f1t6!9N7XVYL)EN+Ss@WMTdS$1Esj!tM9RMBA?Ee9sMWYk| delta 1285 zcmZ9MT}V_x6vzKF>&@MD@A|crw{VKCnO^d?=^~AxM%SdXW(9ob^)69qyg~{LVRZ=G+YIn@gka`})SlMzXsWUL9Yv4|z6y(&|h6d6xar zNJhSYZRh#a)C+Mm(0s-ijP(r|{n75;0mD}@a>z%9=mjGlHDcYvQKQ>vZ0M*lR8V?t zJgHHJ#5a|YVUI4ge~(tKOQ+`0)mNG4bxTcaV9s$%n^y0Z9!=M!SKFdXyDGMYv$Az5 znKVu0K$CGbWV0~4GTMI8(_>+Z~E&Rj6YZms% z|LZ3gJi^CoHZGvc!Xp-*u<*2npIdmz!kD?Aep#p*M}x|62GxY)ieBH=dZH~7?y8T3 zL+z^E8E`j+J0q<{^`Z8L=GIU|H8~eYbE!623goc{fSs(n0UzrgfLxG!fgq{a4pcG| zw6K-|ZLH-$2m5ybr%eB8=6s;XJ4?)}!|qb8m+qwFs?Y7$X47dmRDwo#oxsgx+y{!QQ(q{qE&~`-j!eIJsmd}- T^A=n{CoRMm6HNqPZ9M)9C0n;R diff --git a/lib/kernel.ppu b/lib/kernel.ppu index edecc13a4d8f3bdca3d9ba442a89c9c064190315..7a8d36b22153caf97dde06e2f77e015ca03c158b 100644 GIT binary patch delta 190 zcmbQicZ5$iARyGx*p#K2k%5`vK!6g13_AnE!~m9;jdxs53r&DE97F8+sLer8I^8OtR;jfWXlK={Q)FTCF56};Op1;Q^XoU#A* zul169GA3Tw&Ukin2csS1Bqp8B$C!ATdFL>K6hXj($q!gfSyuu@R!^2qL#)X?Z80{E0e`4Zg<}F|Zsepiz$vkYPthGRq`pIr=F@mi~a-Bf-q{*Av MvKePjmSv6f>(8Ap7B=H$c2+#hVLTh9ytP^So` delta 19 bcmZ3>v6f>(8AssTxhDEcvtDkjTh9ytQCA3% diff --git a/lib/libpconsole.a b/lib/libpconsole.a index c01d92397f8f66075dbaf5fd8dbdb44b047940c2..675d1588733679fddc50d52a3b4768af6135affd 100644 GIT binary patch delta 1340 zcmZ9MYe*DP6vywK-L)l^9ecQ2+r!7US>ZUYh1LgKDGO1{&0Q*bSdx`xYLF#iw1$C} zY+J|22eY;$1j$UVf)#`XMxmCOrIeN*%g`k=%cy9^xvT38T<-nNx#vIUp8IE-e<_M5 z70zYKn3(lZjUfSeeE~v6!YCd`=<*+gt{{ZUh7qd#hfvi#glf7Gs@;ZAT_-{fYY`%Q zr7>AbvT(1@ln(G3E!m^~sqj!B8Fdi`mTUZ{-qi3Kr4(|;YDwaJ8zsJ0OCD*At`*deRuQm661{jXJU*w3Q}w8+)f$AsCh!Sn__& zZD}j9a|1MZz|>Dyb}j^y{m~Dpnpj%YhTT$W#2LF}&eT_gLZ~i?<=#xVC8bZ%p5$su z2TbW?zvVO~QOj-hm$aI8tLb^gP1*ZAo9vvf>ELs(d@jQ)MB0veVndZ$Qj-j7_!Ps=?K?KZ6N42-!_-iEA!f~ zOLZ{_gL$tJUj@sVP$qzZ6r&Lzg5W+aIE<{YN{bDGb49*wcBz8#b~iND{VlR`Tpk@pKtF zCej4Ceqs0&l=m&ik));Xof0DZbqcKb12qFS$hmP1N(MvmI#NH_F*oj_Qs^#ySYf^- zW2cNOWPBYmpGKU&Cwtp0b%ya#~n#lPc%1F;Ul9rX3oq@<#_X`|2BxvKi2n~yK zJwlvHm|Lm+T9|bzIOrP)ZDW3_d?Atxug5}tJ`4Y^Eh>1~6M{MT*0YiU9W*)ufq%o| eGC1))e8vWj3BedgC%lZ|n4rc0(MFk*9n613&xg8Sb!`${(^E9L^5=pa&6#9XtVo)TNU}aHwmVYQo zO0Vn}Sf`R9TA@o~bP2!E2W7NE>E${z!qd;xH(4d9Fe;9M)f#g72>=K&gZ08M8AZjAv@lQc%- zX#we(=GH;pPfxdNf2rI=S=(y{!~J~SRL}dVC8z3@dYTrHDHHFfqs{snDa0+XC*+xTes=PotY?#4F;$4x!G|>1!7U+uX z@ysF!hM8FUF{(~-rB<$AHs%N)1!NT?y-G z?YcTC+)dlkYh}t2@@V#^gEEO)!x_GkmSd|{u3vQ8n>FEN<$@i#ZC>%*PA?OEwrj#B z?ps&Ddue~$7wS1uJzY@LDci(5@h#SP*`kk*PsXWuvw-`37GYwU7K^QGaJMlCFBe@P zQMme;1?{er?<%$8$l)UFInLsj#6-Myq>Wf{(;*}Ij2j~tGBFGmj_L4JB&&&K0C*(U zP*&jfEi)L*u?frh7_rAttp8?NmM0G#HC23<&snTyY2}a?@l`+NYZAN2KgObz6GOQ3 z(S)YdbQ0X-{;fR ztFs9ktK3|yWxOd}uEj+-oRLQDx1Ucc(MmekAmwG{GU&f|<&!p*#T<`6G8U69*x46O zIQp%xSB>dkv5_e707jfuj2m(K$OPyzmJ7gOHOy+Wdsf8&eCB=w~waCWyrw= zPNSx04!|l*cN$3m7CIL)#lh~bwmVr;j4jUSiPmwwX^(zNZ<_ms^IvXOwujh=k4HP0 E|G@Tjvj6}9 diff --git a/lib/libpkernel.a b/lib/libpkernel.a index 716f518c2f9571f38b59275c9c74358822374b4f..d5b49a760a0ed08de69dcc7846604a74da62f429 100644 GIT binary patch delta 1647 zcmZWpZA@Eb6h7~*EiL`vwqtO&Vq3am2Nh^3trXC$KnvIc8Eiyc1QVPtabcO_{rO^YT+G~l?8lak=BhKyFMdLZ#>5}vk7l~a68M8Lx+n(Exwj0hH|=@ubIxb&z1s!6F^)5FrU=_E)RfW0&o+0(g4-{0D`!F_W7+2-P0*Fb|5|PF=dk{w*3XTY$mmQN+ z+o(dxMw?40>;MllchDv>mI1Ue(lquG3OW=i<`jRDxeH*R!1ps!vJu8|fKkTn0OO1m z0EZbX0p4V!yr&ptn1a*vB53p+J1Fs`g5ZiSfNLDz0gx}m>2QJA32>{x7Z@qww~SQi z_Z)WvEEVEEFem-b1^z1|>HlDqrvTPjP(^=QN{Oa#WAso55DG6q1#>FQ&D;mzV@|pd zBk98ICtZv==~|gr1Mr5kZita|PqE(*@CHw@hkZgX|IH0 zkKY6j0W1r2n*GLQBW1(9vJGbvvearqr@P{uOE$JsW1hwBu3D{Ck}m7NdPY$;dqz={ z%HNVMao1=P%m>HSMb9P8OKqiKQpvcwyY{#GvIEI3-_U{1&eYIQ1LiCI__gveF8Xh% z_=rQ`I{~}aij<&iOP@~mW*acq`4P%iGoGmO;oX`WxEQ;LZFLiJp~W9`xS9_d^)hH= zH6Mry{4J#Cm!tZ1@IcFzVpZt2y56uLv^mVxw+Sq7+DacQ{zRWoNKE1z!(Mzeau2Iw zGq`K#MVw3oL7AjReqK3s}xvr+Fv+l5-wGOvw*ccSB%eQZfI;hgEZx)`$yyw$D? z*AfeooG2PlzoaHQv<25mUC-v~SE|z;=Z$zOqpurZZi78B!~Z8r5xkzsie>yOlj<`z zI3zGy*re@bdf4n{V_{<|lYmhF8C}GTb~c(U%8E398s;~T15akVOHBMO?6{P5ArHYqF(L$(O|mE-4M|Z;d`;i@o33m937O!igxUt?w0Y~;2hQuZ!QDf%BGR6 S2|JtOMT^3xN^KmOm;M139az-> delta 1696 zcmZXUZA@Eb6vxkV`yw5*E2T}rPivTPp~!I$8NWx6jj^Ce&wBDxqp5b>P0T%_K#&;S0; zIrlv0dG2%WZ(oR&%VOMPXsi!Ul)K_}4RYpsW(xq=0mNy5yrY@FBLLtco14^=04VPR z@SOngzXMP?2~cwZAovkL_$z>hd4RruCdQU4qsn8w?Mf`#->G!R6cylba%eF5LU1@# zd*nf$EEH+34~D4#>^e}aeIx!ha5Y-jfmsR9=Ghq7W2}qRMQ~mO!~*`D*MPkiCze>+ zc1}~Fu&}zewl=o!?hM1Uaov(OpHc3fT**7;#H$vkfdD_Ze75CVIqjRhmWRUV!Qk#O zO94Mi*9cbS`^#H1kREBxK!xiUb1&9+m9-q!ZRy>DS917V4qwUPpYW6JGHDg?UjCz_ zonphwQ#_Z$$8z{&4o~Fp#T=f_;p>~(0XH@q;1|>iI#9FvaJAsFyEPu$A6J$BR#j=~ zhJIh>efs*s1#EkiJ~ifRZRw77#9CBzi7ITgRbX7y;u+iUC=}6>B-&&bs}*27 zs|~=*x|NO*E3LblR1^Y)m>mFnS?S?8s}rDy{r3Yrp7lS?`~bkgET>qD0bXRK$%fcp zGDB~~}U)vWz`*8VlAC zdEVE(7;~$Ej%Vegspp5~q2$1!Vc8oz-sB}ia!?*g%Bg{ulk$Mv9_@KZrXF?Sc-uIh z_TI#g6Lz#ajX2+7$K>`!9Q19f0spLAz?q6E?Nqf*;E3OqFUt7-~o znkLcWAH=t7^hhoi9ibnzJGFCS{c&C&Zi_77@1bn&55pTzEH$fG*Z3nE>Zi1sCab_J z4Z2fXYOWAke$#9^SLVa^-NWgkGjL(oI?PG-VCJ*9`K$P*a?XTLDH|zwch(!Qq*FKG zdofk~ii69tpGsRX*lxtP5_Ykuy_>jgFy8?>fT91KuO{5J@3>f`lT?H+^?q*;=PZiWO-qgZ O-+FW74V6AQC;bbZJYc2( diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index bd759691659a831c73886eea6d07d9624ad0a890..0d3d5e971031beade6fefcefcfaca19ee92e9044 100644 GIT binary patch delta 509 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 Y+I&x61@SXxngS0}rYCsY1DHws4+eBWl>h($ diff --git a/lib/util.ppu b/lib/util.ppu index 8842855502ecb8a8c96b224ea8268f40ddb2546a..40260752b2e105b4e7a5628ac640dbd86c7f2e3d 100644 GIT binary patch delta 947 zcmYk4T}TvB6vywmGdsKPhdVnu)8e|HtzvD3kqd^=W+h>5+fs=^4{njrlG;LH6g~uk z5cQy)hX@Lxhn@lvLQ;AV)Ic(gh#pF!q`+Rnz?U|#&Yj(j8JPe4=lsq+Gv}VWm3Xu# zn$33Y-ItVyfk|vO8)KUWV?DQb;M}WYUz!+WhsUA`ey4vdGsF#fa%l#z0DcEB8z&gT z5uQFpD*pw_;8TxRaG|3or^8ctvuV_kF1rBG@jU z!@trvRO7g8kWR@bA%U`O1fqD?HVciIR%W3YJ@)r-9@p#}_|;y6-yNT!9p|ey;WAD; zC!m0N*EEdccJ~6t+!_|$&tVWJJd5xcZ&t5Hd*}}#;US%(|E*jz!rL7r4!mFsH!Rcp zTM>h#%T`JPwd-tWx+i-k-O-Vacb__a6bs7EWLP9!XAsm%dBEn%b(iSrENuzne?$@Z zEekEGc+s1I4>;)!z$(5WUBe&V23SY08ib#?n{*RTkQOno?&6H&1GSke92eEV0XGd~ zo2aAH1euf{xWS;#X?`7;_8YZS=PkJCnOxw4jLMv77J=6 z-)jYNwUx<%eD cV?ocIEWB>pF delta 771 zcmYk3O=uHA6vyZ7N1Gk_3s1+3^nlS4u9<08Ej z^dN}w=|$|pgC4xJA}ET7rBJb2tV&T(ks_i92C9g}qQy6xRAylR{CL0lcsp}_+iEgi zERJj+$SM=SWabq&vey=42Wpd<)XmD*1Y;~$jVGlKLsj>zv>@M^e+YO>a?zC?i21q6 z&xD^@tjJEHKLCt2W2_&TfT~2L)LJ2f^Ku-bm{z9g+l@<#+Nse527eTuCC)z8HTxcGs+qKqW8fQ)Qlc@j!DWzEKt71W5!l# z3Gk|s&V8nz+`v1vIw MULTIBOOT_BOOTLOADER_MAGIC) then begin console.setdefaultattribute(console.combinecolors(Red, Black)); console.writestringln('Multiboot Compliant Boot-Loader Needed!'); console.writestringln('HALTING'); util.halt_and_catch_fire; end; - console.clear(); - console.writestring('If this reads "0x8" then we have a GDT: '); + + gdt.init(); + idt.init(); + isr.init(); + irq.init(); + asm MOV dds, CS end; - console.setdefaultattribute(console.combinecolors(Red, Black)); - if dds = $08 then console.setdefaultattribute(console.combinecolors(Green, Black)); - console.writehexln(dds); + + if dds = $08 then begin + console.setdefaultattribute(console.combinecolors(Green, Black)); + console.writestringln('GDT: LOAD SUCCESS.'); + end else begin + console.setdefaultattribute(console.combinecolors(Red, Black)); + console.writestringln('GDT: LOAD FAIL.'); + end; + console.writestringln(''); console.setdefaultattribute(console.combinecolors(Green, Black)); console.writestringln('Asuro Booted Correctly!'); console.writestringln(''); diff --git a/src/util.pas b/src/util.pas index e26f3c7f..4619b93e 100644 --- a/src/util.pas +++ b/src/util.pas @@ -26,6 +26,7 @@ function inb(port : uint16) : uint8; function inw(port : uint16) : uint16; function inl(port : uint16) : uint32; procedure memset(location : uint32; value : uint8; size : uint32); +procedure psleep(t : uint16); implementation @@ -49,6 +50,18 @@ begin switchendian:= (lo(b) SHL 4) OR hi(b); end; +procedure psleep(t : uint16); +var + i : uint32; + t1, t2 : uint32; + +begin + for i:=0 to t*t*t do begin + t1:=i; + t2:=t1+4444+i; + end; +end; + procedure outl(port : uint16; val : uint32); [public, alias: 'util_outl']; begin asm