Beiträge von overCLK

    Z80 Kompilator, es gibt Versionen für Windows, Linux und MacOS. Aber wenn du die Makefile nutzen möchtest, dann finde ich besser Linux zu nutzen (anderenfalls du kannst auch manuell alles zusammen bauen)


    https://github.com/sjasmplus/sjasmplus/wiki


    Dass kann sein. Als gesagt, habe ich nicht vorsichtig die Offsets geprüft. Ich war zu froh, dass es so einfach gut scheint. :)

    Ja, das ist richtig. Das neue Format hat 128-Directory Einträge. Ich habe gedacht, dass es besser wäre, als sie eine größere Disk ist.


    Viele Grüße

    Manuel

    Hallo netmercer.

    Das macht voll Sinn. Ich muss da alle die Offsets wiederholen.

    Es gibt auch ein Problem mit SELDSK. Ich habe das code verändert, aber ich kann noch C: und D: in CCP auswählen… komisch.


    Viele Grüße

    Manuel

    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.

    Ja, du hast Recht. Es sollte eigentlich EXM = 1 sein. Ich werde probieren, wie es mit EXM = 1 mit meiner Image läuft.

    Grüße

    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).

    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 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. :)

    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.

    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 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 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

    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

    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. :)

    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

    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 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





    Be careful when assembling it. R3's value needs to be higher, otherwise D3 will be blown.

    With the 390 Ohm value the current through a Green diode would be a bit over 20 mA and you are right that it would be slightly high for a LED. I think I calculated on 20mA and then used the nearest resistor I got (unfortunately I should have used the nearest but higuer than the teorethical value).

    The calculated value for 20mA is 425 Ohm, so please use the nearest higuer resistor you have.


    jlopez: Thanks for the heads-up.


    Also take into account that the values on the board are only valid for the colors I used in my setup:

    D1. Yellow

    D2. Red

    D3. Green


    In case you want to use other colors, you should recalculate the resistor values.

    Hi Jaume,


    still plenty of them, no problem at all.


    Send me a private message and give me your postal address and your preferred delivery method.


    Best regards,


    Manuel

    Gerne.


    Ich habe untersucht, wie viel könnte den Versand mit dem spanischen Postdienst kosten. Ich habe auch die Platinen gewogen und zwei Platinen mit dem Briefumschlag sollten etwa 50 Gramm sein.


    Informationen von Correos:



    Das bedeutet, dass es als normaler Brief 1,70€ (oder 2,45€) kosten soll. Ich bin leider nicht ganz sicher, weil ich nicht weiß, wie diese Normalisierung funktioniert. Ich glaube, dass es um die Briefumschlag Größe geht…


    Als Einschreibebrief (mit Tracking) ist es ziemlich teurer: 5,50€ (oder 6.25€).


    Also wenn Ihr Interesse habt, bitte sagt mir Bescheid, ob ihr den Versand als normaler oder mit Einschreibung möchtet.

    I wouldn't expect any heat issues. At least in my setup the Computer has now 2 fans (the original one plus the one in the ATX PSU). Furthermore the new ATX PSU is for sure more efficient than the old Alphatronic PSU, i.e. it produces less heat. I also think that ATX PSUs may have internal overheat protection, but I would need to verify that. We could also start measuring the temperature inside the Alphatronic, I didn't have time to do this yet. In my case the machine is usually not running a long time anyway, as it is not being used for regular office work as intended in the 1980ies ;-).


    Completely agreed. That is what also helped me to take the decision of replacing the power supply instead of trying any restoration of the original one. Safety, stability and efficiency.

    Thanks a lot jlopez. :)


    Well, since actually I'm not going to mine cryptocoins I think I would be on the safe side. ;)

    The power supply fan is taking the air out as well as the external fan, so I just hope they will help each other.

    Also I don't live in a very hot country (Gott sei gedankt)

    Hallo helwie44 †. Vielen Dank!


    Eigentlich haben alle die Pole in der Platine die richtige Namen. Es ist nicht nötig diese 5-poliges Blöcke zu nutzen. Mann kann auch direkt die Kabeln dort löten.


    Auch das Netzteil ist nicht so wichtig. Sofern die Spannungen richtig sind (und die Strom reicht) darf mann irgendwelche Netzteil nutzen.

    Aber wenn es hilfreich sein kann:

    Also da sind ja schon auch Einrichtung und Tapete echt 70er ... ;)

    Ja, eigentlich sieht die Farbe ein bisschen wie diese alte Tapeten. Und das Radiogerät hat mein Vater gekauft als ich ein Kind war. ;)


    Ich finde bei dem Platinchen noch ein bißchen fraglich, wie man das PC Netzteil dann angeschaltet bekommt, oder ist das nur für solche vor-ATX-Standard Netzteil benutzbar ?

    Das Netzteil ist doch ATX-Standard. Ich habe nur anderen Steckverbinder installieren, weil der ATX-Stecker ein bisschen zu gross ist, und es gibt Spannungen/Kabeln, die die TA P2 nicht braucht.

    Das Netzteil ist automatisch angeschaltet, wenn man den Hauptschalter drückt. Dafür habe ich die Grünkabel direkt an GND verbunden. Deshalb funktioniert das Computer als ob man keine Veränderung gemacht hätte.


    Ich habe auch eine andere Steckverbinder für den Lüfter installiert.




    Geht doch klar aus den Bildern hervor: wenn man eine Alphatronic P2 mit defektem Netzteil hat, kann man nit dieser Adapterplatine ein PC Netzteil nutzen.


    Gruß, Jochen

    Genau. Das Netzteil meiner Alphatronic P2 kaputt wird, und ich möchte eine sichere Losung um einen PC netzteil zu nutzen.


    Eigentlich sollte ich im Betreff 'nutzen' schreiben, aber mein Deutsch wird immer schlechter. Das Forum verzeicht nicht denen, die falsch schreiben. :fp: