Was es ist
Der T65 ist ein quelloffener, zyklusgenauer VHDL-Nachbau des MOS-6502-Prozessors. Statt einen echten 6502-IC zu verlöten, beschreibt der Soft-Core das Verhalten der CPU in Logik, die das FPGA-Werkzeug in das Gewebe des Bausteins synthetisiert. So läuft dieselbe Maschine, die der C-Emulator nachbildet, nun direkt in Hardware.
Zwischen Kern und System sitzt ein projekteigener Bus-Adapter
(t65_adapter.vhd), der den 24-Bit-Adressbus des T65 auf den
16-Bit-Adressraum des SBC abbildet und Schreib-Strobe, Schreibdaten sowie das
Lese-Dateneingang (DI) sauber an Speicher und Peripherie koppelt.
Was es macht
Der Kern holt Befehle, dekodiert sie und führt den vollständigen 6502-Befehlssatz aus — inklusive aller Adressierungsarten, Stack-Operationen und Interrupt-Behandlung.
- Halber Systemtakt: Ein
cpu_enable-Signal toggelt mit jedem 54-MHz-Systemtakt, sodass der T65 effektiv mit bis zu 27 MHz fortschreitet. Schreibzugriffe werden in dercpu_enable = '0'-Halbphase committet — passend zu synchronen FPGA-Schreib- und asynchronen Lesepfaden. - Reset-Sequenz: Nach dem Loslassen von
reset_ndurchläuft die CPU ihre 7 internen Zyklen und liest den Reset-Vektor aus$FFFC–$FFFDim ROM, bevor sie zur Startadresse springt. - Interrupts: Die IRQ-Quellen von VIA, UART und VIC werden ODER-verknüpft
(
cpu_irq_n = NOT (via_irq OR uart_irq OR vic_irq)); der Kern verzweigt über den Vektor bei$FFFE–$FFFF. - Bus-Stealing: Über den
RDY-Eingang hält der VIC die CPU an, während er die Austastlücke nutzt, um Videodaten zu holen — die CPU verliert dabei keine Schreibzugriffe.
Taktung
Ein einzelner 27-MHz-Oszillator speist eine 270-MHz-PLL. Aus ihr werden der
54-MHz-Systemtakt (270 / 5), der 135-MHz-TMDS-Takt und der
27-MHz-Pixeltakt abgeleitet. Der CPU-Kern läuft über das Toggle-Schema mit halbem
Systemtakt — schnell genug, um BASIC und Maschinencode flüssig auszuführen.
Wo es im Code lebt
| Datei | Rolle |
|---|---|
| third_party/t65/rtl/ | Importierter T65-Core (CPU, ALU, Microcode) |
| rtl/core/cpu/t65_adapter.vhd | 16-Bit-Bus-Adapter, Schreib-/Lese-Glue |
| rtl/core/sbc_t65_top.vhd | Voll integriertes System-Top mit T65 |
Verifiziert durch GHDL-Testbenches: Boot aus einem realen 6502-ROM
(LDA #$42; STA $0002), UART-Ausgabe, VIA-Port-Ansteuerung,
Timer-1-IRQ-Behandlung und ein Kernel-Smoke-Test mit zusammengesetztem
kernel.rom + msbasic.rom.