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>2021-01-05 10:08:19 +0300
committerAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2021-01-05 10:31:56 +0300
commit6629bbd2125d5488ae83b6aa21c231a2a51353e2 (patch)
tree649b88208d1b5c94d2e6502d4bfeebdc8aea3f54 /menu.asm
parentedbd71ea97a50f43a4c49d69a5c034894bc84d86 (diff)
Using reserved register names, refactoring
Diffstat (limited to 'menu.asm')
-rw-r--r--menu.asm70
1 files changed, 35 insertions, 35 deletions
diff --git a/menu.asm b/menu.asm
index 85dfc78..f3439e2 100644
--- a/menu.asm
+++ b/menu.asm
@@ -65,12 +65,12 @@ Start:
; reset stack
ldx #$ff
- txs
-
+ txs
+
lda #%00000000 ; PPU disabled
- sta $2000
- sta $2001
-
+ sta PPUCTRL
+ sta PPUMASK
+
jsr waitblank_simple
; clean memory
@@ -89,20 +89,20 @@ Start:
jsr clear_screen
jsr load_black
-
+
; enable PPU to show black screen
lda #%00001010
- sta $2001
-
+ sta PPUMASK
+
; wait some time
ldx #15
.start_wait:
jsr waitblank_simple
dex
bne .start_wait
-
+
lda #%00000000 ; disable PPU
- sta $2001
+ sta PPUMASK
jsr waitblank_simple
; loading loader and other RAM routines
@@ -114,9 +114,9 @@ Start:
sta ram_routines+$100, x
lda ram_routines+$C200, x
sta ram_routines+$200, x
- inx
+ inx
bne .load_ram_routines
-
+
; init banks and other cart stuff
jsr banking_init
; detect console type
@@ -124,16 +124,16 @@ Start:
; load CHR data
jsr load_base_chr
; palette
- jsr load_base_pal
+ jsr load_base_pal
; clear all sprites data
jsr clear_sprites
; load this empty sprites data
- jsr sprite_dma_copy
-
+ jsr sprite_dma_copy
+
jsr read_controller ; read buttons
jsr load_state ; loading saved cursor position and other data
jsr save_all_saves ; сохраняем предыдущую сейвку во флеш, если есть
-
+
lda <SCROLL_LINES_TARGET
sta <SCROLL_LINES
sta <LAST_LINE_GAME
@@ -142,14 +142,14 @@ Start:
sta <SCROLL_LINES+1
sta <LAST_LINE_GAME+1
sta <TMP+1
-
+
; calculate modulo
.init_modulo:
lda <TMP+1
bne .do_init_modulo
lda <TMP
cmp #LINES_PER_SCREEN * 2
- bcs .do_init_modulo
+ bcs .do_init_modulo
jmp .init_modulo_end
.do_init_modulo:
lda <TMP
@@ -159,7 +159,7 @@ Start:
lda <TMP+1
sbc #0
sta <TMP+1
- jmp .init_modulo
+ jmp .init_modulo
.init_modulo_end:
lda <TMP
sta <SCROLL_LINES_MODULO
@@ -189,13 +189,13 @@ Start:
; prevent first attributes load skip
lda #1
sta LAST_ATTRIBUTE_ADDRESS
-
+
; init random number generator
jsr random_init
lda #%00000100
cmp <BUTTONS
- bne .skip_build_info
+ bne .skip_build_info
; build and hardware info
jmp show_build_info
.skip_build_info:
@@ -263,13 +263,13 @@ Start:
jsr print_last_name
dex
bne .print_next_game_at_start
-
+
jsr waitblank_simple
lda #%00001010 ; second nametable
- sta $2000
+ sta PPUCTRL
lda #%00001010 ; disabled sprites
- sta $2001
-
+ sta PPUMASK
+
; start scrolling
.if ENABLE_START_SCROLLING!=0
lda <SELECTED_GAME ; but only if first game selected
@@ -278,10 +278,10 @@ Start:
bne .intro_scroll_end
ldx #8
.intro_scroll:
- bit $2002
+ bit PPUSTATUS
lda #0
- sta $2005
- stx $2005
+ sta PPUSCROLL
+ stx PPUSCROLL
jsr waitblank_simple
jsr read_controller
ldy #0
@@ -296,7 +296,7 @@ Start:
.else
cpx #$e8 ; for large images on the top
.endif
- bne .intro_scroll
+ bne .intro_scroll
.intro_scroll_end:
.endif
@@ -304,15 +304,15 @@ Start:
; updating sprites
jsr sprite_dma_copy
lda #%00001000 ; switch to first nametable
- sta $2000
+ sta PPUCTRL
lda #%00011110 ; enable sprites
- sta $2001
-
+ sta PPUMASK
+
; do not hold buttons!
jsr wait_buttons_not_pressed
; main loop
-infin:
+infin:
jsr waitblank
jsr buttons_check
jmp infin
@@ -351,7 +351,7 @@ nametable_header:
.incbin "menu_header_name_table.bin"
nametable_footer:
.incbin "menu_footer_name_table.bin"
-tilepal:
+tilepal:
; palette for background
.incbin "bg_palette0.bin"
.incbin "bg_palette1.bin"
@@ -371,5 +371,5 @@ header_attribute_table:
.org $0500 ; actually it's $C500 in cartridge memory
ram_routines:
.include "banking.asm"
- .include "flash.asm"
+ .include "flash.asm"
.include "loader.asm"