Robotrontechnik-Forum

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

Robotrontechnik-Forum » Technische Diskussionen » [U] CAOS SYSTEM ROM » Themenansicht

Autor Thread - Seiten: -1-
000
06.11.2020, 10:53 Uhr
PIC18F2550

Avatar von PIC18F2550

Hallo,
ich möchte hier mal eine kleine Diskusion zum Betriebssystem des KC85/4... anschupsen.

Zur Zeit ist das Betriebssystem auf zwei EProms zu je 8k.
Das ist mitlerweile etwas zu knapp um neuerungen einzuarbeiten zu können.

Daher sollten wir uns die Frage stellen was das wichtigste ist.

Ich würde ein besser ausgestattetes Betriebssystem bevorzugen.

Ich würde den Steckplatz User-Rom mit den CAOS-C Rom tauschen.
So das über die zwei Adressleitungen am User-Rom mehr Speicher im CAOS-Rom zur verfügung steht.

oder alles so lassen und nur die zwei Adressleitungen auf den CAOS-C Rom legen, so das dort auch 32k verwendet werden können.

Ich habe noch ein älteres Versuchsmuster wo die Dekodierung hauptsächlich über die CS-Signale erfolgt.
Eine erweiterung könnte hier abhilfe schaffen.






--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
06.11.2020, 18:49 Uhr
ralle



Dann müsste statt des 27256 ein 27512 rein...
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
06.11.2020, 20:05 Uhr
maleuma



Die Speicherknappheit betrifft aktuell mehr den CAOS-ROM-E. Denn es gibt kaum noch Programmteile, die man problemlos in den ROM-C auslagern kann. Einen Großteil belegen zum Beispiel die BASIC-Erweiterungen, welche auch Routinen aus dem BASIC-ROM aufrufen und deshalb nicht selbst im CAOS-ROM-C laufen können.

Ansonsten wäre zunächst zu klären: mit welchen Signalen steuern wir die zusätzlichen Adressleitungen größeren ROM's an?
Bedingt frei sind nur noch die Bits 2, 3 und 4 des Ausgabeports 86h. Bei der von Frank vorgestellten Erweiterung des internen RAM auf 2MB wurden diese Signale jedenfalls schon einmal benutzt.

Es muss also ein neues Konzept her, was dann vermutlich aber nicht mehr kompatibel zum KC85/5 sein wird. Vielleicht gibt es aber noch andere Ideen?
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
06.11.2020, 20:21 Uhr
Bert



Wie wäre es mit einem weiteren Ausgabeport (z.B. Port 85h und Port 87h)?

Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
06.11.2020, 21:05 Uhr
ralle



Neue PIO?
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
06.11.2020, 22:27 Uhr
ambrosius



Ein 8212 müßte eigentlich reichen.
--
viele Grüße
Holger
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
06.11.2020, 23:03 Uhr
maleuma




Zitat:
Bert schrieb
Wie wäre es mit einem weiteren Ausgabeport (z.B. Port 85h und Port 87h)?

Grüße,
Bert

Das habe ich auch schon in Erwägung gezogen.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
07.11.2020, 09:40 Uhr
Andre.as



Etwas Ähnliches hatte ich auch schon auf dem Schirm, wollte mehrere „CAOS“ ablegen und einen Auswahlschalter zwischen die Modulschächte 8-C im inneren setzen.

Ist beim USER-ROM eine Modifikation je nach System durchgeführt worden?
Bis CAOS 4.5 benutze ich den originalen Speicherabzug der Module.
Die Frage geht eher Richtung CAOS 4.7 & 4.8.

Sonnige Grüße
Andreas
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
07.11.2020, 14:19 Uhr
PIC18F2550

Avatar von PIC18F2550

Hallo,
wenn ich die beiden beschrieben Brücken rein mache ständen pro /CS Signal 32k zur Verfügung.
Wird aber bestimmt nicht einfach mit der Software.
Bei Einsatz eines 29F040 ständen noch zwei weitere Adressen zu Verfügung.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
07.11.2020, 18:27 Uhr
maleuma



Also ein einfaches Verbinden der zwei Adressleitungen von Pin 26 und 27 des USER-ROM mit den gleichen Pins des ROM-C und ROM-E wird nicht funktionieren. Dann hast Du während BASIC eine andere System-ROM-Ebene sichtbar als z.B. bei EDIT oder TEMO.
Wenn wir mehrere Ebenen vom System-ROM machen, dann müssen diese unabhängig vom USER-ROM sein!
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
07.11.2020, 18:38 Uhr
maleuma




Zitat:
Andre.as schrieb
Etwas Ähnliches hatte ich auch schon auf dem Schirm, wollte mehrere „CAOS“ ablegen und einen Auswahlschalter zwischen die Modulschächte 8-C im inneren setzen.


Das sollte prinzipiell funktionieren.

Zitat:

Ist beim USER-ROM eine Modifikation je nach System durchgeführt worden?
Bis CAOS 4.5 benutze ich den originalen Speicherabzug der Module.
Die Frage geht eher Richtung CAOS 4.7 & 4.8.


Ja, das ist der Fall.
Die Programme im USER-ROM von CAOS 4.7/4.8 nutzen zum Beispiel die DEVICE-Kommandos, welche es bei 4.2 bis 4.5 noch nicht gab. EDIT, ASM & Co. werden also nicht mit früheren CAOS-Versionen laufen.
Umgekehrt sollte das möglich sein, dann hast Du bei CAOS 4.8 aber auch nicht den 80-Zeichen-Editor dabei.

Besser wäre für eine Umschaltung zwischen 2 CAOS-Versionen auch den USER-ROM mit zu wechseln. Dann brauchst Du 2x 27128 und 1x 27512 und müsstest die zusätzlichen Adressleitungen der drei ROM's auf den Umschalter legen.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
07.11.2020, 18:55 Uhr
Andre.as



Danke für die Info, dann kann ich bis 4.5 den gleichen User-ROM nehmen und danach ist eine Zuordnung notwendig.


Schönen Abend allen

Andreas
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
07.11.2020, 19:51 Uhr
PIC18F2550

Avatar von PIC18F2550

Mario,

nur auf den 1. Blick.

Zum jetzigen Stand währe in den 4 Ebenen von C & E das gleiche drinn.

C & User liegen doch im selben Adressbereich, gibt es Aufrufe von User die in C liegen?
Wenn Ja müssten die doch alle über E gehen.

Da wird wohl die variante etwas unpraktisch.

Ich hab ja noch was anderes in Arbeit aber dazu müsste ich etwas mehr Infos zu den Signalen haben.
Da im KC ja nur EPROMs sind könnte das Timing der CS Signale etwas Unsauber sein ohne das es Auswirkungen hat.
Hatt jemand Brauchbare Infos über Störsignale wenn CS aktiv ist?

Die Zweite frage bezieht sich auf E.
Wiviel Speicherplatz würdest Du benötigen wenn Du alle Routinen die länger als 6 Byts sind in C auslagern Könntest?
Berachte dabei C mal als "Unendlichen" Speicher.

Du brauchst in E nur die Eintritspunkte und Austrittspunkte zu beachten.
z.B CRT-Treiber
- PADR0
- PADR
- TCIF
- DABR
- CRT
- WPIX
- WPIXH1
...

Diese würden alle in einem Gemeinsamen segment in C stehen weil sie von ein ander abhängig währen.
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
08.11.2020, 18:22 Uhr
maleuma




Zitat:
PIC18F2550 schrieb
Zum jetzigen Stand wäre in den 4 Ebenen von C & E das gleiche drin.


OK, dann würde das jetzige CAOS erst einmal laufen.

