forum speccy.pl

ZX Spectrum => RÓŻNOŚCI => Wątek zaczęty przez: Tygrys w 2013.08.18, 18:33:07

Tytuł: Błędy w ZX Spectrum
Wiadomość wysłana przez: Tygrys w 2013.08.18, 18:33:07
W wątku o błędach w procesorze Z80 (http://speccy.pl/forum/index.php/topic,1113.0.html) wspominano  o błędach w ZX Spectrum.
Zakładam zatem wątek dotyczący błędów w ZX Spectrum -- wszystkie modele (i to nie jest furtka dla trolli :P
Tytuł: Odp: Błędy w ZX Spectrum
Wiadomość wysłana przez: Phonex w 2013.08.19, 15:00:55
To ja na początek wrzucę skan artykułu z trzeciego numeru Komputera z listą 16 błędów w Spectrum. Jest coś więcej?
Tytuł: Odp: Błędy w ZX Spectrum
Wiadomość wysłana przez: Tygrys w 2013.08.19, 16:25:05
No tak, to są błędy w ROM.

Błędy sprzętowe, o których już wspomniano to SNOW EFFECT. Cytując wcześniejsze posty w innym wątku:
Cytuj
RafalM:
Zobrazowanie problemu: http://www.youtube.com/watch?v=4FIUCIyMSD4
To jest związane z przerwaniami. W Spectrum 16 kB, 48 kB i paru innych chyba też nie można ustawić wektora przerwań w pamięci poniżej 32768, bo coś takiego dostaniemy.

Tutaj jest to opisane w szczegółach i wyjaśnione dlaczego tak jest. Niestety nie streszczę bo sam nigdy tego  nie zrozumiałem :)

http://www.zxdesign.info/dynamicRam.shtml

W późniejszych modelach Spectrum chyba zrobili z tym porządek.

Cytuj
Ikci:
A czy czasem ULA SNOW EFFECT to nie problem jedynie 128K oraz szarego 128K+2 ??

Widziałem, że  Velesoft poradził sobie z tym problemem i sprzedaje chip - zamiennik problematycznego układu HAL10H8(PAL10H8)

http://velesoft.speccy.cz/zx/umbrella/umbrella.htm 

Wydaje mi sie że snow effect występuje tylko w ZX Spectrum 128k+ i +2. ZX Spectrum 128K+2A i +3 już to nie występuje.


Było coś jeszcze?
Tytuł: Odp: Błędy w ZX Spectrum
Wiadomość wysłana przez: Gryzor w 2013.08.19, 19:14:08
W +3 byl blad z wyjsciem AY - w efekcie AY pracuje czesciowo jak trzy kanalowy beeper.
Tytuł: Odp: Błędy w ZX Spectrum
Wiadomość wysłana przez: RafalM w 2013.08.19, 20:11:33
ULA Snow jest w Spectrum 48.

Jako dowód załączam przykładowy snapshot:

http://www.sendspace.com/file/ci40pg

Problem tylko w tym że... niewiele emulatorów emuluje ten efekt ;)

Ja mogę polecić SpecEmu:
ftp://ftp.worldofspectrum.org/pub/sinclair/emulators/pc/windows/SpecEmu28-b101009.zip

(wchodzimy w Options/Display i zaznaczamy ULA Snow Effect)
Tytuł: Odp: Błędy w ZX Spectrum
Wiadomość wysłana przez: ikci w 2013.08.19, 20:16:38
Wydaje mi sie że snow effect występuje tylko w ZX Spectrum 128k+ i +2. ZX Spectrum 128K+2A i +3 już to nie występuje.

No tak... ZX 128K+2A/B +3 chyba już nie mają ULA.. dlatego nie ma tego błędu.
Ale co do 48K to jest dla mnie nowość. Lubie posiedzieć przy realnym sprzęcie i jakoś nigdy tego nie spotkałem.
Tytuł: Odp: Błędy w ZX Spectrum
Wiadomość wysłana przez: Gryzor w 2013.08.19, 22:01:16
W zasadzie efekt "floating bus" tez mozna uznac za blad, choc to raczej skutek uboczny uzycia rezystorow, do oddzielenia szyny cpu i ula. W praktyce okazal sie przydatny do animacji i dem, ale i stal sie przyczyna problemow z kompatybilnoscia ZXow.
Tytuł: Odp: Błędy w ZX Spectrum
Wiadomość wysłana przez: Ilyad w 2013.08.19, 22:47:23
Jest jeszcze błąd w sterowaniu dwoma dżojami w standardzie Sinclair. Przy skomplikowanych ruchach w rodzaju : na ukos do góry i fire, drugi gracz ma przekłamane ruchy, np. każesz mu iść do góry a on wtedy idzie na ukos do góry w prawo (coś w tym rodzaju). Sprawdziłem to na 100 %. Dziwię się że przez tyle lat nikt na to nie wpadł ::)
Tytuł: Odp: Błędy w ZX Spectrum
Wiadomość wysłana przez: RafalM w 2013.08.20, 13:02:51
Standardowy kod obsługi przerwania w ROM niszczy zawartość rejestru IY.

Odkryłem to w praktyce w zupełnie nieformalny sposób - programy w których próbowałem używać IY nie działały z zupełnie nieznanych mi powodów. Przez dłuższy czas miałem więc własną, prywatną zasadę że nie wolno używać IY i już :)
Tytuł: Odp: Błędy w ZX Spectrum
Wiadomość wysłana przez: Tygrys w 2013.08.20, 13:05:42
ULA Snow jest w Spectrum 48.

Jako dowód załączam przykładowy snapshot:

http://www.sendspace.com/file/ci40pg

Problem tylko w tym że... niewiele emulatorów emuluje ten efekt ;)

Nie wiem czy wiesz, ale niektórzy używają częściej niż czasami prawdziwych komputerów ;)
Sprawdziłem na ZX Spectrum i faktycznie, efekt występuje tak jak na 128K.
Na Timexie również on występuje, jednak wygląda to nieco inaczej.
Tytuł: Odp: Błędy w ZX Spectrum
Wiadomość wysłana przez: matofesi w 2013.08.20, 13:07:10
Snow na 128 jest - o ile pamiętam - bardziej dotkliwy niż na 48. Na 48 po prostu śnieży a na 128 (tych z ULA) jak się zostawi na trochę dłużej, to maszyna się resetuje.
Tytuł: Odp: Błędy w ZX Spectrum
Wiadomość wysłana przez: Phonex w 2013.08.20, 20:13:04
Standardowy kod obsługi przerwania w ROM niszczy zawartość rejestru IY.

Hę? Niszczy zawartość pamięci pod adresem (IY+64) myśląc że jest to [FRAMES3], i pod adresem (IY+01) [FLAGS], ale IY przecież nie niszczy.
Zmieniać IY wolno tylko przy zablokowanych przerwaniach, albo w trybie IM2.
No, chyba że te wskazane miejsca w pamięci nie są istotne.

To jest niezła pułapka dla programisty, ale nie jest to błąd.
Tytuł: Odp: Błędy w ZX Spectrum
Wiadomość wysłana przez: RafalM w 2013.09.16, 21:06:47
Trafiłem dzisiaj na coś takiego. Jak kogoś interesują błędy w Spectrum to ma tu ich pod dostatkiem:

http://nonowt.com/magfold/articfol/bugs_in.html
Tytuł: Odp: Błędy w ZX Spectrum
Wiadomość wysłana przez: popocop w 2013.09.19, 16:53:57
Normalnie błąd na błędzie. Jak te Spectrumy w ogóle działały?  8)
Tytuł: Odp: Błędy w ZX Spectrum
Wiadomość wysłana przez: Phonex w 2013.09.20, 10:28:10
Bo Spectrum miał charakter! Gdyby nie było błędów, piszący program by go napisał, program by działał i zapomniał by o tym. A tu? Wszystko jest logiczne i poprawne, a program nie działa. Działało jak płachta na byka ;)
Trzeba było poświęcić czas i zdobyć wiedzę żeby pokonać ograniczenia i błędy. A wtedy już trudno było się oderwać. I z większą wiedzą wychodziły lepsze programy! :D
Tytuł: Odp: Błędy w ZX Spectrum
Wiadomość wysłana przez: ZbyniuR w 2013.09.20, 14:20:23
Zastanawiam się które z tych błędów rzeczywiście były uciążliwe, bo w Amstradowym Basicu jest ich kilka, raz gdzieś o tym czytałem, ale tylko jeden był ciut uciążliwy i wymagał pamiętania o nim. A mianowicie gdy zmienia liczbę hexadecymalną na dziesiętną to jeśli jest większa niż &7FFF to wynik jest ujemny. Trzeba o tym pamiętać gdy podajesz adres komórki w postaci zmiennej a nie bezpośrednio. Zresztą sam zauważyłem że coś źle to robi zanim wyczytałem, że ten typ już tak ma. A reszty błędów nawet nie zapamiętywałem bo nie były dla mnie istotne. :)
Tytuł: Odp: Błędy w ZX Spectrum
Wiadomość wysłana przez: RafalM w 2013.09.20, 14:50:16
Cytuj
Zastanawiam się które z tych błędów rzeczywiście były uciążliwe

Szczerze mówiąc to w czasach gdy byłem szczęśliwym posiadaczem Spectrum nigdy nie miałem problemu z żadnych z tych błędów.

Inna sprawa że pisałem wtedy bardzo proste programiki, nie robiłem nic na styku Basica i asemblera (gdzie chyba jest najwięcej problemów) i chyba po prostu nie miałem szansy na żaden z tych błędów natrafić.

A teraz, cóż, Basic służy mi wyłącznie do uruchamiania programów w asemblerze ;) więc o błędach w Basicu mogę spokojnie zapomnieć
Tytuł: Odp: Błędy w ZX Spectrum
Wiadomość wysłana przez: trojacek w 2013.09.20, 16:00:24
Zastanawiam się które z tych błędów rzeczywiście były uciążliwe, bo w Amstradowym Basicu jest ich kilka, raz gdzieś o tym czytałem, ale tylko jeden był ciut uciążliwy i wymagał pamiętania o nim. A mianowicie gdy zmienia liczbę hexadecymalną na dziesiętną to jeśli jest większa niż &7FFF to wynik jest ujemny.

It's not a bug, it's a feature!
Tak właśnie sie zapisuje liczby ze znakiem w systemie U2.
Tytuł: Odp: Błędy w ZX Spectrum
Wiadomość wysłana przez: Abrimaal w 2013.09.21, 05:00:17
A co to mogło być w moim dawnym zestawie Timex 2048 + AY
Co któreś włączenie chip nie grał czysto, jakby co przerwanie był resetowany. Zamiast prostego beeeep było brrrrrp,
pamiętam że wspominali też o tym chyba w Bajtku.