CP/M-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Memberlist || Home || Statistik || Kalender || Staff Willkommen Gast!
[ Unofficial CP/M Website ] [ Z80 Family Support Page ] [ Forum-Regeln ] [ Impressum/Kontakt ] [ Datenschutzerklärung ]

CP/M-Forum » CP/M-Software » File-Format unter CP/M » Threadansicht

Autor Thread - Seiten: -1-
000
05.12.2010, 02:52 Uhr
FeuerRing



Hallo

ich möchte CF-Cards für meinen Z80-Rechner nutzen,
>> wie sieht denn das File-Format für CP/M genau aus
>> gibt es unter CP/M eine Partitionstabelle

>> unterstützt CP/M auch andere File Formate wie z.B. FAT 8/16/32

Gruss Ralf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
001
05.12.2010, 15:50 Uhr
proof80



Hallo Ralf,

wir hatten hier schon mal eine Diskussion über die CF-Karte und Dateiformate unter CP/M-Forum >> Hardwareprojekte >> MMC/SD oder CF als Speicher (krieg den link hier nicht sauber rein).

Ich bin nach wie vor der Meinung, dass das YAZE-Format auf einer CF-Karte Vorteile mit sich brächte. Dann kann man den Emulator im PC nämlich auch zum Testen und Entwickeln nutzen.
Im Prinzip schreibt man am PC auf eine FAT-formatierte CF-Karte eine Datei in fester Größe und liest unter CP/M in dieser Datei das gewünschte Diskettenformat. Im CP/M-BIOS braucht's dazu nur eine recht einfache Umrechnung für die Sektoren ...

Für CP/M gibt es ja nicht das Diskettenformat, weil die Normung erst später unter DOS einsetzte. Das kann also schon mal eine ganze Wissenschaft für sich werden ...

Partitionstabellen sind auch im Umlauf, aber eben auch proprietär, d.h. abhängig von der konkreten Maschine und dann auch im BIOS realisiert.

Im Falle der CF-Karte könnte ich mir eine Partitionierung so vorstellen:
Man schreibt am PC hintereinander verschiedene YAZE-Dateien von z.B. je 1MB auf die Karte. Damit hat man schon verschiedene Laufwerke - sprich Partitionen - unter CP/M zur Auswahl. Zur Standard-Sektorenumrechnung kommt dann noch ein Offset für die konkrete Platte hinzu. FAT-Dateinamen werden zu Partitionsnamen und könnten in einem Auswahl-Menü dargestellt werden.

Lass von Dir hören, wie Dein Projekt weitergeht. Bei mir staubt ein PROF-80 (www.prof80.de) und eine CPU-280 (reh-design) vor sich hin. Bei letzterer ist die HD ins Nirwana entfleucht und ersterer könnte auch eine IDE-Anbindung als Frischzellenkur gebrauchen ...

Happy cp/m-ing und Gruß, Wolfram

Dieser Post wurde am 05.12.2010 um 15:56 Uhr von proof80 editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
002
05.12.2010, 16:51 Uhr
FeuerRing



@proof80

>> Für CP/M gibt es ja nicht das Diskettenformat

CP/M Systeme wurden doch mit 8" bsw 5,25" Floppydisk betrieben, da muss es doch irgend eine Organisation der verwendeten 128 Byte Sektoren gegeben haben.

Ich brauch auf jeden Fall erst mal eine vernünftig Möglichkeit Daten, Programm bzw. Speicher-Abbildungen in einen nicht flüchtigen Wechsel-Speicher zu speichern bzw. zu laden, wie auch immer.
Das ganze sollte auch von einem PC problemlos gelesen und gespeichert werden können.

Also werde ich in irgend einer Form ein FAT 16/32 kompatible Umgebung in meinem Boot-Monitor des Z80-Computer unterbringen ... wie das ganze dann unter CP/M dann Funktioniert ergibt sich ...

Gruss Ralf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
003
05.12.2010, 18:41 Uhr
proof80



Hallo Ralf,

als Urformat kann wohl das 8"-SS-SD gelten, auf dem das CP/M original vertrieben wurde: 77 Spuren, 128b pro Sektor, 243kb Gesamtkapazität ... Ich hab noch so'n paar Lappen, aber das ist dann doch etwas unhandlich.

Es gibt das Programm 22disk, das auf einem PC läuft und Disketten in CP/M-Formaten beschreiben kann. Voraussetzung: das Disk-LW hängt am PC ...

Das FAT-Format tickt grundverschieden zu allen CP/M-Formaten. Sowas auf einem Z80-basierten System zu implementieren ist sicher ein etwas größeres Unterfangen. Besser man nutzt die Rechenpower auf dem PC und emuliert das CP/M-Dateisystem -> YAZE !!!

Dein Grundproblem - Daten hin und her - kann ich verstehen. Da hab' ich in den Anfängen (quasi bootstrapping) mit der seriellen Schnittstelle operiert Das wurde mir aber irgendwann zu behäbig und ein Massenspeicher muss her. Zum Glück konnte ich schon CP/M booten und die 5 1/4" Scheiben auf einem alten PC lesen

Läuft auf Deinem NKC überhaupt schon CP/M oder basiert alles noch auf dem Monitor im ROM? Ich kenne das System nicht näher.

Wenn Du erst mal nur Daten transferieren willst, würde ich an Deiner Stelle lediglich die Schreib- und Leseroutine für die CF-Karte ins BIOS bzw. in den Monitor packen und alles andere drumherum mit entsprechenden Tools auf dem PC abwickeln - quasi Speicher peek and poke. Das müsste relativ schnell zu machen sein. Das hat Rainer für den prof schon mal zusammengestellt:

http://www.prof80.de/files/cfdisk.zip

Vielleicht hilft's.

Gruß, Wolfram

Dieser Post wurde am 05.12.2010 um 18:54 Uhr von proof80 editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
004
06.12.2010, 02:43 Uhr
FeuerRing



Hallo Wolfram

>> Ich hab noch so'n paar Lappen

ich hatte die 8" Teile nur mal in der Hand ... angefangen habe ich mit die 5,25" Floppys SD mit 360k und alles auf einem AT (mit Turbo-Taste) auch ein Teil was keiner mehr braucht und eigentlich nur ärger gemacht hat, das wir diese dann gar nicht mehr angeklemmt haben und den Rechner immer im Turbo-Mode laufen gelassen haben. Zum Schluss gab es sogar mal 3,5" Floppys mit 2,88 MB, hat sich aber nicht mehr durchgesetzt. Genauso wie die MO-Laufwerke Anfänglich 5,25" später dann auch in 3,5" , scheinen nur noch im Medizineschen Bereich Verwendung zu finden (Archivierung)

>> Läuft auf Deinem NKC überhaupt schon CP/M
leider nein ... bin ich nicht mehr zu gekommen ...

>>basiert alles noch auf dem Monitor im ROM?
hatte damals ein eigenes Monitor-ROM geschrieben welches sich in den oberen Bereich selber kopiert und dann ausblendet.
Konnte dann über ein Menu Programme aus der ROM/RAM-Floppy ins RAM 0000 kopieren.

Mein Monitor-Programm werde ich erst mal so anpassen, das ich über das Menü von den IDE-Schnittstellen (CF-Card / 2,5"HDD) Daten laden/speichern kann.

Habe mir schon entsprechende Adapter auf 40pol-Buchsenleiste 2,54mm Raster und CF-Cards (1GB) bei eBay ersteigert.

Sobald die Teile da sind kann es losgehen, geplant ist ein ECB-IDE Interface mit 4 Anschlüssen, also 8 Platten/CF-Cards, entweder direkt zu adressieren, benötigt dann 4 x 16 IO-Adressen oder indirekt dann mit nur 16 IO-Adressen.
Meine Schaltung unterscheidet sich ein wenig von denen, die im WEB veröffentlicht wurden.
Ich adressiere CS1 und CS3 nicht zeitgleich mit IORW/IORD, denn CS1/CS3 müssen wie A0-A2 ... 10-70 nS (IO-Mode 0-6) vor der Aktivierung von IOWR/IORD anliegen, also Zeitgleich mit A0-A2 eben 10-70 nS vor IOWR/IORD.
Um auf das 16 Bit-DatenWord zu kommen, wird wie bei den anderen Schaltungen D8-D15 zwischen gespeichert, kann aber bei funktionierendem 8Bit-Data-Transfer vernachlässigt werden. Einige CF-Cards und nur noch wenige IDE-Festplatten unterstützen diesen 8Bit Data-Transfer (Features-Register)

Bis dann
Gruss Ralf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
005
06.12.2010, 18:04 Uhr
hschuetz

Avatar von hschuetz

Hallo Ralf,
schau mal einen Tread tiefer.... super einfach zu nutzender Massenspeicher.
Evtl.passt das bei dir...
Gruß
Hans-Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
006
21.12.2010, 20:09 Uhr
proof80



Hallo Ralf,

im Januarheft der elektor gibt es einen interessanten Artikel über das FAT Dateisystem:
http://www.elektor.de/jahrgang/2011/januar/fat-embedded.1647798.lynkx?tab=3

Vielleicht ist da ja was für Dich dabei.

Gruß, Wolfram

Dieser Post wurde am 21.12.2010 um 20:09 Uhr von proof80 editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
007
22.12.2010, 02:56 Uhr
FeuerRing



Hallo Wolfram,

>> im Januarheft der elektor gibt es einen interessanten Artikel über das FAT Dateisystem.

schon gelesen ... der Beitrag ist aber sehr oberflächlich gehalten.

Geht ja hauptsächlich um SD-Card(0-2GB), aber kein Wort von SDHC(2GB-32GB) und von SDXC(64GB-2TB) mit der verwendeten exFAT.

Mich beschäftigen da immer noch einige Fragen rund um die FAT:
-> wo liegen die gespiegelten Fats, und wo sind diese hinterlegt.
-> wie funktioniert das genau mit den Verzeichnissen "DIR-File" , "." , ".." und dessen Einträgen.

Wird sich finden ... ist aber notwendig um mit dem FAT_Fs zu arbeiten.

Ich sehe das FAT_Fs hauptsächlich als Möglichkeit um Daten zwischen PC und Z80 auszutauschen, wie genau man dann auf die Daten mit einem Z80 Zugreifen kann, wird sich zeigen und ergeben, ob nur ein einfaches load, save, copy oder ob ein richtiges open mit Random möglich sein wird.

Nur das FAT_FS beinhaltet ja da noch den MBR und die Primären und erweiterten Partitionen, die ja auch unterstützt oder wenigstens richtig erkannt werden müssen.

Gruss Ralf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
008
22.12.2010, 18:50 Uhr
Rainer



hallo Ralf,

die maßgebenden hinweise über FAT findest Du bei Microsoft :
http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx

Es finden sich aber auch etliche Projekte im Netz, wo man schonmal abgucken kann.
Auch wenn ich wieder schräg belächelt werde - warum löst Du das nicht mit einem
ATmega ?
Das IDE-interface wäre da dann auch schon mit erschlagen und möglicherweise könnte
der ATmega auch eine "translation" machen,so daß es vom cp/m aussieht wie ein
cp/m-Format. Damit würde man das umpatchen des BDOS sparen.

( alles nur mal so in den Raum geworfen ....... )

Gruß,
Rainer
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
009
23.12.2010, 00:36 Uhr
FeuerRing



@Rainer

danke für Tipp "Microsoft Extensible Firmware Initiative FAT32 File System Specification " und den hinweisen auf die Lizenz.

>> warum löst Du das nicht mit einem ATmega ?
weil einfach 8 Bite = 1Byte sind und ein Z80 einfach und gut ist ! ... eben eine Jugendliebe :-)

"translation" ?? ... übersetzen bedeutet immer auch Verluste ...

Alle reden immer von Java weil es so "plattformunabhängig" und geil ist ... in den 80`wunden Interpreter nur belächelt (siehe Basic), heute ist es stand der Dinge ?!" und keiner beschwert sich , statt dessen müssen PC immer Leistungsfähiger werden um so ein Bullshit verarbeiten zu können, und schuld ist der Layer 7... der will es ja so ...

Nicht ist so real wie direkt an der Maschine zu arbeiten ... "3e 00 D3 00" und sie mach genau das was Du willst .......

Gruss Ralf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
010
23.12.2010, 01:39 Uhr
Rainer



@Ralf

>>....und den hinweisen auf die Lizenz.
Ich hoffe, Du hast dir das " fatgen103.doc " runter geladen, einen Hinweis auf
Lizenzfragen wollte ich nicht damit geben.

>> weil einfach 8 Bite = 1Byte sind und ein Z80 einfach und gut ist ! ... eben eine Jugendliebe :-)
stimme ich voll zu!

>> Nicht ist so real wie direkt an der Maschine zu arbeiten ... "3e 00 D3 00" und sie mach genau das was Du willst .......
Ich habe ende der 70er mit einem 8080 Selbstbau angefangen, dem ich mit dipschaltern Bit für Bit das Laufen beibrachte :-)

Die ATmega sind auch nur 8 Bit breit. Und als echter z80er kann man solch MCU's durchaus als intelligente Peripherie für den z80 sehen und anwenden.

Nun gut, ich verfolge Deine Sache hier weiter und kann vielleicht nochmal einen Hinweis geben.

Gruß,
Rainer
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
Seiten: -1-     [ CP/M-Software ]  



gaby.de

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek