PDA

Просмотр полной версии : Расскажите о ZX Next



Страницы : [1] 2

dhau
26.01.2005, 18:12
Слышал пару раз об этом клоне, и о том что по наворотам он так же далеко ушел от ATM, как ATM от пентагона. Хочется знать:

- кто создал, когда, для чего
- кто производил, в какой период, и сколько штук
- каковы особенности архитектуры, какой и сколько есть спец софта
- живы ли разработчики/производители, чем занимаются в 2005-м?
- существует ли возможность получить дизайн-документы (пукиук-файлы, схемы, описание ASIC-ов, если такие имелись и т.д.

Ни и особенно фотки матплаты хочельсь бы увидеть - в фокусе и как можно более высокого разрешения

Заранее спасибо!

Максагор
26.01.2005, 20:52
Да, был такой. У Романа, кстати, сейчас платка лежит. Служи о том, что он покрутости далеко ушел от ATM - неверны. Его основное достоинство - слотная архитектура (по моему это первый комп с таковой, еще до Кая вышедший, хотя могу ошибиться) и видеоконтроллер на втором Z80. Кроме стандартного видеорежима реализован еще один - аппаратный мультиколор 640х200, аналогичный одному из режимов ATM. Была возможность отключать ПЗУ и включать стр 0, но ничего подобного диспетчеру памяти ATM нету. Из периферии под слоты - контроллер бета-диска (на мамке его нету!), расширения памяти до 512Кб+часы (на мамке - 128Кб), контроллер винта и сетевая карточка для связи с пЦ (последнюю не видел). В общем, комп поархитектуре примерно соответствует KAY с некоторыми своими особенностями и оригинальностями.

Conan
26.01.2005, 21:01
ZX-Next создан мной (концепция, железо, документация) и Леонидом Ермаковым (Next ROM Video, встроенное и служебное software, тесты железа, драйвера и прочая поддержка, для …

Была идея разработать компьютер, пригодный для серийного производства в России. Ну и конечно же совместимый с оригинальным ZX Spectrum.

Идея родилась в 1989 году, первые платы и компьютеры были выпущены в 1993. Далее продавался через компанию «Слот», большей частью в виде наборов для самостоятельной сборки или собранных плат. Всего произведено чуть более 700 штук (по количеству зашитых Next ROM Video)

Специального софта очень немного (в основном под iS-DOS). Из особенностей, прежде всего это второй процессор, формирующий большинство сигналов (начиная от строчной развертки, заканчивая прерываниями, основного Z80). Поскольку все это формировалось программно, то видеопроцессор можно было заставить формировать любые времянки, от родного ZX Spectrum, до Пентагона или Скорпиона, или например экран смещать по горизонтали и вертикали.

Разработчики живы, производители мертвы (давно закрылись). В 2005 году, после возвращения из славного города Ванкувера, работаю в не менее славном городе Москве. Леня тоже работает IT-менеджером, в каком то из больших банков. В свободное время, которого, к сожалению, очень мало, делаю сайт, посвященный истории Speccy: http://zxnext.narod.ru

Часть документов, безвозвратно утеряна, но то, что осталось, могу поискать. Правда, что с этим дальше делать, без Next ROM Video? А для изготовления последнего, требовалась специальная технология и особый программатор… Хотя все железо, вроде уцелело. Фотку, держи.

CHRV
26.01.2005, 21:06
Часть документов, безвозвратно утеряна, но то, что осталось, могу поискать. Правда, что с этим дальше делать, без Next ROM Video? А для изготовления последнего, требовалась специальная технология и особый программатор… Хотя все железо, вроде уцелело. Фотку, держи.
Слава богу у меня почти все доки остались, и даже есть полурабочий сабж. И живу я так же в Москве. Ромы я давно считал и они в фидошной фэхе лежат :)

dhau
27.01.2005, 02:36
Conan, большое спасибо за ответ! Если не секрет, чем Ванкувер-то не понравился? Я вот в Торонто живу уже пятый год - и все мне нравится, правда вежливые все прямо сил нет, я и сам таким стал уже :)

Ужастно жалко что у меня такого компьютера (или хотябы Пентагона) не было году эдак в 1994-м... Совсем бы другим наверное сайчас бы занимался

Conan
27.01.2005, 02:43
Служи о том, что он покрутости далеко ушел от ATM - неверны.
Кроме стандартного видеорежима реализован еще один - аппаратный мультиколор 640х200, аналогичный одному из режимов ATM.
Была возможность отключать ПЗУ и включать стр 0, но ничего подобного диспетчеру памяти ATM нету.
Из периферии под слоты - контроллер бета-диска (на мамке его нету!), расширения памяти до 512Кб+часы (на мамке - 128Кб)...

Видеорежим 640*200 отличался тем, что адресация экрана была линейной, как в CGA, никакого аппаратного «мультиколора», там не было. Был еще тестовый режим 640*400 interleave, но в серию не пошел, да и он не имел ничего общего с «мультиколором». В АТМ адресация экрана 640*200, была иная.
Что же касается управления памятью (все 512 Кб находились на материнской плате), то отключение ПЗУ было только одним из режимов. Этот порт был интегрирован на контроллере Beta Disk (кстати приведена на фото плата, именно с таким контроллером), и позволял подключать ОЗУ не только вместо ПЗУ с бейсиком, но и вместо ПЗУ с TR-DOS. Это было очень удобно, и часто использовалось для отладки. Плата, на которой в числе прочего был контроллер, управляющий 512 Кб, действительно устанавливался в слот. Стандартов по управлению этой памятью в 1993 году еще не было, и я не хотел жестко привязываться к какому либо варианту. Тот, что был реализован, позволял подключать в любой (16 Кб) сегмент адресного пространства, один из четырех банков ОЗУ, плюс восемь в верхний. Либо подключать любой из 32 банков в верхний сегмент (по аналогии с режимом 128). Насколько я помню, в АТМ можно было подключать любой из банков, в любой сегмент. Однако, для iS-DOS, вполне хватало даже более простых режимов, а городить дополнительные порты, совершенно не хотелось. Повторюсь еще раз, ZX-Next разрабатывался как машина для серийного производства, и максимально совместимая с оригиналом. Поэтому все «навороты» переносились на контроллеры.

P.S. Споры на тему: «кто от кого и насколько ушел», мне не интересны. Гораздо интереснее узнать, «кто откуда пришел». Потому что истории любимого компьютера, в родной стране, как оказывается, и не знаем. В соседнем треде я спросил про «Новосибирский» вариант, так никто и не ответил, хотя плата была знаковая. И выпущено их было не меньше, чем ZX-Next или ATM.

Conan
27.01.2005, 02:47
Слава богу у меня почти все доки остались, и даже есть полурабочий сабж. И живу я так же в Москве. Ромы я давно считал и они в фидошной фэхе лежат :)

Изначальный вопрос был про дизайн-документы, то есть те, что необходимы для производства (*.pcb;*.sch…). Они несколько отличались от пользовательской документации, которая поставлялась вместе с платами и компьютерами. Кстати ничего специализированного (ASIC-ов) не было, за исключением СЕКАМ-кодера, да и то почти все обходились без него.
То, что я видел в Интернете, к сожалению далеко не вся, даже пользовательская, документация, хотя могу и ошибаться.
Next ROM Video, был защищен от копирования, поэтому считанный код ничего не даст. Если его прошить в стандартное ПЗУ, то компьютер запустится, но проработает около трех секунд, а дальше темный экран. Убедиться в работоспособности платы, за это время можно, но не более того. Можешь попробовать.
Что бы отключить эту защиту, нужно было «пропатчить» десяток байт в ПЗУ. Несколько лет назад, Леня сознался, что он вряд ли вспомнит, где эти байты… Проще написать новое ПЗУ. Всего то - два килобайта. Кстати, на одной из тусовок, в 1994 году, Сергей Зонов пошутил, что наймет студента и за штуку баксов, тот разберет Next ROM Video по битам. На что я ответил, что проще написать новое.

Conan
27.01.2005, 03:02
Conan, большое спасибо за ответ! Если не секрет, чем Ванкувер-то не понравился? Я вот в Торонто живу уже пятый год - и все мне нравится, правда вежливые все прямо сил нет, я и сам таким стал уже :)

Ужастно жалко что у меня такого компьютера (или хотябы Пентагона) не было году эдак в 1994-м... Совсем бы другим наверное сайчас бы занимался
Пожалуйста.
Ванкувер, прекрасный город, но все друзья и родные в России. Тем более что сейчас в Москве с работой хорошо, лучше, чем в B.C. А мувиться в Тороно или Калгари, совсем от океана и гор не хотелось, хотя там и знакомых больше чем в Ване...

Да уж. К сожалению, годы назад не отмотаешь…

dhau
27.01.2005, 04:01
А есть возможность рабочую плату мне продать? С автографом? Я бы денег перевел с удовольствием. Я не жадный - спроси у CHRV. Правда если ты там крутой менеджер в Москве, то скорее не я у тебя что-то могу купить, а ты меня с потрохами и всеми прибамбасами :) Читал я Пелевина - знаю какие у вас там суммы в оборотах ходят :)

dhau
27.01.2005, 04:07
Кстати - плата чего-то желтая а не зеленая. Она что - лаком антикоррозийным не покрыта? А то в целом очень профессионально выглядит. Памяти на ней 512 килобайт на 32-х корпусах. Это получается по 16 килобайт на микросхему, значит или 16килослов по 1 биту или 4 килослова по 4 бита. Скорее первое, так как помоему драм чипы с 4-битным словом имеют 20 ног, а не 18... Но я не в курсе - я чисто экстраполирую на основе своего маленького опыта с расширением памяти в компьютерах MSX

newart
27.01.2005, 04:23
Леня тоже работает IT-менеджером, в каком то из больших банков. В свободное время, которого, к сожалению, очень мало, делаю сайт, посвященный истории Speccy: http://zxnext.narod.ru

Сайти конечно интересный, но больно много шелухи и нестыковок.
Неужто и впрямь за ВЕСЬ 2004 год вышло меньше 10 программ?
Да их знете ли более 100 было выпущено, это же касается
и все остальных годов, подсчеты явно некоректные.

Conan
27.01.2005, 09:56
Неужто и впрямь за ВЕСЬ 2004 год вышло меньше 10 программ?
Да их знете ли более 100 было выпущено, это же касается
и все остальных годов, подсчеты явно некоректные.
Методика подсчета приведена, посмотрите внимательней: речь только об играх. Если за 2004 год их выпущено больше 100, то можно ли посмотреть список? Повторюсь, речь идет именно об играх, ибо сравнивать игры и, например, «демы» несколько некорректно – трудозатраты на создание разные.
Хочется понять, где еще есть нестыковки, дабы их исправить.

newart
27.01.2005, 10:19
Методика подсчета приведена, посмотрите внимательней: речь только об играх. Если за 2004 год их выпущено больше 100, то можно ли посмотреть список? Повторюсь, речь идет именно об играх, ибо сравнивать игры и, например, «демы» несколько некорректно – трудозатраты на создание разные.
Хочется понять, где еще есть нестыковки, дабы их исправить.
На сайте написано "Программы", а программы это и игры и демки и т.д.
По поводу времязатрат вынужден (как автор игр и свидетель создания
демы) с тобой не согласиться, игра игре рознь тоже и с демами.
Либо считайте все программы, либо не считайте вообще.
Статистика кол.ва игр любопытна, но она не может полноценно
отражать активность сцены в целом.
Вот кстати игры которые я смог припомнить за 2004 год, там уже
больше 10 (а это наверняка не все)
Доктор Айболит
Империя 3
the Mansion
Fairy Night 1
Fairy Night 2
Anime Story
Cienot
Translate Word
Wolf
Dune demo
Supaplex
Бастион
Hehagonal filler
Diver

Гёст
27.01.2005, 10:33
Сайти конечно интересный, но больно много шелухи и нестыковок.
Неужто и впрямь за ВЕСЬ 2004 год вышло меньше 10 программ?
Да их знете ли более 100 было выпущено, это же касается
и все остальных годов, подсчеты явно некоректные.
угу. прямо в тему про ZX Next.

Conan
27.01.2005, 11:12
Кстати - плата чего-то желтая а не зеленая. Она что - лаком антикоррозийным не покрыта? А то в целом очень профессионально выглядит. Памяти на ней 512 килобайт на 32-х корпусах. Это получается по 16 килобайт на микросхему, значит или 16килослов по 1 биту или 4 килослова по 4 бита. Скорее первое, так как помоему драм чипы с 4-битным словом имеют 20 ног, а не 18... Но я не в курсе - я чисто экстраполирую на основе своего маленького опыта с расширением памяти в компьютерах MSX

Предпоследнюю плату, немец (держатель какого то музея), купил, лет пять назад. Вопрос не в деньгах, внукам будет нечего показывать. У Романа, вроде, была плата, может он продаст? Контроллеров к ней было штуки четыре, импульсный блок питания, тоже в виде «контроллера» в слот вставлялся.

Платы почти все были желтые, зеленых выпустили очень немного, они были дороже, тогда (в1995) это имело значение. Та, что на фото, это 1994 год, над ней, как только не измывались (подпаивали-отпаивали), поэтому не лакировали. Не уверен, что она еще работает…
Памяти на плате, 16 чипов, по 256 Кбит (41256 или РУ7). Ног у них по 16.
Нашел еще одну фотку, на которой контроллеры, но, не все.

Conan
27.01.2005, 11:36
На сайте написано "Программы", а программы это и игры и демки и т.д.
Вот кстати игры которые я смог припомнить за 2004 год, там уже
больше 10 (а это наверняка не все)
Доктор Айболит
Империя 3
the Mansion
Fairy Night 1
Fairy Night 2
Anime Story
Cienot
Translate Word
Wolf
Dune demo
Supaplex
Бастион
Hehagonal filler
Diver
Доктор Айболит - Transman'2003
Dune demo – это игра или дема?
Supaplex - Flyman'99?
…..
Цели пересчитать игры не было. Если предоставишь откорректированный список (с датами выпуска), с удовольствием его обработаю и опубликую результаты. Важна интегрированная зависимость. Название диаграммы изменю, замечание принято.

CHRV
27.01.2005, 11:44
Изначальный вопрос был про дизайн-документы, то есть те, что необходимы для производства (*.pcb;*.sch…). Они несколько отличались от пользовательской документации, которая поставлялась вместе с платами и компьютерами. Кстати ничего специализированного (ASIC-ов) не было, за исключением СЕКАМ-кодера, да и то почти все обходились без него.
То, что я видел в Интернете, к сожалению далеко не вся, даже пользовательская, документация, хотя могу и ошибаться.
Next ROM Video, был защищен от копирования, поэтому считанный код ничего не даст. Если его прошить в стандартное ПЗУ, то компьютер запустится, но проработает около трех секунд, а дальше темный экран. Убедиться в работоспособности платы, за это время можно, но не более того. Можешь попробовать.
Что бы отключить эту защиту, нужно было «пропатчить» десяток байт в ПЗУ. Несколько лет назад, Леня сознался, что он вряд ли вспомнит, где эти байты… Проще написать новое ПЗУ. Всего то - два килобайта. Кстати, на одной из тусовок, в 1994 году, Сергей Зонов пошутил, что наймет студента и за штуку баксов, тот разберет Next ROM Video по битам. На что я ответил, что проще написать новое.

psb, sch - у меня нет, а дока тока та что пользователю отдавалась.
Ну а про ПЗУ, "вы гоните", извините как же тогда сам проц будет работать - он же тоже считывает "защищенную пзу". Но я спорить не буду, поставлю эксперимент, благо есть на чем и чем :) .
А вот бмк используемая для секам кодера - действительно интересная и судя по всему утрачена в века. Да и не особо она нужна, сейчас мы делаем ПАЛ кодеры на СХА которые покруче будут :) .
Периферия у меня есть много но не все.
В частности выпускался ли VGA адаптер заявленный в описании?
Много готовых плат есть у чела, я ему доку передавал (зарегестрирован здесь как jtn).

ice'di^triumph
27.01.2005, 15:21
Доктор Айболит - Transman'2003
Dune demo – это игра или дема?
Supaplex - Flyman'99?
…..
Цели пересчитать игры не было. Если предоставишь откорректированный список (с датами выпуска), с удовольствием его обработаю и опубликую результаты. Важна интегрированная зависимость. Название диаграммы изменю, замечание принято.

Господа, игр в 2004 году вышло не мало, и тот список повыше
далеко не полный. И кстати, не стоит забывать о наших
западных братьях: :p

ZX FOOTBALL MANAGER 2005
FUN PARK
zblast SD+
ROUGH JUSTICE
FOOTBALL GLORY
GLOOP!
HOP 'N' CHOP
EGGHEAD IN SPACE
...

Список взят с сайта http://www.cronosoft.co.uk/
И это только коммерческие игры. :o

Что-то уже от темы ушли... :D

CHRV
27.01.2005, 16:11
Господа, игр в 2004 году вышло не мало, и тот список повыше
далеко не полный. И кстати, не стоит забывать о наших
западных братьях: :p

Что-то уже от темы ушли... :D

Совершенно верно, давайте весь оффтопик в раздел Гамы.
Тут буду резать как модератор!

Спич напоминаю о ZX-NEXT. :D

CityAceE
27.01.2005, 16:12
To Conan:
C огромным удовольствием, прочитал то, что написано на твоем сайте. Читал не пытаясь найти неточности, ошибки и т.д. Читал просто, получая удовольствия от чтения. Спасибо за интересные тексты! Жаль только что мало :(

P.S. Сразу вспомнил расцвет спектурмизма у нас в городе и загрустил. Ни до, ни после того времени у меня не было ТАКОГО интереса ни к чему. Альтернативу найти не удалось. И получается, что то малое, что осталось от того ИНТЕРЕСА всё равно перевешивает все остальные нынешние интересы... Эх...

jtn
27.01.2005, 22:03
В частности выпускался ли VGA адаптер заявленный в описании?
Много готовых плат есть у чела, я ему доку передавал (зарегестрирован здесь как jtn).
уточняю. У меня дома порядка 11 комплектов _чистых_ плат (желтых).
В т.ч. MB с разведенным на ней же контроллером 128к, платы контроллера TRDOS, Turbo+RTC+640x200, IDE+XT controller, самолеты.
Намереваюсь в скором времени спаять. Насчет защиты - теоретически возможны плавающие биты, но фиг знает. Изучать прошивку довольно проблематично даже со схемой - все равно сложно пока что-либо понять. Поэтому был бы рад любой помощи разработчиков, тем более, что хотелось бы сделать загружаемую прошивку (ПЗУ убрать совсем), но пока идей кроме навешивания кучи регистров нет:(

CHRV
27.01.2005, 23:11
Насчет защиты - теоретически возможны плавающие биты, но фиг знает. Изучать прошивку довольно проблематично даже со схемой - все равно сложно пока что-либо понять.
Нет никакой защиты - туфта это! Там стоит РФ5 - самая обычная. А я уж подумаваю, если честно, не посетил ли нас Лжедмитрий :) А плавающие биты давно бы уже приплыли, за стоко лет :)
У меня есть голая плата ИДЕ контроллера и полурабочий Next, который настроить руки не доходят.

