1

pytanko jak najbardzie z prockami zwiazane-w jaki sposob rozpoznac programowo model motoroli w atari?

ATARI Falcon 14MB , STE 4MB, STFM 4MB, 800 XL turbo CA12 CA 2001, CPC 6128 mono, THOMSON MO5, SVI 738, Amiga 500+, 600 2MB, CDTV   + , CD32

2 Ostatnio edytowany przez drac030 (2007-03-22 10:27:52)

Np.

what_cpu
    clr.l d0
    moveq #$01,d1
    lea table,a0
    move.b (a0,d1.l*2),d0
    rts

table: .byte 0,0,1

Jeśli po jsr what_cpu w d0 będzie 0, to mamy Motkę 68000 albo 68010. Jeśli 1, to 68020-60. O ile mi wiadomo, tylko tyle da się zrobić w userze, dokładniejsze testy się robi w superwizorze przez ustawianie wektora nielegalnej instrukcji i wypróbowywanie kolejnych rozkazów (typu: jesli "move from ccr" nie wychodzi, to to jest 68000) oraz rejestrów (np. 68020 od 68030 i 68040 odróżnia się po zachowaniu rejestru CACR). W końcu 68060 od 68040 odróżniamy przez próbę wykonania mnożenia z wynikiem 64-bitowym, co mają wszystkie procesory od 68020 do 68040, a 68060 nie.

Dokładna procedura jest do obejrzenia np. tutaj:

http://sparemint.atariforge.net/cgi-bin … web-markup

Etykieta "detect_cpu".

PS. Grzebanie się w tym samemu ma sens oczywiście tylko pod TOS-em. MiNT robi pełną detekcję CPU i FPU, więc celem dowiedzenia się, jaki jest procesor, wystarczy zajrzeć do Cookie Jaru.

KMK
? HEX$(6670358)

3 Ostatnio edytowany przez Adam Klobukowski (2007-03-22 13:42:56)

Dodam od siebie ze w wypadku 68060 mozna jeszcze rozpoznac wersje tzn. maski. Nie wiem jak w innych.

Atari: FireBee, (Falcon030 CT60e SuperVidel SvEthlana CTPCI), TT, (520ST Pak030 Frak PuPla Panther), (520ST 4MB ST RAM 8MB TT RAM CosmosEx SC1435), (1040STFM UltraSatan SM124), (1040STE 4MB ST RAM 8MB TT RAM CosmosEx NetUSBee SM144 SC1224), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

4

a jak sprawdzic inne parametry np.czy jest cache,lub jaki jest zegar?

ATARI Falcon 14MB , STE 4MB, STFM 4MB, 800 XL turbo CA12 CA 2001, CPC 6128 mono, THOMSON MO5, SVI 738, Amiga 500+, 600 2MB, CDTV   + , CD32

5

Obecnośc cache sprawdzasz według tabelki:

68000 - brak
68010 - w zasadzie też brak
68020 - 256 bajtów (oidp)
68030 - dwa razy tyle, co w 68020
68040 - 4k
68060 - 8k

Szybkość pracy sprawdza się po prostu mierząc czas wykonywania się prostej pętli.

KMK
? HEX$(6670358)

6

no i tu bol,bo  byly dopalki z cache np.68000 z 8kb (w ukladach dyskretnych) ,czy nasza poczciwa mega ste, ktora tez ma zainstalowany cache. teraz jak go wykryc i jaki ma rozmiar :-I

ATARI Falcon 14MB , STE 4MB, STFM 4MB, 800 XL turbo CA12 CA 2001, CPC 6128 mono, THOMSON MO5, SVI 738, Amiga 500+, 600 2MB, CDTV   + , CD32

7

Wykrywasz, czy komputer to MegaSTE, i jak tak, to ma 16k (ponoć) cache'u. A jak wykryć, że MSTE - zajrzeć do Cookie Jaru.

KMK
? HEX$(6670358)

Leniuk, ty mówisz o cache typu L2, a drac030 wymienił pojemności L1. No chyba że się mylę.

Atari: FireBee, (Falcon030 CT60e SuperVidel SvEthlana CTPCI), TT, (520ST Pak030 Frak PuPla Panther), (520ST 4MB ST RAM 8MB TT RAM CosmosEx SC1435), (1040STFM UltraSatan SM124), (1040STE 4MB ST RAM 8MB TT RAM CosmosEx NetUSBee SM144 SC1224), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

9

no chcialem zeby program sam to rozpoznal :-/

ATARI Falcon 14MB , STE 4MB, STFM 4MB, 800 XL turbo CA12 CA 2001, CPC 6128 mono, THOMSON MO5, SVI 738, Amiga 500+, 600 2MB, CDTV   + , CD32

10

"program sam to rozpoznal" - no przeciez sam to rozpoznaje, tj. bez pomocy uzytkownika...

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

11

zalezy mi ,zeby rozopznaie odbylo sie bez przypuszczen czy czytaniu Cookie Jaru(swoja droga-gdzie to jest?).

ATARI Falcon 14MB , STE 4MB, STFM 4MB, 800 XL turbo CA12 CA 2001, CPC 6128 mono, THOMSON MO5, SVI 738, Amiga 500+, 600 2MB, CDTV   + , CD32

12 Ostatnio edytowany przez Adam Klobukowski (2007-03-29 15:08:02)

Nie da sie tak zrobic zeby w 100% dzialalo we wszystkich przypadkach. Dlatego wlasnie jest Cookie Jar, jako legalny (tzn. zgodny z OSem) sposob na to. Zwykłego programu zreszta nie powinno to interesowac, tylko funkcja malloc albo lepiej mxalloc.

Atari: FireBee, (Falcon030 CT60e SuperVidel SvEthlana CTPCI), TT, (520ST Pak030 Frak PuPla Panther), (520ST 4MB ST RAM 8MB TT RAM CosmosEx SC1435), (1040STFM UltraSatan SM124), (1040STE 4MB ST RAM 8MB TT RAM CosmosEx NetUSBee SM144 SC1224), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio