501

(35 odpowiedzi, napisanych Programowanie - 16/32bit)

Krok za krokiem idę naprzód :)
Tak jak pisałem to kwestia składni. Tak jest prawidłowo i widać w pamięci nowe znaczniki pod właściwym adresem:

xb_magic:   dc.b "XBRA"
xb_id   :   dc.b "xxxx"     ;Your ID.
vekt_old:   dc.l 0          ;Storage for Old vector.
vekt_new:

każda linia MUSI mieć swój identyfikator. W sumie dobrze, że się człowiek czegoś nowego nauczy :)

502

(35 odpowiedzi, napisanych Programowanie - 16/32bit)

Wyrzuciłem wszystko inne. W C zostało tylko wywołanie, a w asemblerze to:

install_vekt:
                move.l    #12312312,-(sp)
                move.w    #29,-(sp)        ;przerwanie poziom 5
                move.w    #5,-(sp)        ;Setexc
                trap    #13 
                addq.l    #8,sp

i wartość 12312312 została poprawnie wpisana.

dodałem:

dc.l        "XBRA"
dc.l        "TEST"
vekt_old:        dc.l        0

12312312 zmieniłem na #vekt_old i pojawiła się inny wpis, tylko że jak przejdę pod ten adres to nie widać żadnego "TEST" ani "XBRA" przed tym adresem, więc pewnie problem ze składnią.

503

(35 odpowiedzi, napisanych Programowanie - 16/32bit)

Wariant A: bus error

Nie rozumiem dlaczego to:

install_vekt:
                move.l    #-1,-(sp)
                move.w    #29,-(sp)        ;przerwanie poziom 5
                move.w    #5,-(sp)        ;Setexc
                trap    #13 
                addq.l    #8,sp

powoduje zmianę wartości wektora ? Skoro ma to być ino odczyt.

504

(35 odpowiedzi, napisanych Programowanie - 16/32bit)

Pomocy, bo chyba mnie coś trafi :(
co robię źle ?
wywołanie jest w C

Supexec(install_vekt);

potem jest ten jedyny, nieszczęsny plik w asemblerze i w nim to:

install_vekt:
                move.l    #-1,-(sp)
                move.w    #29,-(sp)        ;przerwanie poziom 5
                move.w    #5,-(sp)        ;Setexc
                trap    #13 
; teoretycznie powinien tylko wrzucić aktualny adres do d0
                addq.l    #8,sp         
                rte
                dc.l        "XBRA"
                dc.l        "TEST"
vekt_old:        dc.l        0
vekt_new:        jsr            wd_interrupt    ; routine aktivieren
                move.l        vekt_old,a0        ; alten sp restaurieren
vekt_exit:        jmp (a0)

za każdym razem 2 bombki, a jak sprawdzam monitorem to adres jest zmieniony, łaj ? Czyli coś nie tak ze stosem, że zamiast -1 wrzuca jakąś wartość ? Jestem bliski rozpaczy :)

Obudowa po dwóch napędach zewnętrznych do ST, dużo żelastwa, czy ten rozdzielacz działa to nie wiem:
http://atari.wroclaw.pl/pliki/targ/a.jpg
http://atari.wroclaw.pl/pliki/targ/b.jpg
http://atari.wroclaw.pl/pliki/targ/c.jpg

Dwie stacje dyskietek czarna (TEAC z przełącznikiem 40/80 ścieżek, wajcha ułamana, ale da się spokojnie przełączyć) - ustawiłem jako DS0, aby sprawdzić w ST. ale nie chce podjąć żadnych działań względem dyskietki. Druga biała Chinon niby czyta, formatuje (przy końcu męczy się), nawet pokazało że sformatowała dyskietkę na 720kB, choć ona ponoć jednostronna jest, z odczytem losowo, może wystarczy wyczyścić głowicę, a może nie. Sprzedaję wszystko jako NIESPRAWNE.
http://atari.wroclaw.pl/pliki/targ/d.jpg
http://atari.wroclaw.pl/pliki/targ/e.jpg
http://atari.wroclaw.pl/pliki/targ/f.jpg
http://atari.wroclaw.pl/pliki/targ/g.jpg
http://atari.wroclaw.pl/pliki/targ/h.jpg
http://atari.wroclaw.pl/pliki/targ/i.jpg

Cena wywoławcza: 1zł buda, 2zł stacja biała, 1zł stacja czarna. Do tego oczywiście wysyłka paczkomatem. Do każdej stacji 2 dyskietki gratis :)
Licytacja (tylko całe złotówki, bez miedziaków proszę) do niedzieli, do godziny 20:00

506

(35 odpowiedzi, napisanych Programowanie - 16/32bit)

