65C02-Mikroprozessor-DLL/Microcontroller

Dieser Bereich ist für den Austausch FERTIGER Makros und allgemein nützlicher Schaltungen vorgesehen.
Antworten
Microprocessor
Beiträge: 75
Registriert: Montag 27. Oktober 2008, 00:03

65C02-Mikroprozessor-DLL/Microcontroller

Beitrag von Microprocessor » Montag 6. Dezember 2010, 15:44

Hallo,

im ATMEL-Zeitalter scheint der 65C02-Prozessor inzwischen antiquiert zu sein, doch
wird er aufgrund seiner einfachen Programmierbarkeit in Verbindung mit seinen
komplexen Adressierungsarten und des daraus resultierenden effektiven Codes heute
immer noch industriell eingesetzt.

Anbei finden Sie die Datei 65C02.DLL, die den Mikroprozessor 65C02 mit seinem
kompletten Befehlssatz (ohne variantenspezifische Befehle wie z.B. WAIT) sowie
NMI- und IRQ -Verarbeitung simuliert.

Mit der Projektdatei 65C02_SIMU.PRJ wurde ein Mikrokontroller für ProfiLab
realisiert, bestehend aus

65C02-DLL
32K RAM
1K ROM
1 Taktgenerator (zu Demonstrationszwecken hier auf 100Hz, max. 1000Hz)
RESET-Taster
NMI-Taster
IRQ-Taster
einem 8-Bit-Ausgabe-Port auf Adresse F000h (hier LEDs)
einem 8-Bit-Eingabe-Port auf Adresse F001h (hier Switches)
einem Anwendungsprogramm

Anstelle der LEDs und Switches können selbstverständlich Ports von Hardware-
erweiterungen angeschlossen werden, sodass ein Zugriff auf die „reale“ Welt
möglich wird.

Bei dem bereits geladenen kleinen Demonstrationsprogramm handelt es sich um
einen binären Aufwärtszähler mit der Ausgabe des Zählerstands auf die LEDs. Bei
einem NMI wird das Programm beim aktuellen Zählerstand unterbrochen und ein
Lauflicht erscheint dreimal von links nach rechts. Danach erfolgt der Rücksprung in
das Zählprogramm.
Bei einem IRQ wird das Programm ebenfalls unterbrochen, hier erscheint das
Lauflicht jedoch dreimal von rechts nach links. Ein IRQ kann von einem NMI
unterbrochen werden. Alle weiteren Informationen zu dem Demoprogramm und der
Programmierung mit einem Makro-Assembler finden Sie in der Datei
65C02_MAKROASSEMBLER.DOC

Die Demo-Schaltung läuft mit 100Hz damit die LED-Anzeige noch verfolgt werden
kann, da im Programm keine Verzögerungsschleifen programmiert wurden.

Der Takt ist standardmäßig auf „automatisch“ eingestellt, d.h. nach dem Betätigen
der Reset-Taste läuft das Programm los. Durch Umschalten des Taktwahlschalters auf
„manuell“ (auch während des Betriebs) kann das Programm zu Demonstrations- oder
Testzwecken über den daneben platzierten Taster im Single-Step-Modus fortgeführt
werden.

Mit diesem Mikrocontroller-Schaltung können langsame Strecken komfortabel durch
Software geregelt werden. Die mittlere Befehlsdauer beträgt ungefähr 5 Takte d.h.
es werden ca. 200 Befehle pro Sekunde bei interner Taktung mit 1000Hz - Zeitgeber
bzw. mehr bei höherer Taktung über eine externen Hardware-Port ausgeführt.

Die Schaltung läuft bei einem Takt von 1000Hz auf einer 3GHz - Maschine stabil mit
einer Simulationsfrequenz von ca. 15 KHz. Durch entfernen der Adress- und
Datendisplays und ggfs. der LEDs und Schalter sowie Ausschalten der Pegelanzeige
kann die Simulationsfrequenz auf 20 KHz gesteigert werden (Simulationsmodus „fast“
und keine weiteren Anwendungen !!!)

Weitere Informationen zum 65C02 und seiner Programmierung finden Sie im Internet
unter den Begriffen „65C02“ bzw. „6502“.


Für die gegenüber DLLs kritisch eingestellten Menschen:

Ich versichere, dass die Source nur Code beinhaltet, die zur Realisierung der 65C02-
Funktion erforderlich ist. Es ist garantiert keine Malware, Spyware, Juxware oder
Sonstware enthalten. Zum Zeitpunkt des Filetransfers in das Forum war die DLL
virenfrei. Die Originaldatei ist 98168 Bytes groß und datiert vom 4.12.2010, 8:52.


Haftungsausschluss

Die Datei 65C02.DLL wird Ihnen für private Zwecke kostenlos "as is" für die
Simulation einer 65C02-CPU in Digital-ProfiLab zu Verfügung gestellt

Es bestehen keine Ansprüche auf Wartung, Pflege oder Weiterentwicklung für das
Programm. Im Rahmen der Möglichkeiten des Entwicklers werden gemeldete Fehler
jedoch behoben.

Der Entwickler übernimmt keinerlei Haftung für die Folgen, die sich aus der
Verwendung des Programms ergeben !!!

Bedenken Sie:

- Simulationen verhalten sich nicht unbedingt so wie die reale Hardware,
insbesondere auf Multitasking-Betriebssystemen sind Simulationen bei hohen
Simulationsgeschwindigkeiten unter Umständen instabil.

- Bei der zusätzlichen Verwendung von Hardware-Schnittstellen handelt es sich
nicht mehr um eine reine Simulation, sondern um einen Eingriff in die reale Welt
(Stellglieder) mit all ihren möglichen Folgen.


Gruß
Microprocessor

P.S.
Wer einem Mikroprozessor während des Betriebs unter die "Haube" schauen möchte,
dem empfehle ich:
viewtopic.php?f=21&t=1513&p=5160&hilit=65c02#p5160
Dateianhänge
65C02_DLL.zip
(109.72 KiB) 391-mal heruntergeladen

Florian.Herthel
Beiträge: 31
Registriert: Dienstag 13. April 2010, 11:11
Wohnort: Kleinmachnow

Re: 65C02-Mikroprozessor-DLL/Microcontroller

Beitrag von Florian.Herthel » Dienstag 7. Dezember 2010, 08:32

ich hoffe ja immer noch, daß wie bei Wickileaks die "ganze Wahrheit" über die die
DLL-Programmierung ans Tageslicht kommt. Ihr macht da immer ein großes Geheimnis draus.
Wäre schön, wenn das jeder könnte.

Florian

Mike D
Beiträge: 528
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: 65C02-Mikroprozessor-DLL/Microcontroller

Beitrag von Mike D » Dienstag 7. Dezember 2010, 12:38

Das ist kein Geheimniss, das ist ein Problem.
Da jeder das am Liebsten in "seiner" Programmiersprache machen will, aber jede Programmiersprache und jede Entwicklungsumgebung bei der Erstellung von DLLs sein eigenes Süpchen kocht kann man schlecht eine allgemeingültige Beschreibung machen.
Am Besten du nimms eine für die es Beispiele gibt, machst dich mit der vertraut und guckst dir die Beispiele und Hilfe und Forenbeiträge an. Dann ist auch die Chance groß das Fragen zufriedenstellend beantwortet werden. Für Exotensprachen die kein anderer hat kann man auch nicht helfen.

BTW, das meistgeliebte/gehaßte VB geht nicht!

Mike

Microprocessor
Beiträge: 75
Registriert: Montag 27. Oktober 2008, 00:03

Re: 65C02-Mikroprozessor-DLL/Microcontroller

Beitrag von Microprocessor » Dienstag 7. Dezember 2010, 15:04

Hallo Florian

es gibt freie und dokumentierte Compiler (DEV-C++) bzw. Interpreter (LUA) mit
den entsprechend dokumentierten Beispielen, sodass von Geheimniskrämerei keine
Rede sein kann (Mike hat alles dazu gesagt. Danke @ Mike D).

Ich kann aus eigener Erfahrung als Nicht-Programmierer bestätigen, dass es eine
Hemmschwelle gibt, ein solches Projekt anzugehen, insbesondere wenn man keine
Erfahrung mit der Programmiersprache und modernen Entwicklungsumgebungen
hat. Hier gilt das altbekannte Prinzip: klein anfangen, viel stöbern und
ausprobieren und groß enden ;) .

Dass der schon öfter von verschiedenen Teilnehmer geäußerte Verdacht der
Geheimniskrämerei bei der DLL-Programmierung nun auch von Dir kommt
verstehe ich allerdings gar nicht, da Du 4 Minuten vor Deinem Beitrag hier in
viewtopic.php?f=21&t=2211 bestätigst, wie einfach es ist, DLLs zu erstellen.

Fazit:
Mit dem Entwicklungswerkzeug seiner Wahl, dem Studium der Beispiele und Geduld
ist jeder in der Lage, eine DLL zu erstellen.

Gruß, Spaß und viel Erfolg wünscht

microprocessor,

der konkrete Fragen zu diesem Thema im Rahmen seiner beschränkten Fähigkeiten
gerne beantwortet.

Antworten

Zurück zu „Makros & Schaltungen“