From: Linards Ticmanis on
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
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
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
(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
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."
 |  Next  |  Last
Pages: 1 2 3 4 5 6 7 8 9 10 11
Prev: what happened CBM=VGA
Next: 1581 Drive Kits on eBay