EPROM Info Table

One of the other things I am involved in is graphics. I have had this table knocking about on my hard drive for a while:

EPROM Table

EPROM Table

It’s available from several sources and I find it very useful. Search as I might, I can’t find out who the original author was. In any case, I have re-drawn it and you can download if from HERE. I have pretty much stuck to the original document, certainly with the information.

New EPROM Table

New EPROM Table

Feel free to download and distribute as you wish but I take no responsibility for the accuracy of the information presented. Although I believe it to be correct, I suggest you verify it all before use.

Posted in Components | Tagged , , , , , , , | Comments Off on EPROM Info Table

Spectrum Composite Mod and Refurb

A short while ago, I became reaquainted with the world of the Sincclair Spectrum. Back in the original Spectrum Heyday, I had many bits and pieces (wish I’d have kept them!) one of which was a composite monitor. In fact, I think it was a Microvitec Cub. Now I have got another Spectrum and I am slowly getting back into machine code programming, I’d really like a better monitor than the 7in Car TV style unit that I’m using.

I found a bargain on eBay, a Dell UltraSharp 2007FP for just under £30. I connected it to the Spectrum on arrival and…. nothing. Well, the screen looks like its about to display and just switches off after briefly displaying a logo in the top left hand corner.

 Dell UltraSharp 2007FP

Dell UltraSharp 2007FP

It’s a lovely monitor with Composite, S-Video, VGA and DVi inputs, as well as a USB Hub built in. The display can even revolve and be used in portrait mode.

I spoke to Andrew Gostling in the Spectrum 4Ever group and he advised me to change the composite mod I had carried out on my Spectrum from the transistor type to the capacitor type. I did so but Dell still did not want to know. Andrew also suggested I try an inverted emitter follower circuit. I didn’t have the chance to do this until now.

Please Note: If you choose to follow these instructions, you are solely responsible for any and all damages and/or injury caused. If you are not confident with a soldering iron and de-soldering equipment, you would be better to find someone with the correct experience. Having said that, it isn’t a hard procedure and, if done properly, it can also be reversed with relative ease. So, in short, these instructions assume a certian level of competence with regard to electronic assembly and it is not meant to be a tutorial as such.

You will need the following components:

  • 1x 100R Resistor
  • 1x 100uF Electrolytic Capacitor
  • 1x PNP BiPolar Transistor (I chose a 2N3906)

Rather than change the Spectrum I had already modded twice, I elected to add the new composite mod to my spare Spectrum Plus board which needed a refurb anyway. Unfortunately, the case for this Issue 6B board has a few screw pillars missing and the keyboard membrane is also shot. This is why I’ve been keeping it as a spare.

The first step was to add the composite mod. I carefully disconnected the +5v and Video Input lines and folded them over the side of the modulator case after removing the friction fit cap. Also, disconnect the resistor from the phono socket on the back of the modulator. Tidy this up since we will be connecting to it in a moment.

+5Volts and Video Disconnected

+5Volts and Video Disconnected

Connections Folded Over

Connections Folded Over

After having disconnecting the original lines, which effectively disconnects the modulator circuit, it was time to add the composite mod itself. First, check the holes that were where the +5v and Video lines were, then clear the hole near the back edge of the board. If you turn the board over, you will see which one is connected to the Ground Plane, that’s the one to clear.

Inverted Emitter Follower Composite Mod

Inverted Emitter Follower Composite Mod

Composite Mod Overview

Composite Mod Overview

I connected the transistors Collector and Base first to provide a foundation to work on. In this instance, I chose a 2N3906. The configuration of the transistors leads means that you should face the flat side towards the modulator case. If you choose a different transistor, fit accordingly. Next, I connected the 100R resistor to the +5V connection on the board and connected the other end to the emitter of the transistor. I put some sleeving on the emitter leg to prevent it shorting against the modulator case, however after adding the capacitor next, it probably was safe enough.

Video Mod Schematic

Video Mod Schematic

I next carefully bent the transistor out of the way and connected the negative lead of the capacitor (which should be clearly marked on it’s body) to the video output center, feeding the lead through the unused plastic port on the modulator. The other end (positive) connects to the junction of the resistor and the transistor’s emitter lead. Hopefully, this is all apparent from the images above.

