Hi Patrick, > I want to program on FreeDos, I want to use GCC and I want to port > over GnuCOBOL. Are there any books or resources you could recommend
Well DJGPP (Gnu C / C++ for DOS) is reasonably compatible to the Linux version when you compile text oriented tools and http://www.delorie.com/djgpp/ has documentation :-) > there another modern SBC or small inexpensive PC... According to this table: > https://en.wikipedia.org/wiki/Comparison_of_single-board_computers#CPU,_GPU,_memory there are a few x86 and/or x86-64 compatible single board computers around, but I guess Linux and ARM are way more common. However, you probably do not want to run DOS in a PC simulator on ARM boards? > I use vim on Linux, has anyone ported this over? According to > http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.2/repos/pkg-html/group-edit.html the 1.2 distro already included VIM :-) The description also contains a link to our pre-compiled VIM for DOS. > Does FreeDos have a fixed limit in terms of resolution. You should use VESA VBE for graphics. Support depends on your VGA BIOS quality. You can also use a library to do the low level stuff for you. None of that is relevant for DOS, of course, because the kernel only cares about text screens. You can use MODE and other tools to change the number of text rows and columns. This also works better if your VGA BIOS is decent :-) > do you guys cross compile from Linux At least some kernel and shell experts do, yes :-) > Can I confirm that FreeDos is in real mode Yes and no. If your app is compiled with a 32-bit protected mode aware compiler such as DJGPP, then it will be protected mode (for example using DPMI). The kernel itself is real mode. Only a few memory drivers and 32-bit tools such as the DOSFSCK port (CHKDSK has no FAT32 support) need protected mode. > and that the user logged in can do anything? Sure, that is a very DOS thing to do :-) > If I want to write to a parallel port can I just > assign a pointer to it's address and write to it? Parallel ports are not memory mapped in general, so you would use PORT I/O access, not pointers. > There is no protection correct? You can do whatever you want with the parallel port in DOS, you could even try COVOX sound output :-) > ... can I confirm that FreeDos has no threading. Correct. Unless your app uses a library which supports threads inside the app. But the kernel itself neither uses nor cares about threads. > If I write a program and it's running, it has 100% of the CPU Not really. Most modern CPU have multiple cores and a DOS program, just like DOS itself, can only use ONE of your cores. Unless of course you use a library which supports distributing work to other cores, but those are hard to find. But yes, you get almost 100% of the CPU time on your first core because DOS has almost no background tasks. Of course when you call the kernel to let it do stuff, you will have 0% CPU time until that stuff is done and the kernel returns the CPU :-) > a program is basically deterministic and might be > suitable for soft real time requirements? ... > experiments and data collection. Yes and no. I have done data collection myself and had the following experiences: The BIOS USB keyboard and mouse support caused lags and delays. PS/2 was fine. I compiled my program with DJGPP and let it collect large amounts of data in RAM (2 GB would be easy) and only used file I/O in periods which had relaxed timing constraints. Because as said above, when you (or your C library) ask the DOS kernel to do stuff, you will have 0% CPU time until DOS stuff is done. By the way, DJGPP only supports 4 GB address space and you have to subtract graphics and other MMIO areas, so do not expect to have 3.5 or 64 GB heap! 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