Retro Challenge 2024/10 – Getting my fingers burned

If you read the intro post to this years challenge, I set myself a secondary goal of getting many of my old computers talking to my RC2014. So I decided to kick things off with the Atari Portfolio. This was going to be an easy intro in to things as this little DOS compatible palmtop has a serial port expansion and can run DOS based terminal software. So this would be pretty straightforward, right?

The Portfolio serial port is limited to 9600 baud, so this gives me a couple of options on the RC2014. I could either slow main clock right down, which will slow the CPU, but I will get 9600 baud on serial Port A. Or I could slow down Clock 2 and use Port B as the primary port. Rather than dive in headfirst and make a mess of things, I came up with a simple step by step plan;

  • Power up the RC2014 and check that it is all working
  • Plug in to PC and verify 115200 baud on Port A is working.
  • Connect to Port B and verify this works at115200 baud
  • Change Clock 2 and check the PC can communicate at 9600 baud on Port B
  • Install terminal software on the Portfolio
  • Plug the Portfolio in to a serial to USB adapter and check it can communicate with the PC at 9600
  • Build a simple MAX232 adapter to convert the RS232 on the Portfolio to TTL serial
  • Check this can communicate with PC FTDI
  • And, finally, connect the RC2014 and the Portfolio, via the MAX232 adapter, using Port B at 9600

The first 3 steps went without a hitch. Using Port B as the primary port was as simple as flipping a switch when using the Front Panel. However, when I dropped the RC2014 down to divide Clock 2 by 12, I was unable to communicate at 9600 baud. This didn’t bode well. In case I didn’t get the jumper right, I tried setting the terminal to 4800 and 19200, being the speed just above and below 9600, but to no avail. Anyway, long story short, I wasted an hour before discovering that indeed the jumper was of by one, but it gave 14400 baud, which my terminal software didn’t support! So ok, progress, but slow progress.

On to the Portfolio. I plugged in the Serial Port expansion, connected a RS232 to USB adapter, and plugged it in to the PC. Using the DOS command COPY AUX CON meant that whatever I typed on the PC came out on the Portfolio screen, and COPY CON AUX meant that whatever was typed on the Portfolio appeared on the serial terminal.

Now the easy part. I had a few MAX3232 modules which do the RS232 level shifting/inverting. On the Portfolio side I just need Ground, Tx and Rx. On the RC2014 side, Ground, 5v, Tx and Rx. Soldering was about as easy as things get, and it all looked good. Just to be safe, I decided to add an extra step and connect it to my FTDI adapter plugged in to the PC. A second later I dropped it as I felt burn my fingers!

Quickly unplugged everything and checked the soldering, the pin labels, and made sure I was 100% confident that everything looked fine. Plug it in again, touch the chip… Ouch! This was not good.

Time to bust out the FLIR thermal imaging camera. Wow! This thing gets up to 150’C (or 300’F) before I chicken out and pull the power.

Checking online and social media, people had reported problems with the cheap Chinese MAX232 modules. I had my doubts that the chips were genuine. However, some reports stated that the internal pull-up resistors are too weak, so without an input signal it is bouncing around all over the place and causing it to heat up. Others said that a resistor inline with the 5v power might fix it. Those ideas were certainly worth a try.

I can confirm, for my module at least, pull-up resistors made no difference. A resistor in series with the 5v meant that it didn’t get hot… but it didn’t work either. (although quite possibly the vital parts were already burned out?)

It was also pointed out that the chip is actually a MAX3232, which is a 3v3 chip. This would explain a lot! However, the datasheet says that it can work with Vcc from 3v – 5.5v. The TTL input can also be 5v even with a 3v3 Vcc. So, if it is a genuine chip, it _should_ still work

So I had to accept only a partial success, but mostly a failure on this one. The RC2014 worked at 9600 baud on Port B, and the Portfolio could talk at 9600 baud. It was just that they hadn’t talked to each other.

Retro Challenge 2024/10 Update 1 – The Riddler

When I failed to complete the Retro Challenge in 2016 I finished by saying that the dog ate my homework. That sounded like a reasonable enough excuse.

