Hello Demo

Zaczęty przez Morden, Listopad 22, 2025, 14:57

Poprzedni wątek - Następny wątek

Morden

Nie mam ostatnio zbyt dużo wolnego czasu, ale żeby oderwać myśli od obowiązków zacząłem wieczorami dłubać w kodowaniu na PlayStation. Można powiedzieć że miałem w tym temacie jakieś dwie dekady przerwy, bo nie licząc patchowania i innych kombinacji, tyle czasu minęło od ostatniego kawałka kodu napisanego przeze mnie od zera, który pokazywał coś na ekranie i odgrywał muzyczkę.



Zaczęło się dość niewinnie, od eksploracji aktualnie dostępnych narzędzi, szczególnie tych pod Linuxa, ale gdy skonfigurowałem SDK, wszystko szło już tylko do przodu. I tak, po kawałeczku kilka razy w tygodniu, przypominałem sobie stare dobre czasy wraz ze znanymi i lubianymi efektami widzianymi często w cracktro.



Tym oto sposobem powstało "Hello Demo". Nie miałem tutaj większych ambicji, więc jest to małe demko w stylu cracktro, ale efektów jest sporo. Mamy dynamiczne oświetlenie i cieniowanie obiektów 3D, teksturowany obiekt 3D, rastrowe falowanie logo, fala ze zintegrowanymi gwiazdkami, muzyczka i różne inne bajery typu animacja tekstu, stopniowe spowalnianie tekstu przy wjeździe itd.



Demko testowane było oczywiście na konsoli i na telewizorze kineskopowym, a więc jak to mówią "u mnie działa". Spokojnie można odpalić pod emulatorem, bo testowałem również na DuckStation. Nie ma prawa nie działać jeśli mamy możliwość odpalania pojedynczych exe. Zaktualizuję post gdy zrobię obraz CD dla posiadaczy PSIO i ODE.



Plik pobrać można *TUTAJ*

EDIT: Link zaktualizowany. Plik zip zawiera zarówno pojedyncze exe jak i obraz CD do wyplenia bądź odpalenia z ODE. Może ktoś sprawdzić czy chodzi na MaxStation? Hehe.
Nowy Singiel - Gamer Pro Max - Już w EMPiKu

makumator

A Masz do pobrania w wersji Polskiej?

Morden

Nowy Singiel - Gamer Pro Max - Już w EMPiKu

Janusz

Wygląda to nieźle, zwłaszcza że jak piszesz wróciłeś do tematu po długim czasie.
Fajna muzyczka w podkładzie, aż odpaliłem kilka razy ;)


12step

To jak masz już wszystko obczajone to teraz dawaj jakąś gre.
ore ore szabadabada amore

Morden

Cytat: Janusz w Listopad 22, 2025, 16:57Wygląda to nieźle, zwłaszcza że jak piszesz wróciłeś do tematu po długim czasie.

To tak czysto terapeutycznie, ale kto wie ... Może zrobię coś jeszcze skoro mam środowisko i narzędzia. Jest jeszcze sporo rzeczy które chcę przetestować w kwestii efektów, ale jak dwie dekady temu, zwykle kończyło się na eksperymentach. Dlatego wypuściłem to, żeby nie zostało na zawsze w "szufladzie".

Cytat: 12step w Listopad 22, 2025, 17:04To jak masz już wszystko obczajone to teraz dawaj jakąś gre.

Spoko. Dajesz tekstury, modele 3D, GUI i robimy.
Nowy Singiel - Gamer Pro Max - Już w EMPiKu

alf

Fajnie, że zrobiłeś wypust i udostępniłeś przygotowany soft. W jaki sposób to debugowałeś? (development był przy użyciu emulatora i tylko finalny efekt sprawdziłeś na konsoli?)

Morden

Cytat: alf w Listopad 22, 2025, 19:25W jaki sposób to debugowałeś? (development był przy użyciu emulatora i tylko finalny efekt sprawdziłeś na konsoli?)

Każda zmiana w kodzie była kompilowana i wysyłana na konsolę przez opisywany tu wcześniej cart PS1USB.

Ustawiłem sobie wszystko na tyle sprawnie, że autentycznie szybciej było wysłać plik na konsolę niż odpalać emulator jeśli ten nie był już uruchomiony. Poza tym na emulatorach nigdy nie można do końca polegać. Wybaczają wiele błędów i zachowań, które na oryginalnym sprzęcie powodują niepożądane zachowania.

Dla przykładu, zapomniałem o ustawieniu STP dla tekstury kostki. Emulator wyświetlał wszystko poprawnie, a na konsoli czarne piksele traktowane były jako przezroczystość i kostka miała "dziury na wylot" (na wylot, bo tekstury rysowane są tylko wtedy, gdy są widoczne, więc gdy tekstura którą widzimy ma przezroczyste piksele, widać będzie przez nie kolor tła, a nie teksturę z drugiej strony kostki, bo ta się nie wyświetla).



Klatka z klipu, niezbyt wyraźna, ale widać różowe piksele na teksturze. To właśnie wspomniane "dziury". To oczywiście pierdoła i są poważniejsze rzeczy, przez które program się na konsoli po prostu nie odpali. Emulator potrafi np. pominąć wiele błędów związanych z OT (ordering table to manualnie ustawiany porządek rysowania obiektów na ekranie zastępujący z-buffer, którego PS nie posiada).
Nowy Singiel - Gamer Pro Max - Już w EMPiKu

makumator

Właśnie miałem pytać o te artefakty, dobrze że wyjaśniłeś. Czekam na wersję PL na PSIO, to będzie pierwsze co na niej odpalę (jeszcze nie wyjąłem z pudełka).

hankie

Fajne demko, też puściłem sobie 3 razy, flashbacki od razu w bani. Co do technikaliów, nie znam się, ale fajny wehikuł czasu i pokazówka.

killy9999

Fajne. A wrzuciłbyś źródła?

alf

Cytat: Morden w Listopad 22, 2025, 22:16
Ustawiłem sobie wszystko na tyle sprawnie, że autentycznie szybciej było wysłać plik na konsolę niż odpalać emulator jeśli ten nie był już uruchomiony. Poza tym na emulatorach nigdy nie można do końca polegać. Wybaczają wiele błędów i zachowań, które na oryginalnym sprzęcie powodują niepożądane zachowania.

Rozumiem. Właściwie to Ty mnie nauczyłeś że emulatory - nieważne czy stworzone czysto jako software, czy hardware (fpga), zawsze będą miały jakiś pierwiastek ułomności. Jakiś niuans który ktoś przeoczył. Coś co będzie go różniło od oryginalnego sprzętu. Nigdy nie można być 100% pewnym. Sam się zresztą o tym przekonałeś próbując odpalić Paprium na Analogue Mega Sg. W tamtej chwili zwątpiłem w fpga - w sensie - przestałem uważać to za coś nieziemskiego lepszego niż oryginalny procesor. Jesteśmy tylko ludźmi, a opis w verilogu piszą ludzie, więc i błędy i przeoczenia są tam oczekiwane.


Cytat: killy9999 w Listopad 23, 2025, 13:41
Fajne. A wrzuciłbyś źródła?

@Morden pora się przesiąść z Twittera na githuba  C:-) kto wie może tam znajdziesz więcej obserwujących.

Morden

#12
Cytat: killy9999 w Listopad 23, 2025, 13:41A wrzuciłbyś źródła?

Raczej nie. Na forum nie ma ani jednego tematu o programowaniu, a cały dział homebrew dominują pytania o modchipy, CDR i takie tam, z pojedynczymi tematami informującymi o portach (Cave Story, Another World). Gdyby były tu osoby publikujące podobne projekty i miało by to prowadzić do wymiany doświadczeń, to co innego, ale Strefa to nie miejsce na takie dyskusje. Demosceną (chyba) interesuje się @Mcin a @Gomlin o homebrew regularnie wspomina na Cross Play i to by było na tyle.

Edit: Coś mi się pokiełbasiło. To @repip regularnie wspomina o homebrew w odcinkach Retro Gazu.

Cytat: alf w Listopad 23, 2025, 16:07emulatory - nieważne czy stworzone czysto jako software, czy hardware (fpga), zawsze będą miały jakiś pierwiastek ułomności. Jakiś niuans który ktoś przeoczył. Coś co będzie go różniło od oryginalnego sprzętu. Nigdy nie można być 100% pewnym. Sam się zresztą o tym przekonałeś próbując odpalić Paprium na Analogue Mega Sg. W tamtej chwili zwątpiłem w fpga - w sensie - przestałem uważać to za coś nieziemskiego lepszego niż oryginalny procesor.

Nieważne w jaki sposób udajesz oryginalny sprzęt. To nadal nie będzie oryginalny sprzęt. Na Mega SG ostro się zawiodłem jeszcze zanim próbowałem odpalić Paprium. Pierwszym zgrzytem było demko Overdrive II od Titan i niepoprawne brzmienie muzyki. Zgłosiłem to, ale zbagatelizowano problem bo to "tylko jeden domowej produkcji twór, który nawet nie jest grą". No ale skoro w Overdrive II coś jest nie tak, znaczy to że implementacja układu audio odstaje od oryginału.
Nowy Singiel - Gamer Pro Max - Już w EMPiKu

killy9999

Cytat: Morden w Listopad 23, 2025, 17:29Gdyby były tu osoby publikujące podobne projekty i miało by to prowadzić do wymiany doświadczeń, to co innego, ale Strefa to nie miejsce na takie dyskusje.
Kierując się taką logiką, to mogłeś równie dobrze tego tematu w ogóle nie zakładać. Bo po co, tylko żeby pokazać "ja umiem, ale nie powiem jak"? Uważam, że to trochę bez sensu, ale jak chcesz - obowiązku publikowania źródeł nie ma.

psmaniac




Cytat: killy9999 w Listopad 23, 2025, 17:58Uważam, że to trochę bez sensu, ale jak chcesz - obowiązku publikowania źródeł nie ma.

===================================================
Mister FPGA-The Best way to Enjoy Retrogames!
===================================================