Furry RPG! (Arbeitstitel)

Hier könnt ihr Euch mit Gleichgesinnten austauschen bei der Entwicklung eines neuen Spiels oder eines neuen Stücks Hardware... oder einfach nur über Coding und Spieleentwicklung allgemein plaudern.

Moderatoren: ikari_01, d4s

Benutzeravatar
ikari_01
snesfreaks.com-Team
snesfreaks.com-Team
Beiträge: 441
Registriert: 15. Juni 2010, 23:19
+Positive Tradingpoints+: 6 von 6
Wohnort: Wunstorf

Re: Mal was Neues von mir ...

Beitrag von ikari_01 » 20. Juni 2014, 11:33

Geil am Seil! Gute Arbeit bis jetzt :D

Schön zu sehen, dass sich inzwischen ein paar mehr Leute mit der technischen Seite beschäftigen, vor 5 Jahren war das noch ziemlich einsam. Mein Dauerprojekt in Sachen SNES-Programmierung wird wohl bis auf weiteres das sd2snes-Menü bleiben :ugly:

Technobabble: Dynamisches Tilestreaming wäre beim sd2snes-Menü wohl nicht möglich gewesen, da da ja wirklich der gesamte Bildschirm schnell mit Text vollgeschrieben werden muss. Dafür wäre das SNES dann doch etwas zu langsam. :wink: Aber für Textboxen ist das natürlich das Mittel der Wahl. :3 Spätestens wenn man VWF machen will, kommt man ja eh nicht mehr drumrum.

Die Idee mit dem selbstmodifizierenden Code in der ISR ist natürlich auch cool - allerdings muss man dann auch drauf achten, dass das Update der Sprungadresse vor dem Interrupt fertig ist, sonst gibt's Murks :D
sd2snes news: https://sd2snes.de

Benutzeravatar
lytron
Code Bro
Code Bro
Beiträge: 2664
Registriert: 12. August 2012, 20:18
+Positive Tradingpoints+: 12 von 12
Wohnort: ハノーファー区
Kontaktdaten:

Re: Mal was Neues von mir ...

Beitrag von lytron » 20. Juni 2014, 11:59

ikari_01 hat geschrieben:Die Idee mit dem selbstmodifizierenden Code in der ISR ist natürlich auch cool - allerdings muss man dann auch drauf achten, dass das Update der Sprungadresse vor dem Interrupt fertig ist, sonst gibt's Murks :D
Man könnt' ja vor jedem Editieren die Interrupts disablen. :ugly:
pantalytron: ルトロンはくそのディスアセンブラだよ!
Perikles hat geschrieben:Man muss sich das mal reinziehen: die Idee ist scheiße, die theoretische Ausarbeitung ist scheiße, die praktische Umsetzung ist scheiße und der so entstehende Anspruch noch beschissener.

Benutzeravatar
Ramsis
SNES-Freak
SNES-Freak
Beiträge: 538
Registriert: 29. Dezember 2011, 15:33
+Positive Tradingpoints+: 3 von 3
Wohnort: Löwenhöhle :3
Kontaktdaten:

Re: Mal was Neues von mir ...

Beitrag von Ramsis » 20. Juni 2014, 21:07

Hey, ikari, auch Dir herzlichen Dank für das ermutigende Feedback! :nice:

Ich persönlich hatte bereits lange vor 2012 (= als ich mich mit der PowerPak-Firmware zu befassen begann) den Wunsch und die Ambition, mir das technische Knowhow anzueignen, um eigene SNES-Programme zu entwickeln. Meistens scheiterte es an den abschreckenden Tutorials (s. o. in diesem Thread) -- oder eben an mangelndem "Negativ-Input". Die originale PowerPak-Firmware war da ein gefundenes Fressen. :ugly:
ikari_01 hat geschrieben:Technobabble: Dynamisches Tilestreaming wäre beim sd2snes-Menü wohl nicht möglich gewesen, da da ja wirklich der gesamte Bildschirm schnell mit Text vollgeschrieben werden muss. Dafür wäre das SNES dann doch etwas zu langsam. :wink:
Richtig; andererseits gäbe es beim sd2snes (oder meiner PowerPak-Firmware) wohl auch kaum einen Grund, nicht mit der üblichen Methode -- vulgo einer variablen Tilemap -- zu arbeiten. Das Tile-Streaming habe ich mir schließlich nur deshalb aus den Fingern gesogen, um den gesamten Text auf einen einzigen BG-Layer beschränken zu können, und somit Platz im VRAM zu sparen. ;)
ikari_01 hat geschrieben:Spätestens wenn man VWF machen will, kommt man ja eh nicht mehr drumrum.
Höh ...?

Im aktuellen Build gibt's eine Sprite-VWF-Routine ohne Tile-Streaming (portiert aus der WIP-PowerPak-Firmware v2.99). Just to prove ikari wrong. :-P

Nee, Quatsch, was meinst du genau? Eine simple VWF kriegt man doch dadurch hin, dass man die X-Position der Tilemap für den nächsten Buchstaben nicht um einen fixen Wert erhöht, sondern eben um einen Wert aus der Font Width Table -- so macht es zumindest auch Final Fantasy III (US) bei den Dialogen.

Und Ramsis, sobald die CF-Karte spinnt.

Error! :D

Bild

Download:
http://manuloewe.de/snestuff/projects/f ... d_00158.7z

Lieben Gruß,
Ramsis

[Edit 21.06.2014, 10:00 Uhr]
Momentan ist mein Webspace komplett down. :-o Ich hoffe, dass der Hoster das Problem schnell in den Griff kriegt.

[Edit 2]
Läuft wieder alles. :)

Benutzeravatar
Ramsis
SNES-Freak
SNES-Freak
Beiträge: 538
Registriert: 29. Dezember 2011, 15:33
+Positive Tradingpoints+: 3 von 3
Wohnort: Löwenhöhle :3
Kontaktdaten:

Re: Mal was Neues von mir ...

Beitrag von Ramsis » 21. Juni 2014, 18:27

So, Build #00159 kommt einem "Mode-7-Flug" schon sehr viel näher; wenn man auch sieht, dass meine HDMA-Table noch längst nicht perfekt ist (achtet auf die Verformung der Insel ganz rechts). Auch am unteren Bildschirmrand tauchen bei größerem V-Scroll-Offset unerwünschte Scanlines auf -- (noch) keine Ahnung, warum.

Aber egal, meine intuitive Theorie, wonach ich die Center-Coordinate beim vertikalen Scrollen relativ mitändern muss, damit der Scaling-Faktor für jeden Bildausschnitt gleich bleibt, war anscheinend goldrichtig. :D

Viel Spaß beim Ausprobieren! Das Scrolling passiert in diesem Build übrigens vollautomatisch ... aber bei meiner Ehre, es würde exakt genauso aussehen, wenn ihr dazu Hoch/Runter auf dem Steuerkreuz traktieren würdet! :ugly:

Bild

Download:
http://manuloewe.de/snestuff/projects/f ... d_00159.7z

Lieben Gruß,
Ramsis

Benutzeravatar
ikari_01
snesfreaks.com-Team
snesfreaks.com-Team
Beiträge: 441
Registriert: 15. Juni 2010, 23:19
+Positive Tradingpoints+: 6 von 6
Wohnort: Wunstorf

Re: Mal was Neues von mir ...

Beitrag von ikari_01 » 24. Juni 2014, 11:53

Ramsis hat geschrieben:
ikari_01 hat geschrieben:Spätestens wenn man VWF machen will, kommt man ja eh nicht mehr drumrum.
Höh ...?
Nee, Quatsch, was meinst du genau? Eine simple VWF kriegt man doch dadurch hin, dass man die X-Position der Tilemap für den nächsten Buchstaben nicht um einen fixen Wert erhöht, sondern eben um einen Wert aus der Font Width Table -- so macht es zumindest auch Final Fantasy III (US) bei den Dialogen.
Das habe ich jetzt wiederum nicht verstanden :D
Die Tilemap ist doch zwingend fest in (minimum) 8x8-Vollpixel-Blöcke unterteilt. Um einen VWF zu rendern hat man normalerweise einen kleinen Pixelpuffer, wo der Text hin soll, und kopiert dort die Buchstaben entsprechend geshiftet hinein. Das ist zwar nicht pures Tilestreaming, aber doch das "zusammenkopieren nach Bedarf", das es ausmacht.
Wie meinst du das mit der X-Position der Tilemap?
sd2snes news: https://sd2snes.de

Benutzeravatar
lytron
Code Bro
Code Bro
Beiträge: 2664
Registriert: 12. August 2012, 20:18
+Positive Tradingpoints+: 12 von 12
Wohnort: ハノーファー区
Kontaktdaten:

Re: Mal was Neues von mir ...

Beitrag von lytron » 24. Juni 2014, 13:44

Wo ich euch gerade alle beieinander habe:

Wie funktioniert der Zwei-Spieler-Modus von Super Mario Kart? Wie wird das gemacht, dass man quasi zwei Mode-7-Flächen hat? Oder ist das ganz asozialer HDMA, der zwischen oberer und unterer Screenhälfte mal eben die komplette Ebene verschiebt?
pantalytron: ルトロンはくそのディスアセンブラだよ!
Perikles hat geschrieben:Man muss sich das mal reinziehen: die Idee ist scheiße, die theoretische Ausarbeitung ist scheiße, die praktische Umsetzung ist scheiße und der so entstehende Anspruch noch beschissener.

Benutzeravatar
Ramsis
SNES-Freak
SNES-Freak
Beiträge: 538
Registriert: 29. Dezember 2011, 15:33
+Positive Tradingpoints+: 3 von 3
Wohnort: Löwenhöhle :3
Kontaktdaten:

Re: Mal was Neues von mir ...

Beitrag von Ramsis » 24. Juni 2014, 14:12

ikari_01 hat geschrieben: Das habe ich jetzt wiederum nicht verstanden :D
Die Tilemap ist doch zwingend fest in (minimum) 8x8-Vollpixel-Blöcke unterteilt. Um einen VWF zu rendern hat man normalerweise einen kleinen Pixelpuffer, wo der Text hin soll, und kopiert dort die Buchstaben entsprechend geshiftet hinein. Das ist zwar nicht pures Tilestreaming, aber doch das "zusammenkopieren nach Bedarf", das es ausmacht.
Wie meinst du das mit der X-Position der Tilemap?
Sorry, mein Fehler -- habe im Eifer des Gefechts die Begriffe durcheinandergebracht. :oops: Meinte natürlich nicht die BG-Tilemap, sondern das OAM, wo es pixelgenaue X/Y-Koordinaten gibt (meine VWF ist ja mittels Sprites realisiert). ;)

@lytron: Super Mario Kart habe ich generell im Verdacht, während der Rennen mehrere "asoziale" HDMAs am Laufen zu haben (egal ob Ein- oder Zweispielermodus). :ugly: Zum einen müssen (mehrere?) Register der Mode-7-Matrix manipuliert werden, um die verschiedenen Ansichten zu erzeugen. Zum anderen vermute ich, während der Scanlines des schwarzen Balkens in der Mitte wird auf Forced blank geschaltet, um ein paar Sachen mid-Frame im VRAM zu updaten. Ist aber wie gesagt eine reine Vermutung. d4s hat das Spiel ja mal gehackt und kann dir da sicher mehr sagen ...

Lieben Gruß,
Ramsis

Benutzeravatar
ikari_01
snesfreaks.com-Team
snesfreaks.com-Team
Beiträge: 441
Registriert: 15. Juni 2010, 23:19
+Positive Tradingpoints+: 6 von 6
Wohnort: Wunstorf

Re: Mal was Neues von mir ...

Beitrag von ikari_01 » 24. Juni 2014, 23:16

Sind einfach zwei Mode7-Planes. Der DSP1 generiert die HDMA-Tables für die M7*-Register; für den 2. Spieler wird einfach noch mal neu gestartet. Viel mehr gehört dann ja auch nicht dazu, so ein Ding darzustellen.

Die PPU kennt so eine "Plane" ja gar nicht als "Objekt", die multipliziert nur munter ihre Matrixregister um die VRAM-Adresse fürs zu rendernde Pixel zu bestimmen. =) So gesehen kann man mit Mode7 richtig viel Blödsinn machen (Verzerrungseffekte, "wellige" Strecken...), ich glaube das ist noch lange nicht ausgeschöpft :D
sd2snes news: https://sd2snes.de

Benutzeravatar
Ramsis
SNES-Freak
SNES-Freak
Beiträge: 538
Registriert: 29. Dezember 2011, 15:33
+Positive Tradingpoints+: 3 von 3
Wohnort: Löwenhöhle :3
Kontaktdaten:

Re: Mal was Neues von mir ...

Beitrag von Ramsis » 1. Juli 2014, 19:14

Build #00162 bringt vorerst nur kleine Neuerungen: Die Text-Engine kann nun auch verschiedene Textfarben darstellen. (Das war übrigens durchaus weniger trivial zu implementieren, als es vermutlich klingt!) :)

Bild

Download:
http://manuloewe.de/snestuff/projects/f ... d_00162.7z

Spielfeld-Grafik folgt dann (hoffentlich) im nächsten Build. :D

Viel Spaß beim Ausprobieren und lieben Gruß,
Ramsis

Benutzeravatar
ChronoMoogle
snesfreaks.com-Team
snesfreaks.com-Team
Beiträge: 9895
Registriert: 26. Februar 2007, 14:56
+Positive Tradingpoints+: 98 von 98
Wohnort: Nippon
Kontaktdaten:

Re: Mal was Neues von mir ...

Beitrag von ChronoMoogle » 1. Juli 2014, 19:38

Ich habe gehört, dass verschiedenfarbige Texte bei Romhacking Projekten gerne mal Kopfschmerzen bereiten. Sie zu programmieren ist dann sicher nicht einfacher als sie zu hacken :D

Bin gespannt auf erste Oberweltgrafiken!
Bild
| Mein YT Channel | Mein Twitter | Ich suche | Ich verkaufe | Foren SuFu |
...weil Terranigma einfach das Größte ist!

Benutzeravatar
Ramsis
SNES-Freak
SNES-Freak
Beiträge: 538
Registriert: 29. Dezember 2011, 15:33
+Positive Tradingpoints+: 3 von 3
Wohnort: Löwenhöhle :3
Kontaktdaten:

Re: Mal was Neues von mir ...

Beitrag von Ramsis » 19. Juli 2014, 20:47

Soooo ... bin dabei, die Codebase zugunsten der Systematik komplett umzumodeln. :D

Bild


Die Idee mit dem NMI-Vektor im WRAM (danke nochmal, lytron!) ist seit heute implementiert und funktioniert super. :nice:

Ansonsten hab ich (weil's außer mir ja sonst keiner macht :-P) ein vorläufiges Logo für den Titelbildschirm erstellt -- die Fell-Textur stammt übrigens von einem echten Husky (meiner "Silberwäldlerin"):

Bild


Ach ja, der Bug mit dem flackernden Text ist natürlich auch längst behoben. Ein ROM gibt's heute nicht, weil das Debug-Menü (das nach dem Startbildschirm erscheint) noch überhaupt nicht funktioniert. :wink:

Lieben Gruß,
Ramsis

Benutzeravatar
Ramsis
SNES-Freak
SNES-Freak
Beiträge: 538
Registriert: 29. Dezember 2011, 15:33
+Positive Tradingpoints+: 3 von 3
Wohnort: Löwenhöhle :3
Kontaktdaten:

Re: Mal was Neues von mir ...

Beitrag von Ramsis » 27. Juli 2014, 21:04

Hier ist Build #00173 zum Ausprobieren. Neu ist das Debug-Menü und die Tatsache, dass man vom Dialog- bzw. Mode7-Screen jederzeit mit Start dorthin zurückkommt. :wink:

Bild

Ach ja, die Musik ist im Moment aus praktischen Gründen deaktiviert (funktioniert also nicht), und die Demo-Oberwelt gibt es auch noch nicht. (@visar, hast du meine letzte PN bekommen? :wink: )

Download:
http://manuloewe.de/snestuff/projects/f ... d_00173.7z

Lieben Gruß,
Ramsis

Benutzeravatar
rama
SNES-Freak
SNES-Freak
Beiträge: 336
Registriert: 7. September 2013, 14:07
+Positive Tradingpoints+: 5 von 5

Re: Mal was Neues von mir ...

Beitrag von rama » 30. Juli 2014, 11:04

Das sieht alles richtig klasse aus, sehr gute Arbeit! :)

Benutzeravatar
Ramsis
SNES-Freak
SNES-Freak
Beiträge: 538
Registriert: 29. Dezember 2011, 15:33
+Positive Tradingpoints+: 3 von 3
Wohnort: Löwenhöhle :3
Kontaktdaten:

Re: Mal was Neues von mir ...

Beitrag von Ramsis » 21. September 2014, 23:29

Sooo ... jetzt geht's hier auch mal weiter. :wink:

Vom Test-Umfang her ist bislang noch nicht allzu viel hinzugekommen, aber dafür hab ich unter der Haube ein paar Sachen verbessert, die ich bereits als Vorbereitung auf die Game Engine betrachte -- z. B. einfache Updates der Character Portraits während Vblank oder die generelle Tendenz zum parallelen, modularen Aufbau der gleichzeitigen Spielelemente wie Menü, Weltkarte, Level usw. Ach ja, und ein paar krasse Spielereien wie ein vertikaler Splitscreen für das zukünftige Menü mussten natürlich auch mit rein, und sei es nur, weil es machbar ist (funktioniert übrigens nur auf dem echten SNES). :goofy:

Bild

Bild

Download:
http://manuloewe.de/snestuff/projects/f ... d_00178.7z

Viel Spaß beim Ausprobieren und lieben Gruß,
Ramsis

snoer
SNES-Programmer
SNES-Programmer
Beiträge: 249
Registriert: 27. Januar 2013, 13:10
+Positive Tradingpoints+: 5 von 5

Re: Mal was Neues von mir ...

Beitrag von snoer » 24. September 2014, 13:08

Ich finds geil :)
Mehr als dich wissen lassen, dass ich das Projekt interessiert verfolge, kann ich heite nicht beisteuern. Vielleicht irgendwann mal was gepixeltes; mal schaun :)

Antworten