Skip to content

Dietrich-L/CPM-65-for-Apple-II

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

This repository contains the Apple II Port of CPM-65,
a CP/M-80 analogue operating system for 6502 based microcomputers


Apple II-1

System Requirements

Apple II 80 Column card in Slot 3 min 1 Floppy drive

My system is a vanilla Apple II clone

Emulation

AppleWin emulator, APPLE IIe emulation due to the 80 col card

CPM-65 Apple II Version

  System Structure

CPM-65 consists of 3 layers:

  • BIOS Basic I/O system - Drives can be A-D non consecutive.
  • BDOS Basic disc operating system - this is the CPM-65 kernel. Size 2 kB
  • CCP Console command program - a simple console which only allows to invoke CPM-65 programs.
    No resident commands. Size 1 kB

    In track 0, sector 0 resides a 256 bytes BOOT program, which loads CPM-65 to memory
    and starts the CCP.

    The system can boot from Slot# 6 or 5 (Drives A: or C:)


      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 $0800 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 an actual version as parameter 'extentsize 4096' is needed.
For the transfer of larger files, see separate documentation.

The Disc format is 35 tracks/ 16 sectors/ 256 byte/sector.
It is defined in the BIOS. The BDOS operates on sector numbers.


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
0.7
APPLE II CPM-65 BIOS
BOOT
0.4
APPLE II CPM-65 BOOT program in track 0, sector 0
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, 8 breakpoints, stepping, disassembler,...
DUTIL
1.5
disc sector editor
EDIT
1.1
Simple editor for text files & FORTH screens
ERASE
1.5
erase files
FDISK
1.0
Converts a DOS 3.3 disc to a bootable CPM-65 disc
FORTH
1.6
FIG FORTH including module for standalone applications
RENAME
1.1
rename files
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



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 Apple port of CPM-65 is currently work in progress. Expect errors and crashes.

The CPM-65 system itself 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.