From 0398a667ccf19c4513db0b729625bd3643799e00 Mon Sep 17 00:00:00 2001 From: DeaDDooMER Date: Wed, 26 Sep 2018 02:33:38 +0300 Subject: [PATCH] LinkerBin now generate code that initialize section "data" at runtime --- Boot486/1run.sh | 2 +- Boot486/run.sh | 2 +- Dev486/Mod/LinkerBin.odc | Bin 29664 -> 21650 bytes System/Mod486/Kernel.odc | Bin 85656 -> 85168 bytes 4 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Boot486/1run.sh b/Boot486/1run.sh index 25caf33..d417a65 100755 --- a/Boot486/1run.sh +++ b/Boot486/1run.sh @@ -1,4 +1,4 @@ #!/bin/sh set -e -qemu-system-i386 -s -S -fda ../BlackBox.img +qemu-system-i386 -s -S -serial file:serial.txt -fda ../BlackBox.img diff --git a/Boot486/run.sh b/Boot486/run.sh index 2044e8a..050d7b7 100755 --- a/Boot486/run.sh +++ b/Boot486/run.sh @@ -1,4 +1,4 @@ #!/bin/sh set -e -qemu-system-i386 -s -m 16M -hda ../BlackBox.img -hdb ../minix.img +qemu-system-i386 -s -serial file:serial.txt -m 16M -hda ../BlackBox.img -hdb ../minix.img diff --git a/Dev486/Mod/LinkerBin.odc b/Dev486/Mod/LinkerBin.odc index bbc39e5e5a309a34bb55d414b13fef2f749e5774..84c32d085e3358b4f12a858b671dc3db378763e4 100644 GIT binary patch delta 4203 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 delta 916 zcmZ`%TWb?R6rP!Mw_aFFu&HQOj^L#&ZB3*KDj16CMr>2GQ79C}Np`HEo9;5ZRw@f? zeel7j)~!Ur{(<5{VTC;OMewhP_@Mv6ncXF3H9aqL&dm3H=QevEl@B}0rcZM7TN{s# z)GHVrMhGocwtkj~QVAyUt>Xi;7!8QaesRWjCGhcQqT$xLIXo16#eG4Ue8Fc!HFNZs z`YnSHIUSzJ{wBB)Duegcq3uKB>b&H>NEFbU_as<5^(iCI-0<6rcu>B`1f*YjS?Q_L zlOd5sp~ocL8UBI8-7~M>U7ak?JQ$f}e3hBi#!EJB@Nrmigg1HdhpN@sh(O~3pVz1WWtk2u(_`Wub%YzT0XHwm;mAG(iXvk0yJxhtOxTA zQveGQGzQLefX{8$g2I%9dr+aaEwVW-t*;1%-o=Or|4RFbb}XHj+QnkAleeoc590o{ zzwc>mR6$JeV1ZE+Xfhp_)=bu$=Zl)B^4G74Rk+L%!9BXnz-Vw*cg2)@lO(5mIuR#I z;v7h*%8AII0D>I_5!8(`VOP^fvW#4se3rOUg|6