YERZMYEY/HOOY-PROGRAM napisał/a:

Dysosnans poznawczy następuje jedynie w wyniku długiej przerwy w rozwoju urządzenia

Pięknie to ująłeś :)

1,652

(9 odpowiedzi, napisanych Scena - 16/32bit)

YERZMYEY/HOOY-PROGRAM napisał/a:

Podpisane jest STE, ale dla ciekawości sprawdzę to, jak mi Pan Zaxon wrzuci 4Mb do STków.

Nie masz co sprawdzać, napisane jest wyraźnie: "heavy use of blitter" :P
Albo w sumie sprawdź, będziesz kolejnym który potrafi uruchamiać dema STE na ST :D

1,653

(9 odpowiedzi, napisanych Scena - 16/32bit)

Bo saulot umie uruchamiać dema z STE na ST :]]]]]]

1,654

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

sqward napisał/a:

J
Pozatym problemów może być masa w innych miejscach. Taka zgadywanka jest trochę bezpłodna. Może poprostu zamieść cały kod...

To jest właśnie cały kod :) Uszczupliłem go do minimum, tak aby było wyświetlenie obrazka i podmiana vbl'a
Tzn, brakuje jeszcze init'a. Ale jak pisałem wcześniej. Jest z tutoriala perihelion'a + moje ze cztery linijki.
Wygląda tak:

init    
* set supervisor
    clr.l    -(a7)            clear stack
    move.w    #32,-(a7)        prepare for user mode
    trap    #1            call gemdos
    addq.l    #6,a7            clean up stack
    move.l    d0,old_stack        backup old stack pointer
* end set supervisor

* save the old palette; old_palette
    move.l    #old_palette,a0        put backup address in a0
    movem.l    $ffff8240,d0-d7        all palettes in d0-d7
    movem.l    d0-d7,(a0)        move data into old_palette
* end palette save

* saves the old screen adress
    move.w    #2,-(a7)        get physbase
    trap    #14
    addq.l    #2,a7
    move.l    d0,old_screen        save old screen address
* end screen save

* save the old resolution into old_resolution
* and change resolution to low (0)
    move.w    #4,-(a7)        get resolution
    trap    #14
    addq.l    #2,a7
    move.w    d0,old_resolution    save resolution
    
    move.w    #0,-(a7)        low resolution
    move.l    #-1,-(a7)        keep physbase
    move.l    #-1,-(a7)        keep logbase
    move.w    #5,-(a7)        change screen
    trap    #14
    add.l    #12,a7
* end resolution save    
    
    move.l    $70,old_vbl

    rts

init_nores    
* set supervisor
    clr.l    -(a7)            clear stack
    move.w    #32,-(a7)        prepare for user mode
    trap    #1            call gemdos
    addq.l    #6,a7            clean up stack
    move.l    d0,old_stack        backup old stack pointer
* end set supervisor

* save the old palette; old_palette
    move.l    #old_palette,a0        put backup address in a0
    movem.l    $ffff8240,d0-d7        all palettes in d0-d7
    movem.l    d0-d7,(a0)        move data into old_palette
* end palette save

* saves the old screen adress
    move.w    #2,-(a7)        get physbase
    trap    #14
    addq.l    #2,a7
    move.l    d0,old_screen        save old screen address
* end screen save

* save the old resolution into old_resolution
* and change resolution to low (0)
    move.w    #4,-(a7)        get resolution
    trap    #14
    addq.l    #2,a7
    move.w    d0,old_resolution    save resolution
    
;    move.w    #0,-(a7)        low resolution
;    move.l    #-1,-(a7)        keep physbase
;    move.l    #-1,-(a7)        keep logbase
;    move.w    #5,-(a7)        change screen
;    trap    #14
;    add.l    #12,a7
* end resolution save    
    
    move.l    $70,old_vbl

    rts


restore    
* restores the old resolution and screen adress
    move.w    old_resolution,d0    res in d0
    move.w    d0,-(a7)        push resolution
    move.l    old_screen,d0        screen in d0
    move.l    d0,-(a7)        push physbase
    move.l    d0,-(a7)        push logbase
    move.w    #5,-(a7)        change screen
    trap    #14
    add.l    #12,a7
* end resolution and screen adress restore

* restores the old palette
    move.l    #old_palette,a0        palette pointer in a0
    movem.l    (a0),d0-d7        move palette data
    movem.l    d0-d7,$ffff8240        smack palette in
* end palette restore

    move.l    old_vbl,$70

* set user mode again
    move.l    old_stack,-(a7)        restore old stack pointer
    move.w    #32,-(a7)        back to user mode
    trap    #1            call gemdos
    addq.l    #6,a7            clear stack
* end set user
    
    rts
    

old_resolution    dc.w    0

old_stack    dc.l    0

old_screen    dc.l    0

old_vbl    dc.l    0

    section bss

old_palette    ds.l    8
    
saulot napisał/a:

ale co to za filozofia?

Ablolutnie żadna. Ale jak się tego nie robiło, a tylko o tym czytało i to z 15 lat temu, to trzeba znaleźć gdzieś te wszystkie adresy. Ale skoro już podałeś to dzięki :)

1,655

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

Ale coś tak przez mgłę kojarzę że z milion lat temu czytałem gdzieś o tym co tam się dzieje w kolejce VBLa, i jakoś tak mi się pamięta, że tam nic absolutnie ciekawego nie było. Do tego, nawet w trylionie tutoriali walających się, nigdy, ale to absolutnie nigdy nie widziałem przykładu podpinania się do kolejki. Wszyscy uwalali oryginalnego, a przywracali przy wyjściu. Cóż, jeszcze powalczę i jak nic nie zadziała, to będę szukał tutoriala jak się podpiąć do kolejki :D

1,656

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

Widziałeś kiedykolwiek kawałek kodu który używając VBLa dopisuje się do listy procedur wywoływanych w "default"owym VBLu? Ja nigdy :) Ale cóż, spróbuję, tylko o matko, nigdy tak nie robiłem. Muszę przewalić trochę literatury jak to się robi.

1,657

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

sqward: zwiecha, jedyny ratunek reset steem'a
adamk: pytanie już padło :)

1,658

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

Tak, bo jakbym nie wszedł w supervisora to wybombił ( a nie zawiesił ) by mi się już w trzeciej linijce: movem.l    d0-d7,$ff8240
:P

1,659

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

saulot napisał/a:

jury: to spróbuj wwalić tam jakiegoś nop'a, wrzucić słowo even przed VBL

Nie pomogło :(

saulot napisał/a:

odpal zamiast monsta np. adebug. monst daje ciała czasami.

To chyba i tak nie ma sensu, bo skoro mi się zawiesza, to będzie się zawieszać niezależnie od debuggera.  A swoją drogą i tak szukam jakiegoś ciekawszego debuggera więc obadam tego adebug'a :)

1,660

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

OK, za mało danych dałem chyba :)
W init i restore mam oczywiscie zapamietanie i odzyskanie oryginalnego vbl'a.
Zawartość zaprzykładowego przezemnie vbl'a nie ma znaczenia. Tak dla jaj :) aby coś było wpisałem to move.l d0,d1 :)
To niech moja vbl'ka wygląda tak:
vbl
rte
A problem mam taki że jak debuguję to coś to już w momencie move.l #vbl,$70 emulator się zawiesza.

A co do tego:

Adam Klobukowski napisał/a:

Po pierwsze primo, dałbyś chyba radę z jednym incbinem.

Tak, wiem. Ale robię scroll'a poziomego i za chwilę pojawi się jeszcze 8 incbin'ow i kazdy będzie inny. To tylko przyklad. Skupmy się na tym ze się zawiesza w momencie move.l #vbl,$70 :)

1,661

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

Bawię się tym scrollem dalej i coś mi się wykrzacza po wpisaniu mojego vbl'a pod $70. Ratunku, nie wiem o co mu chodzi, bo już zgłupłem.
Okroiłem wszystko tylko do wyświetlenia PI1 i wrzucenia mojej procedury vbl, która komplenie nic nie robi i nadal lipa.
Wstrętny kod:

           jsr    init

    movem.l    picture1+2,d0-d7
    movem.l    d0-d7,$ff8240

    move.w    #2,-(a7)
    trap    #14
    addq.l    #2,a7

    move.l    d0,a0
    move.l    #picture1+34,a1
    move.l    #picture2+34,a2

    move.l    #199,d0
l1
    move.l    #39,d1
l2    move.l    (a1)+,(a0)+
    dbf    d1,l2
    move.l    #39,d2
l3    move.l    (a2)+,(a0)+
    dbf    d2,l3
    dbf    d0,l1

    move.w    #7,-(a7)
    trap    #1
    addq.l    #2,a7

    move.l    #vbl,$70

    move.w    #7,-(a7)
    trap    #1
    addq.l    #2,a7

    move.b    #0,$ff820f

    move.w    #$777,$ff8240

    jsr    restore

    clr.l    -(a7)
    trap    #1

vbl    
    move.l    d0,d1
    rte

    include    init.s

    section    data

picture1    incbin    demon9.pi1
picture2    incbin    demon9.pi1

adr_ekr    ds.l    1

init.s jest rodem prosto z tutoriala perihelion'a

1,662

(28 odpowiedzi, napisanych Bałagan)

A mi się tam podobają te loga :) Są inne od tych ślicznych, wypucowanych i idealnych  pod każdym względem tworów potentatów światowych.

1,663

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

Kurka, a mój sprzęt w rozsypce :( Mam nadzieję chwilowo.

No i prawidłowo, a jeszcze jakbyś się mocniej wczytał :) to byś odnalazł odpowiedź dlaczego nie ma. Podpowiedź: bo nie powstało :P

1,665

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

sqward napisał/a:

jury: to zależy. ja w pracy widzę, że jest grupa koderów (manageró), którzy odwalają wszystko po najmniejszej linii oporu. I nawet nie mówie tutaj o stronie wizualnej projektów, tylko o np. nie hackowanie wszystkiego w taki sposób, że następny projekt trezeba pisać od zera. Ciekawe jest to, że to właśnie ludzie, którzy pisali gry na amigę i ST. Poprostu wtedy się tak pisało.


Z tym to nawet nie będę polemizował, bo to wszystko oczywiście zależy od poszczególnego egzemplarza kodera :)
Więc są i tacy ( niestety chyba nie w mniejszości ) którzy zawsze idą po najmniejszej linii oporu niezależnie od wszystkiego. Natomiast w momencie tworzenia projektu metodą "get the shit done FAST" wszyscy w zespole muszą zapierniczać jak odrzutowce przez co zazwyczaj projekt traci na wartości. A "get the shit done FAST" zawsze i wyłącznie narzuca manadżeria a nie ostatnie pionki które projekt wykonują, czyli w tym przypadku koderzy.

zaxon napisał/a:

Hmm? ja u siebie do netu ostatnio nawet zx48 podpialem, nie wiedzialem ze w PL dalej jest jak jest,

Bo nie jest :) Jak Kroll napisał, to zależy od dostawcy i chyba ci którzy tak robią są na wymarciu. Spokojnie, sieć w PL się powoli już ucywilizowała :)

Zgłosić adres MAC z NetUSBee do dostawcy internetu :]

1,668

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

Jeśli faktycznie świat gamedev wyznaje zasadę "get the shit done FAST" to badziewne konwersje nie są winą koderów tylko kierowników projektów i manadżerii która zmusza do takiej pośpiechu. Wtedy nie ma czasu na dopieszczanie, tylko robi się po najmniejszej linii oporu, ale faktycznie, najlepiej zwalić wszystko na koderów :P

