2001年度卒業研究で6502をVerilog-HDLで作りました。
各資料とVerilogのソースをここに公開します。
構成図
sysblock.png
各命令のタイミングチャート(アドレッシングモード別)
- Implied
-
NOP
INX INY DEX DEY
PHA PHP PLA PLP
TAX TAY TSX TXA TXS TYA
CLC CLD CLI CLV SEC SED SEI
BRK
RTS RTI
- Accumulator
-
ASL LSR ROL ROR
- Immediate
-
LDA LDX LDY
ADC SBC AND ORA EOR CMP CPX CPY
- Zeropage
-
LDA LDX LDY
ADC SBC AND ORA EOR CMP CPX CPY BIT
STA STX STY
INC DEC ASL LSR ROL ROR
- Zeropage Index
-
LDA LDX LDY
ADC SBC AND ORA EOR CMP
STA STX STY
INC DEC ASL LSR ROL ROR
- Absolute
-
LDA LDX LDY
ADC SBC AND ORA EOR CMP CPX CPY BIT
STA STX STY
INC DEC ASL LSR ROL ROR
JMP JSR
- Absolute Index
-
LDA LDX LDY(no page crossing, page crossing)
ADC SBC AND ORA EOR CMP(no page crossing, page crossing)
STA STX STY
INC DEC ASL LSR ROL ROR
- Indirect X
-
LDA
ADC SBC AND ORA EOR CMP
STA
- Indirect Y
-
LDA(no page crossing, page crossing)
ADC SBC(no page crossing, page crossing) AND ORA EOR(no page crossing, page crossing) CMP(no page crossing, page crossing)
STA
- Indirect
-
JMP
- Relative
-
BCC BCS BEQ BMI BNE BPL BVC BVS(2, 3, 4)
Verilog-HDLで記述したソースコードです。
hpcl6502-1.0.0.tgz
フリーソフトウェアとして公開します。
コピーおよび使用はご自由にどうぞ。
ただし、本ソースの使用にあたっては使用者自身の責任の下で行ってください。
本ソースは一切無保証です。
本ソースを使用したことにより生じた損害などについて、
保証する義務を一切負いません。
リンク
The KIM-1 Enthusiasts Page
6502.org