Before trying the mod out, I felt it was a good time to exchange the LM7805 linear regulator for a TRACO TSR 1-2450 which is a small pin-for-pin substitute. It is a switch-mode unit and is very efficient, far more so than the 7805. It also dispenses with the metal heatsink.

LM7805 Heatsink Removed

LM7805 Heatsink Removed

LM7805 Removed

LM7805 Removed

The TRACO unit is a drop in replacement and is easy to solder in. I used a little blu-tak to hold it in whilst I soldered it in place.

TRACO Regulator Soldered In Place

TRACO Regulator Soldered In Place

I’m very pleased with this particular mod. I ran the board for over an hour afterward and the TRACO unit doesn’t even warm up.

The time had come to try the monitor out but, since it would mean clearing the workbench, I decided that I’d re-cap the board first. This involves getting a re-capping kit from someone like the brilliant Retroleum or sourcing the correct capacitors yourself. I had a spare set from Retroleum so they got used. I carefully removed the old capacitors one by one, noting what value they were and what orientation they were in and replacing them with the new ones. I make it a point to face the values upward to ease future repairs/replacments.

Two Capacitors Replaced

Two Capacitors Replaced

Having finally completed this task, I connected the Spectrum up to the monitor, powered up and… still nothing. Well, I think the monitor is extra picky about it’s composite input. I have spoken again to Andrew and he recommends I try connecting to the S-Video socket. I have ordered a cable that I can modify with a phono connector to provide the correct connection.

Meanwhile, I have a working refurbed Spectrum Issue 6b board and the composite mod does work on my 7 inch car style monitor.

Many thanks to Andrew Gostling for his continued assistance.

 

Posted in Equipment, Mods | Tagged , , , , , , , , , | Comments Off on Spectrum Composite Mod and Refurb

Old Skool Tape Loading

As I continue to explore the world of retro-computing, bringing back memories of my late teens and early twenties, I’m constantly amazed at just how big the retro-computing scene is. I’m also amazed that, given all the new interfaces for program storage like the SMART Card and DivMMC, retro-computer users still like the ‘experience’ of loading programs the old way, i.e. from tape. Personally, I am very happy to use a more modern instant loading system but I came across the TZXDuino and that piqued my interest. Mainly because of the tell-tale ‘duino’ part of the name. Further investigation led me to the Tapuino and other such devices.

All these devices allow you to store programs on an SD-Card and send them to the computer, in my case the Sinclair Spectrum, in audio. This basically replaces the tape machines of old with a completely reliable piece of hardware, avoiding the dreaded ‘r Tape Loading Error, 0:1’ from appearing.

What attracted me to the various designs is their simplicity. The main parts are an AVR (be it Arduino Nano, Uno, Mega or bare ATMEGA328), an SD-Card module and an LCD/OLED Display. Also some buttons for control. That’s it! All the magic is in the code. Currently at version 1.7b, written by Andrew Beer & Duncan Edwards.

Having looked at a few of the many designs, I went for one with an OLED display after seeing Davide Barlotti’s amazing internal build.

Davide Barlotti's Internal TZXDuino

Davide Barlotti’s Internal TZXDuino


I prototyped it up with an Arduino Uno clone and breadboard to check all was well. I always like to prove a design for myself.

TZXDuino Prototype

TZXDuino Prototype

I was very pleased when it worked first time, usually I have issues with breadboards! I successfully loaded some of my original games, starting with my favorite Knightlore. The interface is simple; you scroll to the file you want, or into a sub-folder and when you have the file you wish to play highlighted, you simply press play after setting the computer into loading the program from tape as usual. I do understand the attraction of experiencing the original loading procedure. Along with owners of the original Spectrum, I went through this process countless times!

Now I had proved the prototype worked, I moved to design a PCB to house the modules and controls. I’m intending to power the device from the Poundland Power Banks I recently purchased, so I included a mini-USB connector for power input along with the usual DuPont style header. I have also included a polarity protection diode in case the header connections get reversed. The power is routed over to an ATMEGA328 and the OLED Display and Micro-SD Card modules. I have designed the board to accept the modules being the easiest way of construction. There are also four holes for later mounting in a case or for securing feet.

TZXDuino Compact v1.00

TZXDuino Compact v1.00 KiCad 3D Preview

