Join us on Discord!
You can help CodeWalrus stay online by donating here.

[FiXos][C]FXSH : FiXos SHell

Started by Duke "Tape" Eiyeron, March 03, 2015, 10:41:55 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Snektron

but Fixos is just a shell, not? so it doesn't remove the os :P
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Duke "Tape" Eiyeron

#16
Nah, FiXos is a posix-like kernel. FXSH is a shell running on top of it.

I'm currently adding manual environment variable management as FiXos doesnt' have it at thisoment. This we have almost a PWD and CD working. Almost.

EDIT : It works! It has problems (no cd .. or ls relative subfolder) but it works!

  • Calculators owned: A lot.

Dream of Omnimaga

Wait, I am confused now. Does FiXoS remove the OS or not? ???
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Duke "Tape" Eiyeron

Let's be clear : The bootloader loads FiXos in the RAM and overrides tempoary the running system to FiXos. It does not change the ROM nor the Flash. A simple reboot and you'll get back on good old Casio OS.

At the moment, here are the cd/ls command statuses :

# These kind of commands will work
$ ls
$ ls path
$ cd # go back to / as we don't have any /home
$ cd relative/path
$ cd /absolute/path
# These commands will throw a planned error
$ ls inexsistant/folder (relative or aboslute)
$ cd inexsistant/folder (relative or aboslute)
#That won't work and I have to fix that
$ cd ..
$ cd ./machin...
$ ls existing/file (I stole the function from Kristaba and I should just add the case where I only want to list a file and not the whole folder.)

  • Calculators owned: A lot.

Dream of Omnimaga

Oooh I see now. That's better then. I didn't want to get rid of the Casio OS.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Duke "Tape" Eiyeron

#20
You don't really want to at this moment.

Edit : as the kernel grew to have sysctl, one can collect miscallenous informations like the kernel name, the running processes and some others things. I adapted Kristaba's uname example into a built-in and I'm porting his top example into something usable and not something that can't be stopped.
  • Calculators owned: A lot.

Dream of Omnimaga

Eiyeron bump the topic when you have updates tho. It's easier to notice. :P

Nice, though. I can't wait to see some functionalities in action. :)
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Duke "Tape" Eiyeron

I don't have much to show you. It's mainly to see a working user environment. Once we'll have a decent framework running, we'll be able to show off with fun programs. I can't wait to get to fun things like programming the graphical system which will permit us to use MonochromeLib as a dynamic library or implementing better cursor movement.
  • Calculators owned: A lot.

Dream of Omnimaga

Good luck then. :D And being able to use MonochromeLib would definitively be nice
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Duke "Tape" Eiyeron

It's not for now, heh, the kernels is keep growing up. We have much more important code to do, but heck, once dynamic libraries are done, it'll help a lot : lighter executables, a only version to manage, a clean system to program on (quite unstable I must say but we're trying to fix that).
  • Calculators owned: A lot.

Duke "Tape" Eiyeron

I added three main things:
- Now the project include a init program which is executed by the kernel. Init will manage FXSH's execution and will reboot it if it was exited. It also manage a session for FXSH to make it able to pass signals to child processes.
- FXSH will trap signals and avoid getting killed by them.
- As now signals are correctly working, looping programs will be able to be stopped sending a terminal signal to them (EXIT to send ^C).

Thus, Kristaba's minimalistic top has been added as builtin and can be stopped by pressing EXIT, FXSH won't be stopped by signals which init set up correctly for them. It's a good day.
  • Calculators owned: A lot.

Dream of Omnimaga

Ooh, a command to force exit programs stuck into an endless loop would definitively be nice. In Axe language, I sometimes found myself unable to exit programs I was debugging because of endless loops x.x
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Snektron

Maybe it's possible for someone to create an axiom with an on interrupt that force exits axe... though that would be quite a challenge xD
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Dream of Omnimaga

I guess this could be suggested, although I am unsure if many people here still program axioms. It also depends of if it's possible at all.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Duke "Tape" Eiyeron

Hum. It's POSIX signals. A program can stil ltrap the signals and do whatever they want to do once they occur. A program can ignore them or have a callback to do something before they quit or continue.
  • Calculators owned: A lot.

Powered by EzPortal