Author Topic: Punix  (Read 43166 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 #75 on: March 10, 2012, 01:32:09 am »
Quote
Each time I install Punix, I first install AMS 2.09 and freeflash, and then install Punix.
What about signing Punix using RabbitSign ? :)
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 #76 on: March 10, 2012, 01:20:27 pm »
Quote
Each time I install Punix, I first install AMS 2.09 and freeflash, and then install Punix.
What about signing Punix using RabbitSign ? :)
Of course. I first had to figure out how to convert the tib file to a 9xu file (which turned out to be easy with freeflash's tib2xxu program). Then last night I successfully signed it with rabbitsign using key 01. I was happy to see the bootloader accept the signature. :) It's definitely faster to upgrade the calc with my 96KB system than with the 1024KB AMS.

Now I'm trying to add the signing step to the makefile so the signing is done automatically.

Back to the clock speed issue... I compared my start.s to PedroM's Boot.asm and found that I was not disabling The Protection correctly before it wrote to $70001f, so it didn't have any effect. I hope I got it right this time (it seems to set the clock speed now).

On a different subject, I've thought about attaching piezo speakers, and maybe a volume dial/switch, to my calc so I can play audio without having to plug in external speakers. I also thought about adding a PS/2 port to my calc in case I add an AT keyboard/mouse driver. Help! I'm turning into Kerm Martian! (Not that that's necessarily a bad thing :D).


Edit: I can't figure out what is happening with address error exceptions. I'm intentionally crashing a userspace program (to test exception handling) with an address error by accessing a word at 0x4321. It works fine and as expected in TiEmu but causes a kernel panic on a real calc. All other exceptions (eg, illegal instruction and division by zero) work fine. The address error stack frame doesn't even make sense on the real calc. It says the program counter is the beginning of my Int2 handler (0x4124ca, which consists of two move instructions and an rte and is triggered all the time without issue). The status register (0x2101) suggests it was inside the kernel, but as I mentioned, I triggered the exception from user mode.

See the full exception outputs from tiemu and the real calc:
Code: [Select]
real calc:
address error exception
       function code: 0x4e76
      access address: 004321
instruction register: 0x4e73
     status register: 0x2101
     program counter: 4124ca

tiemu:
address error exception
       function code: 0x0011
      access address: 004321
instruction register: 0x31fc
     status register: 0x0004
     program counter: 4257ac
It didn't panic in tiemu because the status register was in user mode (as it should be). Only the offending process was killed by a SIGBUS signal.
 
« Last Edit: March 10, 2012, 04:57:40 pm by christop »
Christopher Williams

Offline illwieckz

  • LV0 Newcomer (Next: 5)
  • Posts: 3
  • Rating: +0/-0
    • View Profile
Re: Punix
« Reply #77 on: March 19, 2012, 05:45:11 pm »
You say in your readme that we need to download flashos.a to build punix, but GCC4Ti included it for some time ( http://trac.godzil.net/gcc4ti/ticket/11 ), and I successfully built punix without download it separately.

Also, I've successfully compiled the beta4 for V200 with GNU/Linux, by changing the MAKE variable to make (instead of gmake) in the Makefile (gmake is the name of gnu make on BSD, I'm not running BSD ;) ), then adding some V200 preprocessor instructions to the source : http://pastebin.com/eBxnEBk5



I've not tested it on my real V200, only on TiEmu, but support the V200 should not be too difficult, I do not think it is so different from the TI92 + (probably less than between the TI89 and Titanium)  ;)
« Last Edit: March 19, 2012, 06:10:18 pm by illwieckz »

Offline christop

  • LV3 Member (Next: 100)
  • ***
  • Posts: 87
  • Rating: +20/-0
    • View Profile
Re: Punix
« Reply #78 on: March 20, 2012, 03:05:47 pm »
Ah yes, I guess you're right about flashos.a. I think that's left over from when I was using TIGCC. I'll update my documentation now. :)

Good job building Punix for the V200. I think the V200 is basically the same as the TI-92+ so I haven't bothered trying to build Punix for it. It's good to see that it works fine, though.

Regarding your LinuxFR article: I know I mentioned in my Punix blog that I am trying to make a speech synthesizer, but I didn't mean that it's going to be part of Punix itself. It's just going to be a program that will run under Punix (or under TI-AMS if someone wants to port it). I don't want people getting the impression that the kernel is going to have a speech synthesizer, though that would be kind of cool. :)
Christopher Williams

Offline illwieckz

  • LV0 Newcomer (Next: 5)
  • Posts: 3
  • Rating: +0/-0
    • View Profile
Re: Punix
« Reply #79 on: March 20, 2012, 07:32:13 pm »
Quote
Regarding your LinuxFR article: I know I mentioned in my Punix blog that I am trying to make a speech synthesizer, but I didn't mean that it's going to be part of Punix itself. It's just going to be a program that will run under Punix (or under TI-AMS if someone wants to port it).

Ok, I think many will understand (I have not written more, my article was already long!), and then, usually, when we speak about a BSD distro, we talk about the kernel and userland  ;D I admit to not having thought we might think it would be in the kernel. I guess when the filesystem is operational, some Unix tools will not be hardcoded into the kernel (init, sh...) but they are part of your "punix" project  ;)

Also, I wrote something like "Some improvements are more likely to occur than others", I think no one will blame if it is not in the kernel  ;D

Thank you for reading my article, I hope that machine translation was not too hard to read (but it's probably better than my poor english) ;)

Do you know what would be incompatible with the HW1? Grayscale, sure, maybe the sound due to the 68k running at 10mhz, but there is something else?
« Last Edit: March 20, 2012, 07:37:18 pm by illwieckz »

Offline christop

  • LV3 Member (Next: 100)
  • ***
  • Posts: 87
  • Rating: +20/-0
    • View Profile
Re: Punix
« Reply #80 on: March 20, 2012, 08:49:12 pm »
Thank you for reading my article, I hope that machine translation was not too hard to read (but it's probably better than my poor english) ;)
Nah, your English is better than Babelfish.

Quote
Do you know what would be incompatible with the HW1? Grayscale, sure, maybe the sound due to the 68k running at 10mhz, but there is something else?
Yeah, the sound would play slowly on HW1. The system real-time clock would also run slowly, and it would be affected by the battery strength, but that can be fixed somewhat with the adjtimex system call (currently planned) to adjust the system clock frequency. Even grayscale is possible on HW1, but I would have to add support for it in Punix. I can't think of anything else off the top of my head that would be incompatible.
Christopher Williams

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: Punix
« Reply #81 on: March 21, 2012, 02:08:49 am »
Grayscale is easier and faster on HW1 than on HW2, in fact :)
The main thing is to set port 600010 appropriately, and the LCD controller's DMA does the job. See the source code of the grayscale routine in GCC4TI. VTI doesn't emulate the HW2 way of making grayscale, so you'll have to treat it as HW1.

It's not possible to make an accurate timer on HW1, but it may indeed be possible to alleviate the problem.
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 #82 on: April 21, 2012, 01:26:34 am »
More than a year after the last release, I'm happy to announce the release of Punix beta 5!

All files: http://sourceforge.net/projects/punix/files/betas/

TI-89: punix-89-beta5.89u
TI-92+: punix-9x-beta5.9xu
Source: punix-beta5.tgz


I also noticed that Punix was recently added to the Levenez Unix History page! :o
Christopher Williams

Offline illwieckz

  • LV0 Newcomer (Next: 5)
  • Posts: 3
  • Rating: +0/-0
    • View Profile
Re: Punix
« Reply #83 on: April 21, 2012, 06:19:44 am »
oh thank you, I'll try it as soon as possible !

It's great to see Punix on the Levenez Unix History page!  :)
« Last Edit: April 21, 2012, 08:39:35 am by illwieckz »

Offline Jim Bauwens

  • Lua! Nspire! Linux!
  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1881
  • Rating: +206/-7
  • Linux!
    • View Profile
    • nothing...
Re: Punix
« Reply #84 on: April 21, 2012, 06:55:58 am »