www/blog/index.html

287 lines
15 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</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-20---olibc.html">
GRU Devlog 20 - olibc
</a></h3>
<!-- bashblog_timestamp: #202112121746.18# -->
<div class="subtitle">December 12, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week I was making olibc. I was implementing &ldquo;string.h&rdquo;. Also I was fixing liblinux to
be able to import it without need to use full path in #import. I had several other issues
with it and also fixed them.</p>
<p>My current goal is to implement string.h and after that I am planning to publish it.
Currently most of funcs are implemented. Making strtok now but all other functions need
locale.h and I don&rsquo;t know yet how I will be implemented. But it is already cool that we
have most of functions that should be in string.h!</p>
<p>Also we now have <a href="https://gru.codeberg.page">gru webpage on codeberg</a>! Maybe next week I
will move all devlogs to gru webpage so it will be easier to move.</p>
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_olibc.html'>olibc</a>, <a href='tag_liblinux.html'>liblinux</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-19---gic-and-several-libs.html">
GRU Devlog 19 - gic and several libs
</a></h3>
<!-- bashblog_timestamp: #202112051657.11# -->
<div class="subtitle">December 05, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week started with making gic (maybe name will be change). As I have written before
it is going to be suckless ii clone. Also I started making girclib - simple C library for irc
protocol. I think it will be published as separate project, because I would like to make it
for both: client and server. I don&rsquo;t yet how it will be done but we will see&hellip;</p>
<p>Then I thought that would be cool to have own libc, but have no knowledge how it speaks with OS.
Then I understood that on linux it is working via syscalls. So started making liblinux -
C library for linux syscalls. Using it we won&rsquo;t need to use assembly a lot in our libc. Currently
write and read syscalls are done and programmer can use it if passed -I, -L and -l flags to compiler.
And it is already published! (check codeberg or tildegit)</p>
<p>After understanding how to create proper makefile with liblinux, I started making olibc. Currently
it has very tiny number of features. But string.h is mostly done! I don&rsquo;t know when I will fill that
it will be ready enough to be published, but hope to have useful functions and test suit there till
that time.</p>
<p>When olibc will be done enough I am going to start making C compiler (already have some code, but it
is old and I not understand how it works, so need to be rewritten). Also I hope that we will have
enough toolchain (or I will have enough knowledge to implement things that are not done faster)
for our own Linux or BSD distribution. But that will be in future&hellip;</p>
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_gic.html'>gic</a>, <a href='tag_girclib.html'>girclib</a>, <a href='tag_liblinux.html'>liblinux</a>, <a href='tag_olibc.html'>olibc</a>, <a href='tag_libs.html'>libs</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-17-18---coreutils-egg-and-ideas.html">
GRU Devlog 17-18 - coreutils, EGG and ideas
</a></h3>
<!-- bashblog_timestamp: #202111281706.52# -->
<div class="subtitle">November 28, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>Last week I didn&rsquo;t make devlog because was busy and haven&rsquo;t done anything useful except
mkdir for coreutils.</p>
<p>This week I started from try to make something in framebuffer but currently nothing, because
I can&rsquo;t even understand why my code can&rsquo;t see size of my display. I think E will require making
something like Elib for easier communicating with E (but it will be in very far future&hellip;)</p>
<p>Then I made echo and very simple ls for coreutils. I am going to add more flags to ls next week.
This week I also have made simple irc bot in python, so I will try to make simple clone of suckless ii
on C (i think name gic is now really good so if you have ideas please suggest them to me).
Currently I don&rsquo;t reallly understand how to work with sockets but I will try to do something.</p>
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_coreutils.html'>coreutils</a>, <a href='tag_egg.html'>egg</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-16---ormp-and-egg.html">
GRU Devlog 16 - ormp and EGG
</a></h3>
<!-- bashblog_timestamp: #202111141703.05# -->
<div class="subtitle">November 14, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week i was working on one more new project - ormp. It will be terminal multiplexor.
Currently i am doing it in ncurses. For current time it is not working - can just handle input but not display it.</p>
<p>Also i have an idea for new projects - EGG (Extended/Exciting GRU GUI). I am planning some proj in this category - eggwm, eggterm, eggmenu and E.
E would be a new display server. We will need to have it for Orion in future. Currently i am planning to do it or on fbdev or on DRM/KMS.</p>
<p>Also now yemu can be compiled with different compilers, -pedantic flag was added to makefile and all errors fixed.</p>
<p>And now our channels are bridged via matterbridge: irc on ~chat, irc on libera and xmpp muc.</p>
<p>Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)</p>
<p>tags: <a href='tag_gru.html'>gru</a>, <a href='tag_ormp.html'>ormp</a>, <a href='tag_egg.html'>egg</a>, <a href='tag_yemu.html'>yemu</a>, <a href='tag_xmpp.html'>xmpp</a>, <a href='tag_irc.html'>irc</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-15---ocpu-yemu-and-licenses.html">
GRU Devlog 15 - ocpu, yemu and licenses
</a></h3>
<!-- bashblog_timestamp: #202111071700.07# -->
<div class="subtitle">November 07, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week wasn&rsquo;t very productive. I was working on one of my personal projects.</p>
<p>I have added ADD for registers, INC, DEC and NOP instructions.</p>
<p>Also codeberg informed me that yemu has to have license, and I fast added MIT license to all our projects.</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_ocpu.html'>ocpu</a>, <a href='tag_yemu.html'>yemu</a>, <a href='tag_license.html'>license</a></p>
<!-- text end -->
<h3><a class="ablack" href="gru-devlog-14---ocpu-and-yemu.html">
GRU Devlog 14 - ocpu and yemu
</a></h3>
<!-- bashblog_timestamp: #202110311714.06# -->
<div class="subtitle">October 31, 2021 &mdash;
G1n
</div>
<!-- text begin -->
<p>This week I was working on ocpu emulator. So using it we can know if specifications can be implemented.
It helps me adding some description to it.</p>
<p>First I made yemu a bit modular, so you need to add several lines to main file and then building your emulator
based on template (that should be placed in docs one day). Now if someone would like to add some architecture to
our emulator they won&rsquo;t need to rewrite it from scratch.</p>
<p>I also added &ndash;system flag to yemu so architecture can be choosen more user-friendly way.</p>
<p>Currently in ocpu emulator only mov and add instructions are implemented.
We also added some description to commands in specifications, so it is easier to understand what it should do</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_ocpu.html'>ocpu</a></p>
<!-- text end -->
<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 -->
<div id="all_posts"><a href="all_posts.html">archive</a> &mdash; <a href="all_tags.html">all tags</a> &mdash; <a href="g1n.ttm.sh/blog/feed.xml">rss</a></div>
</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>