• Please review our updated Terms and Rules here

A New S-100 Bus SVAG Video Board

monahan_z

Experienced Member
Joined
Oct 19, 2008
Messages
263
Location
San Ramon, CA
For those interested in S-100 Bus systems and corresponding CPM software, Andrew Lynch & I (John Monahan) have just finished constructing a new SVAG video prototype S-100 board. For those interesting in a better S-100 video display you might want to take a look at this board. It is capable of displaying a very crisp 100 characters per line. It is based on the LAVA-10 video chip set. This is a Xilinx Spartan 3 FPGA module. Please see here for more details:-

http://s100computers.com/My System Pages/Lava-10 Board/LAVA-10 Board.htm

Enjoy
 
Well at least now its clear why some pretty vocal opponents of FPGA and SMT use in N8VEM projects were suspiciously quite in the last debate. The Pandora's box just got opened.

Btw the ucVGA-II controllers from www.4dsystems.com.au might have been a more full featured and easier to integrate choice.

I've always maintained RTL soft ASICs have always been the destined way to replace vintage ICs. However for a project the seeks to recreate a new incarnation of the old, it's a pretty radical departure.

Just my $.02. Nice work on the board though.

PS There are so many open source VGA projects out there on programmable devices you could have used. I don't beleive the LAVA 10 is among them. I'll gladly front a project to build and distribute an open hardware alternative to the LAVA if you are interested.
 
Last edited:
Not so fast.

The PCB design is still hobbyist friendly DIP PTH 2-layer PCB technology. The Mylium LAVA-10 is a module you get separately that is already fully assembled component. You just plug it in to the board. It is similar to the USB or voice modules you'd plug into the S-100 Serial IO board.
 
What I don't get is there's been an active objection to using simple 16V8/22V10s which only require the same tools as the EEPROMs on the same board to program. They would replace tons of 74xx logic. Objections range from they aren't historical period (Vs aren't - but Rs & Ls are), to it's not in the spirit of the project, to this citation from the N8VEM FAQ written by you:

"Custom programmable devices (except for boot EPROM) such as GALs, PALs, FPGAs, etc are out as those devices are difficult for many hobbyists to get without the special tools required to program them."

Granted the LAVA 10 doesn't apply specifically as it comes pre-programmed. I just find it odd that just because a commercial company packages a pre-programmed and assembled but otherwise objectionable solution together, it's ok? I'm fairly certain that if I started selling pre-programmed 22V10s as a custom "N8VEM address decoder and wait state generator IC", many people, including you, would have a problem replacing a dozen 74xx chips with it at an ideological level.

I'm 100% behind what you've done with the SVAG board. And I realize its a temporary solution to a bigger problem. However make no mistake the LAVA 10 board is just a general purpose +3.3V FPGA module that has nothing to do with video output other than what it happens to come pre-programmed with from Mylium. It doesn't even have the DAC on board. It's a slippery slope to stand-on and I feel it needs some clarification and specific direction from the N8VEM project leaders like you and John and open discussion amongst the members.

It would be nice if these sorts of possibilities are now open and the SVAG board becomes more than just a stop-gap until the intended VGA solution materializes, to start a sub-project within N8VEM to essentially remake it with more altruistic goals: 100% open source/hardware design, LDO and I/O level translators built in maintaining DIP form factor, and perhaps a more discrete focus towards emulating a period video ASIC at an RTL level (baseline VGA perhaps).
 
Nice work.

I think that module is the perfect thing if you're trying to make something that's suitable for those who aren't comfortable with SMT. Getting complex functions in through-hole is getting well-nigh impossible nowadays. Fortunately, there are vendors who offer solutions.

For example, here's a way of dealing with the 32-bit PIC (MIPS architecture) The great part is that the bare boards are inexpensive and allow for a programming header right on the board.
 
Thanks for the feedback guys, A few comments. Eeguru, I looked at the 4DSyatems module and in fact had first intended to use that unit. However I read on the web twice/independently (sorry I no longer have the source) that support from 4D was very poor. The unit is VGA and not SVGA resolution and is quite slow for text, particularly scrolls. Instantaneously BTW, on the Lava-10.

Frankly I see this board as just a fancy fast CRT terminal and not really S-100 video board in the true sense. My thinking (FWIW) is for I/O, be it speech, USB, Internet, Video/CRT on the S-100 bus use whatever modules are available and practical for most users. My focus going forward will be on memory (Gigabytes) and CPU’s on the bus. This I intend to do as much as I can with 74Fxxx etc. chips. Since that is what most users are familiar with. That way you really get to understand how these CPUs work. Just finished the 6502, 68K and 80286. Starting on 80386. Next ARM CPU’s.

Back to Video, I am actually trying to get a Cirrus GD 5420 true SVAG memory mapped video board working. This one has really been difficult. No success so far. But I have a few more options.
If interested you can see Andrew and my early efforts here:-

http://s100computers.com/My System Pages/VGA Board/VGA Board.htm

Sure could use some help from somebody that knows that chip.
 
Actually that's what I have been working from Chuck. It's 8 bit I have been using 16 bits. Now that we have an 8088 S-100 board I will retry with an 8 bit interface. My problem is I don't know/have an absolutly minimal piece of code that will allow me to setup/configure the Cirrus chip and just say put one character on the screen. I am using an unknown (to me) BIOS ROM from an ISA board containing the chip. In theory this should be OK. The BIOS/board works fine in an old 386 PC motherboard. I using an S-100 80286.
 
Since all the CL chips are SMT, why not take a Spartan, XP2, or Cyclone and put an OpenCores.org VGA controller in it and use it instead? It's a renewable source of parts and extendable. I would have started on such a project, however it had been clear N8VEM wouldn't have been interested. It's not too late to go down that road. Could add on-board HDMI/DVI out too.
 
Wrong.

The CL GD5420 chip is mounted on a custom 0.1" pin module. The S-100 SVGA board PCB is all DIP PTH. Take a look at the board layout. There are no SMT components other than those on the module.
 
Where are you buying the Cirrus Logic modules?

You're basically doing what I've suggested with the SVAG board (generic Spartan 3E on a DIP module). If it's a critical dependent part in the board build, might as well take ownership of it and add level shifters and LDO to the same module.
 
Actually that's what I have been working from Chuck. It's 8 bit I have been using 16 bits. Now that we have an 8088 S-100 board I will retry with an 8 bit interface. My problem is I don't know/have an absolutly minimal piece of code that will allow me to setup/configure the Cirrus chip and just say put one character on the screen. I am using an unknown (to me) BIOS ROM from an ISA board containing the chip. In theory this should be OK. The BIOS/board works fine in an old 386 PC motherboard. I using an S-100 80286.

Ooh, that's a tough one--expecting another vendor's implementation to be just like yours!

Are you running this thing in any sort of setup where it's not the primary display? In other words, can you fiddle around with executing code without running "blind"?

I'd probably start with one of the Linux drivers for the chip--they tend to be the most generic and source is freely available. If you'd like, I'm pretty sure that I've got a compatible CL card here and can forward you the BIOS from that.
 
Where are you buying the Cirrus Logic modules?

You're basically doing what I've suggested with the SVAG board (generic Spartan 3E on a DIP module). If it's a critical dependent part in the board build, might as well take ownership of it and add level shifters and LDO to the same module.

John had the CL GD5420 module custom designed. I am not sure how he assembled it whether he did that himself or by someone else. It is a prototype board and still just a series of "one offs" until we get it functioning.

John is doing all the development work and I am making the PCBs. From my perspective, the CL GD5420 module is like any other MCM part we use (USB, voice synth, LAVA-10, etc). They plug into the board as a separately available unit.

In my opinion there is very little if any overlap between the S-100 and FPGA crowds. Given most hobbyist S-100 boards are just barely economical for even the most popular ones, I doubt that any sort of S-100 FPGA board would ever generate enough interest to warrant the effort. Too much of a corner case.
 
What are you even talking about? You just made one. The SVAG board in this thread. It uses a general purpose FPGA module.
 
There is a lot more to effort to making a successful project than just designing the PCB. Sure we could make an S-100 board using a generic FPGA module but you couldn't move enough boards to make it work. Do the math.

No better yet, since you seem to think this is so easy to do, why don't you follow your own advice and build your own S-100 FPGA board? I am looking forward to your design. Please let us know when its available.
 
Sure we could make an S-100 board using a generic FPGA module but you couldn't move enough boards to make it work. Do the math.

My point was you've already done it. John linked to all the documentation for it in the first post of this thread. I assume you're talking about it.

And to your second point, I always wanted too and now I intend too. Just there hasn't been any point until now because you specifically have always crapped all over any programmable logic design even if someone offered to build/program a 5V through hole plug-in module and distribute it to folks.

Projects need leaders. You've honestly done a fantastic job. I just wish there had been more clarity of direction instead of, no this is banned... oh wait here it is.
 
My point was you've already done it. John linked to all the documentation for it in the first post of this thread. I assume you're talking about it.

uhh.... no. There is a world of difference between a relatively simple IO board like the S-100 LAVA and a generic S-100 board based on FPGA technology -- especially if it is going to be a processor. Take a look at the S-100 LAVA schematic. It is basic IO board and straight forward. It is in no way a generic FPGA board.

And to your second point, I always wanted too and now I intend too. Just there hasn't been any point until now because you specifically have always crapped all over any programmable logic design even if someone offered to build/program a 5V through hole plug-in module and distribute it to folks.

Please do. I think it will be highly educational for you to make a board that is both affordable and popular enough to be economical. Nearly anyone can make a custom built and expensive one-off prototype. I've made several but most won't see outside the workbench.

Remember all those fancy programmable parts will be beyond the reach of most hobbyists so it will fall back on you to either supply the boards with parts pre-assembled or deal with the dramatically reduced pool of potential hobbyists who can participate. Fully or partially preassembled boards it will drive the unit cost in to the stratosphere so you'll need an enormous lot size to get costs down. The increased unit cost will further drive participation down. It is basic economics.

Projects need leaders. You've honestly done a fantastic job. I just wish there had been more clarity of direction instead of, no this is banned... oh wait here it is.

Feel free to start your own project. The N8VEM project has been about making boards that most hobbyists can build without special tools like SMT ovens, JTAG programmers, GAL programmers, etc. If you can do it better then be my guest.

For clarification, no one has "banned" anything. If builders want to design their own boards using programmable logic then no one is stopping them. However, that does not mean the rest of us are obligated to use programmable parts just because some would like them.

Programmable logic is like any other tool. There are costs and benefits of using it. For the simple N8VEM designs there is little if any benefit. We've looked into this in detail on the N8 project. Using CPLDs to eliminate glue logic saved almost no PCB space yet added complexity and cost to the board. A lot of people are infatuated with the technology but don't have a realistic grasp of its wider implications on the project. Programmable logic generally adds complexity and cost compared to simple TTL equivalents. Think about economics and logistics of the project not just the fancy buzzwords.
 
Last edited:
eegru, I am open to suggestions for any decent SVGA (or higher) S-100 board that emulates a memory mapped AT/ISA type setup. That is why I an trying to get the Cirrus chip to work. The problem is not only hardware but software. Programming these chips is not easy, the data sheets are often incomplete and almost never have examples. When you mention Spartan,Cyclone etc. is there a software package one can work with to get say simple text on a screen. What hardware/software specifically do you have in mind.
 
From a hardware perspective, you already have the design done in the SVAG board. All I'm suggesting is take ownership of what Mylium currently provides. Judging from their site, it seems they are selling development samples in small quantities. I'm not sure what the sales expectation are when they sell them to N8VEM builders (nor should we care). I just worry that the outlet for LAVA 10 modules will dry up. Where as you can take the same footprint or even the same LAVA 10 board and reprogram it with a more open RTL design using several options from OpenCores as a starting point. If the source ever did dry up, it's not difficult (and certainly a lot cheaper) to make a medium run build of compatible modules with S3Es on them and program them. Even programming solutions are simple and inexpensive. The $30 DP BusPirate, for example, is all you would need to reprogram the LAVA 10 module at less than 1/3 the cost of the LAVA 10 itself.

I don't have a direct interest in S100. I've built up and played with Sergey's Zeta board and have a keen interest in putting together one of the N8VEM ECB systems. My time is limited atm, but I'm going to put a priority on building something workable. It lines up with other immediate interests too.
 
Rather than get involved in the argument, I think it might be worthwhile to ask what's needed in this card.

Given that you're not exactly burning up the bits with S100, what are the basic requirements? Text mode is a given, but is 640x480 sufficient? Will higher resolutions be effectively supported over a 1974-era bus?

I think if the requirements are known, an informed choice might be made.
 
Back
Top