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

User Tag List

Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 25 из 25

Тема: BUGS IN TRDOS

  1. #21
    Guru Аватар для SoftFelix
    Регистрация
    20.03.2007
    Адрес
    Санкт-Петербург
    Сообщений
    2,975
    Спасибо Благодарностей отдано 
    171
    Спасибо Благодарностей получено 
    102
    Поблагодарили
    88 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от EvgenRU Посмотреть сообщение
    Некоторые программы ступорятся при чтении сектора в #2F1B на инструкции HALT.
    А не из-за процессора ли это? В CMOS'ах как-то по другому, вроде, флаги выставляются при прерываниях, поэтому и пришлось добавлять EI.
    МГТФ - любимый провод!
    KAY-1024(4096)/SL-4/TURBO v2010 + Nemo-FDC + Nemo-IDE (CF 4GB) + SMUC2 Rev.B RTC (HDD 1.6GB + DVD-ROM) + PROF-ROM + ZXMC2 + GENERAL SOUND 2MB + ZX-BUS_TEE + FDD 3.5' + FDD 5.25' + VGA&PAL

  2. #22
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,754
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    141
    Спасибо Благодарностей получено 
    1,172
    Поблагодарили
    769 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от EvgenRU Посмотреть сообщение
    выложу 2 игры, которые не идут с рам диска, может кто-то сможет подсказать что там в них такое используется
    они вообще незапускаются. образ битый?

  3. #23
    Master
    Регистрация
    20.01.2016
    Адрес
    п. Власиха, Московская обл.
    Сообщений
    593
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    19 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Извиняюсь, перезалил. На реале они идут только если это диск А. Рам диск у меня тоже А, с ним такая вот беда получается...
    PS: процессор тут ни при чем, на анриле такая же фигня.

  4. #24
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,754
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    141
    Спасибо Благодарностей получено 
    1,172
    Поблагодарили
    769 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    стоп, а разве (TR-DOS 5.04T с рамдиском под профи) умеет эмулировать прямые обращения к ВГшке ?
    (вроде только сделан перехват функций #3d13)
    или я отстал от жизни ?

  5. #25
    Master
    Регистрация
    20.01.2016
    Адрес
    п. Власиха, Московская обл.
    Сообщений
    593
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    19 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так получается там прямые обращения идут? Если так, то куда подсмотреть, чтобы это дело реализовать в этом трдосе? В 6.11Q этого тоже получается нет раз не работает?

    PS: я так понимаю там проблема в команде GO TO ?

    UPD: удалось локализовать проблему, короче эти 2 игры, и аналогичные, которые не грузятся, для чтения сектора вызывают (через что-то, хз пока что что, может GOTO) подпрограмму чтения сектора по адресу #2F1B, которая читает сектор напрямую с контроллера минуя RAM DISK и вызывая #3FE5, чтобы это исправить, нужно допилить вызов #3FE5, чтобы проверялся рамдиск и выполнялись соответствующие действия для рамдиска.
    Как-то так....

    UPD2: попробовал код #2F1B заменить на вызов #3F2 или #1E3D, в E у нас номер сектора текущей дорожки видимо, в HL адрес куда грузить, но #1E3D нужен еще номер дорожки, пробовал брать его из #5CF5, но что-то ничего не выходит...
    Короче полный DI&HALT, но, я всё еще не оставил попыток это исправить, вроде с виду не должно быть очень сложно.

    UPD3: проверил загрузку игры DARKMAN, в ней
    через #1FF3 в порт #FF шлется #2C
    через #2A53 в порт #7F шлется #5D
    через #2FC3 в порт #1F шлется #18 (установка номера дорожки)
    затем вызывается #2F1B, для чтения #2C секторов
    видимо придется перехватывать эти точки входа и сохранять значения портов перед вызовом #2F1B

    UPD_FINAL: короче, перехватил я эти подпрограммы вывода в порты, сделал обработку команд контроллера и допилил #2F1B и всё заработало! Короче это не баг, а эмуляция контроллера для RAM диска получилась! Важно помнить, что в регистры #5F, #3f и регистр данных шлется не номер дорожки, а номер цилиндра, так что нужно умножать цилиндр на 2 и прибавлять номер стороны из регистра состояний, как-то так, если будут вопросы - пишите в ПМ.
    Последний раз редактировалось EvgenRU; 30.05.2017 в 11:57.

Страница 3 из 3 ПерваяПервая 123

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

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

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

Похожие темы

  1. BUG in TRDOS
    от VELESOFT в разделе Оси
    Ответов: 5
    Последнее: 01.07.2010, 19:52
  2. trdos for spectrum 128 /+2
    от sergey2b в разделе Зарубежные модели
    Ответов: 75
    Последнее: 26.04.2010, 02:12
  3. TRDOS 6.11P
    от alsp в разделе Оси
    Ответов: 39
    Последнее: 11.04.2010, 16:29
  4. NMI in TRDOS
    от VELESOFT в разделе Оси
    Ответов: 6
    Последнее: 09.02.2010, 15:41
  5. TRDOS для Neo
    от ILoveSpeccy в разделе Внешние накопители
    Ответов: 20
    Последнее: 08.03.2008, 15:04

Ваши права

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