Skrypt forum został zaktualizowany
Wszelakie błędy, pytania oraz prośby o nową funkcjonalność zgłaszajcie w tym wątku

Laura? Ktoś? Coś?

Nie ma róży bez kolców... Miejsce na dyskusję o najmłodszym bracie C64
Wiadomość
Autor
carrion
Posty: 1506
Rejestracja: pt lut 27, 2009 5:38 pm

Re: Laura? Ktoś? Coś?

#41 Postautor: carrion » sob cze 02, 2018 3:24 pm

no ładnie to wychodzi...
zmieści się bez doczytywania w jednym pliku?
TM
retronavigator.com

unctio/ver
Posty: 21
Rejestracja: sob paź 10, 2015 8:55 pm

Re: Laura? Ktoś? Coś?

#42 Postautor: unctio/ver » sob cze 02, 2018 8:42 pm

Hmmmm. W C128 na pewno, w C64 – policzmy:
w obszarze dla VICa:
2x1kb – bufory ramki,
1kb – color-ram
3x2kb – 3x charset
2kb – charset dla dolnego panela
1kb – ekran dolnego panela
~0,5kb – wzorce duszków
reszta:
4kb – mapa graficzna 80x40
4kb – mapa kolorów 80x40
1kb – mapa kolizji
3 x 3 x 2kb – po 3 charsety dla 3 rodzajów plansz
2kb – charset panel
~22 kb – program
ok 2kb – zmienne i tablice C
+
?? kb dźwięki / muzyka
?? kb – obrazki, wstępy, zakończenia itp.

razem: >> 65,5kb

szkoda, że Commodore nie zrobiło choćby dodatkowych dziurek w pcb pod kolejne 64kb RAMu.
Chociaż nie… mielibyśmy dylematy Atarowców. A tak nie mamy wyjścia – nie mamy kłótni :)

carrion
Posty: 1506
Rejestracja: pt lut 27, 2009 5:38 pm

Re: Laura? Ktoś? Coś?

#43 Postautor: carrion » ndz cze 03, 2018 8:52 am

hm...
- kod 22kb wygląda na dość duży, ale sam nie zaimplementowałem jeszcze całej logiki więc może to tyle będzie jak skończę. myślę jednak że te 22kb+2kb to narzut kompilatora C.
- widzę że nie masz na razie w pamiętci miejsca na ekran powitalny
- no i nie ma miejsca na trzymanie wszystkich 32 leveli.

serio polecam jakiś cruncher (ja używam HCLowego BBozera2). pakuję nim levele które z 930 bajtów pakują się do 250...
tak samo 3 charsety dla poszczególnych światów.

zerknąłem teraz na mapę pamięci jaką generuję sobie w kick assemblerze podczas assemblacji i całość zajmuje mi: od $1000-$cd7f w tym jest ekran tytułowy i wszystkie 32 lavele spakowane (od $ad00).
w tym kodzie mam też dodaną jakś przykładową muzykę (od $1100 do $1b13) i jak trzeba będzie miejsca to się ją usunie.
samo kod: $a000-$acff

sposób w jaki zorganizowałem całą rozkodowaną mapę zajmuje mi bardzo dużo miejsca w pamięci, ale za to łatwo się po nim poruszać i na razie tak zostawiam.
pomysł wziąłem z tąd: http://codebase64.org/doku.php?id=base:freedirectional_scrolling_using_map_dumps
to nie jest eleganckie rozwiązanie bo sporo ramu zajmuje, ale na razie mi starcza i wygląda na to że się zmieszczę.

inicjalna binarka pakuje mi się do jakichś 9771 bajtów na ten moment. mam więc spooooro pamięci aby zrobić intro z grafiką.

status mojej wersji na c+4 jest taki że chwilowo zaatrzymałem prace nad logiką (mam przesuwanie bloczków i obsługę min dla Laury i dla bloczku) i skupiłem się na zakodowaniu płynnego scrolla w pionie. nie ide od paru dni do przodu bo... nie kumam tego jak to działa w C+4. na szczęście dwóch guru od sprzętu c+4 zaoferowało mi pomoc i może za chwilę jakoś ruszę do przodu. do zakodowania od nowa będę miał całą mapę kolorów z podwójnym buforowaniem bo chcę użyć wielu kolorów na planszy.
pracy jeszcze sporo przede mną zanim powiem że mam grywalny level1 i level2.
retronavigator.com

unctio/ver
Posty: 21
Rejestracja: sob paź 10, 2015 8:55 pm

Re: Laura? Ktoś? Coś?

#44 Postautor: unctio/ver » pn cze 04, 2018 8:45 pm

Tak, te 22kb to skutek użycia C, a dokładniej - w dużym stopniu obsługi zmiennych, tablic i warunków. Zdecydowałem się na C, dlatego nie mam takiej swobody w organizowaniu pamięci.
Nawet gdybym jakimś cudem upchał to w jednym pliku, to bez grafik (chyba, że w pet-scii :-) ) a najpewniej i tak wszystko by się wysypało, bo – jak widzę, kod tworzony przez cc65 grzebie sobie gdzieś w okolicach $a000 i przed $cfff. Inaczej – musiałbym praktycznie wszystko pisać od nowa.
Więc moja wersja będzie dyskowa.

Rzeczywiście pomysłowa ta metoda przesuwu. Ja użyłem adresowania ($M),y i 16bit dodawania/odejmowania we wskaźniku M o 2(w poziomie) lub o 80(w pionie). Jest wolniejsze, ale wyrabia się w czasie jednej ramki.
Kolory – trzeba wymyślić metodę na nadawanie barw obiektom – dodatkowa mapa kolorów do każdej planszy odpada. U siebie zrobiłem tak, że część obiektów ma losowo wybierane barwy, a część nadane przez dwa najmłodsze bity każdego numeru obiektu w pliku plansz (numery obiektów są wielokrotnością 4 – tak jak w zestawie charsetow).

unctio/ver
Posty: 21
Rejestracja: sob paź 10, 2015 8:55 pm

Re: Laura? Ktoś? Coś?

#45 Postautor: unctio/ver » pn cze 04, 2018 9:14 pm

W sumie mam wrażenie, że zabrałem się trochę do tego od dupy strony. Wiele bym pozmieniał, ale mam już praktycznie gotowy kod... Zawsze tak jest :/

starymarabut
Posty: 156
Rejestracja: pn lip 05, 2010 10:25 pm

Re: RE: Re: Laura? Ktoś? Coś?

#46 Postautor: starymarabut » wt cze 05, 2018 7:14 pm

unctio/ver pisze:W sumie mam wrażenie, że zabrałem się trochę do tego od dupy strony. Wiele bym pozmieniał, ale mam już praktycznie gotowy kod... Zawsze tak jest :/

Zawsze można zrobić v.2
jak sił starczy.
C64II+SD2IEC+JiffyDOS+SwinSid88

carrion
Posty: 1506
Rejestracja: pt lut 27, 2009 5:38 pm

Re: Laura? Ktoś? Coś?

#47 Postautor: carrion » pt cze 08, 2018 4:09 pm

krótki status z mojej strony... mam działający ekran z płynnym scrolem.
otrzymałem dużą pomoc od kolegów Węgrów - sam bym tego nie napisał.
najważniejsze że mogę iść dalej.
wstawię jakiś filmik w niedzielę jak zdążę po PH18.
retronavigator.com

Awatar użytkownika
Sebaloz/Lepsi.De
Posty: 3569
Rejestracja: ndz wrz 14, 2008 12:02 am

Re: Laura? Ktoś? Coś?

#48 Postautor: Sebaloz/Lepsi.De » pt cze 08, 2018 5:01 pm

carrion pisze:krótki status z mojej strony... mam działający ekran z płynnym scrolem.
otrzymałem dużą pomoc od kolegów Węgrów - sam bym tego nie napisał.

Bedziesz musial odwdzieczyc im sie butelką z płynem!
__________________________
Socjopatyczna Legia Commodore


Wróć do „Strefa C16 116 Plus/4”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość