1,451

(12 odpowiedzi, napisanych Software, Gry - 8bit)

Rodzina 6502 (zupelnie jak procesory intela w opozycji do procesorow motoroli) uzywa w wielobajtowych slowach kolejnosci Little Endian. Ujmuje to troche dowcipu mojemu rozwiazaniu, bo wartosc ladowana do akumulatora to $3A00, a wiec to ze najmlodszy bit jest zerem nie jest przypadkiem :)

To zdecydowanie najlepszy kod jaki kiedykolwiek napisalem (bo lepiej juz sie go napisac nie da) wiec od teraz bedzie juz tylko z gorki... przytlacza mnie to... osiagnalem juz wszystko co bylo do osiagniecia... koncze z programowaniem i zajme sie ogrodnictwem ;)

1,452

(12 odpowiedzi, napisanych Software, Gry - 8bit)

Ja wpadlem na cos takiego (mam nadzieje, ze sie nie wyglupilem, bo nie uruchamialem):

.ab
php
rep #$20
lda #$00
dec
plp
lsr

Powinna zwracac to samo co Twoja (8 bajtow, 14 albo 15 cykli ;))

1,453

(4 odpowiedzi, napisanych Sprawy atari.area)

Solo ostatnio za duzo pracuje...  :twisted:

1,454

(11 odpowiedzi, napisanych Scena - 8bit)

"Ojej. I czemu chcesz używać 360 stopni? Używaj 256, to znacząco ułatwia życie"

Tzn. przy obrocie o 360 robimy najpierw 256 i później tak obrócone punkty dodatkowo ruszamy o 64 stopnie?

Chodzi o taki mily trick, zeby wykorzystac fakt, ze 6502 bardzo lubi liczbe 256  ;). Jezeli wiec podzielimy sobie kat pelny nie na 360 jednostek, a na 256, to obliczenia trygonometryczne (uzywajac tablic sin cos i pochodnych) baaardzo nam sie uproszcza.

pozdrawiam

1,455

(16 odpowiedzi, napisanych Emulacja - 8bit)

Króger kiedys twierdzil, ze w Ergo Bibamus byl jedyny na atari liczony w real-time torus. Jak odpalimy Time-Keepera z turbo (z tym ze turbo wlaczymy jak juz demo sie porzadnie rozkreci, tak przynajmniej na tunelu, bo wczesniej sie zawiesza) to zobaczymy ze wszystkie 3d sa real-time. Dokladnie widac na ostanich dwuch torusach, ktore mozna ogladac do woli i przelaczajac fte i wefte alt-T (ja sie bawilem pare minut). Pozycje sa zmieniane na VBL a rysowane ile wydoli wiec wychodzi plynnie. Nie znalazlem jak dotad zadnego innego dema o tej wlasciwosci. W szczegolnosci liczone w czasie rzeczywistym wektorowe miasto w Ergo Bibamus zamiast dzialac plynniej znika nam z ekranow to 3 sekundach  ;)

A emulatorek jak narazie dziala mi calkiem dobrze. I naprawde ma 14 MB ramu, tylko moje testy na predkosc sie wykrzaczaja i nie wiem ile on tych megahercow udaje. Jedyny bol, ze dziala tylko na full-screenie. Jak ktos wymysli jak odpalic go w okienku bede bardzo wdzieczny

a poki nie ma emulacji 16-tki w atari800win to trzeba zdac sie na to to.

1,456

(38 odpowiedzi, napisanych Zloty)

Ja mam nadzieje, ze Vasco jedzie i zabiore sie z nim jak rok temu... bo jak nie to moze byc kiepsko. Ale na pewno pojade

1,457

(37 odpowiedzi, napisanych Sprzęt - 8bit)

ja bylbym chetny na upgrade do 14 MHz... a co potrafi 7 MHz moze bedzie mozna zobaczyc juz na foreverze  8)

1,458

(16 odpowiedzi, napisanych Emulacja - 8bit)

wydaje mi sie ze na podstawie tych zrodel powstal wlasnie ultraXE...

1,459

(17 odpowiedzi, napisanych Bałagan)

czytalem kiedys o sam coupe w bajtku. zrobil na mnie wrazenie. ale byla tego chyba bardzo mala produkcja...

1,460

(10 odpowiedzi, napisanych Bałagan)

W atari za pomoca beja tez ciezko uzyskac 256 kolorow. A co do konstruktorki, to podoba mi sie jej rejestracja :) Ja zawsze szukalem polskiego radiowozu z taka rejestracja, ale nie znalazlem (inne MOSy widzialem, ale nie 6502). Ciekawe, czy taki istnieje...   :?:

1,461

(3 odpowiedzi, napisanych Bałagan)

co chcece... mi sie podobalo. wiecie jak trudno jest wygenerowac taka animacje chociazby na PC? a procka czytajaca to wszystko w RT tez pewnie nie byla banalna. Dla mnie liczy sie koncowy efekt i tu calkiem wyszlo  8)

1,462

(8 odpowiedzi, napisanych Scena - 8bit)

Greensleeves to tradycyjny angielski utwor. Wielu artystow siegalo po niego. M.in. Loreena McKennitt czy Leonard Cohen. Co do nutek, to "google Twoim przyjacielem" i znalazlem cos takiego  ;) .

1,463

(43 odpowiedzi, napisanych Bałagan)

ee.... mi tam sie okreslenie "programowanie artystyczne" podoba  :P

1,464

(21 odpowiedzi, napisanych Bałagan)

hehe... kiedys do -=New Generation=- liczyl tez solo ale szybko mu sie znudzilo :P
Od paru ladnych dni nic nie policzylem, bo w akademiku net mi padl (zabic admina), ale bede jeszcze walczyl :)

1,465

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

Nie no... ale koles to odwalil chalture... "Rozdzielczość 320X240 20klatek/s". Zreszta zamieszczony screen wszystko mowi o jakosc tego materialu (wyobrazam sobie jak to wyglada na full-screenie). Juz nawet ja ze swojego przedpotopowego panasonica lepsze divx-y robilem... Material napewno ciekawy, ale tej jakosci to bym sie wstydzil (zgodzilbym sie, gdyby bylo capturowane na Amidze, ale nie bylo, bo z amigi wyszla by rozdzielczosc 320x256  :mrgreen: )

1,466

(29 odpowiedzi, napisanych Software, Gry - 8bit)

Pisanie zupelnie nowego asemblera uwazam za zbyt kosztowne... jak juz, to lepiej byloby porozmawiac z BOBerem, aby dodac te ficzery do jego wciaz przeciez rozwijanego asemblera.

Ja jednak sklaniam sie do innego rozwiazania i (nie ukrywam) wiaze sie ono z moja "fascynacja" ca65. Od kilku miesiecy pracuje (mam nadzieje, ze mi sie uda) nad nastepca systemu, ktory wykorzystalismy w LFove, a bedzie to taki "demo-linker". Podstawowa idea, to wykorzystanie naturalnego dla tego asemblera podzialu na segmenty oraz odpowiednie deklaracje, czy segment ma byc w pamieci podstawowej, czy moze w banku i linker majac wszystkie informacje o calym projekcie sam rozlokuje wszystkie segmenty w odpowiednich adresach i bankach (zeby nic nam nie kolidowalo). Wystarczy tylko dodac ustawiana przez linker zmienna np. nazwa_segmentuBankNumber, ktora dla kazdego segmentu, ktory jest w banku zostanie ustalona na wartosc z tablicy bankow i wszystko pieknia nam smiga i nie musiby dbac o zadne adresy... kolizje... bo po co, skoro mozna to rozwiazac automatycznie, a przy dobrym algorytmie automat zrobi to lepiej niz czlowiek.

