Электроника МС 6313: различия между версиями

Материал из Emuverse
(категория)
 
(не показано 12 промежуточных версий 1 участника)
Строка 5: Строка 5:
* ПЗУ: 48К — нижние адреса
* ПЗУ: 48К — нижние адреса
* ОЗУ: 16К — верхние адреса
* ОЗУ: 16К — верхние адреса
== Версии прошивки ПЗУ ==
Известно несколько версий прошивок ПЗУ. Версия прошивки выводится при само-тестировании, есть в самой прошивке, почти в самом начале файла.
* 081289/МС6307 — упоминается в Руководстве по эксплуатации
* 080791/LX800/FX800 — выложил KALDYN [http://zx-pk.ru/showthread.php?p=345907#post345907], 32 КБ неполная
* 010391/LX800/FX800 — выложил BYTEMAN [http://zx-pk.ru/showthread.php?p=359390#post359390], 48 КБ полная
== Сигналы ==
* ВК0Н..ВК7Н — выбор микросхемы для ввода/вывода, формируются на D4.
Управление головкой и бумагой:
* ПГ0Н..ПГ8Н (W) — 9 сигналов использования иголок печатающей головки при ударе.
* ЛЕВК/ПРК (W) — управление шаговым двигателем головки, влево/вправо.
* ВЕРХВ/НИЗВ (W) — управление шаговым двигателем бумаги, вверх/вниз.
* УПН (R) — инверсия сигнала УП, поступающего с ХР3, идёт на вход B0 D33
* ОБРБ (R) — «обрыв бумаги», датчик конца бумаги, поступает с ХР3, идёт на вход B1 D33.
* ОСТН (R) — ??, поступает с ХР2, B2 D33
* ПСН (R) — ??, поступает с ХР2, B3 D33
* ПФН (R) — ??, поступает с ХР2, B4 D33
* ЧПН (R) — ??, поступает с ХР2, B5 D33
* ТЕСТН (R) — ?? тестовый режим.
* ОШН (R) — ??
* ИГОТН (W) — ??, поступает с ХР2, C5 D33
* ИОШН (W) — ??, поступает с ХР2, C6 D33
* ИЧП (W) — ??, поступает с ХР2, C7 D33
Частоты, тайминг:
* F2 — частота 2? МГц, получается из D3.
* F4 — частота 4? МГц, получается из триггера D6.4.
* ТАЙМ (W) — ??, получается на выходе C4 D5.
* ТОКН — выход OUT0 таймера D27, задаёт частоту звукового сигнала на триггере D6.2.
* СС2 — выход OUT1 таймера D27, идёт на входы CT/CR D34.
* СТРПГН — конец строки, получается на выходе OUT0 D30, вызывает прерывание.
* УДАРН — выход OUT1 таймера D30, вызывает прерывание.
* ШАГ — получается инверсией OUT2 таймера D30.
Параллельный интерфейс (ХР1):
* ВП0..ВП7 (R) — данные с параллельного интерфейса.
* ~ERROR (W) — выход «ошибка» на параллельный интерфейс, получается из сигнала СП4 на выходе C4 D28.
* ~BUSY (W) — выход «занят» на палаллельный интерфейс, получается из выхода C1 на D28.
* ~ACKNLG — получается из сигнала СС2.
* STROBE (R) — вход с параллельного интерфейса, сигнал СП2, идёт на С2 D28.
* ~INIT (R) — может быть отключен SA3.5, сигнал INIT.
* ИПАР1 — получается на выходе C0 D28, вызывает прерывание.
* ИПАР2 — выход триггера D19.1, на входе которого ~АВАР, вызывает прерывание.
Последовательный интерфейс (D34, ХР4):
* 104И — поступает с ХР4, идёт на вход RDX D34.
* 107И — поступает с ХР4, идёт на вход DSR D34.
* 106И — поступает с ХР4, идёт на вход CTS D34.
* ИПОСЛ1 — выход TRDY D34, вызывает прерывание.
* ИПОСЛ2 — выход RRD D34, вызывает прерывание.
Прочее:
* AUTOFEED (R) — может быть отключен SA3.7, сигнал АП0 идёт на A0 D28.
* SELIN (R) — может быть отключен SA3.6, сигнал АП1 идёт на A1 D28.
* ~АВАР (R) — ??, вход A2 D28, сохраняется в триггере D19.1, на выходе сигнал ИПАР2, вызывающий прерывание.
* ОСТН — кнопка «ГОТ»??
* ЧПН — кнопка «КАЧ»??
* КЛАВ — логическое ИЛИ между ЧПН и ОСТН; КЛАВ1 — получается на триггере D19.2 из сигнала КЛАВ, вызывает прерывание.


== Порты ==
== Порты ==
D33 — ВК0Н — [[КР580ВВ55А]] — порт ввода/вывода:
D33 — ВК0Н — [[КР580ВВ55А]] — порт ввода/вывода:
* #C0: (W) — канал A — печатающая головка: ПГ1Н(2)..ПГ8Н(2)
* #C0: (W) — канал A — печатающая головка: ПГ1Н(2)..ПГ8Н(2)
* #C1: (R) — канал B — УЛН/ОБРВ/ОСТН/ПСН/ПФН/ЧПН/ТЕСТН/ОШН
* #C1: (R) — канал B — УЛН/ОБРБ/ОСТН/ПСН/ПФН/ЧПН/ТЕСТН/ОШН
* #C2: (W) — канал C — ЛЕВК/ПРК/ВЕРХВ/НИЗВ / ПГ0Н(2)/ИГОТН/ИОШН/ИЧП
* #C2: (W) — канал C — ЛЕВК/ПРК/ВЕРХВ/НИЗВ / ПГ0Н(2)/ИГОТН/ИОШН/ИЧП
* #C3: (W) — настройка #82 (канал A вывод, канал B вывод, канал C вывод; группа A режим 0, группа B режим 1)
* #C3: (W) — настройка #82 (канал A вывод, канал B вывод, канал C вывод; группа A режим 0, группа B режим 1)


D27 — ВК1Н — [[КР580ВИ53]] — таймер:
D27 — ВК1Н — [[КР580ВИ53]] — таймер:
* #C8 (R/W) — счётчик 0 (частота F4)
* #C8 (R/W) — счётчик 0 (вх.частота F4, гейт УДАРН), выход ТОКН
* #C9 (R/W) — счётчик 1 (частота F2)
* #C9 (R/W) — счётчик 1 (вх.частота F2, гейт ~BUSY), выход СС2
* #CA (R/W) — счётчик 2 (частота F4)
* #CA (R/W) — счётчик 2 (вх.частота F4, гейт ТАЙМ), выход используется как входная частота счётчиков 1 и 2 таймера D30
* #CB (W) настройка #36 #76 #94
* #CB (W) — настройка #36 #76 #94


D30 — ВК2Н — КР580ВИ53 — таймер:
D30 — ВК2Н — КР580ВИ53 — таймер:
* #D0 (R/W) — счётчик 0 (частота F4)
* #D0 (R/W) — счётчик 0 (вх.частота F4, гейт УДАРН), выход СТРПГН(1,2) — счётчик длины строки
* #D1 (R/W) — счётчик 1
* #D1 (R/W) — счётчик 1 (вх.частота сч.2 D27, гейт ТАЙМ), выход УДАРН
* #D2 (R/W) — счётчик 2
* #D2 (R/W) — счётчик 2 (вх.частота сч.2 D27, гейт ТАЙМ), выход ~ШАГ — задаёт скорость перемещения каретки
* #D3 (W) — настройка #74 #32 #94
* #D3 (W) — настройка #74 #32 #94


Строка 43: Строка 98:
D34 — ВК6Н — [[КР580ВВ51А]] — последовательный ввод/вывод:
D34 — ВК6Н — [[КР580ВВ51А]] — последовательный ввод/вывод:
* #F0 (W)
* #F0 (W)
* #F1 (W)
* #F1 (W) — настройка #FE #23


== Порты детально ==
== Порты детально ==


<pre>
<pre>
     #C2 (W) D33 канал C
     #C0 (W) D33 канал A        #C1 (R) D33 канал B        #C2 (W) D33 канал C
   ┌──┬──┬──┬──┬──┬──┬──┬──┐
   ┌──┬──┬──┬──┬──┬──┬──┬──┐  ┌──┬──┬──┬──┬──┬──┬──┬──┐  ┌──┬──┬──┬──┬──┬──┬──┬──┐
   │ 7  6  5  4│ 3  2  1  0│
   │ 7  6  5  4│ 3  2  1  0│  │ 7  6  5  4│ 3  2  1  0│  │ 7  6  5  4│ 3  2  1  0│
   └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘
   └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘  └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘  └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘
   ИЧП │  │ ПГ0 │  │ ПРК ЛЕВК
  ПГ8 .  .  .  .  .  . ПГ1  ОШН │ ЧПН │ ПСН │ОБРБ │   ИЧП │  │ ПГ0 │  │ ПРК ЛЕВК — головка
  ИОШН ─┘ИГОТН НИЗВ ВЕРХВ
                                ТЕСТН  ПФН  ОСТН  УЛН ИОШН─┘ИГОТН НИЗВ ВЕРХВ — бумага
 
    #E0 (R) D28 канал A        #E1 (R) D28 канал B        #E2 (RW) D28 канал C
  ┌──┬──┬──┬──┬──┬──┬──┬──┐  ┌──┬──┬──┬──┬──┬──┬──┬──┐  ┌──┬──┬──┬──┬──┬──┬──┬──┐
  │ 7  6  5  4│ 3  2  1  0│  │ 7  6  5  4│ 3  2  1  0│  │ 7  6  5  4│ 3  2  1  0│
  └─┬┴─┬┴─┬┴─0┴─0┴─0┴─0┴─0┘  └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘  └─┬┴─┬┴─?┴─┬┴─?┴─┬┴─┬┴─┬┘
  АП0 АП1 └─~АВАД            ВП7 .  .  .  .  .  . ВП0  С7 С6    │    │ BUSY│
AUTO SELIN                                                    ERROR  STROBE  ИПАР1
FEED
    #E8 (R) D5 канал A        #E9 (R) D5 канал B        #EA (RW) D5 канал C
  ┌──┬──┬──┬──┬──┬──┬──┬──┐  ┌──┬──┬──┬──┬──┬──┬──┬──┐  ┌──┬──┬──┬──┬──┬──┬──┬──┐
  │ 7  6  5  4│ 3  2  1  0│  │ 7  6  5  4│ 3  2  1  0│  │ 7  6  5  4│ 3  2  1  0│
  └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘  └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘  └─┬┴─?┴─?┴─┬┴─┬┴─┬┴─┬┴─┬┘
SA1.8 .7 .6 .5 .1 .2 .3 .4 SA2.1 .2 .3 .4 .5 .6 .7 .8    ЗВ        │ .4 .3 .2 .1 SA3
                                                                ТАЙМ
</pre>
</pre>
== Прерывания ==
{| class=standard
! № !! Названи !! Примечание
|-
| 1 || УДАРН || Выход со сч.1 таймера D30
|-
| 2 || СТРПГН(1,2) || Выход со сч.0 таймера D30 — конец строки?
|-
| 3 || ШАГН ||
|-
| 4 || ИПОСЛ2 || Выход с D34
|-
| 5 || ИПОСЛ1 || Выход с D34
|-
| 6 || ИПАР1 || Выход C0 D28
|-
| 7 || ИПАР2 ||
|-
| 8 || КЛАВ1 || Выход триггера D19.2, на входе которого сигнал КЛАВ
|}
[[Категория:Принтеры]]

Текущая версия от 10:43, 26 марта 2024

Этот документ создан для Emuverse и распространяется на условиях лицензии CC-BY-SA-3.0.

«Электроника МС 6313» — матричный принтер.

  • ЦП: КР580ВМ80А, 2? МГц
  • ПЗУ: 48К — нижние адреса
  • ОЗУ: 16К — верхние адреса

Версии прошивки ПЗУ

Известно несколько версий прошивок ПЗУ. Версия прошивки выводится при само-тестировании, есть в самой прошивке, почти в самом начале файла.

  • 081289/МС6307 — упоминается в Руководстве по эксплуатации
  • 080791/LX800/FX800 — выложил KALDYN [1], 32 КБ неполная
  • 010391/LX800/FX800 — выложил BYTEMAN [2], 48 КБ полная

Сигналы

  • ВК0Н..ВК7Н — выбор микросхемы для ввода/вывода, формируются на D4.

Управление головкой и бумагой:

  • ПГ0Н..ПГ8Н (W) — 9 сигналов использования иголок печатающей головки при ударе.
  • ЛЕВК/ПРК (W) — управление шаговым двигателем головки, влево/вправо.
  • ВЕРХВ/НИЗВ (W) — управление шаговым двигателем бумаги, вверх/вниз.
  • УПН (R) — инверсия сигнала УП, поступающего с ХР3, идёт на вход B0 D33
  • ОБРБ (R) — «обрыв бумаги», датчик конца бумаги, поступает с ХР3, идёт на вход B1 D33.
  • ОСТН (R) — ??, поступает с ХР2, B2 D33
  • ПСН (R) — ??, поступает с ХР2, B3 D33
  • ПФН (R) — ??, поступает с ХР2, B4 D33
  • ЧПН (R) — ??, поступает с ХР2, B5 D33
  • ТЕСТН (R) — ?? тестовый режим.
  • ОШН (R) — ??
  • ИГОТН (W) — ??, поступает с ХР2, C5 D33
  • ИОШН (W) — ??, поступает с ХР2, C6 D33
  • ИЧП (W) — ??, поступает с ХР2, C7 D33

Частоты, тайминг:

  • F2 — частота 2? МГц, получается из D3.
  • F4 — частота 4? МГц, получается из триггера D6.4.
  • ТАЙМ (W) — ??, получается на выходе C4 D5.
  • ТОКН — выход OUT0 таймера D27, задаёт частоту звукового сигнала на триггере D6.2.
  • СС2 — выход OUT1 таймера D27, идёт на входы CT/CR D34.
  • СТРПГН — конец строки, получается на выходе OUT0 D30, вызывает прерывание.
  • УДАРН — выход OUT1 таймера D30, вызывает прерывание.
  • ШАГ — получается инверсией OUT2 таймера D30.

Параллельный интерфейс (ХР1):

  • ВП0..ВП7 (R) — данные с параллельного интерфейса.
  • ~ERROR (W) — выход «ошибка» на параллельный интерфейс, получается из сигнала СП4 на выходе C4 D28.
  • ~BUSY (W) — выход «занят» на палаллельный интерфейс, получается из выхода C1 на D28.
  • ~ACKNLG — получается из сигнала СС2.
  • STROBE (R) — вход с параллельного интерфейса, сигнал СП2, идёт на С2 D28.
  • ~INIT (R) — может быть отключен SA3.5, сигнал INIT.
  • ИПАР1 — получается на выходе C0 D28, вызывает прерывание.
  • ИПАР2 — выход триггера D19.1, на входе которого ~АВАР, вызывает прерывание.

Последовательный интерфейс (D34, ХР4):

  • 104И — поступает с ХР4, идёт на вход RDX D34.
  • 107И — поступает с ХР4, идёт на вход DSR D34.
  • 106И — поступает с ХР4, идёт на вход CTS D34.
  • ИПОСЛ1 — выход TRDY D34, вызывает прерывание.
  • ИПОСЛ2 — выход RRD D34, вызывает прерывание.

Прочее:

  • AUTOFEED (R) — может быть отключен SA3.7, сигнал АП0 идёт на A0 D28.
  • SELIN (R) — может быть отключен SA3.6, сигнал АП1 идёт на A1 D28.
  • ~АВАР (R) — ??, вход A2 D28, сохраняется в триггере D19.1, на выходе сигнал ИПАР2, вызывающий прерывание.
  • ОСТН — кнопка «ГОТ»??
  • ЧПН — кнопка «КАЧ»??
  • КЛАВ — логическое ИЛИ между ЧПН и ОСТН; КЛАВ1 — получается на триггере D19.2 из сигнала КЛАВ, вызывает прерывание.

Порты

D33 — ВК0Н — КР580ВВ55А — порт ввода/вывода:

  • #C0: (W) — канал A — печатающая головка: ПГ1Н(2)..ПГ8Н(2)
  • #C1: (R) — канал B — УЛН/ОБРБ/ОСТН/ПСН/ПФН/ЧПН/ТЕСТН/ОШН
  • #C2: (W) — канал C — ЛЕВК/ПРК/ВЕРХВ/НИЗВ / ПГ0Н(2)/ИГОТН/ИОШН/ИЧП
  • #C3: (W) — настройка #82 (канал A вывод, канал B вывод, канал C вывод; группа A режим 0, группа B режим 1)

D27 — ВК1Н — КР580ВИ53 — таймер:

  • #C8 (R/W) — счётчик 0 (вх.частота F4, гейт УДАРН), выход ТОКН
  • #C9 (R/W) — счётчик 1 (вх.частота F2, гейт ~BUSY), выход СС2
  • #CA (R/W) — счётчик 2 (вх.частота F4, гейт ТАЙМ), выход используется как входная частота счётчиков 1 и 2 таймера D30
  • #CB (W) — настройка #36 #76 #94

D30 — ВК2Н — КР580ВИ53 — таймер:

  • #D0 (R/W) — счётчик 0 (вх.частота F4, гейт УДАРН), выход СТРПГН(1,2) — счётчик длины строки
  • #D1 (R/W) — счётчик 1 (вх.частота сч.2 D27, гейт ТАЙМ), выход УДАРН
  • #D2 (R/W) — счётчик 2 (вх.частота сч.2 D27, гейт ТАЙМ), выход ~ШАГ — задаёт скорость перемещения каретки
  • #D3 (W) — настройка #74 #32 #94

D18 — ВК3Н — КР580ВН59 — контроллер прерываний:

  • #D8 (W)
  • #D9 (R/W)

D28 — ВК4Н — КР580ВВ55А — порт ввода/вывода:

  • #E0: канал A — АП0/АП1/~АВАД, A3..A7=0
  • #E1: канал B — ВП0..ВП7
  • #E2: (W) — канал C — C0=ИПАР1, С1=BUSY?, C2=СП2, C4=СП4=ERROR?
  • #E3: (W) — настройка #96 (канал A вывод, канал B ввод, канал Cст ввод, Cмл вывод), #09 (C4=1)

D5 — ВК5Н — КР580ВВ55А — порт ввода/вывода:

  • #E8: (R) — канал A — SA1 4/3/2/1/5/6/7/8
  • #E9: (R) — канал B — SA2 6/7/8/5/4/3/2/1
  • #EA: (R) — канал C — SA3 1/2/3/4, C4=ТАЙМ, C6=ЗВонок?
  • #EB: (W) — настройка #93, #0B

D34 — ВК6Н — КР580ВВ51А — последовательный ввод/вывод:

  • #F0 (W)
  • #F1 (W) — настройка #FE #23

Порты детально

     #C0 (W) D33 канал A        #C1 (R) D33 канал B        #C2 (W) D33 канал C
  ┌──┬──┬──┬──┬──┬──┬──┬──┐  ┌──┬──┬──┬──┬──┬──┬──┬──┐  ┌──┬──┬──┬──┬──┬──┬──┬──┐
  │ 7  6  5  4│ 3  2  1  0│  │ 7  6  5  4│ 3  2  1  0│  │ 7  6  5  4│ 3  2  1  0│
  └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘  └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘  └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘
   ПГ8 .  .  .  .  .  . ПГ1   ОШН │ ЧПН │ ПСН │ОБРБ │    ИЧП │  │ ПГ0 │  │ ПРК ЛЕВК — головка
                                 ТЕСТН  ПФН  ОСТН  УЛН  ИОШН─┘ИГОТН НИЗВ ВЕРХВ — бумага

     #E0 (R) D28 канал A        #E1 (R) D28 канал B        #E2 (RW) D28 канал C
  ┌──┬──┬──┬──┬──┬──┬──┬──┐  ┌──┬──┬──┬──┬──┬──┬──┬──┐  ┌──┬──┬──┬──┬──┬──┬──┬──┐
  │ 7  6  5  4│ 3  2  1  0│  │ 7  6  5  4│ 3  2  1  0│  │ 7  6  5  4│ 3  2  1  0│
  └─┬┴─┬┴─┬┴─0┴─0┴─0┴─0┴─0┘  └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘  └─┬┴─┬┴─?┴─┬┴─?┴─┬┴─┬┴─┬┘
  АП0 АП1 └─~АВАД             ВП7 .  .  .  .  .  . ВП0   С7 С6     │     │ BUSY│
 AUTO SELIN                                                     ERROR  STROBE  ИПАР1
 FEED
     #E8 (R) D5 канал A         #E9 (R) D5 канал B         #EA (RW) D5 канал C
  ┌──┬──┬──┬──┬──┬──┬──┬──┐  ┌──┬──┬──┬──┬──┬──┬──┬──┐  ┌──┬──┬──┬──┬──┬──┬──┬──┐
  │ 7  6  5  4│ 3  2  1  0│  │ 7  6  5  4│ 3  2  1  0│  │ 7  6  5  4│ 3  2  1  0│
  └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘  └─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘  └─┬┴─?┴─?┴─┬┴─┬┴─┬┴─┬┴─┬┘
SA1.8 .7 .6 .5 .1 .2 .3 .4 SA2.1 .2 .3 .4 .5 .6 .7 .8    ЗВ        │ .4 .3 .2 .1 SA3
                                                                 ТАЙМ

Прерывания

Названи Примечание
1 УДАРН Выход со сч.1 таймера D30
2 СТРПГН(1,2) Выход со сч.0 таймера D30 — конец строки?
3 ШАГН
4 ИПОСЛ2 Выход с D34
5 ИПОСЛ1 Выход с D34
6 ИПАР1 Выход C0 D28
7 ИПАР2
8 КЛАВ1 Выход триггера D19.2, на входе которого сигнал КЛАВ