GRU Devlog 33 - yemu, txtutils

May 15, 2022 — G1n

This 2 weeks I spend implementing new yemu features. I implememented CMP ocpu instruction and added very basic stack implementation and some instructions for it. I will need to add more description about stack and stack manipulation instructions to ocpu specifications.

Also I started coding txtutils. I am planning it for text manipulation programs (grep, sed, awk). Started to develop grep utility, it already can find text in input, but not supports some “regex commands” that I would like it to support. Also I want to add support for multiple files there.

Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)

tags: gru, yemu, txtutils

GRU Devlog 32 - yemu

May 01, 2022 — G1n

This 2 weeks I was coding yemu. I added handling for flags, so now after any operation ZF and NF flags changed to correct values. Also I added opcodes for CF manipulations, so carry flag can be set and unset. Also I was fixing and detalizing specs, because I needed it to implement other commands. I added logical instructions - AND, OR, NOT, XOR.

This week I was mostly researching about something that can be interesting, but don’t have enough information for a project yet. It is pretty complicated sphere, so I don’t know when I will do something interesting there.

Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)

tags: gru, yemu, ocpu

GRU Devlog 31 - yemu

April 17, 2022 — G1n

This week I restructured yemu and it’s Makefile. I think that our projects will need some structure “standard” to not complicate them.

I was working on adding new instructions to ocpu. I added ADC, SUB, MUL, DIV. Also some duplicated code was removed.

Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)

tags: gru, yemu, ocpu

GRU Devlog 16 - ormp and EGG

November 14, 2021 — G1n

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.

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.

Also now yemu can be compiled with different compilers, -pedantic flag was added to makefile and all errors fixed.

And now our channels are bridged via matterbridge: irc on ~chat, irc on libera and xmpp muc.

Hope you liked this post! If you would like to help us, contact me via email, xmpp or irc :)

tags: gru, ormp, egg, yemu, xmpp, irc

GRU Devlog 15 - ocpu, yemu and licenses

November 07, 2021 — G1n

This week wasn’t very productive. I was working on one of my personal projects.

I have added ADD for registers, INC, DEC and NOP instructions.

Also codeberg informed me that yemu has to have license, and I fast added MIT license to all our projects.

Hope you liked this post! If you would like to help me, contact me via email, xmpp or irc :)

tags: gru, ocpu, yemu, license

GRU Devlog 14 - ocpu and yemu

October 31, 2021 — G1n

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.

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’t need to rewrite it from scratch.

I also added –system flag to yemu so architecture can be choosen more user-friendly way.

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

Hope you liked this post! If you would like to help me, contact me via email, xmpp or irc :)

tags: gru, yemu, ocpu

GRU Devlog 12 - yemu, gasm and ocpu

October 17, 2021 — G1n

This week I have done several new instructions for yemu. For example all transfer instructions.

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.

But I think the coolest what I did this week is ocpu proccessor specification. Currently it is draft but i have already published it here. 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.

Also smlckz’s idea was to make translator from ocpu assembler instructions to avr to emulate it on arduino!

Hope you liked this post! If you would like to help me, contact me via email, xmpp or irc :)

tags: gru, yemu, gasm, ocpu

GRU Devlog 11 - yemu and channel on libera.chat

October 08, 2021 — G1n

I am making this devlog a bit earlier, because I will be busy on weekends.

This week I didn’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.

I think gasm will be made for 6502 firstly, because it is easier then x86 and it would help in testing yemu.

I was trying to make some daily notes in Org Roam (and moved devlog notes there), but it wasn’t very success, but I hope to do it more often :)

Also I have registered #gru channel on libera, so you can join us also on libera.chat :)

Hope you liked this post :). If you would like to help me, contact me via email, xmpp or irc :)

tags: gru, yemu, libera, org-mode, org-roam

GRU Devlog 6 - yemu, published gxt and interrupts working in Orion

September 05, 2021 — G1n

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).

I have started working on yemu - Yet another EMUlator. It currently supports only 6502 proccessor with tiny number of instructions (LDA, LDX and LDY)

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)

Hope you liked this post and if you would like to help me, contact me via email, xmpp or irc :)

tags: gru, gxt, yemu, orion