Author Topic: KnightOS  (Read 131474 times)

0 Members and 2 Guests are viewing this topic.

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: KnightOS
« Reply #885 on: May 12, 2011, 09:41:14 am »
w00t, that be awesome! Those live USBs really do come in handy, don't they? ==D

And slightly off-topic: How long does it take to start up? I know a way to get Ubuntu to boot in around five seconds off a live USB, without that annoying Install Now dialog.




SirCmpwn

  • Guest
Re: KnightOS
« Reply #886 on: May 12, 2011, 05:50:49 pm »
w00t, that be awesome! Those live USBs really do come in handy, don't they? ==D

And slightly off-topic: How long does it take to start up? I know a way to get Ubuntu to boot in around five seconds off a live USB, without that annoying Install Now dialog.
It takes about a minute.

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55896
  • Rating: +3152/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: KnightOS
« Reply #887 on: May 12, 2011, 10:46:40 pm »
I was scared at first. I did not read the previous page and I thought you meant KOS took 1 minute to start up. O.O It would probably not be very good for math classes X.x

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: KnightOS
« Reply #888 on: May 12, 2011, 11:12:55 pm »
I was scared at first. I did not read the previous page and I thought you meant KOS took 1 minute to start up. O.O It would probably not be very good for math classes X.x
Of course not, DJ_O.  Well, technically KOS takes 5 minutes to start up, but due to that new time-warp feature, it seems instant.

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55896
  • Rating: +3152/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: KnightOS
« Reply #889 on: May 12, 2011, 11:15:47 pm »
Lol, is Sir working for TI now? ???

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: KnightOS
« Reply #890 on: May 13, 2011, 11:13:08 am »
Lol, is Sir working for TI now? ???
Well, I think he is looking for a job... But nah, I'm sure it's near instant.

Offline BrownyTCat

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 420
  • Rating: +37/-8
    • View Profile
Re: KnightOS
« Reply #891 on: May 13, 2011, 11:13:47 am »
I was scared at first. I did not read the previous page and I thought you meant KOS took 1 minute to start up. O.O It would probably not be very good for math classes X.x
That's 29 minutes less than an Apple Lisa!

SirCmpwn

  • Guest
Re: KnightOS
« Reply #892 on: May 13, 2011, 03:58:37 pm »
No, KnightOS boots instantly :P Ubuntu takes longer.

SirCmpwn

  • Guest
Re: KnightOS
« Reply #893 on: June 03, 2011, 08:48:57 pm »
Time for complete rewrite #3!  KnightOS has become very disfigured in code, so I'm going to rewrite a lot of it and copy the rest into a new project.  The last two times I did this, it came out drastically better, so expect good things.

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55896
  • Rating: +3152/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: KnightOS
« Reply #894 on: June 03, 2011, 09:04:22 pm »
Nice to hear, but please do not fall into the endless rewrite loop curse either, though. I know some projects died because the author just kept rewriting it over and over during 3-4 years, only to never ever reach demo status. This is why for example Pokémon Purple has been in development for 6 years and is still only 15% complete.
« Last Edit: June 03, 2011, 09:04:37 pm by DJ_O »

SirCmpwn

  • Guest
Re: KnightOS
« Reply #895 on: June 03, 2011, 09:05:52 pm »
I see.  No, I'll try to avoid that trap.

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55896
  • Rating: +3152/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: KnightOS
« Reply #896 on: June 03, 2011, 09:06:49 pm »
Ok good to hear. I just don't want this to end up being restarted from scratch every 6 month or so during 3 years X.x. On top of that most people would lose interest and you would barely get any reply anymore D:

Offline Broseph Radson

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 295
  • Rating: +20/-1
  • Its 0x1A4 somewhere
    • View Profile
Re: KnightOS
« Reply #897 on: June 04, 2011, 10:51:17 am »
Best of luck, Sir! :)

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6234
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: KnightOS
« Reply #898 on: June 04, 2011, 07:04:43 pm »
Good luck! I know the feeling of wanting to fix up your code :) I usually just start a new project or spend hours trying to fix the code and getting it working again instead of complete re-writes though :P
Lets hope this re-write makes it even better then the last was :)
/e

SirCmpwn

  • Guest
Re: KnightOS
« Reply #899 on: June 04, 2011, 09:41:09 pm »
It's already significantly better.  For instance, here's the new kernel internal include file:
Spoiler For KernelInternal.inc:
Code: [Select]
; KernelInternal.inc

; Kernel Internal Include File


 define TI83Plus
 ;define TI83PlusSE
 ;define TI84Plus
 ;define TI84PlusSE

 ifdef TI83Plus
 else
 ;define Debug
 endif

 ifdef TI83Plus
ProtectedAccessPage equ 1Ch
FlashPages equ 32
 endif
 
 ifdef TI83PlusSE
FlashPages equ 128
 endif
 
 ifdef TI84Plus
 define USBModel
FlashPages equ 64
 endif
 
 ifdef TI84PlusSE
 define USBModel
FlashPages equ 128
 endif

; Kernel Variables
MaxThreads equ 20
MaxLibs equ 20
MaxSemaphores equ 10

RAMStart equ 08000h
ThreadTable equ 08000h
; Thread Table Format:
; Offset | Description:
; 0x0000 | Executable address
; 0x0002 | Stack address
; 0x0004 | Stack size
; 0x0005 | Thread Flags
; 0x0006 | Pointer to file name   
ThreadEntrySize equ 8
ThreadTableSize equ MaxThreads * ThreadEntrySize

LibTable equ ThreadTable + ThreadTableSize
; Lib Table Format:
; Offset | Description:
; 0x0000 | Library ID
; 0x0002 | Executable Address
; 0x0003 | Number Of Programs In Use
; 0x0004 | Pointer to file name
LibEntrySize equ 5
LibTableSize equ MaxLibs * LibEntrySize

SemaphoreTable equ LibTable + LibTableSize
; Semaphore Table Format:
; Offset | Description:
; 0x0000 | Recipient ID
; 0x0001 | Sender ID
; 0x0002 | Message Address
SemaphoreSize equ 4
SemaphoreTableSize equ MaxSemaphores * SemaphoreSize

; Kernel Safe RAM
KernelSafeRAM equ SemaphoreTable + SemaphoreTableSize

NextThreadID equ KernelSafeRAM
CurrentThreadID equ NextThreadID + 1

NumberOfLibraries equ CurrentThreadID + 1

; Semaphores rotate and expire as they are created
CurrentSemaphoreID equ NumberOfLibraries + 1

UserRAM equ CurrentSemaphoreID + 1
UserRAMEnd equ 0FFFFh
« Last Edit: June 04, 2011, 09:41:26 pm by SirCmpwn »