"pudełkową" wersję gry Running (Niemcy)
Niezły rarytasik :)
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
AGI-ANTIC i King's Quest na Atari Silnik AGI-ANTIC przenosi klasyczne King's Quest I na małe Atari.
Nowy deasembler dla Atari ST Narzędzie rg-dis ułatwia deasemblowanie kodu dla komputerów Atari wyposażonych w procesory 68x.
MADS 2.1.8 Ukazała się nowa wersja popularnego asemblera MADS z nowymi funkcjami.
Fujisan 2.0.5 Nowa wersja emulatora z obsługą FujiNet i NetSIO.
CAS2Audio 1.0.6 Nowa wersja aplikacji CAS2Audio dla systemu Android
atari.area forum » Posty przez jury
"pudełkową" wersję gry Running (Niemcy)
Niezły rarytasik :)
Ja się nie znam na 8-bit, ale wydaje mi się że gdzieś tu czytałem że jest jakiś kompilator C na "małe". Ale zaraz mądrzejsi w tym temacie podzielą się wiedzą ;)
Trochę popłynąłeś, Pure C jest na 16/32-bit a nie na "kaseciaka" :D
<flame-mode>
Tylko, że w odróznieniu do makcooków air, atari ma używalny system operacyjny ;)
</flame-mode>
To poproszę o nazwę, i w takim razie wreszcie sobie jakiś używalny SO na Falcona zainstaluję :P
Pilnawo poszukuję EtherNECa, NetUSBee lub Hydry, ktoś ma?
A, tak wiem, że zaxon robi NetUSBee, ale kolejna seria będzie dopiero za 173 lata, a ja potrzebuję teraz, zaraz, już :D ;)
Więc może ktoś ma nadmiar lub nie używa :)
sqward, a możesz przybliżyć co jest powodem, rozumiem że zapewne prędkość działania?
Ja kiedyś czytałem na mint liscie że to było by w miarę grywalne, ale kursor myszy jest strasznie wolny, a jako że jakieś parametry SDLa dotyczące myszy nie zostały zaimplementowane w wersji SDLa pod Atari, to nie da się zmienić. Więc jeśli to tylko chodzi o mysz to jest szansa że to zostanie kiedyś poprawione :)
To jeszcze tylko konia z wozem temu co to odpali z tymi wersjami które są w necie
Hmm, tak mnie tknęło :) Nie chcę konia z wozem, przyjadę do Ciebie i za uruchomienie poproszę tylko CT63 :D
Dla mnie akurat ankieta jest dobrze skonstruowana :P
Albo się gra ( i tu wystarczy jedna odpowiedz na Tak ) albo się nie gra i autor chce znać trochę bardziej przyczynę dlaczego nie. Jedynie nie rozumiem bezsensownej kąśliwości do geparda, ale to ich pewnie jakaś "stara sprawa" :D Co do samego tworzenia to też za bardzo nie rozumiem tej idei: czy tworzyć czy nie. Zapewne najwięcej frajdy sprawia tworzenie dla siebie, taka moja filozofia :)
A do tego masz "maszynę" ScummVM na której działa trylion zylionów przygodówek podobno :) Też potrzebny 1.17.0, tu możesz zobaczyć które gry z tym współpracują:
http://www.scummvm.org/screenshots/
Jest jeszcze saulota port Flashbacka:
http://nokturnal.pl/home/atari_16_32_bi ... ch_lang/pl
To jeszcze tylko konia z wozem temu co to odpali z tymi wersjami które są w necie :P
Tu masz ewentualny mały poradnik co i jak robić z quake'm jak już dorwiesz "pliki gry" ( lub chociaż shareware):
Z innych gier masz jeszcze OpenTTD, ale do tego potrzebny jest MiNT 1.17.0.
http://atariarea.krap.pl/forum/viewtopi ... 32#p120432
U MiKRO masz też inne 3 gry: HHeretic, HHexen and OpenTyrian
Co do quake'a, to na wersji shareware przynajmniej powinieneś pograć w pierwszym epizodzie quake'a.
To tylko nie zapomnij podać rezultat uruchomienia tego dema na ST :]
Nie zwracaj uwagi na artik-wroc'a wynalazek rodem prosto z NASA :) Wg tego co tam widzę to są tam dwie stacje, zasilacz i tony jakichś gniazdek, więc to pewnie dlatego tak to przerażająco wygląda. Wydaje ( słownie: wydaje :D ) mi się że to co opisałeś, czyli zwykły przełącznik na taśmie powinien dać radę. Jedyne co mnie tylko zastanawia, to czy system przechowuje gdzieś dane odnośnie jakichś parametrów dyskietki wsuniętej do stacji, bo wtedy jeśli w drugiej stacji będziesz miał trochę "inną" dyskietkę to ta opcja może ( ale nie musi ) nie zadziałać. Trzeba by wymusić zmianę dyskietki, co chyba nawet jakaś funkcja TOSowa robi jednym wywołaniem. Ale moje ostatnie dwa zdania to tylko coś co mi się wydaje :D Jakoś tak mi się kojarzy że o czymś takim czytałem kilkanaście lat temu, a jak wiadomo czas i wóda mają duży wpływ na pamięć ;)
To nie tutorial periheliona :) On jest dobry, akurat backup i odzyskanie ( w złym miejscu ) adresu vbl'a dodałem ja :D
Dziękiiiiiiiii za pomoc miszczu, działaaaa :)
No i oczywiście nie trzeba dodawać swojej procedurę do defaultowej kolejki vbl. Wczoraj w Intern ST wyczytałem co w tej kolejce jest i tak naprawdę przydatne jest wyświetlanie kursora ( reszta to tak jak wcześniej pisałem, "bzdury" ), czyli tak naprawdę przydaje się to jak się pisze coś GEMowego :P
Raczej mu miłość do Atari ST minęłą :D
Dysosnans poznawczy następuje jedynie w wyniku długiej przerwy w rozwoju urządzenia
Pięknie to ująłeś :)
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
Bo saulot umie uruchamiać dema z STE na ST :]]]]]]
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
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 :)
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
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.
sqward: zwiecha, jedyny ratunek reset steem'a
adamk: pytanie już padło :)
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
jury: to spróbuj wwalić tam jakiegoś nop'a, wrzucić słowo even przed VBL
Nie pomogło :(
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 :)
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:
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 :)
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 1init.s jest rodem prosto z tutoriala perihelion'a
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.
atari.area forum » Posty przez jury
Wygenerowano w 0.091 sekund, wykonano 21 zapytań