From 2ca858465c9a1d69d4bc31c4e72250a191e53418 Mon Sep 17 00:00:00 2001 From: Tom-on64 Date: Mon, 26 Aug 2024 17:22:47 +0200 Subject: [PATCH] Got shell file reading to work! --- kern.iso | Bin 1470464 -> 1470464 bytes src/kernel.c | 20 ++++++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/kern.iso b/kern.iso index 7948b038fcd23d921b5ac20712419034610f3f5f..8017d13fd70914a7c8368dcd28b3bb5d48c15b09 100644 GIT binary patch delta 6262 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 delta 5586 zcmai2dt4Ovwg2rf3o9<{s;r{&Sddll2}GiZCQE!oO>7r70%A1iH8?@7#6aSc#Vl(a zR($F;7#MUfDMXk2h`hsnE|@Z)!skOocEdE z`JLb6%v86|s&1Wi(C0MF;p?1F8(B7E@%*&&zVUJdV-*)URWo3t>#K&8cd)hxaDC&aiP$yhKdKOde}=2FZ(G?T(Y-E9)N1-jj0-ELj( zBKf{9d4&bTVonDCGmr(NDEhU;qX@qf;W2V0Hk`4VK!uew4^Kl;6Up=EISo&6J}-IZ z(lEy4EK@9FyLTaSy%`j|j?kFk;Z`IgV{4l!X^7X}XLwmfAc#~q3CtuyIseUR~CletzHFcQfC{oK& zyEG$x0uBq?88J6y6^b2baK7~jsN^$^B((`?so2Dh7LyM6;GULj3xUp)RBj}|dSAn82N_m$rc0vVf%$7i|@Wn#+r5LIrT`;x?1Iu^#);r&rv zb2i^oKGb2tP)OWjT(1o$oyqYvpjwR8cpAvPCY^s(-ltfEW$`TO#V1(6rP#1IcQ4L_ zozr~dk3rVrH1+FgV9J1=+K}S1kis#2!R1RS;M6Sgmxhoc5=M20l!vM+k4{l`MDe+= zCPY4EuMC?Kyd!^ggs*!wam>yD)Dz{V;3bz!dJ0|z%5RW3)|@Y3sreOhhJ2DHZ|IU& zmOaNmf3?It4dRXq*pV=qp_ycLnOJHzV*Ns%ugT-P<-Yz1shmYxM^7T@BlN(|!-{bi zD5D1RP0L0LIYasJWr+f~cA)6NJmR%P;cpI}3UtQ7rvd%Q!OMVZ9o+v~oUquz_rI1V z6blpDBt48> zsl1b>c_{NSugX!JC>=j}psF|r3bb6V!c(6f-xds>w)bo(l>M;8Dk&#=r%rFlVxEAq zMQ4tX!l%=JAbN#P-y?d7PRBn9dY(?tAbO@wuOfPyPVXdof=)LRouSh=L3gwxL7Yr6 zW2lf5F;b5<)XGTZO=Q(^8Jh0Ik;9-p1uaUJplKtzwLK0#Y+umvV_oUc zlvniA8OLg*^5jssZq&6yHSHN)E4M(;n=5Ue-n!tG3kv4fcga%oZJ0OGqL=T=_s&*# zJgvK@Ywl~hf?Ir7IwyD>6v{XpsLHfdtm&Nxv1pOl(MHHWfH|xC6^Xw7q5lb&t896J zk_oe-Vxm%0nTO4qD_w_`^c*d|e$c&CBuTUuXb?)cW~^KMfCM*(ux^+2Bxr*GE?SH^ zB={HtiZ3~cJFeM-({%4^#^5y9{X_76Z?lNu*7<0&Wj9-Vld&4<&|a>52xFxRkB)Ko zwAr7c&4Cy}M~Pm$-Y!>xG)=u<<45|MLdq0ggMOsp$xZSn2J>+O)q=brILTMmnc@rfQ|<4BTxcNcVdc`j)w1v;;n zK&>MWzox4^ou6MQEh8;m!Wf#%`$$N^a(KGIa`-~i7ZJ4^da|)Rb;T?jrRI-?ZlxCFu-VIs_ zFW)FCo;Bxpu=ZY!kq$zuyi051nDrE2yCxyhiHMl9sPVac|C;Awi~fQALX+X2)7Cka zlP}aebGf-{hya_cs$@d5sz%uzIID_hxzx%w=>m_nG`>p5a0;lmD+LF)A5%lCp}T zom5Zpr1n@(VF9u=XWUXg$LPmLR!kpns!a0Ts=D^A6Goa9(<5dnc)qU6;Gbz)FJ?Y& zBISp{_w)dfj|hMYoDkEo1kHTVTF2Z$W)^TOad&Z#AxrOldu6*z+JwoHilbSej41}F zsAbS(t4U^3{&pusR!_2M}C z!9?$xle*IKwzGf7$q=1v_0K#bBYFd`TNgnYY+IMsi!zX1=HM#t9aH7&2+Pl{OU~A% zrr=bPPSjr3*_Z^gC>IvMqEMHa)Ma>zYNkuc!2wU+!`^zqIu`4~d)=^yu$K9zx5h+| z2IH)!Cy5$9d2529$K42&AW6ypiVu*Jgtv3~1Ua72i*kxcO&ve5ATEmfxz5fMs`unK zlStLsmy%MBqDHSt>F!JCb64#MVM8wW)ILS%quPW>G8|?jLmpL{CThgE(oCHwFD(+O zmE>niR|x3mk~XC1{L+P~g7Z4xzVJ=qm)EE}?Y-ifzO1Nkr|$HXYrI_A%0I6gIItSQ z-O6uiPqx(8fbmCBD=0^qvU%@~P66nJjjs^;XrsF)SvOrahfP?Y%i}jaDOBh3nVSZY zcIBqogg)Jr3DnSY^J0V0aD^`}JH$tBwF(O|xpS+d4?eI0brTKsgcmi(g&FOc4a>KB z!+ON_#hls|sf~-p`#iDdh}}o*1Y)lfdzjdf#NHwH7_o_9H)y`+iM0}|MQ$b5KrB9MT+)}s{{7N$ z@LK2x#Qz2P%B`f191ZppVijUzi9OD9_KcZ4n8@|e_$OM?(0lKMRm6Gkh!sgwDY9J7teA_dr8!rL|L@=Un(k)J|vO) znW`2Qr+w{~J|*@#x7Me4s5wDvt9{vbkoZGbpK-S`<4-y7xY7C@fWt&x#P8D?Nq!@fJ(iWyx126E;d2p(kZ8>k_ zP4$V%zsIdL4WFxPEiCXe8w=Ff(Gr1AP5=$qVB*5wQT*cGK|EvczJ>>Tdy7+< zWBE8cb1b(reBiJ}F)XkO;0Npg><2Ugehv5p(9sFs#~TO?fYG*w*Z0?kH`v1ihMyno zo9;Lf;bh7IjFK*3%=QK1cYv?kc?TUNZIyS7Jf}59xD>(XwGOZ!MlTOrU!cO`a;b-I zz({I^Q_x55Z4vx`T7PJ_o1FNQLC?_UY$wdtZzC!GWb_Lo-1#HpU;SAOq#^r-*vIu} ziBUhH!JZE3zRXtGQ}<=2;6GY3ZNTbB_FrViqpKXEW;dqFt`oDXMkG&r(A|a61y2(& z_g`I@W`Ce+NGuWG?87u=N7W+n=NK0+@}%)cg*I9-e0O`FQIDAey|p4` zXloT?;?=io{7!peL<3Dn#6Nh!#Tjh1!MB_ z(aA_dNRi5OuJ5szfJ94;XK2+_BUO#0+W#kw_&;TP0qT&l5&PJ(8LZrZ5!bG zay?JcA73sqqjDLZ=Xo~I~up0geRK%}V diff --git a/src/kernel.c b/src/kernel.c index dc7b9fc..a766153 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -241,21 +241,37 @@ void main() { } FILE* fp = openFileTable + _f->_file; - printf("%d: 0x%x Bytes", fp->_file, fp->_size); + printf("%d: 0x%x Bytes\n", fp->_file, fp->_size); for (size_t i = 0; i < fp->_size; i++) { if (i % 32 == 0) { if (i != 0) { + printf(" "); size_t oldi = i; i -= 32; while (i < oldi) { char c = fp->_ptr[i++]; printf("%c", c < 32 ? '.' : c); } + putc('\n'); } - printf("\n%x: ", i); + if (i < 0x10) printf("0"); + if (i < 0x100) printf("0"); + if (i < 0x1000) printf("0"); + printf("%x: ", i); } + if (fp->_ptr[i] < 0x10) putc('0'); printf("%x ", fp->_ptr[i]); } + if (fp->_size % 32 != 0) { + for (size_t i = 0; i < 32-(fp->_size % 32); i++) { + printf("00 "); + } + } + printf(" "); + for (size_t i = fp->_size-(fp->_size%32); i < fp->_size; i++) { + char c = fp->_ptr[i]; + printf("%c", c < 32 ? '.' : c); + } printf("\n"); free(_f);