RC2014 SD Bootloader Update

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…)

RC2014 Bootloader for SD Cards

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.

i (2)

(more…)

RC2014 with ZX Printer interface

My original plan had never been to design and build my own computer.  I had, however, planned to build a clone of the Sinclair ZX80, which has been on my bucket list of things to own for year, and which I had found plans for online.  Whilst collecting the parts and reading up on simple Z80 computers I got kind of sidetracked and ended up with the RC2014.

The print out shown was what was left from the last time this was connected to a ZX Spectrum!

The heart of the RC2014 is a Zilog Z80 CPU, which is the same one that Sinclair used in the ZX80, ZX81, ZX Spectrum and Z88.  If the ZX81 and ZX Spectrum can run a ZX Printer, then surely it follows that the RC2014 will be able to too?

(more…)

Assembly Language Vs Lego

I guess this is kind of a follow up to my Retro Challenge posts, as it was thoughts that stemmed from teaching myself Assembly Language for my Z80 project.  Essentially it is a comparison between programming in the 70’s and today against building with Lego in the 70s and today.

lego_thesimpsons

But before I get stuck in, can you identify this famous TV family from a few crude Lego bricks? (more…)

Retro Challenge – Closing Thoughts

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!

All of the other Retro Challenge entrants deserve a mention too, but there’s a few that really caught my eye and taught me stuff about their particular approach to RC2014, such as Wgoodf – Turtles all the way down, Ians restoration of Northstar Horizon, Tezzas restoration and programming of Challenger 4P, John finishing work on Fahrfall

IMG_20140730_205950

(more…)

Retro Challenge – Challenge Complete

With over 24 hours to go before the end of July deadline the final piece of the puzzle fell in to place!

IMG_20140730_205950

But, first, a quick catchup from the last blog post;

(more…)

Retro Challenge – Finishing Post Within Sight

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.

(more…)

Retro Challenge – PCBs arrived and built

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.

IMG_20140726_085406

Well, that’s my weekend planned out for me now! (more…)

Retro Challenge – Matrix Interface Finished

Just a little update as I’ve only done a little bit of work on the Z80 this evening;

2014-07-24 21.34.48

The LED matrix board now plugs in to my Z80 backplane!

(more…)

Retro Challenge – Z80 Assembler Breakthrough

Sorry I’ve not made any updates for a couple of days, but there’s not been much of significance to report of late.  Until today, that is.  Although, as far as the PCBs I’m waiting for are concerned, the only news to report there is that there is no news to report.  I will report tomorrow if there is news to report on this or not.

I have, however, been plodding away at teaching myself Z80 assembler language.  And with some progress too!  I’ve managed to pass the first major milestone with the code I’m writing to display text on the LED matrix displays!  It basically, looks at some text stored in a memory location, then looks up each character in turn on the ASCII character map that I lifted from a ZX Spectrum ROM, and puts each line in every 5th byte in a different location.  This new location is essentially a 40 byte screen map for the matrix

Screenshot from 2014-07-23 21:00:25

(more…)