Homepage
Ronald Daleske

Kontakt Impressum

Tabelle 1 - Beispielsammlung Ultibo-Core auf Raspberry PI (Bare Metal)


Installation Ultibo-Core unter Windows

Erstes Beispiel "Hallo Welt!"

Ultibo eigene Fonts und Zeichensätze

EMUZ80 RPI - Z80 / CP/M - Emulator auf Rapberry PI/PI2/PI3

EMUZ80 RPI ist ein CP/M-Emulator für den Z80 Prozessor auf dem Raspberry PI(2). Dabei wird der Emulator ohne Betriebssystem "Bare Metal" auf den Raspberry PI betrieben. Diese spezielle Anwendung startet in etwa 5 Sekunden.

Möglich wird diese neue Technologie durch einen Lazaus/Free Pascal-Cross-Compiler der Firma Ultibo.

Obwohl das Tool noch sehr neu ist, sind die viele Möglichkeiten bereits erkennbar. Das soll hier gezeigt werden.



table 2 - programming projects with ultibo core and raspberry pi (examples)


EMUZ80 RPI - Z80 / CP/M - Emulator on Rapberry PI/PI2/PI3 (CP/M on RaspberryPI)

EMUZ80 RPI is a CP/M emulator for the Z80 processor the Raspberry PI (2). Here is the emulator without an operating system "bare metal" operated on the Raspberry PI. This particular application will start in about 5 Seconds.

This project shows, what is possible with the Lazaus/Free Pascal-Cross-Compiler from Ultibo.

Example 01 - graphical programming with ultibo core - basic functions

Example 02 - graphical programming with ultibo core - using bitmaps

Example 03 - using GPIO with low level units and ultibo core

Example 04 - using GPIOs to drive the LC-Display SSD1289 (with shift register 74HC595)

Example 05 - using UART (low level)

Example 06 - LC-Display SSD1289 with Touch

Example 07 - GPIO switch

Example 08 - I2C

Example 09 - SPI

Example 10 - KeyboardRead



Tabelle 3 - Programmier-Projekte Lazarus / Free Pascal


EMUZ80 - Z80 / CP/M - Emulator

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.

RONPAS - AVR© PASCAL-Compiler

RONPAS 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. Als Programmer werden derzeit 3 Typen unterstützt.

CP/M-CONSOLE

CP/M-CONSOLE ist ein sehr komplexes Programm. Mit ihm kann die Softwareschnittstellen eines externen CP/M Computers über die serielle Schnittstelle des PCs bedient werden. Die Anforderungen an dieses Programm ergeben sich aus den definierten CP/M Schnittstellen, CONIN, CONOUT, READ, WRITE und zusätzlich BOOT. Nach dem Programmstart werden alle CP/M Dateien aus dem Ordner "CPM_DIR_IN" eigelesen. Daraus wird ein CP/M Image gebildet. Aus diesem Image werden die Daten für die READ und WRITE-Anweisungen gelesen bzw. geeschrieben. Ein zusätzliches Fenster zeigt alle Zeichen an, die über die CONOUT-Schnittstelle des CP/M Computers ausgegeben werden. Über die Tastatur des PCs können Zeichen an CONIN des CP/M Computers eingegeben werden.

SETERM - Serielles -Terminal

Ein einfaches Terminalprogramm zum Senden und Empfangen von Texten zur/von der seriellen Schnittstelle.

COM2INC

Ein Konsolen-Programm für die Nutzung in Batch-Scripten. Für das Projekt CPD5 müssen binäre CP/M COM-Dateien in ein Byte-Array in PASCAL-Syntax umgewandelt werden. Diese konvertierten Binärwerte werden als Includedatei in das PASCAL-Projekt übernommen und können so in den Mikrocontroller geladen werden.



Tabelle 4 - Z80 und CP/M-Projekte


CPD8a - CP/M Z80/µC Einplatinencomputer (2013/14)

Wahrscheinlich einer der CP/M-Computer mit dem geringsten Hardwareaufwand. Mit nur 3+1 Schaltkreisen wurde einen lauffähigen CP/M-Computer mit RAM-Floppy entwickelt. Nur die CONSOLE (Monitor/Tastatur) wird über einen PC oder einen Raspberry PI angeschlossen.

CPD5 - CP/M Z80/µC Einplatinencomputer (2012)

CPD5 ist ein CP/M Einplatinencomputer, der keinen separaten FLASH-ROM-Speicher mehr benötigt. Beim Erststart des Computers übernimmt ein Mikrocontroller das Initialisieren des Z80-Codes im Z80-Computer. Die enge Symbiose aus Z80-Computer und Mikrocontroller verleiht dem Gesamtsystem eine neue Qualität mit beeindruckenden Möglichkeiten. Programme und Daten werden in einer batteriegepufferten RAM-Floppy gespeichert.

CPD3 - CP/M Computer mit vielen Modulen (2011)

CPD3 ist eine Weiterentwicklung von CPD2 und soll nun auch unabhängig vom PC arbeiten können. Dazu wurde das Interface-Protokoll ITP in ITP2 erweitert. Die nun nutzbaren Hardware-Schnittstellen entsprechen prinzipiell den CP/M Schnittstellen (CONIN, CONOUT und FLOPPY). Viele Mikrocontroller gesteuerte Adapter verwandeln das System CPD3 in ein frei konfigurierbaren und sehr flexibel einsetzbaren Computer-Baukasten.

CPD2 - CP/M Computer mit Kopplung an einen PC (2010)

Nach dem Anfang der 1990er Jahre der erste CP/M Computer (CPD) nicht vollständig fertig gestellt wurde, sollte dies 2010 mit dem CPD2 vollendet werden. Das Ergebnis wird hier vorgestellt. Auf einer Universalleiterplatte wurde ein Z80 CP/M Computer aufgebaut, der alle Schnittstellen über USB/UART an eine PC leitet, auf dem ein Lazarus-Programm die Console und das Laufwerk vom PC aus bereitstellt.

CPD - der erste Versuch eines CP/M Computers (etwa 1989/90)

Nach einigen Anfangsprojekten sollte nun ein "richtiger" CP/M Computer entstehen. Grundlage bildeten die Schaltungen zum "BASIC-Kleincomputer mit Grafik von Bernd Hübler" aus dem Buch "Mikroelektronik in der Amateurpraxis" 3. Dieses Projekt wurde aber bis heute nicht fertig gestellt.

Z80/U880 Entwicklungssystem (etwa 1988/89)

Mein erster Z80/U880 Single-Board-Computer mit dem Namen ML.



Tabelle 5 - Mikrocontroller-Projekte


TXTVGA2 - VGA-Text-Grafikkarte (68x29 Zeichen)

Mit geringem Hardwareaufwand soll eine VGA-Text-Grafikkarte erstellt werden. Genutzt wird dazu ein ATMEGA 328P und ein 74LS165. Mit dem Taktsignal für den ATMEGA 328P von 20 MHz wird das Zeilensignal für den VGA Eingang durch serielles Ausschieben des 74LS165 erzeugt. Mit dieser Technik sind 68 Zeichen pro Zeile und 29 Zeichen pro Bild erzeugbar.

LCD-Modul LCM-5430-E

Das monochrome 10,4 Zoll LCD-Modul LCM-5430-E (640x200 Pixel) ist für Bastler bestens geeignet. Geringer Preis und einfache Ansteuerung über einen ATMEGA 644P machen ihn zum idealen Versuchsobjekt für eigene Projekte. An dieser Stelle sollen erste Erfahrungen, einige Umbauten und die Software für die Ansteuerung vorgestellt werden.

LCD-Controller für Display G648D

Der LCD-Controller übernimmt die Daten der Anzeige über die ITP2-Schnittstelle und zeigt sie auf dem monochromen Display G648D (640x200) an.

CPD-PS2-Tastatur

Für das CP/M-Projekt CPD3 wurden mehrere Peripheriegeräte entwickelt und gebaut. Allen ist gemeinsam, dass sie über die ITP2-Schnittstelle an das CP/M-Board angeschlossen werden. Die erste Baugruppe ist eine einfache Tastaturschnittstelle. Funktionell konvertiert sie die PS2-Schnittstelle in die ITP2-Schnittstelle. Umgesetzt wurde dies mit einem ATMEGA8 und dem AVRco PASCAL-Compiler.

CPD-VGAGEN2 - anspruchsvolle VGA-Grafikkarte (512x240 Pixel)

Aufbauend auf der einfachen VGA-Grafikkarte VGAGEN (Grundidee aus dem Projekt http://lucidscience.com) wurde eine recht anspruchsvolle VGA-Grafikkarte mit 3 Mikrocontrollern für das CP/M-Projekt CPD5 entwickelt, die die Nachteile der VGAGEN (geringe Auflösung, langsamer Bildaufbau) beseitigen sollte. Dies ist auch mit ATMEGA-Controllern sehr gut möglich. Allein der Aufwand ist etwas höher.

CPD-VGAGEN - einfache VGA-Grafikkarte (256x240 Pixel)

Für das CP/M-Projekt CPD3 wurde eine einfache VGA-Grafikkarte auf der Basis von http://lucidscience.com gebaut. Die Grafikkarte ist voll grafikfähig, kann aber auch als farbiger Textmonitor genutzt werden. Das VGA-Signal wird durch einen ATMEGA 644P erzeugt. Der Anschluss des Monitors erfolgt über einen analogen VGA-Anschluss.



Kontakt Impressum