УКНЦ

Digital Equipment Corporation PDP-8 & PDP-11 (а также совместимые с последним советские ЭВМ на 1801ВМ1/2/3)

Moderator: Shaos

Arseny
Junior
Posts: 4
Joined: 10 Apr 2006 13:21

Post by Arseny »

Shiru Otaku wrote:Основная сложность - это связь процессоров, и вообще архитектура системы; плюс я так и не нашёл документацию с точными таймингами ВМ1/2.
Вот в этом и проблема. 1 проц похоже эмулировать не составит труда, но не имея достаточной информации, да еще и без живого оборудования, занятие эмулированием представляет определенную проблему ;-)
Mac Buster
Retired
Posts: 1474
Joined: 03 Aug 2003 22:37
Location: Moscow

Post by Mac Buster »

Среди моих книжек есть ода-две с описанием школьных компьютеров. Возможно там можно найти что-нибудь полезное для эмуляции.
Extreme Entertainment
Arseny
Junior
Posts: 4
Joined: 10 Apr 2006 13:21

Post by Arseny »

Эмулятор УКНЦ вышел на финишную прямую.
Вот страница эмулятора: http://www.felixl.com/Uknc
Это - ЖЖ автора: http://nzeemin.livejournal.com/tag/%D0% ... 0%9D%D0%A6
Это - форум по УКНЦ и около УКНЦшным темам для разработчиков: http://www.felixl.com/forum/
User avatar
Shaos
Admin
Posts: 24039
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

А тем временем эмулятор УКНЦ продолжает развиваться (вместе с эмуляторами БК и Немиги):

http://nzeemin.livejournal.com
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16687
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:А тем временем эмулятор УКНЦ продолжает развиваться
А чем у Чунина закончилась эпопея с УК-НЦ ?
iLavr
User avatar
Lavr
Supreme God
Posts: 16687
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

2_vinxru: Здесь, возможно, немного не в тему, но у меня нет жж, а у тебя эта тема в жж.

Ты там пишешь, что у тебя есть живой УКНЦ и к нему несколько файлов загрузки с кассетного
магнитофона:
vinxru wrote:...UKNC_CAT.wav, UKNC_CBASIC.wav, UKNC_DBAS.wav, UKNC_GARDEN.wav, UKNC_KLAD.wav,
UKNC_MISION.wav, UKNC_UKFORM.wav, UKNC_VERT.wav. Если у кого то есть другие программы,
буду рад получить их от вас.
Это у тебя оригинальные звуковые файлы или сконвертированные утилитой Sav2Wav.exe ?

В любом случае - вопрос вот какой: а как происходит загрузка с кассеты в УКНЦ?
Я пробовал загрузку из wav-файла в эмуляторе: всё происходит, как и должно быть,
но заканчивается вот чем:

Image

То есть, данные с кассетного wav-файла в памятьзагрузились - я проверил отладчиком.
Но как дальше запустить загруженный файл на исполнение?

Или он автоматом должен запуститься?
iLavr
vinxru
Retired
Posts: 587
Joined: 27 Mar 2013 04:55
Location: 62.192.229.16

Post by vinxru »

У меня в ЖЖ можно писать без авторизации.

Игра запускалась сразу сама. Я ничего не писал. Хотя, давно это было, мог и забыть.

WAV файлы я скачал с сайта, я не знаю откуда они взялись.

Дисковый Бейсик (UKNC_DBAS.wav) не запускался.

Я пробовал вытаскивать с образов дискет игры и программы, затем конвертировал их в WAV этой утилитой, но ничего у меня не запустилось, кроме вот этого скромного набора игр.

Вроде бы даже ошибка была такая же как у тебя.

Поэтому я забросил УКНЦ, пока не найду контроллер флопа.
vinxru
Retired
Posts: 587
Joined: 27 Mar 2013 04:55
Location: 62.192.229.16

Post by vinxru »

Я думаю, что тебе надо обратится к Сергею Фролову. Он пишет эмуляторы PDP-11-ых, должен разбираться.
User avatar
Lavr
Supreme God
Posts: 16687
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

vinxru wrote:WAV файлы я скачал с сайта, я не знаю откуда они взялись.
...
Я пробовал вытаскивать с образов дискет игры и программы, затем конвертировал их в WAV этой утилитой, но ничего у меня не запустилось, кроме вот этого скромного набора игр.
Я тоже вытащил из образов дискет - и ничего не запускется, хотя в память - точно загружается.

А ты не дашь ссылочки, где ты скачивал эти wav-файлы, которые у тебя точно запускаются?
Или твои - как либо скачать...

Если закинуть свои файлы в их диски их же утилитой - тоже ничего не запускается, даже опцией
GET от RT-11, хотя это всего лишь - положить в память.
iLavr
User avatar
Lavr
Supreme God
Posts: 16687
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

vinxru wrote:WAV файлы я скачал с сайта, я не знаю откуда они взялись...
Вот это не они случаем? Просто хотелось попробовать те, что точно загружаются...

http://pdp-11.org.ru/~form/files/pics/uknc/soft/

Code: Select all

 UKNC_CAT.wav            24-Jan-2008 22:53   5.2M  
 UKNC_CBASIC.wav         04-Sep-2008 19:15   5.4M  
 UKNC_DBAS.wav           06-Jul-2008 22:30   6.0M  
 UKNC_GARDEN.wav         22-Jan-2008 22:19   2.7M  
 UKNC_KLAD.wav           06-Jul-2008 21:36   3.7M  
 UKNC_MISION.wav         23-Jan-2008 21:50   5.4M  
 UKNC_UKFORM.wav         26-Dec-2007 01:24   1.5M  
 UKNC_VERT.wav           06-Jul-2008 21:14   1.9M  
iLavr
vinxru
Retired
Posts: 587
Joined: 27 Mar 2013 04:55
Location: 62.192.229.16

Post by vinxru »

Имена и количество то же. Содержимое скорее всего то же.

У меня УКНЦ-шные файлы на другом компьютере, сейчас к нему нет доступа.
User avatar
Lavr
Supreme God
Posts: 16687
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

vinxru wrote:Игра запускалась сразу сама. Я ничего не писал.
Действительно - запуск файлов автоматический после удачной загрузки...
Файлы в списке выше - "настоящие", то есть, судя по их звучанию, сформированы,
видимо, записью через звуковую карту.
Уровень сигнала - средненький слышны шумы и призвуки...

Но файлы действительно загружаются, хотя и через раз.
Видимо, удачно и точно сэмулированы все проблемы ввода с кассетного магнитофона. :lol:

Сигнал, сформированный утилитой Sav2Wav.exe от этих файлов разительно отличается!
Он чистый, без шумов и призвуков, амплитуда большая, и загружаемый файл не запускается.
На слух заметна небольшая разница в частотах. Сигнал из-под утилиты чуть выше по частоте.
vinxru wrote:Дисковый Бейсик (UKNC_DBAS.wav) не запускался.
Наверное, он попал у тебя в неудачную фазу... :D

После UKNC_VERT.wav, который короткий и загрузился без проблем, я сразу попробовал UKNC_DBAS.wav

Image

Он вполне нормально стартанул. А вот пара следующих файлов не стартанули, хотя и короткие... :-?

Я немного поинтересовался, что это за файлы *.SAV, которые мы грузим, в понятии RT-11.
Грубо говоря - это просто состояние памяти, сохраненное на диск опцией SAVE с указанными адресами.
Но информация о их запуске немного противоречива:
В RT-11 ... обычные программы имеют расширение .sav, представляют собой абсолютные загружаемые модули и грузятся всегда с адреса 01000. Ниже этого магического адреса находятся вектора прерываний и стек программы. Сама операционная система вместе с драйверами размещается в верхних адресах памяти. Естественно, вы не можете загрузить одновременно два .sav-файла.
Если говорить о программах из RT-11 формата .SAV, то она загружается с начала памяти. В RT-11 файлы делятся по блокам размером 512 байт, блоки нумеруются с нуля. При этом программу можно разделить на две части: нулевой блок (первые 512 байт или 256 слов) и остальная часть. В нулевом блоке в частности находятся такие переменные, как стартовый адрес программы (смещение 000040), начальное положение указателя стека (000042), конечный адрес памяти, занимаемый программой (000050). В диапазоне 000500-000777 может находиться и исполняемый код. Начиная с первого блока располагается собственно программа.
Таким образом структура загрузчика должна быть такой:

Code: Select all

000000 000240 NOP
000002 000440 BR 000104
......
000040 ****** стартовый адрес
000042 ****** адрес начала стека
......
000050 ****** конечный адрес программы
......
000100 000102 .WORD 102
000102 000002 RTI
000104 собственно отсюда располагается загрузчик, загружающий остальную часть программы, и запускающий ее
......
000500 здесь располагается информация с нулевого блока
Вот это более на правду похоже - я смотрел память после неудачных загрузок - действительно,
грузится с 000500.
Last edited by Lavr on 13 Nov 2013 12:10, edited 1 time in total.
iLavr
vinxru
Retired
Posts: 587
Joined: 27 Mar 2013 04:55
Location: 62.192.229.16

Post by vinxru »

У тебя в эмуляторе есть контроллер флопа, а у меня не реале нет. Это может быть причиной неработоспособности ДИСКОВОГО бейсика.
User avatar
Lavr
Supreme God
Posts: 16687
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Lavr wrote:
vinxru wrote:Я пробовал вытаскивать с образов дискет игры и программы, затем конвертировал их в WAV этой утилитой, но ничего у меня не запустилось
Я тоже вытащил из образов дискет - и ничего не запускется, хотя в память - точно загружается.
И вдруг опыт совершенно неожиданно удалсЯ! :o
На диске game.dsk я выбрал самую маленькую игру WALL.SAV - всего
7 блоков в терминах RT-11, вытащил её с образа диска через RT11DSK.exe,
сделал wav-файл через Sav2Wav.exe и получившийся WALL.WAV четко
загрузился и запустился! :kruto:

Значит дело в каких-то мелочах, если это делать на эмуляторе УК-НЦ.
Уменьшал амплитуду wav-файла до 50% - он всё-равно устойчиво загружается.
В принципе, трудно понять глюки эмулятора - он же не в реальном времени
wav-файл загружает... :(


vinxru, а ты не пробовал вот этот вариант из меню загрузчика?

Image

Про него я смог найти лишь следующее:
--> - стрелка вправо без параметра откроет ячейку памяти последнюю
по счётчику, с параметром типа 40 и стрелка вправо - откроет соотв. 40-у ячейку;
стрелка вниз (упр.курсором) - всегда открывает следующую ячейку
стрелка вверх (упр.курсором) - предыдущую (за исключ.случ.)
ВК - (ентер) - просто выводит приглашение @ в следующей строке.

Если в строке с открытой ячейкой ввести значение (которое нужно) и
нажать стрелку вверх или вниз это значение (за исключ.случ.) заносится
в текущую ячейку.

Кнопка ИСП - это приказ выполнения может иметь параметр или не иметь.

В УК-НЦ в режиме отладки есть команды (однокнопочные), типа :
R - c параметром или без (содержимое регистров),
T - тест станции (если честно совсем не знаю,
что это за тест, но поскольку номер станции выводит наверное что-то с СА?),
D - дисплей? Короче говоря просто даёт порисовать попечатать - выход по Упр+Ц(C).
M - стартовое меню вернуть.
Получается, что есть вроде странно-кастрированные вариации набора команд привычных нам мониторов.

Так вот Кнопка ИСП - как я понимаю, аналог привычного G(o) [addr] - т.е. передать управление
по адресу [addr] ? Или как ей поточнее пользоваться-то?
iLavr
vinxru
Retired
Posts: 587
Joined: 27 Mar 2013 04:55
Location: 62.192.229.16

Post by vinxru »

Что то понажимал, но сильно не смотрел.