Author Topic: KnightOS  (Read 186975 times)

0 Members and 1 Guest are viewing this topic.

Offline chrisf1337

  • LV2 Member (Next: 40)
  • **
  • Posts: 21
  • Rating: +1/-1
    • View Profile
Re: KnightOS
« Reply #135 on: August 06, 2010, 12:50:13 am »
Cool, we're all looking forward to it. :D
« Last Edit: August 06, 2010, 12:50:29 am by chrisf1337 »
Hai thar!

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: KnightOS
« Reply #136 on: August 06, 2010, 01:18:33 am »
If calls and jumps will need to be changed to kcalls and kjumps, I assume the syntax in assemblers will be like the bcall for the TiOS.  But won't that cause some major slowdowns in the programs?  I mean the rst instruction, reading the next bytes to do the calculation with, retrieving the current location of the program, calculating the new location, and then jumping there, all while preserving all the registers and flags is a lot more T-states than most z80 programmers are used to for those instructions.  Also, how are you handling conditional jumping?  You're going to have to have a way to do that somehow because there is no practical way to read the parity and sign flags any other way.
___Axe_Parser___
Today the calculator, tomorrow the world!

SirCmpwn

  • Guest
Re: KnightOS
« Reply #137 on: August 06, 2010, 09:23:11 am »
It's really, really easy to do all of this.  I don't.
The macro includes the real code.  It actually has the same code (call xxxx, ld xx, xxxx), but it just has the rst before it.  KOS simply changes the RST to an nop, and modifies the value of the instruction.  Then it returns to the program.  It doesn't actually perform the jump or the call or anything.  Conditional jumping is the same way.  The instruction is there, but KOS doesn't need to know what is actually happening, it just fixes the address.  And yes, it takes a lot of t-states, but it only does so once.  It modifies the code and it never happens again.  And realistically, this causes no noticeable delay user-side.

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2912
  • Rating: +471/-17
    • View Profile
    • TI-Boy CE
Re: KnightOS
« Reply #138 on: August 06, 2010, 11:34:45 am »
No, I will not have memory allocated in 256 byte chunks.  I can think of >9000 reasons to use small amounts of data.  Also, the routine has no noticeable delay, and if it was in something like a raycasting engine that needed the speed, users would barely notice it because it would only be slower the very first time through a loop.
How are programmers supposed to use 256-byte-aligned lookup tables then? I was really just talking about loaded programs being aligned, not all data requested. Or would the program need to request all RAM to do something like that?
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline mapar007

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 550
  • Rating: +28/-5
  • The Great Mata Mata
    • View Profile
Re: KnightOS
« Reply #139 on: August 06, 2010, 02:13:40 pm »
Wow, I missed a lot last week... (camping stuff)

Progress seems to go well, congratz Sir.

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6265
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: KnightOS
« Reply #140 on: August 06, 2010, 04:29:07 pm »
I'm going to be filming Rogue in action on a real calc as proof that it is running fine :) I'll upload it today and then I'm off to vacation for 4 weeks.
/e

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6265
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: KnightOS
« Reply #141 on: August 06, 2010, 07:03:51 pm »

sorry about the doublepost, but here is the video I had promised in the Feature Requests section
/e

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: KnightOS
« Reply #142 on: August 06, 2010, 07:10:27 pm »
I got textroll'd D:

Nice vid btw, I like to see the OS in action on the real calc ^^
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6265
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: KnightOS
« Reply #143 on: August 06, 2010, 07:32:13 pm »
:p I had to :p
Thanks :) yeah I do too :)
/e

SirCmpwn

  • Guest
Re: KnightOS
« Reply #144 on: August 06, 2010, 10:50:57 pm »
calc84, I'm afraid you will have to do just that.  But I want you guys to stop and think.  Aside from getting programmer cred for saving a few T-States, will users really notice much more of a difference?  I mean, honestly, guys.

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: KnightOS
« Reply #145 on: August 06, 2010, 11:35:37 pm »
I do not know how that stuff works well, but I assume a T-State is like a tiny fraction of a millisecond or something, right? From experience, even if just in Axe, it takes a lot of code before noticing a slowdown.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6265
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: KnightOS
« Reply #146 on: August 06, 2010, 11:37:23 pm »
yeah it's that, and the slowdown is only on the first time it is run, so we don't have to really worry.
/e

SirCmpwn

  • Guest
Re: KnightOS
« Reply #147 on: August 06, 2010, 11:49:53 pm »
Thanks, Eeems, DJ.  You may look cool to other coders, but your users will not notice any difference, I promise.

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6265
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: KnightOS
« Reply #148 on: August 07, 2010, 12:28:38 am »
'tis true :)
/e

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: KnightOS
« Reply #149 on: August 07, 2010, 07:21:54 pm »
Nice video.  It's great to see KinghtOS in action.  I loved the txtroll! ;D