STE refurb/repair attempt went sideways (garbled/black screen on boot)

Problems with your machine in general.
User avatar
exxos
Site Admin
Site Admin
Posts: 23493
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: STE refurb/repair attempt went sideways (garbled/black screen on boot)

Post by exxos »

Chain-Q wrote: Tue Jun 07, 2022 6:28 pm If I can speculate, it might be related to the startup of the PSU.
You might be onto something. As @stephen_usher user mentions the exxos PSU seems worse as well, likely also due to slower start up. I guess your bench PSU is "full on" power and starts up quicker than even the stock PSU.

I guess the thing would be to mark on your PSU voltage (assuming dial) where 5V is, and manually turn up the voltage at different rates to see if can be replicated.
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
User avatar
stephen_usher
Posts: 5578
Joined: Mon Nov 13, 2017 7:19 pm
Location: Oxford, UK.
Contact:

Re: STE refurb/repair attempt went sideways (garbled/black screen on boot)

Post by stephen_usher »

From what I can remember the NetUSBee uses CMOS buffer chips to buffer the data onto the card. CMOS chips, as the 1/0 transition voltage is lower, are more susceptible to noise. 'Scoping my TT's cartridge bus I see wild ringing on the address bus, which is probably why the NetUSBee refuses to work, as the buffer chips are passing lots of transitions through when there should only be one.

I'm wondering if adding 0.1uF capacitors, the same as for chip decoupling, between ground and the address lines would help, as it would dampen the ringing. You only want to filter out the highest frequencies.

I'm not sure how different PSUs could affect the ringing on the lines other than maybe push the lowest level of the oscillation above the 0/1 transition for CMOS.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
User avatar
Chain-Q
Posts: 19
Joined: Thu Jan 06, 2022 6:57 am
Location: Berlin, DE
Contact:

Re: STE refurb/repair attempt went sideways (garbled/black screen on boot)

Post by Chain-Q »

To be honest, I don't think it's related to the bus drivers, because the USB data goes through the same buffer chips, and the USB part of the cart seems to work? At least in my case. I can't test now, because the bench PSU/hardware tools and the Ataris are put away to free up my work room for... well, work, during the week.

However, I looked at the schematics of the card, the specification of the 8019AS, and something poked me in the eye. There's pin IOCS16B (pin 96) on the RTL8019AS. According to the documentation:
Upon power-on reset, this pin acts as an input named SLOT16 to detect whether a 16-bit or 8-bit slot is in use. To do this, it is connected to a pull-down resistor (about 27KW) externally. At the falling edge of RSTDRV, the RTL8019AS senses this pin's state. If it is sensed high, the adapter is thought to be placed on a 16-bit slot where this pin is connected to the host's IOCS16B pin, which is typically pulled up by a 300W resistor on the mother board. If it is sensed low, the adapter is thought to be placed on an 8-bit slot where this pin is merely pulled low by the 27KW resistor. After having latched the input state, this pin is switched as the IOCS16B signal which is an open-drain output and is driven low during a 16-bit host data transfer.
Now, on the NetUSBee, this pin is simply not connected. Not according to the random schematics I find online, and also not on my Lotharek-made NetUSBee (As far as I can test? It's very difficult to tell on this white PCB... So correct me if you also have this card and can test?). I'm no hardware engineer, but whatever little I've been taught by people much better at this stuff than me says, leaving such a pin floating during reset/power-on is a huge call for trouble. Now, in theory, I understand the RSTDRV should never have a "falling edge" on the card, but whatever happens during PSU startup might cause an initial voltage spike, then a drop, that is interpreted by the chip as a "falling edge" of the RSTDRV line. Then from irrelevant suddenly the state of that pin becomes significant, and might cause the entire issue. I'm afraid my soldering skills (and eyesight) might not be good enough to test this theory and force the line to ground via some resistor. It has to be pulled down, as on the NetUSBee the 8019AS is in 8 bit mode. (Also, I'm not very happy with the super simple reset circuit of the 8019AS, and could be a secondary cause of the issue, but that's another thing...)

Now, having said all this, I'm definitely no hardware engineer. So feel free to tell me why I'm wrong. Worst case I will learn something.
User avatar
exxos
Site Admin
Site Admin
Posts: 23493
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: STE refurb/repair attempt went sideways (garbled/black screen on boot)

Post by exxos »

In my experience floating pins always causes issues even when the datasheet says you can leave them floating.
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
User avatar
stephen_usher
Posts: 5578
Joined: Mon Nov 13, 2017 7:19 pm
Location: Oxford, UK.
Contact:

Re: STE refurb/repair attempt went sideways (garbled/black screen on boot)

Post by stephen_usher »

I may have a look at grounding pin 96. There's no need for a resistor as the output is driving low anyway, so no chance of a short. The resistors mentioned are so that it doesn't short the ISA bus.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
User avatar
Chain-Q
Posts: 19
Joined: Thu Jan 06, 2022 6:57 am
Location: Berlin, DE
Contact:

Re: STE refurb/repair attempt went sideways (garbled/black screen on boot)

Post by Chain-Q »

Well, I made an attempt today, and I can kinda confirm my secondary suspicion, that the primary cause of the issue is an incomplete reset circuit on the NetUSBee Ethernet part.

First I rigged up a 22K resistor (the specs say 27K, but I had no such resistor at hand) to pin , but that didn't solve the issue. Regardless, I found an Open Source ISA 8Bit 8019AS based card project that does put a 27K resistor on that pin (see R6), so probably it is indeed best practice to do so.

But this sadly did not solve the issue, with the original STE PSU, uIPTool still didn't work, NETUS.TOS was still failing all Ethernet tests.

So what I did afterwards, I rigged up a 1K resistor to the RSTDRV pin of the RTL8019AS, and made it short to VCC during power up, essentially emulating the ISA RESET signal. As the machine was booting (Atari logo appeared, TOS 2.06), I disconnected the resistor from VCC, so the card's 10K pull-down could take over, and take the chip out of reset. Then after the machine finished booting, I started uIPTool, and it worked immediately, first try! I could browse the Atari's content from my Mac, so it was actually working, not just appearing so. Basically I was never able to get the Ethernet part running with the original PSU, until now, and here it is, fully up & running!

So this concludes I guess, to a large extent that at least some of the various "finicky-ness" of the NetUSBee in various Ataris and with power supplies is an incomplete reset circuit. Thanks to the RSTDRV line simply grounded, the chip starts to initiate a power-on, while the power isn't stable yet, and it will end up in a catatonic/half initialized state, where it just doesn't answer to the bus.

Now, I'm not a hardware engineer, so it's entirely possible that the issue could be worked around with changing various decoupling capacitor sizes, and whatnot, and not require a full-on reset circuit, but my hardware-foo is way too weak for that. Please advise. :)

What I would do if I had a chance of redesigning the card, to put a flip-flop on the ROM3/4 select lines, then connect that to RSTDRV, to keep the card in RESET, until those pins are first asserted as the OS during boot looks for the expansion ROM. This is late enough so the power can be 100% stable, but early enough so it shouldn't cause any issues with real drivers. But maybe someone has a better idea.
User avatar
stephen_usher
Posts: 5578
Joined: Mon Nov 13, 2017 7:19 pm
Location: Oxford, UK.
Contact:

Re: STE refurb/repair attempt went sideways (garbled/black screen on boot)

Post by stephen_usher »

Surely a 555 timer would be a better solution, or a 5V zener diode on the power line?
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
User avatar
exxos
Site Admin
Site Admin
Posts: 23493
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: STE refurb/repair attempt went sideways (garbled/black screen on boot)

Post by exxos »

Simple RC might do it ?

reset.gif
reset.gif (1.15 KiB) Viewed 1046 times
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
User avatar
Chain-Q
Posts: 19
Joined: Thu Jan 06, 2022 6:57 am
Location: Berlin, DE
Contact:

Re: STE refurb/repair attempt went sideways (garbled/black screen on boot)

Post by Chain-Q »

Isn't this a circuit for active-low RESET? Because the RTL8019AS is an ISA chip, where the RESET is active-high. So I need an inverted signal compared to this, if I understand it correctly. But actually, the card does have a reset circuit that tries to do this, consisting of a capacitor (C18) and a 10K resistor (R26), but whatever the output of that circuit is, it's seemingly not enough to do a proper reset under certain circumstances, probably when the PSU has a slower ramp-up towards 5V.

Meanwhile, I talked to someone, who is kinda my "hardware-mentor". He is an embedded hardware engineer by trade and he proposed using an MCP101-450, to generate a reliable active-high RESET signal. I ordered a bunch, I'll update when they're here and I modded my card.
User avatar
Chain-Q
Posts: 19
Joined: Thu Jan 06, 2022 6:57 am
Location: Berlin, DE
Contact:

Re: STE refurb/repair attempt went sideways (garbled/black screen on boot)

Post by Chain-Q »

I managed to fix my NetUSBee to work with my stock STE PSU, without rebuilding the RESET circuit of the card. However, going forward that might still be the better solution, because I'm really not comfortable with this solution, and can't recommend it, but what I did might actually be the "easier" way to fix existing cards, sadly.

So while waiting for the parts I ordered, I kept reading the RTL manual, and I kept experimenting. What I noticed, that if I don't reset the card right at power-on, even if I reset it afterwards, it won't be working, software just won't see it. This is interesting, because according to the manual, the RTL8019AS latches the state of several config pins on power-on, and then keeps working with that even through actual resets. This pointed me to the config pins being latched to the wrong state, which - I speculated - can be the result of many things, for example too low reference voltage at the time of reset (which is because of the under-designed reset circuit).

So I decided to be bold, and despite the manual claiming the existence of 100K pull-down resistors internally, I decided to tie the IO Port configuration pins (IOS0-IOS3) directly to GND, with a simple solder blob. Because - I speculated - if the card doesn't answer to anything on the bus, it might be trying to talk via the wrong address, because it might have had latched the wrong state of the config pins on startup, due to VREF being too low.

And this essentially fixed the card for me. Now it always works right after power-on, with the stock STE PSU. (Not without side effects tho', the link detection still doesn't work before the chip is initialized by software, because probably PL0 and PL1 should be also pulled to to GND, but are affected by the same latching issue. Fortunately, existing software seems to initialize this later on.)

So far I found the following issues with the NetUSBee RTL8019AS design:
- under-designed reset circuit, letting the chip run before the voltage stabilizes, leading to the chip latching the wrong IO (& other) config state on boot. Ugly workaround seems possible (see above).
- unconnected bus width configuration pin IOCS16B, the manual instructs to connect this pin via a 27K resistor to GND for 8 bit designs.
- the manual instructs the AUI pin to be pulled to GND for designs not using AUI. This is not connected on the NetUSBee, but connecting it also has no effect I could notice, so probably can be ignored.

For a properly fixed NetUSBee, I'd rebuild the reset circuit, probably using something like the aforementioned MCP101-450, so the internal pull-downs can function properly during power-on, despite how fast or slow the PSU initializes, and then also connect the IOCS16B pin as described, plus the AUI as well, "just in case". I'm sure the result would be a much more robust design a lot less people have problems with.

I will still rebuild the reset circuit of my card later on when parts are here, and remove the at least the IOS0-IOS3 kludge.
Post Reply

Return to “HARDWARE ISSUES”