Conan
28.01.2005, 01:03
To Conan:
C огромным удовольствием, прочитал то, что написано на твоем сайте. Читал не пытаясь найти неточности, ошибки и т.д. Читал просто, получая удовольствия от чтения. Спасибо за интересные тексты! Жаль только что мало :(

P.S. Сразу вспомнил расцвет спектурмизма у нас в городе и загрустил. Ни до, ни после того времени у меня не было ТАКОГО интереса ни к чему. Альтернативу найти не удалось. И получается, что то малое, что осталось от того ИНТЕРЕСА всё равно перевешивает все остальные нынешние интересы... Эх...

Спасибо. Материалов очень много, постепенно все опубликую. Особенно про ZX-Next.

Форум - отличный получился, раз такие ленивые, как я подтянулись. Дай бог это только начало.

P.S. Был во Владике, в 1988, ходил в каботажку. Тогда в магазинах было шаром покати, о Speccy даже и не слышали. Рассказал бы, как он у вас появился, какие модели были… думаю не только мне интересно будет.

Conan
28.01.2005, 01:13
Нет никакой защиты - туфта это! Там стоит РФ5 - самая обычная. А я уж подумаваю, если честно, не посетил ли нас Лжедмитрий :) А плавающие биты давно бы уже приплыли, за стоко лет :)
Я думал ты парень серьезный, сказал: «спорить не буду, скопирую – рассажу», значит, так и сделал, без лишнего слов. Если содержимое Next ROM Video смотрел, значит, видел, что там телефон есть, и имя кстати тоже. Хотя думаю, что не смотрел, только думал, о Лжедмитрии. А вообще, это даже приятно, когда считают, что я так крут, что не могу на форум зайти, с ребятами поговорить. :cool:
А вот еще прикол на закуску: в видеопроцессоре ZX-Next, у Z80, на !внимание!: шине адреса, формируется сигнал Blank (это тот, который гашение), как понимаешь, его каждые 64 микросекунды, надо в единицу и ноль переключать. А вот теперь скажи, как это сделать программно, на адресной шине, хотя бы в одну сторону? Скажешь, пришлю фотку программатора, в котором РФ-ки зашивались и как их готовили, расскажу.
А что бы не ломать глаза, над слепой схемой из Интернета, вот почитабельней. Кстати угадай откуда она у меня?

CHRV
28.01.2005, 09:52
"На закуску" предоставляю ромы в студию :)

CHRV
28.01.2005, 10:20
А идея насчет Лжедмитрия у меня родилась почему:
Никаких технических деталей "защиты" предьявленно не было, даже намека. ПО опыту общения с авторами (а я общался с Андреем из Микроарта, Камил Каримов сейчас очень сильно помог с прошивкой для контроллера клавиатуры от АТМ). Надо сказать они всегда стараются разьянить и прояснить некоторые непонятные детали своих творений. Ну а ты (или Вы) заварили тут такую интригу :), характерную для людей несколько другого плана. Надеюсь я ошибаюсь и тогда проставлю полящика пива ("Крушовице" устроит :) ). Мой адрес и телефоны есть на http://chunin.infpres.com
Ну а по серьезности : у меня высшее образование по специальности конструктор-технолог вычислительных средств. И про всякие ПЗУ могу лекции читать совершенно свободно.

Conan
28.01.2005, 13:58
А идея насчет Лжедмитрия у меня родилась почему:
Никаких технических деталей "защиты" предьявленно не было, даже намека. ПО опыту общения с авторами (а я общался с Андреем из Микроарта, Камил Каримов сейчас очень сильно помог с прошивкой для контроллера клавиатуры от АТМ). Надо сказать они всегда стараются разьянить и прояснить некоторые непонятные детали своих творений. Ну а ты (или Вы) заварили тут такую интригу :), характерную для людей несколько другого плана. Надеюсь я ошибаюсь и тогда проставлю полящика пива ("Крушовице" устроит :) ). Мой адрес и телефоны есть на http://chunin.infpres.com
Ну а по серьезности : у меня высшее образование по специальности конструктор-технолог вычислительных средств. И про всякие ПЗУ могу лекции читать совершенно свободно.

«Крушовице», это пиво, которого почему-то не было в канадских бирэнвайн и ликерсторах, хотя искал специально. Так что, вспомним вкус старого, доброго времени!
Конструктор-технолог, любящий свое дело, это хорошо. Из-за того что в СССР, в технологи шли те, кого не брали на другие специальности, разрабатывали-то спейс-шатлы, а выпускали детские конструкторы, в которых резьбы на винтиках не было… Уважаю профессионалов, и не только технологов!
Много с кем довелось пообщаться, еще в те времена, да и когда материалы для сайта собирал. С Сережей Жаворонковым, Славой Скутиным, и другими ребятами, которых куда только жизнь не разметала. В общем-то, никто из них не принимался сам рассказывать, как и что было. Скорее приходилось выспрашивать, почти с «пристрастием». Вот и я, стараюсь на все вопросы отвечать, конечно, если спрашивают. Тут же не сайт по ZX-Next, а конференция, поэтому грузить-то зачем? А ПЗУ-хи зря выложил, мог бы просто ссылку на фидошный FTP указать – кому интересно, скачает, там и схемы вроде были, а так что с ними делать то?

Случай был, лет пять назад, может поболее: звонит на работу товарищ, с Украины. Нексты давно уже не выпускались, «Слот» закрылся, как телефон то нашел? – думаю. Говорит, товарищ, попалил он свою железку, скопировал Next ROM Video у знакомого, а он не работает. Просит новую ПЗУ-ху ему продать. Объясняю, что не делают их давно, но очень, очень надо ему. Думаю, как помочь мужику, предложил ему ПЗУ из своей платы – у меня тогда их еще пара оставалось.

Но все же, скопируй, и попробуй – вдруг взломал, кто защиту? хорошо было бы…

И про переключение из ноля в единицу (или, наоборот) на шине адреса – вопрос то простой вроде. Тем более, что тут собрались люди, которые вроде как Z80, по определению, знать должны: игры пишут, демы крутые…
Идея простая: есть процессор, ПЗУ к нему подключено, старшие разряды адресной шины процессора – в воздухе болтаются. Какие команды (ассемблера, разумеется) нужно в ПЗУ использовать, что бы на старших разрядах было четкое переключение из ноля в единичку или наоборот? Если не ответит никто, буду искренне думать, что век настоящих профессионалов, для Speccy, закончился.

Кстати, P-CAD файлы нашлись, не поверишь, но пыльная пятидюймовая дискета, которая десять лет, черте-где пролежала – считалась! И хорошо, что у инженеров, на работе, древний писюк был, с косыми флопами.

CHRV
28.01.2005, 14:42
А ПЗУ-хи зря выложил, мог бы просто ссылку на фидошный FTP указать – кому интересно, скачает, там и схемы вроде были, а так что с ними делать то?
Схемы и ПЗУ в фидо выкладывал полученные от меня Влад Карпенко. А по остальному посмотрим-посмотрим. ;)
Тексты я все отсканил, но обрабатывать мне их некогда, если кто возьмется обработать и перевести в формат ворда хотя бы, то предоставлю архив тифов.
Некст конечно интересная конструкция, но некоторые вещи мне не понравились:
1) при расширении, кроме установки платы приходится цепляться еще к неким контрольным точкам (и еще в одном месте дорожку резать); Интересно почему так сделано - спешили наверно или на шаблоне экономили, чтобы не переделывать...
2) совершенно свой стандарт разьема, хотя наверно по состоянию на 1994 год можно было ZX-BUS делать или расширенную его версию по пинам совместимую. Скорпион и Кай уже обладали им и были поболее серийные.
3) Вынесенный за пределы платы контроллер ТРДОС (а без него какой смысл в спеке в 1994году?).
А так ничего конечно машина, интересно сколько их продано было, если учесть что совершенно случайно мне друг его принес в ремонт. А ему он достался на свалке какойто электронной... До этого не после этого я ни одного живого не видел, да и по инет-каналам кроме jtn ни одного пользователя обнаружено не было. Да и софта под него тоже наверно немного.
Самое интересное что я целенаправлено поступал на эту специальность, и она была очень даже популярна (проходной бал - 9). А вот кто не проходил отправлялись на иит или автоматику.
По поводу файлов - не поверю, пока хотя бы кусок не будет здесь или у меня в ящике мыльном.

CHRV
28.01.2005, 15:01
И про переключение из ноля в единицу (или, наоборот) на шине адреса – вопрос то простой вроде. Тем более, что тут собрались люди, которые вроде как Z80, по определению, знать должны: игры пишут, демы крутые…
Идея простая: есть процессор, ПЗУ к нему подключено, старшие разряды адресной шины процессора – в воздухе болтаются. Какие команды (ассемблера, разумеется) нужно в ПЗУ использовать, что бы на старших разрядах было четкое переключение из ноля в единичку или наоборот? Если не ответит никто, буду искренне думать, что век настоящих профессионалов, для Speccy, закончился.

Ну устроит тебя такой метод: так как ПЗУ 2кило, то верхние адреса какие угодно могут быть, мы адресуем всеравно то что нужно. Ну и делаем переход на верхний адрес а там HALT и пока у тебя прерывание не сгенерится - будет на шине болтаться адрес следующей команды, соответственно единицы где нужно. Потом уходим опять в нижние адреса и спокойно там живем.

rajdee
28.01.2005, 15:04
До этого не после этого я ни одного живого не видел, да и по инет-каналам кроме jtn ни одного пользователя обнаружено не было.
ZX-Next был/есть у dee-jooz^HardWave Crew, если я ничего не путаю ;)

Conan
28.01.2005, 17:02
Ну устроит тебя такой метод: так как ПЗУ 2кило, то верхние адреса какие угодно могут быть, мы адресуем всеравно то что нужно. Ну и делаем переход на верхний адрес а там HALT и пока у тебя прерывание не сгенерится - будет на шине болтаться адрес следующей команды, соответственно единицы где нужно. Потом уходим опять в нижние адреса и спокойно там живем.

Сначала по пунктам:
1. Совершенно верно.
2. Шина для ZX-Next была спроектирована в 1991 (концепция была двумя годами раньше), и разведена в 1992. Хотя о Edge-connector, к тому времени я уже знал. И был он именно стандартом «краевого разъема», а не шины. То, что сделал Сережа Зонов, было скорее маркетинговым ходом: мол, есть у нас в компьютере шина, как в родном ZX Spectrum. Молодец, потому что народ на это «клюнул». Но шина, или разъем ZX-Bus, от родного уже отличались, если интересно можешь сравнить их, например, на память скажу, что на фирменном было три питания, и цветоразностные выведены, а на ZX-Bus, что то другое. Идея этого была такая: Мол, можно фирменные контроллеры подключать. Хорошая идея. Но дохлая. Посмотри, на ZX Interface 1, и скажи как его, например, к KAY подключить? Даже чисто механически? А электрически? Переходник делать? Так с переходником его можно и к любому клону подключить, лишь бы системный разъем был. Или фирменный интерфейс Kempston Joystick. А вот некоторых сигналов, там не хватало. А без них подключать устройства, которые разрабатывались, было просто невозможно. А мы о развитии думали, а не о том, как лучше себя прорекламировать. Хотя наверно в этом и были неправы. Все хватит об этом. На сайте, все расскажу и даже фотки будут.
3. Вытекает из второго. Вот развели контроллер на мамке, все классно, все счастливы. А потом появились дисководы 1.44 HD. Контроллер другой, но не сильно. Вот и берет каждый «счастливец» в руки скальпель и паяльник. А если контролер отдельный – одну плату вытащил из слота, и другую установил. Тем более что выпускалось много контроллеров, более совершенных, чем Beta-Disk от Technology Research. Взять хотя бы легендарный Disciple или Plus D. Другое дело, что все были зашорены, намертво прошитым, TR-DOS-ом , он же гробовой плитой и стал. Даже операционки дисковые, приходилось под его кривизну адоптировать, либо железо городить дополнительное. Хотя сейчас уже бессмысленно на эту тему разговаривать. Поезд давно ушел. Просто искренне жаль, что народ другого железа не увидел.

Теперь о сигналах на адресной шине.
Я так понял, ты предлагаешь:
JP XXXX - прыгаем на старший адрес (на самом деле XXXX это адрес следующей команды в ПЗУ, без учета старших адресов)
HALT – ждем прерывания
INT (RST #38) ….
Типа мы внизу.
Только вот что с адресной шиной творится во время прерывания, ты явно не подумал.
Работать это не будет, потому что вместо перехода из «1» в «0», будет чехарда, на адресной шине. Представляешь, как такой BLANK будет смотреться на экране?
Впрочем, правильного ответа, с первой попытки, я и не ожидал. Но хотя бы со второй… Помощь зала, приветствуется!



По поводу файлов - не поверю, пока хотя бы кусок не будет здесь или у меня в ящике мыльном.
Пусть другие тоже посмотрят:

jtn
28.01.2005, 17:30
Halt от VPU генерит Reset для MAINCPU - зачем?
p.s. насчет blank (а также ksync) - пока думаю.
интересно, что A11 VPU идет на его же NMI

CHRV
28.01.2005, 17:59
Тем более что выпускалось много контроллеров, более совершенных, чем Beta-Disk от Technology Research. Взять хотя бы легендарный Disciple или Plus D. Другое дело, что все были зашорены, намертво прошитым, TR-DOS-ом , он же гробовой плитой и стал. Даже операционки дисковые, приходилось под его кривизну адоптировать, либо железо городить дополнительное. Хотя сейчас уже бессмысленно на эту тему разговаривать. Поезд давно ушел. Просто искренне жаль, что народ другого железа не увидел.
Другое железо у нас не выпускалась, ТРДОС с легкой руки производителей стал негласным у стандартом.
Я уж молчу про родные контроллеры, которые у нас достать в те времена было просто невозможно.
Кстати под ZX-BUS львиная часть железа делалась в России (модемы, ГС, IDE).
Так выпустить успели ВГА адаптер или это был рекламный ход?

Conan
28.01.2005, 18:19
Halt от VPU генерит Reset для MAINCPU - зачем?
p.s. насчет blank (а также ksync) - пока думаю.
интересно, что A11 VPU идет на его же NMI
Отлично, наконец то интересный вопрос.
Как известно, за регенерацию ОЗУ (или хотя бы ее части) во всех ZX-ах и их клонах отвечал: видеопроцессор, ULA, видеоконтроллер или просто набор счетчиков - можно называть как угодно, смысл от этого не меняется. Пока динамическая память не начнет нормально регенерироваться, «пускать» туда основной процессор нельзя. Для этого в схеме формирования Reset, обычно, ставят RC-цепочку, которая формирует задержку. Можно было поставить две RC-цепочки: с небольшой задержкой для видеопроцессора и с большой, для основного. Но это лишние элементы. Кроме того, конденсаторы высыхают со временем, да и место на плате занимает. Поскольку формировать, что-то достаточно быстрое, на выводе HALT, не удобно, я решил его использовать в качестве RESTET, для основного Z80. В результате, при включении питания, сначала запускался VPU, начинает память регенерировать, а затем, после фиксированной программной задержки, запускался CPU. Был и еще один скрытый смысл: в случае кратковременного сбоя по питанию, обычные RC не успевали сработать – требовалась разрядить слишком большую емкость. В обычных клонах, это приводило это к тому, что питание дернулось, и ничего не заметно, компьютер вроде работает, а содержимое памяти уже повреждено. Представляешь, если после этого на диск сохраниться? А в ZX-Next C1 очень малой емкости, цепочка чувствительная. Был сбой по питанию, так перезапуститься извольте.
С A11 отдельная история.

Conan
28.01.2005, 18:41
Другое железо у нас не выпускалась, ТРДОС с легкой руки производителей стал негласным у стандартом.
Я уж молчу про родные контроллеры, которые у нас достать в те времена было просто невозможно.
Кстати под ZX-BUS львиная часть железа делалась в России (модемы, ГС, IDE).
Так выпустить успели ВГА адаптер или это был рекламный ход?
В 1989-92 годах со стандартами все было не очевидно, после да. Но даже то железо что было, потихоньку развивалось.

Родные контроллеры, действительно, почти не везли, хотя в Польше, например, они продавались. Их просто подключать у нас было не к чему.

Согласен, но тут скорее дело в массовости: питерских машин было выпущено гораздо больше. Молодцы они (питерцы) хотя бы, потому, что смогли производство наладить. Кстати модемы и IDE под нест были, и их даже отдельно продавали, чуть ли больше чем вместе с платами…

С VGA и не то и не другое. На макетках было собрано штуки три-четыре, там основная проблема была - быстро из памяти читать, для этого использовали две 61256 – статику. Формирование видеосигналов – дело VPU, поэтому VGA-шные развертки Леня быстро закодировал. Но дальше дело не пошло. ZX-Next поставлялся в основном в регионы, заказы оттуда же приходили. «Слот» так и не набрал заказов на производство, да поддержки писать под них было уже некому. Поигрались и забросили. Кстати фотка этой макетки где то была у меня, я ее перед Канадой делал, на память…

Кстати, что за дела? Вроде ты написал ответ (про адресную шину), я уже подсказку на него приготовил, а ты взял и зачем-то его стер :confused:

jtn
28.01.2005, 18:47
ну наконец-то до меня доперло, что биты перепутаны у VROM.
Потом на A10 у него - M1, значит КОПЫ берутся из нижних 1к, а все остальные данные из верхних. Не надо еще забывать, при каждом цикле регенерации на старшую часть адресов идет рег.I. В общем напишу прогу перестановуи битов - сообщу резалты.

p.s. насчет halt - "Пока динамическая память не начнет нормально регенерироваться, «пускать» туда основной процессор нельзя." по ресету/вкл питания он вроде как всегда лезет в ROM. Смысл?

p.p.s. ну раз уж ты такие подробности помнишь наверное расскажешь тогда, что за защита от копирования была?

jtn
28.01.2005, 19:01
предположение: как у Зонова на первых скорпах - по вкл. питания в ОЗУ определенные значения, они и анализируются, но имхо бред. Если и в правду защита была, то возможно в пзу зашиты какие-то коэффициенты - которые в свою очередь сравниваются с какими-то таймингами, у каждой платы уникальными.

Conan
28.01.2005, 19:21
Не надо еще забывать, при каждом цикле регенерации на старшую часть адресов идет рег.I.
Золотые слова, еще немного, будет правильное решение.


p.s. насчет halt - "Пока динамическая память не начнет нормально регенерироваться, «пускать» туда основной процессор нельзя." по ресету/вкл питания он вроде как всегда лезет в ROM. Смысл?
Смысл в том, что почти первым делом, процессор RAMTOP проверяет и устанавливает. А ОЗУ типа: TI4164, с которых РУ5 сдирали, нужно несколько (на память четыре) полных цикла регенерации.


p.p.s. ну раз уж ты такие подробности помнишь наверное расскажешь тогда, что за защита от копирования была?
Ты же сам уже вроде как ответил (правда, некоторые не поверили): там цифро-аналоговым способом записан массив ячеек. Часть из них проверялась при старте, а часть постоянно во время работы. Кстати это была совершенно неизученная область, и 14 лет назад, про ее практическое применение никто не думал. Хотя, используя эту методику можно было легко увеличивать в разы емкость ПЗУ, с лавинной инжекцией заряда (EPROM например). Пару лет назад, прочитал, что нечто подобное сделал Intel:

Introduction
MULTI-LEVEL CELL TECHNOLOGY FROM INTEL
Introduction
Process technology has allowed significant density increases and lower cost-per-Mbyte since flash memory was first introduced in 1988. Intel’s first flash device was a 256Kb device priced at $20 ($640 per Mbyte). Since then process innovation has increased the density and decreased the cost-per-Mbyte. In 1996, for example, an 8 Mbit device was priced at $12 ($12 per Mbyte) - more than a 50X reduction in cost-per-Mbyte. Continued process scaling will inevitably drive up density and lower cost-per-Mbyte. To build on process scaling, a concept called MultiLevel Cell (MLC) technology was conceived. This involves storing multiple bits of information on a single memory transistor. Storing two bits per memory cell instantly doubles the density in the same space and lowers the cost-per-Mbyte. MLC, together with process scaling, is poised to hit $1 per Mbyte by 2001.

CHRV
28.01.2005, 23:48
ну наконец-то до меня доперло, что биты перепутаны у VROM.
Потом на A10 у него - M1, значит КОПЫ берутся из нижних 1к, а все остальные данные из верхних. Не надо еще забывать, при каждом цикле регенерации на старшую часть адресов идет рег.I. В общем напишу прогу перестановуи битов - сообщу резалты.

p.s. насчет halt - "Пока динамическая память не начнет нормально регенерироваться, «пускать» туда основной процессор нельзя." по ресету/вкл питания он вроде как всегда лезет в ROM. Смысл?

p.p.s. ну раз уж ты такие подробности помнишь наверное расскажешь тогда, что за защита от копирования была?

Я расскажу: недопрограмленные биты там стоят случайно считываемые. Не понимаю зачем такой гемморой нужно было устраивать если честно. В принципе действительно прошивку переписать то толковому человеку, который платы изготовить может грамотно, несложно - а юзерам по большому счету это токо проблемы. Придется похачить прошивку несмотря на то что данные и копы читаются из разных половинок да еще линии данных зачемто напутаны, иначе jtn так и останется с пустыми платами :)
Пиво с меня, но при условии что ко мне заглянешь на рюмку чая :)

ПО поводу ответа, спорить не буду подумал, что действительно надо еще рефреш учитывать, чтобы адресные шины в ноль не сваливались. И удалил за ненадобностью! Я человек не горячий, а вот справедливость люблю ;)
Кстати вполне возможно что 1858ВМ3 не сможет работать VPU!

Да кстати некоторые занимаются железом не для наживы, а в свое удовольствие! Хотя наверно этого Вам не понять и действительно не поверил, ведь проще было бы какую-нить простенькую ПЛМ поставить.
Кстати могли в VPU серийный номер заталкивать - тоже было бы решение.

Conan
29.01.2005, 03:06
Опять непонятки какие-то, рассуждаете с горяча, Роман. Я даже могу представить, что было: сунули Next ROM Video в программатор, считали, затем верифицировали. Не сошлось, считали еще раз, сравнили, увидели расхождения, возможно еще раз считали и сравнили. И решили:

Я расскажу: недопрограмленные биты там стоят случайно считываемые.
Так ведь?
А мои слова, про «массив» и «цифро-аналоговую запись», это я наверно, что бы крутизны, напустить? Только вот зачем? Я же не торгую железом, да и лет мне не… ну, в общем, не столько, что бы пальцы гнуть перед ребятами… Ладно, лирика, проехали.
Если всерьез, кто ломать надумает, пусть знает:
В Next ROM Video, цифро-аналоговым способом зашит массив ячеек. Можно называть их «недопрограммленными», но каждый бит «недопрограммленн» особо. Я называю их «плавающими». О самом эффекте «плаванья» распинаться долго не буду, скажу лишь, что зависит он, от напряжения питания и температуры. Поэтому ячеек шили много, то ли 128, то ли 256. Кроме того, зашивались и технологические ячейки, их было разное число, зависело от ПЗУ. Это была своего рода «пробная дорожка». Микросхемы предварительно готовились: отжигались и стирались. Окошки намертво заклеивались, потому что, от засветки, тоже зависело многое. Зашивались в два захода, сначала «плавающие» ячейки, затем основной код. За первый заход зашивалось процентов девяносто, остальное – в брак (стирали и записывали туда прошивки для контроллеров IBM клавиатуры). За второй, практически 100% зашивалось.
Зависимость вероятности «плаванья» ячеек, от внешних факторов (питания и температуры), была почти гауссовская. Когда я минимальное количество ячеек рассчитывал, пришлось курс мат.стата перечитать и даже сверх того. Делалось все это ради того, что бы «плавало» при любых условиях, строго определенное число ячеек. И в строго определенных местах массива.
Проверка этого хозяйства проводилась в два этапа: При запуске, проверялся весь массив - главное было убедиться, что хоть какие то ячейки плавают. Времени требовалось мало: те самые три секунды, о которых я говорил в начале треда. Затем, в течение всего времени работы, накапливаем статистику, убеждаемся, что плавает только узкая область массива.
Несмотря на хитрую математику, реализовано было достаточно просто (за точность не ручаюсь): то ли RET делались из адресов из «плавающих» ячеек то ли JR-ы. Да это и не принципиально. Главное работает.
Объясняю как: Вот нашелся хитрый кул-хаскер, знает он про «недошитые» ячейки, берет хороший программатор, долго читает (может 100 а может и 10000 раз), при разных напряжениях и вычисляет все «плавающие» биты. Ага, говорит, понял я все! Берет софтину фирменную (или свою пишет), напругу понижает на программаторе и шьет все ячейки. Вставляет ПЗУ в ZX-Next, включает питание, отсчитывает, с замирание сердца, три секунды, и Ура! Все работает! Хрен. Через минуту или пять опять та же история – черный экран. Шьет еще одну ПЗУ, и опять тот же геморрой. Дальше уже не интересно.
Можно конечно предположить, что найдется маньяк, который возьмет штук 20 Next ROM Video, программатор, который умеет напряжение питания, с точностью до 0,005 вольт выставлять, программу напишет, которая данные из программатора в SQL будет загонять, прочитает каждый Next ROM Video, тысяч по десять раз и постоит красивый OLAP-овсий куб. И будет знать точно, какие ячейки, при каких условиях плавают. Да, признаюсь, о таких методах в 1993 году не думал.
Есть путь проще, как jtn предложил: разобраться с битами (кстати, злого умысла в этом нет, просто так было легче дорожки развести, зашивать же все равно было как). Собрать из двух половинок код – учтите, там местами данные под командами сидят. И аккуратненько дизассемблировать, причем с отладчиком, потому что, как вы уже заметили, никакого ОЗУ у VPU нет, и все данные через регистры тащатся. Помню (поймите правильно, код не я составлял), несколько приемов: например JR назад, то есть за адрес меньше #0000h. При этом NMI возникало. Ну, про то, что такое неопубликованные команды, и что такое высчитать до такта, думаю рассказывать никому не надо. Учтите, что VPU синхронизирован до такта, иначе на экране всякие полосы и мусор будут. Еще, точно помню, что критичные места проверялись по нескольку раз, то есть «патчить» надо было местах в десяти. Где эти места, уже никто не вспомнит. Стопку Лениных тетрадей с кодом и дискет, уже давно выкинули.

А вот теперь подумайте: за каждый зашитый Next ROM Video, нам «Слот» платил нам с Леней - 1 (один) доллар. ZX-Next, включая схемы, платы, монтажки, кучу опытов, программатор, печку для отжига, и т.д. и т.п. делали или покупали мы сами, еще до «Слота». Три года на разработки ушло: знаешь, сколько в 1992 XT-шка самая дохлая стоила? А как без нее обойтись, если P-CAD нужен? А шаблоны с ленточками, а платы? Это Сережа Зонов мог пойти в кооператив «Композит» и сказать: я вам «Ленинград» переразведу, а вы мне двадцать плат, за это. Потому, что «Ленинград», все знали. А про ZX-Next никто в 92 году знать не знал, и за все деньги просили и еще скомуниздить платы норовили. До смешного доходило: заказали мы за свои кровные десяток плат, а на заводе, где их делали, схему попросили. Нам не жалко, дали им схему. Так эти паразиты через неделю говорят, «а вы у нас еще 20 плат не купите, мы вот тут их случайно сделали, а что с ними делать - не знаем…».
Я не курил (под спортсмена косил), а Ленька, он курил с армии. Так вот, в 93 году, стоим мы на лестнице, разговариваем, я ему: «Я понял, куда все деньги уходят, ты куришь много! Можешь не курить?» А он мне: «А ты можешь не есть?»
Подели 700 баксов, на двоих и на три года, много получится?

Пиво с меня, но при условии что ко мне заглянешь на рюмку чая :)
Да кстати некоторые занимаются железом не для наживы, а в свое удовольствие! Хотя наверно этого Вам не понять и действительно не поверил, ведь проще было бы какую-нить простенькую ПЛМ поставить.

Так что не рассказывайте мне, пожалуйста, чего мне «не понять».
А за предложение по поводу пива или чая - спасибо, принимается. Точную дату определим чуть позднее О.К.?
P.S. Простеньких, а главное дешевых, и таких же функциональных, как видеопроцессор ZX-Next, ПЛМ в 92 году не было. А за дорогие решения народ и сейчас платить не готов, а в то время тем более. Еще раз напомню, цель была сделать компьютер, пригодный для массового производства.
P.P.S. По поводу серийников, и много чего еще, в другом месте. Тут, все же не zxnext.narod.ru и тред этот, наверно, уже задолбал всех.

dhau
29.01.2005, 06:54
Я думаю эта дискуссия никому еще не надоела, а для будущих или существующих составителей FAQ-ов по клонам спектрума

jtn
29.01.2005, 08:02
Тут, все же не zxnext.narod.ru и тред этот, наверно, уже задолбал всех. Да нет, чертовски интересно это все. Не думал я, что так все жестко было в то время. А по поводу прошивки - наверное проще с нуля написать (хотя я как старый кракер попытаюсь поломать%).

Максагор
29.01.2005, 12:02
P.S. Простеньких, а главное дешевых, и таких же функциональных, как видеопроцессор ZX-Next, ПЛМ в 92 году не было. А за дорогие решения народ и сейчас платить не готов, а в то время тем более. Еще раз напомню, цель была сделать компьютер, пригодный для массового производства.

А почему не подошла ПЛМ 1556ХЛ8? Ее в видеоконтроллер ATM еще в 1991 году вставили.

Conan
29.01.2005, 13:55
А почему не подошла ПЛМ 1556ХЛ8? Ее в видеоконтроллер ATM еще в 1991 году вставили.
У 1556ХЛ8, насколько я помню, восемь выходов. Видеопроцессору, надо около 20 сигналов генерировать. Ты же сам знаешь, ХЛ8 может быть, только, элементом видеоконтроллера, то есть помимо нее надо: пяток корпусов счетчиков, пару корпусов мелкой логики, регистр, дополнительные мультиплексоры. Приходим в итоге к тому же от чего и начали, к видеоконтроллеру на рассыпухе и еще с «железно» прошитой логикой работы. То есть, с ограниченной функциональностью.

Мы разные ПЛМ рассматривали не только 1556, но и 556 и даже, более экзотические серии. Тем более что 1556ХЛ8 производилась только на одном заводе, а время, какое было помнишь? Закроется завод и что делать? Расходитесь, братцы по домам?

Кроме того, стоили 1556ХЛ8 не дешево, точную цену не помню, но помню, что цены на них неприятно поразили. Да и дефицитом они были, не везде и не всегда их можно купить было. А это уже для массового компьютера не подходит. Поэтому никакой «экзотики» в ZX-Next не ставили.

Ну и самое главное: плюс, который давала 1556ХЛ8, это прошить ее можно было так, что считать внутреннюю логику (конъюнкции) нельзя будет. А этого, как раз, нам и не надо было. Мы отлично понимали, что если ZX-Next в серию пойдет, то рано или поздно NEXT ROM Video, по битам разберут и все защиты сломают. Даже не сомневались в этом, потому что в то время, много грамотного народа еще не разбежалось по заграницам.

Для нас, с точки зрения защиты, главное было, добыть хоть какие то средства для дальнейших разработок, потому что очень много задумок всяких «в ящик сыграло» из-за безденежья элементарного. А всех денег мы заработать не хотели и платформу монополизировать не собирались, скучно это.

CHRV
31.01.2005, 10:14
Для нас, с точки зрения защиты, главное было, добыть хоть какие то средства для дальнейших разработок, потому что очень много задумок всяких «в ящик сыграло» из-за безденежья элементарного. А всех денег мы заработать не хотели и платформу монополизировать не собирались, скучно это.
Та же фигня, на буржуев сейчас работаем чтобы средства были. Поэтому своими разработками некогда заниматься. Для Zx->VGA все чипы уже практически есть, токо руки не доходят.
Кстати похоже "аналоговая память" у Винбонда на принципе частичного заряда тоже основана. Надо было патентовать идею :).

Conan
31.01.2005, 14:14
Та же фигня, на буржуев сейчас работаем чтобы средства были. Поэтому своими разработками некогда заниматься. Для Zx->VGA все чипы уже практически есть, токо руки не доходят.
Сейчас, свободы выбора, «на кого работать» - больше, чем в начале 90-ых. Главное, было бы желание двигаться, а не сидеть на одном месте, и на всех вокруг ворчать. И не зацикливаться только на технической стороне вопроса, ибо побеждает решение, идеальное с точки зрения пользователя, а вовсе не шедевр схемотехники. Это я о Zx->VGA. Так, что, и корпуса надо приличные, и разъемы аккуратные, и документация, написанная доходчивым языком, и реклама, на всех углах. А вообще идея, не легкая, в реализации, потому как универсализма требует, а это всегда компромиссы. Времянки видеосигналов у клонов разные, амплитуды уровни то же, про разъемы лучше не вспоминать, мониторов VGA, тоже немерено, и кстати не у всех заземление есть. Хотя все это, уже наверно, тысячу раз обдумывалось.

Вот что интересно, будет ли это устройство, как «свитчер» работать, то есть: два входных разъема (ZX; PC), один выходной (VGA монитор)? Или же, надо будет, провода перетыкать?


Кстати похоже "аналоговая память" у Винбонда на принципе частичного заряда тоже основана.
Мысли о «аналоговой» памяти, у нас были, например, такие решение для записи речи (хотя бы, в автоответчиках) очень хорошо подходят. Но были и другие интересные задумки: например, есть такая проблема, как подгонка пар транзисторов, во входных, дифференциальных каскадах, операционных усилителей. Особенно актуальна она, для МДП транзисторов, где начальное смещение, это бич жуткий. Что только технологи не придумывали, и лазерная подгонка и «гребешковые» структуры… А можно было, встроить «плавающие» затворы, и «вгоняя» на них, дозированный заряд, согласовывать транзисторы, просто идеально. Только все это, в технологию упиралось, которой не было (да и нет сейчас) в России.


Надо было патентовать идею :).
Думали об этом, даже информацию собирали. Запатентовать (решение, конечно, а, не «идею», потому что патентоведение, это бумагоделие, прежде всего), в России, это почти ничего не значит, для других стран. В Америке, своя схема патентования, и отнюдь не бесплатная. В Европе тоже.

CHRV
31.01.2005, 15:08
Это я о Zx->VGA. Так, что, и корпуса надо приличные, и разъемы аккуратные, и документация, написанная доходчивым языком, и реклама, на всех углах. А вообще идея, не легкая, в реализации, потому как универсализма требует, а это всегда компромиссы. Времянки видеосигналов у клонов разные, амплитуды уровни то же, про разъемы лучше не вспоминать, мониторов VGA, тоже немерено, и кстати не у всех заземление есть. Хотя все это, уже наверно, тысячу раз обдумывалось.

Я пожалуй обсуждение этого вопроса в отдельный трейд оформлю. Конечно все обдумывалось, но главный критерий цена. Если заинтересуется не только спектрум рынок, тогда уже будем совершенствовать в универсальность и обрастание фичами (ибо потенциальные возможности ус-ва достаточно приличные).



Вот что интересно, будет ли это устройство, как «свитчер» работать, то есть: два входных разъема (ZX; PC), один выходной (VGA монитор)? Или же, надо будет, провода перетыкать?

Я над этим думал, самый дешевый вариант банальным переключателем сделать. Делать аналоговое переключение - удорожание.

Вообще наши проекты все открытые (для спека), можно смотреть у меня на странице и схемы и фоты. Конечно это все наверно сейчас кажется несерьезным, но нам это интересно как говорится for fun.



Думали об этом, даже информацию собирали. Запатентовать (решение, конечно, а, не «идею», потому что патентоведение, это бумагоделие, прежде всего), в России, это почти ничего не значит, для других стран. В Америке, своя схема патентования, и отнюдь не бесплатная. В Европе тоже.
Понятное дело. В Америке как раз наверно был смысл, как с тетрисом например.

Я про приглашение не забыл, предупреди меня хотя бы дня за два когда соберешся. Я живу на юго-востоке (Братиславская). Пиво и креветки гарантируются... Лучше в мыло или в Аську 44613546 или по телефону.

fan
11.02.2005, 22:41
2 Conan

Немогли бы вы выложить файлики со схемами и платами на свой сайт (те что с диска, для P-CAD)?
Или сие есть военная тайна??? ;)

Conan
11.02.2005, 23:46
2 Conan

Немогли бы вы выложить файлики со схемами и платами на свой сайт (те что с диска, для P-CAD)?
Или сие есть военная тайна??? ;)
На сайт выложу, но позднее, когда доделаю описания.
Так что пока здесь.
Что с «военной тайной» тайной делать будете?

dhau
12.02.2005, 01:08
Будем хранить на болванках, зная что если сильно приспичит, можно поступить в технический вуз и получить диплом инженера-электронщика, а потом собрать себе клон ZX Next-а :)

fan
12.02.2005, 01:42
2 Conan

Великие благодарности!!!!!!

Я нечто вроде коллекции готовых к самостоятельной сборке клонов ZX-Spectrum собираю (http://sblive.narod.ru/ZX-Spectrum/index.htm). И считаю что ZX-NEXT являтся шедевром среди всех клонов (ну как минимум на тот периуд времени), особенно в плане совместимости с оригиналом. Единственный облом - прошивка ВК :\ И если писать заново, то боюсь она будет несколько не похожа на то что задумывалось в оригинале... Надеюсь товарищ jtn подойдет к ней с ломовой точки зрения, т.е. будет её ломать ;) И я призываю вас всячески ему помогать советами любой степени ценности :)

Conan
14.02.2005, 22:11
You are welcome!

Честно признаюсь, что 10 лет назад уходя со Speccy, не думал что когда-либо вернусь к теме. Поэтому многое не сохранилось (например, стопы тетрадок с кодом для Next ROM Video). Вместе с ними сгинули нереализованные (из-за использования 2-х килобайтной ПЗУ, вместо 4-х килобайтной) режимы. Там были и аппаратные скроллинги и передача серийных номеров через INT и управление видеорежимами через HALT. И хотя тогда еще никто не думал о повторении времянок других машин (как в эмуляторах), но такая возможность оставалась.

Я тоже надеюсь, что jtn расколет этот «орешек», и готов показывать ему места куда «бить», хотя пока это тема постепенно остывает.

Огорчает другое: никто так и не решил, в общем-то, несложную задачку с шиной адреса Z80 (в начале треда). Когда-то году в 92, я решил ее за полчаса, хотя никогда не был «крутым программером». А на ней почти вся идея видеопроцессора построена.

CHRV
15.02.2005, 12:01
Я тоже надеюсь, что jtn расколет этот «орешек», и готов показывать ему места куда «бить», хотя пока это тема постепенно остывает.
Я решил с другого места подойти написать легкий эмуль видеопроца, но времени просто катастрофически нет - дедлайн по коммерческим проектам, а конь только валяться начал :(
Кстати пригодится и для написания новых режимов, если кто захочет их реализовать!

jtn
15.02.2005, 19:24
Кстати пригодится и для написания новых режимов, если кто захочет их реализовать!
вопрос: как все таки проще избавиться от ROM и поставить SRAM?
мое видение - шлейф от панельки 2716 на макетку, воткнутую в слот, на ней уже SRAM, регистры...

CHRV
16.02.2005, 09:30
вопрос: как все таки проще избавиться от ROM и поставить SRAM?
мое видение - шлейф от панельки 2716 на макетку, воткнутую в слот, на ней уже SRAM, регистры...
НЕ покатит, как ты SRAM будешь прогружать?
Лучше уж флашу какуюнить юзать типа 28с16, я обычно на них прошивки отлаживаю.

lvd
16.02.2005, 11:49
НЕ покатит, как ты SRAM будешь прогружать?
Лучше уж флашу какуюнить юзать типа 28с16, я обычно на них прошивки отлаживаю.

Хм - я такую штучку как-то давно делал, юзал кстати для отладки девайсика на Z80 =)
Короче, вокруг срамы (62256) стояли 3 штуки ир22 и 3 штуки (забыл кого - которые с последовательной загрузкой и с параллельным выходом и Z-состоянием). Плюс логика мелкая 2-3 штуки. Подключалось к параллельному порту амиги, откуда и заливалось. Потом давалась отмашка - и всё, уже как ПЗУ работает. Там, кажется, даже опторазвязка была... в разъёме на параллельный порт... Короче единственная проблема была - питания на 'ту' часть опторазвязки не всегда хватало, и потому заливалось с глюками периодически. %)

Недостаток флеши - что её либо вытаскивать и сувать в программатор постоянно надо, либо надо предусматривать перешивку силами самого девайса - делать бутовую часть прошивки, делать связь девайса с компом...

CHRV
16.02.2005, 14:16
Недостаток флеши - что её либо вытаскивать и сувать в программатор постоянно надо, либо надо предусматривать перешивку силами самого девайса - делать бутовую часть прошивки, делать связь девайса с компом...
ВОт-вот - кому как привычнее :)

jtn
16.02.2005, 16:50
НЕ покатит, как ты SRAM будешь прогружать?
Лучше уж флашу какуюнить юзать типа 28с16, я обычно на них прошивки отлаживаю.
я думал, BUSRQ для VCPU и вперед...
с помощью флешки можно сделать только несколько предустановленных видеорежимов, но тоже вариант

jtn
19.02.2005, 19:34
... несколько приемов: например JR назад, то есть за адрес меньше #0000h. При этом NMI возникало.
всю голову сломал, не понимаю как это работает.
по мануалу - опрос nmi/int идет по rising edge of last clock of the end of any instructions.
для 4х тактовых команд - это цикл регенерации, при котором A8-A15=регI, который в свою очередь =0 после reseta. по идее всегда должно клинить на #0066, но работает как-то же.

p.s. 2CHRV: биты в VROM переставил, если надо могу кинуть прошивку/исправлялку.
Сейчас декомпилирую потихоньку.

p.p.s. еще вопрос к Conan'у. В системной Пзушке TrDos два раза записан, зачем? и еще, видел, что он пофиксен как-то (вроде винт поддержан), можно об этом пару слов?

Conan
19.02.2005, 21:46
... несколько приемов: например JR назад, то есть за адрес меньше #0000h. При этом NMI возникало.
всю голову сломал, не понимаю как это работает.
Чудес не бывает (из мануала Z80): NMI Non-Maskable Interrupt (input, negative edge-triggered). Ключевое слово - edge-triggered. Это значит, что если упало в «0» и лежит, то никаких NMI больше не происходит. А поскольку во время Reset адреса падают в «0» (PC и I), то и работа начинается с «0» на входе NMI и без всяких последствий. А JR «назад» это как раз способ потревожить NMI.


p.p.s. еще вопрос к Conan'у. В системной Пзушке TrDos два раза записан, зачем? и еще, видел, что он пофиксен как-то (вроде винт поддержан), можно об этом пару слов?Это сложнее, я могу сказать, что видел: в нулевой половинке находился «настройщик», программа для всяких изменений конфигурации, для игр (блокировка лишних портов), для IS-DOS, установка времени часов, восстановление измененных частей SOS (там, где код для принтера LPT-шного). Все это Леня делал, я только тестировал. Загрузчик с винта тоже. А вот что в «серию» шло, зависело от заказов, например если без CMOS-а платы делали то, по-моему, только TR-DOS дублировали. «Прикуриватель» для винта был, как мне казалось, примитивный, но это была первая «живая» поддержка винта для Speccy.
Кстати у RTC на NMI основного Z80 сигнал заведен. Идея была в том, что бы на этом «псевдо многозадачность» реализовать. Но, по-моему, ничего не успели в этом направлении сделать – «Слот» закрылся.

dhau
24.02.2005, 21:39
Вот что о ZX-Next знают иностранцы (http://www.interface1.net/zx/clones/zxnext.html):


ZX Next (ZX-Forum 2)

A russian clone also known as "XX Frium2" (?). It was designed with two Z80s, one was used as video processor. It wasn't a big success. Comes with RS-232 port, turbo mode, IBM keyboard, 10 Mbps local network and a graphics mode with 640x200 (CGA). The memory is exandable to 512 KB.

Conan
24.02.2005, 23:49
Вот что о ZX-Next знают иностранцы (http://www.interface1.net/zx/clones/zxnext.html):Они и о других ex-USSR клонах, к сожалению, осведомлены не лучше, за исключением может быть Pentagon и Scorpion. Но для начала нам бы самим разобраться с отечественным «железом», а то доводилось настоящие «ужастики» про тот же ZX-Next читать, да и про другие клоны…

jtn
16.03.2005, 02:23
Роману большущая благодарность за схемы (только что получил), надеюсь это сильно ускорит процесс сборки (уже впаяны 5 isa слотов и несколько панелей), хотя все время отнимает работа :(

CHRV
16.03.2005, 09:56
Роману большущая благодарность за схемы (только что получил), надеюсь это сильно ускорит процесс сборки (уже впаяны 5 isa слотов и несколько панелей), хотя все время отнимает работа :(
А у меня опять чтото в панелях протухло и вместо заставки НЕКСТ опять показывают какуто хрень!

fan
16.03.2005, 21:52
2 jtn & CHRV

Так вы уже крякнули прошивку??? :eek:

jtn
17.03.2005, 23:04
А у меня опять чтото в панелях протухло и вместо заставки НЕКСТ опять показывают какуто хрень!
что за заставка НЕКСТ?

jtn
17.03.2005, 23:06
2 jtn & CHRV

Так вы уже крякнули прошивку??? :eek:
еще нет. как соберу видеовыход так начну наверное

dhau
18.03.2005, 01:13
Интересно было бы увидеть поддержку ZX Next с его прошивкой и вторым Z80 в Unreal, хотя это наверное нереально :)

SMT и так уже меня поразил заэмулировав видеорежимы TURBO 2+

CHRV
18.03.2005, 11:03
2 jtn & CHRV

Так вы уже крякнули прошивку??? :eek:
Мне сейчас не до этого!

Кстати Conan если уж помочь отказываешь настроить Некст в режиме "сидя у меня в гостях рядом со мной и осциллографом", хотя бы опубликуй в открытую руководство по настройке... А то у меня некоторых листов от нее нехватает. В частности я плохо понимаю как и чего резать когда устнавливается расширение до 512кб. Также нет описания расширения до 1Мб (если оно вообще сущестовало и это не слухи). А еще я не знаю к каким точкам подсоединять 10пиновый шлейф от платы расширения на материнку.

Conan
18.03.2005, 20:08
Кстати Conan если уж помочь отказываешь настроить Некст в режиме "сидя у меня в гостях рядом со мной и осциллографом", хотя бы опубликуй в открытую руководство по настройке... А то у меня некоторых листов от нее нехватает.
По поводу гостей: письмо ушло электропочтой. Описания те, что заберу (под руками в файловой помойке не нашел), опубликую, реально через выходные.


Также нет описания расширения до 1Мб (если оно вообще сущестовало и это не слухи). А еще я не знаю к каким точкам подсоединять 10пиновый шлейф от платы расширения на материнку.
Плата с местом под SIMM была только в P-CAD и «живьем» не выпускалась (если только где-то втихаря).

Conan
10.05.2005, 00:48
если уж помочь отказываешь настроить Некст в режиме "сидя у меня в гостях рядом со мной и осциллографом"
В общем, хотел сначала CHRV написать поскольку не дозвонился, но подумал, что тайны никакой нет, и решил на форум запостить, авось кому еще будет интересно.

Если тред с самого начал лень читать, то напомню, что CHRV меня давно зазывал «Крушевице» попить с креветками, но то у меня времени не было, то настроения, то еще чего. Но благодаря Ромкиной настойчивости оно случилось, и мы собрались (еще Макса хотели позвать, но он, куда то пропал).

Названия ресторанчика где мы сидели уже не помню, но если надо будет его снова найти, то ориентиром будет офис RoverBook, поскольку компания народу оттуда, сидела (очень шумно) за соседним столом и увидев у нас в руках плату ZX-Next стала интересоваться что это за компьютер, и не поверила что такое железо еще сохранилось.

Но ближе к делу. Напоив меня от пуза вкуснейшим ячменным соком под названием «Крушевице» с весьма свежими креветками и немецко-фашистскими колбасками CHRV воспользовался моей минутной слабостью и отдал мне плату со словами: «Ну, ты не торопись ее настраивать». Я и не торопился.

Когда выходных больше чем два, в Америке это называется long weekend, а в России: Праздники. Вот на майские Праздники я и совершил героический поступок, задвинув семейные дела и поехав в родной город Мытищи. Там я родился и вырос, и там прошли годы моего увлечения Speccy. Там же хранилась часть оборудования и инструментов, необходимых для настройки ZX-Next.

Развернув кулек, который мне передал CHRV и, посмотрев на платы трезвыми глазами, я пришел в ужас. До того как ZX-Next попал к Роме, он побывал в руках собирателя драг-металлов, который, не церемонясь, выдрал из платы все конденсаторы (CHRV и напаял поверх выкушенных новые). Кроме того плата заросла грязью и, по словам Ромы там, что-то отвалилось. Начало было невеселое, если учесть, что я лет десять не брал в руки паяльник.

После подключения у к телику, на экране были квадратики и мерцающие полоски. Тогда я посмотрел на перемычки, устанавливающие конфигурацию ОЗУ, и заметил одну лишнюю. После ее снятия ZX-Next бодро включился и вышел на заставку, но слева по экрану бежали полосы. Тогда я вытащил из слота контроллер CGA/Tutbo/LPT/RTC и полосы пропали. Потыкавшись осциллографом, быстро нашел сигнал, который искажался при установке контроллером, и причину – ИР22. Запасной у меня не было, так что я поставил на место дохлого свой рабочий (Рома, с тебя один КР1533ИР22). Далее пришла очередь контроллера Beta Disk. При нажатии RES DOS компьютер зависал с темным экраном. Немного поковырявшись, я разглядел причину: тот, кто выдирал кондюки, порвал дорожку, и она залипала на питание. Исправив этот дефект, я вернул плату на место и увидел на экране столь знакомый © Technology Research. Режим Turbo на 512К так же оказалось в полном порядке. Похвалив сам себя, за то какой надежный компьютер я разработал и как удобен оказался слотный конструктов, я даже не поленился помыть плату ZX-Next. После чего она приобрела вполне презентабельный вид. Я не протестировал дисководную часть (не было дисковода) и не настраивал кодер СЕКАМ. На этом можно было бы, и закончить, но я решил заехать к одному знакомому, которому когда-то сбагрил основную массу железа, оставшегося после разработки ZX-Next.

Знакомый был крайне удивлен но, поддавшись на мои уговоры, полез в гараж, где лежала коробка с подаренными мной деталями. Покопавшись, я нашел несколько ПЗУ, которые напоминали NEXT ROM VIDEO. Так вот у меня есть жуткое подозрение, что одна из этих ПЗУ содержит прошивку без защиты. Поскольку у меня с программатором туговато, то попробуй сделать с них копии, и глядишь, не надо будет ничего взламывать (я правда уже разуверился, что кто-то может ее взломать). Могут быть, конечно, и неожиданности: возможно, это тестовая ПЗУ, с поддержкой VGA (640*400), вместо CGA (640*200). В этом случае, на плате надо будет напаять всего один ТМ2. Правда, поддержки под этот режим не было (за исключением кривого конвертора PCX-ов). Хуже будет, если NEXT ROM VIDEO окажутся обычными, и не будут копироваться. НО! Есть и другая возможность: я отыскал дискету с математикой для программатора. Проблема в том, что мне не на чем ее прочитать, поэтому я так же положил ее до кучи, может, ты прочитаешь. Программатор так же доступен и надеюсь работает. Заодно я положил в твой пакет контроллер IBM клавиатуры от KAY (подарок Немо) и пустышку (что бы было). Так, что как только объявишься, надо будет все это тебе передать. А дальше будем поглядеть.

Orionsoft
10.05.2005, 02:43
НЕСТИРАЙТЕ ЭТОТ ТОПИК !!!
Респект Conan & СHRV!

rg_software
10.05.2005, 15:20
а что произошло с сайтом zxnext.narod.ru? 404 нот фаунд :(

Conan
10.05.2005, 19:28
а что произошло с сайтом zxnext.narod.ru? 404 нот фаунд :(Какой то сбой на narod.ru, отписал в их поддержку. На будущее, пожалуйста пишите в ЛС, что бы я оперативнее реагировал.

CHRV
11.05.2005, 17:02
В общем, хотел сначала CHRV написать поскольку не дозвонился, но подумал, что тайны никакой нет, и решил на форум запостить, авось кому еще будет интересно.
Ну теперь можно повторить или расширить кругозор еще каким нить вкусным пивняком. Токо надо теперь не на пятницу, а на какой нить более преемлимый день. Я пока ближайшие полторы недели буду занят, а так готов...
Ну остальное по ТЛФ ( (С)Nemo )...
Вообще надо какойнить антисисопник замутить - чтобы цивильно в кабачке было без водок, ментов и лошадей :) .

Ronin
11.05.2005, 23:40
антисисопник
Ты ж не сисоп, ты - антисисоп (с)

lvd
12.05.2005, 00:08
Ну теперь можно повторить или расширить кругозор еще каким нить вкусным пивняком. Токо надо теперь не на пятницу, а на какой нить более преемлимый день. Я пока ближайшие полторы недели буду занят, а так готов...
Ну остальное по ТЛФ ( (С)Nemo )...
Вообще надо какойнить антисисопник замутить - чтобы цивильно в кабачке было без водок, ментов и лошадей :) .

Ну да, вам бы только спирта ухнуть, одним на лавочке возле метро, другим в кабаке =)))

CHRV
12.05.2005, 09:40
Ну да, вам бы только спирта ухнуть, одним на лавочке возле метро, другим в кабаке =)))
Спирт я не пью :-) И на сисопниках не пил ...

jtn
12.05.2005, 15:41
господа, а при чем тут сабж

Conan
31.05.2005, 19:04
Роман: Удалось ли попробовать скопировать ПЗУ NEXT ROM VIDEO?

Максим: Удалось ли прочитать дискету с математикой для программатора?

CHRV
01.06.2005, 09:59
Роман: Удалось ли попробовать скопировать ПЗУ NEXT ROM VIDEO?
Пока этим не занимался, все силы брошены на обработку заказов по АТМ.


Максим: Удалось ли прочитать дискету с математикой для программатора?
Да Макс прочитал! Издосная дискета!

Conan
18.07.2005, 13:16
Пока этим не занимался, все силы брошены на обработку заказов по АТМ.
Удалось ли обработать заказы на АТМ-ы? Вопрос задаю со значением, ибо очень хочется понять удастся ли малой кровью (без взломов и прочего) получить рабочую копию Next ROM Video и порадовать jtn-а. В общем, напоминаю, а там сам решай.

P.S. Кстати, неплохо бы встретиться, ты вроде с обычной почтой дружишь, и я бы тебе архивчик WOS-a отгрузил. А то отправит меня родина служить на другой конец земли годика на три, а там кто его знает с интернетом, и пропадет зазря столь нужная для народа информация.

CHRV
18.07.2005, 13:45
Удалось ли обработать заказы на АТМ-ы? Вопрос задаю со значением, ибо очень хочется понять удастся ли малой кровью (без взломов и прочего) получить рабочую копию Next ROM Video и порадовать jtn-а. В общем, напоминаю, а там сам решай.

ОК посмотрю на днях. Сейчас силы брошены на Скорпион Миндлина и ВГА кодер. Но посмотреть Некст недолго!


P.S. Кстати, неплохо бы встретиться, ты вроде с обычной почтой дружишь, и я бы тебе архивчик WOS-a отгрузил. А то отправит меня родина служить на другой конец земли годика на три, а там кто его знает с интернетом, и пропадет зазря столь нужная для народа информация.
Опять ссылка в канадщину, Обороку привет!
На моем 160гбайтном винте всегда найдется место для архива, ну и в холодильнике что нить найдется, давай созвонимся вечерком. У меня еще пара вопросов чисто личного характера!

Ne01eX
18.07.2005, 14:26
Прочитал весь тред и настроение как-то поднялось... :) Вообщем одно пожелание в этот топик - чтобы когда-нибудь здесь объявилась дока по нексту целиком. А то тут столько букв интересных наговорили, даже интересно стало. :sleep:

CHRV
18.07.2005, 15:02
Прочитал весь тред и настроение как-то поднялось... :) Вообщем одно пожелание в этот топик - чтобы когда-нибудь здесь объявилась дока по нексту целиком. А то тут столько букв интересных наговорили, даже интересно стало. :sleep:
Я все доки которые у меня есть сосканировал, вот в книжку привести пока времени нет. А уж схемы и разводки это к Conan'у.

CHRV
18.07.2005, 23:04
Потестил сегодня все ПЗУ от Константина...
Результат неутешительный - все они защищенные!
НО ЗАТО ЕСТЬ целых три ПЗУ для Некста!
JTN могу тебе их выслать для сборки Некстов...

Conan
19.07.2005, 00:02
Мдя. Вот засада. В другой бы ситуации можно было гордиться, что программисты начала 90-х были не хуже сегодняшних... Но это уже как злой рок: килобайт обычного кода Z80, который никто не может взломать и даже понять, как он работает :( .

To: jtn. Может, имеет смысл выложить прямо в топик восстановленную (данные и адреса) ПЗУ-шку?

SfS
19.07.2005, 05:54
килобайт обычного кода Z80, который никто не может взломать и даже понять, как он работает :( .


Мда :) вот это прикол :) Я вот уже серьезно думаю - если будет ПЗУшки и полная дока по ZX-Next - может мне его склепать себе ? :)

jtn
19.07.2005, 07:47
засада в том что я лентяй каких свет не видывал. на данном этапе я только еще запаял панели под м/сх и 5 isa слотов (намаялся ух как). в планах было сделать внутрисхемный отладчик для next rom video, поскольку в unreal'e отлаживать не реально (либо его надо фиксить). но раз есть зашитые пзушки, то конечно и от них не откажусь (потом договоримся как и что).
2Conan: не много не понял, ты предлагаешь выложить сам или выложить мне (у меня то все есть)? смысл, не знаю есть ли. думаешь кому-то интересно?
2SfS: ежели что, обращайся, есть еще чистые платы.

p.s. 2Conan: про обещанное не забыл ни в коем разе, попробую на днях архив поднять и найти сканер.

CHRV
19.07.2005, 09:51
Мдя. Вот засада. В другой бы ситуации можно было гордиться, что программисты начала 90-х были не хуже сегодняшних... Но это уже как злой рок: килобайт обычного кода Z80, который никто не может взломать и даже понять, как он работает :( .
Дело не в том что не могуть, а в том что видимо это никому не нужно... к сожалению :(. Я например все на свете делать тоже неуспеваю, поэтому мне лично интереса разбираться с кодом нет никакого, вот если бы ПЗУ накрылась в моем нексте , то наверно бы полез разбираться :).


To: jtn. Может, имеет смысл выложить прямо в топик восстановленную (данные и адреса) ПЗУ-шку?
Пзу-ха выкладывалась, я могу выложить скажем копий 10-15 ПЗУ (чтобы была статистика недопрограмленных битов)...

CHRV
19.07.2005, 09:54
p.s. 2Conan: про обещанное не забыл ни в коем разе, попробую на днях архив поднять и найти сканер.
У меня есть дока уже отсканированная, но к сожалению не приведенная в божеский вид - не до этого!
На сколько я помню у тебя копия, того что есть у меня...

Кстати Костя, разводки то остались?

У меня есть еще голая плата IDE от Некста!

Conan
19.07.2005, 13:48
2Conan: не много не понял, ты предлагаешь выложить сам или выложить мне (у меня то все есть)? смысл, не знаю есть ли. думаешь кому-то интересно?
Да. Вроде как ты данные и адреса восстановил в Next ROM Video, а у меня только обычный (такой же, как у CHRV) бинарник из программатора.


Кстати Костя, разводки то остались?
Разводки остались, могу еще раз выложить, если кому надо. Вроде их fan коллекционировал.


Пзу-ха выкладывалась, я могу выложить скажем копий 10-15 ПЗУ (чтобы была статистика недопрограмленных битов)...
Можно и выложить, только это вряд ли поможет, если не пытаться сделать именно копии а не взломать. Решение, выбранное jtn-ом, оптимпльнее: он декодировал данные и адреса, а дальше уже можно разобраться с кодом. Вот этот код и нужно опубликовать, ибо взлом там будет типа замены RET Z на RET NZ или JR-ов. Только надо найти места, где они проверяются.


засада в том что я лентяй каких свет не видывал. Ну а лентяйства у всех хватает. Например, когда ZX-Next разрабатывали, мне и Леониду Ермакову надо было иногда вместе сидеть, но поскольку он жил около Речного вокзала (в Москве), а я в Мытищах, то местом встреч часто становился пляж на водохранилище Пирогово. Типа всем удобно: мне полчаса на автобусе, а ему полчаса на «Ракете». А на пляже сначала тетрадки раскладывали, и типа «работали», а потом вспоминали что у меня шахматишки в сумке, а у него бутылочка вина…

fan
19.07.2005, 21:16
смысл, не знаю есть ли. думаешь кому-то интересно?
Странный вопрос , конечно интересно ;) И распутаную прошивку и исправлялку.

И кстати никто не встречал утиль для "рапутывания" и "запутывания" прошивок под безбашенную разводку (где линии в шинах адреса и данных чёрте как понамешаны) ? Провода не предлагать :D

Orionsoft
29.04.2006, 03:13
В очередной раз осилил топик
и считаю сабж - идеальной платформой для спека нового поколения
тк идея использовать z80 в качестве vpu весьма достойная !
а следовательно это приближает нас к имитации нужных видеорежимов
(original\pentagon\scorpion\atm)
и к тому же
zx->vga !

к тому-же могут появится новые видеорежимы ,
включая режимы с акселератором , если использовать
экранную область как 6912 байтный буфер команд и данных
а вместо vpu z80 использовать z180 (+vram)

а если еще добавить прозрачный доступ к всему озу
и сделать систему с расширяемой многопроцесорностью
...
это правда может быть будушим нашего любимого ПЭВМ !
...
резюмируя скажу ,что хотел бы стать обладателем
набора голых плат для сборки сабжа

а мой фтп ждет ваши сканы тетрадок и инфу по сабжу !

:v2_cheer:

Respect and K+ !

CHRV
29.04.2006, 11:44
JTN прислал мне голые платы сабжа, так же Костя мне отдал три микрухи от VPU.
Так что есть комплект для сборки :)

fan
29.04.2006, 12:18
А какиенить подвижки в области расколбасивания прошивки имеются ??? Или все на это нафиг забили ???

2 Orionsoft
У тебя случайно нету планов на расковыривание прошивки ?

Orionsoft
29.04.2006, 14:02
2 fan для начала у меня в планах всё спаять и оформить в корпус
, потом знакомство с 2xcpu архитектурой...
естественно все в рабочем состоянии будет приведено.!.
Ну и всему наступит своё время ! я люблю non multa , sed multos !

:v2_cheer:

captain cobalt
03.07.2006, 13:52
Ещё вопросы:

-- На какой частоте работает Video CPU?

-- Как он успевает формировать изображение?
Ведь в стандартном видеорежиме рисуется 7 мегапикселей в секунду, а на более высоких разрешениях ещё больше.

-- А сможет ли он выводить изображения более чем на 16 цветов?

-- Сколько сейчас будет стОить собранный рабочий компьютер, если будет свободно копируемый Video ROM? :)

CHRV
03.07.2006, 14:29
Ещё вопросы:

-- На какой частоте работает Video CPU?

-- Как он успевает формировать изображение?
Ведь в стандартном видеорежиме рисуется 7 мегапикселей в секунду, а на более высоких разрешениях ещё больше.
Там все очень просто - VCPU не генерирует для каждого пикселя выборку, а только для знакоместа (т.е. младшие три разряда беруться с со счетчиков).



-- А сможет ли он выводить изображения более чем на 16 цветов?

Надо схему глянуть - но вроде нет.



-- Сколько сейчас будет стОить собранный рабочий компьютер, если будет свободно копируемый Video ROM? :)
У JTN есть платы.
У меня есть несколько VCPU-ROM.
Я отдам его бесплатно при условии что у тебя будут платы.

captain cobalt
03.07.2006, 15:49
Интересно разобрать теоретические аспекты.

Может быть, окажется проще заново написать прошивку, чем убирать мусор из защищённой.

Предположим, изображение кидается по 8 пикселей. Это сколько тактов VCPU? Много ли команд он успеет выполнить за эти такты?

CHRV
03.07.2006, 16:40
Интересно разобрать теоретические аспекты.

Может быть, окажется проще заново написать прошивку, чем убирать мусор из защищённой.

Предположим, изображение кидается по 8 пикселей. Это сколько тактов VCPU? Много ли команд он успеет выполнить за эти такты?

VCPU генерит часть адреса выборки (часть берется со счетчика). Т.е. изображение береться как обычно из ОЗУ.

Можно написать конечно новую прошивку но это вопрос из разряда "а оно нужно ли...".

icebear
03.07.2006, 16:45
Можно написать конечно новую прошивку но это вопрос из разряда "а оно нужно ли...".

Как часть истории клонов Спектрума - несомненно.

captain cobalt
03.07.2006, 18:39
Тогда следующая гипотеза.

VCPU работает не по 8 пикселей, а целыми строками. Выставляет начальный адрес, а внешняя логика со счётчиком выбирает последовательные ячейки памяти и рисует одну пиксельную строку.

Правильно?

CHRV
03.07.2006, 20:48
Тогда следующая гипотеза.

VCPU работает не по 8 пикселей, а целыми строками. Выставляет начальный адрес, а внешняя логика со счётчиком выбирает последовательные ячейки памяти и рисует одну пиксельную строку.

Правильно?
НеправильнО!

Смотрите схему: независимыми от VCPU являются только три разряда счетчика.

Не надо строить гипотезы :), надо посмотреть схему :)

captain cobalt
03.07.2006, 21:47
Некоторые смотрят в схему - видят фигу. :(

А счётчик считает биты или байты?

captain cobalt
05.07.2006, 09:32
Максим: Удалось ли прочитать дискету с математикой для программатора?
Да Макс прочитал! Издосная дискета!
Можно материалы в студию?

Orionsoft
25.06.2007, 22:20
УРА !

гдеб еще разьёмчикоа таких надыбать ...

http://img365.imageshack_.us/img365/4730/nextkitrt2.th.gif (http://img365.imageshack_.us/img365/4730/nextkitrt2.gif)

Иван
25.06.2007, 23:50
УРА !
гдеб еще разьёмчикоа таких надыбать ...


Тыц (http://www.promelec.ru/shop/search?keyword=%D3%CE%D05&preview=yes&section_id=). Однако, минимальная сумма заказа 1500 руб.

А вообще, тыц! (http://www.efind.ru/icsearch/?search=%F1%ED%EF5).

Conan
26.06.2007, 00:50
гдеб еще разьёмчикоа таких надыбать ...
Только вот разъем нужно установить с другой стороны платы. Шины у ZX-Next на нижней стороне. Хотя контакты симметричны и можно смонтировать и так :).

P.S. Однажды видел смонтированную таким образом клавиатуру для Speccy. У нее клавиши были "завалены" не "от", а "к" местам из которых руки растут. Нажимать на нее приходилось ни сверху вниз, а "от пупка" вперед :D.

fan
27.06.2007, 16:15
УРА !

гдеб еще разьёмчикоа таких надыбать ...
Предлагаю отпилить от какойнить песюковой дочерней дохлятины кусок платы с ламелями (если они так называются) и присобачить к дочке сабжа , и соотв. на мазер борд припаять нормальные исовые разъёмы .

Black_Cat
27.06.2007, 16:27
Предлагаю отпилить от какойнить песюковой дочерней дохлятины кусок платы с ламелями (если они так называются) и присобачить к дочке сабжа , и соотв. на мазер борд припаять нормальные исовые разъёмы .Не получится, они 96 контактные.

KingOfEvil
27.06.2007, 23:11
Не получится, они 96 контактные.
ну ножовка рулез :v2_devil:
А вообще, цена вопроса 35 рэ, столько в Москве стоят SL-62.

Black_Cat
27.06.2007, 23:31
ну ножовка рулез :v2_devil:
А вообще, цена вопроса 35 рэ, столько в Москве стоят SL-62.Ты не врубился - 62 контактов мало, там трёхрядные разъёмы (32х3=96). Даже с усётом того, что большая часть контактов дублируется, всё равно штук семь контактов на SL-62 не влезет.

KingOfEvil
27.06.2007, 23:56
Ты не врубился - 62 контактов мало, там трёхрядные разъёмы (32х3=96). Даже с усётом того, что большая часть контактов дублируется, всё равно штук семь контактов на SL-62 не влезет.
действительно

Conan
28.06.2007, 00:08
62 контактов мало, там трёхрядные разъёмы (32х3=96). Даже с усётом того, что большая часть контактов дублируется, всё равно штук семь контактов на SL-62 не влезет.Ошибка. Конструктив позволяет устанавливать разные типы разъемов (двух или трех рядные с 31 или с 32 контактами в ряду), в первую очередь SL-62, именно под их форм фактор разрабатывались платы всех контроллеров для ZX-Next. Причем, платы разведены с дюймовым шагом (для SL-62).

Black_Cat
28.06.2007, 00:17
Ошибка. Конструктив позволяет устанавливать разные типы разъемов (двух или трех рядные с 31 или с 32 контактами в ряду), в первую очередь SL-62, именно под их форм фактор разрабатывались платы всех контроллеров для ZX-Next. Причем, платы разведены с дюймовым шагом (для SL-62).Тебе видней, я по выложенной фотке смотрел - получалось 67-69 контактов без дублирования.

Conan
28.06.2007, 08:11
Можно и по фотографии пересчитать:

KingOfEvil
28.06.2007, 20:46
Ошибка. Конструктив позволяет устанавливать разные типы разъемов (двух или трех рядные с 31 или с 32 контактами в ряду), в первую очередь SL-62, именно под их форм фактор разрабатывались платы всех контроллеров для ZX-Next. Причем, платы разведены с дюймовым шагом (для SL-62).

Значит, я все-таки был прав, просто видел собранный ZX-Next, где стояли именно SL-62 (вроде).

scooby-do
26.04.2008, 10:57
Дык, а чем история то закончилась?

Народ,(в частности я) требует продолжение эпопеи!

Conan
26.04.2008, 11:41
Около месяца назад пришло письмо от KOE, где он спрашивал про доки к ZX-Next и хотел хачить ROM Video. Насколько я понял, чтобы в случае успеха платы в серию запустить или просто сделать доступными для повторения. Я отправил ему PCB и SCH электропочтой (сканы документации были у CHRV) и сказал, что помогу, если будут вопросы по взлому. Но с того момента он него тишина.

scooby-do
26.04.2008, 13:26
Conan, ясненько, спс) держите в курсе событий, а то жутко интересно чем дело кончиться)

CodeMaster
04.06.2010, 10:08
Апну, интересно восстановить клон.

CodeMaster
04.06.2010, 16:02
Код, формирующий все управляющие сигналы сам по себе не сложен. Грубо говоря 200 байт.

А остаток до 2КБ это защита этого кода? Тогда конечно проще переписать. Тем более ты наверное сможешь поставить ТЗ на это кодирование.

Вообще, у меня есть пара вопросов, ну так для популяризации темы среди тех кому NMI, WAIT и пр. тёмный лес ;-) Вопросы в первую очередь к тебе Conan, ты хоть эту прошивку и не писал, но при сём присутствовал :-)

Ну, начну по-порядку:
1. Насколько я правильно понимаю, "плавающие" биты (дальше по тексту ПБ) были в неисполняемых байтах (а то х.з. может это был полиморфный код :-)
2. В зависимости от внешних параметров (температура кристала и т.д.) карта ПБ не изменялась?
3. В течении первых 3-х секунд прошивка должна найти хотя-бы один байт с ПБ. Для этого просто вычитывается весь диапазон ПЗУ с многократным чтением каждого байта для вылова ПБ. Этот вопрос как бы не к тебе, но ты писFл, что учавствовал в отборе микрух для ПЗУ, какие были требования к ним для возможности использования в ZX-Next? Просто, я не понял, серийная версия прошивки (точнее таблица ПБ) была одинакова? Тогда при отборе микрух возможность выставить ПБ долна была быть в определённых байтах, или про 90% ты писАл имея в виду что практически любой бит в РФке можно выставить "плавающим"?
4. Вопрос по восстановлению прошивки, так сказать методом "brute force", что он нам даст, карту ПБ? И затем отталкиваясь от них надо отшелушивать защиту, в итоге просто получим чистый код VCPU? Т.е. опять же если это 10%, то может проще всё же написАть его заново, ибо врятли кто-то сейчат решится городить прграмматор для восстановления полной аутентичности.
5. С другой стороны если мы получим карту ПБ, то возможно удасться реализовать "логику" ПБ на ПЛИС или ещё как доступно?

З.Ы. Для автоматизации "brute force" наверно лучше подшаманить с софтом программатора, чтобы он автоматически снял 1000-10000 дампов, а уже потом засунуть это в OLAP дело техники. Нет ли программаторов с открытым кодом софта (наприемр Willem)?

Conan
04.06.2010, 17:04
А остаток до 2КБ это защита этого кода?Там еще код для видеорежима CGA (640*200), инициализация (общая), общий кусочек для формирования прерываний, кадровых и строчных сигналов (включая врезки), гашения, сброс основного CPU, синхронизация при включении. Может что-то еще, но насколько я помню основная подпрограма очень небольшая (те самые 200 байт).


1. Насколько я правильно понимаю, "плавающие" биты (дальше по тексту ПБ) были в неисполняемых байтах (а то х.з. может это был полиморфный код :-)Вспомнить бы... По логике в неисполняемых. Потому, что при старте эти же ячейки как-то проверялись. Но точно помню, что напарник рассказывал про конструкции на условных RET-ах для проверки "плавания".


2. В зависимости от внешних параметров (температура кристала и т.д.) карта ПБ не изменялась?Да, поэтому и требовалось так много ПБ (чтобы покрыть требуемые значения питания и температуры).


3. В течении первых 3-х секунд прошивка должна найти хотя-бы один байт с ПБ. Для этого просто вычитывается весь диапазон ПЗУ с многократным чтением каждого байта для вылова ПБ. Этот вопрос как бы не к тебе, но ты писал, что учавствовал в отборе микрух для ПЗУ, какие были требования к ним для возможности использования в ZX-Next?Изначально требовалось что-бы вся ПЗУ была чистая и ее прошивали пробной дорожкой. Это первый этап. Затем зашивали нулями, затем стирали (отжигали) и дальше уже в программатор на финишную зашивку (ПБ). Если зашилось ОК, шили основной код. Помню был какой то самописный софт с прогрес-баром на экране при зашивке ПБ. И когда шили очередную партию, по скорости процесса уже было понятно, подойдет ПЗУ или нет.


Просто, я не понял, серийная версия прошивки (точнее таблица ПБ) была одинакова?Те, что выпускались при мне (я ушел из "Слота" раньше напарника), были одинаковы (таблицы ПБ). И их я передал CHRV. Но возможно в последних версиях были еще серийные номера. Встраивалось ли заполнение рандомизированными кодами неиспользуемых ячеек не помню, но скорее всего, нет. Хотя такая идея точно обсуждалась.


Тогда при отборе микрух возможность выставить ПБ долна была быть в определённых байтах, или про 90% ты писАл имея в виду что практически любой бит в РФке можно выставить "плавающим"?Скорее всего речь о том, что процент выхода ПЗУ годных для зашивки ПБ был высокий, а шили только определенные ячейки.


4. Вопрос по восстановлению прошивки, так сказать методом "brute force", что он нам даст, карту ПБ?
Да, карту ПБ и параметры переключения каждой отдельной ячейки (если программатор позволяет точно устанавливать напряжение питания).


И затем отталкиваясь от них надо отшелушивать защиту, в итоге просто получим чистый код VCPU?Нет. Так можно сделать лишь точную (рабочую) копию. Для взлома защиты нужно разбирать код. Но если считать ПЗУ допустим при 6,5 вольтах и 3,5 вольтах, то точно все ПБ уйдут в единицу и ноль соответственно. Можно получить карту расположения ПБ, что бы облегчить разбор кода.


Т.е. опять же если это 10%, то может проще всё же написАть его заново, ибо врятли кто-то сейчат решится городить прграмматор для восстановления полной аутентичности.Это уже кому, что проще. Железячнику собрать программатор, программисту код собрать (или удалить защиту). Если не понятно с чего начинать, то я бы начал с разбора кода.


5. С другой стороны если мы получим карту ПБ, то возможно удасться реализовать "логику" ПБ на ПЛИС или ещё как доступно?О таком подходе я не думал, но он рабочий, если научить ПЛИС подсовывать подходящие значения в ПБ. Вопрос лишь, как это реализовать на практике.
Там была особенность проверки, при старте проверялось наличие не менее чем (?) ПБ, а при основной работе не более чем (?) ПБ в узкой области.

CodeMaster
04.06.2010, 20:43
Но если считать ПЗУ допустим при 6,5 вольтах и 3,5 вольтах, то точно все ПБ уйдут в единицу и ноль соответственно. Можно получить карту расположения ПБ, что бы облегчить разбор кода.

Ну это имхо несложно, подать Vcc на ПЗУ от внешнего регулируемого источника (не знаю правда как буфер программатора воспримет "1" при таких Vcc. А дальше смотреть, кто раньше его "хакнет" - железячник или программер ;-)

CodeMaster
05.06.2010, 06:50
Те, что выпускались при мне (я ушел из "Слота" раньше напарника), были одинаковы (таблицы ПБ). И их я передал CHRV. Но возможно в последних версиях были еще серийные номера.

Надо с ним поговорить, если он в этом году приедет на Артфилд, чтобы захватил парочку, ведь валяются без дела.

CodeMaster
09.06.2010, 21:09
Надо с ним поговорить, если он в этом году приедет на Артфилд, чтобы захватил парочку, ведь валяются без дела.

Роман сказал, что у него ни х. не осталось :-( так что вся надежда на владельцев, что кто-то способится заняться считыванием VROM'а.

BYTEMAN
09.06.2010, 21:22
Почитал немного этого топика, дык вспомнил, что ПБ 100% шьёт программатор Турбо.

CodeMaster
09.06.2010, 21:35
Почитал немного этого топика, дык вспомнил, что ПБ 100% шьёт программатор Турбо.

Ну прежде чем их шить, надо сначала получить образ ПЗУ с картой ПБ.

BYTEMAN
09.06.2010, 22:37
Ну прежде чем их шить, надо сначала получить образ ПЗУ с картой ПБ.

Я думаю, что это сделать не так то и сложно...Но у меня нету ПЗУ VROM и программатора. В теории я весь процесс прекрасно представляю. Время есть, но возможностей - нет...

CodeMaster
10.06.2010, 06:45
Я думаю, что это сделать не так то и сложно...Но у меня нету ПЗУ VROM и программатора. В теории я весь процесс прекрасно представляю. Время есть, но возможностей - нет...

Вот и я про то, придется ждать у кого возможности совпадут с желаниями.

Richi
25.06.2010, 09:16
Вот и мне досталась такая платка, почитал темы, да уж проект умер в расцвете сил, инфы не много.. :(
Если можно, подскажите по фото, что на ней не хватает? Реально ли восстановить, и что я увижу, если подключу в такой конфигурации? Как я понял не хватает основного и еще какого-то ПЗУ между слотами, может еще чего то? Нашел прошивки, но не нашел распиновку платы, что куда подключено?

CodeMaster
25.06.2010, 11:04
Нашел прошивки

Какие прошивки, VROM тоже с картой ПБ, а чем прошивать собираешься?

Richi
25.06.2010, 11:28
Какие прошивки, VROM тоже с картой ПБ, а чем прошивать собираешься?
прошивки из этого архива, на самом деле не знаю то или нет. http://zx.pk.ru/showpost.php?p=131032&postcount=7
Чесслово пока не понял что там с запутыванием адресов, прошивки в ПЗУ как есть или их перекодировать нужно?
VROM, как я понимаю у меня есть. шить буду программатором Willem, кода соберу, так что - это все равно не так быстро получится. Может и получится содрать VROM Надеюсь там обычная UV-EPROM. Чем то замазана сверху, пока не ковырял, защита от подделки :).

CodeMaster
25.06.2010, 11:50
Чесслово пока не понял что там с запутыванием адресов, прошивки в ПЗУ как есть или их перекодировать нужно?

Ждём коментов от Conan'а


Может и получится содрать VROM Надеюсь там обычная UV-EPROM.

Очень надо постараться, для потомков ;-)

Keeper
25.06.2010, 12:55
Richi, к Вам просьба, не могли бы Вы считать содержимое VROM (микросхема залитая чем-то сверху) раз так 20ть? Буду очень благодарен!

В аттаче прошивка для 27512, которая у меня лежала в папке ZX-NEXT

Keeper
25.06.2010, 13:03
На имеющейся у меня монтажке нет AY/YM :v2_scare:

---------- Post added at 12:03 ---------- Previous post was at 12:01 ----------


Чесслово пока не понял что там с запутыванием адресов, прошивки в ПЗУ как есть или их перекодировать нужно?
VROM

Основное ПЗУ перекодировать не нужно.

Richi
25.06.2010, 13:26
Richi, к Вам просьба, не могли бы Вы считать содержимое VROM (микросхема залитая чем-то сверху) раз так 20ть?
прошивку потестирую, и VROM прочитаю, как только сделаю программатор (не нашлось куска текстолита подходящего для Willem-а, а в магаз, через полгорода тащится влом, ибо жара 35градусов) Можно кончно на скорую руку собрать на 2х микросхемах на макетке ( CD4040 и 74HC257) на LPT-порт).
Как я понял объем VROM 2Kb - То бишь там КС573РФ(2)5 стоит?
Так не у кого нет рисунка монтажки? А то я только клавиатуру и видео понял куда подключить, впрочем для проверки большего и не нужно. По словам предыдущего владельца, комп был не доделан, но видео работало.

Keeper
25.06.2010, 13:41
Сейчас залью на народ имеющуюся документацию, но ваша плата отличается (немного) от той что в документации. VROM, да РФ2(5)

Залил: http://narod.ru/disk/22216354000/ZX-NEXT.RAR.html

CodeMaster
25.06.2010, 18:52
Richi, к Вам просьба, не могли бы Вы считать содержимое VROM (микросхема залитая чем-то сверху) раз так 20ть? Буду очень благодарен!

Это всё фигня, далеко от 100% результата, вот совет от автора, ИМХО самый реальный


Для взлома защиты нужно разбирать код. Но если считать ПЗУ допустим при 6,5 вольтах и 3,5 вольтах, то точно все ПБ уйдут в единицу и ноль соответственно. Можно получить карту расположения ПБ, что бы облегчить разбор кода.

Keeper
25.06.2010, 19:24
Это всё фигня

Фигня, не фигня, не в этом дело, я хочу посмотреть в каких участках кода/данных будут изменения...

CodeMaster
25.06.2010, 19:45
Фигня, не фигня, не в этом дело, я хочу посмотреть в каких участках кода/данных будут изменения...

А что это тебе даст, если они равномерно распределены и ты увидишь только 80% изменений?

Conan
25.06.2010, 19:51
Если можно, подскажите по фото, что на ней не хватает? Реально ли восстановить, и что я увижу, если подключу в такой конфигурации?Это минимальная конфигурация (если РУ5 то 48К если РУ7 (не разобрать на фото) то 256к). Не хватает контроллеров FDD, HDD+RTC+XT клавиатура, CGA+LPT+управление 512К. Их платы (пустые) на форуме кто-то продавал (или CHRV или БК-010). Слоты под них на плате как раз есть.


Как я понял не хватает основного и еще какого-то ПЗУ между слотами, может еще чего то? Нашел прошивки, но не нашел распиновку платы, что куда подключено?Верно, не установлена прошивка с поддержкой загрузки с HDD. Если уже нашли, то прошейте в 27512, там вроде ни каких сложностей нет.

---------- Post added at 19:51 ---------- Previous post was at 19:46 ----------


если они равномерно распределены и ты увидишь только 80% изменений?Если прочитать при 6,5 вольтах и 3,5 вольтах то "выплывут" 100% всех плавающих ячеек. Даже при однократном считывании.
Когда проектировали ZX-NEXT с точки зрения напряжения питания "плавающе" ПЗУ рассчитывали на 5В +-20% (двойной запас по сравнению с базовыми требованиями -+10%).

CodeMaster
25.06.2010, 21:50
Если прочитать при 6,5 вольтах и 3,5 вольтах то "выплывут" 100% всех плавающих ячеек. Даже при однократном считывании.

Дык и я ему о том же.

BYTEMAN
25.06.2010, 22:48
И, повторюсь, ПБ умеет шить программатор ТУРБО. Штатно.

Conan
25.06.2010, 23:24
ПБ умеет шить программатор ТУРБО. Штатно.Плавающие при каком напряжении питания и температуре?
Дело в том, что эффект "плавания" конкретного плавающего бита возникает только вокруг определенного напряжения питания и зависит от температуры. Если построить график, где по оси X будет напряжение питания (температура), а по оси Y вероятность (кол-во) переключений за единицу времени, то получится гауссово (нормальное) распределение. Следовательно программатор должен уметь устанавливать напряжение питания ПЗУ при зашивке с очень небольшим шагом (на практике 5-10 милливольт). Все остальные режимы зашивки ПБ у программаторов не сработают или зашитое в них ПЗУ будет крайне ненадежно.

Richi
25.06.2010, 23:36
господа, чета я не въехал о каких плавающих ячейках речь, ПЗУ VROM уже могло поплыть (гарантировано поплыло) от старости. Или как-то хитро зашита для защиты от взлома, что ее не прочитать программатором, как же тогда ее читает обычный Z80? ткните носом где осуждалось...

Это минимальная конфигурация (если РУ5 то 48К если РУ7 (не разобрать на фото) то 256к)
на плате "кошерные" РУ7К

Conan
26.06.2010, 00:13
господа, чета я не въехал о каких плавающих ячейках речь, ПЗУ VROM уже могло поплыть (гарантировано поплыло) от старости.Поплыло или нет можно проверить только после включения (если не будет картинки на экрате ТВ или монитора). Все другие (известные) сохранившиеся ПЗУ VROM еще не поплыли.


Или как-то хитро зашита для защиты от взлома, что ее не прочитать программатором, как же тогда ее читает обычный Z80? ткните носом где осуждалось...Защиту еще никто не взломал. Обсуждения есть в этой теме. Считать программатором рабочее ПЗУ и зашить РФ2(5) можно, только "копия" будет работать около 2 сек.


на плате "кошерные" РУ7КЭто для ZX-NEXT не принципиально. Он к качеству ОЗУ не требователен. В 90-е когда ОЗУ было дорогим и дефицитным собирали такие платы на разнобое (ОЗУ с разными буквами или кол-вом точек) вперемешку. Работало без проблем.

Keeper
26.06.2010, 01:14
Не смотря на возражения, просьбу не снимаю :) Или же куплю/возьму в аренду VROM :)


Все другие (известные) сохранившиеся ПЗУ VROM еще не поплыли.

Сколько таких известно и имеются ли они на территории Украины?

CodeMaster
26.06.2010, 07:21
господа, чета я не въехал о каких плавающих ячейках речь

Перечитай хотя бы последнюю пару страниц темы, а лучше всю.

Conan
26.06.2010, 10:26
Сколько таких известно и имеются ли они на территории Украины?Около десятка (включая найденые VROM, которые я передавал CHRV). География для меня загадка. Когда работал в "Слоте", то отвечал на письма (иногда звонки) пользователей ZX-NEXT из Украины. Но где они сейчас...

AndyS
26.06.2010, 15:03
Нужно просмотреть код подпрограммы проверки на ПБ. В ней есть таблица или диапазон адресов где зашивались ПБ заводским способом. Я не думаю, что эта подпрограмма шифровалась полиморфным алгоритмом. Также можно, как и предлагалось ранее, считать 10000 копий с ПЗУ и с помощью отдельно написанной программы «отловить» при помощи побитной сверки все ПБ.

Conan
26.06.2010, 16:43
Нужно просмотреть код подпрограммы проверки на ПБ. В ней есть таблица или диапазон адресов где зашивались ПБ заводским способом. Я не думаю, что эта подпрограмма шифровалась полиморфным алгоритмом.Прежде надо до этого кода добраться. Напарник, который его составлял часто приходил ко мне со словами: "посмотри какая тут крутизна получилась, на N-байт короче и на N-тактов быстрее!" На что я ему всегда отвечал, что взломают твою "крутизну" за неделю и никому она не будет нужна. Тогда он уходил кодировать снова, а как-то заметил, что те кто увидят его код подумают, что его писал какой-то е*****тый. Но вроде в итоге решил, что на взлом (пока разберутся что к чему) уйдет пол года - год. За это время мы планировали продать тысячу ПЗУ и окупить разработку.
Идея полиморфизма была на одном из этапов. Но не забывайте, что весь код находился в ПЗУ. Поэтому напарник предложил внешний "полиморфизм", в виде светодиода подключенного к шине адреса и направленного в окошко ПЗУ. При такой засветке плавающие биты переключались из "1" в "0". Но эта идея была отвергнута в виду усложнения кодирования и снижения надежности. Вот такой неслучившийся полиморфизм.

Keeper
26.06.2010, 16:47
Около десятка (включая найденые VROM, которые я передавал CHRV)

Меня как раз интересует у кого есть эти ПЗУ, может удастся договорится с кем нибудь на предмет купить или взять в аренду...

Conan
26.06.2010, 19:14
Меня как раз интересует у кого есть эти ПЗУ, может удастся договорится с кем нибудь на предмет купить или взять в аренду...Это только CHRV знает, кому он их передавал.

Black_Cat
26.06.2010, 19:18
Меня как раз интересует у кого есть эти ПЗУну вон у zst есть (http://zx.pk.ru/showthread.php?t=13208)

Keeper
26.06.2010, 19:26
ага, за 5тыр... Хотя можно попросить считать содержимое ПЗУ...

CodeMaster
26.06.2010, 21:06
Это только CHRV знает, кому он их передавал.

Роман сказал, что у него нет ничего по ZX Next.


предложил внешний "полиморфизм", в виде светодиода подключенного к шине адреса и направленного в окошко ПЗУ.

Некуёво, мысль про


е*****тый

вполне ко двору ;-)

Conan
26.06.2010, 21:36
Потестил сегодня все ПЗУ от Константина...
Результат неутешительный - все они защищенные!
НО ЗАТО ЕСТЬ целых три ПЗУ для Некста!


Роман сказал, что у него нет ничего по ZX Next.
Видимо кому-то раздал (мне не говорил). Кроме этих ПЗУ у Ромы был еще свой рабочий ZX-NEXT.

---------- Post added at 21:36 ---------- Previous post was at 21:28 ----------


вполне ко двору ;-)
Голь на выдумки хитра. Зато этой идеи ни у кого в мире не было: процессор управляется (например, выполняет условные переходы) по зеленому сигналу светодиода (чуть не сказал светофора):).

Andrnow
26.06.2010, 22:38
Прочитал всю тему, но ничего не понял... Объясните мне, как железнячнику следующее:

1. Как ведёт себя ПБ при чтении его Z80? Из неё через раз читается то 0, то 1?
2. При изменении температуры или U она начинает читаться нормально (т.е. всегда одно какое то значение)?
3. Каким образом программировались ПБ? На шину данных ПЗУ подавался какой то определённый аналоговый уровень вместо лог 0 или лог 1?

Conan
26.06.2010, 22:46
1. Как ведёт себя ПБ при чтении его Z80? Из неё через раз читается то 0, то 1?Да, ПБ (при определенном U и t) читается именно так.

2. При изменении температуры или U она начинает читаться нормально (т.е. всегда одно какое то значение)?Да, если нагревать или охлаждать ПЗУ или изметять U, то ПБ с большей вероятностью будет однозначно читаться как "0" или "1". При определенных значениях U и t будет всегда читаться однозначно.

3. Каким образом программировались ПБ? На шину данных ПЗУ подавался какой то определённый аналоговый уровень вместо лог 0 или лог 1?Процесс (упрощенно) выглядит так: устанавливаем требуемое напряжение питания ПЗУ и программируем короткими импульсами нужный быт(ы), при этом считываем их (многократно) и сравниваем полученные значения (нужно что бы равновероятно читались "0" и "1").

BYTEMAN
26.06.2010, 22:55
И, повторюсь, ПБ умеет шить программатор ТУРБО. Штатно.
http://turbo-binar.narod.ru/

Почитайте сайт. Сами схемы проггера лежат в интернете в свободном доступе.

Conan
26.06.2010, 23:01
http://turbo-binar.narod.ru/

Почитайте сайт. Сами схемы проггера лежат в интернете в свободном доступе.Vcc - 5.0; 6.0 В Не годится. Он способен зашивать ПБ, но гарантировать условия их "плвавания" (при разных напряжениях питания и температуре) нельзя. Сделать надежную рабочую копию VROM таким программатором нельзя.

CodeMaster
27.06.2010, 07:15
Процесс (упрощенно) выглядит так: устанавливаем требуемое напряжение питания ПЗУ и программируем короткими импульсами нужный быт(ы), при этом считываем их (многократно) и сравниваем полученные значения (нужно что бы равновероятно читались "0" и "1").

Вообще это был спецпрограмматор или целый программо-аппаратный комплекс, что управляло процессом зашивки ПБ? А там где были ПБ, в основном коде были "0"?

AndyS
27.06.2010, 09:42
Согласен с Conan, что самое слабое звено в этой системе защиты подпрограмма чтения ПБ. Даже, если она и использует программный «мусор» (а-ля полиморфизм), возможные анти-отладочные фичи для собственной «неуязвимости» ее можно сломать. Когда-то в далекие 90-е ПБ использовал автор прошивки АОН (Opus) для защиты от копирования, сломали мы ее очень быстро. Вот, если бы ключ (хеш) для дешифровки кода брался из другой ПЗУ, то не имея его, расшифровать было бы гораздо труднее.

---------- Post added at 08:42 ---------- Previous post was at 08:07 ----------

P.S. Есть только два пути чтобы получить копию прошивки и оба они не легки. Первый сломать подпрограмму проверки ПБ и дешифровки кода, второй «отловить» ПБ и «клонировать» прошивку по технологии которой она и была зашита ее авторами.

Conan
27.06.2010, 10:41
Когда-то в далекие 90-е ПБ использовал автор прошивки АОН (Opus) для защиты от копирования, сломали мы ее очень быстро.Про эту защиту мы знали, качество ее исполнения (для ПЗУ АОН) оценивали как крайне низкое, по сути это и не защита.


P.S. Есть только два пути чтобы получить копию прошивки и оба они не легки. Первый сломать подпрограмму проверки ПБ и дешифровки кода, второй «отловить» ПБ и «клонировать» прошивку по технологии которой она и была зашита ее авторами.Первый путь легче (не потребует долгих исследований) и дает гарантированный результат. К тому же разобравшийся сможет внести очень интересные доработки (переключаемые экранные режимы разных клонов).


Вообще это был спецпрограмматор или целый программо-аппаратный комплекс, что управляло процессом зашивки ПБ?Было некоторе кол-во самописного софта под ZX (сначала шили на "Пентагон 48", потом уже переехали на ZX-NEXT). Железо тоже самодельное, но со специфическими функциями (точными установками напряжений). Сами железки (если не считать УФ стиралку и печку для отжига) сохранились см. фото.

А там где были ПБ, в основном коде были "0"?В основном коде в местах ПБ были "1".

AndyS
27.06.2010, 11:20
Возможно нужно пойти по пути борьбы антивирусов против полиморфных вирусов. Программно (эмуляцией) и пошагово пройти код ПЗУ, т.*е. дать самой подпрограмме расшифровать весь код и сбросить дешифрованный код (дамп). А этот путь также нельзя назвать легким, т.*к. нет такого «отладчика-эмулятора» и его нужно создавать.

Conan
27.06.2010, 11:26
А этот путь также нельзя назвать легким, т.*к. нет такого «отладчика-эмулятора» и его нужно создавать.Коллеги, там максимум килобайт кода (реально байт 200). Неужели ради двухсот байт кода Z80 рационально создавать "отладчик-эмулятор"? Я не программист, но что-то это сомнительно.

dennt
27.06.2010, 16:20
Conan, а если есть железо с хитрой функцией, то что мешает записать всем страждущим по ПЗУ?

Conan
27.06.2010, 19:38
Conan, а если есть железо с хитрой функцией, то что мешает записать всем страждущим по ПЗУ?Пара мелочей. ;) Например, отсутствие ПО, которое управляет зашивкой и ПО которое зашивают. А вообще это "баян", в этой теме.

Richi
28.06.2010, 13:46
Можно попробовать эмулировать плавающие биты с помощью костылей - нужно только знать какие биты были плавающие, что проще всего отловить многократным чтением с условиями как в схеме ZX-Next, если это невозможно в принципе, тогда анализатором на ША ШД работающего экземпляра.
Сигнал A11 можно брать не с генератора, а сделать его синхронным, (квазиснхронным) с тактированием процессора, чтобы во время цикла чтения сигнал не изменялся. например при помощи триггера, защелкивающегося в состояние генератора "случайных чисел" синхронно с тактовой частотой.
Программная часть защиты с ПБ мне видится такой, в нескольких местах программы можно было сделать условные или безусловные переходы, JR, или CALL по адресам которые меняются в зависимости от состоянии ПБ, по этим адресам находятся подпрограммы устанавливающие некие "флаги подлинности" и, если все флаги собраны - то прошивка считается подлинной.

Conan
28.06.2010, 14:17
Можно попробовать эмулировать плавающие биты с помощью костылейВ РФ2(5) двойное содержимое (одно с нулями в месте ПБ, другое с единицами) не влезет. Потребуется как минимум 2732. Но это не главное.


Программная часть защиты с ПБ мне видится такой, в нескольких местах программы можно было сделать условные или безусловные переходы, JR, или CALL по адресам которые меняются в зависимости от состоянии ПБ, по этим адресам находятся подпрограммы устанавливающие некие "флаги подлинности" и, если все флаги собраны - то прошивка считается подлинной.Проверка ПБ состоит из двух частей, при старте "плавает не меньше чем ПБ" и при переходе в основной режим (примерно через 2 сек.) "плавает не более чем". В основном режиме проверяется узкая область ( ПБ). Поэтому вариант "на костылях" возможен, но схему придется усложнить, подобрав и смоделировав переход из стартового режима в основной. Причем, время перехода придется настраивать очень точно, иначе сработает защита.

Richi
28.06.2010, 14:53
В РФ2(5) двойное содержимое (одно с нулями в месте ПБ, другое с единицами) не влезет. Потребуется как минимум 2732. Но это не главное.
Это верно забыл подписать, что ПЗУ уже поболе нужна.


Проверка ПБ состоит из двух частей, при старте "плавает не меньше чем ПБ" и при переходе в основной режим (примерно через 2 сек.) "плавает не более чем".
Не сильно понятно как это, но все таки лучше чем если бы еще и распределение вероятности считалось, тогда бы пришлось генератор шума на стабилитроне собирать, что, впрочем, не проблема. :) В ПЗУ-шке биты наверное все равно "плавают" с распределением дробового(теплового) шума.


В основном режиме проверяется узкая область ( ПБ). Поэтому вариант "на костылях" возможен, но схему придется усложнить, подобрав и смоделировав переход из стартового режима в основной. Причем, время перехода придется настраивать очень точно, иначе сработает защита.
Это можно сделать путем отслеживания перехода по какому-то адресу, только это опять же анализатор нужен, или дизассмблирование кода, а в "костылях" еще и схема дешифрации адреса. и это уже будут не такие примитивные "костыли" :(

CodeMaster
28.06.2010, 15:16
Коллеги, там максимум килобайт кода (реально байт 200). Неужели ради двухсот байт кода Z80 рационально создавать "отладчик-эмулятор"? Я не программист, но что-то это сомнительно.

Я же спрашивал тебя уже где-то, поставь ТЗ на эти 200 байт (что требуется железу для работы, я думаю ты в общих чертах должен помнить), может и найдётся желающий. Просто сейчас надо быть не просто программером, но понимать что железу требуется для нормальной работы. Заодно может и сразу сделать закладки для расширения функционала. Ещё одной проблемой является процесс отладки этого VROM, т.к. тут нужна связка программер-тестер (a.k.a владелец живого ZX-Next)

Andrnow
28.06.2010, 15:31
А каким образом происходит отсчёт первых трёх секунд? Памяти то нет, где счётчик времени совои данные хранит? В регистрах процессора что ли?
Ну ладно. Что происходит, когда проходит 3 секунды? проц каждый раз проверяет содержимое регистра-счётчика, и когда он переполняется или в нем "насчитывается" какое то значение, то он куда то переходит? Значит нужно сделать так, чтобы либо счётчик не считал, либо регистр счётчика никогда не переполнялся, либо при переполнении чтобы не происходило никакого перехода (вместо JMP поставить NOP). Тогда всё будет работать бесконечно долго.

Conan
28.06.2010, 15:54
Не сильно понятно как это
Есть линейный массив из N ПБ распределенных по напряжению "плавания". Разумеется, в ПЗУ этот массив расположен не линейно, а разбросан вперемешку по разным адресам.
В момент старта, когда только включился компьютер, наблюдается несколько переходных процессов (начало регенерации ОЗУ, сброс CPU и т.д.). В это время задача убедиться, что из массива ПБ плавает определенное число ПБ расположенных произвольно. Если условие не выполнено, то по окончании первого этапа проверки (около 2 сек) вместо перехода в основой цикл срабатывает защита (программа уходит непойми куда).
Если начальная проверка успешно отработала, переходим в основной цикл, где цель проверки сосчитать кол-во и положение ПБ из массива N. Если их число большое или ПБ расположены далеко друг от друга в массиве N, то опять же срабатывает защита.


Я же спрашивал тебя уже где-то, поставь ТЗ на эти 200 байт (что требуется железу для работы, я думаю ты в общих чертах должен помнить)В том то и дело, что "в общих чертах". Когда напарник косячил в коде мне было проще собрать генератор ресетов и с помощью телевизионного осцила показазывать ему в какой строке у него кривые сигналы генерятся. А как и что он реализовывал я в деталях не знал и тогда, у меня по железу хватало задач.


Просто сейчас надо быть не просто программером, но понимать что железу требуется для нормальной работы.Если желающий найдется, то по железу подскажу везде, там ничего архи сложного нет.


Заодно может и сразу сделать закладки для расширения функционала. Ещё одной проблемой является процесс отладки этого VROM, т.к. тут нужна связка программер-тестер (a.k.a владелец живого ZX-Next)Как раз тут все просто, если найдется плата без VROM, то зашивка нерабочей копии даст возможность ее протестировать (тех самых двух секунд достаточно на выход изображения (C) 1982 SRL.

---------- Post added at 15:54 ---------- Previous post was at 15:51 ----------


А каким образом происходит отсчёт первых трёх секунд? Памяти то нет, где счётчик времени совои данные хранит? В регистрах процессора что ли?Абсолютно все в регистрах. Их же много у Z80 (включая альтернативный набор).

Eugen
28.06.2010, 16:12
други, а скажите мне почему на схеме стоит 2732? а все тут утверждают, что РФ2.

я понимаю, что А11 в "1" , я это все к тому, что я где-то читал, что ПБ лучше всего выскакивают в интеловских микрухах . кстати 2732 (сов аналога нет) в то время эти микрухи были дефицитом, типа еще один барьер для копирования

Conan
28.06.2010, 16:24
Значит нужно сделать так, чтобы либо счётчик не считал, либо регистр счётчика никогда не переполнялся, либо при переполнении чтобы не происходило никакого перехода (вместо JMP поставить NOP). Тогда всё будет работать бесконечно долго.В общем и целом так, почти классика взлома.
Только в этом случае может "за бортом" остаться видеорежим 640*200, но даже если про него забыть, все равно будет требоваться зашивка ПБ, поскольку они проверяются с самого начала.

И еще, замена JP на NOP моментально приведет к "покривлению" всего экрана ибо это видеопроцессор и все должно быть выситано до такта. А может и до кол-ва циклов M1. В последнем не уверен, но вроде разговоры про проверку регистра R были.
Поэтому если взлом в лоб, то скорее замена типа условного перехода , или проверки условия, но не в одном месте, а в нескольких.

---------- Post added at 16:24 ---------- Previous post was at 16:19 ----------


почему на схеме стоит 2732? а все тут утверждают, что РФ2. Изначально не было уверенности, что код и защита уместится в РФ2 и будет работать надежно.


в то время эти микрухи были дефицитом, типа еще один барьер для копированияЭто не защита, а барьер для массовости, а цель была именно сделать массовый (без дефицитных микрух) комп. Даже когда в те годы планировали развитие следующую версию думали реализовать с 2764 (она была куда доступнее чем 2732).

Richi
28.06.2010, 17:20
Небольшая фотосессия объекта исследования.
Типичная кр573рф5 может, и рф2, но скорее всего 5, ибо рф2 в пластмассовых корпусах попадаются имхо реже .
Надеюсь, кривой советский корпус и шаг 2.5 видно всем.
А 2732 и сейчас еще поискать...
В прайсе местного магазинчега 27C32 440,00р.

CodeMaster
29.06.2010, 12:06
Только в этом случае может "за бортом" остаться видеорежим 640*200,

А что по максимуму с него можно вытянуть, скандаблер для VGA можно на основе Z80 сделать?


ибо это видеопроцессор и все должно быть выситано до такта.

ИМХО самый реальный вариант - это всё же сделать карту ПБ при разных напругах, дезассемюлировать код и вырезать оттуда защиту. Потому как врядли кто сейчас возьмётся просчитывать такты, даже имея железо под рукой, а почикать защиту думаю будет легче.

Conan
30.06.2010, 00:25
А что по максимуму с него можно вытянуть, скандаблер для VGA можно на основе Z80 сделать?Для скандаблера нужна отдельная память на одну строку. Z80 можно настроить на развертки VGA (такой вариант прошивки был), но железо придется дорабатывать (в тестовом режиме использовалась дополнительная карта со статическим ОЗУ на борту). Но это был не скандаблер, а именно видеокарта под VGA 640*480.

Vadim
30.06.2010, 06:05
Имеет ли оно смысл? Мне кажется что лучше заменить z80+пзу на какую-нить плис. И сделать современный вариант компа. Для истории надо конечно вскрыть прошивку получив новый вариант без проверки.

CodeMaster
30.06.2010, 09:23
И сделать современный вариант компа.

Современных докуя и более, на ПЛИСах делают все кому не лень.

Orionsoft
02.07.2010, 00:13
а если тупо давать reset через какое-то время ? ( возможно синхронизировав с ~/BLANK)

Conan
02.07.2010, 00:42
а если тупо давать reset через какое-то время ? ( возможно синхронизировав с ~/BLANK)
При старте инициализация, всякие проверки и синхронизация. Поэтому кадры будут разной длинны. Не говоря уже о том, что придется отключать схему сбоса основного CPU.

Eugen
02.07.2010, 01:58
дезассемюлировать код и вырезать оттуда защиту
для того чтоб дизассемблеровать код нужен аппаратно-програмный модуль с пошагавой отладкой собирать. посмотрел код, посм схему. интересная завязка.
только на реальном нексте можно попробывать или спаять схему с процом и Пзу и логикой и индикаторами адреса и данных и светодиодами на процессоре. и последний вопрос , почти по Чернышевскому , кто это делать будет?

ZEK
02.07.2010, 03:48
для того чтоб дизассемблеровать код нужен аппаратно-програмный модуль с пошагавой отладкой собирать.
можно в каком нить hdl симуляторе

CodeMaster
02.07.2010, 08:25
и последний вопрос , почти по Чернышевскому , кто это делать будет?

Пока х.з., но надо решать вопросы по мере поступления. Сначала надо получить карту ПБ, а потом возможно появится энткзазист, который в перекурах между взломом сайтов Пентагона и NASA, захочет хакнуть VROM от ZX Next.

Voxel
13.07.2010, 20:06
Бывает такое...

Гляжу в Барахолке кто-то ZX-Next продает. Думаю... что-то уж больно знакомое название... Почитал тему, вышел от туда на эту ветку... почитал... подумал... позвонил... удивил человека до глубины души...

итогом стало вот это (УРА у меня есть рабочий ZX-NEXT):

19052
19053
19054

IS-DOS загрузился с венчестера...

19055

Вот это просто убило! Я то думал там красиво ZX-Next... Хотя может ПЗУ поменяно????

19056

Black_Cat
14.07.2010, 00:06
УРА у меня есть рабочий ZX-NEXT
:) значит бывают ещё чудеса :) притащи это чудо на СС'10

Voxel
14.07.2010, 21:47
:) значит бывают ещё чудеса :) притащи это чудо на СС'10

Не... однозначно.... )))

Тут такой вопрос назрел... А есть ли у кого нибудь прошивка ПЗУ с NEXT BIOS ????. Я в документации вычитал, что такая существовала.

Conan
15.07.2010, 18:13
Тут такой вопрос назрел... А есть ли у кого нибудь прошивка ПЗУ с NEXT BIOS ????. Я в документации вычитал, что такая существовала.Давно ищу. Если у кого обнаружится плз. выложите тут.

итогом стало вот это (УРА у меня есть рабочий ZX-NEXT)
IS-DOS загрузился с венчестера...Кстати, у этой версии на борту встроенный СЕКАМ-кодер (Камиля Каримова), поэтому к телевизору должно легко подключаться.

Mdesk
20.07.2010, 15:02
Вот, получил посылку с ZX-Next. Сделал сканы:

собранная "материнская" плата (верх и низ);
три чистые платы контроллеров (две стороны).

Разместил в альбоме «ZX-NEXT (http://fotki.yandex.ru/users/mikea32/album/109915/)» на Яндекс.Фотках.
Там при просмотре выбирайте "В другом размере" / "Оригинал", чтобы посмотреть в большом разрешении.

Voxel
20.07.2010, 20:35
Кстати, у этой версии на борту встроенный СЕКАМ-кодер (Камиля Каримова), поэтому к телевизору должно легко подключаться.

Что-то я этого не заметил...!! Где там секам-кодер????

Conan
20.07.2010, 20:38
Что-то я этого не заметил...!! Где там секам-кодер????
Белая керамическая микросхема рядом с ПЗУ NEXT ROM VIDEO. В документации должно быть описание, но насколько помню, там все просто: подключается к НЧ входу телека композитный видео-выход ZX-Next.

CodeMaster
21.07.2010, 09:54
три чистые платы контроллеров (две стороны).

Conan, а схемы этих контроллеров существуют?

Блин, срочно надо хакать VROM и возрождать клон ;-) уже всё есть для этого.

Conan
21.07.2010, 11:20
Conan, а схемы этих контроллеров существуют?Конечно существуют. Есть отсканенный кем-то комплект документации, его вроде еще CHRV делал.

Mdesk
21.07.2010, 14:46
а схемы этих контроллеров существуют?


Конечно существуют. Есть отсканенный кем-то комплект документации

Действительно. Keeper постарался (http://zx.pk.ru/showpost.php?p=294478&postcount=139) в этой же теме. CodeMaster, Вы что, забыли?

garlands
23.11.2010, 21:07
предлагаю вариант взлома VideoROM: берем квартус, например. в него засовываем ядро T(V)80 и моделируем интересующий кусок схемы. в итоге получим почти пошаговую отладку. а можно и в железе на одной из платок - Speccy2010, Reverse, aeon, etc. подозреваю что протеус не подойдет в силу применения недокументированных команд... хотя и можно попробовать... а если кто-нибудь вычитает ПЗУ при граничных напряжениях для выявления блока с плавающими ячейками, то сам процесс вообще будет тривиален вплоть до автоматического определения (по обращению по определенному адресу) необходимых мест.
мне, к сожалению, пока некогда этим заниматься (начался сезон командировок вплоть до по несколько раз в неделю... %) ). тема очень интересна.

Sandro
28.11.2010, 04:14
Есть вопрос по применённому в коде VPU трюку с NMI: вот если переход опускает A11 и соответственно заставляет сработать NMI, то что будет -- сразу NMI, или исполнится команда по адресу перехода, а потом уже будет NMI?

CodeMaster
15.04.2011, 09:16
Несколько дампов VROM. Названия файла адрес на котором происходит первый сбой верификации, некоторые адреса (например 16H и 12FH) появлялись по разу, остальные достаточно стабильно. Разница при чтении в основном не в битах, а в байтах, причем целиком (x00 и xFF) иногда вместо xFF что-то другое.

З.Ы. Вопрос такой, какой чип использовался для VROM? У меня пластик, т.е. видимо РФ5 (2716), но я считывал как 2732 и дамп заполнялся полностью :-/

Black_Cat
15.04.2011, 12:14
и прочитать на программаторе при разном напряжении, ну, например, от 3,5 до 5,5 Вага, а ещё сделай по сотне считываний на каждом шаге изменения напряжения. И я не шучу..

Conan
15.04.2011, 12:41
Есть вопрос по применённому в коде VPU трюку с NMI: вот если переход опускает A11 и соответственно заставляет сработать NMI, то что будет -- сразу NMI, или исполнится команда по адресу перехода, а потом уже будет NMI?Сразу NMI.


З.Ы. Вопрос такой, какой чип использовался для VROM? У меня пластик, т.е. видимо РФ5 (2716), но я считывал как 2732 и дамп заполнялся полностью :-/РФ5. Вероятность 99%. Партия (если так можно назвать) из десятка (или меньше) компов с 2732 разошлась по своим (знакомым). При этом микросхемы не заливались компаундом (эпоксидкой), а на них просто заклеивались фольгой "окошки". Фирменная маркировка оставалась.

CodeMaster
16.04.2011, 21:36
прочитать на программаторе при разном напряжении, ну, например, от 3,5 до 5,5 В

Чтение на 6.5 вольтах ситуацию не изменила, VROM читается нестабильно. По поводу пониженного пока думаю как сделать.

Conan
16.04.2011, 22:06
Чтение на 6.5 вольтах ситуацию не изменила, VROM читается нестабильно. По поводу пониженного пока думаю как сделать.При записи использовался специальный алгоритм. Одна из особенностей состояла в наличии программируемых задержек во время чтения (верификации). Без этих задержек возникающие переходные процессы (при выставлении адреса или CS/OE) приводили к "переключению" (затухающей автогенерации) ячеек в очень широком диапазоне напряжений питания.

CodeMaster
18.04.2011, 20:23
При записи использовался специальный алгоритм. Одна из особенностей состояла в наличии программируемых задержек во время чтения (верификации). Без этих задержек возникающие переходные процессы (при выставлении адреса или CS/OE) приводили к "переключению" (затухающей автогенерации) ячеек в очень широком диапазоне напряжений питания.

Т.е. если я правильно понимаю, надо выставлять программную задержку перед чтением байта после установки адреса? В софте Виллема есть ползунок tWC, он описан в манах как "длительность цикла записи" и tWP "длительность имульса программирования", всё это ИМХО не то, т.е. нужен программатор с софтом где есть такие настройки, либо хакнуть софт Виллема. Вообщем будем ждать дальше, когда звёзды сойдутся.

Conan
19.04.2011, 12:01
Т.е. если я правильно понимаю, надо выставлять программную задержку перед чтением байта после установки адреса?Да, правильно понимаешь. Но это один из вариантов. Другой способ - многократное (десятки или сотни раз) считывание и набор статистики.

CodeMaster
19.04.2011, 15:26
Другой способ - многократное (десятки или сотни раз) считывание и набор статистики.

Нажать 100 раз на кнопку "Read" и сохранить дамп не проблема, но для анализа этой статистики, тоже нужна прога, которой я так понимаю пока нет.

BYTEMAN
19.04.2011, 15:33
Программатор называется Турбо-6. У него есть функция программирования плавающих бит.

Keeper
19.04.2011, 15:35
для анализа этой статистики, тоже нужна прога, которой я так понимаю пока нет

Вроде как есть :) Выдает результат в виде:



CODE Diffs: 23

00B:
DUMP HEX BINARY
01 00 00000000
...
26 FF 11111111

0AC:
DUMP HEX BINARY
01 76 01110110
...
26 7E 01111110

DATA Diffs: 48

4C1:
DUMP HEX BINARY
01 00 00000000
...
26 E0 11100000

4C2:
DUMP HEX BINARY
01 00 00000000
...
26 E0 11100000

CodeMaster
19.04.2011, 15:41
есть функция программирования

Для начала нужна функция чтения плавающих бит.

Conan, не помню спрашивал я или нет, а остальные биты в этом байте несут какую ту нагрузку? Вообще проверялось "плавание" именно конкретного бита, или байта по адресу?


Вроде как есть Выдает результат в виде:

И что это за прога?

Conan
19.04.2011, 16:50
Conan, не помню спрашивал я или нет, а остальные биты в этом байте несут какую ту нагрузку? Вообще проверялось "плавание" именно конкретного бита, или байта по адресу?
Остальные биты несут смысловую нагрузку, они вместе с плавающим битом формируют адрес перехода. Там весь алгоритм проверки на этом строится: если "скачем" на одном месте (ничего не плавает) или "скачем" куда попало, то ПЗУ фальшивое. Если скачем только в узкой области (при определенном напряжении и температуре "плавают" несколько бит), то ПЗУ оригинальное.

Keeper
22.04.2011, 11:31
И что это за прога?

Когда-то писал для этих целей... Как использовать:
1. Считываем n дампов (n <= 100)
2. "Разворачиваем" считанные n дампов с помощью утилиты zxnvru (есть где-то в этой или второй теме)
3. Склеиваем "развернутые" дампы в один файл (размер должен получиться кратным 2048)
4. Запускаем zxnvrd с командной строки где в качестве аргумента передаем путь к файлу с дампами.

В результате получаем файл diffs.txt

Ссылка на утилиту zxnvru (http://zx.pk.ru/attachment.php?attachmentid=7941&d=1209412982)
З.Ы.: Что-то у меня не получилось с той темы удалить вложение...

CodeMaster
22.04.2011, 11:49
Будем копать...


с помощью утилиты zxnvru (есть где-то в этой или второй теме)

В другой теме (http://zx.pk.ru/showpost.php?p=131650&postcount=19), наверное лучше там удалить и приатачить к этому посту (для порядка ;-)

CodeMaster
27.04.2011, 10:01
4. Запускаем zxnvrd с командной строки где в качестве аргумента передаем путь к файлу с дампами.

Результат обработки 99 считываний на номинальном напряжении. Большие сомнения в корректности полученного результата, что-то тут не так :-/

CodeMaster
20.07.2011, 22:08
2. "Разворачиваем" считанные n дампов с помощью утилиты zxnvru (есть где-то в этой или второй теме)

Сделал подборку ещё из 100 считываний, но уже с "подвывертом". Результаты должны быть гараздо наглядней. Но кто-нибудь наваяйте батник, что бы эти 100 дампов не вручную подсовывать проге ;-)

Keeper
20.07.2011, 22:21
Но кто-нибудь наваяйте батник, что бы эти 100 дампов не вручную подсовывать проге ;-)

Фтопку батник, Total Commander рулит :)
1. Делаем имена файлов вида 123.001, 123.002 и т.д. (в тотале)
2. Склеиваем их же в тотале (Файлы -> Собрать файлы)
3. ???????
4. PROFIT!

1.1 Можно выслать все файлы в архиве мне в почту, а я сделаю diffы

CodeMaster
20.07.2011, 22:31
Total Commander рулит

Нет его у меня, и разбираться с ним не буду :-)


1.1 Можно выслать все файлы в архиве мне в почту, а я сделаю diffы

Первые пять строк можно было и не писАть ;-) Приатачил необработанные дампы.

Mdesk
20.07.2011, 23:22
Год назад я тоже игрался с чтением VROM. В диапазоне напряжения питания 4,7-5,3V под подозрение у меня попали 56 ячеек. Остальные ячейки в этом диапазоне у меня не плыли вообще! А эти плывут четко:


Vcc = 4,7 / 4,8 / 4,9 / 4,95 / 5,0 / 5,05 / 5,1 / 5,2 / 5,3 V
N Адрес (в программаторе)
------------------------------
1. 014B
2. 0163
3. 01AA
4. 01AC
5. 01AE
6. 01B0
7. 01B2
8. 01B4
9. 01B6
10. 01B8
11. 04C5
12. 04C7
13. 04C9
14. 04CB
15. 04CD
16. 04CF
17. 04D1
18. 04D3
19. 0507
20. 050B
21. 050F
22. 0561
23. 05B0
24. 05B2
25. 05B4
26. 05B6
27. 05B8
28. 05BA
29. 05BC
30. 05BE
31. 0606
32. 0618
33. 0682
34. 0684
35. 0686
36. 0688
37. 068A
38. 068C
39. 068E
40. 0690
41. 06B1
42. 06B3
43. 06B5
44. 06B7
45. 06B9
46. 06BB
47. 06BD
48. 06BF
49. 0790
50. 0792
51. 0794
52. 0796
53. 0798
54. 079A
55. 079C
56. 079E
------------------


В более широких пределах напряжения питания плывет уже очень много ячеек. И у меня сложилось впечатление, хотя это не факт, что начинают плыть даже "нормальные" ячейки. Интересно будет сравнить с вашими результатами.

CodeMaster
21.07.2011, 06:58
под подозрение у меня попали 56 ячеек

Очень знакомые адреса, только нет инфы какие именно биты плывут


Интересно будет сравнить с вашими результатами.

Вот Keeper выложит сравним, думаю не менее 90% совпадений.


Год назад я тоже игрался с чтением VROM.

А что не выкладывал резалты?

Mdesk
21.07.2011, 22:34
Очень знакомые адреса, только нет инфы какие именно биты плывутЭту инфу я смогу добавить, если нужно. Только придумаю, как это сделать не вручную.

А что не выкладывал резалты? Не с чем было сравнивать, + были и остаются сомнения.
Например, ячейки: 014B, 0163, 0507, 050B, 050F, 0561, 0606, 0618. В этих адресах 7-й разряд равен 0 (A7 - 1-я нога ПЗУ D8). Т.е. процессор D7 выставит сигнал /M1 = 0. Получается, что в этих ячейках содержатся не данные, а коды команд? Или это цикл подтверждения прерывания?
Чтобы во всём этом разобраться, мне показалось мало просто знать ячейки с плавающими битами. По-моему всё равно нужно дизассемблировать код и разбираться в нем.

CodeMaster
22.07.2011, 01:17
Получается, что в этих ячейках содержатся не данные, а коды команд? Или это цикл подтверждения прерывания?

Х.з. со слов Conan'а там только данные


Чтобы во всём этом разобраться, мне показалось мало просто знать ячейки с плавающими битами. По-моему всё равно нужно дизассемблировать код и разбираться в нем.

Ну, как бы да, разбираться полюбому, но типа есть отправные точки. Хотя что-то берут сомнения, что-то кто-то будет ковырятся в этом, стараниями ААА все демы пишут :-(

С другой стороны, в теории (как писАл выше BYTEMAN), при наличии у некоторго чела Турбо-6 и ZX Next в одном флаконе можно было бы практически проверить правильность определения ПБ, а заодно наделать всем желающим VROM'ов ;-)

solegstar
22.07.2011, 10:18
...при наличии у некоторго чела Турбо-6 и ZX Next в одном флаконе можно было бы практически проверить правильность определения ПБ, а заодно наделать всем желающим VROM'ов ;-)

Турбо-6 имеется, но нет ZX-Next... Если у кого в Харькове есть, то милости просим в гости!:)

CodeMaster
22.07.2011, 11:17
Если у кого в Харькове есть, то милости просим в гости!

Сначала от Keeper'а надо получить резалты обработки файлов и сравнить с данными Mdesk, а потом уже можно попробовать прошить и кому-то с ZX Next например выслать, для проверки. Так что пинай Keeper'а в бок ;-)

Keeper
23.07.2011, 14:28
Вот Keeper выложит

Выкладываю:
CODE Diffs: 99
DATA Diffs: 168
TOTAL Diffs: 267

Keeper
23.07.2011, 14:40
По сравнению с теми дампами что есть у меня соответствие процентов 95% плюс добавилось немного новых адресов...

Еще нашел *****батник для для пакетного перевода дампов в линейные адреса:


@echo off

for %%f in (./original/*.rom) do zxnvru.exe -d "%CD%\original\%%f" "%CD%\linear\%%f"

И еще проект на vhdl в котором можно поиграться с видеоконтроллером zx-next. Скрин из симулятора:
http://s016.radikal.ru/i334/1107/c6/b834bf766af0t.jpg (http://radikal.ru/F/s016.radikal.ru/i334/1107/c6/b834bf766af0.jpg.html)

CodeMaster
25.07.2011, 13:22
По сравнению с теми дампами что есть у меня соответствие процентов 95% плюс добавилось немного новых адресов...

ИМХО большинство случаев случайные ошибки (или нет) Например, по адресу 0B5 очевидно стабильное плавание бит, в остальных либо 1 отличие на 100, либо вообще нестабильная картина (как например 5CD, тов лес то по дрова)


И еще проект на vhdl в котором можно поиграться с видеоконтроллером zx-next.

Тут если только conan сможет что-то вспомнить, да и то врядли как он сам говорит.

Conan
30.07.2011, 14:35
Все PCAD-файлы для плат ZX-NEXT

Rindex
30.07.2011, 16:58
Замечательно было бы, если бы и полностью схемы на Next опубликовать!
У кого есть?

Пост №4 посмотри.

stakh
31.07.2011, 03:07
Ну вы и лохи, чел Conan, вас разводит по полной программе. Типа не могу найти прошивку. Да я помню как в первый класс поступил. Есть у меня друг детства, прожил в штатах 10 лет. Ну все отщепенцы как баблом запахло норовят вспомнить свою историческую родину. Да тут тоже всё понятно, чел решил посмотреть какие вы умные. И снитца нам не рокот космодрома, а снитца нам ванкувер и грецки.
Вешай лапшу и дальше, а мне этот клон на х... не упёрся как и все остальные.

Keeper
31.07.2011, 19:00
28474

AIS
31.07.2011, 19:25
Ну все отщепенцы как баблом запахло норовят...
Баблом запахло? Где?
"чел Conan" , мне кажется, провоцирует местное сообщество пошевелить слегка своими мозгами , но пока безуспешно.

Так никто и не отгадал загадку :

есть процессор, ПЗУ к нему подключено, старшие разряды адресной шины процессора – в воздухе болтаются. Какие команды (ассемблера, разумеется) нужно в ПЗУ использовать, что бы на старших разрядах было четкое переключение из ноля в единичку или наоборот? Если не ответит никто, буду искренне думать, что век настоящих профессионалов, для Speccy, закончился.?

Mick
31.07.2011, 19:40
Так никто и не отгадал загадку :
?

Все зависит от частоты переключений старших адресов. Если они не подключены к ПЗУ, как написано, то совершенно будет равнозначно исполнение команд ПЗУ хоть по нулевому адресу, хоть по 8000h( ну я так для примера). Т.е. в нужное время необходимо перегружать программный счетчик (регистр PC)

AIS
31.07.2011, 20:00
Примерно так - старшие адреса к ПЗУ не подключены и в выборке ПЗУ не задействованы, значит когда процессор переберет подряд все адреса он увидит 32 копии 2-х килобайтной ПЗУ , повторяющиеся одна за другой. Чтобы пошевелить ногой незадействованного старшего адреса надо просто сделать JMP на следующую ячейку, но адрес в этой команде записать с взведенным битом, который хотим взвести.
В результате соответствующая нога адреса взведется, а сбоя программы не будет, так как процессор будет читать следующую по порядку ячейку, просто возьмет её из "верхней копии" ПЗУ.

А как насчет методики копирования ПЗУ с плавающими ячейкми?

Keeper
31.07.2011, 20:01
то совершенно будет равнозначно исполнение команд ПЗУ хоть по нулевому адресу, хоть по 8000h( ну я так для примера).

там не только это, Conan намекает на то что не плохо бы еще следить за регистром I и за адресами портов при вводе/выводе...

AIS
31.07.2011, 20:19
следить за регистром I и за адресами портов при вводе/выводе...
Это тоже да... В общем перемудрили дядьки... Но если правильно скопировать ПЗУ, то это всё будет пофиг.
Если посмотреть на маркетинговую сторону дела, то сделали они всё неправильно. Не надо было защиты ставить вообще. Хотя , каюсь, понимаю я это только сейчас, а тогда поступил бы точно также как и они.
Вначале надо было добиваться максимально широкого распространения своего компа любой ценой.
Посмотрите как начинал даже такой известный "закрывальщик" как Стив Джобс -В документации к APPLE I есть не только полная схема, но дизассемблер ПЗУ с комментариями.

Keeper
31.07.2011, 20:25
На счет команд, сейчас точно не помню, но что-то вроде:


LD A,H
LD I,A
JP (HL)

KokaF77
31.07.2011, 20:26
процессор переберет подряд все адреса он увидит 32 копии 2-х килобайтной ПЗУ
Не 32, а 64 копии. :) Вы забыли про "M1". Прцессор видит отдельно 64 копии "ПЗУ команд" и 64 копии "ПЗУ данных".

Mick
31.07.2011, 20:39
На счет команд, сейчас точно не помню, но что-то вроде:


Кстати вроде мы тогда пытались разузнать в соседней теме. Что то мы повторяемся. Насколько я помню дамп ПЗУ тогда вроде получили по крайней мере адреса правильно в ПЗУ раскидали).

Keeper
31.07.2011, 20:52
Насколько я помню дамп ПЗУ тогда вроде получили по крайней мере адреса правильно в ПЗУ раскидали

Да, это все есть, у мну есть несколько наборов дампов (уже :) ) от КОЕ и от CodeMaster`a. В принципе как оно там работает можно посмотреть в том vhdl проекте что я выкладывал, но опять же нет смысла тратить на это время т.к. проверить результат негде. Разве что в симуляторе, а там посмотрим, может Savelij выложит свои наработки...

Кстати, если кто рассматривал скрин симулятора, то там видно что ВК работает нормально 3.8 секунды, симулятору я подсовывал дамп ПЗУ с линейными адресами.

KokaF77
31.07.2011, 20:59
Насколько я помню дамп ПЗУ тогда вроде получили
Только толку от этого дампа не много. Про плавающие биты Conan ведь не спроста писал. А они присутствуют и в коде и в данных. Сколько лет народ трёт эту тему, а сдвигов нет. Самое интересное, что и отладчики здесь не в помощь. Адресное пространство кода и данных разные. А это значит, что надо либо свой анализатор (дизассемблер) рисовать либо пачить какой-нибудь с открытым кодом. Как вариант можно для Иды в SDK наваять. Но опять же вылезает один неприятный момент: сам по себе код без времянок его исполнения - ничто. Так что задачка не из самых простых. :)

Mick
31.07.2011, 21:21
Тут посмотрел схему сейчас. Как раз старший адрес процессора формирует сигнал FLASH, т.е. старший адрес A15 меняется с равными промежутками времени. A12 - формирует кадровый синхроимпульс, т.е. он меняется допустим через каждые 50Гц, осталось вычислить его длительность. :)

Если вывод в порты не используется, то линия IORQ активизируется при возникновении прерываний как подтверждение. Но он вроде пишет порт :)

KokaF77
31.07.2011, 22:43
Тут посмотрел схему сейчас. Как раз старший адрес процессора формирует сигнал FLASH, т.е. старший адрес A15 меняется с равными промежутками времени. A12 - формирует кадровый синхроимпульс, т.е. он меняется допустим через каждые 50Гц, осталось вычислить его длительность. :)

Если вывод в порты не используется, то линия IORQ активизируется при возникновении прерываний как подтверждение. Но он вроде пишет порт :)

А ещё А14 - BLANK, VB (D7) - HALT CPU. А если посмотреть на регистры D10, D11, и муксы D18, D19?! Эта штука ещё и регенерацию памяти делает и вывод видео из ОЗУ.

Времянки должны интересовать _все_: C1-C16, V12(KSYN), V13, V14(BLANK), V15 (FLASH). И VB (D7), HALT CPU - вопрос.

AIS
31.07.2011, 22:56
Только толку от этого дампа не много. Про плавающие биты Conan ведь не спроста писал.
Давайте неспеша подумаем об этой защите. То, что адреса перепутаны, М1 использован нестандартно и пр. - это защита от того, чтобы программу заново с нуля не переписали так просто.
Плавающие биты это защита от прямого копирования.
Но просто плавающие биты это не защита - их легко можно сделать в нужных битах.
Как можно плавающие биты использовать для реальной защиты? Способ только один - применять не просто плавающие биты, а записывать в эти биты как бы аналоговое значение. Тоесть считываем этот бит, к примеру 100 раз, получается, например из 100 считываний 30 раз считался "0" и 70 раз "1". Это можно сделать условием проверки подлинности. Если же считалось 90 раз "0" и 10 раз "1", или, скажем, 50 на 50, то можно считать , что проверка не прошла.
Но не всё так просто - процент считывания "0" и "1" зависит ещё и от температуры и напряжения питания. Поэтому такой ключ ненадежен.
Выход такой - записать несколько плавающих битов с разной степенью "прошитости" (прошитостью назовем отношение количества считанных "0" к количеству считанных "1" . При прошитости 100% всегда считывается "0", при прошитости 0% всегда считывается "1", плавающий бит считывается с каким то промежуточным %)
Так вот - записать несколько плавающих битов с разной степенью "прошитости" , скажем так:
бит 1 - 30%
бит 2 - 60%
бит 3 - 10%

Если поплывут внешние условия - температура и напряжение питания, то считываемая статистика изменится, к примеру, так:
бит 1 - 57%
бит 2 - 93%
бит 3 - 48%

Фишка в том, что дестабилизирующие факторы влияют на разные биты одновременно - и если опираться на абсолютные значения "прошитости" бита нельзя - этот параметр сильно плавает , но стабильным остается соотношение прошитости разных бит, тоесть из примера выше - бит 2 всегда будет более прошит, чем бит 1 , соответственно бит 1 всегда будет более прошит, чем бит 3.
А на проверке этих условий уже можно построить защиту.
Не спроста же защита срабатывает через 3 сек. - время нужно, чтобы собрать статистику.
Вывод - для того, чтобы правильно считать это ПЗУ -
по железу: подойдет любой программатор и считывать достаточно только при номинальном напряжении питания.
по софту: софт для программатора надо написать свой - чтобы он собирал статистику считанных плавающих бит в табличку типа вышеприведенной:
бит 1 - 30%
бит 2 - 60%
бит 3 - 10% и т.д.

Два дополнения: 1. Количество считываний для сбора верной статистики надо подобрать эксперементально, начать, скажем со 100 считываний и увеличивать пока процент не перестанет сильно изменятся.
2. Надо убедится, что считываемая ПЗУ реально работает в компе - даже хорошо зашитые ячейки со временем начинают плавать, а уж изначально плавающие тем более ненадежны.

Про запись в следующий раз.

KokaF77
31.07.2011, 23:24
AIS, Фокус в том, что в коде плывут не байты, а отдельные биты, которые и "коверкают" (портят команду). Про данные не скажу, что бы этот алгоритм работал, как я понял, вероятность считывания ПБ должна быть "1" - 50%, "0" - 50 %, т.е. ОДИНАКОВАЯ для массива. В противном случае мы выйдем из "коридора" и сработает защита.
1. Надо точно локализовать ПБ:
а). в коде,
б). в данных.
2. Надо точно понять алгоритм защиты, исходя из п. 1(а).
Думаю будут ещё пунктики, но для начала надо с этим разобраться.

---------- Post added at 23:18 ---------- Previous post was at 23:14 ----------


Два дополнения: 1. Количество считываний для сбора верной статистики надо подобрать эксперементально, начать, скажем со 100 считываний и увеличивать пока процент не перестанет сильно изменятся.
Здесь десятки тысяч считываний нужны.

2. Надо убедится, что считываемая ПЗУ реально работает в компе - даже хорошо зашитые ячейки со временем начинают плавать, а уж изначально плавающие тем более ненадежны.
Все известные на сегодняшний день ПЗУ прошитые в те годы - живы и работают. Об этом уже писали в этом трэде.

---------- Post added at 23:24 ---------- Previous post was at 23:18 ----------

А вообше вот http://zx.pk.ru/showpost.php?p=295541&postcount=176

AIS
31.07.2011, 23:38
Фокус в том, что в коде плывут не байты, а отдельные биты,
В моём сообщении нигде небыло слова "байт"" - везде я говорю только об отдельных битах.


как я понял, вероятность считывания ПБ должна быть "1" - 50%, "0" - 50 %
Такой стабильной вероятности не будет - она поплывет в ту или другую сторону от температуры и напряжения. Как частный случай описанной мной защиты возможна проверка зашитости нескольких плавающих бит и если их зашитость примерно одинакова, то проверка пройдена.

2. Надо точно понять алгоритм защиты, исходя из п. 1(а).
Для простого копирования не надо понимать алгоритмов - надо просто воспроизвести "аналоговые" значения плавающих битов.

---------- Post added at 23:38 ---------- Previous post was at 23:26 ----------


А вообше вот http://zx.pk.ru/showpost.php?p=295541&postcount=176
Темнит здесь товарищ Конан:"... цель проверки сосчитать кол-во и положение ПБ из массива N. Если их число большое или ПБ расположены далеко друг от друга в массиве N, то опять же срабатывает защита."

Получается просто нужно расположить плавающие биты как в эталонной ПЗУ и всё?
Тогда я получается придумал защиту собственной конструкции. И круче ,чем в ZX Next :)

KokaF77
31.07.2011, 23:39
Такой стабильной вероятности не будет - она поплывет в ту или другую сторону от температуры и напряжения. Как частный случай описанной мной защиты возможна проверка зашитости нескольких плавающих бит и если их зашитость примерно одинакова, то проверка пройдена.
Может я не совсем корректно выразился. Я говорил о массиве. Сумма вероятностей всех ПБ должна быть 1. Гауссово распределение о котором упоминал Conan.


Для простого копирования не надо понимать алгоритмов
Сильно сомневаюсь, что получится скопировать, не зная всех тонкостей процесса. и не имея оригинала (а по хорошему нужен не один).

AIS
31.07.2011, 23:49
Копировать, не имея оригинала - это сильно :) Тогда это получается не копировать, а заново разработать.

Вся тонкость процесса - многопроходная запись с промежуточным контролем зашитости плавающих бит - как только значение зашитости плавающего бита достигнуто - файл прошивки автоматом корректируется - на месте этого бита выставляется "1" и он оставляется в этом состоянии, далее дошиваются оставшиеся биты и т. д.

KokaF77
31.07.2011, 23:57
Копировать, не имея оригинала - это сильно Тогда это получается не копировать, а заново разработать.


по хорошему нужен не один

Может, всё же проще разобраться в 200-ах байтах кода?!

AIS
01.08.2011, 00:04
Ну это уже клуб по интересам - кому то интереснее разобраться в 200 байтах кода, кому то сломать защиту не глядя в код.
Но вы правы - я оригинала ПЗУ не имею, поэтому подтвердить свои догадки могу только разобравшись с кодом. Вряд ли кто-то имеющий оригинал будет писать софт для программатора по моему рецепту.