MiX, я в ЛС предложил Artredsun набить с "железного пульта" программку из трёх слов от Patron'а, которая выводит код А на терминал, и уже тогда посмотреть осликом, что там дальше творится.
Вид для печати
MiX, я в ЛС предложил Artredsun набить с "железного пульта" программку из трёх слов от Patron'а, которая выводит код А на терминал, и уже тогда посмотреть осликом, что там дальше творится.
Кроме этого, надо выяснить нужны ли команды NOP в программе. Байтмен, как у тебя команды проходят? Без NOP?
Как выяснилось - по команде S пульт СМ1420 сначала увеличивает стартовый адрес на 4 и только потом передаёт управление, поэтому при вводе кода с адреса 1000 есть смысл помещать по адресам 1000 и 1002 две команды NOP ( код 240 ).
Например, программка для вывода буквы A на терминал будет выглядеть так:
Код:000000
?L 1000
?D 001000 240
?D 001002 240
?D 001004 12737
?D 001006 101
?D 001010 177566
?D 001012 774
?L 1000
?S
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Patron, если вводить с "железного пульта", то по идее эти дополнительные нопы лишние..
В программе из трёх слов третье слово передаёт управление на первое, поэтому хотя выполнение и начинается с него - дальше всё работает штатно. Проблема в том, что команда S помещает 0 в младший байт R0, поэтому на экран ничего не выводится. Надо или прервать программу с аппаратного пульта, занести в R0 код 101 и запустить с адреса 1000, или вводить код, приведённый выше.
- - - Добавлено - - -
Если работает терминал - нет разницы как вводить. Разница только в том, как запускать. Программу из трёх слов надо по-любому запускать с "железного" пульта, потому что иначе в R0 будет 0.
Patron, именно так, это я в ЛС топикстартеру сделать и посоветовал :)
- - - Добавлено - - -
Цитата:
СМ3508.31 - это расширитель памяти с MMU (вроде как на 2 мегабайта, могу ошибаться, в моей СМке этого расширителя увы нет, и платы, в которую у вас подключается расширитель, тоже нет, вместо неё дырка), по хорошему его отключать не надо, только попробовать вытащить кабель который уходит от процессора в контроллер харда. И заново попробовать набрать тест от form и посмотреть на результат...
Про изменённую плату - думаю, что пока что менять ничего не надо, ещё раз перепроверьте подключение к конвертеру rs232-токовая петля, мне кажется что вы просто там ошиблись с подключением, по идее всё должно работать. Попробуйте посмотреть по топику выше, там есть коротенькая программа от Патрона, которая печатает символ А на повторе. Смотрите, что вы можете сделать - попробуйте набить эту программу с "эелезного пульта" (она коротенькая, поэтому набить получится за пару минут). При этом держите включенным ваш "зеленый терминал", если набили программу правильно - побежит буква А. Тогда уже можно будет подключить вместо зелёного терминала ваш конвертер, набить программу заново и смотреть уже на конвертере где дёргается, а где нет, и смотреть где ошиблись с подключением.
http://zx-pk.ru/threads/27908-sm-142...l=1#post922115
Как набить прогу на железном терминале:
1) Сначала остановите процессор (переключатель РАБ-ОСТАН нажать). Должна загореться лампа останов
2) Команда L На клавиатуре соответствует вводу адреса и нажатию клавиши ВВОД АДР (вроде как на диодах должен высветиться введенный адрес)
3) Дальше набиваете три слова (которые справа, слева адрес, он будет автоматом инкрементироваться), после набора каждого слова нажать ЗАПИСЬ.
4) Когда ввели все три слова, снова установить начальный адрес указанный в первой строке (1000) и нажать ввод адр.
5) Перевести кнопку ОСТ - РАБ в положение РАБ.
6) Нажать ПУСК.
Процессор должен покасить лампу ОСТАНОВ и на терминале должны побежать буковки А.
Вот это было посоветовано :)
А как с "железного" пульта занести в R0 код буквы A ?
Можно вводить программу, которая сразу A выводит - она всего на одно слово длиннее:
Код:12737
101
177566
774
В двоичном виде будет так:
Код:0001010111011111
0000000001000001
1111111101110110
0000000111111100