GOTEK an Alphatronic P2, P2U

  • GOTEK an Alphatronic P2, P2U - mit USB to TTL betreiben


    Gleich vorweg: Eine kleine Anpassungen sollte man beachten. Die BASF Floppylaufwerke 6106 / oder
    6108 mit dem Flachbandkabel muss etwas verändert werden. ( Skizze kleinen Adapter
    zu Panasonic/Shugart-Betrieb - kommt noch !) Dann aber arbeitet ein GOTEK astrein an meiner
    Alphatronic P2U / P2.
    Das schöne an diesem Verfahren ist es, später ja nach Generic-Floppydisk im DATEN-USB
    Stick verschiedene cp/m's für 100h TPA und oder mit cp/m's für 4300h TPA arbeiten.
    Kleines Geschenk:
    Bei einer P2 Maschine sind meist nur einfache R/W Köpfe im BASF 6106 Laufwerk. Also Disketten benutzbar
    ist nur die Unterseite ( auch bei physischen DD/DS Floppys). Ich werde hier noch bei allen cp/m
    DISK-FILES gleich im GOTEK file (DSKAxxxx.hfe) die zweite Seite einrichten.
    Damit ist einfach per cp/m später von A>C: zu wechseln.
    Schon immer ist in den cp/m's vier (A: bis D ) Floppylaufwerke im CBIOS (sks,TA,,HELL,KISS) eingerichtet,
    weil es damals gleich im MOS die Seitenwahl eingebaut wurde.
    A: unten - C: oben erstes Laufwerk, B: unten - D oben zweites Laufwerk, also nur je 160 kB.


    Als Zukunft könnte ich mir vorstellen - mal z.B mit einem TA P2, P2U cp/m mit einer Superdiskette im
    GOTEK zu generieren. Im HxC sollen bis zu FFh Spuren und diverse Parameter/Sectoren einrichten werden können.
    Mal sehen - später!


    Wer also nur 48kB Speicher hat, nutzt also nur einfach 4300h TPA Software. Bei einer P2U
    also mit 64 kB Speicher kann beide cp/m's einfach gestartet werden.


    Wie ich ein GOTEK an meine TA Alphatronic P2U, P2 angeschlossen habe.


    A) Übersicht studieren:
    Die Basis der Arbeit von "netmercer" zum Betrieb einem GOTEK - TA P30 mit der HxC - Software,
    habe ich angelehnt und dort Honig gesaugt ( vielen Dank). Für den Einsatz/ Betrieb an meine
    Triumph Adler P2U mit der HxC Software habe ich so durchgeführt.
    Zunächst empfehle ich pdf-Beschreibung von netmercer studieren.
    Gotek für die TA P3


    B) Hardware besorgen:
    Ich habe mir einen USB /TTL Konverter besorgt, dazu ein GOTEK und Kleinkram wie,
    Lötstifte und kurze Steckleitungen. Bestellt habe ein GOTEK mit 34 pol.Floppyschnittstelle
    (Shugart-Schema) und mit einem USB-Datenstick.
    Hier ist der FT232R USB to TTL Konverter in Bild 1) mit den benutzten Anschlüssen.
    Die fertigen Verbindungen vom PC - USB - TTL - GOTEK sind hier genau in Bild 2) ersichtlich.


    Bevor die Bestellung da ist, studiert/probiert man evtl. schon mit der HxC Software.
    C) Software für Alphatronic P2, P2U oder andere einrichten (.hfe File's)
    Zunächt überlegt man, wie einfach vorhandene cp/m - Systeme und sonstige Software
    auf eine GOTEK Datei erzeugt werden könnte (genauer: .HFE -Datei mit HxC-Software)!


    Als Vorgang habe ich zwei Zielfiles erstellt. Erst die Basis Dateien von meiner
    kleinen WEB-Sammlung holen oder war schon auf den eigenen PC gespeichert.


    1) das FILE cpm2pt7.bin (TPA 100h) 64 kB Memory !
    oder noch einige Files nach Bedarf speicher.


    2) und FILE cpm43t7.bin (TPA 4300h) das ist ein 48k cp/m.


    Die Bezeichnungen deuten auf cpm-System, 2p-ist die Zielmaschine P2 (aber 100h TPA),
    t7-sind bis Spur 7 also 0-7 das sind 8 Track! Ähnlich bei dem File cpm43t7.bin aber run auf 4300h TPA.


    Damit man mit einem nacktem cp/m (2 Tracks) fast nichts machen könnte, ist ein Powerpack auf den
    folgenden Tracks.Dazu befindet sich ein WYM43.COM (mein YMODEM Programm) und SID43.COM und DU.COM (Vers. 4300h)
    als Zugabe in dem FILE cpm43t7.bin. Diese Hilfsprogramme sind auch auf der TPA 100h Versions beigefügt.


    Die beiden Files habe ich als Kopie mit dem Nachnamen von .bin auf .img (ist RAW, reiner Bin-code) geändert.
    Also von cpm43t7.bin auf cpm43t7.img und cpm2pt7.bin auf cpm2pt7.img erzeugt.


    Nun starte man das HxCFloppyEmulator - Programm.
    Wählt man "Load RAW image" dann muss die richtigen TA P2U Laufwerke-Zielparameter lassen / oder verändern.


    40 Track, 2 Side, aber hier unbedingt Track of a side markieren!!
    Es soll die .img Daten nur auf der Unterseite landen. Hier durchsehen und / Oder einfach ändern.
    Auf dem folgenden Bild 3) ist die vollständige Information für den Arbeitsgang zu sehen.
    IBMmfm, 250000 Bitrate, 300 RPM und .. wie im Bild. Das ganzes lief wie geölt.
    Jetzt die gewünschte .img Datei laden. Nun danach EXPORT als .hfe speichern.
    Schon als DSKA00xx.hfe eine Kopie erzeugen - schon fertig!
    Im USB-Stick muss eine Configdatei und die .upd (HXC-Software) mit den DSKA00xx.hfe befinden.


    In Bild 4) ist wie der Bootloader (HxC) vom Server zu holen ist. Und hier Bild 5) der erste Testbetrieb.
    Der Rest folgt mit Zusatzinformationen ..
    Helwie44

  • Hier kommt der angkündigter Rest - zur Floppyschnittstelle und der Einsatz (cp/m von TA für die behandelten Systeme).


    D) Bootblock und HxC Software flashen
    Verbindungen nach Plan herstellen/ kontrollieren und die Bootbrücke stecken. Hier mit einem
    USB / Wandler TTL zum GOTEK den Bootloader (HxC WEB - Zugang einmal Zehner bezahlen )
    laden. Dann wartet auf dem Display "ldr" (im Bild). Die Bootbrücke und die RxD, TxD entfernen. Hier betreibt
    vorläufig nur der GOTEK über die Spannung vom USB Anschluss.


    Einfach vorne den vorbereiteten USB-Stick mit .cfg und .upd und einige DSKA00xx.hfe
    (nur durchgehende von 00 ..xx) einstecken. Ich habe DSKA0000.hfe als mein 100h TPA cp/m verwendet.
    ALs DSKA0001.hfe mit 4300h TPA eingerichtet. Entweder Power ON oder über ein Reset Signal
    ( Minischalter selbst gebaut) rauscht die .upd Software in den GOTEK.
    Nun alles an Verbindungen abziehen und wieder ins Gehäuse zusammen bauen.


    E) GOTEK an die Alphatronic P2, P2U anschliessen.
    Aber wie? Beachten ist hier auf folgenden technischen Hintergrund.
    Bei den BASF 6106 / 6108 Laufwerken (Signalebelegung) und dem Stromanschluss, ist alles für 5 1/4 Zoll
    LW vorhanden. Bei einem GOTEK sind die Verbindungen von der Geometie und der Datenschnittstelle
    (Shugart-System) auf 3,5 Zoll LW ausgelegt. Also für die Floppy Schnittstelle 34 pol. (Shugart/Panasonic
    System) und den +5 Volt Stecker von 5 1/4 Zoll auf 3,5 Zoll, benötigt man je ein altes Zwischenstück
    ( in der Kramkiste gefunden - oder selbst basteln) zum verbinden (im Bild).
    Ich verwende ein altes Flachband (Datenverbindungen Floppy) aus einem PC. Aus dem Schaltbild für eine
    komfortable Lösung ( Adapter aus einem DS2069- Panasonic Floppydrive) sind wenige Leitungen
    umzusetzen. Auf dem Schemaanschluss im Bild genau zu erkennen.


    Wenn man alles schön zusammen gebaut hat, ist die Handhabung sehr einfach. Ich habe zum Test
    nur erst den GOTEK ( Steckbrücke) auf DS0 also erstes P2 Floppylaufwerk gesetzt. Nach Power ON
    behält bei mir immer die letzte DSKA00xx.hfe DATEI mit der entsprechender Zifferanzeige.


    Nur noch nach dem MOS Prompt .B(cr) und ab geht die Brause ab.
    Für mich ist der beste Zugang mit meinem WYM2P.COM (nach dem YMODEM-protocol) auf mein
    PC-Archiv. Hier habe ich noch den ersten Test beigefügt mit einem Bildschirm - Bild.


    Bei meinen bisherigen Tests verhält sich ein GOTEK ( so wie hier eingerichtet) genau wie eine
    reale DISKETTE. Selbst mit dem FOKO ( FOrmat KOpieren) habe ich mal eine DSKA00xx.hfe neu
    formatiert. Als USER kein Fehlfunktionen.


    Das ist ja eine Möglichkeit - wie ich das so als Beispiel gemacht habe. Jeder der möchte, kann sich ja
    in die eine oder andere Seite "austoben". Noch mal, vielen Dank für die Vorarbeiten (.pdf netmercer).


    Viel Erfolg beim GOTEK-Einsatz und Grüße
    Helwie44

  • Hallo helwie44 †. V ielen Dank für alle die Informationen, die Du hier angepasst hast.


    Wenn ich es richtig verstanden habe, denn kann man nur dopelseitigen Disketten nutzen, als ob sie zwei verschiedene Disketten wären (A: und C: oder B: und D:), oder? Es gibt nicht die Möglichkeit, beide seite zusammen als ein 360 Kb Diskette zu nutzen ?


    Ich arbeite gerade in meinem Gotek-Ersatz für die Alphatronic P2(U). Da hinten sind einige Fotos vom Prototyp. :)


    Viele Grüße

    Manuel





  • PRIMA Lösung AlphaTronic - GOTEK Verbindung

    Mit deiner overCLK Zwischenplatine hast du eine sehr gute professionelle Lösung geschaffen.


    Bei deinem GOTEK ( Frontseite) ist ja ein USB-Stick zu sehen. Hast du zusätzlich ein erweitertes DISPLAY eingefügt? Evtl. könntest du eine ganz kleine Anleitung für sowas hier für alle anderen darzustellen. Auch alle Optionen von der Anschlussplatine mal zeigen.


    Zu einer TA P2 - oder ähnliche Maschinen - cp/m Version ( doppelseitige )habe ich schon länger im Kopf. Wenn ich etwas noch Zeit dazu komme, mache ich mal eine 360 oder 320 kB für ein cp/m, erst zu 100h TPA DIRVE. A: (320) , B:(320) und C:(160) mit LW1 sowie D:(160) mit LW2. Damit wäre von TA P2 Standard Cluster-Index auf 8 Bit - und zu neu CLUSTER-Index auf 16 Bit per cp/m per PIP Übertragungen möglich.

    Das durchdenke ich mal ... demnächst.


    Grüße Helwie44

  • PRIMA Lösung AlphaTronic - GOTEK Verbindung

    Mit deiner overCLK Zwischenplatine hast du eine sehr gute professionelle Lösung geschaffen.

    Vielen Dank helwie44 †. Es ist noch nicht ganz fertig, aber fast. :)

    Bei deinem GOTEK ( Frontseite) ist ja ein USB-Stick zu sehen. Hast du zusätzlich ein erweitertes DISPLAY eingefügt? Evtl. könntest du eine ganz kleine Anleitung für sowas hier für alle anderen darzustellen. Auch alle Optionen von der Anschlussplatine mal zeigen.

    Ja genau. Eigentlich habe ich auch ein Gotek-Klon entwerfen. Das ist doch kein originales Gotek, und es unterstützt mehrere Optionen des Flashfloppy Software (SD-Karte, zukunft zweiterer Laufwerk Simulierung, Anschlusse für Q-Encoder, I2C Display).


    Die Anschlussplatine unterstützt auch ein normalles Shugart-Pinbelegung (noch nicht geprüft :) )


    Die Lösung hat ja ein OLED-Display (links) und auch Q-Encoder (rechts) , was ich bequemer als die Knöpfe finde.

    Ich werde natürlich alle Informationen bereitstellen (auch Platinen und 3D Design) wenn es fertig ist.


    Zu einer TA P2 - oder ähnliche Maschinen - cp/m Version ( doppelseitige )habe ich schon länger im Kopf. Wenn ich etwas noch Zeit dazu komme, mache ich mal eine 360 oder 320 kB für ein cp/m, erst zu 100h TPA DIRVE. A: (320) , B:(320) und C:(160) mit LW1 sowie D:(160) mit LW2. Damit wäre von TA P2 Standard Cluster-Index auf 8 Bit - und zu neu CLUSTER-Index auf 16 Bit per cp/m per PIP Übertragungen möglich.

    Das durchdenke ich mal ... demnächst.


    Grüße Helwie44

    Meine Anwendung unterstütz nun auch doppelseitige Image-Dateien. Aber ich glaube, dass wir eine modifizierte CP/M (Disk Parameter Block) brauchen, damit es richtig funkzioniert, oder?

    Hier wäre meine Idee die CP/M-Tracks untersuchen und zu finden, wo die DPB liegt. Was denkst Du?



  • Hallo overCLK ,

    tolle Lösung, dieser genau in die P2 eingepasste Träger für die GOTEK Platine. Auf die finale Ausführung bin ich schon sehr gespannt.

    Eine Erweiterung des Floppy Formates auf ein doppelseitiges 360KB Format steht auch schon auf meiner Wunschliste.

    Eventuell wäre es vorteilhaft an dieser Stelle das Diskformat des TA alphaTronic PC zu verwenden. Damit könnte man CP/M Programme und Dateien, die bereits in diesem Format als Image vorliegen, sofort direkt benutzen. Ob man hierzu im CP/M der P2 neben dem DPB auch die Disktreiber selbst anpassen muß (wegen der Kopfumschaltung), könnte vielleicht helwie44 † wissen.


    Viele Grüße

    netmercer

  • Ich habe es versuchen, das DPB zu modifizieren.

    Es sieht aus, dass es an der Stellung 195CH der ersten Systemspur liegt.


    Statt '20 00 03 07 00 97 00 3F 00 C0 00 10 00 02 00' habe ich '20 00 04 0f 00 9B 00 7F 00 C0 00 10 00 02 00' als DPB geschrieben, und danach habe ich so eine Diskette preparieren.

    Es sieht aus, dass es nicht genug um das doppelseitiges Dinge zu schaffen ist. Die Dateien auf der ersten Seite funktioniert gut (auch alle die Dateien kann man gut mit DIR gucken), aber ich vermute, dass wie sollten den I/O Programmteil zu bearbeiten, damit wir die zweite Seite lesen können (wenn die Spur grosser als 39 ist, sollten wir die zweite Seite lesen…)

    Deshalb möchte ich die CP/M Spuren untersuchen. Aber ich bin nicht sicher, an welche Address wird der Bootcode geladen.


    Die Anfangbefehle sind I FF80, FFFF und dann UFF80, FC00. Aber was ist eingentlich um FF80 von der Diskette als Wirkung geladen?


    Damit möchte ich die CP/M Spuren studieren um zu verstehen, welche Veränderungen nötig sind. :)


    Viele Grüße

  • Hallo Manuel,


    ich habe in meiner WEB-Sammlung ein Bootbeispiel für eine cp/m alphaTronic 100H TPA / P2U abgelegt.


    Der erste Sector (Track 0) ist ein Batchblock. Siehe cmd MOS-Beschreibung. Mit dem IFF80,FFFF (cr) wird folgendes gemacht:

    I nput - wird der nächste Sector - als 128 Byte auf die MEM: FF80h geladen. Dieser kleine Codeteil ist der cp/m LADER (von Sector 2, Track 0). Der bleibt immer im Speicher. Und gestartet mit U serstart auf FF80 !

    Es sind zwei Aufgaben:

    1. Urladen ab Sector 3, Track 0 das cp/m in den Speicher zu laden.

    2. mit ctrl. C wird ein REBOOT - wie unter 1. gemacht


    DIE DBP - Thematik:

    Hier einfach einen PATCH über die einer DISKETTE zu machen - wird nicht zu Erfolg werden. Wie du schon herausgefunden hast.

    Anpassung:

    Im cp/m BIOS muss ein kleiner CODE erweitert werden. Und zwar - wenn eine Spur TX über 39 ist muss die physikalische Spur auf txt= TX-39 und auf SIDE 1 -obere Seite- im Treiber aufgerufen. SIDE unten ist 0 im MOS-Driver.

    Erst die Anpassung und dann der Patch - würde aber nur bis CLUSTER FF also 255 Kb von der Diskette benutzen.


    Daher muss um auf 320 kB zu benutzen, die cp/m CLUSTER mit 16 Bit eingerichtet. Oder alte 8 Bit Cluster aber auf neu 2 Kb Größe eingerichtet werden??!!

    Sonst schau mal in die DR - cp/m Anpassungen - Guide / Unterlagen.


    Grüße

    Ich habe es versuchen, das DPB zu modifizieren.

    Es sieht aus, dass es an der Stellung 195CH der ersten Systemspur liegt.

    Das könnte ja auf die obere Seite gehören - aber es fehlt eine kleine CODE-Anpassung.

    Kommt schon später.....von mir im Quellcode, hoffentlich.

  • Hallo Helwie44. Danke noch mal :)


    Das war bei mir die fehlende Informationen! Deshalb wird der Lader von Sector 2, Track 0 geladen. Prima!


    Damit könnte ich auch die Quelle untersuchen. Ganz Einverstanden, dass wir auch Veränderungen im Code brauchen, um die zweite Seite zu lesen, wenn die Spur über 39 ist.

    Daher muss um auf 320 kB zu benutzen, die cp/m CLUSTER mit 16 Bit eingerichtet. Oder alte 8 Bit Cluster aber auf neu 2 Kb Größe eingerichtet werden??!!

    Sonst schau mal in die DR - cp/m Anpassungen - Guide / Unterlagen.

    Ich glaube, dass die erste Kombination nicht möglich ist. In CP/M Handbuch habe ich so gelesen:



    Es sieht aus, dass die Kombination BLS 1024 mit mehr als 255 Blöcke nicht möglich ist. Deshalb sollten wir die BLS nach 2048 Byte erweitern. Meine modifizierte DPB ist für BLS 2048 gültig und habe ich sie mit meiner Anwendung und dem Gotek geprüft. Ich habe damit Programme erfolgreich geladen (natürlich nur auf die obere Seite).




    Kommt schon später.....von mir im Quellcode, hoffentlich.

    Ich freue mich darauf! :)

    Ich vermute, dass wir die Implementierung des BIOS SETTRK verändern müssen , oder?



    Viele Grüße und viel Spaß mit der Modifizierung des Codes. :)

  • Hallo Helwie.

    Informationen über DPB und die Tabelle mit der EXM/BLS/DMS Kombinationen habe ich im generischen CP/M 2.2 Handbuch gelesen (Kapitel 6). Wie hier:

    http://www.cpm.z80.de/manuals/cpm22-m.pdf


    Was ich noch nicht gut verstanden habe ist, was an der Adresse F600H liegt. When ich dieses Code lese:



    denn verstehe ich, dass CP/M an der Adresse 0e00H geladen wird, oder? Dort sind 1B00H Byte geladen. Das bedeutet, dass die geladene Daten von 0E00H bis zu 2900H gehen. Aber nach dem Laden wird F600H angerufen (im 16K extra RAM Bereich?). Was ist denn dort nach dem Start?


    Viele Grüße

  • alphaTronic P2U cp/m get and start

    Der cp/m Code wird wie in dem blauen FELD ( Beispiel.- immer beachten bei anderen evtl. cp/m Diskettenversionen) hier auf die 0E000H in den Speicher geladen mit einer Länge von 01B00h geholt,

    das ist overCLK richtig.

    Also etwa so ist der oberer Speicher belegt.


    FFFF: top last memory

    FF80: cpm/Lader <- get cp/m

    ...

    FC00: free for cp/m buffer..

    FBFF:

    .....

    F600: BIOS-JMP Verteiler. <- boot-initial entry


    F000:

    .......

    E000: Ablage ab von dem Sector 3, Track 0 (aber physikalisch je 256 Bytes


    Damit sind von E000h bis EFFFh 4 kB also 16 physikalische Sectoren geholt. Ab F000h werden die rstlichen 11 physikalische Sectoren nachgeladen. Bis einschließlich FBFFh.


    Mit dem DDT oder SID ist die Belegung einfach zu studieren.


    Beispiel mit meiner alphaTronic P2U unten gemacht.

  • Hallo Helwie44. Das Problem war, dass im deinen Beispiel 0E00H statt E000H als Ablageadresse steht . Ich habe nochmal meinen Loader untersucht und du hast Recht, es sollte E000H sein, wie hier:


    im deinen Beispiel:


    Die Adresse ist klar E000 but dann gibt's ein Fehler im disassemblierten Code (0e00h), oder?



    Grüße

    Einmal editiert, zuletzt von overCLK ()

  • Oha - die letzte 0 habe ich schon seit Jahren einfach im symbolischen Bereich weggelassen. Für mich orientiere ich meist an den Bytecode.

    Sorry - danke overCLK für den Fehler in der PDF.

    (Nur der Maschinencode ist aber wirklich richtig!!!)

  • Hallo helwie44 †. Vielen Dank! :)


    Ich habe auch ein bisschen darauf gearbeitet. Der Maschinencode wurde untersucht und dort habe ich identifiziert, wo Veränderungen nötig sind.

    Nun brauche ich etwas Zeit, um diese Veränderungen zu überprüfen. Aber ich glaube, dass wir nah sind. :)

  • Hallo.

    Ich glaube, dass ich es geschafft habe! :)

    Anbei eine Diskette in dem Format DSK (doppelseitig), die man direkt mit dem Gotek nutzen kann.


    Die Diskette enthielt modifizierten System-Spuren, die doppelseitige Disketten verstehen. Dafür habe ich den DPB und CP/M Code verändert. Ich habe die drei Zork Spielen dazugefügt, um zu überprüfen, dass das Format gut funktioniert.


    Dieses CP/M ist nicht mehr kompatibel mit einseitigen Disketten. Ich weiss noch nicht, ob es genug Zeit für beiden DPB ist. Ich soll auch das Code im SELDSK modifizieren, um nur 2 Disketten zu erlauben (A: und B:).


    Danach werde ich diese Veränderungen in meiner Anwendung einreihen.


    Grüße


    Manuel

  • Hallo noch mal,


    anbei vorläufige Version der Anwendung.

    Man braucht mindestens Java 8, um sie zu laufen

    Es sind drei Ausgabeformaten ünterstutzt:

    - Disk-Image für CP/M 2.2 4300h TPA

    - Disk-Image für CP/M 2.2 0100h TPA

    - Disk-Image für CP/M 2.2 0100h TPA und doppelseitig.


    Man kann direkt normalle Dateien durch Drag-and-Drop von der Arbetisfläche zu der Anwendung zu importieren (oder auch exportieren).

    IMD Images für Alphatronic P2 sind auch unterstütz (einfach Drag-and-Drop sie drin)




    So generierten Images kann man direkt mit einen Gotek in der Alphatronic nützen.


    Viele Grüße

    Manuel

  • Hallo overCLK - du hast sich sehr viel Arbeit gemacht und sicher sehr viel über die cp/m Struktur gelernt.

    Deine Java WEB anwendung habe ich noch nicht probiert - mache ich später sicher - vielen Dank für deine Überlegungen und die Hilfsprogramme.


    Die .IMD für 320 kB habe ich wie schon berichtet, dass die ZORKs- Files offenbar laden und auch anzeigen können. Wie gesagt, ich kenne wirklich keine Hintergrund für die ZORKs - sicher schade, aber alles kann man nicht gleich bearbeiten.


    Nun zum Vortest deiner 320 kB Diskette in meiner GOTEK:

    VORGEHEN:

    Ich habe über mein GOTEK erst mal das identiche (altes) cp/m 63 kB gestartet und das WYM2P.COM geladen!

    Der WYM2P.COM - CODE liegt ja dann ab 100h bis unter 1100h!

    Das sind 17 cp/m PAGEs - je page 256 byte.


    Jetzt wechsele ich auf deine 320 Diskette in meinem GOTEK - und boote das von dir modifiziertes cp/m (63kB)!

    Der Unterer Speicher ist unverändert mit dem WYM2P.COM,

    Direkt mit A:>SAVE 17 wym2px.com speicher wird jetzt mein YMODEM-Programm, ist richtig gespeichert, ok.


    UND offenbar sind mit einem cp/m-AUFRuf ( von deiner 320 kB), arbeiteten die Programme ok.



    Über mein wym2px.com - hole ich von meinem PC ( ShamCOM.EXE, WIN Programm) - V24 Drehkabel zur P2U.:

    Jetzt für alles 100TPA Programme cp/m - das DU.COM und SID.COM. Alle Übertragungen und die Speicherungen gehen ohne Fehler auf deine DISK!


    Erst scheint alles richtig mit einigen Test richtig zu laufen. Laden und einige interne Programmfunktionen ( meist alles read-Funktionen) laufen ok.?.


    Nun es sind ja 156d := 9Ch CLUSTER je 2Kb auf deiner Disk ( 320 - 8kB cp/m) damit vorhanden, ok.


    Aber von der cp/m EINGABE ist leider nicht z.B. ERA ZORK1.* zu löschen - weil die MELDUNG:

    Bdos Err On A: R/O angezeigt wird !!!!


    Ich vermut - das PROBLEM liegt in dem MEMORY für die neue - deine DISK- nicht genügend CSV in CKS bytes, für die jetzt mehr an CLUSTER oder Blöckezahl. Und oder bei dem Speicherbereich von ALS.

    Ich meine das ist nicht so einfach zu patchen, oder?


    Das ist sicher noch genau durch zu sehen.

    Hier habe ich deine DISK (320) mit den (offenbar) zusätzlichen vorhandene cp/m 100h TPA Prog., wie beschrieben.

    Einfach .txt entfernen und dann die .IMD auf .hfe und dann in einem GOTEK - mal extrem weiter zu TESTEN.


    Grüße

    helwie44 †

  • Hi, hast Du bei einem anderen Disk Image am Gotek schon das Löschen von Dateien probiert? Ich hatte neulich ebenfalls ein "Read Only" Problem am Gotek. Es ist schon ein paar Tage her und ich kann mich nicht mehr genau erinnern, aber ich glaube es war in Disk Basic beim Versuch eine Datei zu speichern. Bei einem anderen Disk Image hat es dann problemlos funktioniert. Mir fehlt bisher die Zeit das Problem im Detail zu analysieren. Meine erste Vermutung wäre, dass es mit dem "umgekehrten Schreibschutz" bei der Alphatronic liegen könnte (im Gegensatz zum PC muss bei Alphatronic die Kerbe ja zugeklebt sein um die Disk beschreiben zu können). Ich weiß nicht genau wie der Gotek mit Flashfloppy Software das handhabt, vielleicht muss man da bestimmte Image Parameter setzen...


    Wieso überträgst Du eigentlich die CP/M Dateien per PC und Nullmodemkabel auf das Disk-Image am Gotek? Wäre es nicht einfacher, die Dateien direkt via CP/M "PIP" von einer physischen Disk im Laufwerk B auf das Disk-Image am Gotek (als Laufwerk A angeschlossen) zu kopieren?

    Einmal editiert, zuletzt von gpospi ()

  • Hallo gpospi mit dem PIP sollte man nur ( darf nur ) mit einem cp/m im EINSATZ ( z.B. von üblich dem DRIVE A gebootet) arbeiten, wenn in dem gebootetem cp/m die passenden DISK-PARAMETER und der DPD-Struktur für z.B. für den DRIVE B: genau auch für die Zieldiskette geschrieben werden soll.


    Beispiel bei der cp/m 63 kB für eine TA P2U:

    Es sind vier cp/m drive von

    A: unten erstes physikalisches Laufwerk

    B: unten zweites LW

    C: oben (SIDE) erstes LW

    D: oben (SIDE zweites LW


    Jetzt ist also jeder DPB hier identisch! Und z.B. mit einer Blockgröße (CLUSTER) von je 1kB.

    Weiter aus den DPB Informationen bei allen DRIVE sind 2 Blöcke für das Directory - damit Block 0 und Block - Nummer 1 reserviert. Es sind daher 64d Directory-Einträge reserviert. Daher werden bei einem cp/m Programm erst Block-Nummer 02 +++ folgt verwendet! Es werden auch unter 255 Cluster nur der Eintrag der Blocknummer mit 8 Bit verwendet. Und die Kapazität einer DRIVE-Informationen muss genügen für eine andere Struktur wie z.B. CSV, CKS, ALS vorhanden sein.


    Der PATCH von overCLK ist offenbar nicht 100% für den WUNSCH - um

    2KB Blöcke, Kapazität ist im wesentlich ok. Nur bei bewegliche MEDIEN ( FLOPPYDISK) wird intern vom cp/m oft ein CHECK gemacht.

    Genaueres ist im cp/m Änderungs - Handbuch von DR zu entnehmen.


    Fazit:

    Wenn ein TA P2U cp/m mit TPA 100h erst mit unterschiedlichen DPB (100% getestet) erzeugt ist - wäre genau mit einem PIP machbar von z.B. unterschiedlichen logischen DRVE Strukturen über Kreuz!

    Wie z. B.

    a: 320kb (neu), LW 1

    b: 320kb (neu)., LW 2 damit also unten mit oben SIDE!

    c: 160kb alt nur unten SIDE - LW1

    d: 160kb alt unrunden - LW2

    und ein Option (hw) auf

    e: 4800kb Sysquest Platte SY-LW1

    f: 4800kb wie e: aber SY-LW2

    >> ob das alles in „meinem“ neuen BIOS TA2P rein geht ist noch zu prüfen.

    An dem Problem arbeite ich an einer Lösung, ... hat aber noch etwas Zeit.


    Es gibt‘s noch viel zu erledigen.

    Grüße

    helwie44 †







  • Ja stimmt, die Laufwerksparameter müssen natürlich zusammen passen. Solange das nicht sichergestellt und komplett getestet ist, ist der Weg über Nullmodem-Kabel oder andere Tricks am PC (wie z.B. Scopy bzw. das Tool von overCLK) erforderlich.

  • Hallo helwie44 †.

    Entschuldigung, aber ich bin nicht sicher darauf, was du prüfen möchtest. Es sieht mir aus, dass du Probleme mit dem Löschen hast, oder?


    Ich habe mit meinem modifizierten Image getestet, dass ich alle die Dateien ohne Fehler löschen kann. Sie bitte mal:




    Deshalb weiß ich nicht, warum es mit deinem modifiziertes Image nicht richtig läuft.


    Wenn du möchtest, kann ich einfach ein Disk-Image bauen, dass die Dateien die du willst erhält. Damit kannst du vielleicht einfacher probieren.

    Schickt einfach bitte mir diese Dateien und ich werde gern so ein Image generiert. Eingentlich habe ich Zork benutzt, weil ich das Spiel mag und ich möchte die drei Versionen in einem Disk-Image stecken. :)

  • Ich probiere noch mal mit deiner Anfangsdiskette ( ZORK's) später;

    Ist es evtl. aus deiner overCLK 320 DISK ein .IMD zu erzeugen.

    Du brauchst nicht erst ein .zip machen.

    ALTER FORUM-USER-TRICK

    Einfach an name.imd.txt - also .txt anfugen. Damit ist .txt einfach hier hochladbar.
    Dann entferne ich einfach .txt! Dann genau was ich und alle USER auch brauchen können ist sofort nutbar.


    Ablauf bei mir im TEST:

    Ich habe ja nach dem BOOTEN gleich mit folgendem cp/m BEFEHL angefangen!!!

    A:>SAVE 17 wym2px.com gespeichert ging ja!

    dann auch mit meinem WYM2PX.COM gestartet und einige andere cp/m Programme geholt!

    So jetz ist die DISKETTE fast voll bis 1 oder 2 Cluster noch frei.


    Nun wollte ich Platz mit anderen DATEN löschen - dann komt permanent Die oben beschriebene R/O Anzeige.

    evtl liegt was an dem HcX Floppyemulator, oder ?????


    Ich schiebe ja deine ZORKS.DSK auf die HcX Fläche und dann sehe ich eigentlich einen ordentlichen DATENBESTAND.

    Aber dann mache ich aus mit HcX-Emulation in ein .hfe FILE für mein GOTEK.


    Ist da was anders?

    Grüße

  • Ich überlege was die Unterschied sein kann.


    Ich nutzte ein Gotek mit dem Flashfloppy Software. Ich brauche nicht das DSK Image in einem HFE oder IMD verwandelt.

    Ich kann einfach das DSK-Image direkt nutzen, und ich vermute, dass es auch möglich mit dem HxC Software ist.


    Es konnte sein, dass es Probleme mit dem Verwandlung gibt, aber das R/O Meldung hat noch nie bei mir passiert.


    Das bedeutet natürlich nicht, dass es ein Problem mit meinem 320Kb DSK Image nicht geben könnte. Aber als gesagt, habe ich alle die Dateien im Disk-Image löschen ohne Fehler.


    Anbei ein Disk-Image mit den typischen CP/M Anwendungen (TPA 0100H). Bitte probiert mal, ob dein Gotek mit HXC kann das direkt unterstütz.


    Grüße

  • Hallo,


    habe hier eine Zusatzinfo. Hilft vielleicht beim Zusammenstellen der Dateien.


    Ich habe obige Disk Images mit dem Tool SAMdisk auf Disketten geschrieben und anschließend mit dem Tool 22DISK wieder auf den PC eingelesen. Ich konnte z.B. die ZORK1 Dateien mit dem 22NICE CP/M-Emulator erfolgreich starten. Das hier verwendete Format DSK ist dem von SAMdisk verwendeten sehr ähnlich und SAMdisk hat damit keine Probleme.


    MIt Hilfe von overCLK konnte ich eine Definition für 22DISK erstellen:


    BEGIN P2DS  Alphatronic P2 GOTEK 16x256 DSDD 40 Track

    DENSITY MFM ,LOW

    CYLINDERS 40

    SIDES 2

    SECTORS 16,256

    SIDE1 0 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16

    SIDE2 1 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16

    ORDER EAGLE

    BSH 4 BLM 15 EXM 0 DSM 155 DRM 127 AL0 0C0H AL1 0 OFS 2

    END


    Seltsam war allerdings, dass der Parameter EXM = 0 der Literatur zu CP/M widerspricht. Sollte bei einer Blocksize von 2048 eigentlich 1 sein (DSM < 256), funktioniert aber bei 22DISK nur mit 0 richtig. Bei EXM = 1 geht 22DISK beim Kopieren der Dateien in eine Endlosschleife. Habe keine Erklärung dafür.


    Grüße, PAW

  • Danke PAW für die Infos.

    WENN DU overCLK nur die Patches von alt := zu neu in hexa darstellt?

    Damit sind die Stellpositionen genau zu betrachten.

    Gute Nacht und Grüße.

    Kein Problem, aber…

    Ich habe zuertst das CP/M Code in Assemblersprache umwandelt. Als mir ist es schwerer, mit der Assemblersprache der 8080/8085 zu arbeiten, habe ich die Entscheidung getroffen, Assemblersprache des Z80 zu nutzen. Ich weiß ja, dass die nicht ganz kompatibel sind, aber meisten meiner Tools funktionieren mit Z80 besser.

    Dann habe ich das Code komentiert und danach die Änderungen erstellt.

    Als Kompilator habe ich sjasmplus benutzt. Damit muss man vorsichtich sind, um kein Z80 specifisches Code zu nutzen, aber ja, das ist nur ein kleiner Nachteil, glaube ich.


    Anbei meine modifizierte CP/M Source aus der CP/M 0100H und auch die Makefile, die ich benutzt habe, um alles zusammen zu bauen.


    binaries/booter.bin -> Erster Sektor (MOS Boot)

    binaries/loader.bin -> CP/M Loader

    binaries/cpm.bin -> CP/M Binär

    binaries/sectors.bin -> CP/M Spuren


    src/cpm-orig.asm -> cpm.bin Assemblersprache

    src/cpm-mod.asm -> modifiziertes CP/M

    src/Makefile -> Um die Binäre zu generieren:

    src/cpm-orig.bin -> Aus src/cpm-orig.asm generiert. Soll gleich wie binaries/cpm.bin sein

    src/cpm-mod.bin -> Aus src/cpm-mod.asm generiert.

    src/cpm0100-orig.bin -> Generierten CP/M Spuren

    src/cpm0100-ds.bin ->Modifiziertes CP/M (mit Booter und Loader).