From dee71e8f01379e8362f0cea286b0b4d54400e304 Mon Sep 17 00:00:00 2001 From: Gustavo Romero Date: Mon, 13 Jul 2020 16:54:32 -0300 Subject: [PATCH] Enhance hello_world This commit enhances hello_world.bin output by printing a ASCII lightbulb, which turns out to be Microwatt's logo, instead of simply a "Hello World" text message. Signed-off-by: Gustavo Romero --- hello_world/hello_world.bin | Bin 5284 -> 8328 bytes hello_world/hello_world.c | 14 +- hello_world/hello_world.elf | Bin 89208 -> 89464 bytes hello_world/hello_world.hex | 466 ++++++++++++++++++++++++++++++++---- 4 files changed, 435 insertions(+), 45 deletions(-) diff --git a/hello_world/hello_world.bin b/hello_world/hello_world.bin index 43f519a3aeaee23ef67cdde25e7b56cf7438d6ae..abd7cd0148087df8dbdb2680663f1630eaab3057 100755 GIT binary patch delta 402 zcmZ3Y+2OdsM1Y-vfgypRA!)L;KqzNNgOVkPKVkArfqDdQv!Y-yBX38;BMSxvuS5j~ zugVFN8-=W0Cp0L%T*Japv&x^L7Q|*c#8Jt@plOLL#?0Vg$paU20IL%~=1*o6_Gj#v z94IWzIALg84A9c$wm3)i6tdE3YjGe<@rU~#d<*PdJ5_aKm^tgGA%}- erba;@WC)0-V6CSI(hLOHxSR>)bCeIY8NANZ)3I;RsGBiB0U{LT% zRABI`3VV*Vr{{OE4@<0Fp81P1O diff --git a/hello_world/hello_world.c b/hello_world/hello_world.c index 3012819..0f08631 100644 --- a/hello_world/hello_world.c +++ b/hello_world/hello_world.c @@ -3,13 +3,23 @@ #include "console.h" -#define HELLO_WORLD "Hello World\n" +static char mw_logo[] = + +"\n" +" .oOOo. \n" +" .\" \". \n" +" ; .mw. ; Microwatt, it works.\n" +" . ' ' . \n" +" \\ || / \n" +" ;..; \n" +" ;..; \n" +" `ww' \n"; int main(void) { console_init(); - puts(HELLO_WORLD); + puts(mw_logo); while (1) { unsigned char c = getchar(); diff --git a/hello_world/hello_world.elf b/hello_world/hello_world.elf index bd7924a1a57e957132f52b22f355c6cfecf11e19..45f5a3d0f5c2425b23c174a7340300d6082022a9 100755 GIT binary patch delta 2899 zcmaJ@eQZtiIZ4O?BEyz zT_DMZRF7({jZn@yDs^nFHlb}&rcK_appmNVk0Dibo7$oE4~B$LHC1Z=YKPWk=iFxl zs@QIF?>Xo9` zUGTRuki*v;F#j+t_?*xO_Uyu)?LylZ)5N~hIb3u>q%*hR|LEriF?Xd~oMB&i+kDy} z8e1R5RMFmA{s3#2I>)0if*ZOai%~Z@IgGpEdA#X{8rX>+yCGCH_wTi}temzG4zf*D zKf!P%sfV$%5;ns{JWi4KXJ4$XHG!^V;YF&~{1WSX=@Mw?BgUziC}dQfZ7=wIe@Z^yK`IW5GUaHK_o zK~ARfxUhD3c9zmLs~Dsy8ssd^aE5I890C3LMfbb{WmWY)Z)#uhS_yiHW5 zWjjy!>p>dJ{PiNfP2$uqftC>gUS}sEN)feo6=j@b9WDktD6nN73Cij4>>$CmBK8dy zlt$>KfCO@SG`=kM^8|8Lj7EEeAg)T8(Y}W)S4AzezePM(#bgu##>5|}HN!b-OXXaJ z?p+~WKe@|fVc~u`@Bd#YF7E#qv>>MEd-TU5lkQXd|DK2870ObB)lsQ?%(F3ASkU54 zv!M8#uF?by?|B$9E)fmu$}W*_QRR#2mt85-Dm}UmW*yEk$>uaNR7~H*C;YIX>KrNH z)<#Zkr1}(9i@(t2hjvi*2z;duYIfb{wO+Gv2N$WY3sfsy-07;sen)PBu~o+2me_4_ zKV+=0aIX&js6ZY5auf8F^I59CWTfNr7NE5OmLP(c8{kPeU%1);|Ac`yp3k@KFhwWS z*C&H|9@sycI4R(agV!sx7kQ*^FmPp(#I&v3$iJA9QB z`tWQ3s^J~P0Msc71y=%e1+Bwd0oVYI_!*h`dz?^Xhg+P`#S^J%;MZv5$=D?M+j-5R z{x0vlM?O0E?19n~V5O-4HTU6K&szdMdfWB=a)lZ2jYx8zzF+$(P(qdJv!s$E98f}X zTYYyV)1u32IM6E9sgg|5>Uei_mDVg(^#N9St9gbh^00UC_GYMdsf-&uoS?2sykKpD zvq}ZPUb>IzochFGcgTj%hro|ZL8vG<+rSAf6O$HP4uZSR`n~Ufa6*_68@WWYTYjEU zr8@t$Y9Z`}dqMcA3c13oTc8cdzPl9$6}s*(N5P%X8L+Y$T-dn{+&I<@9wN>*Lz2wL z&F})5ffhD}>n-qC&idgF2$Qkzf(`i54%kk9siW2i4UofA5vjNmfj24Y-YKKSoiISr z-}Q*HUo0kKt_R96vkM&fK?ExC`YsqDstoDJq|zCUKP{7~balgZ`%Gq3hj^-ZuNzWIxG}%z!?_;#5LU1w z3RPgkH=^KC%SD#AtxC1)4nJOw@!crAUj@QO?>ZeoDp}nK4_@vCkHtqJh;<@|tG&?R z-7G`8zJFAd6-^lF6XWr=QK-J+p9O{eK4m*rJlWqOGM*RcAfFRBoi@Kd7UCulhYn@q)HPzWBP z!?Hd;F*KHrO~plUG?t0c&kuP<@N_?1Eo?sw&nZrNIb~U)*NMvtzIOx~;7$D35vYai zQX3uBrw731{S}csBf67hDa|sA&H>uE0)cevK8B7mz49fx^u5Vqo@nC@qJe&&ShJeG z>X+By(ZjIO_(6$qhjgMt)rq?$;?NeII8@B|q)6b+qhN;H`PXWVYb9;2L)Tt2=$+Up zl*9J$F9s?tCQ10bOi=ucL?1RU9nf_z))K2iTaWUeS)7=*T}=c2m&Z^cccYf9AO Y-9czF_v_3R^d5s2>z|6@(;&zHFO9bsg#Z8m delta 2769 zcmZ`*ZERE589vXwzV>wz6FW}gq)ozgVlerTJtt{CNPqyN9U&_*A!Q*9>^UZ}NbKO4 zGM2XaP^FIksK{1vG(pvM>X#-qQMHxnCPqN&{!G(oHBCcfQa7oZCiaIv8>+Tt?|bhJ zWYhXu=bra{p7-ON_kJ8d_?h1-WEO)yjKCun|J);t!K5Ju&*^fh0)6}R#m2v0afs)Bd{8{kx^hcD z=Mc@k8!=T3^p-uu224NiMq9#vyH}G!d_&6WE+hE8bdNxiPoycf32-C#KP{2G+vdbE8*9!{CjQf z+wZ-XDh)&+go6knbZn+;*?9uCL%wdHs^1`8Q8Y=D>d-RTf>3lV#vt?tlXGQxa=0oe zRMA}?njCEe(SGWK2rPhf?W^Xtgyj|KGGD1NL)j<8^^d3w&5W|FKjT} zbW66AL#K_^vcr0XEo6{`TV3^=ITz?!vP2*cMbk=5lrD->D@hW@Ls6Y2I$=B%mnK?x z7MB^pGF{i@#d1q~gJQPRc$WqizbNAdUM0$I;C? z>qxDe%Z)pQXrL!X`q&heOU3*)+`~YE6VH1vL-#H?$orTN@oE|;GS3P;@8#AABg z>g5%h7XH8~>O8o^DfaS8>cZTKhG&!0r1x+-5xUF!2$**n|9I#bXfb;hdY5xlRC7xZ zq!+Ljpv{=Ov;C`w%P0!+uHoTz7L=^RVv{Lv`;R3zJ&Q77~ z+e`aOdrSBGl|XS%fF9lR%Md=qh}KCZUsl~O6ROm#?5Ux*zIY>wcU0)b$qwuU&2M*N zoW5J~^db0HE;!`hx=*%(G=_9srXtCe#-&*KE!Bxvk#**t%v*i zDXlJt`%QAWA8(Qs-eFo}J1|Dp`j-`1X_dlXL6rnL=tRnHMzAiRoN+(m0cy z%S>j|69#{?pL%-K*xTDH>*Cmg4jFqIpDsLfFau|jnXDDa{?V!2OgcJ~Ih8&aoy(_4 zOXYKClZ8S@bc&Cr6KDBo5~*BvE;pS%k;!HXVs0vzFZ_4e$+Weq4Kb0F?O4rqrqaoY z$cVYT-6KYOq@z>rJ&2!p<_Z%h&Lr~%GxNn^eC(ag6_SOV1?DMAemabt($T!K6p|Bh z+{LQgeFy>E=BY}hFEZbz0G+KgRjHeVF5ftWd$KTsN_Q*S!z>tlFaeuM1VTWr&y&z32=VJmXwD8kw&WMO5g(rs9^j&G7j zkDx*OqlNoRj`M#Mk_Ocx?yVEg@m~>=!*;~qZKCYF lRS6qgwL3wdDbXN5KZZ8_u;u+D%e(EH2$kHju@0CE`VT6$;~W40 diff --git a/hello_world/hello_world.hex b/hello_world/hello_world.hex index 91ceaac..5d0d1a0 100644 --- a/hello_world/hello_world.hex +++ b/hello_world/hello_world.hex @@ -516,8 +516,8 @@ e8010010ebc1fff0 7c0802a63842a000 f8010010fbe1fff8 480001f5f821ffd1 -3c62ffff60000000 -4800015d386373c0 +6000000060000000 +4800015d38628000 4800004960000000 7c7f1b7860000000 57ff063e5463063e @@ -528,8 +528,8 @@ f8010010fbe1fff8 0100000000000000 3c40000100000180 600000003842a000 -6000000039228000 -8929000039428008 +6000000039228088 +8929000039428090 418200302c090000 39290014e92a0000 7d204eaa7c0004ac @@ -545,8 +545,8 @@ e86a00004082ffec 0000000000000000 3c40000100000000 600000003842a000 -6000000039228000 -8929000039428008 +6000000039228088 +8929000039428090 4182002c2c090000 39290014e92a0000 7d204eaa7c0004ac @@ -588,25 +588,25 @@ f821ffd1f8010010 7929002061290040 7d204eea7c0004ac 600000003d40c000 -38e2800060000000 +38e2808860000000 794a0020614a2000 -3d40001cf9428008 +3d40001cf9428090 7d085392614a2000 794a0fc3792af804 3920000141820080 614a200c3d40c000 794a002099270000 7c0004ac3920ff80 -e92280087d2057aa +e92280907d2057aa 7d004faa7c0004ac -7908c202e9228008 +7908c202e9228090 7c0004ac39290004 -e92280087d004faa +e92280907d004faa 3929000c39400003 7d404faa7c0004ac -39290010e9228008 +39290010e9228090 7d404faa7c0004ac -39400007e9228008 +39400007e9228090 7c0004ac39290008 4e8000207d404faa 994700003d20c000 @@ -616,9 +616,9 @@ e92280087d004faa 0000000000000000 3c40000100000000 600000003842a000 -2c24000039228000 +2c24000039228088 2f89000089290000 -e922800860000000 +e922809060000000 41820024419e0030 2c23000039400002 614a000141820008 @@ -629,33 +629,413 @@ e922800860000000 7c0004ac39290020 4e8000207c604fea 0000000000000000 -0000000000000000 -6f57206f6c6c6548 -000000000a646c72 -0000000000000010 -0141780400527a01 -0000001800010c1b -fffffc2800000018 -300e460000000070 -000000019f7e4111 -0000000000000010 -0141780400527a01 -0000001000010c1b -fffffc6800000018 -0000000000000088 -0000002c00000010 -00000084fffffcdc -0000002800000000 -fffffd4c00000040 -4109450000000060 -300e43029e019f00 -42000e0a447e4111 -0000000b4106dedf -0000006c00000010 -00000028fffffd80 0000001000000000 -fffffd9400000080 -000000000000012c -0000009400000010 -00000078fffffeac +00527a0100000000 +00010c1b01417804 +0000001800000018 +00000070fffffc3c +9f7e4111300e4600 +0000001000000001 +00527a0100000000 +00010c1b01417804 +0000001800000010 +00000088fffffc7c +0000001000000000 +fffffcf00000002c +0000000000000084 +0000004000000028 +00000060fffffd60 +9e019f0041094500 +447e4111300e4302 +4106dedf42000e0a +000000100000000b +fffffd940000006c +0000000000000028 +0000008000000010 +0000012cfffffda8 +0000001000000000 +fffffec000000094 +0000000000000078 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 +0000000000000000 0000000000000000 +4f4f6f2e2020200a +0a20202020202e6f +2020202020222e20 +203b200a202e2220 +3b20202e776d2e20 +6f7263694d202020 +7469202c74746177 +0a2e736b726f7720 +27202027202e2020 +200a202020202e20 +2f207c7c205c2020 +2020200a20202020 +2020203b2e2e3b20 +202020200a202020 +202020203b2e2e3b +60202020200a2020 +000a202020277777 -- 2.30.2