Direkt zum Inhalt | Direkt zur Navigation

Benutzerspezifische Werkzeuge

This Logo Viewlet registered to Business4 Theme
Sie sind hier: Startseite / Bibliothekssoftware / Wege zur dosbox (Thema: 64bit-Betriebssysteme)

Wege zur dosbox (Thema: 64bit-Betriebssysteme)

Ein HowTo: wie kann ich doch noch meine alten dos-Programme unter dem modernen WXP/Vista/Windows7 mit der 64bit-Variante laufen lassen. Wir nehmen die DOSbox !

[Ursprünglich ist der Text in der allegro-Liste am 27.Juni 2010 erschienen. Da mailingListen schlecht durchsuchbar sind, und dieser Text sehr sinnvoll auch für spätere Zeiten ist, nun hier komplett. Immer mit den aktuellsten Ergänzungen!]

guten tag verehrte mitleser,
in den letzten tagen kamen wieder mal einige fragen und äußerungen, die sich mit der "dosbox" beschäftigten.
besser: wie funktioniert dosalf/dosorder unter einem 64bit-betriebssystem?

einleitung

mit dosbox meine ich erstmal das von vielen(?) geliebte dosfenster, in dem man 16bit-programme ablaufen lassen kann.
das kann man ganz (zumindestens fast) problemlos noch, wenn man win9x, w2k und wxp, vista sowie w7 hat. aber dann sind alle diese betriebssysteme ab wxp incl. nur in der 32bitfassung.
wer ein 64bit-betriebsystem hat, hat zwar damit etwas ausserordentlich schönes und kraftvolles, aber er hat damit keine 16bit-ablaufmöglichkeiten mehr: er hat nämlich keine command.com.
warum 64bit so wichtig ist bwz. besser wird, steht hier!

(meine) geschichte

wer sich erinnert, vor zwei jahren begab ich mich auf die suche, nach einer möglichkeit, alte dos-programme (da ging es um tsr-programme fürs chinesische, die im hintergrund die tastatur/bildschirm/druck
-eingabe/ausgabe umlenkten) doch noch unter wxp (32bit) zu fahren.
nein, es gab keinen weg. die "DOSbox" [dazu kommen wir noch später] war leider keine möglichkeit. dieses war der anlass, etwas für cjk-sprachen unter a99 (=32bit) entwickeln zu müssen. nach 1 jahr entwicklungszeit ist das ja auch ganz gut gelungen: mit allegro-utf8. ich dachte, mit der DOSbox oder dem "zwang", doch noch eine (alte) 16bit-ablaufmöglichkeit auf einem 64bit-Betriebssystem haben zu müssen, würde ich nichts mehr zu tun haben. es war falsch gedacht!

(meine) bedürfnisse und deren da draussen

