EmbeddedRelated.com
Forums
Memfault State of IoT Report

(MS-)DOS PC on a microcontroller??

Started by Paul Rosen October 23, 2007
> That means only ONE! microcontroller-chip with > only some drivers or transistors to make the signals of the > microcontroller strong enough to drive a floppy, a keyboard and a > Hercules monitor.
Well I doubt you will find that. Very few people could do it and the market being negligible, chances are it will not be around in the foreseeable future. But it should be doable. There are MCUs with enough RAM (>640k), which are fast enough to emulate the 386 to an equivalent of well above 100 MHz (this should be OK?); the monitor output will be harder to do, the floppy disk is as challenging. I only vaguely remember those MCUs with that much RAM so I don't know whether they have the interfaces which can be tweaked to do monitor and floppy, they were some Freescale DSP based things, easy to look up. If you would settle for a CPU+RAM+flash (3 or 4 chips), I know it can be done :-). Dimiter ------------------------------------------------------ Dimiter Popoff Transgalactic Instruments http://www.tgi-sci.com ------------------------------------------------------ On Oct 24, 9:04 pm, Paul Rosen <pr...@lycos.de> wrote:
> On Tue, 23 Oct 2007 13:15:30 -0700, Jim Stewart <jstew...@jkmicro.com> > wrote: > > >>> I am wondering, whether anyone made the possibly useless attempt, to > >>> create a (MS-)DOS (and its old programs) compatible PC on a > >>> Microcontroller by using its flash as harddisk? > > >> Sure. <http://www.jkmicro.com/products/products.html> (inter alia) > > >I'm quite sure that we were the first to do a > >PC-compatible flash drive on an embedded controller. > > Hello Jim, > > I do not really understand where this boards are good for. What can be > done with them, that cannot be done with a single chip > microcontroller? > > The intention of my original-posting question was to know, whether > nowadays singlechip microcontrollers are able, to be a complete PC, at > least the way as we had them in the beginning of the PCs and to run > the old software on it. That means only ONE! microcontroller-chip with > only some drivers or transistors to make the signals of the > microcontroller strong enough to drive a floppy, a keyboard and a > Hercules monitor. > > Your product needs additional chips beside the processor. Thus it > cannot answer the question, whether a microontroller can be a complete > PC. Because your product is the only one, which was mentioned here: Is > it correct, that a PC on nowadays microcontrollers is not possible?
Paul Rosen wrote:
> On Tue, 23 Oct 2007 13:15:30 -0700, Jim Stewart <jstewart@jkmicro.com> > wrote: > > >>>>I am wondering, whether anyone made the possibly useless attempt, to >>>>create a (MS-)DOS (and its old programs) compatible PC on a >>>>Microcontroller by using its flash as harddisk? >>> >>>Sure. <http://www.jkmicro.com/products/products.html> (inter alia) >> >>I'm quite sure that we were the first to do a >>PC-compatible flash drive on an embedded controller. > > > Hello Jim, > > I do not really understand where this boards are good for. What can be > done with them, that cannot be done with a single chip > microcontroller? > > The intention of my original-posting question was to know, whether > nowadays singlechip microcontrollers are able, to be a complete PC, at > least the way as we had them in the beginning of the PCs and to run > the old software on it. That means only ONE! microcontroller-chip with > only some drivers or transistors to make the signals of the > microcontroller strong enough to drive a floppy, a keyboard and a > Hercules monitor. > > Your product needs additional chips beside the processor. Thus it > cannot answer the question, whether a microontroller can be a complete > PC. Because your product is the only one, which was mentioned here: Is > it correct, that a PC on nowadays microcontrollers is not possible?
See also my earlier post. There are no x86 On-Chip-Flash microcontrollers - probably the eZ80 is closest, and Zilog do have an OS for that. Once you have an OS, you tend to need more flash, which is why these modules exist. So, to answer your question above: Q:" What can be done with them, that cannot be done with a single chip microcontroller? " A: You can fit more code/Data into them, and in some cases, that's a vital feature. A Micro that is suddenly too small, is no use at all :) So, which to use is decided by your code and data set sizes. Example: The Zilog ZDots (they call it Single Board computer) has 256KF+16KR on chip, plus 1MByte of FLASH, 512K of SRAM, and Ethernet, at under 0.5W -jg
Paul Rosen wrote:
> On Tue, 23 Oct 2007 13:15:30 -0700, Jim Stewart <jstewart@jkmicro.com> > wrote: > >>>> I am wondering, whether anyone made the possibly useless attempt, to >>>> create a (MS-)DOS (and its old programs) compatible PC on a >>>> Microcontroller by using its flash as harddisk? >>> Sure. <http://www.jkmicro.com/products/products.html> (inter alia) >> I'm quite sure that we were the first to do a >> PC-compatible flash drive on an embedded controller. > > Hello Jim, > > I do not really understand where this boards are good for. What can be > done with them, that cannot be done with a single chip > microcontroller?
Given unlimited time and resources, nothing. Our customers often don't have the time or resources to purchase, install and learn a toolchain for a microcontroller. They can develop their application on their PC in Borland C or Quickbasic and upload the 16-bit executable to our board and run it. Since our boards have a read/write DOS filesystem and a serial console, our users can log data, upload revised software, and run various utilities. Booting time has been optimised and is typically .5 to 1.5 seconds.
> The intention of my original-posting question was to know, whether > nowadays singlechip microcontrollers are able, to be a complete PC, at > least the way as we had them in the beginning of the PCs and to run > the old software on it. That means only ONE! microcontroller-chip with > only some drivers or transistors to make the signals of the > microcontroller strong enough to drive a floppy, a keyboard and a > Hercules monitor.
No. There are no single-chip microcontrollers that I know of that can do that.
> Your product needs additional chips beside the processor. Thus it > cannot answer the question, whether a microontroller can be a complete > PC. Because your product is the only one, which was mentioned here: Is > it correct, that a PC on nowadays microcontrollers is not possible?
Well, the Wikipedia definition of microcontroller states that it *usually* integrates read-only or read-write memory. No x86 chip that I'm aware of does that.
On Wed, 24 Oct 2007 18:16:55 GMT, "FreeRTOS.org" <noemail@address.com>
wrote:

