Liebes Forum, ich habe obiges Gerät überlassen bekommen, das schon relativ alt ist. Leider fehlt die Software. Es dürfte sich um Disketten für MS-DOS handeln. Hat jemand dasselbe Gerät und wäre bereit, die Software zu teilen? Ich würde mich sehr freuen. Viele Grüße Christian P.S. Das Vergehen des Crosspostings wird ja evtl etwas kleiner, wenn man es zugibt. Ich habe hier ebenso gefragt: https://www.klangfuzzis.de/threads/messsystem-kemsonic-ams-pc-1656-software-gesucht.107918/ Bei den Car-Audio-Leuten könnte ein solch eher kostengünstiges Gerät Zuspruch gefunden haben. Profis haben sowieso seit Jahr und Tag AP (Audio Precision)....
Offensichtlich kann sich leider niemand an das Gerät erinnern. Oft werden Erinnerungen ja aufgefrischt, wenn man Bilder sieht. Deswegen liefere ich einige Aufnahmen nach. Es wäre schade, wenn ich das Gerät nur wegen der fehlenden Software entsorgen muss. Und: Auch wenn es mal günstiger war als ein "AP", für viele Zwecke erfüllt es bestimmt noch gut seinen Zweck. Grüße Christian
Kannst Du einen Dump von dem EPROM machen und hier reinstellen? Eventuell kann man daraus etwas zum Protokoll zwischen PC und Gerät ableiten.
Ich habe der Vollständigkeit halber mal das EPROM ausgelesen. Aber ob man an dem 8051-Binärcode so viel erkennen kann? Irgendwie bin ich skeptisch. Aber trotzdem Danke für die Anregung. Grüße Christian
Der Code im Mikrocontroller ist überschaubar, das Problem dürfte das Verständnis der Hardware sein. Vom Mikrocontroller wird über Port 1 die Hardware angesteuert, die unteren 4 Bit werden bei einem Kommando an die Hardware nur kurz gesetzt, die oberen 4 Bit bleiben stehen. Das sieht dann z.B. so aus:
1 | mov P1, #0xF0 |
2 | mov P1, #0xF5 |
3 | mov P1, #0xF0 |
Das PC Programm schickt im Prinzip das was auf diese Art ausgegeben wird. Die Frage ist wieviel Aufwand es ist die Hardware zu verstehen.
:
Bearbeitet durch User
Das Eprom ist weitgehend leer. Die FW wurde in Assembler geschrieben. Das kann man daran erkennen weil der ext irq R1,R2 und R4 benutzt ohne die Regs zu sichern. Bei 0x500 gibt es eine 4 Byte Tabelle mit Steuer Informationen. Die Firmware wählt aus insgesamt 12 Funktionen je nach RS232 Kommando die Einstellungen aus Falls Interesse besteht kann das Assembly aus IDA einstellen.
Thomas Z. schrieb: > > Bei 0x500 gibt es eine 4 Byte Tabelle mit Steuer Informationen. Die > Firmware wählt aus insgesamt 12 Funktionen je nach RS232 Kommando die > Einstellungen aus Das ist nichts spannendes, es sind lediglich die Werte für eine geschachtelte Warteschleife an anderer Stelle. Der eigentlich interessante Teil sind die Ausgaben an Port 1, die Logik dafür steckt aber in dem PC/Atari ST Programm. Die Messwerte werden sehr wahrscheinlich indirekt per Zeit/Frequenzmessung erfasst, dafür ist dann wohl der VFC (Voltage to Frequency Converter) in der Beschreibung des Funktionsprinzips.
Nochmal zu Port 1 in der Firmware: wenn man etwas genauer hinschaut sind wohl die unteren 4 Bits die Registernummer (wobei es Register 0 nicht gibt) und die oberen 4 Bits der Wert, der in das jeweilige Register geschrieben wird. Aus dem Bild "Meßprozessor 1656 Funktionsweise" (leider nur eine Seite davon, der Rest wäre ebenfalls interessant) kann man in etwa ableiten welche Register es gibt, wobei der 8-Bit Wert für den DAC vermutlich aus zwei Registern kommt (es sieht in der Firmware so aus als ob das Register 1 und 2 sein könnten). Mit ein wenig experimentieren indem man die Register per RS-232 beschreibt und messen an der Schaltung sollte sich mit überschaubarem Aufwand herausfinden lassen was die Register machen.
:
Bearbeitet durch User
Hallo Dieter und Thomas! Vielen lieben Dank für eure Anregungen an Dis-Assembling und Reverse-Engineering. Was ihr aus dem 8051-Binary herauslesen könnt, ist schon erstaunlich und plausibel!. Mir kommen dann auch Ideen. Allerdings läuft dann alles auf ein "Neuschreiben" der Software hinaus, was eindeutig zu viel Aufwand ist. Heute morgen (vor einer guten Stunde) hat ein (ex-)User des Geräts auf Klangfuzzis.de einen Dropbox-Link mit der originalen DOS-Software gepostet. Die teste ich jetzt erstmal. Herzliches Dankeschön fürs Hineindenken in meine Probleme! Grüße Christian
Christian S. schrieb: > der originalen DOS-Software es wäre gut wenn du die hier einstellen würdest, dann haben andere Suchende auch was davon. Noch ein Hinweis zur FW: Es wird wohl A12 des Eproms umgeschaltet. Es gibt ab 0x1000 einen 2 Satz weitgehend gleicher Funktionen. Das erklärt auch die Lücken im Code und die Verwendung von ACALL.
Thomas Z. schrieb: > > Noch ein Hinweis zur FW: > Es wird wohl A12 des Eproms umgeschaltet. Es gibt ab 0x1000 einen 2 Satz > weitgehend gleicher Funktionen. Der wichtigste Unterschied ist dass die zweite Variante ab 0x1000 mit Echo bei der RS-232 Kommunikation arbeitet (also z.B. ein empfangenes Byte zum PC zurückschickt). In der PC Software gibt es ein Flag dass die RS-232 Funktionen entsprechend umschalten kann, allerdings sieht es auf den ersten Blick so aus als ob dieses Flag in der Software einen vorgegebenen Wert erhält. Nachtrag: der Wert für das Echo-Flag steht auch in der Konfigurationsdatei "CONFIG.AMS".
:
Bearbeitet durch User
Kurz als Ergänzung zur Firmware: Wenn man sich anschaut was die PC Software macht sieht man dass die obige Annahme zu den Ausgaben an Port 1 stimmt. Die Tabelle in der Firmware für die Parameter der Warteschleife ist die Messzeit, nachdem die beiden Register 1 und 2 des 8-Bit DAC für die Frequenzeinstellung gesetzt wurden wartet die Firmware entsprechend der Messzeit und schickt dann das Ergebnis der Zeit/Frequenzmessung (entspricht dem gemessenen Pegel). Das sieht dann in etwa so auf der RS-232 aus wenn man eine Messung durchführt (siehe Screenshot der PC Software):
1 | F8 -> Register 8 auf 0xF |
2 | 89 -> Register 9 auf 0x8 |
3 | 10 B0 -> Messzeit 128 ms |
4 | 02 01 -> DAC auf 0x00 (40000.0 Hz) |
5 | |
6 | A3 -> Register 3 auf 0xA |
7 | 84 -> Register 4 auf 0x8 |
8 | 85 -> Register 5 auf 0x8 |
9 | 10 B0 -> Messzeit 128 ms |
10 | |
11 | 02 01 -> DAC auf 0x00 (40000.0 Hz) |
12 | 02 01 -> DAC auf 0x00 (40000.0 Hz) |
13 | 02 11 -> DAC auf 0x01 (38637.5 Hz) |
14 | 02 21 -> DAC auf 0x02 (37321.3 Hz) |
15 | 02 31 -> DAC auf 0x03 (36050.0 Hz) |
16 | ... |
17 | E2 F1 -> DAC auf 0xEF ( 10.1 Hz) |
18 | F2 01 -> DAC auf 0xF0 ( 9.8 Hz) |
19 | |
20 | A3 -> Register 3 auf 0xA |
21 | 35 -> Register 5 auf 0x3 |
Das ist für die Variante ohne Echo auf der RS-232, nach dem Setzen des DAC und Ablauf der Messzeit würde jeweils das Ergebnis der Zeitmessung zum PC geschickt werden. Es gibt auch noch andere Messvarianten, das ist die einfachste. Falls man vorhaben sollte das Gerät mit eigener Software zu nutzen wäre das also durchaus machbar.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.