6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 24, 2024 8:34 am

All times are UTC




Post new topic Reply to topic  [ 10 posts ] 
Author Message
PostPosted: Sat Jan 22, 2011 7:17 pm 
Offline

Joined: Sat Jan 22, 2011 6:51 pm
Posts: 11
[Mods: I am new here so if this is in the wrong forum or inappropriate please move or delete. Thanks!]

Hi! At the N8VEM homebrew computer project we've been working on a "host processor" board for the ECB based N8VEM system which can use the 6809, 6802, or 6502 CPU. We have been working on this system for months but since we only recently have gotten the 6502 subsystem working I thought maybe there would be hobbyists here might be interested.

The 6x0x host processor board is an ECB peripheral board which can serve as a coprocessor in an ECB system or as a stand alone computer. It is called 6x0x because the board can be configured to use a 6809, 6802, or 6502 CPU depending on jumper selection.

As a peripheral coprocessor, the 6x0x connects to the N8VEM ECB backplane and the SBC Z80 CPU is the bus controller. The Z80 serves IO to the 6x0x client. The 6x0x CPU has its own RAM, ROM, and limited IO to communicate with its Z80 IO processor.

Adding the 6x0x IO mezzanine board to the 6x0x host processor forms either a stand alone computer or a ECB peripheral with robust IO capabilities such as ACIA serial, dual PIO parallel, and PTC programmable timer counter, a power interface, and expansion bus.

Further, with the 6x0x ECB bridge board, the 6x0x host processor with IO mezzanine installed can use standard N8VEM ECB peripherals with little or no modification such as DiskIO (FDC & IDE), VDU (video display unit), SCG (sprites, color graphics, and sound) and several other boards.

With the 6809 installed the system runs CUBIX OS and Motorola ASSIST09 debug monitor. With the 6502 installed the system runs DOS/65 and a custom 6502 debug monitor. FLEX ports for 6809 and 6802 are in work and should be done soon.

As part of the N8VEM homebrew computer project, the 6x0x is completely free/open hardware and software. I have several of each PCBs available or you can make your own. The whole system is quite inexpensive to make and use. All hardware and software information is free/open and publicly available.

There is quite a bit of information available on the N8VEM wiki including photos of completed boards. Please see:

http://n8vem-sbc.pbworks.com/w/browse/# ... 0Processor

http://n8vem-sbc.pbworks.com/w/browse/# ... nd%20Alone

http://n8vem-sbc.pbworks.com/w/browse/# ... aram=M6802

http://n8vem-sbc.pbworks.com/w/browse/# ... aram=m6809

Any 6502 or homebrew computer hobbyists are welcome at the N8VEM homebrew computer project. If you would like to build your own system or further develop some aspect please contact me.

Andrew Lynch, 73 de N8VEM

PS, if you haven’t already please join us on the N8VEM mailing list and wiki

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

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

You can contact me by email at LYNCHAJ@YAHOO.COM


Last edited by lynchaj on Sat Jan 22, 2011 11:32 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Jan 22, 2011 11:02 pm 
Offline

Joined: Wed May 20, 2009 1:06 pm
Posts: 491
I'm interested in what you have. I also would like to know about using a 16 bit 65C816S processor and other home brew products. Please email me.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Jan 23, 2011 2:21 pm 
Offline

Joined: Sat Jan 22, 2011 6:51 pm
Posts: 11
Hi! The N8VEM 6x0x host processor was not designed with the 65C816S in mind but if there is a 6502 pin compatible version of the chip it *may* be possible to support it. I think it is at least under consideration by the builders on the project. Honestly, I am not familiar enough with the 65C816S to say one way or another. I do know the 6809, 6802, and 6502 CPUs work as either ECB peripheral (coprocessor) modes or as stand alone systems.

The boards are available now as I have several on hand. If someone wants to build their own homebrew 6809/6802/6502 computer, this is one path to get there. It is relatively cheap and easy to build since like all the N8VEM boards it is "hobbyist friendly" construction like all DIP/PLCC plated through hole 2 layer boards. No fancy SMT or programmable parts other than simple EPROM/EEPROMs required.

I hope this helps! Thanks and have a nice day!

Andrew Lynch


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Jan 23, 2011 4:42 pm 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
The 65816 was intended to be "almost" pin compatible with the 6502, meaning the amount of PCB rework to support it should be quite minimal, assuming you're satisfied with a 64K address space. If you want the full 16MB address space, then you'll need greater rework, but only because of the external bank address latches needed.

People here have made pin-compatible 65816-to-6502 modules before fairly easily.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Jan 23, 2011 5:24 pm 
Offline

Joined: Sat Jan 22, 2011 6:51 pm
Posts: 11
Hi! Now I wish we'd taken into account the 65C816S into the design of the 6x0x host processor! Its design goals were more focused on the legacy CPUs like 6809, 6802, and 6502. According to the 65C816S datasheet below there is only one pin difference between the 6502 and 65C816S (RDY, pin 2) and requires a pull up resistor.

http://www.downloads.reactivemicro.com/ ... asheet.pdf

The good news is the 6x0x host processor board *does* include a pull up resistor on the 6502 pin 2 (RDY) which is also shared as the /HALT line from the 6809. I think there is a good chance a 65C816S would work in a 6502 compatibility mode with the board "as is" or with minimal modifications. However, I have not *tried* this and only going by reading the datasheet.

Relying on a 6502 compatibility mode would give some partial 65C816S capability but as you said it does not help with advanced features like direct extended memory addressing. The 6x0x host processor was recently redesigned to support the 6502 and 6802 CPUs so it is something to keep in the "to do" box for more 65C816S support when the next version comes out.

In the meantime though the 6x0x host processor boards are available and we are reaching out to other hobbyists if they would like to help develop for this or any of the N8VEM boards. Certainly any of the 6502 hobbyists are welcome to get involved.

I hope this helps! Thanks and have a nice day!

Andrew Lynch

PS, here are some photos to help show what the system looks like. The last three show the system in full stand alone mode with IO mezzanine and ECB bridge board. There are more photos in the N8VEM wiki

http://n8vem-sbc.pbworks.com/w/file/352 ... P6502.jpeg

http://n8vem-sbc.pbworks.com/w/file/352 ... p6802.jpeg

http://n8vem-sbc.pbworks.com/w/file/352 ... P6809.jpeg

http://n8vem-sbc.pbworks.com/w/file/284 ... 6809-1.jpg

http://n8vem-sbc.pbworks.com/w/file/284 ... 6809-2.jpg

http://n8vem-sbc.pbworks.com/w/file/284 ... 6809-3.jpg


Top
 Profile  
Reply with quote  
 Post subject: 65816
PostPosted: Sun Jan 23, 2011 5:39 pm 
Offline

Joined: Sun Jan 23, 2011 5:25 pm
Posts: 19
65816 compatibility is on the TO-DO list, but currenty I am working on getting the device driver code done for the various cards for all of the operating systems available for this card. Currently CUBIX(6809) is supported in both "Host" (inside a CP/M N8VEM system) mode and "stand alone" mode (with a IO card and backplane). CUBIX supports the Floppy/IDE disk controller card, and the VDU Card (6545 monochrome video, PS2 Mouse, and Keybaord, and Centronics Parallel), on the stand alone backplane. DOS/65 (6502) is supported in host mode only, and my next project in the queue is to write the drivers to support the Disk IO board and VDU board in stand alone mode. My current project is to complete a FLEX 2.0 port for the 6802 host mode (followed by a stand alone version after DOS/65 is complete). There are also plans for a FLEX09 port for both of the 6809 modes.

Most all of the N8VEM cards should work with this board, including a TMS9918 & AY-3-8910 based graphics and sound board, and a "PropIO" dual parallax propeller board.

_________________
Dan Werner


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Jan 23, 2011 6:36 pm 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
lynchaj wrote:
between the 6502 and 65C816S (RDY, pin 2) and requires a pull up resistor.


I haven't checked your circuit's schematics -- are you driving RDY with an open-drain/-collector output? If so, you can get by with just a pull-up. If you're driving it with totem-pole outputs, though, you'll want to drive the pin through a series resistor. The WAI instruction, intended to pause the CPU until the next interrupt, works by internally driving RDY low. Without the series resistor, a high level on RDY will force WAI to behave like a NOP instruction, since the CPU won't pause.

Some other things to consider:

* 6502's -SO input is a multiplexed register width output on the 65816 (the MX indicator tells external hardware how wide the accumulator and index register widths are, so that external opcode decoding/coprocessor logic can parse the instruction stream hot as the CPU fetches them). Since most logic will tie the 6502's -SO pin high, you'll end up with a short circuit as soon as the chip enters native mode and makes use of 16-bit registers. If you hardwire this pin high, make sure you do so through a current limiting resistor.

* The 6502's pin 35 (not connected) serves as an output to external logic with the 65816, indicating whether the 65816 is in 6502-emulation mode (high) or in native mode (low).

* The 6502's SYNC output is asserted only on opcode fetch; it is not asserted when fetching operands. However, the 65816 asserts VPA for all instruction stream fetches, opcodes and operands alike. If you use SYNC for any reason (e.g., hardware single-stepping support), you'll want to decode both VPA and VDA to detect when the next opcode is fetched.

Off hand, I can't think of any other potential gotchas right now. I'm sure some of the folks who made a 65816 upgrade card for their 6502 systems will be able to chime in with additional experiences to watch out for.

Quote:
Certainly any of the 6502 hobbyists are welcome to get involved.


If I had the space, time and cash to make it happen, I certainly would. Thankfully, advice is free and doesn't take valuable space on my desk, so I hope this helps anyone who steps up to contribute.


Last edited by kc5tja on Sun Jan 23, 2011 6:42 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Jan 23, 2011 6:41 pm 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
BTW, what does N8VEM stand for? I can parse it as a ham radio callsign, but I didn't see any mention of radio-related activities on the pages I browsed through. Just curious. :)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Jan 23, 2011 7:12 pm 
Offline

Joined: Sat Jan 22, 2011 6:51 pm
Posts: 11
Hi! N8VEM is my ham radio call sign. I use N8VEM as the "call home" feature on the boards since it is a unique identifier and keeps with the theme of minimal text on the PCBs. The theory is that if someday someone finds an N8VEM board they can type it into a search engine and find the mailing list and wiki since there is no chance of a name collision with some other homebrew project. Probably not the best name ever but that was the theory at the time. The N8VEM homebrew computing project has grown way more than I ever expected!

Really the only tie to ham radio is I used to enjoy building ham radio equipment like VHF transceivers, packet radios, and various other simple homebrew/built it yourself projects. The homebrew computer is kind of a follow on to the D-I-Y tradition of ham radio but not really radio-centered in any way. I would like to make a neat packet radio some day though...

Thanks and have a nice day!

Andrew Lynch


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Jan 23, 2011 9:37 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
Note that in current-productions 6502's which start at 14MHz, pin 1 of the DIP is a VP\ (vector pull) output, pin 5 is a ML\ (memory lock) output, and pin 36 is a BE (bus enable) input with a 20Meg weak pull-up to Vcc.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 10 posts ] 

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 74 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:  
cron