Programming-Project
Ultibo / Lazarus / Free Pascal
of Ronald Daleske

Homepage Imprint Trademarks

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

Site in German / Seite auf deutsch

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.

Content

1. Raspberry PI, Bare Metal and Ultibo Core a new kind of software developement
2. Installation of the CP/M Emulator on the Raspberry PI(2)
3. Source code of the CP/M-Emulator
4. Lizense

1. Raspberry PI, Bare Metal and Ultibo Core a new kind of software developement

The idea to operate the Raspberry PI without a operating systemis, probably as old as the Raspberry PI itself.

In the recent years, many creative programmers have dedicated this theme.

In the appropriate forums, wikis and websites established the name "bare metal".

Here some examples:

All projects have shown that the Raspberry PI basically Bare Metal can program. But no project was a real alternative to the facility to offer the Arduino IDE provides for the Arduino microcontroller.

This has now changed.

The australian company:

developed a Lazarus / Free Pascal development environment for "Bare Metal" which offers the possibility for the first time, that even can devote application programmers to the topic of "Bare Metal".


2. Installation of the CP/M Emulator on the Raspberry PI(2/3)



The installation of Bare Metal programs on the Raspberry PI (2) is quite easy.

All you need is a blank SD card (or Micro-SD card for newer versions).

The SD card must formatted with the File System FAT or FAT32.

After then all files from the folder "boot" written directly to the SD card (inclusive the subfolders "CPM_LW_A" and "CPM_LW_B").

see also "Making a bootable SD card" and "Getting Started" on Ultibo.org


2.1. Boot-Files of the CP/M Emulator optimized for VT100 monitor with WordStar 3 (inverted)

Note: WordStar 3 is optimized for the CP/M resolution of 80x24 characters with inverted character representation.

CP/M Sample programs for RPI: 10_BOOT_RPI_EN_WS.ZIP

CP/M Sample programs for RPI2: 12_BOOT_RPI2_EN_WS.ZIP

CP/M Sample programs for RPI3: 14_BOOT_RPI3_EN_WS.ZIP


2.2. Boot-Files of the CP/M Emulator optimized for VT100 monitor with Turbo Pascal 3 und dBase III (not inverted)

Note: The Turbo Pascal Editor is optimized for the CP/M resolution of 80x24 characters without inverted character representation.

CP/M Sample programs for RPI: 20_BOOT_RPI_EN_TP_DB.ZIP

CP/M Sample programs for RPI2: 22_BOOT_RPI2_EN_TP_DB.ZIP

CP/M Sample programs for RPI3: 24_BOOT_RPI3_EN_TP_DB.ZIP


2.3. Boot-Files of the CP/M Emulator optimized for VT100 monitor with maximum line count

CP/M Sample programs for RPI: 30_BOOT_RPI_EN_BAS_ASM_M2.ZIP

CP/M Sample programs for RPI2: 32_BOOT_RPI2_EN_BAS_ASM_M2.ZIP

CP/M Sample programs for RPI3: 34_BOOT_RPI3_EN_BAS_ASM_M2.ZIP


3. Source code of the CP/M-Emulator (Version 2.2, March 08,2017)

This source code use the Ultibo core Version 1.3.077 (Dec 28, 2016).

CP/M Emulator EMUZ80 for Raspberry PI : EMUZ80_RPI.ZIP

Testet on RaspberryPi B and RaspberryPi A+.

CP/M Emulator EMUZ80 for Raspberry PI 2: EMUZ80_RPI2.ZIP

Testet on RaspberryPi 2B.

CP/M Emulator EMUZ80 for Raspberry PI 3: EMUZ80_RPI3.ZIP

Testet on RaspberryPi 3B.


4. Lizense

Creative Commons Lizenzvertrag
This Project of Ronald Daleske are lizensed under Creative Commons Attribution-NonCommercial 3.0 Unported.


keine Mängelgewähr

DIESE SOFTWARE WIRD VOM URHEBERRECHTSINHABER "OHNE MÄNGELGEWÄHR" BEREITGESTELLT. ALLE AUSDRÜCKLICHEN ODER STILLSCHWEIGENDEN GEWÄHRLEISTUNGEN, EINSCHLIESSLICH DER STILLSCHWEIGENDEN GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT UND EIGNUNG FÜR EINEN BESTIMMTEN ZWECK (JEDOCH NICHT DARAUF BESCHRÄNKT), WERDEN AUSGESCHLOSSEN. DER URHEBERRECHTSINHABER IST IN KEINEM FALL UND NACH KEINER HAFTUNGSTHEORIE (SEI ES AUF VERTRAGSBASIS, AUF DER BASIS STRENGER HAFTUNG ODER UNERLAUBTER HANDLUNGEN, EINSCHLIESSLICH FAHRLÄSSIGKEIT) FÜR BELIEBIGE VERURSACHTE DIREKTE, INDIREKTE, ZUFÄLLIGE, BESONDERE, EXEMPLARISCHE SCHÄDEN ODER FOLGESCHÄDEN (EINSCHLIESSLICH, JEDOCH NICHT BESCHRÄNKT AUF BESCHAFFUNG VON ERSATZPRODUKTEN ODER -LEISTUNGEN, NUTZUNGSAUSFALL, DATEN- UND GEWINNVERLUST ODER GESCHÄFTSAUSFALL) HAFTBAR, DIE AUFGRUND DER VERWENDUNG DIESER SOFTWARE ENTSTEHEN KÖNNEN. DIES GILT AUCH, WENN AUF DIE MÖGLICHKEIT SOLCHER SCHÄDEN HINGEWIESEN WURDE.


THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.




Homepage Imprint Trademarks