VOGONS

Common searches


First post, by Banjo

User metadata
Rank Newbie
Rank
Newbie

I don't know if this is the right place to ask, but I'm trying to find out more about an image format from an old DOS installer disk. The disk included a program called "showmcga.com" that displays the images, and the images themselves are ".cjl" files. The disks were for an Amstrad PC5286 (a pack-in games bundle that included Prince of Persia, F-15 Strike Eagle II and Links).

I have attached some example image files and the program to display them below (please feel free to remove it, mods, if that's not cool).

This has been a mystery to me for awhile and I just thought I'd ask here where lots of DOS/retro enthusiasts and old school computer experts reside. I'm not sure how many can help with this, but it never hurts to try. I suspect it's a proprietary Amstrad image format (or maybe related to the Counterpoint icon format described here), but if anyone knows or can find out, I'd appreciate another childhood mystery being solved!

Interestingly, you can use showmcga.com to add one or two numbers to the image displayed, with an optional "x/y" or ":x" or "-x" parameter, such as...
showmcga welcome.cjl
...or...
showmcga copying.cjl 1/2
...or...
showmcga disk.cjl :2
...or...
showmcga wrong.cjl -1

The "x/y" parameters are used with the "copying.cjl" image (numbers line up with blank spaces there), while the ":x" and "-x" parameters are used for the "disk.cjl" image and "wrong.cjl" image respectively, where they line up to show a disk number. It seems these parameters are functions of the showmcga program and nothing to do with the CJL files themselves (aside from "lining up" to place the numbers onscreen), though I can't be sure.

I'd love to be able to edit or create these CJL images myself but just knowing more about them would be cool.

ANY help or insight would be appreciated!

Attachments

  • Filename
    amstrad_showmcga.zip
    File size
    20.53 KiB
    Downloads
    83 downloads
    File comment
    DOS "showmcga.com" program and cjl images
    File license
    Fair use/fair dealing exception
Last edited by Banjo on 2018-09-10, 15:33. Edited 1 time in total.

Reply 1 of 6, by VileR

User metadata
Rank l33t
Rank
l33t

Looks like a very simple run-length-encoded format which gets unpacked right into video memory in mode 13h.
The 256-color palette is fixed (set by the viewer itself), and the image data goes like this:

- If the byte is A5h, the next byte specifies the run length (how many bytes to write), and the next one after that is the palette index (which bytes to write)
- Otherwise write the byte as is (a single pixel; value = palette index)
- For run lengths of more than 255 (FFh), repeat FFh-long sequences as needed
- To write a single pixel with the palette index A5h, you go "A5 01 A5"
- The file must end with "A5 00 00".

I suppose it would be trivial to write a converter from something like BMP or Photoshop RAW to this format, but I rather question the return-on-investment factor. 😉

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]

Reply 2 of 6, by Banjo

User metadata
Rank Newbie
Rank
Newbie

Thanks for the reply, VileRancour! Just the sort of thing I was hoping someone could discover!

I'd love a BMP converter ("trivial" for some, maybe, but way outside of my expertise, I suspect) for this format, as I have great nostalgia for those install images and to be honest have been messing around creating "lookalike" installers for my own personal games to use on emulated and real oldschool DOS hardware these past few days, and being able to use my own images would be gratifying... but I can understand that I'm alone in wanting this! Any suggestions who I could approach (and where) to undertake something like this?

Given the choice, I would probably prefer a converter or Photoshop plugin to be able to edit Counterpoint .ICN images, as I still love and use Counterpoint on a couple of old machines (and in DOSBox) and see it as a great alternative to Windows for very basic computer users running low-end old PCs... but being forced to use the in-program icon editor makes it impossible to import and reuse existing low-colour ICO files, meaning every COunterpoint icon must be drawn from scratch until a converter or editing plugin can be found. I suspect it may also be a "simple" matter to make one as the page I linked to has the specs of the ICN format laid out, but again it's beyond my capabilities. I've considered posting on a Photoshop forum to see if anyone would be willing to take this up; I'd hesitate to pay for it, but would rather that if it meant the format was opened up to all for future generations of retro geeks!.

Oh, and in case anyone is wondering "why does this guy care about something this obscure?" it's because it *is* obscure... I could find nothing about this program or image format anywhere, yet I had it here in my hands. I'm a big fan of preserving stuff that would otherwise be lost, and this fell into that category for me, as well as personal nostalgia.

As for return-on-investment... true, but I'd argue that also applies to me spending two days imaging old floppies of obsolete software or trying to emulate a rubbish old AT computer from my childhood! 😀

Reply 3 of 6, by VileR

User metadata
Rank l33t
Rank
l33t

Poor choice of words perhaps, but by "trivial" I meant that it should be programmatically straightforward because we know all the details -- not that it doesn't take time and effort. 😉

I *am* sort of interested in having a go at those .JCL/.ICN converters myself actually, but I'm not sure when I'll get to it. So if you or anyone else wants to try in the meantime, then by all means go for it. (Personally speaking, when I'm interested in solving a problem of that kind, I do find it a good excuse to try and learn something new if needed... but YMMV.)

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]

Reply 4 of 6, by Banjo

User metadata
Rank Newbie
Rank
Newbie

That's cool, mate... please don't think I was offended by the use of "trivial" either! 😀 I understood what you meant, but just wanted to point out that I feel way over my head with this 😀

I know what you mean though; probably 75% of things I've learned was to solve a problem or create something out of personal desire rather than necessity. I taught myself Photoshop and digital audio editing while in college just because I wasn't happy with the analog tech we were using, and I've lost count of the number of games I've spent months learning to mod just because I wanted some little thing in it that nobody else did.

I'd be more than happy to help or learn how to somehow edit or convert these image formats, but I'd definitely need a few pointers to get me started as I have literally no idea how one would undertake this sort of thing. My only coding experience has been web design and lots of obscure game languages for modding! 😀

I've actually tried a couple of times to deal with the ICN format, but I figured I'd need to create a format import/export plugin for Photoshop, hoping the info in the post I linked to would be enough to get me somewhere. However, I couldn't find anywhere with tutorials or instructions on *how* to make such an import plugin for PS, so wasn't sure what to do from there. Like I said, programming that produces actual *programs* is something I've never done before. 🙁

I've replied to your PM about the ICN format, too.

Again, huge thanks for being willing to help me with this. It really is very much appreciated!

Reply 5 of 6, by VileR

User metadata
Rank l33t
Rank
l33t

Took me a while but here are a couple of BMP converters, one for CJL and one for ICN.
Specify only the source file name as a parameter. If there's anything wrong with your BMP, they'll (try to) tell you; since the BMP 'format' is more like an insane collection of wildly different revisions, they probably won't handle *everything*, but they seem to work fine with files saved by Photoshop or XNView.

Filename
bmp2cjl + bmp2icn.zip
File size
1.81 KiB
Downloads
93 downloads
File license
Fair use/fair dealing exception

Some things to keep in mind...

  1. Both formats need their own fixed palettes, so I've included .ACT color tables to use in Photoshop's indexed-color mode. (If you need other formats, you can snag the palettes from DOSBox screenshots of ShowMCGA or Counterpoint.)
  2. CJL files larger than 32,000 bytes make ShowMCGA poop itself - evidently the programmer didn't expect more than that, so the data gets fatally truncated. Amstrad's original .CJLs aren't nearly as big, but you can overshoot that size if you convert images that don't compress very well, such as very 'noisy' BMPs dithered down from a truecolor source.
    This limit can be safely increased to around 60,000 without breaking anything: just hex-edit SHOWMCGA.COM and patch the byte at offset C4h (196 decimal) from 7D to ED.
  3. As you suspected, those command line parameters for ShowMCGA display predefined digits in hard-coded locations, regardless of CJL image content. So if you plan to use them you'll probably want to make the images "line up" nicely.
  4. Counterpoint's maximum size for icons is a weird 87*63 (anything bigger gets auto-cropped by CP-EDIT). BMP2ICN's higher limit is mostly to let you change CP_V.LGO, the Amstrad logo at the bottom right of the desktop, which is in the same format.
  5. ICN files have to be named "???V.ICN" ("V" for "VGA" I suppose), otherwise CP-EDIT's icon selector will bilssfully ignore them.

BTW, John Elliot's .ICN spec isn't 100% accurate... the header's width/height values are one pixel *less* than the actual dimensions, so it isn't true that "if the width is an exact multiple of 8, the last byte is ignored". That one had me on the wrong path for a bit.

Anyway, hope it's useful, and do post some screenshots if you come up with cool stuff. ;)

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]

Reply 6 of 6, by Banjo

User metadata
Rank Newbie
Rank
Newbie

Just a little something I made for fun, and as a "proof of concept": a new icon/logo for Counterpoint (Amstrad's DOS Shell software) based on the VOGONS logo. Enjoy!

I'm going to hospital tomorrow for surgery, but when I'm recovered I'll post some screenshots and more stuff.

Is it alright if I repost these utilities (with full credit) on my game mod blog here?

Attachments