User Tag List

Показано с 1 по 10 из 72

Тема: Радио-86РК или как "понюхать" систему команд переключателями

Древовидный режим

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

    Регистрация
    03.08.2012
    Адрес
    п. Сосново, Ленинградская обл.
    Сообщений
    51
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ... продолжу

    Заносим с адреса 0000: 3E 55 32 С0 77 3E AA
    На ассемблере будет так
    Код:
    MVI   A, 55h	; Занести 55h в аккумулятор
    STA   77C0h	; записать из аккумулятора по адресу 77С0h
    MVI   A, 0AAh	; Занести 0AAh в аккумулятор
    Процессор на шинах будет творить следующее
    Код:
              шина
    адрес  данные    управление
    0000    3E        -MEMRD (чтение из памяти)
    0001    55        -MEMRD (чтение из памяти)
    0002    32        -MEMRD (чтение из памяти)
    0003    C0        -MEMRD (чтение из памяти)
    0004    77        -MEMRD (чтение из памяти)
    77C0    55        -MEMWR (запись в память)     Во блин, куда это проц полез. Сказал я себе в 1987году.
    0005    3E        -MEMRD (чтение из памяти)
    0006    AA        -MEMRD (чтение из памяти)
    Ещё интиресно посмотреть как проц себя ведёт когда мы обращаемся к подпрограммам.
    Заносим с адреса 0000: 31 FF 74 21 12 17 CD 0A 00 76 E5 21 99 88 00 E1 C9

    На ассемблере будет так
    Код:
    0000  31 FF 74 		LXI     SP, 74FFH	; НАСТРОИТЬ УКАЗАТЕЛЬ СТЕКА	
    0003  21 12 17		LXI	H, 1712h	; посестить в HL пару значение 1712h
    0006  CD 0A 00 		CALL	DELAY		; ВЫЗОВ ПОДПРОГРАММЫ Delay
    0009  76		HLT			; останов
    
    000A  E5	DELAY:	PUSH	H  		; СОХРАНИТЬ В СТЕКЕ ЗНАЧЕНИЕ РЕГИСТРОВОЙ ПАРЫ HL
    000B  21 99 88		LXI 	8899h		; ТУТ САМА ПОДПРОГРАММА. И она "портит" регистрвую пару HL,
    000E  00		NOP			; НО МЫ СЕЙЧАС больше НИЧЕГО НЕ ДЕЛАЕМ	
    000F  E1		POP	H		; ВОССТАНОВИТЬ HL пару
    0010  C9		RET			; ВОЗВРАТ ИЗ ПОДПРОГРАММЫ
    Процессор на шинах будет творить следующее
    Код:
              шина
    адрес  данные      управление
    0000    31        -MEMRD (чтение из памяти)
    0001    FF        -MEMRD (чтение из памяти)
    0002    74        -MEMRD (чтение из памяти)
    0003    21        -MEMRD (чтение из памяти)
    0004    12        -MEMRD (чтение из памяти)
    0005    17        -MEMRD (чтение из памяти)
    0006    CD        -MEMRD (чтение из памяти)
    0007    0A        -MEMRD (чтение из памяти)
    0008    00        -MEMRD (чтение из памяти)
    74FE    00        -MEMWR (запись в память)    ; ЭТО ПРОЦЕССОР СОХРАНИЛ В СТЕКЕ АДРЕС КУДА ОН ДОЛЖЕН     
    74FD    09        -MEMWR (запись в память)    ; ВЕРНУТЬСЯ ИЗ ПОДПРОГРАММЫ.  АДРЕС 0009
    000A    E5        -MEMRD (чтение из памяти)
    74FC    17        -MEMWR (запись в память)    ; ЭТО ПРОЦЕССОР СОХРАНИЛ В СТЕКЕ ЗНАЧЕНИЕ HL ПАРЫ.     
    74FB    12        -MEMWR (запись в память)    ; в HL ПАРЕ ЗНАЧЕНИЕ 1712h
    000B    21        -MEMRD (чтение из памяти)
    000C    99        -MEMRD (чтение из памяти)
    000D    88        -MEMRD (чтение из памяти)
    000E    00        -MEMRD (чтение из памяти)
    000F    E1        -MEMRD (чтение из памяти)
    74FB    12        -MEMRD (чтение из памяти)  ; ЭТО ПРОЦЕССОР ВОССТАНОВИЛ ИЗ СТЕКА  
    74FC    17        -MEMRD (чтение из памяти)  ; ЗНАЧЕНИЕ HL ПАРЫ 1712h
    0010    C9        -MEMRD (чтение из памяти)
    74FD    09        -MEMRD (чтение из памяти)  ; ЭТО ПРОЦЕССОР ВОССТАНОВИЛ ИЗ СТЕКА  
    74FE    00        -MEMRD (чтение из памяти)  ; АДРЕС СЛЕДУЮЩЕЙ КОМАНДЫ ПОСЛЕ ВЫЗОВА ПОДПРОГРАММЫ. АДРЕС 0009   
    0009    76        -MEMRD (чтение из памяти)
    Вот так.

    На процессорной плате стоит ПЗУ 8кБ и занимает стандартные адреса РК E000-FFFFh. Да, да с E000. Именно так разбито адресное пространство 555ИД7 в РК. Значит по адресу 0000 в ПЗУ я пишу команду безусловного перехода на адрес F800h. Остальное место (6кБ) остается под наши дополнения. Об этом чуть позже.
    Для подключения к VGA монитору я изменил в мониторе настройку контроллера дисплея 580ВГ75 (идею взял отсюда http://www.zx-pk.ru/showthread.php?t=13148). Все программы РК-86 работают нормально. ОЗУ поставил статическое на 32кБ.
    Сначала в схеме у меня стоял системный контроллер 580ВК28 - для буферирования шины данных и дешифрации сигналов чтение/запись памяти и чтение/запись портов. В РК-86 как известно обращение ко всем контроллерам идёт как к ячейкам памяти, а не портам. Ну я то делал пульт на котором есть светодиоды обращения к портам (команды IN, OUT). Короче не получилось жить вместе 580ВК28 и 580ВТ57. ПДП нормально не стартовал. Я поставил ПДП 1810ВТ37, написал прогу инициализации 1810ВТ37 и 580ВГ75, прошил в ПЗУ и изображение на мониторе появилось - ПДП заработало. Но инициализация ВТ37 длиннее, чем ВТ57. Пришлось выкинуть системный контроллер и заменить его на 555АП6 и 555ЛП8. На плате так и осталась пустая панель под 580ВК28.

    Для превращения в полноценный РК-86 была разработана плата на которой стояли контроллер ПДП (580ВТ57), контроллер дисплея (580ВГ75) со своей "обвязкой", порты 580ВВ55. Клавиатуру решил подключить от PC PS/2. Контроллер PS/2-клавиатуры был взят из http://www.zx-pk.ru/showthread.php?t=9294
    Надо было ещё откуда то и программы загружать. Придумал ROM-диск. Флеш память использовал PA28F400 512КБ. Ну просто была микросхема. Как я ее "прошивал" отдельная история.

    Схемы я рисую в программе Orcad v9.2 Печатные платы разрабатываю в SprintLayOut. Выложить всё сюда я не смог. Больно много и размеры ... Всё в архиве можно скачать отсюда http://narod.ru/disk/65375399001.094.../RK86.rar.html
    Там схемы, платы, фотографии, прошивки. Кстати там в прошивке Монитора 4 раза одно и тоже записано. После эксперементов осталось.

    Что творю сейчас. Ну надо как то связать РК и РС. Придумал схему на 580ВВ51. Сделал дополнительные 2 директивы для ввода и вывода по COM (место то в ПЗУ 6кБ свободно). Прога со стороны PC написана на Delphi. И уже собирался печатную плату травить, как передумал. Хочу сделать так. Берем SD диск и форматируем на РС в FAT16. Пишем нужные нам файлы на SD. Вставляем в РК. Читаем с SD и запускаем. Переписать назад с РК на PC не обдумывал. Мне вроде не надо.
    Может что то забыл написать. Спрашивайте.
    Последний раз редактировалось tihsasha; 14.01.2013 в 21:13.

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

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

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

Похожие темы

  1. Радио-86РК: По страницам журнала "Радио"
    от Viktor2312 в разделе Радио-86РК
    Ответов: 79
    Последнее: 13.02.2014, 08:34
  2. Куплю плату для сборки "Радио 86РК"
    от Kanzler2001 в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 22.04.2012, 14:39
  3. Изучается спрос на "Радио 86РК"
    от AL.EX в разделе Барахолка (архив)
    Ответов: 5
    Последнее: 15.06.2010, 18:18
  4. Ответов: 7
    Последнее: 04.01.2010, 09:27
  5. Куплю "Электронику КР-02" (клон "Радио-86РК")
    от Titus в разделе Барахолка (архив)
    Ответов: 10
    Последнее: 18.08.2009, 15:30

Ваши права

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