Joe's Hobby Electronics
  • Joe's Hobby Electronics
    • Electronics Blog

Same old excuses

30/3/2022

0 Comments

 
What can I say... I'm a busy chap.

I've been so busy with work and a large personal project that I've not really had much time for "fun" things, that said, it's funny how one thing leads to another.

I've been working on an all consuming huge project and I needed to take a break. I'm at a bit where I'm stuck and so decided to distract myself for a while and do something fun.
Many many years ago I had a project; the Digital IC Tester, published by Everyday Practical Electronics a UK electronics magazine. It consisted of a PCB with a PIC micro, some jellybean components and a serial connection to a PC that ran some; though I say so myself, brilliantly designed and written software. The setup was capable of testing TTL and CMOS digital ICs and the user could add their own IC definitions to the database. It wasn't meant to test all the operational parameters of an IC, just give a go/no go indication of it's operation. The project was a huge success apparently and even now I get e-mails about it. The software has been ported from Windows to other platforms and people have reinvented the design to suit their own requirements... it's been rather good :)
The reason I'm bleating on about this piece of history is that over the years I've had to fend off one question repeatedly "will it test ICs in-circuit". 
The simple answer is "no".. it won't. The more complex answer is still "no". 

If you imagine an IC as part of a larger circuit, the IC inputs are connected to other components in the circuit that are attempting to drive those inputs. You cannot just attach a test clip and start trying to force pins to logic levels when those pins are attached to other components in the circuit that are themselves trying to drive the same pins.
Attempting this would probably either damage these components in the circuit, or the tester device.

However, some while ago I had a thought.

Imagine a circuit; as complex as you like, that contains a suspect IC; and for sake of explanation and simplicity we will pick the humble 74LS00 - Quad 2-input NAND. 
Picture
The IC contains four NAND gates, where each gate contains two input pins and one output pin. With two inputs there are four possible logic output combinations. Details of the logic combinations and related output logic levels are listed in the truth table or function table for the gate. 

The common way to test the IC is to manipulate the logic levels on the input pins, monitor the output logic level and compare the results with the published truth table. If the output logic levels deviate from the truth table, it's fair to assume the IC is faulty. 

It occurred to me that I don't have to drive the inputs, the circuit will do that. All I need to do is capture the logic levels on the inputs and outputs and compare them with the truth table.

There is a flaw in this plan... actually it turns out there are two flaws but I didn't see the second until after I tried... But more on that exciting revelation in a minute. 

As already stated, out NAND gate has two inputs which gives a total of four possible input logic level combinations. But what if the circuit never uses all four combinations ? 
If I capture the input and output logic levels and compare them with the truth table, I can state that I know how many input combinations are possible (four for our NAND gate), that I've only detected some of them, (for example lets assume only three of the combinations have been used), and of those three combinations detected they all gave the correct logical output. So I'm 75% confidant the NAND gate is working correctly. If however I detect an invalid logic output for an input combination, I can be 100% confidant that the NAND gate is faulty. 
It's brilliant. 

Actually... it's almost brilliant. 

I rushed to my breadboard and constructed a simple test circuit. 
I would use a parallel load shift register to take a snapshot of the logic levels on all the IC pins, and then compare that data to the truth table from the data sheet. 
Picture
The above picture shows my prototype.

A 16-bit shift register with parallel load inputs is connected via a ribbon cable to an IC under test; the IC was in fact a 74LS00 running on my perfectly working 6502 CPU card. 
The data is read from the shift register by a PIC micro and the data squirted down a serial connection to my PC that was running a bit of VB code to display the results. This was going to be great. 

It worked, data was being captured in real-time and I could see the logic combinations being displayed on screen. 

Then I noticed something strange..
I was getting more combinations detected than were possible for a NAND gate.
I would see both inputs at logic 0 but the output also logic 0, or both inputs at logic 1, and the output also at logic 1. This wasn't possible unless there was a fault somewhere, and I knew that the IC was fine as was the CPU card being tested.

Time to break out the logic analyser. 
Ok, on reflection I should have done this first, it would have saved a lot of trouble later on. But it was on the top shelf under a pile of junk and a P.I.T.A to get too. 

After a couple of minutes the problem became obvious.
Picture
The three traces represent pins 1, 2 & 3 (1,2 are inputs and 3 is the output) of a 2-input NAND gate.
The trace shows that pin 2 (middle trace) is at logic 1 constantly, and then shows pin 1 moving from logic 0 to logic 1. However, you can see there is a delay before the gate output (lower trace) moves from logic 1 to logic 0.
This delay is the gate propagation delay, and if, unlike me, you take the time to actually read the datasheet for the humble 74LS00 in detail, you will see it states the propagation delay as a maximum of 15ns (it's around 10ns on the logic trace so that's within specification). 
Picture
So, what next.. is the great invention dead. 

Well I think that using my hardware project to capture the data is not going to work. Whilst I originally didn't need to capture every logic change it's really not going to be fast enough. 
I did try a different hardware setup that used 74LS573 8-bit latches to capture the data but it still takes too long to read the data, store it in the PIC and then transmit back to the PC. Even buffering a batch of results in the PIC first wasn't fast enough. 

Then I thought, but my logic analyser "is" fast enough... and it has a very nice data export function. I could capture the data and export it for processing by my own software.
If I watch for logic changes on the pins designated as outputs, and then backtrack in time I should be able to find the value of the input pins.  It might work.

Next problem which I never thought was going to be a problem... I need a 20 and/or 16 pin IC test clip.
Have you seen the price of IC test clips in the UK... they are absolutely ridiculous. 
I've a 14 and a 40 pin one that I've had for years, so I went shopping for a 16 and 20 pin versions.
After seeing the price I started wondering if I could make my own.
Question, can my 3D printer, print the case for a test-clip that is fine enough, but strong enough to make a decent test clip?

​So I designed on in TinkerCad...
Picture
And yes... it can give the resolution required and is perfectly strong enough.

The above model has ten hollow channels that run from the pin contacts all the way to the top and will allow for a fine connecting wire. I just need to figure out what I can use to make the contact.
After this, print two identical copies, fit a torsion spring and a bolt and it should be done. 

If anybody out there reading this is into hobby electronics I cannot recommend strongly enough that you have a look at 3D printing if you've not already. They are quite affordable these days and as long as you aren't overly bothered about keeping lots of different colours of filament in stock (I only print on whatever colour I last purchased as cheaply as I could find it), it's not very expensive to use.
Considering that one supplier wanted over £100 for a 20 pin test clip... printing your own small parts and tools can be a real cost saving.
​
0 Comments

A 4-bit CPU

20/9/2021

0 Comments

 
I've been insanely busy over the last few months. The human malware crisis has kept me busy at work, and I've got so many projects on the go that I don't know whether I'm coming or going half the time... so I thought I'd add another couple of projects to the pile to keep things interesting.

Now I've been working for a while with a friend of mine Max, from the USA. We've been designing a 4-bit CPU and it's been an interesting journey so far. Why 4-bits I ask you say? Well, it's for educational and experimental work, and in theory, 4-bits makes the CPU hardware half as complex as an 8-bit variant and it continues to be a very thought provoking exercise. Unfortunately, we put very few design constraints in place and this is coming back to bite us now. However, what we did specify was:
  • It will be a 4-bit CPU (which means that the ALU will only be 4-bits)
  • The maximum address space is 4K (12-bits) - of 4-bit wide memory.
  • It will have 16 instructions.
That was it. Since this is designed for education and experimentation, performance wasn't an issue.

The first challenge was, and to some degree still is, designing an instruction set. It was actually quite hard to specify the 16 instructions. We got to 15 and then ran out of ideas... NOP of all things ended up occupying the 16th slot.

Register definition was a nightmare and has changed numerous times. Just how many registers do you need?
Status registers (S), Program Counter (PC), Stack Pointer (SP), Interrupt Vector (IV) maybe, an Accumulator, an Index register (IX) and some general purpose registers.
We've settled on several configurations, only to then go back and change them.

There is an emulator that can run our virtual CPU and I've been working on an assembler. 
Things got interesting when a 3rd member joined the gang who is looking at designing a physical implementation of the CPU on an FPGA. Quickly it was realised that some of our initial design decisions wouldn't translate into a physical implementation particularly well. We made some instruction set changes. This upset the emulator and the assembler so they needed to be changed. Then we found some scenarios where the instruction set would no longer work correctly (it would be impossible to decode the instruction), so more changes to the instruction set were required. We've been around, and continue to circle this loop right now. 

However, and for me this is the really interesting aspect of all this, when I was trying to accommodate some of the new design changes I hit on an idea. Registers have been the bane of my life on this projects.
We started off with 7 or 8 general purpose registers and have now (currently that is) ended up with 4. It will change again I'm pretty sure.

Thinking out the box it occurred to me, "what would happen if we didn't have any registers at all"?
We had already abandoned the idea of an accumulator register, and our CPU supports memory to memory transfers. 
If we removed user accessible registers, we could then remove support for memory to register, and register to memory transfers making the instruction set and CPU simpler. 
Now before you all start shouting and screaming, yes, it's going to be slower doing everything within memory, and in fact, our design will make it slower than you image as we have a "unique" way of talking to memory.
But. if you imagine that all the system registers (PC, Status, SP etc) and user registers are stored in memory, the CPU could become completely stateless.
And the advantages of this are ?
If you were to pause the CPU just before it reads the first Nybble of memory for the start of the instruction, you could just switch memory page. The CPU would then read the PC from the new memory page and could execute the next instruction. Do this in a round-robin, and you can create a simple multi-process CPU that doesn't have to go through the hurdles of context-switching. 
It also means that as long as memory stays powered up, a power failure / reset of the CPU won't really cause any problems... in theory...

Another benefit is that since all the registers are now stored in memory, you can pause the CPU, and easily look at the contents of the registers by just reading memory (you can do this on more traditional CPUs but you need to write software to dump the registers which in turn changes the values of the registers - it gets a bit fiddly).

Myself and the rest of the team disagree with this approach and I understand their objections. It will do absolutely nothing for performance. However, if performance is a goal, then one needs to consider the initial design criteria. 
Building a 4-bit CPU that needs to operate in a predominantly 8-bit world is starting off with a pretty large handicap.
The restriction on memory address size doesn't help, and then consider that some of our CPU instructions require 9 program nybbles... performance was never at the heart of the design.
The bigger and more interesting question in my mind is... would it be interesting and more fun :)

I will possible fork the project at this point. I'm not going to get my own way (certainly if the performance card keeps getting played), but I'm now fascinated to see how easy it would be to create a multi-process implementation  using paged memory and just how stateless the CPU can be made. I'm also wondering if it's possible to make this a multi-processor design.
If it works the way I hope, I may then change the underlying design to be 8-bit with a larger memory map.
That's the advantage of designing your own CPU... as long as you don't want to win any performance awards, you can do whatever you please. 
0 Comments

Evil genius control desk.

29/4/2021

0 Comments

 
So I've been asked to build, what's being called, "the evil genius control desk". In reality it's a studio lighting and audio control solution that has some unique features. 

The studio space in question is divided into several areas and split over two levels. It needs multi-channel lighting and audio control for each area, and some additional features that I'll explain at another time. It also needs a security monitoring function and environmental control function.

After speaking with the customer, we drew up a list of requirements. 
Direct control of lighting and audio in three areas.
Lighting should consist of six lighting channels with each channel having colour and intensity user controllable.
Each area needs to be able to have audio; from multiple sources, piped on; including a "talk over" voice option.
The audio sources need to be MP3 and Bluetooth.
Because the main part of the studio is underground, it needs to have temperature and humidity monitoring and control. 
It's needs to be fairly compact, but with room for expansion. 
It needs to be cheap to do since I'm paying for it.

This is one of those projects that I found it difficult to know where to start.

First thing was to design a panel layout and it quickly became apparent that this wasn't going to be done as one large panel and so it would need to be modular.

The final design is below is is just under 1 meter wide.
Picture
Visio design of panel
The base panel is a 4mm aluminium sheet that's had cut out's made for the modules. Each module is then an acrylic face plate with the controls mounted to it, and behind that one of more PCB's in a stacked configuration.
This should make it easy to exchange a faulty module or do upgrades as required. 

Step 1, get a piece of aluminium, mark out the panel locations and start cutting and filing. 
Picture
Aluminium panel with all cut outs done
This part drove me nuts. Marking out the rather expensive aluminium sheet, cutting the holes with an electric jigsaw (which I'm incapable of cutting a straight line with), filing everything square, realising that I've not made the cut outs large enough so having to spend the next two days with a power file making the cut outs larger. 
Then drilling the holes and installing 80 odd M4 threaded rivets so I have mounting holes to attach each module too. 
I really didn't enjoy this part of the build, but, it turned out ok and I'm pretty pleased with the result. It needs a good sand down and painting but it should look ok when it's done.

Whilst planning this part of the project and working up the courage to start cutting into the blank panel, I started design work and fabrication of one of the audio modules. 

I'll cover each module in detail later on and how I created the panels but for now, the video clip below shows one of the audio mixer prototype modules on the bench being tested.
The panel is back-lit with RGB LED lights that are currently running a test pattern. There is also some light bleed through from the back lights to the VU meter LEDs that I'll need to cure. 

All in all I'm pretty happy with the results of this so far. 
Picture
Audio mixer module fitted in place
The above image shows the wooden frame that will be fixed to the wall. The panel is mounted on hinges so can drop down for access. The frame will be covered with aluminium panels and painted. 

I'm a bit worried I don't have enough space inside the frame however. I've got to get a PC style PSU in there, three 120amp 5v PSUs, and a ton of screw barrier strips plus some other stuff. I've measured everything and on paper it all fits, but these types of projects never to to plan for me. 

​More soon. 
0 Comments

Back to my hobby

26/4/2021

0 Comments

 
For the last 18 months, work has been crazy. Things calmed down around Christmas 2020 and I was hoping to get back into hobby mode but the universe had other ideas. Christmas eve the river burst it's banks and flooded the house and workshop. I've been dealing with the fallout from that ever since. 

Thank heavens for insurance is all I can say. The house is well on the way to being completed and the workshop is now looking somewhat normal but I lost a fair amount of stuff (some would say junk). It did need a clean out that's for sure, but I would have preferred if I'd been able to pick and choose exactly what would end up getting thrown out. Still, it's done now.

Luckily for me, around October 2020, I decided that I would convert the small upstairs box bedroom to a proper home office. I work from home most of the time now, and I've never been very comfortable doing working in my hobby workshop. That did mean that when I was flooded I could continue working. However, moving my day job out of my play room has given me a lot more space which is a real bonus.

The human malware epidemic didn't really give me much time to do anything, but I did sit and pass the UK radio amateurs exam. They were offering tests via video conference and removed the need to attend all the usually obligatory training sessions that teach procedure and protocol. A quick thumb through the book and straight to the exam. Callsign is M7MOJ
I'm all set up now on 2M and 70cm; not that I get much time to play at the moment.

I got suckered into building a combined lighting and audio console for a friend that has turned into a mammoth of a job. I'll be documenting more on this soon, but whilst electronically I'm on top of things, building the enclosure for the control panel has been a real challenge. I needed to be able to make small control panels, and after realising that there was no way I could do this with bits of aluminium and a file, I invested in a laser cutter. 
I've wanted one for years and it's great fun. It will cut up to 5mm Perspex (Acrylic) and it's made designing and cutting control panels so easy to do. Again, I've got some article ideas in the pipe line covering this including how I elected to make my panels, and all the mistakes and dead-ends I went down.
0 Comments

Acorn System 1 Speed Test

18/6/2020

0 Comments

 
Lots going on with this project right now, but I thought I'd do just a very quick update.
Another batch of PCBs arrived a couple of days ago and I'm slowly working my way through assembling them.

The one thing I've very happy with is that by replacing the relatively slow (in terms of access speed) EPROM that contains the Monitor firmware with an ATMEL EEPROM, I've managed to run the system including backplane and a couple of expansion cards up to 8MHz. The EEPROM is rated at 120ns which is around 8.3MHz.
The CPU is spec'd to around 14MHz so that would require memory and EEPROM with an access speed of around 70ns. This maybe pushing it for an EEPROM so some research on what's available is required.

However, running at 8MHz my SAD (Segment Address Decoder) board, and new 8-LED display board all worked fine. 
Picture
0 Comments

Acorn System 1 Memory Board and Dataman programmer update

10/6/2020

0 Comments

 
Last week I'd had enough of that Dataman programmer. It would sometimes work but more often that not Windows would fail to recognise the programmer. I'd tried it on Windows XP and three different Windows 10 machines (one was a brand new out the box machine) and it was always the same. So I sent their tech support people an Email saying fix it, or they were getting it back. I got a lovely immediate reply suggesting I download the latest software from their site, which I did (even though the version I had was only two weeks old), and hey-presto, problem sorted. Have used the programmer several times and it's worked perfectly each time. 

I've also been working on my Acorn System 1 storage expansion card; and I needed a working EPROM/EEPROM programmer so I could flash an EEPROM that contains the boards memory map.
Picture
Whilst it looks like just a jumble of wires, it does work, so far, and I'm rather proud of it.
The CPU simulator on the right is designed to allow me to wiggle all the Address, Data and Control signals. It makes it really easy to set up known signal patterns to a project under test, and then poke around with a scope lead and see what's going on. It connects to the breadboard via a ribbon cable which can be removed, allowing the project to be hooked to a special expansion card that plugs into the computers backplane. 
There will be a full breakdown of how this board works (assuming it does work) soon, but in brief the board contains RAM and EEPROM which are both broken into pages. When completed the card will occupy around 56K of space in the memory map, but will contain around 8Mb of EEPROM/RAM that can be brought in and out of the map as pages.
The two, two digit LED displays on the left show the page numbers for the RAM and EEPROM. The Two digit display at the tope of the board shows the offset that is applied to the memory to allow access to the right page.
All the buffering and decoding logic, as well as some debugging displays/leds etc are on that breadboard including a flash memory that is used to calculate the offsets into the EEPROM/RAMs. The only two components that are missing are the actual EEPROM and RAM chips. They get added next and then I'll find out if this actually works. 
0 Comments

Acorn System 1 Progress and Dataman Programmer

29/5/2020

1 Comment

 
I'm sort or regretting buying this Dataman programmer. I need to spend a lot more time trying to figure out exactly what's going on with it, but assuming my unit doesn't have some weird intermittent fault, then the quality of the software; specifically the USB driver sucks. 
I've tried this programmer now in three different machines; 2 x Windows 10 and 1 x XP SP3 and in all machines it's very hit if the USB driver will work. There seems to be a correct start-up sequence that's required but I can't quite seem to pin it down. I'm hoping to spend some dedicated time with it over the weekend and if I can't get to the bottom of what's going on, I'll have to return it (and I knew I should have kept the flippin box). Bugger. 

Progress on my Acorn System 1 is a bit more positive.
I received a batch of PCB's from JLC the other day and I've started assembling and testing them.
Unfortunately I've already spotted some silly mistakes and areas for improvement.
Of the three I've tested two are fine; with only some slight modifications, and the 3rd which is the backplane board, well, that's for the bin unfortunately.
Somehow, I'd managed to misalign the Euro sockets. The first socket is fine, but as you move along the row of sockets, a very slight position error can be seen and by the 3rd socket, it's impossible to get it to align correctly with the mounting holes on the rack.
The board is still useable standalone, or even in a homemade enclosure, but it's useless if you want to mount in within a proper 19" rack with pre-drilled backplane mounting strips.
So I'm more annoyed about the time wasted than the actual money; a set of five of these boards (minimum quantity) only cost me around £10. 
However, it does give me the opportunity to make some other adjustments. One thing I may do is look at moving it to a single sided board. This will make removing of these large 96 way Euro connectors a LOT easier. It's basically impossible with through-plated holes.

Today, I'm also taking my RSGB foundation exam which will allow me to have a radio amateur call sign and operate a modestly powered transceiver. This should be interesting. I have looked at the syllabus; maybe twice so we shall see how it goes. Twenty six questions, and a minimum pass mark of nineteen required.

1 Comment

Dataman EPROM programmer and fake Chinese EEPROMS

26/4/2020

0 Comments

 
One of my ongoing projects is building a replica Acorn System 1 computer and this has required programming EPROMS. Programming EPROMS in itself is fast, but erasing them ready for re-use is time consuming.

So for this project I decided to use EEPROMS. Ebay had numerous Chinese sellers listing all types of devices from 2K to 64K and I bought a selection of AT28C16 (2K x 8) and AT28C64 (8K x 8)

I opted to use an 8K version initially as that fitted my IC socket on my development machine. 
I've documented the problems I've been having with getting that machine to run, and as one options to try and sort out my problems, I decided to abandon the EEPEOMs in case they were causing some weird incompatibility issues. To be fair I've not really got much experience with EEPROMs so it was possible there was some "got-ya" I wasn't aware of, so back to trusty (but slow development cycle) EPROMs seemed sensible for now.

This however meant using my crappy slow EPROM programmer. It's a serial programmer, running at 1200 baud and the software is so old that it would only run (just) on an old Windows XP laptop. It was a real pain.
And this problem has gotten in my way several times.

When my brother passed I kept his Stag EPROM programmer. This is a nice machine but again the software is really only and won't run on a modern PC. I did think about writing new software but who has the time.

I decided to bite the bullet and buy a new programmer that could program anything from a 2716 up.
It really isn't as easy finding a device as it sounds.

Forget all the Chinese ones. All their claims about being able to program anything are a little over hyped when you actually check the supported device list. None will program the 2716 or any device that needs over 18v for the Vpp.

I couldn't find any second had programmers and every google search kept sending me to Dataman who seem to be the only game in town these days. As a kid I'd always wanted a Dataman programmer; specifically an S4 machine, but they were wayyyy to expensive for me.

A few days ago a brand new Dataman Pro-40 landed on my door step. We won't discuss how much it cost, but I'm on bread and water for the next month.
That said, you get what you pay for.
I did have some weird problems installing the USB drivers on both of my Windows 10 machines but a couple of days later the problem just cleared itself and everything has been fine since. I'm wondering if there were background Windows updates being downloaded.

The Windows software is nice and easy to use and it's tee little things that make it a pleasure to use.
The software's all in English for one thing. Quite often if you do something; program or verify device it was ask if you want to do it again making it a lot faster to process many devices quickly one after the other. In fact, they have added a "YES" button to the actual programmer. Old chip out, new chip in, set the locking leaver and press the button on the device and the software just runs again. It makes it really quick especially when checking ICs.

This leads me onto the fake Chinese EEPROMS I'd bought.
The Pro-40 will also test jelly bean type logic ICs and memories. 
I'd used it to test my stack of 6116 memories and was pleasantly surprised to find only one out of around 20 was faulty. I've had them in my junk box for years so I was actually amazed at this result. 

I tested the ten AT28C64's I'd bought and one of them was found to be faulty. Interestingly it was the one device that I'd been using in my development system. The other nine IC's were fine.

I then tested the ten AT28C16's I'd bought. Nine of them were faulty. By the time I'd finished I could spot which were the fakes and I left the one I thought might be real to the end and that's the only one that passed.
Again, you get what you pay for I suppose... though I didn't pay good money for a box of fake/faulty chips. I wouldn't have mined so much if a couple had been faulty, but only one out of ten... I think that's taking the micky.
0 Comments

My Acorn System 1 lives

23/4/2020

2 Comments

 
I've been working on building a replica of an Acorn System 1 machine for quite some time and it's basically been working, but had a really annoying niggle that I've been struggling to fix. Anyway, yesterday I was browsing an online forum and decided to post details about the problem I was having. Talk about a long shot.
It took an hour or so for somebody to reply with a suggestion, and they were spot on.
Took me ten minutes with a scalpel and soldering iron to cut and bridge a couple of tracks and hey-presto, it sprang into life and works perfectly.

So, I now have a fully functional System 1 CPU board and keypad/display.
There are some updates I need to do to the PCB foils and the schematics to reflect the fix and add some additional ideas I've thought of, and then I'll put all the design files up on this site for those that want to build their own.

For those that know the Acorn System 1, there are a few changes in my version that should make building this one a little easier, but will also make it not completely compatible with existing Acorn hardware setups.

Whilst it does make use of the old bubble style LED display, there is provision to add a larger LED display as I've routed power to the display connector. I will have a design for a powered LED display soon.

It makes use of the W65C02 CPU instead of the older 6502. This gives some additional features including the ability to single step the CPU for debugging, and it will run at speeds much faster than the 6502 which was limited to 1 or 2MHz depending. Actually it will run at any speed from DC to around 14MHz in fact and it's useful to be able to run it at a very slow speed for debugging. 

The edgeway connector is different to the original. Mine uses a 96 position Euro connector with columns A+C loaded giving 64 pins, and whilst I did generally follow the original Acorn layout there are a couple of differences and some additional pins used. This means that the board probably won't be plug-and-play into an original Acorn existing rack system or be pin compatible with Acorn expansion boards. 

There is a more flexible clock oscillator circuit which can make use of any crystal up to 16MHz and divide down to the 1MHz required if you want full compatibility. This will save the having to source an expensive 1MHz crystal; assuming you can find one.

Instead of the two small PROMS on the original, only the EPROM socket is provided and this has been modified to accept the more common and simpler to program 2764 instead of the 2716. Many of the cheap EPROM programmers won't program 2716's. It will also work with an 2764 EEPROM.

The 2 x 2114 RAM chips have been replaced with a single 6116 RAM chip.
This also gives you 2K instead of 1K of RAM (this is configurable with a jumper).
(I will be changing this to use a more common RAM chip.)

The next step is to find a suitable workaround for the last component that is really difficult to find; the INS8514. I'm lucky in that I have one but they are really hard to find and very expensive. They are also quite easy to damage and without one, you can't get the display or keypad working. I've got some ideas for this.

The cassette interface has been removed. There is provision for a plug in card to be added to the keypad as all the control signals are still present if you really do want a cassette interface, but I think in these modern times, we can do better than magnetic tape. That's a future project.

The main PCB has been modified to take a standard euro PCB connector for mounting in a rack. Also, the keypad/display is now connected via a 20 way ribbon connector with ICD connectors at each end. This means you can remove the keypad if desired without having to desolder/resolder the ribbon cable. 

There's also a power on LED on the main PCB and provision for a reset switch. The keypad also has a reset switch and also has the IRQ and NMI buttons.

As long as it's set to a 1MHz clock rate, none of the above changes should break compatibility with an original System 1; with the exception of the cassette interface and that can be added if required, so it should be able to run all the original software.

As with the original there are no surface mount components and provision is made to socket all the ICs. Whilst there is a fair amount of soldering required to assemble one of these, it should be relatively easy for some somebody with only limited soldering experience. The hardest part is probably making the 20-way keypad ribbon cable. 

Once the plans are fully updated and I've checked to make sure the new PCB designs work as expected, I'll post something here in my blog.

I'd started to think I would never get this working so I've really very very pleased it's now running as expected.
2 Comments

A quick update

26/3/2020

0 Comments

 
My day job has been insanely busy the last few weeks, and to be honest the last thing I've felt like doing was spending time hunched over a soldering iron or more time behind a computer screen. 

I work for the NHS and all this virus business is to say the least depressing, so I decided to shutdown my twitter account (so much disinformation and fake news), disabled news flash notifications on my phone and I've been spending as much time as possible either sitting outside in the very unseasonably warm weather just enjoying the sun, or curled up on the sofa with the cat and catching up and the gazillion movies I've been amassing to watch. I've also got terrible toothache but the dentists are all closed down in the UK and won't even see people for urgent appointments. My next project is going to be an automatic tooth remover if I can't get this tooth pain under control soon.

Anyway, I've taken a couple of days off work as I had some leave days to burn before the end of the month; though even on leave you are only a phone call away from the next panic. Anyway, I'm in a better place now and from tomorrow for the next 3 days I'm going to try and finish my tic-tac-toe machine. 

I divided the machine into several sections and I've been prototyping each section. I'm hopeful I can get the prototyping completed by the end of the weekend and then I can start on the PCB designs. Not sure how long it will take to get the PCB's made as the manufacturer is in China and they have their own problems right now. Anyway, I really want to get this project completed as it feels like ages since I actually completed a reasonably sized project.
Doing these largish projects brings me a lot of pleasure and it's a great distraction from what's going on. 

So, stay safe and please follow your governments advice about staying at home, social distancing or wherever they are recommending in your area to try and combat this virus. 
0 Comments
<<Previous

    Author

    A software and hardware engineer who loves retro computers.

    Archives

    March 2022
    September 2021
    April 2021
    June 2020
    May 2020
    April 2020
    March 2020
    September 2019
    January 2019
    April 2018
    May 2016
    April 2016
    March 2016
    February 2016
    January 2016
    May 2015
    April 2015
    March 2015
    January 2015
    December 2014
    September 2014
    August 2014
    April 2014
    March 2014
    January 2014
    October 2013
    September 2013
    August 2013
    July 2013
    June 2013
    April 2013
    March 2013
    January 2013
    September 2012
    June 2012
    May 2012
    April 2012
    February 2012
    January 2012
    December 2011
    November 2011
    October 2011
    September 2011
    August 2011
    July 2011
    June 2011

    Categories

    All
    18f25k20
    18F25K22
    1-wire
    2114
    2764
    3D Printer
    3D Printing
    74hc595
    74ls595
    86-0325
    8MHz
    Access Speed
    Acorn
    Acorn System 1
    Alarm
    Aluminium Panel
    Amicus
    Amicus18
    Amicus Basic
    Amplifier
    Antex 1107
    Anti-static Mat
    Arduino
    Assembler
    Backlight
    Bargains
    Basic
    Bat
    Batdetector
    Bat Detector
    Bats
    Bench Audio Amplifier
    Bench Light
    Breadboard
    Bubbler
    Buck
    Bug
    "C"
    Cable
    Cable Gauge
    Cable Wire Size
    Capacitors
    Catalogue
    Clive Maxfield
    Clock
    Clocks
    CMOS
    Common Emitter
    Compiled
    Compiler
    Connector
    CPU
    CPU Simulator
    Crownhill
    Custom Computer
    Custom CPU
    Damage
    Develop
    Diode
    Diptrace
    Double-sided
    Double-Sided PCB
    Dry-joint
    Ds1302
    DS1820
    Ds18b20
    Ebay
    EEPROM
    Electronics And Circuits
    Eprom
    Erase
    Etch
    Evaporator
    Failed Capacitor
    Fake
    Fax Paper
    Ferric Chloride
    Fire Hazzard
    Firmware
    Florescent Tube
    Health And Safety
    Hidden Part Numbers
    High-Voltage
    Hv
    IC Test Clip
    IC Testing
    In Circuit IC Testing
    Incubator
    INS8154
    Instruction Set
    Inverter
    Kickstarter
    Laser Cutter
    Lcd
    LM2596
    LM386
    Logic Analyser
    M7MOJ
    Maxim
    Maximum Current Rating
    Mega
    Mit
    MITx 6.002
    MK4
    Molex
    Mosfet
    NE555
    Nixie
    Nixie Clock
    Npn
    OXO
    Oxo Machine
    Pcb
    Pic
    Pic Basic
    Pickit2
    Pickit3
    Pic Programmer
    Pixy
    Poster
    Pre-amp
    Prices
    Programming
    Project Box
    Project Case
    Project Enclosure
    Propagation Delay
    Psu
    Psu Failure
    Qfn
    RAM
    Rapid Electronics
    Raspberry Pi
    Regulated 5v Psu
    Regulator
    Repair
    Review
    SAD (Segment Address Decoder)
    SCC
    SCC MK4
    Seven Segment Display
    Shift Register
    Silient 700
    Slow Progress
    Smoke
    Smps
    Soldering
    Speed
    Speed Test
    Stepper Motor
    Supression
    Swg
    Switch Box
    Tank
    Tantalum Capacitor
    Temperature
    Temperature Sensor
    Texas Instruments
    Thermometer
    Tic Tac Toe
    Tic-tac-toe
    Timer
    Tools
    Traffic Lights
    Transistor
    TTL
    Usb
    Uv
    Vbe
    Vcb
    Vce
    W65C02
    Wash
    Weller
    Wirecutters
    Wire Cutters
    Wire Strippers
    Wiring
    Wp3eu
    X2 Capacitor
    X Capacitor
    Y Capacitor

    RSS Feed

© Joe Farr, 2011 - 2022 - Email: HobbyElectronics@kcsl.uk.com