Author Topic: TIOSMOD: a computer-based patcher for TI-68k OS (for now)...  (Read 23213 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: TIOSFIX: a computer-based patcher for TI-68k OS (for now)...
« Reply #15 on: August 22, 2010, 01:26:38 pm »
New version, which has gained the ability to kick out the artificial limitation of the size of ASM programs, and the artificial limitation against using ASM programs in expressions ("Invalid Program Reference").
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: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: TIOSFIX: a computer-based patcher for TI-68k OS (for now)...
« Reply #16 on: August 22, 2010, 03:15:35 pm »
great! Was the limitation 64 KB executable code, btw?

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: TIOSFIX: a computer-based patcher for TI-68k OS (for now)...
« Reply #17 on: August 22, 2010, 03:26:54 pm »
It all depends on the AMS version :)
* no limitation of executable size on AMS 1.xx;
* 8K on AMS 2.03 (and IIRC the uncommon, buggier 2.01 and 2.02 as well).
* 24K on AMS 2.04-2.09;
* no limitation on AMS 3.xx (well, technically, they left a check that passes if the value of the register is <= 0x10000 bytes, but due to the way the value is built, it can't be > 0xFFFF anyway - yes, this is stupid code in the tradition of TI :D).

So far, among AMS 2.xx, the patcher supports only 2.05 and 2.09, because these are the most feature-complete and most stable versions of their series:
* the AMS 2.03 code to recover archive memory upon reset is buggy and can erase files;
* AMS 2.04 contains a crasher bug, fairly easily to trigger in normal usage, in the Text Editor.
That said, if someone else wants to add support for the other versions of lesser interest, go ahead.
« Last Edit: August 22, 2010, 03:29:19 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: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: TIOSFIX: a computer-based patcher for TI-68k OS (for now)...
« Reply #18 on: August 22, 2010, 03:30:18 pm »
WOAH! 8 KB on some AMS?? I would never have expected it to be this low, considering it's a TI-89. On the 83+ the executable code limit is actually 8 KB, except for Flash apps (the reason why almost everyone uses Flash APPS in ASM programming now). Well it's nice it's gonna get removed now. :)

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: TIOSFIX: a computer-based patcher for TI-68k OS (for now)...
« Reply #19 on: August 23, 2010, 12:24:03 am »
Yeah, it's removed so that users don't have to install additional software to disable the size limitation and the Invalid Program Reference error (although users still probably want to do so, because most programs with the ability to catch and ignore those artificially-created errors have other features not tackled by the patcher, such as better crash protection with KerNO and PreOS or the expanded feature set of PreOS).
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: TIOSFIX: a computer-based patcher for TI-68k OS (for now)...
« Reply #20 on: September 14, 2010, 02:36:16 am »
New version, v0.2.2, today.
Since v0.2.1, besides a couple non-functional changes (renaming the program again and splitting it into two parts), the program gained the experimental ability to shrink AMS 2.08 for 89, so as to gain back the archive memory sector (64 KB) that this version robbed from users. This capability is implemented by moving 322 bytes of data from the end of the OS to a large (~20 KB) unused area at the beginning of the OS :)

The ZIP now contains binary patches that can be applied directly with xdelta 1.x, xdelta 3.x or bsdiff. These patches have been created with all optimizations turned on, including the hard-coding of the English language, which prevents language localizations from working properly (not that most readers here care, and besides, many in non-English-speaking countries don't use them because they create incompatibilities in TI-BASIC programs).
Optimizing the drawing of the small font + hard-coding the English language makes e.g. the MODE dialog, made up with localizeable strings drawn with the small font, noticeably faster (I'm comparing two 89 HW2 side by side).
« Last Edit: September 14, 2010, 04:41:54 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: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: TIOSFIX: a computer-based patcher for TI-68k OS (for now)...
« Reply #21 on: September 14, 2010, 03:36:42 am »
did they wasted an entire sector for 322 bytes???

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: TIOSFIX: a computer-based patcher for TI-68k OS (for now)...
« Reply #22 on: September 14, 2010, 03:52:11 am »
Yes, they did, for even less than that :)
Something between 96 and 100 bytes (can't check precisely at the moment) on AMS 2.08, and about 800 bytes on AMS 2.09. One could think that this was done on purpose, to promote buying the newer models with twice the amount of Flash memory, the V200 and later the 89T. Needless to say, the silliest pessimizations of their crappy toolchain (between others, double and triple swaps) waste more than 1 KB.

322 bytes is the amount of data that can safely be blindly moved from the end of AMS without caring beyond updating absolute references, because this data is exclusively made of bitmaps. Before these bitmaps are stored multiple menus and dialogs, some of which need to be moved as well to shrink AMS 2.09 by ~500 additional bytes. Menus and dialogs require more checking than the bitmaps did, though they ought to be self-contained as well.
As I wrote in the readme, "my" (Romain's) S-0703F 89 HW2 is now running the shrunk, unlocked AMS 2.08... and the MEM screen shows "Flash ROM free 720876" (of which 64K are, in fact, not available to the user, as shown by the output of getConfg()), just as it does for a fresh AMS 2.03 or 2.05.
« Last Edit: September 14, 2010, 04:21:35 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: 55943
  • 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 #23 on: September 14, 2010, 04:08:37 am »
Damnit Texas Instruments...
 

Anyway nice work on that stuff.

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 #24 on: September 14, 2010, 03:31:35 pm »
I've just uploaded a new version, which shrinks AMS 2.09 for 89 as well :)
WARNING WARNING WARNING: only lightly tested - I'll go to bed now, that's why ;)
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: 55943
  • 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 #25 on: September 14, 2010, 04:02:12 pm »
Ok. Well I got OS 3.10 or 3.01 I think, or something like that, so I wouldn't be able to test x.x

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 #26 on: September 15, 2010, 02:49:58 am »
Well, you can always test the modifications to those OS versions on your Titanium. But indeed, not AMS 2.09, which doesn't support the new hardware in HW3/HW4 models (so booting 2.09 on a 89T may leave the calculator in an improper state).
The calculator would refuse 89 OS anyway, unless someone makes the extra step of signing them with the 89T OS key, or installs them "forcefully" (TIB-Receiver if it works on HW3/HW4, or FreeFlash).
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

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 #27 on: September 15, 2010, 06:44:38 am »
can someone compile this for me? I am having troubles doing so

thxs in advance

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 #28 on: September 15, 2010, 06:55:20 am »
Well, what about using the pre-made binary diffs ? ;)
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

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 #29 on: September 15, 2010, 02:44:29 pm »
wha? I am confused, all I see are a bunch of files that I cant execute

help..