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

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Бейсик и плеер на прерываниях.

  1. #1
    Guru Аватар для NEO SPECTRUMAN
    Регистрация
    22.05.2011
    Адрес
    Дзержинск
    Сообщений
    2,146
    Благодарностей: 377
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    Unhappy Бейсик и плеер на прерываниях.

    Столкнулся с проблемой вешания плеера на прерывания в программах на бейсике.

    Компилю Вортексом http://bulba.untergrund.net/vortex.htm

    Вот что у меня на обработчике прерываний
    EXX
    PUSH AF
    PUSH BC
    PUSH DE
    PUSH HL
    EXX
    PUSH AF
    PUSH BC
    PUSH DE
    PUSH HL
    PUSH IX
    PUSH IY

    LD (#B000),SP
    LD SP,#A000

    CALL #C005

    LD SP,(#B000)

    POP IY
    POP IX
    POP HL
    POP DE
    POP BC
    POP AF
    EXX
    POP HL
    POP DE
    POP BC
    POP AF
    EXX
    CALL #0038
    RET
    И вроде бы работает. Но...

    Глюки вроде начинаются при работе графических подпрограмм ПЗУшки.

    Пример зависона.
    0000.zip

    Исходник для EmuZwin-a.
    0000.asm


    Вместо плеера вешал Кучку LDIR-ов, Call-ов 0038, Out-ов по разным портам но глюков небыло.

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

  3. #2
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,948
    Благодарностей: 1520
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    Глюки вроде начинаются при работе графических подпрограмм ПЗУшки.
    Может стек переполняется? Попробуй его подвинуть повыше.

    ---------- Post added at 19:33 ---------- Previous post was at 19:31 ----------

    У меня все работало отменно: http://www.n-discovery.spb.ru/data/others/sokoban.zip

  4. #3
    Guru Аватар для NEO SPECTRUMAN
    Регистрация
    22.05.2011
    Адрес
    Дзержинск
    Сообщений
    2,146
    Благодарностей: 377
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Может стек переполняется? Попробуй его подвинуть повыше.
    Да стек уже двигал. Вроде с ним всё ОК.
    В придачу на время работы плеера указатель стека B000.
    То есть у меня сейчас для стека по 4 Кб и в ту и в другую сторону.

  5. #4
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,057
    Благодарностей: 1437
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А кто будет сохранять альтернативный AF?

  6. Этот пользователь поблагодарил Vitamin за это полезное сообщение:
    NEO SPECTRUMAN (10.01.2012)

  7. #5
    Guru Аватар для NEO SPECTRUMAN
    Регистрация
    22.05.2011
    Адрес
    Дзержинск
    Сообщений
    2,146
    Благодарностей: 377
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А кто будет сохранять альтернативный AF?
    А где видно что я его не сохранил?

    Перепроверил. Вот тут видно что Push-ытся всё.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	0000.JPG 
Просмотров:	319 
Размер:	65.5 Кб 
ID:	32095  
    Последний раз редактировалось NEO SPECTRUMAN; 09.01.2012 в 19:49.

  8. #6
    Veteran Аватар для John North
    Регистрация
    22.09.2006
    Адрес
    Ижевск
    Сообщений
    1,706
    Благодарностей: 400
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А зачем стек переставляешь внутри обработчика прерываний?
    Хороший.. Плохой.. Главное - у кого ружьё !!

  9. #7
    Guru Аватар для NEO SPECTRUMAN
    Регистрация
    22.05.2011
    Адрес
    Дзержинск
    Сообщений
    2,146
    Благодарностей: 377
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А зачем стек переставляешь внутри обработчика прерываний?
    Пытался избавиться от этого глюка. Изначально указатель стека не трогал.
    Плеер юзает стек. Решил что возможно глюк из за него.

  10. #8
    CraZZZy CodEr Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    1,602
    Благодарностей: 777
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    exx не меняет af и af'. Так что af' ты не сохранил.
    Все любят гипножабу

  11. Этот пользователь поблагодарил SAM style за это полезное сообщение:
    NEO SPECTRUMAN (09.01.2012)

  12. #9
    Guru Аватар для NEO SPECTRUMAN
    Регистрация
    22.05.2011
    Адрес
    Дзержинск
    Сообщений
    2,146
    Благодарностей: 377
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для этого EX af,af1

    Сейчас испытаю.

    ---------- Post added at 18:14 ---------- Previous post was at 18:08 ----------

    Поставил после каждого EXX
    EX AF,AF'

    Да вроде пока работает.
    Последний раз редактировалось NEO SPECTRUMAN; 09.01.2012 в 20:19.

  13. #10
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    2,761
    Благодарностей: 2076
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    NEO SPECTRUMAN, зачем переключать целых восемь раз наборы регистров, если можно только два (также, в конце можно заменить связку call n, ret на один jp n)?

    Код:
    push ix
    push iy
    push bc 
    push de
    push hl
    push af
    exx
    push bc
    push de
    push hl
    ex af,af'
    push af
    
    call #C005
    
    pop af 
    pop hl
    pop de
    pop bc
    ex af,af'
    pop af
    exx
    pop hl
    pop de
    pop bc
    pop iy
    pop ix
    jp #0038
    Когда есть, но не знаеш где - это все равно, что нету.

  14. Этот пользователь поблагодарил null_device за это полезное сообщение:
    John North (09.01.2012)

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Про бейсик
    от yur в разделе Программирование
    Ответов: 23
    Последнее: 17.02.2014, 21:26
  2. Специалист: Бейсик
    от Prusak в разделе Специалист
    Ответов: 1
    Последнее: 08.06.2009, 10:59
  3. Ищу документацию по Бейсик С 1.10
    от Жека:) в разделе Разное
    Ответов: 0
    Последнее: 28.02.2009, 10:28
  4. AY плеер
    от newart в разделе Unsorted
    Ответов: 19
    Последнее: 19.07.2006, 23:03

Ваши права

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