Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/coolgirl-multicart/coolgirl-multirom-builder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2016-04-23 19:22:44 +0300
committerAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2016-04-23 19:22:44 +0300
commitba51480cb3374bc9b328f756e680823b232164a2 (patch)
treefb71b173f8a6ea7f3599c4553b7e780d4487791e /menu.asm
parentaa741b52691b78a638ac5e47b78575ccc852d44d (diff)
Many misc fixes
Diffstat (limited to 'menu.asm')
-rw-r--r--menu.asm40
1 files changed, 30 insertions, 10 deletions
diff --git a/menu.asm b/menu.asm
index cfe56b8..24aa6f2 100644
--- a/menu.asm
+++ b/menu.asm
@@ -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