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

User Tag List

Страница 23 из 23 ПерваяПервая ... 1920212223
Показано с 221 по 230 из 230

Тема: Эмулятор Союз-Неон ПК-11/16 - EmuStudio

  1. #221
    Master Аватар для xolod
    Регистрация
    01.02.2010
    Адрес
    Москва
    Сообщений
    601
    Спасибо Благодарностей отдано 
    68
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    48 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Я никогда не писал поддержку IDE, и лучше мне описать все, как для чайника, который не подразумевает по умолчанию, как работать с образми HDD.
    Также нужен готовый рабочий образ HDD.
    Давай сделаем по этапам.
    Для начала надо реализовать команду IDENTIFY DEVICE (0xEC)
    Она должна возвращать один блок 512байт. Который содержит информацию о диске и самое главное его геометрию. Лучше конечно сделать что-бы она генерировалась динамически в зависимости от размера образа диска. Примеры можно посмотреть у nzeemin, класс CHardDrive::IdentifyDrive() в его ссылке или функция IdentifyDevice здесь: https://github.com/mist-devel/mist-f...b/master/hdd.c
    И проверить ее работу можно на Неоне утилитой.
    https://github.com/troosh/pk11-16/bl.../HDD/IDENT.MAC
    Когда это заработает можно начать делать команду чтения блока.
    Готового образа диска нету в принципе, но он и ненужен пока.
    Последний раз редактировалось xolod; 09.09.2020 в 20:35.

  2. Эти 2 пользователя(ей) поблагодарили xolod за это полезное сообщение:

    Chewbacca (17.09.2020), nzeemin (09.09.2020)

  3. #222
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    11,997
    Спасибо Благодарностей отдано 
    453
    Спасибо Благодарностей получено 
    643
    Поблагодарили
    338 сообщений
    Mentioned
    40 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от xolod Посмотреть сообщение
    https://github.com/troosh/pk11-16/bl.../HDD/IDENT.MAC
    Скомпилируй, плиз)

  4. #223
    Master Аватар для xolod
    Регистрация
    01.02.2010
    Адрес
    Москва
    Сообщений
    601
    Спасибо Благодарностей отдано 
    68
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    48 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Скомпилируй, плиз)
    Там уже есть https://github.com/troosh/pk11-16/bl.../HDD/IDENT.SAV

  5. Этот пользователь поблагодарил xolod за это полезное сообщение:

    Titus (09.09.2020)

  6. #224
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    11,997
    Спасибо Благодарностей отдано 
    453
    Спасибо Благодарностей получено 
    643
    Поблагодарили
    338 сообщений
    Mentioned
    40 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от xolod Посмотреть сообщение
    Сделал пробный информационный сектор.



    Для меня содержимое ифнормационного сектора - филькина грамота. Посмотрел частично, как Никита делает его инициализацию, но мне понятно только названия, серийный номер, число секторов, головок и цилиндров.
    Кстати, у Никиты там ошибка - поле модели у него считается, как 18 слов, хотя на самом деле оно 20 слов.

  7. Эти 2 пользователя(ей) поблагодарили Titus за это полезное сообщение:

    nzeemin (09.09.2020), xolod (09.09.2020)

  8. #225
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,417
    Спасибо Благодарностей отдано 
    405
    Спасибо Благодарностей получено 
    335
    Поблагодарили
    161 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Для меня содержимое ифнормационного сектора - филькина грамота. Посмотрел частично, как Никита делает его инициализацию, но мне понятно только названия, серийный номер, число секторов, головок и цилиндров.
    Насколько я помню, главное там это "геометрия" диска - она важна для драйвера.
    Поэтому на винчестере УКНЦ первые два байта - это количество секторов на дорожке и количество головок, если там неправильные параметры то образ диска у меня не аттачится в эмулятор.
    https://github.com/nzeemin/ukncbtl-doc/wiki/IDE-HDD-ru
    Последний раз редактировалось nzeemin; 09.09.2020 в 21:40.

  9. Эти 2 пользователя(ей) поблагодарили nzeemin за это полезное сообщение:

    hobot (09.09.2020), Titus (09.09.2020)

  10. #226
    Activist
    Регистрация
    18.04.2015
    Адрес
    г. Люберцы
    Сообщений
    337
    Спасибо Благодарностей отдано 
    72
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    26 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У меня нынче такое видение, как можно получить обращения к IDE контроллеру:

    1) На загрузочный диск необходимо записать файл ST.SYS (брать тут, его исходника я не нашел), после перезагрузки этот файл должен загружаться операционной системеной и по команде отображения устройств и их статуса "SHOW DEV", должна отображаться новая строка:
    Код:
    ST      Installed     177130   240
    Но этого пока не достаточно, чтоб стали работать приказы "dir st:" или "dir st1:". В служебной консоле эмулятора PK-11 новых сообщений не будет...

    2) Загружаем эмулятор дисков "prun ide.prc" (брать там же). В служебном окне можно видеть, что при загрузке будут обращения к регистру id.irq (0xE24C или 0161114), для сброса диска (из адреса в эмуляторе нужно вычесть 01000, чтобы совпало с листингом):

    Код:
       1463 007104                          IDE.res:
       1464 007104                                  .push   <R0>
            007104  010046                          mov     R0,-(6.)
       1465 007106  012737  000004  161114          mov     #4,     @#id.irq
       1466 007114  005000                          clr     R0
       1467 007116  077001                          sob     R0,     .
       1468 007120  016737  001636  161114          mov     x.076,  @#id.irq
       1469 007126  077001                          sob     R0,     .
       1470 007130                                  .pop    <R0>
            007130  012600                          mov     (6.)+,R0
       1471 007132  000207                          return
    А также далее чтение готовности диска в регистре id.csr:

    Код:
       1495 007154  105737  161136          2$:     tstb    @#id.csr
       1496 007160  100012                          bpl     1$
    И последняя запись

    Код:
         85         000020                          RESTORE =  20   ;RESTORE + rate
    ...
        485 002142  004767  004736          ok.MFM: call    IDE.res
        486 002146  004767  004762                  call    IDE.skip
        487 002152  001033                          bne     1$
        488 002154  012737  000020  161136          mov     #RESTORE, @#id.csr      ; установим на 0
    3) Для работы с таблицей разделов, вроде как, нужны два файла IDHARD.SAV и IDHARD.MNU. При запуске IDHARD, после некоторой паузы (таймаут отсутствия прерывания?), к диску будет в логе эмулятора видно одно обращение вот тут (раз одно - ошибкой не считает, т.к. сразу же было бы втрое):

    Код:
       1169 005564  032737  000001  161136  8$:     bit     #s.err, @#id.csr        ; Есть ошибки при выполнении?
       1170 005572  001403                          beq     4$                      ; Нет
       1171 005574  053767  161122  001144          bis     @#id.err, h.err         ; Да - запишем в h.err
       1172 005602  006001                  4$:     ror     R1                      ; Нужны прерывания?
    Там можно нажать h(elp). Нажимая G(et) снова будем получать проверку успешности обращения к диску.

    4) Отформатировать разделы можно либо в IDHARD, либо выполнив что-то вроде "init/noq st0:". Далее уже туда можно пробовать копировать файлы...

  11. #226
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  12. #227
    Master Аватар для Manwe
    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    960
    Спасибо Благодарностей отдано 
    68
    Спасибо Благодарностей получено 
    220
    Поблагодарили
    153 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Titus, а почини плиз запись в эмуляторе на образ дискеты. Сейчас даже в пределах одной рабочей сессии ничего не сохраняется на дискету. Система думает, что записала блок, а он остаётся прежним.
    Manwe/SandS

  13. #228
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    11,997
    Спасибо Благодарностей отдано 
    453
    Спасибо Благодарностей получено 
    643
    Поблагодарили
    338 сообщений
    Mentioned
    40 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    Titus, а почини плиз запись в эмуляторе на образ дискеты. Сейчас даже в пределах одной рабочей сессии ничего не сохраняется на дискету. Система думает, что записала блок, а он остаётся прежним.
    Как с дачи вернусь, посмотрю.
    Просто мне не на чем проверить это. Кинь образ диска, который умеет в себя что-то записывать. И скажи командную строку, которой это самое можно записать.

  14. #229
    Master Аватар для Manwe
    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    960
    Спасибо Благодарностей отдано 
    68
    Спасибо Благодарностей получено 
    220
    Поблагодарили
    153 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Как с дачи вернусь, посмотрю.
    Просто мне не на чем проверить это. Кинь образ диска, который умеет в себя что-то записывать. И скажи командную строку, которой это самое можно записать.
    http://manwe.pdp-11.ru/Disks/PK1116-system.dsk на этом диске, кстати, и Мона Лиза.

    Проверить запись можно так:
    set sl let
    после выдачи приглашения набрать /A - типа clear all
    потом /L - показать list хоткеев и убедиться, что он очистился
    затем Ctrl+C - в этот момент реальная машина шуршит дисководом, записывая изменения.

    Повторный запуск set sl let должен показать уже новый (очищенный) список хоткеев.
    Manwe/SandS

  15. Эти 2 пользователя(ей) поблагодарили Manwe за это полезное сообщение:

    hobot (17.09.2020), Titus (17.09.2020)

  16. #230
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    2,974
    Спасибо Благодарностей отдано 
    20
    Спасибо Благодарностей получено 
    59
    Поблагодарили
    48 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от IgorR76 Посмотреть сообщение
    Так что сводите лучи своему телевизору!
    Не телевизор, монитор МС6106.
    Телевизор не подходит т.к. там зерно крупнее монитора, не говоря ещё о других отрицательных мометах. Годится только для домашних компьютеров типа Спектрум где шрифт крупный, и то в основном поиграть.

Страница 23 из 23 ПерваяПервая ... 1920212223

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

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

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

Похожие темы

  1. Эмулятор УКНЦ - EmuStudio
    от Titus в разделе Эмуляторы отечественных компьютеров
    Ответов: 1181
    Последнее: 07.04.2020, 13:01
  2. EmuStudio-ZX
    от Titus в разделе Эмуляторы
    Ответов: 597
    Последнее: 09.03.2020, 17:30
  3. Эмулятор ТИА-МЦ-1 EmuStudio
    от Titus в разделе Эмуляторы отечественных компьютеров
    Ответов: 103
    Последнее: 05.10.2019, 03:55
  4. Эмулятор МС-0515 - EmuStudio
    от Titus в разделе Эмуляторы отечественных компьютеров
    Ответов: 95
    Последнее: 16.02.2017, 01:20
  5. ПК-11 'Союз-Неон'
    от Keeper в разделе Разное
    Ответов: 12
    Последнее: 16.10.2013, 05:07

Ваши права

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