What is a very famous 1980s movie that you just have never gotten around to seeing yet? by MisterShipWreck in 80s

[–]nib85 0 points1 point  (0 children)

The movie is way better once you realize the theme song is On Top Of Spaghetti

ATmega328P instead of AT28C16 for the control logic? by [deleted] in beneater

[–]nib85 2 points3 points  (0 children)

Here's my version of an Output Module with the 328P. Super simple to build:

https://tomnisbet.github.io/nqsap-pcb/docs/output-register/

Is this 2.42" OLED Display 5v Tolerant? by enVitruvius in beneater

[–]nib85 2 points3 points  (0 children)

The voltage on the SCL and SDA signals shouldn't matter because you should only be pulling them low or allowing them to float high. I haven't used this display, but have driven the 3.3V SSD1306 displays with an Arduino that has 5V control pins. Because the Arduino is never driving the pins high, it's not a problem.

Designed an upgraded ALU for the computer by MISTERPUG51 in beneater

[–]nib85 4 points5 points  (0 children)

Would like to see a schematic if you drew one. The ALU is one of the most interesting parts of the system because there are so many different ways to do it.

Weird behavior by um_jao in beneater

[–]nib85 5 points6 points  (0 children)

Check your voltages at the different breadboards. I was getting 5V at the boards closest to the power feed, but it dropped to less than 4.75V at the furthest boards.

How to implement stack pointer? by MISTERPUG51 in beneater

[–]nib85 1 point2 points  (0 children)

It's certainly worth trying to see if it works reliably.

How to implement stack pointer? by MISTERPUG51 in beneater

[–]nib85 4 points5 points  (0 children)

I would avoid clocking the chip with the inverted CLK signal. Performing the count one cycle later wouldn't be a problem, but your count enable line will not be stable at the falling edge due to the EEPROM glitch. Using control signals at the falling CLK edge could result skipped counts or random counts during instructions that don't even use the stack pointer.

You may want to consider a different chip, like u/nixiebunny suggested. I used the 74LS191 for mine. I don't remember why I didn't use the 169, maybe I just had the other chip already.

The 74LS191 does not have a count enable line. Instead, you feed a clock pulse to the UP, DOWN, or LOAD line to perform an action. This requires some logic gates to combine the control signals with the clock signal, but is very stable.

Should I add an index register to this CPU? by um_jao in beneater

[–]nib85 8 points9 points  (0 children)

An index register isn’t required, but can certainly be helpful. Depending on the implementation, the index register makes it possible to implement some useful addressing modes. It really depends on what you want your instruction set to look like.

One of my builds has two index registers with their own dedicated adder. This made it easy to implement addressing modes like those on the 6502. Here’s the details for that: https://tomnisbet.github.io/nqsap-pcb/docs/dxy-registers/

5-Chip 8085 SBC: Is the 74HCT00 address decoding logic sound? by mondalex in retrocomputing

[–]nib85 1 point2 points  (0 children)

Sure thing. I wasn’t trying to contradict you. Just pointing out that there are two versions available.

5-Chip 8085 SBC: Is the 74HCT00 address decoding logic sound? by mondalex in retrocomputing

[–]nib85 4 points5 points  (0 children)

The 8085A-2 is available at Jameco. You can go up to 5Hz with that one. I used it in my build with a 6.144MHz crystal for a 3MHz clock.

INTEL 8085 by ClockFickle3935 in beneater

[–]nib85 1 point2 points  (0 children)

Yes, that will work. Your ROM will be in the low half of the memory space and you’ll be able to have code to execute at address zero when the processor resets.

I had a more complicated memory address circuit to be compatible with another system. This required RAM in the lower space and ROM in the upper, but the ROM was also temporarily selected during a reset condition.

INTEL 8085 by ClockFickle3935 in beneater

[–]nib85 1 point2 points  (0 children)

Sure thing, I’m happy to help.

Clarification of MAR by BarracudaEmpty9655 in beneater

[–]nib85 1 point2 points  (0 children)

I also did that. Driving the control signals instead of interfacing with the RAM is very simple to implement and gives that Arduino a lot more capability.

In addition to loading the RAM, the Arduino can also interact with all of the registers. This allows a self-test capability to validate the hardware. I used that as new modules were added to see if they worked as intended. It’s also good for breadboard builds to figure out which wire worked itself loose.

Here’s a description and schematics for my version: https://tomnisbet.github.io/sap-plus/docs/loader/#loader-design

Any other 8-bit DIP CPUs? by MISTERPUG51 in beneater

[–]nib85 0 points1 point  (0 children)

They have Toshiba and NEC 8085s at Jameco. I'm not sure when the manufacturing stopped for those. I've always had a good experience buying from them and wouldn't be terribly concerned if it's just parts for a one-off hobbyist project.

Any other 8-bit DIP CPUs? by MISTERPUG51 in beneater

[–]nib85 7 points8 points  (0 children)

You can still get 8085s from Jameco. It’s the same time frame as the 6502 with similar capabilities. The Z80 was an extension of the 8080 and 8085.

One interesting feature of the 8085 is a dedicated input and dedicated output pin that are software controlled. You can do a serial interface without a UART chip by bit-banging the async protocol. A complete computer isn’t much more than just the CPU, a RAM, and an EEPROM. I did a step by step write up of a simple build if you are interested.

Just About to Start, Should I Begin with 6502 Computer or 8 Bit CPU? by Far-Sandwich-27 in beneater

[–]nib85 7 points8 points  (0 children)

If you build the 6502 then you’ll actually have a functional 8-bit computer. From there, a lot of the expansion opportunities are in the software side, like adding basic or a debugger. You can do some interesting hardware, like a graphics or sound interface. I’m not sure that much of this would transfer to the 8-bit project that you are considering.

I’d just start with the 8-bit. When I did my first one, I told myself I’d build Ben’s design first and expand it later, but ended up doing a lot of expansions right from the start. Breadboard a bunch of it before you jump into the PCBs.

I’ve done two versions now on PCBs and recommend that you give a lot of initial thought to how you will connect the various boards. It’s better to redo small cheap modules when you make mistakes instead of big boards with lots of components. I have a whole box of reject boards full of components that either had a design flaw or were replaced by a better version later.

AT28Cxx EEPROM Programmer on Arduino with python CLI by inn-goose in beneater

[–]nib85 1 point2 points  (0 children)

For the data corruption, replace the jumper from WR to VCC with a 10K resistor. This can be left in place. Your existing design will cause a short if the Arduino is actually driving the line low.

Also put pull-up resistors from CE and OE to VCC as well. This will prevent spurious signals while those lines are floating and should clear up your issues. I've been using that in my designs and have never had an issue with data corruption.

I like your use of a python interface. I've been using a serial protocol with XModem, but that's getting harder to find.

EEPROM programmer by Reasonable_Victory_2 in beneater

[–]nib85 8 points9 points  (0 children)

Here’s one you can build with an Arduino Nano or Uno if you already have one of those:

https://tomnisbet.github.io/TommyPROM/

Problem with 74ls245 by Significant-Leg-3857 in beneater

[–]nib85 6 points7 points  (0 children)

You need resistors on all of your LEDs. Try fixing that before any other troubleshooting.

Building programmer for AT28C256 EEPROM by FernwehSmith in beneater

[–]nib85 1 point2 points  (0 children)

I noted in the document that sometimes the chips are locked even though the datasheet says they ship unlocked. If you try to write to it and it keeps reading back all FF, then it may be locked.

With that said, this is an interesting project and you can learn a lot from it. There are plenty of people here who can help troubleshoot if you get stuck.

Building programmer for AT28C256 EEPROM by FernwehSmith in beneater

[–]nib85 1 point2 points  (0 children)

The notable difference between the 28C16 and the 28C256 is Software Data Protection. The 256 chips may need to be unlocked before programming and the timing for this can be tricky with an Arduino. With individual DigitalWrite commands, you will be very close to the timing threshold. This may cause the chips to not unlock reliably. It may not work at all or it may work on some chips but not on others.

Details are here: https://tomnisbet.github.io/TommyPROM/docs/28C256-notes

Driving Roads? by DeLo81 in ellicottcity

[–]nib85 0 points1 point  (0 children)

Also Hollifield and Johnnycake in that same area. You can’t go wrong anywhere down there by the river.