diff options
author | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2021-05-25 22:43:09 +0300 |
---|---|---|
committer | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2021-05-25 22:43:09 +0300 |
commit | f87c42b55b913177953dff79f412d1fbe3af426b (patch) | |
tree | fc71c11890d7317e9a5dd431d6f65be8f966a68f | |
parent | b1460434880ed5ec72f23d5003d5ceedaa4f3b95 (diff) |
Many fixes
-rw-r--r-- | buildinfo.asm | 3 | ||||
-rw-r--r-- | menu.asm | 15 | ||||
-rw-r--r-- | saves.asm | 8 | ||||
-rw-r--r-- | video.asm | 38 |
4 files changed, 30 insertions, 34 deletions
diff --git a/buildinfo.asm b/buildinfo.asm index 8d582fd..7a72202 100644 --- a/buildinfo.asm +++ b/buildinfo.asm @@ -186,8 +186,7 @@ print_prg_ram: jsr load_text_palette lda #$FF - sta <SPRITE_1_Y_TARGET - sta <SPRITE_1_Y_TARGET + sta <SPRITE_Y_TARGET sta SPRITE_0_Y sta SPRITE_1_Y jsr sprite_dma_copy @@ -8,7 +8,6 @@ ENABLE_STARS .equ 1 ENABLE_START_SCROLLING .equ 1 ENABLE_LAST_GAME_SAVING .equ 1 -ENABLE_TOP_OFFSET .equ 0 ENABLE_RIGHT_CURSOR .equ 1 GAME_NAMES_OFFSET .equ 2 BUTTON_REPEAT_FRAMES .equ 30 @@ -170,14 +169,14 @@ Start: sta SPRITE_0_X lda <SPRITE_1_X_TARGET sta SPRITE_1_X - lda <SPRITE_0_Y_TARGET + lda <SPRITE_Y_TARGET sta SPRITE_0_Y - sta SPRITE_1_Y - lda #$00 - sta SPRITE_0_TILE .if ENABLE_RIGHT_CURSOR=0 - lda #$FF ;hide right cursor + lda #$FF .endif + sta SPRITE_1_Y ;hide right cursor + lda #$00 + sta SPRITE_0_TILE sta SPRITE_1_TILE lda #%00000000 sta SPRITE_0_ATTR @@ -289,11 +288,7 @@ Start: inx inx inx - .if ENABLE_TOP_OFFSET=0 cpx #$f0 - .else - cpx #$e8 ; for large images on the top - .endif bne .intro_scroll .intro_scroll_end: .endif @@ -45,6 +45,7 @@ load_state: cpx #8 bne .signature_loop ; loading last started game + .if ENABLE_LAST_GAME_SAVING!=0 lda SRAM_LAST_STARTED_GAME sta <SELECTED_GAME lda SRAM_LAST_STARTED_GAME+1 @@ -61,6 +62,13 @@ load_state: sta <SCROLL_LINES_TARGET lda SRAM_LAST_STARTED_LINE+1 sta <SCROLL_LINES_TARGET+1 + .else + lda #0 + sta <SELECTED_GAME + sta <SELECTED_GAME+1 + sta <SCROLL_LINES_TARGET + sta <SCROLL_LINES_TARGET+1 + .endif ; loading last save ID lda SRAM_LAST_STARTED_SAVE sta <LAST_STARTED_SAVE @@ -1,8 +1,7 @@ ; cursors target coordinates SPRITE_0_X_TARGET .rs 1 -SPRITE_0_Y_TARGET .rs 1 SPRITE_1_X_TARGET .rs 1 -SPRITE_1_Y_TARGET .rs 1 +SPRITE_Y_TARGET .rs 1 ; variables for game name drawing TEXT_DRAW_GAME .rs 2 TEXT_DRAW_ROW .rs 1 @@ -104,11 +103,6 @@ scroll_fix: asl A clc adc <SCROLL_FINE - .if ENABLE_TOP_OFFSET!=0 - ; for large images on the top - sec - sbc #8 - .endif sta PPUSCROLL pla tay @@ -771,23 +765,27 @@ move_cursors: adc #4 sta SPRITE_1_X .sprite_1x_target_end: - lda <SPRITE_1_Y_TARGET - cmp SPRITE_1_Y - beq .sprite_1y_target_end - bcs .sprite_1y_target_plus - lda SPRITE_1_Y + lda <SPRITE_Y_TARGET + cmp SPRITE_0_Y + beq .sprite_0y_target_end + bcs .sprite_0y_target_plus + lda SPRITE_0_Y sec sbc #4 sta SPRITE_0_Y + .if ENABLE_RIGHT_CURSOR!=0 sta SPRITE_1_Y - jmp .sprite_1y_target_end -.sprite_1y_target_plus: - lda SPRITE_1_Y + .endif + jmp .sprite_0y_target_end +.sprite_0y_target_plus: + lda SPRITE_0_Y clc adc #4 sta SPRITE_0_Y + .if ENABLE_RIGHT_CURSOR!=0 sta SPRITE_1_Y -.sprite_1y_target_end: + .endif +.sprite_0y_target_end: pla rts @@ -919,6 +917,7 @@ set_scroll_targets: sbc #0 sta <SCROLL_LINES_TARGET+1 jmp .not_down + set_cursor_targets: ; set cursor targets depending on selected game number ; left cursor, X @@ -955,12 +954,7 @@ set_cursor_targets: asl A sec sbc #1 - .if ENABLE_TOP_OFFSET!=0 ; for large images on top - clc - adc #8 - .endif - sta <SPRITE_0_Y_TARGET - sta <SPRITE_1_Y_TARGET + sta <SPRITE_Y_TARGET rts wait_scroll_done: |