1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Soft Как освободить диапазон памяти

Тема в разделе "Hard & Soft", создана пользователем Geryon, 14 июн 2014.

  1. Geryon

    Geryon

    Регистрация:
    13 май 2008
    Сообщения:
    1.228
    Есть звуковая карта Turtle Beach Multisound Classic. Она использует вместо DMA shared-память, по дефолту это область D000-D7FF. Однако на моем текущем компе, похоже, что-то в эту память лезет, поэтому карта нормально проигрывает MIDI, но при проигрывании PCM начинает зверски икать, а утилита диагностики показывает ошибки при тесте Shared Memory Area.

    При этом в system.ini (Windows 3.1) указано EMMExclude=D000-D7FF, но это не помогает.

    Как переключить карту на другой диапазон - понятия не имею, на карте есть только джамперы для смены I/O address.

    Можно ли как-то изгнать демонов, засевших в D000-D7FF?
     
  2. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Geryon, посмотри что у тя там за устройства сидят. И посмотри конфликты памяти в вин98.
     
  3. Geryon

    Geryon

    Регистрация:
    13 май 2008
    Сообщения:
    1.228
    У меня нет на этом компе Windows 98. Комп - 486 SX-25 с 8 Мб памяти. Есть DOS и Win 3.1. В 3.1 можно посмотреть, где какие устройства сидят?
     
  4. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Geryon, а проблема наличествует только в DOS ? И почему ты уверен, что физическая память не глючит ?
     
  5. kiot

    kiot

    Регистрация:
    11 фев 2007
    Сообщения:
    818
    Geryon, а если для EMM386 указать X=D000-D7FF? Значения в ЕММ386 перекрывают все значения в system.ini.
    Этот диапазон, кстати, используется ещё для некоторых сетевых карт.
     
  6. Ulysses

    Ulysses

    Регистрация:
    28 апр 2011
    Сообщения:
    1.650
    Возможно, msd.exe поможет выяснить, кто ещё использует память.

    Иногда часть памяти резервируется под нужды BIOS, можно посмотреть в его настройках и указать области памяти, которые не трогать.
     
  7. kiot

    kiot

    Регистрация:
    11 фев 2007
    Сообщения:
    818
    MSD -> Utilities -> Memory Block Display.
     
  8. Geryon

    Geryon

    Регистрация:
    13 май 2008
    Сообщения:
    1.228
    BIOS довольно куцый, там есть кое-какие настройки Shadowing, но полностью всё отключить нет возможности, равно как и посмотреть в самом биосе, какую область что занимает.

    EMM386 я не пробовал, но JEMM386 даже с параметром X=D000-D7FF конфликтует и с виндой, и с DOS-утилитами Turtle Beach, и приводит к зависанию.

    Проблема и в DOS, и в винде. Причем в DOS даже MIDI не играет, по крайней мере в играх, а мой PX плеер вешается либо работает с ужасными тормозами, а музыки все равно нет.
     
  9. kiot

    kiot

    Регистрация:
    11 фев 2007
    Сообщения:
    818
    Geryon, JEMM386 конфликтный с Windows 3.1, так же как и XMGR. У меня винда с ними вываливалась в ДОС и при этом записывала в system.ini всякую чепуху, что приводило к дальнейшей неработоспособности. Так что попробуй родной EMM386.EXE. По крайней мере, указанный диапазон часто рекомендуют отключать при использовании UMB.
     
  10. Geryon

    Geryon

    Регистрация:
    13 май 2008
    Сообщения:
    1.228
    Попробовал EMM386 из поставки Windows 3.1 - получил страшные глюки в DOS, несмотря на то, что msd.exe рапортует, что область D000-D7FF исключена из раздачи. Presets (утилита TB для загрузки банков) зависает, сетап, допустим, игры Zorro - отрабатывает, играет PCM, но музыки не слышно. По выходу из сетапа - not enough memory, затем EMM386 выводит сообщение DMA mode not supported, и всё зависает окончательно.

    При этом сама винда тоже не работает - пишет 'You cannot load win.com high', так же, как и с JEMM386.

    Update: вроде бы добился промежуточного результата, убрав HIMEM из config.sys. Теперь в сетапе Zorro играет и PCM и музыка (если предварительно загрузить банк с помощью PRESETS; без этого музыки не слышно).
     
    Последнее редактирование: 14 июн 2014
  11. kiot

    kiot

    Регистрация:
    11 фев 2007
    Сообщения:
    818
    Geryon, может, всё-таки дело в самой системе раз такие глюки с Windows?
     
  12. Geryon

    Geryon

    Регистрация:
    13 май 2008
    Сообщения:
    1.228
    Может быть, а как это проверить?
     
  13. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Geryon, убрать заодно и EMM386.
     
  14. kiot

    kiot

    Регистрация:
    11 фев 2007
    Сообщения:
    818
    Geryon, а вообще для карты есть драйвера под ДОС? Как почитал, есть только для Windows 3.1, а для последней инсталлятор предлагает по крайней мере шесть 32-кбайтных диапазонов:

    Select RAM Address for MultiSound
    B000-B7FF
    C800-CFFF
    D000-D7FF
    D800-DFFF
    E000-E7FF
    E800-EFFF

    Как я понимаю, карта не игровая, а полупрофессиональная.
     
  15. Geryon

    Geryon

    Регистрация:
    13 май 2008
    Сообщения:
    1.228
    EMM386 давно убрал, с ней вообще ничего не работает.

    ---------- Сообщение добавлено в 00:17 ---------- Предыдущее сообщение размещено в 00:13 ----------

    Есть драйвера. PCM-часть (она, по-моему, общая с TB Tahiti/Monterey) поддерживается системой библиотек DIGPAK, а MIDI - MIDPAK/AIL. Для работы PCM-части в DOS ничего загружать не требуется, а для работы с MIDI нужна DOS-утилита PRESETS.EXE, которая устанавливается вместе с дровами от Windows 3.1.

    Выбор адресов - это означает, что драйвер думает, что карта настроена на такой-то адрес. Как сделать так, чтобы еще и карта так думала - я не знаю. Соответственно, при выборе в драйвере Windows любого отличного от дефолтного (D000h) диапазона не работает ничего.

    Может, у меня память физически битая? Тест при загрузке, правда, проходит. Может, какой-то утилитой потестить?
     
    Последнее редактирование: 15 июн 2014
  16. easy_john

    easy_john

    Регистрация:
    14 мар 2008
    Сообщения:
    1.708
    А какие еще устройства стоят? Может всякие сетевухи повынимать?
    Ну и 98 винду даже на sx25/8mb можно поставить, было бы место на диске.
     
  17. Geryon

    Geryon

    Регистрация:
    13 май 2008
    Сообщения:
    1.228
    Сетевуха встроенная и отключить ее в биосе негде. Больше ничего нет - всего один ISA-слот, и он уже занят черепахой.

    В качестве HDD сейчас пользуюсь CF-картой 4 GB, но она отформатирована на 500 Мб, а как ее отформатировать на 4 GB, чтобы не потерялась загрузочность, толком не знаю.
     
  18. kiot

    kiot

    Регистрация:
    11 фев 2007
    Сообщения:
    818
    Погоди, если карта требует этот диапазон, не загружая EMM386, значит эти 32 Кбайта физически должны быть размещены на самой карте. Ведь, подключая ЕММ386, мы просто ремапим часть XMS в UMB, а ЕММ386 заполняет свободные дыры в UMB имеющейся XMS памятью.

    Указывая EMMExclude=D000-D7FF, мы тем самым даём указание менеджеру памяти в Windows не заполнять этот диапазон.
     
  19. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Geryon, ну в принципе всё очень просто. Берёшь какой то там дебагер или пишешь прожку, которая будет дампить память на диск и смотришь чего там в этих адресах творится с черепахой и без неё. А потом уже по полученному результату думаешь кто виноват.

    kiot, вообще то этим прекрасно занимается биос. Вопрос кого он туда втыкает. Если бы были дампы биос и матери и видео и черепахи + дамп памяти - ещё можно было бы что то проанализировать.
     
    Последнее редактирование: 15 июн 2014
  20. kiot

    kiot

    Регистрация:
    11 фев 2007
    Сообщения:
    818
    Я так понял из FAQ по Monterey, Tahiti & MultiSound, установкой параметров ТВ под ДОС занимается MSNDSUP.
    MSNDSUP DSPSEG=xxxx, где хххх начальный адрес региона памяти.

    Затем предлагается:
    CONFIG.SYS:
    DEVICE=C:\DOS\EMM386.EXE NOEMS X=D000-D7FF (или B000-B7FF, C800-CFFF, D800-DFFF, E000-E7FF, E800-EFFF)

    SYSTEM.INI:
    [386enh]
    EMMExclude=D000-D7FF
    ; или B000-B7FF, C800-CFFF, D800-DFFF, E000-E7FF, E800-EFFF.
    [Multisnd.drv]
    RAMADDR=D000
    ; или B000, C800, D800, E000, E800.


    Bato-San, так BIOS всё равно делает Shadow из XMS, больше неоткуда, так что проверить XMS можно любыми средствами типа Norton Diagnostics или CheckIT. Это к вопросу о проблемах с памятью. А остальное просто про формирование UMB в UMA, не помню, чтобы BIOS самостоятельно формировал UMB.
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление