Software > Alternative Betriebssysteme

Quellen von Magic, Magxdesk, u.a. auf gitlab ...

<< < (27/41) > >>

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