Author Topic: GlassOS - Lithp Ith Happening  (Read 35019 times)

0 Members and 4 Guests are viewing this topic.

Offline AHelper

  • LV3 Member (Next: 100)
  • ***
  • Posts: 99
  • Rating: +18/-0
    • View Profile
    • GlaßOS razzl
Re: GlassOS
« Reply #30 on: September 27, 2011, 11:27:45 pm »
So, i have been working on gCAS2 recently.  This begs the question:  Where should GlassOS focus its usefulness, more educational efforts, or more game/scripting work?

Remember that SDCC is ideal for this OS, but is not limited to only C dev..
SDCC tastes like air bags - big output, but fast and safe to run.

Offline sqrt(Time)

  • LV2 Member (Next: 40)
  • **
  • Posts: 37
  • Rating: +4/-0
    • View Profile
Re: GlassOS
« Reply #31 on: September 28, 2011, 12:18:56 am »
Do you realize that, with the ess-zett, it looks like GlaDOS waaayyy too much? ;-)

(...he says, while wearing his Portal t-shirt)

Offline AHelper

  • LV3 Member (Next: 100)
  • ***
  • Posts: 99
  • Rating: +18/-0
    • View Profile
    • GlaßOS razzl
Re: GlassOS
« Reply #32 on: October 01, 2011, 11:51:04 pm »
i know, KermM calls it GlaDOS :-S

As a side-note, i am wondering how important on-calc debugging is...  GlassOS right now has the ability to assert and give some debug info, but nothing serious.  So, what about using the USB?  GlassOS will send debug info over the USB and have it logged so that it can be easier to find bugs and such...

Some methods that will be of use:
  • dprintf(bool ts, char *format, ...)  This command will send formatted text over the USB.  bool ts, when true, will print out the current time, memory pages, and pc.  The rest of the function is the same as sprintf().  with ts==true,  the debug text will look like "[12:00:14 :: 1/78/82/81/0x42E3] Hello world!"  with the format [time :: thread id/ bank 1/ bank 2/ bank 3/ pc] text...
  • dumpt()  will dump the current thread's state and stack.
  • dump()  will dump all ram, maybe some ports
  • assert()  will print out over the USB in addition to the LCD
  • breakpoint()  will stop the calc, dump the current thread and thread ram to USB, and will let you change variables and the stack from the PC.  Maybe allowing you to step through the code using timers

There may be other functions, but these listed above will be able to be turned off on-calc, so  you don't waste CPU cycles when you don't want debugging.  Memory dumps and such will not be dumped to terminal output, but will be viewed from a Qt GUI. 
SDCC tastes like air bags - big output, but fast and safe to run.

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: GlassOS
« Reply #33 on: October 02, 2011, 09:35:46 pm »
So, i have been working on gCAS2 recently.  This begs the question:  Where should GlassOS focus its usefulness, more educational efforts, or more game/scripting work?

Remember that SDCC is ideal for this OS, but is not limited to only C dev..

It really depends on what you want to do with it. However, since this is intended to replace TI-OS and cannot be booted with it; I would say math functions are essential. Most calc owners are students and need their calcs. for Math. If it can't do a certain degree of math required for their classes they will have little reason to use this. Game dev and programming are nice sure, but a I'd focus on getting it to do it's primary job first. :)

Offline willrandship

  • Omnimagus of the Multi-Base.
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2953
  • Rating: +98/-13
  • Insert sugar to begin programming subroutine.
    • View Profile
Re: GlassOS
« Reply #34 on: October 02, 2011, 09:38:30 pm »
gCAS2 already appears to handle everything but stats and graphing...

i don't think on-calc debugging of the actual OS is necessary unless you need it, since ideally the avg user shouldn't have to debug the OS :P

Offline AHelper

  • LV3 Member (Next: 100)
  • ***
  • Posts: 99
  • Rating: +18/-0
    • View Profile
    • GlaßOS razzl
Re: GlassOS
« Reply #35 on: October 04, 2011, 11:48:21 am »
I agree, math functions are important.  Because the OS is just there to provide a C environment and gCAS2 is just a user program, they will be updated separately.

A note on the debugging, the functions for debugging aren't intended to debug GlassOS - it's there so user programs can send debug info.  The user will not be aware that debug info is being sent, or nothing when the USB cable is disconnected. 

As a side-note, GlassOS has a new build system that isn't insane! ..... but still uses one php script to generate a header...  This cleanup task will be sent to svn on sf.net eventually and should build as-is.
SDCC tastes like air bags - big output, but fast and safe to run.

Offline ben_g

  • Hey cool I can set a custom title now :)
  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1002
  • Rating: +125/-4
  • Asm noob
    • View Profile
    • Our programmer's team: GameCommandoSquad
Re: GlassOS
« Reply #36 on: October 04, 2011, 02:43:26 pm »
GlassOS (technically GlaßOS, but for ease of typing...) is an OS written for the ti84pse.
Will it also be supported on a 'normal' 84+?
My projects
 - The Lost Survivors (Unreal Engine) ACTIVE [GameCommandoSquad main project]
 - Oxo, with single-calc multiplayer and AI (axe) RELEASED (screenshot) (topic)
 - An android version of oxo (java)  ACTIVE
 - A 3D collision detection library (axe) RELEASED! (topic)(screenshot)(more recent screenshot)(screenshot of it being used in a tilemapper)
Spoiler For inactive:
- A first person shooter with a polygon-based 3d engine. (z80, will probably be recoded in axe using GLib) ON HOLD (screenshot)
 - A java MORPG. (pc) DEEP COMA(read more)(screenshot)
 - a minecraft game in axe DEAD (source code available)
 - a 3D racing game (axe) ON HOLD (outdated screenshot of asm version)

This signature was last updated on 20/04/2015 and may be outdated

Offline AHelper

  • LV3 Member (Next: 100)
  • ***
  • Posts: 99
  • Rating: +18/-0
    • View Profile
    • GlaßOS razzl
Re: GlassOS
« Reply #37 on: October 04, 2011, 11:55:35 pm »
will be, but not currently supported.  I don't have any plans for the ti83___ family
SDCC tastes like air bags - big output, but fast and safe to run.

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: GlassOS
« Reply #38 on: October 05, 2011, 12:11:55 am »
Why will it not be supported on the 84+ regular edition? All that is different is the 480 KB of user archive (on TI-OS) instead of 1540. It even has crystal timers, the clock, the extra RAM page and 15 MHz.

Or are you actually planning the OS to be considerably larger in size than the TI-OS? O.O (which would be the only reason why one would make a program incompatible with the 84+ regular edition)

Btw nice to see new progress on this.
« Last Edit: October 05, 2011, 12:12:51 am by DJ_O »

Offline willrandship

  • Omnimagus of the Multi-Base.
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2953
  • Rating: +98/-13
  • Insert sugar to begin programming subroutine.
    • View Profile
Re: GlassOS
« Reply #39 on: October 06, 2011, 12:37:06 am »
Keep in mind, DJ, SDCC does make very large programs, often 3-4 times what Asm can produce. It might well be twice as large as TI-OS.

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: GlassOS
« Reply #40 on: October 06, 2011, 03:40:04 am »
Oh ok then that explains it I guess X.x

Offline AHelper

  • LV3 Member (Next: 100)
  • ***
  • Posts: 99
  • Rating: +18/-0
    • View Profile
    • GlaßOS razzl
Re: GlassOS
« Reply #41 on: October 08, 2011, 01:30:31 am »
GlassOS is smaller than AOS. The 84p isn't supported as the flash size is hard-coded.  Also, note that the binary sizes made by SDCC are dependant on the coder and his/her optimization of the code.  I have done minimal optimizing of the OS in order to get functions made and get further testing of the OS and the API.  Optimization, rewrites, and possible asm-conversions of functions will occur later.  You could also look at AOS being much larger if the code wasn't optimized.  It is possible to reorder code in C to lower the cyclomatic complexity of functions to greatly reduce function sizes (as I have done in Islands). 

</rant>
« Last Edit: October 08, 2011, 01:31:46 am by AHelper »
SDCC tastes like air bags - big output, but fast and safe to run.

Offline willrandship

  • Omnimagus of the Multi-Base.
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2953
  • Rating: +98/-13
  • Insert sugar to begin programming subroutine.
    • View Profile
Re: GlassOS
« Reply #42 on: October 08, 2011, 11:08:26 pm »
Good to hear, since that means we should have a lot more room than I was fearing.

And wow, GlassOS is smaller? That's impressive, but I guess it's partly from the fact that AOS has some things further implemented. Still very cool, though.
« Last Edit: October 08, 2011, 11:13:00 pm by willrandship »

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: GlassOS
« Reply #43 on: October 08, 2011, 11:48:21 pm »
Ah I see why now. Thanks for the explanation.

Offline AHelper

  • LV3 Member (Next: 100)
  • ***
  • Posts: 99
  • Rating: +18/-0
    • View Profile
    • GlaßOS razzl
Re: GlassOS
« Reply #44 on: October 09, 2011, 11:21:26 pm »
i have been doing major work on gCAS2.  i have gotten the linux build working.  gdb + kdevelop4 = yum.  i have debugged it enough so that i worked out an SDCC compile error, and i got variables to work!  i am currently writing a plotter for it.  Hopefully it will be functional and useful
SDCC tastes like air bags - big output, but fast and safe to run.