r/beneater • • 9h ago

6502 6502: Buffer the bus

10 Upvotes

Hi everyone,

I'm building a 6502 computer on a breadboard, with a central bus that will make it easier to add more components later.

At the moment, the 6502's address bus and data bus are connected directly to the bus lines. The system works, but it's not very stable. After running for a while, it can start behaving erratically, and it's especially sensitive to noise. For example, lightly touching some of the wires can cause problems.

I've noticed that the YouTube channel Breadboarding Labs uses bus transceivers/buffers in its 8086 breadboard projects, especially when the buses become long and have many connected devices. Despite the complexity of the system, those builds seem very stable and can even run Windows 1.0.

Would adding bus buffers or transceivers (such as 74HC245s) improve signal integrity and overall stability in this kind of setup? Has anyone run into similar issues with large breadboard-based systems?

Thanks!


r/beneater • • 1d ago

8-bit CPU Made it!

Post image
189 Upvotes

Thanks everyone for helping me in debugging and providing solutions.

After around 9 years i first saw the video of ben making this computer and having a dream of making it since then, finally made it.


r/beneater • • 1d ago

8-bit CPU Made an full adder with transistors

Enable HLS to view with audio, or disable this notification

78 Upvotes

Used bc547

Used 8 pin dip switch(4 bit/4bit to add) as I don't have that 4 pin dip switch.


r/beneater • • 1d ago

8-bit CPU Instructions are not executed properly

Thumbnail
gallery
35 Upvotes

The two instructions for the LDA command are working

MI | CO , RO | II | CE

But from the 3rd it just does

IO | AI instead of IO|MI and for the rest there is no control signal

In The 3rd image the control signals are IO and AI


r/beneater • • 2d ago

Novelty BCD Clock Display?

Post image
8 Upvotes

Could Ben's Clock circuitry drive an auxiliary BCD Clock display (ignore Calendar & Day Of Week LEDs)?


r/beneater • • 3d ago

Help Needed Unexpected behavior with the 6522 interrupts

Enable HLS to view with audio, or disable this notification

37 Upvotes

[SOLVED]

Hello everyone, I have just connected the VIA's IRQ pin to the 6502 one, and the button with a pull-up resistor to the CA1 pin. I have yet to add the delay to "debounce" the button via software.

The issue I came across is the 6522 ignoring the button presses and constantly issuing interrupts. This doesn't happen when I directly connect the button to the IRQ pin on the 6502. Does anyone know what could be happening?

(I am clearing the IFR with bit PORTA in the irq subroutine)

EDIT: As [u/Obvious-Falcon-2765](u/Obvious-Falcon-2765) suggested, the solution was placing a pull-up 10k resistor in the IRQ line, since my VIA is an open drain version.


r/beneater • • 2d ago

Help Needed Circuit Emulation on Linux

13 Upvotes

Hey,
I need advice from the hive mind - I am setting up a Raspberry Pi 500 as a workbench computer. I have now VSCode, plattformio, Arduino IDE, Fritzing and KiCAD on it.
And now I am looking for a decent circuit emulator, preferably stand alone. if not, web is also fine.
What do you guys use and recommend?


r/beneater • • 3d ago

Chip Hippo is now available as a web app to explore

Post image
18 Upvotes

View the app without having to download the code:

https://chiphippo.com/app/


r/beneater • • 4d ago

8-bit CPU Doubt while testing registers

Thumbnail
gallery
17 Upvotes

Hello.

My background is programming. Other than soldering components onto premade kits, this is my first electronics build.

Image links below. Pictured is the clock and 2 8-bit register modules. They all follow very closely the tutorial vids and schematics.

To test the register, I've put a few leds and resistors (for good measure, not sure if needed) on the same board as the register. Pictured unconnected; the vid has the bus lines over some leds, but you can see what's going on.

In the video I'm uploading, only 1 register is shown, but both behave the same.

They do register and output data from/to the bus. But not exactly as it happens in the video where Ben tests his. In particular, mine defaults low when enabling load (L̅O̅A̅D̅⬇️), and nothing happens when I ground bus bits, so I need to power instead of ground the bus bits to register anything

I suppose this could work ok going forward. But I'd like to know why is this happening and if I need to fix anything.

Any help is greatly appreciated.

action Ben's action mine notes
Power on randomly all off Power on randomly most on it prefers some leds
E̅N̅B̅L̅⬆️ L̅O̅A̅D̅⬆️ nothing happnes -- I started both high
L̅O̅A̅D̅⬇️ clock → all on L̅O̅A̅D̅⬇️ clock → all off opposite
L̅O̅A̅D̅⬆️ stays registered L̅O̅A̅D̅⬆️ stays registered OK
E̅N̅B̅L̅⬇️ all on on bus -- skipped
E̅N̅B̅L̅⬆️ all off on bus -- skipped
ground bus nothing yet pull up bus nothing yet I'm doing the opposite here
float L̅O̅A̅D̅ some turn on ??
L̅O̅A̅D̅⬇️ some turn off L̅O̅A̅D̅⬇️ some turn on opposite (ok?)
L̅O̅A̅D̅⬆️ stays registered L̅O̅A̅D̅⬆️ stays registered OK
float bus stays registered float bus stays registered OK
float E̅N̅B̅L̅ output on bus too early?
E̅N̅B̅L̅⬇️ output on bus E̅N̅B̅L̅⬇️ output on bus OK

https://ibb.co/0yZBgvfR

https://ibb.co/sdk9PWQn

https://ibb.co/fW6t0B1

https://reddit.com/link/1xe6qlo/video/o7u54mvekexh1/player


r/beneater • • 4d ago

Chip Hippo 'Sines' Up for More Power!

Thumbnail
gallery
33 Upvotes

1.5.0 brings AC power to Chip Hippo! You can now build circuits with AC signal generators, transformers, and bridge rectifiers, opening up more possibilities for experimenting with power conversion and circuit design. But that's not all: the electronic load now supports Constant Voltage (CV) and Constant Power (CP) modes, 8-bit data bus signals can be toggled at runtime, and you can selectively route wires in routed mode (double shout-out to rjshaydon). There are also new diode type selections, Spice Lite fixes, performance improvements, and plenty of other bug fixes and quality-of-life improvements. Thanks to everyone who reports bugs and helps make Chip Hippo better!

https://chiphippo.com


r/beneater • • 5d ago

8-bit CPU A Question related to the ALU output.

Post image
56 Upvotes

I had connected 4 LEDs to the lower 4 bits of the Output of ALU and the its calculating values till 15 only.

It only calculates over 15 when i connect rest of the LEDs for the higher Nibble.

Can anyone answer this why this is the case?


r/beneater • • 5d ago

8-bit CPU Facing issue with register A after connecting all the modules.

Thumbnail
gallery
68 Upvotes

[SOLVED] by using 1k resistors instead of the 10k as ben suggest in his videos, suggested by u/The8bitEnthusiast

Problem mentioned Below:-

I tested the register A, B and ALU over the bus before connecting other modules like a week ago and it was working.

But now after connecting all the modules it seems the high 4 bits are set for Register A even if i try to read 1. But its working fine for Register B it reads 1.

And i try to replicate what ben did in his video of connecting the bus. By loading 1 into register B and then keep it adding up by loading the One into register A through the bus and storing the result back into register A. And it seems to work for lower 4 bits.


r/beneater • • 5d ago

6502 Ben's 6502; now with wire wrapping

Thumbnail
youtu.be
29 Upvotes

I took the time to make a video describing the updates I've made to my version of Ben's 6502 computer. I moved the RAM of the edge to ease removal for reprogramming; added wire wrapping to address problems with flakey connections; added a separate breadboard to use as a bus for control signals, address, and data lines. If they don't come across in the video, the control lines are: clock, reset, RW, and IRQ; the address and data lines have line 0 on the left side. I don't like the length of the wires going to the VIA chip, but you know, get it working first, then improve it. I am probably going to give making my own PCB a try to replace the clock board, some of the logic chips have gates that burned out, probably due to the poor wiring. Any (civil) advice is welcome.

https://youtu.be/cYFkjDvJCPU

[edit] Not sure why the video is not showing by default.


r/beneater • • 6d ago

Issue with STA command - 8-bit Breadboard Computer

9 Upvotes

Hello, everyone.

I'm currently working on the 8-bit computer as a project for a college class I'm taking. This is my first time working with breadboards, so please bare with me if I don't seem too knowledgeable about everything.

I've mostly finished the entire thing, however I'm running into an issue with the STA command. I was looking around the subreddit to see if anyone else had run into the same issue as me, but I never really found a definitive solution for the issue, mainly just ideas of what to try.

Doing my best to explain it, the STA command only works correctly if I manually press through the clock and give it a pause right before it's supposed to write into memory (AO + RI step). Going at a normal pace or using the automatic clock, even at the slowest pot setting, fails to write into memory.

