Topics

Membership Card as 1802 Breakout board #MembershipCard #Pixie #Arduino

fourstix@...
 

Happy New Year!

I plan to take a bit of a different path with my membership card.  A few months ago, I wrote an 1802 Netronics Elf II simulator using an Arduino and several components with the Qwiic interface (3.3v I2C) for the displays and keypad. 

The simulator can run all of Tom Pittman's programs from his Short Course in Programming plus the graphics programs from Paul Moews, Programs for Cosmac Elf Graphics to validate the code.  They all ran fine with the simulated Pixie video.

You can view more information along with pictures, documentation and code on Github at this project: fourstix/QwiicCosmacElfSim
URL:  https://github.com/fourstix/QwiicCosmacElfSim

Most of the same components work just fine with a 5v I2C interface, and Arduino Pro-Mini's are very, very cheap, about 5 for $12 to $15 including shipping.  The plan is to duplicate the Netronics Elf II using Arduinos, commonly available I2C components and a Membership card, and emulate the Pixie Video using the DMA Output from the 1802, an Arduino Pro-Mini, and the U8G2 graphics library writing to an I2C 128x64 OLED display.  The challenge would be to make it all fit given the constraints of the Arduino.

I will essentially use the membership card as a breakout board for the 1802 in developing the Arduino code.  I hope re-use and rewrite the code from the QwiicCosmacElfSim project to work with a real 1802.

I realize this approach is ambitious and goes a little bit against the grain, but as parts become more scarce or expensive, but I hope someone might harvest some of the code to replace something they need as part of their own project but can't obtain.  I plan to write and document the code with that goal in mind and post the results on in Github project.  Please feel free to view the code, open issues, make suggestions, etc.  I also appreciate any comments or advice.

I spent some time reviewing the documentation for Membership card and this looks feasible.  I'm sure I'll learn more as I go along.  The only major change I see is that I need to cut the trace from the DMA-OUT pin and solder in a pull-up resistor and create a breakout point for the incoming DMA OUT request.

Other than that, almost all the other control signals and data lines seem to be are available at various points in the membership card.  Which is pretty amazing considering how compact the design layout of the membership card is.

Best wishes for a happy 2020!
Gaston aka fourstix

bill rowe
 

That looks like fun, and a good learning experience. Those little displays always remind me of the pixie graphics.

I vaguely remember somebody on this list doing something like this and working out the timing for grabbing the DMA bites from the 1802. Maybe they’ll pipe up.

Also, when I used a display like that it was oriented wrong for 1861 emulation  and I had to do a lot of bit twiddling to line the pixels up the right way.


On Jan 1, 2020, at 11:43 AM, "fourstix@..." <fourstix@...> wrote:

Happy New Year!

I plan to take a bit of a different path with my membership card.  A few months ago, I wrote an 1802 Netronics Elf II simulator using an Arduino and several components with the Qwiic interface (3.3v I2C) for the displays and keypad. 

The simulator can run all of Tom Pittman's programs from his Short Course in Programming plus the graphics programs from Paul Moews, Programs for Cosmac Elf Graphics to validate the code.  They all ran fine with the simulated Pixie video.

You can view more information along with pictures, documentation and code on Github at this project: fourstix/QwiicCosmacElfSim
URL:  https://github.com/fourstix/QwiicCosmacElfSim

Most of the same components work just fine with a 5v I2C interface, and Arduino Pro-Mini's are very, very cheap, about 5 for $12 to $15 including shipping.  The plan is to duplicate the Netronics Elf II using Arduinos, commonly available I2C components and a Membership card, and emulate the Pixie Video using the DMA Output from the 1802, an Arduino Pro-Mini, and the U8G2 graphics library writing to an I2C 128x64 OLED display.  The challenge would be to make it all fit given the constraints of the Arduino.

I will essentially use the membership card as a breakout board for the 1802 in developing the Arduino code.  I hope re-use and rewrite the code from the QwiicCosmacElfSim project to work with a real 1802.

I realize this approach is ambitious and goes a little bit against the grain, but as parts become more scarce or expensive, but I hope someone might harvest some of the code to replace something they need as part of their own project but can't obtain.  I plan to write and document the code with that goal in mind and post the results on in Github project.  Please feel free to view the code, open issues, make suggestions, etc.  I also appreciate any comments or advice.

I spent some time reviewing the documentation for Membership card and this looks feasible.  I'm sure I'll learn more as I go along.  The only major change I see is that I need to cut the trace from the DMA-OUT pin and solder in a pull-up resistor and create a breakout point for the incoming DMA OUT request.

Other than that, almost all the other control signals and data lines seem to be are available at various points in the membership card.  Which is pretty amazing considering how compact the design layout of the membership card is.

Best wishes for a happy 2020!
Gaston aka fourstix

--
Bill Rowe
Olduino - an arduino for the first of us
https://olduino.wordpress.com/about-2/about/

fourstix@...
 

Thanks, Bill.  That's one reason I went with the U8G2 graphics library instead of Adafruit's graphics library.  I know the Adafruit library well, but U8G2 made the bit manipulation much easier.  U8G2 replaced a lot of the manipulation code in the UNO1802.  Plus U8G2 supports many different OLED boards.

I have made some progress with the membership card.  I have populated the membership card board and given it a smoke test.  I see activity on the SC0, TPA, TPB and MRD lines so everything looks fine.  I hope to create a Github repository soon and start posting code.

So far it has been a lot of fun.  Here's a few pictures.

Have a great day,
Gaston

Stuart Remphrey
 

Looks very nice!!


(SC1 trace still on holiday?)

fourstix@...
 

Hi Stuart,

Thank you! 

I believe SC1 only goes high for a DMA or Interrupt state.  For this test I tied /Clear and /Wait high so the trace is showing the 1802 in Run mode with repeated Fetch and Execute states where SC1 stays low.

Hopefully, I'll get to more interesting things soon.  My next step is to configure an Arduino with a 3x4 Qwiic Keypad as input and two TIL311's as outputs.

Gaston

Stuart Remphrey
 

Of course -- that makes perfect sense!