"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Standard DOS COM-Port confg?

syphiliz 08.02.2005 - 00:55 737 8
Posts

syphiliz

blubb.banane
Avatar
Registered: Mar 2001
Location: AT
Posts: 1323
hab da ein uraltes config tool für meine noch urältere telefonanlage, das noch unter dos läuft, was mir einige probleme bereitet, da ich nicht so ins dos komm, wie ichs brauch..aber egal.

das programm funzt unter xp und 2k zwar an und für sich, nur bei der kommunikation mit der anlage haut das nicht hin, da der com port anscheinend ned richtig konfiguriert ist. also meine eigentliche frage:

wie is der com-port standardmäßig zu dos zeiten konfigurioert gewesen?

unter 2k und xp is es:

9600 bps
Datenbits: 8
Parität: Keine
Stop-Bits: 1
Fussteuerung: Keine

...und das workt wie gesagt nicht.

hat da irgenwer ne ahnug?

tia, mfg syph

PHaX

Little Overclocker
Avatar
Registered: Oct 2001
Location: Vienna
Posts: 53
Ich habe noch ein bisschen alten Pascal Code aufgetrieben.
Du müsstest den unter DOS compilieren und ausführen - der sollte alle COM Ports auflisten. Bei Bedarf kann ich dir auch eine compilierte Version zukommen lassen.

Code:
uses crt;
const z:string=('0123456789ABCDEF');
      w=#13#10;
      x:string=('COM Info Ver. 1.23'+w+w+w+w+
                'Addr'+w+'Timeout'+w+'Baud'+w+
                'Parit„t'+w+'D-Bits'+w+'S-Bits'
                +w+'CD'+w+'RI'+w+'DSR'+w+'CTS');
var a,b:longint;
    p,l,m,n,i,j:byte;

function g(b,w:byte):boolean;
begin
  g:=false;
  j:=1 shl b;
  if w and j=j then
    g:=true;
end;

begin
  clrscr;
  writeln(x);
  for i:=0 to 3 do
  begin
    window(i*7+9,3,80,25);
    a:=memw[$40:i*2];
    if a>0 then
    begin
      writeln('COM',i+1,w,'======',w,'$',
              z[hi(a) div 16+1]+z[hi(a) mod 16+1]+
              z[lo(a) div 16+1]+z[lo(a) mod 16+1],
              w,mem[$40:$7c+i]);
      m:=port[a+4];
      l:=port[a+6];
      p:=port[a+3];
      port[a+3]:=128;
      b:=port[a+1] shl 8 or port[a+0];
      port[a+3]:=p;
      port[a+4]:=m;
      inline($b8/0/0/$cd/$33);
      writeln(115200 div b);
      if g(3,p) then
      begin
        if g(4,p) then
          writeln('G')
        else
          writeln('U');
      end
      else
        writeln('K');
      if g(0,p) and g(1,p) then
        m:=8
      else
        if g(1,p) then
          m:=7
        else
          if g(0,p) then
            m:=6
          else
            m:=5;
      if g(2,p) then
        n:=2
      else
        n:=1;
      writeln(m,w,n);
      writeln(g(7,l),w,g(6,l),w,g(5,l),w,g(4,l));
    end;
  end;
  window(1,1,80,25);
  gotoxy(1,24);
end.

syphiliz

blubb.banane
Avatar
Registered: Mar 2001
Location: AT
Posts: 1323
hmm irgendwie machts troubles, dass ich nur 1 com port hab...

//edit: ok, das geht jetzt...aber die werte, die ausgegeben werden funzen nicht :(
Bearbeitet von syphiliz am 08.02.2005, 12:19

PHaX

Little Overclocker
Avatar
Registered: Oct 2001
Location: Vienna
Posts: 53
Hast du es unter Windows oder direkt und plain DOS ausprobiert?

Master99

verträumter realist
Avatar
Registered: Jul 2001
Location: vie/grz
Posts: 12684
dass ein altes dos-programm nicht auf den comport zugreifen kann wenn dieses unter nt/2k/xp ausgeführt werden kann is klar, da viele sachen aus sicherheitsgründen gesperrt sind bzw. halt einfach anders angesprochen werden müssen.

versuch das ding mal unter nem reinen dos oder win9x

syphiliz

blubb.banane
Avatar
Registered: Mar 2001
Location: AT
Posts: 1323
das problem war, wie oben schon angedeutet, dass ich gestern um 1h keine windows 9x cd, auftreiben konnte. floppy hab ich zwar noch in meinem filer...aber keine floppies :)

und mit der nero bootcd (ganz nettes calendra dr-dos) kann ich mich zwar mit der anlage connecten und die config runterladen, aber ich kann sie nicht speichern, weil alle partitionen ntfs sind, die ich zwar lesen, aber nicht beschreiben kann...

hinbekommen hab ichs dann trotzdem...hab einfach bis halb drei in diversen kisten/kästen/etc. nach floppies gewühlt und finally noch word 4.0 für mac gefunden :cool:

auf die floppy konnt ich dann schreiben und so hats dan gefuntz...aber ein bissl umständlich ist die lösung schon.

wenn ich im dos den COM port mit "1200,E,7,1" konfigurier gehts...
wenn ich das gleiche im windows mach gehts nicht...und das beste: wenn ich den com port configuriere, das programm ausführ, und danach den comport wieder check steht irgendein quargl dort wie "1200,N,8,1" oder "9600,O,5,1,P" aber nicht das, was ich eingstellt hab. naja, is halt ein dos und kein win proggie :rolleyes:

PHaX

Little Overclocker
Avatar
Registered: Oct 2001
Location: Vienna
Posts: 53
Das Proggy ist leider nicht von mir - habs nur in meiner Sammlung gefunden. Ich kann leider nicht ausschließen das es buggy ist, da ich selber nie am COM Port programmiert hab. Sorry.

xdfk

pädagogisch wertvoll
Avatar
Registered: Sep 2000
Location: Graz
Posts: 6441
nimm vmware und installier dir als guest ein dos. (gibt es gratis dos versionen, vmware als trial is auch gratis)
danach forwardest du den com1 vom host an den com1 des guest os und du kannst wie gewohnt arbeiten.
achtung NICHT MS Virtual PC verwenden. das hat bei mir daten bei der uebertragung korumpiert!

syphiliz

blubb.banane
Avatar
Registered: Mar 2001
Location: AT
Posts: 1323
Zitat von xdfk
nimm vmware und installier dir als guest ein dos. (gibt es gratis dos versionen, vmware als trial is auch gratis)
danach forwardest du den com1 vom host an den com1 des guest os und du kannst wie gewohnt arbeiten.
achtung NICHT MS Virtual PC verwenden. das hat bei mir daten bei der uebertragung korumpiert!

boah, geil! :)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz