Just a quick update to about the SD Bootloader I designed a few posts ago. Well, the PCBs have arrived and last week I took a soldering iron to one of them and gave it a quick test
One side of the board is effectively an Arduino, so without plugging it in to the RC2014, I connected up an FTDI lead and uploaded the Arduino Blink sketch. A quick check with a multimeter and one of the pins was altenating between 5v and 0v. So far, all good! (more…)
So, the RC2014 is great. I can run Microsoft BASIC and program it from there, and as long as I am using a terminal emulator, I can copy & paste to save and load programs. Alternatively, I can write Z80 code using an online compiler then download it, copy it to USB stick, move it to my old Windows 2000 laptop (which has a parallel port) so I can burn it on to EPROM to see if it works, make adjustments and repeat with another EPROM.
I will be the first to admit, however, that this is probably not the most efficient workflow. Not to mention the time and effort involved in wiping the limited stock of aged EPROMS.
So, I am in the process of designing an SD Card based bootloader.
Wow! What an awesome month July has been. The whole Retro Challenge thing has been great, and despite moments of stress or despair, I have thoroughly enjoyed taking part and seeing what everyone else has been up to. Before I sum up my project, I should make a few honourable mentions.
Retro Challenge – A huge thanks to Mark and Wgoodf do a great job in hosting this twice a year. Keeping everyone updated via Twitter has worked really well. Cheers guys!
Grant Searle is responsible for the general Z80 design I used and also converted MS BASIC from the Nascom to run on this. Really, this project is a test of my understanding of Grants work and seeing how far I can take things.
Nottingham Hackspace has an amazing “parts bin” that included the LEDs, Veroboard, case, some of the logic chips and the RAM I used.
OSHPark did a great job (for a very good price!) on the PCBs – even if the postal system did keep me on the edge of my seat for a bit!
Chris Gammell introductions to KiCad PCB design videos were critical in guiding me through the various stages of board design.
Rodney Zaks book Programming the Z80 has been like a bible for me. Combined with a few dozen other resources of Z80 info on line I’ve been able to at least get the basics assembly language programming.
CLRHome is a great online Z80 IDE that can compile assembly language in a variety of output formats including for the ZX Spectrum. I doubt I could have managed this in notepad!
Despite a late start today, things have gone well so I actually feel like I’m ahead of the game right now. Certainly not finished, but with most of the major hurdles now behind me, the only thing left is writing a bit of Z80 assembler code. And even that is starting to look manageable.
So, exactly 3 weeks after they were ordered, the PCBs from OSHPark arrived today. It’s just as well, as I was running low on things to do without them, and with just 6 days left of the Retro Challenge I would have struggled to finish in time.
Well, that’s my weekend planned out for me now! (more…)
The mounting of the LED matrix has probably caused me the biggest turmoil so far on the Retro Challenge. First, I was going to design a custom PCB for them, but I missed the window of opportunity to get it manufactured at a reasonable price. So, for simplicity, I decided to use breadboard until I realised this wasn’t simple with that amount of wires. So, I went back to PCB design preparing to take the financial hit. However, it proved impossible to get the tracks to fit, so this idea went in the bin again. Back to breadboard, I bought a load of jumper cables, and started expanding on what I started earlier. For the driver chips it was ok. For the matrices themselves though, I came across a show stopper; The width of it is so wide that in the breadboard there are 2 free tie points on one side but just 1 on the other. Getting a data bus down all of them was not going to be possible :-(
So, I had a rummage through some vintage Veroboard and found a Euro-card sized board with chip layout tracks. It would only fit 5 modules side by side, but I was prepared to make that sacrifice. I also had some 40 pin female sockets, so that made life even easier!
I knew there would be some stumbling blocks with this Retro Challenge, but, hey, it wouldn’t be a challenge if everything was just nice and simple. However, I seem to be beset by little stupid technical issues that aren’t necessarily retro in nature.
However, the fact that you’re reading this does at least mean that my blog is working again! I ran some updates last week, and it caused some issues with a plugin meaning I had no way of adding, editing or modifying any posts. I’ve now got that tracked down to the Poll plugin and disabled it. So, yay, I’m back!
So, part of this challenge is to use LEDs, and the little 8×8 matrix modules I found seem ideal. I had initially intended to design a PCB to mount a bunch of these on, but due to time constraints, it was looking very unlikely I’d get them designed, ordered, manufactured and delivered by the end of the month, let alone time for testing. So I decided to go Old Skool, and do this part on a breadboard. Well, 2 breadboards, as they each need a driver chip. Although, it’s actually 3 breadboards, as 2 aren’t quite big enough. Not to mention the other breadboard with the supporting circuitry on. I made a start on this last night;
So, after a flurry of activity, blog posts and updates at the start of the month, things have got a bit quiet.
That’s not to say I haven’t been doing anything. I have. Lots. But nothing really specific or bloggable.
Until the batch of PCBs arrive, I am kind of in limbo land. However, I’ve been looking in to the LED matrix boards a bit more, and working out how I’m going to connect them up (short answer – use breadboards to complete the challenge, but get PCBs made up for long term mounting.).
As the breadboard Z80 runs Microsoft Basic, I have been using that to test out a few bits in terms of orientation of the matrices and the best way to drive them.
So, today I finally did some hands-on retro wires and programming stuff instead of sitting at a PC doing CAD stuff.
I thought I knew how the LED matrix modules would work, in theory, but before I commit anything to copper and fibreglass, I’d like to test things out a bit. So I dug out my breadboard Z80 and fired it up to check it still worked (it did), and refreshed my memory on how the BASIC “OUT” command works with the ‘374 latches. Finding a bit of space on a breadboard, I plugged one of the modules in and wired it up in place of the bar graph and 7-seg displays I’d previously used as channel 0 and 1
I wanted to get a single dot on the display, so that meant turning the various pins high or low. One channel needed a single pin high with the other channel all high except for one pin. Or the other way around. Or just one pin on both channels. Or, maybe all high except for one on both channels. I could have gone through and calculated exactly which combination to use, but it was quicker to try everything. But I got very weird results