Жаль что нет схем от Немига 4.x :-(
Вид для печати
Жаль что нет схем от Немига 4.x :-(
это я видимо с каких то дискет утянул?
http://archive.pdp-11.org.ru/BIBLIOTEKA/NEMIGA_TO/
Надо настроить драйвер HX на порт 176500, после чего ввести в пульте следующий загрузчик:
Код:100/102
102/2
10000/12701
10002/176500
10004/12702
10006/176504
10010/10100
10012/5003
10014/77301
10016/5212
10020/105712
10022/100376
10024/6300
10026/1005
10030/5012
10032/12700
10034/4
10036/5761
10040/2
10042/42700
10044/20
10046/10062
10050/2
10052/1362
10054/105711
10056/100376
10060/116123
10062/2
10064/22703
10066/1000
10070/101371
10072/5007
10000G
Для настройки драйвера надо взять образ HXsys54_(176560).DSK, переименовать его в: HXsys54_(176500).DSK, добавить туда драйвер HD.SYS, подключить образ в привод HD1 эмулятора ДВК, загрузиться с привода HD0 и выполнить команды:
Код:BOOT HD1:RT11SJ
--- тут будет загрузка с привода HD1 ---
SET HX HXCSR 176500
COPY/BOOT:HX SY:RT11SJ.SYS SY:
После 10000G мигающий курсор и всё.
...
На 176506/****** 100 на терминале дает собачку.
- - - Добавлено - - -
nzeemin, Предлагаю добавить в эмулятор последовательный порт 176500, так проще будет отладить загрузчик.
...
А пока буду смотреть с сторону TU58.
Здесь есть описание эмуляции TU58, если кому интересно.
Кто в курсе?
Подсоединил НГМД-1 к ДВК, далее при загрузке через НХ запускается драйвер MD и по команде SH DEV пишет installed. Пробою DIR MD0: дисковод горит светодиодом и крутит диск. После получаю ?MON-F-Trap to 4 041624.
В пульте
41624/012700
41626/000006
Пробовал с ВМ3 и ВМ2, результат одинаков.
Что может быть не так?
А кто сказал что драйвер MD.sys от Немиги будет работать на ДВК!?!?!?!?
Так вот мне и интересно в чём хитрость. Драйвер вроде установился а при попытке прочитать диск -трап.
Установка драйвера - достаточно туманное дело. В простых случаях система просто проверяет, есть ли на шине CSR контроллера. В принципе, на случай существования нескольких разных контроллеров с пересекающимся адресным пространством, есть возможность в процессе установки драйвера выполнить в нем специальную программку, которая потыкает имеющийся CSR и другие регистры на предмет проверки, тот ли это контроллер. Здесь, похоже, именно тот случай, адресные пространства двух контроллеров - MD и DW пересекаются, а вот сочинить ту самую программулину, которая разберет, MD это или DW, наши не удосужились...
Плюс драйвер MD вполне может хранить буфер на доп. страницах памяти, которых в ДВК нет. И при чтении начать "шуршать" регистром управления страниц, что ДВК тоже может не понравится.
Для интереса набил.
Получилось вот что:
Код:000000 000102 JMP R2
000002 000002 RTI
010000 012701 MOV #176500, R1
010002 176500
010004 012702 MOV #176504, R2
010006 176504
010010 010100 MOV R1, R0
010012 005003 CLR R3
010014 077301 SOB R3, 010014
010016 005212 INC (R2)
010020 105712 TSTB (R2)
010022 100376 BPL 010020
010024 006300 ASL R0
010026 001005 BNE 010042
010030 005012 CLR (R2)
010032 012700 MOV #000004, R0
010034 000004
010036 005761 TST 000002(R1)
010040 000002
010042 042700 BIC #000020, R0
010044 000020
010046 010062 MOV R0, 000002(R2)
010050 000002
010052 001362 BNE 010020
010054 105711 TSTB (R1)
010056 100376 BPL 010054
010060 116123 MOVB 000002(R1), (R3)+
010062 000002
010064 022703 CMP #001000, R3
010066 001000
010070 101371 BHI 010054
010072 005007 CLR PC
Так я руками и не вбиваю. На стенде написал это в коде, и экспортнул оттуда save state, загрузил его в эмуляторе.
Возникла одна проблема -- одно из HALT-прерываний которое я генерирую мешает этому коду загрузки через HX.
Сделал так -- пока отключил его и собрал специальную версию для загрузки через HX.
Во вложении эта версия и 303_boothx.nmst -- save state, остановленный на начале загрузчика.
Инструкция такая:
1. Открываем эмулятор
2. В File > Settings задаём имя COM-порта (сохраняется между запусками)
3. Выбираем Emulator > Serial 176500 (сохраняется между запусками)
4. Загружаем 303_boothx.nmst через File > Load State.
5. Шаманство на стороне HX-сервера.
6. Когда всё готово -- запускаем эмуляцию.
Если у вас всё получится -- опишите пожалуйста подробно. И хорошо бы приложить конфиг для HX-сервера.
На реале, вариант только через ПЗУ или руками вбивать. Желательно чтобы можно было дополнительные ПЗУ добавлять.
Что за прерывание?
При выборе опции "Serial 176500" пишет ошибку - Failed to open COM port (0x00000002). На официальной версии ошибки нет.
RUN нажать? Если нажимаю происходит сброс.
- - - Добавлено - - -
nzeemin, где-то ошибка в эмуляции. Если нажимать G (даже без всего) то происходит сброс.
Нанял девочку-фрилансера, которая набила из ТО по Немиге весь значимый текст --
http://www.emuverse.ru/wiki/%D0%9D%D...0/%D0%A2%D0%9E
Код:// Emulator image
// Offset Length
// 0 32 bytes - Header
// 32 128 bytes - Board status
// 160 32 bytes - CPU status
// 192 3904 bytes - RESERVED
// 4096 4096 bytes - Main ROM image 4K
// 8192 8192 bytes - RESERVED for extra 8K ROM
// 16384 131072 bytes - RAM image 128K
// 147456 -- - END
nzeemin, Мы как будто на разных языках говорим.
Чем открыть файл? Какой программой?
У меня загрузка так и не пошла, вот мне и надо выяснить почему. Для этого мне надо модифицировать файл, чтоб найти что эмулятору не нравится.
.nmst это файл состояния эмулятора. Его можно выгрузить из эмулятора через File > Save State, либо загрузить через File > Load State. Редактировать можно в любом hex-редакторе, структуру файла я дал.
В эмуляторе Немиги сейчас основная проблема в прерываниях -- там всё обрабатывается через прерывание HALT, и одни события мешают другим. Пока я с этим не разберусь, нормальной эмуляции не будет.
Сделал замер частоты на 30 ноге 588ВС2А.
http://sd.uploads.ru/t/q4xOt.png
Частота меняется в пределах 2.05-2.25МГц.
При включении Немиги, на экране "Жду..." - 2.25МГц При включении пульта, на экране "Пульт>"- 2.05МГц.
MiX, Пилот штурману: - Штурман, приборы? - 80. - Что 80? - А что приборы?
Видно же по осцилограмме что микрокоманды поступают неравномерно, смысл мерять частоту их поступления?
Это же не тактовая частота....
MiX, есть большая просьба -- прогнать на Немиге тесты из вот этой темы --
http://zx-pk.ru/threads/14702-raschj...ry-pdp-11.html
-- и заснять результаты прогонов.
Это дало бы очень полезный результат для использования в эмуляторах, плюс подробную инфу о быстродействии машины.
nzeemin, Кстати и без этого есть что поправить.
На эмуляторе с прошивкой 4.06 не открываются ячейки. Должны открываться с 0 по 157776.
На эмуляторе с прошивкой 4.05 открываются, но и выше 157776 тоже открываются, а не должны.
Позвонили из университета, вчера умер Петровский Александр Александрович, один из авторов компьютера Немига, доктор технических наук, профессор кафедры электронных вычислительных средств БГУИР.
:(
а есть у кого нибудь фотографии плат данного компьютера ?
ищу документацию и нерабочие платы от него
Интервью Петровского А. А.
«Немига», канувшая в лету
Добрый день!
В этой теме часто упоминается работа Немига с SDCard HxC Floppy Emulator,
подскажите пожалуйста:
Для работы эмулятора с нестандартными форматами, пишутся отдельно
конвертеры из стандартных образов RAW в формат .hfe,
например формат MX:
http://torlus.com/floppy/forum/viewt...hp?f=19&t=1384
и например формат MD:
http://torlus.com/floppy/forum/viewt...hp?f=19&t=1446
в этих архивах файлы, исходники в формате .pl
- Что делать с этими файлами? Как с ними работать и чем открывать или компилировать?
Ни в документации, ни на форуме ни слова об этом не сказано....
То, что это скрипты Perl это само-собой понятно... Ну и что дальше?
Скачал какой-то ActivePerl 5.26.3.2603 отсюда:
https://www.activestate.com/products...erl/downloads/
Пытаюсь с помощью скрипта сделать конвертацию образа, дает ошибки:
Код:Z:\! ПЭВМ\! SDCard HxC Floppy Emulator\-NEMIGA->nemiga-dsk-to-hfe.pl 01A.DSK 01A.HFE
Experimental push on scalar is now forbidden at Z:\! ╧▌┬╠\! SDCard HxC Floppy Emulator\-NEMIGA-\nemiga-dsk-to-hfe.pl line 66, near "80;"
Experimental push on scalar is now forbidden at Z:\! ╧▌┬╠\! SDCard HxC Floppy Emulator\-NEMIGA-\nemiga-dsk-to-hfe.pl line 67, near ");"
Experimental push on scalar is now forbidden at Z:\! ╧▌┬╠\! SDCard HxC Floppy Emulator\-NEMIGA-\nemiga-dsk-to-hfe.pl line 68, near "46;"
Experimental push on scalar is now forbidden at Z:\! ╧▌┬╠\! SDCard HxC Floppy Emulator\-NEMIGA-\nemiga-dsk-to-hfe.pl line 82, near "23;"
Experimental push on scalar is now forbidden at Z:\! ╧▌┬╠\! SDCard HxC Floppy Emulator\-NEMIGA-\nemiga-dsk-to-hfe.pl line 88, near ");"
Experimental push on scalar is now forbidden at Z:\! ╧▌┬╠\! SDCard HxC Floppy Emulator\-NEMIGA-\nemiga-dsk-to-hfe.pl line 95, near "$md_header;"
Experimental push on scalar is now forbidden at Z:\! ╧▌┬╠\! SDCard HxC Floppy Emulator\-NEMIGA-\nemiga-dsk-to-hfe.pl line 97, near "$header_buff;"
Experimental push on scalar is now forbidden at Z:\! ╧▌┬╠\! SDCard HxC Floppy Emulator\-NEMIGA-\nemiga-dsk-to-hfe.pl line 100, near ");"
Experimental push on scalar is now forbidden at Z:\! ╧▌┬╠\! SDCard HxC Floppy Emulator\-NEMIGA-\nemiga-dsk-to-hfe.pl line 107, near "$md_header;"
Experimental push on scalar is now forbidden at Z:\! ╧▌┬╠\! SDCard HxC Floppy Emulator\-NEMIGA-\nemiga-dsk-to-hfe.pl line 110, near "$header_buff;"
Z:\! ╧▌┬╠\! SDCard HxC Floppy Emulator\-NEMIGA-\nemiga-dsk-to-hfe.pl has too many errors.
Если совсем лень читать документацию (что на мой взгляд проще чем постить такие большие посты аж в три темы) - просто возьми более старый активперл, например, 5.20.2.
На сайте производителя он есть
- - - Добавлено - - -
А вот и пример фикса кода под новые перлы https://github.com/DFHack/df-structu...09690203aaa13a
Гуглится гораздо быстрее чем писать такие длинные посты...
А потом снова будешь спрашивать почему тебе никто не помогает :-(
А кто будет помогать, когда из твоего вопроса следует что тебе самому свой вопрос ни на йоту неинтересен?
И где я должен взять эту документацию? Где же она?
(Если она на буржуйском языке, прошу не тыкать в такую)
И опять-же, на счет документации, еще значит и дурацкий Perl надо изучать,
вместо того, чтоб просто кто-то написал что для работы скриптов надо взять то-то и то-то, и сделать так-то и так...
Проблема с компами в том, что большая часть документации на буржуйском языке. И даже коллекционерам придётся его изучить.
Человек - существо ленивое. Что бы он что то сделал, нужен стимул (не важно какой). Если стимула нет - ему будет фиолетово - что хочет кто то другой, а не он - любимый. Пословица - спасение утопающего - дел рук самого утопающего - не на пустом месте появилась
Попробовал, спасибо. изменения в лучшую сторону есть, но все-равно ошибок куча..
Вот написали бы в самом скрипте, или в отдельном файлике к скрипту, ну или вообще хоть где-нибудь,
какая версия Perl нужна, для какой версии сделаны эти скрипты...
А править сами скрипты типа
push $info{cmethods}, $method; на push @{$info{cmethods}}, $method;
это уже совсем ни в какие ворота...
- - - Добавлено - - -
ActivePerl-5.14.3.1404-MSWin32-x86-296513.msi
Подошла... Вроде без ошибок конвертирует....
- - - Добавлено - - -
Ну и теперь конечно самый интересный вопрос...
Допустим взял загрузочный образ от Немиги, 01A-MD.DSK
с помощью скрипта сконвертировал его в 01A-MD.HFE
записал .HFE на флеш-карту, эмулятор HxC подключил к Немиге.
Загрузился на Немиге с эмулятора, и обновил загрузочный образ,
ну дописал в образ файлы с некоторых реальных дискет..
Теперь мне нужно из образа 01A-MD.HFE назад сделать .DSK образ,
чтоб вытащить файлы... Как это сделать?
Запустил ПО от HxCFloppyEmulator, и по шагам делаю:
- Load ---> 01A-MD.HFE
- Export ---> IMG file (RAW Sector file format) ---> 01A-MD_HFE.img
Получается создается файл 01A-MD_HFE.img но он нулевого размера,
хотя ПО ошибок никаких не выдало..
Точно так-же вроде получается делать с образами UKNC/DVK,
а вот с образами MD и MX похоже что нет...
И наверно так-же не получиться со всеми образами которые были сделаны через скрипты?
точнее наверно не получается из-за отсутствия поддержки в самом ПО этих форматов?
Ну да, "не царское это дело" ;-)
- - - Добавлено - - -
А это кому как удобнее:
1) сделать аппаратную читалку MD/MX, например в ввиде "дочки" к демо плате типа stm32f4discovery (я пошел по этому варианту)
2) модифицировать PC и использовать готовую читалку mx2pc. Написать свою такую же для MD.
3) переписать скрипты наоборот
Но в первом случае надо читать документацию на "буржуйском языке" по микроконтроллеру, а в третьем - учить перл. Второй же вообще требует массы телодвижений.
Ну либо можно ждать что кто-то сделает это за тебя, но результат почти предсказуем....