Autor Thema: 1040STE IDE Problem  (Gelesen 13568 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.013
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: 1040STE IDE Problem
« Antwort #40 am: Mi 23.12.2015, 12:29:24 »
Hat mit der HDDriver Version nichts zu tun, denke ich mal aber aus Spaß probiere mal AHDI 6 ...

Offline tuxie

  • Benutzer
  • Beiträge: 6.830
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: 1040STE IDE Problem
« Antwort #41 am: Mi 23.12.2015, 16:05:27 »
Na ich werde das schon noch finden woran es legt, die Aktivitäten LED blinkt ganz kurz beim Start dann passiert aber nix weiter, sprich ein Zugriff scheint zu erfolgen.
Tschau Ingo

Offline neogain

  • Benutzer
  • Beiträge: 1.313
  • ...?
Re: 1040STE IDE Problem
« Antwort #42 am: Mi 23.12.2015, 16:42:56 »
Hab sie auch schon in 64MB Partitionen 5 Stück eingeteilt, und dann HDDriver in C Installiert, leider das gleiche Problem. Aber bevor ich hier weiter mich dumm und dämlich suche, versuche ichs mal mit einer kleinen Platte.

Tuxie, probiere doch einfach mal Pperas Treiber. Wenn du damit booten kannst, weißte schonmal, dass alles in Ordnung ist ;)

Offline tuxie

  • Benutzer
  • Beiträge: 6.830
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: 1040STE IDE Problem
« Antwort #43 am: Mi 23.12.2015, 17:23:01 »
werde ich machen, danke..
Tschau Ingo

Offline tuxie

  • Benutzer
  • Beiträge: 6.830
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: 1040STE IDE Problem
« Antwort #44 am: Mo 28.12.2015, 12:01:35 »
So es gibt news, ich habe den STE zum Booten gebracht AAAABBBBERRRRR... nun erhalte ich 11 Bomben sobald er HDDriver anfängt zu booten. Könnte jetzt an einer Falschen Konfiguration von HDdriver liegen oder ein defekt.

Ich will mir das GAL Listing nochmals genauer anschauen denn ich habe von einigen schon gehört das die Schaltung von PPera instabil läuft. Ich habe mir die Suska Quellen von Wolfgang Förster einmal geladen und er hat die Logic auch angepasst und verändert. Ich will das ebenfalls mal versuchen...

Die Änderungen liegen darin das er LDS und UDS mit zur Decodierung verwendet und in der logic wird beim ihm AS mit abgefragt. Ich könnte mir vorstellen das man durch das verwenden von AS in der Logic etwas mehr Zeit gewinnt, da die CPU die Adressen die am Bus anliegen mit AS erst für Gültig erklärt. So wie es aktuell ist in dem GAL schaltet der Decoder bereits sobald die Adressen am Bus anliegen

Zitat
   DTACK = /AS*A23*A22*A21*/A20*/A19*/A18*RW+
   A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14;
   /SELP = A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*/A5;
   /SELS = A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*A5;
   /IORD = /AS*A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*RW;
   /IOWR = /AS*A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*/RW;
   /LINEA = A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14;
Abgeändert
Zitat
   DTACK = /AS*A23*A22*A21*/A20*/A19*/A18*RW+
   A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*/LDS*/UDS;
   /SELP = A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*/A5*/AS;
   /SELS = A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*A5*/AS;
   /IORD = /AS*A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*RW*/LDS*/UDS;
   /IOWR = /AS*A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*/RW*/LDS*/UDS;
   /LINEA = A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*/AS;

LDS, UDS, AS sind Low Aktive Signale daher /
Und was ich auch noch anders ist, bei Wolfgangs Schaltung wird Reset nochmal durch die Logic geschleift und hängt nicht direkt am ATARI<->IDE Bus.

Ich werde das GAL mal abändern und berichten.
« Letzte Änderung: Mo 28.12.2015, 12:51:17 von tuxie »
Tschau Ingo

Offline czietz

  • Benutzer
  • Beiträge: 3.570
Re: 1040STE IDE Problem
« Antwort #45 am: Mo 28.12.2015, 12:34:27 »
Du möchtest die ganzen Signale nur dann generieren, wenn /UDS und /LDS beide aktiv (also low) sind? Dann würden nur noch Word-Zugriffe auf das IDE-Interface klappen. Byte-Zugriffe würden immer fehlschlagen, weil dabei nur entweder /UDS oder /LDS aktiv/low ist.

Meines Wissens gibt es keinen Treiber, der nur Word-Zugriffe macht, d.h. auch Byte-Zugriffe müssen funktionieren.

Offline tuxie

  • Benutzer
  • Beiträge: 6.830
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: 1040STE IDE Problem
« Antwort #46 am: Mo 28.12.2015, 12:45:18 »
So hat es Wolfgang Förster gemacht

Zitat
   DTACKn <= '0' when ASn = '0' and UDSn = '0' and LDSn = '0' and DMAn = '1' and ADR >= x"F0000" and ADR < x"F0004" else
              '0' when IDE_IORDY = '0' else 'Z';

    IOWRn <= '0' when ASn = '0' and UDSn = '0' and LDSn = '0' and DMAn = '1' and ADR = x"F0000" and RWn = '0' else
             '0' when ASn = '0' and UDSn = '0' and LDSn = '0' and DMAn = '1' and ADR = x"F0001" and RWn = '0' else
             '0' when ASn = '0' and UDSn = '0' and LDSn = '0' and DMAn = '1' and ADR = x"F0002" and RWn = '0' else
             '0' when ASn = '0' and UDSn = '0' and LDSn = '0' and DMAn = '1' and ADR = x"F0003" and RWn = '0' else '1';

    IORDn <= '0' when ASn = '0' and UDSn = '0' and LDSn = '0' and DMAn = '1' and ADR = x"F0000" and RWn = '1' else
             '0' when ASn = '0' and UDSn = '0' and LDSn = '0' and DMAn = '1' and ADR = x"F0001" and RWn = '1' else
             '0' when ASn = '0' and UDSn = '0' and LDSn = '0' and DMAn = '1' and ADR = x"F0002" and RWn = '1' else
             '0' when ASn = '0' and UDSn = '0' and LDSn = '0' and DMAn = '1' and ADR = x"F0003" and RWn = '1' else '1';

    SELPn <= '0' when ASn = '0' and DMAn = '1' and ADR = x"F0000" else
             '0' when ASn = '0' and DMAn = '1' and ADR = x"F0001" else '1';

    SELSn <= '0' when ASn = '0' and DMAn = '1' and ADR = x"F0002" else
             '0' when ASn = '0' and DMAn = '1' and ADR = x"F0003" else '1';

    LINEAn <= '0' when ASn = '0' and DMAn = '1' and ADR = x"F0000" else
              '0' when ASn = '0' and DMAn = '1' and ADR = x"F0001" else
              '0' when ASn = '0' and DMAn = '1' and ADR = x"F0002" else
              '0' when ASn = '0' and DMAn = '1' and ADR = x"F0003" else '1';

   IDE_RESn <= '0' when RESETn = '0' else 'Z';
   ACSI_HDINTn <= '0' when IDE_INTRQ = '1' else '1';

Tschau Ingo

Offline tuxie

  • Benutzer
  • Beiträge: 6.830
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: 1040STE IDE Problem
« Antwort #47 am: Mo 28.12.2015, 12:50:04 »
Ah moment was übersehen, ich änder die logic mal ab.
Tschau Ingo

Offline czietz

  • Benutzer
  • Beiträge: 3.570
Re: 1040STE IDE Problem
« Antwort #48 am: Mo 28.12.2015, 12:56:19 »
Versuch macht klug. Es wird so aber nicht funktionieren, sobald ein Treiber Byte-Zugriffe macht. Wolfgang Förster schreibt selbst (Hervorhebung von mir):

Zitat
---- This VHDL model is based on PERA Putnik's IDE interface     ----
---- interface (version 1998-12-23) but has full decoding of the  ----
---- respective address lines and is valid for word access only.  ----

Auch halte ich es für bedenklich, /SELP und /SELM absichtlich verzögern zu wollen. Das sind die Chip-Select-Signale des IDE-Interfaces und diese müssen ausreichend vor /IORD oder /IOWR anliegen und nicht erst gleichzeitig. Die exakte Setup-Zeit hängt vom verwendeten PIO-Mode ab und lässt sich der IDE/ATA-Spezifikation entnehmen.

Offline tuxie

  • Benutzer
  • Beiträge: 6.830
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: 1040STE IDE Problem
« Antwort #49 am: Mo 28.12.2015, 13:24:26 »
Ich hab jetzt erstmal AS eingebaut, Testen kann man ja ist ja schnell neu programmiert der GAL. Ich berichte und werde das laufende Posten..

Tschau Ingo

Offline czietz

  • Benutzer
  • Beiträge: 3.570
Re: 1040STE IDE Problem
« Antwort #50 am: Mo 28.12.2015, 13:35:22 »
Was ist in den Suska-Quelltexten eigentlich der Unterschied zwischen ide-interface.vhd und ide-interface_soc.vhd? In letzterem ist das IDE-Interface ja noch einmal implementiert, dieses Mal auch für byte-weise Zugriffe.

Offline tuxie

  • Benutzer
  • Beiträge: 6.830
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: 1040STE IDE Problem
« Antwort #51 am: Mo 28.12.2015, 14:18:36 »
Gute Frage, ich denke das eine ist Plain GAL auf VHDL umgesetzt und das andere ist die Implementieung ins Suska?

Habe jetzt AS mit drin, habe etwas bessere Stabilität habe keine Abstütze mehr. Muß jetzt mal schauen das ich die Cf Karte nochmal lösche und neu Partitioniere.
Tschau Ingo

Offline czietz

  • Benutzer
  • Beiträge: 3.570
Re: 1040STE IDE Problem
« Antwort #52 am: Mo 28.12.2015, 14:20:56 »
Hast Du die Verknüpfung mit /AS eigentlich auch in DTACK eingebaut? Das ist nämlich das, was ich an den ppera'schen GAL-Gleichungen etwas unglücklich finde. Das GAL generiert schon ein DTACK (data acknowledge) bevor die CPU überhaupt die Gültigkeit der Adresse signalisiert hat.

Offline tuxie

  • Benutzer
  • Beiträge: 6.830
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: 1040STE IDE Problem
« Antwort #53 am: Mo 28.12.2015, 14:23:14 »
Jep ist es.
Tschau Ingo

Offline tuxie

  • Benutzer
  • Beiträge: 6.830
  • Falcon! Milan! Schuetzt die Raubvoegel!
Re: 1040STE IDE Problem
« Antwort #54 am: Mo 28.12.2015, 15:16:04 »
Hab es jetzt mal angepasst, nun Funzt es 1a, mehre Sachen bereits getestet.

CHIP IDE_GAL  GAL20V8        COMPLEX_MODE

A23 A22 A21 A20 A19 A18 A17 A16 A15 A14 A5 GND
AS RW LINEA SELP SELS IORD IOWR DTACK NC NC NC VCC


  DTACK = /IORD + /IOWR;
   
   /SELP = A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*/A5*/AS;
   /SELS = A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*A5*/AS;
   /IORD = A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*RW*/AS;
   /IOWR = A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*/RW*/AS;
   /LINEA = A23*A22*A21*A20*/A19*/A18*/A17*/A16*/A15*/A14*/AS;

« Letzte Änderung: Mo 28.12.2015, 15:17:54 von tuxie »
Tschau Ingo

Offline Lukas Frank

  • Benutzer
  • Beiträge: 13.013
  • fancy Atari Musik anDA Dance "Agare Hinu Harukana"
Re: 1040STE IDE Problem
« Antwort #55 am: Mo 28.12.2015, 15:37:38 »
Glückwunsch ...