Nuvie
Dieser Artikel befindet sich im Aufbau und ist vorläufig als Entwurf einzustufen. |
Ein Nuvie ist eine Art Video, das auf dem C64 mit Hilfe einer 16-MiB-REU abgespielt werden kann. Die Bilderabfolge wird im NUFLI-Format dargestellt, wodurch in der HiRes-Auflösung von 320 x 200 Pixeln alle 16 vom C64 erzeugten Farben deutlich freier verwendet werden können.
Entwickelt wurde sowohl das NUFLI- als auch das Nuvie-Format von dem Demoprogrammierer Crossbow/Crest (CSDb). Der Name Nuvie ist anscheinend ein Schachtelwort aus dem Darstellungsformat NUFLI und dem englischen Wort Movie (Film).
In der Zeittafel der C64-Demos wird versucht, die wichtigsten Demos, bei denen Effekte wie diese zum ersten Mal verwendet wurden, in chronologischer Form zusammenzutragen.
Allgemeines[Bearbeiten | Quelltext bearbeiten]
Zur Darstellung von Nuvies wird eine REU mit 16 MiB benötigt. Da es eine reale REU mit dieser Speichergröße nie gegeben hat, ist man daher auf die Implementation dieser speziellen REU in der 1541 Ultimate, Ultimate 64, dem Turbo Chameleon 64 oder einem Softwareemulator angewiesen.
Die Nuviedatei wird in den REU-Speicher geladen und kann dann mit dem Nuvie-Player, dem Darstellungsprogramm, angeschaut werden. Im Forum-64 wurden bereits viele Nuvie-Demos zum Download veröffentlicht.
Erstmals Verwendung fand das Nuvie-Format in der Demo BluREU (CSDb- Release Nr. 90344 ) der Gruppe Crest, veröffentlicht auf der Breakpoint 2010. Der Demoname ist offensichtlich eine Anspielung auf das BluRay-Format für Filme. Später erschien ebenfalls von Crest mit BluREU 3D (CSDb- Release Nr. 112326 ) auf der X'2012 eine stereoskopische Demo im Nuvie-Format.
Nuvies sind technisch gesehen eine Sammlung von NUFLI-Bildern, die per Script in beliebiger Reihenfolge und Länge dargestellt werden können. Somit sind also auch Film- bzw. animierte Sequenzen darstellbar. Möglich wird die schnelle Abfolge der Bilder nur dadurch, dass per DMA (Direct Memory Access) der REU große Datenmengen in sehr kurzer Zeit in das C64-RAM kopiert werden können. Allerdings bleibt nun bei der Darstellung von NUFLI-Bildern nicht mehr genügend Rasterzeit, um gleichzeitig auch Musik auf dem üblichen Weg abspielen zu können. Daher wird Musik in einen Stream konvertiert, der sich von der Ausgangsmusik nicht hörbar unterscheidet. Musik, die digitalisierte Elemente enthält, kann jedoch nicht in einen für Nuvies verwendbaren Stream konvertiert werden.
Anwendungsbereiche[Bearbeiten | Quelltext bearbeiten]
Das Nuvie-Format findet hauptsächlich Verwendung in filmartigen Demos, jedoch gibt es auch erste Experimente, das Format für eine möglichst originalgetreue Konvertierung des animationsstarken Spielhallenklassikers Dragon's Lair zu nutzen.[1]
Nutzung auf Emulatoren[Bearbeiten | Quelltext bearbeiten]
Um ein Nuvie auf WinVICE darzustellen, geht man vor wie folgt:
- Einstellungen: Settings → Cartridge/IO Settings → REU → Enable REU → REU Size auf Maximum → Browse → .REU Image anwählen
- Software: NuviePlayer Thema: Nuvieplayer auf Forum64.de starten; enthalten ist der Nuvie-Player bspw. bei der Demo BluREU
Aufbau einer Nuviedatei[Bearbeiten | Quelltext bearbeiten]
Eine REU mit 16 MiB Größe besteht aus 256 Bänken (0-255 bzw $00-$FF) zu je 64 KiB (65536 Byte) Größe. In jeder dieser 256 REU-Bänke können bis zu 3 Bilder sowie 16 Byte Hilfsdaten (s.u.) abgelegt sein. Um die Bilddaten möglichst schnell aus der REU in den C64 kopieren zu können, ist jedes Bild in zwei Teilen in der REU abgelegt. Die 3 Bilder sind wie folgt in der REU gespeichert (am Beispiel von REU-Bank $00):
Bild 000: $000000 - $00004F und $000100 - $0055FF Bild 001: $000050 - $00009F und $005600 - $00AAFF Bild 002: $0000A0 - $0000EF und $00AB00 - $00FFFF
Für REU-Bank $01 sieht es so aus:
Bild 003: $010000 - $01004F und $010100 - $0155FF Bild 004: $010050 - $01009F und $015600 - $01AAFF Bild 005: $0100A0 - $0100EF und $01AB00 - $01FFFF
Für die folgenden Bänke ist die Speicheraufteilung analog.
Bei den Bilddaten handelt es sich um konvertierte Nufli-Bilder: die Nufli-Bilder werden vom Nuviemaker so konvertiert, dass sie mit dem verfügbaren Speicherplatz auskommen und vom Nuvieplayer schneller abgespielt werden können.
Pro REU-Bank sind die Bytes $xx00F0 bis $xx00FF nicht mit Bilddaten belegt. Diese jeweils 16 Byte enthalten die Hilfsdaten, wie Playereinstellungen, Playlist, Infoscreen etc.
Wenn keine Musik im Nuvie verwendet wird, bietet die REU Platz für 768 Bilder (256 REU-Bänke mit je 3 Bildern).
Wird im Nuvie SID-Musik verwendet, sind die Musikdaten "in aufgenommener Form" (25 Registerwerte des SID-Chip pro Frame) von Speicheradresse $FFFFF4 beginnend "rückwärts" abgelegt, d.h. während des Abspielens wird pro Frame (= 1/50 Sekunde) der Adresszeiger für die Musik um 25 Byte reduziert, bis die Musikendeadresse erreicht ist, dann wird die Musik neu gestartet.
Abhängig von der Länge der aufgenommenen SID-Musik steht für die Bilder weniger Speicherplatz zur Verfügung (ca. 52,4 Sekunden aufgenommene SID-Musik belegen den Speicherplatz für 3 Bilder). Die maximal mögliche Anzahl an Bildern wird vom Nuviemaker angezeigt.
Hilfsdaten
In der REU sind die Hilfsdaten jeweils in den Speicherzellen $xx00F0 bis $xx00FF abgelegt, wobei xx für die REU-Bank ($00-$FF) steht. Folgende Hilfsdaten gibt es in einem Nuvie in den REU-Bänken $xx:
$00: Header: enthält die Codecversion - diese wird vom Nuvieplayer überprüft, fehlen diese Daten oder ist eine falsche Codecversion hinterlegt, gibt der Nuvieplayer eine Fehlermeldung aus $01: Metadaten für den Nuvieplayer (genauere Beschreibung s.u.) $02-$0F: wird bei manchen Nuvies aus der Demoszene für speziellen Programmcode verwendet, der den Abspielvorgang beeinflusst (z.B. Nuvie mittels Shift-Taste pausierbar), bei Standardnuvies enthält dieser Bereich nur Nullbytes $10-$8E: Playlist, die Einfluss auf die Abspielreihenfolge, Geschwindigkeit etc. der Bilder nimmt $8F: Bytefolge 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF (Nutzen unbekannt) $90-$CE: Infoscreen (der Text, der zu Beginn eines Nuvies angezeigt wird - optional)
Metadaten
Die Bytes $0100F0 bis $0100FF enthalten die Metadaten (Informationen für den Nuvieplayer):
$0100F0: $00=keine Musik, andere Werte: Nuvie enthält Musik, der Nuviemaker schreibt in dieses Byte $E8, wenn die Musik durchlaufen soll und $F8, wenn die Musik mit jedem Videodurchlauf neu gestartet werden soll $0100F1-F3: Startadresse der Musik (Beginn der ersten SID-Daten) im Format Low-Mid-High-Byte: der Nuviemaker schreibt hier die Bytes $DC FF FF, manche Nuvies aus der Demoszene verwenden andere Adressen Bei Standard-Nuvies beginnt der erste Datenblock bei Adresse $FFFFDC und geht bis $FFFFF4 (= 25 Byte Größe) $0100F4-F6: Musikendeadresse im Format Low-Mid-High-Byte: z.B. bedeudet die Bytefolge $05 B6 FD, dass die Musik bei Erreichen der Speicherzelle $FDB605 endet bei Erreichen der Musikendeadresse beginnt die Musik wieder von vorn (ab Speicherzelle $FFFFF4 rückwärts bei Standard-Nuvies) $0100F7: legt fest, ob in den REU-Bänken $02-$0F spezieller Programmcode hinterlegt ist ($00 = nein, $FF = ja), der Nuviemaker schreibt immer den Wert $00 $0100F8/F9: Rahmenfarben während der Nuviewiedergabe: ist das erste Halbbyte $0-$7 wird die Rahmenfarbe der einzelnen Nufli-Bilder verwendet (in der Regel schwarz), ist das erste Halbbyte $8-$F, wird der Rahmen in der Farbe des zweiten Halbbytes eingefärbt, z.B. $1=weiß, $2=rot usw., Byte $0100F8 legt die Farbe des linken und rechten Rahmens fest, Byte $0100F9 die Farbe des oberen und unteren Rahmen $0100FA: ist das erste Halbbyte $F wird der Infoscreen angezeigt, bei $0 wird kein Infoscreen angezeigt, das zweite Halbbyte legt die Zeichenfarbe des Infoscreentexts fest $0100FB: das erste Halbbyte legt die Rahmenfarbe, das zweite Halbbyte die Hintergrundfarbe des Infoscreens fest $0100FC/FD: legt fest, wie lang der Infoscreen angezeigt wird (in Frames, ein Frame = 1/50 Sekunde) der Nuvieplayer schreibt in diese Bytes $02 00 = 512 = 10,24 Sekunden, trägt man in diese Bytes $00 00 ein, wird der Infoscreen unendlich lang angezeigt und kann nur durch Drücken der Leertaste übersprungen werden $0100FE: Zeichensatz des Infoscreens: $A7 = klein (Standard), $A5 = groß $0100FF: vermutlich unbenutzt (bei allen Nuvies $00, keine Änderung des Abspielverhaltens, wenn man diesen Wert ändert)
Quellen[Bearbeiten | Quelltext bearbeiten]
Weblinks[Bearbeiten | Quelltext bearbeiten]
- Crossbow/Crest auf der CSDb - CSDb - Scener Nr. 8056
Nuvie How To[Bearbeiten | Quelltext bearbeiten]
- Thema: Tutorial zum Erstellen von REU-Nuvies auf Forum64.de
Software zur Erstellung von Nuvies[Bearbeiten | Quelltext bearbeiten]
- NUVIEmaker v0.1e - CSDb- Release Nr. 100031 summary
- Mufflon v1.0 - CSDb- Release Nr. 93314 summary
- NUFLI editor v1.12 (PAL/NTSC) - CSDb- Release Nr. 95473 notes
Auswahl von Nuvies im .reu-Format[Bearbeiten | Quelltext bearbeiten]
- BluREU - CSDb- Release Nr. 90344
- BluREU 3D - CSDb- Release Nr. 112326
- Balls (Tommes) - Download
- Boing Ball Madness V0.1 (Tommes) - Download
- Comet V0.1 (Tommes) - Download
- Forum64 (Tommes) - Download
- virtualcl02 (Tommes) - Download
- Wired - CSDb- Release Nr. 94468 notes
- Thema: Crossbows Nuvies-Sammlung (und mehr) auf Forum64.de
Video-Konvertierungen von Forum64 Usern[Bearbeiten | Quelltext bearbeiten]
- Thema: Mein erstes voll synthetisches Nuvie Demo auf Forum64.de
- A-Team - Download
- Airwolf - Download
- ALF - Download
- Beverly Hills - Download
- Captain Future - Download
- Captain Future (lang) - Download
- Commodore 64 Commercial - Download
- Curse of Monkey Island - Download
- Falcon Nuvie - Download
- History of Games (MTV Game Awards 2009 Intro) - Download
- Knight Rider - Download
- Mac Gyver Intro - Download
- Max Headroom - Download
- Miami Vice - Download
- Olsenbande - Download
Nuvies auf Youtube[Bearbeiten | Quelltext bearbeiten]
- Sammlung von über 100 Nuvies Videomitschnitt auf YouTube
- Big Time Sensuality Videomitschnitt auf YouTube
- Dallas-Intro Videomitschnitt auf YouTube
- Falcon Videomitschnitt auf YouTube
- Miami Vice Videomitschnitt auf YouTube
- Olsenbande Videomitschnitt auf YouTube
- Trackmania Nations Videomitschnitt auf YouTube
- Winter Village Videomitschnitt auf YouTube