Hey, everyone! I've seen some really nice shells such as Cesium and VYSION 1 and 2 created, and I was inspired to try to make a macOS Monterey shell for the TI-84 Plus CE.
DOWNLOAD AVAILABLE:
-
http://ceme.tech/DL2279
This shell will feature the following in its first release:
►WordCE (a text editor)
►standard macOS Monterey GUI
►Launchpad where you can launch the built-in TI-apps.
►File and Folder Management (this includes editing and creating).
►and any other ideas y'all can come up with!
The first release is projected to be available in September 2022. Further releases will be dealt with in their own time.
Source Code (that has been released to the public) is available on GitHub:
https://github.com/programmerbobsmith/GrannySmithOS
Since the code is read-only, if anyone wants to make edits to the code, please comment below.
1) zsh
2) CEmu
3) Chrome
4) an Arm9
5) option for multiple BASIC programs at once (windows)
6) Assembly writing
7) Comes loaded with some tools like stopwatch, calendar, etc.
Cesium icons/descriptions (obviously)
This sounds like a cool idea! Will the TI programs be shown in the apps menu as well, or only TI apps?
Have you thought about doing something to "Round" the corners of icons (like macOS 12), possibly by display program icons and then chopping the corner pixels off?
sJRw wrote:
1) zsh
2) CEmu
3) Chrome
4) an Arm9
5) option for multiple BASIC programs at once (windows)
6) Assembly writing
7) Comes loaded with some tools like stopwatch, calendar, etc.
Cesium icons/descriptions (obviously)
WOW! That's a pretty big list there! The shell will come loaded with a Terminal in zsh, calendar, and a stopwatch. I hope I haven't misunderstood (please correct if I did), but an Arm v9 is a hardware thing not a software. Now the Cesium icons/descriptions will obviously be integreted. Assembly writing, I don't know anything in assembly, so this will definitely not make it's way until I have some time to learn asm. Now for the Chrome thing, do you just want a GUI (which would really be boring) or do you want internet/wifi connectivity with the calc. The option for multiple Basic Programs seems really exciting but will definitely take some time. But overall, I think that I will eventually be able to incorporate everything from that list except for the assembly and the Arm9.
TIny_Hacker wrote:
This sounds like a cool idea! Will the TI programs be shown in the apps menu as well, or only TI apps?
This is a great idea! I have already started some code that will read the first line of a Basic program and indicate whether it will be in the apps section or not.
TIny_Hacker wrote:
Have you thought about doing something to "Round" the corners of icons (like macOS 12), possibly by display program icons and then chopping the corner pixels off?
Yes, all the sprites are rounded, and everything gives of a macOS Monterey vibe!
That all sounds really cool! Do you have any screenshots of your progress yet?
TIny_Hacker wrote:
That all sounds really cool! Do you have any screenshots of your progress yet?
I will post a clip pretty soon.
I just want to send out a request for some coding help. Due to the fact that I do not know any ASM, I would like someone to make some ASM code that will do the following with my Monterey Shell:
1) Display "GrannySmithOS" in the APPS Menu.
2) Create the following shortcut that will allow the program to be run from the Home Screen: [On]+[Apps].
3) Run OS Apps.
That's all! Whoever completes the code will get all the proper credits in the credits section of the shell. Thanks in advance!
Update on my work:
1: I have finished my first version of macOS Monterey 12.1.1 (nicknamed "GrannySmithOS"). A link to the download will be available as soon as ticalc.org approves it.
2: Version 12.2.1 is being worked on and will include but is not limited to the following:
– Stopwatch/Timer
– Chemistry Solver App
– Settings (maybe)
– Sprites for programs in launchpad (maybe)
Also here's a hint for version numbers:
1: Version 12.X.X is the major version. This defines the GUI and the overall shape/background of the OS.
2: Version X.1.X is the minor version. This defines the apps/and any major changes that are not a complete renovation of the project.
3: Version X.X.1 is the build version. This defines minor changes and bug fixes.
I had the opportunity to test the build linked in the Cemetech Discord earlier today, and I have to say, it was pretty impressive! Nice job sticking with this, I kind of expected the project to die off in the first couple weeks like most of the CE shells seem to.
A few pieces of feedback for you:
* the cursor is incredibly slow and pretty frustrating to use
* the loading screen seems pretty pointless, especially if it's not doing anything--at the very least, I'd like to see it not be run after returning from a program
* some of the built-in apps do not work, but I guess that's to be expected at this stage
* the built-in utilities (the solvers, mostly) seem to not allow the user to move the cursor at all, which is also irritating. There should at least be a hotkey to exit the utility entirely, preferably [clear] or [mode] to stick with the common conventions.
* some of the text, such as on the program running screen, can be hard to read because of the background
Generally though, this was pretty impressive. I liked all of the built-in utilities, which seem like they could be useful for calculating things without having to exit the shell entirely, and are probably faster than an equivalent TI-Basic program. Have you created some kind of general equation parser for this, or is everything just hardcoded?
In any case, good work on this! I'm looking forward to seeing further updates.
epsilon5 wrote:
I had the opportunity to test the build linked in the Cemetech Discord earlier today, and I have to say, it was pretty impressive! Nice job sticking with this, I kind of expected the project to die off in the first couple weeks like most of the CE shells seem to.
A few pieces of feedback for you:
* the cursor is incredibly slow and pretty frustrating to use
* the loading screen seems pretty pointless, especially if it's not doing anything--at the very least, I'd like to see it not be run after returning from a program
* some of the built-in apps do not work, but I guess that's to be expected at this stage
* the built-in utilities (the solvers, mostly) seem to not allow the user to move the cursor at all, which is also irritating. There should at least be a hotkey to exit the utility entirely, preferably [clear] or [mode] to stick with the common conventions.
* some of the text, such as on the program running screen, can be hard to read because of the background
Generally though, this was pretty impressive. I liked all of the built-in utilities, which seem like they could be useful for calculating things without having to exit the shell entirely, and are probably faster than an equivalent TI-Basic program. Have you created some kind of general equation parser for this, or is everything just hardcoded?
In any case, good work on this! I'm looking forward to seeing further updates.
OMG, epsilon! Thank you so much for the encouragement. I REALLY LOVE the feedback! The cursor is also driving me insane by it's slowness and its flickering; which is why I hated the idea of using the cursor to scroll through apps. If the built-in apps don't work it should display an error message, freeze the screen for 2.5 seconds, and then proceed, but for some reason that's not working as expected (I'm looking into it.) I just fixed the text not displaying clearly on launchpad (and secretly: the fact that it didn't do any carriage returns when it hit the bottom of the page). I don't know what you mean by equation parser, but I would DEFINITELY be interested in doing that whatever that is. The built-in utilities are all hard-coded, although they do use C functions that I've made to be able to handle them without wasting space on repetitive code. Other than I really appreciate the encouragement! A new update to fix bugs and add new features should be available before mid-August.
Quote:
WOW! That's a pretty big list there! The shell will come loaded with a Terminal in zsh, calendar, and a stopwatch. I hope I haven't misunderstood (please correct if I did), but an Arm v9 is a hardware thing not a software. Now the Cesium icons/descriptions will obviously be integreted. Assembly writing, I don't know anything in assembly, so this will definitely not make it's way until I have some time to learn asm. Now for the Chrome thing, do you just want a GUI (which would really be boring) or do you want internet/wifi connectivity with the calc. The option for multiple Basic Programs seems really exciting but will definitely take some time. But overall, I think that I will eventually be able to incorporate everything from that list except for the assembly and the Arm9.
Sorry, that was a bit of a joke. I would love for there to be some way to have a processor that runs fast enough to have some shell animations, but the other things are features that I would love to see in shells, but are consistently run around by authors.
Also, how did you build it? There's no makefile in the code on GitHub.
However, main.c looks great, I only have a few suggestions for graphical improvements, such as "bulging" the dock so that the selected application is larger than the others, if that's not too computationally expensive. Also, if the multiple BASIC programs idea is becoming reality, then you might have it look a little bit like Chrome, with tabs at the top instead of the status bar, and on key shortcuts for switching tabs.
sJRw wrote:
Also, how did you build it? There's no makefile in the code on GitHub.
I abandoned GitHub, I want to finish the whole program before uploading anything there. So far, I'm still waiting for ticalc to accept the archive before I put a link to download an official release.
sJRw wrote:
Also, if the multiple BASIC programs idea is becoming reality, then you might have it look a little bit like Chrome, with tabs at the top instead of the status bar, and on key shortcuts for switching tabs.
Yeah, I really don't see a way of making the multiple BASIC programs a reality. Because then I would need to make my own executor for BASIC programs and that would not be easy. I would also need a way to scale down and adjust any TI-Basic programs as they would not be running on TI- interface. I hope you see why no author has ever tried this: first it's too complicated, second it would require adjustments that BASIC programmers would have to take into account. In addition, many TI-OS functions are not easy to implement in C, an example would be most STAT and PLOT functions. ZOOM functions would also be an obstacle. In summary, yes multiple basic programs is a great idea, however, the reason no shell author has ever tried it is because it's a near impossible task (keeping in mind space).
Hey ProgramemrBob, I haven't tried the program out at all. I've looked in GitHub and it seems like you've uploaded your first interation. Which isn't that bad just need to clean up some variables your using and etc.
ProgrammerBobSmith wrote:
sJRw wrote:
Also, if the multiple BASIC programs idea is becoming reality, then you might have it look a little bit like Chrome, with tabs at the top instead of the status bar, and on key shortcuts for switching tabs.
Yeah, I really don't see a way of making the multiple BASIC programs a reality. Because then I would need to make my own executor for BASIC programs and that would not be easy. I would also need a way to scale down and adjust any TI-Basic programs as they would not be running on TI- interface. I hope you see why no author has ever tried this: first it's too complicated, second it would require adjustments that BASIC programmers would have to take into account. In addition, many TI-OS functions are not easy to implement in C, an example would be most STAT and PLOT functions. ZOOM functions would also be an obstacle. In summary, yes multiple basic programs is a great idea, however, the reason no shell author has ever tried it is because it's a near impossible task (keeping in mind space).
Your totally right it would not be easy at all to make a basic program "parser" but I think someone has already made it and you could probably make a spin-off or something (it's written in C).
Alvajoy123 wrote:
Hey ProgramemrBob, I haven't tried the program out at all. I've looked in GitHub and it seems like you've uploaded your first interation. Which isn't that bad just need to clean up some variables your using and etc.
ProgrammerBobSmith wrote:
sJRw wrote:
Also, if the multiple BASIC programs idea is becoming reality, then you might have it look a little bit like Chrome, with tabs at the top instead of the status bar, and on key shortcuts for switching tabs.
Yeah, I really don't see a way of making the multiple BASIC programs a reality. Because then I would need to make my own executor for BASIC programs and that would not be easy. I would also need a way to scale down and adjust any TI-Basic programs as they would not be running on TI- interface. I hope you see why no author has ever tried this: first it's too complicated, second it would require adjustments that BASIC programmers would have to take into account. In addition, many TI-OS functions are not easy to implement in C, an example would be most STAT and PLOT functions. ZOOM functions would also be an obstacle. In summary, yes multiple basic programs is a great idea, however, the reason no shell author has ever tried it is because it's a near impossible task (keeping in mind space).
Your totally right it would not be easy at all to make a basic program "parser" but I think someone has already made it and you could probably make a spin-off or something (it's written in C).
Yeah, I'm not sure, but I think it's PT's ICE. I'll look into that!
I think he was talking about
Indium CE, also by PT. Not sure if that's applicable here though, or if it would work at all (besides, it's incomplete).
epsilon5 wrote:
I think he was talking about
Indium CE, also by PT. Not sure if that's applicable here though, or if it would work at all (besides, it's incomplete).
Ah, but I definitely would like to finish PT's project. But that's definitely down the line!
Okay, I need some help. First, the cursor is mapping too slow and second, it flickers. I've tried rearranging the code, but nothing seems to fix the problem. Do y'all have any idea what I'm doing wrong? or some ways to fix it? Like should I use kb_Scan instead of os_GetCSC()?