>I think what I am saying is - I don't understand your question.
O.K. Take one of the first old PCs with a floppydisk-drive, a keyboard and a Hercules Monitor and look at it as a black box. Take an identical PC and remove all the interiority but leave the floppydisk-drive and the connectors to the monitor and the keyboard. Take a singlechip-microcontroller. Connect every pin of the floppydisk-drive, the keyboard and the monitor to a pin of the microcontroller. Write a program for the microcontroller, which makes the second blackbox identical with the first blackbox. Now you can put a (MS-)DOS installation diskette in both and both will install it. Now you can put another diskette with an original MS-DOS program from the old times and start it. Both blackboxes will execute the programm the same way. The microcontoller has become a (MS-)DOS PC. There is only one thing left. The pins of the microcontroller will not be able to drive i.e. the monitor-pins directly, because the pins of the microcontroller only drive a few milliamperes. Thus it is allowed, to adapt the (5V/3,3V or similar) pins of the microcontroller to the voltage and the current of the floppydisk-drive, the monitor and the keyboard by accordant transistors. But it is not allowed to give up the one-pin-peripherie to one-pin-microcontroller concept. The "brainpower" for driving/receive every pin of the periphery has to come from the microontroller and not from any external chip. I hope, the job definition is clear now. And the question is: Are nowadays singlechip microcontrollers powerful enough, to manage this problem.
> O.K. Take one of the first old PCs with a floppydisk-drive, a keyboard > and a Hercules Monitor and look at it as a black box. Take an > identical PC and remove all the interiority but leave the > floppydisk-drive and the connectors to the monitor and the keyboard. > Take a singlechip-microcontroller. Connect every pin of the > floppydisk-drive, the keyboard and the monitor to a pin of the > microcontroller. Write a program for the microcontroller, which makes > the second blackbox identical with the first blackbox. Now you can put > a (MS-)DOS installation diskette in both and both will install it. Now > you can put another diskette with an original MS-DOS program from the > old times and start it. Both blackboxes will execute the programm the > same way. The microcontoller has become a (MS-)DOS PC.
Are you talking about an MCU (say an AVR32 UC3A, or ARM7, etc) emulating an x86? Or using an actual x86?
> There is only one thing left. The pins of the microcontroller will not > be able to drive i.e. the monitor-pins directly, because the pins of > the microcontroller only drive a few milliamperes. Thus it is allowed, > to adapt the (5V/3,3V or similar) pins of the microcontroller to the > voltage and the current of the floppydisk-drive, the monitor and the > keyboard by accordant transistors. But it is not allowed to give up > the one-pin-peripherie to one-pin-microcontroller concept. The > "brainpower" for driving/receive every pin of the periphery has to > come from the microontroller and not from any external chip. I hope, > the job definition is clear now. > > And the question is: Are nowadays singlechip microcontrollers powerful > enough, to manage this problem.
This is a completely different question. As PC's started off using 8088s (or 8086s, or whatever), then the answer to this question is definitely "yes". -- Regards, Richard. + http://www.FreeRTOS.org 13 official architecture ports, 1000 downloads per week. + http://www.SafeRTOS.com Certified by T&#4294967295;V as meeting the requirements for safety related systems.
Paul Rosen wrote:
> On Wed, 24 Oct 2007 18:16:55 GMT, "FreeRTOS.org" <noemail@address.com> > wrote: > >> I think what I am saying is - I don't understand your question. > > O.K. Take one of the first old PCs with a floppydisk-drive, a keyboard > and a Hercules Monitor and look at it as a black box. Take an > identical PC and remove all the interiority but leave the > floppydisk-drive and the connectors to the monitor and the keyboard. > Take a singlechip-microcontroller. Connect every pin of the > floppydisk-drive, the keyboard and the monitor to a pin of the > microcontroller. Write a program for the microcontroller, which makes > the second blackbox identical with the first blackbox. Now you can put > a (MS-)DOS installation diskette in both and both will install it. Now > you can put another diskette with an original MS-DOS program from the > old times and start it. Both blackboxes will execute the programm the > same way. The microcontoller has become a (MS-)DOS PC. > > There is only one thing left. The pins of the microcontroller will not > be able to drive i.e. the monitor-pins directly, because the pins of > the microcontroller only drive a few milliamperes. Thus it is allowed, > to adapt the (5V/3,3V or similar) pins of the microcontroller to the > voltage and the current of the floppydisk-drive, the monitor and the > keyboard by accordant transistors. But it is not allowed to give up > the one-pin-peripherie to one-pin-microcontroller concept. The > "brainpower" for driving/receive every pin of the periphery has to > come from the microontroller and not from any external chip. I hope, > the job definition is clear now. > > And the question is: Are nowadays singlechip microcontrollers powerful > enough, to manage this problem.
Might I ask whether this is a gedankenexperiment or a real-world project?
On Wed, 24 Oct 2007 11:40:41 -0700, Didi <dp@tgi-sci.com> wrote:

