New Dreamcast related tools

This forum is for discussion pertaining to homebrew and indie software for the Dreamcast, such as homebrew games, emulators/interpreters, and other homebrew software/applications. Porting requests and developmental ideas are not to be made here; you can make those here. If you need any help burning discs for homebrew software, this is the place to ask as well.
Post Reply
User avatar
Protofall
DCEmu Crazy Poster
DCEmu Crazy Poster
Posts: 34
Joined: Sun Jan 14, 2018 8:03 pm
Location: Emu land
Has liked: 5 times
Been liked: 1 time
Contact:

New Dreamcast related tools

Post by Protofall » Thu Feb 28, 2019 7:41 am

Lately I've been working on some programs relating to the Dreamcast. I've mentioned them a bit on Twitter and other places, but now I've put all 4 of my programs into one GitHub repository:


DOWNLOAD: https://github.com/Protofall/Crayon-Utilities


The four programs are:
  • DtexToRGBA8888: A program that takes a DTEX file made by tvspelsfreak's texconv program and converts it to either a PNG or a raw RGBA8888 format binary. Note ofc it won't add more bits of info to a channel if it is less than 8 bits since that data is permanently lost
  • VmuEyeCatchCreator: A tool that takes a single PNG source file that is 72 texels wide and 56 texels high and creates a binary that can be attached to a vmu_pkg_t struct and be displayed on the DC's BIOS's VMU manager screen
  • VmuLcdIconCreator: Takes a PNG source file (Must be 48 wide by 32 high) and creates a 1BPP binary that can be loaded and displayed with KOS' vmu_draw_lcd() function
. It now also has the ability to make multiple frames of greyscale animation, although I've never used it and you can only update the icon once per frame/vblank in modern KOS.
  • VmuSfIconCreator: A tool that takes a set of PNG source files (All must be 32 wide and "a multiple of 32" texels high) and creates image and palette binaries that can be attached to a vmu_pkg_t struct and used to make an animated savefile icon
All four programs were made in C/C++, are terminal based for easy use in automated scripts and are under the BSD Clause 3 license so you can include it in your own projects and even bundle it into commercial products if need be without any cost.

Dependencies:
  • libPNG
  • texconv (But only to make some demo DTEX files for my converter. My converter itself doesn't need texconv or qt to run)
Technically none of these programs are "complete". DtexToRGBA8888 is missing BUMPMAP and Mipmap support and VmuSfIconCreator and VmuEyeCatchCreator attempt to reduce the number of colours in the image if they're more than 16/256, but they don't do the best job at it. I do want to implement all these things eventually, but I don't know when.

The GitHub also has a wiki section that describes some of the more complicated stuff related to the formats used in these programs. Official SEGA documentation either didn't correctly explain these things or did so in a complicated manner.

I hope people find it useful :grin: . If you do use it, message me on twitter or Discord since I dunno how to see DMs here, I'd be interested to see what you're working on :grin:
Last edited by Protofall on Fri Aug 09, 2019 11:04 pm, edited 2 times in total.
These users liked the author Protofall for the post:
SiZiOUS
Working on a recreation of Minesweeper for the Dreamcast <viewtopic.php?f=34&t=104820>

Twitter <https://twitter.com/ProfessorToffal>
YouTube (Not much there, but there are a few things) <https://www.youtube.com/user/TrueMenfa>
User avatar
I.M. Weasel
Iron Muskateer Weasel
Posts: 2754
Joined: Fri Jan 04, 2002 4:45 am
Location: The city of the future, Los Braingeles
Has liked: 0
Been liked: 1 time
Contact:

Re: New Dreamcast related tools

Post by I.M. Weasel » Fri Jun 28, 2019 7:48 pm

Awesome! Always welcoming new contributions to the DC scene.
These users liked the author I.M. Weasel for the post:
Protofall
MDT w/ Mac Intel support: Out Now!
MDT Services w/ Mac Intel support: Suspended until i receive help

My site :arrow: http://gbadcdev.dcemulation.org

"You don't have to be forgiven. Clint Eastwood taught us that."
Post Reply