tests and tools from PicoDrive
[cyclone68000.git] / tests / test_trace.s
diff --git a/tests/test_trace.s b/tests/test_trace.s
new file mode 100644 (file)
index 0000000..b6d8421
--- /dev/null
@@ -0,0 +1,140 @@
+| Processor:        68K\r
+| Target Assembler: 680x0 Assembler by GNU project\r
+\r
+| ___________________________________________________________________________\r
+\r
+| Segment type: Pure code\r
+| segment "ROM"\r
+dword_0:        .long 0                 | DATA XREF: ROM:00007244\19r\r
+                                        | sub_764E+3E\19o ...\r
+                                        | initial interrupt stack pointer\r
+dword_4:        .long _start            | DATA XREF: ROM:00007248\19r\r
+                                        | ROM:000142C2\19w\r
+                                        | reset initial PC\r
+dword_8:        .long 0x4DE             | DATA XREF: sub_20050+B54\19w\r
+                .long 0x490\r
+                .long 0x4AA             | illegal instruction\r
+                .long 0x4C4\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long _trace            | trace\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x548             | Level 1 Interrupt Autovector\r
+                .long 0x548             | 2 = ext interrupt\r
+                .long 0x548\r
+                .long 0x592             | 4 = horizontal interrupt?\r
+                .long 0x548\r
+                .long 0x594             | 6 = verticai interrupt?\r
+                .long 0x552\r
+dword_80:       .long 0x45C             | DATA XREF: ROM:00152F29\19o\r
+                                        | trap vector table? trap 0?\r
+                .long 0x1738\r
+                .long 0x171C\r
+                .long 0x1754\r
+                .long 0x1700\r
+                .long 0x556\r
+                .long 0x57A\r
+                .long 0x548\r
+                .long 0x548\r
+                .long 0x7CE             | 9\r
+                .long 0x548\r
+                .long 0x548\r
+                .long 0x548\r
+                .long 0x548\r
+                .long 0x548\r
+                .long 0x548\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+                .long 0x4DE\r
+aSegaGenesis:   .ascii "SEGA GENESIS    " | DATA XREF: ROM:00045C6A\19o\r
+aCSega1994_jul: .ascii "(C)SEGA 1994.JUL"\r
+aDumpedByTsd:   .ascii "Dumped By TSD                                   "\r
+aShiningForce2: .ascii "SHINING FORCE 2                                 "\r
+aGmMk131500:    .ascii "GM MK-1315 -00"\r
+                .word 0x8921            | checksum\r
+aJ:             .ascii "J               " | IO_Support\r
+                .long 0                 | Rom_Start_Adress\r
+dword_1A4:      .long 0x1FFFFF          | DATA XREF: sub_28008+F66\19o\r
+                                        | Rom_End_Adress\r
+                .long 0xFF0000          | Ram_Start_Adress\r
+                .long 0xFFFFFF          | Ram_End_Adress\r
+aRaa:           .ascii "RA° "<0>" "<0><1><0>" ?"<0xFF> | Modem_Infos\r
+                .ascii "                                        "\r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+aU:             .ascii "U  "            | Countries\r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+                .byte 0x20 |  \r
+_trace:\r
+  nop\r
+  nop\r
+  rte\r
+\r
+.globl _start\r
+_start:\r
+  move.l   #0xFFFFFFFF, %d0\r
+  move.l   #0xFFFFFFFF, %d1\r
+  move.w   #0xa711, %sr\r
+  move.l   #0x1, %d2\r
+  move.l   #0x8000, %d3\r
+  negx.l   %d0\r
+  negx.l   %d1\r
+  move.w   #0x270f, %sr\r
+  negx.b   %d2\r
+  negx.w   %d3\r
+_loop:\r
+  bra      _loop\r
+\r
+  nop\r
+  nop\r
+  nop\r
+  nop\r