Autor Wątek: U2086 i TC2068  (Przeczytany 10208 razy)

KWF

  • Moderator
  • *****
  • Wiadomości: 6838
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • PCBway
Odp: U2086 i TC2068
« Odpowiedź #75 dnia: 2021.11.05, 12:54:21 »
W ZX Spectrum są to 32 takty, zaczyna się 14335 (late timing) lub 14336 taktów przed pierwszym wyświetlanym pikselem na ekranie. Rożnica jednego taktu wynika z możliwości zastosowanego procesora, bo wykrywanie przerwania jest na granicy wymagań Z80. W Timex z nieznanych powodów różnica czasowa pomiędzy /INT, a pierwszym pikselem najprawdopodobniej wynosi 14321 takty.
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

aqqman

  • ***
  • Wiadomości: 162
  • Miejsce pobytu:
    Milky Way
Odp: U2086 i TC2068
« Odpowiedź #76 dnia: 2021.11.05, 13:22:49 »
Nie o to mi chodziło ale dzięki za informację.
Chodzi mi o współczynnik wypełnienia tego co trafia na nogę /INT, ale skoro napisałeś że jest to skorelowane z wyświetlaniem i że na granicy wymagań Z80 to podejrzewam że jest to króciutki impuls stanu niskiego. Więc muszę dać wypełnienie bliskie 100% (czas impuslu około 1/2T)
2 x TC2068 na sterydach:
- TC2160 - 160kBRAM
- TC2176 - 176kB RAM - 2xscreen, 2xROM
FDD3000

KWF

  • Moderator
  • *****
  • Wiadomości: 6838
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • PCBway
Odp: U2086 i TC2068
« Odpowiedź #77 dnia: 2021.11.05, 13:25:46 »
Napisałem przecież, że trwa 32 takty.

/INT musi trwać przynajmniej tyle, ile trwa wykonanie najdłuższej komendy + pewien margines, ale też nie może trwać zbyt długo, aby procesor był wstanie wyjść z procedury obsługi przerwania.
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

aqqman

  • ***
  • Wiadomości: 162
  • Miejsce pobytu:
    Milky Way
Odp: U2086 i TC2068
« Odpowiedź #78 dnia: 2021.11.05, 13:28:32 »
Takty CPU czy Takty SCLD? :) "nA granicy wymagań Z80" sugeruje że SCLD.

Ok już wiem - dzięki,
2 x TC2068 na sterydach:
- TC2160 - 160kBRAM
- TC2176 - 176kB RAM - 2xscreen, 2xROM
FDD3000

KWF

  • Moderator
  • *****
  • Wiadomości: 6838
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • PCBway
Odp: U2086 i TC2068
« Odpowiedź #79 dnia: 2021.11.05, 13:30:59 »
A co to są takty SCLD?
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

aqqman

  • ***
  • Wiadomości: 162
  • Miejsce pobytu:
    Milky Way
Odp: U2086 i TC2068
« Odpowiedź #80 dnia: 2021.11.05, 13:31:46 »
SCLD Clk 14Mhz Pisałeś o wyświetlaniu obrazu więc zacząłem myśleć w stronę SCLD.
a to że "na granicy wymagań Z80" pomyślałem że 1/2 T CPU , bo takie jest minimum dla /INT żeby go Z80 złapał (chyba).
2 x TC2068 na sterydach:
- TC2160 - 160kBRAM
- TC2176 - 176kB RAM - 2xscreen, 2xROM
FDD3000

KWF

  • Moderator
  • *****
  • Wiadomości: 6838
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • PCBway
Odp: U2086 i TC2068
« Odpowiedź #81 dnia: 2021.11.05, 13:38:21 »
Karta katalogowa Z80 i książka o ULA w ZX Spectrum kłaniają się w pas. :P

Aby Z80 rozpoznał przerwanie, różnica czasowa pomiędzy zboczem narastającym zegara, a pojawieniem się /INT, powinna trwać przynajmniej 80 ns. W  ZX Spectrum wynosi ona ok. 42 ns. Poza tym wraz z nagrzewaniem się ULA.i CPU ten margines może zmniejszyć się. Nie każdy procesor jest w stanie rozpoznać takie przerwanie i stąd "late timing".

Generowanie obrazu jest z zegarem 7 MHz (2 x zegar CPU).
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

aqqman

  • ***
  • Wiadomości: 162
  • Miejsce pobytu:
    Milky Way
Odp: U2086 i TC2068
« Odpowiedź #82 dnia: 2021.11.05, 14:12:33 »
Za dużo informacji...ale doceniam... chcę tylko żeby mi nie "samopowtarzała" klawiatura za szybko.

Ok dałem tak na oko 100mikrosekund impuls stanu niskiego i jest git  :D - wiem, to co napisałem to obelga dla teoretyków najmocniej przepraszam.
W razie problemów podzielę licznikiem zegar AYgreka czy CPU i podam z bramkowaniem na /INT...
2 x TC2068 na sterydach:
- TC2160 - 160kBRAM
- TC2176 - 176kB RAM - 2xscreen, 2xROM
FDD3000

KWF

  • Moderator
  • *****
  • Wiadomości: 6838
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • PCBway
Odp: U2086 i TC2068
« Odpowiedź #83 dnia: 2021.11.05, 14:29:54 »
Odpal jakieś demo grające AYkiem, czy cokolwiek co wykorzystuje przerwania i wtedy będziesz wiedział czy jest git.
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

aqqman

  • ***
  • Wiadomości: 162
  • Miejsce pobytu:
    Milky Way
