Aufbau / Beschreibung von DCI / VMI / VMS

Die Programmierecke: Hier könnt ihr euch über alles was mit der (Dreamcast-)Programmierung zusammenhängt austauschen. C/C++, SDL, Assembler, KallistiOS und mehr
Benutzeravatar
mallowd
Dreamcast-Freund
Dreamcast-Freund
Beiträge: 242
Registriert: 20.10.2004, 17:04
Spielt seit: 1992
Kontaktdaten:

Aufbau / Beschreibung von DCI / VMI / VMS

Beitragvon mallowd » 10.05.2006, 21:05

Hi,

also ich bastel gerade an einer Sache rum ^^. Problem ist derzeit das ich noch mit den Unterschiedlichen Dateiformaten zu kämpfen habe. DCI von Nexus MC ist doch eigentlich nur VMI und VMS auf irgendeine Art und Weise zusammen in einer Datei. Hat irgendjemand vllt Erfahrung mit den Formaten oder ne Hexanalyse / Beschreibung davon?

Benutzeravatar
madpic666
DCArena.de-Admin
DCArena.de-Admin
Beiträge: 321
Registriert: 14.06.2004, 21:37
Wohnort: Nähe Koblenz / Westerwald
Kontaktdaten:

Re: Aufbau / Beschreibung von DCI / VMI / VMS

Beitragvon madpic666 » 10.05.2006, 21:44

mallowd, hast du mal in die vmlib geschaut? da ist eine funktion zum wandel von dci zu vms...., werde morgen mal reinschauen
Bild

Benutzeravatar
mallowd
Dreamcast-Freund
Dreamcast-Freund
Beiträge: 242
Registriert: 20.10.2004, 17:04
Spielt seit: 1992
Kontaktdaten:

Re: Aufbau / Beschreibung von DCI / VMI / VMS

Beitragvon mallowd » 10.05.2006, 22:12

ich blick in dem code nich durch ^^ ganze bitorder und schubserei blick ich net durch. die funktionen funzen nich mit den PSO______IMG dateien. die sind irgendwie zu groß ode anders aufgebaut. mit nem maximum poo vms und vmi funzt es.

Benutzeravatar
lo
Routinier
Routinier
Beiträge: 261
Registriert: 14.12.2005, 23:30

Re: Aufbau / Beschreibung von DCI / VMI / VMS

Beitragvon lo » 10.05.2006, 23:28


Benutzeravatar
Little Vamp
Jungspunt
Jungspunt
Beiträge: 108
Registriert: 04.12.2005, 00:28

Re: Aufbau / Beschreibung von DCI / VMI / VMS

Beitragvon Little Vamp » 10.05.2006, 23:31

wenn es um screenshotumwandeln geht... hier mal der quellcode von ner bild-umwandel-seite, vieleicht hilft der weiter...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>

<link rel="stylesheet" type="text/css" href="/booyaka.css" title="style1">
<title>booyaka.com: vmu: PSO Screenshot Transfer</title>
</head>
<body bgcolor="#ffffff" link="#990000" vlink="#660000">
<!-- ************************** BEGIN 3 COLUMN TABLE ************************** -->

<table border=0 width="468" cellpadding=0 cellspacing=0>
<tr>

<!-- ********* BEGIN COLUMN 1 ************* -->
<td width="554" valign=top>
<table border=0 cellpadding=0 cellspacing=0 width="100%">


<!-- ******* BEGIN PSO Screenshot Transfer BOX ******* -->
<tr><td height="18" bgcolor="#6699CC" align=right><font color="#ffffff" size="1" face="arial, helvetica" id="subhead">PSO Screenshot Transfer</td></tr>
<tr><td bgcolor="#000066"><img src="/images/null.png" width="1" height="2"></td></tr>

<!-- ******* BEGIN BOX ITEM ******* -->
<tr><td bgcolor="#CCCCCC"><img src="/images/null.png" width="1" height="5"></td></tr>
<tr>
<td style="border-width: 0px 1px 0px 1px; border-color: #CCCCCC; border-style: solid;" bgcolor="#FFFFFF" align=left><b><font size="3" color="#000000" id="item"><a href="psoinfo.html">How to use PSO Screenshot Transfer</a></font></b></td>
</tr>
<tr><td bgcolor="#999999"><img src="/images/null.png" width="1" height="2"></td></tr>
<!-- ******* END BOX ITEM ******* -->

<!-- ******* BEGIN BOX ITEM ******* -->
<tr><td bgcolor="#CCCCCC"><img src="/images/null.png" width="1" height="5"></td></tr>
<tr>
<td style="border-width: 0px 1px 0px 1px; border-color: #CCCCCC; border-style: solid;" bgcolor="#FFFFFF" align=left><b><font size="3" color="#000000" id="item"><a href="psoinfo.html#faq">FAQ</a></font></b></td>
</tr>
<tr><td bgcolor="#999999"><img src="/images/null.png" width="1" height="2"></td></tr>
<tr>
<td bgcolor="#CCCCCC" align=left><font size="2" face="arial,helvetica" id="text">Problems? Confusion? We got you covered.</font></td>
</tr>
<!-- ******* END BOX ITEM ******* -->

<!-- ******* BEGIN BOX ITEM ******* -->
<tr><td bgcolor="#CCCCCC"><img src="/images/null.png" width="1" height="5"></td></tr>
<tr>
<td style="border-width: 0px 1px 0px 1px; border-color: #CCCCCC; border-style: solid;" bgcolor="#FFFFFF" align=left><b><font size="3" color="#000000" id="item"><a href="psoinfo.html#cc">Link info for site admins</a></font></b></td>
</tr>
<tr><td bgcolor="#999999"><img src="/images/null.png" width="1" height="2"></td></tr>
<!-- ******* END BOX ITEM ******* -->



<tr><td bgcolor="#003366"><img src="/images/null.png" width="1" height="2"></td></tr>
<tr><td bgcolor="#6699cc"><img src="/images/null.png" width="1" height="3"></td></tr>
<tr><td bgcolor="#6699CC"><img src="/images/null.png"></td></tr>
<!-- ******* END PSO Screenshot Transfer BOX ******* -->


<!-- ***** CONTACT INFO ***** -->
<tr><td valign=top align="left">
<table border=0 cellpadding=0>
<tr><Td width="8" valign=bottom><img src="/images/mail.png"></td>
<td valign=bottom><font size="1" face="arial, helvetica"><a href="mailto:loramaru@hotmail.com">e-mail admin</a></td></tr>
</table>
</td></tr>
<!-- ***** END CONTACT INFO ***** -->


</table>
</td>

<!-- ********* END COLUMN 1 ********* -->

</tr>
<!-- ********* BEGIN extra ************* -->
<tr><td colspan="1" valign=top>
<table border=0 width="100%" cellpadding="0" cellspacing="0">
<!-- ********* 4 PX VERT SPACE *********** --><tr><Td colspan=3><img src="/images/null.png" width="1" height="4"></td></tr>


<tr><td valign=top>

<!-- ******* BEGIN BOX ******* -->
<tr><td height="18" bgcolor="#6699CC" align=right><img src-"/image/null.png" width="1" height="1"></td></tr>
<tr><td bgcolor="#000066"><img src="/images/null.png" width="1" height="2"></td></tr>

<!-- ******* BEGIN BOX ITEM ******* -->
<tr><td bgcolor="#CCCCCC"><img src="/images/null.png" width="1" height="5"></td></tr>
<tr>
<td style="border-width: 0px 1px 0px 1px; border-color: #CCCCCC; border-style: solid;" bgcolor="#FFFFFF" align=left><b><font size="3" color="#000000" id="item">PSO Screenshot Transfer</font></b></td>
</tr>
<tr><td bgcolor="#999999"><img src="/images/null.png" width="1" height="2"></td></tr>
<tr>
<td bgcolor="#CCCCCC" align=left><font size="2" face="arial,helvetica" id="text">




<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="http://pso.donut.dhs.org/">

Send To:<br>
<INPUT TYPE="text" name="email" size="50" value=""><br>

Mail Subject:<br>
<INPUT TYPE="text" name="subject" value="PSO Snapshot" size="50"><br>


Select Snapshot File (.dci or .dcm file):<br>
<input type="file" name="VMUDATA" size="40"><br>


<br>
<INPUT TYPE="SUBMIT" NAME="submit" VALUE="Send Image"><br>
</FORM>

<p>
<b>Please note that this is a large upload and may take two or three minutes; please
be patient before giving up, aborting and trying again.</b>
</p>

</font></td>
</tr>
<!-- ******* END BOX ITEM ******* -->



<tr><td bgcolor="#003366"><img src="/images/null.png" width="1" height="2"></td></tr>
<tr><td bgcolor="#6699cc"><img src="/images/null.png" width="1" height="3"></td></tr>
<tr><td bgcolor="#6699CC"><img src="/images/null.png"></td></tr>
<!-- ******* END BOX ******* -->


