PDA

View Full Version : SBC interest?



scorch
May 15th, 2009, 04:14 PM
I was wondering if there might be any interest in creating a single board computer (SBC) that is basically VC forum designed and supported? I know there was a project recently by lynchaj, but that was a sorta preconceived Z80 CPM type widget. What I am talking about here is creating the ideal SBC with all the best features based on input from our VC users. Many guys here have experimented with various SBC's such as the good old KIM-1 and others. While those are fun to play with from a nostalgic point of view (I myself have a KIM), most use old technology and outdated ideas. A new SBC incorporating modern technology, software, and features would be fun to build and use, user friendly, and an excellent training tool for those who might like to understand things at a lower level. We have a lot of talent here, let's see what we can do by putting our heads together.

Ask yourself what your own personal SBC would be? Things should come to mind like... data bus size, CPU(s), display, memory, I/O, power supply, etc. Bear in mind the balance of modern technology vs user friendly features and ease of use. For instance, a modern P4 or AMD dual core might be powerful, but attempting to learn those CPUs at a machine level could be a daunting task; especially for newbs.

I think this would be a fun project and everyone interested, regardless of skills, could find a way to participate. If you don't have hardware or software experience, there may other things you could contribute like user documentation, debug history regression, archiving, burning ROMs/CDs, etc., so the project could be divided up into tasks and action items, appropriate to skill sets. Like with other projects here, in the end we should have created a PC board and kit of parts available for group purchase for those who want to build it and play.

To start things out, some cool features might be...

Hardware:
8 bit CPU (Z80, 6809, etc.)
Small graphic LCD
USB port
VGA output
SD or CF card interface
Hi current driver port(s) for LEDs, relays, etc.
Timers with interrupt capability
Motor controller for small DC or stepper
Hex keypad
PS2 KB connector
Small prototyping area or breadboard
PWM speaker
A/D & D/A interface
EPROM/EEPROM/FLASH programming socket
Simple wall wart power supply

Software/firmware:
Updateable flash ROM with low level monitor proggie
Full breakpoint debugger
Mini assembler (no, this is not a midget with a soldering iron)
Single step capability showing full register dumps
Upload/download from PC

Hopefully, I left room for others - LOL. When "blue sky" thinking, try to keep an open mind about the possibilities of other uses for the SBC, such as robots, or other machine control. It's important at this stage that no idea is dumb or stupid, so just throw anything on the table, even if it seems impracticable, too costly, or too difficult. We can weed out features that can't be done later. Often it's the inexperienced minds that come up with the best ideas because they are not preconditioned.

Terry Yager
May 15th, 2009, 06:48 PM
Most of those features are already incorporated in the N8VEM, or available via it's expansion bus(es). It's not a limited single-purpose (CP/M) widget, but rather a very versatile design with many as-yet untapped possibilities. (It's just kewl that it's also a full-blown microcomputer, ready to run right out of the box as well).

/completely voluntary, unsolicited, unpaid, and impartial plug

--T

Chuck(G)
May 15th, 2009, 07:28 PM
Actually, most of what's been mentioned can probably be had in the form of a commercial evaluation board (http://www.zilog.com/index.php?option=com_content&task=view&id=63&Itemid=197).

ahm
May 15th, 2009, 07:42 PM
Or an Arduino (http://arduino.cc/).

Dr_Acula
May 15th, 2009, 11:33 PM
Cool. I like building SBCs.

The N8VEM is open source which means every piece of software is free and every part of the hardware design is available. You can buy a board. Or download the design and get your own made. Parts are available from multiple sources. As a result it has gone off in all sorts of directions. Andrew Lynch has built hard drive interfaces, floppy interfaces, a 6809 chip, S100 bus etc. I've gone off and built 5 versions of the board, all building on the previous one. This was an incarnation a few months ago http://hackaday.com/tag/n8vem/ and the next project is getting mass storage via sd cards.

I think I could say 'check' to more than half the things on that list.

Picaxe and Arduino are perfect for the interfaces - eg if you want a smart multi analog input to RS232 adaptor, or you want to drive many servos then they are great. The only problem I have found with Picaxe and Arduino is I kept running out of code space. At least the N8VEM will never run out - 64k of space (vs 0.256k for the smallest picaxe), 448k of battery backed disk ram and (soon) 2 gig of sd.

I like the N8VEM because you are not tied to one language. C programmers do Arduino. Basic programmers do Picaxe. The N8VEM can do C, Basic (many dialects), Fortran and about 10 others.

If you want VGA - check out the PockeTerm on the Propeller. Indeed, the propeller guys have a Z80 emulation running now and are close to getting an entire Z80 machine onto a PCB 1/4 the size of the N8VEM.

We have had demonstrations of wireless networks and internet access too and are very close to pulling it all into one working system.

Things like step by step debuggers with register dumps - I know what you are saying because I have just spent the morning using one. A great way to exercise the brain!

I suppose one question to ask; which things on your list *can't* be done with an existing board? And what would it take to add the feature? Is this a teaching tool or something with a use already in mind?

ziloo
May 16th, 2009, 07:56 AM
Hello Scorch,

Been there, not done that....been there, not done that, been there.......

The subject has been discussed in numerous occasions on various
forums, and it has rarely been realised. My motto in VC forum
has always been "If it works, stick with it!". It has taken many
years to have few very dedicated and knowledgeable people to
come by and build it from the bottom to the top.

>If you don't have hardware or software experience, there may other
> things you could contribute like user documentation, debug history
>regression, archiving,....

If you are one of those who would like to do it, there is so much work
that can be done in the "documentation" department for N8VEM. Your
efforts would be highly valuable for educational purposes to a wider
audience.

Keep your feet on the ground and reach for the stars....:)

Best Regards

ziloo

ziloo
May 17th, 2009, 12:43 AM
Hello Scorch,

Looking at my post again, I realised it was a bit imposing and
critical. I had to edit some of my wordings to sound the way
I intended them to be. I hope they did not cause any hard
feelings. Your enthusiasm and knowledge is the most valuable
asset for any group that you work with. I just wish you would
join other comrades to utilise your knowledge and experience in
improving the work in progress.

Sincerely,

ziloo

billdeg
May 17th, 2009, 06:55 PM
I like the idea of putting energy into the N8VEM rather than starting a new project. The added benefit is that if you're going to make something at least remotely like the N8VEM, you might as well take that one apart. There's more to just the board. There's chip cost, production runs, etc.

Dr_Acula
May 18th, 2009, 07:47 AM
I must admit that the N8VEM is probably not all that well explained on the website - if you go to the forum you get the latest discussion this last week, and if you go to the wiki you get a pile of files but it is hard to work out what is actually out there. I like it because it is totally open source. There is nothing wrong with adding your own board of any design and if you interface it in some way to the existing boards you can add it to the project. I think there is a bit of cross fertilization to this forum anyway. The N8VEM is still vintage - vintage software, new board (but often vintage chips!)

Hardware:
Yes to both: 8 bit CPU (Z80, 6809, etc.)
Yes: Small graphic LCD
No: USB port
Yes: VGA output
Almost: SD or CF card interface
Yes: Hi current driver port(s) for LEDs, relays, etc.
Yes: Timers with interrupt capability
No but easy with picaxe: Motor controller for small DC or stepper
No but easy: Hex keypad
Yes: PS2 KB connector
No: Small prototyping area or breadboard
Yes on PockeTerm: PWM speaker
Yes via picaxe: A/D & D/A interface
Yes to eprom/eeprom: EPROM/EEPROM/FLASH programming socket
Yes: Simple wall wart power supply

Software/firmware:
Yes to eprom: Updateable flash ROM with low level monitor proggie
Yes (DDT/DDTZ): Full breakpoint debugger
Yes (TASM/ASM/M80): Mini assembler (no, this is not a midget with a soldering iron)
Yes (DDT/DDTZ): Single step capability showing full register dumps
Yes (38400 baud with xmodem): Upload/download from PC

leaknoil
May 18th, 2009, 06:58 PM
The N8VEM is sort of cool and all but, actual z80 boxes are cheaper and a whole lot more atheistically pleasing. That is a personal taste thing of course.

I mean if you want to enjoy building up your SBC its cool but, if your just after cp/m or a z80 you can pick up an old Osborne for less then the N8VEM alone will cost you to build not even slightly counting the terminal or those add on projects. Of course for other processors there really aren't a lot of choices. Just a ton of cheap z80 boxes around in the US anyway. Seems a bit like reinventing the wheel.

Zilog sells their development kits for like almost nothing as well as was pointed earlier. Look what you can get for $99 http://www.digikey.com/scripts/dksearch/dksus.dll?Detail&name=269-4560-ND

Chuck(G)
May 18th, 2009, 08:29 PM
That was my point. In particular that $99 kit has:
Up to 2MB fast SRAM (12ns access time; 1MB factory-
installed, with 512KB on module, 512KB on platform)
Embedded modem socket with a U.S. telephone line interface
IC EEPROM
IC Configuration register
GPIO, Logic circuit, memory headers
LEDs, including a 7x5 matrix
2 RS232 ports
RS485 connector with cable
JTAG debug interface
50 MHz (!) EZ80F91 with 256K of internal flash and 8 KB of internal SRAM
512K of SRAM
Space for 1MB Flash
Ethernet
IrDA port
Clock with battery backup
Development kit software

Okay, it doesn't have USB, but I'm sure there's an eZ80 development board that does.

A heckuva deal.

scorch
May 18th, 2009, 09:27 PM
In the words of comedian Jim Carrey... "well alrighty then". Frankly, I'm a little surprised and disappointed about the overall negativity expressed here, but after some re-examination, I've concluded that VC is really not the right venue for this project anyway. For the folks who said this has already been done, or that you can buy an evaluation board; kudos - you are absolutely correct! Fact is, except for perhaps, Dr Acula, it appears that most missed the point altogether, or else I did a poor job of describing it properly (which wouldn't be a first - LOL). The true goals of the project in order of priority were...

1st: LEARNING - CPUs, memory, I/O, and interfacing logic at the bit and byte level
2nd: PARTICIPATION - bragging rights as a team member and having a say in the final product
3rd: FUN FUN FUN playing with a real widget that each of us helped create

To some experienced engineers, this may seem a ho-hum project, but these are always the most fun for me (BTW, I have an MSEE and 20+ years experience at a Sr Engineering level). I did have hopes that less experienced members would find it appealing and challenging. To wit, I noticed several in the N8VEM dialog who seemed to want to participate, but didn't appear to have the opportunity. In all honesty, I have to admit and somewhat selfishly, this project was not so much about VC forum members as my high school kids. After having come off our mildly successful last project (yes, we have money in the bank), we are set to launch our next. For this one we thought it might be fun to go outside and solicit broader user input on the design. This is why I attempted to expand the project to the VC forum. I now think it was a bad idea, based on the forum's charter (and responses!). As a result, I discussed it with my students today and have decided to pull the project back in. We will be doing it as another internal classroom project, so perhaps the lack of enthusiasm here will have a positive outcome in the end.


Most of those features are already incorporated in the N8VEM, or available via it's expansion bus(es). It's not a limited single-purpose (CP/M) widget, but rather a very versatile design with many as-yet untapped possibilities. --T

Agreed, and a few of the reasons why I wouldn't consider it for this project. I never said the N8VEM was limited or single purpose, I said it was a "preconceived Z80 CPM type widget". Permit me to explain... it was preconceived because, according to Andrew, it was lifted from something he was already working on. It was CPM oriented, because Andrew stated as much in the forums. However, I was not implying that it's not a super product! Its direction and context were simply wrong for what I had in mind. So for the record, I didn't mean to slight the accomplishment of the N8VEM product, and I certainly didn't mean to step on any toes.

MikeS
May 18th, 2009, 10:14 PM
Oh, I don't think you stepped on any toes or denigrated the N8VEM in any way, but I think you might have gotten some different replies if you'd explained a little more what you had in mind. As it was, to suggest designing just another generic SBC from scratch when there are already so many out there (most of them flexible enough to be whatever you want them to be), understandably didn't raise much excitement. The basic CPU/memory/IO stuff is pretty standard and straightforward, so why reinvent the wheel once again; what's interesting and fun for most people is the custom ancillary stuff "around" the basics and of course the software. Fancy displays, wireless comm, internet connectivity, real-world control and data logging etc. And of course being compatible with an existing OS like CP/M means that you can use BASIC and standard tools to manipulate your board (if you want to) and it can actually be useful instead of just a 'project' that blinks a few lights and ends up in a drawer.

If designing from scratch, laying out PCBs and having them manufactured, etc. are important to you then obviously existing designs and boards aren't very interesting. But if you read through the N8VEM forum and see the problems being solved, the individual innovations and especially the sense of community I think you'd have to agree that there's certainly a lot of LEARNING, PARTICIPATION and FUN FUN FUN happening there and it's going to be pretty tough for you to find interested people here or on any forum who aren't already involved with one of the homebrew projects, to essentially create the same kind of community around yet another SBC project. Although Andrew has certainly been the prime mover behind the N8VEM, it has nevertheless been and still is being largely shaped by the builders, with some creating related semi-compatible boards on their own and of course contributing those to the group as well as their software, tools etc.

That's one of the fun things about the N8VEM: everybody's part of the same "club" and working with more or less the same hardware, but in fact every system is unique and very personalized and the different ideas and executions feed each other; more like a biological system than a bunch of computer clones.

Even if you do go off on your own, your students might enjoy just reading the N8VEM wiki and what the various builders are doing with them in the Google forum.

Whatever you do, have FUN, FUN, FUN! And if you do come up with a design and boards, why not come back here and tell us about it; once it's "off the ground" you might find a little more interest.

mike

Chuck(G)
May 18th, 2009, 10:29 PM
Okay, if it's to be an educational project, I can understand.

But why sidetrack the learning with a lot of make-work (e.g. adding buffers, transceivers or decoders to a 70's era CPU?). If sweating the small stuff is that important, then retreat back to an 8080A or figure out how to make refresh work for TMS4096 DRAMs. My own recommendation to Andrew was to move up a decade and make use of a Z180/HD64180 or even a Z280. Solves so many annoying little problems.

I recall that the least fun stuff was thw "small stuff", like running the numbers on an 8202 DRAM controller driving 2116s and discovering that worst-case, your DRAM has to have a negative access time. Or wondering what idiot designed the 8275 CRTC.

If I wanted to work "from the chips", I'd take a relatively modern uC, such as an ATMega and work from there. All of the nasty stuff is out of the way for you to do some real experimenting--and the chip's cheap and very forgiving. If it's a matter of running vintage software, I suspect an ATMega 128 could easily emulate a 2MHz Z80 without breaking a sweat.

But that's me. :)

leaknoil
May 19th, 2009, 12:37 AM
I totally get the desire behind it but, it seems wasted. The idea behind the homebrew computer scene has usually been about better or cheaper. In the best case better and cheaper. At the very least the same. The whole N8VEM thing seems worse and more expensive then just about everything else available. I mean if the N8VEM cost $20 complete then sure but, that just gets you an empty N8VEM circuit board. Seriously ?

Dr_Acula
May 19th, 2009, 12:55 AM
No "stepping on toes" going on here! This is healthy debate and who knows where it might go. We have Chuck's comments, then leaknoil's link and that lead me to googling the ez80 and to this site http://www.ez80sbc.com/Download/eZ80SBC%20Installation%20Guide.pdf

That is one nifty board. And it appears it can run cp/m 2.2 and cp/m 3. I might check it out further.

I reckon I can make a N8VEM for about $50. I can make boards for $4, and indeed, to anyone who shows even just the mildest of interest on the N8VEM group, I've been giving them away for free. Or less than cost. Usually just with a request to contribute something in kind. I think one of the keys to this project has been Andrew Lynch's insistance on using standard DIP parts. This gives the board an "old fashioned" look and perhaps that is off-putting to some. I spent much of my youth building little boards to go in model planes where smaller=better. I've done my time soldering tiny components *grin*. What I have now realised is that there is plenty of space on the planet for a slightly bigger board. I've realised that allowing for mistakes, solder blobs, mysterious shorts, I can solder a DIP part faster than a surface mount part. And I have another motivation - in order to solder surface mount, I have to go off coffee and beer for several days...

Anyway, if you want something for high school kids, maybe look at Arduino or Picaxe. $4 chips, programmable in C or Basic and only a few minutes with a breadboard and you can have a led flashing. Then read a pot, display something and the kids will be unstoppable. There are a lot of educators and teachers over at the Picaxe forum for instance and they talk about the practicalities of teaching microcontrollers, like whether the school budget can afford a set of batteries for every student, let alone a micro. Breadboards are cheap nowadays, and a small picaxe solderable board can be made for under $2. So nothing lost if the kids turn out not to be interested.

I'm having fun fun fun today. Using input from many people, we have managed to create a system where you can write a big (10k-30k) program, hit a "compile" button and have it running on a board in only 5 seconds. That is quicker than anything the Picaxe and Arduino can do, and may even be quicker than the propeller. For me, fast compiles = fun, because you can test things quickly.

Sing out if you want to brainstorm boards etc.

ziloo
May 19th, 2009, 05:45 AM
... "well alrighty then". Frankly, I'm a little surprised ....

All that is said here is right on the topic, and all that I heard is
appropriate and justifiable. As I said, the same kind of argument
and brainstorming had been going on for a long time on various forums,
and each one of the argumenters had a good point about what
should be on an SBC. They were all right!!!

There is no saying "which is the best SBC to build" , it is a
matter of "build the &^%$#*(!@ thing, no matter what!"
Andrew was one of those who just decided to start building what
he thought was the best design for its purpose. Now that he has
started building an S-100 board, there are people who are criticizing
him as to "why he even dared to think about building one, while
there are so many old S-100 boards still around"!!!

What I would very much like to see here personally is a critical
review of the harware/software capabilities of the N8VEM and any
modifications/peripherals/software enhancement that they think can
improve its performance. I am talking real physical work, that
I can compare and see the results, not just verbal suggestions.

I think the starting point is to "actually build an N8VEM and test its
performance" and start making changes as found necessary.

ziloo

ziloo
May 19th, 2009, 06:12 AM
..... I have an MSEE and 20+ years experience at a Sr Engineering level).
I did have hopes that less experienced members would
find it appealing and challenging....

Now that we know about your passion and expertise, we would not
let go of you that easily! We have been waiting for a long time to
have more hardware oriented people among our VC forum members.
Although we have a wealth of VC enthusiasts that truely go out of
their way to help others, and they know a lot about various aspects of
hardware/software troubleshooting, we also need more people at the
solder level!

If you can start a column/thread about "How to Troubleshoot a
Dead Computer" (just an example), you would be a star! Things like
the fundamentals of O-scope and how to use it, how to use a voltmeter,
where to start, and some step by step guidelines; there would be more
people who would join in, and it would be a blast. These are just a few
suggestions and you can apply your own interests. Give it a try, and
check out the number of hits/viewers that would be reading your thread!!!!

ziloo

MikeS
May 19th, 2009, 10:31 AM
I totally get the desire behind it but, it seems wasted. The idea behind the homebrew computer scene has usually been about better or cheaper. In the best case better and cheaper. At the very least the same. The whole N8VEM thing seems worse and more expensive then just about everything else available. I mean if the N8VEM cost $20 complete then sure but, that just gets you an empty N8VEM circuit board. Seriously ?
I think you're missing the main point, that it's about having FUN!, and cost is relatively unimportant. You might as well just pick up a used complete CP/M system on eBay for $50 if that's what you're looking for, or even a PC MoBo from a curbside box..

m

leaknoil
May 19th, 2009, 12:12 PM
I think you're missing the main point, that it's about having FUN!,

Actually that's why I specifically wrote that I understood the desire to build something like this. I just don't know that the world really needs yet another z80 based SBC. By all means go for it though. It just seems maybe the effort could be better spent on something there aren't already so many of out there.

cosam
May 19th, 2009, 01:51 PM
If you can start a column/thread about "How to Troubleshoot a Dead Computer" (just an example), you would be a star!Or consider expanding on the (currently rather stubby) troubleshooting articles (http://wiki.vintage-computer.com/index.php/Troubleshooting) on the wiki.


Things like the fundamentals of O-scope and how to use it, how to use a voltmeter, where to start, and some step by step guidelines; there would be more people who would join in, and it would be a blast. These are just a few suggestions and you can apply your own interests.
Also great candidates for wiki articles, IMHO. Some work has already been done in the hardware category (http://wiki.vintage-computer.com/index.php/Category:Hardware).

barythrin
May 19th, 2009, 04:21 PM
I'm one of those types that would have the interest but can't figure out how to get started on learning what is required to do math or build a basic computer. I've brushed across documents but likely due to my own laziness I haven't read through them or sometimes they're a nice layout of the design but never go into "why" which is what I need to understand to build something.

Anyway, naturally I say build it and think it's great. My problem is they tend to be way over my head in understanding the concepts. I can solder something together from a kit, monkey see monkey do, it's just frustrating when I'm not necessarily learning from the experience.

That's the huge gap I've seen at least. Writing up a layman's version of building a computer and explaining what is going on and why I'm soldering this component and how it works would be awesome. I don't think there's any sort of point to "it's already been done, why would you do that?". That would be like saying "the computer has been built, so everyone immediately stopped and just went with IBM right?"

- John

Chuck(G)
May 19th, 2009, 05:27 PM
That's the huge gap I've seen at least. Writing up a layman's version of building a computer and explaining what is going on and why I'm soldering this component and how it works would be awesome. I don't think there's any sort of point to "it's already been done, why would you do that?". That would be like saying "the computer has been built, so everyone immediately stopped and just went with IBM right?"

Isn't that pretty much what's happened? Who uses non-Intel-architecture platforms anymore (aside from embedded apps, that is--where ARM seems to be the equivalent of x86).

But why use a microprocessor at all? isn't that like claiming you made dinner, when all you did was heat up a tray of frozen lasagna?

I'm not quite old enough to have professionally used an all-vacuum tube computer, but I've used computers made up of individual transistors and other discrete components (still have some in my hellbox)--no ICs.

Debating whether to build up from a microprocessor or to use a pre-assembled evaluation kit is like deciding whether or not to grate your own cheese or buy a bag of pre-shredded cheese to put on your frozen pizza. It's a matter of some small degree--and is certainly not "making a pizza" nor is using a microprocessor "building a computer".

Why not build a CPU--even a small one? That would certainly be a learning experience.

leaknoil
May 19th, 2009, 05:55 PM
Why not build a CPU--even a small one? That would certainly be a learning experience.

That is a cool idea

vbriel
May 19th, 2009, 07:38 PM
Ok, now that I've read all the posts, I'll chime in. As a kit designer I look to design kits of computers that are rare and hard to come by. Most people here have never seen a Apple 1 running, yet they get my kit and see what one was like. That being said, a good kit is one that has a unique appeal that makes it stand out. The N8VEM stands out because of the RAM & ROM drives. It makes for a really cool SBC that doesn't need physical drives.

I think there is plenty of SBC interest, and I plan to design one or two more in my day if time permits. The VC forum is actually perfect because most SBC's are 8 bit format which falls into the the same class of computer as vintage machines.

I personally find it difficult to do large group opinion projects because nobody will agree. Get ideas, choose what you want it to do, build it, see if anybody else wants one. This might sound selfish but I design my boards for me first, if I like it, maybe somebody else will too.

I do think the CPU idea is really a good thought! A kit would be really fun!

Good luck,

Vince

MikeS
May 20th, 2009, 12:52 AM
Actually that's why I specifically wrote that I understood the desire to build something like this. I just don't know that the world really needs yet another z80 based SBC. By all means go for it though. It just seems maybe the effort could be better spent on something there aren't already so many of out there.
Well, if the criteria are that it should be better, cheaper and not already out there, then I'd say that almost all the folks on here are wasting their time and could spend their effort better than writing web browsers for XTs, souping up their Windows 3.1 installations, wasting money on 387 coprocs, etc. etc.

If your criteria are ease of construction, simplicity, flexibility, expandability, likelihood of finding the parts in your junkbox, etc. then boards like the N8VEM are indeed better than many of the other boards even though those are cheaper and more powerful, not to mention the fun and cameraderie of being a member of a relatively large group sharing ideas and experience.

ziloo
May 20th, 2009, 07:21 AM
....troubleshooting articles.... on the wiki.

........Some work has already been done .....

Our wiki is surely expanding!!!
Aside from the wiki, we must have a Question/Answer thread about
the material that is being added to the wiki. That way, the author/s
know what is missing, what needs more expansion, or what is not
well explained.

Hello scorch.....hellooooooooo....any one.............

ziloo

barythrin
May 20th, 2009, 09:03 AM
Right, a CPU kit would be completely awesome, and you're right I often joked with folks in my bachelor days about being able to cook and point out that I cooked some cheerios for dinner the night before and some popcorn and beer the night before that.

I just (and I know scorch is gonna run with this idea anyway lol) didn't want the majority of responses to be "it's been done. why bother?", everything's been done.. why do it? uh.. because I haven't is the correct answer. All of us are here playing around because it's fun, educational, and often because we haven't. That's certainly been my answer when folks are wondering the stupid projects my friends and I have been up to.

VInce's and Lynch's products are all great :-) I love that people are recreating things and working on improving original designs still. It's even better that is IS educational. I mean I actually have the opportunity to solder together an Altair kit and Apple I and Kim-1! How could that ever be possible without that work.

In any event this is becoming a preaching to the choir post so I'll stop. Scorch, I wish I was smart enough to help or produce something but I'm not lol. Eventually when I build everyones kits and get off my keister and read all the books I've obtained I'll start whipping out some things too. I just think it's great for the young folks here to be able to learn this stuff and also someday contribute their own knowledge and efforts to the scene and these projects make that more possible.

Chuck(G)
May 20th, 2009, 09:48 AM
So, on this CPU thing, what would be the ground rules? I mean, college kids cook up CPUs in FPGA regularly without so much as warming up the soldering iron.

Does it have to be TTL or is CMOS okay? Can one use programmable logic, such as CPLDs to reduce parts count? Is Turing-completeness a requirement?

Dr_Acula
May 20th, 2009, 04:27 PM
I agree Chuck, ground rules would be most helpful.

If it is TTL chips then check out http://www.mycpu.eu/

Or are we talking a CPU based on transistors? Or relays? http://web.cecs.pdx.edu/~harry/Relay/

Or marbles? http://www.allthebestbits.net/a-mechanical-marble-computer/

I hope scorch is still reading these threads because I think there are a number of projects out there that could be built in one classroom lesson by anyone who can solder. And they would be very educational.

cosam
May 21st, 2009, 09:39 AM
Interesting! I could quite get into a homebrew CPU project.

So, on this CPU thing, what would be the ground rules?
...
Does it have to be TTL or is CMOS okay? Can one use programmable logic, such as CPLDs to reduce parts count?
Personally I'd say keep it to TTL and CMOS parts and draw the line somewhere around the 74181 mark. If you're going to allow CPLDs, where do you draw the line regarding what you do with them? I think you'd start venturing into black box territory pretty quickly and, assuming the idea would be to learn about how CPUs work, that'd be missing the point. It'd also be nice if folk could build the thing without too much specialist equipment.



If it is TTL chips then check out http://www.mycpu.eu/
The Magic-1 (http://www.homebrewcpu.com/) is another nice example.

ziloo
May 21st, 2009, 10:28 AM
Personally I'd say keep it to TTL and CMOS parts ...
venturing into black box territory pretty quickly ......
that'd be missing the point.


Right on Cosam, great point :thumbsup:! Having a sophisticated
Pentium running a sophisticated windose program to solve
logic equations, and then pouring it unto an FPGA belongs to
future projects.

ziloo

Chuck(G)
May 21st, 2009, 10:51 AM
I think you could go considerably smaller scale than the two TTL designs, particularly if speed doesn't matter. How about a bit-serial or 4-bit word architecture? A move machine architecture is pretty simple to implement and easily extended.

Just tossing some ideas out here.

I tend to think of CPLDs as substitutes for blocks of TTL logic, rather than a way to implement "black box" stuff. If I need an 18-bit shift-left, shift-right register with dual-ported parallel load and sign-extension and tristated outputs, it's a pain in TTL, but easy in small-scale CPLDs. Would it be reasonable to impose a limitation of 44 pin CPLDs with no more than 64 macrocells?

As far as non-IC architecture goes, the old Univac SS80 and SS90 machines (magnetic core logic) or even the NEC Parametron machines are very interesting. ISTR that Seymour Cray also did some military computer work using core logic. But I don't know where you'd find "hard" magnetic toroids anymore.

cosam
May 21st, 2009, 12:30 PM
I think you could go considerably smaller scale than the two TTL designs, particularly if speed doesn't matter. How about a bit-serial or 4-bit word architecture? A move machine architecture is pretty simple to implement and easily extended.
Oh yes, I'm not suggesting building anything quite as large as either of those examples. I like the idea of a 4-bit word design; not too complicated and yet still enough similarities with "normal" processors to be able to draw parallels.


I tend to think of CPLDs as substitutes for blocks of TTL logic, rather than a way to implement "black box" stuff. If I need an 18-bit shift-left, shift-right register with dual-ported parallel load and sign-extension and tristated outputs, it's a pain in TTL, but easy in small-scale CPLDs. Would it be reasonable to impose a limitation of 44 pin CPLDs with no more than 64 macrocells?
I totally understand the attraction although I have a niggling feeling that packing logic into boxes might put potential builders off. Maybe some people would relish the challenge of building complex stuff in TTL. I must admit I've no practical experience with CPLDs so I really don't know the ins and outs of using them. I am a little worried that requiring a CPLD programmer, or having to rely on others to provide pre-programmed chips, might discourage people from participating.

Chuck(G)
May 21st, 2009, 04:25 PM
I totally understand the attraction although I have a niggling feeling that packing logic into boxes might put potential builders off. Maybe some people would relish the challenge of building complex stuff in TTL. I must admit I've no practical experience with CPLDs so I really don't know the ins and outs of using them. I am a little worried that requiring a CPLD programmer, or having to rely on others to provide pre-programmed chips, might discourage people from participating.

Many (if not most) CPLDs can be programmed with JTAG, requiring little more than a PC parallel port--and best of all--can be done in-circuit, leaving room for lots of playing around without having to remove the component.

I do understand that FPGA is quite another story in some people's minds--mostly involving writing lots of VHDL or Verilog and little else. (OTOH, there have been some breathtakingly fast PDP8 and Z80 implementations done in FPGA). But CPLD is little more than a tarted-up PAL.

cosam
May 22nd, 2009, 01:37 AM
Many (if not most) CPLDs can be programmed with JTAG, requiring little more than a PC parallel port--and best of all--can be done in-circuit, leaving room for lots of playing around without having to remove the component.
I have to say I'm warming to the idea but I still have my reservations that it's going to make the project less accessible and the design less transparent. I really like the philosophy behind the N8VEM project: all DIP parts and basically nothing but a soldering iron required to get the job done (the exception of course being that you need something to program your ROM but there's no practical alternative to get around that). Maybe limiting things to DIP components would automatically place a reasonable limit on the complexity of CPLDs are the like?

I guess we should wait and see what kind of direction the project takes before making too many major decisions about what are probably pretty minor issues. How about banging some more ideas out regarding the architecture? What kind of instruction set do people want to achieve? Are we going for a microcoded design?

Chuck(G)
May 22nd, 2009, 01:48 AM
Gotcha.

Personally, I think it'd be a kick going back to some of my earliest programming experiences. Decimal, variable word-length machines...but that would probably be too weird for most people.

cosam
May 22nd, 2009, 02:28 AM
Decimal, variable word-length machines...but that would probably be too weird for most people.
Heh, yes, probably getting a little obscure there for some ;-) I guess it depends on what kind of crowd you want to attract. I'm sure there are plenty of folk who would love to throw the conventional aside and work on something more unusual. I suspect however that the group of people interested in building something that resembles a "mainstream" CPU, in which they can recognise concepts they're familiar with, is quite a bit larger!

But hey, if it turns out it's just you and me interested in this thing, we might as well do the variable word length one ;-)

Chuck(G)
May 22nd, 2009, 10:48 AM
But hey, if it turns out it's just you and me interested in this thing, we might as well do the variable word length one

If it's just you and me, I'll do it in an FPGA. At my age, I'd rather crank out Verilog than push solder around.

barythrin
May 22nd, 2009, 11:55 AM
So my $.01 (I already gave someone else some cents). If I knew how to do a project like this, I would make it a simple design that's somewhat practical for learning/understanding semi-current architecture, or at least one that could be obtained on an easier effort. 4-bit is great, it's simple and practical and translates to other higher architectures without much difficulty.

To me being the uneducated builder of one of these designs, the more I can see the better I like it. I'd feel quite underwhelmed if I built a processor by uploading someones FPGA code into a chip on a board and then "there. you just created a processor!" "..um.. not really.." but as you all point out the BIOS code is a necessary step. I think it'd be cool to document that though and have some educational grounds be taught in that as well (ie explaining what you're typing in and/or implementing, why, etc).

Of course it's a lot of work for these projects but I think the educational benefit is so extremely useful. Essentially I'd love to just sit down with a kit and book that's understandable and go through it step by step similar to a college (low level school) tutorial. That's what I'd love.

- J

Chuck(G)
May 22nd, 2009, 01:19 PM
If this is an educational project, what level of functionality should it have? It's pretty easy to design a simple machine that has only 256 bytes of memory, for example. As the data and address paths get wider, the design gets more complex.

cosam
May 22nd, 2009, 02:45 PM
If this is an educational project, what level of functionality should it have?
I was mulling that question over today. It'd be great if you could actually do something useful with the end result; I think a purely educational CPU would quickly end up gathering dust otherwise. Is a 4-bit architecture going to end up being just too limited? Moving up to (say) 8 bits would indeed make things a lot more complicated, but you'd also be able to do a hell of a lot more with the thing. A few K of address space would also make the difference between a fun educational tool and something resembling a "proper" computer.

One concept that popped into my head (and I'm really not sure if this falls within the realms of people's expectations regarding how far this thing should go) is that of some kind of cut down PDP-11-alike. The real thing is just about understandable for one person and although a TTL implementation is a good few board's worth of parts, maybe an 8-bit adaptation with less registers and features would be manageable enough.

Chuck(G)
May 22nd, 2009, 03:33 PM
A lot of legacy microcontrollers have very limited functionality and still manage to do something worthwhile. There were arcade games that ran from a Rockwell PPS-4, for example.

cosam
May 23rd, 2009, 02:22 PM
A lot of legacy microcontrollers have very limited functionality and still manage to do something worthwhile.
Good point indeed. I guess you could do 4-to-8 bit instructions, multiplex out a 12-bit address bus - something like that? Then again, if you're going to end up multiplexing everything, maybe it's simpler (and clearer design wise) just to use wider data paths. At least with 8 bits you can push ASCII around easily. Double it up and you've got a very generous address space for a small processor, some of which you could use for I/O.

NobodyIsHere
May 25th, 2009, 09:10 AM
I was wondering if there might be any interest in creating a single board computer (SBC) that is basically VC forum designed and supported?

[snip]



Hi All! It appears this project has either fizzled or radically departed from the original posters comments. If you are interested in building your own home brew computer, you are always welcome at the N8VEM home brew computing project. I much appreciate the support the Vintage-Computer.com community has shown to the N8VEM home brew computing project several months ago. It has been very good and helped bring easy access to home brew computing to many hobbyists.

The N8VEM project certainly has a lot of room for improvement but it does offer a lot to home brew computing enthusiasts. Primarily, it is a solid foundation of tools and infrastructure for building new systems and peripherals. The current SBC is a Z80 CP/M system which is a great place to start but you are not restricted to it. Those areas for improvement are great opportunities for new builders to contribute. All sorts of things from new hardware, software, writing documentation, web design and maintenance are all needed and much appreciated by friendly and robust community.

The N8VEM dual approach allows either standalone SBC or a bus based system that gives a lot of flexibility. For example, the ECB backplane and other peripherals could easily be incorporated into another SBC using a different CPU such as an 8088 or 68K. I am currently developing a 6809 host processor that is nearing its PCB manufacturing order so it is certainly possible. Alternatively, you can build peripherals directly on the SBC as several builders have done or boards for the ECB backplane.

All the PCBs are available so if you would like to participate please contact me and let's get started! I've tried to keep the costs low as possible and still able to sustain itself. All the information for hardware, software, and documentation is publicly and freely available.

http://groups.google.com/group/n8vem

http://n8vem-sbc.pbworks.com/

Thanks and have a nice day!

Andrew Lynch

ziloo
May 30th, 2009, 06:03 AM
I hope this thread hasn't eneded up where I had previously
mentioned it might end up!!!

1- Forget about functionality!!!
2- Let's stick to educationality...
3- How about a tutorial on CPLD, JTAG, and a few simple examples?

What is important is Live Tech-Support and question/answer.
Let's start doing something fun...

And Thank you for your support

ziloo :biggrin:

Chuck(G)
May 30th, 2009, 09:41 AM
As far as CPLD (and other programmable logic) goes, there are tons of Verilog tutorials on the web. Just Google "Verilog tutorial" or "learning Verilog". (There are other languages (e.g. VHDL) used to write functional descriptions for programmable devices, but Verilog is perhaps the easiest).

CPLD is the little brother to FPGA--you can do whole systems in FPGA; CPLD limits itself to a much lower number of cells. On the other hand, CPLD is ready to go as soon as power is applied; FPGA requires that the programming be loaded (either from on-chip flash or an off-chip source) before the device is ready to use. The design software is usually available free of charge.

I think CPLD represents a happy medium between discrete TTL logic and FPGA. Complex enough to simplify the implementation of a design, but not so complex that the implementation seems like a "black box".

There isn't too much to say about JTAG, other than it's a serial protocol used to program and debug devices. It's not unusual to see a JTAG programming setup used as both a programming interface and as a debugging interface. The big advantage of JTAG is that a device can be programmed while soldered into the circuit in which it's being used. Need to fix a bug? Just modify your program and blast it in. No hot soldering iron needed. JTAG programmers, if you have a parallel port on your PC, are very easy to make.

JTAG's all over the place nowadays. It's in modems, routers, mobile phones, MP3 players, DTV set top boxes....you name it.

ziloo
May 30th, 2009, 11:38 AM
What is the smallest logic element of a CPLD? I know about
PALs and GALs and their smallest element which we actually
burn to program them; But in programming a CPLD, what is it
that we are doing to create the logic we desire?

ziloo

Chuck(G)
May 30th, 2009, 04:00 PM
Exact CPLD implementation varies between vendors, but a fairly typical device and the way it works is the Xilinx XC9500 (http://www.xilinx.com/support/documentation/data_sheets/DS063.pdf) series. This a 5V series of CPLDs that can be had in 44 and 84 pin PLCC packages (they'll go into a socket with 0.100 lead spacing). Altera offers a similar 5V family the MAX 7000 series (http://www.altera.com/literature/ds/m7000.pdf).

Newer devices are 3.3V, rather than 5V and tend to be offered in surface-mount packaging only.

Dr_Acula
May 31st, 2009, 03:47 AM
Our orginal poster seems to have gone quiet for a bit. Scorch, are you there??

Anyway, sbc stuff is evolving rapidly. I posted a reply a few weeks ago with this:

"Hardware:
...
Almost: SD or CF card interface"

Well, we now have mass SD storeage on the N8VEM. (Thanks++ to all those who answered my esoteric questions on CP/M fdos handles etc. There was a real and practical outcome). 2Gig of file storage designated as "Drive U" on the N8VEM. So it now has drive A as a battery backed ram disk with 448k, Drive B with 16k of ROM drive for essential bootup files (Xmodem etc), and Drive U with 2,000,000,000 bytes (2 million k!!) of storage. That is more than enough to contain every CP/M file ever written!

Incidentally, if any vintage computer owner on this forum wants mass storage, all you need is a spare serial port, and the OUT and IN port locations for that serial port. The uDrive assembly and .COM programs are all open source over at the N8VEM group and I'd be happy to assist anyone get it working on another type of machine.

I can solder one of these boards in 40 minutes so it ought to be well within the capabilities of high school students. And not many SBC projects can go from a pile of chips to a self contained computer playing chess in 40 minutes. (And the program continues to beat me on the easiest level. Darn this new-fangled artificial intelligence...)

Further, the guys over at the Propeller forum are working on shrinking the N8VEM and getting it down to only 3-4 chips. That ought to make it quicker to build, and cheaper and smaller and able to use less power.

Thanks to the invaluable help here, there now exists a SBC with ample storage and all running pukka, vintage, CP/M. So, in a round about way, the Vintage Computer Forum *is* working collaboratively on building a SBC...

NobodyIsHere
June 1st, 2009, 04:03 AM
Exact CPLD implementation varies between vendors, but a fairly typical device and the way it works is the Xilinx XC9500 (http://www.xilinx.com/support/documentation/data_sheets/DS063.pdf) series. This a 5V series of CPLDs that can be had in 44 and 84 pin PLCC packages (they'll go into a socket with 0.100 lead spacing). Altera offers a similar 5V family the MAX 7000 series (http://www.altera.com/literature/ds/m7000.pdf).

Newer devices are 3.3V, rather than 5V and tend to be offered in surface-mount packaging only.

Hi Chuck! Thanks!

A hobbyist could easily use the N8VEM system to create a CPLD peripheral in 0.100" lead spaced packages (DIP, PLCC, PGA). Just use the existing and available ECB prototyping board to mount the device. There are a bunch of compatible devices at Digikey using 5V which would require minimal interfacing and even 3.3V devices if one used a local regulator onboard. I think it would be ideal for educational purposes and I have been advocating the N8VEM project for education since the beginning.

At least at first, you could just use power and ground and physically mount the device on the ECB prototyping board and use JTAG or whatever interface it has. Directly interface a CPLD to the ECB it would require about 11 IO pins I think assuming; a chip select, a /WR signal, a register select (A0), and 8 data lines. It could probably be done in fewer if needed. Especially using the 68 pin PLCC or larger packages they certainly have enough pins left to be useful. Alternatively, one could use a 8255 as an interface between the CPLD and the ECB. There are many options!

I like the 28, 40, 44, and 68 pin devices since those are really easy to work with as wire wrap sockets are available. Depending on how its interfaced, using a since CPLD would leave most of the 4"x4" prototyping area left for whatever else the builder wants to include. One N8VEM builder is doing exactly this right now to interface a Propeller chip. The Propeller is more of a microcontroller than programmable logic device but a similar approach could be used to easily interface a CPLD to the ECB.

The same probably applies to FPGA devices in the 44, 68, and 84 PLCC packages especially the 5V compatible versions. Digikey has several in stock from FPGA manufacturers. I supposed the PGA packages as well although the problem with larger sizes is there aren't wire wrap sockets available (although you could make your own using machine pin SIP sockets) and current draw gets to be problematic at larger sizes. I'd bet that all the PLCC packages are practical though.

The N8VEM system is intended to be a platform for expansion with home brew peripherals. It is easily done. I have built several peripherals and builders are making more all the time. Just recently some builders are making a keyboard display front panel like device and more are on the way.

All through the N8VEM home brew project development I've kept the hobbyist in mind using low cost, reliable, and easily assembled components. I'll agree its not the most advanced or powerful system available but every builder I know of who has started their system has finished with a working system -- usually on the first try. Having the CP/M environment is free, simple, and familiar enough to use right away.

Yes, you could use a PC or another prototype board but where is the fun in that? :-) There are some people I'll never convince and that's OK. For those who'll listen I'd like to encourage hobbyists to build on what's already available N8VEM home brew system there rather than start from scratch. It is a *lot* easier to leverage an existing system and may have long term benefits that'll continue to help the community when it's done.

Thanks and have a nice day!

Andrew Lynch, 73 de N8VEM

PS, I just ordered PCBs for the N8VEM 6809 host processor board and they should be available soon. The only software that runs on it at the moment is hacked version of the Motorola MiniBug. Further development of the 6809 side of N8VEM would make a great hobbyist project. There are some 6809 operating systems and applications freely available like FLEX and CUBIX just waiting to be ported.

Chuck(G)
June 1st, 2009, 10:54 AM
Hi Andrew,

Yesterday, I started thinking about an interesting idea. Bear with me--this is still nascent.

What about a "universal microprocessor"? Most people on this list have not had an opportunity to explore some of the more obscure vintage microprocessors, such as GI CP1600, National SC/MP or PACE, Fairchild F8 or 9440, etc. Given the scarcity of vintage parts and the problems involved with interfacing them (e.g. MOS-to-TTL translation, multiple power supplies, etc.), it's not worth doing more than a one-off on perfboard, if that.

However, if one were to take a respectably speedy microcontroller (maybe an ATMega16 or 128 or whatever the PIC version of that is), some SRAM and a CPLD for interfacing, one could emulate just about any microprocessor one wanted. Put a JTAG header on for both the uC and CPLD and make whatever you want. Except for some CPLD tinkering, no need to learn VHDL or Verilog. Most larger uCs have built-in UARTs for debugging. Make up your own instruction set if you'd like.

Pick your architecture, flash the code and you're off and running.

What do you think?

NobodyIsHere
June 1st, 2009, 11:40 AM
Hi! I think people are doing exactly that with FPGA designs and protoboards like the Xilinx Spartan III etc. Sure it can be done but the hard part is not the hardware since that is basically fixed COTS. Its the logic in the Verilog/VHDL that captures precisely the characteristics of the legacy CPU and blows it into FPGA flash. I believe the Z80 has already been done with the T80 project and probably 6502 etc. Certainly "doable"

I guess I just find using an off the shelf circuit board loaded with fine pitch SMT parts rather unappealing from a home brew perspective. To me that's not much different that just buying an off the shelf PC from WalMart. My interests are more building something from scratch and using it. There is something just very satisfying about creating something from a pile of components that off the shelf units can never match.

Probably your idea could be implemented using a high end CPLD or low end FPGA mounted on an N8VEM ECB prototyping board assuming the chip has enough capacity for CPU emulation. If it were sophisticated enough it could be ECB bus master and then you wouldn't need the N8VEM SBC at all but at the cost of using about 36 IO pins. The approach I am advocating relies on the CPLD/FPGA appearing as a peripheral (IO ports) on the ECB in the Z80 IO address map which would be more simple, I think, and require only about 11 pins.

What you suggest is very likely possible, I just don't know. The things I've found with the various ECB peripherals I've built so far indicates it probably is possible. Certainly I think interfacing a CPLD/FPGA as a peripheral is possible as that's how I am doing the 6809 host processor and Dave is building the direct ECB to Propeller IO board. I built an ECB UART to Propeller peripheral myself a few months ago and it was super easy. It is a small leap from there to the CPLD/FPGA board, IMO.

I think the main advantage of making the device part of the N8VEM home brew project though is its able to leverage whats already available and it is placed into a context of other similar projects. There are *lots* of home brew projects around but almost all of them are one-offs stand alone units. Basically you can observe them but in order to make your own you are essentially recreating the entire project. With N8VEM, you can build what you need from PCBs (SBC, ECB backplane, and ECB prototyping board) and then focus on the essential part you are most interested in, such as a CPLD/FPGA peripheral, without "reinventing the wheel" everytime or creating yet another isolated home brew project.

You are probably the special case though since you have such a vast amount of real world experience, are extremely knowledgeable on these matters, and have the resources to back it up. However, for (casual, average, regular) hobbyists I think the appeal of leveraging an existing home brew system would be significant.

There is one way to find out for sure though... build a system and find out. Few things are more convincing than a working prototype! Real hardware beats great sounding theory any day!

Thanks and have a nice day!

Andrew Lynch

PS, my current project is building a Video Display Unit for the N8VEM. I am interfacing a SY6545 on an ECB prototyping board. The plan is to make a simple character mode composite video board like the KayPro 10 and probably a simple PS/2 keyboard interface. I've got the prototype about 50% done with wire wrapping. There are pictures in the N8VEM wiki page under the "VDU" folder. I am not sure what I am going to do next after this board. It depends on how Dave's ECB Propeller board turns out -- we really need that Propeller IO board IMO; VGA video, PS/2 keyboard, mouse, audio, SD... what's not to like!

Chuck(G)
June 1st, 2009, 03:30 PM
Hi Andrew,

I think my outline was perhaps a little misleading. The CPLD's only purpose is to minimize the ancillarly logic between the memory and the bus--it could just as well be implemented as random TTL.

My object here is to make emulation easy. Writing miles of VHDL to implement something on the scale a Z80 or 6502 in FPGA is a tough time-consuming job with all sorts of issues relating to timing and getting things "just right".

On the other hand, a lot of people can write C or assembly, so coding an emulator for, say, a Z80 is no great feat (I feel qualified to say that. ;) ) So, instead of an FPGA, one uses a microcontroller interfaced to external memory and writes an emulator for whatever processor in whatever language.

Want to move from a Z80 to 6502? Write a new emulator for a 6502 and download it into the uC, without removing anything from the system.

You could certainly interface it to your bus, particularly if your bus supports a 16 bit data path.

While there may be a certain romance to scrounging old parts, I think a more up-to-date and easier to work with implementation might be more attractive.

PLCC CPLDs are still available and DIP versions of microcontrollers remain popular. Even if one had to use a QFP version, inexpensive adapter boards to 0.100" spacing are easy to find.

NobodyIsHere
June 2nd, 2009, 06:18 AM
Hi Chuck! Thanks, oh, I see. Yes, that is a bit different than what I was talking about. The beauty of the uC/SRAM combination is it can be a form of "generic" or programmable IO. The SBC CPU can communicate with it easily through the ECB and interface logic whether that's a CPLD or simple buffer/decoder logic is just implementation.

What you are describing is similar, IMO, to the N8VEM Propeller board Dave is working on. The N8VEM SBC communicates with the Propeller directly as a peripheral by accessing it as a port through buffer/decode logic. The remaining pins of the Propeller are used for a variety of IO tasks like VGA, PS/2 keyboard, etc. However, with Dave's board the IO pins are dedicated to specific tasks and are no longer available for use.

As an extension of the principle and probably more along the lines you are describing is to just keep the Propeller's IO lines available by exporting them to a connector of some sort like a 40 pin DIP socket. Then the builder adds the devices they want to include CPU or other device emulation. The concept is readily extended to FPGA like devices as they are fully programmable and have lots of available pins.

The major shortfall of using a Propeller or any 40 pin uC in this application is the number of available IO pins. Say it starts with 32 IO pins but by the time you subtract the serial IO (2), EEPROM (2), and ECB interface (11 or more) your are down to 17 unallocated pins which is not enough to directly emulate any CPU larger than a 4004. That's where larger uC or FPGA's additional pins would really shine.

Hopefully Dave's board comes to pass as that will be an interesting and useful device. Since it is directly accessed as an IO port, I believe it will be quite fast as well. It should be much faster than going through a UART or PPI as an intermediary. My prototype used a UART for interfacing and was 9600 bps since the CPU polled its IO which limited performance.

Certainly there are many opportunities for the interested and motivated hobbyist. I guess we'll see if anyone picks up the "bug" and goes forward with implementation.

Thanks and have a nice day!

Andrew Lynch