1,669

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

artik-wroc napisał/a:

można podsumować trzema liczbami: 4 (dyski), 2 (przejściówki), 0(efektów)

:)
Jest szansa że właśnie 4GB mam, coś mi się takiego kojarzy. Tyle że przed weekend'em nic mnie nie zmusi do zejścia do katakumb by sprawdzić :D Jeśli do weekendu nikt się nie zgłosi to postaram się tam zejść i poszukać. W razie czego się przypominaj.

1,670

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

Ha, pobawiłem się tym hardware scroll'em i przyznaję że jest cholernie prosty i efektowny. Ech, szkoda że w "tamtych" czasach góra 5 gier go wykorzystywała. Można było przeca robić gry które by wykrywały czy jest STE i jeśli tak to scrollowały płynnnie, a pozostałym STx'om zostałby dziadowski scroll procesorem :D

tralala :)

Kroll napisał/a:

Tak pytam sie na przyszlosc a jak pozniej w takim wypadku ustala sie adresy i itp to pozwoliloby takze poprzez siec ustawic ftp na pececie i sciagac z niego wszystko co sie da ?

Jak tak działam. Do routera mam wpięte PC i Falcona. Co się da to bezpośrednio drę z sieci przez highwire, a co się nie da to najpierw na PC i z PC FTPem na Falcona.

Kroll, kup sobie router i po kłopocie :)

dely napisał/a:

Do notebooka się nie podłączy, chyba że ma takiego z dwoma kartami sieciowymi, lub dołoży dodatkową na Express Card :)

Ja właśnie kiedyś przez dwie karty leciałem :)

dely napisał/a:

Czyli Kroll musi wpisać w ustawieniach na Falconie MAC notebooka

Tu nie jestem pewien czy Sting pozwala na takie cuda. Teoretycznie można wpisać MAC z palca o tu:
http://hardware.atari.org/images/card.gif
ale wydaje mi się że po restarcie Sting i tak "zczyta" MACa z karty i to podmieni. Lecz to znów moje filozofie :) więc tak naprawdę do sprawdzenia!

Adam Klobukowski napisał/a:

2. Jak zrobiłeś według opisu, to powinieneś mieć kilka narzędzi, w tym PING, które umożliwią sprawdzenie co się dzieje.

Tak, w katalogu Sting/Tools jest ping.prg

Kroll napisał/a:

zakladke addressing/Ethernet i wpisuje tutaj taka wartosc IP i maski jaka uzyskalem majac podlaczonego do sieci laptopa uzyskuja to poprzez ipconfig /all

Jeszcze w General/Ethernet musisz wybrać NE2000

Wygląda to tak:

http://hardware.atari.org/images/card.gif

Kroll napisał/a:

Jak teraz moge to w najprostszy sposob sprawdzic czy to dziala na razie nie mam routera takze musialem odlaczyc laptopa. probowalem wczoraj na szybcika np uruchomic Cab-a czy highwire ale nic nie dalo.

Olej CABa i Highwire dopóki ping nie zadziała :P A jak już urządzenia będą się ping'owały to ustawiłeś w CABie i Highwire odpowiedni network.ovl, nie? :)
Oczywiście rozumiem że w pliku route.tab jako gateway podałeś IP notebook'a i skoro chcesz na Falconie www to na notebooku włączyłeś udostępnianie połączenia lub zainstalowałeś jakieś proxy?
I dodatkowo, jeśli podłączasz się do notebooka, to ( tu moje filozofie, jeśli jakiś sieciowiec to wie na 100% to niech potwierdzi lub obali :) ) musisz podłączyć się przez skrosowany kabelek:
http://www.archonmagnus.com/mods/crossO … agram2.jpg
lub przez jakiegoś switcha który sam sobie skrosuje jeśli jest taka potrzeba :)