Jump to content

JagView - A utility for displaying *.bmp files


GroovyBee

Recommended Posts

Find attached a utility I created at the weekend :-

 

JagView.1.00F.zip

 

It is a Windows GUI tool that will convert 24BPP Windows *.bmp file directly into a Jaguar ROM image that can be viewed in 16BPP on real hardware. Just press the "Browse..." button and choose an image and then use the "Convert" button to process it. A new file will be created that has a *.rom file extension. The ROM image is padded to the nearest 1MB so it can be used in emulators like VJ without conversion.

 

Some notes :-

Images must be 24BPP, 8BPP images are not supported at this time.

Images larger than 320 c 200 (w x h) will be cropped to 320 x 200.

Images smaller than 320 x 200 will be displayed in the centre of the screen.

 

The utility is ideal for pixel artists who want to create in-game assets without needing a programmer to implement the features they need or to check out how screenshots or mock-ups would look.

 

The application has been tested on XP fine and the ROMs on a PAL jaguar. (many thanks fto sh3-rg for testing)

 

Load and execute the final ROM at 0x802000.

 

Any problems let me know.

Link to comment
Share on other sites

Cool stuff :).

 

A couple of suggestions, if I may (feel free to ignore them at will!):

 

- Could you include the universal ROM header at the start of the ROM? It can help people identify that it's a ROM a lot.

- Since a ROM file wastes a flash on skunkboards (or any other flash carts), could you include an option to create a COFF version or similar?

- Are you using dithering when converting from 24bpp to 16? (I had some experience of as I was involved in a product that displayed 16bpp bitmaps and they looked better with dithering during conversion).

 

I can understand that this is a quick util for your convenience hacked up quick, so again ignore my suggestions if you want to move on :D.

Link to comment
Share on other sites

Hello!

 

Congrats on creating and releasing this tool, but when i saw the thread-title i thought it was about the Windows-based JagView-tool that was released 12 years ago by a polish developer and that allows to view the graphics (CRY or RGB) in a Jaguar binary. May i suggest that you change the name of your tool before it is widely spread?

 

Kind regards

Matthias

Link to comment
Share on other sites

Nice idea !

 

I agree with Matthias - there's already a well-known Jaguar tool with the same name. Why not something different? (JagPic, JagImage, Bmp2Jag...?)

 

If you want maximum quality, you could use 24-bit mode on the Jaguar. On the other hand, if you want to stick to the color mode that's likely to be used in a real game (RGB16 or CRY), I've got some conversion code (including dithering) I can contribute if you need it :)

Link to comment
Share on other sites

Cool stuff :).

 

Thanks for the compliment.

 

A couple of suggestions, if I may (feel free to ignore them at will!):

 

Yay! I like suggestions :D.

 

- Could you include the universal ROM header at the start of the ROM? It can help people identify that it's a ROM a lot.

 

Sure can! Is there an "official" spec for it? To be honest I haven't really looked for that kind of information so apologies if its common knowledge.

 

- Since a ROM file wastes a flash on skunkboards (or any other flash carts), could you include an option to create a COFF version or similar?

 

Possible, but I'm not sure how to coax a COFF file out of the VBCC compiler system. I could just rewrite it to be 100% assembler which would allow a multitude of different output formats. The blank space in the padding is full of 0xFFs which is the default state of any modern erased flash device so any good programming algorithm would just kip 16 bit words of 0xFFFF in the source image.

 

- Are you using dithering when converting from 24bpp to 16? (I had some experience of as I was involved in a product that displayed 16bpp bitmaps and they looked better with dithering during conversion).

 

No dither in this version. In my mind its a tool for viewing in-game assets so I wouldn't want to add extra visual information that isn't present in the original image. Although losing colours information is expected and therefore fine ;).

 

I can understand that this is a quick util for your convenience hacked up quick, so again ignore my suggestions if you want to move on :D.

 

Feedback is always good.

Link to comment
Share on other sites

Nice idea !

 

Thanks for the compliment.

 

I agree with Matthias - there's already a well-known Jaguar tool with the same name. Why not something different? (JagPic, JagImage, Bmp2Jag...?)

 

If I go back to the project I'll rename it.

 

If you want maximum quality, you could use 24-bit mode on the Jaguar. On the other hand, if you want to stick to the color mode that's likely to be used in a real game (RGB16 or CRY), I've got some conversion code (including dithering) I can contribute if you need it :)

 

True! But its a tool for game pixel artists to see how their work would look on real hardware. Most pixel artists I know always want to try something that I haven't implemented yet ;). So the tool allows them to experiment while I catch up or implement the code needed to drive the graphics.

Link to comment
Share on other sites

Congrats on creating and releasing this tool, but when i saw the thread-title i thought it was about the Windows-based JagView-tool that was released 12 years ago by a polish developer and that allows to view the graphics (CRY or RGB) in a Jaguar binary. May i suggest that you change the name of your tool before it is widely spread?

 

Thanks for the compliment. I'll change the name if I go back to the project.

Link to comment
Share on other sites

- Since a ROM file wastes a flash on skunkboards (or any other flash carts), could you include an option to create a COFF version or similar?

 

Possible, but I'm not sure how to coax a COFF file out of the VBCC compiler system. I could just rewrite it to be 100% assembler which would allow a multitude of different output formats. The blank space in the padding is full of 0xFFs which is the default state of any modern erased flash device so any good programming algorithm would just kip 16 bit words of 0xFFFF in the source image.

 

Well Zerosquare beat me to the universal header, so here's how I create COFF files in JiFFI: I take my binary file, figure out load and run addresses. Then strip off any headers at the front and slap the attached file instead. In that header, offset $24 has the load address and offset $28 has the run address. And presto, you've created a valid COFF! (disclaimer: this is the result of my hackery, I've never read any docs on the subject... BUT for 2 years no I had 0 complaints about it so I assume it's ok!)

coffheader.bin

Link to comment
Share on other sites

@Zerosquare and ggn: Thanks for the header information. I'll add COFF, universal header and BJL support when I get some free time. I'll probably just remove the dependence on the standard "C" library and make the code position independent as well. That'll make life easier and the final jag ROM binary should be a bit smaller too.

Link to comment
Share on other sites

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...