User Tag List

Страница 9 из 81 ПерваяПервая ... 5678910111213 ... ПоследняяПоследняя
Показано с 81 по 90 из 909

Тема: "ZX-8080" - Даунгрейд компьютера "Ленинград"

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

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

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,388
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,366
    Поблагодарили
    1,316 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Насчет WRM/ понял когда посмотрел дальше. На мой взгляд обозначение сбивает, это скорее не WRM/, а "признак незаписи в порт", т.е. должен выходить из прямого напарника OUTP/. У D42.2 можно поменять не выходы, а входы D4 и D6, тогда выходы будут правильно.

    Этот пользователь поблагодарил ivagor за это полезное сообщение:

    Mick(21.08.2020)

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

  3. #2

    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    10,141
    Спасибо Благодарностей отдано 
    216
    Спасибо Благодарностей получено 
    769
    Поблагодарили
    417 сообщений
    Mentioned
    23 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Насчет WRM/ понял когда посмотрел дальше. На мой взгляд обозначение сбивает, это скорее не WRM/, а "признак незаписи в порт", т.е. должен выходить из прямого напарника OUTP/. У D42.2 можно поменять не выходы, а входы D4 и D6, тогда выходы будут правильно.
    Да, ты прав надо поменять D4 и D6 местами.

    Обновил схему и вставил ссылку в первый пост, так проще будет ее обсуждать.
    Сайт поддержки моих изделий - http://micklab.ru/
    Группа ВКонтакте - https://vk.com/micklab

  4. #3

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,388
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,366
    Поблагодарили
    1,316 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В программе для zx8080 сложностей нет, проблема с эмуляцией. А вариант с заданием "бывшей старшей половины" через дополнительный порт (я пробовал FF) в emu нормально работает.

  5. #4

    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    10,141
    Спасибо Благодарностей отдано 
    216
    Спасибо Благодарностей получено 
    769
    Поблагодарили
    417 сообщений
    Mentioned
    23 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    В программе для zx8080 сложностей нет,
    Понятно, кстати насколько сильно возрастет обработчик клавы в варианте как есть по сравнению с оригиналом. Ну и сколько он будет занимать в варианте с доп регистром.
    Сайт поддержки моих изделий - http://micklab.ru/
    Группа ВКонтакте - https://vk.com/micklab

  6. #5

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,388
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,366
    Поблагодарили
    1,316 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вариант чтения порта клавиатуры, соответствующий текущей схеме, проще всего реализуется фрагментом с модифицируемой командой in (маска клавиатуры, она же старшая половина порта z80, в A)
    Код:
    sta SetIn+1
    SetIn: in 0
    Причем очевидно этот фрагмент должен располагаться в озу и его удобно оформить в виде процедуры.
    Вариант с заданием маски через отдельный порт
    Код:
    out 0FFh
    in 0FEh
    Это короче, но если оформить в виде процедуры, то каждый вызов в обоих случаях будет по 3 байта.

  7. #6

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,388
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,366
    Поблагодарили
    1,316 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Попробовал понять, как в ленинграде реализован арбитраж проц/видео. На данный момент создалось впечатление, что видео-байты читаются через 1 такт, а проц, за счет того, что у z80 /rd и /mreq в "обычных" циклах доступа к памяти длинные (2 такта) в этот интервал успевает получить хотя бы одно окно доступа. В M1 mreq и rd короче двух тактов, поэтому тут добавлен тормоз для удлиннения.
    В текущей схеме сигналы формируются так, что они будут короче, чем в варианте с z80. Стоит или
    1. Простой вариант - распостранить тормоз на все обращения к памяти, не только M1
    2. Сложный - попробовать сформировать длинные сигналы на основе слова состояния без использования dbin и wr проца.

    - - - Добавлено - - -

    Дополню. /wr у z80 короткий (практически как у 8080), вероятно поэтому в ленинграде формируют /we из mreq, rd и rfsh.

    - - - Добавлено - - -

    Цитата Сообщение от ivagor Посмотреть сообщение
    2. Сложный - попробовать сформировать длинные сигналы на основе слова состояния без использования dbin и wr проца.
    После некоторого размышления склоняюсь к мысли, что это возможно только для записи, а чтение в любом случае придется тормозить.

  8. #7

    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    10,141
    Спасибо Благодарностей отдано 
    216
    Спасибо Благодарностей получено 
    769
    Поблагодарили
    417 сообщений
    Mentioned
    23 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    В M1 mreq и rd короче двух тактов, поэтому тут добавлен тормоз для удлиннения.
    На самом деле в наших клонах Спектрума вполне работает без WAIT/. У меня на Фениксе тоже память не WAITится.
    Так что хотелось в идеале и на ВМ80 получить, раз ты говоришь длительность сигналов одинкова.
    Тогда надо WR/ убрать из цикла записи.

    - - - Добавлено - - -

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    для оно нужно будет ложить в раме
    Короче ставить надо регистр на адресные линии клавы и не парить мозг.
    И пользоваться такой процедурой

    ld a,b
    out ($FF),a - порт адресных линий
    in a,($FE)
    Сайт поддержки моих изделий - http://micklab.ru/
    Группа ВКонтакте - https://vk.com/micklab

  9. #8

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Mick Посмотреть сообщение
    ld a,b
    out ($FF),a - порт адресных линий
    in a,($FE)
    а как такой вариант будет работать на обычном спектруме
    отправленный на вывод A попадет в старший адрес порта?

    в эмуляторе внезапно по моему такое работало
    правда я брал порт F0 и у меня в бипере стоял треск


    было бы интересно сохранить работоспособность прошивки на настоящем спектруме

    - - - Добавлено - - -

    Цитата Сообщение от ivagor Посмотреть сообщение
    Ты уже передал под опрос с out FF?
    там 3 секунды переделывать

    я ужо и клацалки поставил в начале сорца

    key_type = 1 ;1
    ;2

    io_type = 1 ;1
    ;2

  10. #9

    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    10,141
    Спасибо Благодарностей отдано 
    216
    Спасибо Благодарностей получено 
    769
    Поблагодарили
    417 сообщений
    Mentioned
    23 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    было бы интересно сохранить работоспособность прошивки на настоящем спектруме
    Пользуйся условной компиляцией. Сделай два варианта один под ВМ80 и zx8080, а второй для обычного спектрума с Z80
    Сайт поддержки моих изделий - http://micklab.ru/
    Группа ВКонтакте - https://vk.com/micklab

  11. #10

    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    10,141
    Спасибо Благодарностей отдано 
    216
    Спасибо Благодарностей получено 
    769
    Поблагодарили
    417 сообщений
    Mentioned
    23 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    /wr у z80 короткий (практически как у 8080), вероятно поэтому в ленинграде формируют /we из mreq, rd и rfsh.
    Да у z80 сигнал wr/ короткий длительностью один такт, начинается половины T2 и заканчивается на половине T3.
    У ВМ80 сигнал wr/ тоже длительностью один такт и занимает весь T3
    Действительно в текущем варианте схемы можно и пролететь.

    Кстати сигнал DBIN тоже короткий и тоже в один такт начинается в половине T2 и заканчивается в половине T3, по сути следует после SYNC.
    В Z80 сигнал rd/ длинный и одинаков по длительности с MREQ/ начинается с половины T1 и заканчивается в половине T3

    Если сопоставить с Ленинградом, где по сути длительность записи равна длительности сигнала MREQ/ при условии что RD/ и RFSH/ не активны то есть равны 1.
    Иными словами нам надо получить что подобное, начало которого начинается с SYNC, а заканчивается DBIN.
    Сайт поддержки моих изделий - http://micklab.ru/
    Группа ВКонтакте - https://vk.com/micklab

Страница 9 из 81 ПерваяПервая ... 5678910111213 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Кросскомпилятор Си под 8080
    от vinxru в разделе Разное
    Ответов: 110
    Последнее: 27.05.2024, 23:06
  2. Z80 => 8080 адаптация
    от NEO SPECTRUMAN в разделе Программирование
    Ответов: 22
    Последнее: 22.06.2021, 18:12
  3. Ассемблер 8080
    от Kakos_nonos в разделе Утилиты
    Ответов: 0
    Последнее: 21.09.2011, 23:35
  4. An 8080/Z80 C Compiler
    от breeze в разделе Программирование
    Ответов: 1
    Последнее: 18.08.2005, 06:54
  5. Где бы найти схему компьютера Ленинград-2?
    от Ne01eX в разделе Ленинград
    Ответов: 2
    Последнее: 27.06.2005, 11:58

Ваши права

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