Просмотр полной версии : ZX Spectrum - raining effect
VELESOFT
30.03.2008, 22:26
More Russian software use IM2 vector table in slow memory area (16384-32767 and slow mem pages on ZX48/128/+2/+3). This ZX models contain HW bug in HAL10H8 chip and if high adress byte of vector table (register I) is set to this slow (contended) memory, ZX is very unstable and ULA show in screen raining effect. ZX will crash. This problem is possible correct in software by setting register I (IM2 table) to fast memory (or ROM). Exist fixed versions ? :v2_conf3:
list of raining games:
4x4 puzzle
at4open
black raven:v2_mad:
breditor
death valley:v2_frown:
gambit
hexagon 2
imperia 3
jackals
netwalk
sfort fxd
snake demo
spriter
transword
ufo 2
viking quest 1, 2
wolf demo 3
sparrows
deathmatch arena
dizzy forever
fast breed
jackals
shashki
this games is download from my page:
http://velesoft.speccy.cz/kmsoft.htm
VELESOFT
You should understand that the Russian ZX and the EU ZX are very different and I think that correction is possible only for new games (or for games are being developed) but it's impossible for games which exist already because (as a rule) their developers left the scene..
That would be great to add the information in the Dveloper's FAQ and recommendations
VELESOFT
30.03.2008, 22:58
You should understand that the Russian ZX and the EU ZX are very different and I think that correction is possible only for new games (or for games are being developed) but it's impossible for games which exist already because (as a rule) their developers left the scene..
That would be great to add the information in the Dveloper's FAQ and recommendations
I will fixed this games, this is easy. (rewrite I register to #80-#BF and write to new adress original 2B im2 routine adress)
VELESOFT
I will fixed this games, this is easy. (rewrite I register to #80-#BF and write to new adress original 2B im2 routine adress)
I mean that it will be very strange if you get any support from the developer's side (they are very lazy to change old working games :))
thus you just have to ask developers of the games for the correction and make it yourself
I will fixed this games, this is easy. (rewrite I register to #80-#BF and write to new adress original 2B im2 routine adress)
VELESOFT
First of all you should find an unused space in #8000-#BFFF.. IMHO, it could be the most difficult part of your work.
Thanks
... This ZX models contain HW bug in HAL10H8 chip and if high adress byte of vector table (register I) is set to this slow (contended) memory, ZX is very unstable and ULA show in screen raining effect. ZX will crash...
I thought "snow" effect is important feature of original spectrum and some games use it according to blog about HARLEQUIN clone development: http://www.zxdesign.info/dynamicRam.shtml
What I'm wondering about is why machine crash happen? Is that because EI (enable interrupts) happen before actual interrupt handler completed? I thought only random screen glitches and music corruption may happen, but game should still operate somehow...
VELESOFT
31.03.2008, 19:03
First of all you should find an unused space in #8000-#BFFF.. IMHO, it could be the most difficult part of your work.
Thanks
Yes, but if memory #8000-#BFFF is used for main code, is possible transfer original code to old im2 vector table area(in slow memory) and to this fast memory write new IM2 table.
VELESOFT
More Russian software use IM2 vector table in slow memory area (16384-32767 and slow mem pages on ZX48/128/+2/+3). This ZX models contain HW bug in HAL10H8 chip and if high adress byte of vector table (register I) is set to this slow (contended) memory, ZX is very unstable and ULA show in screen raining effect. ZX will crash.As I know the problem of crash (if the register I has a bin value 01xx xxxx) was fixed in ZX Spectrum 128 (+2) and later. In addition ZX Spectrum +2A/B/+3 has no snow effect at all.
Another question is a different addressing of slow/fast pages (by the 7FFDh port) in Sinclair’s and Amstrad’s Speccies. Probably you called it “bug in HAL10H8 chip”.
P.S. In ZX Spectrum (48K) a HAL10H8 chip never used.
VELESOFT
31.03.2008, 19:57
As I know the problem of crash (if the register I has a bin value 01xx xxxx) was fixed in ZX Spectrum 128 (+2) and later. In addition ZX Spectrum +2A/B/+3 has no snow effect at all.
Another question is a different addressing of slow/fast pages (by the 7FFDh port) in Sinclair’s and Amstrad’s Speccies. Probably you called it “bug in HAL10H8 chip”.
P.S. In ZX Spectrum (48K) a HAL10H8 chip never used.
Yes, HAL chip is GAL equivalent and is used on ZX128/128+2 only. In ZX128/+2 HAL set signal ULA A15 signal for access to fast/contended memory/ports. If you replace HAL with GAL chip and reprogram new correct equations + connect signal RFSH to unused pin 11, then remove raining effect.
http://velesoft.speccy.cz/zx/umbrella/umbrella.htm
New gal set ULA A15 to log.1 (= fast adress space) in refresh time. In same way is possible accelerate all contended ZX ports....
VELESOFT
NEO SPECTRUMAN
03.08.2020, 22:54
а почему именно происходит CRASH на 128?
что при этом происходит?
везде только пишется что зависание почти сразу
и ничего более...
NEO SPECTRUMAN
09.08.2020, 02:09
как оказалось снег возможен и при запрещенных прерываниях
и даже если при этом im1
Spectramine
09.08.2020, 12:14
как оказалось снег возможен и при запрещенных прерываниях
и даже если при этом im1
Для снега необходимо и достаточно, чтобы I указывал на медленную память (как старший байт адреса), прерывания вообще не при делах.
- - - Добавлено - - -
Ну и снег возможен только на 16/48/128/+2, на +2А/+2B/+3 (черные амстрадовские) его нет.
NEO SPECTRUMAN
09.08.2020, 15:46
Для снега необходимо и достаточно
только про это нигде ни слова
даже там где расписали от куда якобы идет чтение на самом деле
A15-A8 = A15-A8 of the ULA address
A7-A0 = the R register of the Z80
это разве что нужно искать в мануале по z80
что ir выплевываются в любом случае в не зависимости от чего либо
да и там толком ничего не сказано...
- - - Добавлено - - -
да и не ясно используется ли r для регенерации озу в 128
7 бит счетчика R уже не хватит для 8 строк 4164
хотя может там на старший бит повесили делитель дето в самой уле
Spectramine
09.08.2020, 17:45
да и не ясно используется ли r для регенерации озу в 128
7 бит счетчика R уже не хватит для 8 строк 4164
хотя может там на старший бит повесили делитель дето в самой уле
Насколько я знаю, в 128х уже не используется.
> используется ли r для регенерации озу в 128
Нет, в 128-х машинах регенерацией занимается ULA.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot