Skip to content

Dietrich-L/CPM-65

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CPM-65
===========
Dietrich Lausberg <lausbergd@gmail.com>
https://github.com/dietrich-l

This repository contains CPM-65,
a CP/M-80 analogue operating system for 6502 based microcomputers

Junior Computer
Elektor Junior Computer - system setup

CPM-65 Screen System Disc
Screenshot system disc

 System Requirements

6502 processor 12 kByte RAM (not tested) 6532 I/O chip for the system timer (could be replaced by a 6522 or other) min 1 Floppy drive Serial-I/O

My system is a heavily modified and expanded Elektor Junior Computer with 57 kB RAM.
For system components and memory map see separate docs

 System Structure

CPM-65 consists of 3 layers:

  • BIOS Basic I/O system - currently 3 kB, could be reduced to 2kB
    by removing SCSI and I2C drivers. Drives can be A-H non consecutive.
    I/O console is serial TTY 1200 - 9600 Baud
  • BDOS Basic disc operating system - this is the CPM-65 kernal. Size 2 kB
  • CCP Console command program - a simple console which only allows
    to invoke CPM-65 programs. No resident commands. Size 1 kB

     File & Disc Format

Filenames are CP/M-style d:filename.ext with d <Drive A-H> Programs must have .COM as extension and are loaded to $0200 and started there.

The directory structure is nearly CP/M-compatible. Disk images can be read with appropriate tools
like CPMTOOLS, CIFE (CPM Image File Explorer) or CpmtoolsGUI. A disdefs file is in the IMAGES section.
Please use a recent version because parameter extentsize 8192 is needed.
The Disc format is typically 40 tracks/ 16 sectors/ 256 byte/sector. It is defined in the BIOS.
The BDOS operates on sector numbers.
Maximum sector number is $800 blocks with $20 sectors = 65536 sectors � 256 bytes = 16 MBytes

Software List

Program
Version
Description
ALLOC
2.9
shows disc allocation map
ASM
2.8
native 6502 Assembler
BASIC
1.5
Microsoft BASIC interpreter
BDOS
2.4
CPM-65 BDOS
BIOS
3.2
CPM-65 BIOS
BOOT
1.7
CPM-65 BOOT program in track 0, sector 0
BOOTPROM
3.2
Junior Computer BOOT EPROM
BROWSE
1.2
text file browser
CCP
1.5
CPM-65 CCP
COPY
1.4
multi file copy utility
D
2.2
show directory alphabetically sorted
DEBUG
1.8
Debugger with breakpoint capability
DRUCKER
1.0
Drucker Utility to control EPSON FX-80 printer
DUTIL
1.5
disc sector editor
EDIT
1.1
simple screen editor for text files and FORTH screens
EPROMMER
1.2
Utility to program 2716&2732 EPROMS with the ELEKTOR Eprommer
ERASE
1.5
erase files
FORMAT
2.4
Disc formatter
FORTH
1.6a
FIG FORTH including mudule for standalone applications
HEXMON
1.1
simple HEX monitor Elektor style
I2C-UTIL
1.3
Utility to handle I2C devices, esp. DS3231 RTC and AT24C32 EEPROM
RENAME
1.1
rename files
RFILE
1.1
reads a file through serial I/O
SCSIMGR
1.1
Utility to control and test SCSI devices
STEP
1.0a
Utility to set the steprate of ral floppy drives
SUPERTAP
1.4
Cassette I/O with 3600&7200 baud
SYS
1.6
puts code for BOOT, BIOS, BDOS, CCP into the system tracks
SYSGEN
1.0
copy operating system to another disc
TYPE
1.6
prints text file to screen
XMODEM
2.2
File transfer through serial I/O, max. 38400 Baud
All software is supplied as assembler files to be assembled with the CPM-65 assembler. 
In case you wish to use a different assembler, the syntax has to be adapted accordingly.

Documentation

Currently the documentation of CPM-65 is sparse and only for my personal needs.
I plan to write appropriate docs over time. If there are any whishes, please open a DISCUSSION

Errors

The CPM-65 system has now seen more than 30 years of service. Currently there are no known errors.

However, since an error free software does not exist, please report any errors in the ISSUE section

Other related systems

When I started the development of cpm-65, I was blissfully unaware of any other aproaches.
However there are some, most notably:

  • DOS/65 by Richard Leary. There is a limited compatibility
  • OUP/M by Jiang - Xiong Shao. Published 1983, no further development
  • CPM65 by David Given, published 2022

Redistribution

Source code, and all documents, are freely redistributable in any form. Please see the the COPYRIGHT file included in this Repository.

About

CP/M-80 analog operating system for 6502 CPU incl. Utilities

Topics

Resources

Stars

Watchers

Forks