1

Mam pytanie czy 65816 podobnie jak 6502 wysyła na szynę niepoprawne adresy w cyklu odczytu np. $8000,y (z tego co wyczytałem z książki 6502 i jego rodzina to najpierw czyta adres $8000, dopiero w następnym cyklu $8000+y). Normalnie mi to nie przeszkadza ale w momencie kiedy strobuję jakieś źródło poprzez $xxxx,y może dojść do sytuacji kiedy zatrzaśnie się adres $xxxx a nie $xxxx+y. W dokumentacji znalazłem że procek ma wyprowadzenie VDA - pojawia się 1 kiedy procek czyta bądź zapisuje do danej komórki pamięci podczas wykonywania rozkazu.
Czy podpięcie tego sygnału do dekodera adresu powinno rozwiązać problem ?
Muszę sprawdzić czy wpisanie do tej komórki spowoduje poprawną pracę pod warunkiem uwzględnienia w dekoderze sygnału R/W.
Temat ten nie do końca dotyczy Atari ale mam nadzieję że ktoś bawił się tym prockiem i może mi pomóc.
Tak nawiasem mówiąc to przy programowaniu flashu z poziomu 6502 trzeba używać składni sta ($88,x) ponieważ tytaj nie występują takie komplikacje (niestety ten sposób adresowania jest cholernie niewygodny)

2

swiety napisał/a:

Tak nawiasem mówiąc to przy programowaniu flashu z poziomu 6502 trzeba używać składni sta ($88,x) ponieważ tytaj nie występują takie komplikacje (niestety ten sposób adresowania jest cholernie niewygodny)

Dziwne, ja programuję flasha w Atari przez STA (nn),Y i wszystko działa. Co prawda to nie 6502, a 65C816, ale wątpię, żeby sygnały VDA i VPA były do czegokolwiek podpięte.

KMK
? HEX$(6670358)

3

W takim razie prawdopodobnie 65816 ma juz poprawioną obsługę pamięci i nie syfi na szynie - w takim razie to chyba mam gdzie indziej problem.(może fazy zegara). Po za tym 65816 krócej wykonuje niektóre rozkazy więc może poprawili dwie rzeczy na raz.