</td></tr>
</table></td>
<!-- ********* END extra ************* -->
</tr>
<!-- ********* BEGIN extra ************* -->
<tr><td colspan="1" valign=top>
<table border=0 width="100%" cellpadding="0" cellspacing="0">
<!-- ********* 4 PX VERT SPACE *********** --><tr><Td colspan=3><img src="/images/null.png" width="1" height="4"></td></tr>


<tr><td valign=top>

<!-- ***** DISCLAIMER & COPYRIGHT ***** -->
<table border=0 width="100%" cellpadding=0 cellspacing=0>
<tr><Td align=left valign=top><font size="1" face="arial, helvetica"><a href="pso-disclaimer.html">legal disclaimer</a></font></td>
<Td align=right valign=top><font size="1" face="arial, helvetica">&copy; 2000,2004</font><br>
<a href="http://www.booyaka.com/"><img src="/images/icon-booyaka.png" border="0"/></a><br>
</td></tr>
</table>
<!-- ***** END DISCLAIMER & COPYRIGHT ***** -->


</td></tr>
</table></td>
<!-- ********* END extra ************* -->
</tr>
</table>

<!-- ************************** END 3 COLUMN TABLE ************************** -->

</body></html>

Benutzeravatar
lo
Routinier
Routinier
Beiträge: 261
Registriert: 14.12.2005, 23:30

Re: Aufbau / Beschreibung von DCI / VMI / VMS

Beitragvon lo » 11.05.2006, 02:30

@ mallowd
so hast eine mail...
wie gesagt bin paar Tage 'offline'

Grüße_

Benutzeravatar
madpic666
DCArena.de-Admin
DCArena.de-Admin
Beiträge: 321
Registriert: 14.06.2004, 21:37
Wohnort: Nähe Koblenz / Westerwald
Kontaktdaten:

Re: Aufbau / Beschreibung von DCI / VMI / VMS

Beitragvon madpic666 » 12.05.2006, 12:23

aloha,

ich habe mich gestern auch mal kurz mit dem wandeln vms/dci beschäftigt, leider hat nicht so gefunkelt wie gewünscht...., mit normalen spielständen schon, aber nicht mit den pso screenies

hast du mal probiert mit einem pc programm das vms in ein dci zu wandeln und dann zu konvertieren? wenn das funktioniert, muss es an der vmlib liegen.....
Bild

Benutzeravatar
mallowd
Dreamcast-Freund
Dreamcast-Freund
Beiträge: 242
Registriert: 20.10.2004, 17:04
Spielt seit: 1992
Kontaktdaten:

Re: Aufbau / Beschreibung von DCI / VMI / VMS

Beitragvon mallowd » 14.05.2006, 11:16

ne ich hab kein pc proggi.. vllt klappt es ja, das ich das script so umgeschrieben bekomm,das es vms screens wandeln kann

Benutzeravatar
Little Vamp
Jungspunt
Jungspunt
Beiträge: 108
Registriert: 04.12.2005, 00:28

Re: Aufbau / Beschreibung von DCI / VMI / VMS

Beitragvon Little Vamp » 14.05.2006, 20:03

hi... ich hab mal ne seite gefunden mit nem konvertierungsproggi von pso-screenshot zu bmp....

da gibts auch den sourcecode zum runter laden

*klick*

hier mal die cgi:

Code: Alles auswählen

#!/usr/local/bin/perl

 # PSO ScreenShot to BMP Converter by Take

 # v0.00 '01.01.08 ŽŽ?ìŠJŽn

 #======================================================================
 # Name: WWWUPL
 # Version: Ver2.10
 # Category: Freesoft (?Ä”z•z?E‰ü‘¢Ž©—R)
 # Contact: http://wakusei.cplaza.ne.jp/twn/
 # Copyrignt (C) 1997,1999 ‚Æ‚Ù‚Ù
 #======================================================================
 # ?ª‚ðƒpƒN‚点‚Ä‚à‚ç‚¢‚Ü‚µ‚½

 require "init_dir.pl";

 $home = $CGI_DIR;

 $ImgWidth = 256;
 $ImgHeight = 192;

 # Screen Shot Format
 $SS_ImageTop = 0x02a4;
 $SS_ImageLen = $ImgWidth * $ImgHeight;
 $SS_FileLen = 99360;

 # BMP Format (FullColor)
 $BMP_ImageTop = 0x0036;
 $BMP_ImageLen = $ImgWidth * $ImgHeight * 3;
 $BMP_Image = pack("A$BMP_ImageLen");
 $BMP_FileLen = 147512;

 $BMP_InFile = "blank.bmp"; # BMPƒeƒ“ƒvƒŒ?[ƒgƒtƒ@ƒCƒ‹–¼

 # •W?€“ü—Í‚©‚çƒf?[ƒ^‚ð“Ç‚Ý‚¾‚·
 $buf = "";
 $read_data = "";
 $remain = $ENV{'CONTENT_LENGTH'};
 binmode(STDIN);
 while ($remain) {
 $remain -= sysread(STDIN, $buf, $remain);
 $read_data .= $buf;
 }

 # ƒf?[ƒ^‚ð‰ðŽß‚·‚é
 $pos1 = 0; # ƒwƒbƒ_•”‚Ì?擪
 $pos2 = 0; # ƒ{ƒfƒB•”‚Ì?擪
 $pos3 = 0; # ƒ{ƒfƒB•”‚Ì?I’[
 $delimiter = "";
 $max_count = 0;
 while (1) {
 # ƒwƒbƒ_?ˆ—?
 $pos2 = index($read_data, "\r\n\r\n", $pos1) + 4;
 @headers = split("\r\n", substr($read_data, $pos1, $pos2 - $pos1));
 $filename = "";
 $name = "";
 foreach (@headers) {
 if ($delimiter eq "") {
 $delimiter = $_;
 } elsif (/^Content-Disposition: ([^;]*); name="([^;]*)"; filename="([^;]*)"/i) {
 if ($3) {
 $filename = $3;
 if ($filename =~ /([^\\\/]+$)/) {
 $filename = $1;
 }
 }
 } elsif (/^Content-Disposition: ([^;]*); name="([^;]*)"/i) {
 $name = $2;
 }
 }

 # ƒ{ƒfƒB?ˆ—?
 $pos3 = index($read_data, "\r\n$delimiter", $pos2);
 $size = $pos3 - $pos2;
 if ($filename) {
 $SS_Buffer = substr($read_data, $pos2, $size);
 last;
 # } elsif ($name) {
 # $FORM{$name} = substr($read_data, $pos2, $size);
 # print "<LI>DATA: $name=$FORM{$name}\n";
 }

 # ?I—¹?ˆ—?
 $pos1 = $pos3 + length("\r\n$delimiter");
 if (substr($read_data, $pos1, 4) eq "--\r\n") {
 # ‚·‚ׂẴtƒ@ƒCƒ‹‚Ì?I’[
 last;
 } else {
 # ŽŸ‚̃tƒ@ƒCƒ‹‚ð“Ç‚Ý?o‚·
 $pos1 += 2;
 if ($max_count++ > 16) { last; }
 next;
 }
 }

 # ƒzƒ“ƒg‚ÉSSƒf?[ƒ^‚©‚Ç‚¤‚©ƒ`ƒFƒbƒN
 if ((length($SS_Buffer)!=$SS_FileLen) || (substr($SS_Buffer,4,12) ne 'PSO______IMG')){
 print "Content-type: text/html\n\n";
 print <<"EOF";
 <HTML>
 <HEAD>
 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=EUC-JP">
 <TITLE>GAC Page - CONV</TITLE>
 </HEAD>
 <BODY TEXT="#000000" BGCOLOR="#D0D0F0" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
 <H1>Error</H1>
 Not PSO Screen Shot File.<BR>
 <BR>
 <A HREF="http://www02.so-net.ne.jp/~shintan/">index</A> <A HREF="../">PSO</A> <A HREF="./">CONV</A><BR>
 </BODY>
 </HTML>
 EOF
 exit(1);
 }

 for($i=0; $i<$SS_FileLen/4; $i++){
 ($a,$b,$c,$d) = unpack("CCCC",substr($SS_Buffer,$SS_ImageTop+$i*4,4));
 substr($buf,$i*4,4) = pack("CCCC",$d,$c,$b,$a);
 }

 for($y=0; $y<$ImgHeight; $y++){
 for($x=0; $x<$ImgWidth; $x++){
 ($lo,$hi) = unpack("CC",substr($buf,($x+$y*$ImgWidth)*2,2));
 $pal = ($hi<<+$lo;
 $r = ($pal>> & 0xf8; if ($r){$r += 0x7;}
 $g = ($pal>>3) & 0xfc; if ($g){$g += 0x3;}
 $b = ($pal<<3) & 0xf8; if ($b){$b += 0x7;}
 substr($BMP_Image,($x+($ImgHeight-$y-1)*$ImgWidth)*3,3) = pack("CCC",$b,$g,$r);
 # printf "%2x%2x%2x ",$r,$g,$b;
 }
 }

 open(BMP_IN,"<".$BMP_InFile) || die("can\'t open \'$BMP_InFile\'\n");
 binmode(BMP_IN);
 seek(BMP_IN,0,0);
 read(BMP_IN,$buf,$BMP_FileLen);
 close(BMP_IN);

 # printf("%4x %4x\n",length($Pallet),length($Image));
 substr($buf,$BMP_ImageTop,$BMP_ImageLen) = pack("A$BMP_ImageLen",$BMP_Image);

 # ƒy?[ƒWƒwƒbƒ_‚ð?‘‚«?o‚·
 print "Content-type: image/x-MS-bmp\n";
 print "Content-Disposition: filename=\"ss.bmp\"\n";
 print "Content-Length: $BMP_FileLen\n\n";
 binmode(STDOUT);
 print pack("A$BMP_FileLen",$buf);

 exit(0);


und die dazugehörende pl datei

Code: Alles auswählen

#!/usr/local/bin/perl
 #
 # init_dir.pl by Take
 # ƒXƒNƒŠƒvƒg‚Ì’u‚«?ê?Š‚©‚çƒfƒBƒŒƒNƒgƒŠ—p•Ï?”‚ð?Ý’è‚·‚é
 # by Šx (http://www02.so-net.ne.jp/~shintan/)
 #
 # $CGI_DIR : ƒXƒNƒŠƒvƒg‚ª’u‚¢‚Ä‚ ‚éƒfƒBƒŒƒNƒgƒŠ
 # $HTM_DIR : ƒhƒLƒ…ƒ?ƒ“ƒg‚ª’u‚¢‚Ä‚ ‚éƒfƒBƒŒƒNƒgƒŠ
 # $CGI_URL : ƒXƒNƒŠƒvƒg‚ª’u‚¢‚Ä‚ ‚éURL
 # $HTM_URL : ƒhƒLƒ…ƒ?ƒ“ƒg‚ª’u‚¢‚Ä‚ ‚éURL
 #
 # v0.05 '00.04.19 ˆê”ÊŒöŠJƒo?[ƒWƒ‡ƒ“

 $HOST_URL = 'http://www.foo.ne.jp'; # Ž©•ª‚̃zƒXƒg–¼‚É•Ï?X‚·‚邱‚Æ

 $CGI_DIR = $ENV{'SCRIPT_FILENAME'};
 $CGI_DIR =~ s#(.*/)([^/]+)$#$1#;
 $main'CGI_DIR = $CGI_DIR;

 $HTM_DIR = $CGI_DIR;
 $main'HTM_DIR = $HTM_DIR;

 $CGI_URL = $CGI_DIR;
 $CGI_URL =~ s#/home/(.*)/public_html/(.*)#/$1/$2#;
 $CGI_URL =~ s#^/#/~#;
 $CGI_URL = $HOST_URL . $CGI_URL;
 $main'CGI_URL = $CGI_URL;

 $HTM_URL = $HTM_DIR;
 $HTM_URL =~ s#/home/(.*)/public_html/(.*)#/$1/$2#;
 $HTM_URL =~ s#^/#/~#;
 $HTM_URL =~ s#~~#~#;
 $HTM_URL = $HOST_URL . $HTM_URL;
 $main'HTM_URL = $HTM_URL;

 1;
 # EOF


und alles als archiv zum runter saugen

Benutzeravatar
mallowd
Dreamcast-Freund
Dreamcast-Freund
Beiträge: 242
Registriert: 20.10.2004, 17:04
Spielt seit: 1992
Kontaktdaten:

Re: Aufbau / Beschreibung von DCI / VMI / VMS

Beitragvon mallowd » 14.05.2006, 23:30

das benutz ic h auch ^^ funzt supi und auch ohne gdlib, halt einfahc bmp erstellen, aber is eben dci. aber lo hat mir schon viel stuff dazu gegeben und da schau ichs mir an. wie das dci format nun im wesentliche funzt hab ich begriffen, aber mus halt kucken warum die wandler nich die pso screens umbauen...


Zurück zu „Dreamcast-Programmierung“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast