• habe in den letzten Tagen erstmal den ct180 aufgehübscht, nun sehen die Frontplatten für Floppy und die diversen Schnittstellen schon deutlich besser aus. Dabei hat auch der CF-Karten Halter einen ordentlichen Platz gefunden.


    Als Transfer-Esel gab es auch noch ein "neuer" XP/DOS PC , denn der Tower war doch recht groß und fehlte an der Fräse.


    Experimente mit CP/M 3 durchgeführt:

    1.) hierzu aus den Quellen eine neue CPM3.SYS mit Yaze erzeugt und auf eine getrickste Diskette kopiert (nur Systemspuren aus der IMD, CCP.COM und CPM3.SYS) der Boot kommt immerhin bis zum Prompt und sucht dann den CCP vergeblich.


    2.) Mit dem LADER3 aus dem Prof80 die erstellte Dikette überprüft

    CT180Mon 4.53 03.13 AK

    6xMhz B-80H MW-0 IOW-1

    512k RAM

    >i

    1=FD 2=HD: 1 boot OS

    60k CP/M v2.2

    A/0>b:

    B/0>lader3

    CP/M 3 loader ...

    60K TPA

    Welcome to CP/M Plus v3.1 @A:

    IDE HD-Bios v1.13 03.2013 AK


    BIOS Error on A: CCP.COM not foundø


    gleiches Ergebnis, der CCP wird nicht gefunden.


    Nach meiner Vermutung ist in der SYS-Datei das falsche Diskettenformat eingebunden. In der FDSYS

    habe ich bereits die Select$tabelle an meinem Ct180 angepasst: (LW A/B als ds/dd) und in der FDHDIDE sieht es nach meiner Meinung gut aus:

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

    title 'xdph module for cp/m3 bios'


    public fdsd0,fdsd1,fdsd2,fdsd3,fdsd4,fdsd5,fdsd6,fdsd7,fdsd8,fdsd9


    extrn fd$read, fd$write, fd$login, fd$init

    extrn hd$read, hd$write, hd$login, hd$init


    maclib cpm3n

    maclib z80



    ; extended disk parameter headers (xpdhs)


    dw fd$write

    dw fd$read

    dw fd$login

    dw fd$init

    db 0,0 ; relative drive zero (A:)

    fdsd0 dph skew5,dp5d4 ; MC-Format 3-1/2, 5-1/4" DS/DD 780KB


    dw fd$write

    dw fd$read

    dw fd$login

    dw fd$init

    db 1,0 ; relative drive one (B:)

    fdsd1 dph skew5,dp5d1 ; 5-1/4" DD 80 Track AK 800kb

    .

    .

    .

    ; Floppy


    dp5d4 dpb 1024,10,80,2048,128,4 ; MC-Format 3-1/2, 5-1/4" DS/DD 780KB

    dp5d1 dpb 1024,10,80,4096,128,1 ; AK-Format 5-1/4" DD 80 800KB

    ;dp5d3 dpb 256,32,80,4096,128,1 ; Philips P2012 80 Track

    dp5d3a dpb 512,20,80,2048,128,3 ; Prof80 Mini 5-1/4" DD 80 800KB


    ;dp5d5 dbp 256,16,154,2048,256,4 ; Kontron KLA

    ;dp5d6 dpb 1024,10,80,2048,128,1 ; Wavemate 80 Track

    dp8d3a dpb 1024,16,77,8192,256,2 ; Prof80 Maxi DD 1.2MB

    dp8d3b dpb 1024,18,80,4096,256,1 ; AK 3-1/2", 5-1/4", 8" HD 1.4MB

    dp8d0 dpb 128,26,77,1024,64,2 ; IBM 8" SD Standard 250KB

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


    Gibt es noch eine andere Stelle wo die Formate den Laufwerken zugeordnet werden ?


    LG Werner

  • Hallo Werner,


    was mir spontan auffällt:

    A/0>b:

    B/0>lader3


    CPM3.SYS wird mit dem lader3 von Laufwerk B: korrekt geladen.

    Danach wird der CCP auf Laufwerk A: erwartet bzw. dort nicht gefunden.


    Ein Problem können die unterschiedlichen Formate von Laufwerk A: und B: sein.

    D.h. es wäre einfacher, du stellst beide Laufwerke auf das gleiche Format ein (AK).


    Dann kopierst die CPM3.SYS, CCP.COM und lader3.com auf eine CP/M2.2 Bootdiskette

    und startest den lader3 von Laufwerk A: (A/0>lader3).


    PS: Das MC/NKC Format würde auch gehen, dafür müsstest du aber das CP/M2.2 BIOS auch umstellen.

    Vielleicht etwas viel Arbeit für den Anfang ;-)!


    Gruß

    Alfred

  • Hallo Alfred,

    habe ich nach deinem Vorschlag durchgeführt - Ergebnis bleibt.

    In meiner gebastelten cpm3.sys ist wahrscheinlich ein anders Format als unter der cp/m 2 BootDiskette.


    Ich schau mal in den drei Dateien ob ich da noch einen Fehler finde...


    LG Werner

  • nächstes Experiment:

    In der Datei FDHDIDE.ASM fdsd0/1 auf "dph skew5,dp5d1 ; 3-1/2" 80 Track AK 800KB" geändert.

    Die cpm3.sys auf die CP/M 2 Bootdisk per 22Disk kopiert - siehe da er schreibt ein Promt, also CCP gefunden

    nur jede Eingabe endet irgendwo ins "Nirawana"...


    Da ich immer das 22disk dazwischen habe, vermute ich mal hier das Problem.


    Kannst du mir bitte die Parameter für dein Format rüber reichen...


    Danke.


    LG Werner

  • Hallo Fritz,

    LW A/B sind 3,5" HD

    Hab mir die Tabelle in 22DISK angesehen, das CT180 Format ist dort mit 4096 Blockgröße eingetragen also das AK-Format

    Das MC-Format hat eine Blockgröße von 2048Byte.


    Danach macht mein 22Disk eigendlich alles richtig ...


    Irgendwie drehe ich mich im Kreis und du hast in den nächsten Tagen ein Karton...

    ... dann schraube ich nur noch an meinem Moppel ;-))


    LG Werner

  • Hallo zusammen,

    damals war Speicher kostbar, und da CP/M68K nicht geplant war,

    hat das AK-Format weniger Systemspuren als das NDR/MC-Format und größere Blöcke.


    Evtl. hilft es, nach den Formatanpassungen in FDHDIDE.ASM das CP/M3 nochmals zu assemblieren

    und GENCPM ohne Auto, quasi manuell durchzuklicken und die Werte dabei zu checken.


    @Werner, das wird schon!

    Gruß

    Alfred

  • Moin, moin,


    habe meine o.g. Erkenntnisse nochmals überprüft

    - die Formatangaben in 22disk sind OK

    BEGIN CT18 CT180 #1 - 5x1024 DSDD SKEW 1 - 3.5", 5.25"

    DENSITY MFM ,LOW

    CYLINDERS 80 SIDES 2

    SECTORS 5,1024

    SKEW 1

    SIDE1 0 1,2,3,4,5

    SIDE2 1 1,2,3,4,5

    ORDER SIDES

    BSH 5 BLM 31 EXM 3 DSM 196 DRM 127 AL0 128 AL1 0 OFS 2

    END


    ich kann ja damit Dateien in die ct180Disketten kopieren und die laufen ja auch,

    wenn da wie zuerst angenommen die falsche Blockgröße (2k MCFormat) eingetragen wäre,

    würde das ganze ja maximal nur bis zum Inhaltsverzeichnis funktionieren.


    Also Fehler zwischen meinen Ohren.


    Es könnte an den Parametern in GENCPM liegen, hiergegen spricht aber das aus der IMD (CT1803FD) von Euch generierte Diskette das gleiche Fehlerbild hat:


    CT180Mon 4.53 03.13 AK

    6xMhz B-80H MW-0 IOW-1

    512k RAM


    >i

    1=FD 2=HD: 1 boot OS


    BootLDR v1.33

    CP/M V3.0 Loader

    Copyright (C) 1982, Digital Research


    60K TPA


    Welcome to CP/M Plus v3.1 @A:

    IDE HD-Bios v1.13 03.2013 AK

    A>dir


    ... ab ins Nirawana


    Es könnte natürlich auch an der Hardware liegen z.B. wenn das Banking nicht wie vorgesehen funktioniert.

    Ist jetzt natürlich nur Spekulation.

    Begründung:

    - Bei der Inbetriebnahme hat mich der Speichertest etwas irritiert, obwohl nur 128kB gesteckt waren hat er munter bis 512kB hochgezählt. Dies habe ich später unter CP/M2 nicht weiter beachtet, es läuft ja einwandfrei.

    - Erhärtet wird das durch die 2. ct180-Platine mit der gleichen Seriennummer: 64180CPU/L - RKR 64180CPU/B

    diese hat in der Speicherselektierung erhebliche Layoutprobleme...

    Zudem will meine CPU-Karte nur laufen, wenn unterhalb der Speicherbausteine eine Abschirmung montiert ist, sonst gibt es Speicherfehler. Habe das mit einer kaschierten EuroCard im nächsten Einschub realisiert.


    Um das ganze zu ergründen muss ich wohl einige Testroutinen im Monitor schreiben um die anderen Speicherbänke zu beleuchten - schauen wir mal...


    LG Werner


    PS: Alfred: hast du die BIOS-Quellen für das CP/M2.0 für mich?

  • Hallo Werner,

    das sehe ich auch so.


    Wenn der CCP geladen wird und der Prompt erscheint, sollte mit dem Disksystem eigentlich alles passen.

    Evtl. stimmt doch etwas mit deiner Hardware nicht (MMU/Bankumschaltung, Adressierung, Memory etc.)!?


    Teste nachher noch etwas an meiner Hardware und melde mich wieder.


    Gruß

    Alfred

  • Hallo Alfred,

    habe dein Prozeder mit der Bankumschaltung nachvollzogen:


    In jeder Bank auf ADR:EFFFh die Banknummer eingetragen

    sogar nach einem Reset waren diese noch am richtigem Ort.


    Im Quelltext wird beim Speichertest , wenn ich es richtig nachvollzogen habe

    jedes Byte mit 55h und aah getestet, soweit sollte bis zum Boot alles schön sein.


    Zwischenzeitlich ist die CPU gewechselt und im Speicherblock noch einige Kondensatoren (10µF u. 100nF)

    eingelötet. Jetzt funktioniert der Speichertest auch ohne Abschirmung.


    Die CP/MBootdiskette kommt immerhin bis zum Prompt und ich kann ein bis zweimal das Inhaltsvrzeichnis ansehen.

    Das ist ja immerhin schon ein Fortschritt.


    Jetzt kommt er erstmal unters Oszi ...


    LG Werner

  • Hallo Werner, klasse, es geht voran!


    Welche Speicherbausteine verwendest du genau?

    Evtl. sind die etwas zu langsam, oder passen vom Refresh nicht perfekt zum Timing.


    Damals hatte ich einige Hersteller getestet, Hitachi & Toshiba waren sehr gut.

    Für 6MHz sollten sie <= 120ns, und für 8MHz <=100ns Zugriffszeit haben.


    1989 waren die schnellsten von Toshiba (TC51256P-70) = 70ns, die habe ich dann bei beiden Boards verbaut.

    Man braucht ja Reserven für höhere Taktfrequenzen :sabber:


    Gruß

    Alfred

  • Hallo Alfred,

    es sind 16 x TMS4256-10NL verbaud, in der Beschreibung sollten TEXAS RAMs nicht eingebaut werden.

    Hab sie gegen TMM41256-12 aus dem Prof180x getauscht keine Veränderung im Fehlerbild.

    Dafür hat nun der Prof schnelle Speicher, so bleibt dort Luft für die Umrüstung auf 18Mhz...


    Ich schau mal weiter ob das Oszi irgend einen Hinweis gibt, nur mit zwei Kanälen + Trigger ist das etwas mühsam...

  • ... nichts konkretes gefunden, ledichlich ein Ribbel von ~250mV auf allen Leitungen.


    Was mich ein wenig irritiert sind die Jumper J5 und J6:

    - J5 steht bei mir auf N=256K*1 (sind ja auch verbaut)

    - J6 hier ist W und X geschlossen, laut Beschreibung ist dann nur der Speicher von 0-384K an Board, Rest extern ???


    - die PIO ist auf 60h damit sich das nicht mit den internen ab 80h nicht beisst (ist derzeit arbeitslos)


    jetzt erstmal Pause - zur Not ist es ja ein ordentlicher CP/M2 Computer ;-))


    LG Werner

  • Hallo Werner,


    du könntest zum testen maximale Waits einstellen, also in BIOSDEF.MAC diesen Bereich anpassen.


    von:

    else ; 12,288 mhz quarz


    iowait equ 0 ; keine waits

    memwait equ 0 ; dto.


    auf:

    iowait equ 00110000b ; 4 I/O-Wait(s)

    memwait equ 11000000b ; 3 MEM-Wait(s)


    Rest wie gehabt!


    Den Inhalt vom Register B2 (dcntl 32h+80h (iobase)) kann man dann z.B. mit DDTZ kontrollieren (60h = meine Einstellung):


    ddtz

    DDT/Z [8101]

    > ib2

    60 01100000"

    >>q

    ?

    > g0


    Gruß

    Alfred

  • Falls es dann funktionieren sollte, kannst du die Waits sukzessive reduzieren.


    DCNTL (DMA/WAIT Control) Register auf 32h

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

    | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |

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

    | MWI1| MWI0| IWI1 | IWI0 | |

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

  • Hallo Werner,


    genau, in der Ruhe lieht die Kraft!


    PS:

    Bei der Waitgeschichte hatte ich einen kleinen Denkfehler, konnte so also gar nicht funktionieren!

    Denn die Wait-Einstellungen aus BIOSDEF.MAC werden nur im BOOTLDR.MAC gesetzt:


    START:

    LD SP,bootend ; stack

    push bc ; drivecode sichern


    ld a,iowait+memwait; aus BIOSDEF setzen

    out0 dcntl,a


    Da in deinem Fall die CPM3.SYS aus CP/M2.2 vom LADER3 geladen wird, wirkt sich das nicht aus.

    Also das DCNTL (DMA/WAIT Control) Register auf 32h/b2h vom Monitor oder alternativ mit DDTZ setzen.


    Viel Spaß

    Alfred

  • Habe mich in den letzten Wochen mit meinem Utility für Systemspurbearbeitung beschäftig.

    Es läuft auf dem Moppel, da dort die besseren Vorrausetzungen vorhanden waren z.B. Intel-HEX laden und Diskettenroutinen um einzelne Sektoren zu lesen und schreiben. Im Prof gibt es das Intel-Hex Ladeprogramm nicht und im ct die Diskettenroutinen unter Monitorkontrolle nicht, müsste/könnte ich natürlich auch dort einbauen. Für das Moppel-BIOS gab es die Grundroutinen dazu schon und haben sich beim BIOS-bau bestens bewährt.


    Mit dem Progrämmchen werden die Systemspuren ins RAM geladen, das Diskettenformat kann über die Parameterauswahl entsprechend eingestellt werden

    z.B. SS/DS, Sektorgröße, Anzahl der Sektoren per Track, Quell/Ziel-LW etc. das ganze auch rückwärts, zwischendrin kann das BIOS mit dem Intel-Hexlader ausgetauscht werden. So ähnlich wie Sysgen nur flexibler, vorallem wenn noch kein CP/M-System bereit steht.

    Damit kann ich ganz komfortabel die Programme auf dem PC zusammenschrauben und direkt per Intel-Hex ins Zielsystem schieben ohne den Umweg über 22Disk.


    Ziel der ganzen Übung, für den ct180/prof180 die BIOS-Erweiterung der CF-Karte...


    Nun zurück zum ct180, der gibt mir immer wieder Rätsel auf:


    Sobald unter CP/M2 eine Datei in LW A: angelegt werden soll steigt er mit dem Schreibschutz aus, könnte ja an den Zeigern des DPH/DPB liegen,

    dann müsste er es aber immer anmeckern.


    Der Schreibschutz ist natürlich nicht gesetzt ;)


    Gibt es dafür eine einfache Erklärung ?


    LG Werner