• Please review our updated Terms and Rules here

Questions about S-100

Joined
Sep 6, 2019
Messages
12
I'm just starting to learn about S-100 computers, and I had a few questions. (And I have seen www.s100computers.com)

Is it reasonably possible, using certain combinations of cards, to build a system that is compatible with various early 8 and 16 bit commercial systems?

For example, could I get a 6502 card, memory card, keyboard io card, and storage io card and use it to run Apple II software? Then could I install a (theoretical) video processor card with an ANTIC chip, switch a bunch of dip switches, and run Atari 8-bit software? Same question goes for VIC-20 and a 6560 video processor card, etc.

I would also be interested in the same sort of thing, but applied to some interesting z80 systems (MSX2 comes to mind, I know the S-100 website has a schematic for an MSX video card), as well as 68k systems (Atari ST, and any sort of 68k mac).

OSes of interest include any variant of 68k Unix, SymbOS, TOS, CP/M, Mac OS, Fuzix, Atari DOS.

I'm basically looking for something that's a combination of:
* The philosophy of the Commander X16 (ie not using any FPGAs or emulation if at all possible, and using new production chips if at all possible).
* The modularity of the S-100.
* Collecting my favorites of the 8 and 16 bit home micros (but not taking actual vintage systems off the market).

I don't mind soldering all my own boards, designing pcbs, etc. (Although I would prefer to avoid soldering QFP if possible, I realize for the memory board and for certain specialized chips this probably can't be avoided.)

Finally, I wouldn't mind using FPGAs to replicate certain rare or out of production video chips, if it came down to it.

What exactly is possible in this realm?
 
My understanding of the S-100 is that you might be able emulate an Apple II or TRS-80 on an S-100 if you obtained the software (ROMs) from the original Apple/Tandy machines but advanced graphics is not really what the S-100 normally does. I would recommend that you look into the "Mister FPGA" project that emulates many legacy machines like you listed above on the FPGA core. It would be a heck of a lot cheaper too. But note that the "Mister" development boards are hard to come by and expensive ($200-$300) right now due to the world wide chip shortage. Search on YouTube for Mister for more information.
>> Charles
 
The S-100 bus was developed to run a 8080 CPU with related software, later boosted to Z80 CPU's. Mostly, but not limited to using CPM-80 as the OS. Other OS's were (are) used too. Over the years many advances to the hardware allowed newer Intel CPU's to use the bus and using MSDOS. Even DEC PDP-11 cards are available emulating the DEC computers. Some limited 6800 and maybe 68000 CPU development happened. But I don't think a mass produced 6502 card exits. At no time was emulating Apple II, TRS-80 or other home consumer computers a driving factor with the S-100 bus. You much more likely to find a VGA/HDMI video card than a Apple video card. Perhaps one or two people set out to reproduce a home system, but that would take a lot of work to do on your own today.
 
FWIW, it's also possible to use S100 as a 16-bit bus with 16 MB addressing space. See IEEE 696-1983. That doesn't mean that all the fancy features are supported by all vendors. 696 came very late in the lifetime of S100.
 
There have been a number of interesting SBC's that have come out in the S-100 bus form:
Here is one:


Also there are graphics cards and memory cards too. So you could cobble together a fairly advanced system which would be more or less compatible with other computer types, yet still be in the modular S-100 form.
 
At no time was emulating Apple II, TRS-80 or other home consumer computers a driving factor with the S-100 bus.

FWIW, S-100 TRS-80 clones weren't that uncommon; here are two examples. Of course the distinguishing features separating a TRS-80 from a CP/M-capable Z-80 machine mostly just boil down to memory map, so it was pretty trivial to build one out of almost entirely off the shelf cards.

(An Apple II, by contrast, would be a massive, massive PITA to try to shoehorn into an S100 bus. Not going to say it'd be impossible, because there certainly were video cards for S100 that did DMA from system memory vaguely similarly to how the Apple does, but the challenges the 8080-centric quirks of the S100's bus structure already impose on the 6502 would make it a really awkward fit )

