Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
cpm:avrcpm [2015/02/19 13:09] – angelegt volkerp | cpm:avrcpm [2016/12/06 14:51] (aktuell) – volkerp | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== AVRCPM ====== | ====== AVRCPM ====== | ||
+ | |||
+ | http:// | ||
Ein kleines CP/M-System mit minimaler Hardware (AVR-CPU + Speicher). Das CP/M-System kommuniziert über eine serielle Schnittstelle mit einem Terminal (z.B. einem PC) | Ein kleines CP/M-System mit minimaler Hardware (AVR-CPU + Speicher). Das CP/M-System kommuniziert über eine serielle Schnittstelle mit einem Terminal (z.B. einem PC) | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | s.a. http:// | ||
+ | |||
+ | |||
+ | Erfinder dieses System ist (c) 2010 **Sprite_tm** (Jeroen Domburg) http:// | ||
+ | Von ihm stammen die grundlegende Minimal-Schaltung, | ||
+ | |||
+ | |||
+ | 2010-2013 wurden im mikrocontroller.net vor allem die komplette Z80-Emulation, | ||
+ | |||
+ | ===== Download ===== | ||
+ | |||
+ | * {{: | ||
+ | * {{: | ||
+ | |||
+ | |||
+ | die ehemals einzelnen Disketten stecken alle im 8MB-Image CPMDSK_D.IMG als USER: | ||
+ | |||
+ | < | ||
+ | 0 ASM, System | ||
+ | 1 SPL | ||
+ | 2 TURBO | ||
+ | 3 Spiele | ||
+ | 4 WS | ||
+ | 5 MP | ||
+ | 6 ALGOL | ||
+ | 7 FORTRAN | ||
+ | 8 PLI | ||
+ | 9 C | ||
+ | 10 HITECHC | ||
+ | 11 MUMATH | ||
+ | 12 AZTEC C | ||
+ | </ | ||
+ | |||
+ | |||
+ | Den Sourcecode vom mikrocontroller.net findet man hier: http:// | ||
===== Bedienung ===== | ===== Bedienung ===== | ||
Zeile 17: | Zeile 58: | ||
- | ==== Aufbau ==== | + | ===== Aufbau |
Hardwarevariante 3, als 8-Bit Version in USB-Stick Form ausgelegt | Hardwarevariante 3, als 8-Bit Version in USB-Stick Form ausgelegt | ||
Version 3.1 vom Marcel A. (dl1ekm), Datum: 27.12.2014 | Version 3.1 vom Marcel A. (dl1ekm), Datum: 27.12.2014 | ||
+ | |||
+ | http:// | ||
http:// | http:// | ||
- | der AVR ATMEGA328P wird mit folgenden Aufruf programmiert: | + | Die beiden benötigten 256k x 4bit-DRAMs habe ich von einer alten ISA-VGA-Grafikkarte abgelötet. |
+ | |||
+ | Der AVR ATMEGA328P wird mit folgenden Aufruf programmiert: | ||
< | < | ||
Zeile 42: | Zeile 87: | ||
Es ist zu beachten, dass bei den " | Es ist zu beachten, dass bei den " | ||
- | TX und RX nicht immer eindeutig ist. Bei machen Adaptern muss das vertauscht | + | TX und RX nicht immer eindeutig ist. I. Allg. müssen RxD und TxD über Kreuz verbunden |
< | < | ||
- | USBTTL CP/M-Stick | + | USBTTL |
- | 5V n.c. n.c. 5V | + | 5V n.c. n.c. 5V |
- | 3.3V gelb --------- | + | 3.3V gelb ---------\ /------- |
- | GND braun --------- | + | GND |
- | RxD orange ---------------------- orange TX | + | RxD |
- | TxD rot --------- | + | TxD |
+ | | ||
</ | </ | ||
- | ==== Disketten-Abbilder ==== | + | |
+ | ===== Disketten-Abbilder | ||
Es werden verschiedene Abbildformate unterstützt: | Es werden verschiedene Abbildformate unterstützt: | ||
Zeile 64: | Zeile 111: | ||
- reine 256K-Images, | - reine 256K-Images, | ||
- | für die CPMTOOLS sind folgende diskdefs für die übliche Format | + | für die CPMTOOLS sind folgende diskdefs für die beiden üblichen Formate |
< | < | ||
Zeile 93: | Zeile 140: | ||
- | ==== simulierte Hardware ==== | + | ===== simulierte Hardware |
* ~ 3 MHz Z80 CPU | * ~ 3 MHz Z80 CPU | ||
Zeile 101: | Zeile 148: | ||
* 16 virtuelle Laufwerke | * 16 virtuelle Laufwerke | ||
- | Es gibt eine Reihe Portadressen, | + | Es gibt eine Reihe Portadressen, |
+ | **Einschaltvorgang** | ||
+ | |||
+ | Nach dem Reset wird die " | ||
+ | Abschließend wird der erste Sektor des ersten Laufwerks gelesen. In diesem Sektor befindet sich ein 8080-Programm namens IPL (initial program loader, Urlader). Dieses Programm lädt CCP+BDOS+BIOS vom Laufwerk und startet CP/M. | ||
==== BIOS ==== | ==== BIOS ==== | ||
- | ==== CP/M ==== | + | ===== CP/M ===== |
bei Zugriff auf falsches Laufwerk - keine Chance, auf anderes LW zu kommen? | bei Zugriff auf falsches Laufwerk - keine Chance, auf anderes LW zu kommen? | ||
Zeile 114: | Zeile 165: | ||
+ | ====== GENCPM ====== | ||
+ | |||
+ | System auf Spur 0 schreiben: | ||
+ | |||
+ | < | ||
+ | A>power | ||
+ | A0=load cpm.bin 4000 | ||
+ | Last Address: | ||
+ | A0=write 0 1 4000 52 | ||
+ | </ | ||