home *** CD-ROM | disk | FTP | other *** search
- UNDEFINED OPCODES
-
- The 6510 microprocessor has 105 undefined opcodes. To fully emulate the
- 6510 microprocessor, A64 also emulates these opcodes. There is no official
- documentation on these opcodes and the limited amount of information that
- does exist, is very inconsistent. We compared all known sources of
- information and did rigorous testing. We found that most of the undefined
- opcodes proved to act consistently. However, there are some, that either
- behaved differently from what others have found, or the results were so
- unpredictable, that emulation proved to be very difficult. These "problem"
- opcodes are listed with an * by their numbers in the table below. If anyone
- has information that conflicts with what we have found, or a C64 program that
- is not working as a direct result of improper emulation, we would greatly
- appreciate hearing about it.
-
-
- OPCODE ABS ABS,X ABS,Y ZERO ZERO,X ZERO,Y (IND,X) (IND),Y IMMED
- -----------------------------------------------------------------------------
- ASO 0F 1F 1B 07 17 03 13
- RLA 2F 3F 3B 27 37 23 33
- LSE 4F 5F 5B 47 57 43 53
- RRA 6F 7F 7B 67 77 63 73
- AXS 8F* 9F* 87* 97* 83* 93*
- LAX AF BF A7 B7 A3 B3 AB
- DCM CF DF DB C7 D7 C3 D3
- INS EF FF FB E7 F7 E3 F3
- ANC (identical to 2B) 0B
- ANC (identical to 0B) 2B
- ALR 4B
- ARR 6B*
- XMA 8B*
- XAA 9B*
- YAS 9C*
- XAS 9E*
- LSA BB*
- SAX CB
- SBC (identical to E9) EB
-
-
- IMPLIED INSTRUCTIONS
- --------------------
- CRP 02, 12, 22, 32, 42, 52, 62, 72, 92, B2, D2, F2
- NOP 1A, 3A, 5A, 7A, DA, FA
- SKB 04, 14, 34, 44, 54, 64, 74, 80, 82, 89, C2, D4, E2, F4
- SKW 0C, 1C, 3C, 5C, 7C, DC, FC
-
-
- DEFINITIONS
- -----------
- ASO: ASL then ORA result with A
- RLA: ROL then AND result with A
- LSE: LSR then EOR result with A
- RRA: ROR then ADC result with A
- AXS: Store A AND X
- LAX: LDA and LDX with same data
- DCM: DEC memory then CMP result with A
- INS: INC memory then SBC result from A
- ANC: AND A with #xx, C = bit 7 of result
- ALR: AND A with #xx then LSR result
- ARR: AND A with #xx, C = bit 7 of result, ROR using C before AND
- XMA: A = X AND #$xx
- XAA: SP = A AND X, M = SP AND #$01
- YAS: Y AND M, STY
- XAS: X AND M, STX
- LSA: LDA data, TAX, TXS
- SAX: X = X AND A then sub #xx from X
- SBC: Identical to opcode E9 (normal SBC #)
- CRP: Crash Processor
- NOP: No Operation
- SKB: Skip Byte (Branch +1)
- SKW: Skip Word (Branch +2)
-
-
- OTHER SOURCES OF INFORMATION
- ----------------------------
- The Transactor, Volume 6, Issue 03
- Hidden Op-Codes, by Jim McLaughlin
-
- The Transactor, Volume 6, Issue 05
- 6510 Opcodes, by Raymond Quirling
- The Undocumented 6500 Series Instructions: A Summary, by Noel Nyman
-
- Programming the Commodore 64, The Definitive Guide, by Raeto Collin West
-
- 64 Intern, Data Becker
-
- 64'er, March 1985
-
-