CP/M-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Memberlist || Home || Statistik || Kalender || Staff Willkommen Gast!
[ Unofficial CP/M Website ] [ Z80 Family Support Page ] [ Forum-Regeln ] [ Impressum/Kontakt ] [ Datenschutzerklärung ]

CP/M-Forum » Softwareprojekte » Wie bekomme ich CP/M auf meinen Selbstbau-Rechner ? » Threadansicht

Autor Thread - Seiten: -1-
000
17.06.2013, 21:01 Uhr
DO6SP



Hallo Forum,

wie bekomme ich ein CP/M-System auf meinen Selbstbau-Rechner?

Beim Treffen in Clausthal-Zellerfeld haben wir (Hans-Werner,Jürgen und ich)
schon mal darüber gesprochen.
Es war die Rede von Disketten Images auf einem PC, die über eine RS232-Schnittstelle
dem Z-80-Rechner zur Verfügung gestellt werden.
Für mich klingt das ziemlich kompliziert.

Der von mir zusammen gebastelte Z80-Rechner besteht im Moment aus einer CPU-Karte mit:
- Z-80 CMOS CPU + 10 MHz Taktgenerator
- 1x 27C256 32kB EPROM als BIOS
- 2x 62C256 32kB SRAM
- das BIOS kann mit einem "OUT ($FF),A" abgeschaltet und gegen einen 62C256 ausgetauscht werden

Eine SIO-Karte mit:
- Z-80 CMOS CTC als Baudratengenerator
- Z-80 CMOS SIO mit MAX232 als RS232 Treiber (RxD,TxD,RTS,CTS)

Dann gibt es noch eine IDE-Karte in TTL-Technik und eine CRT-Karte mit
2kB Charaktergenerator-ROM und 1kB Bildwiederholspeicher.
Das ist alles auf Europa-Karten mit ECB-Bus in Fädeltechnik aufgebaut.

Ein kleines Monitor-Programm wird vom EPROM ins obere RAM ab Adresse $F000 kopiert und belegt circa 3kB.
Der Monitor arbeitet komplett ohne Interrupts und DMA, es wird lediglich der Stack ab Adresse $FFFF benutzt.
Neben den üblichen Monitorkommandos gibt es ein LOAD und SAVE via X-Modem Protokoll, einen minimalen Texteditor und ein Tool um einzelne Sektoren von einer Festplatte/CF-Karte zu lesen bzw. zu schreiben, jedoch ohne Filesystem.

Folgende Fragen tun sich bei mir auf:
1. Wo legt CP/M den Stack hin, oder ist es dem System egal, und wie groß wird der Stack im Betrieb?
2. Meine CONOUT- und CONIN-Routinen erwarten/erhalten die Daten im Akku, ist das ok?
Andere System übergeben die Daten in Register C.
3. Meine CONIN-Routine wartet so lange auf ein Zeichen, bis eins kommt, ohne Timeout-Abfrage ist das in Ordnung?
4. Gibt es eine Liste mit System-Routinen die vorhanden sein müssen?

Für Ideen und Hinweise jeglicher Art bin ich dankbar.

Gruß von der Ostsee
Patrick

Dieser Post wurde am 17.06.2013 um 21:03 Uhr von DO6SP editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
001
17.06.2013, 21:27 Uhr
Hein_Ko

Avatar von Hein_Ko

Hallo Patrick

Ich habe die ganzen CP/M-Anpassungen gerade hinter mir. Es ist ein recht mühseliger Weg. Du musst dir die Quellen zu CCP + BDOS besorgen und ein BIOS für dein System schreiben. Danach werden die "Pakete" mit einander verheiratet (gelinkt). Nach laden der BIOS-Routinen mit der Grundinitialisierung wird dann der CCP angesprungen. Den Stack habe ich (für mein BIOS) auf FFFFh gelegt. Es ist auch möglich, anstatt Urlader (für CF-Karte) ein Bootprom zu generieren. Dann müssen die Daten erst in das RAM umgeladen werden. Mein BIOS beginnt bei EA00h, der CCP beginnt bei D400h.

Am besten du schaust dir zuerst den mc-computer von RDK an. Dort findest du sehr wertvolle Hinweise. Ohne die Tips der netten Kollegen hier im Forum hätte ich wahrscheinlich aufgegeben. Hier gibt es einige Spezialisten, die es richtig gut drauf haben. (kein Scherz)

Grüße, Heinrich
--
Es gibt keine Probleme - nur Lösungen !

Dieser Post wurde am 17.06.2013 um 21:28 Uhr von Hein_Ko editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
002
20.06.2013, 20:54 Uhr
DO6SP



Hallo Heinrich,
danke für deine prompte Antwort.
Ich habe mir erstmal das CP/M Sonderheft aus dem Netz runtergeladen, und werde da mal reinschauen.
Grüße Patrick
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
003
20.06.2013, 22:18 Uhr
hschuetz

Avatar von hschuetz

Hallo Patrick,
alles zum MC -Computer findest du bei mir...schuetz.thtec.org
Hans-Werner
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
004
21.06.2013, 20:02 Uhr
m.haardt



Die Schaltpläne der Videokarte und des IDE-Interfaces interessieren mich sehr. Könntest Du mir die schicken? (idealerweise als PDF)

Michael
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
005
22.06.2013, 01:26 Uhr
DO6SP



@ Hans-Werner,
ich habe Dein Archiv schon längst geplündert
Aber ich habe noch längst nicht alles gesichtet.

@ Michael,
da muss ich Dich leider enttäuschen, denn es gibt keine kompletten Schaltpläne ala EAGLE.
Wenn ich in Fädeltechnik bastel, baue ich meine Schaltungen anhand von Blockschaltbildern und Pinbelegungen der verwendeten ICs auf. Ich mache mir lediglich einige Handskizzen mit Bleistift auf kariertem Papier. Ich bin halt von Natur aus faul.

Mein IDE-Interface besteht aus einem 74HCT138 und einem 74HCT85 als Hardware-Adress-Dekoder.
Dann hat es zwei 74HCT245 zum lesen, und zwei 74HCT374 zum schreiben der 16 Datenleitungen der IDE-Schnittstelle. Ein weiterer 74HCT374 ist für die Steuerung der Leitungen A0, A1, A2, /CS0, /CS1, /RD, /WR, /RESET zuständig. Die low-aktiven Signale sind über ein 74HCT04 geführt.
An dem Ausgang /DASP, der IDE-Schnittstelle (PIN 39) habe über einen Widerstand eine LED gegen +5V als HD-Busy Anzeige geschaltet.

Die CRT-Karte ist im wesentlichen, die im Buch "Mikrocomputer selbstgebaut und programmiert" von Rolf Dieter Klein auf Seite 136 beschriebene Karte, Den 7474 habe ich durch einen 1MHz Taktgenerator, den 74166 durch einen 74HCT165 und den 74327 (schwer zu beschaffen) sowie den BAS-Mischer durch einen 74HCT00 und zwei Transistoren ersetzt.
Vorsicht ist bei der oben genannten Schaltung geboten, weil die Anschlüsse R0 und R2 des 9364A vertauscht sind. Vgl. hierzu die PIN-Belegung auf Seite 398.
Den veränderten Pixelgenerator und Video-Mischer habe ich mir vom Video-Interface des MFA/BFZ Systems abgeschaut.

Auf der Arbeit könnte ich Dir die beiden Schaltungen mal einscannen, zusammen führen muss Du sie aber selber. Den Z80-Assembler-Code für die IDE-Routinen kannst Du auch gerne haben.
Schreib mir bei Bedarf eine E-Mail.

Schönes Wochenende
Patrick

Nachtrag zum IDE-Interface (hat mir sehr geholfen):
http://s100computers.com/My%20System%20Pages/IDE%20Board/IDE%20Controller%20Using%20an%208255%20and%2063B03.pdf

Dieser Post wurde am 22.06.2013 um 01:29 Uhr von DO6SP editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
006
22.06.2013, 23:27 Uhr
m.haardt



Hallo,

ich dachte, Deine CRT Karte käme ohne VDU aus, aber mit einem schwer erhältlichen Baustein ist sie weit weniger interessant. Ich sah mal irgendwann einen Schaltplan aus der DDR, wo eine CRT Karte ganz diskret mit akzeptablen Bauteilaufwand aufgebaut wurde, d.h. das geht durchaus.

Diese Version von IDE Interface kenne ich schon. Leider hat sie erhebliche Geschwindigkeitsnachteile und ich hoffte auf eine diskrete Version der GIDE, die kein TTL Grab ist.

Michael
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
007
23.06.2013, 11:14 Uhr
timetube

Avatar von timetube

Schau Dir mal das ROM-Listing vom ZX81 an. Die machen Vidio komplett mit wenigen diskreten standard Bausteinen und ansonsten Software. Genial, wenngleich auch ne menge Rechenleistung dabei drauf geht. Für Softwarerker wie mich ein echtes Fundstück.

j.
--
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt." Ein Stein.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
Seiten: -1-     [ Softwareprojekte ]  



gaby.de

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek