Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » IDE Controller mit 2HDD Master/Slave » Themenansicht

Autor Thread - Seiten: -1-
000
19.02.2018, 09:24 Uhr
winielektronik



Hallo Leute
ich bin dabei mein GIDE Interface IDE mit einer Slave HD-Disk zu erweitern.
Es ist mir nicht möglich das LW richtig zu lesen.
Schreiben ist ohne fehler möglich, nur beim lesen treten immer an den gleichen
stellen Bit-Fehler auf. schreibe 32h -> lese 33h od. 1Bh -> FBh.
Auch mit einer anderen Platte sind die Bit-Fehler ohne zu schreiben schon
an gleicher stelle zu erkennen.
Hat jemand eine Idee, muss man vieleicht was bestimmtes beachten??
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
20.02.2018, 17:14 Uhr
Heiko_P



Hallo,

mit einer Slave-Festplatte am GIDE hatte ich vor längerem auch mal experimentiert, hatte damit aber keinen Erfolg. Mit einem 128 MB DOM lassen sich 16 Laufwerke mit je 8 MB darstellen, mehr kann ein "normales" CP/M 2.2 eh nicht verwalten. Aus diesem Grund habe ich jegliche Versuche in dieser Richtung eingestellt.

Gruß
Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
20.02.2018, 18:03 Uhr
maleuma



Doch, mehr kann CP/M 2.2 schon verwalten. Zumindest wenn man das normale BDOS zum Beispiel durch ZSDOS ersetzt. ZSDOS kann Laufwerke bis 1GByte verwalten und Dateien bis zu 32MByte! Ergibt theoretisch bei 16 Laufwerken 16 GByte. Ich glaube, da wird im TPA langsam der Platz für die Belegungsvektoren knapp
Inwieweit das sinnvoll ist, steht also auf einem anderen Blatt...
Das BIOS von ML-DOS am KC85 kann z.B. Laufwerke bis zu 64MB benutzen, das wären dann bei 16 Laufwerken insgesamt auch schon 1 GByte.
Was natürlich ebenfalls für ein einzelnes Laufwerk heute kein Problem darstellt.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
21.02.2018, 07:39 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Die Beschränkung auf 8MB bei CPM 2.2 ist ein alter Irrglaube. Es ist eine Maximalkapazität von einem Gigabyte (65536 Blöcke a 16 kbyte) möglich. Nur eine einzelne Datei kann nicht größer als 8 MByte werden (65536 Records), und auch die Anzahl der Directory-Einträge ist beschränkt auf 8192 (max 16 Blöcke a 16K, dann jeweils 32 Byte pro Eintrag). Und man belegt bei 1GB Disk bereits 8K Speicher für den Allocation Vektor...
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
21.02.2018, 07:58 Uhr
Heiko_P



Ja, ich weiß dass da viel mehr geht. Mit meinem Beitrag wollte ich zum Ausdruck bringen, dass bei den heute verfügbaren Festplattengrößen eine Slave-Festplatte am GIDE nicht wirklich notwendig ist.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
21.02.2018, 09:04 Uhr
winielektronik



Hallo
Mir ist es gelungen das Slave-LW im LBA-Mode anzusprechen.
Ein Tipp vom LW-Hersteller: sende vor jedem LW-Wechsel 6H und 2H für Reset HDD:

;-------------
; IDE-FESTPLATTE RESET
00F6 IDEDOR EQU IDE+6 ; DIGITAL OUT REGISTER
79C8 IDERES:
79C8 CD 79CE CALL IDERES1
79CB C3 7972 JP HDD_WAIT
;----------
79CE CD 80AC IDERES1:CALL EXTERN
79D1 F5 PUSH AF ; PIOA rescue
79D2 C5 PUSH BC
79D3 3E 06 LD A,06H ;
79D5 D3 F6 OUT (IDEDOR),A
79D7 06 00 LD B,0
79D9 10 FE DJNZ $ ; Pause
79DB 3E 02 LD A,02H
79DD D3 F6 OUT (IDEDOR),A
79DF C1 POP BC
79E0 F1 POP AF
79E1 D3 1C OUT (PIOA),A
79E3 C9 RET
;-------------
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
23.02.2018, 08:18 Uhr
winielektronik



Hallo

hier das SELDR aus meinem BIOS mit eingebautem IDERES.
Fehler ist soweit behoben.
;-------------------------------
; LAUFWERK FESTLEGEN aus Drive Tab.

FC45 D5 SELDR: PUSH DE
FC46 E5 PUSH HL
FC47 21 FFAC LD HL,HSTDSK ; NEW DRIVE
FC4A 3A FFAD LD A,(DRIVE) ; DRIVE CURRENT
FC4D E6 0F AND 0FH
FC4F 57 LD D,A ; MAX 16 DRIVE
FC50 7E LD A,(HL) ; CP/M DRIVE
FC51 E6 0F AND 0FH
FC53 5F LD E,A
FC54 BA CP D
FC55 28 1E JR Z,SELRET ; DRIVE SCHON SELECT -----> Ausgang ohne HDD-Reset
FC57 16 00 LD D,0
FC59 21 FDC2 LD HL,TABLE
FC5C 19 ADD HL,DE ; DRIVE SELECT
FC5D 7E LD A,(HL)
FC5E E6 F0 AND 0F0H
FC60 B3 OR E ; IN E = DRIVE CP/M
FC61 32 FFAD LD (DRIVE),A ; NEW DRIVE SET LBA, SLAVE/MASTER
FC64 E6 80 AND 80H ; SET = EXTERN BUS
FC66 57 LD D,A
FC67 DB 1C IN A,(PIOA)
FC69 CB BF RES 7,A ; BIT 7 EXT/INT
FC6B B2 OR D
FC6C D3 1C OUT (PIOA),A ; TASK UNSCHALTEN
FC6E E6 80 AND 80H
FC70 28 03 JR Z,SELRET ; Ausgang wenn nicht Extern HDD select dann (LW A: SD/MMC)
FC72 CD FC36 CALL IDERES1 ; DRIVE EXTERN RESET
FC75 E1 SELRET: POP HL
FC76 D1 POP DE
FC77 C9 RET

;-------------------------------
; IDE-FESTPLATTE RESET

FC31 CD FC36 IDERES: CALL IDERES1
FC34 18 CB JR WAITBSY
FC36 C5 IDERES1:PUSH BC
FC37 3E 06 LD A,06
FC39 D3 F6 OUT (IDEDOR),A
FC3B 06 00 LD B,0
FC3D 10 FE DJNZ $
FC3F 3E 02 LD A,02
FC41 D3 F6 OUT (IDEDOR),A
FC43 C1 POP BC
FC44 C9 RET
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
27.02.2018, 20:34 Uhr
winielektronik



Hallo zusammen
MASTER/SLAVE läuft.
Habe den Test jetzt abgebrochen der lief ohne fehler durch.
Kann jetzt eine SLAVE Platte als Speicher ansprechen, habe
dazu eine Funkuhr DCF77 angeschlossen und eine Funkuhr-Software
als Task geschrieben die von der SLAVE Platte im Hindergrund läuft.
Die Uhr-Anzeige gebe ich auf einem LCD128x128 aus.
Mal schauen was sich daraus noch machen läst.
--
Hansjörg
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

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