flux Posted February 19, 2018 Share Posted February 19, 2018 Back in the 90s I loved my Jaguar but at some point it ended up in storage and I only decided to dig it out just the other day out of a desire to try my hand at some homebrew stuff. I have a particular project in mind, and I'm under no illusions about the long and difficult road ahead. However, one thing I didn't anticipate but recently read about while doing some initial research is the 6MB limitation for the size of a cartridge game. While I fully accept that it would be some time into development before this is a practical concern, my ultimate goal involves characters with a lot of frames of animation and also several sound (mainly voice) samples. So my question is, are there any libraries for decompressing compressed assets like images and sounds? Nothing that would have to be decompressed in real time like some kind of mp3 player or anything like that, just something that could, during the loading stage, get some compressed data out of its compressed format and into memory so I can cram more of that junk into the rom. I'm mainly trying to get a sense of what's available so I can adjust my goalposts accordingly. Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted February 19, 2018 Share Posted February 19, 2018 http://dhs.nu/bbs-coding/index.php?request=5184 NRV2E packer - with 68k and GPU decompression routines, and an x86 packer. I've built the decompression into the RAPTOR API for the next release. 4 Quote Link to comment Share on other sites More sharing options...
flux Posted February 19, 2018 Author Share Posted February 19, 2018 (edited) Thanks for the quick reply! I'll definitely be looking into this. I'm glad it will be getting rolled into the Raptor stuff because that is exactly what I intended to use (which probably goes without saying for anyone starting nowadays). I'm still waiting on my Skunkboard and SCART cable to arrive from a couple of European countries so right now my Jaguar is just sitting there not doing a lot apart from lookin' pretty but a little battle scarred. A couple scratches and some white specks of what I can only guess is paint from some overspray when a room got painted. My brother had my Jaguar for some time so who knows? Wouldn't even power on at first but a can of compressed air to the cartridge slot and the cartridge seemed to clear that up. A google search on that issue brought me to this forum. Incidentally, I feel a little weird like someone famous and important is bothering to answer my dumb question but I am super appreciative. Edited February 19, 2018 by flux Quote Link to comment Share on other sites More sharing options...
swapd0 Posted February 19, 2018 Share Posted February 19, 2018 It's the NRV2E packer source code available? or a exe for mac. 1 Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted February 19, 2018 Share Posted February 19, 2018 Incidentally, I feel a little weird like someone famous and important is bothering to answer my dumb question but I am super appreciative. Not important or famous, and no question is dumb if you learn from the answer 1 Quote Link to comment Share on other sites More sharing options...
LinkoVitch Posted February 19, 2018 Share Posted February 19, 2018 I'm still waiting on my Skunkboard and SCART cable to arrive from a couple of European countries so right now Just a quick heads up, some of the newer Skunkboards I believe do not have bevelled cart edges, and some are on slightly thicker boards than a regular jaguar cart. Using one of these boards can completely destroy your cart slot if you are not careful. Not wanting to scare you off, just take a few minutes before gleefully jamming it in to check first, the bevelled edges can be sorted with a bit of time with some sandpaper / emery board I believe. Other top Skunk tip is get yourself a cheap USB hub and connect to the skunk via that, crazy voodoo at work, but this usually increases throughput to the skunk significantly. Not everyone needs to do this, and thankfully the hubs are usually only a few coins or free anyway. Welcome to the crazy land of 64 bits 2 Quote Link to comment Share on other sites More sharing options...
Songbird Posted February 19, 2018 Share Posted February 19, 2018 LZJAG is a lossless compression tool provided by Atari back in the day... I use it to decompress graphics in Protector SE and Protector RESURGENCE prior to the start of a new level. But it's a bit klunky to use, since you have to have an old PC or DOSBox to get the PC tool to compress anything. Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted February 19, 2018 Share Posted February 19, 2018 For pictures, there is also BPEG, which is similar to JPEG (high compression rate, but lossy). Quote Link to comment Share on other sites More sharing options...
laymanpigeon Posted August 21, 2022 Share Posted August 21, 2022 On 2/19/2018 at 11:00 PM, Zerosquare said: For pictures, there is also BPEG, which is similar to JPEG (high compression rate, but lossy). Any details on Jaguar specific compression of JPEG known as JagPEG? Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted August 21, 2022 Share Posted August 21, 2022 JagPEG is the predecessor of BPEG. There's some info on it, but no source code (that I know of): Quote ------------------------------------- JagPeg Conversion Tools version 1.5 PC Version Release 1.2 Release Date: 9/24/94 CONFIDENTIAL INFORMATION ------------------------------------- Copyright 1993 Atari Corp. All Rights Reserved. Author: Mike Pooler, Atari Corp. Update: Mike Fulton, Atari Corp. Introduction ------------ This describes how to use TGAJAG, a group of utility programs that convert a Targa file (.TGA) to a JagPeg file (.JAG). Background: JagPeg is Atari's version of JPEG. A JagPeg file has a .JAG extension, and it contains one compressed 24-bit true color bitmap. It is uncompressed by a program called DEJAG, which runs in the Jaguar's GPU. DEJAG is described seperatly (see DEJAG.DOC). The main utility for performing the conversion process is named TGAJAG. On MS-DOS, TGAJAG is an executable program named TGAJAG.EXE. Input Files ----------- TGAJAG takes the filename of a Targa file as its first argument. The Targa file must be: - Uncompressed (Image type 2) - 24-bits per pixel - A multiple of 8 pixels in width (If HALF or QUAD subsampling, a multiple of 16 pixels in width) (Subsampling is explained below) - A multiple of 8 pixels in height (If QUAD subsampling, a multiple of 16 pixels in height) Some Targa files which meet the above requirements are stored from bottom-up, (with the first screen-line at the end of the file), others from top-down. Both types are supported by TGAJAG. Output Files ------------ TGAJAG writes two files as output. The first is a JagPeg file (.JAG), which has this format: [Word 0] JagPeg version number (currently 1) [Word 1] Picture format code 1: YCrCb with no subsampling 2: YCrCb with HALF subsampling 3: YCrCb with QUAD subsampling [Word 2] Width in 8-pixel blocks (e.g. 40 == 320 pixels) [Word 3] Height in 8-pixel blocks [Data...] The second output file from TGAJAG is a file containing a dequantization table for the requested compression quality, which is required by the JPEG decoding routines. This file will named 'DQ??.DAT' (where the ?? is the quality percentage). Using TGAJAG ------------ TGAJAG for MSDOS takes a command line of the form: TGAJAG [-quality n] [-quiet] [-o outputfile] [-quad | -half] inputfile The command line options may be used in any order, but only one input file may be specified, or else an error is generated. -quality n Sets the JPEG compression quality/compression ratio percentage. The value 'n' must be between 1-100. The higher the value, the higher the image quality and the less the image is compressed. -quiet Supresses status messages from being shown on screen during the conversion process. -o outputfile Allows you to specify the desired filename of the converted picture file that will be output. -quad or -half Specify either QUAD or HALF subsampling. The default is to use neither QUAD or HALF subsampling. See below for more information. inputfile This parameter is the filename of the .TGA Targa picture file to be converted. You may leave off the ".TGA" extension if you want. The resulting .JAG file will be placed into the same directory as the inputfile, but the DQ??.DAT file will be placed into the current directory. Examples: tgajag -quality 60 cat will convert CAT.TGA to CAT.JAG with quality setting of 60. tgajag -half -quality 75 ship will convert SHIP.TGA to SHIP.JAG, using HALF subsampling, and a quality setting of 75. Image Quality ------------- For most purposes, an image quality setting between 60 and 80 will provide the best balance between compression ratio and quality. High quality settings give less lossy compression, thus larger .JAG file sizes. Lower numbers get you better compression and smaller files, but if the number is too low you will get a visable degradation in visual quality (this will appear as fuzzyness and/or blockiness). The goal is to find a quality setting that gives you acceptable compression and a picture that is is nearly indistinguishable from the original .TGA, visually. This "ideal" setting is different for different pictures, so it's a matter of trial and error. The default quality setting is 75, which is usually a good starting point. If you go much above 75 you lose more and more compression without a significant gain in image quality. TGAJAG produces a unique "dequantize" table for each quality setting, which is used during the decompression process (see DEJAG.DOC). SUBSAMPLING ----------- You also have the option of using HALF subsampling or QUAD subsampling. HALF subsampling means that the picture's color components are cut to half their horizontal size before processing by CJPEG. (The luminance component is left as is). While this is quite lossy, it often produces little visable change in the final output, while getting a good reduction in size. We recommend that you use HALF subsampling as your default starting point. QUAD subsampling means that the picture's color components are cut to one quarter the original size (half vertical, half horizontal) before processing. Size reductions over HALF are less dramatic, visual differences are more dramatic. It may be worth a try, but we recommend HALF as your best option. Remember if you use HALF or QUAD, picture width must be a multiple of 16 pixels (instead of 8). If you use QUAD, picture height must be a mulitple of 16 pixels. Decompression speed is DIRECTLY related to .JAG size. A .JAG file that is 30% smaller than another will usually decompress in about 30% less time. Notes ----- Free disk space requirements for TGAJAG are such that you should have at least double the size of your TGA file, to be safe, before running TGAJAG (e.g. for a 200K TGA file, have 400K free). Note that the utilities do not all detect disk-full conditions, and they will probably do a whole lot of nothing once disk space runs out (even if they look like they're working). If the final JAG file is larger than you expect, try using HALF subsampling and/or a lower quality setting. There is little error checking - if you feed it an illegal Targa picture (see above), or a bad filename, it may do ungraceful things. v1.2 Release Notes: ------------------- The MSDOS version formerly used the batch files TGAJAG.BAT, TGAJAGH.BAT, and TGAJAGQ.BAT to run the various steps of the conversion process. They have been replaced by TGAJAG.EXE, which performs the same operation, but with better control over the various options and with better error checking. Note also that the archive setup has been changed so that the tools install into the JAGUAR\BIN directory instead of JAGUAR\BIN\TGAJAG. This was done so that you can call the conversion utilities directly from your project's directory, rather than changing to the utilities directory. Please note that the JAGUAR\BIN\TGAJAG directory is no longer used by the archives at all. To avoid filename conflicts with other utilities, the filenames of the JAGPEG compression utilities have been changed. Basically, a "j" was added to the beginning of the filename. The old names and new names are shown below. Old Name New Name -------- -------- STRIP JSTRIP QUAD JQUAD MERGE JMERGE MERGEH JMERGEH MERGEQ JMERGEQ SPLIT JSPLIT SPLITH JSPLITH SPLITQ JSPLITQ MAKEQ JMAKEQ CJPEG JCJPEG Normally you don't call these programs yourself directly; they are called by the TGAJAG program. If you have old versions of these files, please delete them. v1.1 Release Notes: ------------------- Earlier versions of the PC version of the MAKEQ tool (one of the utilities called by TGAJAG) did not work correctly, but this has now been fixed. Earlier versions of the TGAJAG tools used an .ABS extension for the DQ??.ABS files they created. This has been changed to create a DQ??.DAT file instead, to avoid confusion with the .ABS files created by the ALN linker. Quote Link to comment Share on other sites More sharing options...
laymanpigeon Posted August 21, 2022 Share Posted August 21, 2022 Cool and how much smaller is file size of JagPEG compared to JPEG for same resolution? Also I don't see point of 24bit color for image file when games are rendered at 16bit color space with exception of perhaps when on menu. Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted August 22, 2022 Share Posted August 22, 2022 13 hours ago, laymanpigeon said: Cool and how much smaller is file size of JagPEG compared to JPEG for same resolution? Never checked, but I don't think it claims to compress any better than ordinary JPEG. From my understanding, it's just a variation that's better suited for implementation on the Jaguar hardware. Quote Link to comment Share on other sites More sharing options...
laymanpigeon Posted August 22, 2022 Share Posted August 22, 2022 3 hours ago, Zerosquare said: Never checked, but I don't think it claims to compress any better than ordinary JPEG. From my understanding, it's just a variation that's better suited for implementation on the Jaguar hardware. Okay and its use was just for compression to fit as much in cartridge ROM? Or could it have been stored in RAM and used in games as it is compressed? Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted August 22, 2022 Share Posted August 22, 2022 Unless it's a CD game, there's no point in copying the compressed picture into RAM first. It's an extra step and you don't gain anything. Quote Link to comment Share on other sites More sharing options...
laymanpigeon Posted August 22, 2022 Share Posted August 22, 2022 So while nothing would be gained, something would be lost like perhaps performance everytime compressed JagPEG is decompressed on the fly from RAM? Quote Link to comment Share on other sites More sharing options...
Zerosquare Posted August 22, 2022 Share Posted August 22, 2022 "On-the-fly" is relative anyways. The decompression is pretty slow -- something like hundreds of milliseconds. Quote Link to comment Share on other sites More sharing options...
laymanpigeon Posted August 22, 2022 Share Posted August 22, 2022 For what file size? Quote Link to comment Share on other sites More sharing options...
+CyranoJ Posted August 22, 2022 Share Posted August 22, 2022 Welcome to the forum, I'm glad you found here. It's a great place to be at if you are a Jaguar, or indeed, any Atari fan. Join the fun and excitement around these machines. However, it takes a special kind of bravado to tell people who've been here for decades, have written games for the system, designed hardware for the system and, in SCPCDs case, designed an FPGA Jaguar how you think the Jaguar works, and then start to argue points when you are informed you are wrong. Just a tip: Don't do that. 2 1 Quote Link to comment Share on other sites More sharing options...
laymanpigeon Posted August 22, 2022 Share Posted August 22, 2022 I am indifferent if someone is glad or not that I am here. However you do not have argument as evident by you asserting about how "I think" Jaguar's hardware works. You can think about that and speculate what that means rather than attribute some of things I wrote as being my own interpretation of Jaguar's hardware. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.