home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Go64!
/
Go64_2000-01_2000_CSW_Side_B.d64
/
jpy.txt
< prev
next >
Wrap
Text File
|
2023-02-26
|
4KB
|
99 lines
mINI-DOCS
jpx (AND jpy) IS A JPEG VIEWER FOR THE 64. tHE X IS FOR EXPERIMENTAL.
jpz IS THE ifli (FULL-COLOR) VERSION.
jpx LOADS JPEGS FROM THE CURRENT DEVICE/DIRECTORY. tHE DISPLAY IS A
320X200 "WINDOW" OF THE FULL PICTURE, WHATEVER ITS SIZE. tHE ENTIRE
PICTURE MAY BE VIEWED USING SPECIAL cHEESE-o-rAMA TECHNOLOGY, BY STARTING
THE 320X200 WINDOW AT ANY ROW/COLUMN (1 ROW = 8 VERTICAL PIXELS; 1 COL =
8 HORIZONTAL PIXELS). uPON EXITING, sys 4096 WILL RUN THE PROGRAM AGAIN.
sOMETIMES, YOU WILL ENCOUNTER PICTURES WHICH MAKE THE DECODER BARF. tHERE
ARE THREE PROBABLE CAUSES: 1) THE APPLICATION USES SOME GOOFY AND LAME
SEGMENT THAT THE DECODER DOESN'T UNDERSTAND, B) THE JPEG IS A PROGRESSIVE
JPEG, AND III) THERE IS A BUG IN THE DECODER.
wITH THE FIRST AND SECOND POSSIBILITIES THE SIMPLEST SOLUTION (IF YOU HAVE
ACCESS TO A UNIX MACHINE) IS TO RUN "JPEGTRAN" ON THE PICTURE
JPEGTRAN FILE1.JPG > FILE2.JPG
jPEGTRAN CAN ALSO ROTATE PICTURES, AS WELL AS OTHER SIMPLE TRANSFORMATIONS.
tHE THIRD POSSIBILITY IS, OF COURSE, IMPOSSIBLE. bUT DROP ME AN EMAIL IF
YOU ENCOUNTER IMAGES WHICH FAIL.
aBOUT THIS PROGRAM AND ITS FUTURE
---------------------------------
jpx IS A SIMPLE PROGRAM WITH A SIMPLE PURPOSE: TO SERVE AS A TOOL FOR
DEBUGGING THE DECODING ROUTINES AND DEVELOP SEVERAL IDEAS. iT IS
RELEASED IN THIS "EXPERIMENTAL" STATE TO GIVE A CRUDE JPEG VIEWING
CAPABILITY TO THE 64, AND TO GET FEEDBACK FROM USERS (BOTH SUGGESTIONS
AND PROBLEMS!). jpx IS A _WORK IN PROGRESS_!
tHE FUTURE OF THIS LITTLE PIECE OF CODE IS THE sUPERcpu. oNCE THE
DECODER IS STABLE (AND IT'S PRETTY CLOSE!), SOME SIMPLE MODIFICATIONS
CAN (AND i EXPECT WILL) BE MADE TO DO THINGS LIKE SAVE THE IMAGE AS
A GEOpAINT GRAPHIC, OR DECODE THE ENTIRE IMAGE TO POSTSCRIPT.
tHAT'S GREAT, BUT NOW BROADEN YOUR VISION A LITTLE AND IMAGINE LOADING
IN A FULL IMAGE, CROPPING, ROTATING, RESIZING/SCALING THE PICTURE,
TOUCHING IT UP HERE AND THERE, LIGHTENING THE IMAGE, VIEWING IT USING
SEVERAL DIFFERENT METHODS, AND BEING ABLE TO SAVE THE FINAL RESULT
IN A VARIETY OF GRAPHICS FORMATS, INCLUDING 24-BIT ONES YOU CAN TAKE OVER
TO kINKOS OR A pc, ONES YOU CAN INCORPORATE INTO geos OR FEED INTO gOdOT,
OR ONES YOU CAN SIMPLY VIEW ON A 64. tHEN IMAGINE DOING THAT TO OTHER
FORMATS BESIDES JPEGS.
nOW, WHY DID YOU WANT TO DORK AROUND WITH JPEGS ON A STOCK MACHINE,
AGAIN?
fINALLY, ONCE i'M HAPPY WITH THE CODE, THE SOURCE WILL AS USUAL BE
RELEASED AND BE AVAILABLE IN THE fRIDGE.
mEMORY MAP (SORT-OF)
----------
tHERE IS A SIMPLE INTERFACE FOR THE RENDERER, IN CASE YOU FEEL MOTIVATED
TO WRITE ONE:
$a000iNIT RENDERER
$a003rENDER 8 LINES. .ay = (LO,HI) POINTER TO 8 LINES OF 8-BIT LUMINANCE
VALUES, ORGANIZED IN 8X8 BLOCKS (JUST LIKE C64 BITMAPPED GRAPHICS).
$a006dISPLAY PICTURE
"iNIT" IS CALLED WHEN THE ACTUAL IMAGE DECODING BEGINS -- NOTE THAT THE FILE
IS OPEN, SO BE CAREFUL MODIFYING $dd00 (USE lda $dd00 eor XXX sta $dd00,
NOT lda #$XX sta $dd00). "rENDER" IS CALLED TO RENDER 8 LINES OF DATA,
ORGANIZED IN 8X8 BLOCKS AS AS
BYTE1 BYTE2 ... BYTE8BYTE64 BYTE65 ...
BYTE9 BYTE10 ... BYTE15...
...
BYTE56 BYTE57 ... BYTE63
nOTE THAT THE COLOR DATA IS DECODED, BUT IS CURRENTLY DISCARDED (ONE
THING AT A TIME, EH?). "dISPLAY" IS CALLED WHEN THE IMAGE IS FINISHED
AND THE FILE CLOSED; IT SHOULD WAIT FOR A KEYPRESS. wHEN IT EXITS, THE
MAIN CODE RESTORES TEXT MODE IN BANK 0.
fREE MEMORY INCLUDES $40-$7f IN ZERO PAGE, $5800-$7fff AND $c000-$ffff.
nOTE THAT THIS MEMORY MAP WILL SURELY BE CHANGING IN FUTURE VERSIONS.
cREDITS
-------
jpx WAS WRITTEN AFTER A FEW WEEKS OF RESEARCH AND ONE WEEK OF INTENSE CODING.
eRROL sMITH DESERVES SPECIAL MENTION FOR GETTING THE BALL ROLLING, BY POINTING
ME IN THE RIGHT DIRECTION (TOWARDS SOME DECENT JPEG DOCUMENTATION).
aND THE OUTPUT WOULD BE MERELY A SET OF NUMBERS IF IT WEREN'T FOR THE
VERY COOL RENDERERS BY aDRIAN gONZALES (ADRIANGLZ@GLOBALPC.NET).
SJUDD@FFD2.COM
12/23/99