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

User Tag List

Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 25 из 25

Тема: Конвертнуть jpeg в формат zx screen.

  1. #21
    Banned Аватар для psndcj
    Регистрация
    22.02.2005
    Адрес
    triebkraft
    Сообщений
    712
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    если в BC задавать количество повторов, то в конце цикла надо не DJNZ ставить, а DEC BC:LD A,B:OR C:JR NZ,....кудатамнадо.... в B просто максимум 256 повторов задать можно - то есть 5 секунд с небольшим (с HALT'ом в цикле)...

  2. #22
    Member Аватар для anarchyman
    Регистрация
    04.08.2005
    Адрес
    Россия, Московская область.
    Сообщений
    75
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Kurles Посмотреть сообщение
    не знаю, попробуй в строках, где нет меток, перед мнемониками пробелов наставить, ибо оригинальная версия sjasm'а не поддерживала компиляцию ассемблерных команд в начале строки, может твоя ситуация - это отголоски того времени. Ещё ошибка - где у тебя задается количество циклов в регистровой паре bc - надо, что бы кол-во циклов задавалось в регистре B. ld b,#10. Ещё: не нашёл у тебе метки newloop, которая в комманде djnz newloop используется, определи куда нибудь.
    Отлично!
    Исправил ошибку в ld b,#10
    и добавил пробелы. Все компилируется и даже работает (почти :-))
    После исполнения цикла, программа почему то сбрасывается, а не передает управление на следующую процедуру (newloop)

    Как можно выяснить в чем причина?

  3. #23
    Member Аватар для Kurles
    Регистрация
    17.01.2005
    Адрес
    Cherepovets
    Сообщений
    121
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от anarchyman Посмотреть сообщение
    Отлично!
    Исправил ошибку в ld b,#10
    и добавил пробелы. Все компилируется и даже работает (почти :-))
    После исполнения цикла, программа почему то сбрасывается, а не передает управление на следующую процедуру (newloop)

    Как можно выяснить в чем причина?
    Исходник в студию =)

  4. #24
    Member Аватар для anarchyman
    Регистрация
    04.08.2005
    Адрес
    Россия, Московская область.
    Сообщений
    75
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Kurles Посмотреть сообщение
    Исходник в студию =)
    Ну где то так :-)

    Код:
    hframeaddr
            defw    s1
            defw    s2
    
    loop
           halt 
           ld      ix,a1
           call    play
           ld      ix,a2
           call   play
    
           ld	B,#10
           push	bc
           call	loop
           pop	bc
           djnz	aaa
           ret    
    play
            ld      a,(ix+0)
            dec     a
            jr      nz,rret
            ld      l,(ix+2)
            ld      h,(ix+3)
            ld      e,(ix+4)
            ld      d,(ix+5)
            ld      c,8
    
    play2
            push    bc
            push    de
            rept    9
            ldi
            endm
            pop     de
            pop     bc
            push    hl
            ld      hl,32
            add     hl,de
            ex      de,hl
            pop     hl
            dec     c
            jp      nz,play2
    
            ld      a,(ix+1)
            inc     a
            and     1
            ld      (ix+1),a
            ld      hl,hframeaddr
            add     a,a ; x2
            ld      d,0
            ld      e,a
            add     hl,de
            ld      e,(hl)
            inc     hl
            ld      d,(hl)
            ld      (ix+2),e
            ld      (ix+3),d
            ld      a,10
    rret
            ld      (ix+0),a
            ret
    
    a1
            defb    2
            defb    0
            defw    s1
            defw    22528+7+32*0
    
    a2
            defb    7
            defb    1
            defw    s2
            defw    22528+16+32*4
    
    aaa     ld hl,tablend
            inc hl
            xor a
            or (hl)
            jr nz,nenovaya
            ld hl,tablichko
    
    ...
    Продолжение процедуры aaa

  5. #25
    Member Аватар для Kurles
    Регистрация
    17.01.2005
    Адрес
    Cherepovets
    Сообщений
    121
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Thumbs up

    Цитата Сообщение от anarchyman Посмотреть сообщение
    Ну где то так :-)
    у тебя главный цикл какой-то не правильный - call loop вызывает гурбо говоря саму себя, в следствии чего происходит переполнение стека и сброс. И djnz хрен знает куда прыгает. В теории вот так должно быть:

    Код:
           halt 
           ld      ix,a1
           call    play
           ld      ix,a2
           call   play
    
           ld	B,#10
    mloop1
           push	bc
           halt ; для синхронизации
           call	aaa ;или что ты тут собрался в цикле вызывать
           pop	bc
           djnz mloop1	
           ret
    если надо, что бы
    Код:
           ld      ix,a1
           call    play
           ld      ix,a2
           call   play
    тоже в этом же цикле выполнялись - переносишь вот этот
    Код:
           ld	B,#10
    mloop1
           push	bc
    участок кода в начало перед первым halt.
    дальше твой код пока не смотрел, виснет явно на этом участке.

    и вот это:

    Код:
    hframeaddr
            defw    s1
            defw    s2
    тоже в начале кода хранить не следует, перенеси в конец программы, что бы не путаться.

Страница 3 из 3 ПерваяПервая 123

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

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

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

Похожие темы

  1. Title Screen
    от goodboy в разделе Графика
    Ответов: 55
    Последнее: 19.01.2009, 09:01
  2. Screen timings
    от Higgins в разделе Эмуляторы
    Ответов: 79
    Последнее: 26.06.2008, 01:49
  3. SCReen Viewer 1.3b
    от SoftLight в разделе Утилиты
    Ответов: 0
    Последнее: 12.03.2005, 13:28

Ваши права

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