Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
cpm:avrcpm [2015/02/19 13:09] – angelegt volkerpcpm:avrcpm [2016/12/06 14:51] (aktuell) volkerp
Zeile 1: Zeile 1:
 ====== AVRCPM ====== ====== AVRCPM ======
 +
 +http://www.mikrocontroller.net/articles/AVR_CP/M
  
 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)
  
 +
 +{{:cpm:avrcpm1.jpg?300|}} {{:cpm:avrcpm2.jpg?300|}}
 +
 +
 +s.a. http://www.retro-compi.de/index.php/avrcpm-projekte/cpm-stick
 +
 +
 +Erfinder dieses System ist (c) 2010 **Sprite_tm** (Jeroen Domburg) http://spritesmods.com/?art=avrcpm\\
 +Von ihm stammen die grundlegende Minimal-Schaltung, die 8080-CPU-Emulation sowie viele tolle Ideen in der Software (z.B. die  DRAM-Ansteuerung und die Nutzung von Ports zur Kommunikation mit dem AVR). ((Um seine Arbeit zu würdigen, lohnt sich ein Blick in seine originalen Quellcodes!))
 +
 +
 +2010-2013 wurden im mikrocontroller.net vor allem die komplette Z80-Emulation, die Verwendung des FAT16-Filesystems anstelle spezieller CP/M-Partitionen und viele Verbesserungen in der Software und auch in der Hardware vorgenommen, die zu einem ca. fünffachen Tempo gegenüber der ursprünglichen Variante führten!
 +
 +===== Download =====
 +
 +  * {{:cpm:avrcpm.zip|}} Diskettenimages, Hex-File zum Flashen
 +  * {{:cpm:avr-src-vp.zip|}} Quellcode AVR
 +
 +
 +die ehemals einzelnen Disketten stecken alle im 8MB-Image CPMDSK_D.IMG als USER:
 +
 +<code>
 +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
 +</code>
 +
 +
 +Den Sourcecode vom mikrocontroller.net findet man hier: http://www.mikrocontroller.net/svnbrowser/avr-cp-m/avrcpm/?sortdir=down
  
 ===== 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://www.retro-compi.de/index.php/avrcpm-projekte/cpm-stick
  
 http://www.mikrocontroller.net/topic/177481?page=4#3941030 http://www.mikrocontroller.net/topic/177481?page=4#3941030
  
  
-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:
  
 <code> <code>
Zeile 42: Zeile 87:
  
 Es ist zu beachten, dass bei den "China"-USB/Seriell-Adaptern die Beschriftung für Es ist zu beachten, dass bei den "China"-USB/Seriell-Adaptern die Beschriftung für
-TX und RX nicht immer eindeutig ist. Bei machen Adaptern muss das vertauscht werden.+TX und RX nicht immer eindeutig ist. I. Allg. müssen RxD und TxD über Kreuz verbunden werden. 
  
 <code> <code>
-USBTTL CP/M-Stick+USBTTL                                  CP/M-Stick
  
-5V n.c. n.c. 5V +5V      n.c.                            n.c.    5V 
-3.3V gelb ---------      ------- braun GND +3.3V    gelb    ---------\    /-------  braun   GND 
-GND braun ---------      ------- rot RX +GND     braun   ----------\--/    /---  rot     RX 
-RxD orange ---------------------- orange TX +RxD     orange  -----------\-----/----  orange  TX 
-TxD rot ---------      ------- gelb 3.3V+TxD     rot     ------\     \---/-----  gelb    3.3V 
 +                       \-------/
 </code> </code>
  
  
-==== Disketten-Abbilder ====+ 
 +===== Disketten-Abbilder =====
  
 Es werden verschiedene Abbildformate unterstützt: Es werden verschiedene Abbildformate unterstützt:
Zeile 64: Zeile 111:
   - reine 256K-Images, s. dpbdat_avrcpm   - reine 256K-Images, s. dpbdat_avrcpm
  
-für die CPMTOOLS sind folgende diskdefs für die übliche Format (256K und 8MB) geeignet.+für die CPMTOOLS sind folgende diskdefs für die beiden üblichen Formate (256K und 8MB) geeignet.
  
 <code> <code>
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, über die die virtuelle CP/U mit der AVR-Umgebung kommuniziert. s. config.inc, Z80-seitig virt_ports.asm+Es gibt eine Reihe Portadressen, über die die virtuelle CPU mit der AVR-Umgebung kommuniziert. s. config.inc, Z80-seitig virt_ports.asm
  
  
 +**Einschaltvorgang**
 +
 +Nach dem Reset wird die "Hardware" initialisiert (RAM-Test, Suche der Laufwerke, ...)
 +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:
 +
 +<code>
 +A>power
 +A0=load cpm.bin 4000 
 +Last Address:59FFH    52 sectors
 +A0=write 0 1 4000 52
 +</code>
  
  • cpm/avrcpm.1424351359.txt.gz
  • Zuletzt geändert: 2015/02/19 13:09
  • von volkerp