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

User Tag List

Страница 4 из 11 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 102

Тема: Разработка игры Dash

  1. #31
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,752
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    276
    Поблагодарили
    206 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Затык №1. Не связанный с Обероном, jerri. Сегодня оптимизировал вывод тайла 16x12 точек и опять нашёл баг в SDCC. Подождём-с фикса. Эх, и вот так всё время.
    здесь нет ошибки компилятора
    здесь есть ошибка программиста

    error: [JR] Target out of range (131)
    а вот вторая ошибка программиста
    Код:
        LDI          ; #9
        LDI
        DEC  E
        DEC  E
        INC  D
    если интересно поясню где именно ошибка
    С уважением,
    Jerri / Red Triangle.

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

  3. #32
    Activist
    Регистрация
    18.04.2015
    Адрес
    г. Люберцы
    Сообщений
    342
    Спасибо Благодарностей отдано 
    103
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    26 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    а вот вторая ошибка программиста
    Код:
        LDI          ; #9
        LDI
        DEC  E
        DEC  E
        INC  D
    если интересно поясню где именно ошибка
    Не, ну там на один байт можно сделать короче и быстрее (сохранить в A, в B или в C регистре содержимое E, а затем после каждой пары LDI оттуда восстанавливать, а не делать два декремента). Но чтоб ошибка?.. Судя по коду там запись двух байт спрайта по горизонтале, а затем переход на строку ниже по вертикале. Проблемы будут если выводить в последний байт по горизонтале.

  4. #33
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,773
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    1,179
    Поблагодарили
    775 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от troosh Посмотреть сообщение
    в B или в C регистре содержимое E
    вообще-то LDI уменьшает BC

  5. #34
    Veteran Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,598
    Спасибо Благодарностей отдано 
    2,182
    Спасибо Благодарностей получено 
    137
    Поблагодарили
    103 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, позор моим седым власам с "багом в SDCC", просто мессаг сбил с толку.

    Насчёт DEC E уже понял, исправил на DEC DE.

  6. #35
    Activist
    Регистрация
    18.04.2015
    Адрес
    г. Люберцы
    Сообщений
    342
    Спасибо Благодарностей отдано 
    103
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    26 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, запамятовал. Но если очень надо, то можно таки использовать B, если в C записать 255 и число исполнений LDI после этого не превышает этого значения.

  7. #36
    Veteran Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,598
    Спасибо Благодарностей отдано 
    2,182
    Спасибо Благодарностей получено 
    137
    Поблагодарили
    103 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    Еще раз намекну: используй IM1, а не IM0.
    Обязательно применю IM 1, Алекс.

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    Софты ждут, что i = #3f - как это выставляет BASIC при сбросе. Олсо не забывай при выходе выставлять iy в #5c3a и hl' в #2758.
    Само собой. Значит i = #3f нужно именно софтам, а если я в игре из IM 2 перейду в IM 1, а потом снова назад, то можно i не трогать?

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    В используемом ассемблере символ # - это признак адресации или 16-ричной системы? в i надо засылать #3f = 63 dec.
    Это SDCC'шный асм. В нём # обязательный символ перед литералом, но не всяким. Например, JP 0 или .DB 0 можно без него. Да, это десятичное число было.

    ---------- Post added at 13:40 ---------- Previous post was at 13:36 ----------

    Наверное дёргать регистры не имеет смысла - LDI портит и D, и E. А смысл есть попробовать LDI: DEC E: DEC DE, всё-таки пару тактов выиграем.

    ---------- Post added at 13:45 ---------- Previous post was at 13:40 ----------

    Цитата Сообщение от MVV Посмотреть сообщение
    3) IM0 выбран как дань и поклонение совместимости с i8080?
    Нет, просто я где-то читал, что для ZX режимы IM 0 и IM 1 абсолютно не имеют отличий. Но если они таки есть, вам, железячникам виднее.

    Цитата Сообщение от MVV Посмотреть сообщение
    5) Вы упомянули кроссплатформенность, т.е. программу всё-равно приодеться перекомпелировать на другой аппаратной платформе, вопрос - для каких платформ?
    Планируются Java ME, SDL (Win32/64, Linux), Win32/64, возможно, MSX, DOS и Android (методом NDK на SDL 2 и SDK - под dalvik). jerri штампует игры, которые бесполезны для переноса на другие платформы, я же делаю долго, но зато таким способом игры до меня никто не делал - я первопроходец.

  8. #37
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,752
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    276
    Поблагодарили
    206 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    [/COLOR]Наверное дёргать регистры не имеет смысла - LDI портит и D, и E. А смысл есть попробовать LDI: DEC E: DEC DE, всё-таки пару тактов выиграем.

    было
    Код:
        ;de= #40fe
    ldi ;de= #40ff
    ldi  ;de= #4100
    dec e ;
    dec e ;de= #41fe
    inc d  ;de= #42fe
    должно быть

    Код:
    ldi
    ld a,(hl)
    ld (de),a
    inc hl
    dec de
    inc d

    jerri штампует игры, которые бесполезны для переноса на другие платформы, я же делаю долго, но зато таким способом игры до меня никто не делал - я первопроходец.
    слышь, первопроходец, про кампанию OPERAsoft слышал хоть раз?
    С уважением,
    Jerri / Red Triangle.

  9. #38
    Veteran Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,598
    Спасибо Благодарностей отдано 
    2,182
    Спасибо Благодарностей получено 
    137
    Поблагодарили
    103 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вспоминается Goody, Livingstone (supongo), не?

    Рекомендацию заменить ldi на ld a,(hl): ld (de),a с благодарностью принимаю.

    Я вообще сделал два варианта вывода тайлов - компактный и быстрый, который заточен не проверять переходы на другую треть экрана.

    А вот с цветностью будут проблемы, jerri. Я согласен, цветная игра красивше. Но тут либо переходить на тайлы 16x16, теряя одноэкранность без рулонной прокрутки, либо оставить монохромность. Или заюзать мультиколорный движок типа Nirvana, но это чревато своими проблемами, так что, пожалуй, оставим монохром.
    Последний раз редактировалось Oleg N. Cher; 11.10.2015 в 16:31.

  10. #39
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,773
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    1,179
    Поблагодарили
    775 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Вспоминается Goody, Livingstone
    вот оно и написано грубо говоря скриптами.
    скрипт один - а реализация ввода/вывода для каждой платформы своя.

  11. #40
    Veteran Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,598
    Спасибо Благодарностей отдано 
    2,182
    Спасибо Благодарностей получено 
    137
    Поблагодарили
    103 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Угу, так а где посмотреть можно? Goody был же не только для Z80-based, он и для DOS'а был.

    А я-то уже хотел спросить, юзали ли в OPERAsoft язык Оберон Натурально, jerri, мало ли что где было, главное - что открыто пощупать мона.

Страница 4 из 11 ПерваяПервая 12345678 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ищу неломанный Boulder Dash 5
    от transman в разделе Игры
    Ответов: 17
    Последнее: 01.07.2021, 23:28
  2. Boulder Dash
    от Cat_Alex/QRP в разделе Игры
    Ответов: 6
    Последнее: 04.03.2013, 21:43
  3. О чем думал автор? Boulder Dash IV
    от JeRrS в разделе Игры
    Ответов: 7
    Последнее: 08.07.2010, 12:52
  4. Slalom demo by Dr.Dash
    от cardin в разделе Демо
    Ответов: 2
    Последнее: 06.02.2010, 06:28

Ваши права

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