Jump to content
IGNORED

Testing the new Stella TIA core


stephena

Recommended Posts

I just checked out your repo and compared the SHAs of the master HEAD (that's the youngest commit) and it matches stella. As each SHA1 contains the SHAs of its ancestors, this gurantees that the branches are indeed identical. I am not sure what's going on with github's compare function; I think this might be just a bug. I'd ignore it ;)

 

 

Thanks!

 

 

I've also learned how to use Github a little better over the past few weeks, and fixed some the issues in the process of merging. When you sent the merge request, it actually included 5 merges and then one commit for CDF changes. I figured out how to combine all these into one commit; just the CDF one. So now when you look at the commit history, you see only the CDF commit, just as it should be.

 

 

Yeah, I noticed it had included those "Merge remote-tracking branch 'stella-emu/master'" entries when I created the pull. Thought it was odd since they had 0 files for each of them.

Link to comment
Share on other sites

Yeah, I noticed it had included those "Merge remote-tracking branch 'stella-emu/master'" entries when I created the pull. Thought it was odd since they had 0 files for each of them.

 

That's expected behavior. Merging in git merges all changes and creates a new commit that has both branches as parents. As such, the history contains all commits from both branches, irrespectively of their individual content. There are two ways to avoid this:

 

  • Do a rebase instead of a merge when pulling in changes from another branch. On the CLI that's "git pull --rebase", but there is an option for that in every GUI, I guess. This will not merge in the remote branches, but rewind your branch to the fork point, fast-forward to the remote state and then replay all your commits on top of that, thus rewriting history from the point the branches last forked. This avoids the merge commits.
  • Squash your commits before creating the pull requests. Again, this rewrites history by combining your changes into one or more large commits, and you can eliminate any unwanted merge commits in the process. This is a bit tricky from the CLI, but GUIs usually offer this, too, and github let's the merging side do this in the web gui (that's what Stephen did).

If you want to play around with this: just create a local copy of your repo beforehand. If anything goes wrong, you can just replace the broken repo with your copy ;)

Link to comment
Share on other sites

Yes, I forgot to mention that one; I will update the changelog. The new TIA core has caching and performance work, as DirtyHairy stated, so ideally the TIA core should be tested again. So try to play as many ROMs as possible and report any issues.

  • Like 1
Link to comment
Share on other sites

Yes, I forgot to mention that one; I will update the changelog. The new TIA core has caching and performance work, as DirtyHairy stated, so ideally the TIA core should be tested again. So try to play as many ROMs as possible and report any issues.

 

Note to myself: tackle automated regression testing :ponder:

Link to comment
Share on other sites

I've committed the BUs changes, however it automatically included all of the "merge commits" again. I don't see a way to remove them.

 

There's also a conflict with the CartBUSWidget. I did a major overhaul, it's not just colon removal.

Link to comment
Share on other sites

stephena - everything looks right now. In my repository it now shows me 1 behind (as expected) and I'm no longer "x commits ahead":

 

post-3056-0-35790100-1494189465_thumb.png

 

 

 

When I look at the commits for stella-emu I see this:

post-3056-0-06965100-1494189510_thumb.png

 

 

 

And when I look at the details I see what I expect to see, none of those "Merge remote-tracking branch 'stella-emu/master'" show up, so it looks like whatever you did this go around is the correct procedure.

post-3056-0-43769000-1494189565_thumb.png

Link to comment
Share on other sites

It might have worked in that now you're up to date, but it isn't the ideal way to do it, since the history is now littered with merge commits when it doesn't need to be. The proper approach is explained in the other thread on github. Basically, you have to resolve the issues on your end before you send a merge request to me.

Link to comment
Share on other sites

A comment regarding the sound in Sky Diver (Atari)..

 

I noticed a slight warbling or phasing in and out that seems to show up from time to time. Almost like an underwater resonance of some sort. I think it's there on all recent versions of Stella from 3.9.3 up.

 

Sky_Diver_warble.mp3

Sky_Diver_normal.mp3

 

Now it is possible that it is my setup and due to CPU throttling. Busy-Wait seems to lessen the occurrence vs Sleep. So if you can't duplicate it within 10 or so passes of the airplanes, then it's not a big deal and I'll look into my rig a little more.

 

---

 

Additionally, and I know this isn't a problem with stella.. Why do the engine sounds change when 1 jumper jumps, and then totally stop when both jumpers are in the air? Is that supposed to be true-to-life? Or some limitation of programming knowledge back then?

