26

Odp: 65816

OK - czemu nie. A jak zrzucałeś OS z Atary na grzyba ?? ..albo może spakuj jakim arcem pod sdx to się na grzybie pod jakim starym NC rozpakuje :D - jak pójdzie - to archiwum OK.


OK - widze topic  8O

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

27

Odp: 65816

Ja tego nie mogę teraz zrobić. Plik kopiował mi kolega, przez kabel szeregowy. Fakt, kretyni jesteśmy, żeśmy tego przedtem nie skompresowali, od razu byłoby wiadomo, czy przekopiowało się dobrze.

W każdym razie, u mnie plik wypalony w EPROM-ie działa. Jeśli to, co zapodałem pod wyżej wymienionym adresem nie działa, to znaczy, że transmisja się spieprzyła :(

KMK
? HEX$(6670358)

28

Odp: 65816

... albo Emul - pod którym testowałem niedomaga. Czyli możliwości są już dwie.

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

29

Odp: 65816

Suma kontrolna pierwszego bloku jest pod adresem $C000 i wynosi $9D03. Suma kontrolna drugiego bloku jest pod adresem $FFDE i wynosi $647D.

ckrom1 ldx #$00
    stx cksum
    stx cksum+1
?loop jsr getcks
    cpx #$0c
    bne ?loop
    rts
;
ckrom2 ldx #$00
    stx cksum
    stx cksum+1
    ldx #$0c
    jsr getcks
    jmp getcks
;
getcks ldy #$00
?loop lda ckstab,x
    sta tmpreg,y
    inx
    iny
    cpy #$04
    bne ?loop
    ldy #$00
?n  clc
    lda (tmpreg),y
    adc cksum
    sta cksum
    bcc ?nxt1
    inc cksum+1
?nxt1 inc tmpreg
    bne ?nxt2
    inc tmpreg+1
?nxt2 lda tmpreg
    cmp tmpreg+2
    bne ?n
    lda tmpreg+1
    cmp tmpreg+3
    bne ?n
    rts
;
ckstab .wo buf+2, buf+$1000
    .wo buf+$1000,buf+$1800
    .wo buf+$1800,buf+$2000
    .wo buf+$2000,buf+$3fde
    .wo buf+$3fe0,buf+$4000

'buf' to jest adres, pod który jest wczytana zawartość pliku xlos2.bin. jsr ckrom1 wpisuje sumę kontrolą pierwszego bloku ROM pod adres 'cksum', jsr ckrom2 wpisuje sumę kontrolą drugiego bloku ROM pod adres tenże. cksum musi być zmienną dwubajtową, a tmpreg czterobajtową, obie na stronie zerowej.

[ Dodano: 13.11.2004 10:21:30 ]

3)  there's a test for extended linear memory, peek(591) should return a number of *additional* (i.e. beyond the first 64k) 64k memory segments;

Poprawka: peek(590), nie peek(591).

KMK
? HEX$(6670358)

30

Odp: 65816

Ja tego nie mogę teraz zrobić. Plik kopiował mi kolega, przez kabel szeregowy. Fakt, kretyni jesteśmy, żeśmy tego przedtem nie skompresowali, od razu byłoby wiadomo, czy przekopiowało się dobrze.

W każdym razie, u mnie plik wypalony w EPROM-ie działa. Jeśli to, co zapodałem pod wyżej wymienionym adresem nie działa, to znaczy, że transmisja się spieprzyła :(

Wszystko jest w najlepszym porządku. Nie jesteśmy znowu tacy kretyni, bo protokół zawierał checksum, więc prawdopodobieństwo niepoprawnej transmisji jest znikome. Zresztą specjalnie przepchnąłem pliki w drugą stronę i porównałem z oryginałem. Wszystko się zgadza w 100%.

Ceterum censeo Unionem Europaeam delendam esse.

31

Odp: 65816

A ja napisałem w C rewolucyjny (Lizard wie o co chodzi, reszta nie musi :lol: ) program do liczenia sum kontrolnych ROM-u, i sprawdziłem, że plik jest OK.

Czyli, panie Pin, coś waścin emulator nie teges.

KMK
? HEX$(6670358)

32

Odp: 65816

OK - czemu nie. A jak zrzucałeś OS z Atary na grzyba ?? ..albo może spakuj jakim arcem pod sdx to się na grzybie pod jakim starym NC rozpakuje Very Happy - jak pójdzie - to archiwum OK.

WinAce jeszcze potrafi arca rozpakowac na grzybie. Poza tym google kolego: arc.exe. Obsluga taka sama jak pod SDX.

Zawsze mam rację, tylko nikt mnie nie słucha.

33

Odp: 65816

heh - to wychodzi na zonk UltraXE. Ok - w poniedziałek lece palić eporom :D

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

34

Odp: 65816

Tylko się nie zaciągaj! :) :lol:

Btw. sam jestem ciekaw co wyjdzie z tego. Nooo.... i mam już placformę na nowy procek.

Pinek - mata coś tam tego jeszcze?!? :)

I Ty zostaniesz big endianem...

35

Odp: 65816

...musze jechać po następne. Nie wiem tylko - ile tego brać;-

z tego - co było i poszło; to wydaje mi się, że chyba ok 25 sztuk

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

36

Odp: 65816

Jest nowa wersja ROM-u: http://82.210.159.30/65c816/

Jeśli ktoś ma trochę więcej liniowego RAM-u niż 64k, to niech mi powie, co wskazują wektory $03ef-$03f1 i $03f2-$03f4.

KMK
? HEX$(6670358)

37

Odp: 65816

Sprawdzilem. Dla 1MB liniowej w komórkach $03ef-03f1 sa odpowiednio: 00, 00, 01 (czyli $010000) a w $03f2-03f4: ff, ff, 0f ($0fffff). Zatem wsjo ok.  :D

38

Odp: 65816

No i dobrze, to jedziemy dalej ... ;-)

KMK
? HEX$(6670358)

39

Odp: 65816

Nie mam rozszerzki na '816 i nie bardzo się orientuję... Jakie usprawnienia niesie z sobą obecna poprawiona dla tego procka wersja OS'u i jakie są przewidzianie dla finalnej wersji ROM'u? Bo przecież to rozszerzenie chodzi też se zwykłym OS'em? No właśnie, hmmm...

40

Odp: 65816

Nie wiem, na ile orientujesz się w cechach 65c816. Ten procesor ma dwa tryby pracy, tryb emulacji (w którym jest to w zasadzie 65c02) oraz tryb natywny dający dostęp do 16-bitowych rejestrów i innych bajerów.

Problem w tym, że w trybie natywnym wektory przerwań CPU znajdują się gdzie indziej, niż w trybie emulacji (są przesunięte o 16 bajtów niżej, czyli np. wektor NMI nie jest pod $FFFA, ale pod $FFEA). W normalnym ROM-ie jest tam numer wersji, data jej wypuszczenia itd., więc z punktu widzenia CPU nic sensownego. Więc ze zwykłym ROM-em można normalnie używac tylko trybu emulacji, a przełączenie procesora w tryb natywny powoduje zwis.

A więc pierwszą i najważniejszą modyfikacją nowego ROM-u jest rozszerzenie systemu obsługi przerwań tak, żeby systemowe procedury przerwań działały bezkonfliktowo zarówno w trybie natywnym jak i emulacji.

Po drugie, 65c816 ma w ogóle więcej przerwań, więc nowy ROM daje support do ich wykorzystania (zdefiniowane nowe wektory w RAM-ie).

Po trzecie nowy ROM ma zdefiniowaną możliwość robienia bezpośrednich wywołań własnych funkcji z programu, który działa w obszarze pamięci poza pierwszymi 64k. Bo tradycyjna metodą to się nie da.

Po czwarte jest dodana podstawowa obsługa rozszerzonej pamięci liniowej, czyli wykrywanie jej wielkości oraz ustawianie dwóch wektorów o funkcji takiej, jak MEMLO i MEMTOP w podstawowych 64k.

Pomijając drobiazgi, które zostały zrobione niejako przy okazji (nieco szybsze procedury pakietu matematycznego, nieco szybsze procedury wyjścia na E: i S:), to na razie wszystko, ale jeszcze coś będzie, jak się zmieści  :?

KMK
? HEX$(6670358)

41

Odp: 65816

Dzięki serdeczne za wyjaśnienia. Nie wiedziałem do końca o co chodzi, teraz już wiem więcej  :)

42

Odp: 65816

Coś to nie chce działać... czy to tylko u mnie?

KMK
? HEX$(6670358)

43

Odp: 65816

Racja, muszę usunąc z sygnaturki dopóki nie będzie szansy na zadziałanie. Już dawno padł akademicki serwer na którym miałem stronę a nowi admini w dodatku widać... Ehhh, nie kwapią się delikatnie mówiąc  :evil:

44

Odp: 65816

Nowy adresik / New URL:

http://drac030.krap.pl/

Dzięki Krapowi ;-)

[ Dodano: 03.12.2004 21:22:33 ]
... a pod wyżej wymienionym adresem nowy ROM do przetestowania.

KMK
? HEX$(6670358)