Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » SCP-Programm ohne SCP? » Themenansicht

Autor Thread - Seiten: -1-
000
11.11.2008, 12:14 Uhr
Rüdiger
Administrator
Avatar von Rüdiger

Wie seht ihr die Chance, ein SCP-Programm ohne Betriebssysten lauffähig zu bekommen?
Hintergrund: Ich möchte mir HARDY auf EPROMs brennen und dann zur Diagnose von K1520 Hardwareproblemen benutzen.

Unter SCP ist das sehr ungünstig, weil
a) Der Speicher fehlerfrei sein muss
b) der Floppycontroller und die Laufwerken funktionieren müssen.
Da gerade da liegen häufig die Fehler.

Oder wäre der Weg einfacher, den Rechner irgendwie von der RAF2008 (mit SCP) zu booten?
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
11.11.2008, 14:38 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Prinzipiell ist das machbar. Ich kenne das Programm HARDY nicht. Unter CP/M dürfen Programme Adressen im Codebereich beschreiben (z..B. f. Variablen) oder sogar den Code verändern. Ein Umkopieren in den RAM auf Adresse 100h ist deshalb anzuraten. Außerdem brauchst Du minimal ein BIOS mit Konsole-E/A und ein BDOS. Letzteres hat auch Variablen in seinem Adressbereich und muß deshalb i.allg. auch im Speicher laufen.

Ung vielleicht geht ja folgendes: BDOS, BIOS, HARDY in einen Eprom brennen und mit einem Startprogramm versehen, was BDOS, BIOS an die korrekten Adressen verschiebt, eine Prüfsumme vergleicht (um ganz schlimme RAM-Fehler zu sehen) und dann HARDY nach 100h kopiert und dort startet.
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
11.11.2008, 14:43 Uhr
holm

Avatar von holm

Was ist denn HARDY und wie groß ist das?
(Schätze mal ein Testprogramm)

Ob eine RAF bootbar ist, entscheidet nicht die RAF sondern der primäre Loader,
auf der K2526 also der Bootrom. Ob dieser dann eine Routine im Eprom oder im RAM anspringt ist Wurscht, aber einfach ist das erst mal gar nicht, überhaupt nicht, wenn der Eprom eingelötet ist.

Besser wäre eine K2521, da hast Du immerhin 3K Rom aber auch 1K RAM in dem sich z.B. der Stack haltbar anbringen läßt. Ohne den Stack und damit funktionsfähigen RAM bekommst Du mit Sicherheit Dein HARDY auch nicht zum laufen..

Ich habe eine 4MHZ ZRE Karte (foto war schon mal hier) auf die ich vor Jahren einen ROM Monitor portiert habe (aus Praktische Mikrocomputertechnik). Die Karte hat 64K RAM und ROM, eine MMU sowie PIO, CTC und SIO on Board.
Den RAM der Karte kann ich in weiten Grenzen abschalten und damit auf den System RAM zugreifen und so Fehler finden.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
11.11.2008, 18:57 Uhr
Enrico
Default Group and Edit



Zitat:
Rüdiger schrieb

Oder wäre der Weg einfacher, den Rechner irgendwie von der RAF2008 (mit SCP) zu booten?

Wenn Du da noch so eine EPROM-Karte dazu steckst, könnte das gehen.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
11.11.2008, 19:43 Uhr
holm

Avatar von holm

@enrico: Auch wenn der RAM defekt ist?

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
11.11.2008, 21:13 Uhr
Enrico
Default Group and Edit


Das ist ein Problem. Also müsste das Prüfprog gleich auf die EPROM-Karte drauf. Was selbstgeschriebenes, das kein CPM brauch.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
11.11.2008, 22:10 Uhr
holm

Avatar von holm

Meine Rede. Deswegen schrieb ich auch von der K2521, weil die 1K on Board hat.

Ob das betreffende Programm selbst modifizierenden Code benutzt ist wieder eine andere Frage, mit hat ja keiner erklärt was das ist.

Empfehle Dissassembler...

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
12.11.2008, 08:25 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

selbst modifizierender Code: der Programm-Code wird vom Programm selbst gepatcht. Damit ist er nicht ROM-fähig. Häufig sieht man das etwa im Floppy-Treiber für den U8272, da sich hier Schreib- und Lese-Aufruf nur im Funktionscode (2 Byte) unterscheiden, der Rest der Routinen aber vollkommen gleich ist. So wird halt wertvoller Arbeitsspeicher gespart.
Prinzipiell muss man auch Variablen dazu rechnen, die nicht in einem eigenen data segment abgelegt sind, sonder mitten im Code plaziert sein dürfen.
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
12.11.2008, 20:14 Uhr
holm

Avatar von holm

Du bist ne Maus :-)

Logischerweise weiß ich als Programmierer was selbst modifizierender Code ist.
Was ich nicht weiß, ist was dieses HARDY ist, ob es solchen benutzt oder ROM-fähig ist.

*grin*

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 12.11.2008 um 20:14 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
12.11.2008, 21:39 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
holm schrieb
Was ich nicht weiß, ist was dieses HARDY ist,

Tipp die 5 Buchstaben doch einfach mal in der Suchfunktion auf der Website ein.
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
12.11.2008, 22:49 Uhr
holm

Avatar von holm

Ok, ja, ich denke das ich das schon mal gelesen habe.
Was testet das Programm eigentlich an Fehlern MIT denen CP/M überhaupt losläuft?
Die feststellung das sich der Urlader abschalten läßt finde ich z.B. Klasse, ohne das währe eh kein Bild zu sehen..

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
12.11.2008, 23:19 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
holm schrieb
Was testet das Programm eigentlich an Fehlern MIT denen CP/M überhaupt losläuft?

Punktuelle RAM-Fehler, OSS-Karte, Diskettenlaufwerke (außer dem Bootlaufwerk), Bildschirm.
Interessant ist vor allem der RAM-Test mit verlängertem Refresh-Zyklus.
Damit findet man auch beginnende RAM-Fehler.
--
Kernel panic: Out of swap space.

Dieser Beitrag wurde am 12.11.2008 um 23:20 Uhr von Rüdiger editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
12.11.2008, 23:22 Uhr
Enrico
Default Group and Edit


Da frage ich mich, wie das mit dem verlängerten Refresh-Zyklus geht.
Das ist doch bei der Z80 fest, immer bei M1.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
14.11.2008, 00:06 Uhr
Rüdiger
Administrator
Avatar von Rüdiger


Zitat:
Enrico schrieb
Da frage ich mich, wie das mit dem verlängerten Refresh-Zyklus geht.
Das ist doch bei der Z80 fest, immer bei M1.

Ich habe damit zumindest schon Fehler gefunden, die der normale Test übersehen hat.
--
Kernel panic: Out of swap space.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

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