Link to comment
Share on other sites

Both channels are playing the same sound while both divers are still in the plane. When one diver is jumping, IMO the sound gets more clean (can you confirm that?). So, most likely there is some interference between the two channels happening here.

 

As for the engine sound stopping:

  • Either it might meant to be true-to-life. You are the diver, so when you jump out of the plane, the engine sound is gone.
  • Or the game is just 2K, so most like the logic is simplified (one fix channel per player with identical triggers) to save ROM space.
  • But probably both :)
Link to comment
Share on other sites

We have a new sound core that may well fix any issues currently in Stella, so we won't be working improving the current sound code at all. This new core was due to be added to the 5.0 release, but it looks like it will have to come later.

Link to comment
Share on other sites

 

Both channels are playing the same sound while both divers are still in the plane. When one diver is jumping, IMO the sound gets more clean (can you confirm that?). So, most likely there is some interference between the two channels happening here.

 

Yes I hear that too.

Link to comment
Share on other sites

cd-w was able to update the Harmony/Melody CDF Driver handle the false read that occurs during the BNE loop/JMP $0000 without crashing the program.

 

I've finished a minor update to CDF to fix the same issue in Stella, however my github repository looks like this:

post-3056-0-79424000-1494538870.png

 

so it looks like the "merge" issue is ready to rear its ugly head again.

 

I'm tired of fighting with git, so am asking step by step what instructions I need to enter into the terminal so I can do the rebase, and commit the changes to my repository so I can initiate the pull request.

 

 

my current git status and remote info. Anything other info needed?

post-3056-0-19637100-1494538938_thumb.png

 

 

Link to comment
Share on other sites

I'm tired of fighting with git, so am asking step by step what instructions I need to enter into the terminal so I can do the rebase, and commit the changes to my repository so I can initiate the pull request.

 

In order to rebase your current work on the remote master, do a

git pull --rebase upstream master

"upstream" is the name of the remote end as configured by XCode, and master is the branch you want to pull from. In order to to list all remotes (there should be two), do

git remove -v

The rebase works by rewinding your local branch, pull in the remote changes and then reapplying all your commit on top of those, so there is no merge commit. If there are any conflicting changes, git will try to merge them sensibly. If it can't, the rebase will pause and you will be prompted to resolve the conflict. I.e., if the is a conflict in "src/foo.cxx", you edit the file, resolve the conflict and then do

git add src/foo.cxx
git rebase --continue

to continue the rebase. You can abort the paused rebase by doing

git rebase --abort

Hope this helps :)

Link to comment
Share on other sites

Thanks! Part of the issue is I've been trying to figure it out while fighting this nasty bug. Working from home means I can normally suffer through the work day while sick, but this one's been bad enough that I took off Monday and Tuesday. Still have a slight headache and fever.

 

Darrells-Mac-Pro:stella darrellspice$ git remote -v
origin https://github.com/SpiceWare/stella.git (fetch)
origin https://github.com/SpiceWare/stella.git (push)
stella-emu https://github.com/stella-emu/stella.git (fetch)
stella-emu https://github.com/stella-emu/stella.git (push)

Darrells-Mac-Pro:stella darrellspice$ git pull --rebase stella-emu master
error: Cannot pull with rebase: You have unstaged changes.

Darrells-Mac-Pro:stella darrellspice$

I imagine the staging is something Xcode normally handled for me. Anyhow I need to get back to work, so will look into this more later.

  • Like 1
Link to comment
Share on other sites

On my lunch break and think I've got this figured out now. Just in case of conflict I quit Xcode before I issued these 3 commands via Terminal:

  1. git stash
  2. git pull --rebase stella-emu master
  3. git stash pop

which saved my work in a temp location, did the rebase, then restored my work. before/after each step I did a git status command and the results at each step made sense.

 

I then relaunched Xcode and did the Source Control->Commit like I've been doing. Finally I went to github and saw what I expected to see (namely that I'm no longer behind in commits):

post-3056-0-81428500-1494611613_thumb.png

 

And created a new pull request.

  • Like 1
Link to comment
Share on other sites

Been quite on my front, not due to lack of testing with the betas - just lack of finding anything. ;)

 

Regardless, testing at least the following sample list of retail games with every beta release is my goal. Finishing up with beta 7 for the below list, and recalled wanting to make mention of it, just as an FYI...

 

 

Adventure (1980) (Atari).bin
Adventures of Tron (1982) (Mattel).bin
Amidar (1982) (Parker Bros).bin
Asteroids (1981) (Atari).bin
Astroblast (1982) (Mattel).bin
Bank Heist (1983) (20th Century Fox).bin
Barnstorming (1982) (Activision).bin
Battlezone (1983) (Atari).bin
Beamrider (1984) (Activision).bin
Berzerk (1982) (Atari).bin
Blueprint (1983) (CBS Electronics).bin
BMX Air Master (1989) (TNT Games).bin
Bowling (1979) (Atari).bin
Boxing (1980) (Activision).bin
Breakout (1978) (Atari).bin
Buck Rogers - Planet of Zoom (1983) (Sega).bin
Bump 'n' Jump (1983) (Mattel).bin
BurgerTime (1983) (Mattel).bin
California Games (1988) (Epyx).bin
Carnival (1982) (Coleco).bin
Centipede (1982) (Atari).bin
Chopper Command (1982) (Activision).bin
Circus Atari (1980) (Atari) (Joystick).bin
Color Bar Generator.bin
Color Test (26-09-2002) (Eckhard Stolberg).bin
Combat (1977) (Atari).bin
Commando (1988) (Activision) [a].bin
Congo Bongo (1983) (Sega).bin
Cosmic Ark (1982) (Imagic).bin
Crack'ed (1987) (Atari) (Prototype).bin
Crackpots (1983) (Activision).bin
Crazy Climber (1982) (Atari).bin
Crossbow (1987) (Atari).bin
Crystal Castles (1984) (Atari).bin
Dark Cavern (1982) (Mattel).bin
Dark Chambers (1988) (Atari).bin
Decathlon (1983) (Activision).bin
Defender (1982) (Atari).bin
Defender II (1988) (Atari).bin
Demon Attack (1982) (Imagic).bin
Desert Falcon (1987) (Atari).bin
Dig Dug (1983) (Atari).bin
Dolphin (1983) (Activision).bin
Donkey Kong (1987) (Atari).bin
Donkey Kong Junior (1983) (Coleco).bin
Dragonfire (1982) (Imagic).bin
Dragster (1980) (Activision).bin
E.T. - The Extra-Terrestrial (1982) (Atari).bin
Enduro (1983) (Activision).bin
Fast Eddie (1982) (20th Century Fox).bin
Fathom (1983) (Imagic).bin
Fishing Derby (1980) (Activision).bin
Frankenstein's Monster (1983) (Data Age).bin
Freeway (1981) (Activision).bin
Frogger (1982) (Parker Bros).bin
Frogger II (1984) (Parker Bros).bin
Frogs and Flies (1982) (Mattel).bin
Front Line (1984) (Coleco).bin
Frostbite (1983) (Activision).bin
G.I. Joe - Cobra Strike (1983) (Parker Bros).bin
Galaxian (1983) (Atari).bin
Ghostbusters (1985) (Activision).bin
Gorf (1982) (CBS Electronics).bin
Grand Prix (1982) (Activision).bin
Gravitar (1983) (Atari).bin
Gremlins (1984) (Atari).bin
Gyruss (1984) (Parker Bros).bin
H.E.R.O. (1984) (Activision).bin
Halloween (1983) (Wizard Video Games).bin
Haunted House (1982) (Atari).bin
Human Cannonball (1979) (Atari).bin
Ice Hockey (1981) (Activision).bin
James Bond 007 (1983) (Parker Bros).bin
Journey Escape (1982) (Data Age).bin
Joust (1983) (Atari).bin
Jr. Pac-Man (1984) (Atari) [a].bin
Jungle Hunt (1983) (Atari).bin
Kaboom! (1981) (Activision).bin
Kangaroo (1983) (Atari).bin
Keystone Kapers (1983) (Activision).bin
Krull (1983) (Atari).bin
Kung-Fu Master (1987) (Activision).bin
Lock 'n' Chase (1982) (Mattel).bin
Mario Bros. (1983) (Atari).bin
Masters of the Universe (1983) (Mattel).bin
Maze Craze (1980) (Atari).bin
MegaMania (1982) (Activision).bin
Midnight Magic (1984) (Atari).bin
Millipede (1984) (Atari).bin
Miner 2049er (1982) (Tigervision).bin
Miner 2049er Volume II (1983) (Tigervision).bin
Missile Command (1981) (Atari).bin
Montezuma's Revenge (1984) (Parker Bros).bin
Moon Patrol (1983) (Atari).bin
Mountain King (1983) (CBS Electronics).bin
Mouse Trap (1982) (Coleco).bin
Mr. Do! (1983) (Coleco).bin
Mr. Do!'s Castle (1984) (Parker Bros).bin
Ms. Pac-Man (1982) (Atari).bin
Oink! (1983) (Activision).bin
Outlaw (1978) (Atari).bin
Pac-Man (1981) (Atari).bin
Pengo (1983) (Atari) (Prototype).bin
Phoenix (1982) (Atari).bin
Pitfall II (1984) (Activision) [!].bin
Pitfall! (1982) (Activision).bin
Plaque Attack (1983) (Activision).bin
Pole Position (1983) (Atari).bin
Popeye (1983) (Parker Bros).bin
Pressure Cooker (1983) (Activision).bin
Private Eye (1983) (Activision).bin
Q-bert (1983) (Parker Bros).bin
Q-bert's Qubes (1984) (Parker Bros) [a].bin
Quadrun (1983) (Atari).bin
Quest for Quintana Roo (1989) (Telegames).bin
Raiders of the Lost Ark (1982) (Atari).bin
River Raid (1982) (Activision).bin
River Raid II (1988) (Activision) [a].bin
Road Runner (1989) (Atari).bin
Roc 'n Rope (1984) (Coleco).bin
Seaquest (1983) (Activision).bin
Secret Quest (1989) (Atari).bin
Sinistar (1984) (Atari) (Prototype).bin
Skate Boardin' (1987) (Absolute).bin
Skiing (1980) (Activision).bin
Smurf - Rescue in Gargamel's Castle (1982) (Coleco).bin
Sneak 'n Peek (1982) (U.S. Games).bin
Snoopy and the Red Baron (1983) (Atari).bin
Solaris (1986) (Atari).bin
Sorcerer's Apprentice (1983) (Atari).bin
Space Attack (1982) (Mattel).bin
Space Invaders (1978) (Atari) [!].bin
Spider Fighter (1983) (Activision).bin
Spider-Man (1982) (Parker Bros).bin
Spy Hunter (1984) (Sega).bin
Stampede (1981) (Activision).bin
Star Wars - Death Star Battle (1983) (Parker Bros).bin
Star Wars - Jedi Arena (1983) (Parker Bros).bin
Star Wars - The Arcade Game (1983) (Parker Bros).bin
Star Wars - The Empire Strikes Back (1982) (Parker Bros).bin
Stargate (1984) (Atari).bin
Street Racer (1977) (Atari).bin
Summer Games (1987) (Epyx).bin
Super Breakout (1982 - 1981) (Atari).bin
Super Cobra (1982) (Parker Bros).bin
Superman (1979) (Atari).bin
Swordquest - EarthWorld (1982) (Atari).bin
Swordquest - FireWorld (1982) (Atari).bin
Swordquest - WaterWorld (1983) (Atari).bin
Tac-Scan (1982) (Sega).bin
Tapper (1983) (Sega).bin
Taz (1983) (Atari).bin
Time Pilot (1983) (Coleco).bin
Title Match Pro Wrestling (1987) (Absolute).bin
Track and Field (1984) (Atari).bin
Tron - Deadly Discs (1982) (Mattel).bin
Tutankham (1983) (Parker Bros).bin
Up 'n Down (1984) (Sega).bin
Vanguard (1982) (Atari).bin
Venture (1982) (Coleco).bin
Warlords (1981) (Atari).bin
Winter Games (1987) (Epyx).bin
Wizard of Wor (1982) (CBS Electronics).bin
Yars' Revenge (1982) (Atari).bin
Zaxxon (1982) (Coleco).bin

 

 

Certainly, I am no expert in all the above games by any stretch of the imagination, but still give each title a good play through for a least a few minutes to see if anything is wrong. Looking most excellent, gents...Fantastic work!

  • Like 1
Link to comment
Share on other sites

  1. git stash
  2. git pull --rebase stella-emu master
  3. git stash pop

That's just what I was going to suggest yesterday evening, but I collapsed in my bed before I could turn on my laptop :) Basically, that's what I do when pulling changes in any git project (private or work), too. To clear up the terminology: a change becomes staged when you add it with "git add" (or by doing a "git commit -a" which stages all changes to the working directory and initiates a commit). You can unstage staged changes by doing "git reset".

 

Doing "git stash" will create a diff of all your changes and store it away on a stack; "git stash pop" will remove the changes from the stack and restore them. There is also a "git stash apply" that will restore the changes without removing them from the stack.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...