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

User Tag List

Показано с 1 по 10 из 10

Тема: Медленные страницы памяти

  1. #1
    Master Аватар для Vladimir Kladov
    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Медленные страницы памяти

    Цитата Сообщение от Conan
    в режиме ZX Spectrum 128 должны быть 4-7
    это в 128/+2A/+3 так, а в 128 оригинальном были именно нечетные. Есть сомнения насчет +2 (который без A), по одним источникам как в 128 нечетные, по другим - как в +2А/+3 - 4-7. Либо кто-то из них ошибся, либо в жизни были разные варианты +2.

    ©1983 Sinclair Research Ltd MJB
    - а почему оно не появляется в спектакуляторе? Или где смотреть? Я с удовольствием исправлю, если буду знать, что не так работает.

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

  3. #2
    Master Аватар для Conan
    Регистрация
    22.01.2005
    Адрес
    Moscow
    Сообщений
    2,250
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    109 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir Kladov
    это в 128/+2A/+3 так, а в 128 оригинальном были именно нечетные. Есть сомнения насчет +2 (который без A), по одним источникам как в 128 нечетные, по другим - как в +2А/+3 - 4-7. Либо кто-то из них ошибся, либо в жизни были разные варианты +2.

    ©1983 Sinclair Research Ltd MJB
    - а почему оно не появляется в спектакуляторе? Или где смотреть? Я с удовольствием исправлю, если буду знать, что не так работает.
    Схемы ZX Spectrum 128 и ZX Spectrum +2 почти идентичные, так же как и схема ZX Spectrum +2А/B идентична (если не считать контроллер дисковода) с ZX Spectrum +3. А откуда, если не секрет информация о медленных страницах 1,3,5,7?



    Какую версию IF ROM «Спектакулятор» по умолчанию использует, сказать сложно. Я заменял руками на вторую, но ничего не менялось (хотя в реальном железе – меняется). Так же я не представляю, как эмулируется обработка RST#8, подмена ПЗУ и обработка возврата (адрес 700h) в обычное ПЗУ. Скорее всего, проблема в логике перехода или возврата.

  4. #3
    Veteran Аватар для jtn
    Регистрация
    15.01.2005
    Адрес
    Kievska Rus
    Сообщений
    1,149
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Conan
    А откуда, если не секрет информация о медленных страницах 1,3,5,7?
    подсмотри демку First Association preview

  5. #4
    Master Аватар для Conan
    Регистрация
    22.01.2005
    Адрес
    Moscow
    Сообщений
    2,250
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    109 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jtn
    подсмотри демку First Association preview
    Посмотрел демку от First Association (по второму разу) ибо уже обсуждал это тут: http://zx.pk.ru/showthread.php?t=531

    Источник достаточно сомнительный, ибо Чехи (неизвестно что у них был за 128-й) и год 1997 (поздновато для обнаружения столь явной ошибки). НО, не будем торопиться делать выводы. Написал письмо владельцу фирменного 128, а пока он будет что-то тестировать и отвечать, поискал информацию на WOS: http://www.worldofspectrum.org/forums/viewtopic.php?topic=7951&forum=11

    и на comp.sys.sinclair FAQ: http://www.albertopalladini.it/spectrum/reference/128kreference.htm#Plus2

    и просто comp.sys.sinclair:

    http://www.google.ru/groups?selm=968449393.10827.0.nnrp-07.c2de7091%40news.demon.co.uk&output=gplain



    Проникся сомнением, но затем прочитал вот это:

    http://www.spectaculator.com/Changed the contended memory model for the 128k/+2 since 3.0 Beta 1. Pages 1,3,5,7 are now contended rather than 4,5,6,7 as previously stated in the CSS FAQ. This fixes (or rather breaks) the Losing Victoria demo so that it behaves just like on a real Spectrum. However, the speech on Treasure Island Dizzy now plays properly. Info via Woody from Steve Snake. Thanks Уважаемый Владимир Кладов, вы случайно не эту информацию использовали?



    Одно лечим, другое калечим. Мнения разделились.

    А теперь заглянем в фирменный Service Manual к ZX Spectrum 128

    ftp://ftp.worldofspectrum.org/pub/sinclair/technical-docs/ZXSpectrum128K_TechnicalManual.pdf

    П.4.2.:
    Pages 0-3 are uncontended and are accessed solely by the Z80. Pages 4-7 are contended in that the Z80 and ULA IC1 both require access to pages 5 and 7 in order to generate the memory mapped displays.
    Источник вызывает больше доверия, чем предыдущие но, разумеется, в нем тоже может быть ошибка или опечатка. Поэтому заглянем в корень проблемы, то есть, изучаем схему родного ZX Spectrum 128. Порт #7FFDh на ней, это обычный триггер LS174 (555ТМ9), и шина данных на него заходит и выходит на ПЛМ PAL10HB. Смотрим в П.4.5 и 4.6. сигналы на входах и выходах ПЛМ: ULA14 и ULA15. Все совпадает - Pages 4-7 are contended, как и написано в П.4.2.



    Вывод: Либо фирменный ZX Spectrum 128 не соответствует схеме (что маловероятно, потому что я перепроверил и схему ZX Spectrum +2), либо ошибка в PAL10HB (что так же маловероятно, потому что ошибка в одном бите там невозможна). Либо ошибаются те, кто говорят, что медленные это 1,3,5,7 страницы и при этом не указывают, почему они так решили.

    Пока что я склоняюсь к тому, что ошибаются последние, хотя бы потому, что не встречал нигде описаний ошибок у фирменных 128-ых, в журналах 1986-1988 годов. А как известно любая несовместимость вызывала массу «воплей» и жалобных статей, ибо на руках в то время было много «родных машин».

    Кстати есть и достаточно простое объяснение, почему некоторым демам требуются быстрые страницы 4 и 6: их могли делать на эмуляторах или машинах, где нет «медленной» памяти, типа наших Pentagon 128.

  6. #5
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,821
    Спасибо Благодарностей отдано 
    312
    Спасибо Благодарностей получено 
    305
    Поблагодарили
    230 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Conan
    Проникся сомнением, но затем прочитал вот это:

    http://www.spectaculator.com/Changed the contended memory model for the 128k/+2 since 3.0 Beta 1. Pages 1,3,5,7 are now contended rather than 4,5,6,7 as previously stated in the CSS FAQ. This fixes (or rather breaks) the Losing Victoria demo so that it behaves just like on a real Spectrum. However, the speech on Treasure Island Dizzy now plays properly. Info via Woody from Steve Snake. Thanks Уважаемый Владимир Кладов, вы случайно не эту информацию использовали?



    Одно лечим, другое калечим. Мнения разделились.

    А теперь заглянем в фирменный Service Manual к ZX Spectrum 128

    ftp://ftp.worldofspectrum.org/pub/sinclair/technical-docs/ZXSpectrum128K_TechnicalManual.pdf

    П.4.2.:
    Pages 0-3 are uncontended and are accessed solely by the Z80. Pages 4-7 are contended in that the Z80 and ULA IC1 both require access to pages 5 and 7 in order to generate the memory mapped displays.
    Источник вызывает больше доверия, чем предыдущие но, разумеется, в нем тоже может быть ошибка или опечатка. Поэтому заглянем в корень проблемы, то есть, изучаем схему родного ZX Spectrum 128. Порт #7FFDh на ней, это обычный триггер LS174 (555ТМ9), и шина данных на него заходит и выходит на ПЛМ PAL10HB. Смотрим в П.4.5 и 4.6. сигналы на входах и выходах ПЛМ: ULA14 и ULA15. Все совпадает - Pages 4-7 are contended, как и написано в П.4.2.



    Вывод: Либо фирменный ZX Spectrum 128 не соответствует схеме (что маловероятно, потому что я перепроверил и схему ZX Spectrum +2), либо ошибка в PAL10HB (что так же маловероятно, потому что ошибка в одном бите там невозможна). Либо ошибаются те, кто говорят, что медленные это 1,3,5,7 страницы и при этом не указывают, почему они так решили.

    Пока что я склоняюсь к тому, что ошибаются последние, хотя бы потому, что не встречал нигде описаний ошибок у фирменных 128-ых, в журналах 1986-1988 годов. А как известно любая несовместимость вызывала массу «воплей» и жалобных статей, ибо на руках в то время было много «родных машин».

    Кстати есть и достаточно простое объяснение, почему некоторым демам требуются быстрые страницы 4 и 6: их могли делать на эмуляторах или машинах, где нет «медленной» памяти, типа наших Pentagon 128.
    на 48 тормозная была #4000-#7fff

    на 128 48 память идет как 5,2,0

    может так аналогии поискать

    в Rick Dangerous 2 в версии от S.S.Captain в загрузчике несколькими покями менялась страница с музыкой с 1ой на 6ую (?вроде так)

    а в том же CHASE H.Q. все 128 фичи сбрасывались в 48 память и работали уже из нее

  7. #6
    Master Аватар для Conan
    Регистрация
    22.01.2005
    Адрес
    Moscow
    Сообщений
    2,250
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    109 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri
    на 48 тормозная была #4000-#7fff

    на 128 48 память идет как 5,2,0
    Все верно, но не противоречит ни утверждению что медленные страницы 4-7 ни 1,3,5,7 ибо 5-я и там и там попадает в медленные а 0-я и 2-я в быстрые.

    Да и с «железной» точки зрения все просто: это разные линейки микросхем 4164. Вопрос именно в том, не спутаны ли физически на плате (даже на двух разных) биты 0 и 2 порта #7FFDh. Надеюсь, что прояснят это владельцы реальных ZX Spectrum 128 или «серых» +2.

  8. #7
    Master Аватар для Conan
    Регистрация
    22.01.2005
    Адрес
    Moscow
    Сообщений
    2,250
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    109 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    Thumbs up Окончательный вывод

    Благодаря трудам Камиля Каримова, удалось протестировать фирменную машину ZX Spectrum +2 и найти достоверный ответ:

    ---------------------

    page | takts per INT

    ---------------------

    0 | 70848

    1 | 57808

    2 | 70848

    3 | 57808

    4 | 70848

    5 | 57808

    6 | 70848

    7 | 57792

    Окончательный вывод: в машинах ZX Spectrum 128/+2 медленные страницы: 1,3,5,7. Судя по всему, это ошибка при разводке платы (либо в прошивке PAL), допущенная еще испанцами. Интересно и то, что ее не заметил Amstrad.

  9. #8
    Veteran Аватар для jtn
    Регистрация
    15.01.2005
    Адрес
    Kievska Rus
    Сообщений
    1,149
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Conan
    Окончательный вывод: в машинах ZX Spectrum 128/+2 медленные страницы: 1,3,5,7. Судя по всему, это ошибка при разводке платы (либо в прошивке PAL), допущенная еще испанцами. Интересно и то, что ее не заметил Amstrad.
    а может так и было задумано, ведь 5,2,0 страницы такие же получились.

  10. #9
    Master Аватар для Conan
    Регистрация
    22.01.2005
    Адрес
    Moscow
    Сообщений
    2,250
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    109 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jtn
    а может так и было задумано, ведь 5,2,0 страницы такие же получились.
    Вряд ли, ибо в фирменной документации указаны 4-7, да и страницы 5,2,0 одинаковые (с точки зрения тормозов) и в том и в другом случае. Кроме того в Service Manual к фирменному 128-му "разжевано" (входы-выходы PAL) именно про медленную работу страниц 4-7.

  11. #10
    Master Аватар для Conan
    Регистрация
    22.01.2005
    Адрес
    Moscow
    Сообщений
    2,250
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    109 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Получил еще одно подтверждение от владельца фирменного ZX Spectrum 128. Медленные страницы: 1,3,5,7. Вопрос полностью прояснился.

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

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

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

Похожие темы

  1. Ответов: 6
    Последнее: 10.09.2013, 16:04
  2. Порты памяти - Scorpion и др.
    от ASMAN в разделе Программирование
    Ответов: 27
    Последнее: 18.06.2008, 12:20
  3. Ответов: 76
    Последнее: 18.07.2005, 13:34
  4. Unreal. Breakpoint на чтение памяти.
    от valker в разделе Эмуляторы
    Ответов: 1
    Последнее: 12.02.2005, 12:58

Ваши права

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