Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - teremochek

Страницы: [1]
1
Вот идея появилась (так как имеется большой телевизор с высоким разрешением).

Под тайлами использовать еще слой со случайными пикселями (Шум).
Слой с шумом двигается вместе с тайлами, а при смене тайла генерируется новый тайл шума.
Таким образом достигается эффект высокой детализации, что вполне хорошо будет выглядеть больших экранах.


2
   Такая мысль. Хорошо-бы иметь исходный код игры с эмулятором, которые вместе компилируются в игру. К тому-же код игры сделать с  заметой "BNE, BEQ и т.д." на If операторы. Как это сделал "Movax12". Затем модифицировать игру(ы), добавив в нее мультиплеер с большим количеством человек.(8-32). В иделе нужно иметь несколько популярных игр(аркад). Начать лучше с марио, т.к. в нем все разобрано..

   Пока что я начал портировать HalfNes на BlitzMax. И Увяз, не получается.
Не знаю может есть какой-нибудь хороший, простой эмулятор с открытым исходным код, который будет удобнее использовать. Пока, из тех эмулей, которые я смотрел... Каждый эмулятор, как загадка. Если бы вы только представляли, на сколько в них разный код и синтаксис и все остальное. Капитально возится с каждым придется, что-бы разобраться, как и где что работает.



Добавлено позже:

disassembly_pc = PC

if PC>=8000 and PC<=8024
    '... some code
else
    current_inst:Byte = ReadRomByte()
    Opcodes( current_inst )
endif


Вот таким вот примерно образом, перевести ассемблер рома в просто код. Частями, проверяя каждую.
В идеале можно избавиться от счетчика команд и регистров. Таким образом можно будет добавлять любое количество кода, в любое место*.

3
 Увеличить количество кадров в два раза. 60 -> 120.
 Увеличить разрешение в 2 раза. 256x240 -> 512x480
 Каждый четный кадр все движущиеся объекты смещаются на половину заданной величины.
 Соответственно каждый нечетный кадр смещаются еще на половину + происходит Update()
 Возможно кто-то уже реализовал подобный метод в эмуляторе.

 З.Ы. Конечно не у каждого есть 120 герцовый монитор.

4
Всем доброго времени суток. Поскольку узнал о существовании дизассемблированных игр, появился такой вопрос. Возможно ли Ассемблер перевести в высоко-уровневый, понятный код ? (Что-бы еще он работал) (хотя-бы частично)

Вот пример ассемблера ( Mario ):

ProcFireball_Bubble:
      lda PlayerStatus           ;check player's status
      cmp #$02
      bcc ProcAirBubbles         ;if not fiery, branch
      lda A_B_Buttons
      and #B_Button              ;check for b button pressed
      beq ProcFireballs          ;branch if not pressed
      and PreviousA_B_Buttons
      bne ProcFireballs          ;if button pressed in previous frame, branch
      lda FireballCounter        ;load fireball counter
      and #%00000001             ;get LSB and use as offset for buffer
      tax
      lda Fireball_State,x       ;load fireball state
      bne ProcFireballs          ;if not inactive, branch
      ldy Player_Y_HighPos       ;if player too high or too low, branch
      dey
      bne ProcFireballs
      lda CrouchingFlag          ;if player crouching, branch
      bne ProcFireballs
      lda Player_State           ;if player's state = climbing, branch
      cmp #$03
      beq ProcFireballs
      lda #Sfx_Fireball          ;play fireball sound effect
      sta Square1SoundQueue
      lda #$02                   ;load state
      sta Fireball_State,x
      ldy PlayerAnimTimerSet     ;copy animation frame timer setting
      sty FireballThrowingTimer  ;into fireball throwing timer
      dey
      sty PlayerAnimTimer        ;decrement and store in player's animation timer
      inc FireballCounter        ;increment fireball counter

5
Здравствуйте,
Подскажите, как легче найти адрес в роме, где хранится палитра ?
Где обычно она располагается, и сколько в длину ?

Страницы: [1]