After building a fairly complete ECB SBCV2 system and more Grant Searle Multicomps than I am comfortable admitting, I've decided to put in a few notes about what worked, what didn't work and a few pictures.
I hope this page helps others.
I am starting with this ECB board because it is the one that I found the hardest to get working.
In a nutshell - the SBC V2 needs to be run at 8MHz at least or you will have no luck getting a 1.44Mb floppy drive to work. It will work on 720kB media though. It all comes down to transfer rates.
I do not know if other processor boards will have the same issue, so unless it is a SBC V2 - don't quote this as the solution.
Video for the SBCV2
I built a small TTL serial to VGA/PS2 terminal published in Silicon Chip magazine and connected it to the TTL side of the MAX232 chip.
This works really well and supports ANSI as well as some drawing capabilities. The PCB can be bought from the magazine's online store as well as a pre programmed PIC32.
I am still thinking of building one of the ECB boards for video output - but so far I haven't found any compelling reason to change.
Link to the designer's page here: http://geoffg.net/terminal.html
I have been working slowly but steadily on building an xi8088 computer. It has been challenging but also very satisfying due to the new skills and knowledge I have attained during the process.
The back plane was straightforward. The biggest single challenge was sourcing the ISA connectors. Eventually discovered that my main supplier RS Components had them listed incorrectly. Instead of 96 pins they have it listed as 104 pins. Once I worked out that it all went smoothly. Note: I like to buy from RS components as they have free delivery with no minimum order amount.
After finishing the back plane I had an intermittent issue where the power switch would not work. At first I thought it was a loose power supply pin - but eventually found that the circuit had a poor connection on one of the IC sockets. Re-soldered and re-seated the ICs and it seems to be cured.
Video card was challenging and I actually have decided to start again and build a new one. I assume the VGA card I built has suffered from my lack of surface mount soldering skills.
In the meantime I have built myself an SMD oven with my own control gear. Can't wait to use it on that tricky VGA chip package!
UPDATE 17 Sept 2020: That video chip is extremely difficult to solder on. Ended up destroying two chips and the board is now stuffed. The video memory is also REALLY hard to find (I pulled some out of a working card in the end). I would like to see the board sold with the chip pre-soldered to assist those of us who don't have the capability to solder these parts properly. Maybe a new VGA board design could be considered? Perhaps use an Altera FPGA dev board - not my area of expertise unfortunately. I like that Sergey designed this board - but I think a new solution needs to be found for 8 bit VGA cards.
Managed to work out how to get an old 16 bit video card to work in 8-bit mode by researching the original reference circuit from the chip datasheet and finding which jumper was the most likely one to set (as there is no documentation at all for the card that I could find).
I found another old VGA card which didn't work at first - but I noticed that the ISA bus connections on the PCB were very worn - so I gave them a very good clean with solvent and now it seems to be reliable.
The PS2 keyboard worked first go. See below for subsequent issues with this part of the circuit.
Plugged in the Floppy controller board and it kept beeping at me constantly with no boot. At first I though I might have flashed the wrong BIOS, but eventually discovered I had inserted the serial port IC the wrong way - now both serial port and floppy drive works as expected on this card.
I built a CF card IDE board and the IDE-XT board. At first both boards seem to be ignored by the system. Once again I suspected I was supposed to do something with the bios to support these - and this time I was correct. Changed to bios with XT-IDE support - it now tried to find the hard drive on 0x300H, and I have the boards set up for this, but they still would not work.
I discovered that the IDE-XT board would not work in the fast configuration. Changed it to the slow mode and now it works. Still haven't worked out why?
Got the CF card to work. This time I flashed the support into the ROM on the card itself and removed the IDE support version of the XT BIOS. This then worked as well.
There is a series of switches on the main processor board for memory mapping into ram. I had to spend a lot of time trying to understand what they were for. Finally worked out that the map unused memory above 640k so it can be used. But all my attempts to actually get that memory allocated for use by DOS has failed so far. This is one to follow up on later. For now I will leave the memory for future ROMs on cards.
Couldn't work out PS2 mouse support. I can get a mouse driver to recognise it but then the system crashes. Currently using an old serial port mouse and this works well. I suspect an XT and DOS 6.22 will always have difficulty in this area. Tried Freedos but got much the same result. Another one to shelve for now. I'd like the serial port freed up - I use this machine for some old serial radio comms software I have.
Sometimes the ram test would fail, but at random locations. Also it would get the following message when DOS booted “iochk NMI detected - i to ignore or r - reboot”. I choose “i” to ignore and it boots into DOS but hangs after a few minutes.
Eventually found that I had installed the wrong type of bussed resistors on the pullups. I had 10k pin to pin - so by the 8th resistor I had about 80k and wasn't pulling up the line properly. Replaced the resistors - ram test passes and iochk message gone for good. Also got notably more reliable all round.
Turbo mode was a bit weird at first. The bussed resistors helped things. But I also realised that I had not been supplied an 82C84 (ebay cheapy). The order said 82c84 - but what they sent me was a NMOS 8284 - which requires resistors instead of capacitors around the crystal circuit. Ordered from a more reliable source (little diode in the UK) and now turbo works really well. Start up also another slight bit more reliable.
Put the whole shebang into a nice clear acrylic gamers PC case and it looks pretty darn nice. Now mostly reliable.
Only one nagging issue remains. Every now and then it stops during boot at the keyboard controller check. I am using a genuine new VIA 82c42n part as recommended by Sergey and I bought spares - swapping them makes no difference.
Sequence goes like this: Push power connector, boot stops at keyboard controller check. Press reset, boots correctly. I worked out that the difference is a cold start with power off won't work, but once power was applied and a manual reset occurred it would work.
This of course implies that the VIA is not getting set up in time from cold start. In other words - a timing issue somewhere.
Checked the pull up resistors in this part of the circuit - correct values.
Then started looking at circuits connecting to the controller circuit and started to realise that maybe I had been too liberal in my use of different 74 series logic chips around the board.
I am fairly sure ordering 74ALS parts where recommended and not mixing and matching LS with ALS - especially in the wait state generator and bus arbitration circuit - will likely resolve this issue.
For now I will just turn on and press reset.
UPDATE: 17-Sept_2020 - nope, changing to ALS parts made no difference. Subsequently built Sergey's other 8088 board and found it exhibits the same issue exactly. That leaves the BIOS perhaps? I took a look in there and it fails at the same place on both boards - I have given up on this one for now - if anyone else has the same issue and finds a solution I am all ears.
Note: also occasionally stops after a few hours of uptime. Managed to take a look at the system bus with my oscilloscope when in this state and noted that the processor was running, but the ISA bus had no activity on the address and data lines. Suspect timing issue as above - or possibly the bus transceiver circuit is stuck in high impedance state. It is a rare fault so will tackle the keyboard controller first in the hope the two issues are related.
STD Bus System
The real trigger for getting into building retro systems was when I happened across a STD-BUS system at a Amateur Radio Hamfest. I picked the system up for the princely sum of $5.
The system included a nice looking STD-BUS chassis with power supply - anodised blue case.
It also had two processor boards - a 6809 board and a Z80 board. There were also a few eprom boards and some documentation.
Plugged them in, turned them on and they worked flawlessly!
The 6809 board was fully documented including circuit diagrams and hand written rom monitor code. I haven't had much time to use it - I am fairly ignorant of 6809 programming. However, I have built a cyclone 2 FPGA 6809 system, and this is a good system to get to grips with what I might be able to do with it.
The Z80 was not really a Z80 - it actually used a NSC800N/4 CPU which has a 16 bit multiplexed address bus. It was packed with A-D and D-A circuitry along with high current outputs and digital I/O.
It was clearly built for industrial purposes - but no documentation.
Luckily for me the board and chassis was made here in Australia by a company called JED - who are still in business. I contacted them and they put me in touch with the original owner and designer of the board. Although now retired, he was nice enough to go back into work, dig up the documentation, scan it and send it all to me by email.
Since then I have discovered it has a basic system in ROM, and I have worked out how to program all the various I/O chips on board.
Not bad for $5.
Someone was selling a surplus SBC-188 v2 board near my location so I bought it and started a new project.
COVID made parts deliveries fairly sporadic so this one has been meandering slowly but steadily to completion. The floppy controller has been a challenge - and getting crystals are taking forever as well.
Some parts must be ALS type - but I am finding these are not generally available new anymore from most of my regular suppliers - at least in DIP through-hole packages….. Three ALS chips left to source….
80c188 microprocessors proved to be easy to source - I was expecting them to be rare but they seem to be all over the place. However, the faster chips are the most common - the 16MHz version the board is designed for was hard to find. Weirdly I ordered 2 x 20 MHz parts - but when they arrived they were actually 16MHz parts - so happy days by complete accident!
All soldering is completed now - just waiting for the straggler parts to come in, burn the rom and say a silent prayer to the retro computer gods before powering up and testing.
2-Nov-2020 - Board is completed and alive! A few issues at the start as follows:
At first it wouldn't start reliably at all, so I reduced the clock speed from 16MHz to 10MHz. This seemed to work. Spent some time cleaning off flux and debris from the solder side to hopefully solve that issue. The 2 x Oscillator can is positioned perilously close to the pins of the adjacent chips - you have to take care not to touch them when in final position. Possibly the spacing on the board could be changed - but there is a completely redesigned v3 board so unlikely to happen.
At this stage the board would start but stop every time at the clock/NVRAM setup stage. This baffled me for a whole day. In the end it turned out to be the VT100 emulator terminal (Geoff G) I was using. There seems to be a bug in the terminal firmware where it wouldn't scroll when it got to the bottom of the screen - so I could not see the prompts. I surmised this was the case when I discovered that if I hit enter exactly 11 times, the controller would move to the next step in the bootup process. I waded through the BIOS code and found that the NVRAM setup for the board has exactly 11 items. The workaround was to reset the terminal at this point so it would clear the screen and start from the top again. I am not intending to use the terminal on this board after initial testing, so will leave that for now. Interestingly the terminal later had no issue with scrolling the screen once it had booted into DOS.
Which, of course, brings me to booting into DOS…. After the usual fun trying to get a working boot floppy made, I found it wouldn't boot. But this time I had a real good idea of what the issue after having a similar experience with the DiskIOv3 ECB board (see above). The issue is that for a 1.44Mb floppy drive you need extra speed to handle the higher data transfer rate through the floppy controller. I had still left the board on 10MHz - so changed back to 16MHz oscillators and now it booted off the floppy ok. Interestingly, all my board cleaning and reseating of ICs while investigating the serial terminal issue seemed to have resolved the issue of not starting at 16MHz - because now it is running correctly every time I boot.
Next was the PPIDE and CF card interface. I had an existing working set of these, including a CF card with DOS 6.22 installed. But the bios just wouldn't boot from it - or even recognise it. I had a CF card from my Z80 project with CPM on it plugged that in and the bios recognised that ok. Booted off the floppy, used the supplied Fdisk86 utility for the SBC-188 to create a DOS partition, and now the CF card works as C drive ok. I haven't managed to get it to boot off the CF card yet - but I am not expecting that to be a problem. I am making a parproppio board to go with the SBS-188 - so the CF card won't be needed in the long run.
That's it for now - I will add some documentation below when I finish the project to record poorly documented items for the v2 SBC-188 board - namely what the boot sequence actually does so you can work out what part it is stopping on and also the jumpers.
Happy for now. This board was easier to get going than most. Partly because the xi8088 and other ECB boards above made it easier for me to recognise where I was going wrong.