lantonov / asmFish

A continuation of the nice project asmFish by Mohammed Li. Latest version: 07.08.2019
https://lantonov.github.io/asmFish/
Other
118 stars 49 forks source link

General Updates/Questions #174

Closed double-beep closed 5 years ago

double-beep commented 6 years ago

Hello @lantonov and @Counterply, I have the following questions:

  1. Why Matefinder hasn't got base executables?
  2. Executables branch is out-of-date with the default branch. Can you ask @lantonov, to update it?
  3. Description says that latest version is 11.05.2018. Can you ask @lantonov, to update it? Wiki has the same problem, too!
CounterPly commented 6 years ago

Hi double-beep,

Thanks for staying on top of these action items. I added support to make.bat for Matefinder base executables in the latest commit and included mateFish_base executables for all operating systems. I'll also take a look at the other executables branch shortly to see if I can get it caught up to the master branch.

I am certain Lyudmil will get around to updating the description. The last I heard, he was under some non chess-related work deadlines, but I have no doubt he will be back soon.

double-beep commented 6 years ago

Hi @Counterply, I saw that you did large changes in the make.bat; (timings are very good) and you added support to base matefinder executables. Thanks!

I am certain Lyudmil will get around to updating the description. The last I heard, he was under some non chess-related work deadlines, but I have no doubt he will be back soon.

I hope that he will come soon. I hope the same with @tthsqe12, also, who has left(?) github about a month ago. @tthsqe12 is very good in assembly and asmfish will catch Stockfish soon!

CounterPly commented 6 years ago

Don't worry, neither of them has left. Moha will be back eventually. He contributed a lot of invaluable commits during his last activity streak, so he is on a well-deserved break at the moment.

double-beep commented 6 years ago

Ok @Counterply, I don't worry!

CounterPly commented 6 years ago

Updated executables branch with the latest binaries.

ghost commented 6 years ago

