6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Sep 28, 2024 10:22 am

All times are UTC




Post new topic Reply to topic  [ 17 posts ]  Go to page Previous  1, 2
Author Message
 Post subject:
PostPosted: Fri Aug 13, 2010 9:10 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10938
Location: England
kc5tja wrote:
I just prefer the 6502 because, for my way of thinking, it's easier to program.

I think this is crucial for a homebuild - more than performance and possibly even cost - how easy is it to get the thing working. The 6502 seems quite forgiving for hooking up memory and peripherals, and is very good for assembly language programming - and of course this forum is helpful if you get into trouble.

Moving up to questions of operating systems and high level languages, I'm not sure how the choices compare. But, unless you particularly want to program the bare metal, or to write your own, you should look to see what's out there are and how easy it is to use and to get help.

I think the earlier points about memory size are important too: if 16bits isn't going to be enough, it'll be easier to build with a 65816 than building your own banking. Also easier to program when the CPU supports the banking and allows 24bit addresses in many cases.

Cheers
Ed


Top
 Profile  
Reply with quote  
 Post subject: Help Me Buy & Build
PostPosted: Sat Aug 14, 2010 6:34 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8403
Location: Midwestern USA
BigEd wrote:
kc5tja wrote:
I just prefer the 6502 because, for my way of thinking, it's easier to program.

I think this is crucial for a homebuild - more than performance and possibly even cost - how easy is it to get the thing working.

You can double that statement in brass.

If the design is difficult to develop and debug, and if programming is a hassle, the project will never get past the paper stage. Although I had never scratch-built a computer before I started on my POC design, I went into it with the confidence that I could develop a working design due to the inherently straightforward nature of the 65xx bus and timing. Intimately knowing the 65xx assembly language helped, of course, since some sort of code would be needed to test the design. However, even if I hadn't known 6502 M/L, I would have been able to tap into a lot of documentation and code examples to get things in motion.

Quote:
Moving up to questions of operating systems and high level languages, I'm not sure how the choices compare. But, unless you particularly want to program the bare metal, or to write your own, you should look to see what's out there are and how easy it is to use and to get help.

Also a good point.

A variety of operating systems have been cobbled up for the 65xx architecture (even a version of Linux). If the source code for an OS is available, then it shouldn't be too difficult to adapt it to your project. If working from the bare metal, then you are tasked with developing a kernel, scheduler (if multitasking is envisioned), device drivers for whatever is in your system, etc., and that can get interesting and very complicated. Again, the hardware typically used in a 65xx machine has been thoroughly dissected and documented, so it becomes a matter of doing lots of reading—followed by lots of coding and testing. :)

Quote:
I think the earlier points about memory size are important too: if 16bits isn't going to be enough, it'll be easier to build with a 65816 than building your own banking. Also easier to program when the CPU supports the banking and allows 24bit addresses in many cases.

In line with Ed's comment about banking, I suggest you put together a basic 65C02 circuit so you can get acquainted with the MPU's behavior and how the buses work. It'll be helpful (probably essential) to have basic diagnostic tools, such as a scope and logic probe. A cheap EPROM burner (readily available on eBay) will also be necessary.

in this first design, relatively simple address decoding can suffice and will help to minimize the likelihood of logic issues that will result in a completely DOA circuit. Garth Wilson and several others have posted info elsewhere on this forum about various proven methods of address and I/O hardware decoding. Don't make it complicated. A simple design can be wire-wrapped to avoid the expense of getting a PCB made, and should be able to run at several megahertz without problems.

Once you fully understand what's going on with your first design you can proceed to lay out an more ambitious circuit built around the more powerful (and complicated) '816. It's important, I think, to start simple so you don't get discouraged when something doesn't work as expected. Too often, folks new to the home-brew computer hobby get grandiose ideas about a monster with 16 megs of RAM, Ethernet, SCSI, 10 parallel ports and enough serial connectivity to wire up a factory—only to abandon the project when the complexity exceeds their knowledge and skill.

Summed up, it's best to learn how to make a single-engine plane take to the sky before trying to build a four-engine jumbo jet. The same applies to concocting your scratch-built computer.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 17 posts ]  Go to page Previous  1, 2

All times are UTC


Who is online

Users browsing this forum: No registered users and 33 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: