[Hilfe?] MBASIC Rev. 4.3 aus IMSAI .imd/.raw extrahieren?

  • Kann mir jemand helfen MBASIC Rev. 4.3 aus dem Image zu extrahieren?

    Toshi hatte es ja damals auch schon "gesucht" (und ob es das aelteste ist):
    ältestes CP/M Microsoft Basic


    Ich habs versucht, bekomme es aber nicht hin :(


    Mit den cpmtools hab ich versucht aufs .raw zuzugreifen:


    diskdef imsai

    seclen 128

    tracks 77

    sectrk 26

    blocksize 512

    maxdir 256

    boottrk 0

    skew 0

    os 2.2

    end



    aber schon beim cpmls kommt zuviel "Muell" mit neben den Dateinamen.

    Richtig Dateinamen darin sind wohl:


    copran.asc

    cpindex.bas

    glmenu.asc

    loan.asc

    mbasic.com

    mortg.asc

    portval.bas

    portval5.bak

    portval5.bas

    startrk.asc

    timegain.bas


    mit samdisk hatte ich aus dem .imd ein .raw gemacht:

    C:\TEMP\SAMdisk3811>samdisk MBAS43.imd MBAS43.raw

    Wrote 77 cyls, 1 head, 26 sectors, 128 bytes/sector = 256256 bytes


    Oder hat jemand die 4.3er MBASIC.COM auch so?

    Ansonsten habe ich wohl "alle" ab der Rev. 4.51 ;)

  • Bitteschön ! 8-)


    Ich bin vom .imd File ausgegangen und habe mir es erstmal mit hxcfloppyemulator angeschaut

    - 77 Spuren, einseitig, 26 Sektoren pro Spur, 128 Bytes pro Sektor


    Dann mit

    hxcfe -finput:MBAS43.imd -foutput:msbas43.raw -conv:RAW_LOADER

    in .raw konvertiert


    cpmls -f ibm-3740 msbas43.raw

    hat dann keinen Müll produziert


    mkdir msbas43

    cpmcp -f ibm-3740 msbas43.raw 0:*.* msbas43

    konnte dann alle Dateien einwandfrei kopieren.

    Zumindest die .bas und .asc Dateien sehen gut aus und enden alle mit Ctrl-Z. mbasic.com hab' ich noch nicht getestet ;)

  • kkaempf JA SUPER :) Vielen Dank!
    Ich habe das gerade nochmal nachvollzogen auf meinem System.

    Meine beiden RAW Konvertierungen von samdisk und IMDU waren gleich und wurden von den cpmtools

    mit der Definition ibm-3740 sauber erkannt.

    Die ibm-3740 hat gegenueber meiner einfachen diskdef-Definition noch ein paar Optionen mehr drin, die es wohl ausmachen.


    Ich dachte ich haette meine diskdef auch nach 77 (fuer 77 tracks) durchsucht... hat wohl nicht geklappt.

    Allerdings musste ich bei meiner grossen diskdef auch alles ausser der ibm-3740 rausnehmen, da wohl irgendwo ein Fehler drin ist, denn mit allen Defs sagte er vorher bei der ibm-3740 immer

    cpmls: unknown unit specifier " " :(


    Man sollte echt nur Defs drin haben, die man nutzt :)


    Zum Beweis dass die Datei geht hier auch ein Bild vom MBASIC-Start ;)


  • Strange :(

    auf einmal weigerte sich der eine Rechner auch wenn nur ibm-3740 in der diskdefs definiert war mit

    cpmls: unknown unit specifier " "


    Obwohl es der gleiche Befehl war. Auch loeschen und neu installieren brachte den selben Fehler (obwohl es von anderen Rechnern ging)


    Erst als ich den Befehl

    cpmls -f ibm-3740 -i /toshiba/MB43IMD.RAW

    nutze (also das -i drin) loeste sich der Knoten und alles ging wieder.... versteh ich nicht :(


    Google kannt das Problem nicht.

  • cpmls: unknown unit specifier " "

    durch den selben build (2.20-2build1) auf einem ambian bullseye (debian) sagte er mir zu der diskdefs-datei dann auch, dass das Problem in Zeile 215 war.


    Es war ein " " (Space) beim Offset Zwischen der Value und dem "sec" fuer Sektoren.


    Unter armbian Hirsute (Ubuntu) sagte er die Zeilennummer nicht :(

    Nun klappt es auch wieder auf dem Hirsute-Rechner, nachdem er sich heute Morgen wieder weigerte.


    kkaempf Neuere MBASIC-Versionen habe ich auch ;)
    Ich habe folgende Versionen

    4.3

    4.51

    5.1

    5.21

    5.22

    und

    5.29


    Dein 5.2 hast Du nicht evtl. als uebersetzte Version (.COM)?


    Ansonsten gibt es wohl noch 5.26 alphatronic, das habe ich auch noch nicht aus dem .IMD/.RAW

    rausbekommen. Das in der diskdefs enthaltene alpha-def greift nicht :(


    PS: den Backspace/DEL-Key Patch fuer MBASIC kennst Du?

    Damit kann man einige neuere Versionen patchen, dass man auf der Eingabezeile rueckwaerts loeschen kann ;)

    Interessanterweise gehts bei der 5.21 und 5.29, aber nicht bei der 5.22

  • Ich hatte mal diese Liste kompiliert aus den CP/M Versionen, die ich z.B. in den R.-Lee Archiven gefunden habe: (Liste ist TAB getrennt -> z.B. in Excel einfügen.


    Von manchen Versionen existieren mehrerer Varianten. Deshalb habe ich noch die CRC32 dazu geschrieben.

    • Offizieller Beitrag

    cpmls: unknown unit specifier " "

    Der diskdef Parser ist an einigen Stellen etwas duerftig.

    Vermeide Kommentare und LEERZEICHEN hinter den Parameter.


    An einigen Parametern, zB. bei offset, kannst du Einheiten anhaengen, k=kilobytes, m=megabytes, etc.

    Ein nachfolgendes Leerzeichen wird nicht getestet und ist eine unbekannte Einheit.


    Zum Glueck sind die Quellen verfuegbar. Sowas hab ich bei mir schon geaendert.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Also mit den Images in MBAS526_IMD_RAW.zip kann ich gar nichts anfangen. Zwar sind die ersten 4 Spuren mit irgendwas beschrieben, aber dann herscht, bis auf wenige Ausnahmen, gähnende Leere.

    Es ist keine Verzeichnisstruktur erkennbar.

  • It is probably obvious, but I got your similar results myself.

    I have my own Z80 mnemonics translator (AWK based), but I mixed the results of such translation with the Skoolkit disassembler output to get a byte-identical version of the MBASIC 5.20 comparing to a random sample COM file.

    Then I translated it to 5.22 later version by shuffling the code block properly (the main differences between the different binary files are consequence of the linking order), and played a lot with the resulting program, even getting a ZX Spectrum +3 version capable of playing sounds and supporting most of the graphics extensions (basing on the way Microsoft did it on the MSX for graphics and the Philips VG-5000 for sounds).


    techdocs/targets/cpm/mbasic.asm at master · z88dk/techdocs (github.com)



    I have my own collection of MBASIC versions, I might be missing some of the ones you listed.

    I got some file you miss, though. E.g. I found another 4.51 variant for the Vector Graphics.


    Are the files you listed in "MBAS526_IMD_RAW.zip" ?


  • The MBASIC files collection.

    This is the extra stuff I picked around the WEB:




    Apparently I miss the following ones:


    5.03 548E0A51 BASIC Rev. 5.03 [CP/M Version] Copyright 1977, 78, 79 (C) by Microsoft Created: 21-Aug-79

    5.03 2CD92C0F BASIC Rev. 5.03 [CP/M Version] Copyright 1977, 78, 79 (C) by Microsoft Created: 21-Aug-79

    5.03 55FB287D BASIC Rev. 5.03 [CP/M Version] Copyright 1977, 78, 79 (C) by Microsoft Created: 21-Aug-79

    5.1 C2015951 BASIC Rev. 5.1 [CP/M Version] Copyright 1977, 78, 79, 80 (C) by Microsoft Created: 14-Jan-80

    5.21 01F74FCF BASIC-80 Rev. 5.21 [CP/M Version] Copyright 1977-1981 (C) by Microsoft Created: 28-Jul-81


    By the way, to be 100% sure we should pass them through my "basck" tool, (it is part of the z88dk kit).

    basck discovers the main entry point and list the functions of a Microsoft BASIC (as well as other BASIC implementations) and allows a fine grain comparison.

    E.G. the BIC A5105 Basic is mostly identical to the more common BASIC 5.20 released on 14-Jul-80.

  • As I noted above, most of these versions seem to be contained in the CP/M collection by R.-Lee (I probably downloaded it from the humongous web site, but it is now also available on archive.org (or). I don't know the background of and origins this collection.


    In some cases it is unclear why several versions of the same revision number and creation date exist - it is very well possible that these had been patched by users. It seems to be less likely that Microsoft released updated versions with the same creation date.

    I did not look into the details and only used the generic CP/M variants, no specific system dependent versions. Actually I mostly use version 5.29.


    Martin

  • Apparently I miss the following ones:

    ...

    5.21 01F74FCF BASIC-80 Rev. 5.21 [CP/M Version] Copyright 1977-1981 (C) by Microsoft Created: 28-Jul-81


    What is this hexcode (a checksum I'd assume) and how is it computed.


    I do have a 5.21 "mbasic.com" file but is it the one you're looking for ? :nixwiss:

  • The way the CRC was checked is simple like hell, I didn't understand it immediately, neither :)

    You can simply zip the file. Most of the ZIP/UNZIP tools keep track of a CRC check and make it visible.

  • Zipping ' my' mbasic-5.21.com shows


    Length Method Size Cmpr Date Time CRC-32 Name

    -------- ------ ------- ---- ---------- ----- -------- ----

    24320 Defl:N 18221 25% 2021-12-30 21:33 84949158 mbasic-5.21.com