DV Icy, The Dreamcast VMU Icon Viewer and Converter

Place for discussing homebrew games, development, new releases and emulation.

Moderators: pcwzrd13, deluxux, VasiliyRS

User avatar
Nz17
St.Jimmy
Posts: 386
Contact:

DV Icy, The Dreamcast VMU Icon Viewer and Converter

Post#1 » Tue Jun 25, 2019 1:30 pm

Program
This application is "DV Icy," a Dreamcast VMU icon viewer and converter. The app is written in the C++ programming language and uses the SDL 1.2 libraries. It was compiled using g++ (GCC) and Dev-C++.

This post contains an overview of the DV Icy program.

Downloads
The newest as of this post is ver. 0.8. You can download the program's files individually or you can just download the .zip file and extract everything from that.

https://www.nz17.com/interactive/dreamc ... converter/

Functions
1} Display the data from a dedicated VMU icon file (ICONDATA_VMS)
1-1} Display the ICONDATA_VMS's name or description
1-2} Display the ICONDATA_VMS's black-and-clear icon (the one that appears on the screen of the VMU itself) on the terminal (the command line or command prompt)
1-3} Display the ICONDATA_VMS's black-and-clear icon in a dedicated window
1-4} Display the ICONDATA_VMS's color icon (the one that appears on the screen of the television or monitor connected to the Dreamcast) in a dedicated window
1-5} Display the ICONDATA_VMS's color icon as a black-and-white icon on the terminal (console / command line)
2} Help documentation is included within the executable
2-1} Display the help info with the -h argument, e.g. "DV_Icy-Dreamcast_VMU_Icon_Viewer_and_Converter -h"
2-2} Display the version number with the -v argument

Please note that the program will display the chosen icon in a dedicated window for 1 second and then automatically quit. This is by design as this is a simple program and I didn't want to code a more sophisticated user interface. As this program is open source, please feel free to make modifications if you choose.

Arguments and Usage
Usage: dv_icy-dreamcast_vmu_icon_viewer_and_converter [options] [file]
-b, --printb Print the black-and-clear icon to standard output
-B, --displayb Display the black-and-clear icon on the screen
-c, --printc Print the color icon (in black-and-white) to standard
output
-C, --displayc Display the color icon on the screen
-h, --help Print this help message
-v, --version Print the version number

Not Yet Implemented
The program can currently only be used to view the icons of stand-alone VMU icon files (the ICONDATA_VMS files). Yet it is hoped that one day it will also display the icons from save files from games (such as the files that contain the player's progress in games such as Sonic Adventure 2) or DLC files (such as the Sonic Adventure 2 DLC files for changing the voices used for the menus).

One limitation is that DV Icy can only show icons for those files that store the icons in the default icon locations (hex address offsets). If the files store their icons in non-default locations, then they won't be displayed by the program.

Another limitation of DV Icy is that it can't show animated icons yet.

DV Icy's PNG image conversion functions have yet to be implemented. These would allow the converting of PNG files to VMU icons and vice versa.

The Origin of the Program's Name
The name "DV Icy" is derived from the letters in the full name of the program which are (D)reamcast (V)MU (I)con Viewer and (C)onverter, thus spelling D.V. I.C. Since I.C. sounds like "icy," the name of the program is "DV Icy." And, you know, "icy" sounds "cool..." literally. ;-)

History
For an incomplete history of the program and the changes which have occurred to it over time, please see changelog.txt.

Extra Fun
Associate the DV Icy program as the default program for opening .VMS files within your O.S. (such as Windows). If you set it this way, then double-clicking the .VMS files should automatically open them for viewing.

Author
Sean "Nz17" Robinson
Nz17 Productions
https://www.nz17.com/

License
GNU Affero General Public License Version 3 (or later); please see "agpl-3.0.txt" for details.

