www/blog/tag_gru.html

434 lines
20 KiB
HTML

<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="main.css" type="text/css">
<link rel="stylesheet" href="blog.css" type="text/css">
<link rel="alternate" type="application/rss+xml" title="subscribe to this page..." href="g1n.ttm.sh/blog/feed.xml">
<title>~g1n's blog &mdash; posts tagged "gru"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://g1n.ttm.sh/blog/index.html">~g1n's blog</a></h1>
<div id="description">~g1n's blog</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="gru-devlog-13---ocpu-thoughts-and-some-elecronics.html">
GRU Devlog 13 - ocpu thoughts and some elecronics
</a></h3>
<!-- bashblog_timestamp: #202110241605.58# -->
<div class="subtitle">October 24, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week was very busy week at school and I had no time for programming.</p>
<p>But in the start of week I was thinking about making ocpu specs more Turing-complete.
I still think it is not done but maybe it will in some time (and of course more description required).</p>
<p>But I had time to buy some transistors and other electronics. Currently I am trying to make half-adder.</p>
<p>I have created tiny log page - <a href="https://g1n.ttm.sh/lolcpu/">lolcpu</a>. I am going to post there some of my
electronic ideas, circuits and progress in doing some electronic things.</p>
<p>Hope you liked this post! If you would like to help me, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_lolcpu.html'>lolcpu</a>, <a href='tag_ocpu.html'>ocpu</a>, <a href='tag_transistors.html'>transistors</a>, <a href='tag_electonics.html'>electonics</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-13---yemu-gasm-and-ocpu.html">
GRU Devlog 12 - yemu, gasm and ocpu
</a></h3>
<!-- bashblog_timestamp: #202110171710.17# -->
<div class="subtitle">October 17, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week I have done several new instructions for yemu. For example all transfer instructions.</p>
<p>Also I have rewritten gasm to support 6502, published it and it should help me with debugging yemu.
It supports not very a lot instructions but I hope it is good start.</p>
<p>But I think the coolest what I did this week is ocpu proccessor specification.
Currently it is draft but i have already published it <a href="https://g1n.ttm.sh/gru/ocpu">here</a>.
I hope this specifications will be Turing complete and we will try to implement it in real world.
But firstly we need to make this specififcations complete, assembler and emulator for it.</p>
<p>Also smlckz&rsquo;s idea was to make translator from ocpu assembler instructions to avr to emulate it on arduino!</p>
<p>Hope you liked this post! If you would like to help me, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_yemu.html'>yemu</a>, <a href='tag_gasm.html'>gasm</a>, <a href='tag_ocpu.html'>ocpu</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-11---yemu-and-channel-on-liberachat.html">
GRU Devlog 11 - yemu and channel on libera.chat
</a></h3>
<!-- bashblog_timestamp: #202110081518.16# -->
<div class="subtitle">October 08, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>I am making this devlog a bit earlier, because I will be busy on weekends.</p>
<p>This week I didn&rsquo;t have plan, but it seems I have done some things to yemu: added loading programs
from binary file and several instructions - TAX, TAY and NOP.</p>
<p>I think gasm will be made for 6502 firstly, because it is easier then x86 and it would help in
testing yemu.</p>
<p>I was trying to make some daily notes in Org Roam (and moved devlog notes there), but it wasn&rsquo;t
very success, but I hope to do it more often :)</p>
<p>Also I have registered #gru channel on libera, so you can join us also on libera.chat :)</p>
<p>Hope you liked this post :). If you would like to help me, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_yemu.html'>yemu</a>, <a href='tag_libera.html'>libera</a>, <a href='tag_org-mode.html'>org-mode</a>, <a href='tag_org-roam.html'>org-roam</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-10---orsh-now-like-proper-shell-and-gasm.html">
GRU Devlog 10 - orsh now like proper shell and gasm
</a></h3>
<!-- bashblog_timestamp: #202110031554.01# -->
<div class="subtitle">October 03, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>Hooray! Today is 10&rsquo;s GRU Devlog! :)</p>
<p>This week i was trying to make notes to org document, to not forget something and put TODOs
there for future weeks.</p>
<p>First several days was the most valuable - readline support and signal handling!
This means you can use emacs-like bindings there (but i think readline also supports vi bindings,
so maybe i will add them too!)</p>
<p>Also we now have very minimal completion support there :), but still proper function need to be added
for that (currently only filenames completion)</p>
<p>Orsh also has one session history, so you don&rsquo;t need to rewrite command from scratch now</p>
<p>And I have started to use it as my main (but had some problems after chsh, so currently is autostarts after bash
and i can exit from there any time i will need)</p>
<p>Then I have started making our own assembler - gasm. Currently it only supports NOP, so i haven&rsquo;t published it yet.</p>
<p>This week I also registered to ~news and shared devlog there (i think this devlog also will be there ;) )
If you have lobste.rs account please contact me to invite me, if you can, because it may advertize GRU more!</p>
<p>Today (Sunday) we had first testing GRU meeting via Jitsi. Thanks to r1k for joining.
We need to make something like plan our schedule (to know about what to speak) and discuss meeting time better.</p>
<p>Hope you liked this post and you will join our XMPP muc (if you are not already there) :).
If you would like to help me, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_org-mode.html'>org-mode</a>, <a href='tag_gasm.html'>gasm</a>, <a href='tag_orsh.html'>orsh</a>, <a href='tag_meeting.html'>meeting</a>, <a href='tag_lobste.rs.html'>lobste.rs</a>, <a href='tag_tilde.news.html'>tilde.news</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-9---orsh-orion-bootloader-gru-xmpp-room-and-logo.html">
GRU Devlog 9 - orsh, orion, bootloader, GRU xmpp room and logo
</a></h3>
<!-- bashblog_timestamp: #202109261659.17# -->
<div class="subtitle">September 26, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week I didn&rsquo;t commited a lot, but started some new projects.
I made orsh signal handling working (so it won&rsquo;t exit on ^C) and homedir &ldquo;handling&rdquo;
(can replace homedir in prompt with ~, and you can use &lsquo;cd ~&rsquo; or just &lsquo;cd&rsquo; to change
dir to homedir)</p>
<p>Also I started making bootloader, but for now it can only detect what CPU is (intel if x86 and amd if x86_64),
some additional instructions (msr) and if apic is avalible.</p>
<p>I was trying to make something with orion fs, maybe it will use pak files for initrd. Currently i am making archiver
for it, but after that i will need to understand more how vfs working and rewrite initrd to use pak files.</p>
<p>We now have xmpp room (gru@conference.hmm.st) and logo! Thanks to chunk for it!</p>
<p>I was thinking about making weekly or monthly &ldquo;conferences&rdquo;. We could do it via jitsi tildeverse instance or tilde.tel
(tel.tilde.org.nz) conference. I think jitsi is better, but we should try tilde.tel confernce at least once, why not? :)</p>
<p>Hope you liked this post and you will join our XMPP muc :). If you would like to help me, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_orion.html'>orion</a>, <a href='tag_orsh.html'>orsh</a>, <a href='tag_xmpp.html'>xmpp</a>, <a href='tag_tilde.tel.html'>tilde.tel</a>, <a href='tag_jitsi.html'>jitsi</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-8---orsh-and-published-initrd.html">
GRU Devlog 8 - orsh and published initrd
</a></h3>
<!-- bashblog_timestamp: #202109191618.12# -->
<div class="subtitle">September 19, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week I have published initrd, but it is not working as expected.</p>
<p>Also I have started one more project - orsh. It is one more shell, but now in C.
Maybe it will be easier to port to Orion. It already supports ; but they are working a bit weird.</p>
<p>Also in orsh you can work with environment variables.
From today&rsquo;s morning I am trying to replace bash with it, but still a lot need to be done.</p>
<p>Hope you liked this post and if you would like to help me, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_orsh.html'>orsh</a>, <a href='tag_orion.html'>orion</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-7---keyboard-paging-and-wip-initrd-in-orion.html">
GRU Devlog 7 - keyboard, paging and WIP initrd in Orion
</a></h3>
<!-- bashblog_timestamp: #202109121710.09# -->
<div class="subtitle">September 12, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week I was improving Orion. First I made keyboard working, next day paging!
Also I have added several new LibC functions.
Today I have made scrolling working.</p>
<p>Last few days I was trying to make initrd working
(this required heap implementing so I also did that but I don&rsquo;t know if it works correctly).
Currently it can only output /dev directory.</p>
<p>But I made something wrong with %x in printf and it can display weird chars first
and then contents of files!</p>
<p>Hope you liked this post and if you would like to help me, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_orion.html'>orion</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-6---yemu-published-gxt-and-interrupts-working-in-orion.html">
GRU Devlog 6 - yemu, published gxt and interrupts working in Orion
</a></h3>
<!-- bashblog_timestamp: #202109051633.09# -->
<div class="subtitle">September 05, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week I have published gxt, but it currently works as more (only down scrolling).
Also it has a lot of of runtime error (Segmentation fault and others).</p>
<p>I have started working on yemu - Yet another EMUlator. It currently supports only 6502
proccessor with tiny number of instructions (LDA, LDX and LDY)</p>
<p>Today we have fixed interrupts in Orion and now I can implement timer, paging, keyboard
and a lot of other things (thanks to quinn and smlckz from tilde.chat)</p>
<p>Hope you liked this post and if you would like to help me,
contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_gxt.html'>gxt</a>, <a href='tag_yemu.html'>yemu</a>, <a href='tag_orion.html'>orion</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-5---first-contribution-from-other-person-coreutils-and-gxt-tui-text-editor.html">
GRU Devlog 5 - First contribution from other person, coreutils and gxt (tui text editor)
</a></h3>
<!-- bashblog_timestamp: #202108291627.38# -->
<div class="subtitle">August 29, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week I had a lot of new ideas. But I think we have to work on something that
have already been started.
Also we now have one more coreutils rewrite
(now on C to more easily port it to Orion in future).</p>
<p>Also i have started working on some
projects that is not ready to be published yet. One of them is gxt - tui text editor.</p>
<p>Currently it can only move cursor and display files. But I think I&rsquo;ll publish it next week
when editing will be working.</p>
<p>Bad news is that my school lessons will start next week so maybe this devlogs won&rsquo;t be
published every week, because of not enough work done. But I don&rsquo;t know, maybe I&rsquo;ll have
enough time.</p>
<p>Also good news - we have first contribution on codeberg to grsh. I didn&rsquo;t know this person
(because he is not from tildeverse :) ), so it is cool!</p>
<p>Hope you liked this devlog! If you can somehow help us, please contribute to our projects
on tildegit/codeberg and/or message me in someway :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_coreutils.html'>coreutils</a>, <a href='tag_contribution.html'>contribution</a>, <a href='tag_gxt.html'>gxt</a>, <a href='tag_grsh.html'>grsh</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-4---more-projects-started-webpage-for-gru-and-organizations-on-tildegitcodeberg.html">
GRU Devlog 4 - more projects started, webpage for GRU and organizations on tildegit/codeberg
</a></h3>
<!-- bashblog_timestamp: #202108221608.03# -->
<div class="subtitle">August 22, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>In first days of this week I thought it will be not very productive.
But I was wrong.</p>
<p>We now have webpage and organizations on tildegit/codeberg:</p>
<p><a href="https://g1n.ttm.sh/gru/">https://g1n.ttm.sh/gru/</a></p>
<p>Also I am working on some new projects:</p>
<ul>
<li><p>orcc - GRU/Orion Compilers Collection (but currently I am working only on lexer so it is not published yet)</p></li>
<li><p>gasm - GRU assembler (maybe will be part of GRU binutils. Also not published yet)</p></li>
<li><p>hexutils - I think hexdump, xxd and some other utils will be in this project</p></li>
</ul>
<p>Also I tryed to advertize GRU on ~chat, some users liked us,
so maybe soon someone will help me with all this.</p>
<p>And of course if you can help me please contact me in someway! :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_orcc.html'>orcc</a>, <a href='tag_gasm.html'>gasm</a>, <a href='tag_hexutils.html'>hexutils</a>, <a href='tag_webpage.html'>webpage</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-3---orion-and-dreams-about-gru-software-future.html">
GRU DevLog 3 - Orion and dreams about GRU software future
</a></h3>
<!-- bashblog_timestamp: #202108151711.33# -->
<div class="subtitle">August 15, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week I was trying to make interrupts, paging and other memory things working in Orion.
I found this guide and tried to follow it without rewriting the whole project:
<a href="http://www.jamesmolloy.co.uk/index.html">http://www.jamesmolloy.co.uk/index.html</a></p>
<p>For now only Global Descriptor Table maybe working.</p>
<p>My current goals/dreams:</p>
<ul>
<li><p>make filesystem (the coolest would be make Ext2 driver)</p></li>
<li><p>build GCC hosted compiler (this will help GCC understand our OS better)</p></li>
</ul>
<p>My very future dreams:</p>
<ul>
<li><p>make kernel, libs, ports and soft in different repos</p></li>
<li><p>make proper way to make &ldquo;distros&rdquo; on our kernel</p></li>
<li><p>make some website with mirror of ports scripts (like in Serenity OS but not in one repo with
everything and tool for searching and downloading ports from that mirror)</p></li>
<li><p>maybe (if i will work a lot on this projects) I&rsquo;ll make one more account on tilde.team
for our organisation (domain name - gru.ttm.sh, is cool), but i&rsquo;ll ask admins about that</p></li>
</ul>
<p>Also I think Orion need new name because i found several projects with this name :)</p>
<p>Some ideas about the GRU name:</p>
<ul>
<li><p>GRU rocks (or rocking) UNIX</p></li>
<li><p>GloRious UNIX</p></li>
<li><p>GloRious Union</p></li>
</ul>
<p>If you can help me or have some ideas (name/names or anything else) contact me via email
or any other type of contact (irc: g1n on tilde.chat, xmpp: g1n@hmm.st)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_orion.html'>orion</a>, <a href='tag_dreams.html'>dreams</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-2---orion.html">
GRU DevLog 2 - Orion
</a></h3>
<!-- bashblog_timestamp: #202108081411.43# -->
<div class="subtitle">August 08, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week I was developing new OS - Orion.</p>
<p>I don&rsquo;t understand very basic osdev thing so I decided to make OS on C and Asm.
Currently that can just output text (with printf arguments) on screen and serial.
Now gros is much cooler than Orion - it has input, interupts and a lot of else.
But maybe I&rsquo;ll understand OSdev better.
Currently working on GDT (global descriptor table) and than will work on
interrupts and exceptions.</p>
<p>Of course if you can help me contact me throught email or in other ways!</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_orion.html'>orion</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-1---gros-sources-published-and-add-wc-to-grutils.html">
GRU DevLog 1 - gros sources published and add wc to grutils
</a></h3>
<!-- bashblog_timestamp: #202108011612.04# -->
<div class="subtitle">August 01, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>I didn&rsquo;t make a lot work this week, so i think this devlogs should be renamed from &ldquo;week number&rdquo; to just &ldquo;number&rdquo;
Ok, so what i did this week:
- Add wc to grutils
- Published gros
- Add basic shell and some commands for gros</p>
<p>I know that is not a lot, but i was reading some osdev articles and books.
Currently I would like to implement basic filesystem but i don&rsquo;t know what to do.</p>
<p>Some goals for gros (I will add that to gros readme):
- Filesystem (FAT or Ext2)
- ELF or other executable formats
- LibC (for compiling C programs)
- Maybe basic networking but after all of that</p>
<p>All code in osdev wiki is for C so I need to implement it myself (or port existing rust code)</p>
<p>If you can help me somehow please contact me via email (g1n@ttm.sh) or in other ways (~chat irc, xmpp)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_grutils.html'>grutils</a>, <a href='tag_gros.html'>gros</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-week-0---grsh-grutils-and-start-of-gros.html">
GRU DevLog Week 0 - grsh, grutils and start of gros
</a></h3>
<!-- bashblog_timestamp: #202107251722.59# -->
<div class="subtitle">July 25, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>So I have started new project this week - grsh! It is shell written on Rust. Also, for now, other rewrites of coreutils are there.</p>
<p>What grsh can do for this moment: echo some variables (pwd, user, home, status of previous command using $?) and text; true, false, : - set status; pwd shows current dir, also comments and cd working, basic piping (thanks to <a href="https://www.joshmcguigan.com/blog/build-your-own-shell-rust/">that article</a> and of course executing not builtin command also working.</p>
<p>Some grutils that I made: ls, touch, mkdir/rmdir, rm, grep, head/tail, yes, cat.</p>
<p>TODOs exist in grsh repo - so you can read there some of my plans.</p>
<p>Yesterday i have started GROS - OS on Rust! But I haven&rsquo;t published code yet because it not have that minimum of funcionality that i want. Thanks for that site for teaching how to make basics - <a href="https://os.phil-opp.com">https://os.phil-opp.com</a></p>
<p>So it was first of GRU Devlog! Thanks for reading! If you want to contribute to some of that project write me an email - <a href="mailto:g1n@ttm.sh">g1n@ttm.sh</a> , or contact me in other ways</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_grsh.html'>grsh</a>, <a href='tag_grutils.html'>grutils</a>, <a href='tag_gros.html'>gros</a></p>
<!-- text end -->
</div>
<div id="footer">CC by-nc-nd <a href="https://tilde.team/~g1n/">G1n</a> &mdash; <a href="mailto:g1n&#64;ttm&#46;sh">g1n&#64;ttm&#46;sh</a><br>
generated with <a href="https://tildegit.org/team/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>