Autor Wątek: Przerwania - ZX Spectrum 48  (Przeczytany 1546 razy)

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4342
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Przerwania - ZX Spectrum 48
« Odpowiedź #15 dnia: 2021.10.17, 11:18:20 »
Gryzor, trojacek, Klaud - proszę nie tworzyć offtopów w tym wątku.

sajmosia

  • *****
  • Wiadomości: 1441
  • Miejsce pobytu:
    Terra Prime
Odp: Przerwania - ZX Spectrum 48
« Odpowiedź #16 dnia: 2021.10.19, 15:25:19 »
jak "zrobic" floating bus na Timexie :-)
Oczywiscie bez zmian sprzetowych.

Thompson

  • *
  • Wiadomości: 12
Odp: Przerwania - ZX Spectrum 48
« Odpowiedź #17 dnia: 2021.10.19, 23:35:00 »

Także nie wiem do końca, czemu ten sposób jest odradzany? Może na innyh klonach nie działa...
Albo może chodzi o niezgodność z dodatkowymi ROMami ZX128? Że np. w edytorze Basica nie działało by? A w +3 w czasie operacji dyskowych?

To wszystko prawda (w sensie, że nie wiem jak z rosjaklonami). Odradzane jest (było) to rozwiązanie z powodu potencjalnej niekompatybilności w przypadku fizycznego podłączenia czegoś do szyny, jakiegoś cudactwa co sieje swoje sygnały. Rzekomo nawet dżojstik Kempston'a miał już wpływać szynę (tu już niech sprzętowcy się wypowiedzą). Czyli wracamy raczej do kwestii kompatybilności sprzętowych.  W przypadku egzekucji kodu na emulatorze powinno być w pełni bezpiecznie (z dokładnością do ROMu), jak i na żywym HW, bez przystawek.
@Phonex pozdro i dzięki za poturbowanie MK 232 (ówczesny element mojej wieży turbo-korbo-stereo texniksa im. Kasprzaka). Przyspieszyłeś erte moje życie dwukrotnie xD.
« Ostatnia zmiana: 2021.10.20, 01:09:55 wysłana przez Thompson »

KWF

  • *****
  • Wiadomości: 6161
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Przerwania - ZX Spectrum 48
« Odpowiedź #18 dnia: 2021.10.20, 07:05:20 »
[...] Odradzane jest (było) to rozwiązanie z powodu potencjalnej niekompatybilności w przypadku fizycznego podłączenia czegoś do szyny, jakiegoś cudactwa co sieje swoje sygnały. Rzekomo nawet dżojstik Kempston'a miał już wpływać szynę (tu już niech sprzętowcy się wypowiedzą). Czyli wracamy raczej do kwestii kompatybilności sprzętowych. [...]

Pamiętaj o tym, że jeśli Z80 przyjmie przerwanie na linii /INT uaktywnia linie /M1 i /IORQ, a przy wywołaniu portów we/wy linie /IORQ oraz /RD. Aby każdy interfejs poprawnie odczytywał zamiary procesora i był aktywny wtedy, kiedy potrzeba, musi brać pod uwagę stan /IORQ i /RD. Są interfejsy odczulone na wywołanie przerwań i "milczą" jeśli linia /M1 jest w stanie niskim. ALE w wielu oryginalnych ZX Spectrum 16K/48K miał Z80 od Ziloga z uszkodzoną linią M1 (zapewne sir Sinclair tanio kupił te niepełnowartościowe procesory), więc badanie stanu tej linii nic nie pomoże i może zaszkodzić. Ponad to mnogość różnych interfejsów oraz uproszczenia w ich konstrukcjach mogą powodować kolizje na szynie danych. Nawet taki Kempston może być problematyczny, ponieważ można go zbudować z wykorzystaniem tylko linii /IORQ i A5 w dekoderze adresów (na dwóch diodach i jednym rezystorze) z pominięciem /RD. W takim przypadku niezależnie od tego czy procesor przyjął przerwanie, czy ma zamiar odwołać się do urządzeń we/wy, o ile linia adresowa A5 będzie w stanie niskim, Kempston "rzygnie" danymi i stąd potrzeba zarezerwowania 257 bajtów na obsługę przerwań. A gdzie? Tam gdzie jest wolne miejsce w RAM, albo korzystając z obszaru z 0xFF w ROM, wedle uznania programisty.

Interfejsów zgodnych z Kempstonem powstała niezliczona ilość, a nie wiesz, co ktoś wsadził do jego wnętrza. Odwołujemy się do czasów, kiedy w "krajach wiecznego szczęścia, dobrobytu i realnego socjalizmu" kupienie czegokolwiek było wyzwaniem, a układy scalone nie były łatwo dostępne w sklepach dla hobbystów. Stosowano co było dostępne, kosztem niezgodności z przyjętymi standardami skoro działa. Obecnie, nie mamy takich problemów, ale wykopujemy interfejsy z szaf, strychów, zapomnianych skrytek i chcemy, aby one też działały "jak dawniej", stąd wyzwanie dla programistów z zapewnieniem wstecznej kompatybilności.
« Ostatnia zmiana: 2021.10.20, 08:03:55 wysłana przez Klaud »
KL
-----
R Tape loading error 0:1

Gryzor

  • *****
  • Wiadomości: 1926
  • Miejsce pobytu:
    Warszawa
Odp: Przerwania - ZX Spectrum 48
« Odpowiedź #19 dnia: 2021.10.20, 13:02:05 »
Ha, ha - dobry ten floating bus, ciekawe ile osob kuma dowcip  :)

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4342
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Przerwania - ZX Spectrum 48
« Odpowiedź #20 dnia: 2021.10.20, 21:50:10 »
Gryzor- prosiłem o nie pisanie nie na temat. Offtopy zaśmiecają forum. Patrz punkt 7 regulaminu. Masz 7 dni spokoju od pisania.

Phonex

  • *****
  • Wiadomości: 1221
  • Miejsce pobytu:
    Warszawa
Odp: Przerwania - ZX Spectrum 48
« Odpowiedź #21 dnia: 2021.10.24, 15:42:54 »

@Phonex pozdro i dzięki za poturbowanie MK 232 (ówczesny element mojej wieży turbo-korbo-stereo texniksa im. Kasprzaka). Przyspieszyłeś erte moje życie dwukrotnie xD.

Też pozdrawiam!
Parafrazując klasyka "Mamy pańskie dema (lub demo*) i co nam pan zrobi?"
https://www.speccy.pl/archive/author.php?id=134

*Thompson czy Hacker Thompson? Mam niejasne wspomnienie że to dwie osoby...
Jeżeli Turbo Pascal 3.0 jest Twój, to sorry za wrzucenie wersji ze zwykłym loaderem - to zemsta za ubiegnięcie mnie w publikacji w demie muzyczki z Prodigy ;)
A serio - to wersja dyskowa, nie mogłem pozwolić, żeby krążyło demo z lepszym loaderem niż Zero Music 8)
A serio serio - jak wrzucałem to miałem tylko taką wersję i już nie pamiętałem że był początkowo taki fajny loader taśmowy. Znalazłem dużo później w sieci...

Sorry za offtop, nie mogłem zostawić bez odpowiedzi :)