News:

Herr Otto Partz says you're all nothing but pipsqueaks!

Main Menu

Color changing of the needle

Started by Ryoma, August 22, 2021, 06:46:18 PM

Previous topic - Next topic

Daniel3D

Quote from: llm on November 07, 2021, 07:26:40 PM
Quote from: Daniel3D on November 07, 2021, 01:46:21 PM
But I don't agree with "first learn then change"
It's from change we learn. It's change that inspires progress.
Is it the best approach, probably not.
But it does yield results.
Im talking about the basics like how the functions,segments get layouted etc, map files from the linker
Ah, that. I'm working on that. There is a lot I don't know. Leaning heavily on CAS again.

Trying to get my head around the Git. And working with that. But the program I found seemed ok but got stuck. I could make a local branch no problem, but to change code was a hassle, and I couldn't find any way to commit the change. Could not save it. Very annoying.
So I am saving everything local, just the changed files, and ill look for a simpler program. Something even I can understand.
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

Daniel3D

Quote from: llm on November 07, 2021, 11:50:46 AM
But its really needed to find the rest of the non symbolic offsets, could be just a few
then changes are 100% safe
How can I recognize them?
Am I correct in assuming that these offsets are pointing at a specific line in the code and not a named stating point?
A fixed point that would change to the wrong value if you add lines before. (I'm thinking about how basic works, so I'm not sure how to see this in ASM)
Edison once said,
"I have not failed 10,000 times,
I've successfully found 10,000 ways that will not work."
---------
Currently running over 20 separate instances of Stunts
---------
Check out the STUNTS resources on my Mega (globe icon)

llm

#62
Quote from: Daniel3D on November 07, 2021, 07:43:57 PM
Trying to get my head around the Git. And working with that. But the program I found seemed ok but got stuck. I could make a local branch no problem, but to change code was a hassle, and I couldn't find any way to commit the change. Could not save it. Very annoying.
So I am saving everything local, just the changed files, and ill look for a simpler program. Something even I can understand.

Its very easy, no idea what your struggeling with

Clone a repo, change files in you prefered editor/IDE, commit and push (if there is a remote repo attached) - thats it, there are tons of tutorials, videos - but im using different version control systems for decades, that makes it easy for me  8)

Dont mixup commit(lokal) and push/pull(remote or other local repo, gitlab, github, ...)
You never ever change a file in a git client

You need to add /m to the linker commandline to get a map file thats gives you infos about segment/function start in the resulting exe, and then you can use winmerge or other tool to compare original map file against changed sources




Cas

It's true that adding code, like we did, if there's any non-symbolic reference after the point that's changed, would distabilise the program. One thing we could do about it is, instead of just inserting code wherever we need it, we could just replace a piece of the code with a call instead, making sure the local code remains the same size. Then create a new code segment at the end to receive those calls. In other words, put all of our new patches at the end of the code.

It does look, though, like there aren't many of these non-symbolic references lurking around because our code appears stable. We just have to play the game using every possible function, try it many, many times and see. But what I said above is probably the safest option, although I don't know in TASM syntax how to force the new code to be at the end.

Again, I'm not very familiar with TASM-specific syntax, but placing something to force paragraph alignment as you mention, Ilm, would definitely help too!
Earth is my country. Science is my religion.

llm

Quotealthough I don't know in TASM syntax how to force the new code to be at the end.

Again, I'm not very familiar with TASM-specific syntax, but placing something to force paragraph alignment as you mention, Ilm, would definitely help too!

not "segment byte" but "segment para" , but you need to check the map file for movws because currently the para alignment is manual done with alignment bytes directly added in front or end of segments

tlink.exe is called with a commandline parameter that orders segments in source occurence order, so just add a new segment at end, thats it

dreadnaut

Quote from: llm on November 07, 2021, 08:04:49 PM
Its very easy, no idea what your struggeling with

I teach Git stuff at meetups and at work, and most people have some trouble with it. I am not surprised if Daniel doesn't find it very easy.

I would suggest starting from the command line, even if it looks more difficult. You can keep your graphical client open on the side to see what happens. Then start with a toy repository and some tutorial, e.g., this one on freecodecamp.

Quote
Yes, the title is a clickbait. There is no way you can understand the basics of git technology in just 10 minutes. But you can get pretty close in about 25 minutes. And that is the purpose of this article.