Software > Alternative Betriebssysteme
Quellen von Magic, Magxdesk, u.a. auf gitlab ...
Ektus:
--- Zitat von: Thorsten Otto am Do 13.12.2018, 09:05:08 ---
--- Zitat ---ein komplett durchlauf von CAT benötigt fast 6 Minuten.
--- Ende Zitat ---
Meinst du das Maustausch-Programm CAT? Wow, hätte nicht gedacht daß das noch jemand benutzt.
--- Ende Zitat ---
Wieso nicht? Bei mir ist es nach wie vor täglich im Einsatz, Maustausch mit der letzten verbliebenen Maus (Berlin) und per In2CAT mit einem POP3-Postfach.
KarlMüller:
Im Anhang hätte ich die Datei kernel/bios/milan/doc/mmilan.txt. Ich habe die Struktur MILAN_OS an den tatsächliche Zustand angepasst.
In MagicMac/kernel/aes/aesevt.s ist mir was auf gefallen:
--- Code: ---* FPU retten
tst.b is_fpu ; LineF- FPU installiert ?
beq.b ad_no_fpu ; nein!
fsave -(sp)
IF MC68060
tst.b 10(sp)
ELSE
tst.b (sp) ; NULL/IDLE/BUSY- Flag
ENDIF
beq.b ad_no_fpu ; NULL
fmovem.x fp0-fp7,-(sp) ; Datenregister
fmovem.l fpcr/fpsr/fpiar,-(sp) ; Statusregister
move.w #-1,-(sp) ; Flag fuer "FPU komplett gesichert"
--- Ende Code ---
Es gibt das Symbol MC68060, welches in der Datei explizit gesetz werden muss. So funktioniert das auf dem 60860 nicht richtig. Ich frage mich ob es wirklich Sinn macht da ne spezielle Abfrage zumachen und nicht einfach gernerel die Register der FPU retten. Ob das zeitlich jetzt so ins Gewicht fällt.
Thorsten Otto:
--- Zitat von: KarlMüller am So 16.12.2018, 09:51:44 ---Im Anhang hätte ich die Datei kernel/bios/milan/doc/mmilan.txt.
--- Ende Zitat ---
Danke dir, ist geändert. Scheint aber nur die Dokumentation zu betreffen, in milan.inc stand das schon so drin.
--- Zitat ---In MagicMac/kernel/aes/aesevt.s ist mir was auf gefallen:
--- Ende Zitat ---
Huks, das ist natürlich ungeschickt. Muss ich mir mal genauer anschauen, wells auch '030 betrifft.
--- Zitat ---Ich frage mich ob es wirklich Sinn macht da ne spezielle Abfrage zumachen und nicht einfach gernerel die Register der FPU retten. Ob das zeitlich jetzt so ins Gewicht fällt.
--- Ende Zitat ---
Ich frage mich eher ob das überhaupt notwendig ist, kann mich nicht erinnern daß TOS 3.06 das macht. Auch EmuTOS macht das nicht. Wobei die natürlich auch nur umschalten wenn die App gerade einen AES-Aufruf macht.
Thorsten Otto:
Den FPU-Check im AES hab ich jetzt geändert. Den Test auf NULL-Frame kann man nicht so einfach rausnehmen wie ich feststellen musste, weil an ein paar anderen Stellen (z.B. wenn eine neue APP gestartet wird) dort lediglich ein NULL-Frame auf dem Stack erzeugt wird. Hoffe das passt für '060, konnte es leider nicht testen weil Aranym kein 060 emuliert, und Hatari beim Versuch abstürzt (könnte das an HDDRIVER liegen? Gibs da ne spezielle Version?)
Bei der Gelegenheit hab ich die CPU/FPU-Erkennung auch geändert, in der "normalen" Version hätte er 060 gar nicht erkannt.
KarlMüller:
--- Zitat von: Thorsten Otto am So 16.12.2018, 11:50:58 ---
--- Zitat von: KarlMüller am So 16.12.2018, 09:51:44 ---Im Anhang hätte ich die Datei kernel/bios/milan/doc/mmilan.txt.
--- Ende Zitat ---
Scheint aber nur die Dokumentation zu betreffen, in milan.inc stand das schon so drin.
--- Ende Zitat ---
Ja, dem ist so. Dort habe ich die Infos auch her.
--- Zitat von: Thorsten Otto am So 16.12.2018, 17:04:02 ---Den FPU-Check im AES hab ich jetzt geändert. Den Test auf NULL-Frame kann man nicht so einfach rausnehmen wie ich feststellen musste, weil an ein paar anderen Stellen (z.B. wenn eine neue APP gestartet wird) dort lediglich ein NULL-Frame auf dem Stack erzeugt wird. Hoffe das passt für '060,
--- Ende Zitat ---
Also hier funktioniert es. Allerdings hast Du die Variable 'cpu_typ' benutzt bevor sie gesetzt wird. Ich habe das ganze etwas umgestellt.
--- Code: ---*
* CPU, Cookies und machine_type
*
move.w #8,stack_offset
jsr get_cpu_typ
move.w d0,cpu_typ
move.w #1,cpu020 ; MATHS.S: 68020-Arithmetik moeglich
jsr get_fpu_typ
cmp.w #40,cpu_typ
bcs.s set_fpu
bne.s set_fpu_060
moveq #8,d0
bra.s set_fpu
set_fpu_060:
moveq #16,d0
set_fpu:
move.b d0,is_fpu
inst_cook:
jsr ivideo ; Videosystem initialisieren
lea cookies,a0
move.l a0,_p_cookies
moveq #NCOOKIES,d0
jsr icookies ; maschinenspez. Cookies
; Wegen eines Fehler im MilanTOS. Es setzt bei einem 060
; nicht den richtigen Wert.
clr.l d1
move.b is_fpu,d1
swap d1 ; Wert
move.l #'_FPU',d0 ; key
bsr putcookie
*
* "soft"-Cookies (_IDT und MagX)
*
--- Ende Code ---
'stack_offset' und 'cpu020' habe einfach auf feste Werte gesetzt. Ein Milan kann nur ein 040 oder 060 haben.
Das mit dem falschem Cookie _FPU ist mindestens bis zum MilanTOS Version vom 2003.09.03.
--- Zitat von: Thorsten Otto am So 16.12.2018, 17:04:02 ---(könnte das an HDDRIVER liegen? Gibs da ne spezielle Version?)
--- Ende Zitat ---
Nein, könnte natürlich sein das da intern Rücksicht auf den Milan genommen wird.
--- Zitat von: Thorsten Otto am So 16.12.2018, 17:04:02 ---Bei der Gelegenheit hab ich die CPU/FPU-Erkennung auch geändert, in der "normalen" Version hätte er 060 gar nicht erkannt.
--- Ende Zitat ---
Das ist gut für die Falcon ct60 Fraktion. ;-)
Ich habe noch die Datei MagicMac/kernel/bios/milan/doc/milan_hw.txt in einer neueren Version angehängt.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln