All posts by MalibuJack

6502 emulated in microcontroller (Part 1)

I last left off with the makings of an address decoder using a pair of 74hc595 serial to parallel shift registers. I added some LED indicators to the address bus so I can see the activity as I cycled through.

Understand that I am primarily a developer, electronics comes naturally to me, but proficiency comes with experience so forgive any of my “worst practices” that might make an electrical engineer cringe.

image

This time around I had an old 64kb static ram chip. It was from an old PC secondary cache which were used in banks of 4. I also added LED indicators to the data bus. The main reason was to see if the address bus was iterating through cells in the RAM chip properly. Most memory initializes with alternate pages as all zeroes and either a random or fixed pattern. This allows you to check the ram for bit errors. This worked for me because I tied the enable output line to the clock.

image

The one thing I was stuck on was the data bus. I didn’t want to use 8 pins for I/O on the Arduino Nano I was testing with. Everything I read was using two shift registers for the data bus. Then I remembered I has a bunch of 74HC299 universal shift registers which allows you to shift data in or out serially, and latch parallel data or set the outputs for the ram to read or write. All done with 5 pins, not much of a savings until you consider you can share every pin as an SPI bus. Since these memory operations are synchronous, you can use the cs on different pins, everything else can share the rest of the bus.

This is still a work in progress for this part so I havent considered what passive components to use for noise isolation or other things. What I am thinking through now is how to tie the ram read with the shift out, and ram write with the shift in.

More to come.

This may not look like much, but this is the makings of 64kb external SRAM, 6502 emulator. Now I understand…

This may not look like much, but this is the makings of 64kb external SRAM, 6502 emulator. Now I understand why early computers had indicators for the address and data bus. My goal is to emulate an apple II slots and all. The CPU should be cycle correct, though runs at about 4mhz. I didn't write the 6502 cpu emulation, I just modified it to work with external memory. Eventually I would like to stick this into a vintage case with a disk drive, video, keyboard and see if anyone can tell.

11/7/13 - 1

Circuit Patterns Trading Cards from Arachnid Labs ID: 1474 – $14.95 : Adafruit Industries, Unique & fun DIY electronics and kits

Adafruit Industries, Unique & fun DIY electronics and kits Circuit Patterns Trading Cards from Arachnid Labs ID: 1474 – If you’re an industrial designer, chances are you’ve got a set of IDEO method cards. If you’re an artist or musician, maybe you like to flip through a set of Brian Eno’s Oblique Strategies. And if you’re an engineer, now you can brush up on techniques and discover time-tested patterns