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 » Hardwareprojekte » System 84C15-10 mit CP/M » Threadansicht

Autor Thread - Seiten: [ 1 ] -2- [ 3 ] [ 4 ] [ 5 ]
025
22.08.2009, 14:30 Uhr
winielektronik



Hallo Rolf
habe ich schon gesucht war leider nichts dabei.
Aber ich habe gestern welche entdeckt, noch 4 Stück 10Slot-ECB Backplan
für 180€ netto pro Stk. + Vers.
Ist das ok?
Gruß Hansjörg
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
026
22.08.2009, 17:37 Uhr
HD64180CPM



Hallo Hansjörg,

hast Du einen Schreibfehler gemacht!

Ich würde keine 180,00 EUR pro Stück bezahlen.

SCHROFF BACKPLANE BUSPLATINE 12-fach 96-pol abc 3TE EUR 4,99 ohne Anschlüsse.

SCHROFF Busplatine 23007-010 Backplane 10 Slot C64F 3HE EUR 30,00 mit Wire-Wrap Anschlüsse.

Die SCHROFF Busplatine 23007-010 Backplane kann ich Dir empfehlen.
Habe mir auch gekauft.

Gruss
Rolf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
027
06.09.2009, 21:52 Uhr
winielektronik



Hallo Rolf
mit den Backplane ECB-BUS sieht es nicht gut aus.
Ich habe 4Stk 10Sockel aus Restposten aufgetrieben zu 180€ Netto.
4Stk sind mir zu viel und meine Kasse ist klamm.
Mache jetzt erst mal die Busanpassung und dann sehe ich weiter.
Trotzdem Danke

Gruß Hansjörg
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
028
07.09.2009, 00:07 Uhr
m.haardt



Hallo,

einfache Backplanes ohne daisy chains gibt es unbestückt zu kaufen, z.B. bei Reichelt "UP 940EP :: Laborkarte, Epoxyd, 128x203mm", 10 Steckplätze, 18,70 EUR. Natürlich kommen die Steckverbinder noch dazu, aber wenn man sonst gerade nichts bekommt, geht das durchaus.

Michael
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
029
08.09.2009, 21:58 Uhr
winielektronik



Hallo
also, mir ist einen Altes 19" 4HE Einschubgehäuse in die Finger gekommen.
Wir der Zufall so will ist ein Backplane mit 10Slot dabei.
Ich brauchte mir nur noch ein Netzteil einbauen und habe genau die richtige
Experimentier Plattform.
Es gab noch einige anpass hinternisse zu überwinden doch es hat sich gelohnt.
Meine 4x Z84C15- als 2x10, 8, 6 MHz Auführung laufen mit einem IDE Controller
50 Mb Quantum und als Laufwerk A: habe ich ein MMC-Karten Slot
Mein erstes geschriebenes EPROM-Brenner Programm läuft auch schon.
Jetzt muss ich erst mal Ordnung schaffen damit ich wieder Platz auf meinem Tisch habe.

Gruß Hansjörg
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
030
18.09.2009, 21:36 Uhr
winielektronik



Hallo Wolfram
habe mir eine Funkuhr in das System eingebunden.
Gibt es bei CP/M eine möglichkeit die Uhr einzubinden,
so das sie z.B. beim Ausdrucken übernommen und bei bedarf
gedruckt wird?

Wie läuft es bei dir? bist du schon weiter mit dem IDE-Controller.
Gruß Hansjörg
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
031
19.09.2009, 07:32 Uhr
proof80



Hallo Hansjörg,

unter CP/M-3 (bzw. -Plus) gibt es die Systemfunktionen zum Abfragen und Setzen von System-Uhrzeit und -Datum (BIOS-Funktion 26 und BDOS-Funktionen 104 und 105). Die werden z.B. für Zeitstempel im erweiterten Disketteninhaltsverzeichnis gebraucht. Der PROF-80 und andere Systeme (KC ...) machen das mit einem batteriegepufferten RTC-Baustein, was Dich aber nicht davon abhalten sollte, dafür die Funkuhr einzuschleifen ...

Bei Ausdrucken kommt das unter CP/M auf das druckende Programm an. Z80ASM hat eine Option, um in den Listings Datum und Zeit mit auszugeben. Das eine oder andere Programm lässt sich vielleicht noch patchen oder man gibt ihm beim Aufruf per Submit einen passenden Parameter mit.
Und bei eigenen Schöpfungen berücksichtigt man das am besten gleich mit

Mein IDE-Projekt kommt derzeit noch nicht weiter - der Beruf fordert seinen Tribut

Gruß, Wolfram

Dieser Post wurde am 19.09.2009 um 07:41 Uhr von proof80 editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
032
22.09.2009, 10:54 Uhr
winielektronik



Hallo Wolfram
ich überlege mir ob ich mir einen Taskprozess schreibe.
Ein Timer ist noch frei. Dann kann ich Programme Funkuhr, Drucken,
Bluetooth und Funkmodul (477MHz) im Hintergrung laufen lassen. Dazu hätte ich
noch ein LCD Display Anschluss frei wo ich diese anzeigen könnte.
Hast du schon mal ein Taskprozess geschrieben?
Dafür habe ich noch 2K Batt-I/O-SRAM frei die ich je nach Aufwand als Taskprozessverwaltung aufteilen kann.
Hauptspeicher habe ich zusätzlich noch ca. 48KB frei. Muss nur schauen das
die Programme mit relativen Sprüngen geschrieben sind, dann müsste es gehen.
Ich glaube das dies eine länger Sache wird.

Gruß Hansjörg
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
033
22.09.2009, 17:07 Uhr
proof80



Hallo Hansjörg,

unter Delphi auf einem Win2k-Rechner habe ich schon mal mit Tasks experimentiert (Hintergrundjob), aber auf einer Z80 unter CP/M noch nicht. Ich bin da auch nicht firm genug, um sowas in vertretbarer Zeit hinzubekommen.
Hört sich aber interessant an. Ich bin nur skeptisch, ob das mit einem konventionellen CP/M machbar ist. Gab es da nicht auch mal Multitasking-Ansätze? Sowas wie CCP/M (Concurrent CP/M) für Mehrplatzbetrieb?

Gruß, Wolfram
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
034
27.09.2009, 20:18 Uhr
winielektronik



Hallo Wolfram
ich muß mir erst mal ein überblick verschaffen. Funkuhr läuft Sync
des Zeittelegramm von DCF77 ist erfolgreich. Jetzt muß nur noch
die Zeitdaten in die RTC übernommen werden.
Mein Task Interrupt steuerung mach noch seltsame effekte
wenn ich CTC3 als Interrupt Timer in IM 2 setzte.

di ; int disable
im 2 ; int mode 2

ld a,40h
ld i,a ; Adr. high
ld a,0a7H ; Steuerreg.
out (ctc3),a
ld a,80h ; Zeitkonstande
out (ctc3),a
ld a,00 ; Interrupt Adr. low
out (ctc3),a
ei ; int Enable
...
...

Hat CP/M damit probleme?
Sprungtab. ist da, Int.Routine ist auf Adresse

-----------------------------

Ich habe auch festgestellt das die HCT Bauteile auf dem IDE-Controller
nicht geeignet sind. Führt zu sporatischen Lesefehler. Ersetzt durch LS Typen.

Gruß Hansjörg
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
035
01.10.2009, 11:50 Uhr
winielektronik



Hallo an alle
ich versuche gerade meine Funkuhr von einem Program in das BIOS
einzubinden. Dazu habe ich mit einem freien CTC timer ein 100ns
Zeitbasis geschrieben. Die soll dann per Interrupt IM 2 Mode
mir das Zeittelegramm von DCF77 einlesen.
Leider stürzt CP/M dabei ab. Die Int-Routine läuft noch durch,
Rücksprung EI, RETI dann geht nichts mehr. Register wuren gerettet
und wieder zurück. Was kann da schief laufen?????
Gruß Hansjörg
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
036
06.10.2009, 13:45 Uhr
winielektronik



Hallo Wolfram
Funkuhr ist fertig das Zeittelegramm von DCF77 wird in die RTC übernommen.
Jetzt soll die Funkuhr noch im hintergrund laufen. Die Hartware ist soweit
oK. Mein Taskosz. CTC3 läuft ohne CP/M aufruf. Sobalb ich den Interrupt
IM2 aktiviere und mit JP 0=Warmstart das Programm verlasse bleibt die CPU undeviniert stehen. Interrupt wird sonst nicht verwendet und auch nicht verändert. Programm Rücksprung ohne Interrupt der CTC3 läust CPU weiter. Hast du eine Idee?

Gruß Hansjörg
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
037
14.10.2009, 08:59 Uhr
winielektronik



Hallo Rolf,

habe bei eBay doch ein 19" Gehäuse mit ECB-BUS Backplane bekommen
mit PIO-Karte.
Jetzt kann ich meine Hartware entlich in ein geschlossenes System zusammenbauen.
Dann kann ich mich der Software wittmen und erst mal mit kleinen Tools anfangen.
Vieleicht trifft man sich mal bei einem Projekt.

Gruss
Hanjörg
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
038
14.10.2009, 11:48 Uhr
HD64180CPM




Zitat:
winielektronik postete
Hallo Rolf,

habe bei eBay doch ein 19" Gehäuse mit ECB-BUS Backplane bekommen
mit PIO-Karte.
Jetzt kann ich meine Hartware entlich in ein geschlossenes System zusammenbauen.
Dann kann ich mich der Software wittmen und erst mal mit kleinen Tools anfangen.
Vieleicht trifft man sich mal bei einem Projekt.

Gruss
Hanjörg

Hallo Hanjörg,

da in Deutschland wohl keiner mehr ECB-Boards fertig kann in Dir dieses empfehlen.

Einer meiner Homepage Seiten

http://www.hd64180-ecb.de/html/n8vem.html

und die Google Group N8VEM.

http://groups.google.com/group/n8vem?hl=de

Gruss
Rolf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
039
14.10.2009, 19:54 Uhr
proof80



Hallo Hansjörg,


Zitat:
winielektronik postete

di ; int disable
im 2 ; int mode 2

ld a,40h
ld i,a ; Adr. high
ld a,0a7H ; Steuerreg.
out (ctc3),a
ld a,80h ; Zeitkonstande
out (ctc3),a
ld a,00 ; Interrupt Adr. low
out (ctc3),a
ei ; int Enable
...


Sobald ich den Interrupt IM2 aktiviere und mit JP 0=Warmstart das Programm verlasse, bleibt die CPU undefiniert stehen. Interrupt wird sonst nicht verwendet und auch nicht verändert. Programm Rücksprung ohne Interrupt der CTC3 läuft CPU weiter.
Hast du eine Idee?

Gruß Hansjörg

Was macht Dein System alles nach einem Warmstart?
Und was macht da oben das IM2 in der Interruptroutine?
Kannst Du den Einsprung in die Interruptroutine verifizieren?
Du hast sie auf 4000h abgelegt. Der Bereich ist wohl freie TPA, oder?
Könnte sein, dass das CP/M Dir Deine hübsche Routine überschreibt
Oder hast Du irgendwie einen geschützten Bereich?
Spiel eine MMU mit rein? (Oder war es CP/M 2 bei Dir?)

Gruß, Wolfram



Gruß, Wolfram

Dieser Post wurde am 14.10.2009 um 20:05 Uhr von proof80 editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
040
14.10.2009, 20:27 Uhr
winielektronik



Hallo Wolfram
es ist CP/M 2.2 . Ich habe auch schon vermutet das mir die Int.Routine
überschrieben wird.
Bin gerade dabei das Programm nach oben zu verschieben. Mal schauen.
Weiter habe ich ein Knürr-Gehäuse mit 11Slot ECB-BUS Backplane dazu eine
mit 3xPIO- 1xCTC- Karte zusammen für 30€ bekommen.
Jetzt kann ich alles in ein geschlossenes System zusammenbauen.
Mit fehlen jetzt nur noch für die Karten vorne die Abschlussbleche mit
Kartenverbinder. Wo bekommt man sowas noch?

Gruß Hansjörg
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
041
14.10.2009, 22:55 Uhr
susowa




Zitat:
winielektronik postete
Interrupt wird sonst nicht verwendet und auch nicht verändert. Programm Rücksprung ohne Interrupt der CTC3 läust CPU weiter.

Vermutlich läuft Dein CP/M nicht mit aktiviertem IM2, sondern nur mit IM0 bzw. IM1, was i.d.R. vom Bootloader als eine der ersten Handlungen nach dem Einschalten des Systems festgelegt wird. Wird jetzt bei aktiviertem IM2 ein beliebiger (maskierbarer) INT ausgelöst, geht es durch den nicht definierten Vektor ins Nirwana.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
042
14.10.2009, 23:26 Uhr
HD64180CPM




Zitat:
winielektronik postete
Mit fehlen jetzt nur noch für die Karten vorne die Abschlussbleche mit
Kartenverbinder. Wo bekommt man sowas noch?

Gruß Hansjörg

Hallo Hansjörg,

ab und zu bei 3,2,1 meins unter der suche nach Schroff.
Bei Conrad gibt es die auch und bei Fischer und Schroff da aber nur als Wiederverkäufer.

Gruss
Rolf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
043
21.10.2009, 10:55 Uhr
winielektronik



Hallo
ich habe nochmal die Int.Routin neu geschrieben und gebe jetzt nach jedem
Aufruf ein Zeichen aus.
Ich benutze dazu mein Eingabeterminal und zwei weitere SIO Kanäle mit Terminal.
Wenn ich die Routine in einer Schleife laufen lasse und nicht beende
läuft der Interrupt und gibt Zeichen auf allen 3 Terminals aus.
Nach dem Rücksprung (Jp 0000h) bricht Int. ab.
Ein Disable Int (DI) oder (IMx) habe ich im BIOS/ BDOS nicht gefunden.
Ich vermute das es tiefer im CP/M passiert. Meine Int.Routine wird nicht
überschrieben. Kann ich mit DUMPX (RAM) noch finden.
Hat ihr eine Idee ?

Gruß Hansjörg
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
044
22.10.2009, 02:13 Uhr
Rainer




Zitat:
winielektronik postete
........
läuft der Interrupt und gibt Zeichen auf allen 3 Terminals aus.
Nach dem Rücksprung (Jp 0000h) bricht Int. ab.
Ein Disable Int (DI) oder (IMx) habe ich im BIOS/ BDOS nicht gefunden.
Ich vermute das es tiefer im CP/M passiert. Meine Int.Routine wird nicht
überschrieben. Kann ich mit DUMPX (RAM) noch finden.
Hat ihr eine Idee ?

Gruß Hansjörg

Es liest sich so , als ob Du die INTRoutine mit einem Jp 0000h verläßt - sollte das
wirklich der Fall sein und die Routine nicht mit dem erforderlichen RETI verlassen
werden , so bleibt das interne IntFF gesperrt und läßt keine weiteren
maskierbaren Int's mehr zu ( als wenn DI gewesen wäre ).

Gruß Rainer
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
045
22.10.2009, 09:32 Uhr
winielektronik



Hallo Rainer

müsste soweit richtig sein. Int läuft wie folgt ab:

;----------------------
di ; int disable
im 2 ; int mode 2

ld hl,tas
ld (9006h),hl ; für ctc3

ld a,90h
ld i,a ; Adr. high
ld a,0e7H ; Steuerreg.
out (ctc3),a
ld a,80h ; Zeitkonstande
out (ctc3),a
ld a,0 ; Interrupt Adr. low
out (ctc3),a
ei ; int Enable

--> hier Pausesschleife dann läuft Int.routine und gibt 'A' aus

jp 0000 ; dannach ist ende
;------------------------
TAS:
..
..
ld a,'A'
out (sioa),a
..
..
ei
reti
;------------------------

wo ist der Denkfehler, hast du eine Idee?
Gruß Hansjörg
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
046
22.10.2009, 13:19 Uhr
susowa



Wieso ins BIOS: jp 0000 ?

-> jp 5
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
047
22.10.2009, 19:14 Uhr
winielektronik




Zitat:
susowa postete
Wieso ins BIOS: jp 0000 ?

-> jp 5

Adr. 5 werden bei mir mit call 5 BIOS Funktionen aufgerufen,
und mit JP 0 ein Warmstart. Steht so in meinem Handbuch
und hat bisher funktioniert.
Um Programme zu beenden springt ich immer nach JP 0
Oder es geht auch anderst.
Beispiel ?

Gruß Hansjörg
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
048
22.10.2009, 20:35 Uhr
susowa




Zitat:
winielektronik postete
Adr. 5 werden bei mir mit call 5 BIOS Funktionen aufgerufen,
und mit JP 0 ein Warmstart. Steht so in meinem Handbuch
und hat bisher funktioniert.
Um Programme zu beenden springt ich immer nach JP 0
Oder es geht auch anderst.
Beispiel ?

Gruß Hansjörg

Entschuldigung - Unklarheit bei mir. Beide Varianten sollten gleichwertig sein, so geht das auch:

LD C,0 ;go to CP/M
CALL BDOS
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
049
23.10.2009, 00:14 Uhr
HD64180CPM




Zitat:
winielektronik postete
wo ist der Denkfehler, hast du eine Idee?
Gruß Hansjörg

Hallo Hansjörg,

LD A,H
LD I,A ; Interruptvektor, high Byte
IM 2 ; Z80 - Modus (IM 2)
EI

Gruss
Rolf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] -2- [ 3 ] [ 4 ] [ 5 ]     [ Hardwareprojekte ]  



gaby.de

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