Update and cross-check opcode data

This commit is contained in:
Michael Martin 2024-07-16 22:39:23 -07:00
parent e519927036
commit 1212825855
3 changed files with 9 additions and 4 deletions

View File

@ -359,7 +359,7 @@ csg4502extensions = {
0x79, None, None, None, None, None, 0x61, 0x71, None, 0x72, None, None, None], 0x79, None, None, None, None, None, 0x61, 0x71, None, 0x72, None, None, None],
'and': [None, 0x29, None, 0x25, 0x35, None, 0x2D, 0x3D, 'and': [None, 0x29, None, 0x25, 0x35, None, 0x2D, 0x3D,
0x39, None, None, None, None, None, 0x21, 0x31, None, 0x32, None, None, None], 0x39, None, None, None, None, None, 0x21, 0x31, None, 0x32, None, None, None],
'asr': [0x43, None, None, None, 0x54, None, None, None, 'asr': [0x43, None, None, 0x44, 0x54, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None, None], None, None, None, None, None, None, None, None, None, None, None, None, None],
'asw': [None, None, None, None, None, None, 0xCB, None, 'asw': [None, None, None, None, None, None, 0xCB, None,
None, None, None, None, None, None, None, None, None, None, None, None, None], None, None, None, None, None, None, None, None, None, None, None, None, None],

View File

@ -0,0 +1,5 @@
This directory holds the definitive instruction lists for all supported architectures. The `gensets.py` program generates the Opcodes file from the text files here. To fix bugs or gaps in the ISAs, or to introduce new ones, edit or extend this directory in preference to directly updating `Opcodes.py`.
The opcode information for the 6502 and 65c02 match the information in the reference manual _Programming the 65816: Including the 6502, 65C02 and 65802_ by David Eyes and Ron Lichty. The opcode information for the 4502 largely matches version 0.9 of Michael Steil's _Commodore Semiconductor Group CSG65CE02 Technical Reference,_ with the exception of the `INW` and `DEW` instructions, which are incorrectly or inconsistently marked as Absolute mode instructions. They are currently understood by C65-related project workers as being Zero Page. This includes the 65CE02 docs included with the VICE project.
The "Undocumented 6510 Opcodes" match the descriptions and usage in the documentation for the VICE emulator, which also seem to follow traditional practice.

View File

@ -66,7 +66,7 @@
41: EOR - (Zero Page, X) 41: EOR - (Zero Page, X)
42: NEG - Implied 42: NEG - Implied
43: ASR - Implied 43: ASR - Implied
44: ASR Zero Page 44: ASR - Zero Page
45: EOR - Zero Page 45: EOR - Zero Page
46: LSR - Zero Page 46: LSR - Zero Page
47: RMB4 - Zero Page 47: RMB4 - Zero Page
@ -193,7 +193,7 @@
C0: CPY - Immediate C0: CPY - Immediate
C1: CMP - (Zero Page, X) C1: CMP - (Zero Page, X)
C2: CPZ - Immediate C2: CPZ - Immediate
C3: DEW - Zero Page C3: DEW - Zero Page # Docs inconsistent on mode
C4: CPY - Zero Page C4: CPY - Zero Page
C5: CMP - Zero Page C5: CMP - Zero Page
C6: DEC - Zero Page C6: DEC - Zero Page
@ -225,7 +225,7 @@
E0: CPX - Immediate E0: CPX - Immediate
E1: SBC - (Zero Page, X) E1: SBC - (Zero Page, X)
E2: LDA - (Zero Page, SP), Y E2: LDA - (Zero Page, SP), Y
E3: INW - Zero Page E3: INW - Zero Page # Docs incorrectly call this Absolute
E4: CPX - Zero Page E4: CPX - Zero Page
E5: SBC - Zero Page E5: SBC - Zero Page
E6: INC - Zero Page E6: INC - Zero Page