The MOS 6509 CPU, featured in the Commodore B-128 machines, expanded upon the MOD 6502 CPU in offering access to up to 1MB of memory. It did so by adding 2 zero page "bank" registers in the location 0 and 1, one of which represents the bank used for program code, while the other is used by indirect data accesses.
As the 6509 was not as popular as the 6502/65C02, it can be difficult to find a replacement unit today, short of robbing one from an otherwise working B128 system.
The Nu6509 was created to modify a 6502 footprint and operation to that it can be leveraged in a 6509 socket. Though the design is a RETRO Innovations innovation, the functionality was defined by Dr. Jefyll on 6502.org in this post:
http://forum.6502.org/viewtopic.php?p=17597&sid=0966e1fa047d491a969a4693b5fed5fd#p17597
Nu6509 utilizes a Xilinx xc9572xl CPLD to implement the equations specified in this forum post as well as provide the 2 bank register functionality required. Additional features include the optional bank extension to 8 bits (normally 4) as well as support for the 65C816S CPU.
The Nu6509 design is released under an MIT license, and files are available on Github at https://github.com/go4retro/Nu6509.
Notes: