1MHz Bus adventures

discuss both original and modern hardware for the bbc micro/electron
Post Reply
DaveBurke
Posts: 71
Joined: Tue May 15, 2018 9:23 pm
Contact:

1MHz Bus adventures

Post by DaveBurke » Wed Nov 27, 2019 4:37 pm

Prototyped this out today:
IMG_20191127_154015.jpg
In action: https://youtu.be/F8MuJN41sfE

The idea is to have &FC00 -> &FC03 as outputs, so my kid can plug lights and motors into it.

DaveBurke
Posts: 71
Joined: Tue May 15, 2018 9:23 pm
Contact:

Re: 1MHz Bus adventures

Post by DaveBurke » Wed Nov 27, 2019 8:49 pm

Schematic:
schematic.PNG
The idea is to add further latches to be enabled by the output of the 74LS139, each 8 bit latch corresponding to a page FC address. So, I've implemented &FC00, three more to go.

Trying to do the PCB layout now, it's hard!

User avatar
roland
Posts: 4050
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: 1MHz Bus adventures

Post by roland » Wed Nov 27, 2019 9:05 pm

If you replace one of the three latches by a 74LS244 (or equivalent) then you have also 8 inputs that can react on switches or push buttons. That makes it a bit more interactive without touching the computer.

This kind of projects are always fun to start with for young people. Some simple I/O, good idea :idea:
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

DaveBurke
Posts: 71
Joined: Tue May 15, 2018 9:23 pm
Contact:

Re: 1MHz Bus adventures

Post by DaveBurke » Wed Nov 27, 2019 9:09 pm

Good idea, might try that once I've got the outputs going.

I've found it really interesting how my (almost) 6 year old has taken to the Beeb, compared to modern computers. He loves how he can just switch it on and ask it questions (e.g. PRINT 4+2).

I genuinely think these old 8 bit machines are a better introduction to computing than the super complex stuff we have now.

User avatar
roland
Posts: 4050
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: 1MHz Bus adventures

Post by roland » Wed Nov 27, 2019 10:16 pm

I agree. Especially when you really want to know how a computer works.
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

User avatar
1024MAK
Posts: 10294
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: 1MHz Bus adventures

Post by 1024MAK » Thu Nov 28, 2019 8:48 am

DaveBurke wrote:
Wed Nov 27, 2019 8:49 pm
Trying to do the PCB layout now, it's hard!
Sounds like you are having lots of fun :D

Some tips:

The circuit can influence the track layout and if it’s difficult to route, the layout can result in the schematic changing.
For example, swapping around which input pin or output pin is used, or which gate in an IC package (chip) is used, but the circuit retains the same function.

Sometimes a different circuit (using different chips) can be used, but which achieves the same thing.

If the ONLY device that is / will be connected to the 1MHz bus is your circuit, you don’t need full address decoding. That is, it does not matter if it responds to multiple addresses.

The 74xx138 is very popular for address decoding, as it has three inputs that can be connected to three address lines to provide eight output select lines plus it has three enable inputs, two of which can be used to connect to two more address lines to further decode the address.

Digital comparators (like the 74HCT688) are also useful in address decoding (see this post).

Where there are unused inputs, if using 74xx or 74LSxx logic, tie to either 0V or to Vcc via a 1kΩ resistor (which can feed multiple inputs).

It is essential to tie unused inputs on CMOS inputs including 74HCxx, 74HCTxx, 74ACxx etc. to either Vcc or 0V. No resistor needed for these.

Alternatively, unused inputs can be connected to another existing logic signal.

Don’t forget to include some 100nF ceramic capacitors across the supply lines for decoupling.

Mark

DaveBurke
Posts: 71
Joined: Tue May 15, 2018 9:23 pm
Contact:

Re: 1MHz Bus adventures

Post by DaveBurke » Thu Nov 28, 2019 8:54 am

Cool, thanks for that.

Good point about the address decoding, I could just use the bottom two bits and ditch the rest... I believe that's what my old EMR midi interface did anyway.

dominicbeesley
Posts: 1162
Joined: Tue Apr 30, 2013 12:16 pm
Contact:

Re: 1MHz Bus adventures

Post by dominicbeesley » Thu Nov 28, 2019 12:41 pm

Looks good - I love the 1MHz bus - question though...why not use the user port or is that already busy?

D

DaveBurke
Posts: 71
Joined: Tue May 15, 2018 9:23 pm
Contact:

Re: 1MHz Bus adventures

Post by DaveBurke » Thu Nov 28, 2019 12:55 pm

Two reasons. It has a MMC thing plugged in, and I want more than eight bits.

Well, I also wanted to understand the 1Mhz bus, could never figure it out as a kid. So three reasons I guess :)

dominicbeesley
Posts: 1162
Joined: Tue Apr 30, 2013 12:16 pm
Contact:

Re: 1MHz Bus adventures

Post by dominicbeesley » Thu Nov 28, 2019 1:23 pm

Excellent reasons! I've got a lot of computers from the past 40 or so years the Model B nearly always wins out for its combination of simplicity with its array of excellent interfaces (Master 128 is also good but I tend to save that from my tinkering until I'm sure stuff isn't going to let any smoke out). Also, the Model B is almost indestructable and if you do pop anything parts are available as are sevice manuals and help on this excellent forum. My main machine got dropped down the stairs this week, after re-seating the blitter board, started up no problem...My first interfacing efforts were on a ZX Spectrum, which instantly died as soon as I looked at the expansion connector.

My daughter is also fascinated by the beeb. You would think that the lack of graphics / sound would put them off but actually the opposite is true, she loves the nintendo but also loves just typing on the beeb. She's only 5 yet so not really got into programming but there's hope!

D

User avatar
Lardo Boffin
Posts: 2172
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: 1MHz Bus adventures

Post by Lardo Boffin » Thu Nov 28, 2019 2:06 pm

Funny my 5 year old is the same. He treats his ‘ipad’ (kindle fire for kids :D ) as an every day thing to be taken for granted but was amazed by the beeb when he could type in and do maths questions and problems.
He even enjoys the games even though they are somewhat basic compared to ‘Where’s my water’ and beating up decepticons.
Adventure Language on GitHub
Atom, issue 5
Elk
A number of econetted (is that a word?) Beebs
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA

DaveBurke
Posts: 71
Joined: Tue May 15, 2018 9:23 pm
Contact:

Re: 1MHz Bus adventures

Post by DaveBurke » Thu Nov 28, 2019 6:19 pm

1024MAK wrote:
Thu Nov 28, 2019 8:48 am

Where there are unused inputs, if using 74xx or 74LSxx logic, tie to either 0V or to Vcc via a 1kΩ resistor (which can feed multiple inputs).

Mark
OK, gotcha. I'll tie them all together and take the whole lot to 0V via a 1k resistor.

Do I need to worry about the unused outputs, or can they be ignored?

Also, do you mind me asking why this is necessary?

User avatar
1024MAK
Posts: 10294
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: 1MHz Bus adventures

Post by 1024MAK » Thu Nov 28, 2019 8:46 pm

Keep in mind that if you have say a three input NAND gate and you are only using two inputs, the third input should be tied to the appropriate logic level, in this case a logic high. If using 74xx or 74LSxx via a resistor.

There is no need for a resistor if connecting to 0V. CMOS types (like 74HCTxxx or 74HCxxx) don’t need resistors, just connect to either Vcc or 0V.

For inputs of gates where the input and output states don’t matter (unused gates), you can tie the inputs to either logic level.

Why is this done? For in-use gates, you need to reliably define the logic level. For spare gates, if left unconnected, they may float around the switching threshold and cause excessive power consumption and extra circuit noise.

Unused outputs should be left unconnected unless the output happens to be the correct logic level for a spare input. In which case it may be more convenient to connect one or more spare inputs to the otherwise unused output.

Why are resistors needed for 74xx or 74LSxx spare inputs. This was a recommendation from one of the semiconductor companies.

Does that help?

Mark

DaveBurke
Posts: 71
Joined: Tue May 15, 2018 9:23 pm
Contact:

Re: 1MHz Bus adventures

Post by DaveBurke » Thu Nov 28, 2019 8:51 pm

Makes perfect sense, thank you 😀

johnkenyon
Posts: 248
Joined: Wed Jul 20, 2011 3:21 pm
Location: Coventry
Contact:

Re: 1MHz Bus adventures

Post by johnkenyon » Fri Nov 29, 2019 12:16 am

1024MAK wrote:
Thu Nov 28, 2019 8:46 pm
Keep in mind that if you have say a three input NAND gate and you are only using two inputs, the third input should be tied to the appropriate logic level, in this case a logic high. states don’t matter (unused gates), you can tie the inputs to either logic level.
If you are using a "spare" 3 input gate to create an extra two input gate, you should tie the spare input to an adjacent input on the same gate. AND, OR, NAND, NOR this will give the right function with no resistors (and if you are using veroboard/strip board) will let you get away with a solder blob between two pins).
Tying high or low means you have to engage brain* to make sure you get it right (e.g. tie low for OR, tie high for AND).

User avatar
1024MAK
Posts: 10294
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: 1MHz Bus adventures

Post by 1024MAK » Fri Nov 29, 2019 12:52 am

Yes, but keep in mind that I wanted to give an easy example. When you get to more complex chips, doing this can be more difficult.

Mark

Post Reply

Return to “8-bit acorn hardware”