Category Archives: Arduino

My sons and Our Hexapod-Quadrotor experiment. – The beginning


Just adding a work in progress that my son’s and I are building. This is an arduino nano on a perfboard with two hand-built 16 channel servo controllers. Yes this thing will control 32 servos or electronic speed controls. Continue reading My sons and Our Hexapod-Quadrotor experiment. – The beginning

6502 emulated in microcontroller (Part 5) IT LIVES!

I found the 74hc299 shift register was giving me fits, so I removed it for now and wired the data bus temporarily directly to the arduino to work through reading and writing to ram.  I started by writing a repeating but easily distinguishable pattern to the ram to make sure it can write to all the ram and read it back.  64kb in 2 chips of 32kb.
I can come back later and add the shift register back.
image
I then patched the 6502 emulator code to read and write to the RAM. There seems to be some slower performance that I am tracking down.  I hope that the shift register performance isnt too slow.  I did notice that splitting the address into two bytes by doing bitshift seems slow.  And I haven’t started figuring out what to use for rom or sdcard, and memory mapping.

image
It lives! Running EHBasic 2.22 rom.

I have to collect up the links for the EHBasic project and the Arduino 6502 project I based my modifications on.  I do plan on cleaning up the code and posting it.

6502 emulated in microcontroller (Part 4)

One step closer.  I have both the address bus (orange wires) and data bus (green wires) working and reading.  I am able to select the memory address and bank (chip select) and the data bus latches and displays the bits stored.  I still have to work through the details of using the universal shift register and timing the memory writes with it so it can read and write bytes to the bus. 

image
A very photogenic breadboard!

Once I have that working I can patch the 6502 emulator to use the external ram instead of the microcontroller ram.  Turns out the method I used to select the ram, is similar to how you would do bank switching on an Apple II.  Once I have a method to dynamically map memory, I have to decide where the zero page and registers will reside,  if I use microcontroller ram,  I can’t spy on those items, but it may prove faster.  I haven’t even thought about video display or physical I/O