Does each core have a history.txt or changelog viewable somewhere?

Discussion of developmental aspects of the MiSTer Project.
User avatar
ccovell
Posts: 23
Joined: Tue May 26, 2020 4:46 am
Been thanked: 5 times

Does each core have a history.txt or changelog viewable somewhere?

Unread post by ccovell »

It's nice to see cores updated, but I think it's important/essential for some to see what has changed between each version.

For example, take a look at the recent update to the NES core: :? "- Many fixes from Kitrinx"

Good to hear about many changes, but what about that one annoying bug that you've been waiting to get fixed? You won't know if it has been, without downloading the .rbf.

Is there a special place to look on GitHub for version history or changelogs?

(Of course, GitHub itself rubs me the wrong way -- next to each file is a text field showing changes in a terse way, but that really should be the place where a description for each file should go -- really newbie-unfriendly. But I'm just ranting now. Cheers!)
maxpower
Posts: 20
Joined: Tue May 26, 2020 7:34 pm

Re: Does each core have a history.txt or changelog viewable somewhere?

Unread post by maxpower »

You can check out the commit history on github, for example for the nes core:
https://github.com/MiSTer-devel/NES_MiS ... its/master

Some you will only see a 1 line commit message, but others will have a number link beside it that will show you a pull request, which often has a more detailed description. Like for example the commit "APU rewrite" by Kitrinx has a link to pull request 194 (#194), which has some details on what is in there:
https://github.com/MiSTer-devel/NES_MiSTer/pull/194

You can also look at the actual code changes in the commit to get an idea of what is changed.
dshadoff
Core Developer
Posts: 547
Joined: Sun May 24, 2020 9:30 pm
Has thanked: 20 times
Been thanked: 145 times

Re: Does each core have a history.txt or changelog viewable somewhere?

Unread post by dshadoff »

Just to clarify, in case you haven't navigated GitHub in the past, many of the informational objects are clickable, without being obvious.
If you go to the repository, you will see a row of items which are obviously clickable: Code / Issues / Pull Requests / etc.

Clicking on 'Code' brings up the source tree, a few buttons like 'Clone', and a header line which identifies latest commit, number of total commits, etc.
-> You can click on the "457 Commits" comment to get a list of them

-> Within that page, you can see a list of commits with associated commit messages. Here, you can click on the title of the commit (i.e. "Use message to notify disk change)... this will take you to another page, where each of the files committed - and the deltas within the code - are listed in detail.

On the flipside of this, if you are looking for human-readable comments (where the humans aren't programmers), those are pretty sparse in these cores...
dshadoff
Core Developer
Posts: 547
Joined: Sun May 24, 2020 9:30 pm
Has thanked: 20 times
Been thanked: 145 times

Re: Does each core have a history.txt or changelog viewable somewhere?

Unread post by dshadoff »

Just my luck. The day I make a statement about GitHub's user interface, they replace it and jumble it around a bit.
I don't think the update changes the substance of what I said above, but it did break some scripts like the update script (now fixed)...
If you still have trouble finding the information you need, please ask again.
User avatar
pgimeno
Top Contributor
Posts: 709
Joined: Thu Jun 11, 2020 9:44 am
Has thanked: 277 times
Been thanked: 226 times

Re: Does each core have a history.txt or changelog viewable somewhere?

Unread post by pgimeno »

ccovell wrote: Mon Jun 22, 2020 11:15 pm For example, take a look at the recent update to the NES core: :? "- Many fixes from Kitrinx"

Good to hear about many changes, but what about that one annoying bug that you've been waiting to get fixed? You won't know if it has been, without downloading the .rbf.
It's a reasonable question, but unfortunately the answer is not always available, and this one is a good example.

By looking at the commit history, as dshadoff has pointed out, you can see that the main thing that happened in the NES core is this:
If you click on the link that '#194' points to, you can see that it was a pull request with the following text:
This fixes several issues:
-Fix frame counter IRQ timing
-Fix cold boot timing for DMC and Noise Channels
-Adjust channel balance with MDFourier and add precision to LUTs
-Fix Length counter edge case timing
-Add phase accurate behavior to all channels
-Fix frequency timing of noise channel in PAL mode
-Fix 4017 write edge case timing in several situations
-Fix visibility timing of writes in several situations (they were delayed one cycle)
-Other code cleanup. Basically a full rewrite though there may be a few vestigial signal names from the old implementation.
Will this fix the specific issue of a game you played which had an issue? It's hard to know from the descriptions. For example, if the cause of the issues was IRQ timing, the IRQ timing fix may have fixed it. But from the symptoms, it's often hard to tell which games were fixed without going through each one and checking. Furthermore, there may be more non-mentioned fixes, and even new problems, caused by this APU rewrite.

So in the end, the only way to know if a certain issue was fixed, is to try it out. If it wasn't, consider filing an issue for it, as it might not be known. Filing issues is one other way we can contribute back for what we're given.
Post Reply