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

User Tag List

Страница 4 из 9 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 88

Тема: SD-ROM Картридж

  1. #31
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от artyr_n Посмотреть сообщение
    Ну если верить этому и этому то РС7 и отвечает за разрешение ПЗУ выставить данные
    Честно говоря, я не совсем в этом уверен, что "РС7 отвечает за разрешение ПЗУ выставить данные".
    Поскольку РС7, это именно А15 - старший бит шины адреса.
    А следовательно, если загружать из ПЗУ до 32КБ там должен быть "0", если загружать больше 32КБ - в определенный момент появится "1"...
    Я так думаю...

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

  3. #32
    Activist Аватар для artyr_n
    Регистрация
    02.02.2014
    Адрес
    г. Одесса, Украина
    Сообщений
    337
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В векторе 64 КБ ОЗУ, из них 32 для программы и 32 видео, так что грузить программу более 32 КБ вроде как не нужно.

  4. #33
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    с детектом ресета - всё грустно
    основная причина - что софт как хочет так и пишет в порты
    эт я по мотивам Корветовской ExtRom пишу, и док не читали
    или забивали, ибо в те веремна о совместимости не думали ...

    в вашем случае выглядит заманчиво детект записи 0xfffe 0xffff в порты, но как это реализовать не очень понятно ....

  5. #34
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от artyr_n Посмотреть сообщение
    В векторе 64 КБ ОЗУ, из них 32 для программы и 32 видео, так что грузить программу более 32 КБ вроде как не нужно.
    Для заливки Загрузчика действительно не нужно, но алгоритм поиска ПЗУ предусматривает поиск начиная с какого адреса?

    То esl, про алгоритм обнаружения ресета Вектора я уже намекал ранее...
    Думаю можно попробовать отслеживать значение старшего байта адреса.
    Зная интервалы времени через которые Вектор выставляет адреса при поиске ПЗУ, можно именно эту последовательность и отлавливать...
    Ну типа
    StartPZU_FF:
    if(Px != 0xFF) StartPZU_FF
    if(Px != 0xDF) StartPZU_FF
    if(Px != 0xBF) StartPZU_FF
    if(Px != 0x9F) StartPZU_FF
    if(Px != 0x7F) StartPZU_FF
    ...
    и т.д. расставив между ними "нужные" задержки...
    И пусть какой-нибудь пользовательский софт попробует это повторить
    Последний раз редактировалось KTSerg; 27.12.2014 в 15:55.

  6. #35
    Activist Аватар для artyr_n
    Регистрация
    02.02.2014
    Адрес
    г. Одесса, Украина
    Сообщений
    337
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    но алгоритм поиска ПЗУ предусматривает поиск начиная с какого адреса?
    0xFFFE 0b1111 1111 1111 1110
    если прочли не 55 из старшей половины вычитается 0x20
    0xFF - 0x20 = 0xDF весь адрес выглядит 0xDFFE 0b1101 1111 1111 1110
    потом вычитается еще 0x20 0xDF - 0x20 = 0xBF 0xBFFE 0b1011 1111 1111 1110

  7. #36
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от artyr_n Посмотреть сообщение
    0xFFFE 0b1111 1111 1111 1110
    если прочли не 55 из старшей половины вычитается 0x20
    0xFF - 0x20 = 0xDF ... 0xDF - 0x20 = 0xBF ...
    Вот, и я о том-же с 0xFFFE - фактически загрузчик Вектора позволяет загрузить из ПЗУ 64КБ программного кода (минус 2 Байта 55 АА)...
    Конечно при загрузке экранной области и области стека будет сбой, но ведь теоретически возможно...
    Кстати Шахматы вроде были более 32Кб, и ещё чей-то было...
    А во время работы загрузчика экранная область ограничена 16КБ от 0xA000 до 0xDFFF - вроде-бы... если склероз не изменяет...
    Значит "Загрузчик" (абстрактный) может без повреждения кода загрузить программу размером 48КБ, если начнет загружать с адреса 0xE000.

  8. #37
    R.I.P.
    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так ведут себя ВСЕ загрузчики? :-)

  9. #38
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    Так ведут себя ВСЕ загрузчики? :-)
    Которые читают ПЗУ, уверен на 99.99% поскольку основаны они на "заводских" а тут смысла чего-то менять совсем нету...
    Если у кого есть все загрузчики, можно дать "поиск по содержимому файла" какой-нибудь последовательности байт характерной для загрузчика из ПЗУ. Думаю она будет найдена во всех вариантах.
    Подозреваю, что начало во всех одинаковое:
    MVI A,82H
    OUT 04
    MVI B,0FFH
    MOV A,B
    OUT 05
    MVI A,0FEH
    OUT 07
    IN 06
    ...

    Нашел у себя 4 загрузчика. В 3-ех код аналогичен, только в загрузчике "hdd_boot.bin" начало поиска с 0x1F.
    Последний раз редактировалось KTSerg; 27.12.2014 в 17:06.

  10. #39
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Посмотрел внимательно на код определения наличия ПЗУ в "заводском" загрузчике:
    ; проверка наличия модуля ППЗУ
    M0107H: MVI A,82H
    OUT 04
    MVI B,0FFH
    M010DH: MOV A,B
    OUT 05
    ...
    M012EH: MOV A,B
    SUI 20H
    MOV B,A
    JM M010DH ; продолжить поиск если старший бит "1"
    XRA A
    M0136H: ORA A
    RET
    Соответственно, поиск ПЗУ вообще прекращается после 9F-20=7F...
    Похоже А15 действительно не участвует в формировании адреса для ПЗУ, иначе проверка была-бы только с адреса FF до 9F.
    Мир рушится, Шахматы (и чего-то там ещё) нельзя загрузить из ПЗУ, поскольку из ПЗУ можно загрузить только до 32КБ...
    Посыпаю голову пеплом, признаю, заблуждался, я был о "загрузчике" лучшего мнения...

    На фоне всего этого, стало понятно, что и в загрузчике "hdd_boot.bin" тоже проверка идёт с FF до 9F (с адреса 7F по 1F), просто код изменен:
    ; проверка наличия МППЗУ
    L0530: mvi a,$82
    out $04
    mvi h,$1F
    L0536: mov a,h
    sui $20
    rp ; выход если старший бит "0"
    mov h,a
    out $05
    ...

    Всё, пошел "бухать с горя", напьюсь минералки, и буду валяться под столом в забытии...
    Последний раз редактировалось KTSerg; 28.12.2014 в 07:00.

  11. #40
    Member
    Регистрация
    19.12.2008
    Адрес
    Toronto
    Сообщений
    110
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Которые читают ПЗУ, уверен на 99.99%
    Нашел у себя 4 загрузчика. В 3-ех код аналогичен, только в загрузчике "hdd_boot.bin" начало поиска с 0x1F.
    если меня не подводит мой скалероз, то минимальный объем микросхемы пзу на ром-модуле был 8к в канонических версиях загрузчиков. 1F - это уже доработка, для того чтоб загрузить биос котролера диска, а он был по моему в 2к.

    P.S. Могу ошибаться, давно было

Страница 4 из 9 ПерваяПервая 12345678 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. 16КБ C64 картридж
    от greenpill в разделе Commodore 16/64/128
    Ответов: 37
    Последнее: 13.05.2015, 01:43
  2. Ответов: 2
    Последнее: 15.12.2010, 17:04
  3. Картридж NES и денди
    от REMR в разделе Nintendo
    Ответов: 3
    Последнее: 18.10.2010, 19:29
  4. Что за картридж?
    от murgatroid_79 в разделе Зарубежные компьютеры
    Ответов: 1
    Последнее: 20.05.2010, 10:01
  5. Flash-картридж...
    от Elya в разделе Память
    Ответов: 1
    Последнее: 20.08.2009, 14:49

Ваши права

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