Hardware > Emulatoren

Magic_PC mit zu hoher Prozessorlast

<< < (6/8) > >>

Thorsten Otto:
Ah, mit Pause hatte ich falsch verstanden, wenns da idle ist, ist ja gut.

Ob mit oder ohne Emulation ist schon ein Unterschied (zumindest solange MagiC geladen wird und nicht ein anderes OS). Den MagiC Kernel kann ich ändern, da gibt es Sourcen für. Also zumindest theoretisch, wie schon beschrieben haben die bisherigen Versuche nicht den gewünschten Erfolg gebracht.

Was der Emulator sonst macht, wenn (noch) nichts emuliert wird, kann ich leider nicht beeinflussen, aber das erachte ich als das kleinere Problem.

Dabbeljubie:

--- Zitat ---Ah, mit Pause hatte ich falsch verstanden, wenns da idle ist, ist ja gut.
--- Ende Zitat ---
Ja, das habe ich gemerkt. Also, die drei Phasen/Zustände, die ich dort oben beschrieb, sind die Programmzustände, in denen MPC keine Proz-Überlast hat, also Däumchen dreht, alles gut.

Du suchst vermutlich dort, wo das Problem gar nicht ist. Das, was du veränderst, ist MagiC_PC.os Wenn du das mal wegläßt (aus dem Verzeichnis entfernst) oder die Magic_PC.exe ganz allein in einem ansonsten komplett leeren Verzeichnis startest -> hohe Last! Klappe dann ein Fenster-Menü runter -> Däumchen-Modus.

Thorsten Otto:
Du verstehst mich nicht. Ist mir schon klar daß das Problem in der exe liegt, nur kann ich es dort nicht beheben. Ich kann lediglich versuchen es im MagicOS-Kernel zu beheben.

Dabbeljubie:
Ich denke/glaube schon, dass wir uns gegenseitig verstehen. :)

Für mich ist allerdings nicht ersichtlich, wie du ein Problem, das in der Magic_PC.exe besteht, dann in MagiC_PC.os lösen willst?

Ich denke, man müsste den Programmierer der MagiC_PC.exe fragen, ob er einen Tipp geben kann. Ich persönlich habe mich auf Assembler-Ebene nur am 68k (Atari) und 6502 (C64) betätigt. Den x86 kenne ich überhaupt nicht, daher ist reassemblieren für mich keine Option.

Thorsten Otto:
Ich versuch es so ähnlich zu lösen wie in Aranym auch. Es gibt im wesentlichen zwei Stellen im OS bei denen der Atari in einer busy-loop ist, deren Zustand sich lediglich durch auftreten eines Interrupts ändern kann: bei Bconin(), und im AES wenn alle Prozesse auf Ereignisse warten, aber keines verfügbar ist.

Aranym emuliert an dieser Stelle die STOP-Instruktion, die MINT/EmuTOS ausführen. MagicPC verkraftet das offensichtlich nicht, aber es gibt die Möglichkeit eigene DLLs einzubinden und vom Atari aus aufzurufen, das habe ich versucht, und rufe dort WIndows-Funktionen die eigentlich CPU zeit abgeben sollen. Klappt nur bisher nicht wie erwünscht.

Aber das alles hatte ich oben schon beschrieben.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln