Здраствуйте. Первая тема на форуме, но тем-не менее..
Решил тут вспомнить ассемблер DEC и сделать игрушку. Вроде все шло неплохо на эмуляторе пока в руки не попала настоящая УКНЦ.
Как-известно там можно в периферийном процессоре отключить банки ПЗУ с адресов 100000-160000 и поставить туда ОЗУ которое обычно используется под план 0 видеопамяти (чтобы не использовать регистры, а так мол в план 0 записывать).
С настоящей УКНЦ началась какая-то проблема. Она упорно не хочет считывать переключенное ОЗУ, а считывает из ПЗУ ПП. Но записать туда можно.
Делается командой в ПП
mov #161, @#177054 ; 001 110 001 (all RAM banks of plane 0)
Переключаем ПЗУ и дальше работаем вроде как с ОЗУ. И тут-то вылезла проблема у моего возможно УКНЦ. Он пишет в видеопамять по этим адресам. Команды типа MOV нормально работают. Но вот если команда использует считывание оттуда - она читает с другого места. С ПЗУ отключенного. Например BIC у меня на реальной машине показывает совсем не то что ожидалось.
Можно попросить владельцев УКНС запустить диск? Набрать там RU TEST2. Программа делает следующее: устанавливает таблицу строк 0..287 на адреса 100000...155000 линейно и в четырех частях делает операции: 1 часть - просто MOV, вторая BIS #1, (R5)+, третья COM (R5)+, четвертая MOV (R5), (R5)+.
На эмуляторе все нормально.
На настоящей УКНЦ (завод СЭМЗ, три кварца вместе, БП 220 импульсник штатный, загрузка с стык-с2)
Просто даже не знаю что подумать, мысли такие:
1) у меня дохнет УКНЦ
2) СЭМЗ был другим заводом
3) так и было задумано везде, отключение ПЗУ ПП приводит к тому что запись идет в ОЗУ, а считывание с ПЗУ, хорошая фича архитектуры О_о
Не могу загрузить сюда файл. Загрузил на сторонний хостинг http://ge.tt/4ZGW7B13 (там в течении месяца только хранится)
Файл uknc.dsk - запустить как систему RT11 и набрать там RU TEST2
(hobot может набрать RU KRK и порадоваться, но игрушка недоделана и неизвестно когда будет доделана)




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 