I call this the TZXDuino Compact. I will shortly be ordering PCBs to test the design and, as per usual, once proved the design files will be available on this site.

TZXDuino Compact v1.00 KiCad Preview

TZXDuino Compact v1.00 KiCad Preview

I have been focusing on the TZXDuino, which is primarily for the Sinclair ZX Spectrum but the device can operate with other machines and lots of other filetypes.

  • TZXDuino plays TZX/TAP/CDT/P/O files.
  • CASDuino plays CAS files for MSX and Dragon.
  • Arduitape plays WAV files (up to a max of 22050Hz)

You can find details on the Arduitape Facebook Page.

 

Posted in Building, Construction | Tagged , , , , , | Comments Off on Old Skool Tape Loading

Spectrum Resurrection

All the excitement around the Spectrum Next Kickstarter, and now the shop opening on the forum got me inspired to get hold of an original machine on eBay. Supposedly in working condition, it arrived with a problem.

Spectrum RAM issue

Spectrum RAM issue

The eBay seller apologised profusely and requested I send the machine back and have a full refund, however, I know my way around a circuit 😉 so I kept it. The eBay seller kindly gave me a partial refund. I was pretty sure what the problem was from how the display was and the exchange I had with the seller. It looked like a RAM issue.

Since I was intending to use the machine for programming and such, I had decided to fix it sooner rather than later. I ordered a ZX SpectROM with Diagnostic software specially supplied to narrow down the problem.

Upon powering the machine up with the ZX SpectROM installed on the rear expansion port, the Spectrum bleeped 8 times and then went on to have it’s RAM checked. All the lower RAM passed, the upper RAM failed every test!

I ordered a couple of upper RAM modules from Phil at Retroleum Whilst I was ordering, I got a couple of re-capping kits too! They duly arrived and I went about fitting the capacitors first. however, before fitting, I gave the board a once over and found a connection un-soldered!

Ooops, someone missed this!

Ooops, someone missed this!

It was completely clean, as if it had been in this state from factory! Needless to say, I rectified the problem before proceeding to replace the capacitors. I made a special effort to face all the values upwards so that they can be read in the future.

After re-capping, I had to remove all the upper RAM chips to make way for sockets. This would be primarily for the new RAM module but it’s nice to have the facility to fit original RAM should I choose to sometime in the future.

Upper RAM removed

Upper RAM removed

Eagle-eyed among you might spot a dodgy track on the lower right-hand pair of chip placements. Careful as I was, I still had that one track lift. However, despite how it looks, it didn’t break. I managed to get it back into place before soldering the sockets over the top.

Sockets installed

Sockets installed

With the sockets installed, it was time to fit the RAM module. This went on very easily. You just have to line up the top left pin with the top left socket and the bottom right pin with the bottom right socket. The module fitted in very firmly. I double checked I’d got it in the right place.

New Upper RAM Module Fitted

New Upper RAM Module Fitted

Since I was in the machine and the components came with the re-capping kit, I chose to perform the composite video modification as well as the re-capping and RAM replacement. This is another simple procedure.

Two options are available and Phil includes components for both with the re-capping kits. The mod can be done with a capacitor or a transistor. I chose the transistor mod because that also provides a buffer for the Spectrum’s video circuitry.

First the internal connection to the output socket is de-soldered and folded out of the way. Then the power and feed lines to the modulator are disconnected and folded over the can’s edge and finally, a transistor is soldered in place and a connection made from the pin nearest the rear of the Spectrum up and through the modulators case to the output socket.

Composite Mod Transistor

Composite Mod Transistor

Composite Mod From Above

Composite Mod From Above

After carrying out all this work (and having a much needed cuppa!) I did a final check around the board, particularly in areas I had worked in. All seemed OK so I replaced the board in the ‘Plus’ case, screwed it up and plugged it into a 7-inch composite monitor. I was greeted with the ‘© 1982 Sinclair Research Ltd’ message. Yay! I’d fixed it.

I really enjoyed the experience too. Buoyed by this, I built a DivIDE interface for storage and convenience. Unfortunately, the board does not didn’t work.

DivIDE 57c

DivIDE 57c

I take great care when I build anything and I double checked the connections. All seemed fine. I checked the ROM and GALs had data programmed into them with a Minipro TL866 but later, loaded EXSDOS since that’s what I will be using when the Spectrum Next arrives. Updating the ROM had no effect. Pressing the NMI button just reset the Spectrum.

I had a chat with some of the guys on the Spectrum 4 Ever group on Facebook and the consensus was that the Z80 chip probably had a weak/faulty M1 line. I reopened the case, de-soldered the Z80 and replaced it with a socket. I then tried 3 other Z80 chips, all of which even failed to react to the NMI button at all. I suspected there is an issue on the DivIDE board or that the Z80’s I substituted all had M1 issues. I continued to work on the issue.

In the meantime, I’d found a couple of cassette tapes of utililties and machine code that I wrote in 1991! I’ve begin to transfer them over to PC so I can re-learn what I knew back then.

[UPDATE]
I dug out the ZAViouR board to see if I’d left a Z80 on it. I had, and one substitution later, I had a working DivIDE! So, this confirms, I have four Z80s with weak or faulty M1 lines. I have marked them clearly and will only use them in projects that don’t require the M1 line!

Posted in Uncategorized | Tagged , , , , , , | Comments Off on Spectrum Resurrection

Electronic Film Clapper

By way of a break from the Timed Camera Cable Release, I chose to develop the Electronic Film Clapper further and learned a lot in the process. I had the first iteration of the boards fabricated by Hackvana as usual and they arrived in good time.

On the board, I included several options to tailor the design to the builders taste. Provision for both a digispark board or bare ATTiny85 chip, small or large tact switches and a jumper to defeat the LEDs supply resistor for extra brightness.

I chose to build the Digispark version first. It went together easily (bar a hole size issue, more of that later) and I programmed the digispark via it’s own USB socket. And… the board completely failed to start up. It took me some time to realise that I’d got the USB power connections inverted! Lucky I’d added a reverse polarity diode! I de-soldered the USB ‘A’ type plug and re-soldered it on the back side of the board flipping the connections. I don’t have the correct type of USB plugs anyway, so it’s a bit of a kludge at the moment. However, once this was done, the board sprung to life. When powered up, the Digispark’s micronucleus bootloader kicks in for a few seconds and then the Clapper code starts.

The hole size issue was due to my custom tact switch footprint in KiCad being wrong. Although I managed to transfer the dimensions across from the datasheet successfully, I’d used the wrong size drills for the through plated holes and hence, the larger Omron type tact switch will not fit. I have amended the footprint now. At the moment, the switch on the prototype board sits slightly high on the surface.

There was another issue to be resolved; although the board started up fine, the ‘pip’ seemed to be incomplete. It was obvious from the symptoms that there wasn’t enough power to flash the LED and sound the pip at the same time. To sort this problem out, I bridged across the 78L05 part of the circuit. Once I had done this, the board worked perfectly.

So, on to the bare chip version. Having learned of the tact switch problem on the first build, I elected to use the smaller tact switch on this board. It fit perfectly. I had it complete in short order. I programmed the ATTiny85 chip via a technique called ArduinoISP where an Arduino UNO becomes a programmer. Upon powering the board up… Flash but no pip. This frustrated me for several days. I tried many fixes including changing the ATTiny’s fuses, but finally discovered that the bare ATTiny85 doesn’t directly support the Tone() function which is what I used in the code for the pip sound. I can only assume that the Digispark has custom code to account for this.

After a lot of research, I discovered an article on Technoblogy detailing this issue and a pointer to a library that adds the functionality. Once I re-programmed the ATTiny85 all was well!

Film Clapper prototype and v1.2 boards

Film Clapper prototype and v1.2 boards

To finalise the design, I’ll be inverting the USB Type ‘A’ plug, removing the regulator circuit and making provision for a link across the buzzer resistor. I have found that driving both the buzzer and LEDs directly from the ATTiny’s GPIO lines gives a much brighter LED and louder ‘pip’. I would imagine that this stresses the ATTiny slightly but since it’s a brief pulse, and provided it’s not done repeatedly, I believe it will be OK.

Design files are available on the AVR Projects page.

 

Posted in Building, Construction | Tagged , , , , | Comments Off on Electronic Film Clapper

New Project: TB Timer – Timed Camera Cable Release

