Schneider / Amstrad CPC Forum

Amstrad / Schneider CPC => Programmierung => Topic started by: slartibartfast on 11. January 2012, 10:22:29

Title: EXT2/3 FS
Post by: slartibartfast on 11. January 2012, 10:22:29
Hallo Leute,

unter http://svn.lanowski.de/dev/z80/CPC/trunk/ gibt es ein kleines Appetit-Häppchen für die, die auch auf dem Z80 nicht von Linux/BSD genug bekommen können.

Gruß,

slarti
Title: Re: EXT2/3 FS
Post by: TFM on 11. January 2012, 19:40:48
Super, dass Du an dem Projekt dranbleibst!!!
Title: Re: EXT2/3 FS
Post by: slartibartfast on 13. January 2012, 14:47:17
Hallo TFM,

so wie die Zeit verfügbar ist, kümmere ich mich auch um solche Waisenkinder  8)

Gruß,

Slarti
Title: Re: EXT2/3 FS
Post by: Devilmarkus on 13. January 2012, 15:16:41
Das Projekt ist Interessant!
Ich hoffe, dass hier auch User sein werden, die eine Zielgruppe dafür sind.

Aber ich finde es Klasse, dass jemand sich solche Mühe macht!
Title: Re: EXT2/3 FS
Post by: TFM on 13. January 2012, 18:12:59
Also ich hoffe mal jetzt keinen Quatsch zu erzaehlen...

Denke als Zielgruppe kommt jeder in Frage der auf irgendeine Art eine IDE Platte am CPC haengen hat, als da waeren:
- CPC-IDE
- SF2
- 8255IDE vom Jarek
- IDE8255 vom R. Palmer

Die Unterschiede lassen sich mit Routinen fuer 'Sektor schreiben' und 'Sektor lesen' kompensieren. Ansonsten braucht man nichts (abgesehen von einigen Initialisierungs-routinen, auf die man notfalls auch verzichten kann).


Es waere doch mal eine Idee so ein EXT Platten-Image fuer den WinApe zu erstellen, denn der emuliert ja auch das SF2. Dann koennten auch die Leute damit arbeiten (sicher vertraut machen), die noch keinen IDE Adapter am ECHTEN CPC haben.

Title: Re: EXT2/3 FS
Post by: slartibartfast on 02. February 2012, 12:58:51
Hallo TFM,

der HAL ist so konzipiert, das nicht nur andere Hardware unterstützt werden kann, sondern auch 'virtuelle' Geräte (z.B. Disk-Images im realen FS).

Das ist zwar für den CPC nicht gerade ein muß, aber es kostet nur wenig Mehraufwand und ist flexibler.

Gruß,

Slarti
Title: Re: EXT2/3 FS
Post by: TFM on 02. February 2012, 21:29:07
Hi,

Das ist doch für den CPC eine geniale Idee! Klar, wenn man Disc-Images unterstützen könnte, dann könnte man alle DSKs von der CPC-Games CD (z.B.) auf die Festplatte rüberschaufeln, und dann bei Bedarf in Null,Nix in den CPC laden :-)

Ins Basic könnte man das so ähnlich einbinden wie das RDOS das mit der RAM-Disc macht. Nur mal so als Idee :-)
Title: Re: EXT2/3 FS
Post by: slartibartfast on 15. February 2012, 10:19:07
Hallo TFM,

hmm, bei http://cpctech.cpcwiki.de/docs/extdsk.html gibts eine Beschreibung, die mir auf dem ersten Blick brauchbar erscheint ....
Mal sehen, was ich (machen) kann ;-)

Gruß,

slarti
Title: Re: EXT2/3 FS
Post by: TFM on 16. February 2012, 21:06:39
Ja, das sieht ganz gut aus :-)

Also jetzt mal eine doofe Frage, wie weit laeuft das EXT2/3 denn schon? Ich bin da grad nimmer auf dem laufenden. Waere super, wenn Du hier ein bischen mehr erzahlen koenntest :-)

cu!
Title: Re: EXT2/3 FS
Post by: slartibartfast on 22. February 2012, 09:24:30
Hallo TFM,

der Status ist in den READMEs beschrieben. Das ganze ist noch nicht als ganzes ausgetestet. Was auf einem Emu läuft, ist die Partitionserkennung und die Math_lib. Der Rest darf als "untested" gelten.
Sollte ich mal Zeit haben, hole ich das dieses Jahr noch nach ;-)

Da ich keine RAM-Disk habe, werde ich wohl improvisieren müssen - Wenn Du Beispiele für die Umsetzung im RDOS hast, dann gerne her damit ;-)
Sonst müsste ich gucken, was das AMSDOS an Möglichkeiten bietet.
Momentan schwebt mir eine RSX-Erweiterung für 'virtuelle' LW vor, mit der dann DSKs 'gemountet' (eingelegt) werden. Das funktioniert natürlich nur für Programme, die selber keine FDC Routine implementieren, sondern sich 'dumm' auf das AMSDOS verlassen.

Gruß,

Slarti
Title: Re: EXT2/3 FS
Post by: TFM on 22. February 2012, 23:16:37
Es sind schon ziemlich viele Programm die einfach die DOS Vektoren benutzen. Games nicht so oft, aber die gecrackten Versionen dann alle wieder ;-)

Hört sich alles in allem gut an!

Benutzt Du WinApe als Emulator, oder wie machst Du das?
Title: Re: EXT2/3 FS
Post by: slartibartfast on 23. February 2012, 08:55:00
Hallo TFM,

da ich derzeit noch nichts CPC spezifisches implementiert habe (außer die Benutzung der IDE-Routinen, die ich für den Partitionstabellen-Test nicht brauchte), reichte bis jetzt ein einfacher Z80-Emu.
Ich habe mir mal das AMSDOS genauer angeschaut: 8kiB (eher 7kiB) in einem upper ROM; da ist ja noch jede Menge Luft ....

Da ich kein AMSDOS-Listing habe, mache ich mir gerade selber eins.

Evtl. kann die HAL_lib, EXT2/3 und DSK_lib im AMSDOS-ROM noch Platz finden.

Gruß,

Reiner
Title: Re: EXT2/3 FS
Post by: Devilmarkus on 23. February 2012, 14:31:20
Das ist nicht ganz korrekt.
AMSDOS ROM sind 16k!
Allerdings sind die oberen 8k für CPM.
Verwendet man AMSDOS nur als 8k ROM, können CPM Disketten nicht mehr geladen werden. (Bzw. das CPM nicht mehr)
Title: Re: EXT2/3 FS
Post by: slartibartfast on 23. February 2012, 17:43:47
Hallo Devilmarkus,

jepp, korrekt.
Ich habe ein korrumpiertes ROM-Image zu Rate gezogen, aber http://cpctech.cpcwiki.de/docs/amsdos.asm hat mich eines besseren belehrt ;-)

Danke trotzdem!

Gruß,

Slarti
Title: Re: EXT2/3 FS
Post by: TFM on 23. February 2012, 20:53:26
Naja, der WinApe emuliert zum Teil auch den IDE Teil des SF-2, also falls es mal CPC spezifisch werden soll. Aber teste dann erst mal alle IDE Kommandos um zu sehen was läuft. Einfaches Zeugs wie Sektor lesen & schreiben geht, nur die exotischeren Kommandos fehlen.

Title: Re: EXT2/3 FS
Post by: slartibartfast on 23. February 2012, 21:32:34
Hallo TFM,

zuerst versuche ich zu 'verstehen', wie der CPC an dieser Stelle tickt.
Das AMSDOS ist für mich absolutes Neuland - ich habe damals auf einem 464 ohne Disk gehackt - Die Kassetten liegen immernoch irgendwo rum ;-)
Den 6128 habe ich erst später bekommen, da war es mit dem Hacken schon aus ....

Das DSK-Format habe ich gerade an einer deiner FutureOS Disks 'ausprobiert' ;-)

Liegt nun unter http://svn.lanowski.de/dev/z80/CPC/trunk/DSK_lib/README.txt

Gruß nach US,

Slarti
Title: Re: EXT2/3 FS
Post by: TFM on 24. February 2012, 20:06:46
Sieht schon mal sehr interessant aus :-)))

Zum Amdos / FDC  und Amsdos patchen ist das Floppy Buch ganz gut. Jedenfalls kenn ich gerade nicht besseres. Ich hänge das mal an :-) Uups geht nicht, hat 10 MB. Guck mal bei Kangaroos FTP, da ist es glaube ich auch drin.

Aber Achtung es hat hier und da Fehler (z.B. Routinen-Adressen), aber die halten sich in Grenzen. Trozdem nur zu empfehlen :-)))

Title: Re: EXT2/3 FS
Post by: slartibartfast on 25. February 2012, 12:38:44
Hallo TFM,

guckst Du hier: http://svn.lanowski.de/pub/8-Bit/Amstrad/CPC/Literature/Manuals/  ;)
Trotzdem danke ....
Es gibt genügend Dokus, die ich nicht habe.

Gruß,

Slarti
Title: Re: EXT2/3 FS
Post by: slartibartfast on 26. February 2012, 20:19:54
Nun ist auch der erste Code geschrieben.
Der ist zwar noch sehr unschön (Spagetti-Code, nicht 'al dente'), zum ersten Test sollte es aber reichen ;-)
http://svn.lanowski.de/dev/z80/CPC/trunk/DSK_lib/DSK_lib.asm
Das war's für's Wochenende ....

Gruß,

Slarti
Title: Re: EXT2/3 FS
Post by: TFM on 02. March 2012, 21:24:47
Ach Code muss nicht schön sein, ganz im Gegenteil. Schnell und stabil muss er sein, und da gehört Spaghetti-Zeugs eben ab und zu dazu.

Der ganz Kram mit dem goldenen Schnitt hat doch in der Z80 nichts zu suchen. Wir coden ja nicht "Beispiele ethärischer Programmierung", sondern wir wollen ja dass unser Code auch schön & schnell läuft :-)))

In dem Sinne: Schönes WE!
Title: Re: EXT2/3 FS
Post by: slartibartfast on 05. March 2012, 09:51:44
Hallo TFM,

ich sehe meinen Code eher

a. als Beispiel für eine Implementierung und
b. als Mittel zum Zweck.

Da der Code ja nachher noch irgendwo in den Arbeitsspeicher oder ROM soll, muß er auch dort reinpassen. Für die DSK-Lib ist das z.Zt. noch das geringste Problem - die hat noch nur den "Mangel", das es selber keine DSK-Images generieren kann (wohl auch nicht muß), noch das es keine Tracks formatieren kann (auch das sehe ich eher nicht als muss).

Was z.Zt. fehlt, ist die Unterstützung vom darunter liegenden FS (ext2/3), welches

a. Z.Zt. noch nur Dateien <= 48kIB unterstützt,
b. noch einige Fehler enthält,
c. noch keine Virtualisierung von Zugriffen kennt.

An den Punkten arbeite ich gerade.
Die DSk-Lib ist also schon gebrauchsfähig, wenn man sich alleine auf die HAL-Lib stützt, d.h. Festplatte mit/ohne Partitionstabelle und in den Partitionen/im Bootsektor das DSK-Image kopiert.
Da dies von mir noch nicht getestet wurde: Freiwillige vor ;-)

Mit triefender Nase,

slarti
Title: Re: EXT2/3 FS
Post by: TFM on 06. March 2012, 20:21:16
Da jetzt nur mal kurz eine Anmerkung dazu: Mach Dir über die größe keinen Kopf, wenn es nicht in ein ROM passt, dann hald in zwei :-)