Clone this repo:

Branches

  1. 16d39c3 update repo by Jeff DiCorpo · 1 year, 4 months ago main
  2. 32e735d update repo by Jeff DiCorpo · 1 year, 4 months ago
  3. 1acf923 final gds oasis by Jeff DiCorpo · 1 year, 4 months ago
  4. ec5b131 Remove old files of the example project, re-build using correct version of openlane image. by Tholin · 1 year, 4 months ago
  5. 4230a4e Change stack read/write instructions to pop/push. by Tholin · 1 year, 4 months ago

Avalon Semiconductors AS2650 8-bit micro-processor

License CI

This is a partial implementation of the abandoned Signetics 2650 CPU architecture from 1975.

Only a subset of the full feature set is implemented here. The following features are part of the S2650, but missing from the SA2650:

  • Interrupts
  • Extended I/O (wrte, rede) instructions
  • Memory paging (address space limited to 8192 bytes, emulating a S2650 that is ‘stuck’ on page 0)

Some additional funcionality is also present, utilizing opcodes that went unused in the original S2650 to add new instructions:

  • mul (opcode 'h90, no arguments) - Multiplies r0 and r1, and stores the 16-bit result in r2 (LSB) and r3 (MSB)
  • xchg (opcode 'h91, no arguments) - Exchanges the values of r0 and r1
  • strs (opcode 'h10, no arguments) - Stores the value on top of the call stack into r0 (LSB) and r1 (MSB)
  • lods (opcode `‘h11’, no arguments) - Loads the value on top of the call stack from r0 (LSB) and r1 (MSB)

Please see this repository for Documentation on the CPU architecture, as well as an assembler, emulator and example programs.