Beiträge von fritzeflink

    Am PROF-181 habe ich bisher nicht weiter gearbeitet, da ich noch ein offenes Projekt

    Verständlich und lass dich nicht von mir drängeln. :)

    Da ich sozusagen in Rente bin habe ich bestimmt etwas mehr Zeit für mein Hobby.



    Mein Prof-181X hat ja ein CRC Problem und da ist ein zweites System womöglich mehr als hilfreich zur Fehlersuche.

    Ich habe aber die etwas freie Montage des 16MHz Quarzoszillators in Verdacht, neue sind bestellt.

    Ich habe mal deine ZIP ausgepakt.


    Das kaypro.dsk file ist kein raw imagefile sondern ein SAMDISK file. Ich weiss nicht ob die cpmtools das lesen können aber das steht hier wohl auch drin.

    Ich selber nutze bei den cpmtools nur RAW Images von IMD da ich dazu auch passende Hardware habe.


    CPMTOOLS wird mit Images genutzt, weshalb die Daten in Reihe (?) hintereinander sein sollten.

    Ergänzung: Wenn als Image mit den LIBDISK erstellt wurde passen die Datenreihenfolge in den Images womöglich, ein

    Image mit IMD macht dabei sicherlich Probleme. Ich habe die cpmtools bisher unter Windows und unter linux ohne die

    libdisk genutzt.



    Ich habe aber auch schon diverse Probleme mit der Formatdefinition unter 22disk und den cpmtools

    gehabt die ich nicht immer lösen konnte. Larry konnte aber oft helfen.


    Beim Zugriff auf die reale Diskette mit den LIBDISKS muß natürlich auch auf die Spurlage geachtet werden.


    Aus New LIBDSK definitions require the following information:


    [title]

    description = DESC The description of the format as shown by (for example) dskform–help.

    sidedness =TREATMENT How a double-sided disk is handled.

    This can either be alt (sides alternate – used by most PC-hosted operating systems),

    outback (use side 0 tracks 0-79, then side 1 tracks 79-0 – used by 144FEAT CP/M disks),

    or outout (use side 0 tracks 0-79, then side 1 tracks 0-79 – used by some Acorn formats).

    If the disk is single-sided, this parameter can be omitted.

    cylinders = COUNT Sets the number of cylinders (usually 40 or 80).

    heads = COUNT Sets the number of heads (usually 1 or 2 for single- or double- sided).

    sectors = COUNT Sets the number of sectors per track.

    secbase = NUMBER Sets the first sector number on a track. Usually 1; some Acorn formats use 0.

    secsize = COUNT Sets the size of a sector in bytes. This should be a power of 2.

    datarate = VALUE Sets the rate at which the disk should be accessed. This is one of: HD, DD, SD or ED.

    rwgap = VALUE Sets the read/write gap.

    fmtgap = VALUE Sets the format gap.

    fm = Y or N Sets the recording mode - Y for FM, N for MFM.

    multitrack = Y or N Sets multitrack mode.

    skipdeleted = Y or N Sets whether to skip deleted data.


    The LIBDSK Data rate will be one of:


    RATE_HD, /* Rate for High-density disc - 1.2Mb in 5.25" 96 tpi drive, or 1.44Mb in 3.5" 96 tpi drive */

    RATE_DD, /* Rate for Double-density disc - 360k in 5.25" 48 tpi drive, or 720K in 3.5" 48 tpi drive */

    RATE_SD, /* Rate for Double-density disc - 180k in 5.25" 48 tpi drive, or 360k in 3.5" 48 tpi drive */

    RATE_ED /* Data rate for 2.8Mb 3.5" in 3.5" 96 tpi drive */




    New CPMTOOLS definitions require the following information:


    diskdef title

    seclen xxx #= Sectors xx,1024

    tracks xx #= (Cylinders * Sides) = 80*2 = 160

    sectrk xx #= Sectors 5,xxx

    blocksize xxxx #= (128*(BLM+1)) = 2048

    maxdir xxx #= (DRM+1) = 256

    skew x #= may be 1 thru 6, or so

    boottrk x #= OFS = 2

    os x.x #= 2.2, or 2, or 3

    end



    So, if you know the 22DISK parameters, you can easily fill in the details for LIBDSK & CPMTOOLS. As an

    Werner_8085 hatte den prof-80 in den Fingern und repariert.

    Aktuell mag der prof-80 sich aber nicht an der Konsole melden.


    Ich habe nun in Trockenübung mal die CF-Karte unter YAZE eingebunden.

    P80.zip


    Hier der Lauf:

    So, das Problem mit Check disk ist erledigt.


    Laut der Monitorsource wird mit Kleinbuchstaben die Rückseite getestet. Nachdem ich das gelesen habe kam mir die

    ungewöhnliche Idee doch mal in der Doku nachzuschlagen. Und ja ... dort steht es auch beschrieben.


    Nun gibt es noch einen speziellen Umstand. Die Disketten die ich testete wurden per IMD mit den Systemspuren versehen.

    Hierdurch wurde leider nur eine Seite formatiert, die Rückseite ist Leer. Dadurch kam dann die Fehlermeldung bei Test der Rückseite mit der Eingabe eines Kleinbuchstabens. Ich werde die IMD Bootladerdatei anpassen.


    Wie so oft saß das Problem vor dem Bildschirm und natürlich gilt auch hier wieder ...:rtfm:



    Code
    ;
    CCMD:
    ;TESTET PLATTE IM ANGEGEBENEN LAUFWERK
    ;UND GIBT ERGEBNISSE AUF DEM BILDSCHIRM AUS
    ;LAUFWERKE a,b,c,d ENTSPRECHEN A,B,C,D ES WIRD JEDOCH
    ;DIE RUECKSEITE GETESTET

    Wenn ich die die Laufwerksbezeichnung in Großbuchstaben angebe funktioniert der 'C' Befehl ...


    Wenn ich aber mit :B(oot) Drive booten möchte dürfen nur Zahlen angegeben werden.

    Und dass soll ich mir kurz vor der Rente noch merken :neinnein:, oder vielleicht besser den Quellcode zur Abfrage ändern :abrauch: .

    Ich gebe zu, bei täglichem Gebrauch merkt man sich die Kürzel. Aktuell bin ich mal wieder nach einem längeren Zeitraum am Prof.



    Ich wusste doch das war beim Originalrom nicht so.

    Der Monitor sollte eingegebene Kleinbuchstaben in Großbuchstaben umwandeln.


    Aus der Doku:



    Nun muss ich mir doch mal den Quellcode anschauen was da passiert ist.

    Das interne Monitorprogramm vom Prof-181X ist weitgehend identisch zum Prof-180(x)

    Bei einigen Befehlen sind zusätzlich Angaben/Abfragen hinzugekommen.


    Hier die Befehlsübersicht, wobei die Anfangsbuchstaben der Befehl sind (hier der Optik wegen mit einem Punkt getrennt):


    :Help


    following commands are available:


    A.ddress for read (write) from (to) drive

    B.oot CP/M

    C.heck drive

    D.isplay memory

    E.PROM test

    F.ill memory

    G.o to

    H.elp

    K.eyboard mode

    I.n port

    L.ist time

    M.ove memory

    N.ew date and time set

    O.ut port

    R.ead from drive

    S.ubstitute memory

    T.est memory

    U.ser set up

    V.erify memory

    W.rite to drive

    X Register

    Y format disk



    Aktuell wollte ich Disketten und Laufwerke testen. Bei den Disketten zeigt mir der Monitor die Physikalische Formatierung an.

    Der Befehl lautet:


    :

    Check drive d


    Der C-Befehl hat zwei Funktionen:

    Er dient erstens dazu, das Format der Diskette im Laufwerk, das mit ”d” spezifiziert wird, zu erkennen und zweitens ein Laufwerk

    für nachfolgende A-, R- oder W-Befehle einzuloggen.

    Nach Eingabe dieses Befehls werden die ID-Felder auf Spur 1 des angegebenen Laufwerks gelesen.


    Dabei wird folgendes festgestellt:


    Mini oder Maxi-Format

    Pegel des Two-Sided-Signals

    Single" oder Double ensitg

    Anzahl der Bytes pro Sektor

    Erster Sektor auf der Spur

    Letzter Sektor auf der Spur

    Head-ID-Byte des zuletzt gelesenen ID-Feldes

    Ready-Signal wie mit U-Befehl eingestellt



    Terminalausgabe:


    :Check drive a (mit C im monitorprogramm)

    disk format...: maxi

    two sided bit.: low

    density.......: double

    sector size...: #512

    first sector..: #01

    last sector...: #15

    head byte ID..: 01

    ready signal..: yes


    Diese Angaben sind aber nur bei einer gerade neu aus dem Monitorprogramm heraus formatierten Diskette auf dem Bildschirm erschienen.

    Merkwürdigerweise wurde die mit IMD geschriebene Bootdiskette (ja, diese Diskette bootet nach CP/M) mit :Check drive A nicht erkannt.

    Jetzt muss ich mal nach den ID Feldern schauen.

    Es bleibt spannend.



    prof180x_monitor.pdf


    Nein und ich behaupte das Gegenteil.


    Ich muß zugeben, dass ich mich mit der Menge an Kabel, Genderchanger und Variationen ins Bockshorn habe jagen lassen und die Übersicht verlor.

    Zoc tauscht keine TxD/RxD und ja, die sind hardwareabhängig vorgegeben. Allerdings ist ZOC in der Konfiguration eine kleine Zicke.

    Bei ZOC hatte ich an der USB->RS232 Strippe einen DSUB9 Genderchanger der auch Null Modem macht. :fpa:

    Das war leider nicht direkt ersichtlich.


    Abschließende Erkenntnis:


    Zu jedem Schritt Immer Handlungen notieren.


    Am Genie IIIs ist das Netzteil defekt und wird getauscht. Die seriellen Schnittstellenkabel werden auf die notwendigen Adern

    geändert damit keine Versorgungsspannungen unerwünscht anliegen.


    Meine gekauften 0-Modem Kabel werden auf echte RTS/CTS umgelötet.

    Das Schöne ist: Es ist nichts kaputt gegangen - das Problem an der DS47 Kiste war auch ein Kabelproblem.

    Der Prof-80 allerdings hat tatsächlich einen Fehler - der Selbsttest wird nicht korrekt beendet.


    Insgesamt hatten Werner und ich einen lustigen Nachmittag und den heutigen Tag darf ich auch noch im Bastelkeller verweilen. :)

    Achja, auch habe ich wieder etwas zur Bedienung des Hantek USB Oszi gelernt.

    Serial/Modem, wobei mit Serial/Modem TXD/RXD gekreuzt sind.


    Sicher?

    Ich hätte "wobei anscheinend mit Serial/Modem TXD/RXD gekreuzt sind." schreiben sollen.


    Wenn ich heute den "neuen" Hostrechner DS47 installiert habe verifiziere ich das ganze noch mal mit dem Prof-181X.

    Zoc ist aber nur ein Nebenschauplatz. Wichtig war die Ursache der RS232 Nichtfunktion und möglichen Defektes zu finden.



    aus ZOC Handbuch:

    Unterschied zwischen Serial/Direct und Serial/Modem


    Auf den ersten Blick erscheinen die Verbindungstypen Serial/Direct und Serial/Modem sehr ähnlich. Der

    entscheidende Unterschied ist wie folgt:

    Serial/Direct dient dazu, mit einem lokalen Gerät (Router, Microcontroller, etc.) zu kommunizieren, das

    direkt an einen seriellen Port des Rechners angeschlossen ist.

    Serial/Modem hingegen dient dazu, mit einem entfernten Rechner zu kommunizieren. Das am seriellen Port

    angeschlossene Gerät (Modem) dient hier lediglich dem Verbindungsaufbau und ist nicht das primäre Ziel

    der Kommunikation.

    Als Terminalsoftware nutze ich ZOC unter Windows.


    Da ja das Manual nur bei Problemen zu Rate gezogen wird ....


    Der Anschluss des CP/M Rechners per serielle Schnittstelle wird über ein 0-Modem-Kabel gemacht. Hier sind TXD und RXD an den Steckern überkreutz.

    RTS und CTS hatte ich an ZOC auf EIN geschaltet, bzw sind an den Steckern gebrückt, was aber für die alten CP/M Kisten nur eine Notlösung ist.


    Beim Testen mit den 0-Modem-Kabeln an COM1 und COM2 und keiner Reaktion haben wir dann diesen USB -> RS232 Adapter genommen.

    Da diese USB -> RS232 Adapter keine gekreuzte TXD / RXD haben wurden ein 0-Modem-Kabel dazwischen gestöpselt.


    Bei dieser Aktion und der manchmal merkwürdigen Konfigurationsmöglichkeit von ZOC viel uns noch ein Menüpunkt auf, den ich bisher vernachlässigt hatte.


    Es gibt die Auswahl Serial/Direkt und Serial/Modem, wobei mit Serial/Modem TXD/RXD gekreuzt sind (anscheinend *).

    Hiermit ist ohne weitere 0-Modem-Adapter eine Terminalverbindung per USB->RS232 möglich.

    Das bei Serial/Modem TXD/RXD gekreuzt sind steht nirgends .. sonst hätte ich das schon genutzt da ich ja doch die

    situationsbezogenen Passagen in der Doku lese.


    * nachträglich ergänzt


    Wieder habe ich etwas neues gelernt ...


    Da nur 1-2 und 3-4 gejumpert sind ist die 'Serielle' an ds47 unauffällig und war wohl nur Opfer.

    Leider ist kein weiterer Beschreibungstext zu den Abkürzungen XRI1 , XRI2 vorhanden.

    Die Beschreibung beschränkt sich auf ein Faltblatt (siehe vorher) und einer PDF zum BIOS.


    Die beiden MAX 3243C Bausteine währen ja eventuell zu tauschen falls ich SMD Löten könnte,

    ich habe aber glücklicherweise ein Ersatzshuttle.




    Zwischenergebnis:


    Werner_8085 war heute hier um mich emotional und mit seinem Fachwissen zu unterstützen.


    Problemstellung die nun nichts mit dem Genie direkt zu tun hat....

    2 Profs (80 und 181X) wollten sich nicht per serielle melden. Hostsystem ist ein Shuttle ds47 mit 2 seriellen Schnittstellen.


    Letztendlich haben wir USB nach RS232 Adapter genutzt und der Prof 181X meldete sich auf dem Schirm mit

    seiner Monitormeldung. Der Prof-80 mag noch nicht aber das ist eine andere Baustelle.


    Wie oben schon beschrieben hatte ich ja ein erwärmtes RS232 Kabel an beiden Genie IIIs und keine Funktion der RS232 am Shuttle DS47 festgestellt.

    Leider habe ich nicht die Reihenfolge meiner Versuche notiert - ich sollte vielleicht ein Diktiergerät zur Hand nehmen.


    Nun haben wir beide Genie IIIs Rechner mal auf eventuelle Masseprobleme bzw. Spannung am Gehäuse überprüft.


    Bingo .....


    #1 G3s hat auf dem Gehäuse 5 Volt und damit wohl die seriellen Schnittstellenbausteine des Shuttle gekillt.

    #2 ist sauber.


    Bei #1 fliegt das originale Netzteil raus und wird gegen Meanwell RQ 65-B ersetzt.


    Den Shuttle ds47 im Keller tausche ich gegen ein identisches Modell damit ich die RS232 wieder zur Verfügung habe.

    Eventuell ist aber auch zusätzlich die COM1 Schnittstelle des DS47 ein Problem gewesen - siehe Bilder da COM1 als RS232/RS422/RS485

    geschaltet werden kann..





    ThiloL


    Hallo ...


    gibt es schon was neues mit deinem Prof 181X ?


    Mein Prof mag momentan die Serielle nicht, so dass ich auf dem Terminal nichts sehe. Das Problem scheint aber an meiner magischen Aura zu liegen da momentan so einige Rechner nicht mit mir reden wollen, wie zum Beispiel auch der Prof-80.


    Die Einbindung der CF Karte beim Prof 181X und 180X war ja erfolgreich.