Software-update: FreeDOS 2.0.35

FreeDOS is een compleet, open source, 100% MS-DOS compatible operating system. De ontwikkeling is in volle gang en sinds kort is versie 2.0.35 van de kernel beschikbaar met het volgende changelog:

Changes Lucho + Tom
  • config.c, fatfs.c, globals.h, init-mod.h: From Tom: must set r_bpfat for C_BLDBPB, otherwise USBASPI.SYS, DI1000DD.SYS won't like us. From Lucho: use DiskTransferBuffer for deblock_buf.
Changes Lucho
  • docs/fdkernel.lsm, stacks.inc, version.h, entry.asm, inthndlr.c, io.asm, nlssupt.asm: no need to preserve high part of ecx for Borland, ebx for MSVC
  • device.h, dsk.c, init-mod.h, ioctl.c: MSC fixes and small cleanup
  • ioctl.c: Cache attr and control flow optimizations (~120 bytes)
  • device.h, dsk.c, ioctl.c: deal with the correct structure for generic and query ioctls. Fixes issues with 3rd party device drivers (or ones that use dsk.c)
  • dosfns.c, inthndlr.c, proto.h: Merge dosmkdir and dosrmdir
  • config.c: strcasecmp and set_strategy common code optimizations.
  • main.c: Add necessary cast for BC
  • portab.h: Avoid problem with BC declaring __emit__, en/disable twice.
  • dsk.c: DJ mechanism without memcpy.
  • newstuff.c: replace loops by fmemset/fmemcpy (43 bytes)
  • dosfns.c, fatdir.c, fcbfns.c, ioctl.c: Some small cleanups.
  • config.c: GetNumArg and misc other cleanups
  • time.h, fatfs.c: converted TM_ENCODE into a function.
  • inthndlr.c, proto.h, fatfs.c: Inlined dos_setdta.
  • Various bug fixes and cleanups from Lucho and Arkady.
  • inithma.c: moved fmemcmp's into a checkHMA function.
  • inithma.c: HMAFree == 0xfff0 - bytesToAllocate is valid and may happen if the buffers occupy exactly all HMA space up to and including the last byte at ffff:ffff. Failing caused all buffers to go low ...
  • inthndlr.c: cleanups (merge common code into long_check and short_check). Made int21/3301,2e,54 consistent with MSDOS behaviour.
  • globals.h, task.c, main.c: Convert setvec into a function for the resident code
Changes Arkady
  • initdisk.c: initdisk optimizations (65 bytes) and is_suspect fix.
  • config.c, init-mod.h, intr.asm: optimized allocmem()
  • fattab.c, kernel.asm: optimizations
  • main.c: Make signon one big printf function call.
  • ioctl.c: bugfix for INT21/440b (change NetRetry if DX is _non_zero).
  • inthndlr.c: cntry == 0 doesn't make sense for Set Country Information. Fix int21/5e02+
  • sys/talloc.c: Turbo C really wants unsigned __brklvl. Only shows up if you enable stack checking.
Changes Bart
  • memmgr.c, proto.h, inthndlr.c: DosUmbLink no longer tries to merge free blocks. Also cleaned up a bit.
  • inthndlr.c: Fix int21/3302 (the swap was wrong, Lucho & Bart)
  • config.c: Pointer-ise specificCountriesSupported accesses.
  • config.c: Reorganized GetBiosKey a bit -- inlining GetBiosTime saves a slight amount of code, converted timeout < 0 to a blocking read instead of polling.
  • config.c: Use strcaseequal instead of strcasecmp since we never care about order anyway.
  • chario.c: Fix problem with redirected input and int21/ah=0a (debug < foo.txt) -- could get you an invalid opcode!
  • console.asm, main.c, prf.c: Use int29 for kernel console output. Enables ansi escape sequences in config.sys once you load nansi.sys. It also saves a couple of bytes.
  • newstuff.c, proto.h: made dosmktmp to return a long: consistent with DosOpen et al and avoids the cast.
  • mkfiles/tc2.mak: Let TC2 warn for the utilities.
  • config.c: Disabled EBDA moves by default. Automatic EBDA moves now happen using switches=/e:-1
  • config.c: Pointer-ize MenuStruct[MenuSelected]... (from Lucho). and InstallCommands[i]. (from Bart). Some other small optimizations.
  • memmgr.c: Some small optimizations (46 bytes) and dead code removal from Lucho and Bart
  • init-mod.h: Need to define strchr to init_strchr otherwise the wrong one may be called.
  • initdisk.c: Do a bit of printf merging.
  • filelist, drivers/makefile, init-mod.h, inthndlr.c, task.c, globals.h, main.c: Convert getvec into a C function.
  • int2f.asm: Clean up int2f assembly a bit (merge some common bits, clarify label names)
  • fatfs.c, fattab.c: fattab.c now remembers if the old FAT entry was free or not, so the free space adjustment could be moved back to fattab.c.
  • init-mod.h: Replaced setvec macro by a function.
  • entry.asm, inthndlr.c: Made int21/ah=25,35 reentrant. Solves problem with Intel PRO/1000 driver.
  • portab.h, globals.h, main.c: Initialise all int vectors except the ones at 70:xxxx using a table. Convert setvec into a function that disables/enables ints (init code only for now, resident code will follow later); cli/sti (disable/enable) are now macros (inlined).
  • fnode.h, fatdir.c, fatfs.c: dir_read() no longer updates the diroff counter. This eliminates the NEW field, simplifies remove_lfn_entries(), and avoids a bug if you delete the first entry in the root directory on FAT32.
  • fattab.c: Stop abusing "idx". The OW optimizer likes this better,too.
  • fattab.c: Clean up FAT12 handling -- there's a portable approach that's small too.
  • fattab.c: Inlined much of getFATblock() into link_fat. Saves the idx reference. The second call (for a FAT12 entry that is divided in two sectors) can be much simpler, no need to recalculate. Merged next_cluster and link_fat into one function depending on a special Cluster2 value.
  • fattab.c: Calculate the nibble/word/dword index of the FAT entry in the sector centrally in getFATblock.
  • fattab.c: "clussec" can be of CLUSTER size if we divide by an adjusted "words per sector"(FAT16), or "dwords per sector"(FAT32) value instead of multiplying it first. For FAT12 the *3/2 works out a little differently: here we first multiply by 3 and then divide by the number of "nibbles per sector".
  • main.c: Config.cfgInitTail is a pointer now so sizeof isn't good. Just using strcpy helps F5 and F8.
  • main.c: "copyright" is near now so we have to use %s and not %S
  • blockio.c, dosfns.c, int2f.asm, network.c, proto.h, task.c: reduced the number of network redirector functions in int2f.asm. The remote_ functions (with one far pointer argument) are now called with the help of a network_redirector() wrapper in C by one multiplex function using a generic void *arg argument to pass the third parameter which can be various things. Split int2f.asm functions, don't let them preserve as many registers, use pascal calling convention for the "open" (but really: multiplex) function.
  • dsk.c: floppy determination type optimization for format -- based on Arkady's suggestions a long time ago.
  • a few other small optimizations (~70 bytes total).
Versienummer 2.0.35
Besturingssystemen DOS
Website FreeDOS
Download http://sourceforge.net/project/showfiles.php?group_id=5109&package_id=5152&release_id=242192
Licentietype GPL

Door Bart van Klaveren

Downloads en Best Buy Guide

31-05-2004 • 10:08

32

Bron: FreeDOS

Update-historie

Reacties (32)

32
31
25
5
0
0
Wijzig sortering
Anoniem: 81430 31 mei 2004 10:33
dos....?
okeeeeeee?

* 786562 mephisto1982
Er zijn nog best veel dingen die handig zijn om vanuit DOS te doen. Zo heb je bv als je nieuwe pc gaat installeren en je wilt eerst partities maken, heb je een omgeving nodig waarin je een programma kunt 'runnen'. Slecht voorbeeld eigenlijk is Partition Magic (slecht omdat PM met een eigen dos versie a la Caldera Dos start maar goed). Je zou ook kunnen denken memtest86 of van die harddisk burn in utilities die vaak vanuit dos runnen om zo min mogelijk last te hebben van een instabiel besturingssysteem.

Vergis je niet in de waarde van Dos want het heeft hier al vele malen zijn waarde bewezen bij een systeemcrash.

