PCFreak Logo (c) Der PCFreak

Archive for the 'DOS' Category


DOS Programm mit Parallel Dongle unter Windows (BOSCH Professional Integrator) Kommentare deaktiviert für DOS Programm mit Parallel Dongle unter Windows (BOSCH Professional Integrator)

Ich hatte kürzlich die Anforderung, dass ein uraltes DOS Programm (aus dem Februar 1997) unter Windows laufen sollte. Problem an der ganzen Sache war aber, dass die Software mit einem Hardware-Dongle am Parallelport geschützt war. Ich nehme gleich mal vorweg, dass dieser Typ Dongle definitiv nicht über ein USB-to-Parallel-Kabel funktioniert. Es war also schon mal ein Rechner mit einem physikalischen Parallelport notwendig (oder über Dockingstation, nativ durchgeschleift). Ich hatte ein Testlaptop mit Windows XP Professional und einem „echten“ Parallelport.

Ich dachte sofort in Richtung DOSBox, da ich damit früher die „guten“ DOS-Spiele wunderbar unter Windows zum Laufen bekommen habe, leider ist in der aktuellen Version aber eine Einbindung der Parallelschnittstelle nicht implementiert. Durch ein wenig „rumgooglen“ bekam ich dann aber heraus, dass es diverse Modifikationen der DOSBox gibt, zum einen die SVN-Builds und erstmal erwähnt wurde eine Dongle-/Parallelport-Emulation in den sogenannten „Megabuilds von ha-a-l-9000„. Ich habe mich dann entschieden, die Version DOSBox SVN Daum (1. 7. 2013) For Windows zu nutzen, da sie ein nettes grafische Frontend und die Unterstützung für Netzwerk, Parallelport und Dongle implementiert hat.

Die Einrichtung ging ganz problemlos über das mitgelieferte GUI, letztendlich landen aber alle Informationen in der Konfigurationsdatei „dosbox.conf“. Bei meiner speziellen Software (BOSCH Professional Integrator), funktionierte der Dongle aber nur dann, wenn ich die oben erwähnte Dongle-Funktion nicht aktiviert habe, aber sei es drum. Der Dongle am Parallelport wurde durch folgende Einträge in der Konfigurationsdatei perfekt erkannt und die Software lief perfekt!

[parallel]
parallel1=reallpt realbase 378
parallel2=disabled
parallel3=disabled
dongle=false

Im BIOS muss der Parallelport auf ECP-Modus stehen und unter Windows waren folgende Einstellungen gesetzt:
Device Manager –> Ports (COM & LPT) –> ECP Printer Port (LPT1) –> Port Settings
[ ] Try not to use an interrupt
[x] never use an interrupt
[ ] Use any interrupt assigned to the port
[ ] Enable legay Plug and Play detection
LPT Port Number: LPT1
Device Manager –> Ports (COM & LPT) –> ECP Printer Port (LPT1) –> Resources
I/O Range 0378 – 037F
I/O Range 0778 – 077A

Hier noch ein Screenshot.

profi 000

 

Was definitiv nicht geht (und das wird wohl mit den meisten Parallel-Dongles so sein), ist die Benutzung eines USB-2-Parallel-Adapters für den Dongle und der Versuch diesen dann als nativen LPT-Port in die DOSBox zu mappen.

Update 29.05.2015
Mit der oben beschriebenen Version von DOSBox konnte ich mit einem HP-Laptop (EliteBook 8560w) in Verbindung mit einer passenden Original-HP-Dockingstation die Bosch „profi.exe“  mit einem am Parallelport der Dockingstation angeschlossenen Parallel-Dongle nutzen und über die serielle Schnittstelle (ebenfalls an der Dockingstation) sauber mit einer SPS kommunizieren.
Nebenbei erwähnt, das Ganze unter Windows 8.1 Enterprise (DOSBox muss als Administrator gestartet werden).

Es ist also möglich (passender Dongle vorausgesetzt) mit Windows 8 + DOSBox auch im Jahre 2015 noch diese alten Steuerungen zu programmieren!

Update 13.01.2017

Ein Leser meines Blogs (Roger) hinterließ mir einen Kommentar, dass er Probleme hat einen Windows Drucker mit DOSBox zum Laufen zu bringen. Nach einigen Emails konnte Roger das Problem dann aber lösen und ich möchte hier kurz die Lösung aufzeigen. Wichtiger Hinweis vorweg, es gibt verschiedene Builds von DOSBox, besonders die „Megabuilds“ von hier enthalten spezielle Patche z.B. auch für „Parallel Port passthrough, file rediredtion and Virtual Printer patch, logging enabled“. Roger konnte durch den Einsatz eines solchen „Megabuilds“ und der richtigen Einstellung in dosbox.conf einen Drucker in Funktion bringen, der am Hostsystem (Windows 7) über eine PCI-Parallel-Karte am System steckt.

Der Windows 7 Gerätemanager zeigte unter „Anschlüsse (COM & LPT)“, „PCI ECP Parallel Port (LPT1)“ folgende Werte:

Windows 7 ECP Parallel

In die dosbox.conf mussten (lt. Auskunft Roger) folgende Werte hinein:

parallel1=reallpt realbase:e800 ecpbase:e800

und es funktioniert nun.

Danke Roger fürs Feedback!

Dropbox Uploader für die Windows Shell – cmd.exe 2

Aktualisierung vom 20.09.2012.

Dropbox hat seine API geändert. Der Zugriff muss nun per Token erfolgen. Andrea Fabrizi hat wie immer ein tolls Script für Linux geschrieben. Danke der Hilfe von Drazen Petrek kann man nun Andrea’s Skript direkt auch unter Windows verwenden. Es ist lediglich eine minimale Cygwin-Umgebung und eine kleine Batch-Datei notwendig.

Alle notwendigen Files habe ich zusammengezippt und sie hier zum Download bereitgestellt.

PCFreak 2012

Dieser Artikel wurde bereits im Juni 2011 geschrieben und ist nicht mehr gültig!
Kürzlich musste ich auf der Kommandozeile (unter Windows) etwas in eine Dropbox laden. Ich fand jedoch nur ein BASH-Skript (Linux) von Andrea Fabrizi im Dropbox Wiki. Also musste ich mir selbst was schreiben. Einige Tage später hatte ich es geschafft, eine Batch-Datei zu basteln, die unter Zuhilfename einiger freier Tools (curl.exe|grep.exe|sed.exe|tr.exe|libeay32.dll|libiconv2.dll|libintl3.dll|libssl32.dll|pcre3.dll|regex2.dll) in der Lage ist einen Dropbox Upload aus einer cmd.exe heraus zu tätigen.

Ich habe das Skript im Dropbox Addon Wiki veröffentlicht, ihr könnt hier die Details nachlesen.

Flash Seagate Barracuda Firmware with UNetbootin FreeDOS from USB stick 1

I recently had to flash my Seagate Barracuda drive’s firmware to the latest version. On the Seagate site I found this page to download a windows executable that will do the job. The only problem was, that the drive sits in my HP Microserver and I have no windows operating system there to boot and to run the windows executable to flash the drive.

As I found out, the updater will create some kind of boot loader (powered by Acronis) to flash the drive during the next (initiated by the installer) reboot.

I needed to flash a harddrive on a different machine, that is not able to execute the windows binary Barracuda12-ALL-CC49.EXE.

I extracted Barracuda12-ALL-CC49.EXE with Universal Extractor to the folder „Barracuda12-ALL-CC49“, where I found a lot of files.

The interesting one was config.xml. In it I found the following lines:

  <executable parameters=“7″>WAIT.COM</executable>
  <executable parameters=““>STXLOGO.RUN</executable>
  <executable parameters=“3″>WAIT.COM</executable>
  <executable parameters=““>SEAENUMA.EXE</executable>
  <executable parameters=“5″>WAIT.COM</executable>
  <executable parameters=“>nul“>CADEL.COM</executable>
  <executable parameters=“-s -x -b -v -a 20 -h PH-CC49.CFS“>FDL497A.EXE</executable>
  <executable parameters=“5″>WAIT.COM</executable>

so I created a batch file „flash.bat“ with the following content from the above lines putting together the correct commands with the right parameters:

  CLS
  WAIT.COM 3
  SEAENUMA.EXE
  WAIT.COM 5
  CADEL.COM >NUL
  FDL497A.EXE -s -x -b -v -a 20 -h PH-CC49.CFS
  WAIT.COM 5

