Showing posts with label C16. Show all posts
Showing posts with label C16. Show all posts

Sunday, 23 June 2024

New Commodore 16 internal 64K RAM upgrade

I have converted many Commodore 16's to Commodore 64s 64K Commodore 16s, and wrote quite a detailed post showing various methods. ( http://blog.tynemouthsoftware.co.uk/2019/02/commodore-16-64k-upgrades.html)

All of these involved removing the two 16Kx4 dynamic RAM chips and replacing them with two 64Kx4 RAM chips. 4416 to 4464. And modifying the multiplexor chips to add the two missing address lines.

The problem is, it's not that easy to get hold of those 4464s. They are used on the Amstrad versions of the Spectrum +2/+3, the C64C and Atari XEGS amongst others.

On other systems with 64Kx1 dynamic RAM chips, 4164s, I have made boards to replace those with a single 64Kx8 static RAM.

The idea with the lower pin count dynamic RAM chips is there are two select pulses, RAS and CAS. One selected the row address (8 bits) and the other the column address (8 bits), making the full 16 bit address.

To use a larger pin count static RAM ICs, the row address is first latched in on the RAS pulse, and then when the CAS pulse comes along, a combination of the previously latched row address and the new column address is used to make the full 16 bit address.

That works nicely on various systems I have made those for, e.g. this for the Spectrum 128K +2, which uses two of those boards.

I wanted to make one for the Commodore 16, but I thought I could try a slightly different approach. 

The multiplexor chips that take A0-A13 and generates the 7x7 row x column addresses are right next to the RAM chips, so I thought I could maybe cut out the middle man and skip the multiplexors (which drops it down to 7x7) and the latch (which brings up back to 14 bits). I would need to pick up A15 and A16 to get the full 16 bits (and it turned out I needed Φo and a logic gate to generate an appropriate chip select signal).

I built up a board which taps all the address lines and data lines from the four sockets and wired them direct to the RAM chip.

The board has four IC pin headers on the back which plug into the four sockets on the C16 board.

The four ICs, two 74LS257 multiplexors and two 4416 DRAM chips are carefully desoldered. (and I mean carefully. This is job for someone with the right tools and experience to desolder the chips leaving the board and the chips undamaged)

I should make that caveat larger.

DESOLDERING EXPERIENCE REQUIRED - NOT FOR THE BEGINNER

And whilst I am adding caveats.....

DO NOT BLAME ME IF YOUR COMMODORE 16 DIES WHILST USING THIS

To help with alignment, I supply the module already fitted into four turned pin IC sockets.


All four of those can then be soldered in place. You can then remove the module if you wish to test.

The best way to test this is to install the four chips that have just been removed. If you cut the legs off the chips to desolder them, then this kit is probably not for you.

That should still operate as a 16K Commodore 16.

Time to remove those chips and install the new module again.

The multiplexor chips only have 14 address lines, so as with the other upgrades, A14 and A15 have to be tapped from elsewhere. I added jumpers to allow those to be selected, or disabled to go back 16K, should that be required for compatibility at any point (I am not aware of any games that will fail due to too much RAM).

As described in the previous post, a good place to get those is two vias next to the modulator.

A two pin header can be fitted there for ease of installation.

In addition, the clock line also needs to be tapped. There are various places this can be found, I went for one of the vias next to the PLA. Again a pin header is fitted.

That is the shorter wire marked Φo.

A14 and A15 can be fitted either way around, but this is the correct orientation.

All the cables, connectors and sockets will be supplied with the kit.

OK, that's everything installed, checked and double checked.

Time to switch on.....

Excellent. Let's give Diag264 a run.

Should you ever want to go back to 16K, you can adjust the jumpers to the left.

Although, as I said, I can't see why you would need that.

Time to try out some 64K only programs from the plus/4 catalogue.

CBM command needs more than 16K, so I couldn't run it before on this machine.

And since I used it last time, I will try Icicle Works again.

All seems good, the kits are now available in my store.

Stop Press - new video from Tim's Retro Corner showing installation and testing of the kit.


Advertisements

The kits are now available in my store if you are in the UK or US. If you are elsewhere, contact me as I can ship worldwide.

"DO NOT BLAME ME IF YOUR COMMODORE 16 DIES WHILST USING THIS"

"DESOLDERING EXPERIENCE REQUIRED - NOT FOR THE BEGINNER"

The store also contains the full range of Minstrel and Mini PET kits and accessories, again contact me if outside the UK or US. Sorry I have to keep saying that.

All the links can be found here:

Patreon

You can support me via Patreon, and get access to advance previews of posts like this and behind the scenes updates. These are often in more detail than I can fit in here, and some of these posts contain bits from several Patreon posts (they also got an extra post covering the development of this board). This also includes access to my Patreon only Discord server for even more regular updates.

Sunday, 21 August 2022

Power supplies of the 8 bit generation

During the development of the Minstrel 4D, I started looking at the options for it's power supply. This started off as a short introduction to a post about that. However, once I sat down and started typing, it grew into a significant Patreon post in its own right. The actual article followed in a separate post (or two). I have now expanded this one even more, and also the second part which will follow next week.

As part of the research for an upcoming project, I wanted to look a bit deeper at the various methods of supplying power to 8 bit computers.

ZX80/ZX81

A good starting point is the ZX80 and ZX81.

These both use the same nice and simple power input. A 3.5mm headphone jack is used to take 9V DC. This is then regulated down to 5V with a 7805 and a heatsink. The unexpanded board draws about 200mA (depending on the ROM and RAM chips used). The 9V is not use for anything else but is provided on the edge connector for expansions to use to get their own power.

I don’t know it is was officially specified, but there seems to be a general understanding that if you weren’t using too much power, say less than 50mA, then you could just use the 5V on the edge connector, and the internal 7805 would get a bit warmer. If you needed any more power, you should use your own regulator to generate the voltages you need from the 9V DC. This became more important with things like the 16K RAM packs that used DRAM which required 12V DC and -5V DC, which were generated from the 9V.

The simple 7805 approach works well, and I used the same method on many of the early kits. One thing I changed was the power connector. It can be a bit of an issue as it is right next to two other identical 3.5mm jacks, one for ear and one for mic. It shouldn’t do any damage as there are resistors and capacitors in series with the input, but it will cause confusion when it doesn’t work.

Another issue is the 3.5mm jack will short the two contacts when inserted and removed, so is not ideal for a power supply. I went with the 2.1mm DC jack, centre negative. As used on the ZX Spectrum and Commodore 16 etc. (I will discuss polarity and related issues in the next post)


There is no power switch here, so you either rely on turning the external supply on and off, or you plug and unplug the cable, hence why the 3.5mm jack is a bad idea.

A common upgrade is to replace the 7805 with a switching regulator. This removes any issues with it running warm.

Pros: Simple, cheap, allows for some expansion

Cons: No power switch, shorts on removal / insertion, runs a bit warm.

ZX Spectrum

The Z Spectrum continued with only a Few changes to the ZX80/ZX81 approach. First was the 2.1mm DC jack as previously discussed. The second was to become the Achilles heel of the Spectrum. It had 16K of 4116 dynamic RAM onboard. Like the 16K RAM pack in the ZX81, this needed 12V and -5V. And so, the saga of the Spectrum's switching regulator began. The design of this changed on every revision of the board, and sometimes several times between with mods applied at the factory or recommended to service engineers. Transistor TR4 and TR5 were notorious for failing and losing the +12V and -5V rails which is a good way to kill 4116 DRAM.

The 32K of additional RAM in the 48K models was 5V only. It would have made sense to have switched to using those chips in the lower bank, or the 5V only versions of the 4116 such as the 4516 used in the Atari 5200. (You don't normally see green silkscreen on chips. I wonder if these turn red when they fail?)

I expect they would have considered options like that, but as the edge connector had -5V and +12V, they had to provide those to support add ons that had already been developed. When Amstrad came along, they were less concerned about backward compatibility, so finally dropped those rails from the last generation of Spectrums.

As with the ZX81, a switching regulator can be fitted which will reduce the heat generated (just leaving the ULA to heat the room).

Pros: ….anyone got any ideas?

Cons: unreliable and the cause of failure of a good proportion of Spectrums (+ no power switch)

Commodore PET 2001

In a slightly different direction, going back to the original Commodore PET 2001. This was a fairly straightforward power supply arrangement. A centre tapped transformer provided 9V AC which was rectified by two diodes and fed to a large smoothing capacitor that was not on the mainboard. The 9V actually goes to the capacitor on one red wire, and comes back on another.

From there, it feeds a few 7805 regulators to generate 5V DC for all the logic on board. These had huge vertical heatsinks on and would often run warm, particularly in older machines where the 6540 ROM and 6550 RAM chips slowly fail and start a war of attrition with each other seeing who’s output transistors can win the bus contention argument as they slowly cook themselves.

The 9V DC is also used to power the datasette, giving it a switchable 6V (ish) supply – see a previous post where I go into a lot of detail on the various circuits used for that.

http://blog.tynemouthsoftware.co.uk/2022/06/powering-commodore-datasette-drives.html

Pros: Bomb proof simple chunky design. These things will outlive the cockroaches. Mains powered with mains on off switch.

Cons: Bomb proof simple chunky design. Weighs an absolute ton.

Commodore PET 2001N - 8032

The Commodore PET 2001N onwards also jumped on the 4116 bandwagon, with all the additional complexity that brought. The 9V supply was now full wave rectified to provide a lower current -9V supply which fed a 7905 to generate the -5V rail. An additional secondary winding on the transformer, more diodes and a smaller onboard capacitor provided a 15V supply which was regulated down to 12V with a 7812.

The 5V regulators were swapped out for even beefier TO3 packaged LM340K regulators which could handle several amps at 5V. There were initially two, but later revisions of the board had just a single one of those.

Pros: A more reliable multi rail supply with even chunkier 5V. Mains with power switch

Cons: As before, bulky and heavy, and now additionally complicated

Commodore VIC 20

The first version of the VIC20, referred to as “2 pin” because it had a two pin power connector. This was fed 9V AC from an external transformer. As simple as it could be. On board there was a power switch and the chunky TO3 version of the 7805 with a big heatsink. Like the PET it also used the 9V to generate the 6V for the datasette, and like the Spectrum, it complicated future designs by providing 9V AC for external devices, in this case via the userport.

Side note, they used at least two different connectors, the US version is different to the UK one, not sure about the VIC1001.

Pros: Simple and cheap. Reliable design. Mechanical power switch.

Cons: Even with the big heatsink it does get warm. Takes up a lot of board space.

Commodore VIC 20 CR

The second version of the VIC20 moved the 5V regulator off board into the power supply. This brought with it two problems. Firstly, because of the need to provide 9V AC to the userport, the supply now has to provide 5V DC and 9V AC, so they chose for some reason to use 4 pins of a 7 pin DIN plug. (aside I haven’t really thought about that before, I wonder if there was some lost interim plan to provide -5V and +12V on the same connector, hence the unused pins?)

The second problem is they just seemed to do a bad job with the 5V. Not sure specifically why, there is a resistor in the ground wire on the regulator, and that makes it a lot more susceptible to a failure mode where it passes all of the input voltage to the output. This feeds much more than 5V onto the 5V rail and fries the board. Not to be recommended. Don’t use these supplies folks.

This is such a common problem that there are a few solutions around. One I am not personally keen on is the inline protectors, I am not convinced they would operate fast enough to protect the machine. Another solution is complete after market power supplies which are generally a safer bet.

Another option with the VIC 20 CR (“7 pin VIC”) is to feed it with 5V only. The 9V AC is fed direct to the userport and it’s only use on board is to provide power for the datasette. If you aren’t using anything on the userport that needs 9V AC, and you don’t need a datasette, then a single modern 5V supply is a good way to go. (you can also use a 5V and 12V disk drive type power supply as the 12V DC can be fed where the 9V AC would go and will power the datasette. The TIP 29 will get a bit warmer when the drive is in use, and it may not be suitable for any userport devices, so be wary).

Pros:gets rid of big heatsink. Mechanical power switch

Cons:Danger Will Robinson. Do not use.

Commodore 64

The C64 used the same supply as the later VIC20, but made more use of the 9V AC. Here it was rectified to get 9V DC for the datasette, on some models, an additional 7805 provides a dedicated 5V rail for the video circuits. There is also a voltage multiplier circuit and a 7812 to generate 12V for the SID and the VIC.

Most of the standard C64 power supplies were glued shut and fully potted inside. Making then not only unreliable but also unserviceable.

Some later versions were screwed together, but still partly potted inside.

Pros: Mechanical power switch

Cons: Danger Will Robinson. Seriously, do not use!

Commodore 64C

They simplified things a bit with the C64C, they got rid of the voltage multiplier and lowered the supply voltage to the updated SID and VIC to be 9V.

Commodore plus/4

This uses the same supply (with the same issues) as the C64, but much to the annoyance of the designer, has a square 4 pin DIN instead of the round 7 pin (although early PCB revisions could fit either socket).

This is another of the reasons why this post kept growing. I have converted several of these in the past, but couldn't find any photos, so I ended up converting another one. I took enough photos that it justified a post in it's own right - http://blog.tynemouthsoftware.co.uk/2022/07/commodore-plus4-7-pin-power-conversion.html

Commodore 16

There are various things wrong (or at least less than ideal) with the Commodore 16, but actually the power supply is one of the best.

Nice and simple, 9V DC in, centre negative. Mechanical power switch, 7805 regulator and 6V for the datasette. No external access to the 9V DC, so no issues there.

The external power supply is very much the same as the Sinclair ones, nice and simple, and screwed together so it is full serviceable and even fused.

As unexpected as it might be, I think the Commodore C16 has the best power supply of any of the 8 bit computers. There I have said it. Do you agree?

Pros: Simple reliable design. Mechanical power switch, external supply, serviceable.

Cons: None that I can think of.

Commodore 128

There were a few variations of this, but they basically started to get things right with internal or external switch mode supplies with proper regulation and reasonable efficiency.

The same thing continued into the 16 bit Amiga range.

More on this in an old post on repairing that PSU

http://blog.tynemouthsoftware.co.uk/2014/10/commodore-128-repair-part-1-psu.html

Pros: Internal or external versions, mechanical power switches

Cons: external version for flat C128 is a bit bulky, but worth it for a better quality supply

Atari 5200

I will include this here just because it is very weird. The 5200 used a combined RF cable and power supply.

Let that sink in.

There was a single cable that provided the power and also the TV signal.

In the wider world it’s not that usual, the same thing is used to power the LNBs on domestic satellite dishes etc. But in the 8 bit computer world I think it is unique.

Here the power is combined with the RF signal in a box at the TV end (unpowered switch boxes like that appear to have been more common in the US, I don’t recall seeing them in the UK).

The single thick coax goes to the box where it is split and powers the unit. It does have a nice soft power on circuit. This has a soft touch power button (i.e. not a clunky mechanical switch, but a push on, push off digitally controlled switch), which switches two separate 7805 regulators. One of which is disabled when there is no cartridge plugged in, which is a nice touch that might have saved a few 2600s.

More details in a repair blog from a few years ago

http://blog.tynemouthsoftware.co.uk/2019/01/atari-5200-not-powering-on-repair.html

Pros: Remote power, soft power on, safety cutout on cartridge removal

Cons: Over complicated. Fixed, thick, inflexible RF cord.

The BBC Micro - Early models

Early models of the BBC Micro had a nice linear power supply. This was a toroidal transformer feeding a number of linear regulators. I think there were 7805s. I don't know as all the ones I have are both riveted shut and still working.

I think these were used on the Model A, which had no disk drive, so no need for the disk drive power, which was not present on these models. 

More about the BBC Model A - http://blog.tynemouthsoftware.co.uk/2019/06/bbc-micro-issue-2-model-a.html

Pros: Nice simple solid design. External power switch

Cons: Messy internal wiring with several spade connectors scattered around the board. No disk drive power.

BBC Micro - Issue 3 onwards

The power supply was changed to a nice switch mode supply in most models. Mains powered, on off switch. All very good.

But, they use RIFA filter caps. And they go bang. They always go bang. If they haven't yet, they will. Don't think "I'll give it a quite try first". No, always replace them before powering on, or you will regret it for the next day or so until your house stops smelling of burned capacitors.

There is also another capacitor which is a bit close to a heatsink that has a tendency to fail as well and stops the power supply starting up.

More info here

http://blog.tynemouthsoftware.co.uk/2017/05/bbc-micro-power-supply-repair.html

Pros: Switch mode supply. Power switch.

Cons: The grim Rifa.

Amstrad CPC 464


This one starts well, 5V DC in. Nice and easy.

But dear old Sir Alan didn't just want to sell you a computer. Not happy with gluing a tape deck to the side of it, he wanted to sell you a telly as well.

So the power for the CPC464 comes from the TV, with a two wire arrangement, one plug is for the RGB video out of the computer, and one is for the 5V power.

If you aren't using the Amstrad monitor / power supply, you can use an external 5V supply.

Pros: Neat if you are using the whole system

Cons: Messy if you are not using the whole system, expensive if you already have a TV you could have used.

Amstrad CPC6128

The success of the CPC464 was followed up but the slightly more complicated CPC6128. This had a built in disk drive, which also needed 12V, so as well as the two existing wires the came from the TV, there was a third which came from the computer and plugged into the TV.

This was messy when used with the Amstrad monitor, and when trying to use it without the monitor it's just plain silly.

Pros: Not as bad as the GX4000

Cons: Messy either way

Amstrad GX4000

I don't actually have one of these, but I understand they had two DC jacks on the back, two power supply options, 5V from one of the CPC464 tellies, or 9V DC from a power supply. In theory, one is 2.1mm and one is 2.5mm, so you can't plug the supplied power cable into the wrong jack, but guess what? People will use anything that fits, and plug the cable into the wrong one and bang.

Pros: Any fans of the GX-4000?

Cons: Two power input jacks. Nice idea.

Oric 1 / Atmos

This is unfortunately one of the most problematic. For no good technical reason that I can see, and possibly due to cost or supply, they used a 7905 -5V regulator to generate the +5V DC.

I will go into the issues with this in the following post. Like many of these system, it is fine if used in isolation with the correct supply, but if you change things, it gets complicated.

Pros: There must have been one at the time

Cons: Potential problems with voltage offset of the 0V rail.

What have I forgotten?

Congratulations if you made it this far. Quite a lot going on there, and there are many more I could have included. What have I forgotten? any other weird and wonderful options? Should I have split this up? I did start to add schematics to some of them, but then it gets a bit silly.

Next Up

I will leave it there. The next stage is to look at the modern versions on the Minstrel and Mini PET and what options to consider for a future project, including USB power, input polarity, bridge rectifiers and the whole Oric thing.


Advertisements

Spoiler alert - the Minstrel 4D did not end up being USB powered (although one of the prototype boards was).

http://blog.tynemouthsoftware.co.uk/2022/08/minstrel-4d-overview.html

The 4D is available for pre-order now from The Future Was 8 bit.

https://www.thefuturewas8bit.com/minstrel4d.html

Patreon

This post is an updated and extended version of a post from my Patreon. If you want advance previews of posts like this and behind the scenes progress on new projects, you can follow along and support me on Patreon:

https://www.patreon.com/tynemouthsoftware