Usually these clones used a custom card to implement the TRS-80-specific logic like the keyboard interface/cassette port/ROM, and maybe a second card holding a specifically TRS-80-compatible disk controller. The TRS-80's video system was *very close* to being a straight-up clone of the Polymorphic Systems VTI or Solid State Music VB1B video boards, so one of those plus a Z-80 CPU and apropos RAM card gets you almost all the rest of the way there
.
(It might seem a little backwards to turn an S100 machine into a TRS-80, but considering just how crazy popular the Radio Shack systems were it makes a fair amount of perverted sense if you already happened to have an S100 chassis and weren't extensively invested in CP/M. I don't *think* anyone ever commercially sold a TRS-80-logic S100 card, but I'd wager that's only for legal reasons. I've actually fantasized about making my first S100 project building a card to convert my Northstar Horizon into an ad-hoc TRS-80.)
 
At no time was emulating Apple II, TRS-80 or other home consumer computers a driving factor with the S-100 bus.
Oh yes, I definitely understand that going into it. That's why I think this could be interesting...S-100 wasn't designed for building a system compatible with the 8 and 16 bit home micros, but unless the S-100 standard has some sort of flaw that I'm not seeing, it seems like it could work for this purpose. (With reverse engineering of all the proprietary sound, video, and other ASICs of course)

A 6502 S100 board is already a solved problem:

I would just have to figure out the video side of things, which from here:

Doesn't look like it uses any rare out of production chips.
 
FWIW, it's also possible to use S100 as a 16-bit bus with 16 MB addressing space. See IEEE 696-1983. That doesn't mean that all the fancy features are supported by all vendors. 696 came very late in the lifetime of S100.

This is one reason this is appealing...16 bit data bus, 24 bit address bus...the high end of the home systems I want to try and build a compatible system for.

I could start with a 16 MB memory board, then just use a subset for most systems. Disk IO board to a single micro sd card slot to keep things simple, peripheral IO board for a mouse and keyboard.

Then maybe start with these:

and get Doom running, then add these:

and get Vampire Killer running. That would be the starting point.

It's pretty crazy, the S-100 site even talks about running multiple different processors in parallel. I mean I know the Sega Genesis does that, and I know the software doesn't exist for probably any combination I can think of, but how cool is that?
 
This is one reason this is appealing...16 bit data bus, 24 bit address bus...the high end of the home systems I want to try and build a compatible system for.

I could start with a 16 MB memory board, then just use a subset for most systems. Disk IO board to a single micro sd card slot to keep things simple, peripheral IO board for a mouse and keyboard.

Then maybe start with these:

and get Doom running, then add these:

and get Vampire Killer running. That would be the starting point.

It's pretty crazy, the S-100 site even talks about running multiple different processors in parallel. I mean I know the Sega Genesis does that, and I know the software doesn't exist for probably any combination I can think of, but how cool is that?

You are actually best to start with building the Z80 master CPU, the 16MB RAM board, the "Propellor based system console" board, and the latest V4 version of the CF/IDE board. The reasons for this are:
- the 80486 board is designed to run as a slave processor. You first need to boot the S100 system using the Z80 master CPU, and then use the Z80 master CPU monitor program to swap in the 80486 processor. While the web site indicates that in theory the 80486 board can function as a bus master, the reality is that with the current instructions provided it will not work properly as a bus master.
- the "Propellor based system console board" is invaluable to have as a board that (a) the Z80 master monitor can use to help you bring up the system and (b) to troubleshoot your building of the 80486 and MSDOS support boards.
- the boot ROM on the MSDOS support board is designed to boot MSDOS (and read/write files) from the CF card on the CF/IDE board

I have built this entire series of boards, and ultimately yes it does boot MSDOS up to version 4.1. The PC BIOS provided on the MSDOS support board is an incomplete implementation, and what I (and others) have not extensively tested is extent of this system's compatibility with software designed for a "real" PC or 100% clone.

With regard to the "talk" on the S100Computers.com web site about running multiple processors in parallel - yes, that was actually implemented by a couple of companies that were originally in the business (like CompuPro). It is not possible with the "new design" boards currently listed on the S100Computers.com web site.
 
Building a backplane bus based Apple II will be difficult because most of the components can't really be separated from the processor and system memory over a single bus. Many parts of the Apple II are designed to work closely together. Take for instance the interleaved access of the system ram for video output and RAM refresh. As Eudimorphodon already mentioned, this won't easily work across a shared system bus. The best you could likely do is have is have all of the system memory and the graphics components on one board. Hardware access to components like the Disk II are fundamental to running most Apple II software, so you really can't use a generic S-100 bus storage I/O card with much success. So, while I could envision a 6502 card and another card for "the rest of the apple II", it would get very difficult to try to split it up much further.

Next, I don't know that the S-100 bus is a good choice to start working with unless you are focused on 8080 or Z80. If you are already invested in that bus, making new cards is probably an entertaining hobby. But I don't know that I would start with it for what you are envisioning.

If you are just focusing on the 6502, the Motorola EXORbus is better suited for 6800 bus type processors. There are already 6502 processor cards for it and plenty of standard IO cards.

The RC2014 might be a better candidate for what you are trying to do, since it is quite cheap to build up and prototype new cards. There are already a lot of vintage systems that are emulated on that bus and there is a fairly active community. But, it too was originally designed for the 8080-like processors, specifically the Z80.

So really, unless your hobby is building up glue logic for S-100 bus and driver software for everything, I don't know that this would be a very rewarding route to take.
 
Back
Top