Needless to say (I've said it before somewhere else with a different nick) you've done and are continuing to do a fabulous job.

double-beep commented 6 years ago

Opened a pull request (see above (#176)) which compares @Counterply's branch and @lantonov's branch.

double-beep commented 6 years ago

@Counterply, can you explain me what's exactly the difference between asmfish and matefish?

CounterPly commented 6 years ago

Matefish is based on the branch "mate_finder" by @jhellis3. It is ideal for analyzing complex and/or tactical positions where your intuition tells you: "there is probably a mate here."

For a more clear idea of what this entails, check out the following branch-comparison:

https://github.com/official-stockfish/Stockfish/compare/master...jhellis3:mate_finder

double-beep commented 6 years ago

Hello, @Counterply, thanks for the explanation. I asked because when I open the mateFishW.exe file I get: asmFishW_2018-06-05_base which is the same with asmFishW.exe. I know that benches are different, but ChessBase cannot understand that asmFish and mateFish are different. I press Create UCI engine and I select the asmFish.exe. I set the parameters and press OK. When I do the same with mateFish.exe ChessBase shows a message tht says: asmFishW_2018-06-05_base already exists! Analytically (with screenshots) we have:

How can be this solved? Thanks! @double-beep

CounterPly commented 6 years ago

There are several ways to prevent this from happening.

1) Delete the corresponding ".uci" file on your system and make a new engine. I would recommend this program. Simply type in "*.uci" (without the quotes) and it should bring you directly to the location of the file on your system.

2) Assemble your own mateFinder with a different name of your choosing.

3) In the name field of your engine in the picture you provided (preferably, after you have set the parameters), add in "_mf" in order to give matefinder a distinct identity. Note: this must come after the engine name (i.e. you cannot edit the engine's name itself; you can only append to it).

One thing to keep in mind is that engines beginning with the word "mate" are not allowed in Fritz/Chessbase. I have no idea why this is, but that's the way it used to be. Perhaps they have fixed this bug in newer editions of Fritz, but I have not checked.

double-beep commented 6 years ago

Hello @Counterply

Delete the corresponding ".uci" file on your system and make a new engine.

What do you mean and how this can be done?

Compile your own mateFinder with a different name of your choosing

How can I do this? With the make.bat?

One thing to keep in mind is that engines beginning with the word "mate" are not allowed in Fritz/Chessbase. I have no idea why this is, but that's the way it used to be. Perhaps they have fixed this bug in newer editions of Fritz, but I have not checked.

I think that this is not related with already exists, but ok.

double-beep commented 6 years ago

But how do you explain the name asmFishW*_base.exe in the matefinder file? Anyway, the 3rd way worked! Thanks!

double-beep commented 6 years ago

@Counterply, I have done all the executables since "Tweak time management" here. Should I open a pull request? Or you will update?

CounterPly commented 6 years ago

Hi double-beep,

I'm glad (3) worked; it is the most straight-forward method.

What do you mean and how this can be done?

I mean, delete the .uci file physically from disk and then use Fritz to set-up a new engine. This is a particularly useful trick only if you have to phase-out a lot of old/obsolete engines.

How can I do this? With the make.bat?

No, that would just change the executable name, not the engine's internal name. You would need to modify the source first and then reassemble (with make.bat).

The lines you need to change are in MainData.asm (lines 38-47). image

I think that this is not related with already exists, but ok.

I know, I was just warning you. I once wasted a lot of time trying to figure out why mateFinder wasn't loading, and it was ultimately ChessBase's problem and not the engine's.

But how do you explain the name asmFishW*_base.exe in the matefinder file?

Most likely a mistake on my end. I'll take a look and fix it with my next commit. Thanks for letting me know.

CounterPly commented 6 years ago

I have done all the executables since "Tweak time management" here. Should I open a pull request? Or you will update?

Thank you, this was very helpful. I created a PR for you and merged it to the executables branch.

double-beep commented 6 years ago

Hi Justin! Thanks for the explanation and the pull request, your welcome for the executables!

The lines you need to change are in MainData.asm (lines 38-47). "image"

Could you give me an example?

I mean, delete the .uci file physically from disk and then use Fritz to set-up a new engine. This is a particularly useful trick only if you have to phase-out a lot of old/obsolete engines.

Do you know the usual location of the *.uci?

double-beep commented 6 years ago

The only things that keep this issue open are the update of the description, the wiki (which means that @lantonov will come to help) and also @tthsqe12 come, also! Asmfish is very fast (🥇 ), but assembly is hard. So asmfish is back. I don't feel good with that!

double-beep commented 6 years ago

Hello @Counterply, In your previous comment with the example, you showed me how I can add sth to the end of the engine's internal name. I mean that you showed me how to change a name from asmFish_%datestamp%_%VERSION_POST% to asmFish_%datestamp%_%VERSION_POST%_mf. Is there a way to change name from asmFish_%datestamp%_%VERSION_POST% to another name? e.g. mateFish_%datestamp%_%VERSION_POST%? I would be happy if possible! 👍 :))

double-beep commented 6 years ago

Do you know when @lantonov and @tthsqe12 will return, @Counterply?

CounterPly commented 6 years ago

"Do you know the usual location of .uci?"

For me it is located at: C:\Program Files (x86)\Common Files\ChessBase\Engines.uci


"Asmfish is very fast, but assembly is hard. So asmfish is back. I don't feel good with that!"

Sorry, I am not sure what you are trying to say here. Do you have concerns about a certain commit?


"Is there a way to change name from [...] to another name?"

This modification in MainData.asm should do what you want:


"Do you know when @lantonov and @tthsqe12 will return, @Counterply?"

No, I do not know when Lyudmil and Moha will be back. I imagine they are both busy with other endeavors, but they'll be back eventually.


double-beep commented 6 years ago

For me it is located at: C:\Program Files (x86)\Common Files\ChessBase\Engines.uci

I couldn't find any .uci files. There are only .engine files

This modification in MainData.asm should do what you want:

It works! Could you do it in next commit?

No, I do not know when Lyudmil and Moha will be back. I imagine they are both busy with other endeavors, but they'll be back eventually.

Sorry, I thought you knew them.

CounterPly commented 6 years ago

No worries. Sure, I made a note to fix that as well in the next commit. Could you verify for me that "mateFinder" (as an engine name) is functional in Fritz and/or Chessbase?

double-beep commented 6 years ago

Hello Justin, Something strange happens with the code you showed me in the last comment. (Note that this 'bug' happens only with that code [not the previous one at commit cb7c53d]). I press Create UCI Engine. I insert the executable and press OK. (The name is ok, [mateFish]). When I press Add kibitzer no engine named matefish exists! But if I press Engine Management I can see mateFish in active engines! Does this seem strange to you, also?

CounterPly commented 6 years ago

Yes that is what I was referring to 3 days ago with the following messages:

Counterply: "One thing to keep in mind is that engines beginning with the word "mate" are not allowed in Fritz/Chessbase. I have no idea why this is, but that's the way it used to be. Perhaps they have fixed this bug in newer editions of Fritz, but I have not checked."

double-beep: "I think that this is not related with already exists, but ok."

Counterply: I know, I was just warning you. I once wasted a lot of time trying to figure out why mateFinder wasn't loading, and it was ultimately ChessBase's problem and not the engine's.

CounterPly commented 6 years ago

So seeing as that bug isn't fixed yet by ChessBase, I will leave the names as they currently are (i.e. with the _mf suffix). Perhaps consider contacting the ChessBase team and asking them to fix this bug.

double-beep commented 6 years ago

I have reported this to ChessBase. Maybe that bug is fixed but in ChessBase 14.

double-beep commented 6 years ago

(i.e. with the _mf suffix).

@Counterply, this confuses me. Why not renaming to mFish...?

double-beep commented 6 years ago

For the CB bug I got an the following answer:

Peter Schreiner (ChessBase) 11 Juni, 09:03 EEST Hello, thank you very much for your email. I forward a copy of your email to our developer team! Kind regards -Peter Schreiner

I will notice you if newer.

double-beep commented 6 years ago

Starting from line 40: db 'mFish' db VERSION_OS db '_' BuildTimeData db '_' db VERSION_POST else db VERSION_PRE db VERSION_OS db '_' BuildTimeData db '_' db VERSION_POST end if and ending in line 53. If this is correct, could you commit it with my notes in pull request #183?

double-beep commented 6 years ago

Thanks for applying. This issues has changed the things in asmFish a lot!

double-beep commented 6 years ago

Hi @Counterply. @tthsqe12 came back to github and updated cas! I hope he will come soon.

double-beep commented 6 years ago

@Counterply, BuildTimeData is standard or changeable? If I can change it where can I do it? [Note: No newer from ChessBase 👎 ]

CounterPly commented 6 years ago

BuildTimeData is a custom macro. It is defined in BasicMacros.asm, starting at line 72.

double-beep commented 6 years ago

ThanksALot! I hope that it ends at line 101 at the command end macro.

double-beep commented 6 years ago

Hi @Counterply, I have to offer something, just for your time and your computer. Why not letting AppVeyor do the work for you? I have tried it in my repository and it's amazing! AppVeyor builds the executables quickly and then presents them. Ah, yeah, you can also customize it to give the bench after the build without downloading it.! I have created a file named appveyor.yml in my repository which says AppVeyor how to build the repository. You are free to edit it and add it to your fork. If you want any help, I am here. @double-beep

TasicV commented 6 years ago

Hi, I have question about TTFILE. I see this file crate engine, but where and how. Is this file temporary, or like arhive file. Also in parameters you have SAVETTFILE, but I cant see any hash or other file in folder. Can you explain this parameter please?

double-beep commented 6 years ago

Hi @TasicV, The path must be FULL and include the TTFILE filename. For example: D:\TTFILE\**TT.hsh**. Then, press TTSave. When you want to load it to the same. I don't know if I am true 🤔 , but this works in my computer. @Counterply will confirm that! 🌞

TasicV commented 6 years ago

I make it alone to save file before you told me, but thank you very much. Also I must ask you then why this file in start is 4 GB?? Is this normal?

CounterPly commented 6 years ago

@TasicV

Yes that is normal. For example, if your hash setting was 4 GB and you allowed it to fill to 100% prior to saving, then your .hsh file will be 4 GB in size. If you set it to 32 GB, it will be 32 GB. Etc.

double-beep commented 6 years ago

Hi @Counterply,

There's a problem after commit d8ad316 in the gh-pages branch only as you stored all the files in *.7z and now website lantonov.githu.io/asmFish isn't working. As you also stored the old binaries in the executables branch I will put the in the 7-zip file or in the folder?

CounterPly commented 6 years ago

I'll fix gh-pages, thanks for letting me know.

7-zip file would be ideal. Git isn't meant to be hosting so many binaries (it slows things down).

double-beep commented 6 years ago

Yes, your idea was great, but where should I put the executables?

CounterPly commented 6 years ago

Putting them in a 7-zip file would be ideal.

double-beep commented 6 years ago

Thanks! I opened #198

double-beep commented 6 years ago

@Counterply Can you edit wikis?

double-beep commented 6 years ago

I am asking that as I have ready the wikis here. I am preparing an another version at the moment. You can review them when you have time.

double-beep commented 6 years ago

I have prepared the version here. I think I have put some extra details. What do you think?

CounterPly commented 6 years ago

@double-beep This looks phenomenal; thank you for taking the time to do that. I am traveling at the moment, but I will update the wiki with your contributions as soon as I am back later this evening.

double-beep commented 6 years ago

@Counterply your welcome! :)

You said you 'll have return by the evening and in my country now it's night! Just curious, what is your time zone? Mine is UTC + 3