Autor Wątek: ZX 128 Spider  (Przeczytany 53103 razy)

skoti

  • *****
  • Wiadomości: 749
  • Miejsce pobytu:
    Polska
Odp: ZX 128 Spider
« Odpowiedź #30 dnia: 2018.10.03, 11:06:18 »
Czy USR 0 też przełącza banki w ROM ?

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: ZX 128 Spider
« Odpowiedź #31 dnia: 2018.10.03, 11:47:50 »
Samo z siebie - nie.
Wybranie opcji Basic 48 z menu po włączeniu odkłada na stos wartość 0 i skacze do procedury (zrelokowanej do RAM), która robi OUT #7FFD, 16 (0001 0000) i potem RET (czyli skok pod adres 0). Dodatkowo jeszcze czyni cuda z przerwaniami oraz zapamiętuje wysłaną do OUT wartość w zmiennej systemowej, ale to tu jest mało istotne.

skoti

  • *****
  • Wiadomości: 749
  • Miejsce pobytu:
    Polska
Odp: ZX 128 Spider
« Odpowiedź #32 dnia: 2018.10.03, 18:17:40 »
Trojacek dzięki za wyjaśnienia. Drugi egzemplarz zachowuje się całkowicie odwrotnie i ciężko jest spowodować efekt zawieszenia aczkolwiek zdarza się.
Mariansss przytrzymaj reset 1-2 sek i zobacz czy to coś zmienia.

Maryjan

  • *****
  • Wiadomości: 6650
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: ZX 128 Spider
« Odpowiedź #33 dnia: 2018.10.03, 19:19:17 »
Spróbuję.
Trzeba brać pod uwagę, że ja mam wersję płyty "beta" :)
"Co miałem powiedzieć - przeczytałem..." Nikodem Dyzma

KWF

  • *****
  • Wiadomości: 6823
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • Insta do lasownia
Odp: ZX 128 Spider
« Odpowiedź #34 dnia: 2018.10.03, 22:38:06 »
Rzuciłem okiem na źródła i bity portu 0x7FFD są przypisane poprawnie. Bit nr 4 odpowiada za wywołanie ROMu 48K, bit nr 5 blokuje stronnicowanie pamięci oraz powoduje ignorowanie zmian na tym porcie do następnego resetu.

Przy wywołaniu stanu niskiego na linii /RESET, sześciobitowy wektor na tym porcie jest zerowany.
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: ZX 128 Spider
« Odpowiedź #35 dnia: 2018.10.03, 23:51:04 »
Czy tryb 128 działa prawidłowo? Może problem leży zupełnie gdzie indziej. Może to wina PCB?

Maryjan

  • *****
  • Wiadomości: 6650
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: ZX 128 Spider
« Odpowiedź #36 dnia: 2018.10.04, 01:05:24 »
U mnie działa - jak na razie - prawidłowo.
Przerzuciłem kilkadziesiąt dem i gier, jak na razie, nic się nie zawiesiło ew. nie ruszyło.
"Co miałem powiedzieć - przeczytałem..." Nikodem Dyzma

skoti

  • *****
  • Wiadomości: 749
  • Miejsce pobytu:
    Polska
Odp: ZX 128 Spider
« Odpowiedź #37 dnia: 2018.10.04, 08:26:28 »
Zrobiłem wczoraj parę testów. I na moim egzemplarzu wygląda to tak:
1. Włączenie zasilania. Nie przełącza w tryb 48. Brak zamiany stanu ROM_A14.
2. Reset. Działa przełączanie w tryb 48. Szybkie wyłączenie i włączenie zasilania i najczęściej działa nadal.
3. Dłuższe wyłączenie zasilania patrz pkt 1

Niestety Trojacek może mieć rację i jest jakiś wredny błąd na płycie.  :(

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: ZX 128 Spider
« Odpowiedź #38 dnia: 2018.10.04, 08:37:09 »
Przyjrzałbym się zwłaszcza układowi formowania impulsu RESET po włączeniu zasilania. Nie opublikowałeś schematu, więc nie wiadomo, co tam jest.

KWF

  • *****
  • Wiadomości: 6823
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • Insta do lasownia
Odp: ZX 128 Spider
« Odpowiedź #39 dnia: 2018.10.04, 08:41:39 »
Pewnie rezystor 10k i kondensator 10uF. Jeśli tani i parszywy kondensator o wysokim ESR, to on będzie bruździł. Wymieniłbym go na tantala. Zreszta pisałem już o tym.

W Timexach chyba był tantal w tym obwodzie, w speccy jest zwykły elektrolit ale ma pojemność tylko 1uF. W HQ jest elektrolit 10uF, w reszcie Maxow tez.
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: ZX 128 Spider
« Odpowiedź #40 dnia: 2018.10.04, 09:03:39 »
No właśnie mignęło mi, że napisałeś, ale nie mogłem znaleźć referencji, więc stwierdziłem, że pewnie skasowałeś.

KWF

  • *****
  • Wiadomości: 6823
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • Insta do lasownia
Odp: ZX 128 Spider
« Odpowiedź #41 dnia: 2018.10.04, 09:16:27 »
Skoro nie zaskakuje przy twardym resecie, może wystarczy wydłużyć czas trwania samego /RST. Zmień kondensator tej linii na większy, np. 22uF (tantal), jeśli jest 10uF, jeśli masz 1uF daj tam 4.7uF.

O, tu! Na poprzedniej stronie. Nie chce sie mi rozpisywać równań dla dwóch stanów nieustalonych, jednego dla przypadku twardego resetu i załączania kompa przy rozladowanym kondensatorze, a drugiego dla resetu podczas pracy, kiedy zawierany jest przycisk reset a kondensator jest w stanie naładowania. Zadanie wprost na kolokwium studenta II wydz elektrycznego lub elektroniki ;)

Acha, jeszcze jedno, generator podstawy czasu. Przy starcie potrzebuje czasu aby dawać stabilne 14MHz. A jak długi ma być ten czas? Zależnie od budowy generatora, typu kwarcu oraz zastosowanego tylu układu serii 7404. Altera może głupieć, jeśli zegar na jej wejściu pływa. Reset zawieraniem lini /RST do masy nie wpływa na generator, on już się kręci i daje to ci ma dawać.
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: ZX 128 Spider
« Odpowiedź #42 dnia: 2018.10.04, 09:21:47 »
To jest równanie krzywej ładowania kondensatora przez sumę rezystancji i wyliczenie punktów nas tej krzywej :)
Pierwszy rok na elektronice ;)
Ks bym rozdzielił układy resetu CPLD i CPU. W gruncie rzeczy chodzi o to, by CPLD wychodził z resetu przed CPU.
Innym rozwiązaniem jest sterowanie resetu CPU z logiki CPLD, ale to strata jednego pinu.
Nie mo oczywiście znaczenia w Maxach 48, bo tam CPLD nie potrzebuje wcale resetu (analogicznie do ULA 48).

KWF

  • *****
  • Wiadomości: 6823
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • Insta do lasownia
Odp: ZX 128 Spider
« Odpowiedź #43 dnia: 2018.10.04, 09:23:31 »
Za moich czasów równania różniczkowe i stany nieustalone były na II roku, ale jestem milenijnym absolwentem ;)
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

skoti

  • *****
  • Wiadomości: 749
  • Miejsce pobytu:
    Polska
Odp: ZX 128 Spider
« Odpowiedź #44 dnia: 2018.10.04, 09:24:16 »
Układ resetu dokładnie jak w MAX-ie.
Sprawdziłem wczoraj elektrolity 1uF, 22uF i tantale 1uF i 10 uF. Większych tantali nie mam. Nic to nie zmieniło.
Ale znowu mariansss pisał że u niego nie działa w ogóle.