A co do pomyslu Pirxa o kompilowaniu utilow unixowych, to na zwyklym 6502 projekt bylby o tyle  trudny, o ile mamy wielkie ograniczenia z uzywaniem dynamicznej pamieci. Nawet najzmyslniejszy linker pozwolilby nam zaalokowac max 16kB, a jesli na nieszczescie procedura probujaca sie odwolac do tego obszaru znalazla sie w innym banku, albo gdybysmy na przemian chcieli odwolywac sie do danych w roznych bankach, to mamy klops. MOZNA specjalnie pisac, zeby wszystko dzialalo OK, ale nie powinnismy oczekiwac, ze dowolny program bedzie dziala przy takich ograniczeniach. Co innego na 65c816 z odpowiednia iloscia dodatkowej pamieci... w takiej sytuacji to nic nowego nie jest potrzebne. Standardowy (acz odpowiednio nastrojony) linker do cc65 poradzi sobie znakomicie.

1,467

(49 odpowiedzi, napisanych Software, Gry - 8bit)

No faktycznie... o tym ALTcie nie pomyslalem, to powaznie komplikuje sytuacje  ;) Wiem, ze to nie to samo, ale gdyby tak zastosowac Control+Tab ?  Ew. jakas kombinacja z klawiszami funkcyjnymi. Zawsze tez mozna wywiercic w obudowie nowa dziure (jedna wiecej nie zrobi roznicy) i dorobic jakis specjalny przycisk do przelaczania taskow. Moglby byc nawet obslugiwany sprzetowo przez jakis uklad, ktory wysylalby procesorowi przerwanie NMI, co skutecznie pozwalaloby na killowanie zawieszonych procesow  ;) (jakby jeszcze dodac jakis MMU to byloby gites)

1,468

(49 odpowiedzi, napisanych Software, Gry - 8bit)

O wlasnie. Nawiazujac do poprzedniej wypowiedzi truba juz chyba potrafie nazwac o co mi chodzilo i sprecyzowac moje "watpliwosci", jako bardziej "ideowe". Ostrzegam, ze bede fantazjowal ;) Relokowalny format binarny, to super pomysl, tylko trzeba zadac sobie pytanie o potrzebe takiego formatu. Normalnie dla standardowego ATARI OS wydaje mi sie on malo przydatny, gdyz pomijajac przypadki instalowania roznych rezydentnych nakladek w pamieci atari na raz przebywa i tak tylko jeden program i nie musi on dzielic zasobow z zadnym innym, przez co nie ma konfliktow adresowych. Relokacja wydaje sie jednak niezbedna dopiero przy wielozadaniowosci, lub przynajmniej przy powaznym wsparciu dla rezydowania w pamieci wielu programow przez system operacyjny. Prawdziwy multitasking na atari wydaje sie szalenie trudny do uzyskania, ale w przypadku 65c816 i duzej ilosci pamieci ta druga opcja jest jak najbardziej mozliwa. Dosc mile sa wizje wspierania przez atarowski OS odpowiednika windowsowego Alt+TAB, aby moc uruchomic sobie kilka narzedzi rownoczesnie i przelaczac sie pomiedzy nimi. I to wg. mnie ma sens. Tylko do tego potrzebny jest SILNY system operacyjny. Jezeli juz bysmy taki mieli, to dlaczego plik relokowalny musialby byc taki ubogi? Dlaczego by nie wprowadzic np. koncepcji zmiennych systemowych, czyli symboli, ktore normalnie w asemblowanym kodzie bylyby deklarowane jako zewnetrzne i podczas ladowania system (loader) przypisywalby im konkretne wartosci jak np. rozmiar dodatkowej pamieci, rodzaj procesora, czy chociazby numer banku (wartosc PORTB) przydzielona programowi gdy potrzebuje on dodatkowej pamieci. Wiem, ze troche zagalopowalem sie teraz z fantazjowaniem, ale wg mnie relokowanie ma najwiekszy sens przy obecnosci rozbudowanego srodowiska systemowego, ktore w polaczeniu z duzym potencjalem formatu pliku dawaloby wielkie mozliwosci.
Nie chce byc oczywiscie jednostronny i zdaje sobie sprawe, juz przy standardowym OSie jezeli nie pisze sie dema, to fajnie byloby zwrocic uwage na wartosc MEMLO i dopiero od niej ustawic program. Wlasnie ze wzgledu na rezydenty. Do takich celow proponowany przec Draco format w zupelnosci wystarcza i nawet nie musimy zawracac sobie glowy jakimis segmentami DATA czy BSS, bo ich przydatnosc wydaje sie wtedy watpliwa.

