Mist war wohl doch nix, bzw. zu früh gefreut
Ct180
-
-
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
-
Nun,
DRVTBL.ASM als extrn
FDHDIDE.ASM als public
LDRBIOS.ASM als extrn
-
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
-
Werner_8085 was ist den dein Bootlaufwerk - 3.5 oder 5.25 und welches Format?
Aus der fdhdide.prn.txt kann das Format in 22disk erstellt werden.
-
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
-
Hast du für das Bootformat ein funktionierendes Image von Alfred zum testen der 22DISk Parameter ?
-
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
-
Bitte schön ...
-
Hier noch zwei Varianten für IDE bzw. CFC ...
-
Hallo Werner,
scheint doch die Hardware zu sein, Details siehe Anlage
-
Anbei noch einige Infos zur Hardware und Bugs, evtl. hilft das weiter ...
Gruß
Alfred
-
PS: Die ersten HD64180 CPU's hatten einige Fehler (Maske R0P), die späteren haben die Revision R1P.
-
Danke für die Infos,
damit habe ich erstmal genügend Stoff zum abarbeiten...
LG Werner
-
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
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 | |
-----------------------------------------------------------------------------------
-
... Fehler bleibt ;-((
LG Werner
-
Schade , wäre ja zu einfach gewesen :-(!
-
Moin, moin,
bis ich eine Idee und Plan zu diesem Problem habe konzentriere ich mich zunächst auf CP/M 2 und die Einbindung der CF-Karte - Quellen sind ja dank Eurer Hilfe vorhanden - schauen wir mal...
LG Werner
-
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
-
Nachtrag: Die I/O Waits sind kritisch, wenn zu hoch, wird der FDC ausgebremst
-
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 gesetztGibt es dafür eine einfache Erklärung ?
LG Werner