Skip to content

Latest commit

 

History

History

test

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Test runner

vrEmu6502Test.c

  • The source file for the test runner.
  • It can be built using the solution in the msvc folder.
  • The test runner binary (Windows) is included in the bin directory.

Options:

The test runner accepts Intel HEX files provided by the Klauss Dormann tests (located in the programs folder)

Usage:
vrEmu6502Test [OPTION...] <testfile.hex>

Options:
  -c <cpumodel>     one of "6502", "65c02", "w65c02", "r65c02". defaults to 65c02.
  -i                output instruction count on each row
  -f <lines>        filter output to every #<lines> lines
  -h                output help and exit
  -m <from>[:<to>]  output given memory address or range
  -q                quiet mode - only print report
  -r <addr>         override run address
  -v [<count>]      verbose output from instruction #<count>

Example output:

..\bin\vrEmu6502Test --cpu w65c02 --quiet 21986970 -mem 0x08:0x0f programs\65C02_extended_opcodes_test.hex

  -------------------------------------
          vrEmu6502 Test Runner
  -------------------------------------
    Copyright (c) 2022 Troy Schrapel
  https://github.com/visrealm/vrEmu6502
  -------------------------------------

Running test:                "programs\65C02_extended_opcodes_test.hex"

Options:
  Processor model:           Western Design Centre 65C02
  Output filtering:          Quiet until #21986970
  Output memory:             $0008 - $000f
  Start address:             $0400


Step #      | PC    | Instruction    | Acc | InX | InY | SP   Top |   Status    | $0008 - $000f
------------+-------+----------------+-----+-----+-----+----------+-------------+--------------
#21986970   | $2496 | lda #$99       | $99 | $0e | $ff | $ff: $00 | $f8: NVD... | $00 $00 $bd $ad $01 $00 $00 $00
#21986971   | $2498 | sta $0d        | $99 | $0e | $ff | $ff: $00 | $f8: NVD... | $00 $00 $bd $ad $01 $99 $00 $00
#21986972   | $249a | lda $0e        | $00 | $0e | $ff | $ff: $00 | $7a: .VD..Z | $00 $00 $bd $ad $01 $99 $00 $00
#21986973   | $249c | beq $24d7      | $00 | $0e | $ff | $ff: $00 | $7a: .VD..Z | $00 $00 $bd $ad $01 $99 $00 $00
#21986974   | $24d7 | cpx #$0e       | $00 | $0e | $ff | $ff: $00 | $7b: .VD.CZ | $00 $00 $bd $ad $01 $99 $00 $00
#21986975   | $24d9 | bne $24d9      | $00 | $0e | $ff | $ff: $00 | $7b: .VD.CZ | $00 $00 $bd $ad $01 $99 $00 $00
#21986976   | $24db | cpy #$ff       | $00 | $0e | $ff | $ff: $00 | $7b: .VD.CZ | $00 $00 $bd $ad $01 $99 $00 $00
#21986977   | $24dd | bne $24dd      | $00 | $0e | $ff | $ff: $00 | $7b: .VD.CZ | $00 $00 $bd $ad $01 $99 $00 $00
#21986978   | $24df | tsx            | $00 | $ff | $ff | $ff: $00 | $f9: NVD.C. | $00 $00 $bd $ad $01 $99 $00 $00
#21986979   | $24e0 | cpx #$ff       | $00 | $ff | $ff | $ff: $00 | $7b: .VD.CZ | $00 $00 $bd $ad $01 $99 $00 $00
#21986980   | $24e2 | bne $24e2      | $00 | $ff | $ff | $ff: $00 | $7b: .VD.CZ | $00 $00 $bd $ad $01 $99 $00 $00
#21986981   | $24e4 | cld            | $00 | $ff | $ff | $ff: $00 | $73: .V..CZ | $00 $00 $bd $ad $01 $99 $00 $00
#21986982   | $24e5 | lda $0202      | $15 | $ff | $ff | $ff: $00 | $71: .V..C. | $00 $00 $bd $ad $01 $99 $00 $00
#21986983   | $24e8 | cmp #$15       | $15 | $ff | $ff | $ff: $00 | $73: .V..CZ | $00 $00 $bd $ad $01 $99 $00 $00
#21986984   | $24ea | bne $24ea      | $15 | $ff | $ff | $ff: $00 | $73: .V..CZ | $00 $00 $bd $ad $01 $99 $00 $00
#21986985   | $24ec | lda #$f0       | $f0 | $ff | $ff | $ff: $00 | $f1: NV..C. | $00 $00 $bd $ad $01 $99 $00 $00
#21986986   | $24ee | sta $0202      | $f0 | $ff | $ff | $ff: $00 | $f1: NV..C. | $00 $00 $bd $ad $01 $99 $00 $00

Final instruction:

Step #      | PC    | Instruction    | Acc | InX | InY | SP   Top |   Status    | $0008 - $000f
------------+-------+----------------+-----+-----+-----+----------+-------------+--------------
#21986987   | $24f1 | stp            | $f0 | $ff | $ff | $ff: $00 | $f1: NV..C. | $00 $00 $bd $ad $01 $99 $00 $00

Test results:                "programs\65C02_extended_opcodes_test.hex"

  Instructions executed:     21.986987 M
  Total clock cycles:        66.905005 M

  Elapsed time:              0.5550 sec
  Average clock rate:        120.5496 MHz
  Average instruction rate:  39.6162 MIPS
  Average clocks/instruction 3.0429

Test result:                 PASSED