Важная информация

User Tag List

Страница 6 из 12 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 118

Тема: Эмулятор RT-11

  1. #51
    Master
    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    743
    Спасибо Благодарностей отдано 
    223
    Спасибо Благодарностей получено 
    40
    Поблагодарили
    39 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    3анимательная pdp-11! Когда-то давно запускал эмулятор (e11?) по ДОСом - был удивлен тем, что ничего не зная о системе, смог там что-то позапускать. Решил сейчас с этой любопытной и оставившей глубочайший след на ИТ архитектурой поразбираться. Надеюсь на помощь знатоков.
    Началось как-то не очень. E11 вообще не знаю как запустить, а SIMH с прилагаемым на его сайте образом РТ-11 грузится, но что-то там нужно настраивать - вместо стирания по клавише Delete происходит печать удаляемого символа после слэша - редакторы в таком режиме не работают. :-( Еще не разобрался как писать файлы на образы дисков.
    Пошёл только эмулятор RT-11 уважаемого Patron'a. Сам работаю с Линукс - присоединяюсь пожеланиями к Гюнтеру и ко. Запускаю эмулятор из под XP под виртуальной машиной. Идея очень понравилась, для начинающих - это самый удобный способ. Но возникли проблемы:

    1) что-то не так с консольным выводом: если печатаем длинную строку и печать доходит до низа экрана, то вместо скроллинга строка продолжает печатся с начала экрана. Это можно проверить чем-то типа такого кода mov #3000,r1 mov #65,r0 ab: .ttyout sob r1,ab
    2) не работают команды умножения и деления, делаю, например, mov #100,r2 mul #10,r2 - не работает
    3) есть ли в РТ-11 какой-нибудь отладчик типа debug из DOS или ddt/zsid из CP/M?

    Кстати, все ли знают, что наконец заработал эмулятор легендарного компьютера Терак, праобразa нашей почти легендарной БК?
    Последний раз редактировалось litwr; 28.11.2015 в 09:37.

  2. #52
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    вместо стирания по клавише Delete происходит печать удаляемого символа после слэша
    Это нормальное по умолчанию поведение, символ из вводимой строки стирается, просто зеркально отображается при стирании вся строка.
    Что бы такого не было, надо SE TT SCOPE параметр установить или загрузить драйвер SL.SYS командой SE SL ON.

    Цитата Сообщение от litwr Посмотреть сообщение
    что наконец заработал эмулятор легендарного компьютера Терак,
    А он под окошки? И если да надо прямую ссылку для изучения эмулятора и ПО для него где взять.


    Цитата Сообщение от litwr Посмотреть сообщение
    Идея очень понравилась, для начинающих - это самый удобный способ.
    Я категорически не согласен, это удобно, но только не для начинающих! Для начинающих 100% нативная среда
    вот идеальный способ. Ставьте полноценный эмулятор ДВК и изучайте систему в нём. Скорость компиляции
    можно регулировать скоростью эмуляции (с помощью удобного меню), эмулятор работает с обычной NTFS папкой
    как с каталогом RT-11. Подробности в авторской теме. Я бы ещё и УК-НЦ предложил, но пока воздержусь.
    Книги по системе и краткие инструкции по командам легко найти среди строковых ссылок в центральном фрейме главной
    мордочки архива и в БИБЛИОТЕКЕ же )

    - - - Добавлено - - -

    по 1) 2) 3) дождитесь ответа Patrona - я просто не вник что там у вас, с переносом строки проблема, в каком эмуляторе где?
    Какие при этом настройки? Отладчики есть под RT-11 штатные и не штатные, но они под и для RT-11 же (я не пользуюсь поскольку понятия не имею что с ними делать, отлаживаю свои исходники визуально - проверочными параметрами и "точками" внутри программы)
    Последний раз редактировалось hobot; 28.11.2015 в 17:43.
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  3. #53
    Master
    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    743
    Спасибо Благодарностей отдано 
    223
    Спасибо Благодарностей получено 
    40
    Поблагодарили
    39 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    благодарю за подсказки. С ними "погружение" должно пойти побыстрее.
    По Тераку. Это давно известный эмулятор, должен собираться и под Виндуз с SDL. Собирал его даже на Raspberry Pi. http://sourceforge.net/projects/bk-terak-emu/
    Из всего софта на Тераке пока пошёл только mini-Unix - весь каталог
    Думаю, что Терак кому-то из наших тогдашних политиков здорово голову вскружил в конце 70-х. И пошли ДВК, БК, УКНЦ... Там процессор T11 на чипе, графика, музыка...
    Проблема с переносом, думаю, везде. Забейте маленькую прогу с циклом с .ttyout на несколько тысяч раз и запустите в консоле Виндуз через вызов эмулятора RT-11 - речь только о нем и в нём же не делится и не умножается. :-(

  4. #54
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ставьте полноценный эмулятор ДВК
    Работайте с образами минуя плагин средствами RT-11

    Enjoy! ;-)

    - - - Добавлено - - -

    Цитата Сообщение от litwr Посмотреть сообщение
    речь только о нем и в нём же не делится и не умножается. :-(
    но компилируется, собирается? Так в этом его основное назначение. Получить исполняемый файл, на скорости хоста,
    использую нативные компилятор и линковщик. Это не эмулятор машины. Это среда для "быстро собрать исходник" и
    запустить на реале потом или в эмуляторе конкретного железа. Иметь возможность работать с текстом программы
    в обычной NTFS папке и блокнотике Windows, я как-то так себе это представляю.

    - - - Добавлено - - -

    http://geektimes.ru/post/261074/ - почитайте отзыв программиста.
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  5. #55
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Вопрос автору: под какой виндоуз можно запускать (тестировалось)?
    Данный эмулятор RT-11 тестировался под Windows XP и Windows Vista. Под более старшими версиями Windows тоже должно работать. На системах ниже XP модульный API работать не может.

    - - - Добавлено - - -

    Цитата Сообщение от litwr Посмотреть сообщение
    1) что-то не так с консольным выводом: если печатаем длинную строку и печать доходит до низа экрана, то вместо скроллинга строка продолжает печатся с начала экрана
    Это стандартное поведение большинства старых терминалов типа VT52. Если бы они скролили экран при выводе в последнее знакоместо на экране - невозможно было бы (при желании) рисовать текстовую рамку вокруг экрана.

    Цитата Сообщение от litwr Посмотреть сообщение
    2) не работают команды умножения и деления, делаю, например, mov #100,r2 mul #10,r2 - не работает
    Процессор исполняет команды, а не желания. При умножении регистра с номером n - сначала в регистр с номером n помещаются старшие 16 битов результата, а потом в регистр с номером n|1 помещаются младшие 16 битов результата, поэтому умножая нечётный регистр - получаем в нём 16-битный результат, а умножая чётный регистр - получаем в нём старшие 16 битов 32-битного результата.

    Цитата Сообщение от litwr Посмотреть сообщение
    3) есть ли в РТ-11 какой-нибудь отладчик типа debug из DOS или ddt/zsid из CP/M?
    Не стоит задавать вопросы по RT-11 в теме про эмулятор - это лучше делать в темах про RT-11.
    Последний раз редактировалось Patron; 29.11.2015 в 02:13.

  6. #56
    Veteran Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,593
    Спасибо Благодарностей отдано 
    2,158
    Спасибо Благодарностей получено 
    130
    Поблагодарили
    96 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Получил письмо от Гюнтера:
    Цитата Сообщение от Günter Dotzel
    Oleg,

    installed win7 pro 64 bit under 32 bit linux. (didn't know that this would work )

    tried rt11.exe*:

    .copy/dev/file/noq sy: SYSTEM.DSK

    this created a file with about 700KB on DK:
    doesn't seem to change anything.

    achieved to start modula-2 by making some room on SY:

    .del sy:tetris.sav
    .del sy:klop.sav
    .del sy:xonix.sav

    and copying M2 command interpreter (for 16 bit and 22 bit VRS) and M2 linker base to SY:
    .cop COMINT.M2S sy:
    .cop comint.xm2 sy:
    .cop MODULA.M2S sy:

    .! logical names needed for m2 compiler:
    .ass dk vl
    .ass dk vc
    .ass dk vs

    start the M2 run time system with command interpreter:

    .ru msrust

    RTS>DK:COMP.LOD
    M2Compiler V05.1, source file> PRIMES
    p1

    Loader error: not enough memory; module too large for actual stack
    RTS>

    .
    means not enough BG memory to load pass1 of m2 compiler.

    .ru mspnf
    ?KMON-F-Insufficient memory

    only msnf.sav (no floating point) runs.

    let's get more BG memory:

    .unl sl
    sadly can't unload SL, it traps in endless loop.
    ^C doesn't stop it. must close cmd window.

    ok, I see, to get rid of SL, use the command

    .set sl off

    BG size is now 156564 instead of 142246. Great!

    The dir, vir utilities and chase game runs:

    .ru msnf
    RTS>chase
    [...
    lists instructions how to play...]
    Код:
     0000000000000000000000000000000000*00000000000000000000000000000000000000000000
     0                                                                             0
     0                                                                             0
     0                                                                             0
     0                                                     C                       0
     0                                                                             0
     0                              0                               0              0
     0                                                                             0
     0                      B       0                                              0
     0                                                                             0
     0                                        0                   0                0
     0                                                                             0
     0           0                                   0                             0
     0                                                                             0
     0                                                         0                   0
     0                                                                             0
     0                                                                             0
     0                                                                             0
     0                                                                             0
     0000000000000000000000000000000000000000000000000000000000000000000000000000000
    A goblin just felt in a pit!!n!! Q W E Number of goblins: 0
    A S D Too bad, you lost this time.
    Oh no, You're failing!! Z X C Try again [Y/N] >
    CHASE: Have a good time, bye-bye.
    RTS>
    .

    and now the M2 RTS which uses bigger BG memory also runs:

    .ru msxnf
    RTS>DK:COMP.LOD
    M2Compiler V05.1, source file> ODDWOR
    p1
    TTInOut: DK:TTInOu.SYM
    p2
    p3
    p4
    p5
    end compilation
    RTS>DK:LINK.LOD
    link V05.3, master file> ODDWOR/fis
    link files to:
    TTInOut: DK:TTInOu
    UnivTypes: DK:UnivTy
    UnivOutput: DK:UnivOu
    ASCII: DK:ASCII
    UnivInput: DK:UnivIn
    UnivString: DK:UnivSt/fis
    end linkage
    RTS>DK:ODDWOR.LOD
    Odd Word Reversal Problem.
    The input text is echoed if a word is complete.
    Type words seperated by one ore more blanks>
    dddfff.
    Final Point found. EXIT.

    ! now lets compile a few other sources:

    RTS>DK:COMP.LOD
    M2Compiler V05.1, source file> SYNCHR.DEF
    p1
    PROCESSSCHEDULER: DK:PROCES.SYM
    p2
    symfile
    lister
    end compilation
    RTS>DK:COMP.LOD
    M2Compiler V05.1, source file> CHASEP.DEF
    p1
    Synchronisation: DK:Synchr.SYM
    p2
    symfile
    lister
    end compilation
    RTS>DK:COMP.LOD
    M2Compiler V05.1, source file> CHASE
    p1
    Synchronisation: DK:Synchr.SYM
    VideoTerminal: DK:VideoT.SYM
    ASCII: DK:ASCII.SYM
    TTInOut: DK:TTInOu.SYM
    PDP11: DK:PDP11.SYM
    BigStorage: DK:BigSto.SYM
    ChasePlayer: DK:ChaseP.SYM
    *** Storage Error: SET USR SWAP or unload handlers or use larger heap
    RTS>

    .
    pass1 needs more memory.

    MED (modula-2 editor), an extended clone of ucsd p-system editor
    for the vt52 runs. supports fixed screen sizes of 80x24 or 80x80 chars.

    the 16 bit M2 RTS could be weaked a bit more with SL switched off to compile
    bigger programs, but it's not fun - not only because rt-11 sucks without SL.
    so lets's try M2/VRS. xm.sav is the VRS (virtual run-time) version of M2
    run time system. it uses the MMU.

    .ru xm
    ?MON-F-Trap to 4 005712
    .

    seems MMU is not emulated.

    .ru xmxnfs
    E:\

    crashes rt11.exe

    so far the PDP-11/RT-11 emu for windows is quite encouraging,
    since it can operate on host directory directly
    (which in my case is mapped from VBox under Win to Linux host directory)
    and doesn't need a RT-11 file structured container (like RUST;
    though RUST allows it through network driver, but the latter
    also takes away BG memory.)

    will send xm.sav and test programs if the rt-11 emu developer
    is interested to also emulate the MMU.

    the M2 Kit has a nice symbolic, post-mortem debugger and the system
    would still be attractive for custom program development eventhough
    it's command line interface only. Under OpenVMS (and other opsys)
    there is a run-time debugger, quite versatile, but ever since the PDP-11
    times I missed the quite effective RT-11 M2 pm-debugger.

    best,
    g.

  7. #57
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    this created a file with about 700KB on DK: doesn't seem to change anything
    Без извлечения образа системного диска невозможно изменить состав файлов на диске SY: Можно хоть все файлы там удалить, но после перезапуска эмулятора изменения пропадут. Извлечение диска позволяет сохранять изменения системы между запусками эмулятора.

    Можно поступить ещё круче - сделать copy/dev/noq sy: dk: - тогда хост-каталог станет загрузочным, но для его загрузки надо будет каждый раз после запуска rt11.exe давать команду boot dk: ( если извлечь системный образ и прописать команду boot hd1: в стартовый командный файл STARTS.COM - такой фокус не работает, попробую исправить это в следующем релизе ).


    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    if the rt-11 emu developer is interested to also emulate the MMU
    Вариант эмулятора RT-11 с эмуляцией MMU появится не раньше эмулятора процессора 1801ВМ3 для эмулятора ДВК - возможно, этой зимой.
    Последний раз редактировалось Patron; 02.12.2015 в 10:32.

  8. #58
    Veteran Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,593
    Спасибо Благодарностей отдано 
    2,158
    Спасибо Благодарностей получено 
    130
    Поблагодарили
    96 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Продолжение:
    Цитата Сообщение от Günter Dotzel
    earlier email trace of Modula-2 test with Ian Hammond's RUST pdp-11/rt-11 emu attached. the attachement is suitable for Patron if he'd like to test MMU emulation of his rt-11 emu. (I have another email about fixing y2000 but in RT11 M2 library module.
    also maybe have some info on how Ian fixed it in his RUST)

    -------- Forwarded Message --------
    Subject: link went a bit further with 132400 xmqr.sav size and then ... 'final' success!
    Date: Sun, 28 Feb 2010 20:29:18 +0100
    From: Guenter Dotzel
    To: Ian Hammond

    ru patch ! rt-11 version
    xmqr.sav
    42/132400
    50/132402
    512/132400
    E

    .ru xmqr

    VRS>DK:LINK.XML
    M2Linker V06.1, master file> LIST/fis
    link files to:
    Lister: DK:Lister/fis
    TTInOut: DK:TTInOu
    UnivTypes: DK:UnivTy
    UnivOutput: DK:UnivOu
    ASCII: DK:ASCII
    UnivInput: DK:UnivIn
    UnivString: DK:UnivSt/fis
    NewStreams: DK:NewStr
    Storage: DK:Storag
    FilePool: DK:FilePo
    UnivFileName: DK:UnivFi
    VideoTerminal: DK:VideoT
    RT11Support: DK:RT11Su/fis

    Halt: PC=14046 OP=0

    xmqr size 132500 won't start (more memory fault)

    so I tried the 'last' chance:

    ru patch ! rt-11 version
    xmqr.sav
    42/132440
    50/132442
    512/132440
    E

    since

    .sh mem

    Address Module Words
    ------- ------ -----
    160000 IOPAGE 4096.
    143112 RMON 3291.
    134146 USR 1778.
    132670 DL 343.
    132566 Logicals 33.
    132556 Commands 4.
    000000 (free) 23223.

    512kw physical memory

    not much more is left.
    SL is not needed since m2 comes with its own line editor.
    NF would be nice. but it just doesn't fit.

    .ru xmqr

    VRS>DK:LINK.XML
    M2Linker V06.1, master file> LIST/fis
    link files to:
    Lister: DK:Lister/fis
    TTInOut: DK:TTInOu
    UnivTypes: DK:UnivTy
    UnivOutput: DK:UnivOu
    ASCII: DK:ASCII
    UnivInput: DK:UnivIn
    UnivString: DK:UnivSt/fis
    NewStreams: DK:NewStr
    Storage: DK:Storag
    FilePool: DK:FilePo
    UnivFileName: DK:UnivFi
    VideoTerminal: DK:VideoT
    RT11Support: DK:RT11Su/fis
    ..............
    end linkage

    VRS>

    and guess what, the linked program worked! ("/fis" above is added my the linker to show the option used at compile time.)

    That's as good as it gets.
    Congrats Ian!!!

    p.s.: the editor med works quite well given one remembers to press BS instead of DEL to terminate delete or insert (etc.) modes. to correct the text typed in insert mode, the cursor key left (instead of BS) can be used. the page up down keys don't work (of course; they never worked); to page down or up, use p (or -p); minus sign reverses the mode. see manual.

    p.s.s: what did you change for y2k compatibility? if I look into linker map just generated, I see year 78.
    the time is correct. see LIST.MAP linker listing attached. I also attach clock.mod which is used in m2 to get the date and time. guess you see 'immediately' how this could be fixed.

    p.s.s.: I had to get list.map out of dsk-container using

    .load nf

    .copy list.map m2k:
    Files copied:
    DK:LIST.MAP to M2K:LIST.MAP
    spc=[M2K:LIST.MAP] tmp=[M2K:LIST_MAP.ten]

    I guess the 2nd line is your debug output. anyway it worked.

    best
    g

    LIST.MAP
    Код:
      STORAGE MAP OF LAYER List (module from file DK:LIST.LNK)
      generated in 28-Feb-78 20:12:01.96
      ==================================
      linked to layer ResidentMonitor from file SY:MODULA.XM2
      -------------------------------------------------------
      PVD stands for 'Procedure Variable Dummy entry generated in low-mem. at'
    
        Codesegment:                1 ..       2             2 segments
        Physical block:       001725B .. 002072B           102 blocks
        Variables:            020004B .. 030471B          4406 bytes
        Constants:            020004B .. 030501B          4414 bytes
    
      separate module UnivTypes from file DK:UnivTy.LNK
      -------------------------------------------------
    
      separate module ASCII from file DK:ASCII.LNK
      --------------------------------------------
    
      separate module UnivOutput from file DK:UnivOu.LNK
      --------------------------------------------------
    
        Codesegment                 1
        Physical block:       001725B .. 001736B            10 blocks
        Code:                 140000B .. 141163B           628 bytes
    
        Proc #  0:   empty    Proc #  1: 140000B    Proc #  2: 140244B
        Proc #  3: 140450B    Proc #  4: 140732B    Proc #  5: 140774B
        Proc #  6: 141076B
    
      separate module UnivString from file DK:UnivSt.LNK
      --------------------------------------------------
        Variables:            020004B .. 020005B             2 bytes
        Constants:            020006B .. 020011B             4 bytes
    
        Codesegment                 1
        Physical block:       001736B .. 001755B            16 blocks
        Code:                 141164B .. 143153B          1016 bytes
    
        Proc #  0: 141164B    Proc #  1: 141206B    Proc #  2: 142526B
        Proc #  3: 142606B    Proc #  4: 142676B
              PVD: 020006B
    
      separate module UnivInput from file DK:UnivIn.LNK
      -------------------------------------------------
    
        Codesegment                 1
        Physical block:       001756B .. 001762B             5 blocks
        Code:                 143154B .. 143571B           270 bytes
    
        Proc #  0:   empty    Proc #  1: 143154B
    
      separate module TTInOut from file DK:TTInOu.LNK
      -----------------------------------------------
        Variables:            020012B .. 020015B             4 bytes
    
        Codesegment                 1
        Physical block:       001762B .. 001765B             4 blocks
        Code:                 143572B .. 144157B           246 bytes
    
        Proc #  0: 143572B    Proc #  1: 143624B    Proc #  2: 143672B
        Proc #  3: 143730B    Proc #  4: 143766B    Proc #  5: 144024B
        Proc #  6: 144050B    Proc #  7: 144112B
    
      separate module Storage from file DK:Storag.LNK
      -----------------------------------------------
        Variables:            020016B .. 030031B          4108 bytes
    
        Codesegment                 1
        Physical block:       001766B .. 001776B             9 blocks
        Code:                 144160B .. 145161B           514 bytes
    
        Proc #  0: 144160B    Proc #  1: 144214B    Proc #  2: 144730B
        Proc #  3: 145032B
    
      separate module NewStreams from file DK:NewStr.LNK
      --------------------------------------------------
        Variables:            030032B .. 030033B             2 bytes
    
        Codesegment                 1
        Physical block:       001776B .. 002016B            17 blocks
        Code:                 145162B .. 147251B          1080 bytes
    
        Proc #  0: 145162B    Proc #  1: 145206B    Proc #  2: 145312B
        Proc #  3: 145364B    Proc #  4: 145416B    Proc #  5: 145514B
        Proc #  6: 145634B    Proc #  7: 145742B    Proc #  8: 146032B
        Proc #  9: 146174B    Proc # 10: 146244B    Proc # 11: 146410B
        Proc # 12: 146636B    Proc # 13: 146762B
    
      separate module FilePool from file DK:FilePo.LNK
      ------------------------------------------------
        Variables:            030034B .. 030035B             2 bytes
    
        Codesegment                 1
        Physical block:       002017B .. 002020B             2 blocks
        Code:                 147252B .. 147423B           106 bytes
    
        Proc #  0: 147252B    Proc #  1: 147276B
    
      separate module UnivFileName from file DK:UnivFi.LNK
      ----------------------------------------------------
        Constants:            030036B .. 030057B            18 bytes
    
        Codesegment                 1
        Physical block:       002021B .. 002040B            16 blocks
        Code:                 147424B .. 151413B          1016 bytes
    
        Proc #  0:   empty    Proc #  1: 147424B    Proc #  2: 150450B
                                                          PVD: 030054B
        Proc #  3: 150540B    Proc #  4: 150670B    Proc #  5: 151206B
    
      separate module VideoTerminal from file DK:VideoT.LNK
      -----------------------------------------------------
        Variables:            030060B .. 030061B             2 bytes
        Constants:            030062B .. 030073B            10 bytes
    
        Codesegment                 1
        Physical block:       002041B .. 002044B             4 blocks
        Code:                 151414B .. 151733B           208 bytes
    
        Proc #  0: 151414B    Proc #  1: 151530B    Proc #  2: 151566B
        Proc #  3: 151652B
    
      separate module RT11Support from file DK:RT11Su.LNK
      ---------------------------------------------------
        Variables:            030074B .. 030077B             4 bytes
    
        Codesegment                 1
        Physical block:       002044B .. 002044B             1 block
        Code:                 151734B .. 152005B            42 bytes
    
        Proc #  0: 151734B
    
        Codesegment                 2
        Physical block:       002046B .. 002060B            11 blocks
        Code:                 140000B .. 141247B           680 bytes
    
        Proc #  1: 140000B    Proc #  2: 140156B    Proc #  3: 140226B
        Proc #  4: 140314B    Proc #  5: 140332B    Proc #  6: 140412B
        Proc #  7: 140430B    Proc #  8: 140634B    Proc #  9: 140652B
        Proc # 10: 140670B    Proc # 11: 140714B    Proc # 12:   empty
        Proc # 13: 141026B    Proc # 14: 141122B
    
      separate module Lister from file DK:Lister.LNK
      ----------------------------------------------
        Constants:            030100B .. 030447B           232 bytes
    
        Codesegment                 2
        Physical block:       002060B .. 002071B            10 blocks
        Code:                 141250B .. 142421B           618 bytes
    
        Proc #  0:   empty    Proc #  1: 141250B
    
      separate module List from file DK:LIST.LNK
      ------------------------------------------
        Constants:            030450B .. 030501B            26 bytes
    
        Codesegment                 2
        Physical block:       002072B .. 002072B             1 block
        Code:                 142422B .. 142451B            24 bytes

  9. #59
    Veteran Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,593
    Спасибо Благодарностей отдано 
    2,158
    Спасибо Благодарностей получено 
    130
    Поблагодарили
    96 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    .
    Цитата Сообщение от Günter Dotzel
    Код:
        Proc #  0: 142422B
              PVD: 030466B
    
      First free codesegment:            3
      First free physical block:   002073B
      First free variablelocation: 030472B
      First free constantlocation: 030502B
      First free codelocation:     140000B
    CLOCK.MOD
    Код:
    IMPLEMENTATION MODULE Clock; (* LG/ETH-Z~urich: 26.02.81 *)
    (*
     >
     > (c) Copyright (1981, 1988) by Gunter Dotzel
     > ModulaWare GmbH
     > Wilhelmstr. 17A
     > D-8520 Erlangen/West-Germany
     > Tel. 09131 208395
     >
       GD/22-Jun-1988: automatic 50/60 cycles detection and conversion
       (derived from module clock.mod, clk60.mod by GD/Rev: 09-Dec-1981).
       For 50 Hz with LTC in Europe.
       For 60 Hz clock (MXV-11, 11/23+, and for other countries line frequency)
    *)
      FROM SYSTEM IMPORT ADR, RT11CALL, REGISTER;
    
      VAR cycle50: BOOLEAN; (* see module body *)
    
      PROCEDURE GetTime(VAR tim : Time);
        (* get computer time and date *)
        VAR datearea : RECORD chan,code : CHAR END;
          timearea : RECORD
            chan, code: CHAR;
            buffaddr : CARDINAL;
          END;
          timebuff : RECORD
            hightick : CARDINAL;
            lowtick : CARDINAL;
          END;
          d, m, y : CARDINAL;
      BEGIN
        WITH tim DO
          (* get date *)
          WITH datearea DO chan := 0C; code := 12C (* .DATE *) END;
          RT11CALL(374B,CARDINAL(datearea));
          day := REGISTER(0);
          IF day <> 0 THEN (* reformat day *)
            d := day DIV 40B MOD 40B;
            m := day DIV 2000B MOD 20B;
            y := day MOD 40B + 72;
            day := (y * 20B + m) * 40B + d;
          END;
          (* get time *)
          WITH timearea DO
            chan := 0C; code := 21C; (* .GTIM *)
            buffaddr := ADR(timebuff);
          END;
          RT11CALL(375B,ADR(timearea));
          (* calculate seconds and milliseconds *)
          WITH timebuff DO
            IF cycle50 THEN
              (* tickperiod = 20 milliseconds; ticks per minute  = 3000 *)
              (* 65536 / 3000 = 21 + 317 / 375 *)
              minute := lowtick DIV 3000 + hightick * 21;
              hightick := hightick * 317;
              lowtick := lowtick MOD 3000 + hightick MOD 375 * 8;
              minute := minute + lowtick DIV 3000 + hightick DIV 375;
              millisecond := lowtick MOD 3000 * 20;
            ELSE
              (* tickperiod = 16.666 milliseconds; ticks per minute  = 3600 *)
              (* 65536 / 3600 = 18 + 46/225 *)
              (* 3600 / 225   = 16          *)
              minute := lowtick DIV 3600 + hightick * 18;
              hightick := hightick * 46;
              lowtick := lowtick MOD 3600 + hightick MOD 225 * 16;
              minute := minute + lowtick DIV 3600 + hightick DIV 225;
              millisecond := lowtick MOD 3600;
              millisecond := millisecond * 16 + (millisecond * 2) DIV 3;
            END;
          END;
        END; (* WITH *)
      END GetTime;
    
      PROCEDURE InitCycle;
      VAR
        gvalarea : RECORD
          chan,code : CHAR;
          offset : CARDINAL;
        END;
      BEGIN
        WITH gvalarea DO
          chan := 0C; code := 34C; (* .GVAL *)
          offset := 300B; (* fixed offset to RMON base *)
        END;
        RT11CALL(375B,ADR(gvalarea));
        cycle50:={5}<=BITSET(REGISTER(0)); (* bit 5 is sysgened clock speed *)
      END InitCycle;
    
    BEGIN
      InitCycle;
    END Clock.
    CLOCK.DEF
    Код:
    DEFINITION MODULE Clock; (* LG 23.04.80 *)
    
      EXPORT QUALIFIED Time, GetTime;
    
      TYPE Time = RECORD
                    day : CARDINAL;  (* ((y-1900) * 20B + m) * 40B + d *)
                    minute : CARDINAL;
                    millisecond : CARDINAL;
                  END;
    
      PROCEDURE GetTime(VAR tim : Time);
        (* get computer time *)
    
    END Clock.
    -------- Forwarded Message --------
    Subject: m2 und m2/vrs
    Date: Sun, 28 Feb 2010 16:42:22 +0100
    From: Guenter Dotzel
    To: Ian Hammond

    Ian,

    attached I'm sending just a few components of m2kit (except *.mod all are binary files.) I zipped the files under windows.

    comint = m2 command interpreter

    m2: ms*.sav needs comint.m2s on sy: (m2 for mapped RT11 on logical vs
    m2/vrs: xm*.sav needs comint.xm2 on sy: ( " )

    the suffixes (of (ms, xm).sav are:

    nf = runs on lsi-11 with no floating hardware
    p = runs on sharePlus or other mapped version of rt-11
    x = version with higher stack start (stack start can be patched in MS*.sav [and XM*.SAV]in locations 42, 50, 512)
    f8 = forgot, most probably for double precision FP (mathlib?)
    don't know what q,c,s suffixes eg. in xmcnfs.sav mean, but will find out.

    2 example programs:
    - list.lod (m2), list.xml (m2/vrs), list.mod source code
    - chase.lod (chase game; uses vt52 esc-controls; works great)

    if the comint prompt comes up (and it does in v11/lsi rust with msnf.sav):

    RTS>

    type 'list<RET>' and list.lod is loaded. it displays the content of file list.mod if you give this file name or type 'chase<RET>'. navigate left right up etc with keys explained in intro. please try to find out why xmcnfs.sav crashes to halt.

    xm.sav (don't know if it requires fpu or fis or none) gives trap 4 on v11/lsi rust.
    so I guess the mmu regs are not accessible with short iopage.

    best
    Gunter

    --


    -------- Forwarded Message --------
    Subject: m2/vrs start and compile success with rust2
    Date: Sun, 28 Feb 2010 19:41:48 +0100
    From: Guenter Dotzel
    To: Ian Hammond

    Ian,

    just installed rust2

    ! one time installation operations:
    copy modula.* sy:
    copy comint.* sy:
    crea/all:123 sy:dump.cor

    ! apply one time patch to set program size of m2/vrs for rust:
    copy xmq.sav to xmqr.sav
    ru patch ! rt-11 version
    xmqr.sav
    42/132000
    50/132002
    512/132000
    E
    ===

    with this patch:

    .sh prog xmqr

    Program name DK:XMQR.SAV
    File size 39. blocks

    Start address 5704
    Stack address 132000
    Job status word 50400 = Lower Single Chain
    Program size 132002 bytes, 23041. words
    Memory limit None

    the m2 compiler runs under m2/vrs:

    .xmqr

    VRS>DK:COMP.XML
    M2Compiler V05.1, source file> LIST.MOD
    p1
    Lister: DK:Lister.SYM
    p2
    p3
    p4
    p5
    end compilation

    VRS>

    I was able to compile bigger programs.

    but when I start the linker, it crashes rust to halt.

    ===
    ! m2kit rust/sj startup commands.
    unload sl
    unload nf
    def dk dl1 ! m2kit
    def vc dk
    def ve dk
    def vl dk
    def vs sy ! don't know if they are all needed
    set def dk
    ===

    best
    g

    -------- Forwarded Message --------
    Subject: modula-2 under rust/sj with v11
    Date: Sat, 27 Feb 2010 13:24:40 +0100
    From: Guenter Dotzel
    To: Ian Hammond

    Ian

    yesterday I copied the whole directory of the modula-2/rt-11 kit from alpha vms
    by ftp into a dir on the pc under w2k and then under RUST into a RT-11 disk
    container (DL1) because I thought strange behaviour below came from
    using files on native windows directory (but it made no difference).

    under SHE I start rust with

    v11 rust

    there is unmapped m2(1. m2) and mapped m2(2. m2/vrs).
    the latter allows very big programs without overlays by mapping mmu via par6.
    both worked great also under shareplus.

    1. with m2:
    even with unloaded SL, since user can't be set swap in rust,
    I had to patch the (max.) size of m2 run-time system/command interpreter
    program sav file from 132500 to 130000.

    .sh progr sy:modula

    Program name SY:MODULA.SAV
    File size 14. blocks

    Start address 2720
    Stack address 130000
    Job status word 50400 = Lower Single Chain
    Program size 130002 bytes, 22529. words
    Memory limit None

    Image options 4040 = IOpage Nopaths

    with this version of m2, it's runtime system and command interpreter starts and I can load and execute m2 programs with varying mileage:

    a) some m2 tools no longer run with this lower limit but that'd be fixable.
    b) some m2 programs are running great: chase game, list, dir, vir,. ...
    c) some m2 programs show strange behaviour, e.g.: editor med, m2 compiler comp

    c.a) comp actually starts and asks for input file name and starts pass 1 (of 5) but then asks again for input file name. if I type it again, it crashes without error message to '.' prompt. in case of non existing input file, comp says 'error file not found' and reprompts.

    c.b) med opens an input file and displays the first screen full of text and then immediately reprompts for input file name (without saying 'file not found'), it seems to restart.

    2. with m2/vrs
    I also patched the program size but it doesn't start up: the (no floating point) version which runs on shareplus (xmcnfs.sav, patched xmrust.sav) crashes to halt.

    .sh prog xmrust.sav

    Program name DK:XMRUST.SAV
    File size 39. blocks

    Start address 5452
    Stack address 132000
    Job status word 50400 = Lower Single Chain
    Program size 132002 bytes, 23041. words
    Memory limit None

    Image options 124040 = Traps IOpage Nopaths MMU

    (I tried both /unmapped and /nounmapped)

    .sh mem

    Address Module Words
    ------- ------ -----
    160000 IOPAGE 4096.
    143004 RMON 3326.
    134172 USR 1733.
    132714 DL 343.
    132370 NF 106.
    132266 Logicals 33.
    132256 Commands 4.
    000000 (free) 23127.

    512kw physical memory

    any suggestions? if you want to try it, I can send you the programs concerned.

    for me m2 on pdp it is just for curiosity. I'm willing to spend some time because it would be fun to show young people how -given the right concept - fast, easy, and fluid program development was with the seamless cyle of edit, compile, run, debug (symbolic post-mortem debugger) nearly 30 years ago - without any mouse click, with seperate compilation, automatic linker (self-collecting all required modules, checking cross-module interdependencies without the need of an object time librarian - the latter being still necessary even with m2 under openvms. I still miss this linker and debugger although the oberon system (under openvms) has it all except that it comes with the burden of 'YAG' (yet another GUI)) and simple but efficient debugger.

    best
    g

  10. #60
    Master
    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    743
    Спасибо Благодарностей отдано 
    223
    Спасибо Благодарностей получено 
    40
    Поблагодарили
    39 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Это стандартное поведение большинства старых терминалов типа VT52. Если бы они скролили экран при выводе в последнее знакоместо на экране - невозможно было бы (при желании) рисовать текстовую рамку вокруг экрана.
    С этой проблемой знаком, но чтобы система не скроллила - это что-то необычное. Что за рамки на терминалах 70-х?! Проверил с SIMH и vt52 - скроллит. Решал проблему отключения скроллинга на нескольких системах, там для этого приходилось либо напрямую обращаться к аппаратуре, либо обманывать систему, задавая ей при выводе последнего символа значение ширины экрана большее настоящего. Неужнли на RT11 не было нормального механизма отключения скроллинга?
    За вопрос с умножением извините. Там была ошибка в другом. Привык использовать POP/PUSH, а тут такого нет и написал MOV r1,(sp)+ впесто POP - не ломает, но и не работает.

Страница 6 из 12 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Эмулятор ДВК
    от Patron в разделе Эмуляторы отечественных компьютеров
    Ответов: 1820
    Последнее: 30.08.2023, 07:35
  2. Эмулятор
    от vladimir53 в разделе Орион
    Ответов: 19
    Последнее: 24.06.2022, 08:02
  3. Эмулятор AY на AVR
    от serkiri в разделе Звук
    Ответов: 52
    Последнее: 10.06.2010, 09:01

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •