![]() |
![]() |
![]() |
|
Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment. |
![]() |
|
Thread Tools |
![]() |
#1 |
Dekatron
Join Date: May 2008
Location: Derby, UK.
Posts: 7,642
|
![]()
I have very nearly completed a project to write a program for the BBC Micro, for simple printed circuit board design. This is BCP, which is short for Back of Cigarette Packet -- another versatile design tool.
There is no schematic capture, yet. It takes its circuit input in the form of a slightly-modified SPICE deck (basically, you need to add a comment to the end of each line with a * and the name of the PCB footprint to use) and outputs Gerber and drill files for manufacturing. I was originally planning to incorporate an aperture substitution facility to make it work with mechanical photoplotters with just a 24-position aperture wheel; as it is, it relies on a modern extension to the original format, but the various online viewers I have tried seem to be able to read the files it produces with no problems. The screen gives a zoomable viewport which can be moved around the design, allowing you to place components and route wiring anywhere. And I have managed to squeeze all this into a BBC Model B. In theory, nothing is stopping you running the whole thing from cassette, but a floppy drive is recommended. If you can muster a Master, or some shadow RAM, you won't have to choose between four colours just so you can see what's on which layer and 320x256 pixels. It should even run on a 6502 co-processor, again allowing the use of MODE 1. It's still not finished finished yet, but it's definitely at the "usable with care" stage if anyone would like to try it out. Would anyone be interested in knowing more?
__________________
If I have seen further than others, it is because I was standing on a pile of failed experiments. |
![]() |
![]() |
![]() |
#2 |
Heptode
Join Date: Jul 2016
Location: Portland, Dorset, UK.
Posts: 530
|
![]()
Interesting, Mike Harrison/mikeselectricstuff created PCB design for his custom BBC Micro, there's a video of it on his channel.
The Watford Electronics print buffer for the BBC was designed on it, though the final release version might have been slightly redone by Watford Electronics. https://www.youtube.com/watch?v=la-sGpTpkxE |
![]() |
![]() |
![]() |
#3 |
Heptode
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 781
|
![]()
I really need to fix my BBC - its on the ever increasing project pile... I even have a 6502 co-pro and shadow ram on it. BITD we published some programs for Electronic Design on it and the base machine featured in some publicity photos - so would be great to revisit them and try out a PCB design with your software!
|
![]() |
![]() |
![]() |
#4 |
Heptode
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 723
|
![]()
I would certainly love to see some pictures or better still a video of it in action...
How hard was it to write the code to output the Gerbers? I was thinking of a project to create Gerbers from photos or scans of PCBs but was scared a bit by the Gerbers bit. |
![]() |
![]() |
![]() |
#5 | |
Dekatron
Join Date: May 2008
Location: Derby, UK.
Posts: 7,642
|
![]() Quote:
There will be a disc image to play with once I have put together a few more component footprints (and maybe an improved tool for creating them).
__________________
If I have seen further than others, it is because I was standing on a pile of failed experiments. |
|
![]() |
![]() |
![]() |
#6 | ||
Heptode
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 723
|
![]() Quote:
Hmm well my (very underdeveloped) plan was to have a screen in which you could size/reshape the image to correct keystoning and make it rectangular and to scale, then have tools to "draw" the lines/pads etc using the image as a background guide, possibly even using some "AI" to automate this process to some degree, so although the "input" is a raster image the output would be vectors. The "use case" was to make Gerbers/drilling files for the sort of PCB layouts in the back of ETI or Elektor or from photos of actual PCBs (in this case there would be an amount of guesswork where tracks go behind components!). I looked around and really couldn't find anything like this. |
||
![]() |
![]() |
![]() |
#7 |
Dekatron
Join Date: May 2008
Location: Derby, UK.
Posts: 7,642
|
![]()
Here's an actual Gerber file from BCP so you can get a look at the language -- the only editing I have done on it was to remove unnecessary aperture definitions (BCP just spits them all out every time). It is (one layer of) a very trivial example board with just two resistors, an IC, a capacitor and a few connections, just for testing:
Code:
G04 JOYSTICK INTERFACE (PART) * G04 UNDERSIDE COPPER * G04 CREATED ON A BBC MICRO WITH BCP * G04 ALL PLOTS RIGHT WAY AROUND WHEN * G04 VIEWED FROM ABOVE LOOKING DOWN. * G04 UNITS ARE MILLIMETRES * %MOMM*% G04 LEADING 0 SUPP, ABS, XXXX.XX * %FSLAX42Y42*% %ADD10O,3.3020X2.0320X0.5000*% %ADD14O,2.0320X2.0320X0.5000*% %ADD20O,2.0320X3.3020X0.5000*% %ADD70C,0.2540*% %ADD71C,0.5080*% %ADD72C,0.9906*% %ADD73C,2.0066*% %ADD80C,0.5080*% %ADD81C,1.0160*% %ADD82C,1.9812*% %ADD83C,4.0132*% G04 APERTURE TABLE * G04 D10 OBLONG LEN 3.3020 WID 2.0320 HOLE 0.5000 * G04 D14 OBLONG LEN 2.0320 WID 2.0320 HOLE 0.5000 * G04 D20 OBLONG LEN 2.0320 WID 3.3020 HOLE 0.5000 * G04 D70 DISC DIA 0.2540 * G04 D71 DISC DIA 0.5080 * G04 D72 DISC DIA 0.9906 * G04 D73 DISC DIA 2.0066 * G04 D80 DISC DIA 0.5080 * G04 D81 DISC DIA 1.0160 * G04 D82 DISC DIA 1.9812 * G04 D83 DISC DIA 4.0132 * G04 END OF HEADER SECTION * G04 PER-PART DATA * G54D70* G04 SILKSCREEN FOR IC1 * G04 PADS FOR IC1 * G54D10* X1651Y1905D03* Y1651D03* Y1397D03* Y1143D03* Y889D03* Y635D03* Y381D03* X2413D03* Y635D03* Y889D03* Y1143D03* Y1397D03* Y1651D03* Y1905D03* G04 SILKSCREEN FOR C1 * G04 PADS FOR C1 * G54D14* X1778Y2413D03* X2286D03* G04 SILKSCREEN FOR R1 * G04 PADS FOR R1 * G54D20* X508Y2032D03* Y1016D03* G04 SILKSCREEN FOR R2 * G04 PADS FOR R2 * X889Y2032D03* Y1016D03* G04 PER-ROUTE DATA * G04 ROUTE 0 * G54D71* G54D81* X508Y1397D03* G54D71* D02* X1651D01* G04 ROUTE 1 * G54D81* X889Y1651D03* G54D71* D02* X1651D01* G04 ROUTE 2 * G04 ROUTE 3 * X1778Y2413D02* X2032Y2159D01* Y1397D01* X1651D01* G04 END OF DESIGN * M02* BCP stores a route as an initial layer, width and circuit node, and a series of "waypoints"; each of which may be an X-Y co-ordinate pair of a vertex, a component and pin whose co-ordinates will then be used, or a stay-in-place change of layer and/or width, which translates very nicely to the photoplotter. Your idea certainly sounds interesting, might be worth a new thread or PM if you want to take it somewhere else .....
__________________
If I have seen further than others, it is because I was standing on a pile of failed experiments. |
![]() |
![]() |
![]() |
#8 |
Heptode
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 723
|
![]()
Well that certainly worked! After my last post I looked about and found the "official" spec, which normally are inpenetrable but in this case was surprisingly readable. If I decide to go further a new thread is definitely a possibility!
|
![]() |
![]() |
![]() |
#9 |
Dekatron
Join Date: May 2008
Location: Derby, UK.
Posts: 7,642
|
![]()
Aye, that's certainly what it's meant to look like!
The basic file format has been around since the days of punched paper tape, so it's necessarily a bit terse to keep everything literally short; but it doesn't really have to do much except give a few simple instructions, so it's understandable.
__________________
If I have seen further than others, it is because I was standing on a pile of failed experiments. |
![]() |
![]() |
![]() |
#10 |
Hexode
Join Date: Nov 2003
Location: Ossett, West Yorkshire, UK.
Posts: 360
|
![]()
Interesting.
Peter Johnson, Technical Support at Number One Systems told me that he was involved in the early development of Easy-PC which started out as a program for the BBC computer |
![]() |
![]() |
![]() |
#11 |
Pentode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 126
|
![]()
I always remember Pineapple Systems as being about the only commercial PCB design software on the BBC - But it was rather expensive, as most fairly-primitive PC software was back then.
So I tried doing something in AMX-art, but struggled to get a nice 0.1" step, with printers having n/72 / n/216 increments. And in the end, resorted back to graph paper and acetate, to hand draw my EPROM-Programmer design. I do also recall working with someone on a BBC BASIC program to create schematic parts symbols and to be able to place and connect these together, to make schematic. When Acorn moved onto the Archimedes, things were rather easier to do and there was probably several ones for that. |
![]() |
![]() |
![]() |
#12 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 5,742
|
![]()
Yes, the first PCB design software I ever used was running on a (college) Archimedes. Output was via a plotter holding etch-resist pens which 'drew' the design directly on the PCB.
|
![]() |
![]() |
![]() |
#13 |
Nonode
Join Date: Oct 2008
Location: Warsaw, Poland and Cambridge, UK
Posts: 2,140
|
![]()
My first proper experience with PCB design software was with Easy-PC under DOS. I didn't realise that it had a BBC Micro heritage. Like SiriusHardware I used it to output directly to a plotter holding an etch-resist pen or, later, on to clear film which I then used to expose a board with photoresist. I remember the plotter was a Tektronix 4662 which I found in a skip outside the back of the university engineering department. In those pre-world-wide-web days, figuring out how to control the plotter was an interesting exercise in reverse engineering. I eventually wrote a program which would take HPGL from Easy-PC and translate it in to the right sequence of Tek control codes. It all worked surprisingly well for what it was!
I'd be curious to try out modern BBC PCB design software... Chris
__________________
What's going on in the workshop? http://martin-jones.com/ |
![]() |
![]() |
![]() |
#14 | |
Heptode
Join Date: Jul 2016
Location: Portland, Dorset, UK.
Posts: 530
|
![]() Quote:
|
|
![]() |
![]() |