Author Topic: Punix  (Read 43236 times)

0 Members and 1 Guest are viewing this topic.

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: Punix
« Reply #45 on: March 10, 2011, 01:24:53 pm »
They were not part of a *nix OS, but multitasking on TI-68k calcs is at least ten years old (Prosit, etc.) :)
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

Offline christop

  • LV3 Member (Next: 100)
  • ***
  • Posts: 87
  • Rating: +20/-0
    • View Profile
Re: Punix
« Reply #46 on: March 10, 2011, 04:19:01 pm »
I remember Prosit! That was a pretty impressive multi-tasking kernel with a GUI.
Christopher Williams

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Punix
« Reply #47 on: March 11, 2011, 01:47:23 am »
I thought Prosit was a website lol, I guess I was wrong. I sadly never got the chance to see the page hosted on ticalc.org because half of the hosted sites were already down when I found their hosted site page.

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: Punix
« Reply #48 on: March 11, 2011, 02:36:12 am »
I'll ask mmu_man at work the next time I see him :)
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Punix
« Reply #49 on: March 11, 2011, 02:54:16 am »
Is he the guy who made Prosit?

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: Punix
« Reply #50 on: March 11, 2011, 02:48:25 pm »
mmu_man did not create the project, but he worked on several applications based on Prosit.
Our discussion on IRC and his searches brought the following URLs:
* a subset of the stuff can be found on the Wayback Machine: http://web.archive.org/web/*/prosit.ticalc.org/ , e.g. http://web.archive.org/web/20021007061813/http:/prosit.ticalc.org/screenshots/index.html
* several images can be found through http://web.archive.org/web/*/clapcrest.free.fr/revol/ti68k/* , e.g. http://web.archive.org/web/20050223070933/http:/clapcrest.free.fr/revol/ti68k/prosit/shots.html
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Punix
« Reply #51 on: March 12, 2011, 02:16:38 am »
Ah thanks for the links and info. I should check this out. :D

Offline christop

  • LV3 Member (Next: 100)
  • ***
  • Posts: 87
  • Rating: +20/-0
    • View Profile
Re: Punix
« Reply #52 on: March 12, 2011, 02:43:48 am »
I'm happy to announce Beta 4! This beta includes initial TI-89 support, remote terminal support (using two calculators and the "uterm" program), and user logins.

Download it now, or read the release notes.
Christopher Williams

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Punix
« Reply #53 on: March 12, 2011, 02:50:31 am »
Great! :D I'm glad to see TI-89 support added. Does this includes TI-89 Titanium support as well?

Offline christop

  • LV3 Member (Next: 100)
  • ***
  • Posts: 87
  • Rating: +20/-0
    • View Profile
Re: Punix
« Reply #54 on: March 12, 2011, 03:15:21 am »
Great! :D I'm glad to see TI-89 support added. Does this includes TI-89 Titanium support as well?
Not yet. There shouldn't be too much to change to get it working on the Titanium, as far as the memory layout goes, but I haven't even tried porting to it yet.
Christopher Williams

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Punix
« Reply #55 on: March 12, 2011, 03:21:12 am »
Ah ok, I was wondering since the TI-89 was discontinued and most people got the 89T instead. (like me)

Good luck

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: Punix
« Reply #56 on: April 14, 2011, 02:30:48 am »
Idea, in the wake of the discovery of Lua on the Nspire: porting Lua to PedroM and Punix :)
Yesterday evening, I tried to compile Lua for the TI-68k/AMS platform, but gave up (after several changes in the GCC4TI include files and the Lua code) when the compiler complained about stdin and stderr (and strtod and errno, but these do exist in AMS) being missing. stdin, stdout and stderr have never been implemented in TIGCC/GCC4TILIB because it's too much work, and too heavyweight for AMS native programs (due to code duplication).
However, PedroM and Punix are more POSIX compliant than AMS is :)
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

Offline Jim Bauwens

  • Lua! Nspire! Linux!
  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1881
  • Rating: +206/-7
  • Linux!
    • View Profile
    • nothing...
Re: Punix
« Reply #57 on: April 14, 2011, 04:01:34 am »
Thats a great idea!
It will be fun to see if programs made for the nSpire in Lua will run on Punix!

Offline christop

  • LV3 Member (Next: 100)
  • ***
  • Posts: 87
  • Rating: +20/-0
    • View Profile
Re: Punix
« Reply #58 on: August 04, 2011, 01:28:47 am »
So I'm still working on the file system. There's not much to show for it yet, but I've cleaned up a lot of old code and designed a generic file system interface (so additional file systems can be added by following the same interface). I also started writing a simple RAM-based file system (tmpfs) just to get the rest of my code off the ground (I won't have to debug the block cache, the FlashROM driver, and a complex FlashROM file system all at the same time).

On the user-visible side, I added a couple new user commands in the shell: bt and crash. They're pointless for users, but they are somewhat useful for me. :)

The crash command crashes the current shell a number of different ways (address error, division by zero, chk instruction, trap on overflow, privileged instruction, line 1010 emulator, line 1111 emulator, and invalid memory access). In each of these cases, the kernel catches and reports the exception and sends the appropriate signal to the process (such as SIGFPE for division by zero), which kills the process. On the kernel side I also completed the trap handlers for all of these cases. The kernel actually can handle 3 additional traps--bus error, illegal instruction, and instruction trace--but I just didn't add them to the crash command yet. Here's an actual crash session:

SIGILL (signal 4 here) is raised when executing a privileged instruction.

Side note about the line 1111 emulator: this is used for trapping FPU instructions (all these operands start with the bits 1111) so they can be either emulated or passed to the appropriate FPU hardware (which the TI-9x don't have). I chose to emulate FPU instructions for the benefit of user programs, so running "crash 1111" will not crash the process if my FPU emulator is enabled.

The bt command prints a backtrace of the current process, meaning it shows each return address starting at the most recent (this relies on the frame pointer being used as it's intended, which isn't the case with some compiler optimization options).
Christopher Williams

Offline Jim Bauwens

  • Lua! Nspire! Linux!
  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1881
  • Rating: +206/-7
  • Linux!
    • View Profile
    • nothing...
Re: Punix
« Reply #59 on: August 04, 2011, 01:32:49 am »
Nice to see that you are making progress :)
Everything sounds very interesting!