User Tag List

Страница 8 из 25 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя
Показано с 71 по 80 из 249

Тема: Корвет: Общие вопросы

  1. #71

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

    По умолчанию

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

    Вот эти таблицы (копия есть на моем сайте). Первая - карта срабатывания блоков ПЛМ. Использование этой карты теоретически позволяет сэмулировать работу даже при нестандартных значениях системного регистра. Вторая - карта памяти в стандартных режимах в наглядном виде.


    Хотел загрузить сюда, но при уменьшении получается нечитабельно, поэтому ссылки. UPD: Догадался упаковать в архив.

    Расшифровка обозначений:
    • RAM - основная память;
    • GRAM - ОЗУ графического контроллера;
    • TRAM - ОЗУ алфавитно-цифрового контроллера;
    • ROM1, ROM2, ROM3 - блоки ПЗУ;
    • DEVS - устройства ввода-вывода;
    • REGS - регистры;
    • KB - клавиатура.

    Входы ПЛМ:
    • /WR - сигнал записи от процессора;
    • /RD - сигнал чтения от процессора;
    • M10 - сигнал, соответствующий циклу чтения команды от контроллера прерываний;
    • Dx - биты системного регистра;
    • Ax - биты шины адреса;

    Выходы ПЛМ:
    • M1, M2 - код вида ОЗУ, подаваемый на дешифратор;
    • /RG - выбор регистров;
    • /DV - выбор устройств ввода-вывода;
    • /KB - выбор клавиатуры;
    • /R1, /R2, /R3 - выбор блока ПЗУ.


    Столбцы таблицы:
    • Маска адреса - участвующие в срабатывании блока ПЛМ биты шины адреса, расставленные в правильном порядке;
    • Биты SYSREG - участвующие в срабатывании блока ПЛМ биты системного регистра, расставленные в правильном порядке;
    • Диапазон адресов - диапазон, соответствующий полученной маске;
    • Длина - размер диапазона в байтах;
    • TRS80 и др. - признаки срабатывания блоков ПЛМ в зависимости от стандартных значений системного регистра. Наличие плюса означает, что при данном значении системного регистра и адреса на шине произойдет срабатывание блока ПЛМ, и обращение будет переключено от основного ОЗУ на соответствующее устройство.


    Прочерк означает, что для данного блока ПЛМ значение сигнала безразлично.
    Вложения Вложения
    Последний раз редактировалось Panther; 29.12.2009 в 01:10.

  2. #72

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Красивые картинки Надо будет сравнить со своей раскладкой памяти...

  3. #73

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

    По умолчанию

    Какие знакомые таблички :)
    очень напоминают мои, на досуге положу и выложу
    я свои строил по доке микса и доке на ПК Контур
    там даже помнится были различия

    а чего вы манипулируете только стандартными конфигурациями
    всего же их 32
    там конечно много мертворожденных но есть и забавные которые могли бы использоваться
    тот же 4с = 1с

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

    собвственно две эти фичи использывались в реальной жизни.

    вот что у меня в эмуляторе используется (лежат в файле mapper.mem)
    толко что отреверсил из бинарника :)

    sysreg:00:
    type: ROM0 start:0000 end:1fff
    type: ROM1 start:2000 end:37ff
    type: KBD start:3800 end:39ff
    type: REG start:3a00 end:3aff
    type: PORT start:3b00 end:3bff
    type: ACZU start:3c00 end:3fff
    type: RAM start:4000 end:ffff
    __________________________________________________
    sysreg:04:
    type: ROM0 start:0000 end:1fff
    type: RAM start:2000 end:ffff
    __________________________________________________
    sysreg:08:
    type: ROM0 start:0000 end:1fff
    type: ROM1 start:2000 end:3fff
    type: RAM start:4000 end:ffff
    __________________________________________________
    sysreg:0c:
    type: RAM start:0000 end:ffff
    __________________________________________________
    sysreg:10:
    type: ROM0 start:0000 end:1fff
    type: RAM start:2000 end:f7ff
    type: KBD start:f800 end:f9ff
    type: REG start:fa00 end:faff
    type: PORT start:fb00 end:fbff
    type: ACZU start:fc00 end:ffff
    __________________________________________________
    sysreg:14:
    type: ROM0 start:0000 end:1fff
    type: RAM start:2000 end:f7ff
    type: KBD start:f800 end:f9ff
    type: REG start:fa00 end:faff
    type: PORT start:fb00 end:fbff
    type: ACZU start:fc00 end:ffff
    __________________________________________________
    sysreg:18:
    type: ROM0 start:0000 end:1fff
    type: ROM1 start:2000 end:3fff
    type: RAM start:4000 end:f7ff
    type: KBD start:f800 end:f9ff
    type: REG start:fa00 end:faff
    type: PORT start:fb00 end:fbff
    type: ACZU start:fc00 end:ffff
    __________________________________________________
    sysreg:1c:
    type: RAM start:0000 end:f7ff
    type: KBD start:f800 end:f9ff
    type: REG start:fa00 end:faff
    type: PORT start:fb00 end:fbff
    type: ACZU start:fc00 end:ffff
    __________________________________________________
    sysreg:20:
    type: ROM0 start:0000 end:1fff
    type: ROM1 start:2000 end:37ff
    type: KBD start:3800 end:39ff
    type: REG start:3a00 end:3aff
    type: PORT start:3b00 end:3bff
    type: ACZU start:3c00 end:3fff
    type: RAM start:4000 end:bfff
    type: GZU start:c000 end:ffff
    __________________________________________________
    sysreg:24:
    type: ROM0 start:0000 end:1fff
    type: RAM start:2000 end:bfff
    type: GZU start:c000 end:ffff
    __________________________________________________
    sysreg:28:
    type: ROM0 start:0000 end:1fff
    type: ROM1 start:2000 end:3fff
    type: RAM start:4000 end:bfff
    type: GZU start:c000 end:ffff
    __________________________________________________
    sysreg:2c:
    type: RAM start:0000 end:bfff
    type: GZU start:c000 end:ffff
    __________________________________________________
    sysreg:30:
    type: ROM0 start:0000 end:1fff
    type: RAM start:2000 end:3fff
    type: GZU start:4000 end:7fff
    type: RAM start:8000 end:fdff
    type: PORT start:fe00 end:feff
    type: REG start:ff00 end:ffff
    __________________________________________________
    sysreg:34:
    type: ROM0 start:0000 end:1fff
    type: RAM start:2000 end:3fff
    type: GZU start:4000 end:7fff
    type: RAM start:8000 end:fdff
    type: PORT start:fe00 end:feff
    type: REG start:ff00 end:ffff
    __________________________________________________
    sysreg:38:
    type: ROM0 start:0000 end:1fff
    type: ROM1 start:2000 end:3fff
    type: GZU start:4000 end:7fff
    type: RAM start:8000 end:fdff
    type: PORT start:fe00 end:feff
    type: REG start:ff00 end:ffff
    __________________________________________________
    sysreg:3c:
    type: RAM start:0000 end:3fff
    type: GZU start:4000 end:7fff
    type: RAM start:8000 end:fdff
    type: PORT start:fe00 end:feff
    type: REG start:ff00 end:ffff
    __________________________________________________
    sysreg:40:
    type: ROM0 start:0000 end:1fff
    type: ROM1 start:2000 end:3fff
    type: ROM2 start:4000 end:5fff
    type: RAM start:6000 end:f7ff
    type: KBD start:f800 end:f9ff
    type: REG start:fa00 end:faff
    type: PORT start:fb00 end:fbff
    type: ACZU start:fc00 end:ffff
    __________________________________________________
    sysreg:44:
    type: ROM0 start:0000 end:1fff
    type: RAM start:2000 end:f7ff
    type: KBD start:f800 end:f9ff
    type: REG start:fa00 end:faff
    type: PORT start:fb00 end:fbff
    type: ACZU start:fc00 end:ffff
    __________________________________________________
    sysreg:48:
    type: ROM0 start:0000 end:1fff
    type: ROM1 start:2000 end:3fff
    type: RAM start:4000 end:f7ff
    type: KBD start:f800 end:f9ff
    type: REG start:fa00 end:faff
    type: PORT start:fb00 end:fbff
    type: ACZU start:fc00 end:ffff
    __________________________________________________
    sysreg:4c:
    type: RAM start:0000 end:f7ff
    type: KBD start:f800 end:f9ff
    type: REG start:fa00 end:faff
    type: PORT start:fb00 end:fbff
    type: ACZU start:fc00 end:ffff
    __________________________________________________
    sysreg:50:
    type: ROM0 start:0000 end:1fff
    type: ROM1 start:2000 end:3fff
    type: ROM2 start:4000 end:5fff
    type: RAM start:6000 end:fdff
    type: PORT start:fe00 end:feff
    type: REG start:ff00 end:ffff
    __________________________________________________
    sysreg:54:
    type: ROM0 start:0000 end:1fff
    type: RAM start:2000 end:fdff
    type: PORT start:fe00 end:feff
    type: REG start:ff00 end:ffff
    __________________________________________________
    sysreg:58:
    type: ROM0 start:0000 end:1fff
    type: ROM1 start:2000 end:3fff
    type: RAM start:4000 end:fdff
    type: PORT start:fe00 end:feff
    type: REG start:ff00 end:ffff
    __________________________________________________
    sysreg:5c:
    type: RAM start:0000 end:fdff
    type: PORT start:fe00 end:feff
    type: REG start:ff00 end:ffff
    __________________________________________________
    sysreg:60:
    type: ROM0 start:0000 end:1fff
    type: ROM1 start:2000 end:3fff
    type: ROM2 start:4000 end:5fff
    type: RAM start:6000 end:beff
    type: REG start:bf00 end:bfff
    type: GZU start:c000 end:ffff
    __________________________________________________
    sysreg:64:
    type: ROM0 start:0000 end:1fff
    type: RAM start:2000 end:beff
    type: REG start:bf00 end:bfff
    type: GZU start:c000 end:ffff
    __________________________________________________
    sysreg:68:
    type: ROM0 start:0000 end:1fff
    type: ROM1 start:2000 end:3fff
    type: RAM start:4000 end:beff
    type: REG start:bf00 end:bfff
    type: GZU start:c000 end:ffff
    __________________________________________________
    sysreg:6c:
    type: RAM start:0000 end:beff
    type: REG start:bf00 end:bfff
    type: GZU start:c000 end:ffff
    __________________________________________________
    sysreg:70:
    type: ROM0 start:0000 end:1fff
    type: ROM1 start:2000 end:3fff
    type: ROM2 start:4000 end:5fff
    type: RAM start:6000 end:bfff
    type: GZU start:c000 end:ffff
    __________________________________________________
    sysreg:74:
    type: ROM0 start:0000 end:1fff
    type: RAM start:2000 end:bfff
    type: GZU start:c000 end:ffff
    __________________________________________________
    sysreg:78:
    type: ROM0 start:0000 end:1fff
    type: ROM1 start:2000 end:3fff
    type: RAM start:4000 end:bfff
    type: GZU start:c000 end:ffff
    __________________________________________________
    sysreg:7c:
    type: RAM start:0000 end:bfff
    type: GZU start:c000 end:ffff
    __________________________________________________

  4. #74

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

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    а чего вы манипулируете только стандартными конфигурациями
    Не, я привел описание работы ПЛМ, а как его использовать уже второй вопрос. Раскладку на стандартные режимы я делал только для сверки с документацией. К тому же, ядро моего собственного эмулятора конфигурируется именно таким образом, как описано в этой таблице, так что стандартный режим или нестандартный для моих собственных целей безразлично.

    Цитата Сообщение от esl Посмотреть сообщение
    там кстати надо еще обрабатывать случаи записи в ром, на самом деле пишем в RAM под ним и по моему запись в клавиатуру
    Смысл в том, что если не сработала ни одна строка ПЛМ, то происходит обращение к ОЗУ, так что эти нюансы работают автоматически. Если мы посмотрим на таблицу, то видно, что выборка УВВ не зависит от сигналов /WR и /RD, поэтому для них возможны и чтение, и запись. А вот клавиатура активизируется только чтением, регистры - только записью, ROM - тоже чтением (точнее, отсутствием записи). Я именно для того и хотел представить логику работы маппера так, чтобы не нужно было делать подобных оговорок, и оно работало само просто при аккуратной реализации этой логики.

    ---------- Post added 30.12.2009 at 00:45 ---------- Previous post was 29.12.2009 at 23:54 ----------

    Да, и есть еще один специфический момент. Старший бит системного регистра отнюдь не брошен. Его значение через инвертор заведено на вход разрешения программирования всех трех микросхем ПЗУ. Пока в нем 0 - все путем, ПЗУ в режиме чтения. Зачем туда писать 1, я так до конца и не понял - возможно, разработчики предполагали функцию внутрисхемного программирования ПЗУ, при некоторых ухищрениях для подачи программирующего напряжения?
    Последний раз редактировалось Panther; 30.12.2009 в 00:11.

  5. #75

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

    По умолчанию

    Цитата Сообщение от BYTEMAN Посмотреть сообщение
    Корвет - машина классная, но к нему софта нифига нету...
    По моему мнению всё дела в проце. Если бы на корвет изначально был установлен Z80 или советский аналог 1858ВМ1(2,3) или хотя-бы в плату были бы заложены возможности апгрейда, то всё было бы гораздо лучше. Много софта можно было бы адаптировать с других платформ. С Ямахи, с Профи (в 90-х), с Вектора-06с и пр. 2,5Мгц не так много, учитывая скудные возможности 8080. Разработчики явно ошиблись рассчитывая на то, что Z80 недостижим. К 1989г он был уже доступен и не по баснословной цене.

    А ещё я хочу рассказать о своём Корвете. Купил его по объявлению в газете в 1995г. Внимательно осмотрел внутренности. Вычистил плату. Увидел что ОЗУ сделано как и у всех Корветов на 565РУ6. Т.е. имеем 4 линейки по 16К. Хотя в описании говорится что Корвет поддерживает и РУ5. Т.к. КУ5 были недороги и имелись в свободной продаже я недолго думая заменил ОЗУ в своём Корвете на РУ5. Теперь ГЗУ составляет 192К. Но вот софта я в то время не нашёл, хотя читал что где-то был драйвер электронного диска, который использовал дополнительное ОЗУ.

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

    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
    [свернуть]

  6. #76

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

    По умолчанию

    Цитата Сообщение от Panther Посмотреть сообщение
    К тому же, ядро моего собственного эмулятора конфигурируется именно таким образом
    Вот это архиправильно !

    Цитата Сообщение от Panther Посмотреть сообщение
    Я именно для того и хотел представить логику работы маппера
    в таком случае прямо напрашивается в файл с прошивкой PLM с которым и работает эмулятор

    Старший бит системного регистра отнюдь не брошен
    забавно, надо посмотреть на схеме контура ...
    неужто программатор ...

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

  8. #77

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

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    в таком случае прямо напрашивается в файл с прошивкой PLM с которым и работает эмулятор
    Нет, ну надо же соблюдать баланс между точностью эмуляции и скоростью работы. Если эмулировать до микросхем, слишком сложно и затратно по производительности получится. При этом никакого выигрыша в точности не будет, если логика правильно описана.

    Что касается данного случая, то при эмуляции по блокам ПЛМ получается 29 "условных" операторов (или 29 строк конфигурации маппера в универсальных эмуляторах типа b2m) против более 150 в приведенном вами случае.

  9. #78

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

    По умолчанию

    Цитата Сообщение от Panther Посмотреть сообщение
    Что касается данного случая, то при эмуляции по блокам ПЛМ получается 29 "условных" операторов (или 29 строк конфигурации маппера в универсальных эмуляторах типа b2m) против более 150 в приведенном вами случае.
    ээ? не понял, откуда 150 строк ?
    на всякий случай, я автор pk8020.narod.ru

    откопал и сфоткал свои бумажки пор плм,
    я же говорил что это мне что-то напоминает
    особенно это


    http://picasaweb.google.com/sergey.e.../KorvetPK8020#

    там кстати таки 2 разных прошивки PLM

  10. #79

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

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    ээ? не понял, откуда 150 строк
    Перебор значений SYSREG + анализ адреса и типа обращения для каждого. Получается слишком громоздко. А для реализации простой логики как раз пришлось разобрать схему и ПЛМ.

    Цитата Сообщение от esl Посмотреть сообщение
    на всякий случай, я автор pk8020.narod.ru
    О, это я удачно попал Так это у вас там половина разделов не работает?

    Цитата Сообщение от esl Посмотреть сообщение
    откопал и сфоткал свои бумажки пор плм,
    Где ж вы раньше были? Я бы два дня не убил на повторение уже кем-то сделанного.


  11. #80

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

    По умолчанию

    Цитата Сообщение от Citron Посмотреть сообщение
    здесь книжка "Знакомьтесь: персональная ЭВМ Корвет"
    Рабочий адрес сейчас:
    http://korvetpc.ru/page_Soderzhanie.html
    но там не полная книга.

    Было бы хорошо если кто-нибудь сделает .pdf файл книги (и лучше полутоновый, а не 1-битный).

    На счёт почему мало программ, основная причина что появилась машина поздно - 1988 год. Максимум её ждали лавры Вектора-06ц появившегося тогда же, но вероятно доступность в магазинах или цена и здесь помешали.

Страница 8 из 25 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Вектор-06Ц: Общие вопросы
    от CityAceE в разделе Вектор
    Ответов: 867
    Последнее: 17.10.2025, 18:38
  2. Вопросы Викерсу и Альтвассеру.
    от Conan в разделе Люди
    Ответов: 20
    Последнее: 07.04.2006, 12:24
  3. вопросы по таймингу Z80/ZX
    от boo_boo в разделе Несортированное железо
    Ответов: 21
    Последнее: 28.01.2006, 02:05
  4. Вопросы по Турбо-ВГ
    от Jukov в разделе Внешние накопители
    Ответов: 11
    Последнее: 13.01.2006, 12:18
  5. Мониторы: подключение к ним. Вопросы.
    от Dut_Norshi в разделе Изображение
    Ответов: 12
    Последнее: 25.06.2005, 04:54

Ваши права

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