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

github.com/ClusterM/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>2020-09-17 19:48:23 +0300
committerAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2020-09-17 19:48:23 +0300
commitc13c394c93f78d51ea4abb822d766579ae90384c (patch)
treeca79b99ed54259e7366b37f6af503f05ad4828eb /tests.asm
parenta95ef293d4c49ac8cc15f1e52000d6548c794990 (diff)
Spaces
Diffstat (limited to 'tests.asm')
-rw-r--r--tests.asm348
1 files changed, 174 insertions, 174 deletions
diff --git a/tests.asm b/tests.asm
index b2da98a..1f13c73 100644
--- a/tests.asm
+++ b/tests.asm
@@ -4,179 +4,179 @@ TEST_SRAM_FAILED .rs 1
TEST_CHR_RAM_FAILED .rs 1
do_tests:
- lda TEST_MODE
- eor #$FF
- sta TEST_MODE
- lda #%00000000 ; выключаем пока что PPU
- sta $2000
- sta $2001
- lda #%00001011 ; mirroring, chr-write, enable sram
- sta $5007
- lda #$00
- sta TEST_STATE ; writing
- sta TEST_SRAM_FAILED
- sta TEST_CHR_RAM_FAILED
-do_tests_sram:
- jsr random_init
- lda #$03 ; init SRAM bank
- sta LOADER_GAME_SAVE_BANK
-sram_test_loop_bank:
- jsr bleep_short
- lda LOADER_GAME_SAVE_BANK
- sta $5005 ; SRAM bank
- lda #$00
- sta COPY_DEST_ADDR
- lda #$60
- sta COPY_DEST_ADDR+1
- ldy #$00
- ldx #$20
-sram_test_loop:
- lda TEST_STATE ; reading or writing?
- bne sram_test_read
- jsr random ; writing
- lda RANDOM
- eor TEST_MODE
- sta [COPY_DEST_ADDR], y
- jmp sram_test_next
-sram_test_read:
- jsr random ; reading
- lda RANDOM
- eor TEST_MODE
- cmp [COPY_DEST_ADDR], y
- beq sram_test_next
- lda #1
- sta TEST_SRAM_FAILED
-sram_test_next:
- iny
- bne sram_test_loop
- inc COPY_SOURCE_ADDR+1
- inc COPY_DEST_ADDR+1
- dex
- bne sram_test_loop
- lda #$00 ; some bus tests
- sta $E000
- lda #$FF
- sta $E001
- dec LOADER_GAME_SAVE_BANK
- bpl sram_test_loop_bank
- lda TEST_STATE
- bne do_tests_chr
- inc TEST_STATE
- jmp do_tests_sram
+ lda TEST_MODE
+ eor #$FF
+ sta TEST_MODE
+ lda #%00000000 ; disable PPU
+ sta $2000
+ sta $2001
+ lda #%00001011 ; mirroring, chr-write, enable sram
+ sta $5007
+ lda #$00
+ sta TEST_STATE ; writing
+ sta TEST_SRAM_FAILED
+ sta TEST_CHR_RAM_FAILED
+.sram:
+ jsr random_init
+ lda #$03 ; init SRAM bank
+ sta LOADER_GAME_SAVE_BANK
+.sram_test_loop_bank:
+ jsr beep
+ lda LOADER_GAME_SAVE_BANK
+ sta $5005 ; SRAM bank
+ lda #$00
+ sta COPY_DEST_ADDR
+ lda #$60
+ sta COPY_DEST_ADDR+1
+ ldy #$00
+ ldx #$20
+.sram_test_loop:
+ lda TEST_STATE ; reading or writing?
+ bne .sram_test_read
+ jsr random ; writing
+ lda RANDOM
+ eor TEST_MODE
+ sta [COPY_DEST_ADDR], y
+ jmp .sram_test_next
+.sram_test_read:
+ jsr random ; reading
+ lda RANDOM
+ eor TEST_MODE
+ cmp [COPY_DEST_ADDR], y
+ beq .sram_test_next
+ lda #1
+ sta TEST_SRAM_FAILED
+.sram_test_next:
+ iny
+ bne .sram_test_loop
+ inc COPY_SOURCE_ADDR+1
+ inc COPY_DEST_ADDR+1
+ dex
+ bne .sram_test_loop
+ lda #$00 ; some bus tests
+ sta $E000
+ lda #$FF
+ sta $E001
+ dec LOADER_GAME_SAVE_BANK
+ bpl .sram_test_loop_bank
+ lda TEST_STATE
+ bne .chr
+ inc TEST_STATE
+ jmp .sram
-do_tests_chr:
- lda #$00
- sta TEST_STATE ; writing
-do_tests_chr_again:
- jsr random_init
- lda #31
- sta LOADER_CHR_LEFT
-
-chr_test_loop_bank:
- jsr bleep_short
- lda LOADER_CHR_LEFT
- sta $5003
- lda #$00
- sta $2006
- sta $2006
- ldy #$00
- ldx #$20
- lda TEST_STATE ; need to discard first read
- beq chr_test_loop
- lda $2007
-chr_test_loop:
- lda TEST_STATE ; reading or writing?
- bne chr_test_read
- jsr random ; writing
- lda RANDOM
- eor TEST_MODE
- sta $2007
- jmp chr_test_next
-chr_test_read:
- jsr random ; reading
- lda RANDOM
- eor TEST_MODE
- cmp $2007
- beq chr_test_next
- lda #1
- sta TEST_CHR_RAM_FAILED
-chr_test_next:
- iny
- bne chr_test_loop
- dex
- bne chr_test_loop
- dec LOADER_CHR_LEFT
- bpl chr_test_loop_bank
- lda TEST_STATE
- bne tests_done
- inc TEST_STATE
- jmp do_tests_chr_again
+.chr:
+ lda #$00
+ sta TEST_STATE ; writing
+.chr_again:
+ jsr random_init
+ lda #31
+ sta LOADER_CHR_LEFT
+
+.chr_test_loop_bank:
+ jsr beep
+ lda LOADER_CHR_LEFT
+ sta $5003
+ lda #$00
+ sta $2006
+ sta $2006
+ ldy #$00
+ ldx #$20
+ lda TEST_STATE ; need to discard first read
+ beq .chr_test_loop
+ lda $2007
+.chr_test_loop:
+ lda TEST_STATE ; reading or writing?
+ bne .chr_test_read
+ jsr random ; writing
+ lda RANDOM
+ eor TEST_MODE
+ sta $2007
+ jmp .chr_test_next
+.chr_test_read:
+ jsr random ; reading
+ lda RANDOM
+ eor TEST_MODE
+ cmp $2007
+ beq .chr_test_next
+ lda #1
+ sta TEST_CHR_RAM_FAILED
+.chr_test_next:
+ iny
+ bne .chr_test_loop
+ dex
+ bne .chr_test_loop
+ dec LOADER_CHR_LEFT
+ bpl .chr_test_loop_bank
+ lda TEST_STATE
+ bne .tests_end
+ inc TEST_STATE
+ jmp .chr_again
-tests_done: ; результаты тестирования
- jsr load_base_chr
- jsr clear_screen
- lda #$23 ; палитра для текста
- sta $2006
- lda #$C8
- sta $2006
- lda #$FF
- ldy #$38
-tests_done_palette:
- sta $2007
- dey
- bne tests_done_palette
- lda #$21
- sta $2006
- lda #$A4
- sta $2006
- ldy #0
-sram_test_result_next:
- ldx TEST_SRAM_FAILED
- bne sram_test_result_fail
- lda sram_test_ok_text, y
- jmp sram_test_result_print
-sram_test_result_fail:
- lda sram_test_failed_text, y
-sram_test_result_print:
- sta $2007
- iny
- cmp #0 ; после завершающего нуля перестаём читать символы
- bne sram_test_result_next
-
- lda #$21
- sta $2006
- lda #$E4
- sta $2006
- ldy #0
-chr_test_result_next:
- ldx TEST_CHR_RAM_FAILED
- bne chr_test_result_fail
- lda chr_test_ok_text, y
- jmp chr_test_result_print
-chr_test_result_fail:
- lda chr_test_failed_text, y
-chr_test_result_print:
- sta $2007
- iny
- cmp #0 ; после завершающего нуля перестаём читать символы
- bne chr_test_result_next
- lda #0
- sta $2005
- sta $2005
- jsr waitblank_simple
- lda #%00001010 ; включаем экран
- sta $2001
- ldx #$FF
-do_tests_wait:
- jsr waitblank_simple
- dex
- bne do_tests_wait
- lda #0
- ora TEST_SRAM_FAILED
- ora TEST_CHR_RAM_FAILED
- beq do_tests_ok
- jsr error_sound
-do_tests_stop:
- jmp do_tests_wait
-do_tests_ok:
- jmp do_tests
+.tests_end: ; results
+ jsr load_base_chr
+ jsr clear_screen
+ lda #$23 ; palette for text
+ sta $2006
+ lda #$C8
+ sta $2006
+ lda #$FF
+ ldy #$38
+.tests_end_palette:
+ sta $2007
+ dey
+ bne .tests_end_palette
+ lda #$21
+ sta $2006
+ lda #$A4
+ sta $2006
+ ldy #0
+.sram_test_result_next:
+ ldx TEST_SRAM_FAILED
+ bne .sram_test_result_fail
+ lda sram_test_ok_text, y
+ jmp .sram_test_result_print
+.sram_test_result_fail:
+ lda sram_test_failed_text, y
+.sram_test_result_print:
+ sta $2007
+ iny
+ cmp #0
+ bne .sram_test_result_next
+
+ lda #$21
+ sta $2006
+ lda #$E4
+ sta $2006
+ ldy #0
+.chr_test_result_next:
+ ldx TEST_CHR_RAM_FAILED
+ bne .chr_test_result_fail
+ lda chr_test_ok_text, y
+ jmp .chr_test_result_print
+.chr_test_result_fail:
+ lda chr_test_failed_text, y
+.chr_test_result_print:
+ sta $2007
+ iny
+ cmp #0
+ bne .chr_test_result_next
+ lda #0
+ sta $2005
+ sta $2005
+ jsr waitblank_simple
+ lda #%00001010 ; enable PPU and show result
+ sta $2001
+ ldx #$FF
+.do_tests_wait:
+ jsr waitblank_simple
+ dex
+ bne .do_tests_wait
+ lda #0
+ ora TEST_SRAM_FAILED
+ ora TEST_CHR_RAM_FAILED
+ beq .do_tests_ok
+ jsr error_sound
+.do_tests_stop:
+ jmp .do_tests_wait
+.do_tests_ok:
+ jmp do_tests