This year any failure to complete is because The Riddler ate my schematic!

One of the first things I wanted to do was familiarise myself with what 2016-me did regarding the ZX81 module I designed for the RC2014. I have 3 PCBs here, and whilst they look great, they lack some info, such as the component values. So I opened up the schematic I created and discovered that all of the components have been replaced by ?? boxes!

To be fair, this isn’t the first time I have seen this situation. This was probably created in Kicad v4 or possibly earlier, and one thing which Kicad was terrible with back then was keeping track of component libraries whenever there was an upgrade. I am now using Kicad v8, so there have been a lot of upgrades.

I might be able to install a fresh copy of an old version and hope that has the right libraries and I can map them in to work with the schematic. I think that most of the components are resistors and capacitors though, so even if that worked, I wouldn’t have the values anyway.

I think it will actually be easier to convert the schematic to the v8 standard and manually change each of the parts to the resistor, capacitor or diode as approprite. I still won’t have the values, but the thing I do have is the original ZX81 schematic that this module was based on, so it should be a case of matching things up.

Mid-blog update

I looked back at the intro post that I made and noticed that the photo I reused from 2016 was a picture of the partially assembled module that was sitting on a schematic printout. The values can be seen too!

So that makes life easier!

Not only that, but another blog post from 2016 also has the full schematic (less component values) so that helps too!

The RC2014 has come along way since this module was conceived 8 years ago. I think some of the stuff that I had learned about the ZX81 back then had guided some of the decisions that I made later, which actually helps this a lot.

Firstly, the Backplane 8 and Backplane Pro both have the ability to add resistors on the data and address bus, as the ZX81 did. There is now an RC2014 keyboard which mimics the ZX81 or Spectrum layout and has the diodes onboard, so that makes things easier too. The Pageable ROM module supports 16k blocks, which will help if anything on the ZX81 needs to access the shadow ROM in 0x2000 – 0x3FFF. And, lastly, the 64k RAM module can be set to start at any address. With the ZX81 having RAM mapped from 0x4000 – 0x8000 this is perfect.

Retro Challenge 2024/10 – Intro Post

It has been a while since I entered Retro Challenge, but I think I remember what to do. It goes something along the lines of stating at the start of the month by saying that you are going to design a ZX81 module for the RC2014, and then at the end of the month report back in with minimal progress. Looking back, I seem pretty good at that. Retro Challenge 2016/1 started off like this and ended like this. Then later for Retro Challenge 2016/10 it looked like this.

I hope you will excuse me for using the same image I finished on 8 years ago, but, honestly nothing has changed. The ZX81 module is still in this state.

So, before we get to far ahead of ourselves, lets take a look at how we got to this point. My original goal was to recreate either a ZX Spectrum, ZX81, ZX80 or Jupiter Ace module for the RC2014. They are all fairly similar architecture, although the Jupiter Ace has weird dual port memory RAM. They all have a Z80 CPU, some ROM, some RAM and a clock, the same(ish) as theRC2014, so those parts of the schematic can all be ticked off. The ZX80 does everything else with conventional 74 series logic. The ZX81 is almost identical, except that 74 series logic is all smooshed in to a ULA. The Spectrum is similar except the ULA does more stuff (which can also be done with 74 series logic).

I ended up choosing the ZX81 as a good place to start because it is pretty much just a ULA chip with a little bit of support circuitry. The ULA is no longer manufactured, which will mean taking one from a working ZX81 to get this up and running. There are, however, modern FPGA replacements available, so I might well end up getting one of those to swap in at some point. So in January 2016 I translated the relevant parts of the ZX81 schematic in to KiCad and designed a module around that. I got some boards made, but that was as far as things got. Then later that year I soldered in 9 components.

To get started this year I need to do two things. Firstly, familiarise myself with the ZX81 circuit and the one I designed 8 years ago. I seem to remember being fairly confident it would work, but at this stage I have Schrodingers PCB. It both works and does not work simultaneously, needing a test to clarify the actual state. The second thing is that I need to check my stock of ZX81 and select a donor one that the ULA can be borrowed from. I probably want to make note of some of the pin voltages or signal traces before taking it out so I can check those when it is in the module.

