Re: [Freedos-user] Arduino Port of FreeDOS
On Sat, Jan 13, 2018 at 08:06:15PM +0300, Ercan Ersoy wrote: > FreeDOS Arduino Port doesn't have to graphics. For managing shell, we can > use only a UART on Arduino. We needn't 8k RAM for managing standard input, > standard output and standard error. Even before you start to discuss technical details - trying to persuade developers who are much more familiar with the entire FreeDOS thing than yourself - you should address the very basic question, which has been asked already twice: WHY, WHAT FOR? Even, if it was feasible - you encourage others to start really serious and time-consuming work only because "it would be kinda cool to see DOS running on Arduino"? -- regards, Zbigniew -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] Arduino Port of FreeDOS
I have written some issues for Arduino Port of FreeDOS on freedos-devel. https://www.mail-archive.com/freedos-devel@lists.sourceforge.net/msg11347.html Best regards, Ercan -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] Arduino Port of FreeDOS
I know this. But, FreeDOS Arduino Port don't need C: for storage, it needs A: and B: generally. A: for flash memory on microcontroller, B: for SD card. Flash memory device driver and SD card device driver is simpler than floppy disk device driver, hard disk device driver and PATA device driver. DOS stands for Disk Operating System Drivers for the actual media aside, you need the space to hold the "disk" related memory structures. And what "flash memory" do you want to use for that A: drive (or any drive letter for that matter)? Sorry for my mistake. The Arduino Port of FreeDOS needs A: certainly and this port may need B:. A: for SD card. B: for network storage driver that it may be TFTP or USB pendrive on some Arduino models these are connect USB shield or USB module. -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] Arduino Port of FreeDOS
On 1/13/2018 9:06 AM, Ercan Ersoy wrote: FreeDOS Arduino Port doesn't have to graphics. For managing shell, we can use only a UART on Arduino. We needn't 8k RAM for managing standard input, standard output and standard error. You don't need graphics, but even to manage a 80x25 text screen, you 4KB of RAM, no way how you try to bend it... For FreeDOS Arduino Port needs major source code changes. No it needs goal changes. Think about the system requirements to have a complete DOS with kernel and command.com and think whether you find any Arduino with at least 10% of the power, then think what would happen to DOS if you cut away 90% :-p Well, this is more in response to Eric, but "power" is quite a bit relative here. RAM resources is what is lacking in an Arduino, not pure processing power. In that regards, those 8 bit AVR RISC processors, with their 32 registers, are actually quite powerful. For developing FreeDOS Arduino Port, we should remove device drivers that are manage missing device on Arduino. For example, device driver of floppy disk remove for this port. For more examples, we should remove hard disk device driver, CD-R device driver, PATA device driver. Also, this port needn't complex memory manager and ISO9660 file system driver. ... I know this. But, FreeDOS Arduino Port don't need C: for storage, it needs A: and B: generally. A: for flash memory on microcontroller, B: for SD card. Flash memory device driver and SD card device driver is simpler than floppy disk device driver, hard disk device driver and PATA device driver. DOS stands for Disk Operating System Drivers for the actual media aside, you need the space to hold the "disk" related memory structures. And what "flash memory" do you want to use for that A: drive (or any drive letter for that matter)? Ralf --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] Arduino Port of FreeDOS
On 1/13/2018 1:30 AM, Ercan Ersoy wrote: For FreeDOS Arduino Port needs major source code changes. Arduinos' microcontrollers (AVR and ARM) based on Harvard Architecture. For this reason, FreeDOS Arduino port can needs less resources. Sorry to be this blunt, but this is simply bollocks! Just try to properly emulate all the INT 21h calls and see how much resources you're using. All the DOS memory areas for basic system info use more RAM than you have available on a standard Arduino. At least, Arduino's have a UART. Standard input, standard output and standard error can direct to UART. For this reason, FreeDOS on Arduino can control by a terminal emulator (for example PuTTY). Also, most of Arduino's or clone ones one USART connected internal USB to UART converter. Again, you would need additional resources to emulate all the ports and BIOS calls from an Intel based system, upon which DOS is based, on the RISC AVR microcontroller. If you have a system with less than 64KB of RAM, regardless of how much Flash ROM you have, you will have a VERY hard time to get anywhere. Not to mention that pretty much everything in DOS is based on the layout of 16bit x86 architecture, register, interrupts and memory layout. Emulating this on any kind of non x86 architecture will rather use MORE resources, not less... And even if you get something that looks like working, it is still a question as to how useful it might be. As I mentioned in an earlier post, the only path that would have worked to get FreeDOS as another viable option for embedded/IoT systems would have been those Quark based systems that Intel killed off last year. Ralf --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] Arduino Port of FreeDOS
Hi! Harvard Architecture with separate program and data memory does NOT mean that you suddenly can get 640k x86 DOS performance out of a simple controller with 8k RAM. Sorry guys, this is total wishful thinking. But because you again mention the serial port UART: Maybe you want to write a port of the SERIAL PORT TERMINAL with ANSI ESCAPE support built in (so no ANSI.SYS driver needed). ANSI terminal support doesn't problem. Because, ANSI terminal library program applications exist for Arduino. Somebody already made a BIOS version of that for x86 and it fits into 8 kilobytes. The DOS version fits into only 4 kilobytes on disk. Note that 80x25 chars of color text already need 4 kilobytes of graphics card RAM, but most displays for microcontrollers have that built in ;-) https://www.auersoft.eu/soft/ (terminal-*.* 2001 to 2007) FreeDOS Arduino Port doesn't have to graphics. For managing shell, we can use only a UART on Arduino. We needn't 8k RAM for managing standard input, standard output and standard error. For FreeDOS Arduino Port needs major source code changes. No it needs goal changes. Think about the system requirements to have a complete DOS with kernel and command.com and think whether you find any Arduino with at least 10% of the power, then think what would happen to DOS if you cut away 90% :-p For developing FreeDOS Arduino Port, we should remove device drivers that are manage missing device on Arduino. For example, device driver of floppy disk remove for this port. For more examples, we should remove hard disk device driver, CD-R device driver, PATA device driver. Also, this port needn't complex memory manager and ISO9660 file system driver. Examples are reproducible. At least, Arduino's have a UART. Standard input, standard output and standard error can direct to UART. For this reason, FreeDOS on Arduino can control by a terminal emulator (for example PuTTY)... Of course it would be easy to program most microcontrollers to output the string "C:\>" on UART, but that is NOT the same as putting DOS on it. DOS really needs a lot more power than that. I know this. But, FreeDOS Arduino Port don't need C: for storage, it needs A: and B: generally. A: for flash memory on microcontroller, B: for SD card. Flash memory device driver and SD card device driver is simpler than floppy disk device driver, hard disk device driver and PATA device driver. Best regards, Ercan -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] Arduino Port of FreeDOS
Hi! Harvard Architecture with separate program and data memory does NOT mean that you suddenly can get 640k x86 DOS performance out of a simple controller with 8k RAM. Sorry guys, this is total wishful thinking. But because you again mention the serial port UART: Maybe you want to write a port of the SERIAL PORT TERMINAL with ANSI ESCAPE support built in (so no ANSI.SYS driver needed). Somebody already made a BIOS version of that for x86 and it fits into 8 kilobytes. The DOS version fits into only 4 kilobytes on disk. Note that 80x25 chars of color text already need 4 kilobytes of graphics card RAM, but most displays for microcontrollers have that built in ;-) https://www.auersoft.eu/soft/ (terminal-*.* 2001 to 2007) > For FreeDOS Arduino Port needs major source code changes. No it needs goal changes. Think about the system requirements to have a complete DOS with kernel and command.com and think whether you find any Arduino with at least 10% of the power, then think what would happen to DOS if you cut away 90% :-p > At least, Arduino's have a UART. Standard input, standard output and > standard error can direct to UART. For this reason, FreeDOS on Arduino > can control by a terminal emulator (for example PuTTY)... Of course it would be easy to program most microcontrollers to output the string "C:\>" on UART, but that is NOT the same as putting DOS on it. DOS really needs a lot more power than that. Regards, Eric -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] Arduino Port of FreeDOS
Sorry, but this is a non-starter. Beside that the 8-RISC processor has absolutely nothing in common with the x86 >CPUs that DOS is based on. Those ATMega chips are "micro-controllers", not "micro-processors/computers". And a >basic Arduino Uno has a whooping 2KB of RAM, not much you can do even with DOS on that one, and no, a Mega2560 has >only 8KB of RAM, not much more to work with either. And by default no keyboard or screen, which is another show-stopper... The Arduino 101 has beside a a 32bit ARC RISC processor (for the IO stuff) an x86 Quark/Curie based processor, but >again, with 24KB of RAM, you still won't go anywhere fast... Ralf For FreeDOS Arduino Port needs major source code changes. Arduinos' microcontrollers (AVR and ARM) based on Harvard Architecture. For this reason, FreeDOS Arduino port can needs less resources. At least, Arduino's have a UART. Standard input, standard output and standard error can direct to UART. For this reason, FreeDOS on Arduino can control by a terminal emulator (for example PuTTY). Also, most of Arduino's or clone ones one USART connected internal USB to UART converter. -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] Arduino Port of FreeDOS
On 1/12/2018 2:15 PM, Ercan Ersoy wrote: Hello, I'm Ercan Ersoy (creator of DOS Coreutils and FreeDOS TUI Shell) and this e-mail address that I use general purpose. I have an idea. FreeDOS is a operating system that has some advantages. But, FreeDOS only runs PC platform. I think, FreeDOS can be ported other hardware such like Arduino. Arduino is a microcontroller development platform and it is a microcontroller. Arduino has some models. People usually use Arduino Uno and Arduino Mega2560. Also, Arduino is a open source. Arduino models uses AVR microcontroller or ARM microcontroller. I use orginal Arduino Uno, Arduino Uno clone and Arduino Mega2560 clone. These are good platforms. As we all know FreeDOS is written C language. FreeDOS can be ported 8 bit AVR microcontrollers and 32 bit ARM microcontrollers. For BIOS interrupts, we can write BIOS like bootloader for FreeDOS Thanks for interesting, Sorry, but this is a non-starter. Beside that the 8-RISC processor has absolutely nothing in common with the x86 CPUs that DOS is based on. Those ATMega chips are "micro-controllers", not "micro-processors/computers". And a basic Arduino Uno has a whooping 2KB of RAM, not much you can do even with DOS on that one, and no, a Mega2560 has only 8KB of RAM, not much more to work with either. And by default no keyboard or screen, which is another show-stopper... The Arduino 101 has beside a a 32bit ARC RISC processor (for the IO stuff) an x86 Quark/Curie based processor, but again, with 24KB of RAM, you still won't go anywhere fast... Ralf --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] Arduino Port of FreeDOS
I think developing FreeDOS Arduino port through source code changes and some optimizations. Microcontrollers using on Arduino is Harvard Architecture. For this reason, FreeDOS Arduino port is requires less resource than FreeDOS x86 binaries. FreeDOS Arduino port may not be realized without major source code changes. But, FreeDOS ports of other hardware (Raspberry Pi, Orange Pi, CubieBoard, Beagle Bone, Beagle Board etc.) are developable. Note: I don't have time for creating FreeDOS Arduino port. I won't develop FreeDOS ports of other hardware. I suggestted this idea for offering. Best regards, Ercan -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] Arduino Port of FreeDOS
Hi Ercan, Bill, others, The main question probably is WHY: If you port the kernel to another platform (I think we even once had a 68000 one) you would also have to port any app that you want to use, starting with command.com - For both together, you already need a few 100 kB of RAM which is not available in most microcontrollers. Next you would need a nice display, while people tend to use microcontrollers with at most a bit of LCD or OLED or just a serial port. And of course a keyboard with a suitable interface to connect it. And a disk, where you can store files, or at least a large space in flash... If you ask me, this sounds a lot more like raspberry than arduino. And given that you can get a raspberry zero with HDMI screen output and USB for keyboard and flash sticks for roughly 10 USD, there is not much reason to go smaller. While raspberry already is SO powerful that you can even put Linux on it, install DOSEMU in it and run classic x86 FreeDOS with classic DOS apps in the emulation window :-) About the challenge of making a DOS install very SMALL, you can check RayeR and his ROMOS where he put a small version of the FreeDOS kernel and a simple alternative command.com variant together in some free space in a PC BIOS chip :-) But then, mainboards with pre-installed tiny Linux & browser exist as well: The idea is to be online at once without having to boot the normal operating system from disk. Hibernate and SSD of modern PC sort of pushed such BIOS goodies out again. Regards, Eric -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] Arduino Port of FreeDOS
On Fri, Jan 12, 2018 at 06:30:17PM -0500, William Dudley wrote: > The Uno wouldn't seem to have enough memory (flash OR RAM) to make this > worth while. > > The Mega2560 has enough flash (ROM) for the OS and BIOS, but only 8K > of RAM, so I don't think it would be terribly useful either. The most basic question is: WHY do this at all? If anyone wants OS suited for microcontrollers, with interactivity, multitasking etc. then the proper answer is: Forth. In this particular case amForth, avrForth or flashForth, as examples. -- regards, Zbigniew -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] Arduino Port of FreeDOS
The Uno wouldn't seem to have enough memory (flash OR RAM) to make this worth while. The Mega2560 has enough flash (ROM) for the OS and BIOS, but only 8K of RAM, so I don't think it would be terribly useful either. Bill Dudley This email is free of malware because I run Linux. On Fri, Jan 12, 2018 at 5:15 PM, Ercan Ersoywrote: > Hello, > > I'm Ercan Ersoy (creator of DOS Coreutils and FreeDOS TUI Shell) and this > e-mail address that I use general purpose. > > I have an idea. > > FreeDOS is a operating system that has some advantages. But, FreeDOS only > runs PC platform. I think, FreeDOS can be ported other hardware such like > Arduino. > > Arduino is a microcontroller development platform and it is a > microcontroller. Arduino has some models. People usually use Arduino Uno > and Arduino Mega2560. Also, Arduino is a open source. Arduino models uses > AVR microcontroller or ARM microcontroller. > > I use orginal Arduino Uno, Arduino Uno clone and Arduino Mega2560 clone. > These are good platforms. > > As we all know FreeDOS is written C language. FreeDOS can be ported 8 bit > AVR microcontrollers and 32 bit ARM microcontrollers. > > For BIOS interrupts, we can write BIOS like bootloader for FreeDOS > > > Thanks for interesting, > > Ercan > > > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > Freedos-user mailing list > Freedos-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freedos-user > -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
[Freedos-user] Arduino Port of FreeDOS
Hello, I'm Ercan Ersoy (creator of DOS Coreutils and FreeDOS TUI Shell) and this e-mail address that I use general purpose. I have an idea. FreeDOS is a operating system that has some advantages. But, FreeDOS only runs PC platform. I think, FreeDOS can be ported other hardware such like Arduino. Arduino is a microcontroller development platform and it is a microcontroller. Arduino has some models. People usually use Arduino Uno and Arduino Mega2560. Also, Arduino is a open source. Arduino models uses AVR microcontroller or ARM microcontroller. I use orginal Arduino Uno, Arduino Uno clone and Arduino Mega2560 clone. These are good platforms. As we all know FreeDOS is written C language. FreeDOS can be ported 8 bit AVR microcontrollers and 32 bit ARM microcontrollers. For BIOS interrupts, we can write BIOS like bootloader for FreeDOS Thanks for interesting, Ercan -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user