6502 microcode


This CPU runs at speeds of up to 20MHz (vs. Sample ARM assember code? things like 6502 and really old minicomputers that only had accumulators RISC machines simply expose the more microcode-like 6502 ISA ©2008 Elmer Hoeksema. 3 mm) or an area of 16. After, the second immediate byte is read in & transfered to PCH, simultaniously while loading PCL with the temp reg contents. g. For example, the 6502 executed 6502 instructions by running a Historically, there was a different technical meaning for "microcode", meaning  Nov 26, 2007 Still, I was able to infer a lot from the nature of the 6502 instruction set and I've worked out the microcode and timing for a handful of sample  Apr 23, 2012 The 6502 can broadly be broken down into four sections: ALU, registers, timing circuitry, and microcode. The exact definitions of RISC and CISC are somewhat contentious. 9 x 4. Microcode determines what'll happen on the data bus. ). Despite the similarities in instruction set and addressing modes, my machine will be inferior to the 6502 in that it lacks a Y register, zero-page addressing, decimal mode, interrupts, and the capability to set the stack pointer and push the condition code flags on the stack, among others. programming 6502 mos-650x microprocessor microcode. tpivette89 macrumors 6502. Reload to refresh your session. 6502 from 74HC logic. How big is it? It's a four layer circuit board, 12 × 15 inches, 0. (a) Length of period Where the assessment of any tax imposed by this title has been made within the period of limitation properly applicable thereto, such tax may be collected by levy or by a proceeding in court, but only if the levy is made or the proceeding begun— Microcode was originally developed as a simpler method of developing the control logic for a computer. 2 Harvard architecture; 4. . This is essentially due to their reduced instruction set, that makes more convenient implement all the instructions in hardware. For those who don't know, the 6502 is an 8-bit microprocessor that was very popular in its day. 8-bit data, but 4-bit ALU (similar to Z80) with carry/borrow and overflow flags (with approach similar to 6502 where borrow is inverted carry) no microcode in ANY form, just 2-stage pipeline and RISC instruction set (similar to PIC – 4 ticks per cycle, 1 cycle per instruction) Programs can be written directly in microcode. To be honest, didn't the 6502 itself emerge out of the 6800 and at least to a beginning was controversial? CS 152 Computer Architecture and Engineering (8085, 6800, 6502) used in hobbyist –Found 20% of VAX instructions responsible for 60% of microcode, but In vertical microcode, each microinstruction is encoded—that is, the bit fields may pass through intermediate combinatory logic which in turn generates the actual control signals for internal CPU elements (ALU, registers, etc. Hi, BTW if you need photo of T34VM1 or Z80 with stripped metal - I can do that to help with your research. Samuel Richie Terms: Spring 2011 Summer 2011 Group #3: Robert Baker Tony Camarano The most famous processor bug in the famous Mostech 6502 processor is the bug that hinders indirect jumping. 6 mm 2. a Radical 6502 Redesign: What Is It? It's a microcomputer that uses a 65C02 cpu teamed up with a coprocessor — logic capable of interpreting the instruction stream in tandem with the cpu. This can be a long time to wait for a microcode Whether you want to build your own C74-6502, or just learn more about its inner workings, this is the place to dig deeper. While it is well-known that CPUs feature a microcode update mechanism The MOS Technology 6502 (pronounced "sixty-five-oh-two") [1] is an 8-bit microprocessor that was designed by Chuck Peddle and Bill Mensch for MOS Technology. How many components are there on the board? In total, there are 4769 components on the board. The 6502 we now know had a rom with a table, but something like a pic is somewhat trivial to implement no need to overcomplicate it. This is the Harvard Architecture. pdf); Microcode Pipeline Notes (. Thus, each assembler instruction has a little program of its own, a sequence of microorders (which may well have loops and branches, just like ordinary high level programs), and programming in microcode is exquisitely challenging. 3 microcode architecture . As such, the microcode is a layer of hardware-level instructions that implement higher-level machine code instructions or internal state machine sequencing in many digital processing elements. Some minor tricks have been introduced to greatly reduce the overall execution time. Von Neumann Architecture More likely, the CPU can also use a fixed microcode, which reads opcodes from the ram and executes them. 6. • Hitachi Universal Storage Platform V/VM microcode 60-01-3x or later. The 6502 is a little-endian 8-bit processor with a 16-bit address bus. Of course, somebody had to design the CPU. An FPGA Vector-Graphics Game Emulator Based on Tempest (Atari© 1981) Instructor: Dr. Uses two 4-bit  I think that this is because the 6502 is reusing the BRK microcode to perform the JSR. The following is a sample of the states described in the microcode table (Appendix: Microcode Assembler: 6502. Even though both the 6800 and 6502 had a clock rate of 1 MHz, the 6502 had a minimal instruction pipeline that overlapped the fetch of the next instruction with the execution of the current one when possible, giving it a significant performance boost. /code/testsuite The 6502 assembly test suite . [JFS] My almost complete 6502 clone No microcode/control ROMs. ucode) for the state ROM: This sample shows four labeled sets of states (base, imm, abs_xy_final, and abs_x) which are all used by the ADC instruction with absolute X addressing. This is pretty much the only criteria that the 6502 meets as far as RISC goes. 2 thoughts on “ Z80 Instruction Register deciphered ” Michail April 3, 2014 at 9:13 pm. This would support the view that some maintain that the 6502 was an early RISC processor. Adopting this view, the K1 CPU has separated program and data memory. Get reviews, hours, directions, coupons and more for MicroCode Corporation at 6502 114th Ave NE, Kirkland, WA 98033. When it was introduced, it was the least expensive full-featured microprocessor on the market by a considerable margin, costing less than one-sixth the price of competing designs from larger companies such as Motorola and Intel. One of the first software projects I ever developed was a real microcode/bus simulation of the 6502 for a required CP class I took what seems life lifetimes ago. When it was introduced in 1975, the 6502 was, by a considerable margin, the least expensive full-featured microprocessor on the market. The RSP was completely programmable, through microcode (µcode). As in most 8-bit microprocessors, the chip While other CPUs from the same era used microcode to interpret the instruction, the 6502 had this 130×21 bit PLA. /microcode The microcode spreadsheet, and the programs to convert it to VHDL and Verilog . But, for lack of a better term, "microcode" conveys the concept. Unofficial opcodes, sometimes called illegal opcodes or undocumented opcodes, are CPU instructions that were officially left unused by the original design. All lines of the PLA compare  Oct 21, 2017 In my implementation the microcode covers many commands and addressing modes of the good old 6502 processor, but MyCPU is not binary  You may also want to read up on microcode, which is an alternative But on the 6502 front, if you're interested in the implementation of the  Oct 27, 2018 The microcode of the 6502 is compressed into a 130-entry decode ROM. Microcode really is the place where hardware and software meet. All lines of the PLA compare the instruction and the current clock cycle, and if they match, the line fires. As far as I know, one can't claim copyright on hardware, only patents. to refresh your session. And of course it sold for ten times less. I have a very nice design for the microarchitecture I just made about 30 minutes ago that fits into a 24-bit horizontal microcode. Try to write code snippets that use each of the 6502 addressing modes. If you know anything about the internals of the 6502, it actually lends itself to emulation better than, say, the Z80, since it doesn't use microcode and has a data path which is simply laid-out geometrically. Since the 6502 doesn't contain any microcode, but a PLA, I suppose there was no software copyright that could apply as well. I plan to implement a call/return microcode, with a callstack size of 1 address, too, for helping to reduce the ROM size (e. @NickWestgate my current 6502 emulation is microcoded! The Microcode invented as I went along though, not prepared in advance, so not ideal. The MOS Technology 6502 (typically "sixty-five-oh-two" or "six-five-oh-two") is an 8-bit microprocessor that was designed by a small team led by Chuck Peddle for MOS Technology. Microcode Corporation is a program development company based out of 6502 114th Ave NE, Kirkland, Washington, United States. No tunnels. Getting microcode updates sooner using Debian backports. Like most simple CPUs of the era, the dynamic NMOS 6502 chip is not sequenced by a microcode ROM but uses a PLA (which occupied about  Microcode is a computer hardware technique that interposes a layer of organisation between . It was used in some microcontroller applications; I think I remember seeing one in a Commodore 4040 IEEE-488 intelligent dual disk drive, but I don't see it listed in the IBM 360 depending on the model used both. Initially, CPU instruction sets were hardwired. Unless you have insider information about the 6502's "microcode" you can't possibly know the exact implementation. The microcode memory was entirely in RAM, and the stack sizes were large, leading to most of the chip space being used for memory. One of the interesting features of this 6502 is that it runs at 20MHz, and implements a unique microcode pipeline internally to do so. An example of microprocessor that doesn't use microcode is the MOS 6502. The MOS Technology 6502 is an 8-bit microprocessor that was designed by Chuck Peddle for MOS Technology in 1975. This section provides detailed explanations of the circuitry in each PCB of the project, as well as a collection of useful downloads and all project files. 6502 instruction set Hyperthreading Index register Instructie cyclus IR ISA Machinecode MAR MBR/MDR Microcode Microinstructie Multi-core Multi-threading PC Verilog The Verilog source code (a work in process). 78 6. There exists a lot of good documentation of how the 6502 worked down to the cycle level. -all instructions where any $nn,X and $nnnn,X addressing mode rows  By allowing the micro-code to use a vertical format, which uses a second The use of a PLA in the implementation of the actual 6502/65C02  The 6502 assembly statement BIT $C030 translates to 2C 30 C0 in Microcode interprets the machine code instructions and controls all of the  Apr 9, 2018 updating a Mac (Pro)s CPU Microcode I just wanted to show that it is possible to update the Microcode in . This is the bit patterns read and interpreted by the CPU. Microcode is a computer hardware technique that imposes an interpreter between the CPU hardware and the programmer-visible instruction set architecture of the computer. (It would have been easy to use the LDD's — phantom loads — to implement stores, just by asserting data on the bus and having microcode force a low onto the R/W line going to memory. About us. Document Revision Level Revision Date Description MK-96RD650-00 September 2007 Initial Release All but stack-relative addressing mode are from the 6502. Remember, you can use the monitor to watch a section of memory. And here is the final discussion of the microcode, which is programmed into the control unit's 4 EEPROM chips. By altering the microcode run on the device, it could perform different operations, create new effects, and be better tuned for speed or quality. "Microcode" isn't the right term, as the 6502 is a hardwired processor that does not use microcode. I think that this is because the 6502 is reusing the BRK microcode to perform the JSR. Microcode is a layer of hardware-level instructions that implement higher-level machine code instructions or internal state machine sequencing in ↑ "6502 Images". Headquarters That being said, microcode format is not only very specific to the specific processor model (e. But I doubt many learn the 6502 architecture by looking at a logic level implementation (or A MOS 6502 CPU emulator written in C++. It was the MOS Technology 6502 and sold for $25. I know this is not the most optimal way for designing a CPU, but I did it like this for Yes. 13. pdf); 6502 Undocumented  Microcode is not a generic term for all "firmware" that is loaded onto a . In contrast, with horizontal microcode the bit fields themselves directly produce the control signals. Microcode The C74-6502 will operate with one of several available instructions sets. So I was quite pleased to find that there exists an open-source cross compiler suite targeting the 6502! Each instruction runs in a variable number of cycles, and a big microcode table controls which muxes and control signals that are active for every cycle of an instruction. But although I had my time programming in ASM (mainly for Motorola’s 68000 and 56000), I wanted a way to avoid plunging too deeply into the arcane of the 6502 architecture. You can find many RISC CPUs that don't use microcode. It's not going to be an accurate description of 6502 internals since that's not what you're asking about, but just to give you an idea of how it could work. This question is not a duplicate of this question (as far as I can tell) which I've also asked about modifying microcode. You signed out in another tab or window. The microcode emulates a 6502 (more or less). The Gigatron TTL microcomputer is an exercise in alternative history. The MOS Technology 6502 is an example of a microprocessor using a PLA for instruction decode and sequencing. It is hoped that this document can  Dec 5, 2011 Like the 6502 which greatly inspired the design (see below), the ARM is hardwired and makes no use of microcode. Microcode is "a technique that imposes an interpreter between the hardware and the architectural level of a computer". This is my C++ emulator of the MOS Technology 6502 CPU. The 6502 family datasheet from MOS Technology does not specify or document their function, but they actually do perform various operations. It converts Intel's microcode. \$\endgroup\$ – old_timer Aug 25 '16 at 0:39 Some perspective on what a CPU microcode could actually do/actually is might be gained if you read about the 6502 PLA decode ROM - the 6502 is an old 8-bit CPU and its instructions were sequenced/controlled by an internal PLA. Microcode Assembler). dat into a format that Apple's built in ucupdate command can understand, extracts the appropriate part for your CPU, and runs ucupdate on that file. One can only guess. Recent examples of similar microsequencer-based processors are the MicroCore Labs MCL86, MCL51, and MCL65 cores which emulate the Intel 8086/8088, 8051 and MOS 6502 instruction sets entirely in microcode. I've microcoded a Z80 since, and I was much more systematic in that. 6502 has indirect jump operation. nMicrocoder is a ncurses EDA tool to write microcode. The 6502 is an interesting case. Basically it is a stripped down spreadsheet program which lets you fill a tabular with "0","1" and "-" and  Oct 10, 2014 The processor is actually a 6502 clone, but with a totally new wrote a micro- assembler to compile the microcode into binary, and used the  3 Tools; 4 Design Tips. microcode for a Pentium III and a Pentium IV cannot be freely exchanged with eachother -- and, of course, using Intel microcode for an AMD processor is out of the question), but it is also a severely protected secret. You signed in with another tab or window. When the 6502 reads an instruction, it's kept in a Microcode packages are first uploaded to non-free unstable, and after one or two weeks, if no issues are reported, are automatically migrated to non-free testing. asked Aug 20 '18 at 19:55. The 6502 is so memory bound that I doubt a JIT can do much to optimize the code; the main benefit is the elimination of instruction or microcode state dispatch, which is huge compared to the actual work emulating each instruction. 1 MHz for the original MOS 6502). It's the direct language of the processor you're programming on. No more waiting for Apple. At the the first layer below assembly is binary machine code. votes. A complex instruction set computer (CISC / ˈ s ɪ s k /) is a computer in which single instructions can execute several low-level operations (such as a load from memory, an arithmetic operation, and a memory store) or are capable of multi-step operations or addressing modes within single instructions. The stack. The original versions were fabricated using an process technology chip with an advertised die size of 153 x 168 mils (3. Disclaimer This page is not a piece of advice to remove LogicWorks_Demo by Capilno Computng Systems from your PC, nor are we saying that LogicWorks_Demo by Capilno Computng Systems is not a good application for your computer. RISC uses of a large number of general purpose registers and uses general purpose instructions. The 6502 processor family offers a wide selection of adressing modes to work with this part of the memory, which generally results in shorter and (even more important) faster code. The MOS Technology 6502 is an 8-bit microprocessor that was designed by a small team led . This would be a good way to write my new registers to memory. What if, by some bizarre anomaly of invention and technology, the 1970s was no I believe that the 6501 was instruction (and pin-?) compatible with the 6502, but had only fourteen, in stead of sixteen, address bits, giving it a 16K address space. Typical instructions might take half as many cycles to complete on the 6502 than contemporary designs. Like most simple CPUs of the era, the dynamic NMOS 6502 chip is not sequenced by a microcode ROM but uses a PLA (which occupied about 15% of the chip area) for instruction decoding and sequencing. Thanks to the Visual 6502 team for the ARM1 simulator and data used in my analysis. 1 inches thick, with surface mount components on both sides. The CPU's job is simply to generate the address. The ARM1's microcode has a 42×36 microcode, for 1512 bits in total. 6502 Microcode Implements all NMOS 6502 operations and Homebuilt 6502 Computers & Hardware. What means, the program memory address changes at the rising edge of CLK, the opcode is fetched with a 74373 (that is transparent for the full cycle), runs through the microcode EPROMs, and the resulting microcode Bits are fetched at the next rising edge on CLK (and so, we can respond to the opcode within the next The VU0 and VU1 vector units in the Sony PlayStation 2 are microprogrammable; in fact, VU1 is only accessible via microcode for the first several generations of the SDK. Just a heads up guys theres a New BootROM update in 10. It's one of the lowest level languages. most addressing modes can be implemented in subroutines). Contribute to gianlucag/mos6502 development by creating an account on GitHub. The 6510 (6502 + banking) still holding the title of the highest selling single model of computer ever. It is capable of running the 6502 version of Microsoft BASIC (source tarball). Yield was moderate, but a number of 100% good die were produced and worked at about 8 MHz. 6502. > Wasn't the 2A03 also a 6502 derivative? no microcode in core instructions, and we substiute L2 cache The large rectangular areas are data stack and microcode memory (data chip); return stack and microcode memory (control chip). The MOS Technology 6502 is an 8-bit microprocessor that was designed by Chuck Peddle and Bill Mensch for MOS Technology in 1975. The decode ROM (PLA) gets instructions about 1/3 of the way decoded, and then there's a whole pile of random control logic [1], [2] that generates the actual control lines [3]. 25 Microchips That Shook the World MOS Technology 6502 Microprocessor (1975) a lead engineer for the 8086 project who did some work on the 8088—a “one-day task force to fix a microcode Microcoding is mostly an x86 thing and they even may not be microcoded anymore. 1 shortcuts; 4. A datasheet only gives you the operation that is performed, but it rarely gives details as to how exactly this is accomplished. Looking in a few books, it would seem to come down to whether or not microcode is used - thus RISC or CISC is determined more by the actual physical design of the processor than by what instructions or how many registers it offers. When it was introduced in 1975, the 6502 was, by a considerable margin, the least expensive microprocessor on the market. Interestingly, the 6502 had a bunch of undocumented instructions. The stack in a 6502 processor is just like any other stack - values are pushed onto it and popped (“pulled” in 6502 parlance) off it. The microcode on some earlier models was stored on puched cards! VAX was microcoded - it had a writable control store so you could change the processor operation as did the DG MV8000. Microcode is a layer of hardware-level instructions that implement higher-level The MOS Technology 6502 is an example of a microprocessor using a PLA. The Apple II is powered by a very simple MOS 6502 CPU. an original computer design that extends 6502 architecture. MOnSter 6502 is a play on the original manufacturer and device name (MOS 6502) as well as acknowledging its large size. 2answers 2k views Was the IBM 5100 ever used for codebreaking? Every microcode is executed in one clock cycle. For writing the microcode program and creating the MIF file, I'll write a Lisp program again. However, Nintendo was unwilling to share the microcode tools with developers until the end of the Nintendo 64's life-cycle. -JSR has a latency of six cycles, which includes one which seems to be a completely dead cycle. Several layers. My Ben Eater inspired homemade 8-bit CPU Homemade Retro 6502 Computer It does have quite a few CISCy things, notably the addressing modes, but there's a relatively small number of possible instructions and very limited number of processor registers (though that in other circles is considered a CISC thing), and the rumored non-existence of any kinds of microcode, which would indicate that design of 6502 was indeed The processor is actually a 6502 clone, but with a totally new microarchitecture. /opcode_log The program that tracks opcode useage. a matter of fact, no “complex” operation is supported as there is no microcode! Feb 15, 2010 Majority of self-made processors work on microcode (just like most of commercial processors), which is red http://www. The PLA is visible in  None of these chips (likewise 6800 and 6502) use microcode the same way The microcode ROM itself contains just 42 (?) instruction and are  Jul 29, 2008 While other CPUs from the same era used microcode to interpret the instruction, the 6502 had this 130×21 bit PLA. org/users/dieter/ I was learning 6502 machine code at the time and dreamt of building a simple 1 is a micro-programmed machine with a highly encoded "vertical" microcode. The ARM1's microcode is an order of magnitude smaller than other microcoded processors. The 6502-based Apple II line (not backwards compatible with the Apple I) was among the first microcomputers introduced and became the longest running PC line, eventually including the 65816-based Apple IIgs The 6502 was also used in the Nintendo entertainment system (NES), and the 65816 was in the 16-bit successor, the Super NES, before Microcode is an abstraction layer on top of the physical components of a CPU and present in most general-purpose CPUs today. Seen this way it has a combined program and data memory. When it was introduced, it was the least expensive full-featured CPU on the market by a considerable margin, costing less than one-sixth the price of competing designs from larger companies such as Motorola and Intel. This article owes a lot to Dave Mugridge’s analysis of the ARM1, especially Inside the ARMv1 — instruction decoding and sequencing. RISC (Reduced Instruction Set) processors don't use microcode - they have "hard-wired" logic; CISC (Complex Instruction Set) processors generally do have microcode. Adam's Great 6502 Projects - Adam Luoranen presents some good beginning 6502 tips and projects, including a simple LED-blinker project and details for interfacing a KS0108-based graphical LCD panel. step of each instruction (6502 instructions range from 2 to 7 cycles). Each is implemented as separate microcode and is selectable via a pair of on-board jumpers on Card-B labeled ALT and CMOS as follows: The different microcode options are described in more detail below. The 8086 used a 504×21 microcode (over 10,000 bits) while the 68000 has a 544×17 microcode and 366×68 nanocode (over 34,000 bits). 65 thoughts on “ 34C3: Hacking Into A CPU’s Microcode ” Ostracus says: Right now it’s optimized for ARM, but there’s probably little preventing a 6800, 6502, or even X86 code base I'll describe the way the microcode worked in the 6502, or the Decode ROM as it's usually called there (same concept, different name). pdf); Critical Path Analysis (. The 6502/6510 was a budget imitation of the 6800 processor, by the legendary Chuck Peddle. ; The MicroCore Labs MCL86, MCL51 and MCL65 are examples of highly encoded "vertical" microsequencer implementations of the Intel 8086/8088, 8051, and MOS 6502. Pipelined 6502/z80 with cache and 16x clock multiplier. 5 interestingly I was curious if this update contained any new Microcode, strangely the intel microcode tool reported that there where no microcodes in the Firmware file Does the 6502 use a small set of highly optimized instructions and the CPU does not use microcode? Yes. pdf); Control Logic Decoder Values (. One such guess: The 6502 can broadly be broken down into four sections: ALU, registers, timing circuitry, and microcode. Insofar as terminology, what exactly is "microcode" and if it can be updated, how does it differ from firmware?. Stable point-releases and oldstable point-releases are done every 2-4 months. Search for other Computer Software Publishers & Developers in Kirkland on The Real Yellow Pages®. The CPU operates natively as a 6502, 6510 and a 65C02, and implements the 65816 instruction-set partially to provide 16MB of addressing space. Instead of 256 entries telling how to process each separate opcode,  MOS 6502 and its derivates are used in Commodore 8-bit computers PET, VIC20 , the dynamic NMOS 6502 chip was not sequenced by a microcode ROM but  MicroCore Labs MCL65 6502 core. Zeropage/Stack: The first 256 bytes of adressable memory are called Zeropage. The aim is for most  Sep 17, 2016 The 6502 was one of the most prevalent 8 bit CPU of the 80s. It is hoped that this document can serve as a foundation for later work which would build a complete and fully-functional 6502 CPU out of 7400-series logic chips, although it is anticipated that a single exception would be made for an EEPROM xucode An open-source userland microcode updater for macOS. It’s a computer from that era that’s designed with a CPU that’s entirely made of microcode. 4. This topic has come up in the past and you're right, of course. . Evan. The PLA would basically say what parts of the chip were involved at each step of each instruction (6502 instructions I've toyed with building the 6502 in redstone logic. /sim ModelSIM related files . Great job guys, and this project really brings back some cobbed-web memories. In lieu of the Hack microarchitecture, I am going to use a 6502-based microcoded architecture. The C74-6502 is plug-in compatible with a wide variety of 6502 systems, including classic computers from Commodore and Apple, as well as modern systems based around the 65C02 microprocessor still in production today. This document revision applies to the following microcode levels: • Hitachi Virtual Storage Platform microcode 70-01-0x or later. Pretty much all software programming languages are higher level than assembly. The reasons why I used an ISA that already exists (and didn't design my own ISA) are: I already designed a customized ISA before, so it is time to study the ISAs of others (more specifically, the ISAs of the golden era of computing) 6502 is pretty interesting! MOS Technology 6502. I designed and built an 8-bit CPU from scratch with 74HC logic gates using the 6502 instruction set. It’s a first as far as I know. Each step needed to fetch, decode, and execute the machine instructions (including any operand address calculations, reads, and writes) was controlled directly by combinational logic and rather minimal sequential state machine circuitry. The MC65 is an ultra-small footprint, microsequencer-based, 100% instruction-set compatible, cycle-exact NMOS 6502 core  The original NMOS 6502 featured 151 op-codes, leaving more than a hundred But location 11's contents appear on the data bus, and microcode tickles a  In a way, microcode is kind of like a data table the CPU uses internally on the 6502 processor, where they've successfully decapped the chip,  C74-6502 Draft Datasheet (. The 6502, which is often said to be the first RISC processor, was not microcoded. The code emulates a fully functional 6502 CPU and it seems to be pretty fast too. This bug is apparently also present in newer incarnations of 6502 for bug-for-bug compatibility. 6502/6800 was random logic 68K was microcoded My conclusion is the ARM1 should be called “partially microcoded” or maybe “hybrid microcode / hardwired control”. Not an amazing processor but it allowed access to the masses due to price. Someone has done almost exactly that, with highly compact x86 and 8051 using microcode roms, Fwir, very low LE counts of a few hundred and around 5-10 MIPS for 100+ MHz SysCLKs Ie not fast, but VERY small, and a useful idea for adding more cores in a design. A little simplified, every line looks like this: microcode EPROMs in series. 150 relations. 65816: Extended 6502 with new opcodes and 16 bit operation modes. 6502 microcode