Robotrontechnik-Forum

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

Robotrontechnik-Forum » Technische Diskussionen » [CAOS 4.2] IX, IY und AF' ... » Themenansicht

Autor Thread - Seiten: -1-
000
12.04.2026, 08:22 Uhr
Asato

Avatar von Asato

Moin,

gestern habe ich bei einem kleinen Programm u. a. IX, IY und AF' verwendet und dabei ein kurioses Programmverhalten beobachtet, das im Debugger schließlich den Verdacht begründete, dass CAOS im Hintergrund aktiv ist und diese Register teilweise nutzt. Kann das sein?

Grüße

Steffen
--
https://unchainedgroup.wordpress.com/
https://codeberg.org/Asato
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
12.04.2026, 11:00 Uhr
susowa



IX ist tabu.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
12.04.2026, 13:16 Uhr
Asato

Avatar von Asato

Mag sein, für meine Zwecke bin ich bare metal unterwegs, brauche CAOS also nicht.

Ich nehme an, dass CAOS auf den PIO und CTC Interrupts meinem Programm dazwischenfunkt, oder gibt's noch andere Quellen?
--
https://unchainedgroup.wordpress.com/
https://codeberg.org/Asato
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
12.04.2026, 13:48 Uhr
maleuma



IX wird als Zeiger für Systemarbeitszellen benutzt, also auch für den Tastaturinterrupt beispielsweise. Wenn du IX ändern willst, dann nur über das CAOS-Unterprogramm SIXD - siehe Handbuch.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
12.04.2026, 14:42 Uhr
Bert




Zitat:
Asato schrieb
Mag sein, für meine Zwecke bin ich bare metal unterwegs, brauche CAOS also nicht.


Naja, solange Du Dein Programm mit CAOS lädst und startest, gelten auch erstmal die Regeln von CAOS.
Siehe CAOS-Handbuch, Kapitel '3.14 Spezielle Systembedingungen'.


Zitat:

Ich nehme an, dass CAOS auf den PIO und CTC Interrupts meinem Programm dazwischenfunkt, oder gibt's noch andere Quellen?


Siehe Handbuch 'Kapitel 3.6.6 Interrupttabelle'.
Neben PIO und CTC für die Tastatur kommen ggf. noch Interrupts durch die Module M003, M021 und M052 dazu.
--
Viele Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
12.04.2026, 14:52 Uhr
maleuma



Wenn Du CAOS nicht brauchst, kannst du den CAOS-ROM auch wegschalten.
Dann musst Du aber auch alle Interruptquellen so uminitialisieren, dass keine Interrupts mehr in den CAOS-ROM gehen.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
12.04.2026, 16:41 Uhr
Asato

Avatar von Asato


Zitat:
Bert schrieb
Naja, solange Du Dein Programm mit CAOS lädst und startest, gelten auch erstmal die Regeln von CAOS.
Siehe CAOS-Handbuch, Kapitel '3.14 Spezielle Systembedingungen'.



In meiner Originalausgabe von Juli 1988 gibt's den Abschnitt nicht (aber im 3.12 steht etwas) .. Klar, CAOS startet, aber danach brauche ich es nicht mehr, so dass ich meine eigenen Regeln nach dem Start machen kann .. mich wundert nur, dass offenbar auch AF' neben IX betroffen ist *kopfkratz* ... als alter DOSianer bin ich irritiert über Systeme, die mir Prozessorregister wegnehmen, schlechter Stil bei einem Prozessor, der nur so wenig hat


Zitat:
Bert schrieb
Siehe Handbuch 'Kapitel 3.6.6 Interrupttabelle'.
Neben PIO und CTC für die Tastatur kommen ggf. noch Interrupts durch die Module M003, M021 und M052 dazu.



Okay, guter Hinweis!


Zitat:
Mario schrieb
Wenn Du CAOS nicht brauchst, kannst du den CAOS-ROM auch wegschalten.



Ah, interessant! Hab ich schon gesucht, aber nicht gefunden. Wie macht man das? Kann ich dann auf den Speicherbereich, in den CAOS gemapped ist, direkt zugreifen?


Zitat:
Mario schrieb
Dann musst Du aber auch alle Interruptquellen so uminitialisieren, dass keine Interrupts mehr in den CAOS-ROM gehen.



Genau, das interessiert mich, aber mehr als PIO und CTC gibt's im Basismodell D001 Auslieferungszustand vom Band - mal abgesehen von Zusatzmodulen, die Bert erwähnte - nicht, oder? Würde ich die von mir nicht benötigten Interruptroutinen deaktivieren ...

Grüße

Steffen
--
https://unchainedgroup.wordpress.com/
https://codeberg.org/Asato
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
12.04.2026, 19:08 Uhr
Bert




Zitat:
Asato schrieb
.. mich wundert nur, dass offenbar auch AF' neben IX betroffen ist *kopfkratz* ...


Bei welcher Gelegenheit macht sich das mit AF' bemerkbar? Kann man das irgendwie nachstellen? Betrifft es eher A' oder eher F'?



Zitat:

Ah, interessant! Hab ich schon gesucht, aber nicht gefunden. Wie macht man das?


Port 88h, Bit 0 ausschalten. Vorher mit DI alle Interrupts abschalten:

Quellcode:

PIOADAT EQU 88h

  DI
  IN A, (PIOADAT)
  RES 0, A
  OUT (PIOADAT), A




Zitat:

Kann ich dann auf den Speicherbereich, in den CAOS gemapped ist, direkt zugreifen?


Der CAOS-ROM geht von E000h bis FFFFh. Nach dem Wegschalten ist da nix mehr und man liest von allen Speicherstellen FFh. Dafür sorgen die Pullups an den Datenleitungen.
Auf was willst Du da direkt zugreifen?
--
Viele Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
12.04.2026, 23:40 Uhr
susowa




Zitat:
Bert schrieb

Auf was willst Du da direkt zugreifen?


Dann könnte man ab C000H bis FFFFH mit einem Block des M011 oder mit dem M022 etwas Sinnvolles tun.

Btw: Das AF' von CAOS in Beschlag genommen wird, wäre mir neu. Das könnte dann sozusagen ein bisher "unentdecktes" Feature sein.

MfG

Dieser Beitrag wurde am 12.04.2026 um 23:40 Uhr von susowa 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