C64 SPS: Unterschied zwischen den Versionen
Tw (Diskussion | Beiträge) |
Tw (Diskussion | Beiträge) |
||
| Zeile 56: | Zeile 56: | ||
Das Control Register an der Adresse $DE00 kann nur gelesen werden und es sind nur zwei Bits relevant. Das Bit 7 (Arduino Byte ready) zeigt, dass ein Byte zur Verfügung steht und über das Daten Register gelesen werden kann. Das Bit 6 (C64 Byte ready) zeigt, ob der Sende Buffer befüllt ist oder leer. Wenn der Sende Buffer leer ist, kann der C64 ein Byte in das Daten Register schreiben. | Das Control Register an der Adresse $DE00 kann nur gelesen werden und es sind nur zwei Bits relevant. Das Bit 7 (Arduino Byte ready) zeigt, dass ein Byte zur Verfügung steht und über das Daten Register gelesen werden kann. Das Bit 6 (C64 Byte ready) zeigt, ob der Sende Buffer befüllt ist oder leer. Wenn der Sende Buffer leer ist, kann der C64 ein Byte in das Daten Register schreiben. | ||
<br /> | <br /> | ||
Version vom 16. Januar 2022, 23:53 Uhr


Das C64 SPS Modul
Das C65 SPS Modul ist eine Platine für den Commodore C64, mit der man den C64 in eine SPS verwandelt. Eine SPS (Speicher programmierbare Steuerung) dient dazu, eine Anlage zu steuern, zum Beispiel eine Modell Eisenbahn.
Das Modul stellt digitale Ausgänge und digitale Eingänge zur Verfügung. Der C64 kann per Software die digitalen Ausgänge steuern (TTL Pegel, 5V) sowie die digitalen Eingänge (TTL Pegel, 5V) abfragen. Um die Programmierung des C64 zu vereinfachen, implementiert das Modul zusätzliche BASIC Befehle. So kann man einfach über ein einfaches BASIC Programm die Kontrolle über eine elektrische Anlage übernehmen.
Auf dem Board befindet sich:
- ein EEPROM Speicher mit 64KB (W27C512)
- ein CPLD ATF-1504
- ein Arduino Nano
Was kann man mit dem Board tun:
- automatischer Start eines BASIC Programm nach dem Einschalten (BASIC im EPROM)
- zusätzliche Befehle im v2 BASIC um digitale Ausgänge zu setzen und digitale Eingänge abzufragen
- I2C Interface um dezentrale IO Boards zu steuern (MCP 23017)
- SPI-Out Interface um DO Boards zu steuern (74HC595)
- SPI-In Interface um DI Boards zu steuern (74HC165)
Schematic, Layout, Prototyp:
Dezentrale IO Boards
Inhalt des FLASH Speicher zusammenstellen
Der Inhalt des EPROM ist die Befehlserweiterung und das Benutzer BASIC Programm (Image Datei). Mit Hilfe eines Windows Tool kann man diese Image Datei selbst erstellen.
Funktionsweise und Technik
C64 Register
Der C64 kommuniziert mit dem Modul über zwei Register. Über das Daten Register ($DE01) werden Daten byteweise gesendet und empfangen. Das Control Register ($DE00) reguliert den Datenfluss über zwei Bits.
Das Control Register an der Adresse $DE00 kann nur gelesen werden und es sind nur zwei Bits relevant. Das Bit 7 (Arduino Byte ready) zeigt, dass ein Byte zur Verfügung steht und über das Daten Register gelesen werden kann. Das Bit 6 (C64 Byte ready) zeigt, ob der Sende Buffer befüllt ist oder leer. Wenn der Sende Buffer leer ist, kann der C64 ein Byte in das Daten Register schreiben.
Kommunikation Arduino / CPLD
News
- 14.12.2021 -- erste Prototyp Platine bestellt --
Downloads
Links