Prev: what happened CBM=VGA
Next: 1581 Drive Kits on eBay
From: Linards Ticmanis on 23 Apr 2006 16:46 All hail to the right honourable lords and ladies of 6502 hackery! ;-) Adam Vardy's article "Extra Instructions Of The 65XX Series CPU" covers this topic very well down to the ugliest details, but is unclear in two points: > SKB *** > SKB stands for skip next byte. > Opcodes: 80, 82, C2, E2, 04, 14, 34, 44, 54, 64, 74, D4, F4. > Takes 2, 3, or 4 cycles to execute. Is it documented anywhere which of these opcodes have which cycle counts? > AXA *** > This opcode stores the result of A AND X AND the high byte of the target > address of the operand +1 in memory. > > Supported modes: > > AXA abcd,Y ;9F cd ab ;No. Cycles= 5 > AXA (ab),Y ;93 ab ; 6 > > Example: > > AXA $7133,Y ;9F 33 71 > > Equivalent instructions: > > STX $02 > PHA > AND $02 > AND #$72 > STA $7133,Y > PLA > LDX $02 This is clear enough for the abs-y (9F) case, but what is "the high byte of the target address of the operand" in the indirect-y case (93)? Any elucidations are highly appreciated! Including telling me where to look and/or whom to ask. (Please note that this article has been cross-posted to three groups). -- Linards Ticmanis
From: iAN CooG on 23 Apr 2006 18:02 Linards Ticmanis <ticmanis(a)gmx.de> wrote: > Is it documented anywhere which of these opcodes have which cycle > counts? Get AAY64 http://www.the-dreams.de also look in here http://oxyron.de/html/opcodes.html -- -=[]=--- iAN CooG/HokutoForce ---=[]=-
From: heuser.marcus on 23 Apr 2006 18:28 There are some discrepancies between the different info files floating around the net. Some opcodes go by different names or have a different meaning. I've found at least three different descriptions of the $93 opcode. Here are without any claim of validity excerpts from "6502 Undocumented Opcodes v3.0" by Freddy Offenga: === "The timing values (clock cycles) from all the opcodes were compared with the values on the list by Adam Vardy. There were no differences. The addressing modes for the "DOP" (double nop) and "TOP" instructions were copied from Craig Taylor's list. The reason for this is that the different addressing modes explain the differences in the timing values. " === DOP (NOP) [SKB] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D No operation (double NOP). The argument has no significance. Status flags: - Addressing |Mnemonics |Opc|Sz | n (cycles) ------------|-----------|---|---|--- Zero Page |DOP arg |$04| 2 | 3 Zero Page,X |DOP arg,X |$14| 2 | 4 Zero Page,X |DOP arg,X |$34| 2 | 4 Zero Page |DOP arg |$44| 2 | 3 Zero Page,X |DOP arg,X |$54| 2 | 4 Zero Page |DOP arg |$64| 2 | 3 Zero Page,X |DOP arg,X |$74| 2 | 4 Immediate |DOP #arg |$80| 2 | 2 Immediate |DOP #arg |$82| 2 | 2 Immediate |DOP #arg |$89| 2 | 2 Immediate |DOP #arg |$C2| 2 | 2 Zero Page,X |DOP arg,X |$D4| 2 | 4 Immediate |DOP #arg |$E2| 2 | 2 Zero Page,X |DOP arg,X |$F4| 2 | 4 === bye Marcus
From: sicklittlemonkey on 23 Apr 2006 20:53 (From Linards) > Is it documented anywhere which of these opcodes have which cycle counts? Without checking, they should be the same as the corresponding LDA opcode with the relevant addressing mode. (From Marcus) > There are some discrepancies between the different info files floating around the net. Yes, I've been collecting these, and collating the information for some time. > v3.0 BTW, there's a 3.1 version of this doc floating around. (From Freddy!) > DOP (NOP) [SKB] (Also TOP) These are badly named. I prefer NOP or RDM (read memory) or perhaps ADR (address). (From Freddy!) > The argument has no significance. Bzzt! Next contestant please. This puts an address on the bus. This means you can touch softswitches and I/O locations with these commands. (Hence my preference for a different mnemonic.) Yes, I know the above commands are 2 bytes, but the C64 has its I/O regs at $0000, $0001, and there are a handful of 3-byte NOP $XXXX opcodes which can be used for this on the Apple II. Cheers, Nick.
From: Michael J. Mahon on 24 Apr 2006 14:11
sicklittlemonkey wrote: > (From Linards) > >>Is it documented anywhere which of these opcodes have which cycle counts? > > > Without checking, they should be the same as the corresponding LDA > opcode with the relevant addressing mode. > > (From Marcus) > >>There are some discrepancies between the different info files floating around the net. > > > Yes, I've been collecting these, and collating the information for some > time. Since there were several versions of the 6502, isn't it likely that some had *differing* illegal ops and results? -michael Music synthesis for 8-bit Apple II's! Home page: http://members.aol.com/MJMahon/ "The wastebasket is our most important design tool--and it is seriously underused." |