User Tag List

Страница 30 из 50 ПерваяПервая ... 262728293031323334 ... ПоследняяПоследняя
Показано с 291 по 300 из 494

Тема: Вектор-06Ц: Операционные системы

  1. #291

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Improver, желательно изменить переключение регистров по аналогии с тем, как патчили T34 - чтобы одиночное нажатие РУС/ЛАТ и СС переключало соответственно русский/латинский и большие/маленькие.
    Я бы ещё индикатор "РУС" задействовал к тому же, но что-то начал смотреть БСВВ, как поправить клавиатуру, а там всё шибко мудрёно сделано, просто так не разберёшься... А есть информация по этому патчу для Т-34?

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

    Цитата Сообщение от ivagor Посмотреть сообщение
    Вспомнил еще одну вещь, которую возможно надо патчить в FH51. Реальщики писали про какие-то проблемы с линией reset где-то там, что ее вроде для некоторых приводов надо отсоединять или что-то в этом духе. Про FH51 не знаю, есть тут это проблема или нет.
    Я исправлял, а в FH51 проблема с линией reset, скорее всего, сохранилась. Надо переделать код проверки готовности НЖМД, лучше работает в таком виде:

    Скрытый текст

    Код:
    ; ПП проверки готовности НЖМД
    L_D9D9:	PUSH D
    	PUSH B
    	MVI  D, 005h	; пять раз...
    L_D9DD:	IN      057h	; Регистр данных. Чтение данных в буфер сектора контроллера
    	ANI     0C0h	; 1100 0000
    	CPI     040h	; 0100 0000 устройство готово к операции
    	JZ      L_D9F2	; >> выход из цикла, при выходе A=40h
    	DCX  B
    	MOV  A, B
    	ORA  C
    	JNZ     L_D9DD	; цикл на 65536 попыток
    	DCR  D
    	JNZ     L_D9DD	; цикл на 5*65536 попыток, при выходе A,B,C,D=0
    L_D9F2:	ANA  A		; устанавливаем признаки по А
    	POP  B
    	POP  D
    	JZ      L_D9F8	; получение кода ошибки и RET
    	IN      057h	; Регистр данных. Чтение данных в буфер сектора контроллера
    	RET
    ;
    ; ПП чтения ошибки
    L_D9F8:	POP  PSW	; чистка стека
    L_D9F9:	IN      057h	; Регистр данных. Чтение данных в буфер сектора контроллера
    	RRC		; сдвиг вправо, бит 0 заносится в признак С.
    	IN      051h	; Чтение:	Регистр ошибок. Содержит признаки последней ошибки.
    	JC      L_DA02	; если предыдущая команда закончилась с ошибкой
    	XRA  A		; ошибки нет
    L_DA02:	MOV  B, A	; В = код ошибки
    	IN      057h	; Регистр данных. Чтение данных в буфер сектора контроллера
    	MOV  C, A	; сохраняем результат
    	ANI     020h	; выделяем ошибку "сбой записи"
    	ORA  B
    	MOV  B, A	; дополняем код ошибки в В
    	MOV  A, C	; восст. Регистр данных.
    	ANI     0C0h	; выделение сигналов "устройство готово" и "занято"
    	CPI     040h	; уст.Z если "готово"
    	MOV  A, B	; код ошибки в А
    	JZ      L_E6AB	; переход, если сигнал "готово" (?было на L_DA15)
    	MVI  A, 010h	; 1xH = сброс на цилиндр 0 (x = step rate) (?было ORI)
    xxDA15:	OUT     05Fh	; Системный сброс (лучше не пользоваться, сходство с 57Н без обнуления микросхем жесткого диска).
    L_E6AB:	STA     L_E873	; сохраняем код ошибки
    	ANA  A		; устанавливаем признаки по ошибке
    	RET
    [свернуть]

    Весь секрет -- минимальное использование "OUT 05Fh", у меня он вызывается только в самом крайнем случае.

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

    Цитата Сообщение от electroscat Посмотреть сообщение
    Кстати, почему T-72 ? Теперь это T-14 "Армата" или как минимум T-90 по приемственности.
    Вот вычистим от всех багов, тогда будет Т-90 или Армата, а пока пусть модификацией называется...

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

    ivagor(14.04.2020)

  2. #292

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    А есть информация по этому патчу для Т-34?
    Информации нет, но вроде версии в базисе патченые. В 34 язык переключается по F5, в 35 - РУС/ЛАТ.

    Цитата Сообщение от Improver Посмотреть сообщение
    Весь секрет -- минимальное использование "OUT 05Fh", у меня он вызывается только в самом крайнем случае.
    Если я правильно понял, надо убрать out 5Fh из процедуры проверки готовности и оставить в процедуре чтения ошибки. В FH51 аналогично mdos31h, out 5Fh в процедуре проверки готовности есть.

  3. #293

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Если я правильно понял, надо убрать out 5Fh из процедуры проверки готовности и оставить в процедуре чтения ошибки.
    Да, ещё поправить адрес перехода и одну команду (см.последние пять строк приведённого кода).

  4. #294

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Правильно я понял, что от L_E6AB можно оставить пару команд?

  5. #295

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я имел в виду вот эти правки:
    Код:
    	JZ      L_E6AB	; <<-- было на xxDA15
    	MVI  A, 010h	; <<-- было ORI??
    xxDA15:	OUT     05Fh
    L_E6AB:	...
    А то в исходном варианте тут диск ресетился даже если был сигнал "готов".

  6. #296

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Различия в процедурах я не сразу, но разглядел, вопрос вызвало то, что в E6AB в mdos31h заметно больше пары команд, неужели они все лишние?

  7. #297

    Регистрация
    27.08.2019
    Адрес
    г. Ростов-на-Дону
    Сообщений
    1,034
    Спасибо Благодарностей отдано 
    467
    Спасибо Благодарностей получено 
    194
    Поблагодарили
    125 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нашел баг в FH51, думаю, такой же будет и в других системах.. Причем, наверное это даже и не баг, а недоделка какая то программистов прошлого.... При инициализации получается 144 полных дискеты и одна не полная. Последнюю полную я потестил, работает исключительно, все читается и пишется. При тестировании "неполной" ASC показала ее обьем такой же как у полной. Ну это не к системе, а к разработчикам ASC. Тем не менее, при копировании на неполную дискету все "скопировалось", сообщений о том что DISCK FULL или NO SPACE не было. Но при обращении к крайним файлам BDOS System error - и игнорировать Y\N ... Ну и при форматировании последней дискеты DELETE - программа подвисает, прекращается "моргание" светодиода через некоторое время после старта и программа перестает отвечать. Помогает "блк+сбр". Собственно, тут заморачиваться, на мой взгляд не стоит... Обьем памяти достаточный для всего, что есть для вектора, даже, наверное 256 мб... Может просто не показывать последнюю дискету вообще ? Пусть будет их не 145H (325) а 144H (324) - на 256 мб диске ? это же проще, просто количество дискет -1..
    Последний раз редактировалось electroscat; 14.04.2020 в 19:01.

  8. #298

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Максимальное число дискет досы читают из "системного" сектора, сколько там записано, столько и разрешат использовать.

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

    Т.е. в данном конкретном случае надо уменьшить на 1 значение в образе по смещению 84h-85h.

  9. #299

    Регистрация
    27.08.2019
    Адрес
    г. Ростов-на-Дону
    Сообщений
    1,034
    Спасибо Благодарностей отдано 
    467
    Спасибо Благодарностей получено 
    194
    Поблагодарили
    125 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Т.е. в данном конкретном случае надо уменьшить на 1 значение в образе по смещению 84h-85h.
    Спасибо! Да, как вариант, 100% подходит такое решение !

  10. #300

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Различия в процедурах я не сразу, но разглядел, вопрос вызвало то, что в E6AB в mdos31h заметно больше пары команд, неужели они все лишние?
    А... Они стали лишними, когда я переделал драйвер, в FH51 пусть лучше останутся (если не менять всё полностью), на линию reset они не влияют.

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

    ivagor(14.04.2020)

Страница 30 из 50 ПерваяПервая ... 262728293031323334 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 213
    Последнее: 13.06.2022, 14:02
  2. Ответов: 4
    Последнее: 20.08.2007, 16:14
  3. Организация plug-in'нной системы
    от CityAceE в разделе Программирование
    Ответов: 9
    Последнее: 20.09.2005, 12:45
  4. Описание системы команд - давайте централизуем ;)
    от Alex/AT в разделе Программирование
    Ответов: 42
    Последнее: 09.07.2005, 22:34
  5. Инициализация системы
    от breeze в разделе Программирование
    Ответов: 13
    Последнее: 24.03.2005, 10:03

Ваши права

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