6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Thu Nov 21, 2024 9:04 pm

All times are UTC




Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 
Author Message
PostPosted: Thu Feb 03, 2000 4:23 pm 
Are there any tutorials out there that could help you build a homebrew 6502 computer? I have a decent grounding in electronics but see many pages with nothing but a schematic and software. Is there anyone who can help?

Lanny


Report this post
Top
  
Reply with quote  
PostPosted: Thu Feb 03, 2000 8:55 pm 
I've seen few homebrewing tutorials since the mid-'70's. IF the schematic and the code is not what you're after, I would guess you'd like to know WHY things are done the way they are. Although it's generally easy to understand the clock and decoding logic in an SBC, it's not always obvoius why a particular region of memory was chosen for a particular function or why one region of the I/O map was chosen over the other.

Generally, a single-board system is built for a specific task. Often, once the boards for the task in question is completed and the surplus boards are sold to others for general purpose application.

Often there's no real rhyme or reason behind the choice of location for a specific resource. I generally adhere to the basic principle of "hard resources at the top, soft at the bottom" with respect to 650x and 680x processors a and "hard at the bottom, soft at the top" in 8085/Z-80 type processors. I try very hard to avoid splitting memory space in any way. Just look at the mess that came about with the IBM PC.

If you want to look at examples of single-board designs, the KIM, SYM, and AIM are decent examples of conventional practice during th e'70's. That doesn't mean that they're good, but they are typical. Management often impells engineers to squeeze every penny in cost out of a given design. The KIM and SYM were purely intended to demonstrate MOS Technology and Synertek's hardware. They were never intended to be used as practical computers. They, as second-generation microprocessor applications, are essentially equivalent to third-generation single-chip computers having about the same amount of RAM, ROM, and I/O. The Aim had bigger memory blocks available, but still was intended as a vehicle to demonstrate its technology more than to provide a computing platform.

If you want a microcontroller, these days, you don't have to build a single-board computer. Instead you just provide a board on which a single-chip microcontroller can reside. The trend is to use more rather than fewer single chip microcontrollers, to wit, a typical disk drive a few years back had three, four, or even more single-chippers. That, by the way, is done not because a single processor couldn't do the job, but rather because it allows partitioning of the tasks along predefined boundaries, thereby rendering them "doable" by a well organized team, whereas a team working on one microcontroller will quickly find that the rate determining step is the speed at which the slowest worker can do his work.

I need to be more specific about what you want to find out, if you need answers, since the question is rather nebulous so far. In 1983, when PC's began to sweep the market, saw about half the computers sold as personal computing platforms were single-boards. On the other hand, there's a single-board system in my microwave oven, half a dozen of them in my car, and my printers all have at least one microcontroller in them.

Building an SBC, you have two paths: you can build a general-purpose SBC which tries to be all things to all people, and normally isn't really excellent at anything, OR you can analyze your requirements and build an SBC which precisely meets and in no way overshoots or undershoots these requirements. The marketing boys prefer the former, but engineers like the latter.

Uli


Report this post
Top
  
Reply with quote  
PostPosted: Sat Feb 05, 2000 12:18 am 
Well, when you see a circuit design and software without any additional notes, it's not a tutorial, no matter what they call it.

There were many excellent books on brewing up your own system written in the early to mid 70s - you might find some at your library or in a used book store.

Actually, making up an Apple ][ from the Schematic in the back of the Apple ][ Reference manual can be an interesting project: it will also give you a real computer to use afterwards :) The whys and Wherefores of a project like that are also explained in the rest of the reference manual...

Some points to remember:
1) Zero Page on a 6502 is special, almost an extended register set.
2) Page 1 is the stack, so it, too is static
3) FFFA, FFFC and FFFF are the NMI, IRQ and Reset vectors - they often reside in ROM, with a call to a ROM routine.

Because of these facts, the "ends" of the memory space are tied.
Apple used Page 2 for the Keyboard buffer, and Pages 4-7 for the text screen buffer. This left page 3 for special locations, on an apple - but made the text display logic simpler.

When Woz realized he could fill the bit clock with any bytes, not just the contents of the character ROM, he put the HiRes space at the highest location reasonable for the time & technology - the top of RAM in a 16K computer, pages 20 to 3F.

The I/O space is set below the ROM - Woz set the ROM space at the hightest 12K, pages D0 to FF, so the I/O took the next 4K, pages C0 to CF. This was separated further, allocated 1 page per slot and a 2K swapping memory area (C8-CF). This allowed each slot to have a significant program ROM, a really great feature.

When Woz made DOS, he had it load as OS - top of memory. Programs were loaded at bottom of usable memory, starting at page 8.

All in all, a nice design, given the limits of the technology.

Modern design techniques would have a separate memory space for the video RAM, a "solution" which is really a lousy hack. Far better is the memory-mapped video used in the Apple II, the Amiga, and, now that PCI has expanded 32-bit addressign to I/O, the IBM-PC line :)

Anyway, whatever you decide to do, have fun! Digital circuits are easy, and if you crib off other's designs, you can learn a lot very quickly.

WizWom - the wandering kernel of happiness
~~~> http://pages.ripco.net/~wizwom <~~~


Report this post
Top
  
Reply with quote  
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: