|
Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment. |
|
Thread Tools |
18th Apr 2021, 6:27 pm | #21 | |||
Dekatron
Join Date: May 2008
Location: Derby, UK.
Posts: 7,735
|
Re: PCB design -- on a BBC Micro!
Quote:
The file D.RPA1C which is also on the disc is a preamplifier for connecting a Chinese "red stylus" cartridge to a record player with an EL84 + selenium rectifier amplifier. The components are dispersed about the screen, but nothing is wired yet. For a real treat, I'm just working on a BCP version of my "Pocket Particle Accelerator" right now ..... in case you found the "B9A21" footing and wondered what it was doing! Quote:
Quote:
__________________
If I have seen further than others, it is because I was standing on a pile of failed experiments. |
|||
18th Apr 2021, 6:35 pm | #22 |
Octode
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,287
|
Re: PCB design -- on a BBC Micro!
I do recall back in the day while I was at university, one of my fellow students was developing an editor in C for the Beeb, and the compiler he had ran off the floppy drive and you could compile from source on the disk and it would grind and churn that floppy for hours while it compiled!
|
25th Apr 2021, 11:10 pm | #23 |
Dekatron
Join Date: May 2008
Location: Derby, UK.
Posts: 7,735
|
Re: PCB design -- on a BBC Micro!
I've just uploaded a new version of the main disc to my GitHub site (same download link). This has some more extensions to the W command, including -- at long last -- the ability to unroute a track! It's not a proper route editor, but at least it makes it a bit less unusable. There is more information on the Wiki there.
And then I probably will add some more footprints necessary to create the "Pocket Particle Accelerator" project ..... which might in turn lead to some changes to the utilities disc. Stay tuned .....
__________________
If I have seen further than others, it is because I was standing on a pile of failed experiments. |
27th Apr 2021, 5:36 pm | #24 |
Octode
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,362
|
Re: PCB design -- on a BBC Micro!
I am still trying to find a way to get this on my BBC Core on my Next so I can try it as my real BBC is currently awaiting repair. I need to sort out adding new disk images to the virtual disk.
|
27th Apr 2021, 5:42 pm | #25 | |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
|
Re: PCB design -- on a BBC Micro!
Quote:
I really must fish out my two, re-Rifa the PSUs and see if they still work. They did when I put them away, but that may have been 20 years ago now. |
|
27th Apr 2021, 6:20 pm | #26 |
Octode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 1,394
|
Re: PCB design -- on a BBC Micro!
Apart from the PSU's mains-filter capacitors suffering from the infamous case-cracking with age, fortunately Beeb's are generally very-reliable even a long-time after they were made. And all the large IC's are usually socketed, so easily-swapped if the odd one does fail.
I've not encountered multiple IC failures on these, that are more common-place on Spectrums (Usually the DRAM's), C64's / VIC-20 (Usually Commodore-made IC's) or certain PET's........ |
27th Apr 2021, 8:17 pm | #27 |
Octode
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,362
|
Re: PCB design -- on a BBC Micro!
Maybe at some point but, I have another machine I am working on first... and I will probably come here for help as it is very interesting one...
|
3rd May 2021, 6:07 pm | #28 |
Dekatron
Join Date: May 2008
Location: Derby, UK.
Posts: 7,735
|
Re: PCB design -- on a BBC Micro!
OK; here's what I mentioned in this thread .....
The first thing I did was to create a wiring list from the diagram. If you've ever used the circuit simulation program SPICE, you'll know about this bit. If you have a program for drawing schematics on screen and entering the corresponding wiring lists straight into SPICE, you can use that and just tweak the file afterward to insert the footprints BCP requires. Otherwise, assign every node on the diagram a number. Each line ("card", in SPICE-speak) of the file contains a designator, the node numbers to which each pin is connected and the component value (which BCP actually ignores, but a SPICE simulator cares). BCP also needs to know what footprint you want to use for each component; we append this to the line with * as a delimiter, and SPICE will treat everything after the star as a comment. I have left the circuit from the GitHub page unaltered, except for R1 which seemed an excessively high value, and added ZD1 in parallel with R2; and used an 8-pin miniature header (2.54mm. pitch) for the Raspberry Pi side, with a 6-pin standard header (5.08mm. pitch) for the PET side. The transistors used are BC547 and BC557, which have the base in the middle so I used the TO92CBE footprint. There is also a TO92BCE in the library if you are using different transistors. Here is what the wiring list looks like: Code:
CN1 1 3 5 10 11 12 15 0 MOLEX8X.1 * HM8X1 R1 1 2 220 * RQ4X1 D1 2 0 LED5RED * LED5 CN2 0 18 4 8 14 17 MOLEX6X.2 * HS6X1 R2 3 0 10K * RQ4X1 R3 3 4 22K * RQ4X1 ZD1 4 0 BZV79C3C3 * DS4X1 R4 5 6 10K * RQ4X1 R5 10 7 10K * RQ4X1 R6 10 9 10K * RQ4X1 T1 8 7 6 BC557 * TO92CBE T2 8 9 0 RC547 * TO92CBE R7 12 11 10K * RQ4X1 T3 11 13 0 BC547 * TO92CBE R8 13 14 10K * RQ4X1 R9 15 19 10K * RQ4X1 T4 17 16 0 BC547 * TO92CBE Unfortunately, this is still not quite right. The program WL2DES would protest at this, because it contains some new footprints that are not in the file D.FTPRNT. So first we need to add some lines to the program FPGEN, as follows: Code:
22560DATA"HM8X1",8,-50,-400,50,400,200,350,3,1,2 22570DATA0,350,5,5,10 22580DATA0,250,5,5,10 22590DATA0,150,5,5,10 22600DATA0,50,5,5,10 22610DATA0,-50,5,5,10 22620DATA0,-150,5,5,10 22630DATA0,-250,5,5,10 22640DATA0,-350,5,5,10 22650DATA"M",-50,-400 22660DATA"C",50,400 22670DATA"HS6X1",6,-100,-600,100,600,250,500,3,1,2 22680DATA0,500,4,4,12 22690DATA0,300,4,4,12 22700DATA0,100,4,4,12 22710DATA0,-100,4,4,12 22720DATA0,-300,4,4,12 22730DATA0,-500,4,4,12 22740DATA"M",-100,-600 22750DATA"C",100,600 22760DATA"DS4X1",2,-265,-40,265,40,-100,140,0,1,6 22770DATA-200,0,1,1,8 22780DATA200,0,1,1,8 22790DATA"M",-80,-40 22800DATA"C",80,40 22810DATA"M",70,40 22820DATA"D",70,-40 22830DATA"M",60,-40 22840DATA"D",60,40 22850DATA"LED5",2,-100,-100,100,100,-200,200,0,1,8 22860DATA0,50,5,5,8 22870DATA0,-50,5,5,8 22880DATA"M",-54,-88 22890DATA"D",-100,-42 22900DATA"D",-100,42 22910DATA"D",-42,100 22920DATA"D",42,100 22930DATA"D",100,42 22940DATA"D",100,-42 22950DATA"D",54,-88 Now you are ready to run WL2DES, and load in the saved wiring list W.PDS0A. Just accept the default size of &100 for each section to begin with. If the program sits waiting for input at the end, press RETURN ..... it means there was no blank line on the end of the file, so now it's asking you to supply the rest of the data. Here is a link to a disc image with the design program and just enough of the utilities disc to play along at home: https://github.com/JulieMontoya/BCP_..._datasette.ssd I've actually already done all the necessary steps for getting the design D.PDS0A loaded up. But I have left an earlier version of FPGEN on the disc FPGEN0. You can run that and save the "broken" D.FTPRNT it generates over the top of the "complete" one; then watch WL2DES fail! Or, you can run Code:
*EXEC L.MORE_FP If you are impatient and just want to see the design in BCP, then press shift+BREAK. It's not that impressive as everything is still at the origin, waiting to be moved into place. But that's what I will be doing next ..... with M CN1 to move CN1 into place, 0 to select 100 thou movement steps, Z X : / for directions, RETURN to place; then MN repeatedly to move the next component in the list, and so forth until it gets back around to CN1 again. By the way, if you are playing along at home, you probably will need to Code:
*LOAD M.PAGEA
__________________
If I have seen further than others, it is because I was standing on a pile of failed experiments. |
3rd May 2021, 11:49 pm | #29 |
Dekatron
Join Date: May 2008
Location: Derby, UK.
Posts: 7,735
|
Merge of 29-32
Oops ..... R9 pin 2 should go to node 16 (), not 19. Corrected version now uploaded to GitHub.
And now I've spotted another wiring list error. Need food before fixing it, though! EDIT: ZD1 should have its anode to ground (node 0) and cathode to node 3, and not the way it was in the above wiring list. You probably have parts roughly placed and maybe even some tracks routed, all a bit bodgily but still far to nice to spoil by starting again from scratch, for an error which is literally just two wrong bytes. And I haven't yet written a way into the program to alter the wiring list in an active design. Never mind. We will just have to hack into the database and change it that way! The maths library includes a static jump table, effectively providing a crude API for the maths, database and graphics libraries. (WL2DES uses this to parse lines within the wiring list ..... that probably needs to be rewritten in assembler when the database library is next updated.) This is good enough to help us find out exactly which two bytes in memory we need to alter to correct the wiring error. Type Q (or any other unrecognised command) to exit the design program and get back to a BASIC prompt, and press CTRL+L to clear the text window so you can see what is going on. (You can even press CTRL+Z, CTRL+L to go full screen, if you like.) Note that ZD1 is the seventh part in the wiring list above (which is indexed starting from zero, so it will be number 6). Enter A%=6:CALLselect_part Now we have selected part 6 in the wiring list, which we think is ZD1, but we can make sure by entering CALLdisp_desr It should display "ZD1" without starting a new line, so the prompt will move to the right. (Don't continue if you see anything different.) Enter P.~FNpeek(wlb) This should display a 4-digit hex number; mine said 22BA so that's what I will use here, but change it to whatever yours said. That is the base address of the wiring data for the part whose index is 6, which is ZD1. Enter P.?&22BA,?&22BB to see the current contents of that address and the following one; the screen will show two numbers, which should be 4 and 0. (Again, don't continue if you see anything different.) These are the node numbers for the pins of ZD1. So now all we need enter is ?&22BA=0:?&22BB=3 to connect pin 1 to node 0 and pin 2 to node 3. Lastly press f1 to restart the program, enter D to redraw the design; and Save the modified design. Enter R ZD1 if you like, to prove that the wiring list has been changed. EDIT: Just uploaded another new version to GitHub, which incorporates the corrected wiring list data in the saved file D.PDS0D and also removes some debugging information which perhaps we don't need anymore
__________________
If I have seen further than others, it is because I was standing on a pile of failed experiments. Last edited by Radio Wrangler; 4th May 2021 at 2:02 pm. Reason: replies to self merged |
4th May 2021, 12:07 am | #30 |
Octode
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,362
|
Re: PCB design -- on a BBC Micro!
I really need to fix my BBC now - maybe I can take a quick look at it tomorrow...
|
4th May 2021, 1:05 am | #31 |
Dekatron
Join Date: May 2008
Location: Derby, UK.
Posts: 7,735
|
Re: PCB design -- on a BBC Micro!
BCP will run fine in an emulator if you can't get a real Beeb working -- I've actually developed it entirely under emulation (gradually moving bits of the work over to the host side, as I got more comfortable with the tools there). You don't even need to download a BBC emulator -- there is a website where you can run a fully-functional BBC emulator in a browser!
__________________
If I have seen further than others, it is because I was standing on a pile of failed experiments. |
9th May 2021, 10:46 pm | #32 |
Tetrode
Join Date: Mar 2021
Location: Lancashire, UK.
Posts: 57
|
Re: PCB design -- on a BBC Micro!
This is a very interesting thread, thank you. I wish I still had my BBC micro, not had it for a long long time now. I seem to remember using a *fx command to make the disc drive run at warp speed though.
|
9th May 2021, 11:49 pm | #33 |
Dekatron
Join Date: May 2008
Location: Derby, UK.
Posts: 7,735
|
Re: PCB design -- on a BBC Micro!
I've had a bit of a mishap -- I discovered a bug in a new function I was adding to delete a route from anywhere in the database, not just the most recent, which messed up the design I was doing Fortunately, I was able to spot how it happened and fix the problem, and I think I can set everything back to the way it should be without redoing everything completely from scratch.
Without going into too much detail (see the GitHub page for that), routes are stored as a flat list of waypoints which may be X,Y co-ordinate pairs, layer changes, and a fixed-length portion with an offset into the list of waypoints, length and connected node number; and when closing up the gap in the waypoints where a route was deleted by copying down the next route over it and so on up to the end, I was storing the length where the node number should have gone. It's actually a good job I have spotted this now, as it would have messed up the bit I was going to add next! Also, there is something not quite right with the photoplotting program; it produces the Gerber files OK, but bombs out creating the drill rack. There's a feature I have to add to that anyway ..... I was a bit hasty getting it together the first time, but it needed to be done at all to see how it could have been done better. Still, onwards and upwards; and I'll come out of this with it able actually to edit routes once they are laid down!
__________________
If I have seen further than others, it is because I was standing on a pile of failed experiments. |
18th May 2021, 8:51 pm | #34 |
Pentode
Join Date: Mar 2021
Location: Liphook, Hampshire, UK
Posts: 125
|
Re: PCB design -- on a BBC Micro!
Would this run on a BBC emulator? I don't have a working BBC but the program looks good.
|
20th May 2021, 9:32 am | #35 |
Octode
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,287
|
Re: PCB design -- on a BBC Micro!
|