Posts

Showing posts from 2025

Utilities

 The topic of utilities covers many things:  Tools to access disk images and file systems, cross compilers. cpmtools - Tools to access CP/M file systems. This package allows you to access CP/M file systems. It can be used for file exchange with a Z80-PC simulator, but it works on floppy devices as well. Commands available: cpmls - list sorted directory with output similar to ls, DIR, P2DOS DIR and CP/M3 DIR cpmcp - copy files from and to CP/M file systems cpmrm - erase files from CP/M file systems cpmchmod - change file permissions cpmchattr - change file attributes mkfs .cpm - make a CP/M file system fsck .cpm - check and repair a CP/M file system fsed .cpm - view CP/M file system ZXCC - CP/M 2/3 emulator for cross-compiling and running CP/M tools. This is John Elliott's CP/M 2/3 emulator for cross-compiling and running CP/M tools under Microsoft Windows and Linux/Unix/macOS using the latest version of the HI-TECH Z80 C compiler v3.09.  ZXCC is a two-purpose CP/M...

Emulators For CP/M

Image
 There are several good software emulators that allow you to run CP/M on modern systems.   These are the ones I worked with for this presentation.  They all can be run under Linux, Windows, and MacOS. With the exception of CPMemu which only supports Linux. Z80Pack  z80pack is a Zilog Z80 and Intel 8080 cross development package for UNIX and Windows systems distributed with all sources under a BSD style license.  The CPU emulations are generic and can be used to emulate any Z80 or 8080 based system, the I/O hardware abstraction is well isolated. Originally the software was written for emulation of proprietary Z80 controllers, to support development and testing.  This virtual computer system has then been used to r21546ebuild CP/M 1, CP/M 2, CP/M 3 and MP/M 2 completely from the sources. Also example implementations of CP/NET have been build, to network the virtual systems with this very early implementation of RPC (remote procedure calls). Additional d...

Modern Hardware

 There are several “new” Z-80 machines out there.  Small Computer Central  has three varieties: Modular backplane and cards.  The backplanes come in a few sizes: RCBus 40-pin (standard RC2014 bus) RCBus 80-pin (extended RC2014 bus) Z50Bus (LiNC 50-pin) Expandable single board computers (motherboards) Non-expandable single board computers (SBC) A good ROM bios for these systems is  RomWBW .  This is customizable and can even have a bootable CP/M system disk in the ROM image. The project also has a large selection of CP/M software packaged up as disk images. I am using the SC-131 the Z-180 Pocket Computer today to run all of the programming examples.  They also have systems with the Z-80 processor. CPUVille ,Designing, Building, and Selling Obsolete Computers -- for Educational Purposes -- since 2004 also has a Z-80 computer kit and accessories. There are even GitHub repositories with new Z-180 systems being designed, such as  YAZ180 .

Modern CP/M Tools

 Modern tools related to CP/M primarily involve emulators and utilities for interacting with CP/M systems and files. There are many modern ways to experience CP/M.  Modern Hardware – There are still systems being produced that can run CP/M today. Emulators – Software emulation of the processor and hardware allows you to run CP/M in your favorite modern environments Utilities – There are tool that run on Windows, Linux, and MacOS that allow you to manage disk images that are compatible with the emulators and with the proper equipment existing modern and legacy hardware

COBOL

 COmmon Business-Oriented Language COBOL is a compiled English-like computer programming language designed for business use. It is an imperative, procedural, and, since 2002, object-oriented language. COBOL is primarily used in business, finance, and administrative systems for companies and governments. COBOL is still widely used in applications deployed on mainframe computers, such as large-scale batch and transaction processing jobs. Many large financial institutions were developing new systems in the language as late as 2006, but most programming in COBOL today is purely to maintain existing applications. Programs are being moved to new platforms, rewritten in modern languages, or replaced with other software. COBOL statements have prose syntax such as MOVE x TO y, which was designed to be self-documenting and highly readable. However, it is verbose and uses over 300 reserved words compared to the succinct and mathematically inspired syntax of other languages. The COBOL code is ...

FORTRAN

Fortran, formerly FORTRAN, is a third-generation, compiled, imperative programming language that is especially suited to numeric computation and scientific computing. The first manual for FORTRAN describes it as a Formula Translating System, and printed the name with small caps, F ORTRAN . Other sources suggest the name stands for Formula Translator or Formula Translation. Fortran was originally developed by IBM with a reference manual being released in 1956;  however, the first compilers only began to produce accurate code two years later. Fortran computer programs have been written to support scientific and engineering applications, such as numerical weather prediction, finite element analysis, computational fluid dynamics, plasma physics, geophysics, computational physics, crystallography and computational chemistry. It is a popular language for high-performance computing[5] and is used for programs that benchmark and rank the world's fastest supercomputers. Fortran has evolved ...

C

 C is a general-purpose programming language. It was created in the 1970s by Dennis Ritchie and remains very widely used and influential. By design, C's features cleanly reflect the capabilities of the targeted CPUs. It has found lasting use in operating systems code (especially in kernels), device drivers, and protocol stacks, but its use in application software has been decreasing. C is commonly used on computer architectures that range from the largest supercomputers to the smallest microcontrollers and embedded systems. C is an imperative procedural language, supporting structured programming, lexical variable scope, and recursion, with a static type system. It was designed to be compiled to provide low-level access to memory and language constructs that map efficiently to machine instructions, all with minimal runtime support. Despite its low-level capabilities, the language was designed to encourage cross-platform programming. A standards-compliant C program written with port...

Pascal

 Pascal is an imperative and procedural programming language, designed by Niklaus Wirth as a small, efficient language intended to encourage good programming practices using structured programming and data structuring. It is named after French mathematician, philosopher and physicist Blaise Pascal. Pascal became very successful in the 1970s, notably on the burgeoning minicomputer market. Compilers were also available for many microcomputers as the field emerged in the late 1970s. It was widely used as a teaching language in university-level programming courses in the 1980s, and also used in production settings for writing commercial software during the same period. It was displaced by the C programming language during the late 1980s and early 1990s as UNIX-based systems became popular, and especially with the release of C++. UCSD Pascal formed the basis of many systems, including Apple Pascal. Borland Pascal was not based on the UCSD codebase, but arrived during the popular period ...

BASIC

  B eginners A ll-purpose S ymbolic I nstruction C ode BASIC is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College in 1963. They wanted to enable students in non-scientific fields to use computers. At the time, nearly all computers required writing custom software, which only scientists and mathematicians tended to learn. The first microcomputer version of BASIC was co-written by Bill Gates, Paul Allen and Monte Davidoff for their newly formed company, Micro-Soft. This was released by MITS in punch tape format for the Altair 8800 shortly after the machine itself, immediately cementing BASIC as the primary language of early microcomputers. Members of the Homebrew Computer Club began circulating copies of the program, causing Gates to write his Open Letter to Hobbyists, complaining about this early example of software piracy. Microsoft sold a CP/M BASIC com...