Для проверки - добавил файл TTINQ.SAV в образ HDSYS.DSK из комплекта поставки эмулятора и запустил:
Код:.TTINQ ?TTINQ-I-Terminal type is VT100 in VT52 mode ?TTINQ-I-Answer: <033>/Z
Для проверки - добавил файл TTINQ.SAV в образ HDSYS.DSK из комплекта поставки эмулятора и запустил:
Код:.TTINQ ?TTINQ-I-Terminal type is VT100 in VT52 mode ?TTINQ-I-Answer: <033>/Z
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
У меня немного другая версия наверно была, но и этот по ссылке такая же ошибка в ноль как и в первом сообщении, скрин я уже сделал, могут какие-то
настройки у меня влиять? Не зависимо с какого раздела запускаю (то есть версия монитора), файл pdp-11.exe у меня 856064-размер, от 19.12.2013
---------- Post added at 23:38 ---------- Previous post was at 23:33 ----------
Виновата большая скорость эмулируемого процессора. При скорости эмуляции 2 MIPS и меньше - всё работает.
Проблемное место в исходнике:
Если увеличить задержку в 10 .. 20 раз - программе немного полегчает. А так - при высокой скорости эмуляции задержка кончается раньше, чем начинает приходить ответ от терминала.Код:RETRY = 1000 ;TTINR RETRY COUNT
Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_30.12.13_17-00
Изменения:
1. Внесены изменения, описанные ЗДЕСЬ.
2. В модуль CPU_module добавлены объекты MY_Board и MY_BusBridge. В модуль DSK_module добавлен объект VP1-128.
3. Добавлен файл конфигурации MY.cfg, эмулирующий контроллер КМД ( этот файл конфигурации предназначен для импорта виртуального устройства в других файлах конфигурации ). Полная эмуляция MFM-дискеты осуществляется только для текстовых TRK-образов. При работе с двоичными DSK-образами эмулируются только базовые функции КМД.
4. В файлы конфигурации default.cfg и DisAsm.cfg добавлен импорт виртуального устройства из файла конфигурации MY.cfg. В файл HDSYS.DSK добавлен драйвер MY.SYS.
5. Добавлен файл MY80_System.DSK, содержащий DSK-образ системного диска MY.
6. Добавлен файл конфигурации ДВК-1_MY80.cfg, эмулирующий ДВК-1 с контроллером КМД.
При открытии файла конфигурации ДВК-1_MY80.cfg на экране появляется приглашение пульта ДВК:
Код:160556 @
Загрузка RT-11 осуществляется следующим образом:
...Код:160556 @172140/000040 37 172142/000004 0^ 172140/000000 /000040 @G SL V08.00 [SW] Сторожевых С.В. 1988 RT-11SJ (Y) V05.04 G
Когда к эмулятору MY подключен файл DSK-образа - он непрерывно синхронизируется с внутренним TRK-представлением в эмуляторе. Если что-то записать в эмуляторе на MY - это сразу же появится в файле DSK-образа, а если скорпировать в Windows что-то в подключенный DSK-образ - это сразу же появится во внутреннем представлении образа в эмуляторе. Мне лень было проверять, изменялся ли DSK-образ, поэтому при каждом чтении c дорожки диска MY в эмуляторе - эта дорожка сначала пересоздаётся из соответствующей части DSK-образа ( не чаще одного раза в три секунды ). Поэтому, если в эмуляторе вызвать команду КМД: "Запись с меткой", то это приведёт к разрушению подключенного DSK-образа, а если вызвать команду КМД: "Чтение с меткой" - блоки данных с меткой будут отсутствовать ( при пересоздании образа дорожки из данных DSK-образа все блоки данных получают стандартные заголовки A1A1A1FB ).
Если в диалоге подключения диска указать несуществующий файл с расширением .TRK - эмулятор создаст чистый неформатированный TRK-образ, хранящий данные диска в том виде, в котором с ними работает эмулятор.
Последний раз редактировалось Patron; 30.12.2013 в 22:27.
Ну это невелика потеря. Да и вряд ли это где используется практически.
А это я уже попробовал. Увидел, что можно использовать "сырой образ", но нигде не увидел, как создать. При открытии набил несуществующее имя, ну и эмулятор предложил создать. Как я увидел, маркеры записываются в нижнем регистре, как "a1".
---------- Post added at 22:48 ---------- Previous post was at 22:41 ----------
Когда-то Владимир Полетаев предлагал способ определения номера ПЗУ в КМД - здесь.
Попробовал. Вот результат:
Код:.TY KMDID.MAC .TITLE KMDID .MCALL .PRINT,.EXIT START: .PRINT #HEAD 10$: BIT #40,@#172140 BEQ 10$ MOV #35,@#172140 20$: TSTB @#172140 BPL 20$ MOV #PROG,@#172142 30$: BIT #40,@#172140 BEQ 30$ .PRINT NAME .EXIT PROG: MOV #KMD255,R0 CMP @#10004,#NOP BEQ 10$ MOV #KMD092,R0 10$: MOV R0,@#NAME+40000 RETURN NAME: .WORD KMD091 HEAD: .ASCII <16>"w kmd USTANOWLENO pzu 1801re1-"<17><200> KMD091: .ASCIZ "091" KMD092: .ASCIZ "092" KMD255: .ASCIZ "255" .END START .KMDID В КМД установлено ПЗУ 1801РЕ1-255 .
Да, такая запись позволяет отличать байты с пропущенным синхроимпульсом, никак не мешая считыванию значений байтов функцией sscanf:
Код:char acHex[] = "0xFF"; int nByte; for( int i = 0 ; i < nUsedBytes ; i++ ) { while( *pStr && *pStr != ' ' ){ pStr++; } while( *pStr && *pStr == ' ' ){ pStr++; } acHex[2] = pStr[0]; acHex[3] = pStr[1]; sscanf( acHex, "%x", &nByte ); UnitRec[nUnit].Track[nStoredTrack + nSide*81].aBytes[i] = nByte; bool bFlag = false; if( acHex[2] == 'a' && acHex[3] == '1' ) { bFlag = true; } UnitRec[nUnit].Track[nStoredTrack + nSide*81].aFlags[i] = bFlag; }
---------- Post added at 22:00 ---------- Previous post was at 21:52 ----------
Файл образа прошивки задаётся в MY.cfg в разделе [MYBoard.ini]:
Код:[MYBoard.ini] RAM_Latency_NS = 1000 ROM_Latency_NS = 250 ROM_DataFile = 255.dat SEL1_Data=010002
Последний раз редактировалось Patron; 30.12.2013 в 23:05.
Эту тему просматривают: 3 (пользователей: 0 , гостей: 3)