Nds test apps

From wiki.akkit.org

Rules

2 Test apps for the NDS are be under construction, this is the planning page for those apps. Please add entries in a tree format, and mark items with a tag, such as:

  • [needs subtests] for incomplete test ideas (usually means they will require a subtree)
  • [in progress] for tests being worked on
  • [Done:%i] for complete tests (should indicate SVN revision number)
  • no tag for incomplete tests that are completely defined
  • other tags can be used if they make some other condition clear.

This project is presently restricted to people who are directly involved in building it; presently sgstair, Payk, oofrab, and strager. (see Project Documentation/Invitation if you want to join this project.)

If anyone else wants to contribute, please post your requests in the talk page (see "discussion" tab)

Releases: Periodically the latest builds of these apps will be available through here, Nds_test_app_releases.


NDS Graphics Test App

  • Preliminary tests
    • Display capture test
      • Test basic usage (w/ bitmap bg)
      • Test compositing
  • 2D Graphics Tests
    • BG layer correctness tests
      • Text, 16-color [done:3]
        • Basic rendering test [done:2]
        • Hflip, Vflip test [done:2]
        • Basic clipping test [done:2]
        • Palette number test [done:2]
        • BG scrolling, wraparound / size testing [done:3]
        • Character base block / Screen base block test [done:3]
      • Text, 256-color [done:3]
        • Basic rendering test [done:2]
        • Hflip, Vflip test [done:2]
        • Basic clipping test [done:2]
        • BG scrolling, wraparound / size testing [done:3]
        • Character base block / Screen base block test [done:3]
      • Text, 256*16-color (extended palettes) [done:4]
        • Basic rendering test [done:4]
        • Hflip, Vflip test [done:4]
        • Basic clipping test [done:4]
        • Palette number test [done:4]
        • BG scrolling, wraparound / size testing [done:4]
        • Character base block / Screen base block test [done:4]
      • Affine, 256-color [done:8]
        • Basic Rendering test [done:8]
        • Basic clipping test [done:8]
        • Affine testing [done:8]
        • BG Wraparound / size testing [done:8]
        • Character base block / Screen base block test [done:8]
      • Affine extended, 256*16-color
        • Basic Rendering test
        • Hflip, Vflip test
        • Basic clipping test
        • Palette number test
        • Affine testing
        • BG Wraparound / size testing
        • Character base block / Screen base block test
      • Affine extended, 256-color bitmap
        • Basic Rendering test
        • Affine testing
        • BG wraparound / size testing
      • Affine extended, 16bit bitmap
        • Basic Rendering test
        • Affine testing
        • BG wraparound / size testing
      • Large screen 256-color bitmap
        • Basic Rendering test
        • Affine testing
        • BG wraparound / size testing
    • OBJ correctness tests
      • 16-color OBJ
        • Basic Rendering
        • Hflip, Vflip
        • Movement, Clipping
        • Palette indices
        • 1D, 2D mapping
        • OBJ sizes
        • Rotation/scaling
      • 256-color OBJ
        • Basic Rendering
        • Hflip, Vflip
        • Movement, Clipping
        • 1D, 2D mapping
        • OBJ sizes
        • Rotation/scaling
      • 16-bit BMP OBJ
        • Basic Rendering
        • Hflip, Vflip
        • Movement, Clipping
        • 1D, 2D mapping
        • OBJ sizes
        • Rotation/scaling
    • Compositing tests
      • BG-BG compositing
        • Test priorities (same priority level)
        • Test priorities (different priority levels)
      • BG-OBJ compositing
        • Test priorities (same priority level)
        • Test priorities (different priority levels)
      • Window 0 and 1 and OBJ window
        • Test window behavior correctness
        • Test window priority correctness
    • Special effects tests
      • Color Special Effects
        • Alpha blending (the one everyone's going to fail ;)
        • Brightness Increase / Decrease
        • Translucent OBJ in conjunction with other special effects
      • Mosaic
        • BG Mosaic
        • OBJ Mosaic
      • Bitmap OBJ alpha blending
    • Memory bank usage tests [needs subtests]
  • 3D Graphics Tests
    • 3D Transform pipeline tests [needs subtests]
    • 3D Polygon rendering modes tests [needs subtests]
    • 3D blending, and polygon interaction tests [needs subtests]
    • 3D Outlineborder and Antialising tests [needs subtests]
    • 3D Texturemodes tests [needs subtests]
    • 3D Shading tests (Toonshading, Vertexcolor and Normalmapping) [needs subtests]
    • 3D Memory bank usage tests [needs subtests]
  • Tests that require User Interaction
    • [things that can't be tested with display capture]
  • Common emulator errors (things that happen due to laziness or incorrect emulator coding)
    • Displaying stuff when VRAM isn't mapped
    • Allowing writes to unmapped VRAM
  • Timing-based tests
    • OAM Render limit tests [needs subtests]
    • 3D Render limit tests [needs subtests]



NDS CPU/Memory Test App

  • Preliminary tests
    • Test required cpu instructions and main memory for validity
    • Test arm7 communication and validity in a non-blocking way
  • Arm9 CPU correctness tests
    • Arm9 ARM instruction set correctness tests [needs subtests]
    • Arm9 Thumb instruction set correctness tests [needs subtests]
  • Arm9 Memory access correctness tests (memory ranges, mirrors) [needs subtests]
  • Arm7 CPU correctness tests
    • Arm7 ARM instruction set correctness tests [needs subtests]
    • Arm7 Thumb instruction set correctness tests [needs subtests]
  • Arm7 Memory access correctness tests (memory ranges, mirrors) [needs subtests]
  • Arm9 CPU Instruction / Memory timing tests
    • CPU Instruction timing, for non-memory instructions [needs subtests]
    • CPU Instruction timing, for memory instructions [needs subtests]
    • General memory timing tests [needs subtests]
    • Cache tests [needs subtests]
  • Arm7 CPU Instruction / Memory timing tests
    • CPU Instruction timing, for non-memory instructions [needs subtests]
    • CPU Instruction timing, for memory instructions [needs subtests]
    • General memory timing tests [needs subtests]
  • Advanced ARM9 CPU features tests (protection, etc..) [needs subtests]

Additional test apps (not in active development yet)

NDS General hardware Test App

  • will test general use / obscure stuff that's not been tested in the prior 2 tests

NDS Wifi Test App

  • Goal is to properly discover and document the wireless hardware - unclear when this will start.