home *** CD-ROM | disk | FTP | other *** search
/ Go64! / Go64_2000-01_2000_CSW_Side_B.d64 / jpy.txt < prev    next >
Text File  |  2023-02-26  |  4KB  |  99 lines

  1. mINI-DOCS
  2.  
  3. jpx (AND jpy) IS A JPEG VIEWER FOR THE 64.  tHE X IS FOR EXPERIMENTAL.
  4. jpz IS THE ifli (FULL-COLOR) VERSION.
  5.  
  6. jpx LOADS JPEGS FROM THE CURRENT DEVICE/DIRECTORY.  tHE DISPLAY IS A
  7. 320X200 "WINDOW" OF THE FULL PICTURE, WHATEVER ITS SIZE.  tHE ENTIRE
  8. PICTURE MAY BE VIEWED USING SPECIAL cHEESE-o-rAMA TECHNOLOGY, BY STARTING
  9. THE 320X200 WINDOW AT ANY ROW/COLUMN (1 ROW = 8 VERTICAL PIXELS; 1 COL =
  10. 8 HORIZONTAL PIXELS).  uPON EXITING, sys 4096 WILL RUN THE PROGRAM AGAIN.
  11.  
  12. sOMETIMES, YOU WILL ENCOUNTER PICTURES WHICH MAKE THE DECODER BARF.  tHERE
  13. ARE THREE PROBABLE CAUSES: 1) THE APPLICATION USES SOME GOOFY AND LAME
  14. SEGMENT THAT THE DECODER DOESN'T UNDERSTAND, B) THE JPEG IS A PROGRESSIVE
  15. JPEG, AND III) THERE IS A BUG IN THE DECODER.
  16.  
  17. wITH THE FIRST AND SECOND POSSIBILITIES THE SIMPLEST SOLUTION (IF YOU HAVE
  18. ACCESS TO A UNIX MACHINE) IS TO RUN "JPEGTRAN" ON THE PICTURE
  19.  
  20. JPEGTRAN FILE1.JPG > FILE2.JPG
  21.  
  22. jPEGTRAN CAN ALSO ROTATE PICTURES, AS WELL AS OTHER SIMPLE TRANSFORMATIONS.
  23. tHE THIRD POSSIBILITY IS, OF COURSE, IMPOSSIBLE.  bUT DROP ME AN EMAIL IF
  24. YOU ENCOUNTER IMAGES WHICH FAIL.
  25.  
  26.  
  27. aBOUT THIS PROGRAM AND ITS FUTURE
  28. ---------------------------------
  29.  
  30. jpx IS A SIMPLE PROGRAM WITH A SIMPLE PURPOSE: TO SERVE AS A TOOL FOR
  31. DEBUGGING THE DECODING ROUTINES AND DEVELOP SEVERAL IDEAS.  iT IS
  32. RELEASED IN THIS "EXPERIMENTAL" STATE TO GIVE A CRUDE JPEG VIEWING
  33. CAPABILITY TO THE 64, AND TO GET FEEDBACK FROM USERS (BOTH SUGGESTIONS
  34. AND PROBLEMS!).  jpx IS A _WORK IN PROGRESS_!
  35.  
  36. tHE FUTURE OF THIS LITTLE PIECE OF CODE IS THE sUPERcpu.  oNCE THE
  37. DECODER IS STABLE (AND IT'S PRETTY CLOSE!), SOME SIMPLE MODIFICATIONS
  38. CAN (AND i EXPECT WILL) BE MADE TO DO THINGS LIKE SAVE THE IMAGE AS
  39. A GEOpAINT GRAPHIC, OR DECODE THE ENTIRE IMAGE TO POSTSCRIPT.
  40.  
  41. tHAT'S GREAT, BUT NOW BROADEN YOUR VISION A LITTLE AND IMAGINE LOADING
  42. IN A FULL IMAGE, CROPPING, ROTATING, RESIZING/SCALING THE PICTURE,
  43. TOUCHING IT UP HERE AND THERE, LIGHTENING THE IMAGE, VIEWING IT USING
  44. SEVERAL DIFFERENT METHODS, AND BEING ABLE TO SAVE THE FINAL RESULT
  45. IN A VARIETY OF GRAPHICS FORMATS, INCLUDING 24-BIT ONES YOU CAN TAKE OVER
  46. TO kINKOS OR A pc, ONES YOU CAN INCORPORATE INTO geos OR FEED INTO gOdOT,
  47. OR ONES YOU CAN SIMPLY VIEW ON A 64.  tHEN IMAGINE DOING THAT TO OTHER
  48. FORMATS BESIDES JPEGS.
  49.  
  50. nOW, WHY DID YOU WANT TO DORK AROUND WITH JPEGS ON A STOCK MACHINE,
  51. AGAIN?
  52.  
  53. fINALLY, ONCE i'M HAPPY WITH THE CODE, THE SOURCE WILL AS USUAL BE
  54. RELEASED AND BE AVAILABLE IN THE fRIDGE.
  55.  
  56.  
  57. mEMORY MAP (SORT-OF)
  58. ----------
  59.  
  60. tHERE IS A SIMPLE INTERFACE FOR THE RENDERER, IN CASE YOU FEEL MOTIVATED
  61. TO WRITE ONE:
  62.  
  63. $a000iNIT RENDERER
  64. $a003rENDER 8 LINES.  .ay = (LO,HI) POINTER TO 8 LINES OF 8-BIT LUMINANCE
  65. VALUES, ORGANIZED IN 8X8 BLOCKS (JUST LIKE C64 BITMAPPED GRAPHICS).
  66. $a006dISPLAY PICTURE
  67.  
  68. "iNIT" IS CALLED WHEN THE ACTUAL IMAGE DECODING BEGINS -- NOTE THAT THE FILE
  69. IS OPEN, SO BE CAREFUL MODIFYING $dd00 (USE lda $dd00 eor XXX sta $dd00,
  70. NOT lda #$XX sta $dd00).  "rENDER" IS CALLED TO RENDER 8 LINES OF DATA,
  71. ORGANIZED IN 8X8 BLOCKS AS AS
  72.  
  73. BYTE1 BYTE2  ...  BYTE8BYTE64 BYTE65 ...
  74. BYTE9 BYTE10 ...  BYTE15...
  75. ...
  76. BYTE56 BYTE57 ... BYTE63
  77.  
  78. nOTE THAT THE COLOR DATA IS DECODED, BUT IS CURRENTLY DISCARDED (ONE
  79. THING AT A TIME, EH?).  "dISPLAY" IS CALLED WHEN THE IMAGE IS FINISHED
  80. AND THE FILE CLOSED; IT SHOULD WAIT FOR A KEYPRESS.  wHEN IT EXITS, THE
  81. MAIN CODE RESTORES TEXT MODE IN BANK 0.
  82.  
  83. fREE MEMORY INCLUDES $40-$7f IN ZERO PAGE, $5800-$7fff AND $c000-$ffff.
  84.  
  85. nOTE THAT THIS MEMORY MAP WILL SURELY BE CHANGING IN FUTURE VERSIONS.
  86.  
  87.  
  88. cREDITS
  89. -------
  90.  
  91. jpx WAS WRITTEN AFTER A FEW WEEKS OF RESEARCH AND ONE WEEK OF INTENSE CODING.
  92. eRROL sMITH DESERVES SPECIAL MENTION FOR GETTING THE BALL ROLLING, BY POINTING
  93. ME IN THE RIGHT DIRECTION (TOWARDS SOME DECENT JPEG DOCUMENTATION).
  94. aND THE OUTPUT WOULD BE MERELY A SET OF NUMBERS IF IT WEREN'T FOR THE
  95. VERY COOL RENDERERS BY aDRIAN gONZALES (ADRIANGLZ@GLOBALPC.NET).
  96.  
  97. SJUDD@FFD2.COM
  98. 12/23/99
  99.