Changes

Jump to: navigation, search

6502

8,107 bytes added, 18:44, 26 May 2018
Created page with "'''Home * Hardware * 6502''' FILE:BreakNES MOS 6502.jpg|border|right|thumb|Schematic of a MOS 6502 <ref>Schematic of a MOS 6502, carefully reverse enginee..."
'''[[Main Page|Home]] * [[Hardware]] * 6502'''

[[FILE:BreakNES MOS 6502.jpg|border|right|thumb|Schematic of a MOS 6502 <ref>Schematic of a MOS 6502, carefully reverse engineered over a long period of time by the chip enthusiast who runs [http://breaknes.com/download BreakNES], showing how the classic chip works, [https://fr.wikipedia.org/wiki/MOS_Technology_6502 MOS Technology 6502 - Wikipédia.fr]</ref> ]]

The '''6502''' is an 8-bit [https://en.wikipedia.org/wiki/Microprocessor microprocessor] that was designed by [https://en.wikipedia.org/wiki/Chuck_Peddle Chuck Peddle] and [https://en.wikipedia.org/wiki/Bill_Mensch Bill Mensch] for [https://en.wikipedia.org/wiki/MOS_Technology MOS Technology] in 1975. Peddle and Mensch were previously involved in designing the [[Motorola]] [[6800]]. The 6502's performance was actually competitive with other CPUs using significantly faster clocks, partly due to a simplistic state machine implemented by [[Combinatorial Logic|combinatorial logic]] to a greater extent than in many other designs. Therefor it was a popular processor for [[Dedicated Chess Computers|dedicated chess computers]] as well as general purpose systems such as the [https://en.wikipedia.org/wiki/Single-board_computer single board computer] [[KIM-1]], and early home computers, notably [[Apple II]], [[Atari 8-bit]], [[Commodore PET]] and [[Commodore 64]], which actually uses a close derivative of the 6502, the [https://en.wikipedia.org/wiki/MOS_Technology_6510 6510].

=Register Files=
Like its precursor, the [[Motorola]] [[6800]] (but unlike [[Intel]] [[8080]]) the 6502 has very few registers. There was one 8-bit accumulator register (A), two 8-bit index registers (X and Y), an 8-bit processor status register (P), an 8-bit [[Stack|stack pointer]] (S), and a 16-bit program counter (PC).

=Endianess=
Unlike [[Motorola]] [[6800]], the 6502 is a [[Little-endian|little-endian]] processor, concerning the [[Byte|byte]]-order of 16-bit [[Word|words]] in memory.

=Quotes=
By [[Dan Spracklen|Dan]] and [[Kathe Spracklen]] from their ''Oral History'' <ref>[http://www.computerhistory.org/trustee/gardner-hendrie Gardner Hendrie] ('''2005'''). ''Oral History of Kathe and Dan Spracklen''. [http://archive.computerhistory.org/projects/chess/related_materials/oral-history/spacklen.oral_history.2005.102630821/spracklen.oral_history_transcript.2005.102630821.pdf pdf] from [[The Computer History Museum]]</ref> on the advantages of the 6502 compared to [[8080]]/[[Z80]] while porting [[Sargon]]:
Danny Spracklen: Yes, the instruction set was a little more efficient, I think, and more- it was more, if you could say, [https://en.wikipedia.org/wiki/Reduced_instruction_set_computing RISC] like. ...

It was a simpler instruction set, but it actually- the cycle times on the individual instructions were very fast, like one microsecond, instead of like 4 or 5 microseconds, on the [[Z80|Z-80]].

Kathleen Spracklen: Yes. And it had the short branch. You can’t underestimate the value that the short branch offered. They had the ability- if you could branch within a one byte distance of where you were, and using it as a sign number, positive or negative, you had an extremely fast branching instruction. So if you could make loops very, very small and tight, you could really run with high, high speed.

=Architecture=
[[FILE:6502Chip.gif|none|border|text-bottom|link=http://www.erich-foltyn.eu/Technique/6502.html]]
MC650x Internal Architecture <ref>[http://www.erich-foltyn.eu/Technique/6502.html Foltyn Presentation - Microprocessor 6502]</ref>
<span id="TK20"></span>
=TK20=
[[FILE:TurboKit20.jpg|border|right|thumb|TK20 <ref>Image from [[ICT 2006]] and 13th Chess Computer Users (Gebruikers) tournament old [[CSVN]] site [http://old.csvn.nl/gallery24.html Photo Gallery 24], Photos by [[Eric van Reem]] and [[Kees Sio]]</ref> ]]

The TurboKit TK20 by German engineering company ''Schaetzle+Bsteh'' was a discrete 6502 compatible 18 MHz high speed CPU with own fast shadow memory build from more than 100 [https://en.wikipedia.org/wiki/Integrated_circuit integrated circuits], dedicated for general purpose and chess computers with 6502 processor, connected via a ribbon cable to the 40 pin processor socket of the host system <ref>[http://www.schach-computer.info/wiki/index.php/TurboKit TurboKit – Schachcomputer.info Wiki]</ref> <ref>''Schaetzle+Bsteh High Speed Processor System TK20 TurboKit MTK20 Multi TurboKit''. [http://www.schaakcomputers.nl/hein_veldhuis/database/files/04-1987,%20Schaetzle+Bsteh,%20TK20%20TurboKit%20und%20MTK20%20Multi%20TurboKit-1.pdf pdf] hosted by [[Hein Veldhuis]]</ref> <ref>[http://www.hiarcs.net/forums/viewtopic.php?t=6932 TK20 Turbokit] by Chessbama, [[Computer Chess Forums|Hiarcs Forum]], December 09, 2014</ref>. The TK 20 was used by [[Ed Schroder|Ed Schröder]] with his dedicated [[Rebel]] programs at the [[WCCC 1986]] and various [[World Microcomputer Chess Championship]], and also by [[Ulf Rathsman]] and his [[Y!]] programs. Further, the dedicated [[SciSys Leonardo#TURBO|Saitek Leonardo Turbo]] mini series was extended by ''Schaetzle+Bsteh'' with an 18 MHz integrated TurboKit <ref>[http://www.schach-computer.info/wiki/index.php/Saitek_Leonardo_TurboKit Saitek Leonardo TurboKit] from [http://www.schach-computer.info/wiki/index.php/Hauptseite_En Schachcomputer.info Wiki] (German)</ref>.

=See also=
* [[6800]]
* [[8080]]
* [[Z80]]

=Manuals=
* [http://archive.6502.org/datasheets/synertek_programming_manual.pdf 6502 Programming Manual], August 1976 (pdf)

=Selected Publications=
<ref>[http://www.6502.org/books 6502.org: Books]</ref>
* <span id="MicroChess"></span>[[Peter Jennings]] ('''1976'''). ''[http://www.computerhistory.org/chess/full_record.php?iid=doc-431614f6d8478 MicroChess, a Chess playing program for the 6502 Microcomputer]''. [http://archive.computerhistory.org/projects/chess/related_materials/text/4-1.MicroChess_%20Manual_for_6502.Micro-Ware/MicroChessManual.PETER_JENNINGS.062303071.sm.pdf pdf], Courtesy of [[Peter Jennings]], [[The Computer History Museum]]
: For instance, how to [[Color Flipping#MicroChess|flip the board]] in 6502 [[Assembly]] <ref>[http://mdfs.net/Docs/Comp/6502/Datasheet 6502 MICROPROCESSOR Instruction Set Summary]</ref> :
: [[FILE:MicroChess6502Flip.JPG|none|border|text-bottom]]
* [http://www.vintage.org/2007/main/bio.php?id=1781 Lance A. Leventhal] ('''1979'''). ''6502 Assembly Language Programming''. Osborne/[https://en.wikipedia.org/wiki/McGraw-Hill_Education McGraw-Hill], [http://www.atarimania.com/documents/6502_Assembly_Language_Programming.pdf pdf]
* Editor ('''1981'''). ''Battle of the Chips''. [[Personal Computing#5_1|Personal Computing, Vol. 5, No. 1]], pp. 82 » [[[Z80]]
* [https://en.wikipedia.org/wiki/Rodnay_Zaks Rodnay Zaks] ('''1983'''). ''Programming the 6502 (Fourth Edition)''. Sybex, Inc. ISBN 0-89588-135-7.

=Forum Posts=
* [http://www.talkchess.com/forum/viewtopic.php?start=0&t=14610 Retrocomputing with the 6502] by [[Steven Edwards]], [[CCC]], June 22, 2007
* [http://www.talkchess.com/forum/viewtopic.php?t=40674 Vintage Chess Programming] by [[Srdja Matovic]], [[CCC]], October 08, 2011
* [http://forum.6502.org/viewtopic.php?f=8&t=2343 My Arduino-Based 6502 Simulation/Emulation...thing?] by halkun, [http://forum.6502.org/ 6502.org Forum], November 26, 2012 » [[Arduino]]

=External Links=
* [https://en.wikipedia.org/wiki/MOS_Technology_6502 MOS Technology 6502 from Wikipedia]
* [https://en.wikibooks.org/wiki/6502_Assembly 6502 Assembly - Wikibooks]
* [http://6502.org/ 6502.org: The 6502 Microprocessor Resource]
: [http://forum.6502.org/index.php 6502.org Forum]
* [http://www.visual6502.org/ Visual6502.org]
* [http://www.6502.org/users/dieter/a2/a2_8.htm NMOS 6502 ALU] from [http://www.6502.org/users/dieter/index.htm Dieter's Homepage]
* [http://www.heise.de/newsticker/meldung/Wieder-lieferbar-der-6502-Mikroprozessor-1421469.html Wieder lieferbar: der 6502-Mikroprozessor] from [http://www.heise.de/ heise online], January 25, 2012 (German)

=References=
<references />

'''[[Hardware|Up one Level]]'''

Navigation menu