65XX SBC general help and color display help needed

Building your first 6502-based project? We'll help you get started here.
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: 65XX SBC general help and color display help needed

Post by BigDumbDinosaur »

GARTHWILSON wrote:
I know BDD gave a link somewhere to a product that gives a set of RS-232 ports to modern PCs that came without them, and has the driver software. It might have been startech.com or sealevel.com . It probably needs a desktop PC that you can put cards into, rather than a laptop.
Serial port adapters are available from startech.com. I saw mention of only having PCI-E slots in the PC. Here's a link to Startech's PCI-E serial port adapters. I have one of these in my desktop workstation. Startech also carries them in PCI for those who have PCI slots in their machines.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
backspace119
Posts: 346
Joined: 25 Jan 2019
Location: Knoxville, TN

Re: 65XX SBC general help and color display help needed

Post by backspace119 »

BigDumbDinosaur wrote:
GARTHWILSON wrote:
I know BDD gave a link somewhere to a product that gives a set of RS-232 ports to modern PCs that came without them, and has the driver software. It might have been startech.com or sealevel.com . It probably needs a desktop PC that you can put cards into, rather than a laptop.
Serial port adapters are available from startech.com. I saw mention of only having PCI-E slots in the PC. Here's a link to Startech's PCI-E serial port adapters. I have one of these in my desktop workstation. Startech also carries them in PCI for those who have PCI slots in their machines.
Geez those are a bit pricey. I think I'll stick with USB to TTL for now. Another issue is that I'm planning a second GPU for my workstation to be dedicated to my main monitor, which would also let my 4th monitor have HDR (it's currently run over HDMI, which doesn't support 4k HDR). When I do this, the second GPU will be either in the slot right below or 2 slots below my current one, the latter being the bottom slot of the board. The way that I have water cooling set up in the case makes the PCI-E slots above the top GPU rather unusable because there's a soft tube going from the CPU block to the top GPU there. They may fit underneath it whenever I do look into getting a dedicated serial port, but I'll have to check clearances, or redsign my tubing. The main reason I would *eventually* want a dedicated serial connection would be for a long reach RS-232 cable, so I could locate the 65xx computer a little bit away from my already very crowded desk. (and only when I'm needing it connected to the PC for something, as I plan on having it run standalone in most scenarios).
Chromatix
Posts: 1462
Joined: 21 May 2018

Re: 65XX SBC general help and color display help needed

Post by Chromatix »

Many PC m/boards still have an RS-232 header built in, and only need a cable to a DB-9 port to make it usable. Check your manuals.
backspace119
Posts: 346
Joined: 25 Jan 2019
Location: Knoxville, TN

Re: 65XX SBC general help and color display help needed

Post by backspace119 »

Chromatix wrote:
Many PC m/boards still have an RS-232 header built in, and only need a cable to a DB-9 port to make it usable. Check your manuals.
Do you know what the header would look like? The manual is quite long, and most of it is related to the UEFI. (I'll be checking it regardless, but I do sort of doubt it has it, as most of the IO is now on the CPU die on this board, the north bridge only really serves USB (and possibly SATA))
Chromatix
Posts: 1462
Joined: 21 May 2018

Re: 65XX SBC general help and color display help needed

Post by Chromatix »

There's usually a couple of pages dedicated to pointing out and naming every connector on the board. It should be visible in that. Physically, it'll probably look similar to a USB header; to accept an IEC ribbon cable plug.

I've attached extracts from one of my own m/board's manuals to illustrate this (MSI B350M Mortar).
Attachments
Screenshot 2019-02-14 05.27.18.png
Screenshot 2019-02-14 05.27.06.png
backspace119
Posts: 346
Joined: 25 Jan 2019
Location: Knoxville, TN

Re: 65XX SBC general help and color display help needed

Post by backspace119 »

Chromatix wrote:
There's usually a couple of pages dedicated to pointing out and naming every connector on the board. It should be visible in that. Physically, it'll probably look similar to a USB header; to accept an IEC ribbon cable plug.

I've attached extracts from one of my own m/board's manuals to illustrate this (MSI B350M Mortar).
Ya I went through that part of the manual (had to get it online, couldn't find my box) and it's got nothing like that. I didn't remember seeing anything extra the first go around, USB headers is all it has in the way of IO (even has USB C header for a front panel USB C). That's a drawback of some of the new chipsets, a lot of IO is being done on die, and isn't really brought out to the board much (the new Epyc server chips from AMD do *all* IO on die, and have no chipset, the board essentially just provides wiring to various peripherals straight to the CPU).

EDIT: I suppose I should link the datasheet in case anyone wants to double check me, it's the MSI X399 carbon AC Pro board
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: 65XX SBC general help and color display help needed

Post by BigDumbDinosaur »

backspace119 wrote:
BigDumbDinosaur wrote:
GARTHWILSON wrote:
I know BDD gave a link somewhere to a product that gives a set of RS-232 ports to modern PCs that came without them, and has the driver software. It might have been startech.com or sealevel.com . It probably needs a desktop PC that you can put cards into, rather than a laptop.
Serial port adapters are available from startech.com. I saw mention of only having PCI-E slots in the PC. Here's a link to Startech's PCI-E serial port adapters. I have one of these in my desktop workstation. Startech also carries them in PCI for those who have PCI slots in their machines.
Geez those are a bit pricey. I think I'll stick with USB to TTL for now.
Well, you get what you pay for. If you purchase cheap stuff...

Do you want it to work or are you okay with a half-baked "solution" that gives you more problems to solve?

Incidentally, considering what you paid for the (overpriced, in my opinion) MSI motherboard and the MPU, I'd think the cost of a reliable serial interface adapter would be trivial.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
backspace119
Posts: 346
Joined: 25 Jan 2019
Location: Knoxville, TN

Re: 65XX SBC general help and color display help needed

Post by backspace119 »

BigDumbDinosaur wrote:
backspace119 wrote:
BigDumbDinosaur wrote:
GARTHWILSON wrote:
I know BDD gave a link somewhere to a product that gives a set of RS-232 ports to modern PCs that came without them, and has the driver software. It might have been startech.com or sealevel.com . It probably needs a desktop PC that you can put cards into, rather than a laptop.
Serial port adapters are available from startech.com. I saw mention of only having PCI-E slots in the PC. Here's a link to Startech's PCI-E serial port adapters. I have one of these in my desktop workstation. Startech also carries them in PCI for those who have PCI slots in their machines.
Geez those are a bit pricey. I think I'll stick with USB to TTL for now.
Well, you get what you pay for. If you purchase cheap stuff...

Do you want it to work or are you okay with a half-baked "solution" that gives you more problems to solve?

Incidentally, considering what you paid for the (overpriced, in my opinion) MSI motherboard and the MPU, I'd think the cost of a reliable serial interface adapter would be trivial.
I actually didn't pay for the board, the company I was working for did, it was the cheapest motherboard that would accept a threadripper processor at the time (and I believe it still is). I'm a little bit confused though, I thought the USB to TTL setup was fairly standard and reliable. I had originally planned on 2 RS-232 serial ports, but I was convinced by people here that running my second UART channel on USB to TTL would be better, since it would keep cost low for the initial setup and use of the machine (and I can always use the serial port later for connecting it to a PC or talking to a peripheral). In truth, my reaction to it being expensive was more at the ones that are >$100, the $50 one isn't that bad, it's just not what I was expecting for a card like that. You are right though, I've had more than one headache related to USB to serial converters on boards that were cheap and had bad drivers (my CNC board is a prime example, the machine was very cheap, and the board reflects that, with a cheap serial converter that causes problems if not used in a very particular fashion).

Should I be considering rs-232 as a necessity from the beginning here?
User avatar
Arlet
Posts: 2353
Joined: 16 Nov 2010
Location: Gouda, The Netherlands
Contact:

Re: 65XX SBC general help and color display help needed

Post by Arlet »

I have not used a "real" RS-232 card in a long time. Only USB.

Yeah, occasionally you may have a problem with a cheap USB-serial converter, but you're not building a launch controller for an ICBM. It's a hobby project. If the USB-serial doesn't work, you unplug it, put it back in, and continue with your work. If that happens too many times, throw it away and get another brand.

If you get a genuine FTDI controller, you'll rarely have problems.
backspace119
Posts: 346
Joined: 25 Jan 2019
Location: Knoxville, TN

Re: 65XX SBC general help and color display help needed

Post by backspace119 »

Arlet wrote:
I have not used a "real" RS-232 card in a long time. Only USB.

Yeah, occasionally you may have a problem with a cheap USB-serial converter, but you're not building a launch controller for an ICBM. It's a hobby project. If the USB-serial doesn't work, you unplug it, put it back in, and continue with your work. If that happens too many times, throw it away and get another brand.

If you get a genuine FTDI controller, you'll rarely have problems.
That's what I've heard before, I think the CH340G chip that I find in a lot of cheap devices is what causes the most issues, or possibly just the implementation of that chip causes the issue, because some devices I've had with it work fine, but other things (the CNC board) have many problems.
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: 65XX SBC general help and color display help needed

Post by BigDumbDinosaur »

backspace119 wrote:
Should I be considering rs-232 as a necessity from the beginning here?
I think you should be considering it as a core design feature. It's not a particularly difficult feature to integrate, especially if you do a little planning before you start on more exotic features, such as color display, etc. I'm sure Garth will chime in on this, but I'll try to explain why.

TIA-232 (RS-232) is unquestionably one of the most flexible of system-to-system interfaces available. I can't count how many times I have gotten disparate systems to talk to each other using nothing more than a basic, three-wire TIA-232 hookup. Support for TIA-232 is pervasive in the computer world—virtually any system can be adapted to TIA-232, either with already-present hardware or with a plug-in card. And when I say "systems," I'm not referring just to computers. Most machines found in tool rooms and production environments have at least a TIA-232 port and many also have TIA-485 ports. We (my company) have done a ton of connectivity in such environments, setting up machines into "networks" that can be controlled from any computer with a TIA-232 or TIA-485 port.

In the hobby computer environment, I consider TIA-232 support to be a de rigueur feature, if for no reason other than TIA-232 being one of the few computer connectivity schemes that has remained relatively unchanged since its inception (in the 1960s). If you have a TIA-232 port on your hobby machine you have a simple and reliable means of connecting your machine to the world-at-large, without having to get involved with a complicated and opaque interface like USB (despite the name, USB is hardly "universal" in nature) or a resource hog such as Ethernet. Unlike USB, TIA-232 works the same regardless of the system on which it is used, truly making it "universal."

Something else to consider is the TIA-xxx family of serial interfaces can operate reliably over considerable distance. TIA-232 through CAT3 or CAT5 UTP running at 115.2 Kbps is reliable to at least 100 meters (same as Ethernet). TIA-485 is reliable out to at least 1200 meters at speeds approaching a megabit per second. I have extended TIA-232 to several city blocks using a pair of short-haul modems, and did a TIA-485 shop network in a Chicago paint factory with an aggregate length of 44,000 feet, using nothing more than CAT5 UTP and some simple powered repeaters. In practical terms, it means you don't have to be careful about cable lengths with your hobby setup when using TIA-232. If your hobby machine is on one side of the room and the PC to which it is connected is on the other side of the room it's not a problem. Contrast that with the five meter cable length limit of USB 2.0...and five meters is pushing it.

All of my POC units have multiple TIA-232 ports, one of which is the console connection and another which is used to transfer data over from my Linux software development rig (it has 16 TIA-232/TIA-485 ports). My console is an old WYSE thin client set up with WYSE 325 emulation, and running the serial port at 115.2 Kbps, the maximum speed supported by the thin client. Serial hardware in the POC units is based upon the NXP 28L92 DUART—one in the POC V1 series and two in POC V2.1 and V2.2 (currently undergoing development). TIA-232 support is so basic to my units it is completely encapsulated in the firmware, using interrupt-driven code, complete with standardized APIs for receiving and sending data via serial interface.

Speaking of connectivity, my POC units also have SCSI, which like TIA-232 is a relatively old standard (c. 1979). The SCSI protocol is complex but thanks to the availability of SCSI ASICs, such as the AMD/NCR 53CF94, it proved to be relatively easy to implement. Having SCSI obviously opens the door to lots of mass storage. However, it's the TIA-232 links that give me connectivity to the outside world. In fact, with four serial ports on POC V2.2, I can connect a serial printer with ease—driving such a printer is no more difficult than driving any other TIA-232 device. I can even connect a modem, although I currently have no plans to do so.

So my point is this: TIA-232 makes a lot of sense in a mixed systems environment, as TIA-232 is the same no matter what is being connected. Can you say that about USB? Also, you can readily connect one TIA-232 system to another with nothing more than some telephone wire or even doorbell wire (I've seen it, it wasn't pretty, but it did work at 9600 bps). Can you do that with USB? TIA-232 is resistant to noise and the line drivers are quite tolerant of connection boo-boos that would knock out other interfaces. TIA-232 support seems to be a no-brainer to me. :D
x86?  We ain't got no x86.  We don't NEED no stinking x86!
backspace119
Posts: 346
Joined: 25 Jan 2019
Location: Knoxville, TN

Re: 65XX SBC general help and color display help needed

Post by backspace119 »

BigDumbDinosaur wrote:
backspace119 wrote:
Should I be considering rs-232 as a necessity from the beginning here?
I think you should be considering it as a core design feature. It's not a particularly difficult feature to integrate, especially if you do a little planning before you start on more exotic features, such as color display, etc. I'm sure Garth will chime in on this, but I'll try to explain why.

TIA-232 (RS-232) is unquestionably one of the most flexible of system-to-system interfaces available. I can't count how many times I have gotten disparate systems to talk to each other using nothing more than a basic, three-wire TIA-232 hookup. Support for TIA-232 is pervasive in the computer world—virtually any system can be adapted to TIA-232, either with already-present hardware or with a plug-in card. And when I say "systems," I'm not referring just to computers. Most machines found in tool rooms and production environments have at least a TIA-232 port and many also have TIA-485 ports. We (my company) have done a ton of connectivity in such environments, setting up machines into "networks" that can be controlled from any computer with a TIA-232 or TIA-485 port.

In the hobby computer environment, I consider TIA-232 support to be a de rigueur feature, if for no reason other than TIA-232 being one of the few computer connectivity schemes that has remained relatively unchanged since its inception (in the 1960s). If you have a TIA-232 port on your hobby machine you have a simple and reliable means of connecting your machine to the world-at-large, without having to get involved with a complicated and opaque interface like USB (despite the name, USB is hardly "universal" in nature) or a resource hog such as Ethernet. Unlike USB, TIA-232 works the same regardless of the system on which it is used, truly making it "universal."

Something else to consider is the TIA-xxx family of serial interfaces can operate reliably over considerable distance. TIA-232 through CAT3 or CAT5 UTP running at 115.2 Kbps is reliable to at least 100 meters (same as Ethernet). TIA-485 is reliable out to at least 1200 meters at speeds approaching a megabit per second. I have extended TIA-232 to several city blocks using a pair of short-haul modems, and did a TIA-485 shop network in a Chicago paint factory with an aggregate length of 44,000 feet, using nothing more than CAT5 UTP and some simple powered repeaters. In practical terms, it means you don't have to be careful about cable lengths with your hobby setup when using TIA-232. If your hobby machine is on one side of the room and the PC to which it is connected is on the other side of the room it's not a problem. Contrast that with the five meter cable length limit of USB 2.0...and five meters is pushing it.

All of my POC units have multiple TIA-232 ports, one of which is the console connection and another which is used to transfer data over from my Linux software development rig (it has 16 TIA-232/TIA-485 ports). My console is an old WYSE thin client set up with WYSE 325 emulation, and running the serial port at 115.2 Kbps, the maximum speed supported by the thin client. Serial hardware in the POC units is based upon the NXP 28L92 DUART—one in the POC V1 series and two in POC V2.1 and V2.2 (currently undergoing development). TIA-232 support is so basic to my units it is completely encapsulated in the firmware, using interrupt-driven code, complete with standardized APIs for receiving and sending data via serial interface.

Speaking of connectivity, my POC units also have SCSI, which like TIA-232 is a relatively old standard (c. 1979). The SCSI protocol is complex but thanks to the availability of SCSI ASICs, such as the AMD/NCR 53CF94, it proved to be relatively easy to implement. Having SCSI obviously opens the door to lots of mass storage. However, it's the TIA-232 links that give me connectivity to the outside world. In fact, with four serial ports on POC V2.2, I can connect a serial printer with ease—driving such a printer is no more difficult than driving any other TIA-232 device. I can even connect a modem, although I currently have no plans to do so.

So my point is this: TIA-232 makes a lot of sense in a mixed systems environment, as TIA-232 is the same no matter what is being connected. Can you say that about USB? Also, you can readily connect one TIA-232 system to another with nothing more than some telephone wire or even doorbell wire (I've seen it, it wasn't pretty, but it did work at 9600 bps). Can you do that with USB? TIA-232 is resistant to noise and the line drivers are quite tolerant of connection boo-boos that would knock out other interfaces. TIA-232 support seems to be a no-brainer to me. :D
It is to me too, which is why I wanted to have at least one on my machine. I too am using the 28L92, I actually followed your guide on interfacing it to rs-232. I originally had a MAX 238 to drive 2 connections, but as I said I was advised to do one and do the other uart on ttl-usb, since ftdi cables are considerably cheaper than rs232 to USB cables are (or so I'm told). It also saved a bit of board space by only having one.

I've got plans for a work horse computer after this one, I'll be working on a cpld to do a lot of special functionality for it, this machine, although fairly versatile, is still going to end up being a retro gaming/computing platform.

In my next one, I may just stack a bunch of rs232 together to give it lots of interconnectivity, as I have a lot of plans for tasks I could have it do.
whartung
Posts: 1004
Joined: 13 Dec 2003

Re: 65XX SBC general help and color display help needed

Post by whartung »

BigDumbDinosaur wrote:
Something else to consider is the TIA-xxx family of serial interfaces can operate reliably over considerable distance. TIA-232 through CAT3 or CAT5 UTP running at 115.2 Kbps is reliable to at least 100 meters (same as Ethernet). TIA-485 is reliable out to at least 1200 meters at speeds approaching a megabit per second. I have extended TIA-232 to several city blocks using a pair of short-haul modems, and did a TIA-485 shop network in a Chicago paint factory with an aggregate length of 44,000 feet, using nothing more than CAT5 UTP and some simple powered repeaters. In practical terms, it means you don't have to be careful about cable lengths with your hobby setup when using TIA-232. If your hobby machine is on one side of the room and the PC to which it is connected is on the other side of the room it's not a problem. Contrast that with the five meter cable length limit of USB 2.0...and five meters is pushing it.
And then, of course, there's yahoo cowboys like my friend. I was helping him out when we were tasked with running the wires at a new installation from a mini to the various terminals and printers and what not. At the time, we were using simple phone cable (you know, that round, beige stuff with, what, 5 wires?, that you can (could) get at Radio Shack -- which is probably where we bought it).

The notable case was stringing the cable from the mini to the far printer, in another room, where the cable, at one point, was supported by being routed over a fluorescent light fixture!!!

I'm pretty sure they were lucky to get 1200 Baud out of that line.
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: 65XX SBC general help and color display help needed

Post by BigDumbDinosaur »

whartung wrote:
And then, of course, there's yahoo cowboys like my friend. I was helping him out when we were tasked with running the wires at a new installation from a mini to the various terminals and printers and what not. At the time, we were using simple phone cable (you know, that round, beige stuff with, what, 5 wires?, that you can (could) get at Radio Shack -- which is probably where we bought it).
Sounds like you were using station-D cable which is usually two pairs: red/green and black/yellow. Depending on the hardware, you can get away with 9600 bps with station-D, using XON/XOFF handshaking. Back when we used to set up serial ports with our UNIX servers we'd use either CAT3 or CAT5 UTP (whatever was laying around in the shop) with full hardware handshaking. This arrangement was generally reliable out to 100 meters at 115.2 Kbps. The scheme I developed used two ground leads centered in the 8P8C connector, which made it possible to get a three-wire hookup working when some sort of monkey-rigged connection was needed.
Quote:
The notable case was stringing the cable from the mini to the far printer, in another room, where the cable, at one point, was supported by being routed over a fluorescent light fixture!!!

I'm pretty sure they were lucky to get 1200 Baud out of that line.
TIA-232 is unbalanced to ground, so it's not immune to EMI or GPPI effects. However, the voltage swings that are typical of TIA-232 are surprisingly tolerant of noise. TIA-485, on the other hand, is amazingly resistant to noise problems. We'd often run TIA-485 cables through switchgear cabinets that controlled 100+ HP repulsion-induction motors and would never have any reliability issues with the huge transients generated by starting such motors.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
backspace119
Posts: 346
Joined: 25 Jan 2019
Location: Knoxville, TN

Re: 65XX SBC general help and color display help needed

Post by backspace119 »

So I've decided that I'm going to switch this design back to a static clock, possibly with one of the variable clock chips, but not using them for a variable clock (at least not at the moment). I want to send the board off today to be made, and order the parts I need to build it today or over the weekend (they'll get here faster anyway). From here on, on this particular device that is, I'm going to focus just on getting it built and programmed, and then focus on video/audio to hopefully have them done by March 25th. I've already got another machine planned that I'm going to make more of a work horse than this one, and I'm going to use something else to provide SPI, since the 65SPI is dead currently, and only a few chips are still floating around.

The next machine I'll very likely be using CPLDs for the glue logic, and possibly wait state generation (and hopefully I can make a new 65SPI type thing for it as well, we'll see if I can figure it out). I'm also probably going to use more SMD chips on the next one, and get some setup for mounting those (either a paste dispenser or a stencil).

I'm going to keep this thread going since this project is continuing on (and will get back to hardware design with video and audio when I get to them). But as of today my main focus is getting this design ready to be sent to the fab. If I'm going to keep the wait states, that means qualifying them correctly and sending them to the right places (WS1 isn't sent to any IO yet, as I wasn't sure which IO would need it, I know now that at least the DUART needs it, and possibly more)
Post Reply