One of my other pastimes is Photography. I used to be ‘in the trade’, in fact, I have been a photographer and a photographer’s assistant several times. Nowadays, I pursue photography in a hobbyist sense. I still enjoy experimenting with exposures and recently, I was lucky enough to win a Lee Big Stopper Neutral Density Filter. I’d like to do some long exposures with this. The trouble is, I have no cable release to go with my camera. Sure, I could jump onto eBay or another website and order one of the myriad of pre-made cable releases but where’s the fun in that?

I have worked up a design that will hopefully fill all the criteria I need and be expandable too. I have settled on four modes:

  • B – Standard bulb mode where the camera shutter opens as long as you hold down the button
  • T – The shutter opens on the first press and closes on the second press
  • TB – Timed ‘B’ where the cable release is programmed with a time and the shutter opens for this amount of time
  • EX – Provision for an external trigger to connect sound and other sensors

It’s taken some research but I have built a prototype with my trusty ARDX Arduino Uno kit

TB Timer v1.00 Prototype

TB Timer v1.00 Prototype

Currently, the device changes mode with a press of the mode button which will later be incorporated in a suitable rotary encoder. I modified the prototype’s rotary encoder to remove the detents and therefore, have continuous motion rather than be stepped. When stepped, the value hops by two at a time. The ‘B’ and ‘T’ modes both operate as expected and at the moment, the rotary encoder changes a value in ‘TB’ mode and is displayed on the OLED display. the outputs are opto-isolated so will appear as switches to the camera. Although I’ll be using the cable release with a Canon DSLR, it should be very easy to make it work with other DSLR makes.

It’s early days yet and still to do are moving the rotary encoder code into the ‘TB’ function so that the time is only changed whilst in this mode. I’d also like to be able to change the value of minutes and seconds independently.

As with all ProjectAVR designs, the design files of the final boards will be available on this site as Open Source in due course.

Posted in Building, Coding | Tagged , , , , | Comments Off on New Project: TB Timer – Timed Camera Cable Release

minDUINO Next

Whilst the Spectrum Next Kickstarter goes from strength to strength (1st stretch goal reached already at £350,000), I have been redrawing the minDUINO in KiCad. Today, I received the first batch of PCBs from the ever brilliant Hackvana and they are great.

minDUINO v1.6k Front and Back

minDUINO v1.6k Front and Back

I have since built one and tested it so I’ve also added the files to the minDUINO page for download.

Posted in Building | Tagged , , , , , | Comments Off on minDUINO Next

Spectrum Next Kickstarter Active!

After what seems a very long wait, the Spectrum Next Kickstarter campaign has started. This machine promises to be everything the retro-computing fan would need. A very well ‘speced’ machine (pardon the pun) with active development, a thriving community and a great Facebook page. If you’d like more info, you can check out my brief review on this ProjectAVR Page or the Spectrum Next‘s own webpage.

Spectrumnext Black

The Spectrum Next rendered in black.

One of the really great things about this project is that it will be Open Source. I’m looking forward to pouring over the technical documents when the time comes.

With 40+ backers added whilst typing this, I can see it being a most successful Kickstarter Campaign.

[UPDATE 24-04-2017] At approx. 09:36 BST, the Kickstarter got to it’s target in just over 24 hours showing an amazing level of support for this machine.

SpecNext KS Target Achieved

SpecNext KS Target Achieved

Looking forward to seeing the machine ‘in the flesh’ in early 2018.

Posted in Design, Equipment | Tagged , , | Comments Off on Spectrum Next Kickstarter Active!

YouTube Channel

I’ve been setting up equipment to start a ProjectAVR YouTube channel for a while. Almost there now. Just a few more pieces of the jigsaw to put in place. In the mean time, I’ve been learning about video editing and sound recording. One piece of equipment I will have need of is a ‘Clapper Board’ or ‘Slate’ to aid syncing of sound and video from multiple sources. I decided to make my own rather then buy one of the many ready made solutions available. After having searched around online though, I found that there aren’t a great deal of DIY designs.

Since I’ll be working on my own, I won’t need the usual panel that notes are written on, all I need is the visual/audio que. I first made up a circuit with an Arduino Uno and breadboard. It simply traps a keypress and when released gives a 50ms pip and pulses an LED.

Once I had the code working I begun to think about how I would build it. Using an ATMEGA328 for this purpose is like using a sledgehammer to crack a walnut so I decided to use an ATTiny85 Digispark clone I’d got on eBay. I used a small piece of strip board to mount the Digispark clone and other components.

ATTiny85 Clapper v1.2 Prototype

ATTiny85 Clapper v1.2 Prototype

ATTiny85 Clapper v1.2 Visual Que

ATTiny85 Clapper v1.2 Visual Que

I built the prototype to be powered specifically by cheap ‘Poundland’ USB Powerbanks, of which I have a few. These powerbanks are great value at GBP1 each but any USB socket will power the clapper successfully.

ATTiny85 Clapper v1.2 with Powerbanks

ATTiny85 Clapper v1.2 with Powerbanks

There is one small issue with the ATTiny85 Digispark clone. Since it uses the Micronucleus bootloader for programming via USB, the reset pin has been disabled. The ATTiny’s fuses are set to use the pin as GPIO instead, therefore the board cannot be programmed by ICSP and consequently any code running on the device is subject to 5 seconds startup delay. The next step is to enable the reset pin once more and program the clapper code via ICSP. This will mean that the device will start up and run the code immediately. In the interim, I have added a short audio chirp to signify the device is ready to use. This has proved adequate for now although I may leave the chirp in after enabling the reset pin anyway.

Proving boards have been ordered from my favorite fabricator, Hackvana.com. Later, I’d like to produce a design to acommodate a vanilla ATTiny85 as well. This will require a different programming procedure and a means to connect the hardware. As per normal, once I have finished the design and proved it can be programmed successfully, I will publish a full set of KiCad/Gerber design files along with the code to drive it.

 

Posted in Construction, Uncategorized | Tagged , , , , , | Comments Off on YouTube Channel

KiCad

KiCad is an EDA program, similar to Eagle, Altium and the like. I last tried it some years ago and found it to be very difficult to use, not least because of the inevitable steep learning curve that all CAD type programs seem to have. However, recently, I thought I’d give it another go. I downloaded and installed version 4.0.5 in order to have another bash. I was pleasantly surprised to find a much more mature product than I had found in the past and it had become usable for me.

I followed a set of introductory tutorials on YouTube called Getting To Blinky 4.0 Presented by Chris Gammel. These are well worth doing as is joining the KiCad forum Chris mentions in the videos.

As an excercise, I re-created the minDUINO v1.6 design to see if I could get to grips with the new way of working. Unlike other EDA programs, KiCad separates the component symbols on the schematic from footprints. Once a schematic has been drawn, annotated and a netlist produced a program is called specifically to associate symbols with footprints manually. Then, in the PCB layout program, they appear ready to be placed upon reading the netlist. I understand that you can have CvPCB, the association program, take a stab at allocating footprints automatically, but I haven’t got that far. I quite enjoyed this systematic approach but it can be a little frustrating when updating a design. I found that I had to re-create the netlist again after footprint association in the schematic and then import the netlist to the PCB layout program.

The outcome of my first foray into KiCad is this:

minDUINO v1.6 (KiCad)

minDUINO v1.6 (KiCad)

Here illustrated flashing the LED on pin 10 of the ATMEGA328 by way of a test. The board was fabricated by OSH Park in this instance. It has a couple of wrinkles though; I thought to fit a ZIF socket like the previous Eagle version of the board but I neglected to make the holes large enough to accommodate the wider pins of the socket. The ceramic capacitor hole distances are a little tight and there is a labeling issue on the underside. I also didn’t give enough clearance for the full shrouded 6-pin header for ICSP. However, these small problems aside, it worked first time.

OSH  Park Fabricated minDUINO v1.6 Board Front and Back

OSH Park Fabricated minDUINO v1.6 Board Front and Back

Once I rework the design and have had some new test boards fabricated, I’ll publish all the design files on the minDUINO page.

I’ve decided to go full ‘Open Source’ after having watched several videos and read articles. I realised that I haven’t been following the full guidelines of the Open Source movement. Mostly because of my Non Commercial attitude. Over time, I will correct this site-wide and make sure all the designs are full Open Source and that all the design files reflect this. I may keep the (corrected) Eagle Files online but new designs will be produced in KiCad.

Posted in Building, Design, Uncategorized | Tagged , , , , , , , , , , , , | Comments Off on KiCad