Guide to modifying ICONDATA.VMS
- Slurmking
- lithium
- Posts: 45
Re: Guide to modifying ICONDATA.VMS
The Tool works very well and as proof I have added Icons I created with the tool to my site. Dreamcast only http://slurmking.net/dream/icons.php
- Slurmking
- lithium
- Posts: 45
Re: Guide to modifying ICONDATA.VMS
Slurmking wrote:Introduction
This post will educate you in the hex values and image format for ICONDATA.VMS. This has taken me over 2 days to figure out so please be respectful.
I decided to write this guide because all the information I was able to find was either incorrect or incomplete. Please enjoy!
Every example is taken directly from my hand written icon
http://dream.slurmking.net/VMU/ICONDATA/IconData.zip
Mono Chrome Icon
The monochrome icon is a 128 byte 1bpp bitmap starting at the offset defined at 0x10. Each row consists of 4 pairs of 4bit hex values that translate into the corresponding bitmap
For example in the image below you will see row one is equal to 02 00 00 40, translated into binary that reads
0000 0010 0000 0000 0000 0000 0100 0000
Where 1 is a black pixel and 0 is a white pixel
Color Icon
The color icon begins 16 bits after the offset defined at 0x14 as the first 16 bits are the color pallet.
The color icon is 512 bytes in order. Each nibble of the hex byte refers to the corresponding color pallet.
For example the first row of this image is
44 44 44 23 33 33 33 33 33 33 33 33 32 44 44 44
where
4 = color #4
2 = color #2, and so on...
Color Pallet
This is the color pallet from the above sample. In the chart above the colors are numbered from 0 to F this is in relation the order the colors appear and it is also the number used for the icon data.
The pallet code will start at the offest defined at value 0x14 and will contain 16 16-bit little endian integersColorsCode: Select all
00 F0 0F 0F 69 F6 CC FC 88 F3 FC FF FC FF 99 F9 77 F7 44 F4 21 F2 A0 FF 61 F9 93 FC CB FC 00 F0
The color value of this image is split into 2 hex bytes which contain the Red, Green, Blue, and, Alpha values for the color. The values are in the wrong order however and actually appear as GBAR thus the layout is GB AR
*(The A value is for the transparency, 0 being Transparent and F being opaque)
As you can see from the above example you are only able to create hex colors with with a double value therefore a color like #55CCAA is possible but a color like #59C6AB is not
Finished Code
![]()
Code: Select all
00 F0 0F 0F 69 F6 CC FC 88 F3 FC FF FC FF 99 F9 77 F7 44 F4 21 F2 A0 FF 61 F9 93 FC CB FC 00 F0 44 44 44 23 33 33 33 33 33 33 33 33 32 44 44 44 44 44 44 23 33 33 33 33 33 33 33 33 32 44 44 44 44 44 44 23 33 33 33 33 33 33 33 33 32 44 44 44 44 44 44 23 33 33 33 33 33 33 33 33 32 44 44 44 44 44 44 23 33 33 33 33 33 33 33 33 32 44 44 44 44 44 44 22 22 22 22 22 22 22 22 22 22 44 44 44 44 44 22 33 33 33 33 33 33 33 33 33 33 24 44 44 44 42 33 30 00 00 00 00 00 00 00 00 03 32 24 44 44 23 30 06 66 66 66 00 00 06 66 66 60 03 32 44 44 23 00 66 66 66 66 00 00 66 66 66 66 00 32 44 42 33 06 66 66 66 66 66 06 66 66 66 66 60 03 24 42 30 06 66 60 00 66 66 06 66 60 00 66 60 03 24 42 30 06 66 60 00 66 66 06 66 60 00 66 60 03 24 42 30 00 66 60 00 66 60 00 66 60 00 66 00 03 24 44 23 00 06 66 66 66 60 00 66 66 66 66 00 32 44 44 23 00 06 66 66 66 00 00 06 66 66 60 00 32 44 44 42 30 00 00 00 00 00 00 00 00 00 00 03 24 44 44 44 23 30 00 00 00 00 00 00 00 00 03 32 44 44 44 44 42 33 33 33 33 33 33 33 33 33 33 24 44 44 44 44 44 22 22 22 22 22 22 22 22 22 22 44 44 44 44 44 44 23 33 33 33 33 33 33 33 33 32 44 44 44 44 44 44 23 33 33 33 33 33 33 33 33 32 44 44 44 44 44 44 42 00 00 00 00 00 00 00 00 24 44 44 44 44 44 44 42 66 06 66 66 06 66 60 66 24 44 44 44 44 44 44 42 00 00 00 00 00 00 00 00 24 44 44 44 44 44 44 42 66 06 66 66 06 66 60 66 24 44 44 44 44 44 44 22 00 00 00 00 00 00 00 00 22 44 44 44 44 44 44 22 66 06 66 66 06 66 60 66 22 44 44 44 44 44 44 22 00 00 00 00 00 00 00 00 22 44 44 44 44 44 44 23 33 33 33 33 33 33 33 33 32 44 44 44 44 44 22 33 33 33 33 33 33 33 33 33 33 22 44 44 44 42 33 33 33 33 33 33 33 33 33 33 33 33 24 44
Special thanks
Special thanks to the beautifully written guides at http://mc.pp.se/dc/, this definitely gave me a head start on the project.
- OlivusPrime
- MegaDeath
- Posts: 215
- Dreamcast Games you play Online: ChuChu Rocket!
Daytona USA
F355 Challenge
Quake III Arena
Racing Simulation 2
Worms World Party - Location: United Kingdom
Re: Guide to modifying ICONDATA.VMS
Does anyone still have this tool? I've been looking for a simple way of generating ICONDATA.VMS files over the usual method and this seemed like just the ticket.
- Xiden
- Developer
- Posts: 2336
- Dreamcast Games you play Online: All the DC games!!
Re: Guide to modifying ICONDATA.VMS
I think this may be it, this is his githubOlivusPrime wrote:Does anyone still have this tool? I've been looking for a simple way of generating ICONDATA.VMS files over the usual method and this seemed like just the ticket.
https://github.com/slurmking/vmu-tools
- OlivusPrime
- MegaDeath
- Posts: 215
- Dreamcast Games you play Online: ChuChu Rocket!
Daytona USA
F355 Challenge
Quake III Arena
Racing Simulation 2
Worms World Party - Location: United Kingdom
Re: Guide to modifying ICONDATA.VMS
Thanks very much, just trying to get my head around the Python operations.Xiden wrote:I think this may be it, this is his githubOlivusPrime wrote:Does anyone still have this tool? I've been looking for a simple way of generating ICONDATA.VMS files over the usual method and this seemed like just the ticket.
https://github.com/slurmking/vmu-tools
It's crazy that people have come up with like 4 different ways to create VMU icons, but they're all either needlessly complicated or lack a basic UI.
- Slurmking
- lithium
- Posts: 45
Re: Guide to modifying ICONDATA.VMS
If you need any help let me know. Making a UI is a constant issue that requires a lot of coding and upkeep. I may look into doing it in the future but finding time to do any of these projects is hardOlivusPrime wrote:Thanks very much, just trying to get my head around the Python operations.Xiden wrote:I think this may be it, this is his githubOlivusPrime wrote:Does anyone still have this tool? I've been looking for a simple way of generating ICONDATA.VMS files over the usual method and this seemed like just the ticket.
https://github.com/slurmking/vmu-tools
It's crazy that people have come up with like 4 different ways to create VMU icons, but they're all either needlessly complicated or lack a basic UI.
- pomegd
- rebel
- Posts: 24
- Contact:
Re: Guide to modifying ICONDATA.VMS
This tool is created by utilizing ChatGPT.
Note that I am neither a programmer nor an engineer, just a Japanese who likes Dreamcast.
Therefore, some parts of the tool are displayed in Japanese. Also, I may not be able to deal with any problems that may occur.
Python environment is required for use. The library “Pillow” must be installed for operation.
I have confirmed that it works in a Windows environment, but please use it at your own risk.
Thanks
Marcus Comstedt
Slurmking
-
- Similar Topics
- Replies
- Views
- Last post
-
- 5 Replies
- 4723 Views
-
Last post by mistamontiel
-
- 4 Replies
- 14812 Views
-
Last post by mistamontiel
-
- 4 Replies
- 3709 Views
-
Last post by TheTinWhisker
-
- 0 Replies
- 1143 Views
-
Last post by eschirtz10
-
- 15 Replies
- 27335 Views
-
Last post by megavolt85