forum speccy.pl

Komputery z Z80 => TIMEX => Wątek zaczęty przez: aqqman w 2021.10.19, 01:21:08

Tytuł: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.19, 01:21:08
Odkurzyłem swoje sprzęty: TC2068 i Unipolbrit2086
Nie pamiętam co chciałem kiedyś osiągnąć, obydwa spędziły wiele lat (25?) w pudle w częściach.
TC jest w gorszym stanie, pokiereszowane miejsca na ROM którego brak, ale z prockiem i vram pokazuje screen jak powinien (bez ROMu).
U2086 kupiłem jako "niesprawdzony" na jakiejś giełdzie i wrzuciłem do pudła. Płytę ma w dobrym stanie, ROMu - brak, ale tutaj mam czerwony border i jednolicie biały środek po włączeniu. VRAM sprawdzony powinien być ok. Co może być przyczyną "białości"?(brak czarno-białych pasów).Bez VRAM to samo, procek dobry.... czyżby SCLD do wywalenia? :(
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.19, 07:57:48
Zacząłbym od interfejsu diagnostycznego w obu przypadkach.

Jeżeli TC2068 działa w miarę poprawnie bez ROMu, to z zewnętrznym (przez złącze krawędziowe albo przez kartridż) powinien ruszyć.

Co do UK2086, wyjąłbym pamięć procesora (górną złożoną z 4 kostek 4416) z zostawił w płycie dolny RAM (VRAM), podłączył ROM diagnostyczny i zobaczył, co on pokaże.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.19, 10:41:05
Dzięki za radę, interfejsu diag. niestety nie posiadam, oscyloskop poszedł w ruch.
W U2086 SCLD milczy na pinie CAS dla VRAM  :'(
W TC2068 cisza na wyjściu INT dla Z80... piny wyizolowałem, żeby wykluczyć zwarcia na płycie...i to by było na tyle ehh a mogło być tak pięknie.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.19, 14:24:57
Myślę że dodam generator na 555 tak na szybko w TC2068 na wejście INT i spróbuje z taką łatą... jak tylko znajdę ROM. Przydałby się zamiennik SCLD  ::)
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.19, 14:45:31
Tylko, że /INT nie ma znaczenia dla działania ROM i RAM. W Timexie wywołanie przerwań co 1/50s po sekwencji startowej jest przez procedurę zaszytą w ROM.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.19, 15:28:22
Z tego co pamiętam, on mi "wisiał" bez tego INT, bo miałem tam takie "coś" na dwóch bramkach podpięte (najprostszy generator). Pewności nie mam, ale to sprawdzę jak tylko uda mi się ROM spreparować.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.20, 22:53:26
ROM zaprogramowany, TC2068 zapętla się na procedurze startowej (czarny środek). Wstawiłem nowe podstawki pod VRAM bo stare były... dziwnie luźne. Mam kilka kości 4416 i na połowie z nich jest wyżej wspomniany efekt, reszta prezentuje sieczkę na ekranie. Myślę że niektóre (albo wszystkie) mogą być uszkodzone.

Co do U2086 i uwalonego wyjścia \CAS z SCLD... pomyślałem sobie, że wstawię bramkę NAND, zapodam jej sygnał \RAS i \WR z SCLD, a wyjście dam pod \CAS VRAM. Opiera się to na założeniu, że szyna danych SCLD powinna być w stanie HI Z kiedy \WR i \RAS są w stanie wysokim.... może to śmiałe założenie, ale nie mam zbyt wiele do stracenia w tym przypadku. Najwyżej jak nie zadziała to użyje pamięci Static RAM zamiast tych oldschoolowych DRAMów. Wala mi się tu i ówdzie kilka kości cache W24257.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.20, 23:14:51
Możesz spróbować z zewnętrznym /CAS, o ile /RAS jest wystawiany poprawnie.

Moim zdaniem do podmiany dolnego RAMu na statyczny i tak potrzebujesz działające /RAS i /CAS.

Do detekcji stanów kiedy SCLD jest w high-Z możesz wykorzystać sygnał Tri-State (TS) na jego nodze nr 47
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.20, 23:42:26
Możesz spróbować z zewnętrznym /CAS, o ile /RAS jest wystawiany poprawnie.
...a o tym nie pomyślałem, w sumie...nie pamiętam czy ono w ogóle jest używane do odświeżania czy tylko przy odczycie (zwarte z /G czyli /CE pamięci), jeśli to drugie to kicha bo VRAM czyta się częściej. Rozumiem że "z zewnętrznym" masz na myśli /CAS-y od highRAM? Tak, /RAS działa. Spróbuję - dzięki.  ;D

/CAS nie potrzebuję do podmiany dolnego RAM-u na statyczną :) --> /OE = NAND [ /WR, /RAS], /CE = GND, /WR = /WR
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.20, 23:46:57
ah /TS... piękny sygnał, przeoczyłem - może się przydać
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.20, 23:50:06
miałem na myśli "z zewnętrzny układ generacji /CAS dla VRAM" No i nie zapomnij o opóźnieniu /CAS w stosunku do /RAS.

Jak chcesz podpiąć multipleksowane linie adresowe SCLD do pamięci statycznej? Raczej potrzebny jest zatrzask, wyzwalany zanegowanym /RAS.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.20, 23:55:53
Zewnętrzny układ nie ma sensu, odświeżanie chyba załatwia samo /RAS, więc tylko chodzi o odczyt, który może być aktywny zawsze wtedy jak nie ma /WR ani /RAS aktywnego. W końcu na tej szynie danych wisi tylko SCLD i VRAM. (no i /TS też trzeba by wziąć pod uwagę ze względu naobecność tam bufora 74ls245)

Oczywiście, 74HCT574, CP z /RAS bezpośrednio albo zanegowany jak będzie za wolno.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.21, 00:06:55
Dolny RAM nie jest odświeżany przez /RFSH ponieważ jest to pamięć ekranu i jest ona ciągle używana. Nie ma ona przestojów dłuższych, niż wymagany czas na jej odświeżanie.

74LS245 możesz zamienić na 8 rezystorów 470R. Zresztą na płycie TC2068 jest na nie miejsce zamiast bufora.

P.S.

Wewnętrzna multipleksacja adresów przez SCLD jest odrobinę inna niż ta na zewnętrznych multiplekserach 74LS157. To tylko w TC2048.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.21, 00:16:28
Zgadza się, myślałem że skoro mam /RAS z SCLD to brakujące /CAS (które jest też sygnałem odczytu VRAM) zastąpię przez NAND z /WR, /RAS i /TS (albo NOT /TS).

Multipleksacja adresów... jeśli dobrze pamiętam multipleksery są dla high RAM, dla low RAM adresy generuje SCLD.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.21, 00:23:39
Generuje adresy dla własnych potrzeb. Dla dostępu do dolnego RAM przez CPU są zewnętrzne multipleksery za 8 rezystorami na linii danych MA lub buforem 74LS244, sterowanym przez SCLD. W TC2068 nie ma bufora, są tylko rezystory jak w ZX Spectrum. Chyba, że masz jakąś wersję z buforem i w przypadku adresowania VRAM przez SCLD, CPU nie widzi VRAM. Bufor jest załączany, kiedy SCLD jest w stanie high-Z.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.21, 00:27:55
Teraz się z lekka zamotałem. 74ls245 mam w tym U2086, czy on rozdziela szynę danych pomiędzy CPU i SCLD czy szynę adresową? Wydawało mi śię że ten bufor rozdziela szynę danych, natomiast adresy MA0-MA7 to oddzielna sprawa i one tylko łączą SCLD z pamięcią VRAM A0-A7 i tam nic więcej nie ma podłączone na tej magistrali.

Dobra, muszę to sprawdzić, bo teraz widzę że są rezystory i jest 74ls245, chyba już rozumiem, coś mi zaczyna świtać. Dobrze że mi to napisałeś.  :D
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.21, 00:33:41
Z U13 i U14 (74LS157) idą multipleksowane adresy (linie MA) na górny RAM, a także na 8 rezystorów 470R. Za nimi linie adresowe MA' idą do SCLD i do VRAM. Rezystory te znajdziesz na lewo od drabinki przy 74LS245.

Hehe, tak się składa, że mam rozbebeszonego TC2068 na stole, bo dzisiaj w nim grzebałem.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.21, 00:35:25
ten mój U2086 ma nie zakryty ten bufor i widzę właśnie, bo patrzyłem wcześniej na TC2068 a ten z kolei ma taką płyteczkę przylutowaną do góry nogami i licho widać.

Dobra, CPU se multipleksuje po swojemu przez 74157 a SCLD po swojemu z MA0-7 i się "gryzą" przez rezystory - rozumiem.
To może być problematyczne przy podmianie na static RAM, ale nie powinno rzutować przy "fabrykowaniu" brakującego /CAS...
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.21, 00:44:29
By się nie "gryzły" można wsadzić bufor 74LS244, CPU dostanie dostęp do pamięci obrazu, tylko i wyłącznie kiedy SCLD śpi. SCLD nie ma możliwości zaglądania do górnego RAM, bo bufor działa jednokierunkowo.

Multipleksowanie przez SCLD, a to zewnętrzne mogą różnić się dla MA0 i MA7. Na pewno różnią się w TC2048.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.21, 01:27:42
No można tylko to "gryzienie" w niczym w sumie nie przeszkadza poza stratą kilku miliwatów na rezystorach. Multipleksowanie stawiam że się różni, to samo SCLD w obu modelach, zgaduję że inaczej (dogodniej) się adresuje dla obrazu w sposób X a inaczej dla danych czytanych przez CPU w sposób Y.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.21, 08:27:45
Różnica w adresowaniu pamięci przez SCLD a CPU, będzie miała znaczenie tylko wtedy, kiedy wymienisz kości dolnego RAMu na 4464.

Czy do generowania /CAS przewidziałeś jego generowanie dla dostępu przez SCLD z licznika pikseli? Nie masz do niego dostępu, ani do wewnętrznego zegara 7 MHz.

Tak na marginesie, schemat TC2068 jest na stronie Jarka Adamskiego.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.21, 11:58:17
Jedyne co mogę zrobić to wystawić dane z pamięci ekranu zawsze kiedy nie ma aktywnego /RAS i /WR, będzie to naddatek w ekspozycji danych, ale powinien pokryć wszystkie przypadki kiedy te dane są potrzebne.

Tak, widziałem ten schemat, niestety zbyt wielu rzeczy trzeba się tam domyślać, no ale lepszy taki niż żaden.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.21, 12:27:19
A co kolizja danych kiedy procesor bedzie czytal z urzadzen I/O, a nie pamieci? W tym przypadku /WR bedzie w stanie wysokim, /RAS tez poniewaz jest on pochodna /MREQ, A14 (stan wysoki) i A15 (stan niski).

Zakladasz, ze SCLD odetnie CPU od szyny danych VRAM na buforze?
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.21, 13:22:56
Tak, będę musiał wziąć też pod uwagę sygnał /TS z SCLD.
Muszę najpierw poczynić obserwacje oscyloskopem na TC2068 jak to się normalnie odbywa, kiedy szyna jest wolna, i w jakich okolicznościach pojawia się /CAS na VRAM. Chwilowo utknąłem w pracy ale aż się weekendu doczekać nie mogę - czeka mnie pasjonująca misja związana z tym sprzętem.  ;D
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.21, 14:46:50
Zagladnij do ksiazki: "The ZX Spectrum ULA: How to design a microcomputer" (https://www.speccy.pl/forum/index.php?topic=3247.0)

/CAS pojawia sie dwa razy przy strobie /RAS.

Tam masz te informacje podane na tacy.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.21, 17:01:36
Mhm, Page Mode, jeszcze ciekawiej, normalnie aż gęsiej skórki dostałem. Informacja się przyda aczkolwiek ULA to nie Timex więc może być troszkę inaczej.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.21, 17:20:11
Uwierz mi, ze jest tak samo (w podstawowym zakresie dzialania i obslugi pamieci dynamicznych w VRAM). SLCD to ULA ZX Spectrum na lekkich sterydach. Zmiana bylo przystosowanie obslugi pamieci 4-bitowych oraz dostosowanie poznien czasowych pomiedzy /RAS i /CAS do nich. Zmieniono takze wewntrzna multipleksacje adresow, aby byla zgodnia z tymi pamieciami. I to w zasadzie wszystko.

Na te chwile pomine "sterydy" tj. wbudowane MMU na porcie 244 oraz mozliwosc wylaczenia calej pamieci (ROM i RAM) w TC2068/UK2086.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.21, 19:26:31
Prosze bardzo
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: trojacek w 2021.10.21, 20:32:21
Fajny wykres. Widać ładnie, jak cykle WR wbijają się pomiędzy odczyty ekranu :)
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.21, 21:43:22
No to pięknie widać, super wykresik, widać PageMode przy odczycie VRAM i widać "powolne" czytanie danych przez Z80   :) . Chyba aż sobie to druknę i w ramkę oprawie  :D Dzięki - twoja pomoc jest bezcenna. Brakuje jeszcze sygnału /TS do pełni szczęścia - ale ale - nie wybrzydzam, jest super i bez tego.


To jest /WR z Z80? tak mi się wydaje, że nie /W z pamięci VRAM.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.21, 22:10:39
Tak jak opisałem /WR z Z80,  a nie /WE z SCLD.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.22, 07:54:57
Wszystkie sygnały sterujące dla VRAM:

Na ekranie wyświetlany jest komunikat startowy TC2068, a komputer bez interfejsów zewnętrznych.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: paroos w 2021.10.22, 15:54:12
A dysponuje może ktoś podobnym screenem z analyzera zrobionym na ZX48?
Chętnie porównał bym je ze sobą :)
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.22, 17:04:08
A dysponuje może ktoś podobnym screenem z analyzera zrobionym na ZX48?
Chętnie porównał bym je ze sobą :)

Robi się OFFTOP. Nie do końca rozumiem co chciałbyś porównywać, ponieważ poza delikatną różnicą w zależnościach czasowych pomiędzy sygnałami i brakiem sygnałów /TS i /RDN (DIR), będzie tak samo. ULA'e z ZX Spectrum masz dobrze opisaną w książce Chrisa Smitha, a tam są wszystkie informacje i wykresy.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.22, 19:21:04
Widzę że /RDN aktywuje się tylko kiedy CPU czyta coś z VRAM.. próbuję zrozumieć ten zamysł, SCLD I/O Function Pin Definitions mówi że /RDN kontroluje kierunek danych na 74ls245. Zatem /TS aktywuje aktualne wyjścia na 74ls245 ? Domyślam się tylko bo na schemacie Timexa (tym niewyraźnym) nie ma wcale /RDN /TS ani 74ls245. U mnie zarówno U2086 jak i TC2068 mają układ 74ls245... Chociaż to też mi się kupy nie trzyma, bo co takiego się dzieje pomiędzy 489 a 495 mikrosekundy że /TS jest ciągle aktywny, tej części nie mogę zrozumieć. /CAS jest nieaktywny, odświeżanie /RAS-only....czyli VRAM nie jest czytany ani zapisywany w tym czasie. Interesuje mnie co dokładnie robi /TS?

Po przemyśleniach...
-  /TS jest "1" tylko kiedy SCLD czyta VRAM (dane do wyświetlenia obrazu)
- /RDN jest "0" tylko wtedy kiedy CPU czyta pamięć VRAM (Syglał pokrywa się wtedy z /RAS i /RD)
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.22, 22:46:45
Więc może tak:/TS --> NOT --> OR -------->
/RAS --------->                   AND ------>  /CAS
/WE ------------------------>
/RDN ----------------------->
   
To /CAS będzie ordynarnie długie i pojedyncze w przypadku czytania ekranu, zamiast dwóch krótkich. Nie jestem pewien czy pamięć zatrzaśnie zmianę adresów w tym samym cyklu /CAS (Page mode). Jeśli nie, musiałbym ten sygnał podzielić w połowie krótkim wskokiem na stan wysoki, a to już rzeźba w g....e.
W przypadku użycia pamięci statycznej problemu nie ma, po prostu zmienią się jej adresy przy aktywnym /OE i wystawi "niezwłocznie" nowe dane. Te które mam mają 15 ns czas dostępu więc dla nich to plaża i leżak a nie intensywna praca w tych warunkach.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.23, 07:22:28
Może schemat od TC2048 rozjaśni sprawę /TS i /RDN: https://www.speccy.pl/forum/index.php?topic=2472.msg91585#msg91585

/TS jest aktywny (stan niski) wtedy kiedy SCLD czyta VRAM. Wyjścia MA z SCLD są wtedy w stanie wysokiej impedancji. Swoją drogą brak tego sygnału na wyprowadzeniach ULA w ZX Spectrum 16/48K powodował pewne trudności w jego rozbudowie do 128K.

/RDN jest podany na wejście DIR bufora 74LS245. Kiedy /TS jest w stanie niskim, a /RDN (DIR) w stanie wysokim, SLCD nie korzysta z pamięci obrazu, więc procesor może sobie do niej zaglądać (odczyty i zapis w VRAM).

Przy odczycie z pamięci ekranu dwa stroby /CAS na jeden strob /RAS mają znaczenie. Pozwalają na odczyt dwóch alokacji w jednym cyklu /RAS. Przy pamięciach 4416 o czasie dostępu 150 ns /CAS musi być opóźniony w stosunku do /RAS o 20 ns i strob /CAS nie może być krótszy niż 80 ns. Dochodzi też opóźnienie pomiędzy strobami /CAS ok. 60 ns. Pamiętaj, że te stroby i ich czasy są generowane z częstotliwością zegara ekranu, czyli 7 MHz, do którego nie masz dostępu.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.23, 11:50:32
Może schemat od TC2048 rozjaśni sprawę /TS i /RDN
No ba, to jest schemat  :D, więc dobrze zgadłem, /TS aktywuje bieżące wyjścia 74ls245. (pin /G)

Cytat: Klaud
/TS jest aktywny (stan niski) wtedy kiedy SCLD czyta VRAM.
Ależ na odwrót, jest nieaktywny (stan wysoki) kiedy SCLD czyta VRAM. Tak wynika z twojego obrazka przebiegu sygnałów.

Cytat: Klaud
Przy odczycie z pamięci ekranu dwa stroby /CAS na jeden strob /RAS mają znaczenie. Pozwalają na odczyt dwóch alokacji w jednym cyklu /RAS. Przy pamięciach 4416 o czasie dostępu 150 ns /CAS musi być opóźniony w stosunku do /RAS o 20 ns i strob /CAS nie może być krótszy niż 80 ns. Dochodzi też opóźnienie pomiędzy strobami /CAS ok. 60 ns.
/CAS jest 'strobowaniem' adresu, zatem zbocze opadające zatrzaskuje adres, więc muszą być dwa impulsy w czasie jednego /RAS przy Page mode, cóż, tego się obawiałem. Pozostaje Static RAM.
Cytat: Klaud
Pamiętaj, że te stroby i ich czasy są generowane z częstotliwością zegara ekranu, czyli 7 MHz, do którego nie masz dostępu.

Bezpośrednio - nie, pośrednio można podzielić XOUT z SCLD przez 2.

Kolega skutecznie mnie zniechęcił do zabawy z DRAM  :)
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.23, 14:43:56
Cytat: Klaud
/TS jest aktywny (stan niski) wtedy kiedy SCLD czyta VRAM.
Ależ na odwrót, jest nieaktywny (stan wysoki) kiedy SCLD czyta VRAM. Tak wynika z twojego obrazka przebiegu sygnałów.
Tak, pomyłka przed poranna kawą ;) Zdecydowanie masz rację, że /TS jest aktywny kiedy SCLD ma wyjścia MA w stanie wysokiej impedancji, a stan wysoki kiedy czyta z VRAM.

Cytat: Klaud
Pamiętaj, że te stroby i ich czasy są generowane z częstotliwością zegara ekranu, czyli 7 MHz, do którego nie masz dostępu.

Bezpośrednio - nie, pośrednio można podzielić XOUT z SCLD przez 2.

XOUT nie jest bezpośrednim wyjściem zegara 14 MHz a tylko oscylacjami rezonatora kwarcowego (sinusoida).

Kolega skutecznie mnie zniechęcił do zabawy z DRAM  :)
Polecam się na przyszłość ;)
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.25, 19:19:24
U2086 z uszkodzonym SCLD (brak /CAS dla VRAM) - Jest tak:
- podłączyłem płytkę mojego autorstwa z pamięcią statyczną W24257 i zatrzaskiem 74HCT574 (plus 74LS04 i 74LS08) do podstawek zamiast VRAM (tms4416)
- Pokazuje ekran "no ROM" z czarnymi pasami i czerwonym borderem.
Muszę "posprzątać" wokół podstawki ROM, być może coś nie styka bo nie "widzi" kości ROM.
Wnioskuję że jest szansa na reanimację pacjenta.  :D

Ok, miałem podany stan niski na /PGM EPROMa, noga 27 ROM w Timexie już tak ma, zapomniałem o tym  ;D. Mam to samo co w TC2068 - zwiecha przy starcie.
Zastanawiam się czy winny jest ROM - nagrał się dobrze, bo weryfikowałem, tylko że on pochodzi z emulatora (plik TC2048.rom). Czy ktoś się spotkał z przypadkiem żeby ROM z emu był inny niż na żywym sprzęcie?
Drugie pytanie:
- jaki jest mechanizm przełączania dodatkowego (8kB) ROMu w TC2068? tzn w jakich okolicznościach on to robi? wywołaniem OUT(F4)?
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: trojacek w 2021.10.25, 20:41:20
- jaki jest mechanizm przełączania dodatkowego (8kB) ROMu w TC2068? tzn w jakich okolicznościach on to robi? wywołaniem OUT(F4)?

Piszę z pamięci, a Klaud pewnie wkrótce sprostue ;)
Jak wykorzystujesz WEWNĘTRZNY (ten na płycie, nie na kartridżu) ROM TC2068 (oraz UK2086), to za przełączanie banku 16/8 KB odpowiada najstarszy bit portu #FF (255).
Z kolei port #F4 (244) odpowiada za całkowite ODŁĄCZANIE wewnętrznej pamieci ROM/RAM.

A tak przy okazji mógłbyś wrzucić schemat tej Twojej adaptacji do SRAM.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.25, 23:39:42
Coś mi świta, out(255),128 powodował zawieszenie z tego co pamiętam, więc to pewnie to. Out(244) wyłącza w porcjach po 8 kB, każdy bit odpowiada za fragment, bodajże bit 0 za pierwsze 8kB, a bit 7 za ostatnie. Uznałem to kiedyś za kompletnie bezużyteczne z racji pracy w zgodności z ZXSpectrum (TC2048). Pamiętam że chcąc nawet to wykorzystać do rozszerzenia RAMu robił się jakiś gnój z tym kiedy był włożony Cartridge.

W zasadzie mógłbym zamieścić schemat, tyle że to jest w stanie .. ciężko czytelnym. Robiłem pod PCB więc schemat jest delikatnie mówiąc chaotyczny.
Nie jestem jeszcze pewien czy to działa jak należy... wciąż zwiecha przy starcie. Jak ruszy zrobię ładny schemat  :blank:
Załączam taki na szybko jak to wygląda od strony logicznej. Brakuje szyny danych ale ta jest poprostu podpięta bezpośrednio pod układ StaticRAM

Chciałbym jednak zaznaczyć że jest to łata na uszkodzony układ SCLD (brak sygnału /CAS dla VRAM).
Przy sprawnym SCLD byłoby... inaczej. Użyłbym wtedy /CAS dla /OE
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.26, 08:42:38
W zasadzie mógłbym zamieścić schemat, tyle że to jest w stanie .. ciężko czytelnym. Robiłem pod PCB więc schemat jest delikatnie mówiąc chaotyczny.
Nie jestem jeszcze pewien czy to działa jak należy... wciąż zwiecha przy starcie. ...

Dzięki za schemat i trzymam kciuki, o ile coś jeszcze nie padło w SCLD.

Można by pokusić się o zoptymalizowanie logiki do jednego układu NAND :P.

Piszę z pamięci, a Klaud pewnie wkrótce sprostue ;)

Ładnie to tak wzywać nieświadomych do tablicy? :P I w sumie nie ma co prostować.

Pamięć w Timexie ma 3 strony po 64KB każda: HOME BANK, EXROM i CARTRIDGE (DOCK). Każda z nich jest podzielona na 8 kawałków po 8 KB każdy. Przełączanie pomiędzy stronami obsługują dwa porty 0xF4 (244) i 0xFF (255). Pierwszy odpowiada, za przełączanie pomiędzy porcjami 8K w EXROM i DOCK oraz włączenie HOME. Kiedy aktywny jest EXROM lub DOCK, HOME jest wyłączony. Za każdy kawałek 8K odpowiada jeden bit, od 0 do 7. Drugi z portów MMU, a dokładnie jego 7 bit służy do przełączania pomiędzy EXROM a DOCK.

Strony są przypisane następująco:
1. HOME - odpowiada za to co znamy z ZX Spectrum czyli 16K ROM, 16K RAM i 32K RAM.
2. EXROM - dodatkowy ROM w TS/TC2068 i UK2086. Domyślnie umieszczony jest on w dolnym 8K od 0x0000, ale nic nie stoi na przeszkodzie, aby umieścić go w jednym z dowolnych kawałków 8K przestrzeni adresowej 64K.
3. CARTRIDGE (DOCK) - 8 x 8 KB do dowolnego wykorzystania przez użytkownika i domyślnie przypisany do złącza kartridży.

Wszystkie trzy strony można wyłączyć przez podanie stanu niskiego na linię /BE. Służy ona do blokowania całej pamięci wewnętrznej Timexa. Na złączu krawędziowym i kartridża dostępne są sygnały: /ROMCS (HOME), /EXROM, /ROSCS (DOCK), /BE i MEMDIS.  Złącza kartridzy różnią się pomiędzy TS2068 a TC2068 obecnością kilku sygnałów: /BE i  /RFSH (TS2068) oraz MEMDIS i /ROMCS (TC2068).

ROM dużego Timexa to dwa układy, jeden na stronie HOME (0x0000-0x4000), a drugi na EXROM (0x0000-0x2000). W nich jest zaszyta sekwencja startowa, obsługa MMU i przełączanie między nimi. Jeśli w HOME wsadzisz ROM z Timexa TC2048 (w sumie to samo co ROM ZX Spectrum + zerowanie portu 255) to komputer powinien wystartować jako TC2048. Linie /ROSCS i /EXROM wychodzące z SCLD powinny być w stanie wysokim.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.26, 10:43:22

Można by pokusić się o zoptymalizowanie logiki do jednego układu NAND :P.

Fakt, jeden układ zamiast dwóch, mniejszy bałagan, tyle że akurat skończyły mi się 74ls00  :D
a NOT-y miałem akurat ALS więc troszkę szybciej. Jak zadziała to chyba to zrobię porządniej i dorzuce HighRAM też na static, a co tam... od razu na kości 128kB. W zasadzie drugi screen już jest w VRAM, W24257 ma 32kB.  :D
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.26, 10:59:32
VRAM możesz mieć nawet 128K ale i tak nie zrobi z Timexa 128K. Drugi obraz Timexa sobie siedzi w podstawowych 16K VRAM (HOME), tylko od adresu 0x6000, a nie od 0x4000.

A do rozbudowy do 128K potrzebujesz, aby dolny RAM był 64K.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.26, 14:44:41
U, a to się czegoś nowego dowiedziałem. Było coś jak przeróbka STAVI (chyba) miał 2x16 dolnej , 1x16 środek i 5x16 koniec, czy jakoś tak. To się różniło od ZX128 tym że ten drugi screen nie dał się włączyć w banku końcowym...chyba.
Mnie by się nie chciało "bawić" aż tak aby uzyskać pełną zgodność z ZX128, wystarczyłoby mi coś jak pisałem powyżej z zachowanie portów przełączających jak w ZX128. Część programów to łyknie, a część nie - te drugie załatwi switch deaktywujący przełączanie banków (tryb 48k).
No ale to tak poza tematem.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.26, 19:43:51
Miałem na myśli tą mapę pamięci z ZX128 tylko że RAM2 i RAM5 nie dublują się w obszarze D, zamiast nich byłby RAM8 i RAM9 ...itd  :D Można nawet zostawić w spokoju RAM2 w postaci 2xTMS4416
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.26, 19:49:43
Było takie cudo i nazywało się Wonder 80K. Bawiłem się tym chwile z Timmy i dałem sobie spokój.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.26, 19:50:44
Czy Wonder to nie było aby niesławne 80kB?
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.26, 19:51:44
Nie, niesławne 80K to było bajtkowe. Wonder dawał namiastkę zgodności ze 128K.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.26, 20:04:28
To nie to, piszę o czymś co Jarek Adamski  nazwał TC2144 tyle że na pamięci statycznej.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.26, 23:36:58
Jest jakiś postęp w sprawie U2086.
Założyłem diagROM, ciężko coś odczytać bo pasy i śnieży ale to pewnie wina kwarcu, założyłem 14,31 MHz (bo taki tylko miałem), jutro będę miał 14MHz.
Wypisuje mi Memory error at 7FFF bad bits podkreśla bit 0. Czy powinien coś jeszcze robić to nie wiem bo na tym chyba koniec, nie reaguje tylko wisi pokazując ten komunikat wraz ze zgadywaniem co to za sprzęt chyba ale było zbyt niewyraźne. Nie widziałem tego ROMu w działaniu wcześniej. (DiagROM_vTMX.rom znalazłem z postu kolegi Klaud w wątku o Timmym)
Oczywiście test odbył się z założoną płytką Static RAM (bez high RAM).

