Просмотр полной версии : RUSSIAN SOFTWARE and real ZX
VELESOFT
19.10.2008, 15:34
Russian ZX games is writed on russian ZX clones and support hardware feature TURBO OFF ( for ZX clone ZS SCORPION ). Russian ZX clone ZS SCORPION use software switching of TURBO cpu mode 3.5MHz and 7.0 MHz:
Read port #7FFD = CPU turbo 7MHz (turbo on)
Read port #1FFD = CPU run at 3.5MHz (turbo off)
Write only ports #7FFD and #1FFD is used on ZS SCORPION for memory paging and reading this ports is used for CPU TURBO mode switching.
On ZX Spectrum +2A and +3 is port #7FFD and #1FFD(with different functions) used too for memory paging. Read of this ports is not supported and CPU read data from floating bus ( value #FF ). Software TURBO switching routines for ZS SCORPION is on ZX+2A/+3 models ignored (without effect) and software run always at original ZX speed (3.5 MHz)
Problem with this russian software is on original ZX Spectrum 128 / +2 (grey) models. This computers contain hardware bug - after read port #7FFD will ZX crash (data from floating bus is writed to paging port).
Read port #7FFD = on ZX128/+2 write to paging port data from floating bus (can't be use)
Read port #1FFD = on ZX128/+2 write to paging port data from floating bus (can't be use)
ZX128/+2 use paging port #7FFD only. Hardware use incomplette port adressation (accept only A15=0 + A1=0 and port adress #1FFD is same as port #7FFD). If any russian software use read of port #7FFD of #1FFD, then real ZX128/+2 will crash. For fixed this problem you must remove instruction IN ?,(C) if BC=#1FFD or #7FFD.
This is critical routines ("?" = any register A,B,C,D,E,H,L):
LD BC,#1FFD
IN ?,(C)
LD BC,#7FFD
IN ?,(C)
LD A,#1F
IN A,(#FD)
LD A,#7F
IN A,(#FD)
If you remove this IN instructions from russian games/demos/utilities then will possible use this software also on ZX128/+2 and all other ZX models (+2A/+3 and russian ZX clones)
This is my fixed TAP version of Dizzy 'B' Treasure Island game with removed instruction IN A,(C). Version for all ZX128 models(ZX128/+2/+2A/+3/russian clones):
http://www.worldofspectrum.org/showscreen.cgi?screen=screens/in-game/d/DizzyB-TreasureIsland.gif
http://velesoft.speccy.cz/other/dizzy-b_fixed.zip
This is original release(crash on ZX128/+2):
http://www.worldofspectrum.org/infoseekid.cgi?id=0015211
And this is my fixed TAP ( ! ! ! ) version of WALKER game:
http://velesoft.speccy.cz/kmouse/kmgames/walker-scr.gifhttp://velesoft.speccy.cz/kmouse/kmgames/walker-game.gif
http://velesoft.speccy.cz/kmouse/kmgames/walkerdemo-km.tap.zip
This is original release(crash on ZX128/+2):
http://www.worldofspectrum.org/infoseekid.cgi?id=0013118
tmp_online
19.10.2008, 16:00
Народ, о чем примерно идет речь? А то я ни-бум-бум в заморском...
Won't I be impudent if I would translate this shortly?
Я наберусь наглости и кратко переведу.
Отечественные ZX игры пишутся на клонах и поддерживают аппаратное(?) TURBO выкл. Русский клон ZS SCORPION использует программное переключение TURBO cpu режима - 3.5МГц / 7.0 МГц:
Чтение порта #7FFD = CPU турбо 7MHz (turbo on)
Чтение порта #1FFD = CPU работает на 3.5MHz (turbo off)
Т.е. запись для управления страницами, а чтение для переключения скорости.
На ZX Spectrum +2A / +3 порты #7FFD и #1FFD тоже используются для управления страницами. Чтение не поддерживается, а CPU читает данные с висящей шины ( значение #FF ). Программное переключение игнорируется (без последствий), программа всегда работает на обычной ZX скорости (3.5 MHz).
Проблема с отечественными программами - на оригинальных ZX Spectrum 128 / +2 (серый) моделях. В этих компьютерах прячется аппаратный баг - после чтения порта #7FFD программа теряет работоспособность (данные с висящей шины ЗАПИСЫВАЮТСЯ в порт страниц).
Чтение и #7FFD, и #1FFD дает этот результат из-за неполной адресации порта (достаточно того, что A15=0 + A1=0), адреса этих портов одинаковы. Если отечественная программа читает #7FFD или #1FFD, то настоящие ZX128/+2 упадут. Для исправления проблемы следует убирать IN ?,(C) если BC=#1FFD или #7FFD.
Это критические куски ("?" = любой рег. общего назначения):
LD BC,#1FFD
IN ?,(C)
LD BC,#7FFD
IN ?,(C)
LD A,#1F
IN A,(#FD)
LD A,#7F
IN A,(#FD)
Если убирать эти INы из русских игр/дем/утилит/ их можно будет использовать на ZX128/+2. И на всех других оригинальных моделях (+2A/+3 и русских клонах(?) )
(дальше ссылки на фиксы)
VELESOFT
19.10.2008, 23:39
Russian games/demos designed for ZX clones run on original ZX128 models with different speed and can crash. :v2_frown:
More ZX clones use fast access to contended(with ULA/videoram) memory. Original ZX Spectrum models use slow access to contended memory(ULA slow-down CPU).
adress space on original ZX128/+2(grey model): :v2_thumb:
#0000-#3FFF = zx rom (fast memory)
#4000-#7FFF = videoram 1 (slow memory contended with ula)
#8000-#BFFF = fast memory
#C000-#FFFF = memory paging area (pages 0,2,4,6 = fast / pages 1,3,5,7 = slow)
128kB memory = 64kB fast mem. + 64kB slow mem.
adress space on original ZX128+2A/+3: :v2_wacko:
#0000-#3FFF = zx rom (fast memory)
#4000-#7FFF = videoram 1 (slow memory contended with ula)
#8000-#BFFF = fast memory
#C000-#FFFF = memory paging area (pages 0,1,2,3 = fast / pages 4,5,6,7 = slow)
128kB memory = 64kB fast mem. + 64kB slow mem.
RESULT:
Different ZX128 models/clones use different layout of slow and fast memory pages !!! For example - Animation effect run in VERA game(in menu) incorrect on real ZX128/+2 (incorrect animations and problem with cursor).
http://velesoft.speccy.cz/other/vera.gif
Animation code work with slow memory pages. More russian demos use too slow(on real ZX) pages and crash. Any russian software work only on ZX128/+2 and other only on ZX128+2A/+3 because this models use different numbers of slow memory pages. Russian ZX clones use all memory pages fast and software work always correct at full speed. If coders will accept also memory layout for orig.ZX models, russian software can work too on this computers. Disk loader can detect type of used ZX model and load critical timing routines only to fast memory pages and other data to slow memory.
RESULT:
More russian games/demos can run on different ZX models only if you rewrite numbers of memory pages on instructions OUT (?),A (OUT #7FFD,xx). This is easy way for best compatibility. :v2_yahoo:
VELESOFT
Давно бы уже пора понять, что как делали под совковые клоны, так и будут делать...
Russian games/demos designed for ZX clones run on original ZX128 models with different speed and can crash.
It is a great information for us and thank you very much for your research.. but I think that it would be preferably to make a separated document about those differences and to collect all information into the document (which you can place in the network) else all information will be just lost..
Добавлено через 37 секунд
Давно бы уже пора понять, что как делали под совковые клоны, так и будут делать...
врядли он поймет что у нас воистину суверенный ZX-Spectrum :)
VELESOFT
20.10.2008, 01:04
And bad value of I register(adress of IM2 table) causes on original ZX 128/+2 models raining(snow) effect in screen: :v2_crazy:
http://velesoft.speccy.cz/other/blackraven-raining.png
If russian software/demos will use I register in range #0-#3F or #80-#BF then software will run correct (without screen raining) on real ZX models.
VELESOFT
Да пойми ты наконец (а я прекрасно знаю, что русский ты понимаешь), что нам АБСОЛЮТНО ПАРАЛЛЕЛЬНО что у вас на "ваших спектрумах" что-то идёт нетак...
нам АБСОЛЮТНО ПАРАЛЛЕЛЬНО
кому-это нам ???
не заставляй отвечать на ТУПЫЕ вопросы...
кто не с нами - тот против нас ?
Ну вот видишь - всё таки не дурак.. понимаешь...
Shadow Maker
20.10.2008, 02:49
По моему у него кросс-пост просто...
Лично я думаю, что если кто-то будет делать для кого-то, кроме русских, он предусмотрит эти вещи. Иначе в общем-то действительно нам пофиг.
NovaStorm
20.10.2008, 09:46
А по-моему он говорит очень правильные вещи. Если есть возможность обеспечить работу софта просто используя другие номера банков, ПОЧЕМУ этого не сделать? "Воистуину суверенным" спектрумистам это будет не в напряг, а людям приятно =)
я так понял что то что идет на оригинальном ZX 128/+2 нормально работает на российских машинах?
ну, первый пост понятно -- любопытная реализация SW TURBO. Но то что полностью правильных выборов банок нет и у них? То нечетные, то четные - по две версии всего делать?
Black_Cat
20.10.2008, 17:24
rasmer, пожалуйста, не надо экстремизма хоть в этом вопросе :) . Конечно лучше делать правильно сразу, и спасибо VELESOFT'у за то что он находит способы устранения проблем совместимости софта террСССР, а так же систематизирует информацию как это сделать - это полезная работа. Полагаю тему с этими рекомендациями следует перенести в рубрику "Программирование" и прибить гвоздями как справочное руководство.
Добавлено через 3 минуты
То нечетные, то четные - по две версии всего делать?ну делают же разные варианты для террСССР клонов, так почему не добавить ещё особенности 128/+2 и +2A/+3?
не надо экстремизма хоть в этом вопросе :) .
для справки непонимающим лицам, это у нас нормально воспринимают когда кто то что то сделал и его дерьмом обливают, иностранцы в это неочень врубаются и могут неправильно понять что у нас это в целом "дружеский настрой"..
VELESOFT
20.10.2008, 19:16
я так понял что то что идет на оригинальном ZX 128/+2 нормально работает на российских машинах?
Yes, software for original ZX models work on russian clones (Pentagon 128, Scorpion, Sprinter, ZX Profi, etc...)
But some russian ZX clones has problem with compatibility. For example PENTAGON 256kB / 512kB use bits D6 and D7 on paging port #7FFD for extended memory :v2_frown:. But software for original ZX128/+2/+2A/+3 can use two different paging methods:
LD BC,#7FFD
LD A,page
OUT (C),A ;this work on all ZX models/clones
LD A,page
OR 64 ;set A14=1 for compatibility with +2A/+3 models
OUT (#FD),A ;this is short version of paging routine (without using BC register) that use uncomplette port adressation on ZX models.
Adressation of paging port on ZX128/+2/Pentagon 128-512:
(A15-A0): 0xxxxxxx xxxxxx0x = paging port is any adress with A15=0 and A1=0. For example: OUT 0,page is on real ZX128/+2 same as OUT 32765,page.
Adressation of paging port on ZX128+2A/+3:
(A15-A0): 01xxxxxx xxxxxx0x = paging port is any adress with A15=0,A14-1 and A1=0. For example: OUT 16384,page is on real ZX128+2A/+3 same as OUT 32765,page.
About incompatibility with russian Pentagon 256/512kB:
This models use same paging port adressation as orig.ZX128/+2, but different function of BITs:
D0-D2 = memory page 0-7
D3 = videoram 0/1
D4 = zx rom 0/1
D5 = disable memory paging (switch to ZX48 mode)
D6 = unused on real ZX / extended memory 256kB on Pentagon :v2_wacko:
D7 = unused on real ZX / extended memory 512kB on Pentagon
But software on real ZX can use paging methods without using BC register:
LD A,page
OR 64 ; !!!!!! THIS SET DIFFERENT MEMORY PAGES ON PENTAGONS WITH EXTRA MEMORY !!!!! = software can crash. :mad:
OUT (#FD),A
Software from original ZX 128 can be easy modified to paging with use BC register and will work correct on all ZX128 models and russian clones/Pentagons. For example my fixed version of R-TYPE 128 REMIX for all ZX models/clones: :v2_cheer:
http://velesoft.speccy.cz/kmouse/kmvelesoft/rtype-game.gif
http://velesoft.speccy.cz/kmouse/kmvelesoft/r-type128-km.tap.zip
Surfin_Bird
21.10.2008, 20:59
Да пойми ты наконец (а я прекрасно знаю, что русский ты понимаешь), что нам АБСОЛЮТНО ПАРАЛЛЕЛЬНО что у вас на "ваших спектрумах" что-то идёт нетак...
Кому это вам? Нам, например - не параллельно:v2_tong2:
вы поймите! уже поздно что-то менять! Софт уже в таком масштабе как раньше не пишется! потому эта инфа носит чисто познавательный характер.
VELESOFT
22.10.2008, 19:01
вы поймите! уже поздно что-то менять!
Why late ? :mad:
Old russian software work on real ZX machines, exist only section of software that work correct only on russian clones. All this software can be modified for other ZX models. What is best way for active coders ? Very easy, if source code of problem software will free. Whatever ZX coder can test developed ZX software in ZX emulators on PC and fix bugs :v2_wink2:
REALSPECTRUM emulator is best :v2_thumb:
VELESOFT
Adramelek
23.10.2008, 02:41
Интересно. Сравним зарубежное и российское community.
Форумы WoS существуют с 2001 года. Прямо сейчас там сидит 22 человека (рекорд за все времена -- 125 человек). Тем открыто -- 21992, постов -- 306532, мемберов -- 4037, активных мемберов -- 390.
Форум zx.pk.ru существует с 2005 года (то есть, моложе WoS более чем в два раза). Прямо сейчас тут сидит 110 человек, рекорд посещений -- 815 человек. Тем открыто -- 7909, постов -- 145821, мемберов -- 2156, активных мемберов -- 421.
Видимо, zx.pk.ru поживее будет (при этом не забываем, что на WoS не только англичане, но и вообще весь мир представлен). Можно ещё сравнить количество программных и аппаратных разработок за время, прошедшее с коммерческой смерти Спека. Ну, или хотя бы за последние несколько лет. В любом случае, не думаю, что это сравнение будет в пользу зарубежной сцены.
Так что, VELESOFT, ещё не известно, кому под кого надо подстраиваться в кодинге и какой язык принимать за основной в интерфейсе программ и игрушек. Может, стоит признать, что пришла пора покупать Пентагон?
Black_Cat
23.10.2008, 03:14
Сравним зарубежное и российское community.Adramelek, ты это к чему? Тема про написание софта, а не про то, кто кого..
рекорд посещений -- 815 человекрекорд посещений роботами
Adramelek
23.10.2008, 04:07
Black_Cat, тема про то, что софт должен быть стандартизирован. И про то, какой стандарт выбирать за основной.
А WoS, видимо, роботы не посещают.
P.S. Между прочим, проблем с покупкой Pentagon 1024SL за бугром нет (http://www.worldofspectrum.org/forums/showthread.php?t=18390).
Black_Cat
23.10.2008, 05:49
про то, какой стандарт выбирать за основной.помоему лучший основной стандарт - писать так, что бы работало везде
NovaStorm
23.10.2008, 09:09
Может, стоит признать, что пришла пора покупать Пентагон?
Хе-хе, однозначно!
Не всегда возможно софт (особенно большие проекты) написать так, чтобы он работал на оригинальном Спектруме, так, как он работает на наших клонах (медленная память это просто "нечто"). Хотя стремиться к этому нужно.
Я, например, постараюсь переделать Веру после перевода на инглиш, чтобы она заработала на оригинальном Спектруме. Ну или, по крайней мере, чтобы не глючила.
А Velesoft, все ж таки, молодец! Учи неучей :)
VELESOFT
23.10.2008, 19:47
помоему лучший основной стандарт - писать так, что бы работало везде
Yes. This correct writed software can work also on real ZX machines :v2_thumb:
This is very necessary point:
If IM2 vector table will move to fast memory area then game will playable on all ZX models/ZX clones without screen raining effect:
FIX for best software timing:
All very fast routines can be move also to fast memory - games will work on real speed.
Software can't crash if software run on slower ZX models/clones. (problem with interrupt and critical timing routines)
PROBLEM WITH PORTS:
All extra ports(features) must be disabled if original ZX 128/+2 models is detected
VELESOFT
Yes. This correct writed software can work also on real ZX machines
may be you have the information, how many real users of ZX 128/+2 in the world today?
VELESOFT
23.10.2008, 20:30
may be you have the information, how many real users of ZX 128/+2 in the world today?
Only in Russia is used all russian ZX clones (Pentagon 128/256/512/1024,Scorpion,ZX Profi,QUORUM etc...)
All other ZX users in world use original ZX models (ZX 16kB/48/128/+2/+2A/+3 or modified versions(zx clones) based on ZX48 models.(Didaktik GAMA, Didaktik GAMA 192,Delta...)
ZX 16/48 models is small used. Most ZX users/coders have ZX Spectrum 128 and +2(grey model). :v2_thumb:
How many real users of russian ZX clones in the world today? :v2_eek:
Black_Cat
23.10.2008, 20:35
How many real users of russian ZX clones in the world today?http://www.zx.pk.ru/showthread.php?t=4057 Here, not all users registered.
http://www.zx.pk.ru/showthread.php?t=4057 Here, not all users registered.
там время голосования вышло чтоль? что не проголосоввать теперь
попробуй ещё раз
показывает результаты и пишет чо я еще не голосовал, но проголосовать не дает
Adramelek
23.10.2008, 23:31
помоему лучший основной стандарт - писать так, что бы работало вездеНу давайте тогда ещё и сорок восьмые Спеки поддержим. Тоже ведь люди на них сидят какие-то.
Black_Cat
24.10.2008, 00:23
Ну давайте тогда ещё и сорок восьмые Спеки поддержим. Тоже ведь люди на них сидят какие-то.
Постановка вопроса некорректна. Здесь нет противопоставления между более развитым и устаревшим железом, западные и советские компы - одного класса 128к. Но если программе достаточно ресурсов ZX16/48, то почему бы и не поддержать даже ZX16? В этом даже определённая спортивность есть - сделать крутую программу в 16к :) .
Adramelek
24.10.2008, 03:16
Постановка вопроса некорректна. Здесь нет противопоставления между более развитым и устаревшим железомИменно, что есть. Дело ведь не только в количестве памяти. ZX Spectrum +2, как и ZX Spectrum 48, -- компьютеры для ностальгирующих. Для этого эти машинки вполне годятся. Можно провести аналогию: хочешь играть в Digger, -- бери IBM PC XT; хочешь играть в Crysis, -- будь добр пересесть на другое железо.
Толку от поддержки устаревших машин не вижу никакого (не будем же мы считать толком то, что меньше людей купит Pentagon). В общем, вот моё мнение: стандарт на данный момент есть Pentagon с TR-DOS. Чем больше людей будет этого стандарта придерживаться, тем меньше будет проблем, причём во всём.
Впрочем, это и так всем давно известно, -- как и информация о том, как поддержать старые Спеки с тугодумной памятью. Кто захочет, тот этой информацией воспользуется. А кто-то другой, если захочет, достанет нормальный Спек, чтоб не возиться с кассетами, фиксами нового софта или многочисленными несовместимыми друг с другом форматами дискет (сколько их там у них? под десяток или больше?).
Кстати, всякие +2, +3, -- они производятся вообще? В новом виде их достать реально?
Black_Cat
24.10.2008, 06:19
Толку от поддержки устаревших машин не вижу никакого (не будем же мы считать толком то, что меньше людей купит Pentagon).Тем не менее на Западе только они и поддерживаются и железом и софтом. А ассортимент всякого дополнительного железа там пожалуй и получше нашего будет. Хватает своих и HDD и SD и CF, есть и аппаратные расширители до совместимости с Pentagon'ом (кстати у того же VELESOFT'a), и много чего ещё. Так что врядли можно сказать что на Западе устаревшее железо по сравнению с нами. А то, что их старые компьютеры до сих пор используются, в значительной мере объясняется хорошим качеством изготовления, в отличие от подавляющего большинства нашей старой техники которую уже и чинить-то некому.
В общем, вот моё мнение: стандарт на данный момент есть Pentagon с TR-DOS. Чем больше людей будет этого стандарта придерживаться, тем меньше будет проблем, причём во всём.Стандарт Pentagon'а определяет только временные и количественные параметры железа, но не то, в каком банке держать таблицу прерываний что бы небыло снега. Если есть возможность сделать выбор - то почему бы и не сделать? ..другое дело - если такой возможности по какой-то причине нет.. А касательно стандарта :) , так если бы было именно так, то и разговора этого небыло бы.
Adramelek
24.10.2008, 09:39
А ассортимент всякого дополнительного железа там пожалуй и получше нашего будет. Хватает своих и HDD и SD и CF, есть и аппаратные расширители до совместимости с Pentagon'ом (кстати у того же VELESOFT'a), и много чего ещё. Так что врядли можно сказать что на Западе устаревшее железо по сравнению с нами.То есть, если на +2 навесить HDD, SD, CF и аппаратный расширитель до совместимости с Pentagon'ом, то это всё ещё будет +2?
Стандарт Pentagon'а определяет только временные и количественные параметры железа, но не то, в каком банке держать таблицу прерываний что бы небыло снега.Ну, наверное, это потому, что в случае с Pentagon'ом снега просто нет.
Постановка вопроса некорректна. Здесь нет противопоставления между более развитым и устаревшим железом, западные и советские компы - одного класса 128к. Но если программе достаточно ресурсов ZX16/48, то почему бы и не поддержать даже ZX16? В этом даже определённая спортивность есть - сделать крутую программу в 16к :) .
спортивность жестокая :) птому как, глядя на раскладку памяти 128к, реально имеем только две "нормальные" страницы. Негусто для жестокого декранча, когда код можно расфуфырить на несколько банков... Эффект снега, имхо, вообще жестокий аппаратный глюк, интересно, почему отечественное железо от него свободно... значит можно было сделать, если подумать...
Эффект снега, имхо, вообще жестокий аппаратный глюк, интересно, почему отечественное железо от него свободно... значит можно было сделать, если подумать...
как я понимаю у нас память была "бит в одном чипе", а у них "байт в одном чипе", соответственно каждая страница у нас лежит в том же чипе что и все остальные, а у них страница на чип или несколько
как я понимаю у нас память была "бит в одном чипе", а у них "байт в одном чипе", соответственно каждая страница у нас лежит в том же чипе что и все остальные, а у них страница на чип или несколько
все равно не очень понятно.
Ну вот, например, приходит сигнал на прерывание. Проц считывает некое значение с вектора прерываний( на которое указывает регистр I ). Ула в это время даже еще не начинает отрисовку экрана, только бордер. Откуда артефакты по всему экрану?
Ну вот, например, приходит сигнал на прерывание. Проц считывает некое значение с вектора прерываний( на которое указывает регистр I ). Ула в это время даже еще не начинает отрисовку экрана, только бордер. Откуда артефакты по всему экрану?
если бы не начинал отрисовку то и артефактов бы не было.. скорее всего забыли что то засинхронизировать внутри и к примеру при операциях записи в видеопамять процом происходит нарушение адреса считывания видеопамяти видеоконтроллером.. но это надо схему смотреть
Surfin_Bird
24.10.2008, 18:21
Интересно. Сравним зарубежное и российское community.
Интересно, кому это интересно?
Есть мнение, что зарубежное комьюнити - чуваки с реальным железом, а российское - эмуляторщики.
Так что, VELESOFT, ещё не известно, кому под кого надо подстраиваться в кодинге и какой язык принимать за основной в интерфейсе программ и игрушек. Может, стоит признать, что пришла пора покупать Пентагон?
Бред. Вот почему: Посмотри, что в шапке написано - "speccy - наш выбор". Не "Penny", не "Scorpy", не "ATM-my". По-большому счёту все русские клоны никому в . не впились. Точнее, не впивались бы, если б не были совместимы с оригинальным ZX.
Толку от поддержки устаревших машин не вижу никакого (не будем же мы считать толком то, что меньше людей купит Pentagon). В общем, вот моё мнение: стандарт на данный момент есть Pentagon с TR-DOS. Чем больше людей будет этого стандарта придерживаться, тем меньше будет проблем, причём во всём.
Бугога. Прям серьёзное маркетинговое исследование. Если 10 человек сидит на Тырдосе, а на 2+ всего каких-то *****х 7 человек, то безбазара Тырдос - индустриальный стандарт, внатури:v2_finge:
Может имеет смысл отказаться от пальцегнутия хотя бы щас, когда людей интересующихся спектрумом не становиться больше?
Интересно, кому это интересно?
Есть мнение, что зарубежное комьюнити - чуваки с реальным железом, а российское - эмуляторщики.
мы не халявщики, мы - партнеры :)
VELESOFT
24.10.2008, 19:19
все равно не очень понятно.
Ну вот, например, приходит сигнал на прерывание. Проц считывает некое значение с вектора прерываний( на которое указывает регистр I ). Ула в это время даже еще не начинает отрисовку экрана, только бордер. Откуда артефакты по всему экрану?
In refresh cycle Z80 CPU send value of register I to high adress bus (A8-A15 = D0-D7 of register I). And original ZX detect (A15 , A14) acces to slow memory area(videoram) and ULA will snow.
VELESOFT
Adramelek
24.10.2008, 20:19
Интересно, кому это интересно?
Есть мнение, что зарубежное комьюнити - чуваки с реальным железом, а российское - эмуляторщики.Хорошее мнение, мне понравилось. Твоё? Только вот тему переводить не стоило. Софту-то всё равно, идти на реальном Pentagon'е или на его эмуляторе. Не о том ты слегка, не о том.
Бред. Вот почему: Посмотри, что в шапке написано - "speccy - наш выбор". Не "Penny", не "Scorpy", не "ATM-my". По-большому счёту все русские клоны никому в . не впились. Точнее, не впивались бы, если б не были совместимы с оригинальным ZX.Это называется эволюция. Оригинальным человеком разумным был питекантроп. Который сейчас никому не впился, потому что вымер, как класс. Так же, как вымрут рано или поздно старые Спеки.
Может имеет смысл отказаться от пальцегнутия хотя бы щас, когда людей интересующихся спектрумом не становиться больше?Пальцегнутие было в Subliminal Extacy #3. Я по сравнению с тамошними ребятами младенец.
Surfin_Bird
24.10.2008, 20:42
Хорошее мнение, мне понравилось. Твоё?
А как тебе интересней?
Только вот тему переводить не стоило. Софту-то всё равно, идти на реальном Pentagon'е или на его эмуляторе. Не о том ты слегка, не о том.Это называется эволюция. Оригинальным человеком разумным был питекантроп. Который сейчас никому не впился, потому что вымер, как класс. Так же, как вымрут рано или поздно старые Спеки.Пальцегнутие было в Subliminal Extacy #3. Я по сравнению с тамошними ребятами младенец.
Не, ну если б я согласился, что спек должен умереть, тогда резонно было бы спросить - какого я тут делаю на этом форуме?
Ты утверждаешь, что "128кб, быстрая память, турбо режим и что_там_ещё такого_в_пентагоне" делает недостойным существования машины "48кб, медленная память, магнитофон, логотип синклера на лбу".
Почему тогда "1024Гб, обассака_какая_быстрая_пам ть, DVD, HDD, Flash, граф. планшет" не убивает нахрен своей крутизной весь пласт машин, кучкующихся вокруг термина Speccy?
Или у тебя какое-то "особенное" понимание эволюции?
опять холивар намечаеццо... пойду приготовлю попкорн....
Surfin_Bird
24.10.2008, 21:06
Отводишь себе роль зрителя?;)
уже...
ибо считаю сей холивар тупизной полной...
ибо имхо один фиг у эмуль/наши клоны писька длиннее...
Surfin_Bird
24.10.2008, 21:50
Длиннее всего у ПиСи. Вишь, даже нозвание подобрали, цуке.
Это, конечно, если с полового ракурса смотреть.
а писюк в данном чпоре вообще не причом...
Surfin_Bird
24.10.2008, 22:09
Почему? Если 128к кручи 48к, почему 1024М! никручи 128к?
Круче, палюбому. Толщи и длиннее.
покочану... по отсутствию z80...
Adramelek
25.10.2008, 04:21
Не, ну если б я согласился, что спек должен умереть, тогда резонно было бы спросить - какого я тут делаю на этом форуме?Старый Спек. Старый. Шестнадцатый умер? Умер. Умер и сорок восьмой. Очередь за прочими чудами в серых корпусах и с трёхдюймовыми дискетами.
Ты утверждаешь, что "128кб, быстрая память, турбо режим и что_там_ещё такого_в_пентагоне" делает недостойным существования машины "48кб, медленная память, магнитофон, логотип синклера на лбу".С точки зрения разработчика ПО, -- да. С точки зрения ностальгирующего игрока, -- пожалуй, нет.
Почему тогда "1024Гб, обассака_какая_быстрая_пам ть, DVD, HDD, Flash, граф. планшет" не убивает нахрен своей крутизной весь пласт машин, кучкующихся вокруг термина Speccy?Для ответа на этот вопрос ответь, что есть Speccy.
Впрочем, и вправду холивар. Surfin' Bird, я своё мнение ранее высказал, выскажи и ты своё, и на этом можно будет разойтись. А то я не совсем понимаю, что ты пытаешься мне сказать; понимаю только, что ты со мной не согласен.
Surfin_Bird
25.10.2008, 12:25
А что непонятного? Тема про то, что если уж делаешь софт, делай так, чтобы он шёл на всех компах линейки. Потому что и в других странах есть спектрумисты, а они сидят на заводских нормальных спектрумах.
Я считаю - это правильно.
Тем более, что ситуация, как я понял, такая:
Есть эталонный компьютер А. Есть компьютер Б и софтина для него. Она идёт с глюками\не идёт на компе А из-за особенностей компа Б. После внесения в неё небольших изменений она _всё_ещё_идёт_ на Б, но уже идёт и на А.
Так .уле тут спорить?
P.S.: А когда это умер 48-й? Самые крутые игры как раз под 48-й написаны. Его до сих пор достаточно, чторбы круто поиграть на спектруме;)
Orionsoft
25.10.2008, 12:43
чем флеймит , придумали б схему для ULA чтоб она не снежила .
они ёё там быстро припаяют .
и всё
VELESOFT
25.10.2008, 13:20
Exist hardware patch "unrainer" for ZX128/+2 models:
http://velesoft.speccy.cz/zx/umbrella/umbrella.htm
But many zx users doesn't know soldering. Only users.
VELESOFT
Тем более, что ситуация, как я понял, такая:
Есть эталонный компьютер А. Есть компьютер Б и софтина для него. Она идёт с глюками\не идёт на компе А из-за особенностей компа Б. После внесения в неё небольших изменений она _всё_ещё_идёт_ на Б, но уже идёт и на А.
Так .уле тут спорить?
Позволю замечание:
не следует считать компьютер А эталонным. Историческим предком - да, но не эталоном. Эффект снега - это аппаратное, мягко говоря, недоразумение, оплошность в работе инженера, не совсем понимающего работу процессора. Такое еще можно простить на тестовых образцах, но совсем непонятно как такие модели пошли в массовое производство.
ЗЫ: Компьютер А доводится до компа Б паяльником и исчезают проблемы сразу _со_всем_ совтом для компа Б... это не проблема разработчика какой-то одной апликухи.
Очередь за прочими чудами в серых корпусах и с трёхдюймовыми дискетами.
С чего бы это? Их было выпущено наверное поболее наших пентагонов и едва ли всё ушло как у нас на драгмет. В тоже время все эти спектрумы легко преврящаются в современный удобный девайс с SD и прочим с помощью известных железяк. И они не рассыпаются в прах от первого неосторожного прикосновения.
Adramelek
26.10.2008, 00:16
ситуация, как я понял, такая:
Есть эталонный компьютер А.Ну вот и разобрались. Ты считаешь эталоном комп А, а я -- комп Б.
P.S.: А когда это умер 48-й? Самые крутые игры как раз под 48-й написаны. Его до сих пор достаточно, чторбы круто поиграть на спектруме;)А я так и написал, что сорок восьмой, -- это машина для ностальгирующих. Умер он для разработчика.
Добавлено через 2 минуты
С чего бы это? Их было выпущено наверное поболее наших пентагонов и едва ли всё ушло как у нас на драгмет.Большая часть, я подозреваю, ушла попросту на помойку. На Западе старая бытовая техника обычно выкидывается, а не хранится на антресолях в ожидании нового владельца.
Surfin_Bird
27.10.2008, 19:04
Ну вот и разобрались. Ты считаешь эталоном комп А, а я -- комп Б.
Нельзя считать эталоном всё, что тебе заблагорассудится. Давай считать эталоном спектрума, например Panasonic3DO! А чё? Графика рулит и CD-ROM есть.
Эталон - спектрума... Что же это, если не сам спектрум?:v2_conf2:
А я так и написал, что сорок восьмой, -- это машина для ностальгирующих. Умер он для разработчика.
А почему? Я же писал выше - самые крутые игрушки на 48-м.
А если потому, что на 128-м писать проще - так на PC писать ещё проще. Давай хоронить весь спек?
Теперь рассмотрим фразу "Умер он для разработчика."
Когда комп умирает для разработчика? Имхо, в двух случаях:
а. Когда не осталось железа или разрабатывать на нём программы очень сложно. Вот ЭВМ "Минск" - умерла для разработчика. Вместе со своими перфолентами и ферритовыми сердечниками.
б. Когда программы для этого компа не нужны никому. Вот умные стиральные машины - мертвы для разработчика изначально. А комп Электроника Б3-21 убило время.
Спек 48 не проходит ни по первому ни по второму пункту: программить на нём удобно и юзеров дохера (уж точно больше, чем любых дисковых спеков).
Добавлено через 2 минуты
Большая часть, я подозреваю, ушла попросту на помойку. На Западе старая бытовая техника обычно выкидывается, а не хранится на антресолях в ожидании нового владельца.[/QUOTE]
И у многих твоих знакомых сейчас спеки на антресолях лежат?
Речь идёт о фанатах. Для них обычные правила не применимы.
Честное слово расшумелись как дети малые
ежели бы я в далеком-далеком году знал что читать из портов нельзя то я бы и не читал
просто надо было для корректного проинрывания оцифровки вырубать турбу
а по поводу холивара кину свои 7 копеек
вот мой последний проект был под 48
сечас пишу под 128
и все будет работать ВЕЗДЕ если конечно запустят :)
2VELESOFT
Классные анимации... Полагаю, закапчурено с эмулятора... Вы не можете сказать, что нужно чтоб получить поведение "реального" спектрума?.. Брал RealSpectrum beta release 14 v0.97.36 (win) by Ramsoft, выбирал +2, +3 эмуляцию, загружал "кривые" снапшоты ( с вектором прерываний во пятой странице ), но работало вроде как нормально...
Ой, какая тема зажигательная, читал и просто наслаждался процессом. Сразу вспомнилась сказка о тульском кузнеце Левше. Читали в детстве? Там Левша (чтобы показать, что у нас «длиннее и толще») англицкую механическую блоху подковами снабдил. Да не просто снабдил, а еще на подковах надписи сделал, которые только в мощный мелкоскоп было видно. И при том у самого Левши мелкоскопа вообще не было, зато рука была «пристрелявши». Правда блоха после этого танцевать перестала. Но это мелочь.
Почти так и со Speccy получилось. Зачем наши программисты использовали короткие IN-ы OUT-ы и вектор прерывания ставили в места где у фирменных моделей были медленные банки? Да просто так быстрее, удобнее было и проще. Не было никакого злого умысла в этом. Работает на твоем личном клоне, ну и ладно, а про другие, и знать не знали. Причем железячники волей-неволей старались клепать клоны совместимые с фирменным: кому нужен комп, на котором криво работают те или иные программы, пусть он даже быстрее и лучше оригинального?
А вот программисты прославились местечковостью. Неумышленно конечно. У меня «пентагон», ну вот я под него и пишу, а что там у других не знаю и знать не желаю (или не могу).
Только вот в сказке про Левшу, он в Англию опыт перенимать поехал, и выяснил, что англичане ружья кирпичом битым не чистят. Но не дали ему этот опыт до соотечественников довести. Помер Левша со своим знанием. А когда крымская война началась, горько наши солдаты за незнание генеральское поплатились (ружья криво стреляли).
А за местечковое программирование на Speccy в первую очередь не буржуины поплатились, а наши пользователи. Ибо далеко не все что под «пентагон» или «скорпион» написано, при тех же аппаратных характеристиках (ОЗУ и прочее) на других клонах работает.
Да и железячники блеснули, да так, что до сих пор расхлебываем. И темы «как подключить ПАЛ-кодер к пентагону???» пишем.
Плохо не то, что с фирменными наши клоны и ПО несовместимы оказались, а то, что своих стандартов (да вообще любых) так придерживаться и не научились. Зато наши пентагоны самые быстрые в мире!
2Conan
Ну, полагаю, что вряд ли кто писал програмульки профессионально и за бабосы - все было по приколу и в далеком детстве. Если у программиста А был друг Б с другим спектрумом, то, наверное, программы написанные А работали на обоих компах... Сосвесвенно, поставленные задачи апликуха выполняла.
...Если у кого что не работало - ничто не мешало взять паяльник ( кста, сам делал также, свой АТМ 1 немного увешал тумблерами, чтоб приблизить его к стандарту)...
...А инструкции типо out ( 0xfd ), a врядли придут в голову без некоторого анализа схемы компа, так что сообразительности некоторых товарищей мона только порадоваться...
...А инструкции типо out ( 0xfd ), a врядли придут в голову без некоторого анализа схемы компа, так что сообразительности некоторых товарищей мона только порадоваться...
радоваться надо за буржуев, именно они впервые применили out (#fd) в в игрушке Fairlight1&2.
А много еще таких игрушек?
чтобы раз и ... не работало
правда вспоминается у меня на одной из моих машинок
не шел толи KnihtLore толи чтото еще из этой серии
при вскрытии обраружился какойто левый out перед опросом клавы
в остальных играх от ACG видел по паре нулей перед опросом - видимо чота фиксили
а вообще у Конана в истории упоминался этот факт - несоответствие datasheet выдаваемых фирмам с тем что было в реальности
правда вспоминается у меня на одной из моих машинок
не шел толи KnihtLore толи чтото еще из этой серии
при вскрытии обраружился какойто левый out перед опросом клавы
в остальных играх от ACG видел по паре нулей перед опросом - видимо чота фиксили
да - в играх от Ultimate перед (или после) опроса клавы были out`ы, интересно зачем ? также показателен пример с игрой arkanoid : в первой версии перерисовка экрана была подвешена на пресловутый порт #FF, позже из-за его отсутствия на 128ой модели была сделана другая версия. также интересно почему модели 128 и 48 отличались кол-вом строк и кол-вом тактов за которое они рисовались.
а вообще у Конана в истории упоминался этот факт - несоответствие datasheet выдаваемых фирмам с тем что было в реальностиЭта несовместимость возникла после выпуска третьей версии платы (Issue 3) ZX Spectrum 48. Суть была в том, что при опросе клавиатуры (порт #FE) в этих версиях состояние бита (магнитофона) отличалось. Клайв Синклер признал наличие этой проблемы с опозданием. Разумеется, это «слегка огорчило» народ и разработчиков ПО.
также интересно почему модели 128 и 48 отличались кол-вом строк и кол-вом тактов за которое они рисовались.В ZX Spectrum 48 было два кварца: один для синхрогенератора в ULA (14 МГц), а второй для PAL-кодера (4,43619 МГц). В ZX Spectrum 128 разработчики (скорее всего испанцы) заменили два кварца одним (17,734475 МГц). Его подобрали таким образом, что бы при делении (на 4 и на 5) частоты подходили и для PAL-кодера и для Z80. Но вместо 3,5 мГц получилось 3,546895 МГц.
Соответственно слегка «поплыли» времянки в телевизионных развертках. Вот их и подогнали под ТВ-стандарт (счетчиками в ULA) изменив кол-во тактов в строке и кол-во строк в кадре. Разумеется, на совместимости (в частности на бордюрных эффектах) это положительно не сказалось.
Причина замены на общий кварц (в ZX Spectrum 128) была в том, что два раздельных генератора (в ZX Spectrum 48) интерферировали и в результате на ТВ-картинке возникали муар и помехи.
P.S. Порт #FF "исчез" только в ZX Spectrum +2A/B +3. В ZX Spectrum 128 и ZX Spectrum +2 порт поддерживался аппаратной архитектурой.
Ничего сложного в том, чтобы программа работала на любой машине, нет. Заграничные товарищи тоже могут писать программы под свое железо (использование 0-й банки в +3, поддержка своих дисковых систем, etc). Тем более, что они более активны, чем наши - сравните количество новых игр за последний год например.
Поэтому я стараюсь не лениться и делаю обычно tap-релизы наших дем с правильным фиксом под медленные машины (старые tap-ы конечно косячны, но в последних работах (MACHINED например) все нормально).
Насчет того, что типа только две банки в общем случае нормальные, а остальные тормозные - этого вполне достаточно для кода. 90% программы это все равно данные, а не код. Даже мега-игра Черный Ворон не кодом заполнена, что уж говорить про все остальное.
Ничего сложного в том, чтобы программа работала на любой машине, нет. Заграничные товарищи тоже могут писать программы под свое железо (использование 0-й банки в +3, поддержка своих дисковых систем, etc). Тем более, что они более активны, чем наши - сравните количество новых игр за последний год например.
Поэтому я стараюсь не лениться и делаю обычно tap-релизы наших дем с правильным фиксом под медленные машины (старые tap-ы конечно косячны, но в последних работах (MACHINED например) все нормально).
Насчет того, что типа только две банки в общем случае нормальные, а остальные тормозные - этого вполне достаточно для кода. 90% программы это все равно данные, а не код. Даже мега-игра Черный Ворон не кодом заполнена, что уж говорить про все остальное.
О чем, собственно, и толкует наш забугорный товарищ. Тоже поддерживаю идею того, что софт уже пора писать для максимально большего кол-ва компов (хотя и сам страдаю ляпами :( ).
VELESOFT
29.11.2008, 13:49
2VELESOFT
Классные анимации... Полагаю, закапчурено с эмулятора... Вы не можете сказать, что нужно чтоб получить поведение "реального" спектрума?.. Брал RealSpectrum beta release 14 v0.97.36 (win) by Ramsoft, выбирал +2, +3 эмуляцию, загружал "кривые" снапшоты ( с вектором прерываний во пятой странице ), но работало вроде как нормально...
Realspectrum is good emulator, but not support raining effect emulation. This feature is available in other emulators. You can test it in emulator ZX Spin.:v2_thumb: Or on real ZX machines.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot