Sunday, 15 July 2018

Atari 7800 AV out Composite Video Conversion

After the very successful 2600 and the rather less successful 5200, the next step in the arithmetic progression took Atari to the 7800. Let's see if it is three times as good as the 2600.
This had one important advantage over the 5200, it could play 2600 games. Inside, there was a lot in common with the older console.
Under the usual Atari metal can held in place with bent tabs lives the 7800 main board.
There are more chips than the 2600, but it's main three chips are still here.
The 6532 RIOT and C010444 TIA are the same chips as used in the 2600. (yes, that is the NTSC TIA, this is an NTSC model, the PAL ones seem thin on the ground these days).
The 6507 CPU on the 2600 is now a full size 6502. Above that is 'Maria', the new sound and video chip.
This is complemented with 2x6116 2K RAM chips and a ROM chip.
This is a 1984 NTSC version of the 7800, which comes with an expansion connector on the side. I don't think anything ever used this, and it quietly disappeared from later versions.
One last thing before I get onto the composite video modification is the power connector. On the 7800, they have gone for a rather unusual 2 pin power connector.
The PSU that came with this NTSC machine was 120V, so I wanted to replace it anyway.
I went for a 2.1mm DC jack, wired for centre negative, like the Spectrum, Commodore 16, and my Minstrel ZX80 clones, so I could use the same power supplies as all of those.
The AV section, is fairly similar to the 2600 Jr, the large red variable inductor will be familiar to anyone that has been inside a 2600.
Here the circuit has two sets of inputs, one from Maria, and one from the TIA. Once those are combined, the composite video feed to the modulator is much the same.
The modification are likewise similar to those I do on 2600 Composite video output modifications.
The parts to be removed are circled on the board.
Seen here on the schematic, removing Q1 and L2 disables the audio carrier oscillator. Removing R3 separates that section from the combined video signal. Removing R5 and R6 disconnects the two audio sources, and provides a point where the two decoupled audio signals can be tapped. And finally, removing the modulator provides a point where the new AV buffer board can be fitted and the power and video connections can be made.
I am using the 'Deluxe Composite Video Mod' from The Future Was 8 bit. My thinking behind giving that board removable connectors again comes in useful. The pre-wired cable just needs to be cut to length and soldered to the board.
The white lead is the audio, and is connected to the bottom of R5 and R6, to get both the TIA and Maria audio. (I left the tinned wire at the end long enough to solder to both pads under the board).
That was nice and easy. The only thing to be wary of is you need to position the AV jack slightly forward of the edge of the board, so that the 3.5mm jack can sit firmly home when the case is refitted.
All that is to do now is to refit the metal RF shield and put it back in the case.
It seems that PAL 7800 cartridges don't work in NTSC 7800 systems, the logo appears, but then it just gives stripes. (could also be Maria or the RAM at fault, I'll retest that when I have some NTSC 7800 cartridge to hand).
I didn't have any NTSC Atari 2600 cartridges either, but I did have a board that I could fit an EPROM into, so I burned a few to test, and it's working nicely.
Time for more arduous testing. It's a hard job, but someone has to do it.
This is the 1984 NTSC version on the Atari 7800. The PAL version, and later NTSC version are slightly different boards, but the principals are the same, just locate those components and fit the board in an appropriate location.
The 'Deluxe Composite Video Mod' is available from The Future Was 8 bit.

If you want to support this blog, you can donate via Patreon or Paypal, or buy something from my store.

Sunday, 8 July 2018

TFW8b Value - VIC20 MAX RAM Cartridge

