From 8b56758a04ab6219c169117176d72c8eea6dd5a8 Mon Sep 17 00:00:00 2001 From: "astoria-d@office" Date: Fri, 4 Mar 2016 20:22:27 +0900 Subject: [PATCH] restored test ap3 --- tools/regression-test/regression.asm | 595 +---------------------------------- 1 file changed, 8 insertions(+), 587 deletions(-) diff --git a/tools/regression-test/regression.asm b/tools/regression-test/regression.asm index 5a31c89..a2accd9 100644 --- a/tools/regression-test/regression.asm +++ b/tools/regression-test/regression.asm @@ -39,6 +39,14 @@ .byte "****************" .byte "****************" .byte "****************" + .byte "****************" + .byte "****************" + .byte "****************" + .byte "****************" + .byte "****************" + .byte "****************" + .byte "****************" + .byte "****************" .byte "***********" @jmp_ret1: @@ -368,593 +376,6 @@ nmi_test: sta $01 jsr print_ln - -;;bit7 N ƒlƒKƒeƒBƒu A‚Ìbit7‚ª1‚ÌŽž‚ɃZƒbƒg -;;bit6 V ƒI[ƒo[ƒtƒ[ ‰‰ŽZŒ‹‰Ê‚ªƒI[ƒo[ƒtƒ[‚ð‹N‚±‚µ‚½Žž‚ɃZƒbƒg -;;bit5 R —\–ñÏ‚Ý í‚ɃZƒbƒg‚³‚ê‚Ä‚¢‚é -;;bit4 B ƒuƒŒ[ƒNƒ‚[ƒh BRK”­¶Žž‚ɃZƒbƒgAIRQ”­¶Žž‚ɃNƒŠƒA -;;bit3 D ƒfƒVƒ}ƒ‹ƒ‚[ƒh 0:ƒfƒtƒHƒ‹ƒgA1:BCDƒ‚[ƒh (ƒtƒ@ƒ~ƒRƒ“‚Å‚Í–¢ŽÀ‘•) -;;bit2 I IRQ‹ÖŽ~ 0:IRQ‹–‰ÂA1:IRQ‹ÖŽ~ -;;bit1 Z ƒ[ƒ ‰‰ŽZŒ‹‰Ê‚ª0‚ÌŽž‚ɃZƒbƒg -;;bit0 C ƒLƒƒƒŠ[ ƒLƒƒƒŠ[”­¶Žž‚ɃZƒbƒg - - ;;save status - php - -;;LDA -;;ƒƒ‚ƒŠ‚©‚çA‚Ƀ[ƒh‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] - ;;set status - lda #$00 - pha - plp - - lda #$ea - php - pla - and #$ef ;;mask off brk bit... - cmp #$a0 - beq :+ - jsr test_failure -: - ;;set status - lda #$00 - pha - plp - - lda #$00 - php - pla - and #$ef ;;mask off brk bit... - cmp #$22 - beq :+ - jsr test_failure -: - -;;LDX -;;ƒƒ‚ƒŠ‚©‚çX‚Ƀ[ƒh‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] - ;;set status - lda #00 - pha - plp - - ldx #$a4 - php - pla - and #$ef ;;mask off brk bit... - cmp #$a0 - beq :+ - jsr test_failure -: - - lda #00 - pha - plp - - ldx #$00 - php - pla - and #$ef ;;mask off brk bit... - cmp #$22 - beq :+ - jsr test_failure -: - -;;LDY -;;ƒƒ‚ƒŠ‚©‚çY‚Ƀ[ƒh‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] - ;;set status - lda #00 - pha - plp - - ldy #$2b - php - pla - and #$ef ;;mask off brk bit... - cmp #$20 - beq :+ - jsr test_failure -: - - ;;set status - lda #00 - pha - plp - - ldy #$bb - php - pla - and #$ef ;;mask off brk bit... - cmp #$a0 - beq :+ - jsr test_failure -: - - ;;set status - lda #00 - pha - plp - - ldy #$00 - php - pla - and #$ef ;;mask off brk bit... - cmp #$22 - beq :+ - jsr test_failure -: - -;;STA -;;A‚©‚烁ƒ‚ƒŠ‚ɃXƒgƒA‚µ‚Ü‚·B[0:0:0:0:0:0:0:0] - - lda #$fb - - ;;set status - lda #$c3 -;;c3 is...1100 0011 = NV00 00ZC - pha - plp - -;;sta test - sta $501 - - php - pla - and #$ef ;;mask off brk bit... - cmp #$e3 - beq :+ - jsr test_failure -: - - -;;STX -;;X‚©‚烁ƒ‚ƒŠ‚ɃXƒgƒA‚µ‚Ü‚·B[0:0:0:0:0:0:0:0] - ldx #$fb - - ;;set status - lda #$c3 - pha - plp - - stx $50f - - php - pla - and #$ef ;;mask off brk bit... - cmp #$e3 - beq :+ - jsr test_failure -: - - -;;STY -;;Y‚©‚烁ƒ‚ƒŠ‚ɃXƒgƒA‚µ‚Ü‚·B[0:0:0:0:0:0:0:0] - ldy #$00 - - ;;set status - lda #$c3 - pha - plp - - sty $510 - - php - pla - and #$ef ;;mask off brk bit... - cmp #$e3 - beq :+ - jsr test_failure -: - -;;TAX -;;A‚ðX‚ÖƒRƒs[‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] - ;;set status - lda #$c3 - pha - plp - - tax - - php - pla - and #$ef ;;mask off brk bit... - cmp #$e1 - beq :+ - jsr test_failure -: - - ;;set status - lda #$00 - pha - plp - - tax - - php - pla - and #$ef ;;mask off brk bit... - cmp #$22 - beq :+ - jsr test_failure -: - - -;;TAY -;;A‚ðY‚ÖƒRƒs[‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] - ;;set status - lda #$c3 - pha - plp - - tay - - php - pla - and #$ef ;;mask off brk bit... - cmp #$e1 - beq :+ - jsr test_failure -: - - cpy #$c3 - beq :+ - jsr test_failure -: - - ;;set status - lda #$00 - pha - plp - - tay - - php - pla - and #$ef ;;mask off brk bit... - cmp #$22 - beq :+ - jsr test_failure -: -: - cpy #$00 - beq :+ - jsr test_failure -: - -;;TSX -;;S‚ðX‚ÖƒRƒs[‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] - ;;set status - lda #$c3 - pha - plp - - ;;;now sp = 0xfX place... - tsx - - php - pla - and #$ef ;;mask off brk bit... - cmp #$e1 - beq :+ - jsr test_failure -: - - ;;save sp - tsx - txa - tay ;; now y has the old sp - - lda #$0 - tax - txs - - ;;set status - lda #$c3 - pha - plp - - tsx - - php - pla - and #$ef ;;mask off brk bit... - cmp #$63 - beq :+ - jsr test_failure -: - cpx #$00 - beq :+ - jsr test_failure -: - - ;;restore sp - tya - tax - txs - - -;;TXA -;;X‚ðA‚ÖƒRƒs[‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] - ldx #$59 - - ;;set status - lda #$c3 - pha - plp - - txa - - php - pla - and #$ef ;;mask off brk bit... - cmp #$61 - beq :+ - jsr test_failure -: - - - ldx #$ac - - ;;set status - lda #$c3 - pha - plp - - txa - - php - pla - and #$ef ;;mask off brk bit... - cmp #$e1 - beq :+ - jsr test_failure -: - - ldx #$00 - - ;;set status - lda #$c3 - pha - plp - - txa - - php - pla - and #$ef ;;mask off brk bit... - cmp #$63 - beq :+ - jsr test_failure -: - -;;;;;;;;;;;;;;;;;;;;;;;more tests..... - -;;TXS -;;X‚ðS‚ÖƒRƒs[‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] - - tsx - stx $50 ;;sp is stored @0x50 - - ldx #$d9 - - ;;set status - lda #$c3 - pha - plp - - txs - - php - pla - and #$ef ;;mask off brk bit... - cmp #$e1 ;;;emulator bug!!! status reg is not reflected.... - beq :+ -; jsr test_failure -: - - ldx #$00 - - ;;set status - lda #$c3 - pha - plp - - txs - - php - pla - and #$ef ;;mask off brk bit... - cmp #$63 ;;;emulator bug!!! status reg is not reflected.... - beq :+ -; jsr test_failure -: - - ldx $50 - txs ;;sp is restored - - -;;TYA -;;Y‚ðA‚ÖƒRƒs[‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] - - ldy #$00 - lda #$0b - - ;;set status - lda #$c3 - pha - plp - - tya - - php - pla - and #$ef ;;mask off brk bit... - cmp #$63 - beq :+ - jsr test_failure -: - tya - cmp #0 - beq :+ - jsr test_failure -: - - ldy #$b0 - lda #$00 - - ;;set status - lda #$c3 - pha - plp - - tya - - php - pla - and #$ef ;;mask off brk bit... - cmp #$e1 - beq :+ - jsr test_failure -: - tya - cmp #$b0 - beq :+ - jsr test_failure -: - -;;ADC -;;(A + ƒƒ‚ƒŠ + ƒLƒƒƒŠ[ƒtƒ‰ƒO) ‚ð‰‰ŽZ‚µ‚ÄŒ‹‰Ê‚ðA‚Ö•Ô‚µ‚Ü‚·B[N:V:0:0:0:0:Z:C] -;; -;;AND -;;A‚ƃƒ‚ƒŠ‚ð˜_—AND‰‰ŽZ‚µ‚ÄŒ‹‰Ê‚ðA‚Ö•Ô‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] -;; -;;ASL -;;A‚Ü‚½‚̓ƒ‚ƒŠ‚ð¶‚ÖƒVƒtƒg‚µ‚Ü‚·B[N:0:0:0:0:0:Z:C] -;; -;;BIT -;;A‚ƃƒ‚ƒŠ‚ðƒrƒbƒg”äŠr‰‰ŽZ‚µ‚Ü‚·B[N:V:0:0:0:0:Z:0] -;; -;; -;;CMP -;;A‚ƃƒ‚ƒŠ‚ð”äŠr‰‰ŽZ‚µ‚Ü‚·B[N:0:0:0:0:0:Z:C] -;; -;;CPX -;;X‚ƃƒ‚ƒŠ‚ð”äŠr‰‰ŽZ‚µ‚Ü‚·B[N:0:0:0:0:0:Z:C] -;; -;;CPY -;;Y‚ƃƒ‚ƒŠ‚ð”äŠr‰‰ŽZ‚µ‚Ü‚·B[N:0:0:0:0:0:Z:C] -;; -;;DEC -;;ƒƒ‚ƒŠ‚ðƒfƒNƒŠƒƒ“ƒg‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] -;; -;;DEX -;;X‚ðƒfƒNƒŠƒƒ“ƒg‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] -;; -;;DEY -;;Y‚ðƒfƒNƒŠƒƒ“ƒg‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] -;; -;;EOR -;;A‚ƃƒ‚ƒŠ‚ð˜_—XOR‰‰ŽZ‚µ‚ÄŒ‹‰Ê‚ðA‚Ö•Ô‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] -;; -;;INC -;;ƒƒ‚ƒŠ‚ðƒCƒ“ƒNƒŠƒƒ“ƒg‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] -;; -;;INX -;;X‚ðƒCƒ“ƒNƒŠƒƒ“ƒg‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] -;; -;;INY -;;Y‚ðƒCƒ“ƒNƒŠƒƒ“ƒg‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] -;; -;;LSR -;;A‚Ü‚½‚̓ƒ‚ƒŠ‚ð‰E‚ÖƒVƒtƒg‚µ‚Ü‚·B[N:0:0:0:0:0:Z:C] -;; -;;ORA -;;A‚ƃƒ‚ƒŠ‚ð˜_—OR‰‰ŽZ‚µ‚ÄŒ‹‰Ê‚ðA‚Ö•Ô‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] -;; -;;ROL -;;A‚Ü‚½‚̓ƒ‚ƒŠ‚ð¶‚Öƒ[ƒe[ƒg‚µ‚Ü‚·B[N:0:0:0:0:0:Z:C] -;; -;;ROR -;;A‚Ü‚½‚̓ƒ‚ƒŠ‚ð‰E‚Öƒ[ƒe[ƒg‚µ‚Ü‚·B[N:0:0:0:0:0:Z:C] -;; -;;SBC -;;(A - ƒƒ‚ƒŠ - ƒLƒƒƒŠ[ƒtƒ‰ƒO‚Ì”½“]) ‚ð‰‰ŽZ‚µ‚ÄŒ‹‰Ê‚ðA‚Ö•Ô‚µ‚Ü‚·B[N:V:0:0:0:0:Z:C] -;; -;;PHA -;;A‚ðƒXƒ^ƒbƒN‚ɃvƒbƒVƒ…ƒ_ƒEƒ“‚µ‚Ü‚·B[0:0:0:0:0:0:0:0] -;; -;;PHP -;;P‚ðƒXƒ^ƒbƒN‚ɃvƒbƒVƒ…ƒ_ƒEƒ“‚µ‚Ü‚·B[0:0:0:0:0:0:0:0] -;; -;;PLA -;;ƒXƒ^ƒbƒN‚©‚çA‚Ƀ|ƒbƒvƒAƒbƒv‚µ‚Ü‚·B[N:0:0:0:0:0:Z:0] -;; -;;PLP -;;ƒXƒ^ƒbƒN‚©‚çP‚Ƀ|ƒbƒvƒAƒbƒv‚µ‚Ü‚·B[N:V:R:B:D:I:Z:C] -;; -;;JMP -;;ƒAƒhƒŒƒX‚ÖƒWƒƒƒ“ƒv‚µ‚Ü‚·B[0:0:0:0:0:0:0:0] -;; -;;JSR -;;ƒTƒuƒ‹[ƒ`ƒ“‚ðŒÄ‚яo‚µ‚Ü‚·B[0:0:0:0:0:0:0:0] -;; -;;RTS -;;ƒTƒuƒ‹[ƒ`ƒ“‚©‚ç•œ‹A‚µ‚Ü‚·B[0:0:0:0:0:0:0:0] -;; -;;RTI -;;Š„‚荞‚݃‹[ƒ`ƒ“‚©‚ç•œ‹A‚µ‚Ü‚·B[N:V:R:B:D:I:Z:C] -;; -;;BCC -;;ƒLƒƒƒŠ[ƒtƒ‰ƒO‚ªƒNƒŠƒA‚³‚ê‚Ä‚¢‚鎞‚Ƀuƒ‰ƒ“ƒ`‚µ‚Ü‚·B[0:0:0:0:0:0:0:0] -;; -;;BCS -;;ƒLƒƒƒŠ[ƒtƒ‰ƒO‚ªƒZƒbƒg‚³‚ê‚Ä‚¢‚鎞‚Ƀuƒ‰ƒ“ƒ`‚µ‚Ü‚·B[0:0:0:0:0:0:0:0] -;; -;;BEQ -;;ƒ[ƒƒtƒ‰ƒO‚ªƒZƒbƒg‚³‚ê‚Ä‚¢‚鎞‚Ƀuƒ‰ƒ“ƒ`‚µ‚Ü‚·B[0:0:0:0:0:0:0:0] -;; -;;BMI -;;ƒlƒKƒeƒBƒuƒtƒ‰ƒO‚ªƒZƒbƒg‚³‚ê‚Ä‚¢‚鎞‚Ƀuƒ‰ƒ“ƒ`‚µ‚Ü‚·B[0:0:0:0:0:0:0:0] -;; -;;BNE -;;ƒ[ƒƒtƒ‰ƒO‚ªƒNƒŠƒA‚³‚ê‚Ä‚¢‚鎞‚Ƀuƒ‰ƒ“ƒ`‚µ‚Ü‚·B[0:0:0:0:0:0:0:0] -;; -;;BPL -;;ƒlƒKƒeƒBƒuƒtƒ‰ƒO‚ªƒNƒŠƒA‚³‚ê‚Ä‚¢‚鎞‚Ƀuƒ‰ƒ“ƒ`‚µ‚Ü‚·B[0:0:0:0:0:0:0:0] -;; -;;BVC -;;ƒI[ƒo[ƒtƒ[ƒtƒ‰ƒO‚ªƒNƒŠƒA‚³‚ê‚Ä‚¢‚鎞‚Ƀuƒ‰ƒ“ƒ`‚µ‚Ü‚·B[0:0:0:0:0:0:0:0] -;; -;;BVS -;;ƒI[ƒo[ƒtƒ[ƒtƒ‰ƒO‚ªƒZƒbƒg‚³‚ê‚Ä‚¢‚鎞‚Ƀuƒ‰ƒ“ƒ`‚µ‚Ü‚·B[0:0:0:0:0:0:0:0] -;; -;;CLC -;;ƒLƒƒƒŠ[ƒtƒ‰ƒO‚ðƒNƒŠƒA‚µ‚Ü‚·B[0:0:0:0:0:0:0:C] -;; -;;CLD -;;BCDƒ‚[ƒh‚©‚ç’ʏ탂[ƒh‚É–ß‚è‚Ü‚·Bƒtƒ@ƒ~ƒRƒ“‚Å‚ÍŽÀ‘•‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB[0:0:0:0:D:0:0:0] -;; -;; -;;BCDƒ‚[ƒh‚©‚ç’ʏ탂[ƒh‚É–ß‚è‚Ü‚·Bƒtƒ@ƒ~ƒRƒ“‚Å‚ÍŽÀ‘•‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB[0:0:0:0:D:0:0:0] -;; -;;CLI -;;IRQŠ„‚荞‚Ý‚ð‹–‰Â‚µ‚Ü‚·B[0:0:0:0:0:I:0:0] -;; -;;CLV -;;ƒI[ƒo[ƒtƒ[ƒtƒ‰ƒO‚ðƒNƒŠƒA‚µ‚Ü‚·B[0:V:0:0:0:0:0:0] -;; -;;SEC -;;ƒLƒƒƒŠ[ƒtƒ‰ƒO‚ðƒZƒbƒg‚µ‚Ü‚·B[0:0:0:0:0:0:0:C] -;; -;;SED -;;BCDƒ‚[ƒh‚ɐݒ肵‚Ü‚·Bƒtƒ@ƒ~ƒRƒ“‚Å‚ÍŽÀ‘•‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB[0:0:0:0:D:0:0:0] -;; -;;SEI -;;IRQŠ„‚荞‚Ý‚ð‹ÖŽ~‚µ‚Ü‚·B[0:0:0:0:0:I:0:0] - - - ;;restore status - plp - rts .endproc -- 2.11.0