Close

Trying out the latest version of KiCAD

A project log for Project Seven

Bringing deep learning to platforms such as the Raspberry Pi, Parallax P2, or maybe an Altair 8800 for general robotics and other things.

glgormanglgorman 04/13/2023 at 07:490 Comments

This is so totally preliminary, but why not?

Well, this is going to take a while; but wow!  O.K., sure.  Why not?  I know I am kind of old school about this sort of thing.  So I thought I specified a 15-pin IDC connector, and it gave me a connector with 2 rows of 15 pins, and now I realize that maybe what I really want is the connector that has two rows of eight pins.  It also placed the Arduino module 180 rotated 180 degrees from how I would want it.  This is going to take a while.

After about an hour of fiddling around.

I noticed of course that the KiCAD software numbers the pins on the IDC connectors differently from how they are numbered on the DB-15 connector, which I will explain further at some point.

In the meantime, once upon a VERY long time ago, I actually made my own "sound card" for my Apple II+, by creating a very simple, but working data bus grabber that I could plug into any available Apple II slot.  Then I ran the ribbon cable to some proto-board where I put together a simple D-A converter which used a 74LS374, IIRC, along with some resistors in a variation of the typical R-R2 configuration, to in turn implement the D-A part.  This was done in such a way as to allow for the selection of either 4-bit stereo, or if the two output channels were tied together with a hand-selected resistor, I could have 8-bit stereo,  Then I created wavetables in BASIC and saved the wave files to a floppy disk so that I could then play back pre-recorded "samples", as it were by using the BLOAD DOS call to load the samples, which were usually 256 bytes in length, and which could be played by an appropriate CALL to the hand-assembled "driver" which would output at 25,600 samples/second.  And it just simply "worked", and probably would still work except for the fact that my II+ has keyboard issues, and although I also have an Apple IIe motherboard, I don't have a keyboard or case for that one at all.

Yet in any case, here is how the "universal I/O" concept could come together.  Maybe I rip apart my much beloved Apple II bus grabber from days gone by and build my "new and improved" universal I/O module so that I get EXACTLY the features that I want and NEED for the II+, and possibly the IIe, and all of the rest, as previously discussed.

Learning how to do everything in KiCAD is going to be a bit of work, but the results are going to turn out so much nicer than trying to do this the old-fashioned way.

So, even though this actually works, I think I will end up with a strong preference for the new and improved method.  Even if it can be quite a bit of fun to just simply sit down with a bag full of old parts, and test fit this, or that, here or there while trying to figure out "how the busses" are going to route when all gets said and done.   Maybe throw in a Propeller chip for that Apple II, to get some VGA mode, but then there is a 3.3-volt vs. 5-volt issue, and whether to use proper MOSFET-based level shifters or just latches and resistors.  Now if I join the "surface-mount" bandwagon, then a lot of that stuff becomes a lot easier to work in, whether it is resistors, FETs, latches, etc., even though that totally messes up the "retro-feel" of things, there are some nice payoffs in terms of making the best use of board real estate, and of course, staying within the power budget - since and Apple II, or a Commodore 64 for that matter, is much more constrained than a full-size Altair, (with it's 18 AMP power transformer), for that matter.

Yet I found a Z80-style dual bidirectional parallel port chip, which might turn out to be useful.  Let's suppose that I use it on the Apple II side of things while letting an Arduino handle all of the control lines.  Given that it REALLY is possible to just simply connect up a 74LS374 directly to the data bus, slot enable and write lines, and get something that works like a "port", on the one hand, then maybe the Apple II could connect to the "port" side, and the "bus" side would go to so digital pins on the Arduino side, that is to say - which would help "stretch" the Arduino pin count, allowing for the addition of something else.

Not sure how that would work out, but I think that there are some designs floating around that have used a Propeller as an MMU, or such when connected to either a Z-80 or maybe even an 8 Mhz 6502; yet I suspect that that would require something more like the P2 chip, instead of the P1, that is, if I wanted to let a real 65C02 "think" that the P2 chip is actually RAM, while at the same time, letting the P2 generate Apple II graphics, etc., and so that the Apple II is really only needed for access to the floppy drives, and the SCSI based hard drive.

Realistically, this seems pretty far-reaching, yet it seems doable.  Right now I am totally happy with the fact that I have access to MIDI data and PS2 data, on an "actual" board,  that WILL evolve into a device that can be made to "commercial specifications", and with working software.

But the Apple II, will have to wait - I think I want to get back to working on the Altair.

Discussions