Author Topic: PartesOS (or YATPOS :P) (Baby steps)  (Read 7881 times)

0 Members and 1 Guest are viewing this topic.

Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: PartesOS (or YATPOS :P)
« Reply #15 on: December 30, 2010, 05:04:32 pm »
That's the goal, to make everything extremely flexible. To quote from Cemetech:
Quote from: calcdude84se
I think graphmastur got it. I did say "...if the kernel, memory manager, and basic drivers should be ported to another z80-based device..."
The fact that all other things should just work after that should give you an idea of the level of modularity and abstraction that I'm aiming for. How practical that will turn out remains to be seen.
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
-Adam Osborne
Spoiler For "PartesOS links":
I'll put it online when it does something.

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: PartesOS (or YATPOS :P)
« Reply #16 on: December 30, 2010, 05:21:56 pm »
I love being quoted. ;-)

I don't know, ever since getting an Android phone and seeing how it's run on many different physical phones, I've been interested in seeing OSes be very portable.

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55863
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: PartesOS (or YATPOS :P)
« Reply #17 on: December 31, 2010, 04:19:18 pm »
I like the portability approach :D
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF



Official Website |T-Shirt store | Reverbnation | Facebook | Youtube | Twitter | Spotify

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: PartesOS (or YATPOS :P)
« Reply #18 on: December 31, 2010, 06:13:46 pm »
I like the portability approach :D
True, but I'm thinking unless we get some standardization among the OSes and what programs they run, with all the OSes we are getting, it's going to be a mess.

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55863
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: PartesOS (or YATPOS :P)
« Reply #19 on: December 31, 2010, 08:55:56 pm »
Oh I meant the fact he wants his OS to be easy to port among all z80 devices, even non-calc ones. But I agree that it would be best if ParteOS and KOS, for example, had some compatibility or converters so people don't have to write games and programs for 3 different calculator OS platforms.
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF



Official Website |T-Shirt store | Reverbnation | Facebook | Youtube | Twitter | Spotify

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: PartesOS (or YATPOS :P)
« Reply #20 on: December 31, 2010, 11:54:10 pm »
Oh I meant the fact he wants his OS to be easy to port among all z80 devices, even non-calc ones. But I agree that it would be best if ParteOS and KOS, for example, had some compatibility or converters so people don't have to write games and programs for 3 different calculator OS platforms.
I'm actually working on a way to standardize stuff. But that's a secret project for now. ;-)

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55863
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: PartesOS (or YATPOS :P)
« Reply #21 on: January 01, 2011, 07:43:46 pm »
Cool to hear, that would be awesome :D

It would suck if the community was split, otherwise. Fewer people would play certain programs because they would use an OS that won't run them. Kinda like Linux vs M$ a few years ago.
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF



Official Website |T-Shirt store | Reverbnation | Facebook | Youtube | Twitter | Spotify

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: PartesOS (or YATPOS :P)
« Reply #22 on: January 01, 2011, 07:51:34 pm »
Cool to hear, that would be awesome :D

It would suck if the community was split, otherwise. Fewer people would play certain programs because they would use an OS that won't run them. Kinda like Linux vs M$ a few years ago.
Yeah, I know what you mean there.  The idea is to make OSes have the same core (Much like KOS does).  With the delay of KOS, I'm wondering if it would be possible to... Oh, that gives me a great idea, dj!

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55863
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: PartesOS (or YATPOS :P)
« Reply #23 on: January 01, 2011, 07:52:12 pm »
Lol I am curious now :P
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF



Official Website |T-Shirt store | Reverbnation | Facebook | Youtube | Twitter | Spotify

SirCmpwn

  • Guest
Re: PartesOS (or YATPOS :P)
« Reply #24 on: January 01, 2011, 07:54:00 pm »
A compatability layer (kinda like Wine) is very feasible.  I've been playing with ways to do this with TIOS<->KOS compatability.

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: PartesOS (or YATPOS :P)
« Reply #25 on: January 01, 2011, 07:56:05 pm »
A compatability layer (kinda like Wine) is very feasible.  I've been playing with ways to do this with TIOS<->KOS compatability.
Well, with what I am thinking, you would have to re-write another kernel, or I would write it.  But, it would allow any OS that worked with the KnightKernel to work with this.

SirCmpwn

  • Guest
Re: PartesOS (or YATPOS :P)
« Reply #26 on: January 01, 2011, 07:57:40 pm »
Actually, I'm thinking of something different, involving precompilation.  It would allow TIOS asm to run on KOS, and possibly the vice-versa.  It would also allow PartesOS and KOS compatibility.
« Last Edit: January 01, 2011, 08:00:40 pm by SirCmpwn »

Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: PartesOS (or YATPOS :P)
« Reply #27 on: January 01, 2011, 10:29:23 pm »
By precompilation do you mean essentially assembling the same ASM program for different OS's, with the aid of macros, presumably?
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
-Adam Osborne
Spoiler For "PartesOS links":
I'll put it online when it does something.

SirCmpwn

  • Guest
Re: PartesOS (or YATPOS :P)
« Reply #28 on: January 01, 2011, 11:08:55 pm »
This is what I'm thinking of:
Copy the program data twice into RAM.  In the first copy, scan it to find all the calls and all the lds.  If the call lies within the program code, modify it appropriately so that it will call the correct address (for instance, if its a TIOS program that is $200 bytes long, and the calls address lies within $9D95-$9F95, its an internal call).  For loads, change the address (if internal) to the second copy, or (if external), compare it with some SafeRAM values for the original OS and modify the pointers to match areas in RAM set aside to mock up the SafeRAM in the original OS.  Then keep a jump table that leads to routines that are similar to commonly used routines in the original OS.  Modify all external calls/jps matching one of these addresses to call your imitation jump table instead.
It wouldn't be perfect by any means, and there could be problems with SMC, but it could potentially run some programs across OSes.

Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: PartesOS (or YATPOS :P)
« Reply #29 on: January 01, 2011, 11:12:12 pm »
Nice, that should work. Having to copy it twice to avoid corruption cause by substitutions isn't very satisfactory space-wise, but that ought to work. Theoretically we could do this to any cooperative foreign program, too. :D
« Last Edit: January 01, 2011, 11:12:33 pm by calcdude84se »
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
-Adam Osborne
Spoiler For "PartesOS links":
I'll put it online when it does something.