TC2068 po włączeniu pokazuje tylko cztery szerokie pasy ,białe i czarne na przemian na tym ROMie, nic więcej - tam mam oryginalne tms4416 na VRAM tylko.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.27, 07:29:03
Pokaż zdjęcia ekranów z obu komputerów.

DiagROM v.TMX to crackowany DiagROM v.1.5x, aby testował AYka na portach Timexa (0xF5 i 0xF6). A działa tak: https://www.youtube.com/watch?v=dC0ZgcBu8rQ

Śnieżenie możesz mieć od StaticRAM.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.27, 08:25:26
Ok super, zrobię scr wieczorem. Śnieżył to mi już na DRAM-ach, dlatego obstawiam kwarc i ewentualnie recap. Myślę że linia danych nie styka na podstawce, ciężko wcisnąć goldpin w podstawke.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.27, 20:23:30
Wymieniłem kwarc na 14MHz, znalazłem i naprawiłem brak połączenia na bit0 pamięci SRAM.
DiagRom działa, testuje, wszystko OK za wyjątkiem tego że ... mam biegające mrówki na ekranie.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.27, 20:47:23
"Snow effect" na Timexie ;)

Możesz spróbować opóźnić /RAS. Albo zmienić odrobinę podłączenie SRAM do linii sterujących podłączając /OE do GND i /CE z odtworzonego /CAS
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.27, 21:00:06
Możesz spróbować opóźnić /RAS.
574 nie zdąży wtedy zatrzasnąć Row address.

Cytat: Klaud
Albo zmienić odrobinę podłączenie SRAM do linii sterujących podłączając /OE do GND i /CE z odtworzonego /CAS
Wtedy nie będzie brane pod uwagę /RAS, które teraz aktywuje /CE (i zatrzaskuje pierwszą porcję adresów)
Myślę że to nie pamięć bo ta jest demonicznie wręcz szybka jak na ten sprzęt, pojedyncze nanosekundy: Chip Selection to Output in Low Z 3ns ,Output Enable to Output Valid 7ns ..... Chyba że dane pojawiają się za szybko? SCLD też chyba musi je sobie wziąć w odpowiednim momencie... chyba że to się tam odbywa jakoś analogowo....

Inna opcja że za wolno przez logikę dekodującą....
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.27, 21:11:57
/CAS i tak masz opoźniony przez dwie bramki.

/RAS nie musi iść do SRAM ponieważ odczyt adresów (wszystkich) następuje w jednym cyklu. To nie DRAM i może on nastąpić kiedy przyjdzie /CAS. Adresy przychodzą z zatrzasku 'HC574 sterowanym zboczem narastającym odwróconego /RAS i dopiero wtedy są one w całości dostępne. Ważne aby przy strobie /CAS adresy były zatrzaśnięte. Chyba, że czegoś nie kumam.

Przy pamięciach dynamicznych 150ns (a takie są w TMX w VRAM) /CAS jest opóźniony w stosunku do /RAS o jakieś 20ns i trwa ok 60ns.

Trzeba by rzucić okiem jakie są dokładnie zaleźności czasowe pomiędzy /RAS z SCLD a odtworzonym /CAS.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.27, 21:15:11
Tak jest jak mówisz tyle że dodatkowo /RAS aktywuje /CE - bezpośrednio (co nie powinno mieć żadnego znaczenia) w tym przypadku. /CE jest aktywowane zanim 574 dostanie CP (bramka NOT po drodze)

ale ale, jak dam /CE do masy to /TS będzie aktywował /OE za wcześnie, zanim się pojawi /RAS i niewiadomo co tam wtedy się dzieje z szyną danych.
Pomiędzy /RAS a /CAS jest tak na oko niecałe 100ns ... dość ciasno dla 574 i przyległości....
CP to Q - 18ns - 33ns
74LS04 (jednak nie ALS) 15 - 22ns
W sumie co mam do stracenia mogę spróbować...
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.27, 21:26:11
Nie mi się wyciągać analizatora i sprawnego TC z szafy. /TS jest przed /RAS, więc raczej masz /CAS za szybko, przed zatrzaśniętymi adresami przez '574.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.27, 21:28:10
No nie mam /CAS tylko ciągłą linię /OE w stanie aktywnym gdzie w międzyczasie zmienia się część adresu (w czasie nie istniejącego /CAS)
Kość RAM jest aktywna cały czas (/CE =0, /OE=0) kiedy jest /RAS i /TS (lub /RDN), zmiana adresu wywołuje zmianę danych
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.27, 21:30:09
Chodziło mi o substytut /CAS.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.27, 21:33:19
No właśnie nie ma substytutu, tylko aktywna ekspozycja danych przez całe /RAS = 0, SCLD sobie zmienia czytane dane kiedy zmienia zawartość szyny adresowej  :D
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.27, 21:36:43
Sprobuj opóźnić to co wychodzi z ANDa 3 wolnymi bramkami i zobaczy co stanie się.

Na tę chwilę raczej masz aktywny SRAM, zanim 574 zatrzaśnie adresy.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.27, 21:38:44
Chyba rozumiem, ok tak zrobię.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.27, 21:58:37
Bez zmian, z 2 czy 3 dodatkowymi AND, nie widać różnicy. Czy SCLD może czytać i wyświetlać sobie dane z szyny poza aktywnym /CAS ? Nie podejrzewam....

Dobra, próba nr2 odcinam /RAS od /CE, bo to może za szybko deaktywować pamięć...
wynik: - Test pamięci - FAIL czyta zamiast 0 wartość FF, śnieżenie trochę mocniejsze.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.27, 23:20:16
Pytanie:
574 zatrzaskuje 8 adresów MA0 - MA7
do wolnych linii adresowych SRAM podpięte są MA1 - MA6
Czy tu tkwi błąd?
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.28, 07:07:48
Adresy masz raczej podpięte poprawnie, ale dla świętego spokoju sprawdź jak jest multipleksowane MA4 na zewnętrznym 'LS157 (piny 5 i 6), wg. schematu TC2068 to A7R i A7R (z SCLD). W TC2048 one są podpięte do A4 i A11 i tak samo multipleksuje je SCLD.

Co prawda bez analizatora/oscyloskopu, to takie błądzenie po omacku, ale przyszło mi na myśl jeszcze jedna możliwość, a w sumie pierwsza o której pisałem. Opóźnienie /RAS podanego na /CS. Obecnie /OE jest aktywne wcześniej, a /CS wyzwalane zanim adresy zostaną zatrzaśnięte.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.28, 12:41:08
Po opóźnieniu /RAS na /CS trzema bramkami - bez zmian.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.28, 22:40:25
Spróbuję jeszcze wstawić sygnał idący na /OE w bramkę OR razem z /RAS i dopiero do /OE, bo pomału pomysły mi się kończą.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.30, 20:19:15
Myślę że problem leży w miejscu zaznaczonym niebieską linią. To jest moment zatrzaśnięcia danej w SCLD. /RAS deaktywuje pamięć przełączając sygnał /CE w stan "1", narastające /CAS normalnie zatrzaskuje daną w SCLD. Pamięć cache jest tak szybka że może już w tym momencie mieć nieaktywne bufory wyjściowe - stąd śmieci. Problem nie wystąpi przy odczycie danych przez CPU bo on robi to wolniej i ma więcej czasu (dłuższe i pojedyncze /CAS) a pozatym /RD i /RDN idzie w stan wysoki minimalnie przed /RAS. Dlatego testy pamięci przez DiagROM dają OK.
Potrzebne byłoby minimalne wydłużenie /CE (/RAS) w przypadku czytania przez SCLD ale bez opóźnienia jego załączenia. Włączyć przez opadające /RAS a wyłączyć opadającym /TS byłoby rozwiązaniem... albo dać pamięć statyczną o czasie dostępu około 120ns (a nie 12ns)
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.30, 23:38:27
Mój pierwszy, najlepszy, styrany życiem TC2068 ruszył!!!!!!!  :D
Pęknięta ścieżka pod CPU na linii adresowej zlokalizowana i naprawiona, DiagROM przetestował co się dało.
Nie sądziłem że się aż tak ucieszę.

U2086 SCLD do wymiany... brak /CAS z SCLD jest bardziej problematyczne niż podejrzewałem... uczciłem go minutą ciszy.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.10.30, 23:51:50
Gratulacje naprawy TC2068.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.10.31, 00:06:35
Dziękuję.
Jeśli mój zimowy czas pozwoli będę kontynuował eksperymenty na szerszą skalę w odniesieniu do U2068. Nie mam do niego obudowy, klawiatura to efekt czyichś nieudanych eksperymentów regeneracji, a płyta w stanie nie najgorszym. Nikt mi nie powiedział że "nie da się" a TTLi mi nie brakuje...  hobby to rodzaj sztuki. :D
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.11.05, 11:36:44
Czy ma ktoś pojęcie jak powinien wyglądać prawidłowy przebieg na nodze /INT Z80? Wiem że 50Hz tyle tylko że denerwuje mnie zbyt szybkie reagowanie na wciśnięcie klawisza. Dałem tam 50Hz o wypełnieniu około 50% i się zastanawiam czy nie powinno być mniej %... albo więcej, bo przerwanie przerywa procedure obsługi przerwania przerwaną obsługą przerwania...itd chociaż nie pamiętam czy to w Z80 ten problem występował...
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 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.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 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)
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 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.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.11.05, 13:28:32
Takty CPU czy Takty SCLD? :) "nA granicy wymagań Z80" sugeruje że SCLD.

Ok już wiem - dzięki,
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.11.05, 13:30:59
A co to są takty SCLD?
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 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).
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 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).
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 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...
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 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.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 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.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 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.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 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.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 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...
 ::)
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 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).
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 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.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.11.08, 14:32:03
Po ciężkich bojach wymieniłem wzmacniacz 386 - padł prawdopodobnie w czasie odwrotnego podłączenia zasilania. Później miałem ochotę obwinić AY-greka po tym jak DiagROM nim nie grał, bo przeca porty mu zmieniłem na ZX-sowe  i oczywiście nie doczytałem że ten DiagROM gra na 245,246. Mimo wszystko jestem wdzięczny za wzmiankę o tym (że on gra na portach TC2068) bo nazwa opcji menu w DiagROMie trochę wprowadza w błąd (co ma 128 do timexa2068?).
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.11.12, 16:50:58
Dziś miałem przebłysk umysłu pośród mojej codziennej bezmyślności i wróciłem na chwilę do rzuconego w kąt U2086.  :D
Wszystko przez wredne 74HCT574 i jego niekonsekwentne zachowanie.
Objawia się to tym że na wejściu zegarowym CP w/w układu w oscyloskopie cisza, a wyjścia se skaczą losowo z niskiego na wysoki (przy /OE podłączonym do masy).
Taki objaw miałem na płytce dekodera rejestru banków pamięci. Przypomniałem sobie że mój addon StaticRAM w U2086 też używa 74HCT574.
Z rejestrem poradziłem sobie przeprojektowując płytkę - miałem pełne dekodowanie portu, zmieniłem na uproszczone co skróciło ilość bramek i połączeń, wstawianie kondensatorów nie rozwiązywało problemu, inny egzemplarz 74HCT574 też nie. Zmieniałem na 74573 - ten sam objaw. Dopiero po zmianie płytki problem zniknął.
W U2086 dotknięcie paluchem pracującej płytki w okolicy adresów powoduje zniknięcie śnieżenia i najczęściej zawieszenie Timexa. Zwiecha sama w sobie redukuje znacznie śnieżenie.
Zatem zamysł dobry był tylko coś gdzieś "syfi" i nie wiem co. Kondensatory nie rozwiązują problemu. Dlaczego 74HCT574 mając "spokój na CP wywala śmieci? co to kur... jest?  :P
Tak na marginesie - bez romu mam idealny wzorcowy obraz bez śniegu.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.11.13, 15:48:32
Zamontowałem rozszerzenie pamięci do TC2068. Użyłem pamięci PseudoStatic 128kB (TC518128A) akurat taką miałem pod ręką.
Banki przełączam portem 32765 (jak w zx128 bity 0-2). DiagROM przetestował - jest OK.
ROM Timexa startuje i... ustawia mi:
23732 P RAMT Adres ostatniego bajtu fizycznej pamięci RAM. na ...49151 (koniec banku C).
Pamięć wyżej daje się POK-ować i zwraca co trzeba, DiagROM nie kaprysił, a tymczasem nawet wykonanie PRINT USR 0 nie widzi tej pamięci i uparcie wpisuje zaniżone P RAMT.
Z noty katalogowej wynika że pamięć po włączeniu zasilania potrzebuje czasu na inicjalizację samoodświeżania po uruchomieniu - ok, jestem to w stanie przeżyć a nawet widzę zalety w ustawieniu RAMtopu niżej z automatu, ale nie rozumiem dlaczego już na działającym sprzęcie reset nie chce mi podnieść RAMtopu. Ma ktoś jakiś pomysł? Z ciekawości pytam chcąc wiedzę powiększyć bo pewnie skończy się na wymianie kości na (Real)StaticRAM.  ;)
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.11.13, 22:26:31
Ile potrzebuje PsedoStatic na start? Przy podaniu zasilania, procesor nie rusza od razu, a ze stałą czasową układu resetu (rezystor 220K i kondensator 1uF), coś ponad 100ms. ROM testuje RAM i ustawia RAMTOP na ostatnim adresie, który przejdzie poprawnie test.

A jak ustawia RAMTOP komenda "NEW"?
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.11.13, 23:26:57
NEW z tego co pamiętam czyści basic tylko do ostatnio ustawionego CLEAR.
Czyli jak dam CLEAR 30000 to następnie NEW czyści tylko do tego adresu a wyżej nie tyka.
Dlatego dałem USR 0
Ta pamięć potrzebuje minimum 100 mikrosekund na start. Być może coś jeszcze pominąłem bo ten datasheet jest zaplątany jak świński ogon.
10000 warunków i kosmiczne wartości tu i ówdzie.
Tylko dlaczego DiagROM nie wybrzydza?  :D Ta jego diagnostyka to chyba placeboo  :)
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.11.14, 07:25:27
Nie sądzę. DiagRAM inaczej działa niż standardowy ROM, ROM zaczyna od testu pamięci (całej jaka jest dostępna), wrzucenia swojego fragmentu na samą górę pamięci  i ustawienia RAMTOPu. DiagRAM zaczyna od testu test dolnego RAMu, który trwa dłuższą chwilę. Dopiero kiedy dolny RAM jest przetestowany, zaczyna test górnego RAMu (całego, bo tam nic nie siedzi).

Masz TC2068, a nie ZX Spectrum, więc RAMTOP jest w nim obniżony, ze względu na kopie ROMu, dokładnie UDG lub albo UDG, stos oraz kod interpretera BASICa siedzące na samej górze RAMu .
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.11.14, 12:34:12
Taaak... w sumie coś około kilkuset bajtów, lecz na pewno nie jest to 16kB.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.11.14, 14:20:29
Dokładnie 2280 bajtów ;)
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.11.16, 10:43:04
Znalazłem problem. Odświeżanie PseudoStaticRAM wymaga specyficznych warunków. Podpiąłem /RFSH pamięci do masy w nadziei że to załatwi sprawę, ale się przeliczyłem. Wyłączenie wewnętrznego auto-refresh zajmuje jej zbyt wiele czasu, potrzebne jest podciągnięcie /RFSH do stanu wysokiego w czasie odczytu - przynajmniej tyle wywnioskowałem z noty tej popi... upierdliwej pamięci. DaigROMem potraktowałem ją dokładnie i czasami wywalał błędy.

Co do U2086 to skróciłem połączenia, płytka nowa - malutka, a syf na ekranie jak był tak jest, i faktycznie nadal dotykanie paluchem szyny adresowej eliminuje większość syfu z ekranu. Ręce opadają, potrzeba porady jakiegoś radiowca chyba bo już sam nie wiem o co chodzi.
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: KWF w 2021.11.16, 11:01:01
To dodaj kondensatory (po kilka pF) do linii adresowych wychodzących z '574 ;)
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.11.16, 11:52:33
Wstawiłem 74LS244 zamiast rezystorów na szynie adresowej, bo mi wygląda na interferencje z CPU. Kiedy CPU "wisi" ekran jest piękny, ale to nic nie poprawiło.
Dodałem R-drabinkę do +5V przed zatrzaskiem, nieco poprawiło ale za mało.Przy mniejszej oporności (1k) tło robi się coraz bielsze, nieczytelne i bardziej regularne w DiagRomie. Dodawanie C nic nie daje, dopiero przy 10nF się wszystko wywala (za duże opóźnienie). Pomiędzy zatrzask a pamięć nic nie dawałem, ale popróbuję jeszcze. Thx
Tytuł: Odp: U2086 i TC2068
Wiadomość wysłana przez: aqqman w 2021.11.17, 09:12:20
Udało się. Wczoraj walczyłem z tą statyczną VRAM w U2086.
Okazało się że śmietnik z ekranu znika po podłączeniu rezystorów na multipleksowanej szynie adresowej -> 470 om do masy na każdą linię (przed zatrzaskiem 74HCT574).
Trochę mało, ale przy wyższych wartościach pojawiają się artefakty.
Na zimę jak znalazł - SCLD Timexa jako grzejnik - ale cóż zrobić.  :D

Wnioski:
- pamięć 4416x2 obciążała nieco mocniej szynę niż zestaw HCT574+32kSRAM
- wywaliłem rezystory separujące szynę adresową i wstawiłem LS244
To wystarczyło aby szyna zaczęła robić za nadajnik - potrzebowała ściągnięcia do masy a ja ją uparcie podciągałem rezystorami do plusa to nie likwidowało szpileczek napięcia zakłóceń od strony CPU.