User Tag List

Страница 23 из 26 ПерваяПервая ... 1920212223242526 ПоследняяПоследняя
Показано с 221 по 230 из 254

Тема: ПК Специалист + AY-3-8910/12

  1. #221

    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    10,143
    Спасибо Благодарностей отдано 
    216
    Спасибо Благодарностей получено 
    772
    Поблагодарили
    418 сообщений
    Mentioned
    23 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Итак, вроде починил плату ЛИКа, пора возвращаться к нашим так сказать "баранам".
    Пока вопрос к общественности. Есть ли сейчас эмулятор, где Специалист поддерживает AY и прерывания, если нет, как быстро можно сделать. Дело в том что, нужно ведь проверить сначала какую ту музыку (программу, плеер), прежде чем в железе проверять.
    Для проверки хочу портировать свою бегущую строку, которую выдрал из игры Sokoban (ZX Spectrum) и прилепил к ПК8000. Там есть плеер музыки SoundTracker (Song by ST compiler). Заодно так сказать потренируюсь в написании чего то для Специалиста.

    Из железных вопросов по карте.

    10h - системный порт
    используется бит DB7 - разрешение прерывания (при сбросе выключено)

    11h - порт менеджера страниц
    Используются биты DB0 и DB1 по 3 варианту - https://zx-pk.ru/threads/36257-pk-sp...=1#post1217664
    регистр только не на 2 бита, а на 3.
    0 бит регистра - DB0 or DB1
    1 бит регистра - DB0
    2 бит регистра - DB1
    В этом случае при записи в порт номера страниц будет следующая комбинация битов (210):
    0 страница - 000 - ПЗУ и порты
    1 страница - 011 - первые 16кб ОЗУ (доп. память)
    2 страница - 101 - вторый 16кб ОЗУ (доп. память)

    14h - порт данных AY
    15h - порт регистров AY

    Также ограничить обращение к портам диапазоном
    00..BFh, т.е. обращение к портам C0...FFh равносильно обращение к ОЗУ в диапазонах C000...FFFFh. Я вот сейчас не скажу на память, там вроде в команде out старший адрес дублируется младшим, т.е. если пишем в порт F0h, то вроде адрес выставляется F0F0h. Могу конечно и ошибаться.
    Последний раз редактировалось Mick; 24.11.2025 в 21:01.
    Сайт поддержки моих изделий - http://micklab.ru/
    Группа ВКонтакте - https://vk.com/micklab

  2. #222

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,216
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    707
    Спасибо Благодарностей получено 
    1,652
    Поблагодарили
    574 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Mick Посмотреть сообщение
    Есть ли сейчас эмулятор, где Специалист поддерживает AY и прерывания, если нет, как быстро можно сделать.
    Да, последние версии Emu80 поддерживают и AY (и даже TS!), и кадровые прерывания. Всё это включается в настройках через GUI.
    Именно на этом конфиге я всё тестировал и выкладывал сюда. Во всех своих адаптациях я умышленно выносил порты AY в константы, чтобы можно было в любой момент всё быстренько переделать на другое подключение.

    Цитата Сообщение от Mick Посмотреть сообщение
    Там есть плеер музыки SoundTracker (Song by ST compiler).
    В этой теме я выкладывал адаптацию к i8080 последней версии проигрывателя PT3/PT2.

    Цитата Сообщение от Mick Посмотреть сообщение
    10h - системный порт
    Пока никак прокомментировать не могу.

    Цитата Сообщение от Mick Посмотреть сообщение
    11h - порт менеджера страниц
    Было бы неплохо не ограничивать всё 32-мя килобайтами. Вдруг всё окажется удобно и захочется иметь больше памяти?

    Цитата Сообщение от Mick Посмотреть сообщение
    14h - порт регистров AY
    15h - порт данных AY
    Если я ничего не путаю, то именно на эти порты повесили AY на Векторе? Если это так, то это правильный выбор.

    Цитата Сообщение от Mick Посмотреть сообщение
    00..EFh, т.е. обращение к портам F0...FFh равносильно обращение к ОЗУ в диапазонах F000...FFFFh.
    Возможно, стоит расширить диапазон всем диапазоном ПЗУ+ПОРТЫ, то есть C000-FFFF. Например, SP580 повесил ВИ53 в этом диапазоне и обращается к нему по OUT. У меня на ЛИКе есть режим SP580 и таймер припаян.

    Цитата Сообщение от Mick Посмотреть сообщение
    Я вот сейчас не скажу на память, там вроде в команде out старший адрес дублируется младшим, т.е. если пишем в порт F0h, то вроде адрес выставляется F0F0h. Могу конечно и ошибаться.
    Да, ты абсолютно прав! Некоторые программы именно так обращаются к портам. Например, Монитор и софт от SP580. Поэтому важно, чтобы звуковая карта не мешала этому методу.
    С уважением, Станислав.

  3. #223

    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    10,143
    Спасибо Благодарностей отдано 
    216
    Спасибо Благодарностей получено 
    772
    Поблагодарили
    418 сообщений
    Mentioned
    23 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Было бы неплохо не ограничивать всё 32-мя килобайтами. Вдруг всё окажется удобно и захочется иметь больше памяти?
    Это ограничение текущей платы, ограничение линий данных на CPLD.


    Цитата Сообщение от CityAceE Посмотреть сообщение
    Если я ничего не путаю, то именно на эти порты повесили AY на Векторе? Если это так, то это правильный выбор.
    Да, такие же порты выбраны сделаны были и в ПК8000. Но ноги растут от Вектора

    - - - Добавлено - - -

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Да, последние версии Emu80 поддерживают и AY (и даже TS!), и кадровые прерывания. Всё это включается в настройках через GUI.
    А ссылку можно, чтобы не искать.

    Было бы не плохо, если b2m, тоже вставил в свой эмулятор. Но не знаю, на сколько он сейчас им занимается.
    Сайт поддержки моих изделий - http://micklab.ru/
    Группа ВКонтакте - https://vk.com/micklab

  4. #224

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,216
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    707
    Спасибо Благодарностей получено 
    1,652
    Поблагодарили
    574 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Mick Посмотреть сообщение
    А ссылку можно, чтобы не искать.
    Вот прямая ссылка на раздел скачивания: https://emu80.org/distr/
    Вот на последнюю Виндовую сборку: https://emu80.org/v4beta/Emu80qt_40535.zip
    С уважением, Станислав.

    Эти 2 пользователя(ей) поблагодарили CityAceE за это полезное сообщение:

    Mick(21.11.2025), Oleg N. Cher(21.11.2025)

  5. #225

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,371
    Спасибо Благодарностей отдано 
    404
    Спасибо Благодарностей получено 
    647
    Поблагодарили
    255 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Mick, если что, AY в эмуляторе в текущей реализации сидит по адресам F400-F47F, а прерывание возникает по фронту КГИ.
    При необходимости можно оперативно изменить адреса в конфиге.

  6. #226

    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    10,143
    Спасибо Благодарностей отдано 
    216
    Спасибо Благодарностей получено 
    772
    Поблагодарили
    418 сообщений
    Mentioned
    23 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Возможно, стоит расширить диапазон всем диапазоном ПЗУ+ПОРТЫ, то есть C000-FFFF. Например, SP580 повесил ВИ53 в этом диапазоне и обращается к нему по OUT. У меня на ЛИКе есть режим SP580 и таймер припаян.
    Хорошо, согласен. Тем более на CPLD приходят только A14 и A15

    - - - Добавлено - - -

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Если я ничего не путаю, то именно на эти порты повесили AY на Векторе? Если это так, то это правильный выбор.
    Уточню, я немного ошибся
    Правильно вот так

    14h - порт данных AY
    15h - порт регистров AY

    Пост выше я поправил

    - - - Добавлено - - -

    Цитата Сообщение от Pyk Посмотреть сообщение
    При необходимости можно оперативно изменить адреса в конфиге.
    Было бы не плохо поправить, чтобы уже отлаживать программу.
    Еще вопрос, прерывания возникают по 38h (выполнение команды rst 7) адресу?
    Сайт поддержки моих изделий - http://micklab.ru/
    Группа ВКонтакте - https://vk.com/micklab

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

  8. #227

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,216
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    707
    Спасибо Благодарностей получено 
    1,652
    Поблагодарили
    574 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Mick Посмотреть сообщение
    Еще вопрос, прерывания возникают по 38h (выполнение команды rst 7) адресу?
    Да. Но при жалении в файле конфигурации эмулятора это можно изменить.
    С уважением, Станислав.

  9. #228

    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    10,143
    Спасибо Благодарностей отдано 
    216
    Спасибо Благодарностей получено 
    772
    Поблагодарили
    418 сообщений
    Mentioned
    23 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что то не пойму почему не работает

    Код:
    ;-------------------------------------------------------
    ; Описание: Начало программы
    ;-------------------------------------------------------
    START_PROGRAMM:
    
                    di
    
                    ld      hl, SCREEN_BASE_INFO	;адрес начала видео информации
                    ld      bc, 3000h
                    ld      e, 0
                    call    MEMORY_ARRAY_FILL       ;очистим видео область
    
    
                    call    STRACK_INIT
                    call    SBAN_STR_INIT		;инициализация строки
    
                    ld      hl, SBAN_INTERRUPT
                    ld      (0039h), hl
                    ld      a, 0C3h
                    ld      (0038h), a
                    ei
    
    SBAN_STR_LOOP:
                    call    SBAN_STR_PROCESS	;обработка строки
                    ei
                    halt                            ;замерли
                    jp      SBAN_STR_LOOP
    
    ; ---------------------------------------------------------------------------
    SBAN_INTERRUPT:
                    push    hl
                    push    bc
                    push    de
                    push    af
                    call    STRACK_PLAY
                    pop     af
                    pop     de
                    pop     bc
                    pop     hl
                    ei
                    ret
    Если убрать halt и прерывания, то строка бежит. А если поставить, то почему то бесконечный цикл в этой строке

    call SBAN_STR_INIT ;инициализация строки

    Сам файл - https://disk.yandex.ru/d/fvu6JIBxWmyxGw
    Сайт поддержки моих изделий - http://micklab.ru/
    Группа ВКонтакте - https://vk.com/micklab

  10. #229

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,216
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    707
    Спасибо Благодарностей получено 
    1,652
    Поблагодарили
    574 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Mick Посмотреть сообщение
    Что то не пойму почему не работает
    А кто на адрес 0x38 будет ставить переход на обработчик прерывания?
    Добавил прямо в отладчике
    0038 C3 26 01 (JP SBAN_INTERRUPT)
    И попрыгала строка!
    Пофиксеный RKS во вложении.
    Вложения Вложения
    С уважением, Станислав.

  11. #230

    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    10,143
    Спасибо Благодарностей отдано 
    216
    Спасибо Благодарностей получено 
    772
    Поблагодарили
    418 сообщений
    Mentioned
    23 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    А кто на адрес 0x38 будет ставить переход на обработчик прерывания?
    А эти строки разве не устанавливают
    ld hl, SBAN_INTERRUPT
    ld (0039h), hl
    ld a, 0C3h
    ld (0038h), a
    Сайт поддержки моих изделий - http://micklab.ru/
    Группа ВКонтакте - https://vk.com/micklab

Страница 23 из 26 ПерваяПервая ... 1920212223242526 ПоследняяПоследняя

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

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

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

Похожие темы

  1. AY-3-8910 in FPGA
    от VELESOFT в разделе Звук
    Ответов: 18
    Последнее: 25.12.2015, 22:13
  2. AY-3-8910 к РК
    от Kakos_nonos в разделе Радио-86РК
    Ответов: 4
    Последнее: 24.05.2013, 12:10
  3. AY-3-8910
    от Eugeny в разделе Звук
    Ответов: 14
    Последнее: 05.09.2011, 17:11
  4. Продам AY-3-8910
    от crolicasm в разделе Барахолка (архив)
    Ответов: 9
    Последнее: 17.03.2009, 15:25
  5. О портах AY-3-8910...
    от ILoveSpeccy в разделе Звук
    Ответов: 2
    Последнее: 02.07.2007, 15:02

Ваши права

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