diff options
author | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2016-04-23 19:22:44 +0300 |
---|---|---|
committer | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2016-04-23 19:22:44 +0300 |
commit | ba51480cb3374bc9b328f756e680823b232164a2 (patch) | |
tree | fb71b173f8a6ea7f3599c4553b7e780d4487791e /menu.asm | |
parent | aa741b52691b78a638ac5e47b78575ccc852d44d (diff) |
Many misc fixes
Diffstat (limited to 'menu.asm')
-rw-r--r-- | menu.asm | 40 |
1 files changed, 30 insertions, 10 deletions
@@ -30,6 +30,7 @@ SPRITE_1_X .rs 1 .rsset $0700 BUTTONS .rs 1 ; текущие нажатия кнопок BUTTONS_TMP .rs 1 ; временная переменная для кнопок +BUTTONS_HOLD_TIME .rs 1 ; время удержания вверх или вниз ; цели стремления курсоров SPRITE_0_X_TARGET .rs 1 SPRITE_0_Y_TARGET .rs 1 @@ -325,7 +326,8 @@ print_next_game_at_start_modulo_ok: lda #%00001010 ; и спрайты выключены sta $2001 - ; плавно скролим начальный экран + ; плавно скроллим начальный экран + ; jmp intro_scroll_done ; тут можно выключить пропуск скроллинга для вредных lda SELECTED_GAME ; но только если выбрана первая строка... или лучше игра bne intro_scroll_done lda SELECTED_GAME+1 @@ -626,7 +628,7 @@ check_separator_up_done: wait_buttons_not_pressed: jsr waitblank ; ждём, пока дорисуется экран lda BUTTONS - and #$FF + ;and #$FF ; wtf? bne wait_buttons_not_pressed rts @@ -673,7 +675,7 @@ waitblank1: ; читаем данные с контроллера jsr read_controller ; занимаемся звёздами на фоне - jsr stars + jsr stars ; тут можно выключить звёздочки pla tax @@ -1542,13 +1544,29 @@ read_controller: pha txa pha - jsr read_controller_real + jsr read_controller_real ; первый раз ldx BUTTONS_TMP - jsr read_controller_real - cpx BUTTONS_TMP - bne read_controller_fail - stx BUTTONS -read_controller_fail: + jsr read_controller_real ; второй раз + cpx BUTTONS_TMP ; сравниваем два значения + bne read_controller_done ; если они не совпадают, больше ничего не делаем + stx BUTTONS ; записываем значения + txa + and #%11110000 ; вверх и вниз + beq read_controller_no_up_down ; если они не нажаты... + inc BUTTONS_HOLD_TIME ; увеличиваем время удержания кнопок + lda BUTTONS_HOLD_TIME + cmp #60 ; держим их долго? + bcc read_controller_done ; нет + lda #0 ; да, якобы отпускаем все кнопки + sta BUTTONS + lda #50 ; и уменьшаем время до повтора + sta BUTTONS_HOLD_TIME + jmp read_controller_done + +read_controller_no_up_down: + lda #0 ; время удержания кнопок равно нулю + sta BUTTONS_HOLD_TIME +read_controller_done: pla tax pla @@ -1597,6 +1615,7 @@ konami_code_length: ; звук перемещения курсора bleep: + ;rts ; выключить звук lda #%00000001 sta $4015 ;square 1 @@ -1619,6 +1638,7 @@ start_sound: cmp konami_code_length beq start_sound_alt + ;rts ; выключить звук lda #%00000001 sta $4015 ;enable channel(s) ;square 1 @@ -2373,7 +2393,7 @@ load_save_again: flash_set_superbank: lda LOADER_GAME_SAVE_SUPERBANK beq flash_set_superbank_zero - lda #$FF + lda #$1F sta $5000 lda #$E0 sta $5001 |