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

0 Members and 1 Guest are viewing this topic.

Offline AHelper

  • LV3 Member (Next: 100)
  • ***
  • Posts: 99
  • Rating: +18/-0
    • View Profile
    • GlaßOS razzl
Re: GlassOS
« Reply #90 on: November 29, 2011, 09:40:31 pm »
Customizable interrupt as-in an im 2 interrupt, or changing the timings that the greyscale function gets called from the im 1 interrupt (current)?

Currently, a custom callback is used from the OS's interrupt running from a timer.  I think I am missing an interrupting something somewhere as wabbitemu shows no odd timing.
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: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: GlassOS
« Reply #91 on: November 29, 2011, 09:56:34 pm »
That reminds me, if some of your font letters look exactly like TI's, could TI send you a DMCA takedown notice even though a bunch of other software/devices use them?
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline AHelper

  • LV3 Member (Next: 100)
  • ***
  • Posts: 99
  • Rating: +18/-0
    • View Profile
    • GlaßOS razzl
Re: GlassOS
« Reply #92 on: November 29, 2011, 11:36:26 pm »
I already cited the source of the font (font.h, but missing the font name and not spelled as "GNU FreeFont").  It is pixel-for-pixel imitation of a GNU FreeFont.  DMCA? Doubt it due to unoriginality as there are only so many ways to draw characters.
« Last Edit: November 29, 2011, 11:37:50 pm by AHelper »
SDCC tastes like air bags - big output, but fast and safe to run.

Offline Freyaday

  • The One And Only Serial Time Killing Catboy-Capoeirista-Ballerino
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1970
  • Rating: +128/-15
  • I put on my robe and pixel hat...
    • View Profile
Re: GlassOS
« Reply #93 on: November 29, 2011, 11:42:10 pm »
I already cited the source of the font (font.h, but missing the font name and not spelled as "GNU FreeFont").  It is pixel-for-pixel imitation of a GNU FreeFont.  DMCA? Doubt it due to unoriginality as there are only so many ways to draw characters.
* Freyaday reaches for his collection of zStart fonts he made...
In other news, Frey continues kicking unprecedented levels of ass.
Proud member of LF#N--Lolis For #9678B6 Names


I'm a performer at heart; I stole it last week.
My Artwork!

Offline AHelper

  • LV3 Member (Next: 100)
  • ***
  • Posts: 99
  • Rating: +18/-0
    • View Profile
    • GlaßOS razzl
Re: GlassOS
« Reply #94 on: November 29, 2011, 11:48:46 pm »
There was probably a better way to get a font than open a text editor, type all characters, set the font, scale it down until it is the right size, then use a text editor and type out the binary sprites for all characters and symbols... twice for both sizes.  It took hours to get it right, months to fix bugs in the drawing routines... :'(
« Last Edit: November 29, 2011, 11:49:33 pm by AHelper »
SDCC tastes like air bags - big output, but fast and safe to run.

Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
Re: GlassOS
« Reply #95 on: November 30, 2011, 12:49:36 am »
Customizable interrupt as-in an im 2 interrupt, or changing the timings that the greyscale function gets called from the im 1 interrupt (current)?

Currently, a custom callback is used from the OS's interrupt running from a timer.  I think I am missing an interrupting something somewhere as wabbitemu shows no odd timing.

The user should be able to change the amount of times the grayscale routine is being called from your mode 1 interrupt.  That will help you with your grayscale flickering.
« Last Edit: November 30, 2011, 12:50:46 am by ralphdspam »
ld a, 0
ld a, a

Offline AHelper

  • LV3 Member (Next: 100)
  • ***
  • Posts: 99
  • Rating: +18/-0
    • View Profile
    • GlaßOS razzl
Re: GlassOS
« Reply #96 on: November 30, 2011, 07:39:29 am »
Ah.  That will part of the OS prefs.  You can run a tuning wizard in the Launcher to fine tune the greyscale, and all programs that use greyscale will use the frequency that you chose.  The firstrun setup wizard will also do the tuning, but right now it only gets the hostname. (last page of the setup right now)
SDCC tastes like air bags - big output, but fast and safe to run.

Offline AHelper

  • LV3 Member (Next: 100)
  • ***
  • Posts: 99
  • Rating: +18/-0
    • View Profile
    • GlaßOS razzl
Re: GlassOS
« Reply #97 on: December 13, 2011, 07:44:11 pm »
One of the issues that will pop up in GlassOS is flash fragmentation.  I already have a routine that will defragment flash pages and sectors.  The only issue is that I can't just defragment whenever.  So, opinions are needed... I have a couple of ways to go about this.
  • If a file IO fails due to out of space, it should defragment a sector so that it can write.  It will fail completely if no flash can be freed.  Warns if other programs are running.
  • If a file IO needs space, it should ask the user what type of defragment should be done.  A quick or a long defrag.  Also warns for other programs.
  • File IO would simply return a no memory error.

The issue with defragmenting on the spot is that FILE* structs in any process will not be changed to reflect the moved data.  The last one, well, you might loose your data, but if done right, you can simply close other programs, defrag, then swap back to that task to save.  But :-\

I can see the first 2 being available if I keep track of file structs, but that would be... odd.  There would be a max open files per-process (read and write) so that I can change the data when defragmenting without the user program knowing. 

I would like to see the 2nd, but that could get ugly with the fs code.  3 is more controlling as you can delete files that you don't want before defragmenting, thus letting you free up space whereas 1&2 would just fail.  But 3 isn't straightforward coming from TIOS...

 :w00t:
SDCC tastes like air bags - big output, but fast and safe to run.

Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
Re: GlassOS
« Reply #98 on: December 13, 2011, 10:07:47 pm »
I think it should be 1 by default.  The flash memory layout should be transparent to the average user. 
Maybe 2 can be selected under advanced options or something like that.

I personally think option 3 would be annoying. 
ld a, 0
ld a, a

Offline AHelper

  • LV3 Member (Next: 100)
  • ***
  • Posts: 99
  • Rating: +18/-0
    • View Profile
    • GlaßOS razzl
Re: GlassOS
« Reply #99 on: December 13, 2011, 10:14:21 pm »
hmm... for 1&2, I could add in a magic number in global ram, and changing it will signal to all open file handles, when used, to update their page/addresses... 

I do agree that it should be transparent to the user.  My head only has the extreme cases running through it, like running out of ROM completely, programs with open file handles for reading, etc.. 
SDCC tastes like air bags - big output, but fast and safe to run.

Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
Re: GlassOS
« Reply #100 on: December 14, 2011, 12:00:11 am »
programs with open file handles for reading, etc.. 
That's true.  I guess you have to copy the file to ram in order to be read and call the OS to save it again.
But you're probably already doing that.
« Last Edit: December 14, 2011, 12:00:28 am by ralphdspam »
ld a, 0
ld a, a

Offline AHelper

  • LV3 Member (Next: 100)
  • ***
  • Posts: 99
  • Rating: +18/-0
    • View Profile
    • GlaßOS razzl
Re: GlassOS
« Reply #101 on: December 14, 2011, 12:10:57 am »
Nope.  The file is read unbuffered.  Writing is done per fputc/fputs (fputs will become fwrite later) call.  The fs page is locked until either a fragment is made or fclose is done.  crashing programs leave open-ended files which must be recovered or removed.
SDCC tastes like air bags - big output, but fast and safe to run.

Offline AHelper

  • LV3 Member (Next: 100)
  • ***
  • Posts: 99
  • Rating: +18/-0
    • View Profile
    • GlaßOS razzl
Re: GlassOS
« Reply #102 on: December 18, 2011, 12:48:28 am »
(I need more input from the above query)

On a side note:  Should the Launcher theme the background for seasons/special occasions?  I was thinking about a monochrome image placed onto the background using light grey for things such as x-mas/december-stuffs, holidays, birthdays, special events, or w/e.  Probably configurable - specify a date and a filename and it will display the image when the day comes around.  Maybe even changing the banner text. 

On the other side of the note:  The OS is winding down as the PC-software will need to be moved along.  The OS is in good shape right now, still with a few bugs, like turning the calc off when the USB or timers trigger, contrast cannot be changed, LCD doesn't change power levels, etc..  Almost there!
SDCC tastes like air bags - big output, but fast and safe to run.

Offline imo_inx

  • Manman, SaviourOfTheMultiverse!
  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 473
  • Rating: +27/-8
  • imo_inx
    • View Profile
Re: GlassOS
« Reply #103 on: December 18, 2011, 11:31:09 am »
Sounds a lot like my old OS idea, iV OS. You should add a basic256 or python interpreter.


Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: GlassOS
« Reply #104 on: December 21, 2011, 03:56:00 am »
I don't think a seasonal/ event based background theme is necessary at all. It wouldn't even work with the 83+SE or the 83+BE anyways right?(they have no clock).