An open API service indexing awesome lists of open source software.

https://github.com/errorcodezero/neo6502x


https://github.com/errorcodezero/neo6502x

Last synced: about 1 year ago
JSON representation

Awesome Lists containing this project

README

          

# neo6502x

An emulator for the MOS Technology 6502 processor.

## Specifications

- 16-bit
- Two "index" registers x and y.
- Little-endian
- 256 bytes of memory in zero page between 0x0 and 0xFF.
- 0x10000 bytes of memory total.
- 256 bytes of stack memory(tiny stack) meaning 8-bit stack pointer stored between 0x100 and 0x1FF. Small stack is interesting since it means the stack isn't used in the same way that we use it today.
- Memory indexing system that is actually pretty cool and allows for fast array ops and other interesting things:
- Essentially, memory address after instruction plus value in index register and that's the memory address used in a memory indexed command.
- Zero-page uses add without carry and full memory uses add with carry.

## Instruction Completion

| Instruction | Status | Instruction | Status | Instruction | Status | Instruction | Status |
| :---------- | :----- | :---------- | :----- | :---------- | :----- | :---------- | :----- |
| ADC | ❌ | AND | ✅ | ASL | ✅ | BCC | ❌ |
| BCS | ❌ | BEQ | ❌ | BIT | ❌ | BMI | ❌ |
| BNE | ❌ | BPL | ❌ | BRK | ❌ | BVC | ❌ |
| BVS | ❌ | CLC | ❌ | CLD | ❌ | CLI | ❌ |
| CLV | ❌ | CMP | ❌ | CPX | ❌ | CPY | ❌ |
| DEC | ❌ | DEX | ❌ | DEY | ❌ | EOR | ✅ |
| INC | ❌ | INX | ❌ | INY | ❌ | JMP | ❌ |
| JSR | ❌ | LDA | ❌ | LDX | ❌ | LDY | ❌ |
| LSR | ✅ | NOP | ❌ | ORA | ✅ | PHA | ❌ |
| PHP | ❌ | PLA | ❌ | PLP | ❌ | ROL | ✅ |
| ROR | ✅ | RTI | ❌ | RTS | ❌ | SBC | ❌ |
| SEC | ❌ | SED | ❌ | SEI | ❌ | STA | ❌ |
| STX | ❌ | STY | ❌ | TAX | ❌ | TAY | ❌ |
| TSX | ❌ | TXA | ❌ | TXS | ❌ | TYA | ❌ |