gerade einer der weltweitstärksten(?) laptops ist von lenovo gekauft: ein T510 (i7 2,66 quad). mit w7 in der 64bitfassung.
wennschondennschon: man kauft einfach nicht mehr 32bit-betriebssysteme.
wenn man mal genauer hinschaut, da draussen, die (teureren) büromaschinen haben alle seit letztem jahr 64bitter zu laufen. a99 und co machen keine probleme. für srch und update (beide 16bit-exe's) gibt es alternativen (=srch/update.job). die kleinen 16bit-helferlein, die allegro so noch im hintergrund hatte sind (fast?) alle umgestellt.
zumindestens ist die allegrodistribution aus der allegro-werkstatt voll 64bit-fähig (sagen wir gerechterweise: "32bit-fähig"). aber wie wird sie erzeugt? in einem dosfenster! unter 16bit. da sind noch soviele kleine externen helfer, die eben nicht auf 32bit umgestellt sind.
UND DAS IST DAS PROBLEM. Hierzu gesellt sich der wunsch von anderen anwendern, die fragen stellen wie: was mache ich mit (dos-)alf un (dos-)order?
natürlich ist es immer besser zu "migrieren". also von dos-alf zu win-alf zu gehen. der weg ist nicht einfach, vor allem im laufenden betrieb. deshalb mein angebot zur problemlösung: die "DOSbox"!

die DOSbox als lauffähige lösung unter 64bit

www.dosbox.com. schon viele jahre in der entwicklung, die computerfans wollen schliesslich ihre unschlagbaren games, die nur unter doslaufen, spielen: wer erinnert sich an quake? wolfenstein? und soweiter.... die installation war früher mühsam (ich kam damit schon mal vor 3-5 jahren in berührung), heute ist sie eher als einfach zu sehen. und mit ein paar vorher bereits ausgelebten tip(p)s, kommen wir auch zu einem brauchbaren ergebnis.

tips, download, installation:

-download: http://www.dosbox.com/download.php?main=1
die deutsche shell dazu: http://www.dosbox.com/tools/DOSBox-german-lang-0.73.zip
-tips: leider fehlt etwas ganz wichtiges (in meinen augen!): ein xcopy!
xcopy ist ein externer dos-befehl, es gibt oder besser gab: eine externe erweiterung: xxcopy.exe (bei http://www.xxcopy.com/xcpydnld.htm). aber es gibt m.W. kein 16bit-xxcopy.exe dort mehr. wer in seinen alten vorräten wühlt, wird vielleicht ein 16bit-xxcopy.exe noch finden. wer es nicht findet, fragt bei mir nach.
in die letzte zeile der dosbox.conf kan man bei [autoexec] die starterei definieren. ich habe da nur wenige einträge:
mount f c:\fallegro
f:
der mountbefehl erinnert an subst.exe!
es exisiert ein verzeichnis auf c: das heisst \fallegro. in diesen verzeichnis packe ich meine installation hin, die auf f: dann abläuft.
f: bedeutet einfach nur den aufruf, daß f:\ jetzt ausgangsbasis ist. [mount c c:\callegro habe ich NICHT ausprobiert!]
-installation: die installation ist nicht weiter schwer. die einzige datei, die es leicth zu verändern gilt, ist die dosbox-0.74.conf (sie liegt auf c:\users\%username%\appdata\local\dosbox ! dorthin gehört auch die "deutsche shell" kopiert).

beobachtungen:

-xxcopy: unter dos war man gewohnt: "xcopy *" macht auch "xxcopy *.*" . für xxcopy muss man excplicit setzen "xxcopy *.*" (aber: macht xxcopy auch damit auch "xxcopy *"???) [es gilt: ausprobieren!]
-commandozeile: mit TAB ergänzt man befehle
-batches: sprungmarken dürfen die länge von 10 nicht überschreiten [s.a. meine allegro-listen-email dazu], bei msdos ist es kein problem. (der rest, größer als 10, wird nicht berücksichtigt!); in der DOSBox bekommt man eine exakte fehlermeldung. SEHR GUT! zu den fehlermeldungen.
-fehlermeldungen: es gibt ein zweites fenster, in dem man seine fehler sieht! GENIAL
-das kann DOSbox: copy c:\test\ALLEGRO\cat\cat.adx f:\test\ALLEGRO\%1\%1.adx
-das kann DOXbox (leider) nicht: copy c:\test\ALLEGRO\cat\cat.* f:\test\ALLEGRO\%1\%1.* wobei %1 z.b. zzz ist. sie kann also das * als Platzhalter nicht auflösen. man muß das * explicit aufdröseln ;-( gut: das ist a bissel schreibarbeit......ob DOXbox die for-schleife kann, weiss ich noch nicht, ich vermute: eher nein ;-(  ]
-offzielle DOSbox v0.74: macht mir kopfzerbrechen. sie kann einiges nicht, auf das "batcher" viel wert legen!
-die DOSBox_Megabuild5: auf http://home.arcor.de/h-a-l-9000/mb4.html  [basis auf v0.73!] ist eine anders kompilierte (auf dos-batch getunte) DOSbox. sie kann files (aus der config.sys) in der conf setzen!!!! das ist für dos-alf/order lebenswichtigst!
-die DOSBox_Megabuild5: auf http://home.arcor.de/h-a-l-9000/mb4.html kann noch mehr:  (allerdings nicht gegengetestet bei der offiziellen v0.74): ein set-befehl mit WEIT über 127 zeichen kann sich die DOSbox MB5 merken. d.h. der shell-befehl mit /E:2048 ist damit auch erledigt!
-xcopy: auf das externe Hilfsprogramm ist besser zu verzichten. verzeichnisbäume mit z.b. 5 hierarchien und einigens 1000 dateien werden nicht sauber (ohne fehlermeldung!) kopiert/erzeugt. Nachteil: statt mit xcopy nur eine zeile, hat man mit copy sehr viele einzelzeilen. aber: der interne copy-befehl ist sauschnell!

bemerkungen:

die DOSBox ist optmiert für (alte) dos-spiele. stichworte: frameskip, cycles.
sie macht mir einen recht schnellen eindruck. sie ist evtl noch optmierbar für die bedürfnisse, die ein allegro-programm hat der mem-befehl ergibt: 623k freier konvent. speicher (63kb frei im UMB). 15MB frei im XMS. 15MB frei im EMS [das sind paradiesische zustände!!!!]
nebenbei: die DOSbox gibt es auch für (gentoo)linux, BSD und als Source-Code.
die obigen beobachtungen zusammengefasst: die DOSbox ist ein vollwertiger ersatz für command.com. sie ist lauffähig in einem 64bit-Betriebssystem. die benefits, die man aus früheren config.sys bekommen hat: sind eingebaut, bzw werden durch andere features ausgeglichen: himem.sys, files(255), comspec (/E:2048). extrem positiv: eine befehlszeile kann länger als 127 zeichen sein (wie lang maximal?). der dos-speicher ist überdimensioniert mit 623k freier konvent. speicher. aber: verzicht auf xcopy, verzicht auf * als Platzhalter (vermutlich gilt das für das ? auch...)

für mich offene fragen (probleme):

[erledigt]hat die DOSbox den umfang des alten 16bit-commando.com? ich meine den shell-befehl mit /E:2048? was ist mit files=??? [s.o. den text]
[erledigt]wie lang darf eine batchzeile sein? (command.com: nie länger als 126zeichen!) [erheblich länger als 127 zeichen!]

die internen befehle: copy, del, usw sind alle -gewohnheitsmäßig-korrekt abgebildet. ich bekomme derzeit noch fehlermeldungen im (zweiten) fehlermeldungsfenster, das ist extrem gut!

[erledigt]kann man EMS abschalten? und dafür XMS behalten!? [ja man kann!]

 

aussichten:

(noch) halte ich es für eine brauchbare möglichkeit, 16-programme unter 64bit ablaufenzulassen: dos-alf/dos-order.
(mich) interessiert hier erstmal nur die möglichkeit, meine installations/kompilierungsroutinen im 16bit-fenster ablaufen zu lassen. ein weiterleben für dosalf/dosorder kommt für mich als allegro-supporter NICHT In frage. man bekommt mit der DOSbox vermutlich nur eine "gnadenfrist". dosalf/dosorder werden irgendwann mal kräftig krachen! es ist aber erstmal eine alternative! für eine übergangszeit!

irrungen und wirrungen (frei nach fontane)

-4dos: die weiterentwicklung von 4dos wurde von JP-software übernommen. sie bieten KEINE ersatzshell an, die man in einem 64bitter als ersatz für command.com einbauen kann (das ist ein falscher weg, den ich soeben ausprobiert habe) ;-)