We have recently released the Penultimate+ cartridge, an update to the popular Penultimate Cartridge, adding more ROM titles and a graphical user interface. As with any release, there is an inevitable small number of comments that it is too expensive, or doesn't need feature X or has too much Y etc.
In answer to that, we have created the TFW8b everyday value, no frills, basics range. This will be a range of products that feature none of the usual TFW8b bells and whistles, just a plain product to do the job, at a discount price, for people who like that sort of thing.
To kick off the range, I have designed a simple RAM cartridge for the VIC20. That's it, a RAM cartridge. No buttons, no DIP switches, no LEDs, no game ROMs, no graphical menu. Just a RAM cartridge, but a nice one.
Plug it into your VIC20 and switch on, and you will see a menu (very much in the style of the original Penultimate Cartridge). From this you can select how much RAM to add to your VIC20. The four unshifted function keys give the most popular RAM configurations.

  • f1 - 0K, unexpanded VIC20
  • f3 - 3K, 3K RAM in block 0
  • f5 - 8K, 8K RAM in block 1
  • f7 - 35K, 3K RAM in block 0, 4x8K RAM in blocks 1,2,3 and 5

The shifted function keys give a further four RAM configurations

  • f2 - 16K, 2x8K RAM in blocks 1 and 2
  • f4 - 24K, 3x8K RAM in blocks 1, 2 and 3
  • f6 - 27K, 3K RAM in block 0, 3x8K RAM in blocks 1,2 and 3
  • f8 - 32K, 4x8K RAM in blocks 1,2,3 and 5

Once the RAM is selected, the VIC20 will be booted and will continue with the amount of RAM selected until the power is removed. As ever, BASIC does not count all the RAM, so the maximum you should ever see is 28159 bytes free, but the RAM in block 5 (and block 0 when there is RAM elsewhere) can be used for assembler programs or ROM images etc.
At this stage we are not planning to include a printed sleeve, but you can download and print your own. Here is an artist's impression of how it could look.
The VIC Max RAM cartridge is available to order now from The Future Was 8 bit webstore.

If you want to support this blog, you can donate via Patreon or Paypal, or buy something from my store.

Sunday, 1 July 2018

Spectrum +2 Repair - locks up after an hour