To give a little more info, I've implemented 220ohm resistors to all LEDs on the board, implemented Michael Kamprath's digital PROG/RUN modification, am using a power bus that loops around the entire board (reads ~4.8V for the entire thing), and have even tried using low pass filters.

The lines that I've been testing the STA command with are:
- Address 0: LDI 5 (01010101)
- Address 1: STA 15 (01001111)
- Address 2: HLT (11110000)
- Address 15: 1 (00000001)

During the AO + RI step:
- A register = 00000101
- BUS = 00000101
- MAR = 1111
- AO and RI are active

Another thing I've tried pulling pin 3 (WE) of both 74189s low manually does correctly store at address 15 when in the AO + RI step. It seems like the RAM chips, address selection, MAR, bus, and data going into the RAM work fine. The problem might be somewhere in the WE pulse/timing, but I don't have an oscilloscope to see what's happening exactly.

I hope to receive some guidance for I should try, because I'm kind of lost at what to try next. If anyone would like a picture to see what I'm working with, I'll gladly send some. Thanks!


r/beneater • • 7d ago

8-bit CPU Facing issues with Flashing of EEPROM.

11 Upvotes

HW:-
Arduino UNO copy SMD
AT28C16 ATMEL original.
Connected all wires according to EEPROM flasher video and checked continuity as well.
But still the value read from the EEPROM is different from the Flashed value.
Used two different EEEPROMS.


r/beneater • • 8d ago

6502 [Review Request] MOS6502 Breadboard Computer Schematic

12 Upvotes

Hi guys I was hoping to get some double checking from others. I made this schematic of the 6502 breadboard computer I built a year or two ago planning on making it into a PCB but kinda lost the motivation and time to do it now I want to get back into it. I would really love if some of you have the time to review it to make sure I didn't miss anything at that time or do any errors.

Any help is appreciated and feel free to ask if anything is unclear.

Thanks in advance.

Here is the link to the PDF on GitHub or if you want I've attached an image to this post.


r/beneater • • 9d ago

Please peer review and sanity check my 6502 design

Post image
45 Upvotes

Hi r/beneater!

I'm currently working on my own variant of the BE 6502. Since I got frustrated by accidentally pulling out jumper wires, I've decided to go for a PCB design. I'd like to ask you for a peer review and sanity check before I send this off to JLCPCB. I'll take any sort of criticism, but I'm particularly interested in whether the address decoding, debug device (see below) and reset circuit look like they'd work.

It's meant to use the DigiCoolThings MECB bus and board format, with a dumb backplate and peripheral boards. I kept the ATF16v8 address decoder/glue logic because it saves space and I find it pretty neat.

The memory map is supposed to look something like this (only the top bits are shown)

|15|14|13|12|                                |
|--|--|--|--|--------------------------------|
|0 |0 |0 |0 |<-RAM Start                     |
|0 |1 |1 |1 |<-RAM End                       |
|1 |0 |0 |0 |<-IO Start (b1000000000000000)  |
|1 |0 |0 |1 |<-IO End (b1001111111111111)    |
|1 |0 |1 |0 |<-ROM Start                     |
|1 |1 |1 |1 |<-ROM End                       |

Addressing devices in the IO range triggers the IOOE and IOCS lines (IO Output Enable and IO Chip Select) which will select peripheral boards on the bus. Each peripheral board will have it's own address decoding for the lower address bits.

Reset (keeping the reset line low for a sufficient amount of time) is accomplished using a DS1233 and the datasheet reference design for that part.

Attempting to write to the ROM keeps the ROM disabled (ROM CS and OE are kept high) and latches the data to a 74HCT273 flip-flop as a sort of primitive debug device or display.

The J2 connector is meant to attach an ArduinoMega for debugging and clocking before getting to use the MECB DIN 41612 connector, the backplate and peripheral boards.


r/beneater • • 9d ago

Breadboard clock part 5

Thumbnail
youtu.be
43 Upvotes

r/beneater • • 10d ago

Help Needed Why is my clock LED flashing like this?

Enable HLS to view with audio, or disable this notification

56 Upvotes

I’ve been soldering a permanent version of the clock module but I have a problem: it’s unreliable. Sometimes it runs okay and then it will do this. To my eye, it feels like the ‘off’ is shorter than the ‘on’ and you can see it’s a bit erratic at the start and then settles down but speeds up around seven seconds in. If I leave it running, it might ‘flip’ into regular off-on cycles but slower. And then it will flip back into shorter offs than ons. And then back again. I’m running it off a bench power supply at 5.00V and it’s drawing about 0.021A. It changes by 0.001 in line with the LED off/on cycles.
What could cause this?


