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

User Tag List

Страница 28 из 28 ПерваяПервая ... 2425262728
Показано с 271 по 273 из 273

Тема: TR-DOS Navigator (TRDN)

  1. #271
    Master Аватар для Grand
    Регистрация
    10.04.2005
    Адрес
    Сибирь
    Сообщений
    814
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    23 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb Детектирование Скорпиона

    Какое-то время назад была затронута проблема о том, что TR-DOS Navigator версии 0.75 не совсем точно олределяет Скорпион, точнее принимает за него ZX Spectrum +3 с DivIDE, поскольку тот тоже использует рестарты RST8 \ DB #81.
    Я написал другую процедуру детектирования Скорпиона, которая должна работать правильно.
    Эта процедура уже используется в новом Scorpion ProfROM Test V2. Поэтому приглашаю желающих протестировать работу этой программы на других Spectrum-совместимых компьютерах. Если Scorpion ProfROM Test V2 запускается не на Скорпионе, то должно всегда выдаваться сообщение системы ZX Spectrum "Q Parameter error".

    Новая процедура детектирования Скорпиона такая (ниже даны комментарии):
    Код:
    ;Детектирование Scorpion'а, 2019.
    ;Процедура должна нажодиться ниже адреса #C000!
            DI
    ;Предполагается, что к этому моменту конфигурация памяти: ROM1, RAM0
            LD      BC,#1FFD
            LD      HL,#00F1
            OUT     (C),H	;*1
            LD      D,(HL)	;*2
            LD      E,2
            OUT     (C),E	:*3
            LD      A,(HL)	;*4
            CP      D	;*5
            OUT     (C),H	;*6
            LD      B,#7F	;
            LD      A,#10	;
            OUT     (C),A	;
            JR      Z,$+5
            LD	(23388),A;*7
    *1 - В порт #1FFD записывается #00. На компьютерах типа Pentagon и фирменном ZX Spectrum 128 подключится ROM0 и RAM0, на Скорпионе и ZX Spectrum +3 останется прежняя конфигурация (ROM1 и RAM0).
    *2 - В регистр D помещается содержимое ячейки по адресу #00F1 для образца.
    *3 - В порт #1FFD записывается #02. На Пне и ZX Spectrum 128 подключится ROM0 и RAM2, на Скорпионе - ROM2, а на ZX Spectrum +3 вывод этого значения в порт не имеет смысла и конфигурация остается прежней.
    *4 - В A помещается число из #00F1 - для Скорпиона это код версии.
    *5 - Сравнение с ранее считанным числом в D - если значения равны (Z=1), значит ROM'ы не переключались и компьютер не Скорпион.
    *6 - Восстановление прежней конфигурации, если было ее переключение.
    *7 - Для Скорпиона уствновка системной переменной BANKM, чтобы после вызовыов RST 8 включался экран 0.


    Если ни у кого нет других предложений, то эта процедура детектирования Скорпиона будет включена в новую версию TRDN.
    Если в каком-либо моем посте перестала работать гиперссылка или показываться картинка, напишите мне об этом в личном сообщении,чтобы я смог это исправить.

    Grand's - сайт об электронно-вычислительной технике (зеркало)

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

  3. #272
    Activist
    Регистрация
    10.01.2010
    Адрес
    Смоленская обл.
    Сообщений
    238
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    35
    Поблагодарили
    21 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Grand Посмотреть сообщение
    В порт #1FFD записывается #00. На компьютерах типа Pentagon и фирменном ZX Spectrum 128 подключится ROM0 и RAM0, на Скорпионе и ZX Spectrum +3 останется прежняя конфигурация (ROM1 и RAM0).
    Ну х.з. в большинстве наверно так и будет, если не добавлены доработки какие, типа полной дешифрации. Я бы на всякий выставил эту конфигурацию через порт #7FFD

    А вообще я как раз и переделывал автоопределялку памяти для BGE 3.12 demo для отсечки косяков с портом #1FFD на +2A, +3.
    Правда не расширял определение памяти больше 1024 K (влом было да памяти на таблицу пожалел )) ) и ловил +2A, +3 на замене 5-го сегмента в позиции #4000, поэтому пихал код и стек при автоопределении во 2-й сегмент (#8000-#BFFF).
    Вроде пока работает без нареканий. ))

    Вот тут выкладывал её отвязанный от BGEшных особенностей код :
    https://zx-pk.ru/threads/30887-opred...=1#post1051919

  4. #273
    Master Аватар для Grand
    Регистрация
    10.04.2005
    Адрес
    Сибирь
    Сообщений
    814
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    23 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dart Alver
    Я бы на всякий выставил эту конфигурацию через порт #7FFD
    Предполагается, что перед работой процедуры уже выставлены ROM1 и RAM0, и работает она ниже #C000.
    Цитата Сообщение от Grand
    Код:
    ;Процедура должна нажодиться ниже адреса #C000!
    ...
    ;Предполагается, что к этому моменту конфигурация памяти: ROM1, RAM0
    Я просто не вставил эти команды в листинг. Также в TRDN останется возможность принудительного отключения функционала Скорпиона, как в текущей версии.

Страница 28 из 28 ПерваяПервая ... 2425262728

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

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

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

Похожие темы

  1. spectrum navigator
    от scl^mc в разделе Софт
    Ответов: 19
    Последнее: 05.12.2019, 03:59

Ваши права

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