<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"><head><!--[if gte mso 9]><xml><o:OfficeDocumentSettings><o:AllowPNG/><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml><![endif]--></head><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:13px"><div id="yui_3_16_0_1_1468527818651_2875" dir="ltr">Srinivas,</div><div id="yui_3_16_0_1_1468527818651_2875" dir="ltr"><br></div><div id="yui_3_16_0_1_1468527818651_2875" dir="ltr">obc is very nice piece work!</div><div id="yui_3_16_0_1_1468527818651_2875" dir="ltr"><br></div><div id="yui_3_16_0_1_1468527818651_2875" dir="ltr">As for the modules Kernel.Mod, FileDir.Mod, Files.Mod and Modules.Mod, you should note that these 4 modules constitute the so-called Oberon "inner core". The inner core must be loaded in pre-linked format onto the disk's boot area from where it is loaded (at boot time) by the Oberon boot loader (BootLoader.Mod) byte for byte into main memory. Then the boot loader passes control to its top module (module Modules).</div><div id="yui_3_16_0_1_1468527818651_2875" dir="ltr"><br></div><div id="yui_3_16_0_1_1468527818651_2875" dir="ltr">So, if you really want to be complete, you may also want port the "linker" (a program that pre-links the 4 modules of the inner core and makes a valid boot file from them) and the "builder" (a program that transfers the boot file to the disk's boot area) from <a href="https://github.com/andreaspirklbauer/Oberon-building-tools" id="yui_3_16_0_1_1468527818651_3442">https://github.com/andreaspirklbauer/Oberon-building-tools</a> to run on Linux (or MacOS) as well.</div><div id="yui_3_16_0_1_1468527818651_2875" dir="ltr"><br></div><div id="yui_3_16_0_1_1468527818651_2875" dir="ltr">Then you'd have a true cross-compile *and* bootstrap environment running on Linux.</div><div id="yui_3_16_0_1_1468527818651_2875" dir="ltr"><br></div><div id="yui_3_16_0_1_1468527818651_2875" dir="ltr">Andreas Pirklbauer</div><div id="yui_3_16_0_1_1468527818651_2875" dir="ltr"><br></div><div id="yui_3_16_0_1_1468527818651_2875" dir="ltr">-----------------------------------------------------------</div><div id="yui_3_16_0_1_1468527818651_2875" dir="ltr"><br></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3211">Srinivas Nayak sinu.nayak2001 at gmail.com </div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3212">Thu Jul 14 10:54:51 CEST 2016</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3213">Previous message: [Oberon] An Oberon7 compiler for Linux.</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3214">Next message: [Oberon] An Oberon7 compiler for Linux.</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3215">Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3216">Many many thanks to my Oberon friends,</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3217">for their kind help and support.</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3218"><br id="yui_3_16_0_1_1468527818651_3219"></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3220">How I use it:</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3221"><br id="yui_3_16_0_1_1468527818651_3222"></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3223">Using this compiler, first I compile Kernel.Mod.txt, FileDir.Mod.txt etc.</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3224">I gather the *.smb file and *.rsc file in my "obc" folder.</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3225">Now my "obc" folder acts as an Oberon development environment!</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3226">I can now create/modify/compile any Oberon module on Linux.</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3227">And finally I can send the .Mod, .smb and .rsc file to Simulator to run it!</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3228"><br id="yui_3_16_0_1_1468527818651_3229"></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3230">I hope, people like me, who are not having much of Oberon experience,</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3231">will find it easy to develop their Oberon skills using this compiler.</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3232"><br id="yui_3_16_0_1_1468527818651_3233"></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3234"><br id="yui_3_16_0_1_1468527818651_3235"></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3236">With thanks and best regards,</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3237"><br id="yui_3_16_0_1_1468527818651_3238"></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3239">Yours sincerely,</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3240">Srinivas Nayak</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3241"><br id="yui_3_16_0_1_1468527818651_3242"></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3243">Home: http://www.mathmeth.com/sn/</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3244">Blog: http://srinivas-nayak.blogspot.in/</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3245"><br id="yui_3_16_0_1_1468527818651_3246"></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3247">On 07/14/2016 01:45 PM, Srinivas Nayak wrote:</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3248">> Dear All,</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3249">></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3250">> Here is an Oberon7 compiler for Linux.</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3251">> https://github.com/snayaksnayak/obc</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3252">></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3253">> Now it acts like a cross compiler; running on x86 Linux</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3254">> and generating code for FPGA RISC-5 processor.</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3255">></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3256">> You can use this to compile Kernel.Mod.txt, FileDir.Mod.txt etc. on Linux;</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3257">> and use the generated Kernel.smb, Kernel.rsc, FileDir.smb, FileDir.rsc etc.</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3258">> on FPGA Oberon.</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3259">></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3260">> [Initially tested OK on Peter De Wachter's Oberon Simulator]</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3261">></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3262">> Your suggestions, opinions, bug reports are most welcome.</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3263">> I shall be very happy if Paul mentions this github link on his website.</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3264">></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3265">> :-)</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3266">></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3267">></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3268">></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3269">> With thanks and best regards,</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3270">></div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3271">> Yours sincerely,</div><div dir="ltr" id="yui_3_16_0_1_1468527818651_3272">> Srinivas Nayak</div></div></body></html>