From 886e6a8cdfadb5665634edf1bc04d98269a1167c Mon Sep 17 00:00:00 2001 From: kieron <kieron@6dbc8c32-bb84-406f-8558-d1cf31a0ab0c> Date: Wed, 17 May 2017 17:07:20 +0000 Subject: [PATCH] Fix. git-svn-id: https://spexeah.com:8443/svn/Asuro@75 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/idt.ppu | Bin 2965 -> 2969 bytes lib/isr0.ppu | Bin 1977 -> 1981 bytes lib/kernel.o | Bin 4000 -> 4300 bytes lib/kernel.ppu | Bin 1860 -> 2201 bytes lib/libpkernel.a | Bin 24370 -> 26510 bytes src/drivers/isr0.pas | 6 +++++- src/idt.pas | 2 +- src/kernel.pas | 10 ++++++++++ 11 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Asuro.iso b/Asuro.iso index 8ecfd58a3b72f50830444fca2a74d1e07c6bb101..ef715f42ef661a632b64103dd9d67b117d04e1ea 100644 GIT binary patch delta 10879 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 Us<17KZ7;KJ+<~X1*|t^x4fBmA9{>OV delta 10853 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 diff --git a/bin/kernel.bin b/bin/kernel.bin index 7aac7a255372ee11521d51c8266539d8001e9291..092ec00e209d67eddb81a85e2633c8051eb036f4 100755 GIT binary patch delta 1151 zcmX|<X-HI26vxjUM}4z3ccxi1&6$x#g`!1TA!3LM4Z#SD78(s~GKz|tFePfjq-0t~ zZVUAx6#8KGMI4ByfsAFOMGJjO!RUk4C0i^)$js@SnR)Rzf6l%C-?{JHci#9}Hhz}H z^4Ouye7>PY0SKveAe$Wk{v-g%Nh3g~-pipi5w@kgAbL?JZ6)9IctdIj$meqbDD{F& zh&_B2YY^ACho7_qsLK(QMR>4mLaR``=Z+j@4#4nZF}k3D*@ert<jjp+^nW5gykqyy zUBTLrCzKnqc808XUu|pqpw2Ae&>O&ZdO%j;yBaQI-Up0Bs8@k*kc}2P@KU%0Vtr`A z=C-NzQS&vbTQd+YX_>Yj`<^yp+J5Ws2}7Gcg-n>UiTId4KqPD%Y<V_pJxs0l=U{93 zb`j(S*t@|Dy3AWmvP*2Vd(3%R0MoxhF?vLu+sQeW-l5WURC?2<m0BWNsa=+t#dTg} zTTSdBvG1~xU6W?Lexq4Kv*nN}g}${SI!@?mLPz-jV*^>4j<{?{vnPpl_>e6kwn<}+ zTtjoDV$x>7iC#{0zaHs)jW$?7pE+5PUB*-wDo#$VAvQ>CuQk<0hudh@&@5R&sD~37 zCUO=(kldLj@e5iK8fui%Af^z->8V!<y-n!vIoj1qz1f)t4Dy13`laC_JV@|%gfk;M z>da%WMVqtKG)_(~I;vSbbZ%PcD8}^z9l%6U>IYD<ZICBuG6CFG%gDb@*=n)KHNRpl ztq-Txl+|OFuEReRq@U_08PYZ6=Aawhs6+#LX`+&P+FV9igJ^d-OsTb<)~7_bYd*Uu zUb+e$Y6Nd3PfaJ2FF>xKKlhO$W?hxcD=OT3StNeXU9IRmJpRYi&sa?K`D)pum{(lO zwuolb?)YeNwN3|4vCw~*)rnjFTD<(U-?z^<kxa^&S(NjCP_}+U8KZ3I3rfpZl*KbB zBb5Cj_X^1~Dr=?t9VIuKL|OR*<p-5jeMTvztY;EsOhif!utfZG$&}KwbdVV;!`{Xt t#||D}EC!Z66<5m_iJ|gB-+m*9MvQY9?HIQ)?qjGJPcYuZ|CWEU`~wU;l{^3d delta 1119 zcmYL|Ur5tY6vxk<)BX0FZg*>&n$G>9DN)pt$m$_9D(nyWlA!iSD;o+S7K?hSBqU@g zgIglKq)?y)VlHI)&_8|19%@LC7=aIl*DN&%2~*cOzioAY+%M;z^Eu~t?(g2;Y#W<x zW05>|rZ1l#x~KpIV+|nd>;V1*0LZus(5LrsXnz&5YOw<t3p>b_m>l*5W4$1sYyu$D z1F~0~<z>1`vly|vEjEDIZUp6q0ZY|ls8GysyH4f^r^C&x!fD-k>pI0I5uK<xU0Zjq zKIje_f|kCZW#B_~$JeGV>|zuchv0JshCnvuAUW1Kf^PKVIM%UpFr0mVZ6}9)uR~kz ztXi%vB?FPPzkTAGp+m1B6qaM1&x+Ie;-j_Ps#vkp5Oq43h20o!;v6p!0iSA0zt|*u zM77PGtz-bK{t8Cu5fQJ0bIg21nL8-6!>VP@aHFMFm+ILj^RfYi^tv>7oZ$DF2yaco zyjV4-*-RNTAzSHlaSIlnCANjw3I4BeAR|?n%Nm0FQ?T8Ou$kcIBpmmu*=aUQ{#Hdd zFS06BcQ>JfdPI#$6u0^hRb)>R?KdNOiqMmU4p_7nB0kluPj!$X_u~B!Z~ZP#Y>3!J z{6g|*l3m8KX;zg}My&&hCm6d&XcwXL=Jd{Td1k7vQQk1pG1DPo{fHxvjf(+CiD`<` z444)J@!4@?o8rUuhz?+(NIUZwHVX0@9Yr~MV}%s&CTqJm;dE67Xx*Z%$!bI^nTMAU zq@VJZ8Pb&$&BAE-uo5oUOB1EkkaHJVXT(#d-K4E;v~Cq~r;FVdi_Sv3te_kE27jgh zLlos6Wgwbz&$EW;yWA>8m#{<&JTDk)71Q2&78m<{^(-JBphlvrzABw=#x9QgTUfam z_1Ci@vANiLsbV3KkZT(#cmJSVSVZ|k*3@?t@dIVY8p=Fb`X!WygiKRfJMFKPqTvL} zo}Va;xXa&A%BaBbGRnH>EpBGLQMF`65rGoVaA2H?_^xsMGBiY2X{q6pk;5EboR_7p Z{6>|-6`VJ5hH>`be2jBAx?Vb$^B41mcWM9t diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index 7aac7a255372ee11521d51c8266539d8001e9291..092ec00e209d67eddb81a85e2633c8051eb036f4 100755 GIT binary patch delta 1151 zcmX|<X-HI26vxjUM}4z3ccxi1&6$x#g`!1TA!3LM4Z#SD78(s~GKz|tFePfjq-0t~ zZVUAx6#8KGMI4ByfsAFOMGJjO!RUk4C0i^)$js@SnR)Rzf6l%C-?{JHci#9}Hhz}H z^4Ouye7>PY0SKveAe$Wk{v-g%Nh3g~-pipi5w@kgAbL?JZ6)9IctdIj$meqbDD{F& zh&_B2YY^ACho7_qsLK(QMR>4mLaR``=Z+j@4#4nZF}k3D*@ert<jjp+^nW5gykqyy zUBTLrCzKnqc808XUu|pqpw2Ae&>O&ZdO%j;yBaQI-Up0Bs8@k*kc}2P@KU%0Vtr`A z=C-NzQS&vbTQd+YX_>Yj`<^yp+J5Ws2}7Gcg-n>UiTId4KqPD%Y<V_pJxs0l=U{93 zb`j(S*t@|Dy3AWmvP*2Vd(3%R0MoxhF?vLu+sQeW-l5WURC?2<m0BWNsa=+t#dTg} zTTSdBvG1~xU6W?Lexq4Kv*nN}g}${SI!@?mLPz-jV*^>4j<{?{vnPpl_>e6kwn<}+ zTtjoDV$x>7iC#{0zaHs)jW$?7pE+5PUB*-wDo#$VAvQ>CuQk<0hudh@&@5R&sD~37 zCUO=(kldLj@e5iK8fui%Af^z->8V!<y-n!vIoj1qz1f)t4Dy13`laC_JV@|%gfk;M z>da%WMVqtKG)_(~I;vSbbZ%PcD8}^z9l%6U>IYD<ZICBuG6CFG%gDb@*=n)KHNRpl ztq-Txl+|OFuEReRq@U_08PYZ6=Aawhs6+#LX`+&P+FV9igJ^d-OsTb<)~7_bYd*Uu zUb+e$Y6Nd3PfaJ2FF>xKKlhO$W?hxcD=OT3StNeXU9IRmJpRYi&sa?K`D)pum{(lO zwuolb?)YeNwN3|4vCw~*)rnjFTD<(U-?z^<kxa^&S(NjCP_}+U8KZ3I3rfpZl*KbB zBb5Cj_X^1~Dr=?t9VIuKL|OR*<p-5jeMTvztY;EsOhif!utfZG$&}KwbdVV;!`{Xt t#||D}EC!Z66<5m_iJ|gB-+m*9MvQY9?HIQ)?qjGJPcYuZ|CWEU`~wU;l{^3d delta 1119 zcmYL|Ur5tY6vxk<)BX0FZg*>&n$G>9DN)pt$m$_9D(nyWlA!iSD;o+S7K?hSBqU@g zgIglKq)?y)VlHI)&_8|19%@LC7=aIl*DN&%2~*cOzioAY+%M;z^Eu~t?(g2;Y#W<x zW05>|rZ1l#x~KpIV+|nd>;V1*0LZus(5LrsXnz&5YOw<t3p>b_m>l*5W4$1sYyu$D z1F~0~<z>1`vly|vEjEDIZUp6q0ZY|ls8GysyH4f^r^C&x!fD-k>pI0I5uK<xU0Zjq zKIje_f|kCZW#B_~$JeGV>|zuchv0JshCnvuAUW1Kf^PKVIM%UpFr0mVZ6}9)uR~kz ztXi%vB?FPPzkTAGp+m1B6qaM1&x+Ie;-j_Ps#vkp5Oq43h20o!;v6p!0iSA0zt|*u zM77PGtz-bK{t8Cu5fQJ0bIg21nL8-6!>VP@aHFMFm+ILj^RfYi^tv>7oZ$DF2yaco zyjV4-*-RNTAzSHlaSIlnCANjw3I4BeAR|?n%Nm0FQ?T8Ou$kcIBpmmu*=aUQ{#Hdd zFS06BcQ>JfdPI#$6u0^hRb)>R?KdNOiqMmU4p_7nB0kluPj!$X_u~B!Z~ZP#Y>3!J z{6g|*l3m8KX;zg}My&&hCm6d&XcwXL=Jd{Td1k7vQQk1pG1DPo{fHxvjf(+CiD`<` z444)J@!4@?o8rUuhz?+(NIUZwHVX0@9Yr~MV}%s&CTqJm;dE67Xx*Z%$!bI^nTMAU zq@VJZ8Pb&$&BAE-uo5oUOB1EkkaHJVXT(#d-K4E;v~Cq~r;FVdi_Sv3te_kE27jgh zLlos6Wgwbz&$EW;yWA>8m#{<&JTDk)71Q2&78m<{^(-JBphlvrzABw=#x9QgTUfam z_1Ci@vANiLsbV3KkZT(#cmJSVSVZ|k*3@?t@dIVY8p=Fb`X!WygiKRfJMFKPqTvL} zo}Va;xXa&A%BaBbGRnH>EpBGLQMF`65rGoVaA2H?_^xsMGBiY2X{q6pk;5EboR_7p Z{6>|-6`VJ5hH>`be2jBAx?Vb$^B41mcWM9t diff --git a/lib/idt.ppu b/lib/idt.ppu index b10801da02db74a50cb9da74fe58a750e3cd868e..b398cb01611ab7793f2e505ca7018040712e2b12 100644 GIT binary patch delta 177 zcmbO#K2uyaARyGx*p#K2k%5`vK!6fMAvXiV8OtR;jfWXl2u+mLWfE_m=rf=3>&7>U zjFaP;{3hEoiEUoXq|DB{g^>Xcc1*s@X~cREC~|nR2v?ZcNhG<mAT~P(153l?39JgN z4}sjrlb3R(b6$fgx<6Tz+eZE+kS76D$tbD-Bw2Fu6H^!%ZMa#190o>)_mc~_RRLQX BC!YWS delta 168 zcmbO!K2=;cARyGx*p#K2k%5`vK!6fME;j?i8OtR;jfWXl2u_sMWeU!k=rf=3<Hk3M zjFW4bOeW_u>1^J}q|DB{fsp|YwoHD=X~eo0D6)UD1XmdEQ6#yOldHKjS?>Zx?oVFH umCktyDtCLbB)5(HQy@<QXbz*O0+3|M$xlpSV6@?81sToA@Op9yw<-W_1}8@V diff --git a/lib/isr0.ppu b/lib/isr0.ppu index 3e777693ef8af5d6618419283a92978583b3a292..435da051b206ec7d81f2747c6bdc0e284c541880 100644 GIT binary patch delta 195 zcmdnVzn5P&ARyGx*p#K2k%5`vK!6g%RCWdim5}ll*A}^7!V_innT(nz`dws{pRB-G zu(^kE2_vJyWJBgdj1HT>Fz;gIUBrL@%O>w;HD+B86xcZVGi!w4c7zneZXo-}<QO(* z-m^%e7bmY_(`3B`6uC3`7F#jnqse~k^6D?3D&7HU2_R+^<pq)~zKNN642-hetRQJd Lh7Xgcu&V+9p9CyM delta 197 zcmdnXzms1!ARyGx*p#K2k%5`vK!6g%M0N%Sm5}ll*A}^7LK9{6nM@ld`dws{o~*!F zuz3pO0!Bvt$)?PQ7;QHHVBW>ZJC6YY7ERvIYRtMCD6n?&ch(5O%?K%m?LhW{$q8)E zyeE-F&raUJrpbB@C~{-+J+@-adq9>F5HpJL07+Jl{QT@<21aRCRv-@u7@t6BhF6oT N*ku{tOrF863IM#{EY1J` diff --git a/lib/kernel.o b/lib/kernel.o index 103c2b0f1a030d2c8cb203d9d2ca54fb0bd72160..8d7783322f6aebc70e48ced181ba2aff7d5bbad5 100644 GIT binary patch delta 1599 zcmZ9MUx-vy9LK-s&fM9Z-MRB;wcW~UXJ^LQHFe$1)_SRSYA4%va&vbQ6k>#|jQ%LP zSV*<_pa@Y79w7p4wJgd9u_CmP$Q1<BFzKl%it?d)s0Semg6;dg_d>%xaOZnIzu)(F z&$(yLIY)Xg^)>TDGimtkcK>$(8FU1J@b|Rz*MAol7S6poQ%3W{(cPx_fAFgycVWIg z@Q=^rpWn9Q>79f2iaF<a#=h;0EGZY94%c{aold!oVK2*$YgXEConzPaq?ylpj^ifM zjvF}V?Ecv3B6rZl+WS*$I`2v4OqXHJMf+v!2{UJh<7;nl>(%KxOhs|%)v>Wky#l9c z*Lyv7yBGhs8P6JX*&cO!ot&}rZedooE*N}5)f`@DvG|9ODL((A4qKd04i5ef`-+JZ ztW&+3crm#Ypw9(zt%Zlkbzs&Hso-t~wze2*<QH0a6Zyp!-by~$!n?@FT6iz{{T4n* zKGVYQkS~Sf`!oEAfjK^EIj+Eb*ca=|eva^85l%RA22K7#gjYp)qd55fV1V5bgN^W^ z2)`TQ6A?ZY;V&Zm9r>1U!u}Utix?6y`+3`^N$slAhRN|UyRH4tbfYv;omy9|l^V4z z!>jG1$!cco-nEVCjnnn&Lk-_{BDvHaPkQ#7<e9GV>8YW{1Cx^zrTZ#VW8>>8HTzn} zXR};iZu}d81l3s%6s0SG0mYX9E5rExQo@9E5O`Smn}A2c{3h|uKqKTW(pA7y(jnkE z=`gTUdRwrioYh?RmlWVBe?!Uv4oNw{QL5pxyeH<wPK9~x9p%p|-wT`%^B2W=;A^V< zKT7$&t5W)ZqnbY8k1&5tJe!Aqf>hAPrBFdi%7Pr#6o78=2+${81C$l#GA$RgPAACl zh>eKp8<o;mRh+&D#q>>zm-4iU>C?g4Amg)2lz|;e(6~p+iR_bdBCjal4K&4faHXVo z0$fEHZk0-?6QOn(`+KUmz8`o@ksjd5Ftba_e|DdA8E_!vw?aN1s_s#ZsI}Gz7o@lH z_Ug5py-wa>i_H<c*DIQz><3=IIccx>zyEmsiIcSRN-L)e?%5cx8oMXH$Zk$&T`vw? z_Gv%qds5RLP8So;wDW?B+4C%Db^>q8av+m+mZj{=@oqbi$+|02z-fC|rs!VvfV_P? UQ@lQ&2DWortVSCjzR&Of2L|-PZvX%Q delta 1316 zcmZ9MT}TvB6vzK}c4xC)cXmxt%W~J<)>YH84}%g)$Vw$tNXQ@!vQIF`NFOSa5VQx0 z)dP_bVIL5PfffW}51~(jkVFK%MB;-ICJ{t0)^^U!JWO+8=YM|Z<K8oS@7(#K(MT#9 ztqZ~&`^;wvLhxG-`#ITsQ{}C!r_<@VnT-D;0DV`phST>A^h&GJRFX8$^MEg?>ADI+ z*ZOGMQ=?&=4DUtNN8R4z)NkaxUiIcEH9^W3(bhmQU#z!J0h^#O@0eBigUw#nENEC} z6<dbzFV=jMEcWm`H4e^Vu5)mN`HX`rm^*=9(<KvDv*Vg0p`Q7kgHJI(bnpe{M-INh zJmFw@v3Cw0W)`1}EPlbKrfsc{Fgs`Lpd<)?a`BRj(=IO6q|zEv-{9g77k3J`ISRU6 z33psP;Np~v$6P$CQG3P|m26z5LVs=Mk*3CzO(%|?t#7Pvp)P-dp84O>^}tkbHus>F zSlg*K1KWg4f&HRoK(*)&YkSoe;HVvMU{wV`lg%xn<-lpt3ZPwdC(t3f3%D#=30xK3 z4Gf5u@evplgBKWLRa=1v!rZ_MD*@wnd{W}v-5WbTEnH}Av*f=QKR5hQl;`^_@d)rm znBz;roWEl8Z_zS70_$RMf#NMyQNYKl?csAGx);b5e-Th1%o9b0V?aWf^D0F-uS)zy zz(HZoJ1iUrYK1wkRh0AE#J?RlC!FBKE-|?C9#L-OmMC8kTm!}1x(xaoj2}o?f2PU> zF4>VD(PE%qGzkpb{MhC(Q|YczKq(`WMvOd_qDdpJFYpozq(a%WYJ}A&{V|gKOoWp9 zC@;81i{5NH9}4UDJ$wR88f2PdnxH44xPF^&gJzlw#eMS|fJKddhGP0lKQLk@mxsgJ ou>c(k7wdHa{&ML`IIe%q<WGx+!twkcY_)Q08T{jN^J)?MA88Vm8vp<R diff --git a/lib/kernel.ppu b/lib/kernel.ppu index 88f742362e2dd49358afbeabd7688b60e211c3d4..f2ed9c8da81bb638d9f5dfc564cf616f6b4da78c 100644 GIT binary patch delta 639 zcmYjO&ubG=5T1GaE1J!2BBW?-ZMJML4OC0XwI^4o4RO&_P=v5)(z4X-Vm4TM3TP>M zOdcNmJ1XcwP|<@PL{GgI@#Miv4<7WOGrJM`;C(yq`@WfZ^Y(-FyyW=)#_~!{eT<;M zTYnxN<NyvDeqMcO56b{BJ#sE<*B{N?`7+uV7Su55UvZne``-Sg-=nWDg(KusTrx~e zAuo)@$yhW@C5J%e09Fy?iCA}R1cd+OX%#^e<SUNFR8|7hLW0inuF}D2`9=w>0$KE4 zJB+qsz>-{2=WL58qu1^Q+u<g2_tYvD<P-Jd@Ej>POH)94SwK_Q=m0zn&YmGOHsdIX z?{@(UnKYA1X9=x#7$>bxFbG;fzZ(ErnPVz-<Oy>--Mw}k^gDodrd?pIY!Yfay+8{i zzRzo|c9CBoVX;cj0WTOP>y<S1TK*j|@0rE2tm}2B#bK4-<I^ecXO0b?CnujNa|_?- z{5{Lcr-M;aaoxMw@anCmcdO~%zOi;yMta3((*kWVUm{d_Dr!~Ck`Rtqr*%wUnw|TC z_~R1dB71&Jbmo6j{7W9{-Zi#WXk*zXG~G$(FbW66VOkvFFZs`>t|Fm2=q9XY_vL>s HD~9_Iehgoj delta 431 zcmYjNJxc>Y5S_Wt=v@vYCLl?`ge$~|A`&Z0QzghDq_8^nk|;;K93-(2iy&5($5x7k ztyqcJMg>7d{0Fuc3jP8?oV}!QiZ?Uwy`9<J)6}C?aGd(eYFRl(km24bLQV&W9Od)q zedBc+05VZwSzSELZ4aaRAo{qG-jJW+l5VInslZdxFL$Lio|UU;QJ2wT0r{QW#2IcY zY~3WE7I=PVCj^{Isp1?UB;!mQC{F^&^OU8cVD-QY*sk9oH-At{X!396d5|Ur^9i9h z!cH&TYXO>CJS`VX6NHxMhdsB+`pjkB76VL<9AXLPX$>UWtphJ)-6o(l(q@I0HVD;r z!2AxaHR7=dB_c)O5AvE;%t}=EL|;O}a{=SH;3rzyxFqIEu=Mm7t(LV#xgdV(`k(if l>LLHqEAxV!6P~n1Xxi1v)@G&V`W?SdBXE3+C*=DH`wu&rM@;|# diff --git a/lib/libpkernel.a b/lib/libpkernel.a index 9632e6ad5d1f99824d427bf66e737754b6067832..47163047e407bcd9d28a61c6d2743502390f7244 100644 GIT binary patch delta 2429 zcmZ`)eN0nV6hHTsR|~e~QK6I%p@jkk6lrNo0VfnFrGS96;Fu&B;$o(AezEw+++bU> zWzlKnXks)@mVNQhfca)J4V%unY)+@L{o%*5WO14xe@wSzGt(vP-q#k&U3SxV&i$R+ zd+xdC>z?|89JofpIYUmTqugw!KRV*6*<9gqDpIp~V-f%?10WXxG~)o;rpRX;0LX3u z$n65i+X7H90$@7^P<jfW>@0x&0)X>2K;<2P>REs_0)Ut5+H|<lSKsXqhP+*ej!20i zUod3t=?F9)I`Kf?Z*BE;wfowv{cW4<6}XQSB`_0lRAZE{kiS$4lBK7<74U#YKfk8( zxXbZXLviU9LT#nPsZbjv!4hQ_BcHL!%s+E;b6;VKkcQ`*!WM0GaVg~nAh0}&8I$N& ziog4_@Hg#}1yj+cE5#r5p=A1Z>KM9HO}U`O6k9P)1k!NUlZv?;B;1>78flSGUlk(P zaXK|$G}8@!w4^P=p;}4YOi_@cd~z1eed$<ekknIDCIPNC*kad9SGgP>yiROFr$)Z3 zIZE($Vv_JZ;NGN6c7w#&4GzjROE;5sA2Oq&gI(Y>hc9yYM-JcR@FT1WG6(pH1Kqko zOe7MX)pcQ}euXYRU{&bT*Wp%Tal}jQ6%dJO|9qq&5bP@NZ|>-5wKjOW8UyX#Hk9?d z<ig~`#6YY7!_)$y0N_o=3+KK1SQ-^}2$)-+r>;u?NE6WF%M-h)?-eHsV`{YY8JQQw zF)AFx8bg-BRknQ<%VfK=%2n=EvZ>RQE)N;*3An}-$)QL_^<+geDx5Q*2@IO|Y~QtY zH-2d{F(+e^s~C@GjMLDLVuocKzLFE&+i7Yccp-a24rJ;GzF~<fQ4Yy!AoyMGguHV( zU3$kF-4V{ICU_@rLeW)K^im|you&bNY?;B?f(iM|3O&Jz5?v(UC#}^){=@b;!EaVZ zL`Y2>Suf#eAQd;(?Z;!;HcVO(Q}_a2E01nHUqX#Dtcq&9QL(TctIKZ6nGUM-fjc4{ zsT{z1`%QGXCgoXACW)C<k5}Cqoar%Pi}OC#cqTBAIf}2jx8dCC$j(!hHAHTxnId?r zc0t#c>RY4&ryItpHZ3tY$|I3j2t>r~`+ZTjC}rK;8ix#y3Vsi31qpVS%b^s+(+T*v zJ%?OI(lnkSvIGO-oljp?qc`LQA&ew}#qd*d4PW%{!=qhN%1^NZp`6voFSN*S75pbr z%i0DV&{*&95B3H_zP0_VPvNxQf|DvWK5VYTvcNM&)>KFuz!c*~fJ=<0N3-@cJ(QLE zRJSBb)UsiGyCq)?(_Z*ck!yP-VOWJZJ%!{RlGY+|Mg_0~clH#=%HOE+*xjtVk&}3$ zwKrKTBPvai*1fb=n?lP4Kk0i9JN=S8)>cbMo1*l|T8ZpOZF`Zhn&9*XBeu3nVlzE` zJzGxkGXv=t8z*V=vEb(3XmX5d(p7ecQ*rQNHFK~)vp2KDl~tH0fJk&8QuFB`Bsvqx zN?h0RzBXM?*Cib#YCS&cu;96-4{)ke5>g0W?L3B)erc#bb}Hq}^Urd4D~ES-cn^nP z=J4wrerquvf`f|%aD>ChIs7h%KjQGm9F{qJW)U6&IJZau@HK}ob9kD=H#qz=hkxbp z{di2zhX?TjI{%ZyPdH5DJU>{-mT*|d;bk1oh{I`2L2jIYVJm%M>Tx)DrNjeeZO>O! zG3qQ=s9m8Bg*q9HOlf0L%212Lq3Rq5RYLO;yo~DsS{Y9UNTLT3cdQgy8crt|@qD*d z4AGS^PIu>vcj;47f`51C3wkxHLt%I18R_eh#6kLum}xO)r?~k>q%<#sqw;^`9$t>@ KL3pn3lJGCfWbV!Y delta 1795 zcmZuyZA_b06h8N*?J6rxTd>=Jl|rF>Y?OWhEhCINkSyzH(@{Xj>J}kOmVMx##Y{4i znJgyioO{$PY+1ng5tC)iy=2bl_G6L-nuzlw1QVlZ4C0Ig6XFkD!29;4FZ7j@w71VW z_dfTWbI&=w@D;mtk6pA4`hxDD-R`zavi{p{_xb%Pt=)b&n~2Or>?)D|y!^4W6K$;{ zD&VW_G*R(cqSAMW%C8YseLz%wkI4Oi$Tvk)H%Am)AnFOUv_2JYJJ1n|bv(DPHP+r5 z#&?m*H-CD7G3L}ruHdl2DlW0Vvr<T$-8&)Rw%(YwZOQWc{jj%H2#+_x@PtjgZ#cvB z^N&|nRwnQ35!zRBDgQOx?9;QC#ea=QnfHChU0)RwU&mDV3l;u`ArZ;Pl&KBAY#V&$ zF61#2hRiXzSp%Gw-8ju^@Tuhmu`>5<CJ3eY+FAwo);t)W92TMijyzqWvulVJ89cou zf=P$j%}(|_MiN_KGnll!I-<*nSPRf@P~x(Rm#lLFj#*`m9QTXc*6c`DgfUe#k89gU zvD`R}{X0%r>RqR5q$l$DgSBqIlD?sm7KYpQQStTC9EN9$*0G!^48!Q0!H<qn821e0 zPumGgaATHag`Z*0nZE5Lu9W4ZpTP==$hC6@%at<GA<s#(M<!Bv^T<`oL|ye=hR=4a zBaq^0^3KEPR&Fr+HYCWdEoE@}()YZS=|mzhBf9GDGIQ;Qhx2#UGSml0#pOnxi$Chu zdC(9F<80ISh%}Ch#ytjR@vP=k6+lC%jEP;lKWEt7Bp**bkHxc^xV7zEKPjM~McFke zY@8I0$L|iL%6K9R%V8V4j_vzzz^O4KDh%Uldmg)qkK13x@kkQy_Be4a+KlmNH@>x2 zAbMzwTg@?tZjl#sl);rK(KZW2NgRnewAooiefVozE-ofa!l^8TI<2^qFlqa_p&MT& z3eDb)QY8f3nAKOYH?a4>GjM1u+?5frucL{vT`9Ux;wCnLiFi5NiN$!iHo#k_D`lza zH1T82oyGVlyp~{%Cs-%<>XKFpQg}p|?yMD9Ih<YZ3A!9icNM4Nz1*EAED&yV4-Iyw zo0YFpza~_;SA~zMaK8%k$)t$HH=rPy|6C>>q*pQ(bU}sRQsE&L9#&yK3KfwYxUL}C zfm<2aL3AfWLB!{%A`-zksv|{%4;7tEGp)iusPHc;Jg>rhIx8aGvZNrH|DQ~p%l{14 zG|~Z`G&l=!{$LsN;=_XvHwDQRKJE)(q~|ENd-)cYL-d=pdQ&q~s^bNzj<s&i)r{(d wL)*^>rvY*PYe2icjDOZDW&A5Qm{MizSC?_B|NcJ+<hJ}hu~wSmcyChp5AxEQ_y7O^ diff --git a/src/drivers/isr0.pas b/src/drivers/isr0.pas index bde37ab3..d6c8cb58 100644 --- a/src/drivers/isr0.pas +++ b/src/drivers/isr0.pas @@ -41,6 +41,7 @@ end; procedure register(); begin + memset(uint32(@Hooks[0]), 0, sizeof(pp_hook_method)*MAX_HOOKS); IDT.set_gate(0, uint32(@Main), $08, ISR_RING_0); end; @@ -53,7 +54,10 @@ begin if uint32(Hooks[i]) = hook_method then exit; end; for i:=0 to MAX_HOOKS-1 do begin - if uint32(Hooks[i]) = 0 then Hooks[i]:= pp_hook_method(hook_method); + if uint32(Hooks[i]) = 0 then begin + Hooks[i]:= pp_hook_method(hook_method); + exit; + end; end; end; diff --git a/src/idt.pas b/src/idt.pas index 8cb21f20..207425ce 100644 --- a/src/idt.pas +++ b/src/idt.pas @@ -69,7 +69,7 @@ begin IDT_Pointer.limit:= (sizeof(TIDT_Entry) * 256) - 1; IDT_Pointer.base:= uint32(@IDT_Entries); console.writestringln('IDT: CLEAR.'); - util.memset(uint32(@IDT_Entries), 0, sizeof(TIDT_Entry) * 256); + util.memset(uint32(@IDT_Entries[0]), 0, sizeof(TIDT_Entry) * 256); console.writestringln('IDT: LOAD.'); load(uint32(@IDT_Pointer)); console.writestringln('IDT: INIT END.'); diff --git a/src/kernel.pas b/src/kernel.pas index c75776a1..1d02fbe0 100644 --- a/src/kernel.pas +++ b/src/kernel.pas @@ -9,6 +9,7 @@ uses idt, isr, irq, + isr0, console, bios_data_area, keyboard; @@ -17,6 +18,11 @@ procedure kmain(mbinfo: Pmultiboot_info_t; mbmagic: uint32); stdcall; implementation +procedure test(data : void); +begin + console.writestringln('It works.'); +end; + procedure kmain(mbinfo: Pmultiboot_info_t; mbmagic: uint32); stdcall; [public, alias: 'kmain']; var c : uint8; @@ -72,6 +78,10 @@ begin console.writeint(((mbinfo^.mem_upper + 1000) div 1024) +1); console.writestringln('MB'); console.setdefaultattribute(console.combinecolors(lYellow, Black)); + + isr0.hook(uint32(@test)); + asm INT 0 end; + util.halt_and_dont_catch_fire; end;