326

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

Spoko, spróbuję wieczorem zrzucić z dyskietek tak jak sugerował Adam. Jury, jakby co to się odezwę:)

327

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

Hej,
Zainstalowałem sobie wersje Obsession dostosowana do HDD - http://atari.8bitchip.info/SCRSH/obsess.html
Działa, ale nie ma muzyki podczas gry, tylko dźwięki efektów. Zdziwiło mnie to bo w wersji dyskietkowej jest podkład muzyczny.
Sprawdziłem ta wersje HDD na hatari i muzyki też brak. Muzyka została więc wycięta podczas konwersji?

Jak widać istnieje wersja pod HDD z muzyka (inna bo widać, że pliki są różne): https://www.youtube.com/watch?v=dUFNK_NyXzI
Może ktoś z Was ją posiada?

328

(0 odpowiedzi, napisanych Zloty)

Tak, w ten weekend w Łodzi. Z tego co widzę w programie to może być sporo retro sprzętu w akcji - http://dkig.pl/pl/kalendarz-imprez
Może ktoś będzie zainteresowany imprezą... (ja planuję wpaść na parę godzin w sobotę)

329

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

Dzieki,
Masz gdzies jakies namiary na taki gotowy obraz? (majacy wiecej softu niz ten http://atari.8bitchip.info/DiskImgPP1.html)

330

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

Zwykly satandisk;)

Jak to jest z satandiskiem i kartami SD? Bywa kaprysny, czy mozna kupic dowolna karte i bedzie chodzic? Czy polecacie jakichs konkretnych producentow i rozmiary?

Czy sa gdzies w sieci gotowe obrazy kart z grami i demkami? Znalazlem na razie tylko http://atari.8bitchip.info/DiskImgPP1.html
Jest to chyba dobry punkt startowy by sobie dograc inne gry i demka... ale moze juz ktos robil taka full kompilacje i wrzucil na jakiegos ftp'a?

Czy obraz karty 1GB mozna tez nagrac na karte 2 czy 4GB i to bedzie dzialac? (oczywiscie tracac przestrzen)

Rozumiem, ze majac taki obraz nie musze sie juz martwic instalacja sterownika hdd? Chcialbym takiej instalacji uniknac bo moj PC ze stacja dyskow umarl...

332

(7 odpowiedzi, napisanych Emulacja - 16/32bit)

@Cyprian dzieki, w tej wersji nightly buildowej faktycznie juz to naprawili

333

(7 odpowiedzi, napisanych Emulacja - 16/32bit)

Nie, nigdy nie uzywalem Saint'a.
Rozumiem, ze wart uwagi? Chodzi mi glownie o to by byl wygodny przy developmencie (debugger, uruchamianie binarki podanej z linii polecen itp)

334

(7 odpowiedzi, napisanych Emulacja - 16/32bit)

@grzeniu biore taka ewentualnosc pod wzglad;)

@Cyprian ha, czyli jest specjalna wersja Steem'a ktora ma debugger. to dlatego nie moglem go znalezc w normalnej. faktycznie dziala on bez problemu. Ucze sie pisac pod czyste ST na razie - do TT czy falcon'a jeszcze mi bardzo daleko;) anyway Steem powinien mi wystarczyc do puki nie naprawia tego debuggera hatari pod win7. dzieki!

335

(7 odpowiedzi, napisanych Emulacja - 16/32bit)

Gdzies w ktoryms watku ktos pisal cos na temat debuggera w Steem. Nie moge znalezc informacji jak go uruchomic?
Czy Steem'a mozna uruchomic podajac binarke do uruchmienia jako parametr? Tak jak hatari mozna np hatari foo.tos

Jaki emulator polecacie do developmentu? Pod linuxem uzywalem hatari, lecz pod Windows 7 niestety nie dziala mu debugger ( bug - http://www.atari-forum.com/viewtopic.ph … mp;t=23296 ) - a niestety po padzie kompa jestem zmuszony przejsc na jakis czas na winde.

336

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

Adam Klobukowski napisał/a:

Ym mozna sobie odpuscic bo to format przeznaczony dla emulatorow. Na ST bedzie bez potrzeby proca obciazal. Radze zamiast tego zainteresowac sie formatem SNDH.

Dzieki Adam, tym bardziej ze odgrywanie SND okazuje sie byc duzo prostrze niz YM. 3 linijki kodu:)