>There are MCUs with enough RAM (>640k), which are fast enough >to emulate the 386 to an equivalent of well above 100 MHz (this should >be OK?)
That is an answer just the way I expected. The 100 MHz is a helpful graduation. The question is simply theoretic. As I wrote in my OP this would be a useless application. I do not expect a real product. But I could imagine, that it could be a challenging project, to say: Yes, it is true. The few squaremillimeters of nowadays microcontrollers are enough to build a 1980s PC.
"Paul Rosen" <proxx@lycos.de> wrote in message 
news:fg7vh3p4ni199os7isn4t82r7n44nv9nlu@4ax.com...
> On Wed, 24 Oct 2007 11:40:41 -0700, Didi <dp@tgi-sci.com> wrote: > >>There are MCUs with enough RAM (>640k), which are fast enough >>to emulate the 386 to an equivalent of well above 100 MHz (this should >>be OK?) > > That is an answer just the way I expected. The 100 MHz is a helpful > graduation. The question is simply theoretic. As I wrote in my OP this > would be a useless application. I do not expect a real product. But I > could imagine, that it could be a challenging project, to say: Yes, it > is true. The few squaremillimeters of nowadays microcontrollers are > enough to build a 1980s PC.
Its more than that really - Didi is saying that there are micro that are powerful enough to *emulate* an x86, so are more than powerful enough to provide a native application that was functionally similar to a PC. -- Regards, Richard. + http://www.FreeRTOS.org 13 official architecture ports, 1000 downloads per week. + http://www.SafeRTOS.com Certified by T&#4294967295;V as meeting the requirements for safety related systems.
On Wed, 24 Oct 2007 19:55:08 GMT, "FreeRTOS.org" <noemail@address.com>
wrote:

>Its more than that really - Didi is saying that there are micro that are >powerful enough to *emulate* an x86, so are more than powerful enough to >provide a native application that was functionally similar to a PC.
I am aware this "little" difference. The "functionallity" i.e. of the Hercules Monitor is possible on a simple text or graphical display. I think, its controller will laugh at the 1980s PC.
Paul Rosen wrote:
> On Wed, 24 Oct 2007 18:16:55 GMT, "FreeRTOS.org" <noemail@address.com> > wrote: > > >>I think what I am saying is - I don't understand your question. > > > O.K. Take one of the first old PCs with a floppydisk-drive, a keyboard > and a Hercules Monitor and look at it as a black box. Take an > identical PC and remove all the interiority but leave the > floppydisk-drive and the connectors to the monitor and the keyboard. > Take a singlechip-microcontroller. Connect every pin of the > floppydisk-drive, the keyboard and the monitor to a pin of the > microcontroller. Write a program for the microcontroller, which makes > the second blackbox identical with the first blackbox. Now you can put > a (MS-)DOS installation diskette in both and both will install it. Now > you can put another diskette with an original MS-DOS program from the > old times and start it. Both blackboxes will execute the programm the > same way. The microcontoller has become a (MS-)DOS PC. > > There is only one thing left. The pins of the microcontroller will not > be able to drive i.e. the monitor-pins directly, because the pins of > the microcontroller only drive a few milliamperes. Thus it is allowed, > to adapt the (5V/3,3V or similar) pins of the microcontroller to the > voltage and the current of the floppydisk-drive, the monitor and the > keyboard by accordant transistors. But it is not allowed to give up > the one-pin-peripherie to one-pin-microcontroller concept. The > "brainpower" for driving/receive every pin of the periphery has to > come from the microontroller and not from any external chip. I hope, > the job definition is clear now. > > And the question is: Are nowadays singlechip microcontrollers powerful > enough, to manage this problem.
Short answser : No Longer answer : There is no problem with Core-CPU power, and even 'most' peripherals, but modern silicon does not 'match' with your job definition. Storage: It's been a long time since I've seen anyone target a Floppy drive, but users ARE active with USB Flashdrives, and also Compact FLASH cards. There are USB host microcontrollers, but they are not x86 cored. Display: There are no uC that can drive VGA directly, but some have varying levels of LCD support, but those devices are Microprocessors - they expect large memory pools, and do NOT expect all that on one chip. We actually have a commercial OEM product, our Vga-232, that is designed to add a Flicker free Colour VGA to any small uC - but it used RS232 to make remote annunciator readouts practical. If you target Compile-and-run, then you need a VGA etc BIOS interface that clones the memory map/BIOS of the older PCs - and again, you step outside the realm of single chip microcontrollers. There is no commercial/volume merit in what you describe, tho there could be some educational benefit. So big Embedded X86 players, like VIA, will not be interested. Zilog is one company who _could_ do this (via CP/M or a variant), but I think they see more volume in Ethernet support, and web page rather than duplicating a ZX81. Having said all the above, there is renewed focus by many X86 players, at the 'sub 1W market', for highly portable devices. Indications are Intel has some devices coming that might get close to your "job definition", but they will not focus on DOS - so someone would need to hack that. Stacked-die chips are used in these highly portable devices, and they morph the line between Microprocessors, and Microcontrollers. See also SST, for some stacked memory solutions. -jg

Memfault State of IoT Report