u/MindlessExplorer2845

Image 1 — My first extremely-simple PCB
Image 2 — My first extremely-simple PCB
Image 3 — My first extremely-simple PCB
▲ 78 r/beneater+1 crossposts

My first extremely-simple PCB

It finally arrived.
Power strips with built-in decoupling capacitors.
(Did not solder the optional electrolyte capacitors yet)
Finally, less wire-cutting for the power rails.

Soldering them actually is quite efficient. Just put the pins in the power rails first, then put the PCBs on top, then solder twenty at a time.
Only issue: my capacitors are wider than the holes.

By the way, shall I make a product out of these? I can change all components to surface mount, and I can image the result would be pretty cheap.

u/MindlessExplorer2845 — 11 days ago

What wire is in the 6502 kit?

The wire provided in the 6502 kit is perfect in dense wiring required in projects like 6502. I had 22 AWG before, but apprantly that was too thick. I recently bought 24 AWG, but apprantly it is still too thick.

reddit.com
u/MindlessExplorer2845 — 1 month ago

My first prototype of a clock

I’m sure I am using a different implementation. I am using a crystal oscillator since I don’t have AC-AC adapters. I am using 4040 as counters and using an EEPROM for display.
Right now it is just a prototype; time adjustments are still to be implemented later. The right most two digits are reserved for a thermostat.

u/MindlessExplorer2845 — 1 month ago

Question on VGA signals

In Ben's video, he says the hsync and vsync are active negative. However, I searched the standard, and it says active high (positive). Anyone knows what is happening?

https://preview.redd.it/x7v9p7oz8kmh1.png?width=1105&format=png&auto=webp&s=2c327d35d4736004b1036975a89ea911da043a2b

https://preview.redd.it/lwgaix859kmh1.png?width=850&format=png&auto=webp&s=42c43b9b811ef2e1f67214ed231572db79860526

Also, the standard says a new line starts at the beginning of the sync pulse, not the active video. It matters when we are considering when exactly the vsync should be active, relative to the hsync signal.

https://preview.redd.it/gxk6hl9n8kmh1.png?width=1112&format=png&auto=webp&s=41a05d5b01c49b54276563744d2a7056b3800dd7

document:
https://glenwing.github.io/docs/VESA-DMT-1.11.pdf

reddit.com
u/MindlessExplorer2845 — 2 months ago

A (quarter of) keyboard for the breadboard 6502

As you can see in the video, I only have the first line (and a shift key) done for the keyboard. Still three more lines to go.
Shall I continue the rest of the keyboard on the breadboard, or shall I design a PCB? My only soldering experience was almost 20 years ago when I was in junior high, and needless to say, I’ve never ordered or designed a PCB before.

PS please ignore my super messy desk.

u/MindlessExplorer2845 — 2 months ago

Any recommendation for MSBASIC tutorial?

I just built the 6502 breadboard computer, and MSBASIC is working on it right now. Unfortunately, I don't have experience on MSBASIC. In fact, the first time I've touched a computer it was Windows XP. Any tutorials on MSBASIC? Otherwise I feel like I am pretty limited on my breadboard computer, other than blinking some LEDs and showing some text on the LCD.

reddit.com
u/MindlessExplorer2845 — 2 months ago

The BB830 breadboard failed me

I was working on the 6502 computer, and the hello_world program kept giving me headaches. Seems like some code works and some doesn't, and everything was so weird. Eventually I found out that sometimes the same code doesn't work anymore.
Turns out there was a faulty connection between the EEPROM and the breadboard. I had two ways to insert the EEPROM into the breadboard, and only one of them have good connection.

To be fair, I was inserting more than one pins of a transistor into a hole before. Maybe I should never do that.

reddit.com
u/MindlessExplorer2845 — 2 months ago

Question on the bus timing on the 6502

In Ben Eater's video "RAM and bus timing -- 6502 part 6", he explained his solution on satisfying the timing requirement. However, I don't think the solution is robust. I think it is not guaranteed to work.

First, let me state his solution:

Invert A15 through a NAND gate, then NAND it with the clock, before feeding it into /CS.

Consider a write cycle. The requirement for the SRAM is that either /CS or /WE is high at least 0ns before the address become invalid. However, from the datasheet we know that the address is guaranteed to be valid at least 10ns after falling of PHI2. Assuming A15 always high, then /CS is rising typically 8ns after the falling of PHI2. However, /CS is only guaranteed to rise 15ns after the falling of PHI2, at which time the address bus may have already changed. Even if we are using the typical 8ns value, it is cutting extremely close with 2ns to spare, considering the fact that light only travels 1ft every nanosecond.

I have another question. Consider the read cycle. The datasheet requires data to be valid at least 10ns after the falling of PHI2. There is no guarantee of minimal time of the propagation delay for 74HC00, so I guess it is 0ns. Therefore, /CS would go high, in worst case, 0ns after PHI2 falls. Assuming /OE is low during the process, we shall refer to Read Timing Waveform (3) of the datasheet, which says that it takes minimum of 0ns and maximum of 20 ns from /CS going high to Data being high-Z. Therefore, is there a chance for the read data to be invalid?

I think a more robust solution may be to use a 2MHz crystal oscillator and a binary counter to generate the 1MHz clock, and use some logic gates to let /WE rise at the midpoint of high phase of PHI2.

reddit.com
u/MindlessExplorer2845 — 3 months ago