070701009DF5FB000041ED0000000000000000000000014F9BF82000000000000000000000001000000000000000000000000200000000.070701009DF603000081A40000000000000000000000014F9BF820000005C7000000000000001000000000000000000000001000000000description.txtRuncom support DOS .com binary files and boot sector files. 1- The DOS .com support Runcom provides few BIOS and DOS (int 21H) interrupt handlers. Many .com files may not work. DOS .exe are also supported. You can test it with the file /usr/bin/debug.com, with the command line : $ debug.com 2- The boot sector image support A boot sector image is a 512 bytes file ending with the 0xAA and 0x55 bytes with the .bin extension. Bios disk (int 13H) are emulated (CHS or LBA) with an image file : - hard disk are image ./hd0, ./hd1, ... for disk 0x80, 0x81... - floppy disk are image ./fd0, ./fd1 ... or /dev/fd0, /dev/fd1 if not found. You can test it with the file /usr/bin/debug.bin, with the command line : $ debug.bin 3- The 512 bytes boot sector debugger /usr/bin/debug.bin Usage: f DX:CX load one CHS sector to 0000:7C00 t trace one step g
go to adrs d
display 16 bytes, CR for next 16 bytes... e
... enter memory byte/word/dword m self move + default segment offset seqment and offset are hexadecimal values in 0..FFFF range address is linear hexadecimal value in 0..FFFFF range or seqment:offset words are bytes in 0..FF range or words in 000..FFFF range or double words CX and DX are used by INT13H/AL=01 BIOS interrupt. Example: m 0FC0 move debugger to 0FC0:0000 0FC0:01FF f 1 read floppy boot sector to 0000:7C00 f 80 1 read hard disk master boot sector to 0000:7C00 g 7C0E ... 070701009DF605000081A40000000000000000000000014F9BF82000000036000000000000001000000000000000000000000B00000000files.list/usr/bin/runcom /usr/bin/debug.bin /usr/bin/debug.com 070701009DF609000081A40000000000000000000000014F9BF8200000009C000000000000001000000000000000000000000700000000md5sumfee13343ce9219a3ad9913fd0d447ac1 /usr/bin/runcom 9a4e1d8a1124bbf27f3b599d7f1fafaf /usr/bin/debug.bin 890c6ddb3e6286693529b77b695d7648 /usr/bin/debug.com 070701009DF60A000081A40000000000000000000000014F9BF82000005775000000000000001000000000000000000000000D00000000fs.cpio.lzma] c!Ƙ_41De283`⏈͋|HD bRǻĐ3=fۓz]K;ld0!TK=^mnG2eT2!|5ϖ Yzn9&>EgGA՚~܈rKϒboz-ډY+7@d_W^ޱ\ާ TR:Zlx.IbG!.%|J2Rb2bdG;Lڿ?iH ]s epdR( xsz#PźPcϿ;)~Tǣ F'ѥr](Q[NL852V&Xp al$ZkurGw,)G&.|}dr&}V'8L] HW~Qi-?CpQ-+j|@?'eaM>@+SN4ڮ}H)! ιp[ 632S (,gTBQ#rZ 7'd"F Fu3?btd-n;%RPե+p`p;Uc.QaC(T)jDxeЮ=>^j &y^ V}#ߠ2)G;F |1,ja7mŠoLk垃2¾$hxr&5f6731wh݈D#4+=E(c. A\ OUUㄠ%x ZCoux$K[Mv|V$rqbҷR=Cfy!VĚkGZf\"" }lzT~M q5G&jQVn~ q?̭Vb8m3lLЉNW]Zjc2ĘxOZu&r$HweWx6Y?e&*-q)`؎/XŎ>6qm*h){]?Q*Vk$>ߦǨ W+Q) rh_xœ/JR`qyo?_=Co?[j2`@ BkVKܩEPg6e1Ф&tk1N.a'CBK[^!@G#x=a>![n!eZgNL ;´M/+?Pf{!7|J1#n"M3KM;@ĩ\"^/kE86b[tGQL AQg=;z~XP\uF7ddTa͇] @c ћ#'<J7.EkV WV|@yOל d iIB| iۿY:BT' <[f\plMk8gVSg'Xq[*e\Ϟm?1iA`WjT[ЦˉȫUr^hw6KlA{:e2͕&yA?a pGqVd(G&<>7냙5E^ /vuOPK}ccJip ,Wzc#>O~Q_D}Fb +/łd:S_) XF9gexrɼQM0qV@"z},{[׈c]lemXMqMD'zS?r! HmU*v9Iƪo08Kbt#]H?oԪN{ׅoNmDW6;T!{T&R(㭉֬>w!6%c CD3~4:+Am AJ>ya.+K6F)iOtkaj%St& zclD"h)?geyj:8qOk/=OHK %m^CѾ Ԗ[OCjZb\x%}qlGae2hݏrq#^c~PG> %s ph5q FIE\ܘr5uT)*~'kw)bӮ Cdă?$y-' 9K)I/ݎZ+;pUoKZZpɶ♔7S=Ck+cE6Gw ۭ)hvl۴*COcM+`/<],{IRD%4m;tcH TS̕ a%NtVtovhNA QBr5*#p~'?U.dtnJSV3+~GA^_[ IJw'c z{75k'f]DYe\໖juu7v\90wX5@=_z@cPw`Lc@ I[\94,Z8 ;}3p; .^M}BM-ԁc Yy?X q Gg/˕[" ul&fFƆ]rIG%Uu>Vk7}\?bMr$(DOɼ~:am={6"C4^PYiOV1/h5Z%go#-iKxbd}3Qd{dKHW 6SҒ/zde`)B`³ vr̴HF8I+ *?Y N0xk# ^ėKOb >B#~贁+W m.6id1Dy#CƃS0`-=]hE֎d79|3/͢a/osPH9LMbvؗ"tiDj4Hw{Ww ~VnذuYMqIOYi5D.IfAI0w>JޏRQ 4.hũf-'! 7SmVjWѠy[xy;5RǺD@> er fՙtUu4Ԃ&fՊ:?!ą>==2z+&iҰsҮv6tuaOc|-S)>e+FlF9<K!aeZ&#[{*qL 䱽m%VO j^Ɏ?N5q SaU @cPךK&=*') |!SuNO8Wq½x+&āgSu)\❿S#JTW:!VD=60'mTZ/}0ZBz('^FL?Ђ¾+ ~$A̺%4}d=g[{@LAq|iuňϼtM A@i*I~^M{?sH.L+le$2qIh` vwʩwp|yRUpSnJbuֱ6~!&`# z I鍇=R)I l6=wdz rIJ)cG簖,ߜƕJTm'9ODI~ӒlJCƫ->yv8 " SOÀFVQtwr4GCl Z9:{6r! =x9+G{:piKu)WCz(Xw2_$Jj"5I&8BkӪ"W=F@|Nyk $u,M9“&>&jF$v~'Lӱ pR~WϴذlABxGY}C܌XvhJ,h֎:MV 9l+7vB U]3&f[ɝ|O[(\!iRQÂ:~>v.^T/~MXZ?&z,[E$4+pܒ]dO*nevvо=)Ս>/+el}'~w#@ة/QsPz@AC&-6(\.yb%Yǁ2Yʳ-&֍#Z{m_~V[[RtLQUWjK._j/FL8;a9vW*3áJquedj*Kk>i^ωe>y*,vBaUcȔbnz!QZWeHIU,~+>.+28(A 72\y ퟴC3: Cpm K4:xAd~'nMdIte2bKSQ;Axcv\=4)//Q9zѧ(cK5f3/G-ϗO4w6s߉|t$nou W +JrY ұ_fP2gZA4_\G@1wҦǗQ SZZgEHҚ$wȽya ؤBX֔}W4,5>] döƳD :&w={BV#G@EA\ou( Ѻ#p2:vDo?sRost̓bܜruo)x7T%V=('lČzй1+f5U$o8挴2Kz[~ӺO0Zw߮AYyo$RmTmX0-oJR(>cES݊n1{ {QB>hN%LsY<[7`얆pv:Z)l+MSM. T]>p -ypQy=s0#M&͌9n{)1usuQ+^İ%!P)sc57ʙ5q3$/UQ~8frTsiDJ f\Rg`$կ@ZV|rwd\Juĵ}j|ns*s;Kd36ST 4D{=jq3 ; {dk=j ӥF*jLB {q)/`i>ƺ}"jr 0!lNK]L ̶6;IKbڟ)2 #xOH ~?:Wֳ5jD«N\Bjj 6c~H&nlk@yӻBbp'n`>̥#Q>X#*V7VBA3eR7&#oa(؛oWT;VjwZR0 ;eB$M{ۏ־%{4>O) 4mLÞD8„@ qhO4C5?o|#JAo2kVڌ`u6T7~ BL ֕]8UGcY@ Uߵ}$k%3b>#n\}e'[& V0^nrJ MXM}q&yR3v1]<{¢J*BDE, j 7_[TN?wcw=BDcD?*`W &,ޗMȠHI-%!T,zbv60{N,|;/ >R&WL?YlU!l ʼ9,Gq ̇N0dbQ;L0*7F|Uz[ӳIBfqɥ|LR692ĄQNFzqۗ1v} Csch`qMʅ>nqMTíu΢!%EPpmeY~wsʯr,X:*=)ofZbNT= j8Bv1G,NJx \s`ApINYeA|PppVg6*83XEK!\k^d\Sp[P;] fK[_8Sh|lKHM(*jPim7,"3bt% =pPGHh*7J)xpn7vyJ5 ֆ%4-{SfRqJ /H推mD ^-k R)+ s#UhͮyMǵ6CcrU2iH?kb!.^[U|w%E%޼MSq5JɓBi33Mc14P*SF:&сCTlAz !wgXvl䄣L$?͑;H 3/᜜PB mҹЁ\ɺ@,S9ݟL@Z{U@a 7tM~iWbg7JCС.*51l$c=_s{~q>!}5vYQ٬PIyhƏ,6o wm^BPbi_T'lM3m(.:{qi=;l2Մ9kKyk7(`l5mUJ in? G+c!(orp\OÚVHyQ"m@$}D NûE"x4և.,?>DނQW3j? 1+R$ 9p,[?|s:h;:,\џX¤!2ibNn-1\N&>Ϙer ˆ c.NWl&Oc$Y+-.Uٵ4,bQdf/l`‹Jxj;޺YUP=1bBF@k"Diy^iԕ9 9nq,rzCmcR=V ~v#K*꧳sKSMI2SYw_+^VM= ɷnOЂ.{ VNJ։ 3Ws ,[]EM iа3 ^&V70@#Y?F(90vXAtR,.%(=hFZ]d#5ED;nA8#=!G8,Q7ˈq{"[tШ6Γf$i1>v4,Fp,^q@c'qZ=Vvf׎NjTUPVTWtr]#ޟژԘP:'w'mry,|k5k`[QV>NZ`XFONq~ oRi?LhGeG0wJ#D9CG #0C\7ubU˳W R d:C܊./F0\e8iK9Zo<:H :rBebsu9#DZkG lLWq]*4@`d~:_qOs[f퇃42܃=摍DkG'0{Wp ܴ»0I 6Y1P.BH[3iC8=<: "M Shdף{G#S21aDG eBN37LU|m{:?S#KtxNťGdDYlˑn$puw,g YPx(-2Rf]ɉ/*h|"o,o4 z)n8dVO%ϵ5fЫX3M0w s82#Ο\LaV.I(rdZSW!S:5{x67HnyV{H1,j4:7eC+wTڍ?HɪD>6j$ݪO{ ZqNxRޤ? ؋;48qq3.pcm{R4LqSȜWIٔ*UVtT5wg g,S3FeC񹹗vrCēVQ^Rqyt5"z\Ew9X1} yh>cQj=m^T]pׂq XmțrJ57cusUÈ#nC}x(˃kRb r9}jS<5X$饯PZ WV77thp#=Zئ h2좺nA^oP\glm{_&CA5+sܩ*hF?ZA*4 8&EN C3l+s7jL&g.\ɰR1IYѢULj9΄}!_ %B»[2a~9!I1UgZ?!+%4q-:i/Wy*&\IN"r=ҨF?CB:=vwcBυgPs@:")Ȣgq{֙ ufTW ~E%BB|F:ιTC݃OPgj@ɁqeE!CYwN3 E_ξ+G͂Fd6Z% rٙĒS\XGճeմņz> ireaa}X ہn$jVPP:/u?nwn\U$)u!{/skXL'\U6&m=qFXy ,<UTuCLօиSICȬiX#lݤB\) 2x!նD+9+cf(9?V_gBeGӲe nIo> NZR/_~tpɁ1x>ٖsUZ_:=Ky[|lGX,z_etwֈvWȅs8(H !#wO9r-ԢPw vH+IrjΫ]"ުa(b a|hc Bt},BCM|w !6-[ A-t |^ւe3B@+V5!VrSp);lzRvU=wύw 9b6aʰ{e\8#C:8 :7cmU)n*&3iy:@mEt.xUWTiIp}7Dx} bFX p ˇeŬECwR%6D:0q1j*(A#0k* fnN;Yu[B%:/f*Wg԰S ;T\D!#:ՋIóO x+,D@|Sف 櫕kϽ>Mc ˤޚK E6]vګSYX2 "ZsxSq'= 4 :3C0cn/2L|ĵ3vhW UBz'y:P$ "0@þTs{āIX'n,@k*vӫ)|nrNW)!ش:DRIv/e@LAصJDT#Ke_?=E9s1abO/StWAaZ´  o!7Rv+j̕P_+\}d\ u#r-Dˈf]{=]JR$M[L!1tϿbҙ`بyKڈuCL]4(|/IzC&( +僧غP㟁.Ό .&Q{N~݁p磪ɜH=2$3R*I=T eːv#ajC r}`m-G'r"=!eVַ؋-xzzC.s(TQQ5 # 5o')4%e7_2VJCUIf}R&JJ4S&.Kh[% =xp]x)qW8IuƲH(VcG-ぞDs-kr _[j~{ @¯ ٕ"aOwX&rK#~g.Rsn&Hq;y; >xԫ<2yCI3C?[K✅-O?:h3_hU49_HOƙ0aWAh4ĪWտ͙-ӋodT%)Ӭ3V!Ja\C{fwP&]]W+Qxa3>EZa}4Bط^q+s X%.>Cy5m+ zR"/T'g+|a \V^-mS|%d>r^_{#FYhe;" tv >s~xꬰ!"o\"g; ֠tz pFj~%L(h/ڧQȷDw~kWKx:'vU(9=kC+ﭪ` N1C6:Uġe)ʧϪRoqxZv/vAK%&(ř `cgC$LMX3 $iF:JB:[}L&8vQj-F@A?X!s7˨ۓFT8Y?H%3V^Tf;z\ɯ;OgOybf)0P/J݀ߢ2 ?:$u^8~ߗnvX+Gm+)V^W1Lr6%֕$Ǽlҏ+^kK%B v OaR#Sr4#a͓_UPhо (}W8쇻cC&,]{ PPt>)'qyW6pl et#7;?f-4C¬ZzX[DҩeD!eܱUON!|ȲsBI)qBm>Vl"8uj7@|]Wý1GikHGqsCho_GݑJ֮#G/%,i-}C!blb~9#3)ޙ7vV)&H vY`,Z@]=4'pM ͛Q*3޳ X4D4*A9-36;/@<<[#A;$Y-Kڄ!Mh]*{4`sU/DR6,/845F9pBZrmB%,S{X{2 ,TmwGd#%jHrsוÙoEu]12O@gsy!.ZS-/ MDA߮"6;]Xͷrr38>x-0soԠΗbhy ߨ3;feyai&6_OD[nŋzXD}DwfK >.˿Ho*bHH/,rD[Eپ*u{$QCv{. !jg;4 Upq 4EcOB̼0/If&AV"yF1v '2O#~5TIjF%8p0i$:ҐsppO<A\3yo`e3{hlCn$tZyoZ`ϝ`18t 'Wk TNruᩃ ҢVxxT9@ot=YFT&`_/Ȩ.$=-ŒC 86o- O76#KFf'E@Q3u"MRy7vCfɒ_8NKV>a~nUpJUs଄3 yJS% ɋ,>ø%x*Q>|esEǚI@BxM2hL%wk1OBKeS i@&NVBs-vz8{3騎uCB` jӌν!72<|Vόx1m4cOe*99^^7o'af'Zu_+ϋS \mY1@`PA%#}N[7lXGDUlvzA]_؜sRPWHv9)d|TMKYujۀ̄e8mDTqw9V{C"`}wrkx|6BMaC9N@uri8y["OC5`N%ՃRy)JWTk,a+7 Awg,yXozQ蓎;E"^"Eh)s_7o!t{s-.nz9p"Wlю3|5L@V 3p.P@)8\Ž6GaA6{ k{[msMō-JIL4`K^%-0sSެ$kJO>8x9XAq `A~[锫#uv4i =aPňJ 4cSY+?vef k=j.%iΪ33iukrYKjj#]*l5 >jZ|*vxo˺ $IpRis z^ugo1pYt<5pk G:x GQQ@Mעq~Y˃1bZTEv/]eeD>1Dl$$4c+9-Gߙų3(|GDt~M/XF;Kd3Rӯޤ|(:-R . ,γν`7[¿T5}a~\"ڹh`ݐ:`- gN2 yؙ8\AΑ)T8BG|>W{1`T kIݮ[RV7?l]<r?f A">G2ӫΓ|./_=2wTJ?h7eU0z]%%IBfSܬDH-_@2t5Q+-a7qR#t..'*?{0Vk=({|?yz`w/A&5Yx%{oq>{" x<˦~o,柏!!σY㻕 (<@w84l?$!v&@ߘS{F\ߜ ? ]DP/RsX`ٟR^ 9J*X&Ef=FT949U|Ҁ43hEIdME{Y 8$@U݂S-pt\=@$QuT ,ءNeq9*D.0KEP)>hv!GЩʿX|g۝"5^cXoQ_$;!ӫ3xEmIN~UB%̥s (}6E GQd=nSupх</ⲵ{Ba92hDŽ&dJL?8,>jPHY3} DIr+< S$^f91]'K9Ƞ. b;+s'+C īc'߷=2)&a ]ϺbacE洺U)^0hmɩ uѥS"lrwG$Lh I(bE.r*la7/m68DǥgJЃrn~x M@#'K^%iBx۵\0N ~ɇ- sӶZcR'tGajԬ{ ]{;;3m9f4fRP&Hc]&1;x GW;խ7` h.kb{=A3@1YY;p}WW(W(_id07fHTntWЍؕ 3P Q 7TkC2Oֆ U;vf)z6AD+pX=Lq]6fR%=4PM-YP iPA@`L' bi=,X:Lșv Q<jt 0`p<r4n 3+L A,z.7 +WN-Nakp Yuat9$u@3t ߰\zPӅ Hs!ʟX4OʏqqH]F엢UvM q؋ K070701009DF60D000081A40000000000000000000000014F9BF820000005E5000000000000001000000000000000000000000800000000receipt# SliTaz package receipt. PACKED_SIZE="40.0K" UNPACKED_SIZE="52.0K" PACKAGE="runcom" VERSION="1.0" CATEGORY="system-tools" SHORT_DESC="DOS .com binary format support" MAINTAINER="dev@slitaz.org" WEB_SITE="http://bellard.org/jslinux" # Rules to configure and make the package. compile_rules() { mkdir -p $src cd $src #tarball=$(wget -O - $WEB_SITE/tech.html | \ # sed '/linuxstart/!d;s/.*href="\([^"]*\)".*/\1/') #wget $WEB_SITE/$tarball #tar xzf $tarball mkdir -p $DESTDIR/usr/bin cc -o $DESTDIR/usr/bin/runcom $stuff/runcom.c cc -o $src/debug.o -Wa,-a=$src/debug.lst -c $stuff/debug.S objcopy -O binary $src/debug.o $DESTDIR/usr/bin/debug.bin cp $stuff/debug.com $DESTDIR/usr/bin chmod +x $DESTDIR/usr/bin/debug.* } # Rules to gen a SliTaz package suitable for Tazpkg. genpkg_rules() { cp -a $_pkg/* $fs } # Post install command for Tazpkg. post_install() { fmt="binfmt_misc" proc="/proc/sys/fs/binfmt_misc" bin=":BOOTBIN:E::bin::/usr/bin/runcom:" com=":DOSCOM:E::com::/usr/bin/runcom:" cat > /tmp/runcom$$ <$proc/register echo "$com" >$proc/register EOT rc="$1/etc/init.d/local.sh" grep -q "$com" $rc || cat /tmp/runcom$$ >> $rc [ -n "$1" ] || . /tmp/runcom$$ rm -f /tmp/runcom$$ } # Pre remove command for Tazpkg. pre_remove() { echo -1 > $1/proc/sys/fs/binfmt_misc/BOOTBIN echo -1 > $1/proc/sys/fs/binfmt_misc/DOSCOM sed -i '/binfmt_misc/{NN;/DOSCOM:E::com/d}' $1/etc/init.d/local.sh } 07070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000B00000000TRAILER!!!