Jump to content
IGNORED

Pitkat


MarcoJ

Recommended Posts

  • 1 month later...

Hi Marco,

 

Thank's for a fantastic game

 

Can get it to run on PlusCart + Atari 2600(4 switcher, Sunnyvale). Fails with the Harmony Encore.

 

It fails on Atari 7800 with both PlusCart and Harmony Encore.

 

Changed to e7, no diffrence.

 

 

 

 

  • Thanks 1
Link to comment
Share on other sites

5 hours ago, xkenx said:

Hi Marco,

 

Thank's for a fantastic game

 

Can get it to run on PlusCart + Atari 2600(4 switcher, Sunnyvale). Fails with the Harmony Encore.

 

It fails on Atari 7800 with both PlusCart and Harmony Encore.

 

Changed to e7, no diffrence.

 

 

 

 

Same - with my Atari 2600 light 6er PAL and Harmony most the time crashes and with PlusCard runs alway perfect. 

Link to comment
Share on other sites

5 hours ago, xkenx said:

Hi Marco,

 

Thank's for a fantastic game

 

Can get it to run on PlusCart + Atari 2600(4 switcher, Sunnyvale). Fails with the Harmony Encore.

 

It fails on Atari 7800 with both PlusCart and Harmony Encore.

 

Changed to e7, no diffrence.

 

 

 

 

Hello, thanks for trying the game and the report. I think you are #4 that’s reported this issue. Does it make a constant droning tone when it fails? My theory at the moment is that the game draws more current than a normal game and subsequently causes an undervoltage glitch on some systems. On some users consoles, it will fail after the game plays for several minutes.

 

cheers

Marco

Link to comment
Share on other sites

10 hours ago, MarcoJ said:

Hello, thanks for trying the game and the report. I think you are #4 that’s reported this issue. Does it make a constant droning tone when it fails? My theory at the moment is that the game draws more current than a normal game and subsequently causes an undervoltage glitch on some systems. On some users consoles, it will fail after the game plays for several minutes.

 

cheers

Marco

So now we need a table of current draw for each 6507 opcode, and make sure we write our games within a power vs time budget ;)

 

 

 

  • Haha 1
Link to comment
Share on other sites

2 minutes ago, Andrew Davie said:

So now we need a table of current draw for each 6507 opcode, and make sure we write our games within a power vs time budget ;)

 

 

 

Haha yeah. It is a wierd one.  I wonder if it has something to do with writing a lot to the cart ram, especially in the first few frames of it turning on. Would also be interesting to see if adding some extra capacitance on the 5v rail helped, or cleaning cart connectors. It used to happen on ZPH’s console last year and then stopped after the console was replaced with another. 

Link to comment
Share on other sites

12 minutes ago, MarcoJ said:

Haha yeah. It is a wierd one.  I wonder if it has something to do with writing a lot to the cart ram, especially in the first few frames of it turning on. Would also be interesting to see if adding some extra capacitance on the 5v rail helped, or cleaning cart connectors. It used to happen on ZPH’s console last year and then stopped after the console was replaced with another. 

Many many years ago I wrote a NES game that failed on just one of the 23 different variants of NES that Nintendo tested on. But only after the game had been running for a few hours. Imagine trying to find that one. They flew me to Washington and took me to a room where my game was running (and glitching). I said "that's a hardware problem" and they said "that's a software problem", and so I asked for some Freon and we sprayed it on the NES and my game started working properly again. It turned out to be the dynamic RAM in the NES was losing content right on the edge of the frequency I was refreshing it. Cool the machine down with freon, and that changed the data loss of the RAM and my program worked again. The solution was simple - refresh the RAM contents more frequently. Nintendo retired that particular model from "your game must run on this variant of our machine" after that issue; there were apparently only "3 or 4" of them in the entire USA anyway :)

 

My point being, especially with the '2600, we're right on the edge of interacting with hardware which may very well be affected by heat, current variations and who knows what else. Look at the recent PlusCart 32-char glitching for example; I had a machine which I could cause to glitch at will just by applying IPA (cooling) or hairdryer (heating).

 

 

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

3 hours ago, Andrew Davie said:

Many many years ago I wrote a NES game that failed on just one of the 23 different variants of NES that Nintendo tested on. But only after the game had been running for a few hours. Imagine trying to find that one. They flew me to Washington and took me to a room where my game was running (and glitching). I said "that's a hardware problem" and they said "that's a software problem", and so I asked for some Freon and we sprayed it on the NES and my game started working properly again. It turned out to be the dynamic RAM in the NES was losing content right on the edge of the frequency I was refreshing it. Cool the machine down with freon, and that changed the data loss of the RAM and my program worked again. The solution was simple - refresh the RAM contents more frequently. Nintendo retired that particular model from "your game must run on this variant of our machine" after that issue; there were apparently only "3 or 4" of them in the entire USA anyway :)

 

My point being, especially with the '2600, we're right on the edge of interacting with hardware which may very well be affected by heat, current variations and who knows what else. Look at the recent PlusCart 32-char glitching for example; I had a machine which I could cause to glitch at will just by applying IPA (cooling) or hairdryer (heating).

 

 

 

Wow, that's fascinating that temperature might affect it and be "on edge" ready to spuriously glitch. I tend to think that's what happens, temperature or current fluctuations. 

Link to comment
Share on other sites

2 hours ago, Thomas Jentzsch said:

Have you thought about a programming error which does not fail on all consoles (like a missing '#') and is not emulated correctly by Stella?

Hi Thomas,

 

This has crossed my mind a few times. I do wish it is something that simple. In the early days quite a few of those programming errors of reading zero page addresses instead of immediate values were found, one spectacular rolling one by omegamatrix. There's a few anecdotes that has lead me to think it's something temperamental like undervoltage or thermal glitches. There's been about 4 reports of the failure.


1. ZPH's old system from last year would be able to load the game and play for several minutes. After a few levels it would stop working. The place it would fail was variable. What's more, the system wouldn't be able to play other games/load harmony for a few minutes. It could then play Pitkat again but would fail after a few levels. If the console was left for a long period it would play the game for the longest before glitching. It was like something thermal was at play. 
2. There's been reports of the game working fine with Pluscart, but failing with Harmony with the console being common between them. The only difference I can think of is Pluscart might be pulling less current than a Harmony. This tells me the system processor is excluded from being a factor at play that will predictably react to unusual code, since both carts are executing or trying to execute the same code. 

 

 

 

I think perhaps the way to catch this might be for an enthusiastic owner of a console which exhibited the behaviour could try things like: Freeze/Heat components, add 5V capacitance, clean cart connectors. It would be fascinating to finally discover the heart of the issue.

Link to comment
Share on other sites

1 hour ago, MarcoJ said:

What's more, the system wouldn't be able to play other games/load harmony for a few minutes.

Hm, that is indeed a good evidence. Now we should try to find out what code causes the problem, because there are a lot of other homebrews which do really a lot or RAM writing. 

1 hour ago, MarcoJ said:

There's been reports of the game working fine with Pluscart, but failing with Harmony with the console being common between them.

There could be a difference (RIOT, TIA states) between the carts when entering your game. Or maybe there is a driver or CPU bug in the Harmony.

 

I am just asking because I learned from my own experience that the root cause of 99.9% bugs sits between the ears. :) 

Link to comment
Share on other sites

17 hours ago, Thomas Jentzsch said:

There could be a difference (RIOT, TIA states) between the carts when entering your game. Or maybe there is a driver or CPU bug in the Harmony.

I have wondered about this RIOT chip. It has some of the 32 registers that aren't listed and used in the generic VCS guides. I imagine some other computers might used them (edge detection?) Pitkat zeros all the zero page before starting so that takes care of TIA, but it doesn't try to zero the RIOT. I have wondered if maybe one of these gets into a bad state. What's your advice on dealing with the power on states of the RIOT chip?

Link to comment
Share on other sites

On 6/13/2021 at 11:13 PM, MarcoJ said:

Does it make a constant droning tone when it fails?

Yes and the screen goes black.

 

I have now also tested it on my Atari 2600 Vader(PAL). On this it works with both Harmony Encore & PlusCart.

 

Regards

Ken

Link to comment
Share on other sites

16 minutes ago, xkenx said:

Yes and the screen goes black.

 

I have now also tested it on my Atari 2600 Vader(PAL). On this it works with both Harmony Encore & PlusCart.

 

Regards

Ken

Thanks for the feedback Ken. What is interesting about this failure, is that it generally fails at the same place - just after TIATracker has fetched the first note and the screen has begun writing for the first time. I have attached a test for your Sunnyvale NTSC console, can you please try it? This is a stress tester routine that continually plays video and should likely fail too.

SIMPSONS E716k V2.bin

Link to comment
Share on other sites

On 6/15/2021 at 6:23 PM, xkenx said:

 

When selecting the game you see the Harmony logo and then the screen turns black with the "droning tone".

 

The same thing happens when I run SIMPSONS E716k V2.bin

 

/Ken

Thanks for the report Ken. I just got a Pluscart and found that Pitkat will only partially work on my Atari 7800. It makes it to the "Have you played Atari Today?" Screen and crashes. Also, The Simpsons rom also crashes immediately upon loading. However, on my NTSC 4 switcher all work fine. I will experiment with the 7800 and see what prevents it breaking.

 

Cheers

Marco

Link to comment
Share on other sites

OK, have the first results of tinkering with the 7800.

 

1. Tried increasing capacitance on the 5V rail, extra 220uF added. To rule out transient under-voltage. Did not change the result.

2. Tried powering the pluscart with USB 5V power, as well as the Atari 7800 with it's standard power, to try rule out undercurrent. Did not change result.

 

Based on this result, it's seems unlikely the crash is caused by transient phenomena. 

 

Tried Pitkat R3 this time (tried R2 before). It is able to make it into a level, but moving a few spaces crashes the game. 

 

 

 

 

 

 

Link to comment
Share on other sites

3 minutes ago, Thomas Jentzsch said:

Have you tried my Elite demo? It uses E7 bankswitching too. 

Do you mean the Thargon demo? I tried that, and interestingly it does an "emulation exit" immediately upon loading. For Pitkat, it seems to always do this when pressing the left direction while in the game. However, when in the menus, using left and right is OK. 

 

I wonder if this is just a quirk of the 7800. I will test it on my 2600 next, expecting it will work OK. 

Link to comment
Share on other sites

1 hour ago, MarcoJ said:

Do you mean the Thargon demo?

There is more than just a Thargon. :) 

1 hour ago, MarcoJ said:

I tried that, and interestingly it does an "emulation exit" immediately upon loading.

Yes, with default developer settings it exits (IIRC a read from write port). 

27 minutes ago, MarcoJ said:

Wow. Just tried the Elite Demo you pointed me to. It also emulation exits, but the Pluscart screen kernel gets messed up. Still functional though.

Looks like some initialization code is missing in the PlusCart for this case.

Link to comment
Share on other sites

9 minutes ago, Thomas Jentzsch said:

Yes, with default developer settings it exits (IIRC a read from write port). 

Interesting. Is this function selective if it's run on a 2600 or a 7800? On my 2600, elite works on pluscart without going back to the menu. It's only on the 7800 that it does the emulation exit.

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...