Odp: U2086 i TC2068
« Odpowiedź #84 dnia: 2021.11.05, 15:27:09 »
Się zrobi panie inżynierze. Póki co podpinam płytkę-combo z "właściwym" dekoderem AY, Kempstonem (na cywilizowanym porcie) i przełącznikiem do banków pamięci w ostatniej 16 (bank D). DiagROM chyba testuje AY choć nie przyglądałem się dokładnie. Na razie on mi tylko wybrzydza, że nie działa mu cały HighRAM, a tymczasem działa tylko bank C - sprawdzić musiałem z Basic'a po zmianie organizacji z 2x4464  na 4x4416.
2 x TC2068 na sterydach:
- TC2160 - 160kBRAM
- TC2176 - 176kB RAM - 2xscreen, 2xROM
FDD3000

KWF

  • Moderator
  • *****
  • Wiadomości: 6838
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • PCBway
Odp: U2086 i TC2068
« Odpowiedź #85 dnia: 2021.11.05, 15:56:07 »
/CAS1 i /CAS2 powinny zostać odseparowane od siebie, po wymianie z 2x4464 na 4x4416.

Do usunięcia D22, D23 i R64. Wmontować zworkę zamiast D22.
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

aqqman

  • ***
  • Wiadomości: 162
  • Miejsce pobytu:
    Milky Way
Odp: U2086 i TC2068
« Odpowiedź #86 dnia: 2021.11.05, 16:43:02 »
Zgadza się, zgodnie ze sztuką zrobione  :D. /CAS1 tylko w użyciu na bank C, bank D na PseudoStatic 128k (TC518128A) - eksperymentalnie - bo 1 kość, Static musiałbym lepić z 4 bo ciężko dostać coś większego w DIP. Ot taki eksperyment bo takie znalazłem u siebie (działały mi z 'ruskim' kalkulatorem kiedyś), obawiam się tylko trochę tych wymagań jak naprzykład: 4mikrosekundy spokoju na start pamięci, ale mam to na osobnej płytce więc jak mi nie zagada to tragedii nie ma.
2 x TC2068 na sterydach:
- TC2160 - 160kBRAM
- TC2176 - 176kB RAM - 2xscreen, 2xROM
FDD3000

aqqman

  • ***
  • Wiadomości: 162
  • Miejsce pobytu:
    Milky Way
Odp: U2086 i TC2068
« Odpowiedź #87 dnia: 2021.11.05, 20:25:54 »
No dobra następny problem, z jakiegoś powodu PRINT IN 0 pokazuje mi zawartość komórki ROM spod adresu 0...
IN 1,2,3 to samo po kolei, wyżej już czasami losowo, raz taka liczba raz inna, IN255 pokazuje stabilnie 0.
Coś mi śmieci po szynie danych bo pamiętam że jak nic nie mam podłączone to większość niskich IN pokazywała 255....
ROM ma:
 /CE połączone z SCLD /ROMCS
/OE z  /RD
AY ma
BDIR i BC1 póki co do masy (chciałem go na razie wykluczyć)

Znalazłem...
/ROMCS nie uwzględnia /MREQ, musi być:  /ROMCS OR /MREQ -> /CE
Zapomniałem o tym 7432 który zawsze po coś tam siedział na cartridge...
 ::)
« Ostatnia zmiana: 2021.11.05, 22:14:13 wysłana przez aqqman »
2 x TC2068 na sterydach:
- TC2160 - 160kBRAM
- TC2176 - 176kB RAM - 2xscreen, 2xROM
FDD3000

KWF

  • Moderator
  • *****
  • Wiadomości: 6838
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • PCBway
Odp: U2086 i TC2068
« Odpowiedź #88 dnia: 2021.11.06, 09:22:39 »
SCLD generuje /ROMCS tylko na podstawie adresów A14 i A15 oraz /BE. Dla PROMa to nie problem, bo są trzy oddzielne wejścia sterujące i podpięte zostały one do /ROMCS, /MREQ i /RD. Dla EPROMa trzeba zrobić myk taki jak napisałeś.

Kartridż to inna para kaloszy. Kartridż do TC2068 wymusza stan wysoki na /ROMCS z SCLD, wyłączając budowany ROM. 74LS32 robi za dekoder adresu ROMu w ten sam sposób jak SCLD (A14 i A15 w stanie niskim), oraz w zależności od wersji kartridża (a było ich kilka) także za sygnał sterujący EPROMem (/CE).
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

aqqman

  • ***
  • Wiadomości: 162
  • Miejsce pobytu:
    Milky Way
Odp: U2086 i TC2068
« Odpowiedź #89 dnia: 2021.11.06, 19:34:12 »
Kartridż to inna para kaloszy. Kartridż do TC2068 wymusza stan wysoki na /ROMCS z SCLD, wyłączając budowany ROM. 74LS32 robi za dekoder adresu ROMu w ten sam sposób jak SCLD (A14 i A15 w stanie niskim), oraz w zależności od wersji kartridża (a było ich kilka) także za sygnał sterujący EPROMem (/CE).
ROM mam podpięty tam gdzie był kartridż, bo miejsce na płycie pod ROM to był obraz nędzy i rozpaczy, oczyściłem, naprawiłem ścieżki i nie chcę tam więcej ingerować..zresztą nawet chcąc tam umieścić EPROM wraca problem braku w nim drugiego wejścia wyboru... chyba że użyć zanegowanego /PGM na 27c128 - ale to też rzeźba no i użycie pinu niezgodnie z przeznaczeniem.
2 x TC2068 na sterydach:
- TC2160 - 160kBRAM
- TC2176 - 176kB RAM - 2xscreen, 2xROM
FDD3000