Special Thanks
  • Marcus Comstedt for the valuable information about Dreamcast VMU icon data with which this app is possible
  • Dreamcast-Talk.com for being an awesome community
  • Bluecrab, Kazade, N-A, PCWzrd13, petter3k, and Shuouma for creating cool software and bringing many Dreamcast games back online as well as for being great members of the community that promote playing the Dreamcast whether online or offline

User avatar
Ian Micheal
Developer
Posts: 5995
Contact:

Re: DV Icy, The Dreamcast VMU Icon Viewer and Converter

Post#2 » Tue Jun 25, 2019 4:52 pm

Hi, nice work :) it's allways coo,l to see new, developer's carin,g about the dreamcast..

User avatar
Nz17
St.Jimmy
Posts: 386
Contact:

Re: DV Icy, The Dreamcast VMU Icon Viewer and Converter

Post#3 » Mon Sep 09, 2019 5:39 pm

The Dreamcast deserves new software for its 20th anniversary one way or another. So in celebration of 9-9-99, the launch day of the SEGA Dreamcast in North America (as well as today being 9-9-19, its 20th anniversary), I am releasing a special improved ver. of DV Icy to read your Dreamcast VMU icon files! Appropriately enough, it is ver. 0.9 of DV Icy! What could be a better match for today?

So what's new? I'm glad you asked!

Version: 0.9
Compiled: 2019-07-24
Released: 2019-09-09
Changes:
1} Added the "-a" and "--all" arguments to display and print all of a file's available information
2} Refactored the code to separate the functionality for printing the icon's name into its own function instead of being a part of the main function
3} Improved file handling such as when encountering malformed VMU files
4} Improved error handling

The downloads can be found here:
https://www.nz17.com/interactive/dreamc ... converter/


User avatar
aldair
Metallic
Posts: 802

Re: DV Icy, The Dreamcast VMU Icon Viewer and Converter

Post#5 » Mon Sep 23, 2019 8:14 am

Ian Micheal wrote:Wanted to say thank you again i find this very good app :)

How do I work on Windows?

User avatar
Nz17
St.Jimmy
Posts: 386
Contact:

Re: DV Icy, The Dreamcast VMU Icon Viewer and Converter

Post#6 » Sun Oct 13, 2019 6:49 pm

Instructions are provided with the download. Most of them are found in the file named "readme.txt." However, I'll summarize some basic points here.

First download the newest copy of the program. Right now that stands at ver. 0.9.
Go to https://www.nz17.com/interactive/dreamc ... converter/ .
Then go to 0.9/ .
Download dv_icy-dreamcast_vmu_icon_viewer_and_converter-0.9.zip .
Save the file somewhere convenient.
Then extract your local copy of dv_icy-dreamcast_vmu_icon_viewer_and_converter-0.9.zip on your computer.
You should have a folder with the program's files in it.
From there, you can run dv_icy-dreamcast_vmu_icon_viewer_and_converter.exe according to the included readme.txt.

Here is some additional information which I'll include with the next release in the readme.txt:

The default action is to open the VMU's color icon in a graphical window. In other words, if the user gives no arguments on the command line other than a file name, then the file's color icon will be opened in a window for display.

This means that you can simply drag-and-drop the VMU's .VMS files directly on the executable to look at them. For example, drag-and-drop "Sonic.vms" onto "dv_icy-dreamcast_vmu_icon_viewer_and_converter.exe" and its icon should briefly open in a new window before automatically closing.

Thus you could associate .VMS files with dv_icy-dreamcast_vmu_icon_viewer_and_converter.exe to be able to open them automatically when you double-click on them. Just assign dv_icy-dreamcast_vmu_icon_viewer_and_converter.exe as the default program to open .VMS files in, for example, Microsoft Windows' Windows Explorer.

User avatar
ticky
shadow
Posts: 12
Contact:

Re: DV Icy, The Dreamcast VMU Icon Viewer and Converter

Post#7 » Tue Jul 06, 2021 3:58 pm

Hey NZ17, I've gotten this building on Mac, and I'd love to contribute a Unix version of the Makefile, would that be welcomed?

I'm also having some trouble with SDL1, as it's pretty unloved at this point, it seems to fail to open the window for me. Is there any chance of a port to SDL2?

User avatar
ticky
shadow
Posts: 12
Contact:

Re: DV Icy, The Dreamcast VMU Icon Viewer and Converter

Post#8 » Tue Jul 06, 2021 4:19 pm

I've managed to get it building, it required one minor change to work on Unix; I think SDL is supposed to be included as <SDL.h> instead of "SDL/SDL.h", which means it doesn't import correctly when using "sdl-config". To fix that, this patch needs applying to the cpp file:

Code: Select all

--- ../0.9/dv_icy-dreamcast_vmu_icon_viewer_and_converter.cpp   2019-07-24 07:12:00.000000000 -0700
+++ dv_icy-dreamcast_vmu_icon_viewer_and_converter.cpp   2021-07-06 13:13:21.000000000 -0700
@@ -15,7 +15,7 @@
 #include <fstream>
 #include <iostream>
 #include <string>
-#include "SDL/SDL.h"
+#include <SDL.h>
 using namespace std;
 
 /*


On the Windows end, this may require changing the include directory to include the "SDL" subfolder. You could also consider adopting the included "sdl-config" utility to configure this for you on Windows!

and for a Unix makefile, the following (based primarily upon 0.9's "Makefile.win") can be named simply "Makefile", and I believe will not affect the Windows build:

Code: Select all

CPP  = g++
CC   = gcc
RES  =
OBJ  = dv_icy-dreamcast_vmu_icon_viewer_and_converter.o $(RES)
LINKOBJ  = dv_icy-dreamcast_vmu_icon_viewer_and_converter.o $(RES)
LIBS = $(shell sdl-config --libs)
INCS = $(shell sdl-config --cflags)
CXXINCS = $(INCS)
BIN  = dv_icy-dreamcast_vmu_icon_viewer_and_converter
CXXFLAGS = $(CXXINCS)   -ansi -Wall
CFLAGS = $(INCS)   -ansi -Wall
RM = rm -f

.PHONY: all all-before all-after clean clean-custom

all: all-before $(BIN) all-after

clean: clean-custom
   ${RM} $(OBJ) $(BIN)

$(BIN): $(OBJ)
   $(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)

dv_icy-dreamcast_vmu_icon_viewer_and_converter.o: dv_icy-dreamcast_vmu_icon_viewer_and_converter.cpp
   $(CPP) -c dv_icy-dreamcast_vmu_icon_viewer_and_converter.cpp -o dv_icy-dreamcast_vmu_icon_viewer_and_converter.o $(CXXFLAGS)

User avatar
ticky
shadow
Posts: 12
Contact:

Re: DV Icy, The Dreamcast VMU Icon Viewer and Converter

Post#9 » Sat Oct 02, 2021 2:40 pm

Hey Nz17, I've just noticed that the "interactive" subdirectory of your site is now giving a 403 forbidden, so dv-icy is currently inaccessible

User avatar
Nz17
St.Jimmy
Posts: 386
Contact:

Re: DV Icy, The Dreamcast VMU Icon Viewer and Converter

Post#10 » Wed Nov 24, 2021 4:13 am

ticky wrote:Hey Nz17, I've just noticed that the "interactive" subdirectory of your site is now giving a 403 forbidden, so dv-icy is currently inaccessible


Yes, that was thanks to my Web hosting provider changing something without my knowledge. I have fixed it.

By the way, thanks for your submissions to my code / project! I hope to integrate them into the code base and post them one day when I am not being distracted nor lazy.

I'm considering porting the code to Python some day so that I don't have to worry about compiling, linking, nor assembling my code nor problems like different bit-ness (32-bit versus 64-bit) nor different platforms (x86 versus ARM versus PowerPC, etc.).

  • Similar Topics
    Replies
    Views
    Last post

Return to “New Releases/Homebrew/Emulation”

Who is online

Users browsing this forum: No registered users