1,469

(49 odpowiedzi, napisanych Software, Gry - 8bit)

mkrel.com wymaga jako danych wejściowych dwóch kopii tego samego pliku binarnego skompilowanych pod różne adresy.

Bardzo sprytne!  :D Nie wpadlem na to.

1,470

(49 odpowiedzi, napisanych Software, Gry - 8bit)

Naszly mnie takie luzne przemyslenia. Jak dziala program mkrel.com? Czy na wejsciu przyjmuje on standardowy atarowski plik ladowalny (naglowek $ffff) ? Rozumiem, ze jego zadaniem jest odjecie od kazdego absolutnego odwolania wewnatrz programu adresu jego poczatku oraz skojarzenia z tym adresem fixupa. Ale nie wyobrazam sobie jak znalezc wszystkie takie odwolania oraz jak nie potraktowac tym odwolania, ktore nie powinno byc zrelokowane lub wrecz bylby to fragment danych, ktory przypadkiem wyglada jak odwolanie. Istnieja rzeczywiscie takie problemy, czy moze mysle zbyt pesymistycznie? Moge pisac glupoty, ale wydaje mi sie, ze tak naprawde nie mamy na atari porzadnego supportu dla plikow relokowalnych, a programy urelokowalniajace absolutny kod sa tylko jakas zastepcza metoda radzenia sobie z problemem w ograniczonym zakresie. Widze tu pewien konkretny problem techniczny zwiazany z efektywnym generowanie relokowalnego kodu i nie widze uniwersalnego rozwiazania, gdyz jedyny asembler jaki znam, ktory generuje prawdziwy kod relokowalny to wspomniany przeze mnie wyzej ca65, ale jest to cross-assembler, a na prawdziwym atari niczego takiego nie znam. Koknretnie pewien impas widze w tym, ze proponowany format moze byc zbyt obszerny przy generowaniu relokowalnego kodu z programow pierwotnie absolutnych (bo piszac w ten sposob pewne trudnosci moze sprawic pelne wykorzystanie dobrodziejstw wielu segmentow), a rownoczesnie zbyt skromny przy pisaniu programow w ca65, ktory daje o wiele wieksze mozliwosci.
Przepraszam, za zasmiecenie topiku postem, z ktorego nic nie wynika, ale czulem potrzebe podzielenia sie moimi "watpliwosciami" ;)

1,471

(49 odpowiedzi, napisanych Software, Gry - 8bit)

Boje sie troche zabierac glos po proznicy, bo zdaje sobie sprawe, ze dokladnie sobie ten format przemyslales i nie wiem, czy moja krytyka moze miec jakakolwiek konstruktywna wartosc, ale uwazam, ze troche mu brakuje do "wymarzonego" formatu. Pierwsza sprawa: relokacja. Mysle, ze pomysl z wyrownaniem do granicy strony to raczej obejscie, a nie rozwiazanie problemu jakim mamy z mnogoscia trybow adresowania. Dodatkowo nie doczytalem (przeoczylem?) jak relokator odroznia argument 2-bajtowy (np. wewnetrzne jsr) od 1-bajtowego (np. wspomniane lda #<costam). Druga sprawa jaka jak narazie zauwazylem, to obecnosc tylko jednego bloku binarnego programu. Jak na XXI wiek to nie jest zbyt rewolucyjne rozwiazanie. Juz od niepametnych czasow na maszynach 16/32 bit obecnosc wielu relokowalnych segmentow jest standardem i wg. mnie wielkim ulatwieniem pracy. Pisze to badzo subiektywnie, gdyz zaczynam uzywac asemblera ca65 z wieloma segmentami i dla mnie to dosc naturalne. Moje spostrzezenia sa zreszta oparte na tym artykule. Jest tam zawartych kilka (nie wszystkie) ciekawych spostrzezen.

1,472

(123 odpowiedzi, napisanych Software, Gry - 8bit)

Ponieważ nie mogę ci wysłać SysInfo, poprzestanę przeto na prośbie, byś mi przetestował na twoim sprzęcie powyższą procedurkę i podał wyniki. Dzięki.

Wlasnie sprawdzilem. Wstawienie Twojej procedurki do mojego monitorka bylo calkowicie bezbolesne, gdyz obie zwracaja to samo (tylko mi sie glupio zrobilo, ze moja byla z dwa razy dluzsza  ;) ). Procka udowodnila, ze dziala zwracajac dokladnie takie same wartosci co moja, a wiec 16 bankow przy obecnym 1 MB i 1 bank przy wylaczonej pamieci dodatkowej (Pasiu zaopatrzyl mnie w zworke, ktora moge tego dokonac  :D )

1,473

(123 odpowiedzi, napisanych Software, Gry - 8bit)

Poza obszarem jednego megabajta odczytywane sa wartosci numeru banku (czyli w komorkach $100000-$10ffff jest $10, w $110000-$11ffff jest $11 itd.). Zapis nic nie powinien zmieniac, ale nie probowalem (jesli to wazne, to sprobuje ;)). Tak przynajmniej dziala rozszerzenie Pasia.

Spróbuj w opcjach włączyć "16-bit mode" i spróbuj jeszcze raz.

"16-bit mode" byl na ON automatyczne. Sprawdzilem oba ustawienia: bez zmian.

1,474

(123 odpowiedzi, napisanych Software, Gry - 8bit)

W System summary jest napisane, że masz 1 MB pamięci w bankach. Masz tyle?

Tak. Mam 1 MB w bankach (na SIMie by Pasiu). Megabajt liniowej mam oczywiscie osobno  ;)

PS. Jak Ci sie chce, mozemy zastanowic sie, co jest nie tak. Moja procka na wykrywanie liniowej pamieci jest taka (kod dla cross-assemblerka ACME):

;Obliczanie rozmiaru dodatkowej pamieci
;pierwsze podejscie (oby dobre)
;najpierw zapamietuje komorki $0000 ze wszystkich 256 bankow w buforze, potem je zeruje
;testuje kazdego po kolei na zapisanie i odczytanie jakichs wartosci i oznaczam jako sprawodzony
;jesli nowy bank badzie mial w tym miejscu taka sama wartosc, to jest olewany
;(bo powinien miec zero jesli jest nowy). Potem odnawiam wartosci i wsio
;zreszta mozna (chyba) zalozyc, ze pamiec jest scisle ciagla, czyli mozna zatrzymac sie na pierwszym banku,
;ktory nie jest nowy
;ZWRACA:
;HighLinearBanks - numer ostatniego dobrego banku (0 gdy nie ma dodatkowej pamieci 255 gdy jest 16MB)
        !zn CountHighMem
CountHighMem
        stz vl0
        sep #%00110000
        !as
        !rs

;zapamietujemy
        ldx #$ff
        stx HighLinearBanks
        inx
.0      stx vl0+2
        lda [vl0]
        sta CntHMemBuf,x
        inx
        bne .0

;zerujemy
        stx vl0+2
        txa
.1      sta [vl0]
        inc vl0+2
        bne .1

;testujemy
        stx vl0+2
.2      lda [vl0]
        bne .nast
        lda #'S' ;prawdzony :)
        sta [vl0]
        cmp [vl0]
        bne .nast
        inc HighLinearBanks
.nast   inc vl0+2
        bne .2

;sprzatamy
.koniec ldx vl0+2
        dex
.3      stx vl0+2
        lda CntHMemBuf,x
        sta [vl0]
        txa
        beq .4
        dex
        bra .3
.4      rep #%00110000
        !al
        !rl
        rts

1,475

(123 odpowiedzi, napisanych Software, Gry - 8bit)

Po sciagnieciu SI 2.07 z zapalem zabralem sie do testowanie i... u mnie zonk  :cry:
Oto wyniki:
System summary
Memory usage summary
A pamiec wiem, ze mam, bo programy ktore sam sobie napisalem, dzialaja.