EACA Genie III CP/M 2.2

  • Frage zu CP/M 2 generieren:


    Zu meinem System [Genie III] habe ich auch für CP/M 2 das CBIOS, SYSGEN und diverse andere Dateien.

    Ein CP/M 3 ungebankt läuft zufriedenstellend.

    Nun möchte ich noch das CP/M 2.2 erstellen, es fehlt aber BDOS und CCP und wie bekomme ich BIOS , BDOS und CCP zusammen gefummelt.



    Mit Hilfe von http://deramp.com/downloads/mf…uter/CPM%20BIOS%20Source/ habt Ihr das ja gerade gemacht. ?

    Mit freundlichen Grüßen


    fritz

  • Hallo Fritz,


    kannst Du vorab mal versuchen, ob sich BOOTER.MAC und CBIOS.MAC mit dem MAC Assembler ohne Fehlermeldungen assemblieren lassen?


    Gruß

    Robert

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Hallo Fritz & Mitleser,


    Du hast natürlich recht - es ist der M80 und nicht der MAC-Assembler.


    Ich scheitere gerade schon dran, BOOTER.MAC so zu übersetzen, dass der reine Binärcode übrigbleibt, der dann in den ersten Sektor geschrieben wird.


    http://www.retroarchive.org/cpm/os/DRIPAK.ZIP


    enthält die Assembler-Quellen für BDOS und CCP.


    Gruß

    Robert

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Ein wichtiger Unterschied im von Dir verlinkten Beispiel ist, dass es dort nur eine BIOS-Datei gibt, die sowohl die Funktion des Loader-BIOS als auch des eigentlichen BIOS übernimmt, also bei Deinem Genie III BOOTER.MAC und CBIOS.MAC.


    Gruß

    Robert

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Ein wichtiger Unterschied im von Dir verlinkten Beispiel ist, dass es dort nur eine BIOS-Datei gibt, die sowohl die Funktion des Loader-BIOS als auch des eigentlichen BIOS übernimmt, also bei Deinem Genie III BOOTER.MAC und CBIOS.MAC.


    Gruß

    Robert


    Nicht wirklich,


    Im genannten Beispiel ist:


    Loader = Booter.MAC --> BOOT ROB358.MAC AUTOLOADER FOR THE RC700 AND RC703 MICROCOMPUTER

    BIOS = CBIOS.MAC --> BIOS BIOS.MAC MAIN SOURCE FILE FOR RC700 CP/M BIOS ( und weitere Konfigurationsdateien)


    Es muß also werden: LOADER + CBIOS + CCP + BDOS (in der richtigen Reihenfolge)


    Mit freundlichen Grüßen


    fritz

  • Ich habe Mike mal angeschrieben :)


    Fritz, hast Du das EPROM aus dem Verzeichnis schon im Rechner? Es scheint einen Teil der BIOS-Funktionalität bereitzustellen (Sektor lesen u.ä.)

    und weißt Du, mit welchem C-Compiler die C-Dateien übersetzt werden?


    Edith sagt: Hab gerade den anderen Thread mit dem Eprom entdeckt :)


    Gruß

    Robert

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

    Einmal editiert, zuletzt von rfka01 ()

  • rfka01


    Das EPROM ist eingebaut und CP/M3 ungebankt startet bestens. siehe LINK


    Der C-Compiler welcher benutzt wurde ist der MIC.

    Hier benutzt für den Genie IIIS.

    http://oldcomputers-ddns.org/p…rddisk/-d-/d9/holte-c.lbr

    http://oldcomputers-ddns.org/p…ddisk/-d-/d9/mic-holt.lbr

    http://oldcomputers-ddns.org/p…ub/manuals/mic_ger_bw.pdf

    Mit freundlichen Grüßen


    fritz

    Einmal editiert, zuletzt von fritzeflink ()

  • Anmerkung:

    Die Datei OS3BDOS.ASM ergibt beim Asssemblieren eine Fehlermeldung LABEL NOTX nicht vorhanden.


    #########################################################


    [15:39] B0:WORK>>submit os.sub


    aus: http://www.retroarchive.org/cpm/os/DRIPAK.ZIP

    B0:WORK>MAC OS3BDOS

    CP/M MACRO ASSEM 2.0


    ; ERROR JNZ NOTX ? Label nicht vorhanden ##############

    U0A48 FE18C20000 CPI CTLX! JNZ NOTX

    15EF

    01CH USE FACTOR

    END OF ASSEMBLY





    ###########################################################


    Ohne Fehler

    http://www.jbox.dk/rc702/source/OS3BDOS.ASM

    http://www.jbox.dk/rc702/source/OS2CCP.ASM

    [15:58] B0:WORK>>submit osx

    B0:WORK>MAC OS3BDOSx

    CP/M MACRO ASSEM 2.0

    D9EE

    01CH USE FACTOR

    END OF ASSEMBLY



    Mit freundlichen Grüßen


    fritz

  • Sodale, ich habe folgende Informationen von Mike, er hat zugesagt, dass er uns ein "Kochrezept" strickt :)


    - Der Bootloader im EPROM (aus EPROM.MAC) lädt den ersten Sektor der Diskette (der das Kompilat von BOOTER.MAC enthält) auf 4200h ins RAM und springt an diese Adresse.

    - BOOTER.MAC lädt dann CP/M ins RAM und springt an den BIOS Kalt-Einsprungpunkt bei EC00h.

    - SYSGEN.C kann BOOTER und CP/M auf die Systemspuren der Disk schreiben.

    - SYSGEN.C erwartet BOOTER im RAM bei 0900h and den Beginn des CP/M-Abbilds bei at 0B00h


    Gruß

    Robert

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Danke,

    ich habe mir das mal ein wenig angeschaut. Die sysgen.c hatte ich noch nicht im Blick.


    Leider habe ich traurige Nachrichten.

    Mein Catweasel MK1 ist defekt. Lesen geht wohl (hmm) aber Schreiben nicht mehr :(


    Ok - selber schuld, aber sowas von. ::solder::

    --- tief Luft holen und morgen zum Reha-Sport bei den knackigen Maedels.:censored:



    Mit freundlichen Grüßen


    fritz

  • Auweh ... hast Du eine andere Möglichkeit, Dateien auf die CP/M 3.0 Disk zu bekommen, um dort dann das CP/M 2.2 zu generieren und auf eine andere Disk zu schreiben?


    Gruß

    Robert

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Auweh ... hast Du eine andere Möglichkeit, Dateien auf die CP/M 3.0 Disk zu bekommen, um dort dann das CP/M 2.2 zu generieren und auf eine andere Disk zu schreiben?


    Gruß

    Robert


    Doch, 22disk, Genie IIIs, supercopy und mein 2ter catweasel im Compaq Portable Nachbau ( was gut ist denn da bastel ich nicht so schnell rum).


    Der kaputte Catweasel war halt praktisch mit AHA1522 und 8" . Ich wollte mir ja schon lange einen Umschalter für die Floppykabel machen, ist leider gestern dumm gelaufen.:fpa: Vielleicht braucht funkenzupfer ja was zum Basteln.

    Mit freundlichen Grüßen


    fritz

  • Hallo Fritz,

    Mike hat schwer gearbeitet: Das anhängende Archiv beinhaltet die entsprechenden Dateien und ein Rezept zum Bauen und Übertragen des Systems. Arbeitsumgebung ist das vorhandene CP/M 3.0.


    Lass hören, wie weit Du kommst und ob es funktioniert.


    Gruß

    Robert

  • Hi...


    es funktioniert nicht weil ein SAVE 52 GENIECPM.COM nicht den richtigen Speicherbereich enthält.


    Wenn ich mir die geniecpm.bin anschaue fängt der fast richtige Code nach 880 an.

    Mir ist die DDT Speicherumwandlung nicht klar.

    Ich habe das Beispiel von Hand durchprobiert, save speichert wohl was falsches.


    Bei CP/M3 ist es aehnlich gemacht aber mit trace80


    M80

    <=BOOTER

    <=SYSTAB

    <=LDRBIOS

    <

    L80 BOOTER/N,BOOTER/E

    L80 SYSTAB/N,SYSTAB/E

    <N

    LINK CPMLDR[L4300,NR]=CPMLDR,LDRBIOS


    T80 BOOTER

    <MOVE 4200 43FF 1000

    <LOAD CPMLDR 1200

    <LOAD SYSTAB 1F00

    <LOAD CCP 2800

    <SAVE $$TEMP$$. 100 347F

    <BYE


    COPYSYS $$TEMP$$

    <B



    Das erstellte $$TEMP$$ fängt bei 0FFFH mit den Daten an. So müßte auch die mit DDT und SAVE erstellte GENIECPM.COM aussehen - denke ich mal.

  • Hallo Fritz,

    wie weit bist Du in der Anleitung gekommen? Bevor ich Mike Rückmeldung gebe:


    Stimmen Deine Ausgaben mit denen in Mike's PDF überein? Ich habe das ganze mal hier nachexerziert, der einzige Unterschied, den ich feststellen konnte, ist, dass bei mir (unter MFA CP/M) der "Use Factor" nicht wie in Mike's PDF 01DH sondern 01FH beträgt.


    Ich hänge Dir die GENIECPM aus meiner Produktion mal an, bitte versuche, die auf eine Diskette zu bügeln.


    Gruß

    Robert

  • Ich melde mich morgen Abend (also heute ) noch mal.


    Problem ist dass sysgen "Schrott" auf den 1ten Track schreibt.


    Milke hat sysgen auf LOADP=900h (war 1000H) geändert, also sollte bei 900H die Sequenz 21 50 42 in geniecpm.com auftauchen.

    Finde ich aber leider nicht a dieser Stelle.

    Mit freundlichen Grüßen


    fritz

  • Rückmeldung von Mike:

    "Note that I laid out GENIECPM.COM to be compatible with CP/M 2.2 conventions, not CP/M 3 conventions. In this light, the payload that is written to the boot tracks starts at 900h in memory as is typical with CP/M 2.2 for SYSGEN and MOVCPM.


    The COPYSYS program for CP/M 3 expects the payload to start at 1000h in memory and writes just one track. I modified COPYSYS and called it SYSGEN and the new SYSGEN program expects the payload at 900h and writes two boot tracks as required for CP/M 2.2."


    Könntest Du anstelle von 3.0 von einem anderen 2.2 als dem Holte 2.2 arbeiten?


    Gruß Robert

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic


  • 1.) Die Änderung der PLOAD Adresse habe ich gesehen. Da ich das SYSGEN unter CP/M 3 einsetze denke ich dass es nicht notwendig war.


    2.) Das SYSGEN ist für CP/M 3.0 und testet auf die Version da die CP/M Versionen sich u.A. in der Blocking / Deblocking unterscheiden und es nicht mit CP/M 2 läuft.


    Was mich wundert ist, dass der 1. Sektor auf dem geschriebenen Boottrack nicht das enthält, was drauf soll.

    Ich teste heute und melde mich dann wieder - die Chefin hat mir den Termin genehmigt. :xmas:

    Mit freundlichen Grüßen


    fritz

  • Anmerkung:


    Mike arbeitet mit DDT und SAVE. SAVE ist ein internes Kommando von CP/M 2. ich arbeite mit ungebanktem CP/M 3 und SAVE ist ein externes Kommando.


    So wie es aussieht arbeiten DDT und CP/M 3 SAVE nicht wirklich mit einander. Ich könnte ja eine BIOS22.RSX laden falls das hilft.


    Unabhängig davon ist das GENIECPM.COM so noch nicht korrekt, die ersten Bytes sollten (mMn) für den Lader aus dem EPROM 21 50 42 (für Holte) sein.



    .... keine Zeit, die Diskette blinkt schon wieder.

    Mit freundlichen Grüßen


    fritz

  • Don't read the fucking manuals ... ssoll mit noch mal jemand sagen. :fp:


    OK. Save unter CP/M+ muß natürlich "vorher" geladen werden.


    Anbei ein Blick auf den 1. Sector der mit dem angepaßten Sysgen erstellten Bootdiskette. Was da steht soll da gar nicht stehen.


    Mit freundlichen Grüßen


    fritz

  • Note that whenever CP/M or DDT loads a .COM file into memory, it loads offset zero of the .COM file into RAM location 100h (and the SAVE command in CP/M 2.2 does the opposite). Therefore, the boot image that is located at 900h in RAM actually starts at offset 800h in the .COM file.


    If you look at offset 800h in the GENIECPM.COM file you find the 21 50 42 sequence you're looking for.


    Mike

  • After digging further into the COPYSYS program, I see it uses a different convention for the command line image file than used by SYSGEN under CP/M 2.2. COPYSYS expects the command line image file to have the first byte of the disk image start at offset zero - not at 800h/900h (or 0F00/1000h) as used in the SYSGEN program.


    I updated COPYSYS again (calling it SYSGEN again). Since it won't be consistent with CP/M 2.2 SYSGEN anyway, I restored the load point used by the program to 1000h (that address no longer has any particular significance). I also updated the GENIECPM.COM file to start the disk image at offset zero instead of offset 800h. This updated GENIE file is called GENIE0.COM.


    Try the following on the CP/M 3 system:


    1) Upload the attached SYSGEN.COM and GENIE0.COM to the CP/M 3 system

    2) Run A>SYSGEN GENIE0.COM and follow the prompts. Answer "No" at the copy CPM.SYS prompt


    Mike

  • annotation:


    Mike works with DDT and SAVE. SAVE is an internal command from CP / M 2. I am working with unranked CP / M 3 and SAVE is an external command.


    From the looks of it, DDT and CP / M3 SAVE do not really work with each other. I could load a BIOS22.RSX if that helps.

    Yes, SAVE under CP/M 3 is different than under CP/M 2. Under CP/M 3, you run the SAVE command with no parameters BEFORE starting the DDT session. When you exit DDT with G0 or CTRL-C, the SAVE program automatically "wakes up" and prompts to save a file from a range of memory. SAVE in CP/M 3 allows you to specify the starting and ending address (unlike SAVE under CP/M which always begins the save operation from RAM address 0100h).


    The equivalent steps to SAVE 52 pages of RAM starting from RAM address 0100h to a file GENIECPM.COM under CP/M 3 are:


    CP/M V3.0 Loader V1.00 18-Jan-2002

    Copyright (C) 1982, Digital Research


    A>SAVE

    A>DDT

    DDT VERS 2.2

    - (do your work here)

    -G0


    CP/M 3 SAVE - Version 3.1

    Enter file (type RETURN to exit): GENIECPM.COM

    Beginning hex address 0100

    Ending hex address 34FF


    A>


    Mike