Author Topic: TIOSMOD: a computer-based patcher for TI-68k OS (for now)...  (Read 20932 times)

0 Members and 1 Guest are viewing this topic.

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: TIOSMOD: a computer-based patcher for TI-68k OS (for now)...
« Reply #30 on: September 15, 2010, 03:19:37 pm »
Indeed, there are no executables for any platforms. However, there are two things that you can use (well, especially the second one):
* the source code, but you need to figure out how to compile it yourself;
* the binary diffs explicitly mentioned in the README along with the software that applies them ("now distributing binary diffs suitable for xdelta 1.x, xdelta 3.x and bsdiff").


I have now created the Git repository for tiosmod, at http://github.com/debrouxl/tiosmod . But I haven't tested the shrinking of AMS 2.09 for 89 more thoroughly, and won't have time do so tonight.


[EDIT 20100916: I have now transferred the shrunk AMS 2.09 to my testing calculator, and certain operations in the Graph screen don't yield the appropriate result, or even corrupt memory and destabilize the calculator. Don't use the shrunk AMS 2.09 until it is fixed !]
« Last Edit: September 16, 2010, 12:26:37 pm by Lionel Debroux »
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: TIOSMOD: a computer-based patcher for TI-68k OS (for now)...
« Reply #31 on: September 16, 2010, 02:54:57 pm »
Uploaded v0.2.3a, which mainly fixes the bug mentioned in the edit of the previous post. Upgrading is strongly advised :)
« Last Edit: September 16, 2010, 03:03:23 pm by Lionel Debroux »
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

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: TIOSMOD: a computer-based patcher for TI-68k OS (for now)...
« Reply #32 on: September 16, 2010, 04:49:12 pm »
Nice :D
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline qazz42

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1130
  • Rating: +30/-12
  • hiiiiiiiii
    • View Profile
Re: TIOSMOD: a computer-based patcher for TI-68k OS (for now)...
« Reply #33 on: September 16, 2010, 09:45:06 pm »
Well, what about using the pre-made binary diffs ? ;)

what do you mean by that?

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: TIOSMOD: a computer-based patcher for TI-68k OS (for now)...
« Reply #34 on: September 17, 2010, 01:46:41 am »
From the updated README:
Quote
Users just interested in testing patchsets should use the binary diffs with the program whose name is indicated by the binary diff's extension.
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

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: TIOSMOD: a computer-based patcher for TI-68k OS (for now)...
« Reply #35 on: September 17, 2010, 01:48:36 am »
Yeah but I think he wants to know what is a binary diff. He is not tech-savy on that stuff (read: he is used to just double-clicking an executable and fill forms)
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: TIOSMOD: a computer-based patcher for TI-68k OS (for now)...
« Reply #36 on: September 17, 2010, 02:14:31 am »
Quote
Yeah but I think he wants to know what is a binary diff.
Well, free online information sources such as http://en.wikipedia.org/wiki/Diff give much more information than one needs to know for the specific purpose of patching TI-68k OS :)

Quote
(read: he is used to just double-clicking an executable and fill forms)
If someone made graphical frontends to the binary patching (the reverse operation of diffing) programs that can work with the binary diffs I provided, he can do that :)
If no such frontends exist, well, using the command line is a good occasion of increasing one's computer skills. Many people think that the command line is a complicated piece of evil coming from the past... their loss, because the command line can be a way to save time: some operations are faster when done through the command line, and automation is easier than that of GUIs.
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

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: TIOSMOD: a computer-based patcher for TI-68k OS (for now)...
« Reply #37 on: September 17, 2010, 02:32:10 am »
Yeah but having to type everything by hand, or remembering how to write a batch file (the syntax) everytime can take a considerable amount of time. On the other hand, I saw GUI-based programs that are harder to figure out than their command line counterparts. The issue is that some Linux fanboys assume everyone in the world has an IQ of 9000 and will figure out stuff as easily and as fast as them, so they don't bother about useability and user-friendliness.

I hope someone writes a GUI for that, but again I think he should probably wait until it's completly finished or receive less updates.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: TIOSMOD: a computer-based patcher for TI-68k OS (for now)...
« Reply #38 on: September 17, 2010, 02:46:31 am »
A Qt GUI has been written for the TNOC program, which shrinks Nspire OS upgrades by removing the boot2 update (superfluous once the calculator's boot2 has been upgraded to 1.4.x) and samples from them.
But the patcher + patchset program we're talking about in this topic is of a different kind: it performs modifications that TI actively objects to: nullifying the protections they added, or even shrinking the OS (they could easily have done that themselves, but they probably chose not to, as a way to promote buying V200 and 89T). As such, the patcher + patchset is not going to be distributed in binary form (at least, by the original authors - if other people want to risk legal action from TI on their hosting provider, go ahead), and neither would be a GUI for the patcher + patchset. Binary diffs that users get to apply themselves on the one side, and source code that users get to compile themselves on the other side, are about as far as we can go (and it's not even sure we should distribute both together - to that effect, I have put the binary diffs in their own ZIP, so that it can be easily extracted).

TI could not, however, attack a GUI program for any of the three generic binary patcher programs that can be used to apply the binary diffs resulting of diffing between TI's official version and the patched version as created by the patcher + patchset posted in this topic. But maybe one already exists anyway.
« Last Edit: September 17, 2010, 03:03:50 am by Lionel Debroux »
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

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: TIOSMOD: a computer-based patcher for TI-68k OS (for now)...
« Reply #39 on: September 17, 2010, 02:47:45 am »
Ah I see why. I guess it's better to be careful as well, especially with them x.x
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline qazz42

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1130
  • Rating: +30/-12
  • hiiiiiiiii
    • View Profile
Re: TIOSMOD: a computer-based patcher for TI-68k OS (for now)...
« Reply #40 on: September 17, 2010, 03:03:27 pm »
Yeah but I think he wants to know what is a binary diff. He is not tech-savy on that stuff (read: he is used to just double-clicking an executable and fill forms)

D: LIES!

Anywho, I still dont understand how to apply the diffs

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: TIOSMOD: a computer-based patcher for TI-68k OS (for now)...
« Reply #41 on: September 17, 2010, 03:56:45 pm »
Have you found the project's pages (hint: first or second search result in both Google and Yahoo!...), and have you either looked at the documentation (I found the appropriate usage example for xdelta3 in one click) or just tried to run the patcher programs without arguments, which prints their usage help ?
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: TIOSMOD: a computer-based patcher for TI-68k OS (for now)...
« Reply #42 on: September 22, 2010, 03:11:32 am »
Uploaded v0.2.3b, which replaces one of AMS' traps (~software interrupts) by something useful, in order to fix a glaring bug in AMS: this trap is wired to a normal function, accessible through other means, which has a calling & returning convention for normal functions - but traps are no normal functions...

Even if the difference in calling convention can be overcome by writing the arguments to an exceedingly strange place (with the default value of the supervisor stack pointer, inside the display memory :D), the difference in returning convention cannot be overcome by normal means (perhaps with the Tracing bit, but I'm not sure that this bit, which I've never used, survives the switch into supervisor mode performed by the trap), and the calculator will crash upon returning from the function... To sum up, the trap #3 in AMS is just plain unusable.

The replacement for TI's buggy trap #3 is the one that has been provided for many years by UniOS and PreOS: a HeapDeref (given a HANDLE, return the absolute address of the corresponding block of memory) with proper calling & returning convention.
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

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: TIOSMOD: a computer-based patcher for TI-68k OS (for now)...
« Reply #43 on: September 22, 2010, 11:10:25 am »
I am a bit confused at what traps means x.x. Do you really mean they are interrupts? Seems like some stuff is named differently on 68k calcs if it's the case (shell->kernel, TI-OS->AMS, etc)
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: TIOSMOD: a computer-based patcher for TI-68k OS (for now)...
« Reply #44 on: September 22, 2010, 11:25:09 am »
traps are the 68000's software interrupts. There are 16 traps, about half of them being unused by AMS.
On TI-68k calculators, the hardware interrupts are usually called "auto-ints", but they're hardware interrupts.
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.