Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: ACagliano on April 12, 2010, 07:49:05 pm

Title: A new (probably pretty bad too) OS
Post by: ACagliano on April 12, 2010, 07:49:05 pm
I am planning on using Axe to try to write a small OS program for the calc. Try is the key word. Any suggestions, ideas, comments? Anyone willing to help?


And, anyone know where the code for the calc game XSnake4 can be found. I plan on using it in my game design tutorial. I will contact the designer for permission if necessary.
Title: Re: A new (probably pretty bad too) OS
Post by: willrandship on April 12, 2010, 08:39:14 pm
Go for it!

I'm afraid I won't be much help for development as I don't have a calc of that kind available. By the way, don't cut yourself down! if you want to make an OS, determine the features you want, get some more, and plan what it will look like first. After you have a plan for what it will look like, then you start coding, and you'll have something worth coding for.

*Will steps off of his soapbox

So, for my suggestions.

For any decent OS, it must have the following capabilities to be of much use:

Program Launching
ASM Support
A nice GUI
A method of organization (it doesn't really matter what)

Some other, probably harder features

Built in Program editor
Notepad
separate files/tabs for programs
Picture support
Text files
Changing program names
Locking memory (Not sure if this is possible on 84+, but it came in really handy on the 86)
data editor (for matrices, strings, that kind of thing)
Calculating/graphing

With the second set of features, you could use this with the Start-Up app and never even see the Calc home screen!
Title: Re: A new (probably pretty bad too) OS
Post by: ACagliano on April 12, 2010, 08:48:40 pm
For any decent OS, it must have the following capabilities to be of much use:

Program Launching- yes
ASM Support- yes
A nice GUI- similar to mirage
A method of organization (it doesn't really matter what)- i'll try

Some other, probably harder features

Built in Program editor- not very intricate, though
Notepad- i'll try
separate files/tabs for programs- i'll try
Picture support- no way in Version 1. Maybe in subsequent releases.
Text files- see notepad
Changing program names- i dont know how
Locking memory (Not sure if this is possible on 84+, but it came in really handy on the 86)
data editor (for matrices, strings, that kind of thing)- it is possible, but i dont know how.
Calculating/graphing- i'll try

Other features not mentioned that i plan on:

1. Password protect
2. Program encryption
3. Select- Run OS from RAM or Archive.


And, if someone could write an OS patch COMPATIBLE WITH ALL TI-83+ and 84+ CALCS AND OS VERSIONS  or a hook into Offscript that loads the OS on startup, without Startup App, that would be cool
Title: Re: A new (probably pretty bad too) OS
Post by: {AP} on April 12, 2010, 08:59:50 pm
Definitely a nice thought, but I'm kinda noticing that this is your 3rd project and none of them are very close to completion.

It's not really a problem, I just suggest that you kinda try to not start too many projects. I do this too and end up not getting anything done until I scrap all but one project completely.

Just my 2 cents, take it or leave it. =)
Title: Re: A new (probably pretty bad too) OS
Post by: ACagliano on April 12, 2010, 09:03:36 pm
oh. yeah. I scraped Blast Antivirus but forgot to alter my signature. You can see what I'm actually at work on. In a few minutes.
Title: Re: A new (probably pretty bad too) OS
Post by: Eeems on April 12, 2010, 10:00:07 pm
Well...hmm...program renaming would be as easy as altering the program header or making a new program and transfering the old data before deleting the old one.
Deleting would be changing one byte in the header too i believe.
Title: Re: A new (probably pretty bad too) OS
Post by: DJ Omnimaga on April 12, 2010, 11:18:34 pm
Mhmm my question is how do you manage to create an OS in Axe if it can,t even create 8xu files? Wouldn't the software be more of a sub-OS system or maybe a shell/kernel type program? Plus to compile OS files Axe Parser would need to be for the computer I think.

It seems nice, though, I would like to see what can someone come up with in terms of shell/kernels/sub-system OSes with Axe Parser. If in any case, the software won't end up useful as much as Mirage or DoorCS, for example, I would like to see at least one or two softwares of that type written in Axe just to see how far Axe can be pushed in terms of calc managment. It would also show Axe can do more than games, too. :)
Title: Re: A new (probably pretty bad too) OS
Post by: willrandship on April 13, 2010, 11:33:00 am
He's actually creating a shell, not a TI-OS Replacement.

Sounds good! It never occured to me to have Password Protection, as no one really tries to use my calc behind my back. (they don't know hiow :P)
Title: Re: A new (probably pretty bad too) OS
Post by: DJ Omnimaga on April 13, 2010, 11:38:12 am
He's actually creating a shell, not a TI-OS Replacement.
I guessed so but it didn't seem clear in his post. Quoted from his first sentence (I did not find the mention of a shell in the rest of his post:
Quote
I am planning on using Axe to try to write a small OS program for the calc.

As much as I expect him to mean shell, not OS, I was still not totally certain.

Password protection would be cool, altough it would be cool if it would remain intact even after a RAM Clear occurs (even during execution of a program directly from the shell, or execution of the shell itself)
Title: Re: A new (probably pretty bad too) OS
Post by: ACagliano on April 13, 2010, 12:23:46 pm
I'll probably use the Axe "add byte to end of program data" command to place the password into the program itself, rather than a variable, where it could be deleted by a RAM clear. Plus, because they become locked and converted to bicode, it'll be hard to crack.


OH, and yeah. I meant shell. Sorry.
Title: Re: A new (probably pretty bad too) OS
Post by: Quigibo on April 13, 2010, 04:24:25 pm
Hey, I wrote an OS in TI-BASIC one time with a start menu, games, notepad, paint, and some other stuff.  So its certainly possible.  But realistically, I don't think you'll be able to do program launching from a program since it would need to copy it over it's own code, destroying the shell.  It pretty much has to be an application to do that.  I like the idea though, there's still probably a lot you can do, certainly much more than BASIC.
Title: Re: A new (probably pretty bad too) OS
Post by: Eeems on April 13, 2010, 04:26:25 pm
well he could use basic Builder to package it as an app and do that.
Title: Re: A new (probably pretty bad too) OS
Post by: Quigibo on April 13, 2010, 04:30:44 pm
But all the app does is copy it to the ram and run it.  Just by the nature of how absolute jumping works, there's no way it could be converted to an app unless it was actually being emulated but I highly doubt that becasue then it would be unreasonably slow.
Title: Re: A new (probably pretty bad too) OS
Post by: DJ Omnimaga on April 13, 2010, 04:48:11 pm
Well Ion was not an app and still worked well, right? The only issue is if the password is stored inside the shell main launcher and that shell is located in the RAM, then say bye bye to your password if you get a RAM Clear.
Title: Re: A new (probably pretty bad too) OS
Post by: SirCmpwn on April 13, 2010, 05:03:41 pm
Well, if I have the hex, I can package it as an app for you.
Title: Re: A new (probably pretty bad too) OS
Post by: Quigibo on April 13, 2010, 05:23:56 pm
Well, if I have the hex, I can package it as an app for you.
What would you do about the absolute jumps though?  If there was a jp $9D9A in the code you would have to remap it to jp $4005.  With only the hex code, you have to disassemble it and it would be pretty cumbersome to do.

I didn't know ion wasn't an app.  Hmm... now that I think about it, maybe it is possible, but what you would have to do is write some code to a safe ram area that is able to run the new program and then re-open the shell again after it returns.  Then you would have to jump to that location and hope that the client code doesn't write over that area.  All of that still requires a lot of inline ASM.
Title: Re: A new (probably pretty bad too) OS
Post by: Eeems on April 13, 2010, 05:28:15 pm
hmm, well you could talk to Kerm from Cemetech and find out how he does his runprog for DCS..
Title: Re: A new (probably pretty bad too) OS
Post by: meishe91 on April 13, 2010, 05:37:30 pm
This sounds interesting and curious what you come up with.

Hey, I wrote an OS in TI-BASIC one time with a start menu, games, notepad, paint, and some other stuff.  So its certainly possible.  But realistically, I don't think you'll be able to do program launching from a program since it would need to copy it over it's own code, destroying the shell.  It pretty much has to be an application to do that.  I like the idea though, there's still probably a lot you can do, certainly much more than BASIC.

Did you ever release the OS program you made?
Title: Re: A new (probably pretty bad too) OS
Post by: _player1537 on April 13, 2010, 05:43:19 pm
in dcs, kerm moves parts of the program into a safe ram area and cycles through it.  I believe he said he only needed 800 bytes of ram to run it (might be the size of a safe ram area)
Title: Re: A new (probably pretty bad too) OS
Post by: SirCmpwn on April 13, 2010, 05:43:29 pm
Well, if I have the hex, I can package it as an app for you.
What would you do about the absolute jumps though?  If there was a jp $9D9A in the code you would have to remap it to jp $4005.  With only the hex code, you have to disassemble it and it would be pretty cumbersome to do.

I didn't know ion wasn't an app.  Hmm... now that I think about it, maybe it is possible, but what you would have to do is write some code to a safe ram area that is able to run the new program and then re-open the shell again after it returns.  Then you would have to jump to that location and hope that the client code doesn't write over that area.  All of that still requires a lot of inline ASM.

Hmm, I could always just have the app run the shell from 9D95 and return to the shell as soon as programs were finished executing.  As for saferam, you could just call programs instead of jumping to them.  Then, when they ret out, they come back to you.
Title: Re: A new (probably pretty bad too) OS
Post by: Quigibo on April 13, 2010, 05:59:24 pm
Did you ever release the OS program you made?

No, it got deleted in a RAM clear many years ago.  And the backup I had made was pretty outdated so I just gave up :(
Title: Re: A new (probably pretty bad too) OS
Post by: meishe91 on April 13, 2010, 06:02:27 pm
Awww :( Sad panda. That really sucks, it sounds interesting. Do you remember how big it was? Did it used libraries or anything?
Title: Re: A new (probably pretty bad too) OS
Post by: SirCmpwn on April 13, 2010, 06:06:05 pm
I wrote an entire TI-Basic shell that featured a full GUI, simulated multi-threading, password protection, a full filesystem, and the ability to run Ion, MirageOS, no-stub, TI-Basic, and even DCS6 programs.  No joke.

It got lost when my parents cleared my calculator's entire memory once.
Title: Re: A new (probably pretty bad too) OS
Post by: meishe91 on April 13, 2010, 06:07:47 pm
How long ago was that? That sucks, it sounds cool.
Title: Re: A new (probably pretty bad too) OS
Post by: SirCmpwn on April 13, 2010, 06:09:16 pm
About a year ago.
It was pretty sweet, if not a little slow.  The DCS support was a bit buggy though.
Title: Re: A new (probably pretty bad too) OS
Post by: Quigibo on April 13, 2010, 06:10:53 pm
No, no libraries.  This was before I even knew libraries existed.  It was about 5-6k at the peak.  Like I said, I still have an old backup, but its really lame without all the features.
Title: Re: A new (probably pretty bad too) OS
Post by: meishe91 on April 13, 2010, 06:16:08 pm
Well if it has the GUI still it'd be cool to see :) and that's not to bad on the size, I thought it'd be a lot bigger.

And that's a bummer, SirCmpwn. It sounds like it would have been really cool. What was yours written in or what did it used library wise or anything?

By the way, we should get back on topic pretty soon :P
Title: Re: A new (probably pretty bad too) OS
Post by: SirCmpwn on April 13, 2010, 06:18:59 pm
It used xLib, as well as some other assembly programs.  It pretty much used everything ever made for the calculator.  Codex, xLib, program options (that one is more obscure).  I didn't know about Celtic III at that time, but I used almost everything else.
Title: Re: A new (probably pretty bad too) OS
Post by: meishe91 on April 13, 2010, 06:31:30 pm
Ah ok, that's cool. Do you remember how big it was?
Title: Re: A new (probably pretty bad too) OS
Post by: SirCmpwn on April 13, 2010, 06:32:43 pm
Oh geez, it was forever ago.  But I'm pretty good about optimizing, so I don't think it was outrageous.
Title: Re: A new (probably pretty bad too) OS
Post by: meishe91 on April 13, 2010, 06:35:13 pm
Well that's cool.
Title: Re: A new (probably pretty bad too) OS
Post by: DJ Omnimaga on April 13, 2010, 06:40:31 pm
ouch it sucks you guys lost your shells x.x, I hate data loss. Btw Eeems was working on a Celtic shell last year but then his calc got taken away by his parents and it kinda killed it x.x
Title: Re: A new (probably pretty bad too) OS
Post by: SirCmpwn on April 13, 2010, 06:43:01 pm
From my experience, parents are the downfall of young calculator programmers.
Title: Re: A new (probably pretty bad too) OS
Post by: DJ Omnimaga on April 13, 2010, 06:46:23 pm
yeah x.x

That, and to a lesser extent, a tradition that lasted from 2005 until today where most students want to finish school early and take 3 AP classes at once, then have no more free time to program. We got so many of those in the community one year that barely anything was being worked on x.x

There's also a tradition that started in 2005 where half of the TI community decides that from July 1st to September 1st, calculators programming sucks and they put them in the closet until next school year.
Title: Re: A new (probably pretty bad too) OS
Post by: meishe91 on April 13, 2010, 07:45:36 pm
Ya, AP classes can put dampers on things.