OK. Dzięki Cyprian za rozjaśnienie, ja po prostu siedzę w rozumowaniu a'la GFA-Basic (step by step, linia po linii) :) i czasem ciężko się przestawić.
Czyli to co powyżej to już samo wywołanie, a instalacja to będzie wstawienie adresów.
Jeżeli pod adresem $1234 siedziała wartość $5678, to $5678 = stary wektor, a pod adres $1234 ląduje adres do nowy_wektor. Chyba nie popierniczyłem :)

507

(13 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

yamahalodz napisał/a:

Pilnie kupię kabel....

Jeżeli jeszcze nie masz, to ja posiadam takowy, choć niekoniecznie pilnie sprzedam ;)

508

(35 odpowiedzi, napisanych Programowanie - 16/32bit)

I o to właśnie chodzi. Pozdziękował :)

Aaa, walnąłem się, chyba powinno być:

        .even
XBRAmagic:
        dc.l    "XBRA"
XBRAid:
        dc.l    "PxID"
Pierwsze_stary_wektor:
        dc.l    XBRA_System

wszak to są 4 bajty.

EDIT:
Jednej rzeczy za choinkę nie rozumiem :(
Jak wrzucę ten cały kod instalacji XBRA, to automatycznie zostaną wykonane wszystkie instrukcje z części "Your routine here.", a one mają czekać na przerwanie, tak czy piszę głupoty ?

509

(35 odpowiedzi, napisanych Programowanie - 16/32bit)

Rzecz w tym, że XBRA jest niejako "narzucone z urzędu", więc chciałbym się dostosować do jego zasad. Łatwiej to później śledzić.

510

(35 odpowiedzi, napisanych Programowanie - 16/32bit)

Potrzebuję aby mnie ktoś tę kwestię wyjaśnił "jak krowie na rowie" :)

Sytuacja: obsługa jednego z wektorów przerwań. Jest już łańcuch XBRA i chcę się do niego wpiąć.

        .even
XBRAmagic:
        dc.b    "XBRA"
XBRAid:
        dc.b    "xxxx"      ; Your ID, Ascii letters
stary_wektor:
        dc.l    0                ;Kolejnym wektorem w łańcuchu jest adres wektora systemowego przed zainstalowaniem własnego, zmodyfikowany przez kod instalacyjny.

nowy_wektor:
                        ; Your routine here.
        ....
        move.l  XBRAoldvec,a0
        jmp (a0)        ; Link to next vector in chain

czyli o ile ja to dobrze rozumiem,  stary wektor zapisany w stary_wektor, a w jego miejsce ląduje adres do nowy_wektor ?
Tylko to, czy jest coś jeszcze ?

511

(5 odpowiedzi, napisanych Software, Gry - 16/32bit)

Gratulacje ;)

Ja się właśnie dzisiaj zastanawiałem czy zrezygnować z napędu IDE CD. Lightning ST ma możliwość ustawienia kompatybilności z Falconem, lub słynny byteswap, tak aby partycje były widoczne pod PC (niestety nie zawartość). Z jednej strony możliwość zrobienie backupu każdej partycji z osobna oraz montujące się automatycznie pod Linuksem partycje ext2 (MiNT) i ext3 (Debian) z drugiej zaś ExtenDOS nie obsłuży napędu CD (slave), widzi go, ale nie obsługuje. Mając USB można podłączyć właśnie tak CD. Chwilę się zastanawiałem i pozostałem przy opcji kompatybilnej z Falconem i działającym IDE CD. Choć cały czas się waham :)

512

(105 odpowiedzi, napisanych Fabryka - 16/32bit)

Candle napisał/a:

program sqwarda widzi kontroler, ale sterowniki nie
cos jest nie halo wiec, ale ja potrzebuje zejsc na nizszy level i miec dokladniejszy debug tego co tam sie dzieje

Czy sprawa miała jakiś finał ? Choćby w sądzie :)

A tak serio, ostatnio właśnie zgłębiam temat IDE zrobiłem sobie program, który wyświetla nazwę i kilka innych informacji (zrobiłem = powycinałem z programu AHDI2IDE, którego źródła znalazłem).

Ogólnie wiadomo, że przestrzeń dla IDE w ST ma się tak:

##############IDE Controller (Falcon, ST-Book, IDE cards)          ###########
-------+-----+-----------------------------------------------------+----------
$F00000|long |Data Register                                        |R/W
$F00005|byte |Error Register                    BIT 7 6 5 4 3 2 1 0|R
       |     |Bad block mark -----------------------' | | | | | | ||
       |     |Uncorrectable error --------------------' | | | | | ||
       |     |Media change -----------------------------' | | | | ||
       |     |ID-Field not found -------------------------' | | | ||
       |     |Media change requested -----------------------' | | ||
       |     |Command aborted --------------------------------' | ||
       |     |Track 0 not found --------------------------------' ||
       |     |DAM not found --------------------------------------'|
$F00009|byte |Sector Count Register                                |W
$F0000D|byte |Sector Number Register                               |W
$F00011|byte |Cylinder Low Register                                |W
$F00015|byte |Cylinder High Register                               |W
$F00019|byte |Drive Head Register                                  |W
$F0001D|byte |Status Register                                      |R
$F0001D|byte |Command Register                                     |W
$F00039|byte |Alternate Status Register                            |R
$F00039|byte |Data Output Register                                 |W
-------+-----+-----------------------------------------------------+----------

Gdy uruchomi się monitor pamięci, widać dane dysku, nawet bez uruchamiania sterownika dysku.

ube

tak więc samo stwierdzenie obecności nie powinno być problemem.
A co gdyby kontroler miał się znaleźć w innym obszarze pamięci ?

513

(30 odpowiedzi, napisanych Sprzęt - 16/32bit)

Instrukcja do karty (po niemiecku) jest na https://www.dev-docs.org/docs/

514

(2 odpowiedzi, napisanych Software, Gry - 16/32bit)

VIDEO MASTER v1.03 ST/F030 - do obsługi digitizera video

515

(19 odpowiedzi, napisanych Sprzęt - 16/32bit)

Może to ten sam powód co u mnie.
http://www.atari.org.pl/forum/viewtopic … 56#p257556

516

(6,329 odpowiedzi, napisanych Kolekcjonowanie)

We Wrocławiu jest fanów znacznie więcej :)

517

(2 odpowiedzi, napisanych Software, Gry - 16/32bit)

Znalazłem filmik w sieci i jak dla mnie lepiej prezentuje się World Conqest :)
http://www.atarimania.com/game-atari-st … F66FAEB07F

518

(6,329 odpowiedzi, napisanych Kolekcjonowanie)

Stacje takową posiadam. Jest ona do wspomnianych PC i do ST.
http://atari.wroclaw.pl/fotki/pcf554.jpg

519

(12 odpowiedzi, napisanych Sprzęt - 16/32bit)

Jeżeli zasilacze do ST/F/FM i STE są zamienne, to większość ma 3A na 5V i 1A na 12V. Są też takie, co mają odpowiednio 4A i 1,6A.
http://tho-otto.de/hypview/hypview.cgi? … ;index=187
Powinno więc chyba działać, dla pewności wymieć stację dyskietek na taką co nie potrzebuje 12V :)

520

(3 odpowiedzi, napisanych Sprzęt - 16/32bit)

To był pełen spontan :) chciałem sobie zaszaleć. Teraz już bym to inaczej zrobił, jak to zwykle bywa :)

521

(3 odpowiedzi, napisanych Sprzęt - 16/32bit)

Szukając obudowy trafiłem na jedną ciekawą, która nie jest zbyt duża i niemal idealnie (wymiarowo) pasuje do płyty MegaST.
buda
i z płytą:
buda
buda
buda
buda

Tylna blacha oczywiście do wymiany. Najpierw papierowa przymiarka:
buda
potem poszło do wycięcia laserem, no i przyszło:
buda
po malowaniu:
buda

w tak zwanym międzyczasie obudowa też zaczynała zmieniać kolor:
buda

przymiarki do tylnej blachy:
buda

jeszcze Eiffel:
buda
buda

po zamontowaniu:
buda

I całość po retuszu (pierwotnie była biała/kremowa):
buda
buda

Wymyśliłem sobie jeszcze logo. Jako szablon kartka magnetyczna (co by dobrze przylegała), nożyk do wycięcia kształtu i jest:
buda
buda
miał być Rainbow TOS 1.4 :)
buda

Na koniec porównanie z oryginalną obudową:
buda
buda
buda
buda
buda

Obudowa leży od kilku tygodni, teraz był czas to wrzucam jako ciekawostkę.
Wspomnianą obudowę kupiłem tukej za kosmiczne pieniądze:
https://allegro.pl/oferta/najmniejsza-m … YTYyN2Y%3D

Należało rozwiercić kilkanaście nitów, z czym uporałem się w 10 minut i przyciąć kawałek blachy od stacji dyskietek.

522

(21 odpowiedzi, napisanych Sprzęt - 16/32bit)

Odnośnie pamięci najlepiej chyba wstawić sloty SIMM 30 (sam to właśnie mam na tapecie). Albo kupić gotowe SIPP 4x1MB:
https://www.ebay.de/itm/1-MB-SIPP-Memor … SwaBJeGaig

523

(11 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

Mam takowe 60ns z pamięciami HY5116404CJ-60. Napisz na priv dogadamy się :)

524

(10 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

Jaki jest raster między rzędami ? Jak 1cm to biorę. Jednak obawiam się że nie pasują do STE.

525

(10 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

Ma ktoś na zbyciu sloty SIMM 30pin do STE ? Chętnie kupię jako, że mam tam aktualnie pamięci w wersji SIPP.