Zitat:
C & User liegen doch im selben Adressbereich, gibt es Aufrufe von User die in C liegen?
Wenn Ja müssten die doch alle über E gehen.


Richtig.
Als Beispiel die BASIC-Erweiterung "SWITCH". Diese befindet sich im CAOS-ROM-E und ruft Unterprogramme im BASIC-ROM auf, um die Parameter des Befehlt zu erhalten. Danach wird mit den Parametern das CAOS-UP 26H über den Programmverteiler 5 aufgerufen. Der Einsprungpunkt des PV5 steht ebenfalls im ROM-E. Auch der Eintrittspunkt des UP 26H befindet sich im ROM-E, die eigentliche SWITCH-Routine jedoch im CAOS-ROM-C. Dafür wird der CAOS-ROM-C kurz eingeblendet und nach Rückkehr wieder ausgeblendet.

Zitat:

Die zweite Frage bezieht sich auf E.
Wieviel Speicherplatz würdest Du benötigen wenn Du alle Routinen die länger als 6 Byte sind in C auslagern Könntest?
Betrachte dabei C mal als "Unendlichen" Speicher.

Du brauchst in E nur die Eintrittspunkte und Austrittspunkte zu beachten.


Das ist schon schwerer zu beantworten. Im Quelltext stehen jede Menge Marken, die aber nicht unbedingt alles Eintrittspunkte sind. Vielmals gibt es aber aber schon Eintrittspunkte mitten in diese Routinen. Das müsste also für jede Marke einzeln untersucht werden.
Außer den Code-Segmenten befinden sich aber im ROM-E auch noch die ganzen Tabellen, wie Zeichenbildtabelle, Tastaturtabelle, Steuerzeichen-Tabelle, Menüworte, Interrupt-Tabelle ...
Das Prinzip habe ich schon verstanden. Auch hierzu ein Beispiel. Das CAOS-UP 33H benötigt 16 Byte im ROM-E und hat nur einen Eintrittspunkt:

Quellcode:

TCIF:    LD    A,(WINLG)
    SUB    1
    RET    C
    SUB    E
    RET    C
    LD    A,(WINLG+1)
    SUB    1
    RET    C
    SUB    D
    RET


Man könnte diese 16 Byte in ein Segment des ROM-C auslagern und dann im ROM-E nur den Aufruf dahin eintragen, benötigt aber noch einen Befehl zum Einschalten der ROM-C-Ebene und zum Abschalten nach dessen Ausführung. Übrig bleiben 9 bzw. 10 Byte, wenn das so funktionieren würde:

Quellcode:

TCIF:    LD    (CON1),A
    CALL    TCIF_C
    LD    (COFF),A
    RET


Das macht aber erst ab 10 Byte Sinn und nicht schon ab 6 Byte.
6 Byte wären nur dann möglich, wenn keine Weiterführung im ROM-E nötig ist und statt einen CALL in den ROM-C ein JP genutzt werden kann. Dann wäre der Befehl LD (COFF),A der vorletzte im ROM-C. Diesem folgt dann noch ein RET oder JP. Dann wird aber die Abschaltung des ROM-C sehr zeitkritisch! Oder im ROM-E steht einmal der Befehl zum Zurückschalten des ROM-C und jede Routine im ROM-C springt am Ende dort hin.
Die Sache hat natürlich auch einen Nachteil: Die CPU muss für die Schalterei noch zusätzliche Befehle abarbeiten, was die Programmabarbeitung etwas verlangsamt. Wieviel das ausmacht ???
Und man kann das im JKCEMU nicht testen/debugen solange diese Zusatz-Hardware nicht unterstützt wird.

Aber wie gesagt, wieviel sich damit umverlagern lässt müsste für jede einzelne Programmstelle separat untersucht werden.
--
Mario.

Dieser Beitrag wurde am 08.11.2020 um 18:24 Uhr von maleuma editiert.
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