Page 1 of 2

Stuttering Atmos

Posted: Sun Mar 16, 2014 10:13 am
by Hialmar
Hi,

As I have said in other forums my Atmos has a graphic problem.
I have given it to Fabrice Francès and here is what he found: apparently the ULA is half dead.
Characters are displayed in double as if the poor guy was stuttering.

Anyone saw anything like this before ?

Fabrice will try to change the ULA but as that means cutting and later soldering 40 pins he wanted to ask if anyone saw something similar and has any other solution.

Re: Stuttering Atmos

Posted: Sun Mar 16, 2014 11:09 am
by Xeron
I think you mean ULA :) To change the ALU he'd have to cut open the 6502 and remove and replace a section of the die!

It looks like the bit 0 address line to the ULA is stuck.

Edit: Which means the problem could be on the PCB trace to the ULA, or inside the ULA. An oscilloscope on that pin of the ULA would tell you if it is always 0v, or if it is toggling.

Re: Stuttering Atmos

Posted: Sun Mar 16, 2014 11:21 am
by Dbug
Never saw that :)

Interestingly, the characters are duplicated but not the pixels inside the characters, so that's probably not a bus access issue.

Re: Stuttering Atmos

Posted: Sun Mar 16, 2014 4:11 pm
by kenneth
Maybe pin 38 of ULA 10017 is disconnected...
But the memory refresh cycle could it work in this case ?

Re: Stuttering Atmos

Posted: Sun Mar 16, 2014 4:38 pm
by Godzil
Maybe A0 is stuck on the 6502 side and not the dram ?

Re: Stuttering Atmos

Posted: Sun Mar 16, 2014 5:02 pm
by Dbug
If the 6502 was in cause, would it be able to write the messages without crashing?

Re: Stuttering Atmos

Posted: Sun Mar 16, 2014 5:40 pm
by Hialmar
Sorry for my mistake with ALU/ULA.

I will correct it in the first message.

Re: Stuttering Atmos

Posted: Sun Mar 16, 2014 7:44 pm
by Xeron
Dbug wrote:Never saw that :)

Interestingly, the characters are duplicated but not the pixels inside the characters, so that's probably not a bus access issue.
It is reading all the even RAM addresses, so it does appear to be an address bit 0 issue. It could be between the ULA and RAM, but not between ULA and ROM.

Re: Stuttering Atmos

Posted: Sun Mar 16, 2014 9:33 pm
by Godzil
Xeron wrote:
Dbug wrote:Never saw that :)

Interestingly, the characters are duplicated but not the pixels inside the characters, so that's probably not a bus access issue.
It is reading all the even RAM addresses, so it does appear to be an address bit 0 issue. It could be between the ULA and RAM, but not between ULA and ROM.
Yes, but the charset is not stored in the ROM but in DRAM

Re: Stuttering Atmos

Posted: Sun Mar 16, 2014 9:54 pm
by Xeron
Clearly the 6502 is executing the ROM correctly (and also must be reading/writing RAM correctly), and the ULA is reading the char ram correctly, but is reading the screen ram with bit 0 stuck at 0.

So it looks very much like a busted ULA.

Re: Stuttering Atmos

Posted: Sun Mar 16, 2014 10:18 pm
by Dbug
Could you try to see how it behave in HIRES mode?

Code: Select all

HIRES
CURSET 120,100,1
CIRCLE 99,1

Re: Stuttering Atmos

Posted: Mon Mar 17, 2014 9:47 am
by Hialmar
Thanks for your advices I will forward them to Fabrice who has the Atmos right now.

Re: Stuttering Atmos

Posted: Mon Mar 17, 2014 10:15 am
by Godzil
Hialmar wrote:Thanks for your advices I will forward them to Fabrice who has the Atmos right now.
If he could unsolder the ULA without cutting the pins it will be interesting to test this ULA on another Oric

Re: Stuttering Atmos

Posted: Mon Mar 17, 2014 11:31 am
by Euphoric
Hi guys, I didn't know that Patrice was going to post here, thanks for your interest...

Unfortunately, you didn't look closely enough at the screen... :wink:
(but I must admit I didn't notice it at first too, and my first conclusions were about the same : the ram is ok otherwise the Basic won't be able to execute right, so I thought the problem was lying between pin 38 of the ULA and the LS247 address multipler).
But no, if there were a stuck address line A0 on this dedicated track between the ULA and the LS247, then the characters would appear deformed : every even line would be doubled...

When in text mode, there are three memory cycle per processor cycle (remember the processor cycle is asymetric: 1/3 - 2/3): one memory access for the cpu during the first part of the processor cycle, two memory accesses for the ULA during the second part of the processor cycle.
So the memory cycle for the cpu is ok, the problem is on the first memory access of the ULA (screen memory access), while the second memory access of the ULA is ok (character definition access).

Funny enough, I did try also the same test with a maximally-sized CIRCLE in HIRES, but the change of the video mode was not seen by the ULA (because the hires video attribute is written to BFDF, an odd address), so switching to HIRES mode also required to POKE the hires video attribute to an even address... and yes, the same strange thing happens in hires mode : some parts of the circle are repeated (those bytes on even addresses), some parts of the circle disappear (those bytes on odd addresses).

So, I am going to borrow an oscilloscope to look at the output of ULA pin 38, but I guess I will not escape replacing the ULA...
This is the first time I see such a partially out of order ULA...


Cheers,

Fabrice

Re: Stuttering Atmos

Posted: Mon Mar 17, 2014 1:34 pm
by Chema
Hey Fabrice!

Nice to read you back in these forums... I'd love to see you popping up more often from now on :)

This was quite a tricky one. Do you have replacements for the ULA? I think I posted something about one guy selling them on eBay recently....

Cheers!