and saved it in the same folder as the extracted files. If you have a different drive model or firmware version you have to change the lines a little bit according to your needs.

After that I created a FreeDOS Boot-USB-Stick with UNetbootin and copied all the files to a folder „seagate“ onto the USB stick.

I booted from the stick and selected the option „2. FreeDOS Safe Mode (don’t load any drivers)“ which emulates a clean FreeDOS boot floppy emulation. At the prompt then I jumped to the C-Drive (which is the root of the USB stick) and executed the flash.bat.

  A:> C:
  CD seagate
  FLASH.BAT

The firmware update went fine. After that I powered off (do not reset) my machine and re powered it. Voila the firmware has been flashed successfully.

Kommandozeilen Gerätemanager devcon.exe für Windows 7 2

Ich habe unter Windows XP für bestimmte Aufgaben den bei Microsoft zum Download erhältlichen Kommandozeilen-Gerätemanager „devcon.exe“ lieb gewonnen. Nun will ich natürlich unter Windows 7 nicht auf dessen Funktionalität verzichten, doch leider gibt es keinen direkten Download für Windows 7 x86 oder Windows 7 x64.
Es gibt dennoch eine Möglichkeit, legal an devcon.exe zu kommen.

Mittlerweile ist „devcon.exe“ auch als direkter Download bei Microsoft erhältlich. (Danke an Michael). Den Download gibt es hier.
Um auch an die 64bit Variante zukommen lädt man sich bei Microsoft den Windows Driver Kit Version 7.1.0 als ISO (GRMWDK_EN_7600_1.ISO) herunter und brennt (oder mounted) es.

Auf der CD befindet sich devcon.exe sowohl für ia64, x64 und x86, man muss sie nur finden!

Im Unterordner „WDK“ auf der CD befinden sich die Dateien

setuptools_x64fre_cab001.cab
setuptools_x86fre_cab001.cab
setuptools_ia64fre_cab001.cab

für die entsprechende Plattform (x64, x86 oder ia64). Diese CAB-Datei kann man mit handelsüblichen Programmen entpacken. Darin enthalten ist dann jeweils die Datei

_devcon.exe_00000

Diese muss man umbenennen in

devcon.exe

und schon hat man den Gerätemanager für die Kommandozeile auch unter Windows 7 (vmtl. auch Server 2008 R2 kompatibel) verfügbar.
Leider ist der Download der CD mit 619MB nicht gerade klein, aber was solls.

Tiny remote control for DOS 1

TinyClient in action

Ein Arbeitskollege benötigte unbedingt eine simple Remote-Control Lösung für DOS welche nicht viel Speicher verbraucht. Nachdem die Suche nach einem Telnet-Daemon für DOS ohne Erfolg war, stieß ich auf das nette Tool „Tiny Remote Control for DOS“.

Es besteht aus einem Host (Server) für den Novell-Stack oder PCTCP-Stack. Man bindet also zunächst den Host in die entsprechende DOS Konfiguration ein und startet dann den Client, welcher eine Java-Applikation ist. – Voila schon kann man sein entferntes DOS-System fernsteuern.

Das Programm arbeitet über UDP und ist sehr performant. Der Autor hat sich extrem viel Arbeit für den Client gemacht. Er hat aus einer alten Grafikkarte die Schriftarten- und Font-Tabelle extrahiert, damit das Abbild des Hosts wirklich 1:1 dargestellt werden konnte.

Wer das Programm schnell mal testen will, der kann sich einfach ein fertiges Floppy-Image für Virtual-PC von der Homepage herunterladen, damit kann man sofort einen funktionsfähigen Host starten, der per DHCP eine IP-Adresse bezieht. Dann noch schnell auf einem Java-GUI kompatiblen System ein „java -jar TinyClient.jar [ip.of.the.host] [passwort]“ und schon gehts los.

Da ich Virtual-PC nicht verwende, habe ich das Floppy Image mit dem Treiber für VMWare angepasst und alles lief ebenfalls einwandfrei.

Link: Tiny remote control for DOS