Помогите найти документацию

Тема в разделе "WASM.OS.DEVEL", создана пользователем GastiX, 30 окт 2008.

  1. GastiX

    GastiX New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2008
    Сообщения:
    17
    Добрый день!
    Смотрю загрузчик ms-dos 1.25.
    Никак не могу найти документацию по портам ввода/вывода первого контролера прерываний (20h-3Fh).
    Там используются порты 30h,32h,34h.
    Может быть кто-нибудь кинет ссылочку.
    Заранее спасибо.
     
  2. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    наверно тебе ральфа брауна надо гуглить
     
  3. rudik

    rudik Руденко Артём

    Публикаций:
    0
    Регистрация:
    6 дек 2006
    Сообщения:
    302
    Адрес:
    г. Харьков
    книга не помню кого, называется "программирование на аппаратном уровне"
     
  4. GastiX

    GastiX New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2008
    Сообщения:
    17
    2 wsd
    Спасибо! Нашел инфу
     
  5. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    GastiX
    Не знаю где что ты выкопрал. Но у Ральфа Брауне нет портов 30h,32h, 34h
    В первом контролере прерывания используется два порта 20h,21h хотя зарезервированно чуть больше.
     
  6. GastiX

    GastiX New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2008
    Сообщения:
    17
    Действительно нет. Я скачал документацию. Увидел "PORT 0020-003F - PIC 1 - PROGRAMMABLE INTERRUPT CONTROLLER (8259A)" и подумав, что там все это описано ниже написал ответ.
    Тема попрежднему открыта.
     
  7. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    GastiX
    А отка ты в загрузчике выкопал эти порты? Я смотрел нету там таких!
     
  8. GastiX

    GastiX New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2008
    Сообщения:
    17
    Как это нету?
    MS_DOS 1.25

    ну вот например здесь: 000:7С14
    mov al,0D0h
    out 30h,al
    или здесь: 000:7С3B
    out 32h,al
    mov al,0F1h
    out 34h,al

    Там все через порты... с 4ым - понятно ... а вот 30h,32h,34h - нет :dntknw:
     
  9. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    GastiX
    Ну ты блин даешь это данные а не код.
    В начале
    0000h:7с00h jmp +3c он прыгает на адресс
    0000h:7c3eh cli
    Между этим диапозоном распологаются данные которые описывают формат дискеты. Причем у разных версий дос разные. Можешь посмотреть Александр Фролов, Григорий Фролов
    Библиотека системного программиста\Том 1. Операционная система MS-DOS (Книга 3)
    Глава 2. Логическая структура диска в DOS

    Дальше порты тоже неиспользуются только одни прерывания. Которые считывают корневой каталог проверяют наличие IO.SYS и MSDOS.SYS и загружают первый файл.
     
  10. rudik

    rudik Руденко Артём

    Публикаций:
    0
    Регистрация:
    6 дек 2006
    Сообщения:
    302
    Адрес:
    г. Харьков
    Та да, бинарник в иду скармливать не думая сейчас уже не круто(
    Если это бут сектор то он скорее всего себя есчё и перемещает по ближе к 0х500, т.е не тыкая носом
    дизассемблер в нужные места и в ручную не правя этот же бинарик в хексе ничего осмысленного не получишь.
     
  11. GastiX

    GastiX New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2008
    Сообщения:
    17
    Не знаю, что я скачал за версию(написано было MS-Dos 1.25), но там никто никуда не прыгает.
    Вот начало MBR:
    xor ax, ax
    mov ds, ax
    mov es, ax
    mov ss, ax
    mov sp, 200h
    cld
    mov di, 400h
    mov cx, 8
    mov bl, 0Ch

    mov al, 0D0h
    out 30h, al

    P.S. Да, я имел ввиду MBR, а не boot record. Понятно, что в boot record прыжок через BIOS Parameter Block в самом начале.
     
  12. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    GastiX
    Покажи уже всем, на что ты смотришь.
     
  13. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    GastiX
    В сети мне удалось найти две копию MS-DOS 1.25 от Corona Data System и от Zenith Data Systems.
    Первая запустилась вторая пока нет. Тестирую на Borch.
    MBR - он только в жестких дисках, пока не понял но жесткий он не видит. Откуда ты его выкопал?
    Что касается boot record, то он на флопи. То на они оказались разными, но никто порты ввод вывода не использует
     
  14. GastiX

    GastiX New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2008
    Сообщения:
    17
    Я запускал в эмуляторе SIMH. Все работает.
    http://www.schorn.ch/cpm/intro.php.
    Там же можно скачать и MS-Dos 125 для этого эмулятора.
    MBR вытаскивал Win-Hexом.

    Кстати, пробовал сегодня менять значения, которые пишутся по этим портам. Эффект каждый раз отличается.
    mov al, 0D0h - в оригинале
    out 30h,al

    0 - при загрузке MS-DOS какой-то набор символов "7wN7" и висит.
    50h - пишет сообщение HALT instruction, PCX:00407 (db 08Fh)
    A0h - пишет: WD179x[0]:[0x0024C] Error: Command 0x88 ignored because controller is BUSY.
    B0h - пишет: WD179x[0]:[0x00217] WRITE_RECS not implemented и полюс ко всему еще и тоже сообщение, что при A0h

    C0h, FFh - загрузка выполняется

    И еще одна интересная вешь: у этого кода нет в конце magic number. Меня терзают сомнения по поводу того загрузчик ли это вообще :) С другой стороны он грузится до IO.SYS MSDOS.SYS и COMMAND.COM
    Что это за фигня вообще такая?! :)
     
  15. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    GastiX
    Вот теперь ясно что ты работаешь не с IBM PC, а с Altair 8800. Вот и ищи на него документацию.
     
  16. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
  17. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    GastiX
    Разве код из msdos125.zip не для Z80?
     
  18. GastiX

    GastiX New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2008
    Сообщения:
    17
    А "Set CPU 8086" разве не устанавливает эмуляцию проца I8086?
     
  19. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    GastiX
    Процессор может быть, но не все остальное.