r/beneater • • 11d ago

But, can it play DOOM?

Thumbnail
youtube.com
25 Upvotes

and

SMB on the 6502

https://www.youtube.com/watch?v=LRKabmK9BVw

I couple of links to some video games I have been working on for my BE inspired 6502 computer.


r/beneater • • 12d ago

24 Hour Variant of the Digital Clock in CMOS Architecture ICs

Post image
306 Upvotes

I built the 24-hour variant in 74HC ICs and i am curious as to how much power & current consumption differs from the 74LS ICs, if anyone who was completed the 24-hour variant could you measure power and write it down? Note that using CMOS requires more ICs then using TTL because not every chip has been converted to CMOS. The Current consumption while on operation is 130mA, the voltage rails aren’t exactly 5V but let’s consider it is so which gives us a total power dissipation of 650mW. In reality the power dissipated is most likely a bit lower than this.


r/beneater • • 12d ago

Help Needed Only top half of alu working

Enable HLS to view with audio, or disable this notification

19 Upvotes

I have already tried to debug it myself but ended up nowhere only the top half of the alu is working while the bottom four bits are always on any diagnostic ideas or similar problems people have had and their solutions would be greatly appreciated thanks!


r/beneater • • 12d ago

Tips & Tricks Breadboard loose connection

11 Upvotes

I'm new to breadboarding and have noticed that some of my male-to-male jumper wires fit loosely into my new breadboard, while others fit tightly.

For example, while building a non-inverting amplifier using an LM358, I get fluctuating output readings or sometimes 0 V. The readings occasionally become correct when I accidentally touch or move a wire.

Is this normal, or could my breadboard or jumper wires be defective?

Also, are pre-cut dot-to-dot wires more reliable than ordinary jumper wires for ensuring tight connections, or are they mainly for better presentation?

I'd appreciate any suggestions.


r/beneater • • 13d ago

Impossible to use 7 or 8 bit values

Enable HLS to view with audio, or disable this notification

64 Upvotes

Hi again.

I was hoping to share my triumph today. Nope, not today. I spotted yet another issue. Please share some insights, I'm losing patience with this project ;(
My 8-bit processor successfully adds small numbers such as 14 and 28 (like on Ben Eater's yt video).
However, when I try to load a 7 or 8 bit value (no matter the position of the zeros), it will fail. There's some sort of double hop when RAM is accessing that value (address 14, 15, same behavior), and register A gets a different value.

Here are some tests of my trying to do LDA 15.

Byte stored at address 15 Ones Result
0011 1111 6 OK
1110 0111 6 OK
1111 1100 6 OK
0111 1111 7 A = 0001 1111 (wrong)
1110 1111 7 A = 0001 1111 (wrong)
1111 1110 7 A = 0001 1111 (wrong)
1111 1111 8 A = 0001 1111 (wrong)

So you can see a very simple program:

LDA 15
OUT
HALT

And for some reason LDA 15 won't work if the value stored in address 15 is too high. Same goes for ADD 15 - if the value is too high, register B will receive a faulty value.

And the only thing I figured out is that, when it fails, it loads the value from memory address 0000. I changed this memory address to 0000 0011 ("do nothing" kind of thing) and then LDA 15, OUT, HALT - the value loaded to reg A was 0000 0011.

I tore down the conditional jump circuit that I built last weekend and reprogrammed the EEPROMs - no change. The unused address lines and logic lines are pulled down with 1kohm resistors or directly to GND.

I think I'm trying too hard and that's why I'm making so many mistakes on the way, there's no other explanation ;)


r/beneater • • 14d ago

Anyone ever try soldering it all down?

27 Upvotes

A few years ago I completed the 8 bit breadboard computer (with extra features!) but the project has been sitting sadly under my bed since then. I'm pretty sure it's not gonna work first time when I turn it on and there's gonna be a lot of troubleshooting loose connections, etc.

I'd love to get this working again and on my wall but I feel like the best way to ensure longevity is to get it transferred to proto board, so it's all soldered and stable for years to come.

I'd do this one module at a time on separate proto boards to keep things relatively modular. I see two approaches:

  1. Get the original machine working and slowly upgrade each module to it's soldered form, while keeping the new forms connected to the old machine until the whole machine is soldered to boards

  2. Start from scratch, following the tutorial but soldering the modules down as I go

For either approach the modules would be connected with header pins and jumper wires.

Has anyone attempted something like this? Or am I crazy and should leave it in breadboard form? I'm not too interested in designing my own PCBs, I want this to be a fun time away from modern machines 😉