* 786562 Turndevil
erm je drukt je windows/linux/*bsd/whatever cd er in, je boot en aanmaken die partities.

daar heb je toch geen dos voor nodig?

denk eerder dat het gebruikt word voor nieuwe hardware die oude applicaties moeten draaien die niet in windows werken of wat dan ook
ik heb niks aan dos bij een system crash. dos leest geen ntfs, en je kan op nt maar beter niet dat brakke fat32 gebruiken. (en nee, ik heb geen zin in een discussie over waarom fat32 zuigt, dat is volledig off topic)

ik vraag me eigenlijk af hoe goed je hier games als Duke Nukem 3D op kunt spelen. daar is dit misschien nog wel geschikt voor: mensen met linux die dos willen emuleren, maar liever geen ms software gebruiken.

[edit:] heb net ff dosemu + freedos geprobeert (was toch nieuwsgierig), maar t draait geen duke nukem 1 of scorched earth :(
Je kunt natuurlijk een programmaatje gebruiken waarmee je NTFS-partities uit kunt lezen.

Bovendien kun je onder DOS ook ondersteuning voor USB inbouwen (handig voor opslagmedia) en een NIC gebruiken is ook mogelijk.
DosBOX draait waarschijnlijk wel Duke Nukem 3D :)
Alleen zal het waarschijnlijk wat traagjes gaan :P
FreeDOS kan handig zijn wanneer je een BIOS-update wil doorvoeren.

Ik dacht dat Dell ook FreeDOS op sommige van zijn machines zou zetten, om zo het contract na te leven met MS waarin bepaald wordt dat op alle verkochte pc's een OS moet staan.

En wie oude DOS-applicaties onder Linux wil draaien, kan freedos draaien in dosemu.
Op de een of andere manier heb ik toch meer vertrouwen in een windows bootdisk met een echte dos erop dan zo'n 'namaak' dos. Vooral als het om dingen als bios updaten gaat heb ik liever niet dat die freedos een instructie misschien net ff anders interpreteert, waardoor je hele bios aan gort is ;)

Maar het is natuurlijk wel een leuk studieprojectje om van te leren, en dat zal ook wel het voornaamste doel zijn van de makers van FreeDOS.
zou tof zijn, als ze hiervan een 32bit besturingsysteem van maken....

kan je lekker windowsprogies draaien in een easy omgeving....

iets zoals:


ut.bat ==> start ut2k4 op in dos :D geen windows meer, memory free...

//zal nie zo zijn denk'k
ik weet niet meer hoe het tegenoordig is, maar partition magic enzo moest je vroeger toch best vanaf een boot diskette starten.... (was caldera dos 7.02 als ik me niet vergis)
Er is wel een 32bit kernel voor freedos :

http://freedos-32.sourceforge.net/

Tevens bestaat er een freeware Windows NT kloon :

http://www.reactos.com/

Helaas nog geen NTFS ondersteuning .

/edit: Deze post was een reactie op ekx hieronder :)
Jah waarom ook niet, lekker beetje knutselen met je eigen bootdiskettes en de partition magic software terwijl het standaard gemaakt word met caldera..
Bor Coördinator Frontpage Admins / FP Powermod @Anoniem: 8143031 mei 2004 16:00
mephisto1982 kent geen mensen die nog met dos draaien, en ziet ook geen doelgroep voor een open source versie hiervan...
Ik ben het helemaal met je eens. Als bootdisk is dit niet eens zo geschikt en ook daar zijn talloze andere versies van te downloaden (bootdisk.com bv). Als full dos systeem zie ik het ook niet zo zitten. Niet alleen omdat vrijwel niemand hier behoefte aan heeft maar waarom zou je dan niet voor het "echte" ms dos gaan wat je nog 2e hands kunt kopen voor een appel en een ei. Dan ben je ook gelijk van eventuele compatibiliteitsproblemen af. Tools die je van diskette moet starten hebben altijd hun eigen versie dos al ingebakken.
Ben benieuwd waar jij DOS in de schappen hebt zien liggen.
FreeDOS is zeer goed bruikbaar. Denk eens aan computer-kassa's die onder DOS werken.

Daarnaast kunnen met FreeDOS - op een legale manier - BIOS Images aan worden geboden (floppy-image).

Zelf vind ik 't leuk om oude spellen te spelen met FreeDOS. Ik weet dat er vele emulators en flash-games voor zijn... maar het echte DOS vind ik dan toch leuker.
Anoniem: 82855 31 mei 2004 12:27
zijn ze niet een beetje aan de late kant met zo'n MS-DOS OpenSource Project?!

Wat heb je er in deze tijd nog aan?!...
Laat?
Het project met de naam FreeDOS bestaat al sinds 1994.

Over waarvoor het nog gebruikt kan worden zeggen ze het volgende:
Today, FreeDOS is ideal for anyone who wants to bundle a version of DOS without having to pay a royalty for use of DOS. FreeDOS will also work on old hardware, in DOS emulators, and in embedded systems. FreeDOS is also an invaluable resource for people who would like to develop their own operating system. While there are many free operating systems out there, no other free DOS-compatible operating system exists.

DOS will be around for quite some time yet. DOS remains a great environment to work in if you are building an embedded system, for example. The operating system is light, so it will run well in a device that doesn't have a lot of memory. You can burn it into ROM, boot from a floppy, or a small micro-drive. There aren't many operating systems that you can find these days that will boot from a floppy, yet still leave you enough room on the disk for your embedded program and maybe some room for data files.

The embedded systems market is one of the markets that will keep DOS alive, at least for several years to come. (Exactly how many years that will be is hard to guess. Yoda: "Always changing is the future.") Look at some of the alternatives that you have today if you want to build a small embedded device: DOS, Windows CE (and there's a reason they call it "wince"), or an embedded Linux (ala Elks). Look at it a little more closely, and you'll see that if space becomes an issue for you, DOS is really the only way to go. Linux and Windows both require too much overhead to build an efficient embedded system.
Oude toepassingen die nog steeds worden gebruikt, embedded systems, genoeg nuttige toepassingen te bedenken.

Bovendien bestaat dit project al jaren, hoor. :)
Taak voor school ofzo dat ze begonnen zijn en verder afwerken, kan perfect zijn
Anoniem: 85257 31 mei 2004 11:32
aan iedereen die zegt : wat kan ik hier nou mee doen?

al die ouwe spelletjes terug laten draaien???

ik ga me wel een dos bakkie maken denk ik
:9
Yup, heb hier onlangs mijn legale versie van "Day of the Tentacle" gevonden welke ik toch echt weer eens wil gaan spelen :*)
Voor Day of the Tentacle kan je beter scummvm gebruiken (http://www.scummvm.org). En in veel gevallen kun je ook beter dosbox gebruiken dan freedos + vmware (http://dosbox.sourceforge.net).
Blijft natuurlijk de vraag die een thread lager gesteld is: wat is het nu hier dan nog van?
Nou kan FreeDOS allerlei coole dingen, zoals dma ondersteuning en dergelijke. Verder is het natuurlijk ook een onderzoek naar hoe Dos nou eigenlijk in elkaar steekt. Er zijn volgens mij nog steeds mensen die DOS gebruiken, en ik kan me niet voorstellen dat er bij Dosbox niet naar FreeDOS gekeken wordt.
Verder, of het aan de late kant is? Volgens mij is FreeDOS ookalweer best wel oud, maar wordt het dus nog steeds doorontwikkeld, in tegenstelling tot MS-DOS.
Hoezo dos-bakkie maken? Gewoon laten draaien onder VMware :)
Bij mij draaien DOS spelletjes toch echt te traag onder VMWare. Gelukkig zijn er Open Source VM's die wel goed DOS spellen draaien (DOSBox, DOSEmu).
Kan FreeDOS ook NTFS-partities lezen en er op schrijven? Dan zou het nl perfect zijn voor het maken van backups als je systeem gecrasht is.
Er zijn DOS-drivertjes die NTFS kunnen lezen en schrijven...

http://www.sysinternals.com/ntw2k/freeware/ntfsdospro.shtml

:)
Heb laatst een andere versie van dos gevonden. Zogenaamd versie 7.1

http://newdos.yginfo.net/msdos71/index.htm

met ntfs support en long filenames
Ik zie fat32 support maar geen ntfs support vermeld staan in de features.

Bovendien zal dit wel niet echt legaal zijn vrees ik... Het is een onofficiële verzameling van tooltjes uit de laatste echte MS-DOS en Windows9x.
Anoniem: 69882 31 mei 2004 11:13
@QM84 , neem hier eens een kijkje: http://www.ntfs.com/products.htm
@hierboven: CooL! Wist niet dat dát bestond en nog freeware ook. Ga het zeker gebruiken in combi met iets chkdsk-achtigs...
Anoniem: 1148 1 juni 2004 15:03
Praktisch nut van FreeDOS is bijvoorbeeld embedded toepassingen, of BIOS update bootdisks.

UIteraard kun je er al je oude DOS software, en dan vooral spelletjes, op draaien.

een voorbeeld waar FreeDOS goed uit de verf komt is www.veder.com , welke de Netware client bootdisk bevat, gemaakt door Erwin Veder.

Deze bootdisk is weer een afgeleide van de bootdisks zoals Bart Lagerweij ze ooit maakte (Modboot project, www.nu2.nu)

bepaalde hardware-specifieke tools zoals Spinrite 6 (voor harddisk-onderzoek) gebruiken tegenwoordig ook FreeDOS, puur om het makkelijker te maken voor de gebruiker om een bootable diskette te creeren.

(FreeDOS componenten nemen een stuk minder ruimte in dan bijvoorbeeld de (FAT32-ondersteunende) kernel van Windows98 (io.sys, 220KB in beslag nemen op een diskette van 1440KB is een grote aanslag op de ruimte van je bootdisk)

een vrijelijk verspreidbare DOS versie is zeker wel handig voor computers die naar Africa worden verscheept bijvoorbeeld.

voor de Linux fanaten:
Linux kan nog niet alles vervangen :)
(omdat het zwaarder is dan DOS en het dan niet op 486 en ouder fatsoenlijk de programma's en spellen kan draaien die gebruikelijk waren ten tijde dat die platforms state-of-the-art waren)

overigens zet ik de FreeDOS cdrom-distributie in elkaar sinds een paar jaar.

Fdos blijft echter een niche-product. Het grote geld zou ik inzetten op Linux en ook op bijv ReactOS (WinNT kloon, om al je bestaande software nog te kunnen blijven gebruiken)

Op dit item kan niet meer gereageerd worden.