There is a chance that I will end up waiting for parts, so the secondary part of my Retro Challenge challenge is to talk to my RC2014 with as many of my retro computers as possible. This may include but not be limited to;

  • Atari Portfolio
  • Cambridge Z88
  • Psion Organiser II
  • Psion Organiser 3a
  • Sinclair Spectrum (with Interface I)
  • Sinclair Spectrum 128
  • Sinclair Spectrum +2 or +3
  • Sinclair QL
  • Amstrad PPC640
  • Toshiba T1200

I think this will be limited to serial communication, and luckily I have a few MAX232 chips and boards here. I expect it will mainly be using the device as a serial terminal for the RC2014, but it would be nice to maybe send a Spectrum loading screen from the RC2014 to the Spectrum. It might sound trivial, but understanding how the serial ports work on those devices, and finding/writing software to use them could be the challenging part.

Retro Challenge 2024/10 Prize

2024 marks the 10 year anniversary since I entered the Retro Challenge in… hmmm… let me see now… that’ll be… 2014! Yes, I remember it well, because Retro Challenge 2014 had a catchy hashtag on Twitter, something like #RC2014.

Well, the good folks behind Retro Challenge approached me and asked if I would consider donating a prize for this years event. There were no prizes back in my day, it was all about likes and subs, and inadvertently starting a new career back then. But, hey, I understand that people like prizes, so I said yes. I said I would like to offer an RC2014 Classic II kit to the winner of the RC2014 category

After thinking about it for a little while, I figured I could come up with something a little bit more special. But before I reveal what that is, and before you skip to the bottom of this post for a sneak peek, I wonder if I should explain what Retro Challenge is. Well, it is a challenge revolving retro computers. The challenge is self-set, and you can do pretty much whatever interests you if it involves a retro computer, and you blog about it to share your knowledge and inspire others. Maybe you want to right software for your old Dragon 32, or get that VIC20 cleaned up, recapped and retrobrited, or scan in the original PDP manuals and upload them to the Internet Archive.

Back in 2013 I had built a Z80 computer on a breadboard that ran BASIC. The challenge I set myself for Retro Challenge 2014 was to make my name appear in lights. More specifically I was going to write Z80 code to do it, using a Z80 computer which I also had to design. You can read more about it here https://rc2014.co.uk/653/retro-challenge-2014/

Part of the challenge was to get the PCBs designed and manufactured. I used OSHPark which meant I had 3 of each board. Luckily the designs worked and no serious modifications were needed (although a hammer was required to fit the header pins). You can read about the boards arriving here https://rc2014.co.uk/791/retro-challenge-pcbs-arrived-and-built/

Of the three sets of PCBs I had made, one set was used to build my original RC2014. Obviously. Another set was traded with John Fletcher for an original unpopulated Jupiter Ace PCB (See https://sowen.com/995/ace-adventures-on-jupiter/), and the feedback from that made me wonder if I should get some more made in case anybody else wanted to build their own RC2014.

So, what about the third set? It could be yours!

That’s right. In addition to the RC2014 Classic II kit, I will be giving away the final set of the original RC2014 PCBs to the lucky winner. Well, the original 32k RAM, Pageable ROM, Serial I/O and clock/reset module. The CPU module is a later one which the PCB manufacturer screwed up and didn’t put the silkscreen on the back! And I will throw in an original Digital I/O PCB too. As well as some stripboard.

Everything needed to complete the build is part of the Classic II kit. So when you receive your prize, you will need to decide if you want to build it as a Classic II, or go old school and make the most authentic RC2014 there is.

Not sure if I should put some legal disclaimer here or whatever. The winner will be chosen by the Retro Challenge organisers. I will post out the Classic II kit along with the original RC2014 PCBs mentioned above to the winner within a month of the winner being announced. This includes free international shipping if you are outside of the UK. No cash alternative is offered. Neither myself or the organisers of Retro Challenge can be held liable if you end up starting a new career based on your competition entry.