Author Topic: [idea] Celtic III patching  (Read 6806 times)

0 Members and 1 Guest are viewing this topic.

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6268
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
[idea] Celtic III patching
« on: December 16, 2009, 06:55:08 pm »
What if, instead of releasing te whole program for a small oneline bug edit, why don't we create the framework of a patching lib, using Celtic III. The patch will include all the changes, and the patching program will interpret it. It will be able to delete, replace and insert lines. So instead of having to re-send the ahold program you can just use the patch, and if it's a one line fix, you can manuely do it by making the patch yourself, so no cable is needed.
So what do you guys think? Comments, suggestion?
/e

Offline simplethinker

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 695
  • Rating: +16/-5
  • snjwffl
    • View Profile
Re: [idea] Celtic III patching
« Reply #1 on: December 16, 2009, 07:39:43 pm »
If you mean doing this on-calc, then things could get horribly messy.  Even if the change only adds/removes a single byte, it could (most likely would) mess up every single label after it (which are just addresses), so the patching program would have to modify nearly every single jump instruction in the code.

Compiling Celtic3 actually isn't that bad, so if we know what needs to be changed we can easily apply it and then recompile, and then send the whole app to the calc ;)
"We've all heard that a million monkeys banging on a million typewriters will eventually reproduce the entire works of Shakespeare. Now, thanks to the Internet, we know this is not true." -- Professor Robert Silensky



Chip's Challenge: ħ%

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6268
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: [idea] Celtic III patching
« Reply #2 on: December 16, 2009, 08:08:30 pm »
No I meant using Celtic III to make a patching system for basic programs
/e

Offline simplethinker

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 695
  • Rating: +16/-5
  • snjwffl
    • View Profile
Re: [idea] Celtic III patching
« Reply #3 on: December 16, 2009, 08:19:47 pm »
No I meant using Celtic III to make a patching system for basic programs
Ah... then nevermind ::)

It sounds like a good idea then :)
"We've all heard that a million monkeys banging on a million typewriters will eventually reproduce the entire works of Shakespeare. Now, thanks to the Internet, we know this is not true." -- Professor Robert Silensky



Chip's Challenge: ħ%

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6268
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: [idea] Celtic III patching
« Reply #4 on: December 16, 2009, 09:46:22 pm »
Ah. Thanks! Well hopefully when I get my calc back I can implement it.
/e

Offline Silver Shadow

  • Beta Tester
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +27/-7
    • View Profile
Re: [idea] Celtic III patching
« Reply #5 on: December 17, 2009, 01:40:42 pm »
Actually, I think that its easier to send a program in replacement on the calc instead of sending and then running another program to modify the one you want to update.
Former Coder of Tomorrow


Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6268
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: [idea] Celtic III patching
« Reply #6 on: December 17, 2009, 05:08:45 pm »
Well for a tiny change, this would be easier. Or for very large programs. So if you need to change line 300 in a program, you just run the thing and it changes it faster then manuelly changing it or sending the updated program.
/e

Offline Galandros

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1140
  • Rating: +42/-10
    • View Profile
Re: [idea] Celtic III patching
« Reply #7 on: December 18, 2009, 05:48:06 am »
Seems a good idea.

But this will be most used to large programs that need a one line edited like sometimes happens when someone releases a beta.
For someone that sends for the first time, we should have the program fixed (sending buggy program plus patcher bloats a bit).
Hobbing in calculator projects.

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6268
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: [idea] Celtic III patching
« Reply #8 on: December 18, 2009, 10:08:41 am »
Yeah, well the patched probably won't be that large, and it can be used for any program. So it can be something you just keep on yout calc.
/e

Offline simplethinker

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 695
  • Rating: +16/-5
  • snjwffl
    • View Profile
Re: [idea] Celtic III patching
« Reply #9 on: December 18, 2009, 12:43:06 pm »
What would happen if there are two changes?  Most likely, the first change would alter the position of the second one, and it might be that not everyone had implemented the first fix in the first place.

The only way I can think to do it is have the program keep track of whether it did the previous change(s) (maybe in an appVar?) and then if you hadn't, the program would implement all the previous ones first.  The problem is that with each new patch, you'd have to send the information for every previous one.
"We've all heard that a million monkeys banging on a million typewriters will eventually reproduce the entire works of Shakespeare. Now, thanks to the Internet, we know this is not true." -- Professor Robert Silensky



Chip's Challenge: ħ%

Offline Galandros

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1140
  • Rating: +42/-10
    • View Profile
Re: [idea] Celtic III patching
« Reply #10 on: December 18, 2009, 03:41:57 pm »
What would happen if there are two changes?  Most likely, the first change would alter the position of the second one, and it might be that not everyone had implemented the first fix in the first place.

The only way I can think to do it is have the program keep track of whether it did the previous change(s) (maybe in an appVar?) and then if you hadn't, the program would implement all the previous ones first.  The problem is that with each new patch, you'd have to send the information for every previous one.
I think the patch would be used as a one time and temporary solution to betas and releases on a community forum. But good point about multiple patches.
« Last Edit: December 18, 2009, 03:42:13 pm by Galandros »
Hobbing in calculator projects.

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6268
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: [idea] Celtic III patching
« Reply #11 on: December 18, 2009, 06:06:20 pm »
I think the patch would be used as a one time and temporary solution to betas and releases on a community forum. But good point about multiple patches.
ditto

and I guess at each major change/release they would release the good version so you wouldn't have to worry about it
/e

Offline miotatsu

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 332
  • Rating: +11/-1
    • View Profile
Re: [idea] Celtic III patching
« Reply #12 on: December 18, 2009, 07:26:12 pm »
theres an easy solution to that, rather than keeping track of all patches just do this: store a patch number,and each new patch would have a variable that would be read, it will only allow you to patch it if the number is one higher, that way it forces you to patch in order and not skip any patches, which completely solves the problem :{D the only thing about this solution is you need to make sure whatever you use to store the patch var in doesnt get deleted, if it does everything would get mucked up

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6268
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: [idea] Celtic III patching
« Reply #13 on: December 18, 2009, 07:36:00 pm »
well there could be a version number on the first line of the program, and a patched to number and it could have a simple check for that
/e

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: [idea] Celtic III patching
« Reply #14 on: December 20, 2009, 12:16:37 pm »
Hmmmmm, I'm not seeing the benefit here.  On one hand, there is a faulty program, so you release the same program but fixed.  All the user has to do it send it to his/her calculator and they are done!

On the other hand, with these patches, not only do they have to have CelticIII on their calc, but after they send in the patch, they have to run it and/or deal with version numbers.  Seems to me just sending the fixed version would take a lot less time and effort on both ends, for the programer and for the user.