Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
cpm:avrcpm [2015/02/19 13:34] – [Aufbau] 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)
  
  
-http://www.mikrocontroller.net/articles/AVR_CP/M+{{:cpm:avrcpm1.jpg?300|}} {{:cpm:avrcpm2.jpg?300|}}
  
  
-Erfinder dieses System ist (c) 2010 Sprite_tm http://spritesmods.com/?art=avrcpm\\ +s.a. http://www.retro-compi.de/index.php/avrcpm-projekte/cpm-stick 
-Von ihm stammen die grundlegende Schaltung und die 8080-CPU-Emulation sowie viele tolle Ideen in der Software.+ 
 + 
 +Erfinder dieses System ist (c) 2010 **Sprite_tm** (Jeroen Domburg) http://spritesmods.com/?art=avrcpm\\ 
 +Von ihm stammen die grundlegende Minimal-Schaltungdie 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>
  
-2010-2013 wurden im mikrocontroller.net vor allem die komplette Z80-Emulation, die Verwendung des FAT16-Filesystems anatelle 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! 
  
 +Den Sourcecode vom mikrocontroller.net findet man hier: http://www.mikrocontroller.net/svnbrowser/avr-cp-m/avrcpm/?sortdir=down
  
 ===== Bedienung ===== ===== Bedienung =====
Zeile 31: Zeile 63:
  
 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
 +
  
 Die beiden benötigten 256k x 4bit-DRAMs habe ich von einer alten ISA-VGA-Grafikkarte abgelötet. Die beiden benötigten 256k x 4bit-DRAMs habe ich von einer alten ISA-VGA-Grafikkarte abgelötet.
Zeile 52: 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>
 +
  
  
Zeile 74: 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 111: 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 ====
  
Zeile 124: 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.1424352893.txt.gz
  • Zuletzt geändert: 2015/02/19 13:34
  • von volkerp