User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 346

Тема: Расскажите о ZX Next

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    15.01.2005
    Адрес
    Kievska Rus
    Сообщений
    1,149
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    22.01.2005
    Адрес
    Moscow
    Сообщений
    2,250
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    282
    Поблагодарили
    109 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jtn
    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 отдельная история.

  4. #3

    Регистрация
    15.01.2005
    Адрес
    Kievska Rus
    Сообщений
    1,149
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

  5. #4

    Регистрация
    15.01.2005
    Адрес
    Kievska Rus
    Сообщений
    1,149
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  6. #5

    Регистрация
    22.01.2005
    Адрес
    Moscow
    Сообщений
    2,250
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    282
    Поблагодарили
    109 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jtn
    Не надо еще забывать, при каждом цикле регенерации на старшую часть адресов идет рег.I.
    Золотые слова, еще немного, будет правильное решение.

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

    Цитата Сообщение от jtn
    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.

  7. #6

    Регистрация
    18.01.2005
    Адрес
    Москва
    Сообщений
    3,695
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

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

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

    Пожалуйста пишите в email (chunin{гаф}mail{тчк}ru), личка отключена!!!

    NedoPC group. ZX-Evolution, ATM Turbo 2+, Pentagon1024SL.
    [Предлагаю: ZXEvo, PAL coder, NeoGS, TS-FM, YM2149, Z80 и прочее]
    Все здесь: http://www.nedopc.com.
    Новости/поддержка/Faq: http://forum.nedopc.com.
    Раздача халявы: http://forum.nedopc.com/viewtopic.php?f=32&t=977

  8. #7

    Регистрация
    22.01.2005
    Адрес
    Moscow
    Сообщений
    2,250
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    282
    Поблагодарили
    109 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Опять непонятки какие-то, рассуждаете с горяча, Роман. Я даже могу представить, что было: сунули Next ROM Video в программатор, считали, затем верифицировали. Не сошлось, считали еще раз, сравнили, увидели расхождения, возможно еще раз считали и сравнили. И решили:
    Цитата Сообщение от CHRV
    Я расскажу: недопрограмленные биты там стоят случайно считываемые.
    Так ведь?
    А мои слова, про «массив» и «цифро-аналоговую запись», это я наверно, что бы крутизны, напустить? Только вот зачем? Я же не торгую железом, да и лет мне не… ну, в общем, не столько, что бы пальцы гнуть перед ребятами… Ладно, лирика, проехали.
    Если всерьез, кто ломать надумает, пусть знает:
    В 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 баксов, на двоих и на три года, много получится?
    Цитата Сообщение от CHRV
    Пиво с меня, но при условии что ко мне заглянешь на рюмку чая
    Да кстати некоторые занимаются железом не для наживы, а в свое удовольствие! Хотя наверно этого Вам не понять и действительно не поверил, ведь проще было бы какую-нить простенькую ПЛМ поставить.
    Так что не рассказывайте мне, пожалуйста, чего мне «не понять».
    А за предложение по поводу пива или чая - спасибо, принимается. Точную дату определим чуть позднее О.К.?
    P.S. Простеньких, а главное дешевых, и таких же функциональных, как видеопроцессор ZX-Next, ПЛМ в 92 году не было. А за дорогие решения народ и сейчас платить не готов, а в то время тем более. Еще раз напомню, цель была сделать компьютер, пригодный для массового производства.
    P.P.S. По поводу серийников, и много чего еще, в другом месте. Тут, все же не zxnext.narod.ru и тред этот, наверно, уже задолбал всех.

  9. #8

    Регистрация
    19.01.2005
    Адрес
    Planet Earth
    Сообщений
    407
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  10. #9

    Регистрация
    15.01.2005
    Адрес
    Kievska Rus
    Сообщений
    1,149
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  11. #10

    Регистрация
    16.01.2005
    Адрес
    Москва
    Сообщений
    1,992
    Спасибо Благодарностей отдано 
    227
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    115 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Conan
    P.S. Простеньких, а главное дешевых, и таких же функциональных, как видеопроцессор ZX-Next, ПЛМ в 92 году не было. А за дорогие решения народ и сейчас платить не готов, а в то время тем более. Еще раз напомню, цель была сделать компьютер, пригодный для массового производства.
    А почему не подошла ПЛМ 1556ХЛ8? Ее в видеоконтроллер ATM еще в 1991 году вставили.
    Максагор, NedoPC group
    ПК ATM-turbo 2+ 1024Kb RAM, 1,7Gb HDD, CD-ROM, Turbo FM, GS-512
    [ZX rulezzz 4reva!!!]
    http://atmturbo.nedopc.com
    http://vk.com/atmturbo
    http://maksagor.livejournal.com
    http://moskprf.ru
    [СССР][Коммунизм][КПРФ] ну [ZX], естественно...

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •