Homepage
Ronald Daleske

Impressum Warenzeichen

Vorwort

Ich gehe nun in Rente und möchte an dieser Stelle meine interessantesten Projekte vorstellen. Sie wurden von mir als persönliche Bastelprojekte entwickelt, einfach weil es mir Spass gemacht hat, mich mit diesen Themen zu beschäftigen. Das Motto "Der Weg ist das Ziel!" (Sprichwort des chinesischen Philosophen Konfuzius (551–479 v. Chr.)) trifft in etwa meine Motivation.

Das impiziert dann auch, dass meine Projekte teilweise nicht fertig entwickelt und auch nicht ausgiebig getestet wurden (weil es inzwischen ein neues Projekt gab).

Interesse an meinen Projekten haben wahrscheinlich eher nicht User ohne IT und Elektronik Vorkenntnisse die an dieser Stelle fertige Lösung suchen, die sie möglichst schnell (und ohne Beschäftigung mit der Materie) nachbauen wollen.

Zielgruppe sind vielmehr andere Bastler und Maker, die Anregungen für ihre eigenen Projekte suchen und auf meinen Erfahrungen aufbauen möchten.

Auch ich bin ständig auf der Suche nach neuen Ideen und profitiere von den Projekten Anderer. An dieser Stelle möchte ich meine Erkenntnisse anbieten und so etwas an die IT und Elektronik Gemeinschaft (Community) zurückgeben.

Eine kommerzielle Nutzung schliesse ich erst einmal aus. Es geht hier nur um die Beschäftigung mit der Materie.

z-meic Projekt

z-meic = (z)80 - (m)odular (e)rweiterbare e(i)nplatinen (c)omputer

Der z-meic ist ein kleiner Einplatinencomputer (SBC ,Single Board Computer) mit einem Z80 Prozessor auf dem das Betriebssystem CP/M 2.2 läuft.

Für die Ein- und Ausgabeoperationen unterstützt ein Mikrokontroller ATMEGA32(A) das Z80-System.

Der z-meic kann im einfachsten Fall über einen USB-Serial-Adapter mit einem PC verbunden werden. Ein spezielles Programm CP/M CONSOLE64 V4 (kein reines Terminalprogramm) übernimmt dann die Kommunikation zwischen z-meic und PC.

Die Besonderheiten des z-meic kommen aber erst mit der Nutzung von ITP3-Modulen zur Geltung. An den z-meic können 3 bis 5 ITP3-Modulen angeschlossen werden.

ITP3-Module für das z-meic Projekt

Monitor, LC-Display (CONOUT)

ITP3-Modul - TXTVGA3

Das ITP3-Modul - TXTVGA3 bildet eine CONOUT-Schnittstelle für einen ITP3-Server (z-meic, i-meic) an einen VGA-Monitor. Ziel dieses Moduls war es mit einem ATMEGA und minimalem Hardwareaufwand einen VGA-Monitor mit 80 Spalten und 24 Zeilen (CP/M-Standard) anzusteuern. Das wird mit einem (auf 22,1184 MHz übertakteteter) ATMEGA328P und einem Schieberegister 74LS165 umgesetzt.

Tastatur (CONIN)

ITP3-Modul - PS2KBD

Das ITP3-Modul - PS2KBD ermöglicht den Anschluss von PS/2-Tastaturen an einen ITP3-Server (z-meic, i-meic). Es kann zwischen deutschem und englischem Tastaturlayout umgeschaltet werden.

ITP3-Modul - TST04G

Das ITP3-Modul - TST04G ist eine Tastatur mit Kurzhubtasten als CONIN-Schnittstelle für einen ITP3-Server (z-meic, i-meic). Für dieses Modul wurden die etwas größeren Kurzhubtasten 12mmx12mm genutzt. Das Platinenlayout ermöglicht ebenfalls die Nutzung kleinerer Kurzhubtasten mit 6mmx6mm. Die Anforderungen an die Hardware für die Tastatur TST04G sind sehr gering. Es reicht ein ATMEGA8 mit voreingestellten FUSES (interner Oszillator). Das ITP3-Protokoll passt sich automatisch allen Taktraten an.

Laufwerk (DRIVE)

ITP3-Modul - USBCH376

Das ITP3-Modul - USBCH376 stellt ein CP/M-Laufwerk für ein ITP3-Server-Modul (z-meic, i-meic) bereit. Es wird ein U Disk Read und Write-Modul mit dem IC CH376 verwendet, das zusammen mit einem kleinen USB-Stick als CP/M Laufwerk betrieben wird. Zur Ansteuerung des CH376 und der LEDs sowie die Bedienung des ITP3-Protokolls wird ein Arduino Nano genutzt. Die Schaltung und die Hardware sind sehr einfach, da diese nur die beiden Boards (CH376, Nano) aufnehmen und verbinden sollen.

ITP3-Modul - SPIDISK3

Das ITP3-Modul - SPIDISK3 stellt ein CP/M-Laufwerk für ein ITP3-Server-Modul (z-meic, i-meic) bereit. Für die Speicherung der Daten mit einer Laufwerkskapazität von 8MB wird der IC Winbond W25Q64BV genutzt.

Audio (SOUND)

ITP3-Modul - SNDMOD3

Das ITP3-Modul - SNDMOD3 bildet eine CP/M Audio-Schnittstelle (SOUND) für einen ITP3-Server (z-meic, i-meic) ab. Die Hardware des SNDMOD3-Moduls besteht aus einem ATMEGA328P, einem 8-Bit D/A-Wandler mit R/2R-Netzwerk, einem Verstärker mit dem IC LM386 sowie einem Lautsprecher zur Ausgabe der Töne.

Programmier-Projekte Lazarus / Free Pascal

RONPAS64 V1.5

RONPAS64 V1.5 ist ein PASCAL-Compiler für AVR ATMEGA Mikrocontroller. Er erzeugt einen AVR-Studio kompatiblen Assembler-Code. Die aktuelle Version arbeitet mit AVR-Studio 4 oder AVR Studio 6 als Assembler.

CP/M CONSOLE64 V4

CP/M CONSOLE64 V4 ist ein spezielles Terminalprogramm für CP/M Einplatinencomputer (z-meic, i-meic). Es bildet die CP/M Softwareschnittstellen über die serielle Schnittstelle des PCs ab. Das Protokoll dieses Programms bedient die CP/M Schnittstellen: CONIN, CONOUT, READ und ,WRITE. Nach dem Programmstart werden alle CP/M Dateien aus dem Unterordner "CPM_DRIVE" eigelesen. Daraus wird ein CP/M Image gebildet. Aus diesem Image werden die Daten für die READ und WRITE-Anweisungen gelesen bzw. geeschrieben.

EMUZ80 - Z80 / CP/M - Emulator

EMUZ80 ist ein CP/M-Emulator für den Z80 Prozessor. Das Programm liest den Ordner "CPM_LW_A" als CP/M-Laufwerk A: ein und startet CP/M in der Version 2.2. So können ohne weitere Installation schnell CP/M Programme genutzt oder getestet werden. Für Entwickler bietet der Emulator einen Einzelschrittbetrieb, einen Unterbrechungspunkt (Breakpoint), Anzeige der CPU-Register, Anzeige des Z80 Arbeitsspeichers (64 K RAM), Anzeige des jeweiligen Befehls im Quelltext (TRACE) soweit vorhanden. Der Monitor unterstützt die wichtigsten VT100 Steuerzeichen um Turbo Pascal 3.01 von Borland anzeigen und editieren zu können.

KEM80 - CP/M Konsolen-EMulator für Z80

KEM80 ist ein Konsolen-CP/M-Emulator für den Z80 Prozessor (Windows32-Konsole). Das Programm liest den Ordner "CPM_LW_A" als CP/M-Laufwerk A: ein und startet CP/M in der Version 2.2 mit den übergebenen Programm-Parametern wird ein CP/M Programm gestartet. Sollten CP/M-Dateien verändert worden sein, so werden diese in den Ordner "CPM_LW_A" zurückgeschrieben.

Z80 und CP/M-Projekte

CPD9-Z80-Busplatine

Für jeden Entwickler, der die Z80-CPU genauer kennenlernen möchte, ist ein Schrittbetrieb mit der Anzeige der Buspegel sehr hilfreich. Die hier vorgestellte Z80-Busplatine zeigt, wie die Z80-CPU bei jedem Takt die Daten- Adress- und Steuerleitungen verändert. So kann genau studiert werden, wie die einzelnen Befehle abgearbeitet werden.

Mikrocontoller-Projekte

USBasp Version 3

Das Projekt USBasp Version 3 ist ein Nachbau des "USBasp - USB programmer for Atmel AVR controllers" von Thomas Fischl: https://www.fischl.de/usbasp/. Bei diesem Projekt habe ich nur eine Leiterplatte (PCB) zu dem vorhandenen Schaltplan (siehe Link oben) und der vorhandenen Firmware entwickelt.

Archiv

Archiv Ronald Daleske

Archiv von älteren Projekten, die noch nicht gelöscht wurden:


Impressum Warenzeichen