RetroBrew Computers Forum
Discussion forum for the RetroBrew Computers community.

Home » RBC Forums » General Discussion » Project CheapBus (My latest crazy idea)
Project CheapBus [message #5555] Mon, 19 November 2018 07:56 Go to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
For a while now I've been eyeing the RC2014 system, mainly because I thought it would be nice to be able to create board designs that take advantage of the $2 PCB specials out of China. Every time I look at the bus specs I'm a little bit underwhelmed, though. So lately I have been working on my own bus design. I call it "CheapBus" because the goal was to be able to get prototype boards for about $5 (excluding parts of course, so PCB+connector). Here's the "feature list":

- Basically a bastardized version of the ISA bus, allowing the user to take advantage of a lot peripheral chips designed for the PC compatibles
- Standard board size is 100x100mm, the usual limit for the "$2 special" from Chinese board houses. I have been using surface mount devices quite a bit lately so this should be plenty of room
- Uses a 120-pin connector that is just over $3 in single quantities. I debated on using a PCI card-edge style connector, but this would actually increase costs as the edge connector should be gold plated.
- Includes all the standard ATX voltage rails, 3.3V being nice to have for a lot of newer devices that I might want to interface to the system
- Includes a SMBus-style I2C bus. The backplane I've been working on has an ATTiny microcontroller on this bus that can monitor system voltages, control system power, etc.
- 16 data lines and 24 address lines (fully latched), can address up to 16MB.
- Has a line similar to the S100 phantom line, allowing memory mapped IO to easily overlap system memory.
- Supports controller-driven or bus mastering DMA
- Active termination at both ends of the bus

Why not just use ECB, you might ask? That's a fair question, but it doesn't have some things I'd like to have for future projects I have in mind. It won't hurt my feelings if nobody else wants to use it Laughing I have been working on the backplane first, attached is what I have so far. I may need to redesign the termination circuit... I copied it from the RetroBrew S100 backplane and the LM4250 op-amp seems hard to come by these days.

Once I finally get them manufactured, I'll have a couple extra backplane and breakout boards if anyone wants to join in the "beta test".
Re: Project CheapBus [message #5585 is a reply to message #5555] Thu, 22 November 2018 14:56 Go to previous messageGo to next message
etchedpixels is currently offline  etchedpixels
Messages: 333
Registered: October 2015
Senior Member
The ISA bus was replaced a long time ago with a thing called the LPC (low pin count) bus. That's what is used for all the ISA glue and ISA equivalent logic in PCs. It still actually lurks in some systems today. The LPC bus gets rid of a lot of the crap and nonsense on the ISA bus that almost nobody used (including the DMA, weird voltages and the like). It's a weird bus in itself so not a good model but unfortunately it means that pretty much every post 1998 useful looking single chip PC device (multi I/O etc) is actually LPC not ISA and designed to be soldered to the motherboard.

There were ISA slots or adapters on some of the Russian Z80 based ZX spectrum machines (Scorpion SMUC for example). Several of those machines were basically Z80 with minimal ISA bus.

You'd save a lot of complexity staying 8bit - the 16bit ISA bus is horrible and has some really difficult to meet timings for 16bit devices. Plus almost no device used the upper address bits so those aren't needed. The original PC cards only decoded 10bits so almost nothing else ever bothered to use higher ones. ISA is not a pretty bus. It's a product of history with 16bit support nailed on as an afterthought and even things like the clock rate not actually standards defined.

RC2014 is perhaps too simple but my dealings with ISA bus are not filled with fondness.


Alan
Re: Project CheapBus [message #5586 is a reply to message #5585] Thu, 22 November 2018 15:31 Go to previous messageGo to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
I actually started with something that looked more like the S100 bus pinout, but I kept changing things and in the end it looked a lot more like ISA. When I started looking at DMA was when it really evolved in that direction. 16-bit and DMA are part of what I wanted to play around with in this project, so I'd rather not drop those. Same thing with the address lines, memory will be on the bus so I'll need all 24. As far as timings go, I have some leeway there since I'm starting from scratch. I'm not saying you're wrong, I just don't know a better way to do it Very Happy
Re: Project CheapBus [message #5756 is a reply to message #5555] Mon, 17 December 2018 07:39 Go to previous messageGo to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
So at this point I have a functional backplane and breakout board Very Happy

Maybe someone that is more fluent in analog electronics can help me out, though. The termination circuit was copied from a classic design as seen here and here, verbatim other than using two 560-ohm resistors (one at each end of the bus) instead of 270 ohm resistors at one end of the bus. Attached is my implementation of the circuit. Powered from 12V, I can get a stable 2.7 volts out of it until I short more than two data lines to ground or pull more than two up to 5V, when it starts to go out of regulation. Seems like this circuit should be able to source or sink a lot more current than that. Am I doing something wrong?

[Updated on: Mon, 17 December 2018 07:46]

Report message to a moderator

Re: Project CheapBus [message #5760 is a reply to message #5555] Mon, 17 December 2018 20:15 Go to previous messageGo to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
Ok, I figured it out. I used the wrong footprint for the TIP29 and TIP30 transistors so they were not contributing to sourcing or sinking current. After cutting the leads and rearranging them it seems to be working as expected.

EDIT: Looks like this is a problem on the 9-slot S100 backplane as well, the TIP29 and TIP30 are BCE, not EBC

[Updated on: Tue, 18 December 2018 20:55]

Report message to a moderator

Re: Project CheapBus [message #5815 is a reply to message #5555] Thu, 03 January 2019 14:00 Go to previous messageGo to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
Continuing down this path of doing whatever the heck I want even if it isn't especially practical, I placed an order for 5 boards today:

- 8085 CPU board with an MMU allowing it to access the entire 24 bit memory space
- DRAM board, supporting a 16MB 72-pin SODIMM module
- Ethernet board with the same WIZ830MJ module I've been using on the S100 bus
- A Raspberry Pi based board that will handle console, disk, and loading the memory contents at boot (ROM and more retro-friendly disk and console can come later)
- A board that supplies a 8259 interrupt controller, 8254 timer, and DS12885 real-time clock
  • Attachment: 8085Board.png
    (Size: 107.10KB, Downloaded 615 times)
  • Attachment: DRAMBoard.png
    (Size: 99.10KB, Downloaded 573 times)
  • Attachment: Ethernet.png
    (Size: 100.57KB, Downloaded 586 times)
  • Attachment: PiBoard.png
    (Size: 117.79KB, Downloaded 544 times)
  • Attachment: PPRBoard.png
    (Size: 103.84KB, Downloaded 575 times)
Re: Project CheapBus [message #5824 is a reply to message #5555] Wed, 09 January 2019 11:07 Go to previous messageGo to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
Got some gifts from China today. It's amazing how quickly these things go from a file to a physical item in the mail.
Re: Project CheapBus [message #5932 is a reply to message #5555] Tue, 05 February 2019 14:16 Go to previous messageGo to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
Making some progress... But I found a couple screw-ups so I had to place another parts order.
Re: Project CheapBus [message #6004 is a reply to message #5555] Sat, 23 February 2019 12:48 Go to previous messageGo to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
IT'S ALIVE!!!

The only board I wasn't able to get working is the 16MB DRAM board... But I'll keep working with it. For now I have a breadboarded 512k SRAM in place while I wait on PCBs for an 8MB SRAM design.
CP/M 3 (non-banked for now) is up and running.
Re: Project CheapBus [message #6005 is a reply to message #6004] Sat, 23 February 2019 14:17 Go to previous messageGo to next message
etchedpixels is currently offline  etchedpixels
Messages: 333
Registered: October 2015
Senior Member
NiceĀ·.. although I am intrigued what you are going to do that can use 8MB on an 8085 system ?

Alan
Re: Project CheapBus [message #6007 is a reply to message #6005] Sat, 23 February 2019 15:28 Go to previous messageGo to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
Probably nothing. Laughing The CPU board has a MMU that can access the full 16MB address space, but aside from a few extra pages for CP/M it will mostly be wasted on the 8085. My plan is to build some CPU boards that can make better use of it, though, like 80286, 68030, etc. The RAM board(s) can support both 8 and 16 bit data paths.
Re: Project CheapBus [message #6008 is a reply to message #6004] Sat, 23 February 2019 18:37 Go to previous messageGo to next message
b1ackmai1er is currently offline  b1ackmai1er
Messages: 396
Registered: November 2017
Senior Member
That's an amazing amount of developement for 1 person Smile
Re: Project CheapBus [message #6274 is a reply to message #5555] Sun, 28 April 2019 08:10 Go to previous messageGo to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
So the DRAM board was a fail, at least so far. I will probably revisit that one at some point but until then I built a SRAM board that can do up to 8MB. It works well after some errata fixes.

I recently got the RTC, timer and interrupts working. Today I'm going to look at adding RTC support to my CP/M bios.
Re: Project CheapBus [message #6748 is a reply to message #5555] Sun, 10 November 2019 14:57 Go to previous messageGo to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
Since CP/M has been working fine, I'm now bringing this thing into the 16 bit era! End goal is MS-DOS compatibility with EMS memory support.

I somehow used the wrong footprint for the bus connector so it ended up on the back side of the board. I guess that means I'll have to respin this one at least once, but so far it appears to be working. Now time to write some software to support it...

[Updated on: Sun, 10 November 2019 14:59]

Report message to a moderator

Re: Project CheapBus [message #6837 is a reply to message #6748] Sun, 24 November 2019 14:36 Go to previous messageGo to next message
kkeeley is currently offline  kkeeley
Messages: 26
Registered: July 2017
Location: Melbourne - Australia
Junior Member
This looks like a really interesting project, are you planning to have the schematics and other information available for others to see.
Re: Project CheapBus [message #6838 is a reply to message #6837] Sun, 24 November 2019 15:09 Go to previous messageGo to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
kkeeley wrote on Sun, 24 November 2019 15:36
This looks like a really interesting project, are you planning to have the schematics and other information available for others to see.
I've actually been working on that part lately... https://github.com/ab0tj/MiniSys
Re: Project CheapBus [message #7333 is a reply to message #6838] Fri, 27 March 2020 10:41 Go to previous messageGo to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
Getting back to this project now that I'm stuck at home... After a simple fix to the GAL code on the 186 board it is now running code! It's funny how exciting it can be to just blink a LED. "Hello world" comes next but maybe MS-DOS as a long term goal?

[Updated on: Fri, 27 March 2020 15:59]

Report message to a moderator

Re: Project CheapBus [message #7340 is a reply to message #7333] Sat, 28 March 2020 04:37 Go to previous messageGo to next message
just4fun is currently offline  just4fun
Messages: 273
Registered: May 2017
Location: Dark side of the Moon
Senior Member
Impressive work!
I'm following your project with great interest.
Re: Project CheapBus [message #7517 is a reply to message #7340] Mon, 13 April 2020 19:00 Go to previous messageGo to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
Over the past few days I finally put together the idea I've had rolling around in my head for a MicroSD card board. What makes it different is that it uses shift registers to avoid "bit-banging" the SPI interface, hopefully providing better performance. Pictures to come when the boards arrive in the mail.
Re: Project CheapBus [message #7860 is a reply to message #5555] Thu, 09 July 2020 14:08 Go to previous messageGo to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
Just realized I owe you guys a picture of the SD board. It sat on the back burner for quite some time before I finally built it. Now to test...
Re: Project CheapBus [message #7861 is a reply to message #7860] Thu, 09 July 2020 17:03 Go to previous messageGo to next message
djmartins is currently offline  djmartins
Messages: 40
Registered: February 2018
Member
I had to add this is a pretty cool setup you are doing here.
Love to see you put info on the wiki so others could possibly design for this bus.
You had me at the word "cheap" but it looks like it can make a cool system!
Like b1ackma1ler said: "That's an amazing amount of developement for 1 person"
A mini DOS box with EMS memory.....

[Updated on: Thu, 09 July 2020 17:04]

Report message to a moderator

Re: Project CheapBus [message #7865 is a reply to message #7861] Fri, 10 July 2020 13:52 Go to previous messageGo to next message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
I'll put some info in the wiki when I can. I'm usually not great at documenting my projects, but if there's interest its worth it. My stretch goal here is to get a DOS game like Command Keen up and running on this thing, so I suppose a VGA card should be next on the list hardware-wise.
Re: Project CheapBus [message #7871 is a reply to message #7865] Tue, 14 July 2020 11:14 Go to previous messageGo to next message
bigpete is currently offline  bigpete
Messages: 7
Registered: May 2020
Junior Member
This is really cool. I see in the Github you have a 286 board. EDIT: I opened it up and see it's just a placeholder file. Are you going to try to get DOS working on the 186 first? Were you able to get that working yet or is it still in process? I'm very interested in this project and will probably attempt to build one sometime down the line.

[Updated on: Tue, 14 July 2020 13:00]

Report message to a moderator

Re: Project CheapBus [message #7885 is a reply to message #7871] Thu, 23 July 2020 15:19 Go to previous message
ab0tj is currently offline  ab0tj
Messages: 70
Registered: October 2015
Location: Colorado
Member
I actually started the 286 board first (there's a schematic but I don't remember how complete it is), but decided to get a 186 board up and running in order to test 16 bit compatibility instead. The 80C186EB CPU is much easier to interface than the 286. Currently I'm working with the SD card board and once that is tested I'll start on trying to port a BIOS to this system in order to get DOS up and running. This has been a project I tend to work on in sprints and then ignore it for a few months Very Happy
Previous Topic: Xilinx multicomp and 68K multicomp
Next Topic: Looking for a good home to some boards, systems, parts, etc.


Current Time: Sat Mar 15 20:29:31 PDT 2025

Total time taken to generate the page: 0.00781 seconds