С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Не, ну там на один байт можно сделать короче и быстрее (сохранить в A, в B или в C регистре содержимое E, а затем после каждой пары LDI оттуда восстанавливать, а не делать два декремента). Но чтоб ошибка?.. Судя по коду там запись двух байт спрайта по горизонтале, а затем переход на строку ниже по вертикале. Проблемы будут если выводить в последний байт по горизонтале.
Да, позор моим седым власам с "багом в SDCC", просто мессаг сбил с толку.
Насчёт DEC E уже понял, исправил на DEC DE.
Да, запамятовал. Но если очень надо, то можно таки использовать B, если в C записать 255 и число исполнений LDI после этого не превышает этого значения.
Обязательно применю IM 1, Алекс.
Само собой. Значит i = #3f нужно именно софтам, а если я в игре из IM 2 перейду в IM 1, а потом снова назад, то можно i не трогать?
Это 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 ----------
Нет, просто я где-то читал, что для ZX режимы IM 0 и IM 1 абсолютно не имеют отличий. Но если они таки есть, вам, железячникам виднее.
Планируются Java ME, SDL (Win32/64, Linux), Win32/64, возможно, MSX, DOS и Android (методом NDK на SDL 2 и SDK - под dalvik). jerri штампует игры, которые бесполезны для переноса на другие платформы, я же делаю долго, но зато таким способом игры до меня никто не делал - я первопроходец.
было
должно бытьКод:;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слышь, первопроходец, про кампанию OPERAsoft слышал хоть раз?
jerri штампует игры, которые бесполезны для переноса на другие платформы, я же делаю долго, но зато таким способом игры до меня никто не делал - я первопроходец.
С уважением,
Jerri / Red Triangle.
Вспоминается Goody, Livingstone (supongo), не?
Рекомендацию заменить ldi на ld a,(hl): ld (de),a с благодарностью принимаю.
Я вообще сделал два варианта вывода тайлов - компактный и быстрый, который заточен не проверять переходы на другую треть экрана.
А вот с цветностью будут проблемы, jerri. Я согласен, цветная игра красивше. Но тут либо переходить на тайлы 16x16, теряя одноэкранность без рулонной прокрутки, либо оставить монохромность. Или заюзать мультиколорный движок типа Nirvana, но это чревато своими проблемами, так что, пожалуй, оставим монохром.
Последний раз редактировалось Oleg N. Cher; 11.10.2015 в 16:31.
Угу, так а где посмотреть можно? Goody был же не только для Z80-based, он и для DOS'а был.
А я-то уже хотел спросить, юзали ли в OPERAsoft язык Оберон Натурально, jerri, мало ли что где было, главное - что открыто пощупать мона.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)