This was a bit of a frustrating repair. A Spectrum +2 which appears to run fine. Then after a while, it locks up. Sometimes after only a few minutes, other times it wouldn't fail for hours.
Running Brendan Alford's ZX Diagnostics in soak test mode, it passes all the tests fine at first.
Then just fails all 8 bits at once. Which is unusual, and suggests it's not the RAM chips, but other times, it's single bits that fail, which does suggest faulty RAM chips.
Testing this was a bit tricky, because every time I changed anything, I would need to leave it for an hour or two to see if it failed again. I sometimes ran games with music in them, and would leave them playing as I went about other jobs, waiting for it to stop.
At first it appeared that the RAM chips were a little suspect. The +2 has two pairs of 4464 RAM chips, each 4 bits by 64K, giving 8x128K in total. To narrow things down, I tested them two at a time in a Commodore 64C (which uses 2x 4464), and found that both pairs were a little flaky. I replaced them with four new RAM chips, both pairs of which passed a long test in the C64C, and tried again.
Nope, failed again. (the screen alternates, I may as well use a different screenshot each time to add variety). I didn't see any single bit failures, or quick failures after replacing the RAM, so I think there are two issues here. The single bit failures were down to faulty RAM, but there is another problem that is causing all 8 bits to fail, and this is only happening after an hour or two.
To narrow things, down, I removed the ROM chips, fitted a new Z80 chip, and used an external ROM module to load the diagnostics. None of them had been getting warm, which would normally have pointed to the problem. Nothing was getting warm, it was running nicely, apart from the fact it locked up after a few hours.
OK, so there's not much left. The RAM sockets were a little loose, so I replaced those, and it seems more stable now, it will run for an hour or two, but still locks up.
Running out of options, I had a closer look at the ULA, a slightly unusual arrangement on these boards, it is soldered on from the back of the board, and pokes up through a cutout in the PCB.
There was some vintage flux hanging around, and a few slightly crusty joints, so I thought it would be worth cleaning that up, so I removed the old flux residue, and reflowed all the connections.
Another two hour run, and it was still going.
I left it another hour or so, and yes, still stable.
So far, so good, I put back the ROM chips and the original Z80, and a divMMC future and repeated the tests.
Yes, I think it's now sorted. Loading from tape just took a head clean and a new belt and it's away.
N.B. remember this is a +2A, so if you want to load Jet Pac or other Ultimate play the game title, switch to 48K BASIC and type LOAD "", don't use the tape loader.
I think there were a number of problems there. There were 3 bad RAM chips (one did pass, but I wouldn't trust it). The flaky ULA soldering has probably been that way since new, it could have been that, or the sockets that led to the RAM chips failing?

If you want to support this blog, you can donate via Patreon or Paypal, or buy something from my store.

Sunday, 24 June 2018

Amiga 500 USB keyboard with Raspberry Pi 3

Here we have a Commodore Amiga 500.
This one's not working, showing only a green screen.
The green screen usually indicates a RAM fault, sometimes Gary or Agnus or their sockets.
In this case it could also be due to corrosion. This look like it's had one of the A501 upgrades installed which leaked into the machine.
That's fine because I want to borrow it's case, I'll repair the board later.
I have been sent a kit of 3D printed parts designed by MattSoft to allow a Rapsberry Pi and one of my Amiga 500 USB keyboard and dual joystick boards to be fitted into an Amiga case in a reversible way with no cutting. These were kindly sent to be by Matt, who had written a forum post about it.
This consists of four parts. First is a bracket which takes a micro USB extension lead and an HDMI extension lead.
The second takes two USB extension leads.
The extension leads are attached to the brackets, which are designed to fit through the existing holes in the Amiga 500 case.
Inside, they fit around the existing mounting pillars, this is the third bracket, the one for the USB keyboard controller.
That attached to the bracket with 4 screws.
The fourth bracket is for a Raspberry Pi to be mounted.
The Pi is thoughtfully positioned by the expansion slot cover, so you can open that to access the microSD card. Shame they cheaped out on the Pi 3 and lost the push push microSD socket, so it's a bit more fiddly that it could be to change the card.
With all that put together and wired up, you have an Amiga 500 Pi 3.
All the connections are accessible on the rear, microUSB power, HMDI video,
Two USB ports and the two 9 way D joystick ports.
The two audio out jacks are blanked off, however, I have a new version of the Amiga 500 USB keyboard and dual joystick controller which has audio pass through.
With a slight modification to the bracket, the two phono sockets are now accessible from the rear.
These are connected to a 3.5mm jack socket, so with a plug to plug lead (supplied in the kit), you can connect that up to the audio out on the Raspberry Pi.
It's then just a case of configuring the Pi to output audio via that jack rather than (or as well as) HMDI.
That completes the Amiga 500 Pi 3 build.
All that remains is to plug in the Amiga 500 keyboard and test it out.
In the original post on the 3D printed kits, the Amiberry DietPi distribution was suggested, so I gave that a go.
This does a lot of downloading and updating when first booted, not very clearly shown here as the overscan was set a bit high for my monitor. (I later removed the card and edited config.txt to correct the overscan)
After about 10 minutes, it rebooted, straight into the UAE 'Universal Amiga Emulator', all the hardware was detected, and that ran nicely.
And of course, I had to test Lemmings.
I have been asked a couple of times about the LEDs on the Amiga 500 keyboard. The top one is configured as a power LED, so is always on.
The other is numlock. UAE can be configured to flash this for disk activity, which is just how it would have looked.
Alternatively, if you are running a desktop setup, you use the numlock LED to show disk activity on a linux system. Anything with a 4.7 or later kernel (such as Raspian Stretch) you should be able to type something like
echo mmc0 > /sys/class/leds/input0\:\:numlock/trigger
It may be input 1 or higher, use tab completion to check what your system is showing. This does not appear to be persistent on Raspian, so it would need to be added to a startup script.
The Amiga 500 USB keyboard and dual joystick boards are available from my Tindie Store, with and without audio pass through.
And also in a version with a USB connector on the rear in case you want to use the Amiga 500 as a massive USB keyboard.

If you want to support this blog, you can donate via Patreon or Paypal, or buy something from my store.