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

User Tag List

Показано с 1 по 7 из 7

Тема: железный debugger для z80 систем

  1. #1
    Guru Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    Kiev/Ukraine
    Сообщений
    2,016
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    76
    Поблагодарили
    63 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию железный debugger для z80 систем

    помогите сочинить народную схему для subj

    тема уже не новая, както пытался обсуждать ее тут http://www.nedopc.org/forum/viewtopic.php?f=68&t=19660

    суть:
    ------------------------------------ скопировал старое сообщение оттуда-----------------------------------------------
    Возник тут у меня затык с одной платой (игровой автомат на основе MSX2 для игры в zanac-ex) при сбросе шото там происходит внутрях msx2 bios и оно зацикливается вначале вывода заставки MSX, как я понимаю приходит сигнал прерывания и после него шото там ломается... если сигнал прерывания оторвать от процессора то заставка MSX таки "выезжает" до конца но потом зацикливается уже в самом конце... долго я пытался шото понять че там происходит, советовали мне сделать типо как POST карточку (порт подключенный к семисегментному индикатору) и править прошивку чтоб знать до какого места оно доходит нормально а где дело идет уже не так как надо... но все это кажется мне негодящимся для такой проблемы.

    Чего задумал, подключить на шину Z80 самодельный компаратор сигналов с заданным pattern-ом и как токо на шине появляется нужное мне состояние выставлять ~wait_n. Ну и как-то ж потом надо считывать значения с шины значит и напрямую девайс должен уметь читать значения с шины. Ну и возможно в портах и памяти тоже надо уметь лазить, потому наверно еще надо как-то ~busreq_n задействовать. В общем думаю что UI для этой штуки должен обеспечивать сторонний комп (terminal?) а сама штука ввиду сложности скорее всего должна иметь MCU (отвечающий по serial наверно, или по USB что наверно излишество), по идее тут идеально ARDUINO подходит. Ну а вводить\выводить данные нужно будет наверно через i8255 + регистры? либо влепить сходу несколько штук i8255 (хотя там многие однонаправленные регистры будут, как минимум для stop-pattern-a, i8255 для таких будет overkill)

    Может ктото решал уже подобную задачу? Ктото знает про "штуку" с кучей i/o и управлением с компа?
    ----------------------------------------------------------------------------------------------------------------------------

    вот нарисовал в меру своего понимания схему, смотрите в attachment-e

    схему сопряжения с управляющим компом не рисовал, думаю ее сочинить будет легко, по сути надо обеспечить запись\чтение регистров из 2-х i8255 (у каждой микрухи 4 регистра, т.е. всего нужно 8 адресов)

    эти две i8255 висят на шине подопытного z80 компа, U1 может читать\писать значения с\на его шинны адреса и данных (при выполнении проги все порты включенны на ввод), U2 своими портами A и B может задать адрес точки останова (останов происходит по ~wait_n сигналу z80), эти порты всегда работают на выход (в связи с этим вначале думал влепить простые ИР23 но это усложнит схему и унификация програмного интерфейса которую дает применение i8255 тоже уйдет), порт С у U2 разделен на 2 части по 4bit-a, первая часть по идее может работать и на ввод и на вывод (PC0-PC3) устанавливая или читая ~rd_n ~wait_n ~mreq_n ~iorq_n, а вторая часть (PC4-PC7) должна работать только на вывод и устанавливать режимы работы, PC4 - для вкл\откл BREAKPOINT-a, PC5 - для CONTINUE, PC6 - для захвата шины z80 (по идее в этом режиме можно вместо самого z80 лезть в память и порты подопытного), PC7 - для генерации маскируемого прерывания (возможно тут на выходе потребуется влепить одновибратор чтоб укоротить ~int_n до нужного значения).

    пишите свои замечания, я не уверен вообще что достаточно знаю для сооружения такой штуки, может чего не понял и не знаю, подскажите еще что
    Вложения Вложения
    Последний раз редактировалось bigral; 08.03.2020 в 19:28.

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

  3. #2
    Member
    Регистрация
    01.09.2019
    Адрес
    г. Ижевск
    Сообщений
    50
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ИМХО, я бы сделал без 8255 — на одной DIP40 avr'ке типа ATmega16 (их много и на них можно поставить среду Arduino) + USB UART свисток, моё любимое сочетание.
    Ещё момент — если доступ к памяти осуществляется через ULA, то иногда нужно точно имитировать поведение процессора, например, про Т34ВГ1 уже обсуждали в теме https://zx-pk.ru/threads/31140-chten...ati-omevm.html
    В частности, /WAIT у Т34ВГ1 — это, мне кажется, только выход.
    Последний раз редактировалось dvarkin; 09.03.2020 в 09:15.

  4. #3
    Guru Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    Kiev/Ukraine
    Сообщений
    2,016
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    76
    Поблагодарили
    63 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не хватило бы i/o у atmega16, а i8255 и есть универсальные i/o расширители которые могут менять находу направленность, эти 2шт i8255 - абстракция програмного и аппаратного интерфейса на уровне 2 пачек регистров i8255, потом сам софт для дебага будет легче перенести на разные платформы и подключать хоть к спектруму, хоть к бк-шке, хоть к ардуине.

    Т34ВГ1 это процессор, ~wait_n у него должен быть входом, а иначе теряется изначальный смысл самого сигнала.

    по поводу доступа к памяти вместе с ULA, да тут такой простой схемы никак не хватит, надо мутить автомат на рт-шках и заводить на него сигнал /CLK (ну и ~wait_n) а процессор при этом держать в режиме dma...

  5. #4
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,652
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    41 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Союз Arduino и классического процессора:
    https://habr.com/ru/post/446048/

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

    murgatroid_79 (11.03.2020)

  7. #5
    Member
    Регистрация
    01.09.2019
    Адрес
    г. Ижевск
    Сообщений
    50
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да-да, ошибся, в последнем абзаце #2 ВГ имелся ввиду.
    И с ATmega16 тоже не угадал, вот у ATmega8515 (также у ATmega161 и ATmega162) 35 GPIO — после ША и ШД останется 11 свободных, используем для UART 2 и получится 9, вроде, хватает, и шины нагружать не будет сильно.
    Однако, если будет написан софт для спектрума, то ВВ55 ИМХО оправдан, так уж и быть.

  8. #6
    Member
    Регистрация
    01.09.2019
    Адрес
    г. Ижевск
    Сообщений
    50
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А у STC12C5A60S2 (1T 80C51) GPIO даже больше!

  9. #7
    Guru Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    Kiev/Ukraine
    Сообщений
    2,016
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    76
    Поблагодарили
    63 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    а ктото может нарисовать схему "эмуляции" доступа z80 к шине (с учетом ~wait_n и clk сигналов)? схема должна уметь писать и читать ячейку памяти или регистр порта

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

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

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

Похожие темы

  1. Ответов: 10
    Последнее: 15.02.2020, 12:36
  2. Debugger УКНЦ
    от S_V_B в разделе ДВК, УКНЦ
    Ответов: 52
    Последнее: 05.05.2018, 20:52
  3. Железный раздел
    от Ewgeny7 в разделе Форум
    Ответов: 106
    Последнее: 10.02.2012, 19:14
  4. NEW MONITOR + DEBUGGER for allram
    от VELESOFT в разделе Софт
    Ответов: 7
    Последнее: 02.01.2009, 17:16

Ваши права

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