Author Topic: OFFSCRIPT Standardization  (Read 5647 times)

0 Members and 1 Guest are viewing this topic.

Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
OFFSCRIPT Standardization
« on: October 14, 2011, 07:27:49 pm »
OFFSCRIPT is a very useful feature of the TI-83 Plus OS, but it is a source of conflict for many shells and start-up programs. 
I propose that we make a standard OFFSCRIPT that allows for the calling of multiple programs. 

The standard should include a table of programs and apps to be executed.  The table should include the App/Program name, entry point, priority (programs with a lower priority byte will be executed first), and flags for other various entry settings. 

With an implementation of an OFFSCRIPT standard, contribution of ideas, consensus, and cooperation, new opportunities would open up to assembly programmers, and more programs could be run without incompatibilities. 
ld a, 0
ld a, a

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: OFFSCRIPT Standardization
« Reply #1 on: October 14, 2011, 10:07:05 pm »
The problem with standards is often that no one adopts them. How would a new standard work and not break compatibility with the old "standard?"

EDIT: Also, how many programs really need to be run at startup or shutdown?
« Last Edit: October 14, 2011, 10:08:11 pm by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
Re: OFFSCRIPT Standardization
« Reply #2 on: October 14, 2011, 10:28:57 pm »
The problem with standards is often that no one adopts them. How would a new standard work and not break compatibility with the old "standard?"

EDIT: Also, how many programs really need to be run at startup or shutdown?
There really is not an old "standard."  It's pretty much the wild west for OFFSCRIPT.  New improvements on the protocol will be backwards compatible with the proposed standard.

If I released the source code and made an Axiom that uses this standard, it will become easier for programmers to use OFFSCRIPT. 
ld a, 0
ld a, a

Offline thepenguin77

  • z80 Assembly Master
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1594
  • Rating: +823/-5
  • The game in my avatar is bit.ly/p0zPWu
    • View Profile
Re: OFFSCRIPT Standardization
« Reply #3 on: October 15, 2011, 10:01:52 am »
I agree that OFFSCRPT is a huge source of conflict, but the problem is that, like qwerty said, it's far too late to implement a standard. The reason I say this is because there are quite a few apps that use OFFSCRPT that haven't been touched in several years. We could adapt this new technique of OFFSCRPT cooperation and then the old program would just destroy it.

;VVVVVVVV see edit
The ambitious way to fix this problem would be to make an app that handles this huge mess. What you would do is run a program, let it make its OFFSCRPT, then have the OffScrpt app save that OFFSCRPT into its database. This would continue until the app has a copy of all of the OFFSCRPTs you want to run. Then you go into the app, set priorities on the different OFFSCRPTs and let it run.

The tricky part with this app though would be making it run when shutting down. I believe it can be done through a appChangeHook, but I'm not positive. I think a better solution would be to patch the code that calls OFFSCRPT and instead have it call the app. (Or this app could make an OFFSCRPT XD)
;^^^^^^^

The less ambitious way to somewhat fix this problem is to only use an OFFSCRPT when you absolutely have to. This means don't destroy OFFSCRPT if you aren't using it. (Not even going to say it)



Edit:
    That won't work. I forgot how OFFSCRPTs work. OFFSCRPTs are exactly what they sound like, off scripts. This means they only get run when you turn the calculator off. In order to run when the calculator turns back on, I would assume that nearly every OFFSCRPT sets a getCSC hook so that as soon as the calculator turns back on, the main app gets run.

In short, only the last OFFSCRPT would appear to get run.

Edit2:
    This also means that standardization of OFFSCRPTs is fundamentally impossible. (Or just really really ugly, glitchy, and hacky)
« Last Edit: October 15, 2011, 10:12:31 am by thepenguin77 »
zStart v1.3.013 9-20-2013 
All of my utilities
TI-Connect Help
You can build a statue out of either 1'x1' blocks or 12'x12' blocks. The 1'x1' blocks will take a lot longer, but the final product is worth it.
       -Runer112

Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
Re: OFFSCRIPT Standardization
« Reply #4 on: October 15, 2011, 10:09:47 pm »
Edit2:
    This also means that standardization of OFFSCRPTs is fundamentally impossible. (Or just really really ugly, glitchy, and hacky)
Yeah, I was afraid of that.  Somebody should have come up with a standard earlier.  Now, it is too hard.

Is there still time to make an ONSCRPT standard?  (How many programs use it?)
ld a, 0
ld a, a

Offline thepenguin77

  • z80 Assembly Master
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1594
  • Rating: +823/-5
  • The game in my avatar is bit.ly/p0zPWu
    • View Profile
Re: OFFSCRIPT Standardization
« Reply #5 on: October 16, 2011, 09:02:39 am »
I don't think there's as much of a need for ONSCRPT standardization. I haven't seen any other ONSCRPTs other than the one I use in zStart, and the reason is simple. ONSCRPT only runs if the calculator is turning on from a state where the ON button did not initiate the sleep. (i.e. APD and non-ram-clearing battery pulls).

With such a limited call region, ONSCRPT almost seems useless. And it is to most people. That's why I only use it to reinitialize ports that I mess with because they get reset on battery pulls.
zStart v1.3.013 9-20-2013 
All of my utilities
TI-Connect Help
You can build a statue out of either 1'x1' blocks or 12'x12' blocks. The 1'x1' blocks will take a lot longer, but the final product is worth it.
       -Runer112