Questar/M von Honeywell Bull

  • Ich hab mal in der MAME-Source gepfuscht und Dein BIOS in den Micral 8022-Treiber eingebaut. Jetzt liegt das ganze zur Begutachtung auf Github.


    Statt "Micral" zeigt er jetzt auch brav "Questar/M"




    Leider hat die MAME-Emulation noch keine Floppy, aber ein erster Schritt ist getan.


    Es wäre super, wenn Du es noch schaffen würdest, die anderen ROMs auszulesen, aber angesichts der verwendeten Typen scheint das nicht so einfach.


    Hoffentlich findest Du die Fehlerursache bald.


    Gruß

    Robert

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

    Einmal editiert, zuletzt von rfka01 ()

  • Hallo Martin, die von Dir verlinkten Dateien stehen in MAME für den 8022 bereits im Einsatz, das Finden der von Dir genannten Homepage dürfte der ursprüngliche Anlass für die Aufnahme des Geräts gewesen sein.


    Ich bin überzeugt, dass der Tastaturcontroller passen müsste, aber auch beim BIOS-ROM hat man mehr getan, als nur den Gerätenamen zu tauschen.


    Ein Zeichen-ROM wurde bislang weder vom Micral noch vom Questar gedumpt.


    Gruß

    Robert


    Edith sagt: Wer sein MAME selber aus den jeweils aktuellen Quellen auf Github baut, hat jetzt den Questar/M-Treiber in der Source und kann auch fasziniert auf die Bootmeldung gucken :)

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

    Einmal editiert, zuletzt von rfka01 ()

  • Hallo Robert,


    also fehlt das character ROM noch, ok. Das wird dann wohl auf einem oder mehreren von den fünf kleinen PROMs drauf sein (MI-7611A / AM27S21DC).

    Das ist für mich erstmal Prio B.


    Ich bin gespannt, ob die Leute auf dem MAME Forum mit den Floppys weiterkommen.


    Jetzt knöpf ich mir erstmal die echte Hardware vor.

    Das Kompilieren von MAME habe ich ja schonmal hinbekommen mit Deiner Hilfe.


    Gruß Martin

  • Hallo Fritz,


    hier Bilder des Mainboards mit viel Licht und niedrigen ISO-Werten.


    Ich habe leider die Ursache der Rauchentwicklung nicht finden können. Die Tantals sehen nicht verschmort aus. Auch im Netzteil habe ich keine Brandspuren gefunden.


    Eigenartig. Werde dann erstmal die Versorgungsspannung des Netzteils testen.


    Gruß Martin

  • Rechner läuft! :)

    Netzteil liefert 5 Volt und 12 Volt und ein erster Test ergab keine Auffälligkeiten.


    Habe auf fritzeflink Tipp hin die Formatierungsangaben des Floppylaufwerks unter CP/M abgefragt.


    Hier die Angaben von STAT DSK:


    A: Drive Characteristics

    1856: 128 Byte Record Capacity

    232: Kilobyte Drive Capacity

    128: 32 Byte Directory Entries

    128: Checked Directory Entries

    256: Records/ Extent

    16: Records/ Block

    64: Sectors/ Track

    3: Reserved Tracks


    Keine Ahnung, was da gequalmt hat.

  • Danke, die Bilder habe ich gesehen und versuche daraus etwas hilfreiches zu machen.



    Aus den STAT Angaben ist es möglich, die DPB (Disk Parameter Block) Werte zu extrahieren.

    Was noch fehlt ist die Information, ob eine Sektortranslation (XLT) stattfindet, was ich aber nicht glaube.


    Falls du per serieller an die Maschine kommst kannst du ja statdisk.com oder ähnliche Software aufspielen, deren Ausgaben

    sind ausführlicher. Schicke ich dir noch zu.


    Dave Dunfield hat die Software CPT mit der per serielle ein Image auf den PC gemacht werden kann.

    http://www.classiccmp.org/dunfield/img/index.htm


    Im Forum hatte Robert auf deramp verwiesen, ich denke er kann bei der CPT Software von Dave und auch den hardsektorierten Disketten eher helfen.
    Ich selber bin in der Hard.- und Software nicht so bewandert, weiss aber manchmal wo etwas zu finden ist.


    Je mehr sich der Sache annehmen können desto eher findet man gemeinsam eine Lösung (könnte auch von AM stammen) .

  • Ich habe mal die DPB Parameter mit PDRIVE* ermittelt, die physikalischen Daten Sektorgröße etc. habe ich angenommen, muessen nicht stimmen.

    *PDRIVE und PD läuft unter CP/M auf dem TCS / EACA Genie unter Klaus Kämpf CP/M, Pdrive nutze ich auch unter MYZ80 CP/M 2.2


    DPB



    Physikalische Daten - theoretisch



    Drive Parameter Block (DPB):




    4000 04 0F 01 7300 7F00 C000 2000 0300

    und steht im ersten Sektor deiner Questar_cpm_clean.disk :ätsch:


    Wenn ich mir die Directoryeinträge anschaue vermute ich einen skew von 4




  • Hallo Fritz,


    ich bin dabei die CP/M-Tools auf meinen Questar/M zu übertragen, um mehr Betriebssystem-/ und Hardwareinfos herauszubekommen.


    Ich nehme an, dass die Infos zum Drive Parameter Block in das Programm CPT eingebunden werden müssen, um Disketten Track und Sektorweise zu kopieren, oder?


    Zusammen mit den Routinen im BIOS zum Ansteuern des Floppies sollte dann alles zusammen sein, um Disketten per serieller Schnittstelle zu lesen und schreiben.


    Gruß Martin

  • Ein paar weitere Informationen um CPT einzurichten benötigen wir noch.


    Hier CPT.TXT damit nicht jeder die CPT.ZIP Datei auspacken muß


    >---------------------------------------------------------------------------------------<

    CPT (CP/m Transfer) is a system for archiving and restoring complete

    CP/M disk to and from image files on a PC. It consists of a PC program

    which controls the transfer, and a small "client" program which runs

    on the CP/M system to read and write physical tracks in response to

    commands over a serial connection.


    Files in this archive:

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

    CPT.TXT = This file

    CPT.COM = PC side tansfer program program

    CPT.ASM = CP/M side client program

    MKCPT.BAT = Batch file to assembly CPT.ASM to CPT.BIN

    ASM80.TXT = Documentation for my 8080 assembler

    ASM80.EXE = My 8080 cross assembler

    MACRO.EXE = Macro preprocessor for ASM80

    HEXFMT.COM = Hex file manipilation utility

    APN0014.TXT = Notes on running under DOS programs under Windows



    CP/M Transfer utility - Jun 14 2005 - Dave Dunfield.



    What is XLT:

    Mit freundlichen Grüßen


    fritz

    Einmal editiert, zuletzt von fritzeflink ()

  • CPT Einrichten der RS232 hardware


    Configuring the Loader Client:

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

    CPT uses a resident client in the target system to perform disk

    access under control of the PC serial port. This client requires

    an 8-bit binary communications channel with the PC. Since many

    CP/M serial port drivers do not provide a "raw" 8-bit path, the

    CPT client provides it own serial drivers.


    CPT provides three driver functions:


    INIT - Used to provide any required initialization of the

    serial port.

    PUTC - Writes character in A to serial port

    No other registers should be modified.

    GETC - Get character from serial port.

    On exit: CY=1 means no char received (timeout)

    CY=0 means character received in A

    No other registers should be modified.


    If your system does not automatically initialize the serial port

    for 8-bit operation, you will need to add code to the INIT function

    which does this. You may also wish to increase the serial speed

    (if possible) to reduce disk image transfer time.


    For most systems using polled serial I/O, the example GETC and

    PUTC can be used without modification by setting the symbols near

    the top of the CPT.ASM file:


    USTAT = I/O address of UART status port

    UDATA = I/O address of UART data port

    RMASK = Bit mask for RX ready bit in USTAT

    RJMP = 'JNZ' if (USTAT & RMASK) is NOT 00 when character is ready.

    'JZ' if (USTAT & RMASK) is 00 when character is ready.

    TMASK = Bit mask for TX ready bit in USTAT

    TJMP = 'JZ' if (USTAT & TMASK) is NOT 00 when transmitter is ready.

    'JNZ' if (USTAT & TMASK) is 00 when transmitter is ready.



    If you do not know how to perform serial I/O on your CP/M system:

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



    Assembling and Transferring the client:

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



    TTY Error Recovery mode

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



    Image File Format

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

    Mit freundlichen Grüßen


    fritz

  • Die Angabe zum Format mit:


    - 2 sides

    - 80 tracks per side

    - 16 sectors per track (0-15 on side 0, 16-31 on side 1)

    - 256 bytes per sector


    Capacity = 2 x 80 x 16 x 256 = 655360 => 640kb


    passt nicht zu den STAT Angaben mit 232 Kilobyte Drive Capacity.    :grübel:

    eventuell sind es unterschiedliche Disketten ?



    A: Drive Characteristics


    1856: 128 Byte Record Capacity

    232: Kilobyte Drive Capacity

    128: 32 Byte Directory Entries

    128: Checked Directory Entries

    256: Records/ Extent

    16: Records/ Block

    64: Sectors/ Track

    3: Reserved Tracks



    Drive Parameter Block (DPB):


    4000 04 0F 01 7300 7F00 C000 2000 0300

    Mit freundlichen Grüßen


    fritz

    Einmal editiert, zuletzt von fritzeflink ()

  • Sodele....


    I have managed to transfer probe2.com to my vintage machine and made screenshots of all the adresses and settings in it.

    The CP/M disk has only 232 kB of capacity. The Floppydrive should handle 640 kB. Maybe the other OS called QMOS has the bigger capacity!?


    Is this enough information to build the flop2pc deramp  fritzeflink ?


    Martin

  • 2 Mal editiert, zuletzt von deramp () aus folgendem Grund: I have spent 30 minutes trying to get this forum's user interface to accept what I type without deleting words and sentences, but I've had no luck. I've typed it, pasted as plain text, written the response in native HTML, pasted as plain text between CODE brackets - it doesn't matter. I give up.

  • Zitat

    I have spent 30 minutes trying to get this forum's user interface to accept what I type without deleting words and sentences, but I've had no luck. I've typed it, pasted as plain text, written the response in native HTML, pasted as plain text between CODE brackets - it doesn't matter. I give up.

    ( I read the above text now after sending my text - it seems to be late today)


    If I had problems typing text direct into this forum I type it into notepad++ and paste it into this forum - mostly with luck.

    If you prefer an other programmers editor and/or use linux please test it. :)


    Maybe it's better to make a hardcopy of the text or ad a dok.txt file. I by myself have sometimes even problems with forum editor.

    Mit freundlichen Grüßen


    fritz

    2 Mal editiert, zuletzt von fritzeflink ()

  • Martin,


    FLOP2PC and PC2FLOP directly access the disk controller to perform disk IO independent of CPM or other operating system. The only way I could write PC2FLOP and FLOP2PC for this particular hardware would be to disassemble the CPM BIOS and/or the 2K PROM you mentioned earlier in order to figure out how to use the disk controller.


    If you want to assume you’ll always have at least one bootable CPM disk, then a version of FLOP2PC and PC2FLOP that uses the CPM BIOS for disk IO could be written. Note that this solution would have to be repeated for QMOS or other non-CPM disks you might have.


    Mike

  • Hi Mike,


    thanks for the clarification. I read the docs and now see the differences between CPT and NIS / FLOP2PC and PC2FLOP .

    I mixed some thought I remembered about the tools.


    I see now that:


    FLOP2PC / PC2PLOP and NIS use the well known information about the Hardware of the northstar floppy controller and no CP/M BIOS functions.


    but CPT (All CP/M disks)   uses the CP/M BIOS functions and that was what I had in thought.


    My idea was to use CPT to make disk images for the Questar/M computer.

    Doing this and trying to configure the RS232 correct may bee easier than writing a version of FLOP2PC and PC2FLOP that uses the CPM BIOS I believe

    as I'm not a programmer of course..

    Mit freundlichen Grüßen


    fritz

  • Mike,


    thanks for the explanation. As fritzeflink I mixed up different things. I thought the latter way would yield a multi purpose copy tool as well.


    With the help of the Forum I hope I can find out the necessary routines in the BIOS.


    Sorry for bothering you again without having the BIOS disassembled.


    Regards

    Martin

  • I have just formated a fresh floppy in cp/m and stat says:


    Bytes remaining: 612 k


    Da hast du wohl 2 unterschiedliche Disketten, eventuell....


    1. Single Side Single Density SS SD
    2. Double Side Double Density DS DD


    Du siehst es wenn du dir die Positionen der Indexlöcher anschaust. Oder es steht auf dem Etikett.



    http://oldcomputers-ddns.org/p…reference_manual-83-5.pdf

    Mit freundlichen Grüßen


    fritz

    Einmal editiert, zuletzt von fritzeflink ()

  • The physical floppy discs are the same.


    Die physikalischen Floppydisks sind die gleichen.

    Die eine ist vom Original kopiert und die andere habe ich frisch auf dem System formatiert.


    The Questar/M was available in seven base variants:

    1) CPX1010 mit 2 x 140 kB

    2) CPX1011 mit 2x 256 kB

    3) CPX1012 mit 2x 600 kB

    4) CPX1013 mit 1x 600 kB + 5 MB Harddisk

    5) CPX1021 mit 2x 256 kB + Optional 1 oder 2 x 10MB Wechselplatte + Optional 5 MB Harddisk

    6) CPX1022 mit 2x 600 kB + Optional 1 oder 2 x 10MB Wechselplatte + Optional 5 MB Harddisk

    7) CPX1023 mit 1x 600 kB + 5 MB Harddisk + (without Highres Graphics)


    Quelle: Firmenprospekt von Honeywell Bull


    Meiner ist die Nummer 3, die Originale sind beschriftet mit CPX1011 - also kompatibel mit der kleineren 256k Variante.

    Einmal editiert, zuletzt von Aquarius ()

  • Welchen Adressbereich stellt der Memorydump dar und wie hast du diesen erstellt ?


    Wichtige Adressen hast du ja schon mit probe2 gelistet.


    Da du weist wo dein CCP beginnt ( C800h) sollte der Dump bei C800H bis FFFFH sein.

    Zusätzlich kann noch der Vollständigkeit halber 000H bis 0100H hinzukommen.

    Bitte also bei einem Memorydump den Bereich von-bis mit angeben.


    Ergänzung:


    Einfacher ist für ein Z80 System an der Stelle von DDT oder ähnliche Tools -> TRACE80 von Lauterbach.


    Bei meinem System wird mit PROBE2 folgendes ausgegeben:

    This portion will tell you where your CCP starts, what your BDOS entry address is, and where your CBIOS jump table

    begins. The CBIOS jump table is also displayed.


    Your CCP beginning address is: E500H. Der Rest ist für ein DUMP erst mal unwichtig.

    Gut, wir brauch eigentlich nicht auch noch den CCP aber so habe ich eine gute Startadresse.


    Ich nutze bevorzugt TRACE80.COM und das Manual dazu.


    Mit

    C>t80

    TRACE80 V2.07-00143

    COPYRIGHT (C) 1981,82,83 BY L. LAUTERBACH

    36608 BYTES FREE


    *SAVE DUMP.BIN E500 FFFF

    06912 BYTES SAVED

    *

    Wird der gewünschte Bereich als Datei auf die Diskette geschrieben.

    Mit freundlichen Grüßen


    fritz

    5 Mal editiert, zuletzt von fritzeflink ()

  • Habe jetzt mal selbst angefangen den Z80 Code zu disassemblieren und mir einen Reim zu machen, wie der Diskettenkontroller (TTL-Grab) seine Parameter und Befehle bekommt.

    Bin auf den Online Disassembler ODA gestossen und hab dort mal den Code ab C800h reingeladen und die Einsprünge markiert, die bisher bekannt sind aus Probe 2 (Siehe Post #45).


    Die oberste Schicht sieht für mich sehr überschaubar aus 8-). Ich bin aber noch nicht tiefer vorgestossen.


    Mit folgendem Link sollte jeder von Euch den Code sehen und editieren können:


    https://onlinedisassembler.com/odaweb/RyhLn1oI/0



    Routinen


    Read

    E3D0

    Write

    E3EA

    Set DMA

    E36B

    Set Track

    E376

    Set Sektor

    E37C

    Home Disk

    E373


    Das habe ich schon rausgefunden:

    Die Sektornummer wird in E636 geschrieben

    Die Tracknummer wird nach E640 geschrieben

    In E633 steht eine 1 für Write und eine 0 für Read.


    Hier drei Screenshots:

    Aquarius

  • Sehr schön, ich hatte mit der Bitte ab C800H den Dump zu machen nicht daran gedacht, dass der Trace80 vermutlic den CCP überschreibt damit genügend Platz für zu tracende Programme ab 100H ist.


    This portion will tell you where your CCP starts, what

    your BDOS entry address is, and where your CBIOS jump table

    begins. The CBIOS jump table is also displayed.


    Mit freundlichen Grüßen


    fritz