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

User Tag List

Страница 2 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 11 по 20 из 52

Тема: SpectrumProgress#3

  1. #11
    Master
    Регистрация
    27.03.2005
    Адрес
    CПб
    Сообщений
    711
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    объясните что тут делается
    Чтение порта #1F ВГ93.

  2. #12
    Veteran Аватар для Лас
    Регистрация
    18.11.2008
    Адрес
    пос.Полярный, ЯНАО
    Сообщений
    1,078
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    кусок журнального кода выполняется некорректно. мне пока трудно понять кто виноват: некорректный FDIобраз или эмуляция ВГшки.
    знатоки объясните что тут делается

    Код:
    	PUSH HL
    	PUSH BC
    	PUSH DE
    	XOR  A
    	LD   C,#3F
    	LD   IX,#2A53 ; out (c),a
    	CALL #DOS     ; ret
    	LD   A,#0A
    	LD   C,#5F
    	LD   IX,#2A53 ; out (c),a
    	CALL #DOS     ; ret
    	LD   D,#01
    	LD   IX,#3F33 ; ???
    	CALL #DOS
    	LD   A,#02
    	LD   C,#3F
    	LD   IX,#2A53 ; out (c(a)
    	CALL #DOS     ; ret
    	LD   A,B
    	POP  DE
    	POP  BC
    	POP  HL
    	
            AND  #1F
            CP   #08
            JP Z,NEXT
    ERROR
    DOS это выполнение программы в ПЗУtrdos по-адресу в IX.
    ТС, проверь, защищен ли диск (образ) от записи.

  3. #13
    R.I.P. Аватар для Rindex
    Регистрация
    10.11.2007
    Адрес
    Khimki
    Сообщений
    18,222
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    14 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    у меня ещё и второй номер нашёлся.
    похоже что рабочий (на вирте оригинал помечен что с ошибками) проверяйте что-к-чему.
    Нерабочий. Загружаю статью, а обратно в меню уже не выйти, не получается. Где-то виснит, где-то сбрасывается. Пробовал Унрилом 0.38.1, в Спекуляторе 8 такая же шляпа.
    Последний раз редактировалось Rindex; 23.01.2014 в 01:12.
    Может, мы обидели кого-то зря,
    Сбросив пару лишних мегатонн,
    И горит зелёным пламенем земля,
    Там, где был когда-то Пентагон!..

    Profi-576 v3.2/AY-3-8912A GI/FDD-5.25'

  4. #14
    Guru Аватар для AAA
    Регистрация
    06.04.2005
    Адрес
    Земля, Москва, Марьино
    Сообщений
    21,509
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    16 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Те кто защищал свои программы - преступники! К стенке! Сколько заработали? Да ничего! А продукт потерян... Сколько добра потеряли из за барыг и скупердяев.

  5. #15
    Veteran Аватар для Лас
    Регистрация
    18.11.2008
    Адрес
    пос.Полярный, ЯНАО
    Сообщений
    1,078
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    знатоки объясните что тут делается

    Код:
    	PUSH HL
    	PUSH BC
    	PUSH DE
    	XOR  A                           ;нулевая
    	LD   C,#3F                      ;дорожка
    	LD   IX,#2A53 ; out (c),a
    	CALL #DOS     ; ret    
    	LD   A,#0A                      ;десятый
    	LD   C,#5F                      ;сектор
    	LD   IX,#2A53 ; out (c),a
    	CALL #DOS     ; ret
    	LD   D,#01
    	LD   IX,#3F33 ; ???
    	CALL #DOS                    ;чтение состояния ВГ
    	LD   A,#02                     ;вторая
    	LD   C,#3F                     ;дорожка
    	LD   IX,#2A53 ; out (c(a)
    	CALL #DOS     ; ret
    	LD   A,B                         ;восстанавливаем состояние ВГ
    	POP  DE                   
    	POP  BC
    	POP  HL
    	
            AND  #1F                       ;сброс прочих битов состояния ВГ
            CP   #08                        ;была ошибка контрольной суммы?
            JP Z,NEXT                      ;если была она и только она, то все ОК
    ERROR                                   ;иначе ERROR
    ;варианты прихода сюда:
    ;1. ошибок ВГ не было, а это не ожидается.
    ;2.  была ошибка, и это не ошибка КС
    DOS это выполнение программы в ПЗУtrdos по-адресу в IX.
    Я не знаток, но прокомментировал в коде.

    Надо ставить точку останова на ERROR, и смотреть, что в аккумуляторе и запостить сюда. Еще интересно знать, какую команду выполняла ВГэйка.
    Посмотреть в анриле. Запостить.
    Как? На скриншоте выделено. Красный квадратик - код команды ВГ, желтый квадратик состояние ВГ.
    P.S. Желательно отключить trap и no_delay в анриле.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	unreal_gb.png 
Просмотров:	213 
Размер:	9.0 Кб 
ID:	45226  

  6. #16
    Activist Аватар для AndTorp
    Регистрация
    03.03.2008
    Адрес
    Петербург
    Сообщений
    271
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    20
    Поблагодарили
    14 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Rindex Посмотреть сообщение
    Где-то виснит, где-то сбрасывается. Пробовал Унрилом 0.38.1, в Спекуляторе 8 такая же шляпа.
    Тоже попробовал разными эмуляторами. Не работает.
    Связь с авторами потеряна?

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

  8. #17
    Veteran Аватар для Лас
    Регистрация
    18.11.2008
    Адрес
    пос.Полярный, ЯНАО
    Сообщений
    1,078
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Там делается попытка прочитать первый попавшийся заголовок сектора на дорожке и ожидается, что будет ошибка контрольной суммы, так как ожидается, что сектора записаны с ошибкой (как на оригинальной дискете с журналом). А в эмуляторе получается не "ошибка КС", а "сектор не найден". Потому и не работает журнал.

    Надо смотреть, правильно ли считана дискета (ковырять данные в образе fdi).

  9. #18
    Veteran Аватар для Лас
    Регистрация
    18.11.2008
    Адрес
    пос.Полярный, ЯНАО
    Сообщений
    1,078
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Дело не в 0 дорожке и 10-м секторе.
    Там для проверки защиты головка флопика позиционируется не на 0 дорожку, а на 45-ю. И производится чтение первого встреченного (сиречь произвольного) заголовка сектора на этой 45-й дорожке.

    То, что засылается затем в регистры дорожки и сектора при чтении состояния ВГ - не важно (пусть 0 дорожка и 10 сектор). На это не обращай внимания.

    Дело в 45й дорожке, которая в твоем fdi вообще отсутствует. Именно она была основой защиты. И видимо, не считалась при создании образа. Нельзя ли попробовать теледиск? Или редактором файлов.fdi создать на этой дорожке один битый сектор (с испорченной КС).

    Такая же ситуация со вторым номером.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	sp3_gb2.jpg 
Просмотров:	218 
Размер:	19.4 Кб 
ID:	45241  

  10. #19
    Master
    Регистрация
    17.01.2005
    Адрес
    Старый Оскол
    Сообщений
    537
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    4 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Лас Посмотреть сообщение
    производится чтение первого встреченного (сиречь произвольного) заголовка сектора на этой 45-й дорожке.
    Цитата Сообщение от Лас Посмотреть сообщение
    редактором файлов.fdi создать на этой дорожке один битый сектор (с испорченной КС)
    Ага получилось, вот только не сектор с ошибочной CRC, а ID сектора с ошибочной CRC.
    И ещё образ пришлось в формат udi сконвертировать.
    В fdi можно тоже сделать, но меня проблемы совместимости пугают, не все эмуляторы проверяют флаг правильности CRC в fdi файлах.
    Дело в том что формат fdi не хранит саму CRC, а только флаг правильная она или нет, да и то с оговоркой это возможно.
    Далеко не факт что все эмули этого придерживаются.
    Вот цитата из оригинальной спецификации.
    Код:
                     bit 0-5: флаги CRC. Единица в одном из разрядов означает, что
                     при считывании этого сектора на длину 128,256,1024,2048 или
                     4096 байт получается правильная контрольная сумма. Если во всех
                     разрядах 0 - сектор записан с ошибкой контрольной суммы.
                     bit 6: В данной версии всегда 0. Возможно, 1 в данном разряде
                      будет обозначать адресный маркер без области данных.

  11. #20
    Master
    Регистрация
    17.01.2005
    Адрес
    Старый Оскол
    Сообщений
    537
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    4 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А вот и сами образы.
    Вложения Вложения

Страница 2 из 6 ПерваяПервая 123456 ПоследняяПоследняя

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

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

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

Ваши права

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