Важная информация

User Tag List

Страница 4 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 31 по 40 из 50

Тема: В чем смысл раздельных областей программы и данных

  1. #31

    Регистрация
    15.11.2007
    Адрес
    Харьков
    Сообщений
    873
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    Микроскопом гвозди забивать....
    На то время, в принципе понятно, проще разводка, меньше микросхем, дешевле плата и как бонус защита от копирования (ПЗУ видеопроцессора)

    Цитата Сообщение от Vadim Посмотреть сообщение
    Два по 64К не сделать.
    Это да, "полноценных" (где заняты все байты) не получиться, ИМХО

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

  3. #32

    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Keeper Посмотреть сообщение
    На то время, в принципе понятно, проще разводка, меньше микросхем, дешевле плата и как бонус защита от копирования (ПЗУ видеопроцессора)
    На то время это было не лучшим решением, а на мой взгляд худшим. Смотрим схему профи, хоть 3.x -5.x. На плате видеоконтроллер занимает не больше места, если и больше то процентов на 10. При этом не использует дорогой на то время Z80.
    А как защита ПЗУ не годится. Выпаиваем и считываем. ПЗУ на профи не было защитой, а являлось элементом "конечного автомата" который мы могли программировать, а точнее плавно менять параметры сигналов INT и синхронизации и ещё кое-чего.

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  4. #33

    Регистрация
    15.11.2007
    Адрес
    Харьков
    Сообщений
    873
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    На то время это было не лучшим решением...
    http://zx.pk.ru/showthread.php?t=112
    http://zx.pk.ru/showthread.php?t=7577

    Если осилите эти два топика, думаю, вопросов станет меньше, или же наоборот, больше но в любом случае будет полезно...

  5. #34

    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну, реально, конечно, разделить на 2 памяти по 64к можно, если нагородить огород поставив плисину и загнав в нее логику с длинами команд - это более чем реально, но монструозно. и М1, кстати, здесь вполне сгодится. наверное

  6. #35

    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ясно ясно. Conan описывает метод взлома плавающих битов. Я бы так делать не стал сразу. Раз программа - стал бы дизассемблировать, хотя бы те куски которые читаются стабильно. Плавающих битов быть много не должно и 1000 раз считывать было бы не нужно. А вообще теперь ясно зачем всё это делалось. Но вот ведь как вышло. ZX-Next самый малочисленный клон из-за защиты от копирования.

    ---------- Post added at 15:49 ---------- Previous post was at 15:35 ----------

    Цитата Сообщение от Keeper Посмотреть сообщение
    На то время, в принципе понятно, проще разводка, меньше микросхем, дешевле плата и как бонус защита от копирования (ПЗУ видеопроцессора)
    Прочитав половину первого топика могу сказать, что выбор такой схемы был по нескольким причинам, но главная это защита от копирования (о которой я раньше не знал, т.к. инфы о zx-next особо не было) и уж потом уменьшение деталей на плате. Если бы я знал о том, что в ZX-Next была защита от копирования ПЗУ видеоконтроллера, то и вопросов бы не возникло;-) В топике писали что типа её не взломать. Взломать можно. Распечатав листинг программы и много думая, отладчик не поможет, отлаживать придется в голове, придется и циклы расписать. О чем там Чунин Роман и говорит частенько. Читаем доки по Z80 и в путь. Работа сложная но не невыполнимая. Можно взломать это ПЗУ и сделать модификацию без плавающих битов. Это реально.

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  7. #36

    Регистрация
    15.11.2007
    Адрес
    Харьков
    Сообщений
    873
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    Можно взломать это ПЗУ и сделать модификацию без плавающих битов. Это реально.
    Взломать можно все, это вопрос времени и актуальности. Т.к. у меня нет ни плат ни эмулятора, то и смысла заниматься этим нет, результат проверить негде. Если БК все же пришлет набор плат, то тогда и продолжу начатые ранее ковыряния, тем более имеющаяся прошивка видео-контроллера позволяет проверить работоспособность компьютера.

  8. #37

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

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Я каэшн, дико извиняюсь, но, если я правильно понял, при выполнении следующего кода:
    Код:
    addr:
    ld a,#10
    ld bc,#1234
    из кодового сегмента будет делаться выборка по адресам addr и addr+2, а из сегмента данных по адресам addr+1,addr+3,addr+4.

    И в чем здесь сокровенный смысл?
    К примеру, требуется выполнить вот такой код:
    LD A, (BC)
    LD HL, (nn)
    LD I, A
    JP (HL)
    используя только три разряда (A0-A2) шины адреса Z80.

    В любом случае для него потребуется (байт):
    1 + 1
    3 + 2
    2
    1
    Итого: 10 байт памяти. Из них 7 байт кодов операций (команд) и 3 байта данных. То есть в общем пространстве комманд-данных адресовать его тремя разрядами (A0-A2) шины адреса Z80 невозможно.

    Теперь разделим пространство команд и данных на две части (сигналом M1). Получим адресумемые 8 байт для команд и 8 байт для данных. Размещаем необходимые данные для команды:
    LD A, (BC)
    "под": JP (HL)
    (BC указывает на адрес в сегменте данных, по которому в сегменте кода находится: JP (HL))

    а для команды:
    LD HL, (nn)
    "под": LD A, (BC) и (первым байтом) LD HL, (nn)
    (nn указывает на адрес в сегменте данных, по которому в сегменте кода находится: LD A, (BC))

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

    Разумеется, остались незанятыми (из 16 байт) 3 байта в сегменте команд (между LD HL, (nn) и LD I, A) и после JP (HL) и 5 байт в сегменте данных. Но для чего их использовать всегда находилось .

    ---------- Post added at 14:47 ---------- Previous post was at 14:20 ----------

    Цитата Сообщение от Vadim Посмотреть сообщение
    Вообще мне непонятно зачем было принято такое решение о применении Z80 в таком ключе? Смотрю и не понимаю.
    Объясняю. В начале 90-х какой клон спека был самым популярным? Ага. "Ленинград 1". Почему? У него же инт кривой, вейты, адресация портов неправильная, системной шины нет, видеосигналы непойми какие. Одно недоразумение. Что же получается, люди были дураками? Ан нет. Дело в том, что в "Ленинграде 1" используется всего 41 (сорок одна) микросхема. При цене в среднем 3 рубля за корпус, получалось 123 рубля. Зарплата молодого инженера. И это самое дешевое. А если собирать "Москву 48", то это уже 68 корпусов. Да еще приходилось кондючки подбирать, что бы заработало.

    Как сократить кол-во микросхем? В те годы ни циклонов ни альтер не было. Заказать БИС на БМК стоило слишком дорого. А Z80 продавались по 30 рублей. То есть, как десяток обычных микросхем.

    В ZX-NEXT в минимальной конфигурации 36 микросхем + еще один Z80. Итого на 15 рублей (тех денег) дороже "Ленинград 1", но:
    видеосигналы идеальные,
    потры (включая #FF) корректные, инт на месте,
    никаких вейтов,
    возможности расширения большие (4/5 слотов),
    настраивать (подбирать кондючки резючки) не надо.

    И всего то потому, что второй Z80 с программой заменил кучку мелкой неизменяемой логики.

  9. #38

    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Conan, теперь многое ясно, но всё же. Микросхемы были не так дёшевы, помнится набор плата+детали в том же 89-м году для ленинграда-1 стоил 500-650р. Дешевле не было просто. В 1990-м около 800-900р. Микросхем в магазинах в нашем городе вообще не было, купить их было нереально. А реализация видеоконтроллера на счетчиках+прошивка ПЗУ более легкая и не менее правильная. Писать прошивку для zx-next чрезвычайно трудоёмкое занятие. На западе бы такими вещами думаю не стал бы заниматься. В плане защиты, думаю это была самая сильная защита из аппаратных на то время.

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  10. #39

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

    По умолчанию

    Цитата Сообщение от Vadim Посмотреть сообщение
    Микросхемы были не так дёшевы, помнится набор плата+детали в том же 89-м году для ленинграда-1 стоил 500-650р. Дешевле не было просто. В 1990-м около 800-900р. Микросхем в магазинах в нашем городе вообще не было, купить их было нереально.
    В наборы входили процессоры, ПЗУ, платы, мелочевка. На форуме уже обсуждали их стоимость, поищите. В вашем городе может так дорого продавали наборы, потому, что не было радиорынка. Хотя даже на Тушинском радионынке в Москве наборы продавали дороже, чем можно было купить по отдельности. Потому, что набор покупаешь у одного человека, а за рассыпухой еще побегать надо. Хотя цены колебались, в зависимости от доступности, наглости продавца, инфляции и т.д. В Питере было относительно стабильно и дешево, потому, что там радиорынок (в Автово) работал. А в Москве до весны 1991 радиорынка по сути не было. Гоняли радиолюбителей милицией. Попробуй при этом купи подешевле. Хватали абы что и по любой цене. Вот и колебались цены но самые низкие были именно летом 1991 года. Тогда мелочевка упала до 2-3-х рублей за корпус (ЛА, ЛЕ, ЛЛ и т.д.). А до этого стоили и по 5 рублей и по 10 (за редкие позиции типа КР580ВА86).

    Цитата Сообщение от Vadim Посмотреть сообщение
    А реализация видеоконтроллера на счетчиках+прошивка ПЗУ более легкая и не менее правильная. Писать прошивку для zx-next чрезвычайно трудоёмкое занятие. На западе бы такими вещами думаю не стал бы заниматься. В плане защиты, думаю это была самая сильная защита из аппаратных на то время.
    До сих пор нерасколотая . Хотя кто только не брался и КОЕ и JTN и т.д. Что касается трудоемкости, это правда, примерно как сборка головоломки. Зато интересно.
    У реализации решения ПЗУ+счетчики есть свои плюсы и есть минусы. Впервые это решение появилось в "Красногорске" (не самом популярном клоне), а затем Михаил Яцык использовал его в "Профи". Леонид Ермаков (мой напарник по разработке ZX-NEXT) был знаком с Яцыком и оценивал его разработки весьма высоко. Но для ZX-NEXT решение ПЗУ+счетчики не подходило потому, что требовалось помимо видеосигналов и INT-а формировать еще адреса видеовыборки из ОЗУ (для перекючения между видеорежимо спека и CGA), изменять (уменьшать) период регенерации (что бы надежно работало), формировать медленные сигналы (FLASH). На ПЗУ+счетчики этого было не реализовать, пришлось бы устанавливать множетство микросхем дополнительно. И разумеется, защитить хотелось (хотя бы на первое время). С тем же "Профи" вышла нехорошая история, когда две фирмы потом его не поделили, а некоторым покупателям в случае проблем отказывали в поддержке (потому, что купил плату не их).
    Что касается "на западе так бы не делали", так на западе в то время и фирменные ZX-ы уже прекратили выпускать. А если говорить про "плавающие" ячейки, так Intel по той же технологии ПЗУ выпускать стал, на 8 лет позже, чем они заработали в ZX-NEXT.

    ---------- Post added at 17:03 ---------- Previous post was at 16:35 ----------

    Цитата Сообщение от psb Посмотреть сообщение
    ну, реально, конечно, разделить на 2 памяти по 64к можно, если нагородить огород поставив плисину и загнав в нее логику с длинами команд - это более чем реально, но монструозно. и М1, кстати, здесь вполне сгодится. наверное
    А кстати курьезная штука получилась бы. С обычным спеком совместимая но с дополнительными фичами:
    между имеющимеся командами можно еще команд наставить (в одном линейном адресном пространстве команд две разные программы, в зависимости от того с какого места стартовать) и данные под инструкциями прятать другие. Но программировать в такой среде - жуть.

  11. #40

    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Conan Посмотреть сообщение
    С тем же "Профи" вышла нехорошая история, когда две фирмы потом его не поделили, а некоторым покупателям в случае проблем отказывали в поддержке (потому, что купил плату не их).
    Да, я в курсе. Читал в доках по профи, Sayman искал разработчиков, тоже кое что узнал, да и на форуме тут была инфа.


    Цитата Сообщение от Conan Посмотреть сообщение
    Что касается "на западе так бы не делали",
    Цитата Сообщение от Conan Посмотреть сообщение
    До сих пор нерасколотая .
    Я это понимаю, защита сделана хорошо, в ваших требованиях к разработке и фактах понятно что это было оптимальным решением (про CGA до недавнего времени не знал или забыл что был такой режим (сейчас только вспомнил, что в ZX-Форум была инфа тогда что есть видеорежим, но не был поддержан программно). Конечно на счетчиках+массив данных это не реализовать, я все понимаю, а своим высказыванием я хотел сказать вот что
    1)Схема очень и очень сложная, это очень сложный конечный автомат, как клубок из которого торчат ниточки и дернув за каждую получаем некий результат который ещё и зависит от того что перед этим дергали. Академически это интересно, а вот практически... Сложно проектировать и создавать, ладно вы делали вдвоем, а если это компания где много сотрудников которые приходят и уходят, никто не поймет толком что и как. Т.е. разработка должна быть понятна и ясна, документирована. А тут сложная головоломка. При том, как я понимаю, возможности Z80 в ней практически исчерпаны, можно было взять и любой другой проц, важны состояния проца, режимы и кол-во выводов. Чем их больше - тем проще, не нужно использовать iorq m1 и прочее (как бы) не по делу. На западе все же сделали бы заказную мс. Да, я знаю что у нас это было нереально.

    Цитата Сообщение от Conan Посмотреть сообщение
    между имеющимеся командами можно еще команд наставить (в одном линейном адресном пространстве команд две разные программы, в зависимости от того с какого места стартовать) и данные под инструкциями прятать другие. Но программировать в такой среде - жуть.
    Я такие методы использовал. И видел как используют другие. Бывает очень выручает.

    ---------- Post added at 08:59 ---------- Previous post was at 08:49 ----------

    2) Можно было бы сделать аналогичный функционал с т.з. пользователя (но без защиты от копирования) на другой элементной базе и в другом виде. Этот вариант уникальный, интересный, но развития практически не имеет. Захотим сделать что-то ещё от схемы придется отказаться. Те задачи и требования которые Вы тогда перед собой поставили - выполнили на пять с плюсом. Но это очень трудоёмко.

    Ещё я хотел вот что сказать, наши кооперативщики ("Дисплей" которые делали Колоры) 700р и больше в месяц получали. Как же так Вы отдавали им по 1р за ПЗУ? Готовый комп они продавали за тысячу и выше. Нельзя было отдавать свои разработки. Ну не получилось со слотом, сами бы попробовали. Сделать свой бизнес. Найти деньги, занять, не знаю, ну не отдавать же ноу-хау дельцам.

    ---------- Post added at 08:59 ---------- Previous post was at 08:59 ----------

    2) Можно было бы сделать аналогичный функционал с т.з. пользователя (но без защиты от копирования) на другой элементной базе и в другом виде. Этот вариант уникальный, интересный, но развития практически не имеет. Захотим сделать что-то ещё от схемы придется отказаться. Те задачи и требования которые Вы тогда перед собой поставили - выполнили на пять с плюсом. Но это очень трудоёмко.

    Ещё я хотел вот что сказать, наши кооперативщики ("Дисплей" которые делали Колоры) 700р и больше в месяц получали. Как же так Вы отдавали им по 1р за ПЗУ? Готовый комп они продавали за тысячу и выше. Нельзя было отдавать свои разработки. Ну не получилось со слотом, сами бы попробовали. Сделать свой бизнес. Найти деньги, занять, не знаю, ну не отдавать же ноу-хау дельцам.

    ---------- Post added at 09:03 ---------- Previous post was at 08:59 ----------

    Цитата Сообщение от Conan Посмотреть сообщение
    В вашем городе может так дорого продавали наборы, потому, что не было радиорынка.
    У нас и не продавали, продавали в Челябинске на радиорынке (и то я узнал о этом уже году в 1992-1993). Кому было надо ездили туда и покупали, а у нас Спектрумы стоили выше тысячи рублей. В магазине видел комп (похожий корпусом на Атари-130) с монитором цветным за 4000р. Баснословная сумма.

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

Страница 4 из 5 ПерваяПервая 12345 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Базы данных на Спекки
    от Ewgeny7 в разделе Софт
    Ответов: 18
    Последнее: 06.06.2019, 17:30
  2. Суперпаковщик данных BitBuster
    от Aprisobal в разделе Программирование
    Ответов: 35
    Последнее: 18.10.2010, 08:02
  3. В чем смысл разделых полей памяти
    от Gryphon в разделе Для начинающих
    Ответов: 31
    Последнее: 20.05.2010, 18:12
  4. База данных по модулям МПИ
    от KALDYH в разделе ДВК, УКНЦ
    Ответов: 0
    Последнее: 10.06.2009, 17:39

Ваши права

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