User Tag List

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

Тема: Расширение памяти Speccy до 128K

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    11.02.2005
    Адрес
    Москва
    Сообщений
    3,789
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Впринципе достаточно только с порта ловить , т.к. при любом обращении в пятую банку комбинация бит будет 101 (с.м ниже).
    Чем тестить ХэЗэ , попробуй смотрелку триколора найти в разделе по графике (если не найдётся то там подскажут). Эта штука активно пишет в обе страницы VRAM и показывает их .

    Собсно вот такой у меня кусок -

    -- Порт #7FFD (128к).
    --------------------
    PORT_7FFD[5..0].clk=NOT(VA_CPU[15] or VA_CPU[1] or nIORQ or nWR or PORT_7FFD[5].q); -- Обращение к порту 7FFD .
    PORT_7FFD[5..0].clrn=nRESET;
    PORT_7FFD[5..0].d=D[5..0];
    -- PORT_7FFD[2..0].q; -- Выбор страницы для четвёртой банки .
    -- PORT_7FFD[3].q; -- Выбор экранной страницы . Подключается к A14 VRAM через буфер VA_BUF_OUT[].
    ROM48 =PORT_7FFD[4].q; -- Выбор ПЗУ 48к .
    -- PORT_7FFD[5].q; -- Блокировка порта 7FFD .
    -- Мультиплексор порта 7FFD . ////////////////
    if (VA_CPU[15] and VA_CPU[14]) then A14P=PORT_7FFD[0].q; A15P=PORT_7FFD[1].q; A16P=PORT_7FFD[2].q; -- если лезим в четвёртую банку .
    else A14P=VA_CPU[14]; A15P=VA_CPU[15]; A16P=VA_CPU[14]; -- если лезим в другие банки .
    end if;
    -- A14P и A16P - выходные пины . A15P - внутрений провод , идёт на CPU_VRAM_SEL_BUF выходит как VA[14],
    -- используется для выбора видео страничек (RAM5/RAM7) процессором .
    --================================================== ============================
    -- Селектор мозгов CPU , выбирает ROM, VRAM, RAM .
    --------------------------------------------------
    nVRAM=NOT( (A14P==B"1" and A15P==B"0" and A16P==B"1") or (A14P==B"1" and A15P==B"1" and A16P==B"1") ); --
    -- Проц полез в VRAM (RAM5 или RAM7) .

    (При A14=0 и A15=0 рубим все мозги и подтыкаем ПЗУ).
    Спек128 - испанская выдумка, навязанная Сэру Клайву. © Shaos
    REAL HARDWARE MUST LIVE ! - http://SBLive.narod.ru/ZX-Spectrum/

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

  3. #2

    Регистрация
    20.03.2007
    Адрес
    Germany
    Сообщений
    867
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от fan Посмотреть сообщение
    Впринципе достаточно только с порта ловить , т.к. при любом обращении в пятую банку комбинация бит будет 101 (с.м ниже).
    Чем тестить ХэЗэ , попробуй смотрелку триколора найти в разделе по графике (если не найдётся то там подскажут). Эта штука активно пишет в обе страницы VRAM и показывает их .

    Собсно вот такой у меня кусок -

    -- Порт #7FFD (128к).
    --------------------
    PORT_7FFD[5..0].clk=NOT(VA_CPU[15] or VA_CPU[1] or nIORQ or nWR or PORT_7FFD[5].q); -- Обращение к порту 7FFD .
    PORT_7FFD[5..0].clrn=nRESET;
    PORT_7FFD[5..0].d=D[5..0];
    -- PORT_7FFD[2..0].q; -- Выбор страницы для четвёртой банки .
    -- PORT_7FFD[3].q; -- Выбор экранной страницы . Подключается к A14 VRAM через буфер VA_BUF_OUT[].
    ROM48 =PORT_7FFD[4].q; -- Выбор ПЗУ 48к .
    -- PORT_7FFD[5].q; -- Блокировка порта 7FFD .
    -- Мультиплексор порта 7FFD . ////////////////
    if (VA_CPU[15] and VA_CPU[14]) then A14P=PORT_7FFD[0].q; A15P=PORT_7FFD[1].q; A16P=PORT_7FFD[2].q; -- если лезим в четвёртую банку .
    else A14P=VA_CPU[14]; A15P=VA_CPU[15]; A16P=VA_CPU[14]; -- если лезим в другие банки .
    end if;
    -- A14P и A16P - выходные пины . A15P - внутрений провод , идёт на CPU_VRAM_SEL_BUF выходит как VA[14],
    -- используется для выбора видео страничек (RAM5/RAM7) процессором .
    --================================================== ============================
    -- Селектор мозгов CPU , выбирает ROM, VRAM, RAM .
    --------------------------------------------------
    nVRAM=NOT( (A14P==B"1" and A15P==B"0" and A16P==B"1") or (A14P==B"1" and A15P==B"1" and A16P==B"1") ); --
    -- Проц полез в VRAM (RAM5 или RAM7) .

    (При A14=0 и A15=0 рубим все мозги и подтыкаем ПЗУ).
    А вот за это ОГРОМНОЕ СПАСИБО!!!
    Как я сам не догадался
    Так в 100 раз проще получается и логично

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

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

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

Похожие темы

  1. Сигнал CAS расширение ОЗУ
    от AlexFantasy в разделе Память
    Ответов: 3
    Последнее: 05.05.2007, 15:38
  2. Небольшое расширение Unreal
    от valker в разделе Эмуляторы
    Ответов: 22
    Последнее: 19.03.2007, 21:45
  3. Расширение памяти компьютера "Байт".
    от andreil в разделе Память
    Ответов: 9
    Последнее: 13.05.2006, 15:27
  4. Расширение памяти
    от alexfreed в разделе Память
    Ответов: 7
    Последнее: 16.11.2005, 17:49

Ваши права

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