337

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

Eagle napisał/a:

Nie wiedziałem że rozszerzenie muzyki *.ym jest rozszerzeniem które muszę rozpakowywać winrarem żeby wydobyć z niego już prawidłowy *.ym który mogę już jakoś odtwarzać.

Tak, pliki YM sa spakowane lha. Po rozpakowaniu sa spore bo to jest dump wszystkich rejestrow YM'a i mocno powiekszaja one sam program wykonywalny. Zastanawiam sie czy sa dostepne jakies lha routines dla ST (nie znalazlem na stronie dhs'ow)?
Najchetniej bym rozpakowywal YM'a dopiero po uruchomieniu np. intra (by miec maly rozmiar pliku).

Czy moze lepiej odpuscic sobie format YM bo scena uzywa w produkcjach czegos innego?

338

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

Adam Klobukowski napisał/a:

Programu do tego zadania nie znam, ale mozna po prostu pod emulatorem przekonwertowac to na ST, a ST to juz mozna komenda dd nagrac.

Jakbys jednak potrzebowal to przekonwertowac na format ST pod linuxem to uzyj hmsa z pakietu hatari.

339

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

Odpalilem w koncu ten kod na STE i okazalo sie ze dziala w miare prawidlowo.
To znaczy animacja jest mniej wiecej plynna (moze nie idealnie), ale nie wystepuje ten efekt co mialem pod hatari, ze losowo raz na jakis czas cos przeskakuje itp. Dalo mi to do myslenia i stwierdzilem, ze moze problemem jest to ze pod emulatorem mam skonfigurowanego EmuTOS. No i faktycznie po zmianie na prawdziwy tos program zachowuje sie tak jak na prawdziwym sprzecie - animacja jest wolniejsza... ale nie ma tych losowych przeskokow/zwiech co na emutos.
Kurcze, skoro na takim banalnym kodzie jest taka duza roznica w dzialaniu to chyba z kompatybilnoscia emutos'a z tos'em jest gorzej niz zakladalem.

340

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

@jury tak mi sie wydaje:

Na poczatku petli rysowania mam
            move.w     #37,-(a7)
            trap     #14
            addq.l     #2,a7

Chwile pozniej zamieniam ekrany i czyszcze/rysuje tylko na niewidocznym.

@sqward dzieki za uwage :) rozumiem ze wszelkie deklaracje zmiennych powinny zjadowac sie poza kodem. poprawilem to u siebie... choc w tym przypadku nie poprawilo to mojego problemu.

Aha, dla informacji uzywam vasm i hatari. Choc na steem pod winda zachowuje sie to podobnie. Na real STE nie odpalalem, ale zakladam ze jesli na obu emulatorach jest zle to problemem jest moj kod;)

Napisalem sobie chyba najbardziej prosta animacje jaka da sie zrobic czyli cykliczne przesuwanie pixela po osi x na ekrania i chce to zgrac z dwubuforwaniem. Oczywiscie cos poszlo nie tak... sama animacja zdaje sie dzialac, zmiana fizycznego i logiczengo ekranu tez, ale animacja i tak nie jest plynna i czasem przeskakuje. Tak jak by buforowanie zupelnie nie dzialalo. Jako, iz szukam juz pol weekendu bezskutecznie bledu to moze Wam sie cos nasunie co robie nie tak.

Moj prosty kod z komentarzami:

            ; wlaczenie trybu super user
            clr.l     -(a7) 
            move.w     #32,-(a7)
            trap     #1
            addq.l     #6,a7
            move.l     d0,_old_stack
_old_stack     dc.l     0
                
            ; wyliczenie adresu fizycznego ekranu                
            move.l  #screenbuffer+255,d0
            ; wyrownanie do rownych 256b            
            sub.b   d0,d0   
            ; ustawienie adres ekranu fizycznego do phyScr                                    
            move.l  d0,phyScr  
            ; znajdujemy obszar za fizycznym ekranem na ekran logiczny            
            addi.l  #160*200,d0  
            ; ustawiamy adres ekranu logicznego do logScr                               
            move.l  d0,logScr
            ; mowimy ST ze wyswetlany ekran zaczyna sie od phyScr            
            move.l  phyScr,d0
            lsr.w   #8,d0
            move.l  d0,$ffff8200.w 
            
            ; ustawienia koloru tla i animowanego pixela
            move.w     #$000,$ff8240
            move.w     #$777,$ff8244

; pozycja animowanego pixela                        
pos_x         dc.w     1
pos_y         dc.w     100                
        
drawStart            
            ; czekamy na vsync
            move.w     #37,-(a7)
            trap     #14 
            addq.l     #2,a7

            ; zamieniamy ekrany logiczny z fizycznym (stary logiczny staje sie fizycznym i odwrotnie)
            move.l    logScr,d0
            move.l    phyScr,logScr
            move.l    d0,phyScr
            ; mowimy ST ze wyswetlany ekran zaczyna sie od phyScr
            lsr.w   #8,d0
            move.l  d0,$ffff8200.w 
            ; adres logicznego ekranu wrzucamy do A0 - tam bedzie rysowac aplikacja
            move.l    logScr,a0
            
            ; ZAMIEN POWYZSZY BLOK NA PONIZSZY DLA WERSJI BEZ BUFFERINGU
            ;move.l    phyScr,d0
            ;lsr.w   #8,d0
            ;move.l  d0,$ffff8200.w 
            ;move.l    phyScr,a0
            
            ; prosta animacja pixela na osi X
            
            ; wyczyszczenie starej pozycji pixela na logicznym ekranie
            ; poniewaz rysujemy na 2 ekranam przemiennie
            ; to stara pozycja na ekranie logicznym to pos_x-1
            ; bo pos_x to aktualna pozycja pixela na ekranie fizycznym
            move.w    pos_x,d4
            ; ZAKOMENTUJ PONIZEJ DLA WERSJI BEZ BUFFERINGU
            subi.w    #1,d4
            cmp        #-1,d4
            ; jesli poprzenia pozycja to -1 to znaczy ze mamy wyczyscic ostatni pixel linii
            bne        notTooLess
            move.w    #319,d4
notTooLess
            
            move.w    d4,d0
            move.w    pos_y,d1
            ; wywolanie procedury czyszczacej pixel d0,d1
            ; ZAKOMENTUJ BY NIE CZYSCIC OBRAZU
            jsr        clrPixelD0D1
            
            ; postawienie pixela w nowej przesunietej w prawo pozycji
            addi    #1,pos_x
            cmp        #320,pos_x
            ; jesli nowa pozycja to 320 to stawiamy pixel na poczatku linii
            bne        notTooBig
            clr.w    pos_x
notTooBig            
            
            move.w    pos_x,d0
            move.w    pos_y,d1
            ; wywolanie procedury stawiajacej pixel d0,d1
            jsr        drawPixelD0D1

            ; petla nieskonczona
            jmp        drawStart

; procedura rysujaca pixel w do,d1 zakadajac ze pamiec ekranu zaczyna sie w A0
; rysowanie uzywa tylko pierwszego bit plane dla uproszczenia
drawPixelD0D1
            ; oblicznie adresu paczatku linii d1 w adresie a1
            move.l    a0,a1
            mulu    #160,d1
            adda.l    d1,a1
            clr.l    d3
            ; obliczamy offset poczatku Plane 1 zawierajacego pixel i przesuwamy o niego a1
            move.w    d0,d3
            lsr.w    #4,d3
            lsl.w    #3,d3
            adda.l    d3,a1
            ; obliczamy index pixela w bitplane
            and.w    #$f,d0
            ; zamieniamy index pixela na numer odpowiadajacego bitu (sa odwrocone) i umieszczamy do w d0
            neg.w    d0
            add        #$f,d0
            ; ustawiamy bit odpowiadajacy pixelowi w Plane 1
            move.l    (a1),d1
            bset    d0,d1
            move.l    d1,(a1)
            rts

; procedura czyszczaca pixel w do,d1 zakadajac ze pamiec ekranu zaczyna sie w A0
clrPixelD0D1
            ; analogicznie jak rysowanie powyzej
            move.l    a0,a1
            mulu    #160,d1
            adda.l    d1,a1
            clr.l    d3
            move.w    d0,d3
            lsr.w    #4,d3
            lsl.w    #3,d3
            adda.l    d3,a1
            and.w    #$f,d0
            neg.w    d0
            add        #$f,d0
            move.l    (a1),d1
            bclr    d0,d1
            move.l    d1,(a1)
            rts

; adres fizycznego ekranu
phyScr        ds.l    1
; adres logicznego ekranu
logScr        ds.l    1

; pamiec ekranu
screenbuffer        equ *        

Aplikacja jak widac jest trywialna. Przeuwam pixel o 1 w prawo, i czyszcze ostatnia pozycje na danym ekranie (jako iz mam 2 ekrany to na kazdym ekranie efektywnie animuje co 2 pixele). Manipulujac zakomentowanym kodem mozna wylaczyc buforowanie i w sumie efekt jest podobny. Mozna tez wylaczyc czyszczenie poprzedniej pozycji pixela i wtedy widac, ze samo rysowanie odbywa sie raczej prawidlowo i widac podmieniajace sie bardzo szybko ekrany z naprzemienna pozycja pixeli.

Macie jakis pomysl co robie nie tak? HELP!

Hej, dzieki za info. To daj znac jakby co...
Nie spieszy sie zupelnie... i tak jestem przez pare tygodni poza domem (i mam ograniczony dostep do sieci)

343

(44 odpowiedzi, napisanych Fabryka - 8bit)

@bezrobotny
A8 = Atari 8-bit
PoC = Proof of Concept = eksperyment potwierdzajacy czy pomysl ma sens;)

Czyli wersja eksperymentalna wyjscia HDMI do 8bitowego Atari:)

@willy faktycznie nie widac zalacznika

344

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

ricziricz napisał/a:

Czy wystarczyło zadać pytanie czy wyśle za granice, czy trzeba było przekonywać?

Zapytalem 2 sprzedawców i obaj zgodzili sie bez problemów. Z tym, ze jeden podal cene wysylki 2 razy wieksza od drugiego co bylo dosc dziwne.

345

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

Niestety nie pamietam:(

PS. Oczywiscie warient UK ma jedna wade. Gdyby odpukac cos bylo nie tak to trudniej wszystko odkrecic niz przez allegro.

346

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

Sam wybieral firme przewozowa. Koszty przesylki to bylo 25 funtow chyba (sam komp drugie tyle - czyli razem cos miedzy 230-240 PLN jesil dobrze pamietam) - dotarlo to do mnie kurierem. Z drugiej strony inny sprzedawca powiedział mi ze wysle do polski ale zaspiewal duzo wieksza cene przesylki... widac chcial dodatkowo zarobic wiec podziekowalem.

347

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

Czekaj na okazje. Ja za swojego STE z UK zaplacilem troche ponad 200zl wliczajac juz przesylke (polowa tej kwoty), a podobne aukcje na allegro konczyly sie powyzej 300-350zl w tym samym czasie. A po odebraniu przesylki okazalo sie ze komputer ma 4MB o czym sprzedajacy nie wiedzial:)

Edit: tak jak pisalem aukcja z wysylka tylko do UK i pozniej dogadalem sie ze sprzedajacym. Nikt z UK nie licytowal... a aukcje z wysylka europejska mialy juz 2 razy wieksze ceny.

348

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

No ale ten jest uszkodzony. No chyba, ze to nie problem:)

349

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

Monitoruj brytyjski ebay - czasem mozna trafic niezla okazje... Ja swoje STE nabylem z UK po cenie tanszej (mimo wysyłki) niz ceny na allegro.
Czesto tanie aukcje z STE maja wysylke tylko do UK podczas duzo wyzsza jest cena aukcji z wysylka do calej Europy - zawsze mozesz spytac sprzedawce czy mimo wyszystko nie wyslalby do PL i po jakiej cenie - tak bylo w moim przypadku.

350

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

Sqward, mój błąd - no i zorientowałem się o co chodzi podczas przygotowywania przykładu. A wiec include miałem bezpośrednio na początku linii - a  nie może tam  być bo jest interpretowany jako sygnatura. Błednie założyłem, że dyrektywy mogą być od poczatku linii.

Czyli błędnie:

    jsr     initialize     
    move.w     $ffff8240,d7      
    move.w     #$700,$ffff8240
    jsr waitKey

    move.w     d7,$ffff8240 
    jsr     restore 
    jsr    quit

include 2.asm

I dobrze:

    jsr     initialize     
    move.w     $ffff8240,d7      
    move.w     #$700,$ffff8240
    jsr waitKey

    move.w     d7,$ffff8240 
    jsr     restore 
    jsr    quit

    include 2.asm

Dzieki;)