Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Эмуляторы отечественных компьютеров (http://zx-pk.ru/forumdisplay.php?f=61)
-   -   Эмулятор ДВК (http://zx-pk.ru/showthread.php?t=18351)

hobot 25th December 2013 22:54

Раньше вроде бы проскакивал\определял? Или это норм?

Code:

Адрес  Модуль  Длина
------  ------  -------
167426  HD        117.
160000  IOPAGE    1931.
156220  RMON      440.
153550  EM        660.
147230  SL        1128.
137226  USR      2049.
001000  ..BG..  24139.

.SYS

RT-11SJ  V05.04 G
.TTINQ
c?TTINQ-W-Unknown terminal type

.Z
!UCL-E-Bad command or file name
.

.

.TTINQ
c?TTINQ-W-Unknown terminal type

И терминал в [hold] автоматом уходит! )

http://savepic.net/4129263.png

Code:

        BCC        50$                        ;IF CC WE GOT AN ANSWER
20$:        .PRINT        #EFAIL                        ;IF CS INQUIRE FAILED
        BISB        #WARN$,@#$USRRB                ;SET EXIT STATUS
30$:        CALL        TTVIS                        ;VISUALIZE ANSWERBACK STRING
        BCS        40$                        ;IF CS NO ANSWER RECEIVED
        .PRINT        #TTANS                        ;PRINT ANSWER STRING
        .PRINT        #BUFF                        ;
40$:        .EXIT                                ;EXIT

50$:        MOV        #IDTAB,R3                ;POINT TO TERMINAL ID TABLE
        MOV        #IDSIZ,R2                ;SET TABLE SIZE
60$:        CMP        R1,(R3)+                ;FOUND TERMINAL ID?
        BEQ        70$                        ;YES
        TST        (R3)+                        ;SKIP TERMINAL NAME ADDRESS
        DEC        R2                        ;MORE IDS AVAILABLE?
        BNE        60$                        ;YES, GO FOR NEXT
        BR        20$                        ;NO, TERMINAL TYPE UNKNOWN

:confused_std:

Patron 25th December 2013 23:56

Quote:

Originally Posted by hobot (Post 656045)
Раньше вроде бы проскакивал\определял?

Для проверки - добавил файл TTINQ.SAV в образ HDSYS.DSK из комплекта поставки эмулятора и запустил:
Code:

.TTINQ
?TTINQ-I-Terminal type is VT100 in VT52 mode
?TTINQ-I-Answer: <033>/Z


hobot 26th December 2013 00:38

Quote:

Originally Posted by Patron (Post 656066)
Для проверки - добавил файл TTINQ.SAV в образ HDSYS.DSK из комплекта поставки эмулятора и запустил:

У меня немного другая версия наверно была, но и этот по ссылке такая же ошибка в ноль как и в первом сообщении, скрин я уже сделал, могут какие-то
настройки у меня влиять? Не зависимо с какого раздела запускаю (то есть версия монитора), файл pdp-11.exe у меня 856064-размер, от 19.12.2013

---------- Post added at 23:38 ---------- Previous post was at 23:33 ----------

http://s3.hostingkartinok.com/upload...471e579da7.png

Patron 26th December 2013 03:12

Quote:

Originally Posted by hobot (Post 656075)
могут какие-то настройки у меня влиять?

Виновата большая скорость эмулируемого процессора. При скорости эмуляции 2 MIPS и меньше - всё работает.

Проблемное место в исходнике:
Code:

RETRY        =        1000                        ;TTINR RETRY COUNT
Если увеличить задержку в 10 .. 20 раз - программе немного полегчает. А так - при высокой скорости эмуляции задержка кончается раньше, чем начинает приходить ответ от терминала.

Patron 30th December 2013 21:43

Обновилась текущая сборка "эмулятора ДВК": 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 на экране появляется приглашение пульта ДВК:
Code:

160556
@


Загрузка RT-11 осуществляется следующим образом:

Code:

160556
@172140/000040 37
172142/000004 0^
172140/000000 /000040
@G
SL V08.00 [SW] Сторожевых С.В. 1988

RT-11SJ (Y) V05.04 G

...

Alex_K 30th December 2013 22:26

СПАСИБО за MY!

Quote:

Originally Posted by Patron (Post 657336)
При работе с двоичными DSK-образами эмулируются только базовые функции КМД.

А в чем ограничения? Можно поподробнее.

Patron 30th December 2013 23:15

Quote:

Originally Posted by Alex_K (Post 657350)
А в чем ограничения? Можно поподробнее.

Когда к эмулятору MY подключен файл DSK-образа - он непрерывно синхронизируется с внутренним TRK-представлением в эмуляторе. Если что-то записать в эмуляторе на MY - это сразу же появится в файле DSK-образа, а если скорпировать в Windows что-то в подключенный DSK-образ - это сразу же появится во внутреннем представлении образа в эмуляторе. Мне лень было проверять, изменялся ли DSK-образ, поэтому при каждом чтении c дорожки диска MY в эмуляторе - эта дорожка сначала пересоздаётся из соответствующей части DSK-образа ( не чаще одного раза в три секунды ). Поэтому, если в эмуляторе вызвать команду КМД: "Запись с меткой", то это приведёт к разрушению подключенного DSK-образа, а если вызвать команду КМД: "Чтение с меткой" - блоки данных с меткой будут отсутствовать ( при пересоздании образа дорожки из данных DSK-образа все блоки данных получают стандартные заголовки A1A1A1FB ).

Если в диалоге подключения диска указать несуществующий файл с расширением .TRK - эмулятор создаст чистый неформатированный TRK-образ, хранящий данные диска в том виде, в котором с ними работает эмулятор.

Alex_K 30th December 2013 23:48

Quote:

Originally Posted by Patron (Post 657372)
... Поэтому, если в эмуляторе вызвать команду КМД: "Запись с меткой", то это приведёт к разрушению подключенного DSK-образа, а если вызвать команду КМД: "Чтение с меткой" - блоки данных с меткой будут отсутствовать ( при пересоздании образа дорожки из данных DSK-образа все блоки данных получают стандартные заголовки A1A1A1FB ).

Ну это невелика потеря. Да и вряд ли это где используется практически.
Quote:

Originally Posted by Patron (Post 657372)
Если в диалоге подключения диска указать несуществующий файл с расширением .TRK - эмулятор создаст чистый неформатированный TRK-образ, хранящий данные диска в том виде, в котором с ними работает эмулятор.

А это я уже попробовал. Увидел, что можно использовать "сырой образ", но нигде не увидел, как создать. При открытии набил несуществующее имя, ну и эмулятор предложил создать. Как я увидел, маркеры записываются в нижнем регистре, как "a1".

---------- Post added at 22:48 ---------- Previous post was at 22:41 ----------

Когда-то Владимир Полетаев предлагал способ определения номера ПЗУ в КМД - здесь.
Попробовал. Вот результат:
Code:

.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

.


Patron 31st December 2013 00:00

Quote:

Originally Posted by Alex_K (Post 657382)
Как я увидел, маркеры записываются в нижнем регистре, как "a1".

Да, такая запись позволяет отличать байты с пропущенным синхроимпульсом, никак не мешая считыванию значений байтов функцией sscanf:
Code:

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 ----------

Quote:

Originally Posted by Alex_K (Post 657382)
В КМД установлено ПЗУ 1801РЕ1-255

Файл образа прошивки задаётся в MY.cfg в разделе [MYBoard.ini]:

Code:

[MYBoard.ini]
RAM_Latency_NS = 1000
ROM_Latency_NS = 250
ROM_DataFile  = 255.dat
SEL1_Data=010002


Alex_K 31st December 2013 00:05

Quote:

Originally Posted by Patron (Post 657384)
Файл образа прошивки задаётся в MY.cfg в разделе [MYBoard.ini]

Это я видел. А будут ли поддерживаться -091, -092 и неофициальная -093? Там же идет настройка адреса SRAM по адресу 177760.


All times are GMT +4. The time now is 02:58.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.